From 4c24fbdb36786eef073475f76b215f8fed38fe0f Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Tue, 2 Apr 2024 17:41:38 +0200 Subject: [PATCH 1/9] Ignore vendor/ again --- .gitignore | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.gitignore b/.gitignore index 1104fd6..e69de29 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +0,0 @@ -!/vendor -/vendor/* -!/vendor/easybook -!/vendor/autoload.php -!/vendor/composer \ No newline at end of file From 9173fcc1f13257d0e10af7fc50ccc46b6699d0a2 Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Tue, 2 Apr 2024 17:43:00 +0200 Subject: [PATCH 2/9] Remove easybook and add tempest/highlight --- composer.json | 18 +++++++-------- composer.lock | 64 +++++++++++++++++++++++++++------------------------ 2 files changed, 43 insertions(+), 39 deletions(-) diff --git a/composer.json b/composer.json index 13f876e..3a35782 100644 --- a/composer.json +++ b/composer.json @@ -3,8 +3,8 @@ "type": "phpbb-extension", "description": "Provides a pastebin including syntax highlighting", "homepage": "https://www.phpbb.de/community/", - "version": "2.0.7", - "time": "2023-10-03", + "version": "2.1.0-dev", + "time": "2024-04-02", "license": "GPL-2.0-only", "authors": [ { @@ -21,8 +21,8 @@ } ], "require": { - "php": ">=7.2, <=8.2", - "easybook/geshi": ">=1.0.8.4" + "php": ">=8.3", + "tempest/highlight": "^1.2" }, "require-dev": { "phpbb/epv": "0.0.11" @@ -30,12 +30,12 @@ "extra": { "display-name": "Pastebin", "soft-require": { - "phpbb/phpbb": ">=3.2.4,<3.4.0@dev" - } - }, - "config": { + "phpbb/phpbb": ">=3.3.11,<3.4.0@dev" + }, + "config": { "platform":{ - "php":"5.6" + "php":"8.3" } } + } } diff --git a/composer.lock b/composer.lock index ffb43c0..d4c9e5e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,53 +4,60 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8236cc236df96c40468e64f8c915e0ff", + "content-hash": "95b91d76fd9a7c67e412f74d4718aed5", "packages": [ { - "name": "easybook/geshi", - "version": "v1.0.8.19", + "name": "tempest/highlight", + "version": "1.2.1", "source": { "type": "git", - "url": "https://github.com/easybook/geshi.git", - "reference": "b4df5fa84a44d4e12eff67263a701eac7e157241" + "url": "https://github.com/tempestphp/highlight.git", + "reference": "f7938f4378e0371aa2034feb967cb5e02ff1ef52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/easybook/geshi/zipball/b4df5fa84a44d4e12eff67263a701eac7e157241", - "reference": "b4df5fa84a44d4e12eff67263a701eac7e157241", + "url": "https://api.github.com/repos/tempestphp/highlight/zipball/f7938f4378e0371aa2034feb967cb5e02ff1ef52", + "reference": "f7938f4378e0371aa2034feb967cb5e02ff1ef52", "shasum": "" }, "require": { - "php": ">=5.0" + "php": "^8.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.21", + "larapack/dd": "^1.1", + "league/commonmark": "^2.4", + "phpstan/phpstan": "^1.10.0", + "phpunit/phpunit": "^10.0" }, "type": "library", "autoload": { - "classmap": [ - "./" - ] + "psr-4": { + "Tempest\\Highlight\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "GPL-2.0" + "MIT" ], "authors": [ { - "name": "Nigel McNie", - "email": "nigel@geshi.org" - }, - { - "name": "Benny Baumann", - "email": "BenBE@geshi.org" + "name": "Brent Roose", + "email": "brendt@stitcher.io" } ], - "description": "GeSHi - Generic Syntax Highlighter. This is an unmodified port of GeSHi project code found on SourceForge.", - "homepage": "http://qbnz.com/highlighter", - "keywords": [ - "highlight", - "highlighter", - "syntax" + "description": "Fast, extensible, server-side code highlighting", + "support": { + "issues": "https://github.com/tempestphp/highlight/issues", + "source": "https://github.com/tempestphp/highlight/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/brendt", + "type": "github" + } ], - "time": "2018-04-20T18:19:44+00:00" + "time": "2024-04-02T11:41:48+00:00" } ], "packages-dev": [ @@ -1395,11 +1402,8 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=5.4.7, <=7.4" + "php": ">=8.3" }, "platform-dev": [], - "platform-overrides": { - "php": "5.6" - }, - "plugin-api-version": "1.1.0" + "plugin-api-version": "2.6.0" } From 2bef25aa1d299acd3f7a2fadc5e8a03b6393bb96 Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Tue, 2 Apr 2024 18:02:06 +0200 Subject: [PATCH 3/9] Ignore vendor/ and use new highlighter and gitignore file --- .gitignore | 1 + composer.phar | Bin 1982164 -> 2977479 bytes config/services.yml | 4 - functions/utility.php | 47 +- vendor/autoload.php | 18 + vendor/composer/ClassLoader.php | 202 +- vendor/composer/autoload_classmap.php | 4 +- vendor/composer/autoload_namespaces.php | 2 +- vendor/composer/autoload_psr4.php | 3 +- vendor/composer/autoload_real.php | 49 +- vendor/composer/autoload_static.php | 12 +- vendor/composer/installed.json | 2900 +++++----- vendor/easybook/geshi/README.md | 11 - vendor/easybook/geshi/composer.json | 24 - vendor/easybook/geshi/contrib/aliased.php | 123 - vendor/easybook/geshi/contrib/cssgen.php | 466 -- vendor/easybook/geshi/contrib/cssgen2.php | 59 - vendor/easybook/geshi/contrib/example.php | 217 - vendor/easybook/geshi/contrib/langcheck.php | 769 --- vendor/easybook/geshi/contrib/langwiz.php | 1158 ---- vendor/easybook/geshi/docs/BUGS | 29 - vendor/easybook/geshi/docs/CHANGES | 923 ---- vendor/easybook/geshi/docs/COPYING | 340 -- vendor/easybook/geshi/docs/README | 33 - vendor/easybook/geshi/docs/THANKS | 249 - vendor/easybook/geshi/docs/TODO | 71 - .../fsource_geshi_core_geshi.php.html | 4616 ---------------- vendor/easybook/geshi/docs/api/blank.html | 13 - .../geshi/docs/api/classtrees_geshi.html | 24 - .../easybook/geshi/docs/api/elementindex.html | 867 --- .../geshi/docs/api/elementindex_geshi.html | 864 --- vendor/easybook/geshi/docs/api/errors.html | 20 - .../geshi/docs/api/geshi/core/GeSHi.html | 2676 --------- .../geshi/docs/api/geshi/core/_geshi.php.html | 478 -- vendor/easybook/geshi/docs/api/index.html | 24 - vendor/easybook/geshi/docs/api/li_geshi.html | 46 - .../easybook/geshi/docs/api/media/banner.css | 33 - .../docs/api/media/images/AbstractClass.png | Bin 459 -> 0 bytes .../api/media/images/AbstractClass_logo.png | Bin 1010 -> 0 bytes .../docs/api/media/images/AbstractMethod.png | Bin 566 -> 0 bytes .../api/media/images/AbstractPrivateClass.png | Bin 646 -> 0 bytes .../images/AbstractPrivateClass_logo.png | Bin 1331 -> 0 bytes .../media/images/AbstractPrivateMethod.png | Bin 672 -> 0 bytes .../geshi/docs/api/media/images/Class.png | Bin 438 -> 0 bytes .../docs/api/media/images/Class_logo.png | Bin 1306 -> 0 bytes .../geshi/docs/api/media/images/Constant.png | Bin 621 -> 0 bytes .../docs/api/media/images/Constructor.png | Bin 666 -> 0 bytes .../docs/api/media/images/Destructor.png | Bin 753 -> 0 bytes .../geshi/docs/api/media/images/Function.png | Bin 478 -> 0 bytes .../geshi/docs/api/media/images/Global.png | Bin 580 -> 0 bytes .../geshi/docs/api/media/images/I.png | Bin 111 -> 0 bytes .../geshi/docs/api/media/images/Index.png | Bin 449 -> 0 bytes .../geshi/docs/api/media/images/Interface.png | Bin 457 -> 0 bytes .../docs/api/media/images/Interface_logo.png | Bin 1306 -> 0 bytes .../geshi/docs/api/media/images/L.png | Bin 118 -> 0 bytes .../geshi/docs/api/media/images/Lminus.png | Bin 133 -> 0 bytes .../geshi/docs/api/media/images/Lplus.png | Bin 139 -> 0 bytes .../geshi/docs/api/media/images/Method.png | Bin 528 -> 0 bytes .../geshi/docs/api/media/images/Page.png | Bin 460 -> 0 bytes .../geshi/docs/api/media/images/Page_logo.png | Bin 1102 -> 0 bytes .../docs/api/media/images/PrivateClass.png | Bin 645 -> 0 bytes .../api/media/images/PrivateClass_logo.png | Bin 1511 -> 0 bytes .../docs/api/media/images/PrivateMethod.png | Bin 710 -> 0 bytes .../docs/api/media/images/PrivateVariable.png | Bin 641 -> 0 bytes .../docs/api/media/images/StaticMethod.png | Bin 528 -> 0 bytes .../docs/api/media/images/StaticVariable.png | Bin 564 -> 0 bytes .../geshi/docs/api/media/images/T.png | Bin 119 -> 0 bytes .../geshi/docs/api/media/images/Tminus.png | Bin 135 -> 0 bytes .../geshi/docs/api/media/images/Tplus.png | Bin 140 -> 0 bytes .../geshi/docs/api/media/images/Variable.png | Bin 564 -> 0 bytes .../geshi/docs/api/media/images/blank.png | Bin 105 -> 0 bytes .../docs/api/media/images/class_folder.png | Bin 497 -> 0 bytes .../geshi/docs/api/media/images/empty.png | Bin 90 -> 0 bytes .../geshi/docs/api/media/images/file.png | Bin 218 -> 0 bytes .../geshi/docs/api/media/images/folder.png | Bin 367 -> 0 bytes .../docs/api/media/images/function_folder.png | Bin 476 -> 0 bytes .../docs/api/media/images/next_button.png | Bin 509 -> 0 bytes .../api/media/images/next_button_disabled.png | Bin 405 -> 0 bytes .../geshi/docs/api/media/images/package.png | Bin 515 -> 0 bytes .../docs/api/media/images/package_folder.png | Bin 419 -> 0 bytes .../docs/api/media/images/previous_button.png | Bin 505 -> 0 bytes .../media/images/previous_button_disabled.png | Bin 405 -> 0 bytes .../api/media/images/private_class_logo.png | Bin 1511 -> 0 bytes .../geshi/docs/api/media/images/tutorial.png | Bin 301 -> 0 bytes .../docs/api/media/images/tutorial_folder.png | Bin 425 -> 0 bytes .../geshi/docs/api/media/images/up_button.png | Bin 527 -> 0 bytes .../geshi/docs/api/media/stylesheet.css | 146 - vendor/easybook/geshi/docs/api/packages.html | 29 - vendor/easybook/geshi/docs/api/todolist.html | 42 - vendor/easybook/geshi/docs/geshi-doc.html | 4077 -------------- vendor/easybook/geshi/docs/geshi-doc.txt | 1741 ------ vendor/easybook/geshi/docs/phpdoc.ini | 90 - vendor/easybook/geshi/geshi.php | 4776 ----------------- vendor/easybook/geshi/geshi/4cs.php | 137 - vendor/easybook/geshi/geshi/6502acme.php | 229 - vendor/easybook/geshi/geshi/6502kickass.php | 240 - vendor/easybook/geshi/geshi/6502tasm.php | 188 - vendor/easybook/geshi/geshi/68000devpac.php | 167 - vendor/easybook/geshi/geshi/abap.php | 1408 ----- vendor/easybook/geshi/geshi/actionscript.php | 196 - vendor/easybook/geshi/geshi/actionscript3.php | 472 -- vendor/easybook/geshi/geshi/ada.php | 134 - vendor/easybook/geshi/geshi/aimms.php | 316 -- vendor/easybook/geshi/geshi/algol68.php | 328 -- vendor/easybook/geshi/geshi/apache.php | 482 -- vendor/easybook/geshi/geshi/applescript.php | 156 - vendor/easybook/geshi/geshi/apt_sources.php | 154 - vendor/easybook/geshi/geshi/arm.php | 3317 ------------ vendor/easybook/geshi/geshi/asm.php | 602 --- vendor/easybook/geshi/geshi/asp.php | 163 - vendor/easybook/geshi/geshi/asymptote.php | 192 - vendor/easybook/geshi/geshi/autoconf.php | 511 -- vendor/easybook/geshi/geshi/autohotkey.php | 372 -- vendor/easybook/geshi/geshi/autoit.php | 1174 ---- vendor/easybook/geshi/geshi/avisynth.php | 194 - vendor/easybook/geshi/geshi/awk.php | 156 - vendor/easybook/geshi/geshi/bascomavr.php | 184 - vendor/easybook/geshi/geshi/bash.php | 473 -- vendor/easybook/geshi/geshi/basic4gl.php | 339 -- vendor/easybook/geshi/geshi/batch.php | 138 - vendor/easybook/geshi/geshi/bf.php | 114 - vendor/easybook/geshi/geshi/bibtex.php | 182 - vendor/easybook/geshi/geshi/blitzbasic.php | 183 - vendor/easybook/geshi/geshi/bnf.php | 118 - vendor/easybook/geshi/geshi/boo.php | 215 - vendor/easybook/geshi/geshi/c.php | 280 - vendor/easybook/geshi/geshi/c_loadrunner.php | 322 -- vendor/easybook/geshi/geshi/c_mac.php | 226 - vendor/easybook/geshi/geshi/c_winapi.php | 870 --- vendor/easybook/geshi/geshi/caddcl.php | 124 - vendor/easybook/geshi/geshi/cadlisp.php | 184 - vendor/easybook/geshi/geshi/cfdg.php | 122 - vendor/easybook/geshi/geshi/cfm.php | 298 - vendor/easybook/geshi/geshi/chaiscript.php | 139 - vendor/easybook/geshi/geshi/chapel.php | 169 - vendor/easybook/geshi/geshi/cil.php | 194 - vendor/easybook/geshi/geshi/clojure.php | 133 - vendor/easybook/geshi/geshi/cmake.php | 180 - vendor/easybook/geshi/geshi/cobol.php | 457 -- vendor/easybook/geshi/geshi/coffeescript.php | 145 - vendor/easybook/geshi/geshi/cpp-qt.php | 569 -- vendor/easybook/geshi/geshi/cpp-winapi.php | 836 --- vendor/easybook/geshi/geshi/cpp.php | 245 - vendor/easybook/geshi/geshi/csharp.php | 259 - vendor/easybook/geshi/geshi/css.php | 237 - vendor/easybook/geshi/geshi/cuesheet.php | 137 - vendor/easybook/geshi/geshi/d.php | 251 - vendor/easybook/geshi/geshi/dart.php | 159 - vendor/easybook/geshi/geshi/dcl.php | 191 - vendor/easybook/geshi/geshi/dcpu16.php | 130 - vendor/easybook/geshi/geshi/dcs.php | 181 - vendor/easybook/geshi/geshi/delphi.php | 299 -- vendor/easybook/geshi/geshi/diff.php | 195 - vendor/easybook/geshi/geshi/div.php | 124 - vendor/easybook/geshi/geshi/dos.php | 226 - vendor/easybook/geshi/geshi/dot.php | 163 - vendor/easybook/geshi/geshi/e.php | 207 - vendor/easybook/geshi/geshi/ecmascript.php | 209 - vendor/easybook/geshi/geshi/eiffel.php | 393 -- vendor/easybook/geshi/geshi/email.php | 221 - vendor/easybook/geshi/geshi/epc.php | 153 - vendor/easybook/geshi/geshi/erlang.php | 440 -- vendor/easybook/geshi/geshi/euphoria.php | 139 - vendor/easybook/geshi/geshi/ezt.php | 134 - vendor/easybook/geshi/geshi/f1.php | 150 - vendor/easybook/geshi/geshi/falcon.php | 217 - vendor/easybook/geshi/geshi/fo.php | 326 -- vendor/easybook/geshi/geshi/fortran.php | 158 - vendor/easybook/geshi/geshi/freebasic.php | 139 - vendor/easybook/geshi/geshi/freeswitch.php | 166 - vendor/easybook/geshi/geshi/fsharp.php | 212 - vendor/easybook/geshi/geshi/gambas.php | 213 - vendor/easybook/geshi/geshi/gdb.php | 196 - vendor/easybook/geshi/geshi/genero.php | 461 -- vendor/easybook/geshi/geshi/genie.php | 155 - vendor/easybook/geshi/geshi/gettext.php | 95 - vendor/easybook/geshi/geshi/glsl.php | 204 - vendor/easybook/geshi/geshi/gml.php | 504 -- vendor/easybook/geshi/geshi/gnuplot.php | 295 - vendor/easybook/geshi/geshi/go.php | 374 -- vendor/easybook/geshi/geshi/groovy.php | 1010 ---- vendor/easybook/geshi/geshi/gwbasic.php | 152 - vendor/easybook/geshi/geshi/haskell.php | 201 - vendor/easybook/geshi/geshi/haxe.php | 160 - vendor/easybook/geshi/geshi/hicest.php | 107 - vendor/easybook/geshi/geshi/hq9plus.php | 102 - vendor/easybook/geshi/geshi/html4strict.php | 189 - vendor/easybook/geshi/geshi/html5.php | 211 - vendor/easybook/geshi/geshi/icon.php | 211 - vendor/easybook/geshi/geshi/idl.php | 121 - vendor/easybook/geshi/geshi/ini.php | 127 - vendor/easybook/geshi/geshi/inno.php | 210 - vendor/easybook/geshi/geshi/intercal.php | 121 - vendor/easybook/geshi/geshi/io.php | 136 - vendor/easybook/geshi/geshi/ispfpanel.php | 165 - vendor/easybook/geshi/geshi/j.php | 188 - vendor/easybook/geshi/geshi/java.php | 981 ---- vendor/easybook/geshi/geshi/java5.php | 1035 ---- vendor/easybook/geshi/geshi/javascript.php | 173 - vendor/easybook/geshi/geshi/jcl.php | 155 - vendor/easybook/geshi/geshi/jquery.php | 237 - vendor/easybook/geshi/geshi/kixtart.php | 327 -- vendor/easybook/geshi/geshi/klonec.php | 280 - vendor/easybook/geshi/geshi/klonecpp.php | 308 -- vendor/easybook/geshi/geshi/latex.php | 222 - vendor/easybook/geshi/geshi/lb.php | 161 - vendor/easybook/geshi/geshi/ldif.php | 115 - vendor/easybook/geshi/geshi/lisp.php | 147 - vendor/easybook/geshi/geshi/llvm.php | 384 -- vendor/easybook/geshi/geshi/locobasic.php | 129 - vendor/easybook/geshi/geshi/logtalk.php | 344 -- vendor/easybook/geshi/geshi/lolcode.php | 151 - vendor/easybook/geshi/geshi/lotusformulas.php | 316 -- vendor/easybook/geshi/geshi/lotusscript.php | 189 - vendor/easybook/geshi/geshi/lscript.php | 386 -- vendor/easybook/geshi/geshi/lsl2.php | 1257 ----- vendor/easybook/geshi/geshi/lua.php | 175 - vendor/easybook/geshi/geshi/m68k.php | 141 - vendor/easybook/geshi/geshi/magiksf.php | 192 - vendor/easybook/geshi/geshi/make.php | 151 - vendor/easybook/geshi/geshi/mapbasic.php | 907 ---- vendor/easybook/geshi/geshi/matlab.php | 226 - vendor/easybook/geshi/geshi/mirc.php | 170 - vendor/easybook/geshi/geshi/mmix.php | 192 - vendor/easybook/geshi/geshi/modula2.php | 135 - vendor/easybook/geshi/geshi/modula3.php | 134 - vendor/easybook/geshi/geshi/mpasm.php | 162 - vendor/easybook/geshi/geshi/mxml.php | 143 - vendor/easybook/geshi/geshi/mysql.php | 474 -- vendor/easybook/geshi/geshi/nagios.php | 223 - vendor/easybook/geshi/geshi/netrexx.php | 161 - vendor/easybook/geshi/geshi/newlisp.php | 190 - vendor/easybook/geshi/geshi/nginx.php | 868 --- vendor/easybook/geshi/geshi/nsis.php | 349 -- vendor/easybook/geshi/geshi/oberon2.php | 134 - vendor/easybook/geshi/geshi/objc.php | 356 -- vendor/easybook/geshi/geshi/objeck.php | 115 - vendor/easybook/geshi/geshi/ocaml-brief.php | 110 - vendor/easybook/geshi/geshi/ocaml.php | 186 - vendor/easybook/geshi/geshi/octave.php | 513 -- vendor/easybook/geshi/geshi/oobas.php | 133 - vendor/easybook/geshi/geshi/oorexx.php | 169 - vendor/easybook/geshi/geshi/oracle11.php | 612 --- vendor/easybook/geshi/geshi/oracle8.php | 494 -- vendor/easybook/geshi/geshi/oxygene.php | 153 - vendor/easybook/geshi/geshi/oz.php | 143 - vendor/easybook/geshi/geshi/parasail.php | 132 - vendor/easybook/geshi/geshi/parigp.php | 293 - vendor/easybook/geshi/geshi/pascal.php | 164 - vendor/easybook/geshi/geshi/pcre.php | 187 - vendor/easybook/geshi/geshi/per.php | 300 -- vendor/easybook/geshi/geshi/perl.php | 218 - vendor/easybook/geshi/geshi/perl6.php | 196 - vendor/easybook/geshi/geshi/pf.php | 177 - vendor/easybook/geshi/geshi/php-brief.php | 221 - vendor/easybook/geshi/geshi/php.php | 1115 ---- vendor/easybook/geshi/geshi/pic16.php | 139 - vendor/easybook/geshi/geshi/pike.php | 101 - vendor/easybook/geshi/geshi/pixelbender.php | 174 - vendor/easybook/geshi/geshi/pli.php | 199 - vendor/easybook/geshi/geshi/plsql.php | 254 - vendor/easybook/geshi/geshi/postgresql.php | 287 - vendor/easybook/geshi/geshi/povray.php | 199 - vendor/easybook/geshi/geshi/powerbuilder.php | 417 -- vendor/easybook/geshi/geshi/powershell.php | 276 - vendor/easybook/geshi/geshi/proftpd.php | 373 -- vendor/easybook/geshi/geshi/progress.php | 484 -- vendor/easybook/geshi/geshi/prolog.php | 142 - vendor/easybook/geshi/geshi/properties.php | 126 - vendor/easybook/geshi/geshi/providex.php | 297 - vendor/easybook/geshi/geshi/purebasic.php | 302 -- vendor/easybook/geshi/geshi/pycon.php | 63 - vendor/easybook/geshi/geshi/pys60.php | 271 - vendor/easybook/geshi/geshi/python.php | 243 - vendor/easybook/geshi/geshi/q.php | 148 - vendor/easybook/geshi/geshi/qbasic.php | 161 - vendor/easybook/geshi/geshi/racket.php | 964 ---- vendor/easybook/geshi/geshi/rails.php | 404 -- vendor/easybook/geshi/geshi/rbs.php | 224 - vendor/easybook/geshi/geshi/rebol.php | 195 - vendor/easybook/geshi/geshi/reg.php | 231 - vendor/easybook/geshi/geshi/rexx.php | 160 - vendor/easybook/geshi/geshi/robots.php | 99 - vendor/easybook/geshi/geshi/rpmspec.php | 132 - vendor/easybook/geshi/geshi/rsplus.php | 482 -- vendor/easybook/geshi/geshi/ruby.php | 230 - vendor/easybook/geshi/geshi/rust.php | 228 - vendor/easybook/geshi/geshi/sas.php | 289 - vendor/easybook/geshi/geshi/sass.php | 248 - vendor/easybook/geshi/geshi/scala.php | 137 - vendor/easybook/geshi/geshi/scheme.php | 168 - vendor/easybook/geshi/geshi/scilab.php | 294 - vendor/easybook/geshi/geshi/scl.php | 148 - vendor/easybook/geshi/geshi/sdlbasic.php | 163 - vendor/easybook/geshi/geshi/smalltalk.php | 153 - vendor/easybook/geshi/geshi/smarty.php | 190 - vendor/easybook/geshi/geshi/spark.php | 131 - vendor/easybook/geshi/geshi/sparql.php | 154 - vendor/easybook/geshi/geshi/sql.php | 169 - vendor/easybook/geshi/geshi/stonescript.php | 306 -- vendor/easybook/geshi/geshi/systemverilog.php | 316 -- vendor/easybook/geshi/geshi/tcl.php | 193 - vendor/easybook/geshi/geshi/teraterm.php | 353 -- vendor/easybook/geshi/geshi/text.php | 82 - vendor/easybook/geshi/geshi/thinbasic.php | 866 --- vendor/easybook/geshi/geshi/tsql.php | 374 -- vendor/easybook/geshi/geshi/twig.php | 190 - vendor/easybook/geshi/geshi/typoscript.php | 298 - vendor/easybook/geshi/geshi/unicon.php | 209 - vendor/easybook/geshi/geshi/upc.php | 269 - vendor/easybook/geshi/geshi/urbi.php | 198 - vendor/easybook/geshi/geshi/uscript.php | 297 - vendor/easybook/geshi/geshi/vala.php | 149 - vendor/easybook/geshi/geshi/vb.php | 156 - vendor/easybook/geshi/geshi/vbnet.php | 181 - vendor/easybook/geshi/geshi/vbscript.php | 153 - vendor/easybook/geshi/geshi/vedit.php | 102 - vendor/easybook/geshi/geshi/verilog.php | 193 - vendor/easybook/geshi/geshi/vhdl.php | 181 - vendor/easybook/geshi/geshi/vim.php | 418 -- vendor/easybook/geshi/geshi/visualfoxpro.php | 455 -- vendor/easybook/geshi/geshi/visualprolog.php | 127 - vendor/easybook/geshi/geshi/whitespace.php | 119 - vendor/easybook/geshi/geshi/whois.php | 180 - vendor/easybook/geshi/geshi/winbatch.php | 368 -- vendor/easybook/geshi/geshi/xbasic.php | 142 - vendor/easybook/geshi/geshi/xml.php | 155 - vendor/easybook/geshi/geshi/xojo.php | 165 - vendor/easybook/geshi/geshi/xorg_conf.php | 122 - vendor/easybook/geshi/geshi/xpp.php | 434 -- vendor/easybook/geshi/geshi/yaml.php | 149 - vendor/easybook/geshi/geshi/z80.php | 143 - vendor/easybook/geshi/geshi/zxbasic.php | 149 - 333 files changed, 1708 insertions(+), 93871 deletions(-) delete mode 100644 vendor/easybook/geshi/README.md delete mode 100644 vendor/easybook/geshi/composer.json delete mode 100644 vendor/easybook/geshi/contrib/aliased.php delete mode 100644 vendor/easybook/geshi/contrib/cssgen.php delete mode 100644 vendor/easybook/geshi/contrib/cssgen2.php delete mode 100644 vendor/easybook/geshi/contrib/example.php delete mode 100644 vendor/easybook/geshi/contrib/langcheck.php delete mode 100644 vendor/easybook/geshi/contrib/langwiz.php delete mode 100644 vendor/easybook/geshi/docs/BUGS delete mode 100644 vendor/easybook/geshi/docs/CHANGES delete mode 100644 vendor/easybook/geshi/docs/COPYING delete mode 100644 vendor/easybook/geshi/docs/README delete mode 100644 vendor/easybook/geshi/docs/THANKS delete mode 100644 vendor/easybook/geshi/docs/TODO delete mode 100644 vendor/easybook/geshi/docs/api/__filesource/fsource_geshi_core_geshi.php.html delete mode 100644 vendor/easybook/geshi/docs/api/blank.html delete mode 100644 vendor/easybook/geshi/docs/api/classtrees_geshi.html delete mode 100644 vendor/easybook/geshi/docs/api/elementindex.html delete mode 100644 vendor/easybook/geshi/docs/api/elementindex_geshi.html delete mode 100644 vendor/easybook/geshi/docs/api/errors.html delete mode 100644 vendor/easybook/geshi/docs/api/geshi/core/GeSHi.html delete mode 100644 vendor/easybook/geshi/docs/api/geshi/core/_geshi.php.html delete mode 100644 vendor/easybook/geshi/docs/api/index.html delete mode 100644 vendor/easybook/geshi/docs/api/li_geshi.html delete mode 100644 vendor/easybook/geshi/docs/api/media/banner.css delete mode 100644 vendor/easybook/geshi/docs/api/media/images/AbstractClass.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/AbstractClass_logo.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/AbstractMethod.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/AbstractPrivateClass.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/AbstractPrivateClass_logo.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/AbstractPrivateMethod.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Class.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Class_logo.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Constant.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Constructor.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Destructor.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Function.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Global.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/I.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Index.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Interface.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Interface_logo.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/L.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Lminus.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Lplus.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Method.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Page.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Page_logo.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/PrivateClass.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/PrivateClass_logo.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/PrivateMethod.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/PrivateVariable.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/StaticMethod.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/StaticVariable.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/T.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Tminus.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Tplus.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/Variable.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/blank.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/class_folder.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/empty.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/file.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/folder.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/function_folder.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/next_button.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/next_button_disabled.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/package.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/package_folder.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/previous_button.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/previous_button_disabled.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/private_class_logo.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/tutorial.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/tutorial_folder.png delete mode 100644 vendor/easybook/geshi/docs/api/media/images/up_button.png delete mode 100644 vendor/easybook/geshi/docs/api/media/stylesheet.css delete mode 100644 vendor/easybook/geshi/docs/api/packages.html delete mode 100644 vendor/easybook/geshi/docs/api/todolist.html delete mode 100644 vendor/easybook/geshi/docs/geshi-doc.html delete mode 100644 vendor/easybook/geshi/docs/geshi-doc.txt delete mode 100644 vendor/easybook/geshi/docs/phpdoc.ini delete mode 100644 vendor/easybook/geshi/geshi.php delete mode 100644 vendor/easybook/geshi/geshi/4cs.php delete mode 100644 vendor/easybook/geshi/geshi/6502acme.php delete mode 100644 vendor/easybook/geshi/geshi/6502kickass.php delete mode 100644 vendor/easybook/geshi/geshi/6502tasm.php delete mode 100644 vendor/easybook/geshi/geshi/68000devpac.php delete mode 100644 vendor/easybook/geshi/geshi/abap.php delete mode 100644 vendor/easybook/geshi/geshi/actionscript.php delete mode 100644 vendor/easybook/geshi/geshi/actionscript3.php delete mode 100644 vendor/easybook/geshi/geshi/ada.php delete mode 100644 vendor/easybook/geshi/geshi/aimms.php delete mode 100644 vendor/easybook/geshi/geshi/algol68.php delete mode 100644 vendor/easybook/geshi/geshi/apache.php delete mode 100644 vendor/easybook/geshi/geshi/applescript.php delete mode 100644 vendor/easybook/geshi/geshi/apt_sources.php delete mode 100644 vendor/easybook/geshi/geshi/arm.php delete mode 100644 vendor/easybook/geshi/geshi/asm.php delete mode 100644 vendor/easybook/geshi/geshi/asp.php delete mode 100644 vendor/easybook/geshi/geshi/asymptote.php delete mode 100644 vendor/easybook/geshi/geshi/autoconf.php delete mode 100644 vendor/easybook/geshi/geshi/autohotkey.php delete mode 100644 vendor/easybook/geshi/geshi/autoit.php delete mode 100644 vendor/easybook/geshi/geshi/avisynth.php delete mode 100644 vendor/easybook/geshi/geshi/awk.php delete mode 100644 vendor/easybook/geshi/geshi/bascomavr.php delete mode 100644 vendor/easybook/geshi/geshi/bash.php delete mode 100644 vendor/easybook/geshi/geshi/basic4gl.php delete mode 100644 vendor/easybook/geshi/geshi/batch.php delete mode 100644 vendor/easybook/geshi/geshi/bf.php delete mode 100644 vendor/easybook/geshi/geshi/bibtex.php delete mode 100644 vendor/easybook/geshi/geshi/blitzbasic.php delete mode 100644 vendor/easybook/geshi/geshi/bnf.php delete mode 100644 vendor/easybook/geshi/geshi/boo.php delete mode 100644 vendor/easybook/geshi/geshi/c.php delete mode 100644 vendor/easybook/geshi/geshi/c_loadrunner.php delete mode 100644 vendor/easybook/geshi/geshi/c_mac.php delete mode 100644 vendor/easybook/geshi/geshi/c_winapi.php delete mode 100644 vendor/easybook/geshi/geshi/caddcl.php delete mode 100644 vendor/easybook/geshi/geshi/cadlisp.php delete mode 100644 vendor/easybook/geshi/geshi/cfdg.php delete mode 100644 vendor/easybook/geshi/geshi/cfm.php delete mode 100644 vendor/easybook/geshi/geshi/chaiscript.php delete mode 100644 vendor/easybook/geshi/geshi/chapel.php delete mode 100644 vendor/easybook/geshi/geshi/cil.php delete mode 100644 vendor/easybook/geshi/geshi/clojure.php delete mode 100644 vendor/easybook/geshi/geshi/cmake.php delete mode 100644 vendor/easybook/geshi/geshi/cobol.php delete mode 100644 vendor/easybook/geshi/geshi/coffeescript.php delete mode 100644 vendor/easybook/geshi/geshi/cpp-qt.php delete mode 100644 vendor/easybook/geshi/geshi/cpp-winapi.php delete mode 100644 vendor/easybook/geshi/geshi/cpp.php delete mode 100644 vendor/easybook/geshi/geshi/csharp.php delete mode 100644 vendor/easybook/geshi/geshi/css.php delete mode 100644 vendor/easybook/geshi/geshi/cuesheet.php delete mode 100644 vendor/easybook/geshi/geshi/d.php delete mode 100644 vendor/easybook/geshi/geshi/dart.php delete mode 100644 vendor/easybook/geshi/geshi/dcl.php delete mode 100644 vendor/easybook/geshi/geshi/dcpu16.php delete mode 100644 vendor/easybook/geshi/geshi/dcs.php delete mode 100644 vendor/easybook/geshi/geshi/delphi.php delete mode 100644 vendor/easybook/geshi/geshi/diff.php delete mode 100644 vendor/easybook/geshi/geshi/div.php delete mode 100644 vendor/easybook/geshi/geshi/dos.php delete mode 100644 vendor/easybook/geshi/geshi/dot.php delete mode 100644 vendor/easybook/geshi/geshi/e.php delete mode 100644 vendor/easybook/geshi/geshi/ecmascript.php delete mode 100644 vendor/easybook/geshi/geshi/eiffel.php delete mode 100644 vendor/easybook/geshi/geshi/email.php delete mode 100644 vendor/easybook/geshi/geshi/epc.php delete mode 100644 vendor/easybook/geshi/geshi/erlang.php delete mode 100644 vendor/easybook/geshi/geshi/euphoria.php delete mode 100644 vendor/easybook/geshi/geshi/ezt.php delete mode 100644 vendor/easybook/geshi/geshi/f1.php delete mode 100644 vendor/easybook/geshi/geshi/falcon.php delete mode 100644 vendor/easybook/geshi/geshi/fo.php delete mode 100644 vendor/easybook/geshi/geshi/fortran.php delete mode 100644 vendor/easybook/geshi/geshi/freebasic.php delete mode 100644 vendor/easybook/geshi/geshi/freeswitch.php delete mode 100644 vendor/easybook/geshi/geshi/fsharp.php delete mode 100644 vendor/easybook/geshi/geshi/gambas.php delete mode 100644 vendor/easybook/geshi/geshi/gdb.php delete mode 100644 vendor/easybook/geshi/geshi/genero.php delete mode 100644 vendor/easybook/geshi/geshi/genie.php delete mode 100644 vendor/easybook/geshi/geshi/gettext.php delete mode 100644 vendor/easybook/geshi/geshi/glsl.php delete mode 100644 vendor/easybook/geshi/geshi/gml.php delete mode 100644 vendor/easybook/geshi/geshi/gnuplot.php delete mode 100644 vendor/easybook/geshi/geshi/go.php delete mode 100644 vendor/easybook/geshi/geshi/groovy.php delete mode 100644 vendor/easybook/geshi/geshi/gwbasic.php delete mode 100644 vendor/easybook/geshi/geshi/haskell.php delete mode 100644 vendor/easybook/geshi/geshi/haxe.php delete mode 100644 vendor/easybook/geshi/geshi/hicest.php delete mode 100644 vendor/easybook/geshi/geshi/hq9plus.php delete mode 100644 vendor/easybook/geshi/geshi/html4strict.php delete mode 100644 vendor/easybook/geshi/geshi/html5.php delete mode 100644 vendor/easybook/geshi/geshi/icon.php delete mode 100644 vendor/easybook/geshi/geshi/idl.php delete mode 100644 vendor/easybook/geshi/geshi/ini.php delete mode 100644 vendor/easybook/geshi/geshi/inno.php delete mode 100644 vendor/easybook/geshi/geshi/intercal.php delete mode 100644 vendor/easybook/geshi/geshi/io.php delete mode 100644 vendor/easybook/geshi/geshi/ispfpanel.php delete mode 100644 vendor/easybook/geshi/geshi/j.php delete mode 100644 vendor/easybook/geshi/geshi/java.php delete mode 100644 vendor/easybook/geshi/geshi/java5.php delete mode 100644 vendor/easybook/geshi/geshi/javascript.php delete mode 100644 vendor/easybook/geshi/geshi/jcl.php delete mode 100644 vendor/easybook/geshi/geshi/jquery.php delete mode 100644 vendor/easybook/geshi/geshi/kixtart.php delete mode 100644 vendor/easybook/geshi/geshi/klonec.php delete mode 100644 vendor/easybook/geshi/geshi/klonecpp.php delete mode 100644 vendor/easybook/geshi/geshi/latex.php delete mode 100644 vendor/easybook/geshi/geshi/lb.php delete mode 100644 vendor/easybook/geshi/geshi/ldif.php delete mode 100644 vendor/easybook/geshi/geshi/lisp.php delete mode 100644 vendor/easybook/geshi/geshi/llvm.php delete mode 100644 vendor/easybook/geshi/geshi/locobasic.php delete mode 100644 vendor/easybook/geshi/geshi/logtalk.php delete mode 100644 vendor/easybook/geshi/geshi/lolcode.php delete mode 100644 vendor/easybook/geshi/geshi/lotusformulas.php delete mode 100644 vendor/easybook/geshi/geshi/lotusscript.php delete mode 100644 vendor/easybook/geshi/geshi/lscript.php delete mode 100644 vendor/easybook/geshi/geshi/lsl2.php delete mode 100644 vendor/easybook/geshi/geshi/lua.php delete mode 100644 vendor/easybook/geshi/geshi/m68k.php delete mode 100644 vendor/easybook/geshi/geshi/magiksf.php delete mode 100644 vendor/easybook/geshi/geshi/make.php delete mode 100644 vendor/easybook/geshi/geshi/mapbasic.php delete mode 100644 vendor/easybook/geshi/geshi/matlab.php delete mode 100644 vendor/easybook/geshi/geshi/mirc.php delete mode 100644 vendor/easybook/geshi/geshi/mmix.php delete mode 100644 vendor/easybook/geshi/geshi/modula2.php delete mode 100644 vendor/easybook/geshi/geshi/modula3.php delete mode 100644 vendor/easybook/geshi/geshi/mpasm.php delete mode 100644 vendor/easybook/geshi/geshi/mxml.php delete mode 100644 vendor/easybook/geshi/geshi/mysql.php delete mode 100644 vendor/easybook/geshi/geshi/nagios.php delete mode 100644 vendor/easybook/geshi/geshi/netrexx.php delete mode 100644 vendor/easybook/geshi/geshi/newlisp.php delete mode 100644 vendor/easybook/geshi/geshi/nginx.php delete mode 100644 vendor/easybook/geshi/geshi/nsis.php delete mode 100644 vendor/easybook/geshi/geshi/oberon2.php delete mode 100644 vendor/easybook/geshi/geshi/objc.php delete mode 100644 vendor/easybook/geshi/geshi/objeck.php delete mode 100644 vendor/easybook/geshi/geshi/ocaml-brief.php delete mode 100644 vendor/easybook/geshi/geshi/ocaml.php delete mode 100644 vendor/easybook/geshi/geshi/octave.php delete mode 100644 vendor/easybook/geshi/geshi/oobas.php delete mode 100644 vendor/easybook/geshi/geshi/oorexx.php delete mode 100644 vendor/easybook/geshi/geshi/oracle11.php delete mode 100644 vendor/easybook/geshi/geshi/oracle8.php delete mode 100644 vendor/easybook/geshi/geshi/oxygene.php delete mode 100644 vendor/easybook/geshi/geshi/oz.php delete mode 100644 vendor/easybook/geshi/geshi/parasail.php delete mode 100644 vendor/easybook/geshi/geshi/parigp.php delete mode 100644 vendor/easybook/geshi/geshi/pascal.php delete mode 100644 vendor/easybook/geshi/geshi/pcre.php delete mode 100644 vendor/easybook/geshi/geshi/per.php delete mode 100644 vendor/easybook/geshi/geshi/perl.php delete mode 100644 vendor/easybook/geshi/geshi/perl6.php delete mode 100644 vendor/easybook/geshi/geshi/pf.php delete mode 100644 vendor/easybook/geshi/geshi/php-brief.php delete mode 100644 vendor/easybook/geshi/geshi/php.php delete mode 100644 vendor/easybook/geshi/geshi/pic16.php delete mode 100644 vendor/easybook/geshi/geshi/pike.php delete mode 100644 vendor/easybook/geshi/geshi/pixelbender.php delete mode 100644 vendor/easybook/geshi/geshi/pli.php delete mode 100644 vendor/easybook/geshi/geshi/plsql.php delete mode 100644 vendor/easybook/geshi/geshi/postgresql.php delete mode 100644 vendor/easybook/geshi/geshi/povray.php delete mode 100644 vendor/easybook/geshi/geshi/powerbuilder.php delete mode 100644 vendor/easybook/geshi/geshi/powershell.php delete mode 100644 vendor/easybook/geshi/geshi/proftpd.php delete mode 100644 vendor/easybook/geshi/geshi/progress.php delete mode 100644 vendor/easybook/geshi/geshi/prolog.php delete mode 100644 vendor/easybook/geshi/geshi/properties.php delete mode 100644 vendor/easybook/geshi/geshi/providex.php delete mode 100644 vendor/easybook/geshi/geshi/purebasic.php delete mode 100644 vendor/easybook/geshi/geshi/pycon.php delete mode 100644 vendor/easybook/geshi/geshi/pys60.php delete mode 100644 vendor/easybook/geshi/geshi/python.php delete mode 100644 vendor/easybook/geshi/geshi/q.php delete mode 100644 vendor/easybook/geshi/geshi/qbasic.php delete mode 100644 vendor/easybook/geshi/geshi/racket.php delete mode 100644 vendor/easybook/geshi/geshi/rails.php delete mode 100644 vendor/easybook/geshi/geshi/rbs.php delete mode 100644 vendor/easybook/geshi/geshi/rebol.php delete mode 100644 vendor/easybook/geshi/geshi/reg.php delete mode 100644 vendor/easybook/geshi/geshi/rexx.php delete mode 100644 vendor/easybook/geshi/geshi/robots.php delete mode 100644 vendor/easybook/geshi/geshi/rpmspec.php delete mode 100644 vendor/easybook/geshi/geshi/rsplus.php delete mode 100644 vendor/easybook/geshi/geshi/ruby.php delete mode 100644 vendor/easybook/geshi/geshi/rust.php delete mode 100644 vendor/easybook/geshi/geshi/sas.php delete mode 100644 vendor/easybook/geshi/geshi/sass.php delete mode 100644 vendor/easybook/geshi/geshi/scala.php delete mode 100644 vendor/easybook/geshi/geshi/scheme.php delete mode 100644 vendor/easybook/geshi/geshi/scilab.php delete mode 100644 vendor/easybook/geshi/geshi/scl.php delete mode 100644 vendor/easybook/geshi/geshi/sdlbasic.php delete mode 100644 vendor/easybook/geshi/geshi/smalltalk.php delete mode 100644 vendor/easybook/geshi/geshi/smarty.php delete mode 100644 vendor/easybook/geshi/geshi/spark.php delete mode 100644 vendor/easybook/geshi/geshi/sparql.php delete mode 100644 vendor/easybook/geshi/geshi/sql.php delete mode 100644 vendor/easybook/geshi/geshi/stonescript.php delete mode 100644 vendor/easybook/geshi/geshi/systemverilog.php delete mode 100644 vendor/easybook/geshi/geshi/tcl.php delete mode 100644 vendor/easybook/geshi/geshi/teraterm.php delete mode 100644 vendor/easybook/geshi/geshi/text.php delete mode 100644 vendor/easybook/geshi/geshi/thinbasic.php delete mode 100644 vendor/easybook/geshi/geshi/tsql.php delete mode 100644 vendor/easybook/geshi/geshi/twig.php delete mode 100644 vendor/easybook/geshi/geshi/typoscript.php delete mode 100644 vendor/easybook/geshi/geshi/unicon.php delete mode 100644 vendor/easybook/geshi/geshi/upc.php delete mode 100644 vendor/easybook/geshi/geshi/urbi.php delete mode 100644 vendor/easybook/geshi/geshi/uscript.php delete mode 100644 vendor/easybook/geshi/geshi/vala.php delete mode 100644 vendor/easybook/geshi/geshi/vb.php delete mode 100644 vendor/easybook/geshi/geshi/vbnet.php delete mode 100644 vendor/easybook/geshi/geshi/vbscript.php delete mode 100644 vendor/easybook/geshi/geshi/vedit.php delete mode 100644 vendor/easybook/geshi/geshi/verilog.php delete mode 100644 vendor/easybook/geshi/geshi/vhdl.php delete mode 100644 vendor/easybook/geshi/geshi/vim.php delete mode 100644 vendor/easybook/geshi/geshi/visualfoxpro.php delete mode 100644 vendor/easybook/geshi/geshi/visualprolog.php delete mode 100644 vendor/easybook/geshi/geshi/whitespace.php delete mode 100644 vendor/easybook/geshi/geshi/whois.php delete mode 100644 vendor/easybook/geshi/geshi/winbatch.php delete mode 100644 vendor/easybook/geshi/geshi/xbasic.php delete mode 100644 vendor/easybook/geshi/geshi/xml.php delete mode 100644 vendor/easybook/geshi/geshi/xojo.php delete mode 100644 vendor/easybook/geshi/geshi/xorg_conf.php delete mode 100644 vendor/easybook/geshi/geshi/xpp.php delete mode 100644 vendor/easybook/geshi/geshi/yaml.php delete mode 100644 vendor/easybook/geshi/geshi/z80.php delete mode 100644 vendor/easybook/geshi/geshi/zxbasic.php diff --git a/.gitignore b/.gitignore index e69de29..a725465 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +vendor/ \ No newline at end of file diff --git a/composer.phar b/composer.phar index e6391822e5059e8e4d2537d17bf9a70f5ebb9dec..e6ba7bbadc93b5fc256ac8a80023ae73deacb942 100644 GIT binary patch literal 2977479 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
    K{%;Y}L*nH#%!cSoz)mmrb6JkE39LQO8QVcX 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

    dy&(CBwrF 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

    hudTAqbZ@SP`ysXj;)Y4|o+IFnd~O|sM2T;dlE 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ΜxFTi9 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

    ^k`ZLC* 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�%WZBYES8rs4wS!}ka^$*Xh3%weVo+vd{04ty(rF7VP{lXdi7PC zo76@p+&ySs=ubH16Z-HCV8)3Tx!S5C;Dzi+m zp9%b5MYT}2$QzdNL5?P{e~fR24*XBYYV|cu@i^sRBDmEjUE5ezjWf&-H6U0gA>y=U3M+C{v=Ug;xG1jUH#b?H%v z0hW@spl;PiQLPpc*Y$>urE`Z~1hv-F(*wOc?`OpV)ME3HFwX5O1IsJDlcVFfVfUt& z>Ar@9le*f69jlRIuLGaC7J;t2g=cy{I=T<@S9OUdngTz^c-};hZ83}|Yx`7~EC5!( zz@t7SW9aJUY8^)e@?AHfXjwtDwc!+Z90AM{gSpPJuG=_U7;^)WQm37Ek>i)V(<|z6 zaxq+V1mL`PbbXxxm>^STQfeX!=#(tOw$T*Tq+H+lks~~)*D0Vcojbq_qVb;hefe

    Rh$_lbgl`^hAJ2f)N+smM{7igNIdEM`OoyU z@@7x9$^PXp=!S1Cg-L}MFenE*GgTg7DNszIuz`kfl9C=yT#ANkZm9ZD(}DN{A0t$s zg2Dxj`2un^&B7Cci6dPpNg6d%DI1o&@I1t8COH$l?a*kpz&)TSTjxr$L40?bj%VQz zKk@4NjV;$3X?9I3HZ-O-lkqj~L5V%c!dbz#%usG{2RhbF^zWW@I2g{}+G`SWXbJP6 zY&-ogZ|C)faJeoHh6kL4pg8U=F*PptaKETX$=z^Jqkm0@O;`n9Y9uwpH!+*!Iy6~@ z9AO@#%JH6VOYqrv@^P2JtvGJiZDEofy(xo4NWMfyM&cLo&Vw5HQTWpn-!rg*@(iqt zPiTY=C@nXfa-PkisxWH!YiMSN0XItjrVMz@n-8E%;mTgn1264H-;My~cQ=FXmN~!TtT(0SXS{I=bdJ;s}9v$`y?|x!%0v zqKDR3DRHQA6*}SJ@@LG~T*8>3^8j zor|<%zsVKlg9hxwKqQ%+UyR2)>bLCny`H0((@urEvvcsYGehN;@B^>R`&fAa?=)WD z+qbKE4a=g3wCkyiv$qR*mzH=eFogITE~z~Qw5>zSdI~Lz zthZ)s0=e7rqqRvW)fXFM1WnMfPO%^PM`=tpHV=>t`{yln8T7^-iqx;3ab3jLwFuVP z8v@fNh9!1$+1#Q6V$JE=RfE-%r6)3ZqU64!myjq1IA(t?$538Dvr>u)qM)@4NpY!T zE17YU4Z&LWm7y_MP_Thxb+#1c0<|k^>oY+_fgjrTYJRaIlM$feKK|FXBo;`ffTW1K zgtTI4Zr&k12?oTYq<~l!XW1mxc`K=mlb&Six0I@BorE-I=o0D`#m=!Ze@(->;k&?rn;$U-uIn63y9n^Xc(i#W+Bp&9P_h{-vh(^Je$3?qp28~ z{%Q~t!b%04T$-(WjX?;7&Ez`A79dPf*RZ{{iGX>adCDjl;MZ2GZ3j(R)!aOQp=;qk z`IeT%WoZa~ecKahEA24N1gQF^N8e+*<`gWp3slfGc!bM8!ml*H->(6DXt*2m0@eVZ zQK$eq&};psxEj4=SuJd5kO_B+Qqx>*4bna!Vt!y53kPz$`Wr-*q+2#yPuSEz#%I6g zK5kgS9+ZF*dI<0&`K0 z|C&ii<_^w)@S%C{&{k$9A6ameSioj@|)3luQllL~5{Mxzl<6y3+D(E6N7!c_J2Xwy4&^EuNHD(Ol0MJK{fxkuCZ91iCd+9=2-x8dmfoQ65YsHLKB+f0NF zb)!-t%#0eI$Q8S+m{<}y&*gDSdN~MISo(6a3nkuMWaJ$>*_%}{SXkw{v>4=&R5TRT zI9OlgWJxHe13%(*a3YPSEyr(hla24(ypq;X{UJ0ikE^9B5k9+e;U!$F&;qVo0I<3d zG6LiV9dXK$@Wjo`c@Vij?w?{A_Blwf|J$nOTYocs+Y$2*e}x1p`bm7%_JgEPg5f{) zSM0$ciy4zuTvzc?>@u7$4+ha9_Kn1wx*lk%jE$}bD*n?;WYK})ezxBsl$4V} zzqClj)6))5SW5z69I)gmg*rp&aOy)1 zpD=Q}n>#XyJ!GkdrQ6udbhg8w*=b?!5RW$^P3j4-zTZ-MrpLlaFta;A*k0m6d(|P^ib$oe#8Fyx;Tl1dqMW`Oyn8h` zKTqbog7Q5YOf+<@-DR}4hNc~W#E;Uv(r@qj_%(bGKt#5w|0d3ePGBsh*CMEKNfCNE zEO}J3H$*?WlfyROzbj`(9IwhhZe9JWdouQ&_y0fc%LqwoP7#$jJPVI)R{Xv3*^elC z_G7Rk(`9PWXX4|)&CR1LDI)(#w*DC{OOASD{SaG| z62g*HJ=($8l&%>F*}p*i|2Z=N!#|E~FKxFRAo3l0P^0NKQ_d-H#W<_Hv>1lN0p+w@ zqyRG>o8}?ovun=wFao1KCb35+yx~j_E%KYHm3hWPE_Z-sL2^l>$cl3&hYN7CEjz*V zDrZuy$okFQ!B$rFP6l^(hNbnJ%b6z&MXEFeI9^{wm zPqIpeexYP_1ouo|f+0*059^i7rf#Ihws?eFmMQZM&b2Z)s96+jVHMV9&6lrbc@`33 zvC=7O@df~@y{kw*=seE4 z41*GLPhl;?P)-CMo>XlfQjMB1B;%r40@R2qZ!t;gn*bpwP+ncH(gp;Wn5~uAdm8mp zwkMQ z5E^n4XloGj*}P6NlBzZL8!j3{f+YS`YASmNzTG;ipFWzz(=ZE*(QD}8myxT*D*?XQ zJ8GoW!y+BpyiGxDZKu$1-^;JXiWlzL8&vXh)4GuyTh?n1OdVnM5Hm%a;-SpfM$H4;H^}=YIF`S6~18&!^MX?#XFq`G?1=-StoL zpT}R_ImN%#(}&&1U$5}Hr0R`*tSD9}cG)`AGjwTE4=sXoe(?2X;5Z|~2xpAXa)TJ( z)W&8GPQyirU#Lt32m7n!7Xg&|ZS9f1KpFcKzoZcId-@zlsqOdx4Ems~Nb-?lsYy~- zzsn~Cf_Pk%rYkuQIlG8ZB%{B;!PU`~U_fA%Y~RIPFblJbYAp3KD)B1v}! zV2q>I&MAwy8*(_^k}RK3Cj&ps6XXYDEnH6MQVFcgT$W0QR^C@pKAJFxGI_afAHlK_ zQm;K5TwY02rjRcTmTDfBN>@Ei}Q|V$X<_DuClY+gtL* zkng5w0gjPDpGmT;a^x zGPW4Ek|OJK3x8`yzmK4XUCJy0GmFqI1+Mm4S5(jLO}Uo}O8jrR9b^4P0hPN5O>Hf4 zRB;kjdQ<&-PMbs#+cdLxREKMDEA48dGr_bSX8|~+q^z~F!5Jq=bo4F-2pt47d?v`H z`>cuS6fu-S8xTuwZ=018PD^P;**vf})1@azUmS2>l=DE(xng>Xs}1{(bwok)`a&qYl>z3IzMw8hWKSo;3hPAZfk+ZLYwLv5+=Hw(HKPS zU*J76Nen}oZ50#NqUi&46{CjyYc@J12@z;$GUC)UwaGV30CQJ_@5-I(1+1@{9AU># zbZgeuDM)1JO5W3Ol{6{2DDG%s5G4#adcAfmf<-94-H_?FYfWC1pt08$gW|D9yt|J+(qY0=n+gmK-AKxfzreK#T_`TZKypHO$p!L(_QZ>zkuM zdk#3zX1Lqhd_^SKC&7aLuA@O)a|SPqpm9!0G=!}s&UbY5*5pL(Jt^u_-O#L1VNx`> zk87=#B>8KsU<*v0yO5*YO&72&{{-rJ2IyJGTs8U?Nn&bOT@}t7>$V7@C8sES?2;-f zNpYC~nq~E#m9Cf0cr>jmS5kRR!^+0}n;?k#%%z(`Sz0MCfyC7Hgi>`C%W|RJXWgVL z>C6RHVfL!3vX;lCa+ak<_y5Fu{2vR&wciKN68knNRN&gGIwU6y51;)b2yLoIZt0-yr zZeC48e{NpycrbZ~+{0G`tE!SiE=b8?1NlD1wC1vfI_xYX9c5U)KoaHkGerOd%ccrP zyWi|@?xp25Ua6%xF0y*QyN_F}(i%u6rl7}4fwUB?ox{U}!?cPd{13&AlCqhaq2UjO3Gw{P3|@pwx{oR0p6 zv;9r%`$pqF9>1`w(9+J$)jb)1xFHx{-aUUtNKg~r+lOH?7KUlse?JHi&FNey{hyZ? zrEVtlhN#XJs zAf49Qk()tlX)4{tJp~I8U z+FLI%1F_L;hbb|N3lLkK#oHjG&+*mA5Sb4aPIZc#lsX9V&vb#DdMt>aWa!`!=2?&1 zkD9KFCc$63bOWqbe+&h?ox$1LF>JAq?w=3d-)DE&txirl%xubiOI}}H$yKKlNeSHe z>BG!VjLNwjUJfj?2nTkj0FLGmv-+HXkI>_^> zFPG}Cas49#tEx4Qj3t)-_*#{2+ec+j#&x)-4?h3=I{UagVkUnaTm%|sn?p_2pb3R4$2@Jrizm6i7ObMNuQ5X1TJqBY%}_Rs zh+&CxboKOTFnK>b8(4-ff87R7Q&WK95(Lk{iJK<(j12W&&f{Wom# zW-VES`jhM7g&dq%95pfGv+a8On?Q0nc#S*NU{k(HCAzlHlbWi(sd-@Y9M_$Sf@hOY z+>{12&PO&4sakNRRH{T{sNMz923vy_0N#_Aqwx!bz~C54{@Nx9c*pu^+(Q5m8%~Pn!^kVxHyq#AIGYF6SGs@n z;H>Jw9nHg)bbn2TxTJm3J0GBZP%e{4bo}TVwJRv)=(6+0`se(ES$sWwb1fztIiLWq zm{%Q~^L#?Dx3#x@7r05aI0u%Ft*<`pqjNnx2yD^TEUC4CMmT@6!+ z+!7acAb|$+68B7`Ux(>7Uzdd0-iSJBBQT;A>ue~n_6XW8sqYPrWGUC$J;%wA3@i9- zx6K0Ji+E2d&TL@N^e&}uvBcPiyq<<8?M>ncEWx5bW_Yg7z&>(*(H9t<+lpNqmKb@r zL)<8Gx1D1)lhSfwJ;3&Xq)2B;UG*}%X_GJd6RbA~i%(D$F+z~o#~1Gh-_pI6W*3wG zw|Frrh|~llj}rsvaD$&Pbvw5$+`TL#>0b%nW!TWt268$)&sM|B1X@C2$CNT}7XXL2#-f2{w{#8y zL|pNn9}^e``wKTvbncRU+~t22vl|kCb`DVL>m{Eo*spCO3&XV&%ie%XWb z4>EFesbO~0w?k>Z`mMyIB8}s~f-tI@-5PjBE~+QBNQ^ptacyxP zUx-%-ZWcz;6`zz9HGD(7NwUatmZfBGJ?~;&*Y=@x-PI6`kEMZ220>n2n$Ej4WfH%I z8*g?w%^*VgWDrYgRMaEu2;7=GFQz)OA9bs;gC%w_99?5uCHwa*0!*cW`eAJ*@Ac{q zjni4W9wGM`*ov-U@{*h(W*3w&##~306e52-!CQW$4?LGk$jh7rNf^;%>y$-4DZhoU zBn`_EI{6a%#Ry{qgjxK(_~B#_xmFv;Qp}-BQlMefd4Uvw62%E-c_j)_dD2N1?pG;$}!gipYom4ER1>2d`k_$_#SLRMI93-kMJ$xI}Hf8ct~%8jj-vxw(e z1e&xZ#FcDz48j*^4u<)4ai2_z0bSUpwi z^c3Vbdk0T8_vC7@qZgZ7;xO&$<(c$*n&^Rz@$&Kl<~B7jg|{PY5|XVgQN3x{R#vU> z)C>E$W{(yyS*Cn#y9J>rB5P7DJsD;OCDOgS79ODFVuIb%1E(XT_#g>H5-(vgV0_KT z?;5C&o&`cD*uyR6Eg*v5V`m~Cl|zC|%pF&dnZ2bGtRF4gu#`QQ9^3om6X;R_#C&xNRaJ3+kuH5N#NS z=7Apdq*x$Gu~7I73Ps5$hdyb~3yILpLTS|~09vsma*awD91@D4xFY44Nht06I7|?1 zijTwg6DA6F0E?lo?$(O!!`7=*ZgaMx8%g<= z?GDPaky;$Y*4bUbJvc;>qB$c@WGtN^7skGiSW~gU%LIDl+?@_buz~V;8XJKs!DGl8 zpi}OIaAk=KEHj!9WcG{(bcZ3Hu(KZ;Yf)DgqRM+`jm}J7;Wwid=WHVNt_H_slaKPbq;T}smAbRyQ`CUflVPDo52iI;WpCFLfm74Rx z*%+7R!oFYEX_R6;t`PjyYKrb7_6)E4xGI(lZl`~F{Nm+tZ~x%%`Q{#^ytV>|o8N&} z75K2i<6;e?Xr}vY6+rDW&wul(R0VV4PK^Gg3;m5%D#oZ^rTK*ZrHlBS8vcK2SH2$X zZ`dV&X}jryNPcIUZ(AR?ja|_jRTr?TD6O^aBM538Ops}7P;HxiaXblpJ{mk~l-C|Q zyvUY78vk!Aa|nU{Z6pTaYWRpqon_{a@)j^gut?zjLdVsna)^B~mbD47fF&G_qV$gC}e=u8Eih`bX^952Qo zH9y9WVGEtHb0%!MoBUpYWfN?looLJvp;q?8=}D5}Uf@$NZR+trY5F;mj(yQGlqfZr zVpR3cV&ID*#?4oWokwd4L>d`l<^>pB=&ZGhqM&;t=2i97W?Ncg@fi@wW#t^40OO<8 zjBBX#a{piV55C*iyi@7W65Eo1!HOrHel(VM5V1lX8O~Rz49SP2=0cr(JD5y~Satt5 z_VZqgGBm6lu8|%P^ivfs&RquBUEWYusP59Vc#HiLK28r82+y@t7B(%gW{?;G}fRF=vbvhUUrD*|pw+4uj)TNAmz$no-tQ z4NT@jmP0;w$=7$#Mu#wt2-^I8IXfLWkd3=z5c##-e1?0yvs@{K6CUiARCCitnVGB@ zVbfXga(K3EgcgrHla0(D4uNNJ0*vbF{Jcg&Q9z11^dvMRE0oXDDFPBuas&24@!?bg z4ol+CP?{9}h18!6YC+o1YBW%O)AzY_UkFA*`|({WdnIf}Pe5*(^6fiwG|@-tN+vB7 zw2hg|B4bUmYYb_n3`G-bxXPi895JkR+W@4E1Le%NLAOF>#Y&hIixDC#)(Ve)-v&>I zeMWi)EOR956in>@k^q575g{NSZoT;+8Kov~2o*jXvPz2?!ctP$rpZ@rdMf^%M#h** zNA^2NRn8HGc>&cbphkWeWTb=(xfWu)Q@pM%BVh$#+TC}T;!68SmjLl;x}}H zu>}Y~+?x(1H@~;IRjodd7aDl(_oymkwirDvozqTS$4Z`Qck!ESw@L&i^x;S&&J1ND zAN50x+F;Z`aI_F9Dlq=HHFfB9ou~R|p2I@e}U(sRi1cB&4owH%v=v;;|g>lz8L#AuL8D7KBNAV?$ZTD_X|= zP=AA8BqotTNLXwQ3Wb@ob@Sk$>oyvd-xn~Zi+2aObJ(;Zmbe+w7wgVPB!uRh;V-gU zb(cE7!@ufJo%NWDHQ~Ta@Z9-|3FsenR@ayRbUH$2ou#s@lZU975Vz+D_?Df=_ax~q zYXUtV5U>`%F5sr1TA;7B*2tTgZHc_p;D!8He zafqc<3e|Bi2;hBxf+MGw;&LyBWulnJ1FU!c)LEKEQrR5qCag28zg^yKwx-iGqw*7# ziYAeJuJj?*k?9Z8b(>Z~o}S4t*r1}gF8glMN{%yR1DqqduS?qALPd^bD&r#-jYdd} zD!tU{Xkk)pYoLJ;Hzf-@W*n!Fl$N}5rcks~6DV0K7xe6{)bxy*ExG!ULlUwm&#WuT zD4mIAWl;b%BUgI^H(L}wI??5S(UM3+6Jdk#IaNnmmxs_Tdn6OYLKyhTACD| zjB9vbk)x~KF9p51L19dyIk5K@v>d1gl^~^#)b?S)hMrpD6o=O2Obmu@#eAy-)!xkv z>}f+SxYLi$Qs&`JO9!m|`u+jItd13Cb$FA<&*avO* z!UdGPqT^nra_z>(hvE6v+i;*O+5dUl#%In2$!c>gA=q5S%GUm|+|RjgMAL~}T$QEC z;Qaaw5?k6$(0%U3)X*q_3W&j55w(tV;5Ih-z#X5ckgvX5EMwzZ<>qT;xsQdzduxvt zQuNX_^gjjLiu#-BsmY{dljZs=9B09k`3omY)&O;0F4>eY3XQjk88B-{wnF44X<4vz zV)+rFvgNp`P~Q*$VqsYxy7HmG*N$dVTX$;zxg}7P`oB(A-9z z7S)z}|FWB|P_;pEyIAEJbeyhK%2cCe66`?a8}>7IDSbJrVg;mnb&JY;3w5 z(a{RGF2pc|_M{noTB}aMg)Wd2FSy(iUVzHkCPkWv@y=EC)o}EB{OIoVE2Kfij|zz4 z|G~A~)Y?5{!jl9cqQpq3KnfZBBQVs?j4uGYU(N&sX(SoWr`7Kn_m$zniCCj(0GgqD z>4p(vLe45Y-pH&+LJoGW+|mT{jhmLva!w~T0&gmmk#}Q(--@`KJDW|~YC&U078B3C zkqkAm8bi^q#S(cnzP`M~Vg7(jY`1~PRn+&k%oKMZB2fRrg!$0k3FI<)SnvE`+Y;z} z!8K=#{j7g+c71`Uk>gMgJA(Ge3K1*_ zC_*2xq(ne)43Bv)id(!BRH^zso0k;q z$j5z4HlmEg8~N*Tk7P>Pcn7$Mm&z=*akJ>UeOFD!NECB%G5#<(Urja+agyAM4PlQl z|FE*6_`HxQwV-v~y=D_Mxn@Wk17bZ0ro>yDPQ$vvx_HY+;=+Pod;SGB05nFv>es^rSL3A-u^>cP_e%gDxyhQQa&dg>B1B z;1+*ilm;$v(h&@q03eYz5oJ)S+JOy*;c^Jt*#$8P%LKYHI5KWLKLAXtRwH6 zNmt=h-O5+cVX^_V(&8LEi!n%>#WuZ;B^J7GS+UAsXyI;OAY!d;1t~0#1q{Rz;7|rL z%{3AWtpy8y4Nzl}wf7yOK!aK!EvY`eu>p+qc@9$B%h)fn&Xq{8w*NL(;FR$hWKPzF zQ!`C)nGLCJK%DTm^Nr;uHcLs~lPW*t!s?W=X7KA;|8YB{0M|-XwR$rr*>t@NoX_jB zAk$-ys)~8B330A`wKcr}GfC`gsZ}?#Vzo0CpS!=&X&5j75nwD=jczb-7f$*gdRI`k zVJej*C5<2cytE>w0P;6oBaqAV;t5giGdr+wK4ZABs3i&>FdURoRHE6Pv^zDqIe(iOr`!)B$jQ=agA;6&}7S-_-^l^#P{c z&BXO=wBA{q&$cyf?}O7-&dMYVr=S~%q9b>jG!`X6h)V^;XdKN)oUBFix7ZE|kX)bp z=c_?1whQAE76GygGnHskK9|y)s)Zz+JefpK18WPR+q8wuO(3t9;cAx{g>tJoi!$Aj z*VoteQ8aA3X0rD#_wR)9xOc}PBba83*H+{}^b|=g5+tMpbcqvLT4D~^sd;KLKvE>a zG)iufNL4BBXEKGjv24EY4=)&)&3rN%qj~$dhmB4Q-H+B75mnftNP8rPWV%bY5R7O%#VrSyJ>&Y8M>m6wj$S&Y0a1*kF@fJI zV$7|2;s4Lw+x5nkBxz&!`W4k$>aEhWNPYBty==AG6h%#IR}!@(yJyFwhM>rzRBn>R ztsO{ffBSr6dwuQ2#-sgh+@|pjE|~nW@#Wj+Pu4ddZHT^Z zAGpf?w;ATj17imZfq~{C_WXEXCRx2?ZS{-pw~u*dt99jTA)CS!M;XoT;bc~9Vs4lj z+>+4+1L5*Hz_pAFLhPr`MMX3{bc)XhqsQ0khSn#EpTva6nQxTDzs59~?JzIJTcUmP z*n+nJJTa`9A<}jI&AzK4{d9QtS~i34BCM0n@`}bn^YQ2_%tG zc0k46k&FSgo1uYYdB0u=W-pttv18J)(N}bFKDs@-9Xp{E4K#NDAkpv1Q1(i4q93}s zr9e2+*(LTsl{L|@)n+l_fqe%$8X7HNDO-s$}m{RvX<>NU1Yg)Vkuz0z)n;p@sQO9|iz>4r8wCaCOdPAIW~EO=r;5N(fD3 ziG%WbKggFseVxF}+!0Vmg@&`F)r28#AuNxR`me zdq6hrnsr*BrQ-z{bvX!6&487a5`ejLNXSycq?k|{z{SvWTo=jw=3yvu8Kn;L+HvY4 zP@|VbScsmM10|fcX|Cr(6)Ogr6S}X0!n(sk8dWkz1ry)am|Sdz42^;+NaNA#)pJ74lqiE!iXw0bN3RL6JmafM`C<|-5%sEixVh1 zhpNNISB||mO&~tl#FwRVnQQtlfS}sjSBj=y1htuF`~qlYda+tg<_fSos6YudlX|I% zMBk)aO2z4r)8btg>k~qH9T8eL#f9Y+`1x6XKYo zt{!vbV>avA2}a)MpGDZ}C$$x_zExg+6#~&9O$wUyy(LW&!{2c1##^}Mu_Hw5}3ozY2 znPuTXoN|+C>Zs`xICO#YV%V%L#t-6}ut2<3UM4i%e}w~$$v5V!DJ{bd#NCDS3Nhhk z7bF7eKt%F%O3ZhXCEjCM58H#t4gb(d$C-mHT`#EE0;g?o9R(Gn4gXnv+nEc1N`1@p z*LSXoe(tHS`fss`-;uouG*~(xbI%QaAN=qraABRaWurmpa54W#_cCpM(M5U;9o1ww zvq@1dWJHBA<17F$@9HIQ+UaQNR__j^6hRWTxgdEsNML4OtN9tBIP$SAH@6K6EG2b= zD$;hxMAp3X(J9NGLE5$&=*EyljN zdn_hkL8cG~V29RCG9~}QQnw=!_d?Q*!cF$`0;$?Ot0V}wB60?3%;<)Ym|G*00d?7e zZl#gcMZB!k2Tt{?WfQk0Yo+8rEZxJ#TP%}c{rNv^jUJrXZE==S!WOGiGIE{TH+hLg z7XH~D9b(R=7rm{Goo~0E?=yyG|Iw4}wTDkP9)Wy!?|z|e`HI9HbSoD!juHcp-i)I&L4}Tcp z6vh!2!OnicEBOW1(v9clRn)6(e!ehkYgkC9E18-wgo5QURpe)*c|f z9gmIx%Nz&-WHvg4W+WdVz73G<9eeG=CSkiHtQSBetvAJ+=9 z7)7C?DY2f(f>=c}y!(zWAF`fgC1B||VjR@`%c|U;OYQ#ea`Kl_=}hhB2| z5-#^dvLBaWqKq^$Dc3Whe54#FUL?fv=|(}|cizjq%Y=o_?m42OG0$)53800gM;2FY zT7Xl)eu8I}GXyt&FeL4@qR97-tm>Cm!C(?;z!pocjn-z=enJ`8Qr8fgQFBwIWJ}eA z^S@IrCSSHFu&%;Ho3O|H@T}NIU%LXo?GihcH#IQS-f+PWGOTU-N&jhw0wb zd6slO?$ddNg=JvZOAwwB-Tv^0!=Y|cNy;372UFe(=>hTq?+ZOV=buW^FK$-Ic>G~HMXoU zbRkz0Ea(!G1VpLd`y@!i++S9{m5XK8l`>Q;|Y;pqKM zTZE|@VhgG2o5*5cV`cb!gqh%i5>qr&dPdggkB-(XG9#7X zfz%x6`(Z%5-x?#sG*ZS|Z*GZ;Vy_bhouDhX3>Rns_soA(Jb82{=nVfL|f?odgXs1oJn(d>R5h_5^G?HFGD@bEr&psYRiDwNrg+mFUxp_b1!~X%TwZ z)<(qOz%+fxaJajZ@;Ak%y1P?$ZnF{7i1=H4F3y9**#4FW=et!SyIJp5`p zx8~(p)ScDn$MeD*zmHoNodyHgi6CMNcKiM5@%ZdLH=E6ev@I6*-YaE1kV*AwCF62t z`~3vG!=2cwOiT;#Pwe=_1k84QWYT#4jVLK^w=cj^K&9q2*uE$5d5M9T3o0oOW|Oal z2s20!ww9+@{TJ4DYgUvTFftt>YYK0!Hqa8$q82E5DNw9ed5A<~GEbL(GO<7q&vR3y z_#f>4kx5cs{`kk6gWdZNUf#UTSe&K1e7STFzolMs#q_4blVi^qx-&smF&G-0h0~LR zDK0{j=7^>KGcva0*sNY4ok;_(`S5L@#wpS-^Tstc1Wb|HMYHRl3>ha9DTWOX@AU*s zc3M>8wi`g84gpVw=awn+4i<`X<4yqq*LqqpCU&~M$5KmdGP}S*DikY5X`w-km<#!O zs?rufOLSDMt1_0QcfmL%m>cDjssZ~tC%I1Pi-Qfr$$j=}+H8vw@58Zo!N~bOynGt6 zWDFZHc*(>}5U(dg+;1%bt#w^4kg*P(S^fQxIojLn|MTT=%D{k`0A67Xzh@T?-ybL* z*-4LV;?X7$Ka;%69H60t<@6VZSPRGyI!Q?_pY>hTl<#&IPnxMQ@MxynPMANs?e;@q zwg5h8@-ARpKnuU~9DFw^$CQ{|?YA3lsUMb! zEEl3J&2-v@bkjABRe)Ddr-BU}?C>AFP2yITS<|)HOc%0zdxq%I(HR_^LI!xkky>#D z{Ft33tcInNUR`8@I%&1t6QPVxwcy&>5w+zY`Dqy2*v>#@je2!pejG{8)ZDHx|4inK z^Q&~m$H!nT3_o%$Sp)+fB-7lM=2@=xJPkz@f3rgNrJRp(Rm=-;hTM212MS%clQU3lTNMU3YXq( z+@+Sozxnme2Y)yEfr37Hp9IJdcLD6Z*xLBr{^sMy+Z#Lk$Q*{y#tl$5X?rWVdq?w{ zjzr$bOOZEv7GX(V?B0dn*0qtnx`S83n+zV3a{`PcqPm0MJ}}yqGY!kVyK*NUwqjDg z$sjgVm$8Ic-0Mmrn+$eBA$3rP3we~_$2A4Uj;8LfD*DHloK2MxAGvn0QkJ2 zkS&oZiO(Uw-IwlBb%F{ii4R`0y3_CO%iX2XOOO$48%G(CS}-s3g_qIe8^Yi^ucaLj z?z1ISA^6aYA;y;S$xA#Dw9v~-Vm&|gpZVI;{1rwP9LVfJ1 zeN0^o>R+tKzHYOc@)ZXer%g$L-rQ2aSuu=Bsgwmf82VNs@ogor`nO@GfA#Y7n_uDY zm-svQ^2a5y)U7Jm$mWYnCW@uatw$SMd9&neX+(JdeBEWha6U9-nVf425hiCG_or`0 z$B2H^x0wI(gF;UX<}d>MHNc8g>mR?y;QBO2d0}m#hXi&$PHS=yrvd{(5qwUn_g~Eh zmN^L)0QP1wJSJ{6a+eck8Y!1gf1+~Ib<>~8vrBiW?X|PO67)!2`UY@u#lqyI#9dtl zxC*M#V$B2?`&%4*G|}1(3Kj8`%e6W76DSu0l}e=H^`cyp>hEeaHU+F7Eh7F&7FUi! zh!p2>>3Zk1Yf(lrPjta4UBs*jEt8uc`ujh$D4=S|i1hRtOhM;Tntf)PsD@C3CVe!i zSytWDN(t=g!ZQGu; zeIr%CD90mOP%fwmL(dn&>@W>OW!}`-a_2AD)LJb8ERBLysZOF9qhI3BLH|Du_V&(h zF8wF6zqalI2_PK0L0EBfN3NIQ-Vwu;<@S6yx-VL@Q*qqzis2XX^^g-xjQ6NY$e>M$ulEYhsff}B(Q zB?Hw&4jC}RWg*4%(5dCHzn^&HX_&Mfki@`FC&AQSDY%#w+t5?fG?3&E=%kS>*|O!< zEUq`yrFonF+%w7OBT&gs@LSay_@H0}Rff(+BL=G~Ph^vOX?TWxV9E#N2z|AGG-MtY zc!%_*^AgpaoiyxyjZ>RA9jMlczrgLEU`ffZqdMB$Wv(7a`WS=ZUzTl`vD4;(L!~Rk8u@r zH5*HBAAZ@l@zUY!3>S(Ue&OdV%GVf!?LpGCMc~U-4$_C5t;mOHwuc<|!SHmF{%iGY zZ*wJ*ySJ-BmhbsU`}{#DgusqxPHx@E$b8+eVuvJqX&OI!L#ro$WOVj$N}J_(6GSN- zV=BG(ZnQbadBSgUiK{QdZ;-ITB-N=H-x5;sO{^5RKh!s$IXYuc2kuKDDW(MD3NXmBZeDvP-#1i5QJRb;hKuE#;|)ayVL1iL!^TD!z4AxqsVy;%UahcWCw z1#Z!DLIwk;3@D;CQM$mbo`;YeVg~ypr!^cqbk;d?B7x(ZsEc;mZ>mY^fV9<&;D$zd zaiFyjW7N$|EggiyarQq@R=9*ht22Pn@>0P zzuVZ_ezN(zFE>Z?(B#ctcaaCZdw1^My>mxkeP$kp{q2n{K-uj-d9<;%|K$0TohNHg zajJT2V;$}O!96C?eOYE$_c*_RmQS}fNw3t7gpD_nA4GVHZ>uBO`A+U^MO-;RltGqsmMgVzDKZwiTTd8S3`o1`^ZRlU-L18?JRI^XA!On_w6qFA$hEqOp>N*4rFh_43F;`0ZVv~#h5jF$ilX*b$ zz!n=GZPU(YYed5Rf;#n(`$Qd8c~O^`_?RgtZ3wj3Gq)ZxEjF-VW+`c(GR1{)4x7Zl zcrUQI*?)pXH8#}_FHYWr1#yJUb~k(6gE?m8)rw|+;@~!C2K3sxI;|vh=7UGhdy$X# z?%pBVkF)nmnwxNRaX+n{ogpzcV*U;0@O5II1*T|5Y2w(00O*k+K)7YkQkyzPAGDG?Yqsf&Wjx*VBl^X_Ul7>rB~8`%=S-3{iETl z%h%B1>M_wW(Fc75#xBKqSnZ;>zWH=>Ynx)P9}y!AdVvF9BUtdmVo~tx6*5Wi(4xdI{yH7&Gzo!e$cy*H~jJdg>FC4ds%g^g5w`b<2cfD#4STb8b5L`j1Fo| z3M6yDh)k!g)OdAyd_0`^ogNb4gsxiHRFguR-|k@S{Jj)^0aI2S=Y5>YQt}y207Ngh z%4#X=lDpdCOJv4*E@b}GZ9eZBcY^6G#35J)Y$mF5@|3%a}{5NT<^$EUC3 z15R!Z4|;Bc-WZOI5>OYR`5NtlB$3`I?;j|dh0pOG4Mzw)pMeqsD>^tNM+v2Lps9vE z0Dy#=F%a!^nmZ6$ZIOX!A8GHm4TQ*&D-DItjIL3TMn7T{I`Ek>4u(%L1R)lj2S~5> z**m>}DdiKcRgP)YP?VVdpU6ov0fe_!cph6o~ghIK>rV?#Va(kXQvyL48Q}k@vn&9du&~jdS|}<++3-tJ2zS z6<((KUd{|6d5&Pm{O}*{P=Q^suVxL5C+GrN%pYa9l&e_}f45V(d!Eg6Jjs5B)zy_n zp{4fUPse8o*cB>1JD7ZbgfsLXRCx!kpbx58Tr)Qh+p9YbYBFz1>`_-HI=3k`E9-dD zWluuhIUmQpB;$#nD46LU2qW#<@&jzwFe%7n(7*V>L!(PVB7;~_?uXM8Fg;xX1>Ndm zyz11-mF!R#Jf+o3aLvJI(Ind`;cM&cNRr;Z8rnK4m=(@ii}3nd^LgTh4h$9?S`sr{mH?*eYzRNa#h>zT3@H7yi&?t<3VnN!8LEwkWyUFFEC2GUUJs~ zK{im-FR&aADfI2x^zvM<72r+kSbn5vUqd8;x8$4|tDxs5tmYsFi!7C37`Ns}NkMc$ zTJII@B-O`_0SkU}NvoLO>OHdb#p9HBh35%;8U)We0!BxzE`b86a3=TXEQDKxuD2-i zwt+uv*T+I@q*z$hxTd5alyPuohOs2FO_p$CMARpi-(7;GUFv^#FnM%&iWG-?>pWKE ze_{%C3BpD_yif@9Yea)1{e^+Tzx>##zR%XnHj%Sc?U7)ey+F*gBsB_osM{;t^RDGZ z?j==nMSnAqv3_Fsfdi#6%oW={)}CgSv~eqtajD85PBQ%!>zaUQu;W8OVi34yX`&Dj zh2SYE0<+asd7t~`tk-BV44VP&ww;6}1NoBr;|!|(OJ`pLJ&NRLPIj;$rX`#u-mb1b z`u5q2{ijcU_s!1!+Sb`Q(|2oQ==P14^kujOhF7}l|86|`klQxHy6`#h*}PHy+ggEe90!;Ejaeu?W5Z89R|0 zb-7{T{m6i#g39R_AwT&Uy`V(Vh(QVY7RE)Gvv%U^UcW~NA^u>2&0i#?H^iE93WT?O z>pD*2>k@3-ah^c^5-{%3e~3yH3pl$F_(RZpi#!xYe-zJY_N6_R*J}f$?*PfD*gIdk zcR>m}ZLahl0ued@%!NJ$@6Io=d>X~(y ze@f+M3{8N|T|90}cspL7{B2mmtyScD13ADCDWDF|h(RW1_`x)uh(v}P4-G1F%E8ChaBp8J?t033_^lD96)`jKJI_p{D zgx;@L?yU5_g)O6Dc14TAnH$YLPUNd@lAg+e!g(UhiYAjF`9n?c0|sl!S&9jfT{KCS$>n z+%DHrv=)zW{9l!$pi1$YS!5o!4GGc~8Loibm=@zOYdT`_tvzYL&;m5PEocS#;LRo3 z*g-ZMlfN3>oG1PYG~=AH5p1Pc=XBH4sTIjgr5xk@C6dX(PIe)U5vQCHL80T<`5cUanjf3zn1;D9Sx%^vBbqWZ0JhG}>oQQ!%B8bMFBR z1buIZ2l*-X1QRHjN)m|kxtx(^*rQax5BFPpA%eSxts@WML8OgGnWPF5WOB_hx`*{* zlrm&9q2hR2REmj{;UYC~jwxSCm@E1L!oV^Ha@_fv`5LD2?;4<+SN=AYs+LD?UORGup=FSAduGm}@# ztp^^@6>Fsgqt#qxr4xp!wAe9`Gw8O&KJV`S@$}^{PH$sBT@IcYXt>1WYO}1ZqIUoG zo`q2JX!kF^Wbz9JT>nD;@O-gkWa3<`Aa-^yrx3=(?JBEJwe*oYnX&|g=CzXG~2A@|vnDB3hzt7D}NDZ3BpT(Ev%UjGQO34aO!vETIuow<{vD zxygm<+4usBRmpNRJF`*Q0kMT!m=A+&6KK%5Wht}g7hhig5`uEp^18VcHY(X1p+<@6 zf>E}A^`rsK9dC}{r^L^=qeRo``FFcG261sYIoo-EKKwnr2J3L~zaGA9%yJ;?q9b>L zaH+kwHkll}kFU-(I@4`-enLSiS&DH81m3^3cL$SU%=URAHLIA_(E+PmR|&e#)G9(a zm$0d50L1`jw~CF3scN5^E5OZCeIWmh`kqW4aE!PDgREx2K3XHU?=rjcQB%wBXVIs? zZXTJf@`AN+aUZYb+e`Y+-aJOC$YDxe-_@$ux4*9CeXGb`w~ivn+c8_=obHZMSvovL zh;`WP2wscqv3QMJP)_vHNB-jRR})L-hQKM1SL5mE;yqqhBwAg?3B8A#+fR1>z!QJ+ zA3SbgOW3*rj73lvyUg}2-(yaJDZDNyOE<2!Ym`JeJUF9}ruPt6r$R&XmKH0*3sE%f zs>^bE2+^_O(MoRz>pWDEi&L&kL3kM_!+*XUO@=-9WuEK!BCVY&Ia&UVHSLwaIy)SW zk8ws@T%Hw0#6qybV1E6j*OQRyTH4YkChL~-L^WAy0ZPR|BT^4|>9QB&Dh|*CMaf7Y zIPeqq%kWpX%48U_JvMxhO@oZ`l&~9e?`ABNsUJxx8duj5kMjDGIWBwXzj<~~FLB%e zBXNL%ppd1L_P}&02@lL}>EmnMyl_@3r&~U1#tOH1NE9As1}0tr8RV-YmT4UFEoXdU z7ABq>qfbnFZDU6UhS)cHC=@J~P=hofJ!HF`B$1CfoGyYU(1e2;nBN-lu8&00H}Nx? z&d;f6CE_L@H1u|K1ef^5*oeGp*AU4l^rmuYa6$8TZ;&;xcRZS4EQWd=2DyKT#r<$1 zm2ubP8v^7^d47(Oiq`KbIFt&1-vH@61(txR3GXDO~#RMWCXeRrocerT@ z1DP*Wd29qZB~SLXv3;0tI3aEX=KiP71q5dy&F{9XU*oe(2{TNdB99AN%hB^zxq=24 z87`S%GuTXavTouoi!?JFfPz<1-gD#-&eF#y+SvXZr@ghvmHl=EiOaP! zed}d!g1MCe@@O)4$}KlMxwv<7aa#}9HX!d2e&be5N=(%KE>bK)S+bC z`UGmVP>xO&vV!(O7);q%*$e-bp76;y);X?|sH9*LLN8RKRrX0tDP{2v0@YM0CeEg4 z#jvwn9)wsAzMExcfFA4@O%Ssdj3;wR{8!etMx0o=V-XDXgb}fWJGd=wh**XgHsi8v z$nY~nV3WTK`H0H!eDFxvjJemw@PPqDDKsjYCwP{*qZRrMOSWn%f|))Ya8IEzvg`Bf{(xuPt!8cghS$ zvsWN#IZzs~^Xlmw`nZ*g&5mu2+){`Owp&f%d9`-*u2u_mfYi)`YawTZaUUK`Fzz;% zhjJkG@#faEwH+=JxITci>#MS4#9>FlSWQ^z_xrP}Jlc5p?eADt?8gqc&xr>QSM|>r zT*sKm@GZ7sy8nFh+1fv4`0k&L5zIyCmPnzl6=)Y#1NqtYr4Om1TEa71)DER8+O23M z&_qV4$?q9hfWF-OZ9<>#;ZXs5dxtbB1ICcA+4JSBx71fM#{Tg^{!t}d25LkPI&O)6 zERl@a2b|x+xrfJCd!YrK6OP8kTwLd&_v|GuUby%@?MUtlXYa9f3!We2%7ll*i+9M( zza?Pl)Mf zHyaT#6Cng@Fn}Wi1$y$bWK6*59yVL#hPh`7E&GCOj3T+BtnZ_TD#9s#hf{vDJMwCQ zoV(I1(UG)2MjhL#2h7)r&2(%7 z8=Bg)YJ-r?dp~lXlHEbz@84Q*qx;`T!{r*8oXm(n?74kX{xZs_nsg%wg_3XCMZB?C zm=B=(3tmd{W_*I9`zj_gl{N$rvnJ>_YVOJ|gY1*I&6@gYbEWPiY?!t-Iy#9Cg-7la^~w#h znk?Qq^QfebrNvR*Hw>VTT1RhEJgiEbS;N&FE6T+*P})%I(BQzEY$Bn&4Rb=idsJp( z&T&xYYaNBFA=^grz`2dw&DAIcl*;#*6S4fxCkaRp_fAuy+Dx^w(I`cWs|(E2TFirI z>()r%8o2eVy$uePj z5s5V%$X^)S*v#h}{DMDMWDJFqk`X=ik7;m4lgoOF+jNLs-j_gQLckFU05553ABM;G8|m{niHV%#DbF9ViDZ@%#9pdj)Dmd(9sBv;e+?H z5cmG7B2Y~3X0srZ9xf^c-_Pleg^KZcRx4)I+jQT=KvNsVx-tVF@5pBH(8}03CV?$M zQP=yV0hdW!J3E44yfAGtiYX@w_Gl-zcjX0E=y#-O8WU2p5CsM_dq9ldM zK`F>G;Y6(8pHQ}9-T>{>(cxq)R+1bON_Ix&aIYdkv<*tQDJcEq`p&{z!RlTlcdb2Z6;b`7Td zi2n}Y0xLaA92_yNI6DGM45G&T_<1+enK7np6~p*TB}o%a7iXbza%)*C$51J9);7@* znAwaI{?Uttbf9zwdc0*!X;LvCDF>O1lWYccN|oT80`Ng3ekrc~sc{OZ=&^(^DI-I23>fT`HwC1G#@Rb-F3cVkI0q*J$yVrs zV(Kui+%hLn6HYijTH#P~{n_nI7pf|W5--sPTo1er6F2cRa)kA@vK8lwyrd&5TOjgtKsm3RoU9 zpff%+3|72FK8P7RWR3K6yVv?~!D$*p z|EFCYEvEf6b*~U6@jDD;)0`18NKI4#xu(134Eeli|-Kxie3UdEDd+3 z8kzC#*0uidpc! zi{3nQ--y^=DbTTuyc+bsJ)^6MkWjnhE(0mKAGdjIIh0E{s6@sP_;ZB)8 z^-}~eVf{crcXtE9E$>tG66*uq&-l4|84Z5AUS@kVWFU;Co~57F#a7}y)06#Ldmj^H z|B`Vrn%T}k(|v*%ngw7}Hk=% zD%9iQa6@_ThLQNj?Hia3H+s7_fX$7Uy&Kkx)i0(uZuD=p0r2><0*nJdm9kDm0T#t) zwc5L3Vrcc((*_C#ZYB;jfCfUL&N>92Zvfd< z#GYb8X_`q85@#33gZ>R9TuEiv0~8?UN$c|sUVz42h@mppC$BwZd*A6k(7~d0Wrq=h z97=Qm#rldMrm<4i#Korv=Ywp_uv+9&t;K+NCke3JoM>85IrWXx1aDVbPAL2IvF=F1U*40&AoZ`botSq z7hkjDyV8Afb~HkUyRk&Ew}g3bgGaE~u?TXLj!43!m2OZJN?b2Bm6d{ra{u6LIuc6& z>Ln|2EkfaEKQ`vu|UYRh}rK6YntU4%%arDT_M8uXv> z#Pgejw>a~B(ZePUp6(%z(fF$;81xtiB%x1JUo{$qV&vxUD?k$~RReg*p(K09r)Jfl zQ>vn`qG-%Hz~yFYiZ5u10(fSzsKJpo88bezH^ee#s`n^%{A4saU#i>o1eu5$%7BY` zr)05-SB_h$69#>k>DdS!oWSjW^d9yngbdOG*g1bAb{pFE$tsXOawsEzO`(txt{%B0 zIY7V6T5+QhTh32VM9++=r4Er@7@A z@_XdPeT6eQHJv$v-iG_avV>>wn1scvbKRDuM&X5sXVYC`F0g!-su6V%^h|?NH(3!r z73ApU_{<-qaJ)yeHcVF-BHP-p_xdbK#)%5DQrZ_C!OeM{5G z&Y?h{%RdtW_+I#+!%>=T{W>Wal}^Srt2cMjZ~LKuMu2@sJFvUwtPt~7TTi3-h$tSJ z)+d8CUV@qQ-3%|gOo2vC?;5$$&Q7}|4O!Yk#w&C$q(P(YkLyY?P#J-|NBLm6r5B6F z;4`DMn)I!kOCJ^@;@lfCZtcscd438UdW#JZUv`shqP)}sz`8Al|LU#@qhg|;dM3&R zy|4GhTTrdiE#;$DXwtbYtR-{UeDXa&7axUQz^?<@h157ZqsKm~y>WG%i|0JG zP|L;{0=R9PGgNu2V?Vx+XxV z9X<%DFwy7j`33e_@7z_VqK(#8w(}PikVn#&^<<8&?V?V&&*twE$?EWv`mZo9S4sx) z3=UeH8Ip8);klaUs)~YpNI-J|a>k2!H6Ke1B9u#gO~waT+`f2!0(ZykxL8WA!- z91hPpbHyk!>SCdok8$K$Cm$pqCtgc7O_fw6xS}~@{Mm@QAXCFKKHkw1CO?@0Sh>&8 z#&fKU^E|kH?==#(6qRaQ2#YL=<84e}sc#EFo6yygJx%-=UmY{;wUCK%e~J44XfrY! z1_&0TjaY_o*Cf|XNlx*Ln(;|w@BnL^OXA}}E`ntn4nI>P-i zQdB46(i?fTHJn0PBePh}J6hU5WmL*&knuPL(#~Xr)R8=NCvjwoO-75N1Xfv44W~$M zUf>`{xyx7C?5WKZOdRsE3dUw%9|y5>j#qXz2`I$UNOj<=vu`Tb3(8iD$}R~NIvrjd z>_bK!(CZ((adWr-ikA^0a!qoCsv9eIPwkW-)k*vJfBu3h(Xcb(8{u(ZYPtNTI&*dxu8d$${;7M;Ai&(%F zb07$izs)$&2OMmejR>Cd@@T@T>E$b44NfeoAr!ZO6GZA(?aeaa&!#b zuHz&U#UF$k{s8*=0hRtO>{$AHa61;qcG|>xrU#k1>A&<=uzp*PPPW0}QDw0joxLd4nV{sL8jzhKJ zAt(_;0KRKV$f2Gv)bL?Uw^u`y}iGW4!&bN z749k14Bh*BfxPi_$#Re;P9e>!oN=vJ;PI&9n7!~W0&b6>IROs()I;<2cG^I)xV-d{q`k?D8Ipx?hOFA$PC#T`V%0{?{!x*Y1jIIG(zVsUGhZgW6{ ztu`dtc_*u<6#tfj*H@7uB(t+_Ae*k3w{cO)O<9tKt)G2Ze!z=L`pOGfne^2<%y_Q7 z7Qh#^mLDhxyKPyr1Is*kX1nq@{Lq)Tvb7ybJT=s}B+7^iY^lA{zkgd^Gr1!uSn@k| z^PCZt>SXy?{|CqCO1t}N0-w1#*Ox|v?{Ae_ALkswXJ9z49k3w_pBz|^3HsDQmsum3 z2?Bf(vx1NrWpdQ$qladO@F$iRc*&FU<73XUW#otS4IDfchKDQaC7c*|rtzmJ;?X6x z`64ZH>GTYD&*Jm+%@7K3_`~oJm#5N2vizE31p9FN0`mtY`sZ)XS8v~*@)4d~oIs@y zAItmM#_r{0q=qhelMqP{x|YKthQL^Q$Cs2G*P4jH1$~ASJIg~%bmEkaI~ee>I~E7H z-yXKIxCICOHz!bXB)d+cC}p2tA-muA4BUD52I)J%?*xnAIFvE?>=@T56qd702m2Zn z!BOBlLWch$40Tb^OE^)q^iKbW@FoVwQxLUx9A_F2(RHMC;kkf}D5xkn(Lm0u?86?` zb=b6y1qkP~KOV;MWC@2V)ZHUBvtT|DnFf(D-<%oH?A46;FoLe{-TlpPt}AMXXr?Eo zj1nnlMxmTYsS%M`US1l31$46LS<0uwVNQi=`Gw6bYEcTKodJ{KFi3}bh?(UE}Kty=aJBgtH52Yj*zFSR{#I}iJT5+h4 z64}{JM$(sPx^7kFc{)bg{vi*|oV?$l2Xc6Xwa6u}ph#RU@!+Leqd2#NXsJPrbykfm z(N+qDs5Wu|;+H1lb=w`y36<)eW~4%bn8O*u0$mKD-pyQnz%=uQWO^D6(WqL2$D& zQz05FQn!M2m7xj_st4u}Kwm+0f3Lh=fY(`)O$N7i6z&hdy>q?C=z9vv8MAs9d)wf9_zywFLAj}??2cZyT7gta}h-3oWmwF;T7V;Mii~|S#PO# z3ADr;b|981-RoV>ttdthN@Eq9gTBHXX(zS~9>|_84GLRNSV7jdYMF!X(w7G7$Y-#Q z^<3nm8(Rnm3OV)p=d!+);zUYTwV}u2%>UXkc^#~>s04CNI7KY)3*K-AH^0=E1bG_0 zYZ8QfZ1eI1WDUl>Sj`Ul_urg6=&w{Z)9R{Tr?4}D_ZX(_L)cDJocwwX$V8wph41x+1nHEypcxm1kWwOubE{oO z=`%6~CofI_!w#`xuorLX+6Xg2JYe=gS<)AxwX4M&Q5QP|m*^X&P6%^f2hRZPx@fXz zx$;`iPkFnkvNY|lb97(~$iD_rxF{@K=-sQJ(jwKoYD86>_TW9q&XuirC>j_RFIso+ z(UYx>^_@*zzqY;cVr^>;KSkJKm4UkZ`}n@UztX?GvT_^S2IEVdD4pKMB~Z83oiEn# z3JP=mBcp;P$iZY)p&RS%?>~O>bc5am*ml3tsd{mGz9CIa-%n+6!il_pG{PiAYfa#X zcx#eH=EL#TV9oE;r z7)utJIk$>!<|mC!2`fihy`0@-bLhc2i?5d8_x!JOA<5 zE^Dtyh(<5VRgu{Q*=kJiAWNqXExzj!3?g&FyQG3Z0h8%U0Ua#T9C(}UEe;O=<5qdv zeomf?Y$yE6Q48vz0ncz@4_-d7-EA^|vGja)@I&l;b7X8GogDg66LwsHSzabxC{U79 zOME{uzWP4G55($k=?Z*%Q#ya4&I*5%zR zO`I{LVsjlnvUBErpk6?~@OhT#afVYSg^^Rh0C;dI%4n~aPPw`B6s>QIH*E`@Nyo#N z9~_>H&xX=F{a$#903t?Bd_JwfvLQ>OZT%2G0l8&u5CR7>&zYn7r%? z`T;wetR!}l?*QCUdj!ZvA06$V#qZk;Mn43B++(Nhrz*74gJ{RCne zcI;h_ZNuAPexLzL@2X#`K*Ihu<^ggj2kPu-o@<>ae!C zvUI8*@TZKtc)*SHN%`SxHa}IDf>KM;f1UE2Y9boh0_e(yIfgol zw87QO<>+%9KieCf?TfPo6BOld;n3=Y4sW2!|6cShA;Va%YhV)>*a4`e%VfyuP`@=o z({A3s7{l+vfhY=b^eMQs13>ne$kj!(?esOP0s!$fW1OsnveYNc2oQS)R}ER#<#Y2u z|Ljm@-*NiTP~7$L87|tzN*vw-hcz!O*UK#&$1B?>dlt285!foRG*f|naky2uZuuH> z82?)Kq(5f6-|~wr?7=8aRYy>)K#ybKoc?DEUXk6**h{g=oPBK?6M_)5nr|QXdjp)^ znohA*%=};OAVm5CH#wjyHpa)>ZxAPSh!8Hbe*9>YEV&_<<&aPkBNlV9N`GCMVWoGU zaRhQLt^8P(mNd(XD_?~c{V1GzEo?QbmEPbzR`F-!oA+-^bJ#3Lpd&Bm78LyV%RmGD zHsrA@&_`uCq;#fReP$fY!mkKipY3!6-pNN3y_GRlPmBcM1Uj`J$Iztc#Xfgi%uJr- zpHkgHArxl#z6gfN*Lm1gpv0dya0^hfgY5?+Br${%7*O;lddp_RA}mmlctIk5!ru5G zwue2*Uas@a;?v?IsOzI_Gqtf~myspc@RCYI5JRB!vHL`~77gTJ#A4bNG#6eP=V#s+ z?4aulup)%M@~_J;=jH&7akrVL7HGmGipVsW8BV0wqa)zf8IpVB1A|wLZaEclMN`lK zJNsNR$%4%3A`5@`@z{JBbwb*!%`Lc}A24Ab(%JLypkmwVK4{qBwPdb6pTF0ogSkJM zVs~?U|MA+hCr|&7*?9dBi0jx<`~1JWf7^v3y`1ml-?udeajdNtbpB$W@a|uvM%O@l^&jifFUhDZ0uOf(d!Kw-& zYfvVX{73Dm9pVQA$ypF)0@AsJ8-0Ig^97^`R*W+W>_6Px+1Y%Ca@l3FHK1ot9-+X! zZa@L#i@MCi&8p3ILBlc=wmRYqkRTtO>m+ys9}4mskGigAm6;?!x!wmB?kV|TT#GJwdI<3* z0J@_K;HfA!8ZQ9^fSp+pYK=>ivW zCU+{7kk!N}k%*MYQOk%RhKL~EEd@7E>Y?R(d&j8mOjc+Km0DHv7+xv8@KBZ*Of|6F zfJ{5u1QSs+q$Qg)Ih9Bd7;H@NijxkCHP>u9MrBL%T}VC?eJHQHd*dZ8)Y7(v9$h3*I1ywBU2?8p`7|xA&@yWNAtdFA%`@x_1z% z$8`jI(sfSr@!1KolwF>m%Tcc0J6f%m%qD<3A_{a(0!4nS_j-IG?~O%(jkhhQyMvL^@U7VnS;`e4vuRXxo^Zy3070HMS0DB zgTXYcO}1^ZA?;;!cjhz6W}n`gdv@yXSu4GJ$2_tL>aIg_4}mDj^xZ$Vb*7~!TQHM+ z#?WNS=1XQlRl)toXn_e72-S%btwj&ra^8{K5i?cqj9bDk5ka^iF<#r|54Xq;ZcRDXpm zjAzOgJsbfz=#>}+t`XBAxn+gkTzJ|z}(v!zf%g$kS2izqzBx`(=kq0 z*Vh~+fl+UUCnI1}FHM@h8DHYAOYOP~CSF(|GC`ySLk}n?_=Xapt^qC*8(X)(ct0b2^J8bhupg4{#1igGGGCmrfD%5x|koTLa42R z#!fRSrzg7rLm0A1#1LLA4*#39SQXh$BW_1Ce+21)1L=Hy18biFJlt1R(v}0>CI+!(11uclvut2+vL_9D$0&2_D1Y888#) ze90qKk4F=n1;7wSvqb?M#`Ebbb0cor%%(QbFO;kG!!)cs36D84+pY_@ny!E*pa#Fi zEJ3^xyIa6UH+-+W=o=?7@XT3pLGCqj>pTUa0(+6k4S=6HN{ufdwhadN#N#R8IW?p| zHs6FmMWY-u1LGHfm999I!KBzul7GaVG?Qfk7sV5mvHfiG>H(?!WrLFrS0^>{6~bEZP@eWU!&BYWG)$_oYPuh|__KLX5C_u+pT1GaLEj5so6U z{bC-Wl+3Q`wPI=?xenq)u;YMo6+Au}zLoQrJfaJKF$b5B&IIN|ra=;A9?B;k+LC=` zHi4_cv^-4%5lQ}xgL(4Y;IqkC67>;`#wX^jklRy8nap_xVxk*4e%Op%xn z8154s#bn#~c{)0>U$~3)jl5OcCG`QN0;S#GQah)|JLTgqUlz7TjhF0jP}}?jcvUUm zEfKj_K7KJ5uh>}mH0b@u5}&&@_PDDjlOrE7TovHolQc>$V%c#rIvq)dC?&jo zSnmC@rMFrb?J0^K?JYnBBnp8@=RHqlpOAE2`m-Pjyd^(vCSB9x(%LOtK2)H(-1`D2 zeO6YIbA=S$W|CJ73=o1j%M+qxZc#dFj4WfT+m6dBi0Y{9pM0RumZI#J zRe75j)w1h8%z~mnC@R1s*$g&o1R1A>O^2?n{amfBM4C-Oe>^GJkAJt8)n3QfZi(GYIa)fx-BK z-coLf4|hV}7NQrh9}{LvJ6+rQgRwTzommkOSFj;%nJcy_i}BbYnuzm>x(b%_iTMVL z%6Z#i5wAy*{34v{zQFP^<4b~}xt#M3QLL*bupWT|ZYwKPa9IVfm@`*}m548sU?wio z|HQRMADRUt@J1W4!6e0Njg8Qjw43!@%Mg%aWT~!MMA{@5yzR$1mE11QItXOMSf-nj zugN~3SEyIb#*cy5t)Cc**-F_okO1uT8u4rGE<(-|7@*0qG2y*eVOM<46Yy?iAVowA z1Zex4;=4FQeCxW5j_5Z)bAvT03J^(G- zR0gqbDvUtTPjgG}II%Rpf_w)hq;j5HfihaeU7Go+bGlis;}70Z!+?lGYgORm7|U<^GqNG9VfSu>O6V%mv()zQmMUHZW=y zAc6m<$dJKA_4~Jxb3nV6m_U~t$N`0rXco|>ycVX4@#ykbJ%qjeStd>k=;PO4S)9_B zuj1#t<~l0PK*41~|9(eZ(F>FW8Kbt67d-p${o2Xswd9jPje4r5;TLN}ud5DXDpkNn zX|4m}5r&+bQp4HE3G2p`5Edg}k4ux|ag+GldTJ6&IF>fLz($rE~*} zUY^P3h-}Z3NJ=BD!$FFF;7J5ohug#bFxv0}yB|HIchOHWH~2C&iS#@t&!IuL@K(TK z%f(AW9wr6Nm)Js5K)TDNq)?*|bJk{_>deTh#)Ht zZKV<9q4};{U#Qabr>6Ee_SL!zM(kKQ)w>(WOr-$ei4WJ#ju_*j!VOTBvASU41{iV< zH_L=`$j3}Pq7qDKf)gkRwSp;K_g_o5_=Xj8tyj)^KGEIi(BJvf#E@?`AfRrAjhjk&B zJqn%MZ2TqDOuQ?4U$jUf!xy|H=ByM1K2--_BN%bp(!tJ>)gQm0fbV0JI4vwH@tZao-8`k;Xe8 z1=(c9z)FW3GA%4>3O3XtlPV1;UDq+YRkZSsq+GtWQbDMk5Nj>tm=@^8*8Yd%r^}r8 zqai|j*b(WryzEeSq2RY7~U?!Ddf(M3=UHVcGfYIs)QyB#nzR3 zp=&eKz!vYEe&A90z*Txa^yIyUVWhLJQx~&G$=@x4S+@f(E;)2sLF>!YFF?OUD|sXPw%) zSl5xGE$YSO{@JUi7(6kn2vgQhsT5olnX-a#LlF!n#|OF!|L;abD1YiC3^_F!?EuY8 z#%eSWx>P;+=VP>?szN4j<0?r<8Ix!!bB1*`>{YSYQP?sg+MPSz-u(O`>j>eox$Ujm#QrpmI${8H^{ zh64-;X08L{sFQ72;K&@WteS$)tpdqU}1RF-yr5)zY_oh0fsFR^f(*}cdDL!TNX??=%p*Qd%_Wy88m zD1&^PG}7F;raw9shi$du>gBdN86s_UnGsYKjVmLtG)|{McNL~d21fXYV!#=Pzgha4 zGVk5~7j@qLKed5RL<)l=X4+@3e(20f^53L z-T)m;2WLIT_pY8UX&p7n*j4ky@#g|6CZwA$ErQG+?kGRE{G!4zIettGWpgns8tpOe zu_6(KXboS7vxf|dl!L`ByLpsOxg|q7fvfNb6G22*&No3tkS1sB@8nX2#31^a%7O@s z#341MSSv|0=1O(LcI03qy?U$o6PW4&bv4t*O`XitA`TLjKp9X;_F;6wqere;L5pHe z1#P6HbVzlkq}n$9+1h!mMWBYITG?a)(7_y#KG+hh0eiEmn3 zgzd`IBpO@+ayT^GVdFPz3d1S#Br9&~K8&nvFW9&Nitf_wQ`f?%%z)g&(q#lAF#~eD z&5OmAX`*`tpYA3X)H)5ceIX90inx8oZ+H>$w-^XApNVmV@}0fDcw@((lvbb-MV@jV z2bKnbiWRNt5g;Agp<0#=iXYrs;5KSa*D6qit!~9Gzm5~b8<&}jKrFz9Y9X$ITJV~p z9ir33R@t&IBF%hBI~NZn5Yt;mzm+0&0pG?%M2F1p=H7cj!z2Vv?HM(bcz1GxW{|d( zsT!t@*n2ABR7u7cFfbWe`rhDQ?|akPy~y0q4jKb^17Y{2ED3=N7aQnAfsk&9IEKMb z0uBxMmeYdn{I7ebqeyk5v}}6)*@!nNOUrobmc1UAOdX}PX=QOxm;%#^)G8|-Vad%$ zoXEWx9i}_B@@xm0D@S96kQRYbIV=!cqN2(4{hHit^G$^1D(fm|_P^@i)bHO7CusKI zr1;wNugEvRt9|pB-~q0|x_OQ3ZzP~OM_&1MJnZ94B)pYY9Q=B_&^tahx13HuqfEaM}=c4B>zN*Z+DZ zTL1Z9{~Q0Fj~_CY{^x)F|6r`*&ws0b{vZAG-|3(KQ~&&r`se@EKmV$K{^x}7qcP5_ zldM-o`!Ckc9PIz{-)oceI`J1p?JtVy}@WEwxBu zLxKE*gZx1smyd+j@m5KX%K=4DHB=rF1=d+FY{yvm3bIRmEJ&Tvw8$7}LJPsIc_!G9 zW?1LnV2Y5xdd@1!@GSijXE`YBgQEBOWf_LX8mNMK10I9vME9=@>|Nm-+1HI{;R|_^ z<0u^P#=-481rNNua)?E|acF{TQnM|xc3+AoLe-a-bUbaNgG(FK&(=Bm^ZVg@Y(N<- zI4kqFW-Dm_uI{eiLC*fz%IzJE;eb9v76?liAu0Wj$0sLaq?Uc%GYqf|2O+xGr$^p5 zrTcq$*kjLe-1GR@obtKFWR;P*m&}fowz4nby^7b3xxt~88N~Uqz)nP;U6M8o-~5oj z@0!R-_vp8P#~F9CsS1+DcobV%)*1BHN5!p|HdgWNl$NA6!U^4V)sEK93h=jy2c{&6 zgQh`OSX{!^DxWw(8e9u-Fyt2l=d;AbU6m#Ukc4UjSoB|)giLsvB^DUUsPqNkzeNEe z9ikM`zG78|2^>>b0W4-G8?BLaPaMDnDF5zqS8j?a}_$liz)_Ln(zFGFbNhZ|wiW z#vgcg+_pZNvN#VGO+BfGVz;F)yEdWi#9#}hsej$`0$H!dPHLkS=3&(NNu+&g>rsQH zpn+*`?}>$^ti66c8NNpT7|L)HvP-XrXBx0F$B5foKN(LiC)hNK8kxZs@4&aIfDA|r z$s8dn$2?*wQO$#90`5)5XVaJVQAzSe>1Sqfc;66VhoJhSX|nZ5ql%Amo3=wDdph2{ zs2F|5#Xm(SW~bgy>1exRQRd}!O%TegYG4rims60&YR*pxn)V=S@B+Lt*(xI)#zsiy z6zk07-eKA0_OegT<`hN1n>dSFf&Q2S^^$EMi-LaAn|>*x_IVD)Kkkgrx8f}Bj6%=! ztobZBPwixSXBohl-`2zN#l`q^(Q@<9QfP}{Hn$8Y#WD(U9!-JQVg;q6Gm2_N+)g@y zOzQI7f!vtQV-C0v=wkS#&CRb~jZcmq@Gb)e2xV-W<&024|ABBQ^>bI7fGICD$eU$x z$nw-A9CH~~_IX{mPf{s%ATOsbp!B_jVrLwHN@-C0WUpl)0*#U-XU@wn?EIS5^)wcP7dHS`H{49LrZGw%-idj4S`AN98NH?VX zl%|*?H7XVzZtY`RC)=FOAKFEi#|w4P3x8zy>T!eRn$!@EYBdbzUAJ))g&X)H zbWr`WfTiWA6;d%k(-$f4O|CdF)n$?GMmDxN$L9d5DxmdirXuWnW16`(H?^cmUSd}H zSJPl#$Vk;z3#D zbBH0|{G~AhTWkA<5$*aEtlp@HO5GoI+~{s#NaU)@-VAH4Hbk?9eEo^$RsC+^NkK-bacCM^P4Mc*X)>_&DU9NxL-DriO}zK6 z#EYx;BPzDdoZMLNo;s-qh236vr1;qEPw_eHR`LD=dRNr%?qpGHW?$8?(zQqQF<+2m zeam07Px}Yk+hl%B`-CvtSV76=Lbag6?w{{i za90A+>XH|D(M>yZ=Jae;(qksMmEOh==Qyy0{DZijl3R8IZ$dHfC*30H`6Js$PASzC zX17`|NO=2s6`H^B{1I)dC=yP%q!v*S54s%Amguy91y1p2HKRm--De(f{*Xa=Uc4OI^yJNpL*X;os0A*}NA;4k5 zF}@9#j>{5*KTpk@#IZ>hJnu1mfJ6 zZ3_u#YHrhz6eKc{*A=hBwY#-RPrbKUKA@cL7fqECT1N*;<3g*p@>X`(H*5v)4-DbF zq>u#CyM-uHOso1#F$lbRz5-L+M_;tS@C)1^EqO7C03~&f+?rh!XZR7Jlx#dlRRAq7 zSDzVL&+Xm9#{C`vjMET zEqA%LH!+_;$vKx3DDkA;fmU*4-e57F!sQGE1CMz&KpSYD+Y&|X>1OmsCO>N=`{qiu zG|849Ah~kfR4Wxg5ZRBkVb9A#;42Ye+%zjKKR7r%9G+juUa@Anb>4xaH1CnO11E?j zG-Qu%;pAB`R7KXT_BKy_%3V_=VLIfdU2AJevvv985fSXtvya7D>>Km90<#i5ey5bI!8`3$%?3kjZ!e49KR6mi*u}1n(z5d z5wP)??a0@eGG+Q_2s?kt{GBnenaWfMk|n9bQ4vajiwS<{bU+j_BFUZMM2Mr~62HNc zWq(;6r=p~|swy0(ZYnDbs{oLGwGzFA%d=qs&7;#%Z#E$lD;w?9LTaC%p?#W^J47G- zxSdG?Q&n&>4zSa`{0tE@}<IbDa zE()64jwCf-vRLeO+%kS}cEqWRikwa=26%Pb`DOHrKml8BC1Uc}YlFh8;`!0f~{ zlv`V5LW&)N7;r*1wO>HXMoXyEii>l8jI-RuOo-7?J1;pftYeb7Ne$an#&2k9X(@})z23VHu^&W) zEDDd+XOwYl<+ zyaedlEUmm`RGlsMDs#r=-W2<37l)VFMKU=H>trD_!z&6Ornu>kvKf{VP%&zKwv@`b zRaUiFlL0K7nbA!*nz;n3%;r)-JE6=(QDronNQ#S@mOf4W{-4|mhQ<7x5oK60XQdY> z=4=a0OS1!>Kl;$&7Bf2E)UG<5w{j+W(@l$qJ<@)H%vt0>Em~;SCA(rmx zB#P}A@{215C4iWRM=~?vG-00NP;V`!890Q)Z0CTaxUbw|ElU{k5~<-b=Ph5i;3^_k zI>JF=p-c(PHWFFb1z9kk7~a8rd>xb+O}}G6@z(I4FGsl5S{I8SHeM5jfjn=md}(4) znJqJgO5QPiHf33KaH9Bx?d-SQz^t!&VMd)$P6tsN!UUk?v5VP+1{p2uxgteLb1&E( z()*Y;PFQ%dW*AKsZ2+)o1`nw?3UrmC+<5Asdn7;z~GX_{rMlG?i3 zkeq`>;Ig)*=h^S-HFbvw){4BX}WK5lzBSGUVgqG_xU)J;Y9gwpzMomG3s&T9m7(D z3svDvVOQaCzEbZkPAusgEFNa?ZOO42XkpueZ`tL_&zM2B=9!Q|ezG+F!9j4q_&(r8 zW-nZiQV#r1*CU-F^1On@HZwxXgEFK|q$Kt@JFpHHCG7BlZ=(U@Y{x-Z(t6-SED06r zUJ>znT(AJ_92Yv*d4$}@zxq>O`Id+p|VbXx(M^8=?sbwMo`slH8$eJ@iF-rzW7KMa1V=dNq8TPqx2w6&L0J3 z$RiCV$pB^vA*S?jOH;`T18j2P>c7{4*^==VeKA zpK~%UlDRm1vwQa?62FUVvpmEcd|qh7kN2`gvkjQ3CB58&lsU>;X(wfU&N<_$2)N>mTYAmIsjw)k`H1xg>@_viei)GsqY*&z35at}D1noe!+N#V@dliPCE{Ma6sxdM)S=ZQ;6 ze!?-!=23pImfXtE4TD-v+18-~m4nds!=&iF=7!ZQxJ3j)?V-)#-fhB#8D%C2D#k*d z$9#QC8l_e0k(fNBO2YHZrZ-HC#!L-{GSK3U@K#M3# z9nUsF?Pcy@g=p8#JI7Q-RowN<*}zMJI(ygIF}>IszQb!=z3{Ayw~y>($>x6Rcw$FIO~WhLRc z#?16GVe40OlW`sgwqw{5>5=*FLn8V9qIoZA^Fb|KN+9ds$~vgt%F0(j2vB^5`Oido zx){=R5LKnzH8AbTizm#fa*VshZuPb=;7UC`Kz6nA3xsRZa#_$K<1#(Q5SMJRa`DQh zoLNX&Ssy7kp0ZD{{E)2R@B(S;QBOTW4RbgTqFitZMkyvcDl$ov0Om|>NM*Fl%xl%+ zPVy6kg`*1n)#&VKkdXxX%%FjnMn}lR;8_hgZ)*RQ)UH~|<5IEjmXGPvLZilFy5& zMQ8a)^Z_;mw(nDmq9>yc_B0UQb$JFpLZq)m=St9uU#*ksK`WM6Wox>&3x*ukmU>tl zb|I8uKwXfwf?z6uWpvGG_fFLP=Oq<#e@haI^|VjI5ce?lhG*l;*Ka}`PJ06bi5s;b zCvh$y3yFYnjIK1=bVpm;ppT{^Gjx)+oFU1kuvkKXQ8PZGnsXTHL(l4EjGw(FS7nb~ zz+q8ki~zQWX(2$DQDPFj%w@fy4eL@<|oj8 zzUr=|iYq||yz8e9(ioaTE+dmlxHghtm>ulu zw={;nv;>KiDpzc)q!&^fE$~_+J;X3{dWNOu6#gt3Z@OXH0v2d0O+I$6DFNr$nTBdh z5;L=nbjYiQ?{M3MZf4dZ7){Q--Sg}x8}|)M?`mtlJF=uws0f! z^2^Vc(w3I&{7N18$Q0i64UWGaOmJgzw&T>U*|%jS0AGvz%~ZL*pbXGo-iMlyU~Yra zBwnidx3WenQ{nguEnAYg^1$#IC1lU3x3%$)-#*#ecm#ss^0nfV=Gk0(ich$Jp!oD; zdtY+r;nOeCn6J`B#c*||4z{J!F%!$gBV-FV%ZoSD!^udTCXRE44~%qb28-8Lz{fi`;AN`DSltC zxJ&l)e6z~Oq$dC*x^|>_fn~`f@qmJpDp8xV>^Zt%w6>Rqu~9rGcTNH<8{!efwlc7u zOnJ*fhvO3}yE*MKX`Z9`+(gK*@~PIWm#;>WfKd7-4n!oupn4Y(Jwk_B4Xo*DfEs$@ z)C4`=bwO`-poL5o8yOw)o^sPg+yS!JZrn!(OH5ME+d+T*;7syD4=)gX=lrTx&F}{v z1?$1vuRa6kp4C<7P~js#keyjk#c73-uMGao7bEzD_H`=qZLAYC6td-3$*XC9Cx3X4d*-T z&Oh;YU}OBNb(XAXad2Z$y3V*@#ao%TAClKnpg|-odJ4NsvVD9;NOs!t%~u{P5G3>n zECf9rlxY%kRUfVMUd`g8dJFT5NohLFoDn42sW~MOnvv0C--;#~0mBl+niU*_sNP zG>HzXBydKQ09q5h{17b`423$p(?{1HWGO`^u?-4nY-d)cV7t0NwpUs8IJPOP1#?j& z%RZn}A$k?^U6f9Aj)Rm&I$q1(yg$i6Y9F)4(s&5PC7hv!(eoO@9BaN)665I>R}t{* zjq6cA>5Qy1)y~j(=T3d;H(B-9s9jVl^mx3zCsvY}R0k*6GdOyW*esmLor+QAMYD!1 zdv-~^G~UHnl1}qcGF1+`K$SZ;B`g)UV{AmUs78M5!W4e34!qjC6XY+Q!liMNAl97y z2|BA27$F)=H?we8Ys41lt&Ex-JxDz)#uD=;2qgA_NV~)!xjjcx;7)XfPo+A>hyTE`ST$d(>J;0|(92(kT@jWfu*omjvlEHlW#@^bBX4T~iwIiC zOUs<|BXkL~L`g@EHlY5dkf@t=JIsuNHgOb<>Uu>H2$&|C3S+>U_V}4h#FzINEk6K@ z9pDaX!)jK&Qo>aW?%aS-AYwTjnT%_i4q7NfObrJL*`g=0RA}wX&w`U0?is=np(eW= zG2l4keFD$dp#LLxX*LeCuvw zW*%87Ghqrte?jADdGTmN*DE>$5~V?`GDCN*9Ov!=bqpZ^&(`7E|28AU(CgNIKx*5v zC^V>SJuT46IGpT}5Nqk}b59SD`~Q)BkwG0$ByHex<|)88{RP1tkF)StZ^_Z5`Ys17 zs<|5SqJA>fpKWmo-mJS8Ag*BJ*g%MdqrXKzyM3dtG67M~m&I(GCa&Ha>s^CBS(-{& zb94>1!>OgnqVsEJx~)(?M)PvSyy;x1CWdZy*?FkyvcJxgj5fRMrO=rF{Ln7X6Dc-3 zTKnv6=V+upw=m@P`?K-+bTl1k#FWqsnkOAN9(ru2+Nr8~v>3zFRGI~6LzW1CdM)t* z_IHhoU*e9DY^ydImjQEmthOA`)=K2l0#430Aw+CfzIxYDU}`n?}msrcOszh*YWd} z14qo)o8C};xVGiO5wFD)+%8_}J7Fk+4@(xHWcGBC~cp*79g_hB3Pnl~fIN}u=n z2!o}s#paq5s<#3tD=RA~Zl>918Nk}76tz%k7fl-`To|%DgysEn`lus43ZfBLfrz{o zV_rfoz4%R>ssbot^Kn~OKi?Kn9e%3YD~)ZlYR9Z8!ofY&;Z=uZreZ@U!;X33$8|T= zXf&t8jN|<^&<0fC@&B{;F3^!4*Lh$M9~K3P5>KMBrAUtd0WsSd8IFKa3qUu3CV_6KyD<-u^va>-HFwOlyh)VD@hawFcJ19GXR~W(O((HUiCRf^ zvU{i}F1L5}^0o-Z3u06{7jmUYJV$i=SvaYbwgW7x|1~e-ZPY}HSZM(f zk&csZ(6fpNmB^+A&+jf0?(3J#Qu@9u#uC3?0;+>B7*&`Fvq&dMb~x1c#<38A6{Ex;8b*_1nFxwf_OQPe8_p`V+AF4QW_}kDvYh$3< zIzce?pn5Hws!&HX^WBEE<=$ls{ZhT_o249jZfOS!IXe=fA#1gwg@*4@7q^`(j5 z{l@v*#&UIShesr*RK_y#(?l9alLdR1$8P%?tV2t?&B5%V;NZZySYBhtL&NG$hX;&B z$#W1$6PJw!TXC$cZ*7ztx$Kj<#ix#Rouyml23+GdL-3?F&ecMTu#i|*cU;UVm+%QP zqstJ}muIY9GV;4a&k>v?0&E%~+1zkzwCRe@>ne*}kltNBVWoS-5e&6huRnDd3&%aE z<(zzto1SwkGr8PoJS9$h^oAAxxm$4IQ$h3^IPf_#cpOLtQ1)L0J3LTXU=lrdKJ-(} zyHAuldB;6*y-vnzLCyqn={1IvdAvsVWbZY~=BeKSe%l=PQ(PH;*4Vg6sVP2TM;7dH zJEvb=$hV35!bd3;hU$#t%oIL`WZ|4Y|<|MuCY=6tP{oR&KCY z*AaMrn};{mZ&D@jz<`nMM2Z~q7v2rlip}l1Tu-|fCs>u|k#QUurM}d}K_5eDSgj&q zf1DcY`W+I<%CDr6+dyeP~-*<$>dj=;c3M9vjn z)=6F$()>6^;D2d7vJ5buF`{l zb=eBcAhN_U(vbkx61|%WQ&wbYIh%hp|5yR{tc_1S3JILeExd2Be)++(M{;Ke7VA&t z&Yn87h}V(!@atmssg5HsH>SWjKlPsT)ARX}I6#6R(DYKtGG_og#RI@r8Ky|jCAa)PYcEqGS?IgHqVp9l=eTZ^SRXh_fDX(}t_Qmw6Rrc{&g76=4_BYf+nT50)uuvS~bc^+JRzFI5Ey_zfQ*f)Y13{>Fl zBiKQ#qd;{TdovX(v`fJXDs96JoK*FKdUdtIQ$ffKAM$#=x>820mm-dYuZRbuT$m8R zmQzCb4KB3X=S+!qL?%Hc#nRFS=44rf+ehLaUj^;a7K{xEUV=~^m6eU{B5|Mx6(4Vu zH_HvJfuMyF^)>*-7Eq_)*-1sayoxYu67Hfi5Q$!2?+l9Yw6B$yw;RZb-rOj!AYL)P zqa8;f95LiKAfvX*z+2i{3M_V#N4SIpZ5R^OnR0c#x*2T=NVK|LtCTUci^Qy01<9nw z$8l*1%MkO`>c&R(Dw_rqaZ#>itPixc&EwJ1auqfV(p)P@tQ>}|bSJH6e22wofpdsa6} z`pfC#dn}wNC7K=nsM2d-Ygm?TCG~69_cnx zAhOUJZ=>W&skU6LmmAlG7?Vp|D7VmNi8C+&=AC^sKQ(-b!7*d)fHfgMdv1CTg93X= zvy(#;onFbIi9FbBzomv}$1$3Cntq?vnMUuk6h=CRDOL~rEC-=6K8$^;mc^7hd7miS zZM&7aR7fd0l0SETH$)|mTvYFR9R3}c^Y_xbs$vQqeUx24HhJ#%Sd%QSZ<;*!dO>rL zOg;`FxznFpvZg$bfbz`BpZ~bTqfy7 za<08lCmOh=hjK+4N}V%$g-Qa|1qF6%Zh$~05M0!+-EF6Y=dR?baRM}CCc)Kis2u>A zDf^MiF@}F(#5I|sgmLIX+h^+{kf8Zc&six!g-f4AWVsmccd_B+DZi(MyEL$ufgJLy zy{5yUYg!|PFIYB&RqKqyyg9A8d{!*F&RnhGZ1P4WJkNIOaBoNb%);Tmj{4=`aDPYr z)KN*{`dI0fP7*w}e4*LOJi5PC-C#7vkX1SilQ2}Ef!7>Sv+xjBjB_F!UW918+9}-O zh?33Yc)fudt+#+(P@4PZEizpKcdFX;g_8xD_?=@)><`1pPZ--YhvyX)h4F z&L|V*T=9W{+0o(t{{Ba}Ty?dvp?;fogAFfQp#Xdh7h(M@h}Na#=vJ3O0nGu>qRsR< zWbwxJEwC;-!W5=hG`$NRXn^{z^CR$N$$e|)W0e6EN>*n)x4pWG<#SP=IHgg4QdzXY zg_b2FcT}fg`ycXupH&jUwg)Pn$t+aH%qfF^@&Hg0#{l zodJBCGDM)K!hjKU3QTDF!CCFPVrivX6MKtujA}*@tNZXUf4E_qX0tXOTiq%d{FOX% zv9_BSFjct9@m*yHU}KyKr-TABd<3SkT%&X&A_y<+li$tXs9h$L-705=Iuv9CbilO` zr!Gf4!kG4y>n@S=xk-KP5OI?y#FXPloGVBW#L-Per;Z}o);4{KU>319aKp{y6Mkcq z1g|lug5!;^xOAy2ALeih#4vM&Gs9V${g9T!_J_A|+UH^cv_H4j$rOm6Ethq z9P9#HGR1}f<(FmWC^Oq?%-Gid0Bx5h1E% zM+p*UQLQjO280+XnbPY-hsp3%8l>oZRx+j+M-%5O~=Z5Y2^u-K-v~9je; zq1l+3fC{cw!;}q#Vi((hE7D|SrjLiq7BpYo*oLR87$(Yg3%3=8k}VXONZtb3tzQJaJ*d( zSa7yOK{RW~fV}iqkGOKDUb5YQ(P~<_7hVLHSb}&xX{+SZ=IGFpj2wv!5p)tPNrsRL zdD{@%%2?rO^Ml+hLd*OPT}An18G}QwDNRKs0PEYyrR$6lJ5gMecMWi1bvqPw@Jrok z&9ryYB>K*J6}2y3>s?+rTpWV8L@IWk^hyBH!aeUoSx>^Hh!_>&HS7ZMKBH*c%w|i1 zTM`n$jyCQXq2IwNp*&M9WMJT`NC5k*R@#JQ9nmE@>|LI4adR{6Mu6;m+S(TzXihdT zFOiR|P|^Gj>10zlFrbQ@!*e$c%Vpe)%~AEQuogL^W^Nmcsm#9a1u>8PVu)M}3%uep zM8q%*5nxmHqA+4>%E$qO@3&a zVIwT-QY<@7nh_ECA-Bq4X;D>Z<`8k{%q2}~0kOgoR2)phf6sQg z6fs748;FU%hGV_#Aw~{SwQQG^xW4~VBc6os0fEljf zSdg+PhKsiW;L3exjKOg^8o{>Nm`e!jCW5zF`Q3zT9I5@2qKO<%0*+*Cfv<`&xW?t8 z5;~1dM0_`c)l7EB0W~Y1BDUk4C}KaEjZ zc7AUAs~|C3#6hdW*FKQGs+jBCq?FD zsF+T`(#zdW+@Xk9zP1R2=_+|08sP)WvB@HM67pN}vG5F<;250kus?`gT5H03?Np#k zL|g7U)@Fu9qCy~4Yh`?51~5)Pu8-*TV}3Am9S06p*6CXY5;I{1R)V;R8+Y9JD$f9- zKd3XF^ohhs@a7u*8d{@H+C^+j(CGbvJ!KT0h@im5-BzKowB`a5x4;Ht##>YCsvvGe z;nXTuR)wY%YteD4OUmY)1!EVRhDb5JPX_IG**dRU5~d%sJHK6Q%{w+Gx{Ua1h_D{04Cay4QL$4f#dx?r_r zU&pXj#q&o+NV8l{TWFp^YsJjpGD|p#H_v9KV$Bf8x24Y43Z`|hAbu%8N3Dq>7t^WT z!0^=XrfrOBv=qbN#=-8c#9eHCI%V$q=4!Qa9mh=&M5cmm27B;i(KUK6wjW_tU9`>l zj%CrUQHl?{Ve zW#5Uxnb3-CKsN&Pugg{7tm(3H`rJz(AD(@SkWVREDV4ChyhMv4Dx-!+9G%3&Yh7#9g-jB%(K1Ykj11Tz^0T zb#U?BO|}>ky6ur1T_Bpa*f+*R8lm;x?tY2e{9tpfk^*N>e`}^~aMeg_o&A+`Xoyvd zK*iP7jqN%%j{F>6^DH-~C;B8{z#Pn4$v=-;7ZeBoCdsv#^M;`5WW(V z!TQoxxq!2v#p>01;Yy>or>9Uid>5s(SBEnsN)=-mZ#6xpZxNr*&rTL_eDl%SAzB~xt%#i`E!V-FMU1fokrf3Gg4dmf zrjZl-@5|*7+ND&gJO$sA+U8S2GyLuA>v;+eM2+iD)vjG>JhfD*m!Dd>z6R1hg*~9{ zYe%{tIPz4k`++VfM7b4??;~e(UCS$_BWI6v9Mye^+NLn{UzzDih3Gtj@Zqk5bK;$@ z)3|dB(Vzb8w7GOmw}_!x+8HbAiXK-Je2FNtlmmguXwTEuYh_vFm_Td*(+FBSddOUR zn1t*eUKY1W<&Lz2Mq6<6Fw+l?rElPTJkM{IaYEZw&>cKlZ3Kslyc?}hn8bPD>5)Q# zlGCDKH{?>{g}6m8POLYbKa3b~@HkPqAI+ziznUiv?4G;hNE@0#XC+NW;Ea~3FDO@V+@@S?dVs|r?3g>{ z*wzOOd8}_297x$Ltj@sH_QG6i`Ii~m=7^3=9yc$qI2z*aVSy7^_3 zM;T2ZQ7o_~jZ3A!I1iga=1yYyBhRbJPiB4o@7Jgo?BI8{nN;2#K*ZY(8AA{}mQRV1 z^1I`_2!`SF7~WndhIzb1G!21Z8AB#~Y!duIVyW&>$J$b4Ua5G5kzX*|8^kcCeH8H1 zs|~*laLOE25<+HYnj{{I>Y5Ah>%9CR0*iIZmm?2|qUcmuhX|`$g3Y+3*8hFz8gYzW z(^NdT8jL&urL0R}wi6mh5*3znM=UM0ur#hhGsM%)2qA=aZ@DgtqU>hK@(PPsV=1>~ zEF3u|tA}JsIS11`U+8#(Cs#2$Y(iO=N#Y0${L&=4hI-v%A*yp&>l&|cqLTVxkwD+c z<_ek-mReD%DXwJp7_X+ePS>Am2}l4`zc7@f04tNLIF*OFc4>3DytZB4u6GAAIRpr`yS-6lFdyDSi&O0ODq81X+8!WUQ9D;F z79XQtn%^M1@$ZF?A5NO;H4(^eNP|95K97%vaII}1d4%TpH02k}Q*w_xBy5)PE{o7r zBMO9Qg%I?ykl2CH>g9;FHjInoy}=c5geDD30NQ6?#RsH7H#AP;TxA(6$j*8r(zIj1 zc9lcX=YL{nxA&97LW-Ej2rx!pXsm5Qu{Esx&Vj|Ox3+Gz$|g8NUPd#mR$yj>RD;@U zbF|b?X_Oce)}Ae`m9AN6aowi1{%9A0R%z6|T{}m|ssLMNkG}8v(K0L$Ft4VquUe{m zNpKypB!Bjuq9uF-;Tu!*Kku1k6=(%U;dT>OIOqELqmyo^FDEoD@nWfwwj7TtvlIAQ zW^$F{c&T)XohwZRB0vC&{3lWlc3u+SW%n6VAqX=XXyceGuxNlehlP%4{C}AOa~Sb} z3;3qqlks6`Fi2LwAs>P7v%kF`L7_^JVg0J8yjCON_Lp~ig%Dlq*x{ms&ki_${byO( zTglOP6l*+xO}Jhz7A3%Ed^xBOMxoy=FReU*o+In{u>7UUu*v2H(bVOWDXmy)3Ceg+TU|=ySIU%7FN=<_Ty`i> zNTEH!T=2mm+hFiTAEq@U7=oChpoV_iH!1AUYf2KEAtX(l5zvEULROpAEbTFJWK?@= zN=4GURlp4*BL+4#0h{4?_J#6E*Po$-`7kIk5_be*VRTr#&;5Qx&qe_EqeK^7RkH|?@xri`9 zNc@x@4r}C?kMfQO(9Xzde8MSl>DrJ{qs;MJt5sP^684FGqKc|173}?vrYtHeZ*Fg* zn|UCQ3w#H1)84uf?lGYe+s>M8YTnICyTb%Zwnzw+l!wJXT zobpGw2H`M~oE84sAJSfZNt}J4z#4{@2DU_CX>mfRj!OH#Saj8(>tTSZK1O*A&A6$bddRHbCBZkcG390OU zq!9V(w#oN?By(pbler7;ot;ePMSSu#D1Tf3xrxVb`k{aRrpzzC{x=W3cwpi;56v?y zI7p7j;+x)uX|-*H9j^o<({pt(<`@>Is ztV=#W{jo>n^S3^B7N74}dgNm#@OkoQhd*|Yq<_}r|AP7a9r>IsudEZMZNW@FlbJYh zcjn`h)oGjdO6HCOZ#eM!Or{Mf-><1B{yIMI!#m*bLH&M5CUZA`;$=TG@5c`i?d(ry zK)=Bsk&GA@Sc z$-EVB?=_goywqK**H(}wZAC)n9=!hs-rj4F@M@)vDl&fV03MJ)gx8L@_ZrM(&Urt- z_w_ZTz~db+{?S_pGdHiHe;)tSorCuTgPCVapU>R*+H?8O&s^9!m_fpg{O6x}<mB@)>NCX zM_>8Bkof#l$c+qbkN?okMFRiINlE(fOWU2#9_PdLuOaXHm+y_8*f|Z$IWLz9D;9~d;E^Mor6q!oaOcH-~$!!tVvUqb#H`LEu%=f>-woqT2HJvaYbw(Zi(H%d2e7CukFH~$=nz5L?jdo!8UN6;K#d{_TVUzvRV6uv(9AtwCD z2}Z^A4o_yJuefQMCI_S3cMO>yP~SH}Ul=Z+hlh<4sro zC4Y0mdGp`>#Enlpe&7Y7zjJUa7|cArvvY6*pO-GZ@S~u@3qOuOI|o09lpFUp@cr3) zb`Jiy{MwRV&;J~MWL~(2UpFt@k;&ZrI8c7(^jiQiv;D^PfA#|`|8ZoxbaPFf+{e1M zU(bsEDUkd>qcnM^^_ve)=cxeheQs@|hPV<}n`pn%U@)W~}!|T}(e-TBVze~RU zKECc8d*WYo7ROrChXHGLiX8RuGc{}s06ZX!*9G-z4 zI`Q%AFAEiJwoF;C-2IvkG+L8vU1RO=kPzqm&f0-o@+-hE#Hv=6SHG)9RCTV?|k9X zv-vMQ^Ua;@H|}hsdq0J=OJ7;Tp#Sg4yU&zfHQ9H*fP6d0$rmVtLa#iRe`V&m{Fi1> z?#A&Ag*9{YJc>P=|NWiqFYSCm8EE^Joi9+Ju&Ckho17bOTY=8YsO)X5Oq&jH zH>W_+Z+!9XFMZ>Sm&Pt5`NE5@9vaO2D*s%(@y(N;uD|)l>o8*P*!lc3pSkPgw`%{f z@IJ|P7n=C1{L?ho&f(7j)6e0hbe_D&46p+nT&Qd4)SaI&!|Ffu|Mo9)OszgL_SQH5 zoloBQtjHFy@Zidd>%x~%slhe zdmvYZ?RxXy?EgPN^RE?O;G<_tH$hK+Tcc;;IB8Ut-(Er<~A$DGprc;KQ{QWN_OMGtU z@Qa}9&f#Aa>MH&_#|iYtNXLE8ZgkxD9NrJU5;o;kGzBf#+5YB@{Hq4^v-xkj*1hc4 zqKLi6a>!eDw(nDpUH`A|1GzXRZ~ieVd*)Mb6@Edp?<7?YWcvT~!p+~6CvQaa@4dj+ z%}+|gTi*9F#)tIdGhe+=DEv(6o0zm;&CFf=wW&WE{1^WMgJtLBXBzi@_~pjyzw!AO zIN-nX{tM6Lzlq^`3QfJS{c8XAH+K%c5#Rg2wsY`4^Z6F}L|c&Wt<0DIdVl_F{a-uz zjqTU{>NFsKaJ3C+g17?P%a(Es!+?emU=eculyz#Ej^?&x}NAUQ@ zyI#e&AH%m7H`)g?U#=rJsQX{u>&5#sncu+s_woMmBbiJM?`6El@IHq3_v8I%xlHDd z@cwPQe-ZDG(gF4UFks>RH{O}a6!HEic>iOh^OehHGM~cx3wYne z`&)SbO~AF zpZ`1FFB+U!=SS}wmG%t+#Nc}~KlOcQSE}0$#h~B8+O7KD!J$m%T_{_w#EbI&w^o?5 z=qE`Z>>Y52bngfY@gh{(tu9BUkg&Hzr60WW?AeF*+BJgadxrApAS^&;9%8rRi~b#a zFNmHg+;R47uZ6c?j4b@Y#{lWc182|nye5!-;dN&bVRqvdcv0Hc2Q~&ilXDk_XCCR1 zVQ}z3VQI6z#<0pTll`Mip@1&m#C?Z2P*~4&9w@Bnlcx@7meow*v6ZdHXn6xp+?mha zrB8nb<#0tJ4~k{(xns+66(qw1xbC!oduKf{sVv=!J$ryt(3MJg>{iXwPT8ZCG!SSF^K0Py}Nk(TN+XA{rdb-tpQu?FA?-!{{&nS*yhmNtF-TX&2j1iun;29AAj z#LLXz36GH4^%=wq;Km289U87~OJA%~3eT5Uo{)r0=I1?J=7kZ)idY4Qc{V{y)+9(X|C6({B{zgV3 zp2>GUZGqvj%8otN==YT*<6vs>nmj(*bOB9K-t&`COK5 zkKf3=2kAEd2+GtmD*|T=@X9C)v4+Jm> z&p_&5$~+-Y*YKN|5tjf@_3t`h@>dD)Hs$#eN(HE=0;qw3v?cIZ?=qgO0HTGUwQGIE z@uAEcytZ5rxOKp_ZRpK(qHIs(FUy_Cybw9 zSBoB;@COgT?%Z=<&!L{9JtulbdnS73d*0Vm?5XrT+4F4A-|Kn4=jVF`_bN??fv=QU+n#C?{D`0 zPVeva{@=ZS-23(3KkL1-uf6YqzW%;P`iA-@`wD%J_igq4a^J7@eWveU_x(=a@Amy+ z-yiq=e|=x?`}4jx^#Aq#xAh z{IQQ8``?az`q=Ls`=evuI`)?1hmODR_{#AgJ^t+RpF2MG(Bwmfhn{}urylxy4`m+y zzK8F9_<@J7KK#_fpLqC75C6x9|MSClpSbtL+fJN5kv}nW;=+l=6U!&oPgG7cPJHmh zhfe(TiGP3Mjz=K41IlOEPkV0me6{Bty+LoI_ge2e`hvc}zQw-x_pSFeI8kAygqs9D z|DwI_55#9@6@r*Edb+_H$c7KptITDO6EtheuUXZ)|R~wH4~Cg(siHJ?fK_ zxEQ`LH8hzIo_-oWwohV?3xfND^Qg;2u;VGgY6a70y#yNYXhYDbiq-dOPzMEwC|V$= zw;`|tamT9*obl1Q(;eBxN>+Z!sy;x?E1SjB?Hx~|_L;)P>DiIFg`Ue#x3`(9(P*6g zLj~m}oQ#LfLFfdt0BpM}h}PG@xxaM;f`Kcolu&@Om_OZ-{txC@r`l~Wu;9D%tL5~b>C~JzvZEz>zXZ{Y?<-??3Jcku-Y$R9Uf1* z5?rm;5KC%>ACiq`AKE9j3i70|d>t{YR)eleFo3%=(n?7&1J#`BXP4*NO{cU6?E;X; z{qeo4t5WR}>kMxA0|zmw4m;{PzpQi!Cj2@Fjz##Rx$)^KFsq?7x#cQ3u;WQVZ(;EA z(F9G7;p_fDF3T~Egi}5S@)~?ZOWN(sBJBc4eNaf2TDckcC3NtE=;5w%gtn%-B1~b* z!d3>@VuB5-sju1;bXUid_6MM{Lxa9E@9f1bJCRYUpoHc@ou)epJ)(k#$ZKx_)^<(0 zOA+7`6>oLOMu>LFRu7i12lkv3(Fx%}v{f3gdLj#?eSHIb8RSOaGd!hZlkgJVk3)Eu zIT#^y$n&-}V2vLR78jGll0X#QMHQ7yu)~wz6E!qpu=|5Zt8iQdlDb$#ES@TE!3s*a zi+PKoNOJB9@+B-BAX2j&LMpk#cCluU66hI@HpV`ogt4vSXoKXC5!R7C`~m)h$PYOe zB*5@Bql3A5t1e;lwRbkZA0?sT+a4RRKV74U++xrXygvv>Cac(66C6e?!dLxt$CLG= zM;90Ie{u2Yrq4V0yrcQ^_w)Jtn?G;o^Y-NPy^}P8TAaM~QsnXdWC`W@1O+1*_eM3p z)`Ahp0`+zb+bBw&2%-iso1dAubUN3ObIO7!6KhbTx-JqzI279{!Cejb-hTK4 z7OB*<$&OJJWd1ymRAwcxlZS*0|Fo0FBV4nm{l48c{ZsSfQ-2VNu?L1xp z>gQ6f@m#4iHVRAi>y?#)!o~fa)KIsQ4{|)EYvX3b4+!9(HClo5=nzpB#ZDK(#ikgf zabn;~wOlk<9WtR6%t@kuMDewzRe)Sb$RQDF}^;edf6s<}jq(oGc{jMp?9WP)e# z?D3Es!stW+Nt?~_1ubXk>oCyZ3h{zGFaf67OVJ2i^tO+=#TKz01r!c;Xgd&nQqE); zddE-fmFp%jD6XynRn2i+_VuA=ovmnSFB|q3gO*eyT;k$UW_=V9=OYsC1z{`8BzP`c zL~KjU83n5&lZAw!3GgOCk9&h`DaYls**+VE+=6TBv8jblw{cKfvkXU+3melis|0B& zOAwhzFUbi;L=2t6DFz;9DN6uQgGQI!Ll?;(c4LPrWyZ@bMZ*C8JdW8sHn0(#j2cV< zy4yuC;}yiDL?B}P9p~QQD%O>|mC=}tCibvbid|;~6;(Wg!q674aui1;7ofvD@Im=%A%d9#XcYh+3#ufBxLG#C3iO3UFOO~K;lV2 zgtXNDaUFxJC**Pg@6e@?F2`6`39}r@bP6-RR$8s7$26tW)(xm z4I2P5e5+u{Di&b+yaz+z1cPc|yyDQandf@F!>d}n>x{<6hQ`Qi4NFUnoQ<80fhOg= zs6Vlzpa@kA4btl`tqoC0fnSez2$lC%`Pm|EK|Ls8Btw!s`?_gCOmQ}ReB>&KrY*N& zz!}lgSWhWpV3KT&Qp!~g`>#C;q;;)24=poFZ&Nr*w#mKwZPN~tUX=- z5Fddu&x9aSqT;7eI?Uga(q6V^_`BOVT9Cn9(%2k?_9!OU7C>B{mSDm=K3anc^EC&T zxRxu%itJyx=21Xkb2)w@9xR<_9N=k@xY9aV!9?Idk-_2zj%^53kUoES8cn36RGZFv z@tT?SmQ?jcJLk$=1Q~8F?nz89cpm37Y}jvf7Q6v3o`dfVz9Ot4lR1^}A<;IS7||LZ@l?}R2wPkLrZ z4$(8`8rUU{YA&q{3>B|Xa2T6HqqGHW2Rj`y2I3gmN=9Mbzy%}7b$jxlwLa`Te{cDE zpb)|=Oe1j8bqTwv({9p=>;JnIG-|(o>@l;aOzyFSv3kI*S+<<^Rogtr_8#kzyu&31 z{A%4-rrDBz&hFChR_HcNF6oopZWZbrnzYxnZks7J&k!%s%Q<$d&-TxvhJUp`_g*X| zwCkP=@3pph^~gsT>&qCf)Llf^h?x1{ZdW%qD@qzPBO@IkJ`vr2a_F(b#Q0RcFp-~n zbbgFNq^}1copq{A%bFK!QWab;;R7*db|tOUktMWC<VxH z&iM6_c4_Kq{L&OIT1}gbLZw$)*vj#o3&j+!$)#Q~#E8mr3DMc$7$Vg5VU|!5#g{84 zOdIwOc;X|H%So*qm$_{nSIfo5IuOYTCZ?b9Oh8`bLp4V+qU69ptP5c`(xpg9X@J6c zl$?Rvg=?WIjU(7ONxL%1wg)#drGh7d*0$#Nim6oFP9p0!nQPJ&vt{hVKjAbQ=qXOy zFiTit4YWE)omLHYj~EGUD)uf`%UtSb0~qsl=HKGZb!btw$+F*TW26dS7`2Q0Ob-uu5AUp}H;2Y2%xr38PXxC(T3q4Q0fHz@@hKj+!krlY?Z|{P>W@ z;!~T)FWM%2(`JxU3@EE`I9kU?Pr5P=QD6Y<0qcb}cX`jL6w9&E7h7UOa3y@t?Ro;w`L2pRJzS`bw*aU>o^QW4GFiow3V}) zZ@7ZOJonbajv<2wg2Qz**yVwK8~&0tPkap8+V(SuBJ0SOjd8aCrVEy)awQ^GAXQe~ zMxPZ)vZrSki=pY=%9fBMN)Vens43V*ki&x+zQFt%=Q zQA>Vy78fLHMOS%LfEB^HZBNxC*8MFix;QjDg>wL=D%Ym#(A%q5_f%Wdc+jG%spu(+2q7`y*k|Xo3Ck(D`}zZkjq0eS&7}()o>D?IL0A zIx)+N2v$3>u#TxECD&n0Dkgar1{Fl(r&$I0aCZdEEhrLd1G`Q!>(yHMgY**I(E5zQ zA=Prz8bb$29a>&vyj6iqj45$r5*NV<80B)^-Q67&{-Ro$Hb9&&K$4M4=4&X_m{$av zs8^Kiw2*4lW8X3wU7a$Y?Fe;Wk>XlMBmpZNSPB`0|7rCUa$!YHCF&q!FqNXBaFbcM zcs99sH7Ojz;IR%jwbN&UK2ajjAT1$bwc}Oc{?ll5Y^f@YoZjr>YdPl0f+&GZT=fWz5MR}{*&`I(-}J^4?Euors)TXQw9x3wgQgn? zo)kIz8X6MG@pg3y=3(F1#c|F(z(j8*A%tr{`+)D|KaZGthFnwc&7?Ay^i@bP|Zs%TYo55gxV`)fGG5|Y|?O$n~X*IO{o z0yl~iDl6*XWZ8uBLl~agnd+LW8|5u`%NbCyEQJgv>w-6t1qrOQTlvJeK1SfQKtg{>gn_8cODHJD!^ z>=sK!wN_(YTiV(czO_@gf(Z8$W6L%Tv6F2d`!9_k!r8L*k&BF*XgrhG|JF@@&qdx^@E@<=d zl)Sblyu8%<68Ylb{9Rj)%3A2hP zb&AB1vaS?bt)@$mnRZ+7fLT5Ng(8N-7wt2chAnMLlw|g1gt3e!4UhPY*?zG(jAxh= z_vsAjnG?yIz&GYlmR$K-4+_~a@f}l8vslH`#+Df8BQ7604B}!Zvc4Qp-JKI%XgODb zVt!jazo~}^F4QrU*Af)^avBnQ1h^W}2L?)6Bf4%v$iiV@0PU5gj__EDtmkrBb3nLD z3UsY)<7Q2nHuN{@XmE)%CM#n#xaP8_XfhD9uzX>Ds~zc9hAhMF&H%(Xph(4VF{g3g z5G>_dKRbzGlH!p7@23&dhfG8541|mnu;Gd;zLT7jJ3~D{_H2&mKscL2?7i7f>F9x% zr*>P*87h<0fIAirv!HAiO`cZugxtxm^b zZ(^|{g^Gdc2|?Qs%RcVIW$ua;&OBkqovJW^bp|5LoAip;QZ?d+4HYzTJ&2p0nzX~V zfRx}yW#MWWTU#BbxUHW0x{|}kam`6BiKPuD!a~vU}AN$ zAcJ&>XlD=>5c3B>Csa3P$1TsH`o;v2e?+OS)<6%m2tRhF zJ!@s2)#cJ@xpj)Yf6AT33ZLU(R19zy$9qJH>43?k-eA?_L2)}jsk*h@h{lO-L#l{h zumDUH#vuu{N^Do^>*ZBQV`&UFBxC{(Tc!wjRFOyFv9EVZK~};hr;I!1M-L_N$AT57 z!l+kZe9@+hY)~cm>5Vddp!11^q%35gXvyy6Xv9*@s!%NHSnf7CpRlmY3$K4Li}rx( z6&$k$MJHrV9j?0_Y`5Jm5KOmPyAIQE1MDq2(E<_m%$YZS91y^E-h!&Zs|wXGBXp^; z$?K)^+Pdd^W7F%61`pQCE3REal`{?^6!ap#(ZfhZ7}Z>MczWXe>8$4GP&QU4IFghll?HOLY8>{WR3tZo*p2C83z=c!I$>H*Yd zEg2I6hyo7#Gl}7~g@>$YP(T8nVs?*{SmrS;&Yi!l7L`%7&nB!7|3{juvq?F*Imd5s5+5M;T^n zj}wNb=EjGyJ(%Qbn-}sIl4-4=7ii;7^W0+b!6Vn?Zw@`TnDY`Aj~qGMaa6Vx$^8a~ zxRNY25dBY03~h$p-5Apm11pr|S?GnnV|vVR2(Iu%j63?Gn=HpJ(-R<8?$~9JF_zXx z%Z0n3^pJuDGhJx(_Vk#u(pc@GmF`iD&qz6oag_4s8TW&^Wu&@F94~eh-BjR0xJX9+U7A!mj`@<@3dp-!+A zsT8rZTew0R7wX$vTh&?v7wMA7O`jvo30%K&*{$_0#@K2Uu_Om0Wv|-NfKF(JXwz;n zBLj0(TcohlZYZFInB?bWh&VrT1b&j6a+=wC50HDJf1{iHC zdO3UIt0CR?Wnj5zBkhl?&-Cb;2S(X-VQJA#JibwWTO4IDv{3SP^lmL__<{E}=nA zaFU7PmV(mERa&{(c0MIVu;4tB05ae{8Q;VKS^0PuE z6qqip+)%@iLxIh=ysUL_ae$ydoG6@~)ay1Ac)`O5LtlTXou4&&K^SyM>57huI;}ae z-m%(2Qf{I7=rom;gZd+vP3gg>+hCKR3R}oeU06uupj5CK=JK=X{Pa9dyJH{R8aAi1 z-DxdkFEm4rWKI(0B=R@KwOJ9W4*YlOEHphglG@rBlv*R3Hji(!M_Dwi6Tn`>;2=8! zz0wh$CCpbNnOYx{3bT79=fc=&U|e~rP%~(Sg`8-!v$>tRb`fF*P&lhYIvW07(WaC5 z=Bo@YU=f#9c+94{Bd;P;d`q|SaI7~C<(n{QyRamq?G+Jh@a{n^2{)Oz`ZG}AJRL~0g` zrIr^NY^C;PAe`;$!bsN?kF>%NMxJU{@wfmi7BzTwL47l6rP>;hH}IlJ3oy9QZI>dr zs38A~G_r-@i{T7u$D=VTqBj{P%MHU88U{L1BWfkak$;fO0CZ!|(<%&rl!0kvgnYyY zDJ@Z$U-qU{=rm@d=gDZG_pKm~DZdTNZ_kqL&6h+`pI(R75j<7mrX~FUMWjo3a*{qASV)e7MC!nDyDl&?1S7&nFO~us#Qy~@Cmu_py#`K62vryYB)Z01E zX2xdD!`i(lH%4Js>j^K5_jR|m#IUkAr(ZKZ;fCR2W}4J-1Vxk(6^Q%pMWM48VfIX! z9~)IDtFZ6UX9B3>TexD+A{MDRd;^fOmn9&Qp-hay2ZEGWsf9LcBYzEo0|RsChllfX zb26Q3UN>(ifv&;^jvF{e%tBmF@LBi?R2lDnMX3X8wCUuqaV@F|V;GO_r9#-hwj|Cm zEds7#qeJ5p=V$XA;aQUi21Y=3c!_j|*~X_X3{8xWM6zAQ<|Hm=qx(7Y(s*E(0j8=2 zC6)LUyUi(Ei{^zZ1+R!h7jnrE9406nu$A6m+h2p}D#^;ckfjDrZ>>G*>?D6><+YFS zi^hbk3#Hxa(OkC}0sw;mi@3d2q!Xz(dhM|E2cXWua=WL$oaZ2PYOt=-!d*R;|GIqk zQW001H_<4H@Gf=N$sn|z6O$oSnKDqlt0r7VDpF};0BiD*a(!!K>AH#Ph+yrTV95`1 z>8ai!K%I**G5gE%F(Nvl5Qm;ri%C~1C9Q-urWv~|u#25Rv0MzUSGU2vq5{Z$40aqZ zm$;oDnCpfhn&c_Mt`g6)#za^v(GG9Lx{_38ZKW6HbhH{<6jBI{f#gWqto)`V3X2)Q z(L?6>2sj3$OLx&S*?RNflMNCmY zH?ax^NUGN=Y3)DMhuz!m`N~FzTIi zh9rTIHjG0d5#yEQP*!M|ZDE&UsPfw!&swv93&%7B9xejVVHu((&5Tor*KXCY+bEim zFM{2PAmgHg!4Ll!=gOzE*8nbNWBK`Ygp^EF2 zgY%%ym>~k2Qs2mb$SW%=NPq}*C)Fdn2Eo+P+6P z=||V38Qi}k@#E7`lc&SDd`4Wch!qqhi!jAf3{av$%x@dy6>ZU=c&^k2?PZ{IWut3S zy(NNk1^nflbd2oB82PC3R>Y&W6>V%%SM5QF7FB=2B%yPu5!rMrm9LyLSB($2!nD?$ zZtJ6pE)gYARUgg7ZnC0YQ$!H7VZpd{y(Zply!oxKr?00AfBF)4z_qpE>g!ENIxr}8 zGAzDJxNT^ywuC({XxFO{W9t6UGjs<;3=s4nyJA?npjn0~jew;?CT zNx(}>5vHPq%te@9>(!Mql(`}@ma8AO}$BW52SoT_g@xm)t0Cmf4Fyki~@z^)>*-G83V(fM;g_=ZW$vKWV)6LD0CH4v9FfU@oSEvA0q@%Ik%&6N!sXw#vX;+8Safd5Ah_gZd4L>P)%1 z&P%)emViX7P*6}MF0^8Et00-wNEyL0%)VM>lnyp+rCQN@lIjC(ZS#1vv|PPHdxh;~ zs8P6>PslADAV_Ghnn(3@gi^=tbcSH)43HN|t~qGk_A=NX0S#anqAL<8m}q7<>L1Go zbJL^qh%J&2#^-{W+35@8Bl(e_eP|B9as27x`1}}xQU}N}J2W+aDVQD&hNdnB?;f8T z=?wCZ;a(lsaHeP5#wTYc#`8!UpBkPx&l^jFb0~*UBEiJ??AL$mYa!{;Z4W`mjYvoq6kc~n0Fu!w~+ zI*VHJlliInZq$mjAb$Zrg1NDwi3wKKhDab|)3d}6?lm))X2%~Ln-9jOCq{6+TW~H9 z%!bZQ@MI|GLLfY7Oj3iqIeEE81@ZXtTbC0(5?Ab7&G&p{^OJg|Lg9}NWU zbRW$g>4wK803+)aYYnr910Z#!PWqx7OdyaJ^97J|wlIpoTB9UbSAu+dc_8TIRl5mx6?WS4Ux`Nt12OgF)v|RgPToad87z`to znR(ZqAN46>fg&rL&l2VqrD);!NNly!--?;+X#lU!Tt6lZYyKq}`9278?qV zZPojnJuzQ}O@2*!-7IJfF9^Yjhv=OH1AC*js!tegarChYm_fr*Oe5Of{o1};bq%Ot z0-UGO+VzqfYkoI~plFIb`R}!1Aa%lM7Cp$}*fjF8&rzujd2JDmo0mca6Hm%?li;>% zJw?od(Qg$o@M8K7Mj9(DGBF`&o9#`cLTJ`E`vVe6bUO=a&xcidW8W-`IZW{z4O=T$2sNDK5d#LpPSeyl4Ry9A>z}F8)lyAx;Hqi~7a__*OQDR{C#neJ zPVuZ(czB%3RjV+IxN442ALx-8g5qea3ZIwoDTD3-7x>O|#mQ;IJhZT}fsZZc0yEi1 zL`Pf!LlZcY61|uUCk@%UqasgQ;4Vl^AIngj$R~shjUP)0&O>4`)6KT91vp=3{cb(f zRfHK~xcNk}T!RO9xyE?{Yk5afvtdykX3h30Fj4C|(x{B~x)~KBwO%T0*ASP?r()yuy@U+8YXiv$y;{)S(W=>~o1l zyj;DO%gSAF&=vY`qqQ+-W%C_zsbX25|Or6qIk!ha}-&i|gC68^TC9XT6QeqzW z$>sM&w>iGx22QK4H4Rp>G-+^1Gdc8OtP3)fjWdd8p9zL=Krh`u0{I<|i!!+-zGMmq@XC!)H8 zv$2MN-9?6~9kRK@YfQsm!H5DE+;F57JwXZ&d;3dKZ$)dWf@&`0v=`UKR3c-im|-nM z@0BAu2!8PJ!w+*33(bFOOm0-i>1$3~t&}<rC4JIT@N)Umf0x6xp1(F%0uLFs5kLxm+oPw`R;;CKE2R>yML1j()2Reds|!m;>-Gn>py%enL;Pv&FG40^0b}iT zzHMR>md#F@`=zv~WN8fAsBW(?_6YzpHi)n&XK0L8v+9;4m`+{VZfq;Cly3!n!?=ea zR0sselEOJ#swaaoCq9@1A5tCT2sO*P&pAq}@z_=HYRRvXV>gD?VDN@|B#Q_^7Nz$U z?WS_Y)*=qw(5A&vP0mtkgTfM?1%X02G08rH>j=9&pjHTi^+UT#4bt@v)PjD~Gj&R} zVs#c9nTQvskHS3%@P}Q$$G0|I8MCb+HQ5+8<@zlAX>hgcl~QPca~SA`FRU17sjZW< zs0${pbm8^}zuA!p8H7j&2pcDfOjRjn&c29dw_RZt%O;}B?;7IJn2tx+*J6 z4x~NHKkfJc!K#SZu8gIU&mBm$V%N1;`nSU;FS(?#xkWEt@QKstA$B(?QY^K)vq!tL z-Oy=3b}p_OwcPSjz4XvA#5JN_DTh6qVs*11Gh42YK`OFGdAUKhs{p+ivXfOuh+%3~ z9Z;@kjd2q$)mFsdTx_-zpT_0nIDQ`FJOu|^hwMz59Ho7!wQw5pd#c2Ri|s1P1FcGV zotnoeIt~;OZozIRf%2!xhXL!%c3y5uG9Am|*rN-8th?3zDzmP{>?KH;cUe*N(ZIm) z`Po_Q3lxUt3Y>wah9>h+j#9JEy?cD7Ffu(q2O`G^*nHFrIUQ9Kvw4({Njl;hWn-ou zO0be!X@FLWO=Q*1{*m>b=xmN~yY!9C7YZWwgiR&AJ@+t=GtyRFWWHAZUED|Z)*ymO zv?bmH+9FSjOi?67Uw4w+X_7{%+}=dwO;EoFFDtDIVaRIGC z;^6c#haIW{{ESZ_ehOZs62pxH7sQr;umOR{eBN+&iwuIsXcpb~oxu-x2)_FxsK8Pc zi>kh=orK$3@01+mMe;bD4lGT8X+#VQ>dCpt7*>?}Eky=ItI@Bub#53(7YNBE0>Uw0 z#R&qTK48Ea1XW!PU?IA<*M+yyZsN9UyA@|U83?JPq$G8d2QD|H>1v;mDZ*nN^9%$r zyu&*7%P~OyHaNyjC2`yo?e8jTI>Q~m+YB)k@d1|dz-QM~O#8gCXSEe#Z-wIa& zep9aEv#{%=lKrw3Kzw`H>bsAd&sT9<2K>EfRmOxW+j*Sm%ayqO-g22UEc&yLYBZt6 znPS06SSr6uMYVevgB#VyT{QCHr3&rkikVw<(>|myWa@=S3-spVbzPe4irZA-FSSjQ z=q>RPuN9DQY^$x^&|Ahpd9j8q;V65IZnMk_ne8LM(3-3si*Loi*>+6{d3m@p{;@5aknjDm>d2 zHN${+(k(vhpNI)ZpkN~*T7EAa)WnR#vj~PE9bdf`#vDOZc+6OBFj3lyRA7fWM7+mG zp;>drhT#b9dzP%)8|uk1`kvU*tiSyge1w1C}ecf2BFOX@Mh3*V#T0gP!2 zrEZh4fNiVOUK~;~qRDpbEHzk!&&<(75r_l>{Iqx3(XpW#mP(a0mg-K_#M|UGo@lt; z^a!m(8i3>gxm<76pOmoPqJrnPo{P`q;h!*#z9wYAxjx zOIB220y~gMJDj~o_8IXgS7^ZTHW7~qn|Y671^u0XRHhTMq;j2fm}5ESbAn$A?Z$M8 z5@0)WlVv%b6cSTHl!2pM7Z+#YZ8OZpEb;zb*(hVXYcbm$j8x@><2nq>>d{>Kz_yehDk9J_J(hU`RTtQLy-`0)&Bc+e ziPE#H#=w)zK#=|m@s=@^h>jbx1E)HKtqE;30t$b87T_HYHX}*osl9sseaOVs2xm$s_31S) zrE#wkHt0kNwu0YOA)?=_!O^oBHl`i1>8F`{R%i<)E-1STCJwsbu}8hk6jH6s9V{k8 zKuk+yM++7U3)j{b*~L8o`$#xDZmif$eLmm`0m~(T%kAhEu4x>jT_uNMW2E z(11vi9bx?>?WmvDCuu7T4qgC{uP-TRxqG7RY_MSNw-5lGK_3iq;4SR@ZNa4>%zC+v zcWAR}U4U`N3>vPsVTNpwiabnc_3aG?f|eTv+}v-&%nKc{GKOo3!bSpkfX38%X^jqs zR#;@ayG^US2fBGCai6pzQr2x4Wl=&*^QMH*CYmJDL5phmd6SiVg4x#$Q_~7<@^ZJhwkP@AWyO4E=0=0#ZO;A|aVfW%b*LZw3RFiAtgoj9fe?WsDO{K|PAvP+Q zqfH=*5{OA+EZ-qEl@i2j0Ey{H7R}$C9XN`>)IM5g#k-YSLS!%jV>q0EgE1GX9t1AK z63j;G$9=NU6YPmnM;sJe&}<0Pj7FFfr>3>>r(r*MPjoqwR^rLF2Om`6p3pv5|wrj^I$b?mDWQ^Tu_a&hmQ)>?!rh(vBxGb=ollJ**$G#?62- zbPH?3g#__5zh5n*SVBdrK!|d*geOP*WNmy@wMlLa7`u_3Al>RZoFa7rAS*;1od}%_ z&}KRjK>-ArbOE)*kfH7vw}>&$tKmWsNm#K{etA%{N6mWORUT$@Nt{ID+2FB*oX$k! z^0F^w#by>L(M6#w!J~6{=#dQXd?RD$bJ@*-*L$JVL3A(+$*0mRrLq^R#762sr$hcul>%DE2fw)6ce=%UAmF?-N@mg8QWs{?fd zo90X>np$kVOpww9nLKesCu%E47;{$hGe8uW1!FO(#y@f z4MwLYCZ;bI<}OX*NZ-5XAa8c%7K_enz$dOtK=!@x$y|P7)MFECAv3;`uH(=Fx`Q<= z%gy3NPMDKo@Z$zVToZF+DzSqtP+}aSbEKdMak> ziY4`hfHZ8dZ=$iogG}x4*oCPbrIo2$kOy8mVq&E#$1OA`ccZ*43P#)k%M1oNB3nqbsU5m4b!TB%B6&Vk zDUR9a>MM-_AOhJtDq5GU9Mf|A$F9o4)HMdQryINGjOxRJzpNBEx6lJ^l>B2Iti&P7 z5QFUG(8YH{1{P*nM|@KcdpFCvbt=T3NQ+wdidecNykt%PV+D*>m(kvylh9}271WC_TwVxGELwO@=W{B|5;+@v z-o0HZf1q55OQS&=MD;+EGky6}NmT^Oc1CII&ID{>s&A^zr>1QPxJVPSu6H+_~ z^RmzEtXo6I@P*;D#VtND-9kCe9cd3Xx9f7;*+?ikxn$3^=u%+~)|?8hUxmUXA{9)J z6bfeFgZ;^Iix1JZL{jn_sY-r!mQ>py88~Wymf3?$p#v5(yRjR(ylj|x>L|p?cwm6G zLu>kz+v&_?1bP7%Dt(qXu6tz!i0)@+Cg$|22oGpjx#n}OagsA4O;1tK!8X=zHe4?m zU{#|2iQMq~nb^DnqQmN8EF3o_Gdd1-h(~*M7av188=2;bBAt;KxbeBnbQ$ab9-hu+ z&*3JR+jW}jB}!;C$($AnlLvyHhaP$e2ZMfCeEdwLMBCX)HwW5rPUtKLsE9#}Ae1T^ zBbA$S(tRGvp?A2=z+Mk0X^g)3&_lFUEa~T~qiDikx#5>M)?-FfoYgyUN|sKesS_}! zpx6v-2KU~%+cHHsF6mZ1K9MgB&CKKxdj+bE;(%q(#PsmH3;D+|&Epou@5(5^I7n{I+?qYA}bZv`Qt2HWGtN^Mu>j=vmU7 z#|IjEy;4Edp<1p`K!BmSxk3Rt;D9E|+)p#J&O=raWCL<8Y7QFW$ybKV!r`14Y?%gW z8+KAN-c+wbUh{=%47x|C<8Rj2sJ5gurvr}+Er+qVlfCIcW0Cb7>w;2@iM8>)aAXo5 z;Ctc7icna;7mneYN|W;HXlM4oeAQ5e}DHbxuPWOpk09W>IC zuo8_`H%lXS$0G-CB!)ROUIMg=2{_rwccomgcH_|iS}%0es#V@fMDQ0iZ22rwXpz#Y zWLG;Z5PBWWV8@xtn`Q%R6yeLR?n?3qXO&VxbE#?P)(8Or%ZDz_6&T%-eNsOUFaWp* zAB@nGJit2G9f=39&1qVKPpPs;vIC#Uo^0e{XV4XeLmsvc@#e%wq=4bfWFhG&tL->u zoI!smN1!F<)r5h=Znf$gJJaW0%XRP;v_biO-x>+u5|kF1WW~~qNIS$A#~Dzq%poj|36%l%ATlWl0T)9jku4P&E$VY*E1rx=Mo)^1 zNC4N$J)2|GlX*3|+TkHV9U}Y}%d2CAl=B~q%#L3GBvQ;z=K1RVz&BvJQ(#EFp{X=J zN$1)jdBs%#LRfrh5tLty-ZwR{)!-Sz2N<(yTSh^-31^ z<>;;5SVOi)Y2REDaMrk;=`$P_f7u5(%onwKV;J7!5+H@sni)KHR-#Xp?8?M)avukN zC~419h8Um-V|2jg&gd+dt|0vIBb=>;;qCJ?K`(jKZLXQYn;7X)q{Mn5aE!Fj+EVb5 zR&tvp944-zQWxAGBP}$EX`rGwVBdw(r}wgj9tsjG2}L+G=T0isRJx6dlfMQT!06x+ zjz#nsJBuOMm}US~X~XbmQ*vtS8I3u@Eing+4YdMLJ(WUBJR69aD9nqwE4&y+Lg6qA z??AWynTwP#2>m<_PXvS#LMR7stTrb_v$pF&E7+b^N)uH?D;&ly0a`Cp)&80vwgTmw zW1W9&K0n1H`9ND4HCj2z6#=EXQ==;A!9~vYkv7}TEG}8uFq}1-kOX$KW+Vx#prWhx zLnTvr4O&+zMj}3Hy;cxn>Y#;e*k0OjH3Pmj58~e?+MezRt0S$1SoD$Q#;$8_or6ob zE|%_%FS~Cat6VT5({h(ihk!?3+|eBA3DN?dx0d>Kjo5>}D=jgCiuXkPSa5-goCck1Z)`T!F}A0N2u};S*gM*U=alyig}lt&=M8LK{V;0(48gHH|U7{3|3*+ z+gp8*ob13z6L(ufz-u@<5dy+%t4pY3l{Gv#auZv+v53MDbJOv48}%oNoqHe`3B}BY zO++d2SS(t%WlC+|?y7<<9jXGMaBa#Ai8DLWP{$004^03Vk9Pzqoo1X!X!WHD0+H>1 zD;=p}N|y|7W9#Y;9<4TTrvL)f z$iX33pSGT;q>v}fbz5kO-?KfwgnK;92`0h088$j=Ci=?bGtCiM*LnTP7VT?j+qSkg zE`+)EU|_JBJpo~pcC}74H#AsDZdU#&WH9dXVO{D5Z(Nb z=`GSGxj?ra*P7T$kWabt{n>Qrmk}^e<(|H2N_Y|BQb_1utj)Dc9O+BgWTZ%3$`fO@k zstT9m=ulXWj1<}F+5aKopoy=+4BQbxfu`X8LRfjPcy1eQjGgG`bV`!7QT_MXt zO*rK7YS|gld~Q(f7R-PZ4BR2vC#YV@(}AOHbLyjR>`NGlp;!^PZfVP%U?f?-|fp8P3QnkaIyooJZRIIc`jT#jzDr$fPW-jEa zbB{$Fzufm+Uvk1X&NDOp6Q1KZ)>?c2&NF91pn6?>X3QwbTEDgTUVHDg)_z@UW8FFv z8oxr_!~I-4`YkjBO-XE%R-+4y;r<=#iY2p;_JqQa6zEbDq7%nyhh#t0U=Gz$!^}^z zR}{gjpD|>iySLUpBq_=hyq?FFuvgQXE0I7v>akOh)5(^03_{NsqNE?MVYS*AjVVr@ z$uD*$s6uvC>Uz zu+u`d!zx7!s7{H-ucK~aOy$(ph7Hat*EEww5Fjx-vtZt;ON*YalJ0b&rS_(XU4~v$J?USmZZ)m~kdY@0SHU8A@B~4(N$&9ExH?#+pyyCr7KX8dd zrLhj3s`bvR-~*IR!@~%gmBYrCA7gRX2@&?In4B5jQ?}aGq_98^L9N=PVsYc0RWtpl z(=05qAWIEkOB~S>V4(0eQ>~MaAU?%B69vuE`FBoU%{uy}c!?m_^3GAUyff9ZAhFf+ z771+4-KcZ}IJV0}LhUzX)c%0kVZ{rwrx5GriMnw$UcuZ7|7nZ64kRNfFivLGr5381 zOEpq}U~3N^b7gdrAV#DC#G67oGovxkjH0y9QI%AO;k+Bi>ePp|BrroW;hqh%P~le&}a zS2siSZ%#it2Q)^?A(|u7eYXt~xi;KPldP?h+!&)%mN=J!l4F`(Po_s#8ZUEUQOJMm zX!5_1RQEzJbR27P5!I!cS;I}V#s?c`=RQYuFsG}MAuM~0?txK+7$S?(7L@nb65c-s z-KZSzA0x+GMo}`@QFYmc$sKzI19KgUF!srUR|~}`>7Cv1>z?klZng@Gy(A-C-#thx zd_VtrP%o0)uYVy-z<_gG_T_EVF>h$+xG;W> z%y@Bk9%4Y|krOKxT#dmaP#J}0syhG_$MR_5qT<{FhnaP&w7J*R_@iHT^xoF=zynX; z^1#z8?tgIQ19P74d<+3cp6=zl*H5qR;)3UCM0o1nFl7!&r{6wj3Vu)iQ8(IK3W;CJ z3{GwuP18#k6KMH)J)1gk@eNNWHFj$xng zv9Ph0;Rz@_D8X&du3knFrX%C_{AZTh_uH|ODK9jHW<6_4R*CB=!3;X(O zjD>5(yVx$U<04cPp7@HWb#u%h{=`;110Vg80)xtiyZt#Q%)!J%sS9VtQe+Ax%2(YB4NaYrgmC~s0N^5n7p zfI@?Y*1nFWm_n?WG4014(^uY3t!P^D_{McByXWZ3e}Rf1_ywAyT1g~Hobq8?Qqzcn z5`?_X!lIbcL62YL(Y2*}O@!~daUBlp>C7bCY2sl_urNPG2p;Y=*Oqi;)s;Qx| z5%F=1b5WPu!fjx#D5jAaV z*V>(`;g5t;W{Hj^r zYQV{6Xl!S%+H|!B>^dn^ojb;Ej_YL6=HbISS`fOUXCtoU0ujiGrseqB&P#VUnVj(+ z|B3Wyh7H@+cBMABIWBk`ncJ@z$!R>ABeY z!|Hr(awssSziHnQNt)NK!*mhdj~EPix^$EBgMRrEU5n&~wucriZf{-n)0U;W6ulIa zkeS%o*|r){HQ|*^2Sq2Dw|H41!8uz!66Rvmj0w1)mAS!;=Z&Ix3AeC!B+pLJag#n4 z9g{I3TSSk~T6~vDQ!V;2X~rmOg%TZw?M26oLO#~B0o!s6cE(SBoSoS57cSW++$$MP z(2Fm1&~^(MA23X%%;04*s(4OuM7En|G*u53N}CH3&e_VP`P z)I%AB@-nTrN~%dXlKy&4FR}r%#u36t{dyBubgTS#%TJdIT#L|MjDgcQoiV(oabt0# z!8j=I*^1y6`ndWx+OwO!u6wKC_3L;L5b~DRqs6rnHx_)6o0{CXn>~A!fIp4hT}G`) zpORqbts56^uVE_FLS!`+Hh;K;F{&n;vejMJq01F$v%3qCm@==f4WX~{Qf5%6Y9lp! z_Tohg9$huBt-ZBn+2Z!L)}?5T;@;CJwiCb5i+`d-Y4Dh370i*hRw`C{hd3{I7j}al z4oOFEO*+P!!lMg*)0wsY)au2yDNJj19>vzpLv=^(2<$~z!`E+-0+;x66r)f(go>l` zv0Fy7X?n@aHvFr|B-7O6aUMQomM!xMGFZzUEu(HzNVN)b6DHHn1hEEK2Rds!eVW>k z+8KIpsmJZdQ6-!CtzURH&GpLnuQ$wsbyO`QVd?5}5+7lj>TnWYzavgypu)D+Wv1}G zK0gJ5n`CLU{L-q|<%S<qK7D5#pjJ!9V#2?T!AE?(Nmgnlg`+yo)Ht@+S7jUa zsmlDTpvwACPnAcT8>N)F9pBp2GUwA4MWqybuB~}GQ>UZ+W1)RGbAT-w!}wE!Y74f} z5O)kQq+lc{x?%;At;IFII~OH1cc#py_>lTEZ_JH3aHdo5sx<%hK*MjxNp#~?!3?vi z7JzFiK+FVq=Ty}PxO^e}db}4Cjm>-gPC(i=`M|BMt$?FP*CRemusT&UZ%FBcyM)!M zO?=(z)y|DN*RDlAFa{iNl2NL!i?BhYvMX!sExX4wxiFLT`zTVj(O;8kV_eZ~i07w^ z?#1+l*;xIdg;VyXj+PBQz1y~QA&!RqL4IBAeNG==Zb;PZ~1nSY{kEe|&@dgyv}8(RV9ZeNJ2CwxNT=G%AS;(2ZJ+a|j7S1m@B z4%4b>0PPemfcI?pb=O*7pX-`qoiz+s?^?pxGnKZXZ!z1El}-(+vXbdVFnOKLr&u{C zL`6^Gt-N%xYx24cJ*!a{{?cbmS31@r;`gSmwM~r=Em%Bv)!g>x7DoF(#Lo=FOyQX^ zye2Oc7r0p8CV0_enl^DpJ!w)Yu;`=N^m$X~<|bnpy9-5*8yVP=ym2^)@h~4SqfYh! z#-iGd>U_e?N4j)Qh_*7~hP6G|tik*hyV-bkPlttSNDfvwT=$j(YK*BbzgV!yVh@f# zv-{BsJj21L2DHIH>)x=zOvlPmQ$E~M38N^PXLsA(!nk5;9ZM$Ujau(xH-=~41sioP zyr5@Y_nOu?HE3$2_mKiiG4}-2*XkL@kF=L-%pAyUKw~T!L>){{OQsv!NLO)*5zieN_}&uKBqjjw7mMw1IB4b>fN# zG;Q==e{t;-N^EoKNIzPs%=PJ9y5%^UKg$C9zH%ru&Ln?1Y69yUCIxKg-?8ZrABQ#Wj2QH!J|5}aD0 zK_r%Ty-{e}%DM4O`KpEjwc{!_qUUY%o_rb1xA%e2&x8jYdqs|7>KR9SA@052m#f2! z>24f}BwI4tM#n8E8V$T~6r#e}Pu@K7esTmlH};m;nO1sW+{oALNu+hXE~&#;uWFkk ze}zM=WoI)wljh7v)h3RkajkibwJDXlrlfQdQJ0VWwJsk~MQMBEkD7k@^c_<=rcb}U z>5iu-Px+Bu2AYhAg6HKI{BY&!$pG~PZQG({s}?r@9IaFit>fMv zsG3+sc6DozIgh%;?_wTfQ=!p|513g6k}%S@i&Mqa(f2nLwQ1ZMO8x5G6DabP#2yVB zWsI8r@Gx=Qk~ln$K3%LT$BdhDQZp8$%g&tggc#O_+gn&dz!ZKir9x_X((%E#MK8s9!}WUDDr0%o zmSE?T zQjV$6nsIg126x@@bu?Aoads?W|LL0EHrwDIhjCy0F!Cy%&jOm|#d_HWwo!=kd z+SA^(t}8#zftw_j4jt1)MTQY5HlEL0ZKAe%Tla>wmVR=*gi}4hqndPl1{U%{J1z_@ z(k(2$bq_1JsWUh0(ywlf~Luyh$pS(*!R<8M2*bZnaQ zbjK!UlSzvm3Sr^?Ab7Ekgu`3cGM5Cs#+|3Mi3KZ)`yr&36!VX9>a(JuW9!P>C#Tvd zolj{RZ?QZ1;m^u%{-|Ry>*~)8JU_X+S2BY4*HE-C%wmaI{V}i7I54N z_}gDL%}I%;{I=H}6vhY|P~>Zrv@T$G)%fX#qgqw(77StIk$K; z!s1b2s#3`^qGQ;eYH@#;F_O{I9|T}{f4N70FSz-nC4n4e}Z zUYKua{G|e7BI-m<6{ewtM*f5OadIM>-nfzy2Bg|xth%5I;N98pxNXW)v!*`NbjO@2 zQ*M`%+c)UT9d}HbPP2yJQ*NI;bIKeRcfFj|0A~AE{PK>Kw@oxj;vkNxn=EAYHOlkQtYGZ z=pk^5Z`m@~!4t+EUawIqSYte!nyB;ZsR+kGj&xXsKwa+TQ{W6HMuRkyI}#zcAU3&cY;@QIxoMspw^x83F*Y55c4 zk4J?>NIH5h!4KNb^ehMX6LDpbSjri=r;#^Kqs04mhMAy2t(%d|D%+9`Fvmt1jf%CR zlL)ICYC4P3)Go@r1A2i04`}So-o~y*r60fptGADC3a}effe3h!#H~;s^)XGA7?KJx zj}(~-g&+fsnc_Jm)_O%8v7I7N4Xa7G$s0ak=&*tl2K;mle0vQHt6D`rIm6=Gh7dI9 ztsNa?;#TmO_W2v5+wq~AI_nUuOGgLjW!1$I**}xBr}$^OaT*J0P!!cxa$Z%`v}rku znxdxOL{UhCqMoLrWS-NL3f`v@#;}Ohe4}GQ4XudJFk&(LP=;uo;)2MJ3u3IXuG=JkWm@gI&0ktpEh;E zzj5*<`~<66Oqk)rc))KH!Gcm>@>mh-bn{XETnK2^4}~eQVjRkoClLdjOu=;1EHCl@ek+5l8q`?)lq$29516w3ci!wxbFZP-;0g10@jcI ziuWMXpc~(O^A(-MpK%4Sp1kR3Uwhr*$XBpy!6@}V{)R}IycJk3ey_T`k}4HNBQ*{; zAd<<+GmmE2W)B|XTBqGh)Wj^l;t83;PQMWpceQS*!yeWWT$;r3m(FyHDOEu5rE3O- zO(pL0Ct|FtV?xRKpS47E#XMfP%jCRrlgCj_HKPm_Se@AW5ovJ6Va{w`a?k=Ty?FUF z_e)X+n55uy;ReL_siNY2bg$<{b9Gg$9SjG3o{y2kh8bH>rw#&LQ(eQanO#lediz9I zasQ(_Bi@d(GSg&9qg;E}2Hbl2br&-5(T>*bdX&7g6(Jw1mbF+ENZhP5*3&w=1uKST zsn2{)GkR#F_D*=Ri2G43>#-Yz2soNCR@=~`W^!d_bqxic_Fz?N+Rqy*8$DW8_GBCd zi4*h)@4oSnBCeq3GOJP{WR^l9MapRp7F8(sY!Qp@7)_p)rhbFx&Pj>C!|}pK3ySyX z>jz_v5*!DLF$m-W9U%p30~FNyN26tCaWwXWg~`0oaI=QrW)-|!QJ6viWb1pr-=|4Q z^U2)XNo{R+zz(}cHvyu$xm(nzZ%Nke&In~cPg}ct*;925PTC+Sl<9p^Q<`C~Q_k3S z&Gj^o3O5nZG!LcHTmF*;kwe_5n;=OR7vc_A_vQ^FP<-9Jl(Ff`LL+= zBp*Wz^>DNu=W#!`7I~7v-`v!~-G<`)1X!B@S)k&ZJKmV^qMc^}ZgWtzEP11^Lw(O; zSKC&(59*EW)O}y;7Q5!V?;Wbmc2$g$Qgx+_#IIzpLKd>jroF;>J-JRc9} z^=#SBVZ_Fvbbwjhp^F{0Jn#2(h0&rWN2*i}N-bSm43sSxZNf=+$FeP*xQ)@v{X6ix zy}Jt!{yes&XCt=Mt0ykO0af&$7xJW?lki;8RzA?%V9h(WkxT;3fF{+(Gpo2A)P@O+ zKsI3jaHXqg2+?MF%e1zkiv5w)Gq-WtF_q2rnGo(8`ijmA3OxHQFSV+YXtA}~R%L~S ziDoMR5?sEI$P(Z_M7ceXc((v zHFK)L7LI9b9S%gYzG|N)JC(%5-m|MWTyP{PETM`GOY+=wR(kRK&6b^K7%`^g!7DI9 zW13L6(bWCvS{JG)_3!+3XSep-7n+Z)w*DKtH}*cct$E&ZoSCS$+G6@?YdhcdUDY;^ zTQ~R3m^B05kytp_$%5yan|NGf$qQ}Vc*ifBrayJ()Mw^Q!3~N!X>lRqw#hnZ1dHg4 zjapTrOZebLzI?I~??(HzC9EcJabVOpJlEpfM`Feh24$gJi_5&mJ67B_XT|K!4G1(j zdu0QUj8-}yDB30gse4zfXncxm$7krgxdI1n_icxyqYKHB zBCi%X%U|K>$N84ks^*hDv{5tR(qXLQ3bH|ANCvTvOoaBExJ&F+&F^v|3!7DQM>bjB zv5hnJm_Ii&gVj`!vjdJ{ri5uRGR7W)iwPg~(f(=O%chic&N4k~v{^nLFYF@(iOI{@ z^O|Zpt8V-|!LC9p)#h(Hu8GRO${e#b{BS#HwMRw$yiSD3f?FJVNk2BSr`<@b9c)K0 zCL&3`vZur-8WXTQpVEchYIk`nu7+ejb_KV#cRhi4h7d0^x`j17pBkaS7q)$IS*`}N zHW*&og@KUgrN|2F055QyiCpL@25USSrA5DdapGoCJx>7Z|g33+~A6ft&dxl zx3{;#p{jZ5Dn2~VC>`){AN7r%B{IZ?lh}5~e%_eFvoK96Wx>sx z;YW;DBIy^-!P>Qv7LiK8Wg<2}ZF*TR47AnOoOVDK6UjPVMvbr61}RbW4+)vAEf0C6 zhnJJ;slC>{INI_?vvyg&sO{%!t)(_LnU$&Aul4e@8LtWRge_dMVG>>TWPWzTWvtrh zIZ`9^cm!+Xf49FH5paEO}N{N+q08# zC!r>Mr>0;98gxcXjtf}4(4JC)3F+}IlM4j4bz-d7Q-H#Zr`T4dwlyymgXX{e=^~AtKtJ9?=ksf*SOG5Rg~U1X@j_UfJNP9LlpO(>orzZ zhix&2BdQ|LOt^N2BWPVU8YE zTf=D)tcg1P6seXm$&k9R@j1Gsg`6AwLQ`m|Hj%q7ETHa@CseN5ZvNA z&AMH}VmlR|($*>_raexMy(jLRc3E=2w}Uf84fZzejJDStT^9jae8D&pME11~bxj?G znNP#yPDEO-LadJ9IO3%^S1{&oxH^D#Wzqr1pP~7bKzB*N_KlEUC?>yes&<+#&q|Q<5G?U6= z=dhQ9GN)8VqXdS7Z5Tk8@BbDNsxd;}XWPa+FBB$JrP=OQ!ryMPiN7Ppm;Gw1_}{^I zOD*4y7@zMNGyUJexL;qGTTb*b!VLtJaqZ`v@sN$^dShH0`9 zkTJ~p5j3#j8D4@SO=v7uIeGao&W(A74P1(J#fYtVVDoW!k99W0HF|zjpu7fqdyM|s zTc>qzYG8>Cog3EmY=Ot#MoybL5iQpPMfsM_4X!@0powj~6c^Bjut9zssl4jx29gDh^!YMikwy~%TK$^l!x8l})XO|v!Y$6CfZ-PdEb;t^o0LJN*uSlYNl_WFcdEgM*HCaK|v3znJ* z6nXP8CT`($M<5TocptesleOVFGIeYsvy_x5G0#Z?oN(4Mj%pQ!HbQymQSi|%64i*^@W*#mAdv`#FERLwVmxkVpa6}9U<>uAn|?C@Y-&l8)T zfIDt&t?Bn*w272;)LhCr%KcDFNXiHhM#E$clW(wsKWs0eQL9VE{2VyB?bqhWm}8U$ zmY?^3b)JnoT1mjS;Nn!$_W4{U-}+Q-HJ-VHkJp&~-Ku3QFG;zx+oVY=EOcEjo?X+S z5-b{C?A)*|AryqrOLmS5$GoFc*H+%P&Rze(x*w)gF~MpUGp*(TEL|_t;s)f62@)IA znUhQvEMB^ZFs2ZVp<@~|Xd$Y*)tt3u8f(7reteZ0qM@I_4P8VsWphc}FrX~au}Kn8 zB+Gy)~My|Flx`onRRmKhFgTA4O$l1ZJGe zI}+8snxOtIYK-KK2nbwD&*tr0y4S7W+R(ISN&~L;+%*lBw-=4uFu!wkch{zdCAjyt zX-#+6mPwPAbZyy)0151F^xXQcEnVp5bz3@dUwJK}sBGy{gzYu!`Bpt9**#boY;QoQ z&0ZwvS(+prRt zTrJT%37JBOr;5+14Y-Kj{n&Q==37=%8#EE@h2F14eDy8etGDqDLyYHmldx+OQ=uMr z;20d6cN-?5rZn@aYvxWgWF2jTa39`8(2<^oC)VTEWK~VjM33=(~#T(Z0el7XVY59H(p1aJ!#T1eCk|{Nam`Gbu=^%tg5-y0b;^>)j##F$H602 z*%}O;f#wA&RR^`>1O^@7jpYOn`dMCWHK(Kehg%z#E}p;aXU*-c4Q)#smb5SaY1_Qk zc@4KVF9m$-)P|q6Eqi$J@?{O6Xm4J$?9qnB^BbBMJ=*X{+oE|>8(M$9q#X}rG%RkP z)V6TR0=(ofwV`cM%Yx<3Fc;|-Ene2JplxB>GGw}JaRUqVtne5eGh5i&&W)92 z&2!rpv@Lsd>ZJK?%N8-u`HR~dni~*QZdqH)@&(Q94NI1{FIl{_6~)g(wu{;p&2L93 ztqXBaVme9%uA%j(02-D)+`M1`i<;ED9Nf2)zlN5@OCD`+d+6b14G%9~Fb{X;8s@fw zv*x)ATCFHls%1fQ+rp_0^O_enKSb`@8x|v%_DLi&?izmfa4S(PuNnWfEW_11R-RnHvLBhb}!+J3@PL7IjT_WaPOKA0h zQTCtOI$`8%FSJS>ud(W4C!7-tzD{n5w>nI5kmmQFnayo|5(5SY30@7iw&&!R4Mr-~ z+LlnLPbB5pT#VryuXsDiR!2;Nl@Tu~K_M6GT`Zo2*i2#UmhvIof{$bIxvFc+mYyxE z@TSe$4P9FbPXtV6XmiZsHukRb1Cf85ELu#7aJJ4=WEr2aN%U?HAmR;tf8$n!E+myeh6#DUSJCzjZq;$xunOz-RZ41!rZ%ivHGlacnXgr=&^jR_+=n&M^4z&k5to)&9O0TG z3a#zN^!;C^LN_g8m`ZQP#^k?Q@txa|fD`>#?BsQk@U19Of||2jg|aI?L! zdE2Hn|2oyUWm?A_9kZwXkB$}7{%6NiH(RIP&7Eubtnk0axYE&ka{`7d(*Htwg3Li4)?L37&UJhe^LUA!0l(M6ehTw({Q$S3#TJ87Wk)XvktIk z7^K2R`c}l(oHldTeZ06U@WF;zci+vao$ukepB5e=FQ%;PhBedNu>J@3Al9wx!T}9u zl9)3)Z_^t&{ceu;d$itJhlxN_xb33N9!uA z58GGGYsFH$r5WpN%~EYQ*{WpzVEmiGC-27nD=a;{MjdO`gDZSfsyaJPGw=Ih$LWV1 zryq8le%NuEz>ZV#qC@p^l@@F>7KpU8b?xO0vzKm`wsifkZ8!wR`VucptXhSz3%Jd> z6(+EA^L;a>Z(hGSd$HaUCN<7v8ViftMw$DdXefN~=?OLwyvWVAuAV)6G!b?dU@|q7 zL{_5;!{T#{!t%0ooWe5E^$XMbux??+mE)L&6^X82m}U=k3oFhm#w@Hzbp67#!m3+X zaqTr`VMU_r7p8Sk-NK41q%jLC5?#MAtybz5R$Rx7Sy+*10)=ssQNOUlYGdre3Pjg0 zOq2b(g%y_pV-{8<*rynfSkZW!O*-B7{brR}?cg1=ikcmoB0w>I$x3jS{G;|&!2 z-P+0SMMcWOg#py2P;p58#g-?eSMfubj1XL-t_rfFEZedA+2o3?kP`Dxpx zts6QX;@)nT4lMl*`liOEk1m|Qc+sP)9%^r1@-WVsSK(lL=`yUf+kcLQcT>}28+tl% z?YUz~OMB}o55s~TgqbrCOT&V>9h2q!zeTN~(L4IaKWc;ed7{%b>h*Us&@cJA1J-@{a!U&OPOw z$ICkh%e#)2cbzKlK3v{?qP%B+c~4*Y*&XF)kCmStDDOQ|-g~mV?@)PPe|i6&^8VxH z{e$HLN6QCJl@A^+A3RZhZh!f?zVe|R8u=@++sxM-P{eo+!V%zx--n`Hwrwe>_(H<3RbfBjwjlmX94OAL}pwX;1l2$IE{j zEdTjv`Ol}ye>q(K%Zc*w{pI6*<=1zVUq4oUeW3itk@6cS%Wobkzu8~z+f(j4UhW$# zzjd_y)~WK_hs$rDD8IA6{7zrFe@D6hSh;_o{O*zRyC=)<9V)-qUw(g2`TgVN_Xo=- zj+RfHDt~ae{K1LxU-y^)+E@N?NBP5J9xQ)y zwEW4b@~Ok+Qzy!w?k|7ZSN?2A`Lko?&j!k$A1Qx+vOI98JkVc0y{CNoc=_~T`OMMs znN#Jnhs$SAln3{h2m8uHJIX`H%0mO?b4SYOPL|IfDxdGK?ATM;alEo)u(I=LW#_5N zuEUjGCn~%5S9bSR_Ux$aIab*-P>I4?KU&#;s&e3P z<-m!`!TptkeU;~SRGvFld2XO`=t$+z$;$JGD$n;q*k5^}ukzxK%8SP;FAh}xaHR5wla(WfDo6S&FYT$kbiDG?VCChbm6uOdUO8NO zst5%BwpnuO6$sI#BuJk;)%WR$e<)d9A;4Y)|Fb@yfBm%Abx_{&cGH=fjmh zpQ!w0f8{TImE$`q$B$Kx4^&=1QhEJk<&8s?H~K4Y?y0Lm5=sRK003cXt46}(aOiCDxVy#d~%|4 zYJcTaU**#sl~0dVJ{_ohcBJyz$;#)4DxddP2KH12j#mZ-E2ocEPM@lrIb1n&qH=bB zdaGIXRebh2{pP~}{I<@}z?`Qw%IgCjeRj_f!!vh(oB&J!cM_K)o9 z8`-^MWcRU=-2)?gj*RR%Ir8kGk!Sly_U;+kdwgW?;K;tCBl}K`>_0rR|HR0F{UZnZ zMh@;6Ie2X3;K0apM@F7IIdbUG$f5p`=l6^}e|+Tm!I9q`9r@j4L4`TdEJ!}~`L z_l>-;W8{TnBQFe$ym(~f#gij{I5hHy{*fblMvfdGIWjo%($SHZPK~^Lc;w|1Bd_cq zd8KdU=#G)2$3~70jJ$ee^nu$NrJm_KduCeB`ykkz+?kj-49$)8Uanof!G^ z{*`l9l%734t+e+I+A)}}X(NArbLEs|+-}Rp4c~v+vH7W%HP7(h$N29rHt65Y&maZB zg_{U2?4p&N@#DFz_IuvF`aSnfgXiAuuz#QH-&qi6*Jq#cZ7@laBfE_YEzL_?SK(>rc^C~= zOj^9?09l+GxC~iX#}?d*Lv&9so?3-AbINLKbKDP->-M;?~nEGfG~UY?+#(k z=qT@tU0yeVX0PB7ty;Qk>&Eo)vL%Bytq3aQI!lKg-dbyKeQ4EE+*@6?YSH3VtqYgn ze(Td!=y|QUyt=BTdC9Wn?Yz@wo4~2g2>VyyI(Hi0c~g)ETr}i`DpqF_E(Tlg*T|C0 zg!?$E%buEqce*Iop&4wannck_)#*$droj?nr(B*&cr2ltao`KO#I6BJH}7}xl2)dJ z9bCR_{@r3^ASKKnG_z*jb?;sG-FeSl_gZ0a>sqDArMS4a z0kVG`(N{H1-RjSy~ ztPtp<{M`G6qRk+s>UwgQ*$MN-^y*u*7)mU3bubWWke(!g@p8|mUV1QCx5cEwB^SLo zF@=%G7iDo%SJ&DNoVoNo_88^~Xev!eygqjSGmS7vC5Hu@^3)_nu-6F}-~GLmPtVJV zRo^_`zU%tWnt1u&PXpXJVFu_CQ`3v9yXb?vNb&$NkP6W*xhQO0t$V!Vr;BkT!bMu( zqA_RC$ZY)l#^huCWVLMgs%A_+t|QlaqJvH0+5)cf^&iuMpNuz~8-2xj`W@T2Wbyp! z&Kxws$;IGtJKBuuo6?bu&HTNilI@d?akb`{%i)9*?HZ*nPN$8UQk0_pgkiYfa$u&j zxKgoKKai!D0NYucam*-?--HWh{<6!?3Yqp26bmaB12uHK&ooBy)ruI z)V}+?wyAO9TueNDExu|g{i`q|!&ui*=L0s16MDhopS8Ao<3oSr9zTmUib*{zZOO4oP+h8|hY~mrq z$6;-(MG!5m&rxpVQs3GxoMN)T>K!O;mRR{lQJ)}IC1mWDF|vv+l<{&)G*cDe#qR)) zouTiJvCj3`OFL*&8+_d$7DwGGOp7nyZmzk6RQtIJ`@h>U(OvU6$4%_;;FoqKF?%A$ zw?3?59`fVw*|R5_b!3a*+@)i@Gaq9|Usg(aVi4yVXsp`!=c?M+h=@}1%nZ$& zFKyQ0d;-}_oLyu#9=rHlpWV6(s|heZp$sR?J~k@G;T~Uk_kZ&?25-AwlNN|4+SlWE zwdPO-xxKlbzD_O^ZmH`DroPwj>Kl^G>*h0Yj>m6ao6i2z?R&j!Cd}^miZmgy$1=b+ zD6TK96UuLbylWG8Of`xvUYNE`>yn+qA5fTeiYKSN-s`b^oot-d30)r@b2uMsDEwhm zrMnnI<>(GrI^&%KDPqi)!st2&6QCGk?Qb7v>&#Q8HW)>=4}}w82}J~8c-q#CIp{(3-sHvg9aPEm~YG4>AqsGJcF<94Yq-eJ=>9y^E!%DC$fPBW(Z~NRdp=w&l@w!9*4Rtl^h5sj7X%>q{D3&|nx?g{WkZSI&UFf@~ zb#yhp*di6D4!Qq4o9}KCkr>SSkWe8Q|C|JV-vT(X$w#Wx_g2sEU)4CB7)RAK+xRc2 z=l9*AknwS9iLd|V_Jn0-9n2DxaiJI@yzRWk^F5EM&Ex37UOIsUqLuRvPbUb;_-S{83lkdSr z=zH(PZ(M%9_b&WD3xDI1^*t^4n>4`PjVsxA&&A)Q!{7HJ{j7TtwhI@i@4@eTL3_`A z_M;X(%s{%CNH-JdW+L58q??I!Gm&m4(#=G=nMgMi<(d)-MZ}Y{FfouHJ4u&`Xo>rUxG%mbp4z}|pN)7L+sL4tarRCP%zwA! zKObqSf5%nl7U{Mp=2*R(v6&2REbGY<=qXic;~_XE4F;g(xHmzrcwa{MICaGl*Bkx* zqMk&mz5xS&3=2y4)U5gQpII4%g`=h@DvqA4xJ_Y(?H&Y6onkj=anWY%J7hVTO(iGR z=ymH-U@_g;nbeDL$7|N(YM?Rn)FfWj@OFgF!+lelLc5Yb`4RkSNgF%>d=>RPr*@L- zkv~!=cPpq~=8x3Ny^0*CUY*-EY@My^A^CPllG`n_XY*Ab++*RT`dW07g+en;wyvSf zd#Pp+CsUPC%d?!L;+Z#KP#A9AVdy*?=hEwS~*YVdLu7O=}R18#|`BD>thFH=%6J1^d&@ z5Ufp&8~LsV2&VJIa}@$#Z{fi*m&$V*aQO(Ef?aqaVFR8sv5fE_+HAWkjb^G#(0JeK zZp6Bf{!V5nSmS%GHKTv&JL+#uP$ZZ}CZ5$-a zdL(94PKAn1?grVfSToR~Re$9&ZOu$~i)fHkd9{u4o^Waq)RhhxKS4r}o&{pMk!k?K%e9fS zLjEN{Wuv(2?n1-4`i#mBU6t?7rfk^KU{$$DRM?5ERFH@C-GGpV+KnR*UP5;IL6a>& zw|C$jMEDl%WI01jj0X1hc595 z0l<8>`CfFSSDNFWWdTgkU_N}`tXtJWEXG)@W&z$Wx*NPq87!l2%)mq)jImsTc*hp% zr#jAfvbhBwA-7||UC?kFTxiJOPp9zD`}pUwq$koHg+H9}Wa|w0eIdbv4>ru4HD$VE z@5|VGpdvG{ni%!X(Z+!3Ex8ix*Pgt`rl*#lF1sO;vCMhR@U=!JJsDgxv}0I!OIl^) zvCz%B!Vc7R+sW6p@zQm?JMxr`8=YILa^+f?&AtXX@|h%Aes&9c1zia%h`%t^rd+st z*bNw7mHW88-nRx>6a>HM9WzT{w7Vh2 zif}Ggj|D@Db>WY(E^NLt8ANu6n_;EY#DaB}aZ(=@%wf~yBo76w)X=P(@<3vYHr8~h z-}r^?E-iB%#%*n5weGOa6r?B&CtgL0#4RkvxJMts1yMPpfNlX~fC497@0QT{#cV#C z)76RDV?!hS^)UFukrT<7Cv)jm7VamI1npPTrdb~FfTZI8N-v{{L$@2mnFMSh#)=sNNF-t_sN_?){FrUSX(jEQke zoI56Fe>ajN(o~NS62`Gcgjl`lp^n(u(c2bXPvWis-r6F7uFfGd+q-&uwryF{)qBUb zP2Fp;oP@`ysHQh6gr?-S=5DUOixK~jwke*8_ho8#t0gMSfwukDYG(RPA7M zUjXdSs@Vrld*FA~`=G7l`|5q+5^g3!9aoj1%(P{EXKgvQcU@bEZ&ufqfL)n-*>md| zc;=m2%bQWJ(={|rYHa>$2Q~^GY-qfI&=drBI*8~L1a~=z=o$ofJBaue1ou0*$H0RQ zK1;CWt9KmSN3b;&wBNue=zxJy&_M$u=jRBvrL>0(jI_@i7-@fJV5I#$!9|JZ7YHs+ zS-ogrWc3FFBda3@Mtxs0FmisG;PRB!s|H3^e>5<%dd|%?-T4!X-^m!X+JP9 z(*D)JNc$ndO{o_?BG{9%LWmTCk<}*#MpmZ`jQS#03W+1<&j@ZySt0TY!N>|hRtQE` zXAO+Bh}bfzaeE>jGBCa(x(vm8j|uP>QjN|8x@zq8uTqW9uL5+{==ZNujn1zEbk%Ss zzd%$N_ECV+l$PN63u(%l1WHp{zS`$GOHkP*P@2-3 zDk#&H#d#=IUy8FX zfl{1@5*vSJ&g&BR7lIEZHl$YT5-7ELC{*JMsnxm!O06DF1xc;eCs1nD7V`Xs^r$<5 z(xbN2bkd{l1WJ$E5|ge+Avw~cw$wPTM}oCS$kinAesQk(^;kEA#o5_pa|FN&-#N*6XIP`a=vvbrc;*pxu& z!lKCPqI6+X0;LO!qa`m&yn7NT@m?Gadr{)ulR%00;;)`F)wp<=O!g#D<3f94QsTWO zffDcb#H7S~O9Ca{?TJZ=_m%`oyqBh|B;LIVlz1TVevw*Is_~lyN;MXL^_mIcf2hlP z5~wa)ofN!mLTC~0p?prpM!fs*#c36!+=Bv7V)c>-nXw>>@dL)5Tg~t;pRahJ{_&2FS zPXeV1e|s;LEM559`w5mZ{Kw}hH)+HFelfukfL|q00`O33S4sG~1WLjerB;&+Z%UwK z_`?z&M-wbTzA%trpDg{}1pCV!Y{bs50^CWk`KuTF zt522!)Bw?%h&4cTB~SxIYf7sDqAP(KAleeK28iwiYO>Uph&5U2PM{`BixaVrCc(3h zCc&hSCIL#n+EZHT*OmnOXcENIuPv!u>DTf^EdAP+K&jXAL@e#vmOv@j(y!k3mXvPw zCQz!iEP>LjtqGK3JsjfnrSxch0;NXHVaL9d8gwR5YS0?P$Cpxrt^`UAF1#Fq{iXEa z!eq3kjA$U3w|O5}`}4Bv>+Z>D2^Fh%Wsl!4jKGNs}%~P%gcjzDrWRKA2#M3i9)1 z#wE2C(g&=zy7W<^S6f~BG{I`COP?oLjdkgCg4J4IKbK&&7QTD_UyJ{*pG~l|;L`b^ z|629Ich~%{r3YUhNU-Yn^@|CXGy{(OCC-;$3d?g@rU0;izbspD`45r)vb6v5-t=7> zeff{+yZE_$H039LF25Nwip$~$-+cmoSvqieAi=VHmp_g4->CfoJ3rq@S1*4O<$a_2 zeDiYpE{(f#ITiZ+jiwske41d*H7>s#^xs;0e3oDt z$IFKkZ2X=~uU;T>1gpN6KToji2>Qd<&EIOcMSBIT;TGQ`e@#8{Jz&i}FaJ5gGDMfpC0Lf| z+x`Sgf4+S;!P1}0A0$}%^Ud=Kmi|C~f*kc--GG9+V4MK3iv;zkN>$d!IHQCd@;e2pW(j#;l4r3akx+BeYo#r0i{+L?)#*G zQbmW~**E<5IZybGYztBEyb>s>^Y91zhCg`OQ6I?S5_KXHeqaen6$wAEgnxZ;_`^W` zRi?@#D z$I^)d1(diiop`Q*604;X&lgZK&ZQGC6i~8Pr4wfgC`~>~Ck6{B%{NOY&SlgG>WVND^E@yj-H%cx{F?;g}b5 zv(kVDkhK}s05b2Z526O@khK|>0r=v@7~o0+QnN4qkP(`qg2JZ=r2&mGphyS}GOamJ z%~QKFtUoY7f`*2w8(ts3ceTFqmJ)B#;pXII3ux#qXUxgwL zyl3AN{668f+#)9kcV}3`*oEKcCf7K2;lqs3K=w$6HIO}?VVUqpa*Z^QJ)U6=WRGOI zl6`+X!y3pIWO_|>He^^6ozg&B1(XIf)RhK4&%L6-Zb8oT3~RX|!?FwuvfK>X_awVA z6AN>l&hh)k3~O1sF!kzbS%ZxkmNi(Ics?y_urb5328%Mitih%X%Ni`o^s)w_X}En;9d^uq?x}3|liS%djl-CCjii!?Fy^ za=m33wq{s%VOf?j*@dkcmR(r>RiE4D)3OWOGAz5WJXxaCvJ2ZXEW5Bg=O??cEyJ=4 z7t?~gbXsQNVp=hmPRlA>d@qZz%)-SqXD*$VUHED2NS98_F8n&fvI{@WZ6dqy>kP{- z{48m}8QFy=GAz6Bvn1bVWEY;uuLP&W_XO8Elmim^?yq+;q;4cciN`t@Hoq3fCgCeme9R@{0NQps_Sd$imA|a&4 zph&Dqk3o?TQe^V#TL+~xQf2a*FjD5$+z-;_t_(|+TXU(>I+9w)0~x7 zUpSQ!QfpA8rjcHQA|a&Mph!(4%?3q6NVP$cnnt<}iiD7Im(Cu_EhF_VoqaxIq~QN? zJhP?||36;O2x&Yh5^EaqL6Hy|@IjGS`!i>MphyS}`JhOw$!vfkA!Ii|@unM&vu}7F z2_eg|JQK)pY|F6h#`0XI%*M71%WC{bo|m7M)%cH-xu&ujphy*y)c{38$ZCKhRZK<$ z6bT`l0g6;H*$hx5glq;VQpIF5K#>r#8IR^tWiqyBSQg{aOfQ46J;SmWk7k}^Ew*P^ zw&Kyuk!;2G49iwv=i7I_N`um5AbjhqG$>65KJhfTi`|6}86#aLO-x<~rOc#B7}Ms# z9e?*No6?|Z^We^mkv8L;AaNsg1|o4IeJ%~|&t*%aOM?e8MmkNJRJOF5GzlZU22Czo znhlzak#6G@AaNtz1|o4I-7XCt&SguvOM@?DjI^6Hscfk?X%a^Ijq{LHl9U&SRFZVJ zG?=#JOM_D0(%`GPBxx^cQoc4}2Tj6Ae{qtLN|JU0kxG(wmIkvC7?gUJ2D23ylzx&X zGr#6WjX)6$k8)<84Fk6X1>1%25qs)yomNcns=`3jy#zy(Uleugg zp3dB8tS3z>TcbT`5=P@aXmZ&a@IjL? z8u4*r72FJ&oj9Mk88SODlZSCx*;UfF{ZwGCKj9gpr-VSzjv2Y`|Y~NoE6v zvJDtA8!(h@z>wJh(4>6L27o4EWCL*OmP(R-0}(AeWcodn^?S(ldnoJokm)yQQog3& zph+0%cWLNwYR@4J;H9A#GDai#rMGh7rt(8s!G}!2fk_!lol8Tn=4>?l;^;6{N(v4{ zs+1}CP*(6EQ}Cgz;6tY1ph+c}f`cYuOu>h;f)AO34`l@(G6jD(b7KnrZsx`md?+jU zkSX|3R`4NHaL}Z(O~FBvFs9%`S;2=)!H2Sf51E2zT^%w7Pv?}SA*nO0Vax)Cq`NQy z2_Z#=A|!;=5<-&@QbII%Lb%55`1`Xy;W;Pe!RVMVKFaRO7$0SKXN-@sdospH*=IAx zN7=m@730{KFh0&6%orbMpUW5@XAfnJkF(EbjE}Rw%NQSLf1fcL zXE{=&(xr$TDH6s<+BY)BN7^?t#z)$|jPa57t&A~E9DF-tOcMv+$rzhUW2{J}AGI0J zyBTB3Irv`2_;~z&#`t)AB4d0!{vcyafd~JZF`7`920zRgsdNd7miUoQm!N0~<4Rp< zA6M!^`?yjU+Q*f;&_1rzh4yi!F0_x7x&&2ArAw>R9y*!%Ge!R>BQ$JZD)3^Op9kb~HbkHMET^#{ z`h~PIKPOv&>1v#KoI6dy0U~U{IT?pbFXTLA9R59$wyu4=!CL3fG;%+@q5Eud|syFRA}JTj%qV zdQc=uGO0hGrT)B0{aR<-jKyqm{{(1D|D#diTnK&of3w z?aF~O33E{MnJWj*W{kDW!Ce_+Epsrp)j`cwt{mK(X=IbG9Nd>N)>8-H$QX(Fm4p2m zqqezn@ZF3t$vOCb#(4YWzI)DFeJIg9C(XWc@P&-AemIz=>p6{~R}SVjd`^0JQ0H^)t%25P?GMeJAYq5$(ml>`9c9D^LcgW z9||ZdsdSDCy_*byuM!c3Dg8`lvu9vwn5gCk2#Mdsm^_yR6!~J}*#7x3BIxT|ikK zcNOZm%j&pms6cg&^O~!>&S%ta*?_CNcNS2)M74WQ0VSQky1URgyJaA+?%rRZlGb0{ zU6A|TCig@|L+{o+;_B`f3kkIZ5Gqkw+wU%@!fsOqq7s!R7*}^6E###cg;0sgv}1Qc zJ9e9P5S6Gj&$zm)AmqEPJ9ZcPakq)w?vsTQtvhxXx^}lo;qHQv@3tP=UFeS8>W+WB zuLIa_`;FH5<%n}LuM2HUA1bu72 z89V3%efmjIL~#!&WcIueP>&&hEI==4qcd zp4&X_?*cR?{fc6nr*)SII%Kol7mb(>*#v!~Xt8JIlh(z~hF{EF>}mZ5=3>v;$FAj` zm21Fq&&oZnmU~vmtlZ_E_D=>r>cqzl?DVW&572tyjR38JetgpDT=m6Q>xH)hv|ey= zrb9OC+izd#kWKL20Ii_+0)CcEK5xX^ z?JNART{Sd$`@&U&4%y)Oi=-M_ZGPdZL5FO9O{&o^&{cyD+5GCO!xk&|3)d7nWb>pvI)AT&>@?kYYH8*3A(1xA)BD91|6~qx@yoN zo1m)(9kL0!YS1B@psNNQvI)8gq(e5rqt=pi$R_BDLx*gFt~hkaCg_SohirnbICRJ+ z=!!#!Y=VEboavBF&@Ud-A)BD96&k%EY3A!H9A)BD<5goD#x*pLXo1p6v9kK}~Ju=Yshz{BOn)Jv(x9fDs=2zDgI%E@c zO`$_JLDv*IWE1?{+KLX@1YL3HkWJ7PhYr~UU2*7;P0$sG4%q}jE9J3A%XGA)BC!HyyGGx_Hweo1lv~ z9kK}?Hm>N9P0+^$I%E@c@uovIK^Jd2WD|7prb9MC7jHUb6Lj&WLpDJdZ#rZXbn#y5 zS-E)kI_Tm}hinqNc+(-9po=#hvI)9)(;=Ini#Hvz3A%XGA)BC!HyyGGx_Hweo1lv~ z9kL0!c+(-9po=#hvI)9)(;=Ini#Hvz3A%XGA)BC!HyyGGx_Hweo1lv~9kL0!c+(-9 zpo=#hvI+XAL5FODK5Eb*o1l*xbjT*?x(P<@Y~kLbj~K|vnM)d6Lhtpb2dR&3p!^L zbhV&!HbGYlI%gAfwZK`yg=z2y6ZGx_4bkHW~Iz|U=g04_>&?e~WLf%OoNmzjW9COtiQY7{cmkf z{N457CnSZZw}f84--KOMaRjEMmt0o=-3}34ROJayYL``cf)jRO#j%d1cJY)aIKR6< z;#kDKyF^~%y#Ri9k;LJXvkuR1@rNAui^6*aIT-AnB42Rk;C&)raKhdt@&zaCeS#9K zMDG;b2k;W%`)wtH2bTD?YaA&AN1b@6#_z6k_-?S*5f=&!cFmDDIO$z=P`H?p`VdqEQ;DntYc;oIRzwrIG^5_jt*zK&m!2!ef z+rIOb1!1=f@&+gD^^rF?Vb^YXgA?{aP~PB#eSRo!aKf&_@CH`-@cmYK@&@O3pXbOM z958&pjURf06Lv#=sGh;Dn>T^adv!^`$pBVXv>e!3n#~k~cVEAK&E-PT0qHd4m)7X|KG&3H!WP z-r$7Y=*b(Luv zt-fy6@ZDfHYWS`x@waZ(@ZDfHPVxq4c|I$UH#lLR7RVc%u*<8w!2!efTk;`qaKhex z@&+gD?I&+=!rp%J1}E(8CvR}T@cmYP@&+gD@+NO^!Y)7Z1_w;fZzXVdaG|^n+#Osf zuco_$6ZMu4gu{I=(L-D)SI*(SmlMk6Z@BN3gmMua?mL!HE``H=uP2lX;&9&^3FWdl z-1mM$xi}8@eHbWsq+5l|O`Uwb<3`5a)P;%?-+q1gZR7r(DDmw#5-PHP`@=x>y8sOL ze>~i83H#j!4EGNN>fLCG{+AOfTB84zgo>8vKbBBY$Nu*N^??st?om(f;XH43G>>|r zqK@WKFI3d=#OuQ+jMWdKjwjv-6kO~rFY~)+Lb%u)%KYwyiV{DR-@Q;#qWRqu1s8iu zXnyxZ!NuNC=65fYj{)v?FH|I?lfBMM=wfdP&F@}R!GutBy(bo4_C{!~_d*4sx!wyE z+=2?O_e89Pogey?O=C5=*T^jII zodLVWW&i`xdln2}AlRqJ3}7JG=fDhLAlMs>0SpAYwlRQ#U~fGf6WJ86G~n}K99aa$ zo0B07l*aXmAq)h2+cJcKV3%`-Fc9nw%@78HeWuJ127-Oo!w?37eb&Pe27}rZdnN8P91Fj%gmj%Wx1p^rB@ZWS2HK(N~chB6TBHi4lG1iMYZ*=^Lwtpd&w1LJmqG$wtg z-7=8IF>V`h~?~o4FtQLU}yuuZYLPp zK(N~hhBgrFc7mY|1iPJJXam7+Cm7m5u-gfSHW2J~f}srryPaTY1Ho=57}`LvTM33X z5bQRBp$!DPgd2ZlBf?6!fS4FtPoU}yuuZWkEZK(N~dhBgrFc7dS{ z1iM{eXam7+7Z}<=u-gTOHW2J~K%otUa3yAF1HrDu3~eCTm6)Lo1iKP5w1Hq(V%!Oe zE_5aC%otZ<(zqD75|hR;uEeDAoLz}Y;}}r%8zFO&wt2cRe zj4L=p9f)IBZ-zP$?8?nh2ZCL-8R|f=D>g$N2zJG0r~|>S*tl{PE#Ru%l`x2GAmt{F zwZK_dZ_+r%6`V9y@>y4L(m2MIoHSPYSyyw?IK~wn_4Qsm>#B|#2ga41ArDxGv##t6 zc_7%8ogohdyRtLnf#5VLa5zl~98MDg&o4~}98QygXtT3vGLSH7GLTv*O$HLil^*xZ zf^%2-Af0cpH7e0o3{$GB}FjdSSMg*1+F`$C#GtzK?nNaGl{F${vBesc@MAP9opzAy-a zV7D#|f*{y!3l7qwhHhJMmL3?lEu`@px@{qiW8Aio#&dStLK?@oZ6VEWE8T4iX&mFW zg*09Rw=JY`jN6t+qinY<+XHsH!f*(xqgxe*LlEpXh2ancyG3C*1i@}k7!ES0NIVxvQ^2BnaW!ONz+a)t5AZa{U#RXYDF1Do42%lPVh56`53la$Q!S1hL?% ztUw7uxF(Y#7;sf4O`u$tMdb{*GKZ4uqmW+ zR9Fj!Pf%%LEf_vQh_Du*@aiH~f@KYwK!vp+m1iB+f>e%jJAk8VFU{=$5MG+w0a8TP zZU;ycD7OQm@~qtsh{{nu8z5CQu1^O@6{s){45Xk6ha~_a$_uq8$}{(Y{1Q-+lUo8D zynF535&+>@yCon+WbKxKG=XwUASy4-ErF;U<(7a{!GK!=QUxk30V67?c3}w^Q9+2X z1fU28!V-WcP+Tm`WZmVg0Iga}LER{%0Bv|PT{%_gy-R!k0y5t*Lxt0 z0w*!1EF87v%v6el8jaeH3Y`YkSB(2We$G|R6apD~P0F2t49&(oAS0{h3qe^mV+dqe z0gmEccGv-q;*JVS0IJMm*aFQQf-i{QxT zsF+89D)SgK3D9L^%q2*f*ooN$DHGD|h>f{XkXsTPbpshQ4~~S+P?#5vgpP{Y2dFYT zVRb;4kud`yWnw3c5h)YWR~j}3M?qnuST+NNNT>={Do_PG6{spp704=E704=U704=k z704=!704=^7080s3RJ;v1**z&1+vO^1+vO|1+vP11+vP51+vP91u|PP+k8OGh){Ih zODUZTD+W6kiDEv(I1=iOuwyWNfeORLND`t6!v#dpgy~`^3DJbZ4E-{En~^RzcWYPjWsi6k|<@Cae?8aG=5rG1`P^ z!UO>kG+}^Va&FIu`FY9B==m@{uLMOHo>zh*j1B`*s2n#qB?Y7q#;px8W}VNwsR1Uq z3p>Mr6iO6Uh5;#r2phvog4Vd_!@{I{gC&Hdu-0Of3MC7R0h&OCydMhQXk1+t0z)*eu0#Y)s4HV& zh$htaFVRDxuI~m#sH@*hEg>X^$rGbwC=Z`${QD__S9bV3UM&Jo5X`V3##U;1KM?hehBJ#>Wqfz#)uF zn?>Ld#%H+}fkPMzq6i$qMB69=hcF>IiohX^x6Tzs;2;LkHk{|^J4D-X3?p!eCi+1U zID~Nvbwv?4gmF2y2pqz=tXl*QVG_@bz#&ZHnGraMIph}U>JFVDT{-0WUfrRs!Yl9l zRPD<9f3g$|&mn$2W(P94y3^IcV|EDT!;Q!65X#3FkJ%xVPgXroj7PI$}?q1*y{%nqU427Am7pp>_ViLP4A4xysj7PCXB zsJ6xI5Xz0gRg2jnRMgR8b_f-9w3r=2`PA>K#q1yo;W@017PCXBU5>Jt9YVR0xN0#w zgmR1OF*}5EGvP5igbKN5fDR9w;S()|@$kSIKCkka9ZDE&&oCZN6{=t{J4EG^t*aKZ zLnxnHdCU%>LOU47!}AL5u$Ud9@)_1ui`gMm>W=@9t~Y8JSgp zHg|h8vL#Eh7R$CQyFH$sp-9o9DN;1GSn@1Us0~0Z0A5uA#7+RUFF>JoEVV?iy)-Bh z>~@5KDnbg?d#~PxU-JD4bMkyYCttpfmU(-Gp~QM!;8Y@^vw=0 zis{fdJG>~oP~YtEqL?9lv%`yGI`qvBD@vxAj=DXd>oy8rz3SmVnPP70`e1o7MP^>t z(pSk8`d+nP-+X^2?&!XM3nrN&ORt=p)^=vGv3pH6+Mn4>X=R%BhU6QKQ`n^Em5ctH ze=>y{R;KAcxkB}ne`O|_LKs&k$mB~x7KSJ(YT(PRoAs`a@uCQ~?2?VNviCz(Q9>*xJzJ;@Z_ z)EHP$e{iM7tUq&*Opz}gX;q433csq1`h&m86i!uL@eExQQSR!n$FF3H?5Te0lC~q`^_%`^bTUPX zUJ3s~)2r9~N$g~bcv#(FJczQjVSj8rnL-R3eP`7^5%y@;GyY@>WvmSPbJxif89`;3 z^F=1ByCH2l|Abi8T!ub=eK$Gh;lFWJ^ED0sl}Y)}bnw4Id+=YK(|k<_|5_+7nTG%Bws@Tm{?|3W)9_!r z&+*{DaoJzuNv7eyGVC8WOQzw!-ph9Qubk5SPQ!oYl;&qT_@85Y@W09U1pnv6_jK@o zSv*g}fBmjs;U&}XUmfOr;6L86vMc?ahX14c(vNBQudXp(!T$y6?KJ$? z)|qekublJC&tw|@E4Re+H2l}DiN|U9uNUP1)9_zkke*Bj|98dLH2l}~?bc)({;R8s zFVpZ}9cFxk|6#?qY51?6g$MYrU0^%>A3gMEq?2j*uM99g@LxGaf8oD+oAU|&*O)(& zuKF4L8UE{w%qRRe^f}7JWWwjGGA#d^f&WTD{LR3B#ZENkaVGeGv?Lq;tM4j)&P4p* z(|F9lf6av3_lN(+Ma7$$i2w6!kNE#k{xlQ(Ka!r$1ph;dUo-Guy()d33I6Yh-x>I? z>s#W<4E$HLQdKeo|J6b1`3(G5Pm8Y^_^*z6-j>Y3e^pBjBs1_|8_@jBz<+HF8~$sv z(zlu5e@pq)4E)zmYQAQI|Lqx#7yQ@9);RG~);Vl_BcGe`QSh z#SHw{`sB|u@L!)~{^39Pn1TO_J>TW?8T{|zKk#2275_64|L@X&_^;i=Kj6PczA^*< zM~{?0%)o!;s`P3G{zI>3g8xnNIs^aJ9_i~$@PAhEbO!!wg?aTK{%gC;FZ|a};!p73 zIL&;)f8(n1$r<=>Txa~?zj0IXX$Jm}b`>9Hf`99Xk01Ou25CRy{}t)o4E$I7ZmB-} zA88e_WCs2#ee@sxE6cPG|CM{v-&l^fdQti34E#sDn1%nEK46>7!hh|u{9zXU>*L$r zpIP{CoWzFz#;){y7XGVOG(NMz|0VTr7XB+k@~2t&uU?n`%))>5J?W2O*eE6?!N$+AU-e^CkJi z96Z(+r9X4<*66{8w?-fP2S1a_H|F4{F)96?gP(?7hE_B@{e%9|IMjk90&oZpH@Jb z55Tp^c`_e>57IyexB!_4@FRUHAej%q2N>`Ge2@txKvsqofaU}6VFjr902~3B55O;6 z&;SMCB)IbdcmNlG69DD`ymEU@`vZ8z?qvCdMSz^1aC;#FMwwY zAT0oRl?$2$0I#0Y`7Qu>^}G`51pu!WI3ED7UXVjC0C<%Ex)1@C8@3AoUcGiz{Q>YQ z0dE1ot9Jyz0)SV!0kZ($k?=17c-3B&N#|z)z^jjx5G(+A2;xEn+#Ut21pp6$T!?^s zLjh_b0`6(~^8$d^h7>Rt0K7&*umIq-f^OI?0C;Ue3Gf1d*Cqtq0)W>pNe~wRymm<)b>vrea=NJC#GmIzv zhoCONe|2}ls7B8X}ygWM}4Fil7 z$OD!j#tJm0OCa;C5Ct&vY%B_Z=Gk}@K+Us>C;*#h7oq@eo?VOrKzVj43LwSCgnod^ zvnx>mE6=V*0kAx~76s7p>;?t#ahqp1qW~VB-HHMLcs3aY5b$g&3UK*nGf{xgKbwsL zoc`Hd6yWvgMEGRg!R?CsjXB&3#?$F(yU!pu<%k_se-z!V3C$yA0SlPU+>y~et~QM zhcx@^Qm&M+8Kw4r&oAx&1kl_Tj|^rLN^@K8rIT$oK{dCH%9ysmAbw}Ua3)X!}pP~`UEJWdfZY>OYm_R*H*n`}9{zvCyi zd=q+(?z?t0mv0hIj&%KE1>n@Y+3yLcmB7={j%R#UKuF;l+zJ5fXxC%96#!U84{=%n zfK^UK6C%rh;k0btFWm!ee&z;)XSh%U{W6W6Fhd?}AP=~jgRQyK7_&I*Vyl|jGiw1S8*H!pZt zv=Ty0Wza9=tbhZ2(H;jC_6hCVW)R#GrvidBQ`q?LykgWtJ6? zcXA`f3P?P;6JrHro)uk*SplhMWyCM#tbmwW8HtXeiTpZjHHfK|QNKL50wOB+cdP)x ztc>~%4l6(_E2DmaW(CC4%4k4CJgtmMwwG@bPg@1V(^diTw0YBRc*)NQsI`;QnB|)U z)XF)}d+fMmqLp(oF`GRUyPy&iUOID?nr``Z?bUP@#(Mk6Qr(RLQ78dn)Hc z0+5_a!LRsi7nG(_@Jr6-vfbNqd9I8h3Ad1u%D5+$Rs$KSOn5?N1;|L{g5PJb0#u}O zfpfWqic~IonrAgokyb&dh%U9QMySX|PXAV@$VKMPa!B>`UC*9umr#*wemQ9cs0cUo ztN<0M=z`J;LPRe6Eh{Ss5z!^66@-ZBCbkuXh)hbxmv12=mG?Yfv>Iqg3VDxwFZtN<0M=#H}$goxM&QFV49BCFwwk;>fK3O5QB*@yv%4CdBW zOhw4ZModM>$Og3D4jI{CZtNKoIo8%K_2hQQ$QGw}8yP8^N_$^#hm33?&UPPLZQRH6 zZikFS&T~6t(UIoD*)h&0gya#vXm`oI)#mLH7{49qNUH=Xsh?)bZ-~A9`6+PNwJB5~LU3x1(OUjdI`t8sXJ?&sMLQAxQ zvK54u?2!iD4lUUuxw?&(RD0v}kdpEgS>A1wq-+nP$|+D1enhdOpd`)PSIPTsBPCU> zx@c99lIj4A-$qKR10%GGlvH(R)OJBiS~ZZ8>Ok}iDdA?R?Shn42a(^~C`mQ4zS}5C zbuc^}C8_EcLTdvh;SQ@6pd>tVYy}8ORS%6?0YXyMQ@B=ukW|n3EfXt1NUB5OX9!7k zI7SR1sg4rTZ$~@Cj3`M}Ps`e2P?G9s(20;#&jx7-N%b63a~mCL-d>Kb zAtY7(rqo=XL`bUVNDLMQ@^<0j%fsj-Spf`z-RL2;iNra?Y zAW|AUYSezjaKD>GNci#18bwH|7or9_(wyue%bP?IW9uNk9u}obfg?XZW0|SFEXl=k&p}`J(H1;43e==q9WC6goQ~|qnMp*X zd?!W-5vjfhh?5~AH^M^@k*Z~8nma^s$=P+bGp_L|`g}L_dc&m*agDejc)d5Rwg~W-5ea1AeDMNH+1kcqgSfsfSdo5tO95 zzOFHu3MIKu6qpJnd4PaTMMkntzA+U-q93NL(GU{*c%BdR6hhLR)XOqf1tqC&5p3i2 zlivOKLqhY`mvZ-i)b0 zOKK+(%6LMV(CytGm~4Uto*NlicES+l4~?F_+kD%51^68XgxYErY;ST#MUNo@!Pj(1m@ zQ`fk8GliTqr|g!Kc0x~TqmUA-X4K9CQ@p`aen47ynFml2h16B}fa(fV!vcyr2aw%pf)MRQGd5rg3np3+mD9A~3`eZ+2kDiq69d=Cy zdUB+fX`9ROb_+kAS^;{}obCf#iv!Zb={`g?UU6wo_Y+3rB^N7+z0j1}HK@$qbGgPj zW-q#A1xN}%+*)6d6n+-70wkptcO2qnmm@u#Y&DRSqh2VD*Ik;^dfw5hASpGwZQ_HH zz44+qhO7pX!Y{;DfTA4rfndD!(wx4;#bmtp!ec(R4~o*9zH)`*ASuo1t9V@Y?u(v% zvzX5;l29tW~rLR0KPCY=uXNzI-_QUQ|EoSw!F;vJagwEdW_IwUB$ z5=5o8h|tE1Fh{3J45rbP=Jeg@ZHUS;IvX#;)RxJ6;%%6t({W%lr8&Kd%1o1@)YeFR zvNvLeZqnJ1lr_|CniQqB7V|@jQd^Hkk(B1NUVF1~LsM!Su@9PZG{R-vbZE*Jni8+Z z)b7U!gr+=*2}M(mMhKJfc1&|7lsMjxY0jL9W>J-+(V!_*Wo9@^LRIX;Sema;l^I*t zT_vF^yNL5Ns#4pFeGnBMM6e+UQJEPJ7bQh$&P>FpAS(5fG5BaobLL`b+>n3|UIOzfb2A@68;YCrrePGxdJX*q(oIVX7<;eB#xa z=8PU)vBMxKRuXm4l;-4Fvh{d@#!3hk@d{0LzarkDsoN(re6a0VJwJ4P7j?6T^}OJy z01ELMO?{}qE{IBfD9#5_sSk1a7H`s2hS1P>m8Kq-yzwqgJ*$DF)Q3np;%%DxFuD}4 z(==zajFF8Amppa7kYxp2^3+G7BS=bp6epNLQtD^9(3n9|>LXEuETw)nI)b3o&jEV8 zSHp9Gc37@>>Z36c=t(_(Ux-(0>gTw8w<{10`?;7YQk3RQ#NT+mra2Qg@n+DI=8P6S zvLlnE98JVzAt?26F5u%OoBDW61%gtaAg;t~HqF_rw+Kr80?9$VY15q9Cb5ZkZH_L) zNRy=;T_CE@peW55`>K^(4M}Ov_MwL};;GxUy9&^fqf1ChyopnvL}24poU%QOpk27)Y0lbBGnJ5^G-oZ$sRSuG zx`M353pqzui4XBcPTiig(=H(;dLpa29Pi}t2$mIa!Bbx$7|e3>q&d6FRK$BZ^;M=~ zHne0d#`Pk!=}moWmF%P**P8Y#hx6E+-6lPWw{w~|?MHZZHpE2ldsr(WCYxj<@rF)) z>mIuxCe54K*oT@t;;JIv(&3>pYZWzV&bvU}%ZGhNS62OBz>+!}0!3Ws^uf ziMU~7oF7A$<82-u?z1T-Imrs*eV&H>SnrL*3q8&Gi*zMk>1j;zb4$F_bF@S_h?jaA zb}_3)xZG)2Y*7KpNyF4h1?Wk`x~PKClV$WY-t1}4+XHf{!u1Z1A~u)f<(|e$4>iz} z#u{-qUhg?ti&i5uS%ZSPb8>>lMsyW9X)fp!5q20-lcP0UI$jEDF7%V>+Sdf+N(-ms zKyksd5Gl_biqd$99?qdCM;lDn9E#F-gx|;8Lyh=-DPA9H*mv1ACg@2+-z%`rq9={* zXq4onp*N_kM(D}HrF7VS>)-yyzx&+V-+TKve&e0*{^-Z=ymjp5ciwsVXU95!qr*M{ zm!4Gj@t5pS_JO#Zp^IR)C|AW$Y{8HlV8{h9H2oNwdJJWx7@Bbmg%1qPG=_o(hGrN; zvx}jb#n7Z;C_rFnE-^HX7@EQEWZJN+&TiTQs1V>hAhf+L~sG zYMLPoi9LocLop=s7)lqrU-G_5+A$>SRFkA*NX{{&)39YQIw|0xajKPA5Yr&QPfl-|;YGB*tAEQT^R z49P35piB)zsw#u!$uaWO*jFZ72z{8RhK0)62Wn2Fj`d-lnh&AIUG77ukpVR_^3;5o zr{=>vH6KEa_JJB1c~CyggYsb>ln((#`v8gzK#`FLR1HwH1yE!FimCyMjsqw%07V9%$N&@>fFc7>WB`f`K#>6` zG5|#epvV9eH~uB>JO7eb+<(a{?!V-H=U?)Q`;C^n2K8-o`YRswk`f1E*s!&gvQ}rO`)c1)wbtC4~jhIt6Vou$NIdy|MRnvL#dzu%& zr+M*vnis#P%&8j4&*{_roIcHq-_!h@KF!bR(-1#D?GV4uq+^hu)29-@E=Kpki+vc%4tDe1ONgvH;^1`mP7yEgY+0U!Ye%>SZ z^B%dM_sIRcNABa1?rQsakKC6>YJ(i|czRa*@<$h+15`2{sRKkZ?c)I&nU2(fB+}bC zP+sBf9OyjMj!whnoL??#u#1NnC1E4-tzl2a3AnIQ5OOg|931HK6`&Ex9^=iKYUm5W0 z`}`^&V15P7+L8}2zaqeBOFqE-DxaMEisVGc$tNej&drk_FKn{7*U*mhoQ~qJ)-Td%o-p>ztmOpCdo%`@+p0z`s z;E$Sl&p*7Gcm2bgdEY-tq#fFm3|Jth|05+U;OJ9Nj{}sELGOIWH4>`Eu?E zEBU{b3VbF_rw&&{$7j<_<g=_SRUsZ`Vs{ z26)|#Y>9<-AcSJ*1x1Xzh=)?OgKig68?(%HzkcF4J z*rw4AOXD4ud>4zwmck;msufmK!l!l>T)ijuTYTD+*piQ@hxVwJZ}YP&_UP==F)!LP zTj`dxg)8k_u5+Hx$5rj zR9=cazSHe9R^-tgol|iN`gIoE?qnPHI_WRpN%14k=XI!PcgS z4p^K6R@*tCLUBB_l$vd4#3u?E=_U2ked$ii8;f`HVW@bATS_}8uz_)w)W|=y!CFIl~<(V+U2%wS7gcK)~>c$*V<~r6UT#2Ea=3_ zCyd24T_35>N)Yw8k`(=|6h(h)^z^sV6aB4gCjHIaa=bP#wjV(9quIvSR{qkWxRt-Q zC~oC1E{a?EtBc~6e2!Vz%3og;xAKZuvmWx6-CWTWw0T)uu#SZAxU{vB|g6 z7K^qb7NvPiaVvD(?45rT6l<$M5!k1&(BJtuRqD%YS*Z{2puPO%QmHTR z9i_Fr=akmkx8*&jw4oVE<4&oKpi&z_C3_(DGGjCgT1?*T8a<~`sA9}!7Oc)_hC z|C<-}^mjhSys%IB=6YdIm*lNHAulHLG3G_vO_vwE!=*U#qV1;3i?*9CFDCPZyqL_# zm=|p~U0$@^ba}zsT5*JYjCsL(TCuHdeB!Q)=8D%iluf)~9g?uZpL~wFQ{f}V_rueC z_XW@Xd3oDa$&0q@kQaPXjXuS7h^yX$zNpGDe_w$pT+|N&Taz8)W$^HCfC-?J{o!rmMVPYSZY&l7CA35|>OY8-5--g9x zV=>uSfp$9F$^CrDNbcvSBDtTR?8IK~Y8}0K{!~6vH_x+FoTjvSel*XmnfZY?Gf%FW zd34Rpv)eq+Q%un^k1S~}Y-@W{b80G$hPI7{{JhOP4TpEb>**s%si zT-1!XdR$!8d|+rcFfj4K>Y+d+MnhS64OR-kA^=n^N!?nYdYg1K@jUl(jh@jvHNI&-0)+S*g z+Qg~D#Hqt%1i~aQlj>d{ATbNGEy7$MkgpI2t`BIk!?X`1d#~7c5cvrc`3X}Vz{p=8 z6fl{ICJW;0gKe68eXvcFuMeWh(Q=z6UmtAKgX@EBdT`yojFxkN>w}Cl$2~)z!xXI1 z$ush3%o{8`oSALvd&53tmpjl6Ta38P{I8m78=M5$Z+{5h}J4p~56Wg?YZcxRA2o1b4IcMMK{n`GVSZ-d2i66TJs(#if4ULa}q0v%N1+;Kc=`~zM3${(in z|A9We{x@z(x;wu1zQ2p|kCN_=?_)|*IzHHbE3N#GRQ_RV{IjI0;|qWJ3x5sppQTkD zU-)}$O;E?HVN1$8zUIC7XH8JY*Sr`1%yGUiOViWw4b_xzb$mnHq+1MdH=*fxnCNA)a;YLw}3o2~&!PK4C`9 z>*cZ^N%%XS_k2rqjcGG#(avO7=UROpBn8M1IFdJ}4gv{Em#m;6wXyV`HQj`=YR5-h>G^97(e!xw2@)|vMh%3E3z2K zKa|Cpd{q{M_%&Ia&(~$)iQkaLS^beL6z)IWmWjT7Qx=-^CvI(^U*D3Y)T`sqWGVCN z_;XoGyrkhpE=oEc`zGitF#HE#P}w*1MYNAIU^Dz5u$(!~wL>#@INTC{Z++(~|-%D8^fZrG%b zxq;tHJBl01$2y+)n|s9#x_~SHXMeq~xXGzM9`i13a_+Cl;>;gkkja_< zM}L{HxXGF01Gf6HANDoX<-{NR_Zo_uocLqcjp8O}{#YZt$*Di~*iqc%+#ma^ki|_- z{_%oZ=H!bT9?goIoc#xy+D*>>vA>*H+~n+w`Vv)fQx{JiAJ8vE=dr)8Tiir-9&?7M z&STfa;wJghW6k^~D)d-0zljVz-cUEup~oI$iks-r2jb9{`trg0z{6v46D9hmMeU0e zeQ-u5TJ(WO+TtcNSX>u;o5;}zLdsU@RMVc@6gMBq^jxB7Z%AvS)M68T`ao)73nXhR z&VWEEOcoyk&C4J7`=-T*xXuri5EO0sG~fH!FUGywwj6Pry@$dbvzNG1uJ+J43(`@d zYdK33#_h#PucOO3FYz#1+(TTfPV9x39{a^a?1iJICG3T-T1o81RHrEd$6~g#q@lQ% zoe`}tKGsUwyAs#S%Ct*8aX#9HW_uQ1;$k^!Mz*4wk*vrL&}%I88Vi{% z_4q`WdJxBBzi{6zaV6OC2^|yQK7k2vp9njy6I2;bF7>S1KNaE4D#}Xn;!@9s{ZmCe zSw&eXPWhX^sY=->54e4jG5Fl)WHJb!Q|*(C!f&#b6V193y*U{kphjT#C0U^BvRpdJ z*__Ze(EOw<&goOKIGs<+g3Hgyg38az0?L0Q3noja9kh}y?CPZauD0TJow68>-;xDW zZ@JYAQ929zSgg0=S6-!F{I6Rz$r+Bz!vA!Jz4)KbuowT+8TK;vI>TOuUT4_L$mLpwFscKH>h{{(= zz2pkt(?&9dH)P=>e!)@dB~$SHq{NTS9Sks%_qO&6!IMR({E;l8(4YL!O@7Ddc=@+I zl9u=(!)&%QJHM~m%+CAwu$hrpe%te+Qa^L@%5VQz^_i7_65Rbv#QXRDK%1Eg&&Epq zOvRVAjfucQaIu&OjaffJ`wz3)k$L%wEanA^dGYkP)X%(Vc>9@%Z)iUz;v1Y8dD%C$ zkf!<=L2;MNyuO%S2LMmxYM@!RP-% zHX@=+(NaGuq8zbgpSW@$pU@OK^5mxPYb&{etNLM|-EiA4uu22CpI;`F25>%&gMB*M zYpPEJc;ervRa_>$;UfVVz-`hJ$;JS#la_S7q}}kJwCK1>V7t3jf>)(=q+0`cR$7M= zFi-C$Q3C2GS|vDO+Kv=&04Mxps{}_(>qz+qaK^M{N^r<@FG_A`U_RX{Ap)iC=(O-# zK{SBdegzY+{Yu!R%wPGo_Qi{_2;kplUjq2IW8Ycz#cV3z^s->C`t?Xj{<%H|LOKU3b>DsUBG!1@C*2kpeW!wpVEG~ zj(9ELIG@oryhh~OSHykhp|*h6bkQ5Uri<=y@?G?Y6Yru!WZqr$hym!LOPqWceZq6P z=oFsQMXzw2ZfQvY$LZ|)Eu8|c)7g!U?{pr=#&;Xa8u zD)UpAJJg2Rn!6b@&7BfP~OV|-WqF)g`qGQC4uIO1rj_4Y3qbvGG)aZ)N5i`1? zcM&n7d&G;b=pWIdJNieg=zLidZlBiI$bSc$IMMkEHc_JURcs*d{4O?_cfN)V=$(I! z4eFiW!v^-w*RjF9^KY;LzVi)iknj9HHqdvzi4FFhZ(+lI=MS&}zw>Qu$nX4HY|!s~ z2OIV~e~1nIoj<~c{>~p`gMa5wu;IV+@30Yo&Yxn30{jd+6yWc%QGn0OtKnY>;288P zxY^QYK646gW00=|FxCoG0yqZsUs9VeuOxd6;J>16(C#;#OXHyaRo^xa=L)nubJL+< z%0o9D-%w5P{v%nit)zM!u>V-wpjwIZI7t7gwn6l_WC8S_$%5x^%L3;=mj%s#Aq$xQ zy)0N(dOZ%xy0#mKbe{RXT4A$ayPoYa6Wott?1=M;4s^P!^Qx;?Y*B z@>YJVZ4jztXB_^#^F+NaE=+vGL1+!Vy*Ds`5j%F^P*tK z?_xs7?_#gu*&4$YJX>C|0l6i+>7Cvkd&t;S?PcB6egv6~UBCBQ+Q!?D?)UiiZT$U6 z%NUim32R69H?^Ipc65JFHeP@9;IeG|{^;R=Y&`$y;fQQ}|LCDEdbaWYqlXW*9sjTN z(>?@Lw2)=Ve&h04sthQ5iyyx#gML4=v<(N9!Ha4S5-RqlBu@ z;h}Px@qmcRkpJdV+J=eB@B_666_t?-vf-jKaz!>|R7UR0hK!P;A3Z#XgAb+aafN=e%s#soZ6Jp{KIU_`px)-Z|BW zAQl=cZ4=ol_oz=~V^y)zHj%BevZDQoY!!RC%=-f$6?;9!Z6aI6UZirH$X2lzmfR+? zRUWL$hM&p<{FTU7d4RtX*(#6LRUdXM`to6Eo7h&-kF_ORJzM^0j^)QAzEyS@FCtuJ zM?Bld4^@AM@kI+Ndwtp;HK?A(ABc2Sd$QKsC)QQZ47pDd7sUq;Nq1D=6>mHxZMMdL2mY(}N=Dj0o|EpVUQ_>hP}=M{ zZHNEr678X>)jPMf9sa9#I6nMW?`phu;J>=e`NMy8c|!Zce|1^@vIGBB{LvP`^YO3V zqdxps?=fERUppzDcHqBudO_{Oe~tOrf&ZEoJuU4JA8V)OPdo5m(`V&NJMdpSBfZ^$ z|JoV)3;(sDB^?j`YiIjq!+-7U8QJh(vvBL<5C1g_d2YjhZQ_z__^(a8Cma526U-0% z*Cv=x_^;`6wxu2TuU#C|{_tPBEdShr|JvmpZHNEbmAkUxzjlT3f&ZEoUM%gve@)B8 zmux*5pRd|`_y_#g-oqc@zh*D^`}x9u%|4XvHvHFSqz8tb+OwGL+u^@v>(9Fl|FuQ@ z5B_T_91s3$`UY!h2mWi@oIm{6b_!|_{%gC^-yQg`*$;hwJovBM4_|J>f8CzYbQ}Kb zJ&ZT}*L&0-zVOgdw|4{5`n&L7w;vYVhX490#S^~z&{01nf9AUnX44-0*H3M0f8u}r zwEDA4{I6?8xY92C*H6ozc8UM>Gn#KZZ6EKtmi#U4!hijY=4TiF>z9?^?81NjviP&L zg0#P_9qZ=<|8-k`)ou9a8{(y1_^(fEzIWljZmS1)efY22x47Mg|GIsE*lqZ)+spfI z!+(8cP&WMY3GdP_{MT1FANa4YURQniuiKLe-X8qdH^kR2{MYTbZQl<6b$fTkZTPQi z@yC*-eHxEl>BTPm*LP_T{_DFN+8_QKz4FIh_;1)cuw_-~wIeBr-wiv8ig zae?uH|Hehe5B?jMq({5(->|n8{CM!+xFWuG;lFWJ`m+oFjq4l_{u^4>t+WgOjqB0_ zJ8d72#&zXe_I-ZY?=j!--+1qijt~D0^kWzP8#l$D4V(7AO@H9OVc&Q1{=^i$ZTN4P(6|l%4Fl0__-`0kW|!NZPAK=_4P~iuxrf>3YM{(F za4h@xXkF$zIA#xcYrW8atZYA#rp@<)zZLlWlzZX3+e(R2VI5A{djqCa7FFm_x0^~d9mMBu^d0q75m+b$^&?LvERM6Jb;%M?e|~bA1^QVpO=l77qy^4*;a@@baRry2}H2dC^`w^7ioZ z;(%ZEmE(86;()7Od4MQav>&y+K2feXAb%Pl$`y4LUyk4ViUabe0sOpZzij#bxOvfj z+j5&IR~&E^D-RImiuU`KZ-;{7fc$5GC|4YCl`F^3d_{Xl(d!fCiUaZ=8y1b{fU8>B zh6P(x^D*@lJsl7aZiuh{P@RJLJZyJr#Q_}Q;`%A-QrhDF=^*`D!#L&ppL`#Il?fBYx- z@5g_F|9<=-t@TgnnwKHp9^D#)2E831; zKlmS%j>iv^MSCO7w+H`&p0$(*gMY1(TOJJl2jy>r!T+GN|;lt(?pTgezD%(a#Dn7&hp;9FsDs}R+RSmBvg zA?{;^!>vMm$O=bVg*cKGo^2K4O;&iWRftPj;rUh}er1J)Rw2%1g=4KkJj@F1=yw?< z+{_BCpYy(Hx;VJVR-7)|YOTeN#E(t`ippFkbsAEX5JRj^_z6*@)3Blram4nTpkx}q ztqk0ugjizjgx?ZPI_;)6b%-aOM-Q%3LPY7bRFV>6N~hgQqlBo^X*Z`RA+B`V?JG)% zEVkDiC3oqeUBXd9bm_F4$dqsu)oHi&C?UdhR&Op)LX5GNV|<7*owcc5>JVo-E9XZk zA<}f#&OD%mSkqZw4d*A?bk?S0G>A8ym7zEIxBZ(C?W22 z)~?20JB-HBc8oKzr?b8mib3?TxnP#hgkIIAndLK~S4Z27DlZ9lblR;I9sNw`mEByS z1ih+UP+oWjwW>VuyDjB2Xcc#B%XZVyRk3!L`Y6ITzx72|%`=EWcb80Lpu1Zp0?>V2 zCg^vckO}nNpOgvi-Jg;P=-r=|3F6(KkqO-0pOp#L$6t~O(8uW&C?BU+Kzy8DLG5vR zMWi@RuOji|Lgx(F#)Zt8Nc^}^vBj8uz~aK>48X>P!WnRl3xzXT;&(<}2UQao*^&5> z_@9Zyk3|1WBz`3NXCm<<(LWQ3ABp~%Nc>3j?JgPpO=E!$8M&WF0u_O$;(&^>3^0uX zDgsc&02M)~B7llORQj(X7?t{~2uP*bHKia=G( z7YDaIJkDzy&?**qH`lcRcD+ccrmc$YBO0mG5THitG(=iqD(_7U0coU8Lm+AjukC>- zmoh^jYU-}-Aj%J#KvK4KM}@e4a3~LvLhyq`d58ppA5h9e zqz~MXD-V%5@PlA^2#MeanzF6>H6sFv=k&2qFN|>geLuf^9!fzm!?RQ!4A3r#jhfs^gNzJ`2!>aB5^dG&b*f(3e zJp`kwRfo&A8nM@J+*GPQgkqRZt3HZRv7FcUM=`2*bSX51VjSI9>O6#EMCv?*VnpgZ zgkn_e3whoiicvYIOVc3~qhjB@@$D!^<*qJ8hENQPS=x?bSj3WzVpzPAjbd1|l8szg ztdfmZRHk$(X^YhQcpR6m46Vmk|MB#*VeF#A~AzdFr z3{FVbhY*4jC)6!O;DmI22mv@juYmsqy@K}>^a{#P&@008C)KNAfbR;Th9SN?D**Z9 zSpm$S$O?e|lUV`Oe<~{g`%h;DaQ~UC0PsJX6+nL1OIZo*ceVNo{avlj!vB~5+Q)4e z{J;ASHu!({+u98MU;EYuHehoQgRC;DwMW}RQ3 z@&Q}F8Cy33hoQgRC$$`g{<79=Eb|F0yNRm=ZW#K@S~a*l4E<&M0;-=c^q1{Br*1=k zxlb4Ne4E4C(~Sc@&SAE03=KnnxlcEKhM~V~-#zvAz`xvwf53ma5C1>_%Jwx>ua5$h z`|uAWpxh^Q9!3Mo_8nBOj|i0e@E25|+@~8w!^l9{zKH7e(SdRw{(}&d?K`Nx9VICD z;ZI0GxlcDLhS7qfM^lwCP00v)Uc1w7Z(C5tPOowf^*FqlD)8 zhC5b0J0{}e?Oe7w%uWIsiVb$o^3Rb>kM7tRX|ql{6DHq~jv(iiDU`K7oj-UcRocT& zWiM?r_REyZ_LFnjBVCA7TBP|g$IV8irDc99x2!1}f^32_Y4g4NY+_m?l*wE==lM1> zy=!goHks^9{;V}Sfk!?lHY0R6Q$yQqN44%qRz@;eTuDn2M_U-4^Rw|b$B<-=WD;qm z*22~JX=xHFb2A)vimJ{N6n9%5?e;rnT3LsBW#9nz5y z)|j;HBr=5^^ubUZ7?}y3wV%Okfaz$awl+(QXePKrp}8YuTxRE|EK^?71RHV1gON;s zt<;sGz1Nu>$L82C(`DO``k)D1)=M%p(|D;!%5~1KNZ4X?YZ@}`)_$B|rr=iE8i`ED zQwehiOr6teXbv)2x6PB@J*FYkciUjC^;zI8_s(Wr&*c7sw@DW=(KlIKPO(eRmnq2t zfFx64*&dc8OnPZb_n11C#e+-MLN*IoR8VzuGUO}^587a^Z{6h_vru8%d#Shz-j%K!jK$7x;YmG)Av7*#B(njLo_VgzwXw|d97>y{BHe#h3zR`#u zeK*q1q}&O2`;nMNd;=qDKNV-Csp2Sc7>(dzjikz*kOzum1qBfQq$wH?Z)61s z)!Tod?FiFbm?+YdZERHN$+j+@&mul=Vj?+jV4^i&{(H5J$h;9Y+Vb_V5tc87jh=if zY&7J_Hs^wXyorfmyo!lZyn%^Mye20(i%PtOiAFrx#zrFE#6%!o!9*V3z(gG0#Np1O z4X=caG=zyTyb(6C@FxCw7EyR5Y$PE}^x%!KQG+*2r!V|a&Z4YD)1&ID)6?bKZ^*w zg-H(eWE&e5coP#9cmtC(>Fbziz}tVW^FagN!i4`P+t|SWCMMv&feG|qmw67<-*}>M zc@EaU9yYMQ{E0U|;Rinl?Z5Z8GNJtyiQ747e?=pI4%&a;#vRJeLHzIkfc8NCRVlzZ zi2u^h)I7X@?`4_r{^f7Vg!k9qk_ql#{i;l8|LWIe2JJtR3GLq(73ZM+`!ogY-~WNM z;T*7k|EJm+*5CY&Oi+LGbW^myV1FVjfcsBo1%UsltN`>s zofW|TXR-p&|7=zedB96qN#p^ozD6F<>MZ0@tsbKQ zU9B!70$r^>BLm&7KBENPtv(|L-K{>O2i>hcqX^xtJ|hadvyFC$KAX`TQ9E7%BHawOIxyW;>Vtjzqo@3zqm7|&A7=2qp6uJp<%DRCKCyJ z?RA+b*lW&WvV?xU7Ml^U*J3*g_CuG6WC;Ze6CL>1^?%(|>nMR0OsfDbumbOVvV<7? z>u&6V8d!}x+65e+-IfWA`npZB1d958O|k@t&-~|}WC;wP`TgOdTL%t~x!R>EXf4*VuZa)((7lUWIqSqT$8{Mhf;CoGQH5hh9)CNdZ% z8u+m@nXo`+N0<;CCejxsy7#f)H%smydSRk?VIp^7qIDnlX`B(dFj0yyQHn6pw~q(4 zFX9#^$`&TF7ABhZ@hR<#pkdkztUhI7q8eeM8Xrqy?xGrDA{rmN_$7DIj4;uRkI(vX z?~?I^Ny787-;ql0o}n9%O#znH-zj=}@ z$HZdBv|`4zVum!+a!4~K(`p|HpV;@jCRrv|%@;AfY0-24(Klh`vW|Qa)0`F^Fl0=1 zzKH4e9hnp+JYR%#dl8d^eCLaha4+JB$aua8Dfc1<1v$?bA?f)dWIZi9V7!p_d=c`V zFGAv!CI!Cf65@!y|2;7G{76=+oM5df@!qYwi27vd-c0W07rgaIqyCQANxzu1`4u&Cys)K z?B9tRsL1}^sDX}H0cVSn?B9)D(31VN*abDQ0(L=7tbhSRPxjZM4HRX6BX&Vk_BWyi zs@40%gJaXbme5seyGaHnElX{-e@!wr8n9LJ?V`$ zLQQ(3jnI-l1k}C~qP)55Hz1hV&gMSG|XV9P~v$&=4!YlTi^Xz?0FD zgMJRX5=zp~VOK&&`Z?@Ms7OCYSqTm4=O`t>v!wNVG`f)HAM?pWVfTN%vR=`ovkAqWj z6!hcZRJ4J9SOIOIA67sc=*PiOw1IwD0X;=Otbm@PAEwIE(-ri?3OEY-VFer|^yA*a zJ=f%w(2tcUKtB%7L;?D7>|o@epnVXKV+W&Af`S}7I2$EM$gzWSQG$jXJ2)RDh{&;n zLL3VfvHni%E6-g)N4#iN$45!hqBwK3#ETT>S0Z0&1>Kd%S<)f~Bot*Xju(nDx6jc+ zQ6g%spePokI1-AIg|QVBB@1IKD2fFs&I(1b0*->B>_^nHPi{E;R=`nE6f0nIQ4}lS zTu>AXV;luVu>y{QqGWMx1x2v}j)J0Ofo=sw$pT$`!0RByFuvhs1@t2nC8Ta86eXl? zH54VJZZ#AobZa#fC3I^w6eVB}8a76eUDxHB%HMceSM`LTWV> zWsoslZ7GVzbTv~Hd~r2X6vlM5r6`)Y)s~`Y#8yL50=m^ul%Y6mD9R91xf+TR@UMoV z48>tHMZsZKGeu#dRx?G(QpDAkrc9tat1VTTKzUYMx)KDgqAUj~TS~`QLt7$6w9kUb zrz1sVk;slLMO=;CBw$;O++;2qjoc(M!qv!4A|qUl+$1u>)yPePt<}g)7NXI}O(Nf0 zjoc)%xz)%`BAZ){+$6HO)libi=2k;VBAZ(cC5hy1HIyWhx7ARRNZwXMNg{b$4JC=> zZ8el6lDE}Rl8uYb}%{@+^D*fYgjUYb}%{^lB}XB(kWrP?E@^)uXB|K}9n}p`Ak(-$4NOIQD4_6^6_!wM;`0^|h9UaHPlzwj1#}Dzu@Pa2(2&+Jq9F%8Swgplida!(bZh8{6-7$7 z7D}>3%vlR1*&^nwg_1mo8lfZ)qDCmm!>AET@-S+IlB`9IP?EK%5lXTiHBgfM^{9c8 z*u}Sk@;XXl1q#aRD2ZLbQv)Tj0&1Wnb~R27l*9_Cfs)vjG&N8XE1(8SV%N#kKuN5C z8Ys#BI-snhBvzm+gLRa|3Up<#j*{5fYKGTQ604!qa2+MFy8;xTBz6;k0+htA=qW%+ z?0TJ^q9j&8Pf-%PJf{XqVg=MdNlf9Xfs$AOHBb_}J3$SU#0sc^lGw>n10~7kb{!>Y z&23~N+1y4ZlFcnj(wf`IM6$V!OeCAzP?2nILq)Q=4He1eHdG{=+fb2gZbL<~xeXP` z<~CF$o7+r9VxmGtvbl{+B%9mFM6$V!OeE_^WFlEVA`{8_5t&HVkH|zq-qs@%2{ntQ z6tg=%>ye2>0<<3b5ed+G=tm?#>!BZ6PeVVlo`!y8Jq`Vc8%^t>ACar9hknc+=$`v} z=tmT61PzvU!qi6aV2LMW#$tqaS(geHi8lx{OCk*ViOe22Psw*I|eHj>7rK9k}C>c(jwiE z-Uwo>C`KZf$rS}Pmf}Y9!A-6x$gwmx+G??rjeSN>YdTu|gs^V}LFU^r(7{lyC@8X` zIAX?8t0+jaI|al}oc zwcVtQsof-AdyzV^NyPRdbz+m4o!;HV3pa_{`6A-B6-8G!iQM@jVt1N*(bY|&cfN@D zoz{sX62a4=I3Z%V7twp7xD^F_o5b<7D0U>0TTxtSZW7DWqNqiz_O>J)nEv=z#f@<=Bl!fYJ$^TdRGHePozdRs*iVP?%y;SJqdmllw?%xu;j#(b30`eTdk=`wnN5JsY@%~! z6Ph)`4~WWG1Z1o>_j>SOxz_{S>l5l#n>#(go#bi{+T7^@?j%=xfHQ@6*a{~;vYPP+ zL|x7JgR9!68Gk^m)r{MRe3%h=*#ly1%=iNW?0>7?5?lWVS%lU9Q5F$ZPuM;nnEub& zMjZWjvIwF7i!7q&@5&-d{?%W}BtrgovIvg=#hk(30LiQvtZx52CUo2K7V%yc|0i zQw4aj7F6&MVD@kM_J{Cd$|g~G7-1(XfEcTx34RzMCo70l_;l2WL^vyeDr-YB@DQ+C z1(5>Vk3;HMB*0lgq`z4~B)?e!eC^Mw1po^Z!uIF16~w}Xu`od_Oay#?Ui*Svm@v1$ zpshd`Ce(!qc40!@{-X8;yD;G{Ou!2h@<`1e0$!MK7bf6^33=p24?!FoAnt?@~Mj?Jyx5 z^HFfE%8!C;e`6$h6jWmd)0jatW+agJz0Z##dBhBsF@t1GINsO8`?f5D2Zu0WI7|o* zGx*g5%a4Lz%-|O@_{D_Z13hs32!6wa-!S1fO!z%ew)O~q!-U^3;Wte9JHAv+9p<&=ElLw`D=( zOR@m6OBOtK%L2#avY_#VEMWYkELi-MEKvNkEJ*x}EI|CMEI9lfSzxFuu5Bn(D!C1W zN*=diP>JO>2!2kjK%lb4Z2Hj`SR%pSCQ9lWZJQwZAG9MeQdd>67~KEq+jfYM zFUul8en%Drz9I_(UzG)c-<1V{ugQYIzm^4n-;)J^uge0!zmY{;d_xvt@%yrfif_sS zz_(-p;16U0;M=kQ@NZ=S;5)Ja@Q1Ph@JF%$@W-+M@F%hW@b6>+;7?@%;Ll_M;NQyv zKwUq^qHh1UwgI57CU*ev|J61CEX@qa2Eo$Ipll$F8!bCv7+3#0fEZW*JD?ahYIcCJ z-1kWBfg|6~OJX@UzJr(SfTVpjO7(%V+&e8BEbW_7vH{aRXeS#q%YEz*oc1XL zPLXT?wa@s-22uMWk8B|2TYSk5nA(Swv>j0So@KHFs%3r8GT8xE`yQU^gR6bUNH)Oo zJ2LOb8HOm^X&uSF%XoEsm;N_JtM z&z&W^P+!*fEE8LWP4|ZMNv|Z9bK`rK$u8{k<*H;C`uUDn63e;S2gWoW@L#kQZ_*o} zyYO!x!CA;u%Un$pi z0=InuT{isN=g(!szkT~$HvHR%&)tsY+4zQg63er(&{Go2vlVScqtqW_c{Ub$N@97o zq855e_K43#E%cPc@@qvc^pwQ%Yb^AX#PVylnugjZ7PHV(63ed@wa`-%%dZu+&{MKU z)McTkWDg!~{%d7sgPp7)oumEd{o7yYt<=lvO(u=Bn`*B}a!onY55*0ixx5_w?=jCRS<$Z<9qCPtDCFAbgF= zWO|;Q+g9AmvvV`a^*lW{lVITaxtYWQPteUI-SZ6HOgzt1bTe^0&(Y1q?>tF26Swm$ z-AugB({wX&I?vP1Bo?Z6^Ns3a5|!dtz-{QUC9w1Q5TM>OvvCYJhJ;yc^KlUWs zOx)PBY%}p8Gi@_T_B_=#lU&bpZ8J&rJlQrArT1*xOoZOk zZ8OR9f(6pNU;&j677+Ph0gVq9koaH$g%1`G_+SBj4;GO3U;%Xx7D(=3p#ZFDw+`7ZwWe3kwB+#rX>Wi}M!%7UwSjEY4p5Se(BAusDAKU~&Ee zz~cM`fW`R>0E_b%02b#j04&a509c&A0I)cJ0bp_d0>I+@1%So*3jmAr7XTLLF90mg zUjSH~zW}f}e*s`|{sO?_`~`r;`3nGx^A`XX=Pv*(&R+mnoWB6D;rsv_&JVER`~Vxy z53u3<02|H^u;Kgw8_o}~;rsv_&JVER`~Vxy53o4@7{KEEV*rcuj{z*sKL)Tk{}{mH z{9^!%^N#^6&OZjQIR6;H;{0O(OCT5nSXdYXSXi)+;QIv$EQ|pxEQ|pxEQ|pxEQ|px zEQ|pxEQ|pxEQ|pxEQ|pxEQ}FwVPOn@VPOn@VPOn@VPOn@VPOn@VPOn@VPOn@VPOnl zasDxY#relT689bhIvjWm=y2dMu);;hzzP=~11nr~46Ja`F*w2}$KVK`9D^f#atw~} z$uT&>C&%C@d=ierC*df35{|+r;V66(j>0G5D0~ud!U-WIybe;r>mUWM8;2CUZX8nZ zx^YOs>&77kuNwyq+-w{)aI&8I?$sGp`BzGJ%@X2w|Kyt@H1IZl+4Lo)nH1ODQ z&_Hs>K?BJhC$!4ki^@^K@!Ow2T7cN93*l6 zagYq>2gz`LkPPPs$#8y<4Ce<)BzGJng9SocumGXK0--Hf0N7vwV1osKg@p-#g@p-# zg$28!^&kQZ695Yf6NENcn1Ekcm;hLue*$1}{t1A^`6mDt=br#c+)IU=Ls0ZpC^D0 z2c7^r9C!lgaNr4`!+|G&4hNn9IvjWc=y2c(pu>SDfDQ+q06H9a0_bqy382G)Cx8wI zo&Y)=cmn8f;0d6^fhT|t2c7^r9C+gYWA9zR+#I7D7p^t9QtMUY z?&ZASx+an{{e}7y-skN7?CM67ASFAQyzhF4iG@0+PMtcnpZ(kC)T!z^gpLmUQ$j}v z#!|%MgmmDa5;}8WLT3(4=*)o$ojEX}GY2Mg=D>u`9GH}u1CugyU{YodOv>oMgT#vA zdXQMrp9hH*{dtgB(Vqv275#aT{U9B9kfhK>2idjJMF-in(M1Qz5nXhU9MMIw_NW+^ zE;>k#=%RxJhb}ruaOk3g1cxp<$i9p&I!KP_qJ!j!E;>k#=%Rzl8=%RzfiY_`xtmvYH#ELFDNUZ3hgT#t1I!LVOqJzYWE;>l8 z=%RzfiY_`xtmvYH#ELFDNUZ3hgT#t1I!LVOqJzYWo3vu#G7UJZWEX2t#S%{NgvJfY~WFby|$wHj`k_F6%OS~craq>$R;^dbs#K|vN zh?8Hk5GTK6Ax?hDLY(}Pg*f>o3vu#G7UJZWEX2t#S%{NgvJfY~WFby|$wHj`l7%?= zB@1!#OBUkfmn_7|udzUWjRo>+ERbJgf&3Z^+ERbJgf&3Z^EDV!hvM@}3$-*%CB@4skmn;mEU$QVve#ycx`6Ua(EDV!hvM@}3$-*%CB@4skmn;mEU$QVve#ycx`6Ua( zEDV!hvM@}3$-*%CB@4sk zmn;mEU$QVve#ycx`6Ua(B%oBjlGXjF4ZlFhYLG!U*{#3nS#0ER2v}vM@q^ z$-)TvB?}|umn@8sU$QVle#ycJ`6UY@B%oBjlGXjF4ZlFhYLG z!U*{#3nS#0ER2v}vM@q^$$~AOL>6rEB(g9B%o zBjk5^Qr`p`A;9auVw#L*`Akzdj8)urNW`~$2s@Y+t z$!a#iG-1t-Fil#s^1AS6sS)CuO>#eZ&8CgkG}9zFJHs>)&i;~VGMxPgCM^Px&?F;(IcSm*z#KTq2w;RJ83ByY zBqM+knq&kpLX#E&NNCa`00~W61R$YFivT1v$p{b-nq&wtLX!*uMre{Dzz9uR2(SiN z2w(_GG6Vz$un53DG-(lleQ44m0Q=A+BY+W_WCSomlZ*gHXwo782~AoAAOT5>03gCM^Px(4<8G5}LFKKthui0Z3?)5g;HmX(51wCM^Vz(4>U`5}LFSV1!x-FhXq* zz&>+ zMySUKV1#;%07j_C2w;SIi~vTc#|U7AdKLi)h-VRignAYMNT_EKfP{LC00E(%4FYIj zk0HPa^%w$-P|reuHNZju3H59cKter>03_722tYzTivT3lV+1flJw^Z{)MErNLOqKB zB-FDAKmt6A03_722tYzTivT3lvj{*!J&OP&)UyacLOqKBB-FDAKter>03_722w?5A z2tYzTivT3lvj{*!J&OP&)UyacLOqKBB-FDAKter6fPhfXLIC?v&q4qR^(+LCP|rdD z3H2-lm;>1$fP{KB2q2-JMF0}&Sp*=Vo<#r>>RALJp`Jwm66#q5AfcW`021n11R$Xv zBS1hXBS1hXBS1hXBS1hXBS1hXBS1i?MF0XaY7u~hj#>mDp`#W7Na!ddKtSlI4FYK3 zQHB5`bd({$2pzQ$U=6SkKte}t5I{mlZ4f|@AGJXMJ${sghxImTlz>N=B;S=x67MP| zN%v7E3HLE3$#yl9M7xGbl3mLr!LDPHTwAM%wY7>=TdN4QwTetztBACaB2(q<`99yf1v9*d2TdT;hwTcK^t4Of5iU3=y z$gj1E_*$z-ueFNsTC2#ewTkFkt4OZ3ir`wS$gQ=C*jlSdt+k5KTC2#cwTj4Et4OT1 ziojZ{$g8%>npN|ji=r$an+B}VLx&G%`e0+y;;(!pN7JI(y1SFLz;Bz z2kDR|oxk}Nk0+h_0VwPzo%-P|q)DfKObcoD&-#HZq}e~~N3W13z4}2oq=~P7xD09X zs~;3YngHvE+>j>0`q40?iLidU4rwy1AB{tr5dY>Mc|D|9Km3RN#P~Pk+)s}6LwVRw zkoDVeNR#B>%(6UD{*87I-Yi-EXRD7e>srw`o;3g8+W&g9#QC31F9ICsOM(M^$?QLC z`1WRrWuPBH4D=$2fnG#0(2FbvdJ)DzFVYz3MH~aY$YY=vfeiE_k%3-hFwln(2Ktb~ zKp$cl=tJ-VJ&2mwKV8B@y2QWJCH|Z)@!xcbzotw4HC^Jb=@S1;m-uJ8#2@X;v35P_ z692OA!v@z=;y?BcSo4>3iNB;v{3TuDFXfwcpQB6^#hF$nUZ*HpL{ibGbQmkQxcyuCH@RIk3spps^sIM?dPQS$@F@2RuQu=Ks3F&v3B%@T}77=~P>SC97!qV*W&eHO?*yWwI zhO)~$ecBFSpZ6-2yG74AVQD(e39FD^bApDzcbFuGHBylGXtw|P!@2+Y!~dq&@E&c4 z@A>hQexHrv$-W%NZ~7sF6@B_+JBq>PlMjbj4TH@meSgIa1{-{rkDq!&HH|(rf-@_Q%Yi+x)K|{#RzuZ$9~zPL__o$9VHEvmdeq1I{OX+Wn8d$L{~rzta1? z(f1gF{`Hr3Eet}R{&;|OFbw_n?{tD~^gRZm-~NN%qmI7EQ1l5txTQ^JF!~guTg_lN z`V`OTHG=`^Q#{1i42GoN;^(rO!JzcXkEfWyu=Gj%pP0eG^uGY49P(r19nJ$!O7(zA-R>)>Ja;5JK6|xzY zT;2aIRmf&|a+M4gl_tHP;9HM+eMWDe-rSG=g5rgB|1T(=PBD%Cg2GjDFJ-G@lA`Gp z)95cKnNBf{{(^#4voPhVVUl9$6w~N0D3zOHI{ZS}*IvAS^?F(1-;M6p(Al@IUGD67 z`@-qY_O~y$wYOh5-qF*3;bdpmwU+j_zi90WwRDHBzfe}zb~#jW;q*(Vo4?g`=IrrP zC!3EqhQ9IjP;D6h4u`&9*45f`qpKs-)%xc*+PYdp&CQL+&onnbTmIbZot-`1JzXu= zYs1gt^yM#GF+^i#=_f9nGz8wRQJ&SCn@IXKillZVpnH$`89USn*J>qicV$ zibFV0TgR0np+lEZQ|RlV>qQsx{PVF>XHGOXpenRd8oPgYTX%5PmrANS{6gp*G~3zW ziLDM=c5sV>A|c#<`ulKaHb%3u>OXwm_T85H6S5ZxO z=jEO^TL67a$0dY|?#_#CEvPSasq^BEYiLJ{gFJ-b(%K!W=(*Y&`tn&G@#VvEl1r^E z?PYBps15PRDtoi7=W6GT9w%2d;pk%kpyx7{|j>2_3*Vz^7Zf$Qb z!AJ_)xr-`~<&YM>|ukF7QnCLQMBTm_R$+hfKCrl=1{BG;T9(Rmu z`Q^^`_RcrmrCsdoxYXus*8O~0**WZLdA;+ER=E}xx}&oPO%-#C0MZCmmAksHwzRj0 zUT>wrAO_5ftl)BRbvIt`?t$=aE$yM}on3Oi(#w1n=YOdwboNy2+^f+uO`+pwL#NN2 z`quHrrpC~hqi2!+@{!Q1$IrcV>XmaLlsFSTdG0%*Q?XF=z!ymPPAdZqifXq8eU~9zSs;)EGSx{ibW(nb0ZJa;D4`)7FJveW}T1x${Nw z{|)ERTe{0=ICb*e86=P3D$kq?4t@3b*`_0*=$YeZok3z}PMtVX=FEvBP&+EYaVML! z7H4WPP@o8kID@@{i?+6e8k?doqb|sEa-V!qv$R|2Xt~zfeZ2+F^vF2i1l+^*rs(^B zw||%0I^bFt+Yu2$R$1Bi%Y?p*&dIxbLMQ5*8=_~Mnqx3HdO#Uq96x!k`9$>FIPdkY zwl@$-SoW;*pQe4~&zGGq{~y0BKN2cm!9(`YmoL24(0Jjk+GFs_a`zZra$* z?RDFcqHR~w@~aEm^+o0Di^|utd{gAYTlG=YRjnU50!Vj|G2l@ z(U@M@#()_)c%XzFJS4||F$_lzhU?hIC?4DHa?m8HvhKoLQFnS*3o3rC$R=PHK_GMp zksZ;k%#3zOdrQZa8!cB_QM|mP^#;af?HHAn zmO}U0+64uhcmh{it8}f9Xc=OS!N}~|>&?*hjn=N7W@{IQIT(-ibXqlTaMsm%&623K z<3@Y?VK|12Ffp`f>FR2EyJBCd!=WGiAXMQBhQ9Rmub0&Dm9K=fKXtp{v)4Pj_a6;g z9KnFhjUo5digP2xUw;01H2YF(4`OjitBV_o;qyD8R_V46sO3s)k6qRN^SeXK%8G0d zoOs_M1smZ2u||14*r+~=xr5S+mTT!oJ+HTPw^koT^Wg=pur&@Xy~d&w2V?L3H5Z+^ zFp_7@q9beOz`gvXb0=PY24VF0IYel-u26^5N{T$P$F!U6cSg*}_>wd8eoadf9{>_u8&R`M`LrPW9?i#vUuQYeH zUT;U(Y`%z2_4SsE->WEp?mQw-_?ZiD#bU30^*J1NzPTB_#o4pX&8YKg&$afzyMm(t zbx`}~GEC5N*4NY4^L9b}BcTgWrMcnMiPKSZGsN{VE)jqXMR`?^HARu@;7;yQi#$CH zywTFt*77<=eicP^mBfG}p|4;y)sMUtb(X-bLigp?E(>&pJ?(8Bt(RLd&GoEHH&IsHQ!khi2_-RtfNg-6oCK22e=YFW4?HZm9`vhjiAzhefJ>e~XltzYvms+jX-= zcj7N-7sk#F`UY2vBjf@P9K?jH&v z=HEX&KepZfzYfoz+amu4;aNH?3DEnyW%@;F$D-K>bSs~`-ACE2xM}IumX6=ArxW4T-oHrjrP`#6D{5D7T~;_nF)W{Jvqn77Kz5JM-k0FcNfLZsq7HW zh_hY5=m}fAhsLb)jdnM9b)9hR{}s0%&2*jG4FqT$DKoHc+~~p?{^t%s7)HBXU+7Y<19Sy#mZGx@Po~__E?R46 z@?GqAJ?wW2J?wYg@zTRSt~2@WYi>kZ+L_=Ob|!}|p1OQl2mP)S`D#%o;tIK5&K<73 z;CY<)tD!1)QMA~zXgV2uG1QGorH-D<73E*~gSYM!!RCB1eT0d1H?!r;=a8}(fcvrb)-$bFaHm64>eyF$cM-j)gs@nY z4tT++yRoIGrJ`JRHb5+`vRw3i!hrEmQEesDII;)RH{Gp;sT-RWbZ!}3+$*O~;}O8) zF7C#4Jgzz5vSgnI7nTZcAoNnCfV&i41nyN))gj4-g^Qb_N1Cy9g8gyraTgQoY?p^> z>bIrFE-E2yD@s3V?4q4ThDL1dVWcZ6prD!Rc=~mqVPv12+)9-gMzR|oF^pu3>)BZ> zE~DkYYyYA*HIMB#{sVgo8NJ)hNXzx}(oejmv)=4*4#8cRkAU5w{a4WMS-&EkhVEoH zB!*}4Lv1gV;Q{9NamRK3nP;Su*Te-8on3~rue+zfb5QLw*{cPXS1jpMBVva zPw4Jj+(AV>qHC$^6QvE@jVsWOa(|}lHQfLG2i?rr#9J`eTk*JF;i)~CdiNvKc;d;2 zf)@lXH5H!C1Uy(?;l#k~(V2$FRDyYXofmZvQaF+Dn3F-5M-RqOIHWJV9ME*bct0`DUo2_07o|j?HtR?gYUUa$?vOO41{$cl*gBi2J5gM!xou*i&xRwg1uhWDqR@ul$fSx5xQMK4VB;MXe)odOtOR}{^ZpXdC9i%CyPW*1LU4!9pKIpyb>)6luHFF4O!7|#W^hAH>+;#&C_ z>;rXRivuE#2<|E?p3b(5W*E^!ANTwh1u^yuPJ_Fi$A(91c##&^bZ3#%;~uTGMOa3b zdzJFg_gdd}H?$~%SmmxvS{SsW#PqIsQPrYXX#{+71#+IJRZ;Lr4Z}}H<%tpRzq=%D~Dx^2fD@b78lc@PjL=fA%2SK^Xs@R z=xV!$dlTGbw7X~Lct@b*A~fohHmInELNs{f&=U3cwZgdpGThZ#T(Pu<5q*W@d3B9_ z^ZiB7nB82pvu?3ZxN6*)Ux(Ly525`DQOSADzN+~sVSj~14~nhMORbk%Fg2pB3(Kns zXhp}xYu61+;G$3F#F-2gYL8CLEUU|p`!Tl zcyH3-(f>>R$j$RGh7@0v1QTRD&WrX*^m)Z8^hNuf@CiO7IzGmv;B22tj~Qef+~1+S z81CyWfn6{vw9!;hG4k}(2R&VL9$wyXy7pL@&+3BO+zTqon7&zKJBl17xGUQK?uU+w zn;+N4rwvhXjJ%n2wdHNxi(YiEDRkg@dApl9>a-cRa8U^Q-+$3hZ=zl#8;%ARrmyu{ zbn2j-2G=}iRj0)h2KD=&^fou2z#EjO8r{zao)0x$yWaD5=u)e^=-b+bnDXe;ej8&I ze3;QCEOD3#eTU%b7g?mi=MeS(3#vY?je40*By+_tL0jC*;stv3O(&x5a}&<&f{PD% z%n`-AzZR0;iMXsVULml`a9gh!V-RLo(Qo9OhD(6EE9YKaMo(b-j)WXH+R#$*>^wz{ zc9&v@KDpYU&dSKqnxnN<)kkYe>&MXP5V%G?@OpVUQCshZiwAgo*^BzX-Cgg&$^=2F z?DP(cfSFk&G9<~84Pr{UU5II2&OTvV2t2i1?sul(h-*>XGPV<)BwguknV6y~V1oS>SMOFwu9B=OLmT}mVdU^>H zUG7zY^5-h>42ctu)yIxi9di%GN^O4#W$~1%{MqkIk#}&&zA~X_z8;c2uJ0%m#-pm@ znw~9x=kRkkx^b{kC!=X8Qh}pDhEekjFu8zVL433MEPeoSuDP)ZKX<@;?5EGYg5Om9 zVBfxzr<$8ioIdv*cC^7`$n)+ITfkjWthAE^M#hnkd(T9VwfArKU5Xk|9(bO2bGbzk zHmKb_pDe!oBJj1T>|^;DP`ceGj`4zdEcf)Y$U!WIu)d&ga1R{ad*yC8Duct|QOnDx zUTr#4REf6dDJSO~&hLG4dCv1iPVTy{wjTWCsM)<-*>Vxky2q@K37&F$EaQ9H0>6*! zXobV+4-tb~FJ}?C`?`pGFDX)d&t>zfE+!w)A36PbieLccio0kHSkXM0{3vhl?6|^_ z-9>prTi=|ttjAST_SE>|W@V*6FEL6X+I-nvllz^8JHPv@r~PsWZxC zVB~&lSWr9|pd&{Z53DXNV>vwkDQ@Hb$_y33q%f@&*p;U^&m(S=;z$s-aY0Y9(HFEhDl8uO7w)0)I&?72SX5^*!*1+rV+rj-4-~NYM*NZM z!i>Y&8?U<)R=Dvr&gQo9r(olP=RUnF?81Z3-}#z~y3T)(xWs!KSp5JU9VIp!TbLIp z=ugtjfne9-n+6=sGX(4(aGoMb-6=~v?cZ9Fw%FXp zH@Cx6-~~>_q!hzuEEE&>#Um2@<56?&uf|;K;Mjz?6rkyv^Lq!`pf=~fh4%ga^=e(H zb-%0{tPUpQ@lzj9m{Erb{tW`@L9rd}cVhz?OzN#1+~{$`Lm8#G*jcpGMn2|0I=SO2 z*oQrdDwJ|@M2j3e_yZmo(O&MvkJ0es7`Q??e!f>O@9DX0WSlQ6f8_oY1Ke-$4)l>X zGVuAAt35r}oAITB>o_n#|zTHoqFWnS;R^!9-z@VS`QD=j=n&^qgpn&ro0?Q&gO_o>U5 z-9_1xe#z8`C+|$S-y~yq@zb8-B37?^Qix)YyJ^tV$UTrNfr%XardR93=M;(?f!k^E zQE>qEQKw9iA42NOozCT)lk&YPmvvrzM_;VsXj6(Zzt~BGyQwFTC{EJW0p}?=rFdlN z9of_BP!B9T9)mNN+)K+1giOhqDKRyu-dZx@f_HPpiREGr#t8;~v+YvP)%|1jq7w%l z74n`uI#Dr-f3Rz9lsgJHZj%v0;rej1E5#rEZPTMa2GU>Wem@ckhu^_3bg^+P_7475 zR#n#VZ&dy^)oOvNa8;Abs0ts|jOft@IU?G?DjI8|Rjx#=jv29NOiIL>B6N+YUBlNYeg(B|uDHvec%@ya`o)$AT9wUIsPrZubt@XRbBA0mFQ;vPwsnw;MF{OE_ zU8YI!b~tYSc~9JPqxcuG?u~TW`4pd(ft{N!C>l@}d8~syjQ9B6RIV!(`a_Ix-onc> z_!oHMg`g651v2`z}I8S5&Tz}VgaHNwTUKCH2l(>w|TmPFjnw1tgssiJDEg})S=qa@`0k7tQ zwpI(P%i-Ca$a1boKe5R;yr1`peC7u{cJ^ZQ)-fZcx zxBjd)%oLT@7NlQpisADSL9!m7IKs@5n@N_Le9GM=x@|cnOT1(JxiH z4_4R%fM+;J)pO}MiNF^0;f=#1)yOa_h`}UX!b9+qUx5O?FdQJ}Cy5Y-BvblY$Y$$$y-kKfehd zy(XUL(H+Gna{h(6(2{R=1)nhZLeqilEPlsX8~cf>4JryZ3gVM8OCCh5;%>Cm%YwNz z=gRIdcTZ7z%?Dobek9Kk-Nzl>yE{m`FUIa0Ai2t{ko%T{ zd-U?yFD$_;?X?5@1(y3!u=JKXp3yssYm)1FAFI~AiJ-R=Zr@kG>K>xFI~n&QSZAeu zW3a;E?tw8zT0G{lqp;$Ar310Y?9-vn{vBvQ(ajBqWUh#ObwZw6mo%buP`1B5874mI zM9wmgxwL(wvHewwC+)K)e^so%CoViE2+GJ22LV&~eW$rh@jYhXs{1FP-H5s9(HLI| zu-ofG3@AOSviK-IP_v_+*h*k6KLlt@5EciVCJw2JhBR!U z%s=gW>A&cvMQ!`Y{HmPZU7p=x9dtbROL=IGvAK?;(c$%Umi}VLCjV;dkDtS=p!->D zaEN<3xc>Ob=$Y@7>?vw2Un}0%xY{Qa*LkgCQwHaAneW(lIcaB1LND_J;%)zzd=4HT zxpb4i@?ps`_pwV!$t?57{Ls1k&}5nW>ZR<`MI$%(q4KPJseOZADcAKIH@H-Q`w%6L z<2nJlIOPV?7JUOgS<XF{8^#IOA8g!l@Vclc-? zAEPQOU*lQu7pbhZ^(T_D7RbI|^YiR`Kl}AfIg2eOl*5L!f~y+ju&R)xxu`)7s|rb) zYZ~ORs*t3)q(RF^vRG#>!{rIIow)_J#cjCa3tWuBZAkj3YUSL5tRj$Gp!M8_+rP-~ z-RI{2Qtgmi6t(BJl?mFzRX2*-WA>f@8*3qb zGdKUYmSZ-bziT-IR`Wf}F&*Z|EQem5oBx^Rm^Sl&XF299^FOy7bC*JU%wY=cq08h7 z?cp*Qx%r?yTn8gpXb%^{C~6N~Emvp{A;}fm!?iGS3xR#O7)EX(un$+m$Snl+;c^(c zg`hoL4k+JkXx8A1-XVocG5Ctw3_S(mcfM+a*MJ`MQ)KRCm?Ml zxPVSj$9+R|VTMKS6VdFiEQ5q*$1THfyf1Mzci&*VZ#dj1M1?xc)9-6^xo;ke4Hr%B zo4;a1(x&|VyP7tY@5>4)ki& z-8bvqr}eCkhaWHq>O;SWA20%5ZgY)z_yKKuxm}Yq>}A_cyI!{ajC*+0DM!=FmSkku zo7t1*J^X-y0U5G<^}`Ps7m)GawFVk_Z_y5+l~Ka2(Siqr{8%UH~dx80!I7u|NFZsXgOW#vt}-Ribux-E}Ezp2|-T>eYCebsFr*KIM=AM5saUH+fw z_V?WO%epPLJE7b7En`{vN!^z2^^|VoP4Kev)4F}#ZU3om|GC>fqucmZO2nlA=2- z$*^IG-moMdy+mhNk~NE#=n6~X-Aiey}8-zC_lR#Lt)5=`H=eoR1ye(mzOw zo!!zuN{SublDNha`CR%y_OXLoa!ygc#LjJLTvF`VmVO~Ac4|v9WLaW|wlpdGi1?BW z#Fpr;OVhHCzPdCcDLU$s46l~xrAy-0OYEkW@C9+Sgw_goe~TOMOdJZt&ym=a%FW(T+|-m}cEZdv?g`2&^| z4_RjSwJbhSGK^nl1)q|~ ztpTxGk#X`0L0WlN_7R;G>6umt%ZjY?v_i>NM6wl1wjz?PP_h+~Y=x4oh-532Y(*qn zp=2u}*$O3F5y@64*@{TELdjM{vK30UB9g68vK5hRg_5m^WGj?xMI>9HWGf=s3ME?+ z$yO-Yib%FX$yP+N6-u@ulC4m(6_IRZLM^`{;I2@y6;W)3imixZD^zSn6kD0qvGpoL*aJ~zmD)ZKRaP0oR%KYS%AoZ?!uKkbejqxmQt1a` z>s9uo4N=^O5HzF3v!gXD&c!|Qfv80R&-mX7kngitWNU`60lc)$&`fX zRgQ~3Qk&5yR?}knd6tyGyGCu-gvK?p$rQC+lW@Am;K~%WT@y9es4Y|Mtk!P3^Q}?a zHMxmhqnc~dvNfu?Ccd=BPG?QLXN~%;$-VO$yP35SsgoVcT2fLZbxlZJqhf2K*cugE z6UEl3*qSJ|M#a{I)HRa2Cf>6~QrCpkH7d3yimg$xHSwM`YP2S7u2CbVNa~vS(i%x! zmAJGm-F1n(>m+qu;_f=xT$i}J&bYfSQDdDnuFLhUlg4$Sf1UiT z3xDg3yX!*uI%!;&Sg=kt*G0{B&2_4|E^4k* z&2>?8oocR&n(K_a>k@a@sph(9yG~X7Nj)LM>AHl|b%xVbanN;&U zKU|ea@qj9QBuYFWfgcH152)D#(d+>=d!Qw$*#pt+0X2IdnmwRq4@9$%c}*Y7HGRx$ z`dF^%WBTOB(tCW&UVKCLWqJ0j3_-IzdseKLWu(u_5H!oSWW|PAwq--EADvy3TOVJ=IbbZh9~4D2DYLSU92nw6e2%l;xOJZ9;yI)j=0TcuOyEVK8R z5<0W=-VGTQWq-zf!fKYjth1t7_9YwQ1zCFbhV&O%_ADFX6IuHChV&QN|IRwaLpIFv z!s7<*vLQTf&=MQM;|8yNLwMZa)ouun8+LsXT{p<%hVZyyS0s3B*fj``8`f&!al_gv zJZ_N34e_iE^0*blf-Qb zahoJ=Q!Kbi;x>i2O%k^$#BGweO(AZR#BB<3nih})!RZHh*lByLmswN3ijri@27 zN!+Grv`Meq6pc1X+@@+oAKVn;Hc8y35VuK>+>&UzN#eGoKis5$Zb{tTB!64N-zL3v zOZeL)e_O)eCVh8HMn#+CZ%g>wq$h6)f1BiQOZeNQUvCM2o8)gx_}iqHZ%I_#{7~84 zlBl>zpWl+GxcLk2ljyx=*C)hn*%b+KTXqdX+?KUkh}*Ju3UOQ3G9hlu+9Jel+1Z7- zE%p{$;vrk?Ew;obwn*cac)=F?jxEuBYnH7RrMF1qmT0>*&wZli7HQlP{kF;9wkWnu z0=C6w+w}QuvC=lZd|T|YO~2k2Qn%^J+rs8HeRo@E+@`l~3xC`6&ut-Yn;y9>jBV2g zw}q;0dfm2gv`rnhMTc$buq`@lQ-^KQVVgQ^iw@h=VOwuWZ4%^gWTXfi_4%?!`Hg(t*9k!{%w&<`!9d^XJJB))n zLe35&-;S`d!&tW?bnGy??FbJ$jAuJSzz!qWj`;izW7dv%`408l5&d?k-;U_FL;ZF{ zza8qgBl_)7za7zUhx+Y^emm4}NA%mFemkPy4)xm+{dTC|j_9{T{dPpZ9qP9u`t4A^ z9no)x`t68*JJfGS^xL6+JEGqX_1h8scBtQu=(j`tc0|7&>bE2M?NGlR(Qk+P?TCIm z)Ne=h+o66tqTep{+ZB#>Zz^%S66k&ZksDBq<|?8&%%mm{4$xuQLK$exS@_DJ}i_~#z|Wlu%|d*ppjymgP>vnL~g zJ<`7?zPm?X(#IEjj0Jn*$$RvyJsAn?F*59lU+>Y+_GBcm$2hSkUcN`K+mn&N9;3#d z`1~Gya8E`8dmQQP2?2Zb$Y0AyV2>l6UkeX=^iO?qzsHfzuZ501dh4$xy6thK^J`&c zkG}hBiFLV~bV7ed&XK#x;f6mWXUW~9TlzB+H*+^RBX^U?_%kwk&fO$5{)|ME+)ZNR z&&UWmcaz}wGZJ5NH;IlvBctftO~T{PNW{tABtHI(jHGin36MV{F(}tdg#4Mmaa`tl z36Vb|Q6kq%jQkmi6S-c3e@0?Ou9q3{hTh2h+7`d|J-p*VM&{+ItyIL_Us|K&dvl5@A|fB6rE<=k!hU;aa(Id_}>m;X>k z_PN{izx;7A}Kd$`UrvK%~mA~8czx=rJcboo~A6Ncv)Bp10 z%HM7JUw&NqyG{Sgk1Kz->3{ig<*$$ammgRD`sjc8apkX%{+AzD{`%;D`Elj1kN%e* zSN{6wfBA9cuaDt8Kd$`s(I4~U%3mKtdVXB_>tj&Qk1KzD4D0!E<*$!{JwLAe^)a;P z$CbZ6`geX@`RikN&yOpAeGKsVapkX%AwEB@{Pi)&=f{=5K8E@HxboM>K%XC1{`wf| z^W(~2AA@~0x`xX+JEf1T^&t!;i>dFAQ1%yv@yzE8l$_^5n;*|IYRCRyRK`J$SCq_#apP`;7l_<-gDP zA6NeSjQ?@vzt8v|SN{8q|8eEN&-fo#{`-voapk|y_#apP`;7l_<-gDPA6NeSjQ?@v zzt8v|SN{8q|8eEN&-fo#{`-voapk{{{O9_3e)6B|(ld3(Z6!N%GVVAE7z-hP0_z{y~@`V{VUh2d`;26a=pse6#XmLt9(t-zjD3G*A)FL z*QvUsL8^y~@{=`B$&>^KEaQD{R{OVE#`oN;_Ghz<=eb$!zh;fES>b!jgML7Vb*wBx%RsWhb|C&{Qnl*o#RsWea|Cv>P znKgfzRsWbZ|Cm*Om^FWx)%Z5c@kMS{{bAPpVOI4|oBnClKW+M_RsXc7Q2p)24q~^-r7rY1Kb%`lnU@wCSH#{nMs@TJ=wx{%O@eZThEG z|Fr3!R{hhae_HiVoBn)HJZ<`?RsXc7Q2p)24q~ z^-r7rY1Kb%`lnU@wCSH#{nMs@TJ=wx{%O@eZThEG|Fr3!R{hhae_Hj=nEn~nKV$l5 zRR4_WpHclYrhi8D&zSxh)jwnUXH@@;>7P;kGp2t=_0O388Pz{y`e#)CjOm|I{q2o- zyut5ow=yPQM)A#NH5WAbHGzKqG2QTZ|^Uq<%@?})MjLDZ#`Q}W%IhAkDoIn{s8^q*7x=S=@O)ql?PpHuzkO#eC6f6nxu zQ~l>m|2frv&h(#C{pU>oIn{s8^q*7x=S=@O)ql?PpHuzkO#eC6f6nxuQ~l>m|2frv z&h(#C{pU@;dAAd>Oyy-Kq!_Rpe z{>`i2^QPCl4nOB@_&2Zm&zpYpI{cis;orRa!@TJ^ufxxI8~)9!f6SXc^E&*Sx8c{k z>OF6I&Fk=Qp11e8dDVa3^qbe=-@Faa=G7nOP0x89{>|I)Y+n6i!Sr2FeHTpM1=V-K z^j%PW7fjy;)px=4T~K`&Oy337cfs^pP`wsRp9R%t!Sq;AJr?ZtU_tp^FntzOp9Rxr zLG@WMeHK)o1=D9i^;s}|7F3@F(`P~TSulMTRG$UYXF>H@H2dJEO|Cy!H2dI(O_DbI zEUJAL%|452pGC9JqS|NC?6au$Sv3D&RR3Qz|6f%9Uo`(;RR3QzdoHRy7tQ|{)&CdG zzKd$#Mf3kf_5Ve)_oCW+(c;~r-X1QR{TJ2#i)Q~twf~~oe^KqfX!c)J`!AaP7uEiY zX8%RC|DxG{QSHBI_Fq){FPi-qX@BEmQTbRjJ{FaaMdM?E`;CtU?l(Rbm6!Xb=YsNd z-}GGIe$#V7dAe_UE+|j-BbFR~5##i~Z~EL%Q4{LF4y*v+sSi=Y6x+g5J*EH+wB;{J$UAOQ$352lmqVZ@*^A z-4}cK@3KGBw|)F~*_`jWi}&AUWArx({=4j({97`W=-*=B>E9A<{9C-W_iu?d{w?;U z{w>kMzr|a7|CXNn7W-EJmT2MM;;p@ZOSJHBv2Fe>v8{iLxAy)mv8{iLw)Jm`E&N-w zt$#~w;osuL__xHi{w-dPe@krZ-=b~(TVgB!7Jb*hCARW!(Rck@a_j5gqVM{*r0?{9 z#HmpKN5a1UKKo{WKzzl2pSR-vfcT34KDF})gk}GIYUd9Oh`HaVcK(2{?7vU#`~hLv zf1keY4+zWt`|Jz+0b$vHpM8NpAX7d5`|Jz+0T~*{(xQIfQ+5|0geUz0h#LY2RPO156D=`AK=)~9}r*n2RPO14~Vb(17y=5kXYgm zkWGI;Vu?RMHvIvKCH?@}^asTE{Q<^We?Vf1KfqY)4@fNW2N-Mp0h#LY2N-Mp0U4Y5 z6L$R*>aP=a{S)f16L$R*>aP=a{S)f16L$R*>aP=a{S)f16L$R*>aP=a{S)f16L$R* z>aP=a{S)f16L$R*>aP=a{S)f16L$R*>aP=a{S)f16L$R*>aP=a{S)f16C7*%lhW7u z6P$|lC#A3RCph-@C#A3RCpZ=9Pf9HGCpZ@OC)M94I2GwnN?+$saBS{RN?+$sa4OQD zl)lcNU@Y|~!C2}~%A*c{g0a+}lzRz(f_EaPg>71siaMElGC45k|r71*42?G8Q31EA5R(AQ|iZ4#_^Q;?UZpl zrG7ePoKC4W5Rt;gtH_lyNtuel}&CO{rhm6u*zTeb;T;l)jI-d`TNOn7fy> zae}#eNgEfKo0qh4fVp@{o8M#ZUDD>~m}{4`>5RE`Nt+*IE?v^*x0pMZwD~FK$|Y@n ziMeq}n;&8>T+-%unERHr`5ETAB~3AX%xz2B)Wlr2qOXDzPpkgZrvJ3+KW+L?tNzob z|Fr5qZTe5E{?n%awCX=?q)scT(-t?T<&lLyZF)_MUik#=nNNs4^9kBBpAdWI6SQYO zA@GoPS6^9iwMK0$lt6JpPNg7(ZO#Gd&C?U_%AJ@X0LGoKK9 z<`cAMJ|XtZCuq-nLhPAO(4P5(*fXD?J@W~%XFfrD<`ZJie1i7OC&Zrl1nrqmh&}TO z+B2UJd*&15DW4FY@(J>kPY6%>1bNCQgr|IhJmnL@Q$9hS@(JN7KVtSCQG1V=y+_pE zBWCXrwfBhGdqnL$V)hl=zcRGXCU~5`XeZ#-Dsr;!i%w_>)gc{K+R7 zfAUF*KlzmDms0&wre8|+OPPKt)h}iGrBuI^>6cRdQl?)@^-Gz4Db+7!`lVFAl77!&Q>J%H^-h`IDb+h=dZ$$H6z`+*DH%8CQ@n4=r(~R*Pw_q}_e<3` zW%{L5KhN~@R6o!3^He|2^z&3d&-C+DKab<|yeH$*yvK3*1HD|&!IXsiYQ#m}!@j&jn z@*aDW2QmoFdlcsZPiCV)>1y&GrFtM^#=JM7Zw7xP1Ju07XW<{wj^y?uUKgK)=Rc&K z3}a6*_6%cBG4>2&Pi6KDV^1;m3}a6*_RI}Db%RlpeN<&14P=+$etwj#lX$2zu@5l;&9v125EIZ$ zOLHD#0-9;L`+A58Xr{$0A7TQUX}SA)hzV$>#kvn|Cj23$gfVJ*XfxptF(oW%%KQ*h z!jh)W4>2VyX$t)iQ^Jy_(ho5uENM#pa6#1AGv|#nnX5t?%$lcdNn~8sj zDQsy!-R0qe+;nr0bxC&-a` z4E$xl!j_9H9?6#2-1r-)BF0p8$UL6P+JK4iQ9-Fn}CFh#XSz zJ~2d&bU!FV5RoHY0CI>TawK#khcF^XLOpVbBXXphLJs3Ka%8>`Iqb-hBfSZ72qkjv zs`tLn&K)_@ouLflI&x&*5IOAdkt1Ckav1B8BfS`MIER27>Gtq9;9chrkrVK)Gl<9u zcpo6|Hc5(oI%;i`aa%$5$C__#$zhh;{sZI5u3^~P|kCh>(HvNM# zop$s|29FmnGr#790GSXAR8iAd4 zh5P!U61aTFU5?UsRt2#S@GC^F$M1__K;;PPA zpiB@~F?pe7g1D-)7$_6ORZM7TnINv}%m&H?aTSvsS|*6AI@^IVL0rYehn5NAs?LC* zOb}Nw8KPx^xT>=vC=8&g4?pJv>c3gY}UQB{r8m0 z{=3$D_TQ6HEXr8#*?&)|?7wThXa7AJ$)b$)p8fZf%Kp37d-mUx(JabX@7aG(sqDXN zy=VVD?alk|TJPC^PpRy`YrSXxJ?+i=?^^HKe^06GziYi`|2^%^`|n!s*?&)|?7wTh zXa7Cz&ExhS=x1@f5$QZCju%4JGvoSdByz0xjN>gyEn`tVuCGg?jE$D#cym(ASX7Ve zE0ic>qvbf>rqnVP)#LhFCCb=nIgU3hwTwmexV~zMGB#R{uV12!jh5qh z6I07rRFCT`nJ8nUk(p zPL#2z9><%VTE?P!Twn1-8H?(1yzQxFEUL%#wNI3>s2;}~pjyVFdR$)xMH!3gal93( zWh|=4_4QDcv8W!$o1$9AqIz6k8ATb3>T$e1s%0#y$MrSR&%7}keR*T*8{U}tk2j_x zJ#WnX#~V}M@W#x4yfKZ~-kAB1H>SSfjhX*=V;Zr&G4mg9Ont)}Gyn0%G-7*W=0Dz; z`i3`V{^N~l#P-I_f4njE4R6f+#~ag#?TwlLcw_1t-kAB1H>MHW8#Dj$#?&{wG4mg9 zOe3~8X8z-isc(2==0Dz;j`X}S^B-?aeZw0w|MA9jr00#9|9E5S8{U}tk2j_xJ#WnX z#~V}M@W#x4yfGc=d1K~3-kAD^H)j6hjp<0w8#Dj$#?&{wG4mg9Oz-TxG4mg9Ont)} zGyn0%^v=#3Gym~^rhSt)X8z;-O#3Ep%=$0yXWBP;W7dCpKXZK(79ikdK}V3+ftv;VLe_7p~GJ`@&T_Nda`3NZC$lByE?3` zspeXQ;p&LCw>qL0sK&a6uFC48^?HtKT@f){UBexXGnaT`w_Q8(|f-x(p*Sv_NfyRn=B%Rkf9Bz1m8;OD&zewo=<)i&Y}!T(yLqMjF0U!@*bZx>X5RBcnwX4fB+l{drnX61TXxt^`8Z%|LH zXB*r?pzaI}VXdeED~3uF8i-cIQ957)P1OMBW(n1!;TRpRfhTXUlQ;0>4V1QlCTd`4 zXlT&ZHZ(M_N^6x_rh%4ew2;t9i!@fz{TpeTMl(qxP0~n{G+JvK*_y@%C8*INZ)2lg zdn1B{vqe*tTD_@?a5mA~n_vqmVD8g&R6Vb$o=2cx5Zg4>YgBBiXEU34=}o-kCisGu z6Sd~VESe1ektI{fCa6~yWR--46akbZQ3{l)QFIG#*Vhq}`+D0By$GYlB zevHkEX|p0>ga%i61bv6A3x5?hY{;SbtA}Dk%!t3iA<~{m_?TV^Hl)S)t3DM8YquH+ z^AfNjEsliMJMmXt2^(T*{1qRIgzNY>Ccz<6b&Myi(tsbSiLjkD5v{Vu8eRhx-IdfF zvl7Q7Y(#2mETe`QR4-CfFQ&&|B^Mid`Wl+4rh!JNLBy2G8`U~B+Py?-!>T(r^vK$< z8mIQC9#CsnTFWb~jjFNgDmCCl>MA9!;4d3dr*S+|hbwdEtTQF*z=F$&Mp!ZmU(yWj zP%tA=Qzok8oJf>{M8Sw0P)++stJTg?m`3~|T4Na!fg;hUUT~Bno=B7?iq`9e)|1#s zeORx!o;uW5sdq-|=|Bu_k$Mfzk@{-duAaKo)4?P48b>1aQ7Ts-RiWxJPLpQV(~9*` zt3yX_k$Uab@z+W=slDr)RG@keo+9-zVL8%JsX-~yP^A~pU=42|3Jo=^tD#2gXlSH% z4G1mHo(+gB(yj&!>Li1KEz*E?Xa*0}u}`ESW_8B2eT~+P#%krQ5odKrHrDYH8#S6n z8WGy%WQ}%c%t~l?5{Xfx7>q);!7H08rJWdui=S56C1XQm#{%6N%(1}|%5qhh5gHpJJN~M9u_0H6 zzj|fZ5c5@q5gT25u^|~44oRKSqx30k$XP+XR1vM#_D9`l*&T@u@mu^=zr_ZR&?}5q zc+IL@;b&PY^d4l>LpS{>+0=L9R?sn4PM9P*X!VGQiDdNXp}>9Y^Zcm z`b9LV!5)7#GGjw8B&r=r6id2GRc@f_s$`&!y1*>ydi8T;h@a!H_7d1o>$-?77aG+- z5_Kb3IaE8dXcYIGT0moEG>W?y&CsZY3~f}s-bh62kMW3l?VfQ8y*lJ#CSx`jiuz(Yp@|sf@SE%wy`EU3pTg|{W_|QHDMSke^tL&EG%ILfAthGy>W`g zFv4}^VmiQ$#nf=I7(E#qS}|6<*MjgdcePlsUc1w9L^;A}iD4asBX(-o;;_i>Mk3)T zdq8a1@FuE$>h`In+?Jdc8&&KAuw`}WxF7o%q}-O6JQ8k1Sar>FTiPdwV;r+b!m(r8 z?_m9Pv1u45PfLm(7aLY=;lbHoycC|;s@MX)=W+6*EuSi%2u@RI~+1!?P zfsu%fU$CY2!v_0~NQ8reNQ8ZT1S2M%CSr}jh`_QqxQIk-0ER8`f7A(o(Dqg8_#IhR zd!=>V$Wj|&L)^f%MeQD`gx;(GclvV8Hi3e6n*FMH$rD91S!%s^p?jJsWz|di2Oqy}`piPCdCT z9l%76k+KN31QxeJ|HBr=bQ3q)m}6GgG4!U);s7^NjZu+iRntq6#Tu${UEF7;sm6dz zOj^wWS)|%Vj@V*js&zUI&JZyNVIP4k42QMO8cc9VRW*TU)tG1122N0GLf6_bIZ|s4 z4bY54!!%$txEzO{R38nLj+(Eyc>~?YX^jZR)YK`;*%X(>YmK72(l$rytW=%h7ex;* zbv1C>2(GNL-ECN@2D52{`AS2b8KQw>@JK_{&eNb#A2kG0H)yBivKW1^#nv>kn~6jk z?bMBCBzI%2jc>FzGzPjh9;F72W|2k?#ZVPy0_DOQ>#UI8c19vi>^R((-j!8HIbMih zi&^z%kZO0Y;Hs*whaX8}u%*si9jm32RmWfvDHW@uPa;d9u15dC1JQ#>srm*EoFdrL z7*O93WhrcF^^K8g-b`VOBXJj_q!En~26=4Q5Ie$K*v5$6*XVb|AeUL7OUK zOE0@IYO%ACeS8EPR=wSjHFEw5`}A%f8^Mi0lvmvtjq0!xJ9Wl7g8r13h%GfLHt1zd z9IB%fXBDxfV==eEtHzeL6dMf4*iwF)YVFnsTdckg7bfOvs?+(EuoF!X-yaK(k|FUx=a=&OgHyMe`y4_Mo*MIS{*-P5Pnb-UheU)1de zw|z;s8{KxRZa2B@%eozN+gEh^n{NB6ZolNV+jRT5+y1U@|FPTto^Jn%+iutGm)-U? z-9F*AJ9PV`+wRouQ*QgZZl8ABf3Dkq>bARd`;6P}*6p)yyGOUrx$PUe{fgUuL$|-> zw%^q4SKanoy8Ugp{kCp@$8G#@R_rsP>Y zRyfm?Jg3JBXPQzS_=J8*p3h^2Guz!#ztc3N> zG$nSydS{vvyI{RDO^GG2-kGN4+Ogi5rsQgu>4RAR%v}S$4(p$}6#WeApScu03+tb` z6nzQnpScvh2kW1?6#WJ3pScu01nZx<6n#QK$7*NV6nP-KOxdyenJf4!?vsbC%anFm z9-d;gGd)folVY_qP00h%6+Q-EmPemh?M(Kq2x3_6Oj80CRy)&_V1(7qG$r6*wKGkL zU|8);Qz95vJJXa1hSknAC4ynKGfjzLSnW(xA{bUX)07B?)y^~}f?>5YO^IMw?Mzc5 z7*;#eln92^&NL;0VYM?&iC|dmOj9BlRy)&_2!_?pG$n#zwKGkLU|8);Qz95vJJXa1 zhSknAHQ`jjYG;}f#jx6$rbIEUcBUy&4C|X|N)*HTW||Vku)dk5R51c4F&GQ*$Sy3% zgVSNLGf83bGnXQ7Sp3YTC>WMIb1A+hfF;dbiqG+}P?<|n1}ygEQZzi4A9JY@Jp_MN?zJF_)sLvEZ0X(bTJAYAh+H?fkjyqd8Z_oLDwY_sP2otBiD5D$Lcw z*oLLTT#C_bRU*$SW7O)r?4yyeL={Q~i-L(Iur!#Q0Skw@eYDG(*ab_2={`--t=Gh@ zu{4M8f)N%9(|zLPSSUVW_4(5(C#TH!( zi-Ac=EDq*U^lK~*=2G-)EDq*U>_@OTm`hPVEDq*U)NfrB!(w1sr-UUe2Bs;oCl&+K zl!PTL2Bs+qOIQp{QxcZ27?`FcEMYM)O$i-X3`|oJmarI@rX(z3F)&SuVp#r5Q=$=; z|I(Cbgyp|9B^qJ*FHMO?SpG{>q7jz=(v)a~<-ar~8e#b_O-Ufa@?V;gK!o+aG$r8$ zKXR9pk6*pRX!wyklhP$TV3&Xez}!w+8_RmR6s?VAy32!eEkO2F3BNe-cuV;%T@6meA7TG^6`-aSC&IVtorCu1P-e{x)h=E z@pT0xv6Q1WL3|0nB-6&@r)6#@v0D8HNl{w&D>=8*`U^QFmUfdPvDBN}$M?{%xT8x^ zcP#GcQjC&V2F|6dXOTFJAKK~pJuS-a!~IMTWj`j@SmMm3c+FV)&86tSSo+PS*mYv* zH{KXT}0qaz-qeg?(8X8Oy@C6zRdTa4yAhI+lfVDcT>)!nqXNg2mok zisr{+Z!X1_VX-%tVt$_; zi@mv$yjm>w=2E;`yYp*qbX!%CXoRQXBM(tn?UI+)dm0x3Z63g2mok zNjeEr91>>5yEaU*pGisft6A|iEcK>!N*|A<-ZUjq3?F~elsF!idef93v_Wsm3Yi=9 zCM?M3+QOKE1^HZxJunvJb1B9YRb_)AMeVu42+o!6{cKL4X&_m8GC5L}LZF_nSfa)eA}Ah;YM)9wf^ zN61tJg3A#yoq*tSgp5BCT#k@&B!bHkGAl`W;*ZXsN zNWe3bfTu#SXC?tp1%uB_0-g%}o|yzZ6?u4O67W>0`OGBXsYt*xlYpl}+h-;LPelTr znFKr)NvK6A-EjdGl@fRIYK6J2rfs+B<`7F*CgPX%tr_&C%lBx5KK-Xkue05Q%I!h z$mnn+bT~3P90?tcj1EUaha;oIk13Ivfcdj*JdRLWd)x!;#S8*mS|MNY1fI|FOu* zvB~?fNXM~B__4^tvB~tYNWig4@v-pyvB~YRaQU&(?^q~(Z1g)8`W+knj)i{5M!#dB z-?7o}Sm<|b^g9;%9UJ|Qg?`6Izhj}_vC;2X=yz=NI~MvK8~u)je#b_?W1-)%(eGI3 zcWm@K7Wy3<{f>ox$40+nq2IC5?^x(}Z1g)8`W+knj)i{5M!#dB-?7o}Sm=jfa>8}T zLO%qPQ%LBCU~&ox{SZt}A)z0F$q9tua*#0ulT%1E-`|_|MsPXinZ8DFIYOqP5nPUt z$sdBt5i4ahT#k@g zItVUD$hZ~3PY{zNc2g~XCW zFgb;UTM8I4G1iRbi}WzojKN|*GS-a2B2SDpW3bqej5TAhNElLeRv1SYw*=4L5 zgT=OFtQmtvni*@xV6iV5YsO%aZ^oK2SZvH5V$B#V63bD zA=Zq+qSbqdHDj=7i5_Cj7%Y0ChgdTPi>Bxy){McTD|(1EW3Xro#+or$^aW$h7%Uot zv1SYwoxxZ$28-5UtQmtvZ!p%3!J-`)YsO&F4~#WquxJRzYEl@{o53!gzW}^YIuFVZ`9kaUd#>z@|WY zh{_|dDUBYY@(65GY!6X+1hz@Ghp0RP+ceulR33qCqU|9nkH9w7_7IgvVAnH<$|JDr z6-4C`*!2ja@(ApD15tSdc0GZpJOaC3KvW)qT@N5CkH9YXh{_|d%Q>R*2<&o=s5}C@ z93v`^z%I9l$|JDLDWdWS>~i^ks+=MQkKtG45;1rTRyjlr9)p!H5rfBI)2gU4W%6U5*#Smx9oV(=KOa^hF6d$^6w{v!sD=HuqIz)pYMvKH9s zj~mqjJN5m)B0z3V2 zJ6T|-KW-um?DWU2V}YIixM3`?(_inP_i(A)#;^3p1#*Lx{R zN`GAVHdyJ8%iRVm{c(}oV5L7UZ5yog#|3SJmHxPlZLrcG7q1Og`s0$d!AgHzs5V&X zkIT~rEBz6JM`1+eAwCd;$6%#DV(=KO^hXRHgO&b>!DFz}A2E0gR{A3bkHJcR#NaVl z>5mvZ1}ps$gU4W{KVtA0tn~kVps&g+g78?r!A?Jf<&p6?{ScN%V5c9#@(AqoLs%Yx zoqh<*Be2sCVR;00`XMZjz)nAeXJN*!rM_{KP!tx00^g~!4ft`K`%OkMU z4`F!(cKRVK4`Br1(eWcJkHAhpgyj*~>4&g90z3T>mPcTxAHwno?DRue9)X>H2+Jd| z(+^>J1a|r%ERVoWKZNBG*y)F`JOaD?A}o)||?DR)i9)X?y2+Jd|(;s1Z1a|r(ERVoWe}v@`*y)e3JOVrY5tc__r$55-2<-Gn zSRR3${s_w>u+tx5c?5R)BP@@=PJe{u5!mUEusi}g{SlUjFoN(X{SlT&VCM&f}ix!T4424e4X zrJuin*!x`VVt)g%hp;?SpYsPEBNW)}Vmt;Yu+tll0SfGPF~af)?DR)i9)aC1Mpzz! zogWaEM_{*$5tc__=MRMCA&ekAI(~hFv4^K04OaRh2#>)^-!GiL`UYd~3#YHX!Pxu4 z>8o!r_7H@}zE^r72#>)^9|YksSm}WvJO=B!2|;)aR{9_akHJbG1mQ7Q>4P9V1}l9K zgvVf|4}$O*tn@(;9)p!W2*P8q(g#6a6h_z=!I#tL?-c(C>Z17w^CJ09AB1@k*y;17 z;m_%VFfWqt^g-Abft@}G+aj>9D-dQyV3%ivSrORR6$slRu*)~Xwg~L&3WQ-1*ySBz zSO_D?koN!cf2DhgJ%kyul>gdOoCiMtZ#>1h;Pe01Q=AVz|L;7-IpOpF-czEidrFjc zPYLq=zj=yt(C7coQ-aL@@1EjZ_4)tdDM9Z4)>E9*KL6NL+-LClp{F?aeg5w~CGwxA zL=NJ3G4_!+#rE{_=p=Munz-qfduvr7_}IhM=E5n9u#0`9)%IC zM_?NPgY^h(62)LW0$YU))+4Y<)Yk~sBd|#ngY^h(62)LW0-HoJSdYLaQ4H22ut^ky z^$2Vd#b7-Gn?x~KkH98T4AvvCNfd+i2y6&vupWVJMrE)b!U)Zy<43R_!oM*BFj$Yk zMgRuu5!kq$!FmKXUT3f#fsNC@#>F^2>d@;fAAuuz-BQq zSdYN}v*rIrEI@|l(f;EtO363R7=!f)Y!(%R^$2X9F$U`q*eomt>k-%(jKO*YHU?v` z9)V4|7_3KNlPw185!fV)!FmKXhGeiFflaCytVdvzDF*8i*gRtl)+4Z4Yz)>z_!H;X zPjvjBIKLuTkK{YQexl>FNAjItKhg1j;{5uFjvt|Utp7UxPi=;&10}AD2C=S zSQHdP^B62MC`0oYEHfxW^B61^AVc#QEEWet^B61^KST2vEEdSupSpa0qWbDnm(NdB zUm-M)l~;X*&^!jKzCvgogH>OB>hk%C>MMliv3%86pSpa0qWTJ@Fq?J5275Uar|Pk40IV3p>_PA`2$_3J05y?YO} zz9)v?-b2-1Pu#YDsP#WFeD@xz_IhI4yZ2D}?TO*P_fWOh6Vu+khsu9Xj2^v*st=x+ z_U=7Yetcr|={;2a@Wixt@1gSN6Qft}p^oo~Y46@c<<}=hzurR~?-SGBy@$%bPmG?u zhiYv-G40)ZsQmoI=-YcJ`!ZiYG40)ZsQmrJ=-qoL`!ZiYG40)ZsQmuK=-+#&`s#^k z@7_b@|0l)|y@zVOJu&Uwd#Lj8#Q3B4P_4HoroDR)RX&~=zw{oe_4dTHckiLf%M;_D z-b1zCo|yLTJyiL5V*J#5sMgyPH{XA)^7O>`tM_ZQUY_{c<<}}-PmJGszgFwziCI^@ zU#q-5G5yo~wOTJvO#k$Lt=7sD(=WYWi*><(O~RiH;ROA`fK3KVdkolQu+-0hO$LiR zGhma!BF_xiWU$CH12!2f^2~ru28%p1V3WZj&kWdPu*fq5HW@7P%z#Y>i##)6lffd- z4A^9_$TI^r87%V5fK3LAJTqXE!6JVQ*krKC8v`~OEb_&GO$LiRF<_IyB0mh+WU$B! z12!2f^6?x2n-oR}C*m6cn+#TbBVd!kif;sLGFb7AfK3J~z7ep=V8u5AHW{q=M!+V6 z72gQhWU%5J0hdD5KaO+y%EAmV5c`iI0@|ZMhGW?o!$uH zB(T#PA)ExZ)zou@a1z*7PYmHCu+s}6n+PL7lj0vCn*?@xA!L)lPA`OP64>d5kWB*H z{Pr9nn*?_JBSw?Jj(@~x64>UW=ZFO)u;U*wn*?_JBW9Dpj(@~#64>#Nm`wsZ{t>fD zV8=gVHVN$bN6aRH9sh{gB(UTE-zxqQp~>)}_(xJ-8OdOk7eq!fSmgzgkqlOO zL1ZL@RbCJo$za7lA|ok`SV`;;LLC__^ASTG87!-1hB`7>=5I!FQuyD>eEG(hXRP%d}#9n&-v90!dj}#vtn||m$5_{?S$F|zcxP z!$c-T!%y##*h|kpHva5AQhxr}@YQ=H_R{l@jbD3@l)pbV{PiA* zz4ZKJTkZEADZhVg`0PCrd+GV1+l!Ar5qusRfA=1Vz4ZLh?Zro`4-XChy+?|_L$?@P2L#{PGFOF27?pWt}ChrUe zC$P!;pLG9~q2H{3GG2y$Gg!vU&~FCIcp3W5U>Pq%zZq=fHF;++IBC!1ox$J)HhE_- zIDt*x84ONflXnJ#6WHXP!Qccod1o**Te6{8T=BRg}){=_$68ke@$%gOY|20n&9A8-rAw@JCQcUEKA~KH@6FQ`b)FZ{j4k;q{NHM`fiby_E zO!SZ(ufqB{*WT_h!mRuks=a_6q^E(A~J~-n*@;}RtQpT8bpfN zAxN=_5Gi7bAjPIaq=+qo6q^i@BGw2}Y&t}W*ds^@@~-=DND1<;J8(z|@~(SuND1<; zyKqPe@~-=END1<;J8?(}@~(SvND1<;yKzVf@~-=FND1<;J90<~@~(SwND1<;yK+bg z@~-=GND1<;J99`0@~(SxND1<;yK_hh@{WyEXiTI8dH;>c`)`80|HkC~H$mQiWAYAv zvrG(#!ex5ZUC~G}y$T<+modHS?rD@Uy$ZjymodHSE^CxAy$WBomodHSZfuk>y$b)e zmodHSu5FYty$YYUmodHS?rxMZy$V0KmodHSE^w4Fy$avAmodHSZgG?`z53WDN~9Q` z-Bpeh!}DXCERkY(cK10_9M3jkBE|HoyVQ|ldKJEO?~mzKceA66=~ejGy^QHqcfF&G z=~ejLy^QHqcgLfQ=~ejQy^QHqchRGa=~ejVy^QHqciW?k=~ejay^QHqcjcpu>D9+U zZ|H6gVx|SX@tNt>$3buC4iCx%z44jpRYZRCwoI=+4tnD=)2okz-q4*O)D!f^XJT6+ zCFl*^9YRXb8=r}Ng_NK-bjJuOL2rB}HWpHX-q2knqy)Y3nb=uK33@|!mXH$k#%HGI zv1j4qQa#VeZ<@kraFlLFe)AN?DkHyniq2My{N^c&RYrdE6rHUY`OQ-ltBm~SDT>v< zM&vh7QLHlZo2Q7qivIZQ$!KueLzhZMgVPkBJsAy7Q(P(;4Ng;h_GC0TO>wDYG&oK1 z*^|-WG{vQo(cm=23|PctQ>-%boA=qVYDO%|=5N;XHQ0c^Aw#u8TrjqboONAH&4;olab#%MQ2Y&e)ANaJsJ7UQ*`!Zz z*^`mqG=H&0Qm&d6_`qFSAi-#kUN zIwQY%ifVO6e)AO7>Wuv6DXP^O`OQ;Qt26SOr>Iu{AN?W#MyOhyk>9+GYIR0_^Ay$U zjQr*)s?{0!%~MpXGxD3Ks8(m>H&0Qm&d6_`qFSAi-#kUNIwQY%ifVO6e)AO7>Wuv6 zDXP^O`OQ;Qt26SOr>ItE5N;wK^led5UUvMt<`Y)#{A=rYVdD zNB&{tH&0RiVdOVYQT}1%H&0RiVdOVYQT}1%H&0RiVdOVYQT}1%H&0RiVdOVYQT}1% zH&0RiVdOVYQT}1%H&0RiVdOVYQT}1%H&0RiVdOVYQT}1%H&0RiVdOVYQT}1%H&0Ri zVdOVYQT}1%H&0RiVdOVYQT}1%H&0RiVdOVYQT}1%H&0RiVdOVYQT}1%H&0RiVdOVY zQT}1%H&0RiVdOVYQT}1%H&0RiVdOVYQT}1%H%~GCLF6}2(fNy!-#kU;um8(**2)U` z>ra1cmCns6Xf@8wD`?ft-B8f#n)7U%<>ox!=D3wrEp8K>g8!dQZh!wD{z1s{r@ysX z;UE5`-bwz`-`b?`5C8J-WeWJy-`bpj1kuxf`dgb4{^5~-Vlx6th?f4pZFc-mpD(Zr zU)gl^)xY_}zxsoS&sWA|U;T}z{6CiR7k?1W?ET)_xc&w9VNCRYC-643j-O*!xV zLAbs5dz*0Hci5(z>Hj3NMDGjl!{7Wtn6LMR&5!89Z~h=s-uuEvE=khQ-WS#lCjGx6 z=e@r(rv2)#E#XT;@K^uZ6TE7USF8TgupCj)`_ilaH~yIok!3u|6p`S`YBEhEN!rOT zO%;9hzu4HmG`;iH-*`QycKDGe`7r*SCH$QkIlXu$+{oDbJe&zPBM0|B{GhQJIlXu$ z+>9LD{qQno5N0@{mb!c9^4z6kv>Mcw-%^v4u+?~BkMQ`EgLLVrwA z_r3`IF-6_`BJ{@;b?=MNA5+x5FTxphQ)uDL_m_tFufid3FA=(Ddb{^`zxQF9mj3F$ zvV<>9*Yv)03V&(pMlYYfIOcYVXc2ugotl)aI{c zSKi9rz!TmV&t<(4Mx({A$uND$aDwKm+Kml{c1}o|*8WbT(_BZ#ntKoWQYTj`!N^X1 z7Y#bI4rMYU+{tPiHUL9auCnp~s!9zT0EV>H_z0uftZ#Q4Ly48^LEpNy(qV&g`CqSh z8|A^IxoJa?vD1*@WYrAoYO}T1=(OtFf%(h*EfpC*Ij;=(c3980>#e){^}7`a^qlcg z|233nyLnsM`gdZ$H$(cf zzSUU&Fd(9ghkX9{=)L;(J{2Y>s#CFZt{tlUDM+*fK$#dj%W4AdQ zuT#qpQ649#6l2iZPB?;gr_T&4JPem_4N-y_Ew{@u}z)c-rQ7+<6^?lLrFKh#-z3rbbGJ8-M(LCyrCh>dqGV0|N2DT z+TY#n+bzj^;coT&dT6)yv2bYa?e8^eG#BgZm?SH>uc8#XT9G=O))gOBS9PMU_v>sY z!6dk}vj+}>VBOu@LJu!rdi{s5zwz1+UjJdjS10Rv|9X?EhV~pfx1VS+;~SQ(VO5^8 z=MbU_4#AL+QQh-9jm>taQBy4eJj+y*v^pI1C$2rI^#oMttZ!A1g&E)8SWZ~`DaX?6 zI~eACi=#PV^`{+9KM4`psUFS?Pd`KJJZ0zm_WhfeZcfsJuyMMc_Y>}KRklx7`6&i+ zx3O1iwl>>kJ>@y$qk9i_X}yotx3|aoFDLTlhpCjUy}jL9dw*|tf3Mthl6eZVw(_fC z{QyGmH#hdS%AN3>WP0>P!AZ2R)LQZF&<=6d@4#KS->Sfj7!sCS&B`b5W75#zs)lu0 z$ynQ}w_w^<%o6$h1Sc>z_V&B|S!&paLskgF5Y1M97L&Zd--F$#u`>O@kka2n>b{tJ z^-i;XXS-_EUMhmB`+IuNXRl69PGT|L8Gy3WRvBtkT=pLhR*PjBL1IGA6SH3RXT#X6 za?+Ohny%>GHvCG7;u|WXeZL&mkM4SB|4tbfk~|n2#ieNW)?05SPS&@%3sClsoy(?T zp|DmS?AdoxBnTNgENGqX?sl_E>v&c&ys$*Ll(aDv=~QjfNU5fzmZ74>T6XId{Ad~D z_{$xhuz>=k`l9B1=9#F0?hF>hDcw* zPI;aEod5Wc9j+R5>;*93ZTCS&zz*h!7mlHzvR3SSt&3)iGo; z7wVmMhp*7jM1+ewexYRloxf0|yaV{QXpUqXa414b!x=9k1UkSviC?8&rPR0nAPL<7 zH)uajNch|yS6|xaN)^d}UYR-@l}*EdCYQGpYstz@#0s?J_a=vp(=eSIL3x~2rCw~D zU^2R~^E-_v<%e7^t5_mGc97g$=GfL8h6qHOmCd=T{jK`Hj%hAR?Uya$lhx-Co5c zanf-VHYm#jDHMnd>FOY7#HfAbjmHgBQ-k~_**0}e_{+hzPq7P;THc2++-}r@+SV{S zru(0L2d}%M0|pw2rG*BPEN$}Sx+3hEmU|hp%EZZUy-sD;vG_#=E_JgOi2D|HVgs8y zeG;7)E&1(9hjW*Kp`p+^-EuzHh4&Vd^~(MJh)#gw3@_ z$(Ul(kxJgS&5zpnDdZiEoMfLj3wTEv6f7AWe z4dR#Scg4nSS%RzfgsstELJWM_Sy5LM7e%QQAEt>3(+klpFXm$B`b=8eCE zs^I2y1%06tkP!(STQ84XcyYAPUUn$nkKV&ort~BZI(8+d1w^nfSQF#<@x|2w$1%e{KXL>+vIWZu`4mn`{E16TxU*+kRki$VL-7TA<4V(?W08Y z+T-|RUt*ef<{QCDKg&Wl%mV^qKSGjso1`)`dU@8;~vHtTMtRz z__r{0T6A%gvF(`Vjlaam`{~MmGOCgti6b6}g_qQnzW-mIJ3J>&9=Q_*1)n%=pTTRx zP+uGvD;#FJBQ8=yqhjkmM2=63Q4KIFh6nC*<-Ik1&7spv*A&{KzwoO4Vp~!oi&$eHToH+RBuP zCM{1)4B0D*XBEo*j(M@qCXR9dq9BcfB{8W?P6=7Z`kx|j5AdlDMFj51ZF5z)W^!9@ z=d+#WM~#i_Ri2m#KsfKN*zx4EZ3dPb!Psa1zu?|JsKjmW`BQx#Y2c72Kt-Wk~{akkW;-xnxcHw#E-PyVN zoo1tzEwypNWxd(xjEpQbIy=oSPrGEzZno9vH10ge?&4nVUSs2Yw%KVkvi4@iE%Lj# zPqWv~>a7PEE{$~YLHo{Lz1iZ)o_e;9Mn_O`Zwu9Q+nam$>$t{^vx>L?-fgcp>!>f= zXs_eCYzyZR*&gnRH@eyQ-c}* zc?Y*o!0AlH#a@1eaa?G3vTkF0djunGqTe#s*gGjh`~Wv--%!+L%KfeOPJSdn(I#%Y zqshhwd$!RA%B01Aftz&vhCSbGZ{yk!hlc5Kqe+}~r$$CrkyXFbzSoekD4|>JJ#kral5(b3KW;hXjCY`5K!_KL%tMElogvz5iU)%T{C zXS4a0Y-xG%-T7;?*Rr$ID}ZrR`@Q+q>x;KmGn81KURZrUTb#?L7v9f)GQV)`d^Y>j zrRCX`m27c&Wd7#Tjrm!m%`eQ{xOHuQ;hpR%zFSya&2G%!oL@zytBV;Mw5sN3@!ec@ zb9Q;=I%=N2I)7t+_5JfBbMvbUtaEO0Ih)Rwrk7XeXKvk?Ue13unsmR(=GaSaa_WLIa= zv+1ihX0<5{YUalD{LS;(wdtGF@342v*&=FL9$_)azRn2*_nfAAIq}l>UwiHKA6)*y#qfQ;Xn3Gu3v9R37$2>77xs7Dd3O#~ zkG8nwxzk+lfYnh#EM^>I8)dR^E^d^xut|C8(z$GclDauH=E!ssnlt#X7)ydlx^9!rBmHEG%l@q0}XK%9#92>Q%nAPEJ z3j5&pD0fUTcS=JaFzZ((Y*)RC@uTdA7hlsyF%-Lh0bM)$(RyQ7w5FU++~{T@1<0wY zy7Dxi5NgPi9HI5%IY%c_cyFWG)uk!VT^G!WG|O%jCkN1xD~3WG)2jZ*CtTcCaw;Mm**`D2QaN-%XqEpt>ao95?wKjT^ zyhS4DvsXxV*93}820m1BM<(6t?89FYpC5_bUBeNiJB?1@@YDpfdP{`|u15u*wGSH) zYMaeYw|Kg^kgJC#vQbGUU3eX?zP^<~@OUPZ95RZ!_#T$hB_SR&fX4w3m&Def9r|~L znWdhX^q>vRs&zRDTffd{6ELUoKS8W7gNydg<%{3hJKxzm-`P9g**h<7@4Rs_*gGQy zgXfKlC4PMrzK@#C>NCEv>dFaaw#OHWdwQUQj(mOYv19TDi*whneIay zW7+0dtJU~O**u;Pqve2C2xe&EMif=&qd~X?>UfD`N*ph8SWm7UnbY^jq!bpeVzK0i zMXS>>yWje-)xO_CZT805*ey#@a>@P+tyHUZY<;`kZER?HtK_V=g2`OUpOxB1)s}oK zTVqcIaGaPCtUhRV8ieDvo_=yZ8~d>vMe^{OCQGH(8k*VO}-fWdJAvJ?X>s1I-&tg?}My0aoq<1qzU{1hLT?%nZlT_jNhg>vIEWEFQT%HOGBfit_jFnyyoyS%)(JmsAjo43>7nN$zz zB;Q=c)va5rb8i&Cxmn+aS-AroA$Q^p@gd1`9#|KFy}Hdi+YjiCXm>ggQ2Z9}sBm*t z?Td4BE3>P`M(7N&V}cvajSS8XctucQcNZ=bcck2D+-6xE!ZT^#*I3kM8Ud1yrxGb{%VJ6tLRH*CCKH1dstT%7K>w8Xa{Nr-Q|kN)J`bC1!iG&A0|6!3qHF@S70~z zj^i$*&I0}<515kEN1XJ=@aQhDXX+j$S8=L`&Lny$R%XRiLi(r&_D4Jq-5Onjr|;55 z=@F`Ft?%qs-q~J5CJ)JacZT){^Z%)PLrqr3jw4Et=7>q=5Ki=Q`Y_~HloKrL%%G^h z;g8W22N!)H*0z=W5#|!dLu>$g*6`=M#ygxDD$zKRt5A?wc99HrNJRrpW)XU#R@)!K z#T_S`Y;8ph6nYZCclc+FGuqrx>(1dl_*U{Me1bBc0?ma4`y$9djS>K4?8DN4F2Ut6 z*n5EKyd7n=cI(xiwB#yQilH{~>%tE(aY@`Zpx*=RUCE!<4~q_=LWUW_+x5HTzl#{JnDyW( z;ZLMp0yjHbvIv=*OvUobU9_aICjrY-Y8;i?pcevR{R8@^c>fZQjKV`DA4lSLq5gG6 zq8ZGAETI)+LpF+9MVOGP-(%2O1J9MB@NE%alUwQi2Wc_yHj1$e%%i=iXc{kl3y$(p zvr+$@!Oa{+2I4LH&)LidN=lSf;y=4Ry@wHUn`%7#nwnajUVaA_5;i1OR?dBpTd#&v zAct|OD6A~~2IByUs(%+#B*L9|Yz5)T=jsyDZE*Jj zOdagUpf5kDE{NToX*7rZl((Qms>^UM=dJ7quN89VS8B_%OS9A1IKmDN3ZS<^nJc%Q zM7cYY>n4Mt5KSfu+>3anRb;Go{>zKlT&{p63eOM-J45j7;CNxilk(UYsM@!A<08G) zt7Lp|z$rT;lEnqUrfdsUPo_aTr0S-ceFu!2P3f?1we+Ezjhl5iFk~5~7~$3j*ElaW z4z2uMzLa|MI{R& z-;L@Q{DXHV25cJ?7N=aq7Wz?9BF<@rEflt2S$)U$b0Dy$C_TEyEI6m zf2Ppie5QNT-1%BT`RWe_@gu)*#}Qmz6&*-&#nUAYMlc_j7iEDg)R%mry(pa>x_s%o zy|nN4(!SeE`))7o<@eICxX^#aowQ4FRicZixYpF81aRl`v5Wj+fv}*a8FL$}FuD>Du~X5;<2kLn;7A7et7Zqix;aG18^PVolv%ie`?mk*?eO~%=0-MtqkTe zlbJv)cbfNb5)+$?^}YI#r4H;1abK}$bY@}sx<`jkOkr>uplqzZi)ZcD|p-j_48ws`a|O*z$eA;aCmf- z-O(kt^iwU}qGzU7!>jPYf1%^CgDz9qy>@d0xFSiUH)BF$@kJ5c<|uKumwpCZD%pdL z51!3$J;K{{W~YH8tQ&rSN9&@H$AW! z)x6uv#wIbtbGykuoE+mO$Zn^N6QO$#vOI_2?2-_K+f;mfRw+KFD6?UjbMJ-8qWu@F zl!<_Y#|1K&*$niX6lswZ=hYN_wN}H>b0j6-SuN@Jx+pDsRjNerM+i`LNzdX9cDktl zqu_N}mPk?DMtlz;v1YKKy(>Z}2aBVQOWB`&=JLGUy}pakOG6i-Hi80!h6U!$_gDV; zjd^%R=5Q|edTr&#^t*UJkXq+VzcTQm+?b!4R{f)e@Wx@j9xrnqZk9poO;yjP;tLjT zF0V@c7j4{2Q&ahGOy8S%OB$C~ybUZ(O(qNNCpm$&n08*Ddl{|o^8t=JeT&rXrA1#X z0Bnkq4zkZ`1j#y2$hx>VD^U3IhjC|cETP@P9{So+r@h|jcGto=P^cjJ2g~1FH6d$0 zB)OAlZI%1nwk1+#wijwxC!zTkM83J_oi(q^s2-1GuXy0wF zhh}2$3hCc|pHjgtlh?@X#MQoA;#?iG`bK#S%Q!cSSukV(bz$PiR6w>FGWS~p@LX$g zswK*f!`PwfuI#U~rp^6rJw_1cr+x$;ADjJX7km9U5>UrBFFVhviM2qWaI=HA9^`0* zCujFzbag{RlRh`eF$4%*IGDk6064OL zJap{8x5Zavw%shJ@E_&_L#1+gapa?6yfsMfNbA>$C%1ZlYtU}yM znbzzzZ*~0K2-Ktc1!L3A?xH-~ey!Q1l;Tv0*d99Y$vAQuo)(>2Yr)*j{ab6j(v|Vk zW10;tRvfq%F7;l#rk=-+^I(7+{mI*Lqta6j%;sK0Dy={JS!omi7EDUCsm$m%hr4+C-^aYSO*z_xEURo>IBn z)@@P&C2s(`Syu7^r8)uGfeM}A962&Zb?q!E>bimZEe*W2EmMHi#N%@~E7wH~R2-iH zUk=vHx_=EmAr)BHs$zutbvWCeid&oAcN(omr@kGV2&&391#@(zXTrAEQz}t)79
    zD%SFrSv-{Kht-^IWG#F4m5sBa%1U@wW~f?Xy@b_Ul=Gkf)=D|wibV;O=|9y=vmfDT zq1>IC;~52RmIg)9-QV2AlMOs|aeHjC@lgW`pWc)``MbWep?}*uW4N@&e?=a}ntjFU z@FkhonJ5lVqH6HpGUHd&Sl`&t8p9$>zo@8=jy|u@tCL=qx``=!Bh*LICVOFAHKh{i{- z(wQpuBI{6;F%1awGcFt$M?%Ed2k@Zc9425c{aF`y!?-A^(x+vsPrVghtM@rY#7JLE zKruC1_r}MFAvhdx7CfY&vp_I3e!z&?nt_*ueaWI6$=KSOo>p5!*l=8pU0i-YqFfNc z?#{{?y3ht%o&D)5mlSEGY1ajj{OWDUb02bg8HpdF%Es9p1ofXX0Y!(hC(GG1<8@Fm z77*H#!1%%bbC4tn@63;n^1l=VWKLF%cv8qXX|0QwVK9p5F)vb_jlkeT<4$s>sHqiQ z+M^~)n*IVN7<9~F!z&n7B~==fp83D$8H5N9a5$ZF=RfD+5UFE=T!8?IN<&kWzq30{p4+BRRn=3B!%}S zBtB?1wl@%B1h*-0e7@PzgWIFn*x^kYFqx{N?pAXX_m|Qd!T3U4FPdDMUh^(faJ2=# z*Muk+S}m~P%35=i45>8NP0j=f3JD6!ans9L79I5>%IBhQwY$c%E)!BN+F#Hj#k;!~ zU;pmB!FT5kzB_O5-Fbr-I&V<&p9d4c{54ybc<9AHnx z48X3Spw_5I)cb~2moy6bDJ3`;%6C8zM#*(N7kCoWPBORz;B>CNlHn?GIB&-L9+I&# zy)=*e9=QD4l;I>qNjXE;Rs348T{Q4X z7B~E{k}x_26H+hYN&SY;fWCh1%}yhdpR#1+$I51bkTcAvYS){AdBBD$zJ~-jBCy_@ z9J00nxz^S&Sn+j`L>BT_xZhf;_r$Jn=lVRIKxz6tCirZiyIfBpa&~|JuHJ2{yLuj#{E9K zLkC0qK92*aU+HZz;rX8By^zL}x$Z1S;tww3TPp^tSTWc4ae;?Cp-+)b_yJ~`rSi-s zicG778^v8YI@1-F?eW3REZ z3(wPd_d%DQwi;p44VX5@$f&4`MQd1S$^m_SMSw}@iIMKaqOhE-z(5CN^)#NhBz38+jQwC;uW@xwgOGH|kxP4UG; zja-neaCU^b!p&vg-wd8gn@CT=P`a45e&aj4o8j(ovKZMZdeZYk71#XSmBG4y{M=bQ zjL3s(*}9%C!&3(IW^lJ~3+|8oF1O9;A)sF%UDxY|LE<4uu;8SiBcZdG`bSvz9o}Gf zvB^oz?cj)w!k`)xoMIT%?Rm;a9A!}jjE~)Fi9ZGh;;30=s|m9e#NTDZ&lfn|wWp)r zKP9+O_l5M{+ENo{(J8cFzk?L6&FYLxi#HYQ8NO))rJ2+NCJE_D8e`1SU3Lg)r;984 zxWq$o6)t{xpo|txaDPcw0^iwguYU->aF19h$j2z;tbq2lXzZqDv^j&!!p*m@2J2lro9M%~@{? zvtbp#M{id2?`pG(e(~dj5bTfl)US2GC}R$@Hnkp2(7D(8l~U2VfL9XrpiPiE?EJ4h zfO6cKfwW!45dh(b&i*cr<0Q9}M+4zNQ>#BDVWQBEhZGZ864{Kz=pTxOU})*oVy`+# zh@IFHbUY?S92k+#WS9idP0=`Z-Uqc~x41Z>{g!Z__~wW=_gooI5@*^c(dEN&5AJ~H zm?wj4QU#QpqCXASoM+F3dxS=nRV0PHCdXqGAHk1wRC%a8T=k{lh@n~wCN4ND%rmqp zC)~dHfpjJz2rD)L3RE?&)fJt}O+VpM>`Ix5E8^9)<4F3Ms%^9(p2ac?dnxU~#1(Tz z@;C`-REabB#IO}=&5u=zs5JVBrJvP;93`X#c>LyCr`=j z>oY$*Kg~=%$kuM*JsUm3-IZ5)b&!0zST1NG5w9b65d#hH>^3$yjneFiSIwND+RJjT z^&q0xfjJ5Wb{6N z6j+fni||-9E`J32M|+XID{e(>5G@~A_3R8X+j;F;uVz1_hg#~vtA`?Rw79F~{mf)xm(Fiy8N-jf|# zb>X@N;Wq`uctZz83+CG{q90SkB6gYGDANuW3vJc!HI~uriq0W}3!4Q>(!2~|20Lxc zd*b+XKg+FF^CKZ(aI@r=DPW|qX28v*oA9V6%M0ww7g7r2Mr%dPq)Q8ne`ggtEv#1P zGSi<*vO?7fkK6Yk-)QKgvA@;Dtk7A@D%8g!g(UXA;+&*uf0_5nqw8)r8oPmgfxl?K ztX-{d+?16&jr?$MV%%?u!NZKl{qceb+}AaID5h3}X2DEeZs&ge!^S=uI#mnQQKx8Q zgP|PwXjX#kgjuVUQy(!#FFASm8lZq^YDGLivAu0}803&!_2Xj~HX8RXFas9Y*gBUR zt{`uZ+#aLyWkv_C`1Jb%022oolzCf~wlPVni%}chOsq}XM3GQ)b=G}0Iv}gms%h!dMcF zRqz8C7;ZXuF~c|A6TP_4?Z_~3Cfs&HBF!9qRrkBo1NmsdJW$| z7gtT;oQs^K^cAuvk_K*I(ID8HJG+Ssu7R>&K`5dAxROWO#W&yN8xc*B>JVx}$M4=>d02v{ zuUW`X`1*~RFu%O|arLbB%Eik+oqVMW^TCEpLl*y+k6jmyZlPT@a-=fcge1Gs z=C~jC=EkQ8$?qmPEKmLlo~gbD1?IT# zmP`Mr%cX@|H>g2gZlQ$P)ouP{pO(IelZRGTDYzR8k zsbL0$#)GZvuLMcFee2x){gc;FG>wJchF>YRj;OMz50A|k>d}RC z>BR-CuyvSxZXy3od3Hs;lkzM>iVM8nzg)xpjoMW%M;OAD?>c1px}?xgW@ndbK;06T z^jKt7m09`8yp%zK*ZUXHF28{Saq;h`)^h%UE;k13teqV>3El!bdC1d<$u~IYm_T}v zm5M2RCVMCeER^Hn!z7IhWW0}o1sz2#$*@C;NlG)me~_d$@YD{20whW3zKmoA;R*Ij zZWmid&bKf%?8u{p$)~!u^rv-z+9E1&Isj#oFOUGXPZF&DBn9KveyE!;<@=-*E);Ym z6lr~15wf_s3Fia)Ko*TxPeUo$h8<888wnKyfImN}t}UTs1xI5%bb=KYZg=xdpe~Mp zUy<9aFzfF;U{EU@p2gABkPcGEeqlzK%lWemaj}HqMbupSZ5$N*p%k)PDwl5bNm z1B&w?l6?7n$+-%d5*C@t&er9nFZyXPz6K7@0x=dLoLJmx?BMk*go9_Ky|Yq>B5{rp z4|!Ht+irLeV^qniTX?XBC!r9f3FnPLZTN$5Q5z%BN)*9A!P|)lVCXs?=UOpYGoJkR zgLBfB;`$ag9w)qWmn1_`ywbQEW6s}ew!w*pqt_MXxi2sC%hwg}vY#*SXJXRUhmuIC+4wWT#OsRn8M{rKVf~1$8J3oQC^}b=Vn?1y8F$Y$x3M3I z<`tQ%+SzUS-d=~2Y(*)715S-*#e0` zB2F0ZJJRQQh|y2Zg+U=>6vxLQKU2eIH0En-W zyI{uhn6bv`Y!hErg_7IGl$@R*f_WQWk-P>+pGs99CiQh$U{Cn^PIWoS-zyBg5yx5H|!)db%958_E(D!S`Yyg}h>f7RL$S`VtTbK)~m?R}36#%7N zF_&M!B7LX1jw>1{qoK8fYV=ii{FJMU4PSOg^hYI(n>n71uVlUv#qU+2ZY*&8;A*TG zQ%3GUD<-W(8hzTpUwXa=Dt4SM(kq@D&CSi)K0`L!xK%02f8mnp@L4|uMa2vkPBSA< z*g)>MzIa127WE{Y9UR5g*lSG|>lLVkOccEYLu~XlT zr@Hi61Ha(PgKudw;TVu$ngpzRnTygkl75DE$GE8EK6la`QFcKOCK-|ZoyP7q7I#bh z&sKXI{t3p_j^kDos?d@z26BLC<>ceo44egYx0^e0M(daRmeq|(r`et##Vptu(dFOl z!myUb{j6Nfv^S1(+7QrHcbrv0>jJU55k`P=+)P<*M9WsME2U1aLhA% zHTxA4FTM#EWUdyR48wWPjkiY6yqPuDx7s+*ie^f-)Ouw z`nDG*sO4q3kIFY1^oH`J%U+kSKG${0gez7H}&$?W>kl`WSl!M01T>XMEQ)P74r}bWs7mNSvdT zpAFbxZ{ZM3YwujP3H=FWq2#MT4J#9+PHI~*ti;J3I{mB0*YEdtu?}yni1$XZJysBj|JzgFR}5;&Oipj%GRT6^2Gv7~dbTp-fE)Lc>c0^mc)# zGdx&|Hx<<%E)GdJa_f>MyBdu6p434^;*kPjW@ky04B*mI`WtA_cY4;?6kUOvN6oT~ zRV6$p=ZFW+xpEx5N(RHJ+9*i0WCim$My}>8R5)L8>St)^Q86pa@%wRS{~l?6xv*Mb z9AAY&+es0`l+h)b@Q9T)7D+Z;ZjW{Cp?RpEIQ3T*q>~ecQBJI1MNGPFK!%JQWqhK( zxg-ikzqQK56;8{Xl#3ErC4ILrfo+eI)eijvV^$n+3S;!rAHc^xWzgQYCq$Be7UxO~auJ4hZhJ3MA^1;r8MOHv@iDKVF+ zQ_5sw-dSTj49t@|V&usgB~!w$nNT24Y&2cj(uZm4Y}|JpbzhtBb4o>T+vQ;H(CaKY zHN_LtdJRH6m2wCQ+lBFrSpFVt(Uyo3J;>s4X-muwzj*;iju;j)h-g&Uqq>@T#&MeD zi?J)xTU0{sMJb9h?3|@0))kOfpN5s2QbipY#3-CoUurl_h3mrU%w23v5u;aT^>;E; zZ?siajgM-US=@<%z@FuFQ?dRHjRm8VpA0Io&yo@46=lg7AJdI*?mrmYsl;*mH5AZ& z;**;>+Y$J$+r-psvngASHiIEGZr$g*P@MgB1emoYb{!6a+sOF75VvFMt&GP2WJ3jA zWN+ZnvzFbK(Y_~}_*}sZKxYw~sU`6e$dt9~%i*%`h>YQLyc;>BIG}RKpc32XaTcor zR~Ku8=qQ=;o>enL=Gq<0En1pn4C%LSnn3KJLMu;tD%0pu3q9-U_t*CJJBVe7#WUpE z|}5IDoe3J+pK^`?N_1< z3+U1O0)}4bscWndabS15E)QhN%V9RgV1rf@-`*%>-*J5om-&=IfXXvAIh77Q;q<38 zL^S!q=VJNXNviY%d4&aS6h8lzl%}#UPfsO<-7GGuH=k;0T91#0=3&*I(VKfI zLt|=;#n^B~F`R+WCvZfKdxfMijSqD7gkm$42Zfo;XMmdhR-!bUkV;zCK_sbFTQaBR zX2`J&FEK{w#zJ4nvB-@W0IsATK+aGMpiJ(Nc+xFY<0>kMVu}WQdQvnbRSm&KQZgLt zDvCE62D=v!BIoyj5M(9@ITM9~+> z8ZR`RRZYRkeD>mFIO(JoI$p+q(s&T36O;m}s`>wAr?(=Fh3}G13YDvvPsS)WHww%b zGEO$E{v25B8rjcIDW<$v?Fw*fM`gm-P&xLlHhjDZ4LJ$PBjd^p#zzM5SgZOzKoA>W zu3L#+!EdBJ>x!-`rGgnaPjKtR>ykZvxVH5wE%4X2mx3!b19p2t98bZ6)sGWlvRIW9 zIJr*cM_oiKc1`(;p)RWUv<1d&Lo51Z>@-`IUo?;Jss*5~)^LOl+cB>7DhG(ZvmsmM zy;yf-8dTa>?2b|8Pv8Vx#8*{^gCC7VjsCLoGH?|rmlIPVC?qxjcd`DmppX+2xNU#kJNrd)>Dk%9*wpBB8iK=0fl*b@}(#| z95wWw1LJ9DiXBPT`X=e_{gJyCevKmWqr#bvO{GN4qc6pT<|O*4irvgjFu1$EEs;24 zay{1DA!mYe((XpyC?kNJsCPb6t{6CoT#M-qlD^GWu8J`hpz_468hVQ(s?g%HZGyXl z_1yd5m-s%otjWL>2-yk^P8F^CMR(S2@+=C{3ujWY??KmVi8s~2cFh7^5Kq&%)(j4+ zOW%)6IobXwc-z8GLa90`sA4C66gnZ@gn}5<>RJ@n@%axVI3brP<`nbOZ7phW3be@qp9%9QIs8zcUMW#j+L@Z}{h7;>PdXz?a z6(^ZUh95#2!CjIHlNvWpS7vANO2Wc5bk?81RMfctMH@qIRSh<}WPPPQ4Yr`qj1^-_ zt+H=!U}~-n8JHC6H!#gK{)z6Jq`QUD6~~6@;70CV6JOKO*Vmzy^NK!Cy8em{b*4vb z5`CE*Zqhy{r*#lJ@kLHAmFr2)btTmg>~7fIFO50qo_@@M!RF$=mTJh|1@l^Hd=*KN z9C9u^f1ikt^(UIZ9-q#K;M$TpDkWbWf2HAv#?xU`bRgK`IwPx2rm{4-f*%B8@2>2; z-B$FSv#H=1k2V-OVS1Tve65gvbN8&fY37m~UG*=Ak19&+J&@<0FglzWF#~1r9-W{< z510(JSXbZAc6iLn_9Vgs%Dg3DC)6^WireF*KOeE$)Htz@M$V`W(Cn_3Ud206ySB3E zW*7KwATOuj*aG%1=o-DiODo(h_J$4BEJX{0H}d+hRS}8OKd~@UHk`O3b+{Z9KLQ6V z103!E6MAxWgR6Osg-lY^-x9fi|!u}hVjiQn1v z8x&5u0f^m@8cyB~z2;G-i`~O@_7GK7r6_aPL`*sjFUh)Mh!Wy0iDdsSuYJm!hy{_5 zu43p*dTig`X-Z> zc;&3pHyMo^=X23cEOL9yH|}b3s+LEJ?f#Fcff{d$GK86@=k5i8^W!0B?>&#f;1Yr! zb*^tC{Gl!C&ZMWB8xODqEA%Kmk>a&M#pXx$W+H3_J_rx)*{djqP(7y1+wpLYVams; zWkgAu%)-mM0r5CNB!%S=GscjQj})#LAWj5sgjRH4_}!F)4d6C$Az|-fuxgOtoIrr- zczHTpU@BTSQyJ%du$C1Z%@+U#f{K&bIiD>eo=*a2*!!NzA?z_ZG=C|JC*(1{+wnm! zx0uKXeCrEG(s2p4^dPc4Alx^LcP@m@RJ*zG<+~SU&oo9EL9lEB>BK&9)Zp;({x&ux zBT7VZYBEvbO?p94g4i2q-j=@u2BQNmU*)Ng3tLQ4ng3Bh6Q@UeSt2kA?3vuPcpt@#yG za*{T=Ohq0ES7`LJipIjTI-w;l4&(-sej`t4r?B1-J#9~dnOiaLi7Q2NL>?A94*f1h zKgu7d9DG=u^r%E!!kK|HP*UGJ)$@nAzJrhb?1P1Y z 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 ODrA@#7#Q50e4PLY#-9iP diff --git a/config/services.yml b/config/services.yml index 4710b3c..ceac6ae 100644 --- a/config/services.yml +++ b/config/services.yml @@ -1,14 +1,11 @@ parameters: phpbbde.pastebin.path: '%core.root_path%ext/phpbbde/pastebin/' - phpbbde.pastebin.geshi: '%phpbbde.pastebin.path%vendor/easybook/geshi/' - phpbbde.pastebin.geshilangs: '%phpbbde.pastebin.geshi%geshi/' phpbbde.pastebin.cron.prune_interval: 86400 tables.phpbbde.pastebin.pastebin: '%core.table_prefix%pastebin' services: phpbbde.pastebin.functions.utility: class: phpbbde\pastebin\functions\utility arguments: - - '%phpbbde.pastebin.geshilangs%' - '%core.php_ext%' - '@language' phpbbde.pastebin.functions.pastebin: @@ -35,7 +32,6 @@ services: - '@phpbbde.pastebin.functions.pastebin' - '%core.root_path%' - '%core.php_ext%' - - '%phpbbde.pastebin.geshilangs%' - '%tables.phpbbde.pastebin.pastebin%' phpbbde.pastebin.base_listener: class: phpbbde\pastebin\event\base_events diff --git a/functions/utility.php b/functions/utility.php index fb984fe..55dc8c2 100644 --- a/functions/utility.php +++ b/functions/utility.php @@ -10,21 +10,7 @@ class utility { - /** - * Geshi directory - * - * @var string - */ - var $geshi_dir = ''; - - /** - * List of geshi installed langs - * - * @var array - */ - var $geshi_list = array(); - - /** @var string */ + /** @var string */ protected $php_ext; /* @var \phpbb\language\language */ @@ -36,12 +22,9 @@ class utility * @param \phpbb\language\language $language */ function __construct( - $geshi_dir, $php_ext, \phpbb\language\language $language) { - $this->geshi_dir = $geshi_dir; - $this->geshi_list = $this->geshi_list(); $this->php_ext = $php_ext; $this->language = $language; } @@ -50,10 +33,10 @@ function __construct( /** * Check if $needle is in one of geshis supported languages */ - function geshi_check($needle) + /*function geshi_check($needle) { return in_array($needle, $this->geshi_list); - } + }*/ /** * List of all geshi langs @@ -93,17 +76,20 @@ function highlight_select($default = 'text') * Don't forget to add fitting language variables to \phpbbde\pastebin\language\\pastebin.php as well */ $programming_langs = array( - 'text', - 'php', - 'sql', - 'html5', + 'base', + 'blade', 'css', + 'doccoment', + 'gdscript', 'javascript', + 'json', + 'php', + 'sql', + 'twig', 'xml', - 'diff', - 'robots', + 'yaml', ); - +// Make no highlighting as text as default if (!in_array($default, $this->geshi_list)) { $default = 'text'; @@ -113,11 +99,8 @@ function highlight_select($default = 'text') $lang_prefix = 'PASTEBIN_LANGS_'; foreach ($programming_langs as $code) { - if (in_array($code, $this->geshi_list)) - { - $output .= '' . $this->language->lang($lang_prefix . strtoupper($code)) . ''; - } - } + $output .= '' . $this->language->lang($lang_prefix . strtoupper($code)) . ''; + } return $output; } diff --git a/vendor/autoload.php b/vendor/autoload.php index b82c846..4ba2cde 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -2,6 +2,24 @@ // autoload.php @generated by Composer +if (PHP_VERSION_ID < 50600) { + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); +} + require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInite29ac243941deb1509821f7b4d6204ed::getLoader(); diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index 03b9bb9..7824d8f 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -37,26 +37,81 @@ * * @author Fabien Potencier * @author Jordi Boggiano - * @see http://www.php-fig.org/psr/psr-0/ - * @see http://www.php-fig.org/psr/psr-4/ + * @see https://www.php-fig.org/psr/psr-0/ + * @see https://www.php-fig.org/psr/psr-4/ */ class ClassLoader { + /** @var \Closure(string):void */ + private static $includeFile; + + /** @var string|null */ + private $vendorDir; + // PSR-4 + /** + * @var array> + */ private $prefixLengthsPsr4 = array(); + /** + * @var array> + */ private $prefixDirsPsr4 = array(); + /** + * @var list + */ private $fallbackDirsPsr4 = array(); // PSR-0 + /** + * List of PSR-0 prefixes + * + * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2'))) + * + * @var array>> + */ private $prefixesPsr0 = array(); + /** + * @var list + */ private $fallbackDirsPsr0 = array(); + /** @var bool */ private $useIncludePath = false; + + /** + * @var array + */ private $classMap = array(); + + /** @var bool */ private $classMapAuthoritative = false; + + /** + * @var array + */ private $missingClasses = array(); + + /** @var string|null */ private $apcuPrefix; + /** + * @var array + */ + private static $registeredLoaders = array(); + + /** + * @param string|null $vendorDir + */ + public function __construct($vendorDir = null) + { + $this->vendorDir = $vendorDir; + self::initializeIncludeClosure(); + } + + /** + * @return array> + */ public function getPrefixes() { if (!empty($this->prefixesPsr0)) { @@ -66,28 +121,42 @@ public function getPrefixes() return array(); } + /** + * @return array> + */ public function getPrefixesPsr4() { return $this->prefixDirsPsr4; } + /** + * @return list + */ public function getFallbackDirs() { return $this->fallbackDirsPsr0; } + /** + * @return list + */ public function getFallbackDirsPsr4() { return $this->fallbackDirsPsr4; } + /** + * @return array Array of classname => path + */ public function getClassMap() { return $this->classMap; } /** - * @param array $classMap Class to filename map + * @param array $classMap Class to filename map + * + * @return void */ public function addClassMap(array $classMap) { @@ -102,22 +171,25 @@ public function addClassMap(array $classMap) * Registers a set of PSR-0 directories for a given prefix, either * appending or prepending to the ones previously set for this prefix. * - * @param string $prefix The prefix - * @param array|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix + * @param list|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + * + * @return void */ public function add($prefix, $paths, $prepend = false) { + $paths = (array) $paths; if (!$prefix) { if ($prepend) { $this->fallbackDirsPsr0 = array_merge( - (array) $paths, + $paths, $this->fallbackDirsPsr0 ); } else { $this->fallbackDirsPsr0 = array_merge( $this->fallbackDirsPsr0, - (array) $paths + $paths ); } @@ -126,19 +198,19 @@ public function add($prefix, $paths, $prepend = false) $first = $prefix[0]; if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = (array) $paths; + $this->prefixesPsr0[$first][$prefix] = $paths; return; } if ($prepend) { $this->prefixesPsr0[$first][$prefix] = array_merge( - (array) $paths, + $paths, $this->prefixesPsr0[$first][$prefix] ); } else { $this->prefixesPsr0[$first][$prefix] = array_merge( $this->prefixesPsr0[$first][$prefix], - (array) $paths + $paths ); } } @@ -147,25 +219,28 @@ public function add($prefix, $paths, $prepend = false) * Registers a set of PSR-4 directories for a given namespace, either * appending or prepending to the ones previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param array|string $paths The PSR-4 base directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException + * + * @return void */ public function addPsr4($prefix, $paths, $prepend = false) { + $paths = (array) $paths; if (!$prefix) { // Register directories for the root namespace. if ($prepend) { $this->fallbackDirsPsr4 = array_merge( - (array) $paths, + $paths, $this->fallbackDirsPsr4 ); } else { $this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4, - (array) $paths + $paths ); } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { @@ -175,18 +250,18 @@ public function addPsr4($prefix, $paths, $prepend = false) throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = (array) $paths; + $this->prefixDirsPsr4[$prefix] = $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( - (array) $paths, + $paths, $this->prefixDirsPsr4[$prefix] ); } else { // Append directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix], - (array) $paths + $paths ); } } @@ -195,8 +270,10 @@ public function addPsr4($prefix, $paths, $prepend = false) * Registers a set of PSR-0 directories for a given prefix, * replacing any others previously set for this prefix. * - * @param string $prefix The prefix - * @param array|string $paths The PSR-0 base directories + * @param string $prefix The prefix + * @param list|string $paths The PSR-0 base directories + * + * @return void */ public function set($prefix, $paths) { @@ -211,10 +288,12 @@ public function set($prefix, $paths) * Registers a set of PSR-4 directories for a given namespace, * replacing any others previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param array|string $paths The PSR-4 base directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list|string $paths The PSR-4 base directories * * @throws \InvalidArgumentException + * + * @return void */ public function setPsr4($prefix, $paths) { @@ -234,6 +313,8 @@ public function setPsr4($prefix, $paths) * Turns on searching the include path for class files. * * @param bool $useIncludePath + * + * @return void */ public function setUseIncludePath($useIncludePath) { @@ -256,6 +337,8 @@ public function getUseIncludePath() * that have not been registered with the class map. * * @param bool $classMapAuthoritative + * + * @return void */ public function setClassMapAuthoritative($classMapAuthoritative) { @@ -276,6 +359,8 @@ public function isClassMapAuthoritative() * APCu prefix to use to cache found/not-found classes, if the extension is enabled. * * @param string|null $apcuPrefix + * + * @return void */ public function setApcuPrefix($apcuPrefix) { @@ -296,33 +381,55 @@ public function getApcuPrefix() * Registers this instance as an autoloader. * * @param bool $prepend Whether to prepend the autoloader or not + * + * @return void */ public function register($prepend = false) { spl_autoload_register(array($this, 'loadClass'), true, $prepend); + + if (null === $this->vendorDir) { + return; + } + + if ($prepend) { + self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; + } else { + unset(self::$registeredLoaders[$this->vendorDir]); + self::$registeredLoaders[$this->vendorDir] = $this; + } } /** * Unregisters this instance as an autoloader. + * + * @return void */ public function unregister() { spl_autoload_unregister(array($this, 'loadClass')); + + if (null !== $this->vendorDir) { + unset(self::$registeredLoaders[$this->vendorDir]); + } } /** * Loads the given class or interface. * * @param string $class The name of the class - * @return bool|null True if loaded, null otherwise + * @return true|null True if loaded, null otherwise */ public function loadClass($class) { if ($file = $this->findFile($class)) { - includeFile($file); + $includeFile = self::$includeFile; + $includeFile($file); return true; } + + return null; } /** @@ -367,6 +474,21 @@ public function findFile($class) return $file; } + /** + * Returns the currently registered loaders keyed by their corresponding vendor directories. + * + * @return array + */ + public static function getRegisteredLoaders() + { + return self::$registeredLoaders; + } + + /** + * @param string $class + * @param string $ext + * @return string|false + */ private function findFileWithExtension($class, $ext) { // PSR-4 lookup @@ -432,14 +554,26 @@ private function findFileWithExtension($class, $ext) return false; } -} -/** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - */ -function includeFile($file) -{ - include $file; + /** + * @return void + */ + private static function initializeIncludeClosure() + { + if (self::$includeFile !== null) { + return; + } + + /** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + */ + self::$includeFile = \Closure::bind(static function($file) { + include $file; + }, null, null); + } } diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 63b550c..0fb0a2c 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -2,9 +2,9 @@ // autoload_classmap.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( - 'GeSHi' => $vendorDir . '/easybook/geshi/geshi.php', + 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', ); diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php index 45a6853..74eec14 100644 --- a/vendor/composer/autoload_namespaces.php +++ b/vendor/composer/autoload_namespaces.php @@ -2,7 +2,7 @@ // autoload_namespaces.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index 4288f67..3f40eee 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -2,10 +2,11 @@ // autoload_psr4.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( + 'Tempest\\Highlight\\' => array($vendorDir . '/tempest/highlight/src'), 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'), diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 967762f..71550e3 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -23,51 +23,26 @@ public static function getLoader() } spl_autoload_register(array('ComposerAutoloaderInite29ac243941deb1509821f7b4d6204ed', 'loadClassLoader'), true, true); - self::$loader = $loader = new \Composer\Autoload\ClassLoader(); + self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); spl_autoload_unregister(array('ComposerAutoloaderInite29ac243941deb1509821f7b4d6204ed', 'loadClassLoader')); - $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); - if ($useStaticLoader) { - require_once __DIR__ . '/autoload_static.php'; + require __DIR__ . '/autoload_static.php'; + call_user_func(\Composer\Autoload\ComposerStaticInite29ac243941deb1509821f7b4d6204ed::getInitializer($loader)); - call_user_func(\Composer\Autoload\ComposerStaticInite29ac243941deb1509821f7b4d6204ed::getInitializer($loader)); - } else { - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } + $loader->register(true); - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } + $filesToLoad = \Composer\Autoload\ComposerStaticInite29ac243941deb1509821f7b4d6204ed::$files; + $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); + require $file; } - } - - $loader->register(true); - - if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInite29ac243941deb1509821f7b4d6204ed::$files; - } else { - $includeFiles = require __DIR__ . '/autoload_files.php'; - } - foreach ($includeFiles as $fileIdentifier => $file) { - composerRequiree29ac243941deb1509821f7b4d6204ed($fileIdentifier, $file); + }, null, null); + foreach ($filesToLoad as $fileIdentifier => $file) { + $requireFile($fileIdentifier, $file); } return $loader; } } - -function composerRequiree29ac243941deb1509821f7b4d6204ed($fileIdentifier, $file) -{ - if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { - require $file; - - $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; - } -} diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 839f535..cc71130 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -7,11 +7,15 @@ class ComposerStaticInite29ac243941deb1509821f7b4d6204ed { public static $files = array ( - '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', + '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', ); public static $prefixLengthsPsr4 = array ( + 'T' => + array ( + 'Tempest\\Highlight\\' => 18, + ), 'S' => array ( 'Symfony\\Polyfill\\Mbstring\\' => 26, @@ -50,6 +54,10 @@ class ComposerStaticInite29ac243941deb1509821f7b4d6204ed ); public static $prefixDirsPsr4 = array ( + 'Tempest\\Highlight\\' => + array ( + 0 => __DIR__ . '/..' . '/tempest/highlight/src', + ), 'Symfony\\Polyfill\\Mbstring\\' => array ( 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring', @@ -143,7 +151,7 @@ class ComposerStaticInite29ac243941deb1509821f7b4d6204ed ); public static $classMap = array ( - 'GeSHi' => __DIR__ . '/..' . '/easybook/geshi/geshi.php', + 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', ); public static function getInitializer(ClassLoader $loader) diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 64d90b8..3acdb09 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1,1423 +1,1481 @@ -[ - { - "name": "composer/ca-bundle", - "version": "1.2.11", - "version_normalized": "1.2.11.0", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "0b072d51c5a9c6f3412f7ea3ab043d6603cb2582" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/0b072d51c5a9c6f3412f7ea3ab043d6603cb2582", - "reference": "0b072d51c5a9c6f3412f7ea3ab043d6603cb2582", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "time": "2021-09-25T20:32:43+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" +{ + "packages": [ + { + "name": "composer/ca-bundle", + "version": "1.3.7", + "version_normalized": "1.3.7.0", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "76e46335014860eec1aa5a724799a00a2e47cc85" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85", + "reference": "76e46335014860eec1aa5a724799a00a2e47cc85", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.55", + "psr/log": "^1.0", + "symfony/phpunit-bridge": "^4.2 || ^5", + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + }, + "time": "2023-08-30T09:31:38+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "install-path": "./ca-bundle" + }, + { + "name": "composer/composer", + "version": "1.10.27", + "version_normalized": "1.10.27.0", + "source": { + "type": "git", + "url": "https://github.com/composer/composer.git", + "reference": "f8f49191eec76f039b466aa1f161406fe43aff50" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/composer/zipball/f8f49191eec76f039b466aa1f161406fe43aff50", + "reference": "f8f49191eec76f039b466aa1f161406fe43aff50", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "composer/semver": "^1.0", + "composer/spdx-licenses": "^1.2", + "composer/xdebug-handler": "^1.1", + "justinrainbow/json-schema": "^5.2.10", + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1.0", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0" + }, + "conflict": { + "symfony/console": "2.8.38" + }, + "require-dev": { + "phpspec/prophecy": "^1.10", + "symfony/phpunit-bridge": "^4.2" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" + }, + "time": "2023-09-29T08:50:23+00:00", + "bin": [ + "bin/composer" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Composer\\": "src/Composer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", + "keywords": [ + "autoload", + "dependency", + "package" + ], + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "install-path": "./composer" + }, + { + "name": "composer/semver", + "version": "1.7.2", + "version_normalized": "1.7.2.0", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "647490bbcaf7fc4891c58f47b825eb99d19c377a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/647490bbcaf7fc4891c58f47b825eb99d19c377a", + "reference": "647490bbcaf7fc4891c58f47b825eb99d19c377a", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.5 || ^5.0.5" + }, + "time": "2020-12-03T15:47:16+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "install-path": "./semver" + }, + { + "name": "composer/spdx-licenses", + "version": "1.5.7", + "version_normalized": "1.5.7.0", + "source": { + "type": "git", + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "c848241796da2abf65837d51dce1fae55a960149" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/c848241796da2abf65837d51dce1fae55a960149", + "reference": "c848241796da2abf65837d51dce1fae55a960149", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "time": "2022-05-23T07:37:50+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Composer\\Spdx\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "SPDX licenses list and validation library.", + "keywords": [ + "license", + "spdx", + "validator" + ], + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "install-path": "./spdx-licenses" + }, + { + "name": "composer/xdebug-handler", + "version": "1.4.6", + "version_normalized": "1.4.6.0", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "f27e06cd9675801df441b3656569b328e04aa37c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f27e06cd9675801df441b3656569b328e04aa37c", + "reference": "f27e06cd9675801df441b3656569b328e04aa37c", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "time": "2021-03-25T17:01:18+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "install-path": "./xdebug-handler" + }, + { + "name": "gitonomy/gitlib", + "version": "v0.1.8", + "version_normalized": "0.1.8.0", + "source": { + "type": "git", + "url": "https://github.com/gitonomy/gitlib.git", + "reference": "f575b8f7da917ade7890c6aa705fa22545690389" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/f575b8f7da917ade7890c6aa705fa22545690389", + "reference": "f575b8f7da917ade7890c6aa705fa22545690389", + "shasum": "" + }, + "require": { + "symfony/process": "^2.3|^3.0" + }, + "require-dev": { + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Add some log" + }, + "time": "2015-12-01T22:25:57+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Gitonomy\\Git\\": "src/Gitonomy/Git/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexandre Salomé", + "email": "alexandre.salome@gmail.com", + "homepage": "http://alexandre-salome.fr" + }, + { + "name": "Julien DIDIER", + "email": "genzo.wm@gmail.com", + "homepage": "http://www.jdidier.net" + } + ], + "description": "Library for accessing git", + "homepage": "http://gitonomy.com", + "install-path": "../gitonomy/gitlib" + }, + { + "name": "justinrainbow/json-schema", + "version": "v5.2.13", + "version_normalized": "5.2.13.0", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793", + "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "time": "2023-09-26T02:20:38+00:00", + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "install-path": "../justinrainbow/json-schema" + }, + { + "name": "nikic/php-parser", + "version": "v3.1.5", + "version_normalized": "3.1.5.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", + "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "~4.0|~5.0" + }, + "time": "2018-02-28T20:30:58+00:00", + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "install-path": "../nikic/php-parser" + }, + { + "name": "phpbb/epv", + "version": "0.0.11", + "version_normalized": "0.0.11.0", + "source": { + "type": "git", + "url": "https://github.com/phpbb/epv.git", + "reference": "0b7724f534f1f87b97c86f4054c613fafc0da8f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpbb/epv/zipball/0b7724f534f1f87b97c86f4054c613fafc0da8f3", + "reference": "0b7724f534f1f87b97c86f4054c613fafc0da8f3", + "shasum": "" + }, + "require": { + "composer/composer": "^1.5", + "gitonomy/gitlib": "0.1.*@dev", + "nikic/php-parser": "~3.0", + "php": ">=5.5.9", + "sensiolabs/ansi-to-html": "~1.1", + "symfony/console": "~2.3|~3.0", + "symfony/finder": "~2.3|~3.0", + "symfony/process": "~2.3|~3.0", + "symfony/yaml": "~2.3|~3.0" + }, + "require-dev": { + "phpunit/phpunit": "4.4.*", + "phpunit/phpunit-mock-objects": "2.3.*" + }, + "time": "2019-09-02T15:53:59+00:00", + "bin": [ + "src/EPV.php" + ], + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Phpbb\\Epv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-only" + ], + "authors": [ + { + "name": "Paul Sohier", + "email": "paul@phpbb.com" + } + ], + "description": "A extension validator for phpBB extensions. Extensions are required to pass the validator when submitted to the extension database.", + "install-path": "../phpbb/epv" + }, + { + "name": "psr/log", + "version": "1.1.4", + "version_normalized": "1.1.4.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2021-05-03T11:20:27+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "install-path": "../psr/log" + }, + { + "name": "seld/jsonlint", + "version": "1.10.0", + "version_normalized": "1.10.0.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/594fd6462aad8ecee0b45ca5045acea4776667f1", + "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" + }, + "time": "2023-05-11T13:16:46+00:00", + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", + "type": "tidelift" + } + ], + "install-path": "../seld/jsonlint" + }, + { + "name": "seld/phar-utils", + "version": "1.2.1", + "version_normalized": "1.2.1.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "time": "2022-08-31T10:31:18+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phar" + ], + "install-path": "../seld/phar-utils" + }, + { + "name": "sensiolabs/ansi-to-html", + "version": "v1.1.3", + "version_normalized": "1.1.3.0", + "source": { + "type": "git", + "url": "https://github.com/sensiolabs/ansi-to-html.git", + "reference": "8b5d787dca714bd98dd770c078d76528320a8286" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensiolabs/ansi-to-html/zipball/8b5d787dca714bd98dd770c078d76528320a8286", + "reference": "8b5d787dca714bd98dd770c078d76528320a8286", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "suggest": { + "twig/twig": "Provides nice templating features" + }, + "time": "2017-05-02T00:53:29+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-0": { + "SensioLabs\\AnsiConverter": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "A library to convert a text with ANSI codes to HTML", + "install-path": "../sensiolabs/ansi-to-html" + }, + { + "name": "symfony/console", + "version": "v3.4.47", + "version_normalized": "3.4.47.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/a10b1da6fc93080c180bba7219b5ff5b7518fe81", + "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/debug": "~2.8|~3.0|~4.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.3|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.3|~4.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "time": "2020-10-24T10:57:07+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/console" + }, + { + "name": "symfony/debug", + "version": "v3.4.47", + "version_normalized": "3.4.47.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "ab42889de57fdfcfcc0759ab102e2fd4ea72dcae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/ab42889de57fdfcfcc0759ab102e2fd4ea72dcae", + "reference": "ab42889de57fdfcfcc0759ab102e2fd4ea72dcae", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/http-kernel": "~2.8|~3.0|~4.0" + }, + "time": "2020-10-24T10:57:07+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "abandoned": "symfony/error-handler", + "install-path": "../symfony/debug" + }, + { + "name": "symfony/filesystem", + "version": "v3.4.47", + "version_normalized": "3.4.47.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/e58d7841cddfed6e846829040dca2cca0ebbbbb3", + "reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "time": "2020-10-24T10:57:07+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/filesystem" + }, + { + "name": "symfony/finder", + "version": "v3.4.47", + "version_normalized": "3.4.47.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "b6b6ad3db3edb1b4b1c1896b1975fb684994de6e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/b6b6ad3db3edb1b4b1c1896b1975fb684994de6e", + "reference": "b6b6ad3db3edb1b4b1c1896b1975fb684994de6e", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "time": "2020-11-16T17:02:08+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/finder" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.19.0", + "version_normalized": "1.19.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "aed596913b70fae57be53d86faa2e9ef85a2297b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/aed596913b70fae57be53d86faa2e9ef85a2297b", + "reference": "aed596913b70fae57be53d86faa2e9ef85a2297b", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "time": "2020-10-23T09:01:57+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.19-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/polyfill-ctype" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.19.0", + "version_normalized": "1.19.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "b5f7b932ee6fa802fc792eabd77c4c88084517ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b5f7b932ee6fa802fc792eabd77c4c88084517ce", + "reference": "b5f7b932ee6fa802fc792eabd77c4c88084517ce", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "time": "2020-10-23T09:01:57+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.19-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/polyfill-mbstring" + }, + { + "name": "symfony/process", + "version": "v3.4.47", + "version_normalized": "3.4.47.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "b8648cf1d5af12a44a51d07ef9bf980921f15fca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/b8648cf1d5af12a44a51d07ef9bf980921f15fca", + "reference": "b8648cf1d5af12a44a51d07ef9bf980921f15fca", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "time": "2020-10-24T10:57:07+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/process" + }, + { + "name": "symfony/yaml", + "version": "v3.4.47", + "version_normalized": "3.4.47.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "88289caa3c166321883f67fe5130188ebbb47094" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094", + "reference": "88289caa3c166321883f67fe5130188ebbb47094", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "time": "2020-10-24T10:57:07+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/yaml" + }, + { + "name": "tempest/highlight", + "version": "1.2.1", + "version_normalized": "1.2.1.0", + "source": { + "type": "git", + "url": "https://github.com/tempestphp/highlight.git", + "reference": "f7938f4378e0371aa2034feb967cb5e02ff1ef52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tempestphp/highlight/zipball/f7938f4378e0371aa2034feb967cb5e02ff1ef52", + "reference": "f7938f4378e0371aa2034feb967cb5e02ff1ef52", + "shasum": "" + }, + "require": { + "php": "^8.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.21", + "larapack/dd": "^1.1", + "league/commonmark": "^2.4", + "phpstan/phpstan": "^1.10.0", + "phpunit/phpunit": "^10.0" + }, + "time": "2024-04-02T11:41:48+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Tempest\\Highlight\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brent Roose", + "email": "brendt@stitcher.io" + } + ], + "description": "Fast, extensible, server-side code highlighting", + "support": { + "issues": "https://github.com/tempestphp/highlight/issues", + "source": "https://github.com/tempestphp/highlight/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/brendt", + "type": "github" + } + ], + "install-path": "../tempest/highlight" + } ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ] - }, - { - "name": "composer/composer", - "version": "1.10.23", - "version_normalized": "1.10.23.0", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "eb3bae3d3de2e4abd94fa56fbe18355aba0b47ae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/eb3bae3d3de2e4abd94fa56fbe18355aba0b47ae", - "reference": "eb3bae3d3de2e4abd94fa56fbe18355aba0b47ae", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "composer/semver": "^1.0", - "composer/spdx-licenses": "^1.2", - "composer/xdebug-handler": "^1.1", - "justinrainbow/json-schema": "^5.2.10", - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.0", - "symfony/console": "^2.7 || ^3.0 || ^4.0 || ^5.0", - "symfony/filesystem": "^2.7 || ^3.0 || ^4.0 || ^5.0", - "symfony/finder": "^2.7 || ^3.0 || ^4.0 || ^5.0", - "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0" - }, - "conflict": { - "symfony/console": "2.8.38" - }, - "require-dev": { - "phpspec/prophecy": "^1.10", - "symfony/phpunit-bridge": "^4.2" - }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" - }, - "time": "2021-10-05T07:44:27+00:00", - "bin": [ - "bin/composer" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Composer\\": "src/Composer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", - "homepage": "https://getcomposer.org/", - "keywords": [ - "autoload", - "dependency", - "package" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ] - }, - { - "name": "composer/semver", - "version": "1.7.2", - "version_normalized": "1.7.2.0", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "647490bbcaf7fc4891c58f47b825eb99d19c377a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/647490bbcaf7fc4891c58f47b825eb99d19c377a", - "reference": "647490bbcaf7fc4891c58f47b825eb99d19c377a", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.5 || ^5.0.5" - }, - "time": "2020-12-03T15:47:16+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ] - }, - { - "name": "composer/spdx-licenses", - "version": "1.5.5", - "version_normalized": "1.5.5.0", - "source": { - "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "de30328a7af8680efdc03e396aad24befd513200" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/de30328a7af8680efdc03e396aad24befd513200", - "reference": "de30328a7af8680efdc03e396aad24befd513200", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 7" - }, - "time": "2020-12-03T16:04:16+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Composer\\Spdx\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "SPDX licenses list and validation library.", - "keywords": [ - "license", - "spdx", - "validator" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ] - }, - { - "name": "composer/xdebug-handler", - "version": "1.4.6", - "version_normalized": "1.4.6.0", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "f27e06cd9675801df441b3656569b328e04aa37c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f27e06cd9675801df441b3656569b328e04aa37c", - "reference": "f27e06cd9675801df441b3656569b328e04aa37c", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "time": "2021-03-25T17:01:18+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ] - }, - { - "name": "easybook/geshi", - "version": "v1.0.8.19", - "version_normalized": "1.0.8.19", - "source": { - "type": "git", - "url": "https://github.com/easybook/geshi.git", - "reference": "b4df5fa84a44d4e12eff67263a701eac7e157241" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/easybook/geshi/zipball/b4df5fa84a44d4e12eff67263a701eac7e157241", - "reference": "b4df5fa84a44d4e12eff67263a701eac7e157241", - "shasum": "" - }, - "require": { - "php": ">=5.0" - }, - "time": "2018-04-20T18:19:44+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "./" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0" - ], - "authors": [ - { - "name": "Nigel McNie", - "email": "nigel@geshi.org" - }, - { - "name": "Benny Baumann", - "email": "BenBE@geshi.org" - } - ], - "description": "GeSHi - Generic Syntax Highlighter. This is an unmodified port of GeSHi project code found on SourceForge.", - "homepage": "http://qbnz.com/highlighter", - "keywords": [ - "highlight", - "highlighter", - "syntax" - ] - }, - { - "name": "gitonomy/gitlib", - "version": "v0.1.8", - "version_normalized": "0.1.8.0", - "source": { - "type": "git", - "url": "https://github.com/gitonomy/gitlib.git", - "reference": "f575b8f7da917ade7890c6aa705fa22545690389" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/f575b8f7da917ade7890c6aa705fa22545690389", - "reference": "f575b8f7da917ade7890c6aa705fa22545690389", - "shasum": "" - }, - "require": { - "symfony/process": "^2.3|^3.0" - }, - "require-dev": { - "psr/log": "^1.0" - }, - "suggest": { - "psr/log": "Add some log" - }, - "time": "2015-12-01T22:25:57+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Gitonomy\\Git\\": "src/Gitonomy/Git/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alexandre Salomé", - "email": "alexandre.salome@gmail.com", - "homepage": "http://alexandre-salome.fr" - }, - { - "name": "Julien DIDIER", - "email": "genzo.wm@gmail.com", - "homepage": "http://www.jdidier.net" - } - ], - "description": "Library for accessing git", - "homepage": "http://gitonomy.com" - }, - { - "name": "justinrainbow/json-schema", - "version": "5.2.11", - "version_normalized": "5.2.11.0", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ab6744b7296ded80f8cc4f9509abbff393399aa", - "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", - "json-schema/json-schema-test-suite": "1.2.0", - "phpunit/phpunit": "^4.8.35" - }, - "time": "2021-07-22T09:24:00+00:00", - "bin": [ - "bin/validate-json" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "JsonSchema\\": "src/JsonSchema/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" - } - ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", - "keywords": [ - "json", - "schema" - ] - }, - { - "name": "nikic/php-parser", - "version": "v3.1.5", - "version_normalized": "3.1.5.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", - "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" - }, - "time": "2018-02-28T20:30:58+00:00", - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ] - }, - { - "name": "phpbb/epv", - "version": "0.0.11", - "version_normalized": "0.0.11.0", - "source": { - "type": "git", - "url": "https://github.com/phpbb/epv.git", - "reference": "0b7724f534f1f87b97c86f4054c613fafc0da8f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpbb/epv/zipball/0b7724f534f1f87b97c86f4054c613fafc0da8f3", - "reference": "0b7724f534f1f87b97c86f4054c613fafc0da8f3", - "shasum": "" - }, - "require": { - "composer/composer": "^1.5", - "gitonomy/gitlib": "0.1.*@dev", - "nikic/php-parser": "~3.0", - "php": ">=5.5.9", - "sensiolabs/ansi-to-html": "~1.1", - "symfony/console": "~2.3|~3.0", - "symfony/finder": "~2.3|~3.0", - "symfony/process": "~2.3|~3.0", - "symfony/yaml": "~2.3|~3.0" - }, - "require-dev": { - "phpunit/phpunit": "4.4.*", - "phpunit/phpunit-mock-objects": "2.3.*" - }, - "time": "2019-09-02T15:53:59+00:00", - "bin": [ - "src/EPV.php" - ], - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Phpbb\\Epv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-only" - ], - "authors": [ - { - "name": "Paul Sohier", - "email": "paul@phpbb.com" - } - ], - "description": "A extension validator for phpBB extensions. Extensions are required to pass the validator when submitted to the extension database." - }, - { - "name": "psr/log", - "version": "1.1.4", - "version_normalized": "1.1.4.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2021-05-03T11:20:27+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ] - }, - { - "name": "seld/jsonlint", - "version": "1.8.3", - "version_normalized": "1.8.3.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "9ad6ce79c342fbd44df10ea95511a1b24dee5b57" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/9ad6ce79c342fbd44df10ea95511a1b24dee5b57", - "reference": "9ad6ce79c342fbd44df10ea95511a1b24dee5b57", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "time": "2020-11-11T09:19:24+00:00", - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", - "type": "tidelift" - } - ] - }, - { - "name": "seld/phar-utils", - "version": "1.1.2", - "version_normalized": "1.1.2.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "749042a2315705d2dfbbc59234dd9ceb22bf3ff0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/749042a2315705d2dfbbc59234dd9ceb22bf3ff0", - "reference": "749042a2315705d2dfbbc59234dd9ceb22bf3ff0", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "time": "2021-08-19T21:01:38+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Seld\\PharUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "PHAR file format utilities, for when PHP phars you up", - "keywords": [ - "phar" - ] - }, - { - "name": "sensiolabs/ansi-to-html", - "version": "v1.1.3", - "version_normalized": "1.1.3.0", - "source": { - "type": "git", - "url": "https://github.com/sensiolabs/ansi-to-html.git", - "reference": "8b5d787dca714bd98dd770c078d76528320a8286" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/ansi-to-html/zipball/8b5d787dca714bd98dd770c078d76528320a8286", - "reference": "8b5d787dca714bd98dd770c078d76528320a8286", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "suggest": { - "twig/twig": "Provides nice templating features" - }, - "time": "2017-05-02T00:53:29+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "SensioLabs\\AnsiConverter": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "A library to convert a text with ANSI codes to HTML" - }, - { - "name": "symfony/console", - "version": "v3.4.47", - "version_normalized": "3.4.47.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a10b1da6fc93080c180bba7219b5ff5b7518fe81", - "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/debug": "~2.8|~3.0|~4.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/process": "<3.3" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.3|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~2.8|~3.0|~4.0", - "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.3|~4.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "time": "2020-10-24T10:57:07+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ] - }, - { - "name": "symfony/debug", - "version": "v3.4.47", - "version_normalized": "3.4.47.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "ab42889de57fdfcfcc0759ab102e2fd4ea72dcae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/ab42889de57fdfcfcc0759ab102e2fd4ea72dcae", - "reference": "ab42889de57fdfcfcc0759ab102e2fd4ea72dcae", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/http-kernel": "~2.8|~3.0|~4.0" - }, - "time": "2020-10-24T10:57:07+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Debug Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ] - }, - { - "name": "symfony/filesystem", - "version": "v3.4.47", - "version_normalized": "3.4.47.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/e58d7841cddfed6e846829040dca2cca0ebbbbb3", - "reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-ctype": "~1.8" - }, - "time": "2020-10-24T10:57:07+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ] - }, - { - "name": "symfony/finder", - "version": "v3.4.47", - "version_normalized": "3.4.47.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "b6b6ad3db3edb1b4b1c1896b1975fb684994de6e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/b6b6ad3db3edb1b4b1c1896b1975fb684994de6e", - "reference": "b6b6ad3db3edb1b4b1c1896b1975fb684994de6e", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "time": "2020-11-16T17:02:08+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ] - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.19.0", - "version_normalized": "1.19.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "aed596913b70fae57be53d86faa2e9ef85a2297b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/aed596913b70fae57be53d86faa2e9ef85a2297b", - "reference": "aed596913b70fae57be53d86faa2e9ef85a2297b", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "time": "2020-10-23T09:01:57+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.19-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ] - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.19.0", - "version_normalized": "1.19.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "b5f7b932ee6fa802fc792eabd77c4c88084517ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b5f7b932ee6fa802fc792eabd77c4c88084517ce", - "reference": "b5f7b932ee6fa802fc792eabd77c4c88084517ce", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "time": "2020-10-23T09:01:57+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.19-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ] - }, - { - "name": "symfony/process", - "version": "v3.4.47", - "version_normalized": "3.4.47.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "b8648cf1d5af12a44a51d07ef9bf980921f15fca" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/b8648cf1d5af12a44a51d07ef9bf980921f15fca", - "reference": "b8648cf1d5af12a44a51d07ef9bf980921f15fca", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "time": "2020-10-24T10:57:07+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ] - }, - { - "name": "symfony/yaml", - "version": "v3.4.47", - "version_normalized": "3.4.47.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "88289caa3c166321883f67fe5130188ebbb47094" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094", - "reference": "88289caa3c166321883f67fe5130188ebbb47094", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/console": "<3.4" - }, - "require-dev": { - "symfony/console": "~3.4|~4.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "time": "2020-10-24T10:57:07+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } + "dev": true, + "dev-package-names": [ + "composer/ca-bundle", + "composer/composer", + "composer/semver", + "composer/spdx-licenses", + "composer/xdebug-handler", + "gitonomy/gitlib", + "justinrainbow/json-schema", + "nikic/php-parser", + "phpbb/epv", + "psr/log", + "seld/jsonlint", + "seld/phar-utils", + "sensiolabs/ansi-to-html", + "symfony/console", + "symfony/debug", + "symfony/filesystem", + "symfony/finder", + "symfony/polyfill-ctype", + "symfony/polyfill-mbstring", + "symfony/process", + "symfony/yaml" ] - } -] +} diff --git a/vendor/easybook/geshi/README.md b/vendor/easybook/geshi/README.md deleted file mode 100644 index dd1057a..0000000 --- a/vendor/easybook/geshi/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# GeSHi - Generic Syntax Highlighter # - -This repository has been created just to be able to install GeSHi as a Composer -package. Technically it's a port of the GeSHi project code found on SourceForge: -http://sourceforge.net/projects/geshi/ - -Differences from the official SourceForge repository: - - * 3/mar/2016: removed the closing `?>` tag from PHP files. - * 11/may/2014: added `sass.php` file to highlight Sass stylesheets. - * 28/sep/2012: added `twig.php` file to highlight Twig templates. diff --git a/vendor/easybook/geshi/composer.json b/vendor/easybook/geshi/composer.json deleted file mode 100644 index 5dee469..0000000 --- a/vendor/easybook/geshi/composer.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "easybook/geshi", - "type": "library", - "description": "GeSHi - Generic Syntax Highlighter. This is an unmodified port of GeSHi project code found on SourceForge.", - "homepage": "http://qbnz.com/highlighter", - "keywords": ["highlighter", "highlight", "syntax"], - "license": "GPL-2.0", - "authors": [ - { - "name": "Benny Baumann", - "email": "BenBE@geshi.org" - }, - { - "name": "Nigel McNie", - "email": "nigel@geshi.org" - } - ], - "require": { - "php": ">=5.0" - }, - "autoload": { - "classmap": ["./"] - } -} diff --git a/vendor/easybook/geshi/contrib/aliased.php b/vendor/easybook/geshi/contrib/aliased.php deleted file mode 100644 index cee3128..0000000 --- a/vendor/easybook/geshi/contrib/aliased.php +++ /dev/null @@ -1,123 +0,0 @@ - - * @version $Id: aliased.php 2533 2012-08-15 18:49:04Z benbe $ - */ - -// Your config here -define("SOURCE_ROOT", "/var/www/your/source/root/"); - -// Assume you've put geshi in the include_path already -require_once("geshi.php"); - -// Get path info -$path = SOURCE_ROOT.$_SERVER['PATH_INFO']; - -// Check for dickheads trying to use '../' to get to sensitive areas -$base_path_len = strlen(SOURCE_ROOT); -$real_path = realpath($path); -if(strncmp($real_path, SOURCE_ROOT, $base_path_len)) { - exit("Access outside acceptable path."); -} - -// Check file exists -if(!file_exists($path)) { - exit("File not found ($path)."); -} - -// Prepare GeSHi instance -$geshi = new GeSHi(); -$geshi->set_language('text'); -$geshi->load_from_file($path); -$geshi->set_header_type(GESHI_HEADER_PRE); -$geshi->enable_classes(); -$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 10); -$geshi->set_overall_style('color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;', true); -$geshi->set_line_style('font: normal normal 95% \'Courier New\', Courier, monospace; color: #003030;', 'font-weight: bold; color: #006060;', true); -$geshi->set_code_style('color: #000020;', 'color: #000020;'); -$geshi->set_link_styles(GESHI_LINK, 'color: #000060;'); -$geshi->set_link_styles(GESHI_HOVER, 'background-color: #f0f000;'); -$geshi->set_header_content('Source code viewer - ' . $path . ' - ' . $geshi->get_language_name()); -$geshi->set_header_content_style('font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #d0d0d0; padding: 2px;'); -$geshi->set_footer_content('Parsed in


    - - diff --git a/vendor/easybook/geshi/contrib/cssgen.php b/vendor/easybook/geshi/contrib/cssgen.php deleted file mode 100644 index 2989ca7..0000000 --- a/vendor/easybook/geshi/contrib/cssgen.php +++ /dev/null @@ -1,466 +0,0 @@ - - - - GeSHi CSS Generator :: ' . $title . ' - - - - -

    ' . $title . '

    -'; -} - -function make_footer () -{ - echo '
    -'; -} - - -function get_var ( $var_name ) -{ - if ( isset($_GET[$var_name]) ) - { - return str_replace("\'", "'", $_GET[$var_name]); - } - elseif ( isset($_POST[$var_name]) ) - { - return str_replace("\'", "'", $_POST[$var_name]); - } - return null; -} - - - -// -// Unset everything -// -foreach ( $_REQUEST as $var ) -{ - unset($$var); -} -foreach ( array( - '_POST' => 'HTTP_POST_VARS', - '_GET' => 'HTTP_GET_VARS', - '_COOKIE' => 'HTTP_COOKIE_VARS', - '_SERVER' => 'HTTP_SERVER_VARS', - '_ENV' => 'HTTP_ENV_VARS', - '_FILES' => 'HTTP_POST_FILES') as $array => $other ) -{ - if ( !isset($$array) ) - { - $$array = $$other; - } - unset($$other); -} - - -// Get what step we're up to -$step = get_var('step'); - -if ( !$step || $step == 1 ) -{ - $errors = 0; - make_header('Step 1'); - echo "Welcome to the GeSHi CSS generator.
    Searching for GeSHi...          ";
    -
    -    // Find GeSHi
    -    $geshi_path = get_var('geshi-path');
    -    $geshi_lang_path = get_var('geshi-lang-path');
    -
    -    if(strstr($geshi_path, '..')) {
    -        unset($geshi_path);
    -    }
    -    if(strstr($geshi_lang_path, '..')) {
    -        unset($geshi_lang_path);
    -    }
    -
    -    if ( !$geshi_path )
    -    {
    -        $geshi_path = '../geshi.php';
    -    }
    -    if ( !$geshi_lang_path )
    -    {
    -        $geshi_lang_path = '../geshi/';
    -    }
    -
    -    if ( is_file($geshi_path) && is_readable($geshi_path) )
    -    {
    -        // Get file contents and see if GeSHi is in here
    -        $file = @file($geshi_path);
    -        $contents = '';
    -        foreach ( $file as $line )
    -        {
    -            $contents .= $line;
    -        }
    -        if ( strpos($contents, 'Found at ' . realpath($geshi_path) . '';
    -        }
    -        else
    -        {
    -            ++$errors;
    -            $no_geshi_dot_php_error = true;
    -            echo 'Not found';
    -        }
    -    }
    -    else
    -    {
    -        ++$errors;
    -        $no_geshi_dot_php_error = true;
    -        echo 'Not found';
    -    }
    -
    -    // Find language files
    -    echo "\nSearching for language files... ";
    -    if ( is_readable($geshi_lang_path . 'css-gen.cfg') )
    -    {
    -
    -        echo 'Found at ' . realpath($geshi_lang_path) . '';
    -    }
    -    else
    -    {
    -        ++$errors;
    -        $no_lang_dir_error = true;
    -        echo 'Not found';
    -    }
    -    echo "
    \n"; - - if ( $errors > 0 ) - { - // We're gonna have to ask for the paths... - echo 'Unfortunately CSSGen could not detect the following paths. Please input them and press "submit" to try again.'; - echo " -
    "; - if ( $no_geshi_dot_php_error ) - { - echo " -
    geshi.php: "; - } - else - { - echo ''; - } - if ( $no_lang_dir_error ) - { - echo " -
    language files directory: (should have a trailing slash)"; - } - else - { - echo ''; - } - - echo " -
    "; - } - else - { - // no errors - echo continue form - echo 'Everything seems to be detected successfully. Use the button to continue. -

    - -'; - } - - make_footer(); -} -// Step 2 -elseif ( $step == 2 ) -{ - make_header('Step 2'); - - $geshi_path = get_var('geshi-path'); - $geshi_lang_path = get_var('geshi-lang-path'); - - $dh = opendir($geshi_lang_path); - $lang_files = array(); - $file = readdir($dh); - while ( $file !== false ) - { - if ( $file == '.' || $file == '..' || $file == 'CVS' || $file == 'css-gen.cfg' ) - { - $file = readdir($dh); - continue; - } - if(!strstr(file_get_contents($dh . DIRECTORY_SEPARATOR . $file), '$language_data')) { - $file = readdir($dh); - continue; - } - $lang_files[] = $file; - $file = readdir($dh); - } - closedir($dh); - sort($lang_files); - - // Now installed languages are in $lang_files - - echo ' -What languages are you wanting to make this stylesheet for?

    -Detected languages:
    '; - - foreach ( $lang_files as $lang ) - { - $lang = substr($lang, 0, strpos($lang, '.')); - if ($lang) { - echo " $lang
    \n"; - } - } - - echo "Select: All, None, Invert
    \n"; - - echo 'If you\'d like any other languages not detected here to be supported, please enter -them here, one per line:

    -'; - - echo '
    Styles: - - - - - - - - - - - - - - -
    Style for the overall code block:
    Default Styles
    Keywords I (if, do, while etc)
    Keywords II (null, true, false etc)
    Inbuilt Functions (echo, print etc)
    Data Types (int, boolean etc)
    Comments (//, etc)
    Escaped Characters (\n, \t etc)
    Brackets ( ([{}]) etc)
    Strings ("foo" etc)
    Numbers (1, -54, 2.5 etc)
    Methods (Foo.bar() etc)
    '; - - echo ' -
    '; - - make_footer(); -} -// Step 3 -elseif ( $step == 3 ) -{ - make_header('Step 3'); - echo '

    Here is your completed stylesheet. Note that it may not be perfect - no regular expression styles are included for one thing, -you\'ll have to add those yourself (php and xml are just two languages that use them), and line numbers are not included, however -it includes most of the basic information.

    '; - - // Make the stylesheet - $part_selector_1 = ''; - $part_selector_2 = ''; - $part_selector_3 = ''; - - $langs = get_var('langs'); - $extra_langs = trim(get_var('extra-langs')); - if ( $extra_langs != '' ) - { - $l = explode("\r\n", $extra_langs); - foreach ( $l as $lng ) - { - $langs[$lng] = true; - } - } - - - foreach ( $langs as $lang => $dummy ) - { - $part_selector_1 .= ".$lang {PART}, "; - $part_selector_2 .= ".$lang {PART1}, .$lang {PART2}, "; - $part_selector_3 .= ".$lang {PART1}, .$lang {PART2}, .$lang {PART3}, "; - } - $part_selector_1 = substr($part_selector_1, 0, -2); - $part_selector_2 = substr($part_selector_2, 0, -2); - $part_selector_3 = substr($part_selector_3, 0, -2); - - - $default_styles = get_var('default-styles'); - $ol_selector = str_replace('{PART}', 'ol', $part_selector_1); - $overall_styles = get_var('overall'); - $overall_selector = str_replace('{PART}', '', $part_selector_1); - - $stylesheet = "/* GeSHi (c) Nigel McNie 2004 (http://qbnz.com/highlighter) */"; - - if ( $overall != '' ) - { - $stylesheet .= "\n$overall_selector {{$overall_styles}}"; - } - if ( $default_styles != '' ) - { - $default_selector = str_replace(array('{PART1}', '{PART2}'), array('.de1', '.de2'), $part_selector_2); - $stylesheet .= "\n$default_selector {{$default_styles}}"; - } - - // Do keywords - $keywords_1 = get_var('keywords-1'); - $keyword_selector_1 = str_replace('{PART}', '.kw1', $part_selector_1); - if ( $keywords_1 != '' ) - { - $stylesheet .= "\n$keyword_selector_1 {{$keywords_1}}"; - } - - $keywords_2 = get_var('keywords-2'); - $keyword_selector_2 = str_replace('{PART}', '.kw2', $part_selector_1); - if ( $keywords_2 != '' ) - { - $stylesheet .= "\n$keyword_selector_2 {{$keywords_2}}"; - } - - $keywords_3 = get_var('keywords-3'); - $keyword_selector_3 = str_replace('{PART}', '.kw3', $part_selector_1); - if ( $keywords_3 != '' ) - { - $stylesheet .= "\n$keyword_selector_3 {{$keywords_3}}"; - } - - $keywords_4 = get_var('keywords-4'); - $keyword_selector_4 = str_replace('{PART}', '.kw4', $part_selector_1); - if ( $keywords_4 != '' ) - { - $stylesheet .= "\n$keyword_selector_4 {{$keywords_4}}"; - } - - // Do other lexics - $comments = get_var('comments'); - $comment_selector = str_replace(array('{PART1}', '{PART2}', '{PART3}'), array('.co1', '.co2', '.coMULTI'), $part_selector_3); - if ( $comments != '' ) - { - $stylesheet .= "\n$comment_selector {{$comments}}"; - } - - $esc = get_var('escaped-chars'); - $esc_selector = str_replace('{PART}', '.es0', $part_selector_1); - if ( $esc != '' ) - { - $stylesheet .= "\n$esc_selector {{$esc}}"; - } - - $brackets = get_var('brackets'); - $brk_selector = str_replace('{PART}', '.br0', $part_selector_1); - if ( $brackets != '' ) - { - $stylesheet .= "\n$brk_selector {{$brackets}}"; - } - - $strings = get_var('strings'); - $string_selector = str_replace('{PART}', '.st0', $part_selector_1); - if ( $strings != '' ) - { - $stylesheet .= "\n$string_selector {{$strings}}"; - } - - $numbers = get_var('numbers'); - $num_selector = str_replace('{PART}', '.nu0', $part_selector_1); - if ( $numbers != '' ) - { - $stylesheet .= "\n$num_selector {{$numbers}}"; - } - - $methods = get_var('methods'); - $method_selector = str_replace('{PART}', '.me0', $part_selector_1); - if ( $methods != '' ) - { - $stylesheet .= "\n$method_selector {{$methods}}"; - } - - echo "
    $stylesheet
    "; - - make_footer(); -} - - diff --git a/vendor/easybook/geshi/contrib/cssgen2.php b/vendor/easybook/geshi/contrib/cssgen2.php deleted file mode 100644 index cc3c39c..0000000 --- a/vendor/easybook/geshi/contrib/cssgen2.php +++ /dev/null @@ -1,59 +0,0 @@ - geshi.css`. - * - * This file is part of GeSHi. - * - * GeSHi is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * GeSHi is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GeSHi; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * @package geshi - * @subpackage contrib - * @author revulo - * @copyright 2008 revulo - * @license http://gnu.org/copyleft/gpl.html GNU GPL - * - */ - -require dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'geshi.php'; -$geshi = new GeSHi; - -$languages = array(); -if ($handle = opendir($geshi->language_path)) { - while (($file = readdir($handle)) !== false) { - $pos = strpos($file, '.'); - if ($pos > 0 && substr($file, $pos) == '.php') { - $languages[] = substr($file, 0, $pos); - } - } - closedir($handle); -} -sort($languages); - -header('Content-Type: application/octet-stream'); -header('Content-Disposition: attachment; filename="geshi.css"'); - -echo "/**\n". - " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n" . - " * (http://qbnz.com/highlighter/ and http://geshi.org/)\n". - " */\n"; - -foreach ($languages as $language) { - $geshi->set_language($language); - // note: the false argument is required for stylesheet generators, see API documentation - $css = $geshi->get_stylesheet(false); - echo preg_replace('/^\/\*\*.*?\*\//s', '', $css); -} diff --git a/vendor/easybook/geshi/contrib/example.php b/vendor/easybook/geshi/contrib/example.php deleted file mode 100644 index befc1ad..0000000 --- a/vendor/easybook/geshi/contrib/example.php +++ /dev/null @@ -1,217 +0,0 @@ - tag inside the list items (
  1. ) thus producing valid HTML markup. - // HEADER_PRE puts the
     tag around the list (
      ) which is invalid in HTML 4 and XHTML 1 - // HEADER_DIV puts a
      tag arount the list (valid!) but needs to replace whitespaces with   - // thus producing much larger overhead. You can set the tab width though. - $geshi->set_header_type(GESHI_HEADER_PRE_VALID); - - // Enable CSS classes. You can use get_stylesheet() to output a stylesheet for your code. Using - // CSS classes results in much less output source. - $geshi->enable_classes(); - - // Enable line numbers. We want fancy line numbers, and we want every 5th line number to be fancy - $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 5); - - // Set the style for the PRE around the code. The line numbers are contained within this box (not - // XHTML compliant btw, but if you are liberally minded about these things then you'll appreciate - // the reduced source output). - $geshi->set_overall_style('font: normal normal 90% monospace; color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;', false); - - // Set the style for line numbers. In order to get style for line numbers working, the
    1. element - // is being styled. This means that the code on the line will also be styled, and most of the time - // you don't want this. So the set_code_style reverts styles for the line (by using a
      on the line). - // So the source output looks like this: - // - //
        - //
      1. - - - GeSHi examples - - - -

        GeSHi Example Script

        -

        To use this script, make sure that geshi.php is in the parent directory or in your -include_path, and that the language files are in a subdirectory of GeSHi's directory called geshi/.

        -

        Enter your source and a language to highlight the source in and submit, or just choose a language to -have that language file highlighted in PHP.

        -parse_code(); - echo '
        '; -} -?> -
        -

        Source to highlight

        -

        - -

        -

        Choose a language

        -

        - -

        -

        - - -

        -
        - - - diff --git a/vendor/easybook/geshi/contrib/langcheck.php b/vendor/easybook/geshi/contrib/langcheck.php deleted file mode 100644 index fa8288b..0000000 --- a/vendor/easybook/geshi/contrib/langcheck.php +++ /dev/null @@ -1,769 +0,0 @@ -'; - $colors = array( - TYPE_NOTICE => '', - TYPE_WARNING => '', - TYPE_ERROR => '', - TYPE_OK => '' - ); - } else { - $end = chr(27).'[0m'; - $colors = array( - TYPE_NOTICE => chr(27).'[1m', - TYPE_WARNING => chr(27).'[1;33m', - TYPE_ERROR => chr(27).'[1;31m', - TYPE_OK => chr(27).'[1;32m' - ); - } - } - - if ( !isset($colors[$level]) ) { - trigger_error("no colors for level $level", E_USER_ERROR); - } - - return $colors[$level].$string.$end; -} - -define ('TYPE_NOTICE', 0); -define ('TYPE_WARNING', 1); -define ('TYPE_ERROR', 2); -define ('TYPE_OK', 3); - -$error_abort = false; -$error_cache = array(); -function output_error_cache(){ - global $error_cache, $error_abort; - - if(count($error_cache)) { - echo colorize(TYPE_ERROR, "Failed"); - if ( PHP_SAPI == 'cli' ) { - echo "\n\n"; - } else { - echo "
          \n"; - } - foreach($error_cache as $error_msg) { - if ( PHP_SAPI == 'cli' ) { - echo "\n"; - } else { - echo "
        1. "; - } - switch($error_msg['t']) { - case TYPE_NOTICE: - $msg = 'NOTICE'; - break; - case TYPE_WARNING: - $msg = 'WARNING'; - break; - case TYPE_ERROR: - $msg = 'ERROR'; - break; - } - echo colorize($error_msg['t'], $msg); - if ( PHP_SAPI == 'cli' ) { - echo "\t" . $error_msg['m']; - } else { - echo " " . $error_msg['m'] . "
        2. "; - } - } - if ( PHP_SAPI == 'cli' ) { - echo "\n"; - } else { - echo "
        \n"; - } - } else { - echo colorize(TYPE_OK, "OK"); - if ( PHP_SAPI == 'cli' ) { - echo "\n"; - } else { - echo "\n
        "; - } - } - echo "\n"; - - $error_cache = array(); -} - -function report_error($type, $message) { - global $error_cache, $error_abort; - - $error_cache[] = array('t' => $type, 'm' => $message); - if(TYPE_ERROR == $type) { - $error_abort = true; - } -} - -function dupfind_strtolower(&$value){ - $value = strtolower($value); -} - -if ( PHP_SAPI != 'cli' ) { ?> - - - - GeSHi Language File Validation Script - - - -

        GeSHi Language File Validation Script

        -

        To use this script, make sure that geshi.php is in the -parent directory or in your include_path, and that the language files are in a -subdirectory of GeSHi's directory called geshi/.

        -

        Everything else will be done by this script automatically. After the script -finished you should see messages of what could cause trouble with GeSHi or where -your language files can be improved. Please be patient, as this might take some time.

        - -
          -
        1. Checking where to find GeSHi installation ... - - - -To use this script, make sure that is in the -parent directory or in your include_path, and that the language files are in a -subdirectory of GeSHi's directory called . - -Everything else will be done by this script automatically. After the script -finished you should see messages of what could cause trouble with GeSHi or where -your language files can be improved. Please be patient, as this might take some time. - - -Checking where to find GeSHi installation ...\n
        2. Listing available language files ... "; - } - - if (!($dir = @opendir(GESHI_LANG_ROOT))) { - report_error(TYPE_ERROR, 'Error requesting listing for available language files!'); - } - - $languages = array(); - - if(!$error_abort) { - while ($file = readdir($dir)) { - if (!$file || $file[0] == '.' || strpos($file, '.php') === false) { - continue; - } - $lang = substr($file, 0, strpos($file, '.')); - if(4 != strlen($file) - strlen($lang)) { - continue; - } - $languages[] = $lang; - } - closedir($dir); - } - - $languages = array_unique($languages); - sort($languages); - - if(!count($languages)) { - report_error(TYPE_WARNING, 'Unable to locate any usable language files in "'.GESHI_LANG_ROOT.'"!'); - } - - output_error_cache(); -} - -if ( PHP_SAPI == 'cli' ) { - if (isset($_SERVER['argv'][1]) && in_array($_SERVER['argv'][1], $languages)) { - $languages = array($_SERVER['argv'][1]); - } -} else { - if (isset($_REQUEST['show']) && in_array($_REQUEST['show'], $languages)) { - $languages = array($_REQUEST['show']); - } -} - -if(!$error_abort) { - foreach ($languages as $lang) { - - if ( PHP_SAPI == 'cli' ) { - echo "Validating language file for '$lang' ...\t\t"; - } else { - echo "
        3. \n
        4. Validating language file for '$lang' ... "; - } - - $langfile = GESHI_LANG_ROOT . $lang . '.php'; - - $language_data = array(); - - if(!is_file($langfile)) { - report_error(TYPE_ERROR, 'The path "' .$langfile. '" does not ressemble a regular file!'); - } elseif(!is_readable($langfile)) { - report_error(TYPE_ERROR, 'Cannot read file "' .$langfile. '"!'); - } else { - $langfile_content = file_get_contents($langfile); - if(preg_match("/\?>(?:\r?\n|\r(?!\n)){2,}\Z/", $langfile_content)) { - report_error(TYPE_ERROR, 'Language file contains trailing empty lines at EOF!'); - } - if(!preg_match("/\?>(?:\r?\n|\r(?!\n))?\Z/", $langfile_content)) { - report_error(TYPE_ERROR, 'Language file contains no PHP end marker at EOF!'); - } - if(preg_match("/\t/", $langfile_content)) { - report_error(TYPE_NOTICE, 'Language file contains unescaped tabulator chars (probably for indentation)!'); - } - if(preg_match('/^(?: )*(?! )(?! \*) /m', $langfile_content)) { - report_error(TYPE_NOTICE, 'Language file contains irregular indentation (other than 4 spaces per indentation level)!'); - } - - if(!preg_match("/\/\*\*((?!\*\/).)*?Author:((?!\*\/).)*?\*\//s", $langfile_content)) { - report_error(TYPE_WARNING, 'Language file does not contain a specification of an author!'); - } - if(!preg_match("/\/\*\*((?!\*\/).)*?Copyright:((?!\*\/).)*?\*\//s", $langfile_content)) { - report_error(TYPE_WARNING, 'Language file does not contain a specification of the copyright!'); - } - if(!preg_match("/\/\*\*((?!\*\/).)*?Release Version:((?!\*\/).)*?\*\//s", $langfile_content)) { - report_error(TYPE_WARNING, 'Language file does not contain a specification of the release version!'); - } - if(!preg_match("/\/\*\*((?!\*\/).)*?Date Started:((?!\*\/).)*?\*\//s", $langfile_content)) { - report_error(TYPE_WARNING, 'Language file does not contain a specification of the date it was started!'); - } - if(!preg_match("/\/\*\*((?!\*\/).)*?This file is part of GeSHi\.((?!\*\/).)*?\*\//s", $langfile_content)) { - report_error(TYPE_WARNING, 'Language file does not state that it belongs to GeSHi!'); - } - if(!preg_match("/\/\*\*((?!\*\/).)*?language file for GeSHi\.((?!\*\/).)*?\*\//s", $langfile_content)) { - report_error(TYPE_WARNING, 'Language file does not state that it is a language file for GeSHi!'); - } - if(!preg_match("/\/\*\*((?!\*\/).)*?GNU General Public License((?!\*\/).)*?\*\//s", $langfile_content)) { - report_error(TYPE_WARNING, 'Language file does not state that it is provided under the terms of the GNU GPL!'); - } - - unset($langfile_content); - - include $langfile; - - if(!isset($language_data)) { - report_error(TYPE_ERROR, 'Language file does not contain a $language_data structure to check!'); - } elseif (!is_array($language_data)) { - report_error(TYPE_ERROR, 'Language file contains a $language_data structure which is not an array!'); - } - } - - if(!$error_abort) { - if(!isset($language_data['LANG_NAME'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'LANG_NAME\'] specification!'); - } elseif (!is_string($language_data['LANG_NAME'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'LANG_NAME\'] specification which is not a string!'); - } - - if(!isset($language_data['COMMENT_SINGLE'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'COMMENT_SIGNLE\'] structure to check!'); - } elseif (!is_array($language_data['COMMENT_SINGLE'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'COMMENT_SINGLE\'] structure which is not an array!'); - } - - if(!isset($language_data['COMMENT_MULTI'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'COMMENT_MULTI\'] structure to check!'); - } elseif (!is_array($language_data['COMMENT_MULTI'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'COMMENT_MULTI\'] structure which is not an array!'); - } - - if(isset($language_data['COMMENT_REGEXP'])) { - if (!is_array($language_data['COMMENT_REGEXP'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'COMMENT_REGEXP\'] structure which is not an array!'); - } - } - - if(!isset($language_data['QUOTEMARKS'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'QUOTEMARKS\'] structure to check!'); - } elseif (!is_array($language_data['QUOTEMARKS'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'QUOTEMARKS\'] structure which is not an array!'); - } - - if(isset($language_data['HARDQUOTE'])) { - if (!is_array($language_data['HARDQUOTE'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'HARDQUOTE\'] structure which is not an array!'); - } - } - - if(!isset($language_data['ESCAPE_CHAR'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'ESCAPE_CHAR\'] specification to check!'); - } elseif (!is_string($language_data['ESCAPE_CHAR'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'ESCAPE_CHAR\'] specification which is not a string!'); - } elseif (1 < strlen($language_data['ESCAPE_CHAR'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'ESCAPE_CHAR\'] specification is not empty or exactly one char!'); - } - - if(!isset($language_data['CASE_KEYWORDS'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'CASE_KEYWORDS\'] specification!'); - } elseif (!is_int($language_data['CASE_KEYWORDS'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'CASE_KEYWORDS\'] specification which is not an integer!'); - } elseif (GESHI_CAPS_NO_CHANGE != $language_data['CASE_KEYWORDS'] && - GESHI_CAPS_LOWER != $language_data['CASE_KEYWORDS'] && - GESHI_CAPS_UPPER != $language_data['CASE_KEYWORDS']) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'CASE_KEYWORDS\'] specification which is neither of GESHI_CAPS_NO_CHANGE, GESHI_CAPS_LOWER nor GESHI_CAPS_UPPER!'); - } - - if(!isset($language_data['KEYWORDS'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'KEYWORDS\'] structure to check!'); - } elseif (!is_array($language_data['KEYWORDS'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'KEYWORDS\'] structure which is not an array!'); - } else { - foreach($language_data['KEYWORDS'] as $kw_key => $kw_value) { - if(!is_integer($kw_key)) { - report_error(TYPE_WARNING, "Language file contains an key '$kw_key' in \$language_data['KEYWORDS'] that is not integer!"); - } elseif (!is_array($kw_value)) { - report_error(TYPE_ERROR, "Language file contains a \$language_data['KEYWORDS']['$kw_value'] structure which is not an array!"); - } - } - } - - if(!isset($language_data['SYMBOLS'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'SYMBOLS\'] structure to check!'); - } elseif (!is_array($language_data['SYMBOLS'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'SYMBOLS\'] structure which is not an array!'); - } - - if(!isset($language_data['CASE_SENSITIVE'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'CASE_SENSITIVE\'] structure to check!'); - } elseif (!is_array($language_data['CASE_SENSITIVE'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'CASE_SENSITIVE\'] structure which is not an array!'); - } else { - foreach($language_data['CASE_SENSITIVE'] as $cs_key => $cs_value) { - if(!is_integer($cs_key)) { - report_error(TYPE_WARNING, "Language file contains an key '$cs_key' in \$language_data['CASE_SENSITIVE'] that is not integer!"); - } elseif (!is_bool($cs_value)) { - report_error(TYPE_ERROR, "Language file contains a Case Sensitivity specification for \$language_data['CASE_SENSITIVE']['$cs_value'] which is not a boolean!"); - } - } - } - - if(!isset($language_data['URLS'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'URLS\'] structure to check!'); - } elseif (!is_array($language_data['URLS'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'URLS\'] structure which is not an array!'); - } else { - foreach($language_data['URLS'] as $url_key => $url_value) { - if(!is_integer($url_key)) { - report_error(TYPE_WARNING, "Language file contains an key '$url_key' in \$language_data['URLS'] that is not integer!"); - } elseif (!is_string($url_value)) { - report_error(TYPE_ERROR, "Language file contains a Documentation URL specification for \$language_data['URLS']['$url_value'] which is not a string!"); - } elseif (preg_match('#&([^;]*(=|$))#U', $url_value)) { - report_error(TYPE_ERROR, "Language file contains unescaped ampersands (&) in \$language_data['URLS']!"); - } - } - } - - if(!isset($language_data['OOLANG'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'OOLANG\'] specification!'); - } elseif (!is_int($language_data['OOLANG']) && !is_bool($language_data['OOLANG'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'OOLANG\'] specification which is neither boolean nor integer!'); - } elseif (false !== $language_data['OOLANG'] && - true !== $language_data['OOLANG'] && - 2 !== $language_data['OOLANG']) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'OOLANG\'] specification which is neither of false, true or 2!'); - } - - if(!isset($language_data['OBJECT_SPLITTERS'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'OBJECT_SPLITTERS\'] structure to check!'); - } elseif (!is_array($language_data['OBJECT_SPLITTERS'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'OBJECT_SPLITTERS\'] structure which is not an array!'); - } - - if(!isset($language_data['REGEXPS'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'REGEXPS\'] structure to check!'); - } elseif (!is_array($language_data['REGEXPS'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'REGEXPS\'] structure which is not an array!'); - } - - if(!isset($language_data['STRICT_MODE_APPLIES'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'STRICT_MODE_APPLIES\'] specification!'); - } elseif (!is_int($language_data['STRICT_MODE_APPLIES'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'STRICT_MODE_APPLIES\'] specification which is not an integer!'); - } elseif (GESHI_MAYBE != $language_data['STRICT_MODE_APPLIES'] && - GESHI_ALWAYS != $language_data['STRICT_MODE_APPLIES'] && - GESHI_NEVER != $language_data['STRICT_MODE_APPLIES']) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'STRICT_MODE_APPLIES\'] specification which is neither of GESHI_MAYBE, GESHI_ALWAYS nor GESHI_NEVER!'); - } - - if(!isset($language_data['SCRIPT_DELIMITERS'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'SCRIPT_DELIMITERS\'] structure to check!'); - } elseif (!is_array($language_data['SCRIPT_DELIMITERS'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'SCRIPT_DELIMITERS\'] structure which is not an array!'); - } - - if(!isset($language_data['HIGHLIGHT_STRICT_BLOCK'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'HIGHLIGHT_STRICT_BLOCK\'] structure to check!'); - } elseif (!is_array($language_data['HIGHLIGHT_STRICT_BLOCK'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'HIGHLIGHT_STRICT_BLOCK\'] structure which is not an array!'); - } - - if(isset($language_data['TAB_WIDTH'])) { - if (!is_int($language_data['TAB_WIDTH'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'TAB_WIDTH\'] specification which is not an integer!'); - } elseif (1 > $language_data['TAB_WIDTH']) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'TAB_WIDTH\'] specification which is less than 1!'); - } - } - - if(isset($language_data['PARSER_CONTROL'])) { - if (!is_array($language_data['PARSER_CONTROL'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'PARSER_CONTROL\'] structure which is not an array!'); - } - } - - if(!isset($language_data['STYLES'])) { - report_error(TYPE_ERROR, 'Language file contains no $language_data[\'STYLES\'] structure to check!'); - } elseif (!is_array($language_data['STYLES'])) { - report_error(TYPE_ERROR, 'Language file contains a $language_data[\'STYLES\'] structure which is not an array!'); - } else { - $style_arrays = array('KEYWORDS', 'COMMENTS', 'ESCAPE_CHAR', - 'BRACKETS', 'STRINGS', 'NUMBERS', 'METHODS', 'SYMBOLS', - 'REGEXPS', 'SCRIPT'); - foreach($style_arrays as $style_kind) { - if(!isset($language_data['STYLES'][$style_kind])) { - report_error(TYPE_ERROR, "Language file contains no \$language_data['STYLES']['$style_kind'] structure to check!"); - } elseif (!is_array($language_data['STYLES'][$style_kind])) { - report_error(TYPE_ERROR, "Language file contains a \$language_data['STYLES\']['$style_kind'] structure which is not an array!"); - } else { - foreach($language_data['STYLES'][$style_kind] as $sk_key => $sk_value) { - if(!is_int($sk_key) && ('COMMENTS' != $style_kind && 'MULTI' != $sk_key) - && !(('STRINGS' == $style_kind || 'ESCAPE_CHAR' == $style_kind) && 'HARD' == $sk_key)) { - report_error(TYPE_WARNING, "Language file contains an key '$sk_key' in \$language_data['STYLES']['$style_kind'] that is not integer!"); - } elseif (!is_string($sk_value)) { - report_error(TYPE_WARNING, "Language file contains a CSS specification for \$language_data['STYLES']['$style_kind'][$key] which is not a string!"); - } - } - } - } - - unset($style_arrays); - } - } - - if(!$error_abort) { - //Initial sanity checks survived? --> Let's dig deeper! - foreach($language_data['KEYWORDS'] as $key => $keywords) { - if(!isset($language_data['CASE_SENSITIVE'][$key])) { - report_error(TYPE_ERROR, "Language file contains no \$language_data['CASE_SENSITIVE'] specification for keyword group $key!"); - } - if(!isset($language_data['URLS'][$key])) { - report_error(TYPE_ERROR, "Language file contains no \$language_data['URLS'] specification for keyword group $key!"); - } - if(empty($keywords)) { - report_error(TYPE_WARNING, "Language file contains an empty keyword list in \$language_data['KEYWORDS'] for group $key!"); - } - foreach($keywords as $id => $kw) { - if(!is_string($kw)) { - report_error(TYPE_WARNING, "Language file contains an non-string entry at \$language_data['KEYWORDS'][$key][$id]!"); - } elseif (!strlen($kw)) { - report_error(TYPE_ERROR, "Language file contains an empty string entry at \$language_data['KEYWORDS'][$key][$id]!"); - } elseif (preg_match('/^([\(\)\{\}\[\]\^=.,:;\-+\*\/%\$\"\'\?]|&[\w#]\w*;)+$/i', $kw)) { - report_error(TYPE_NOTICE, "Language file contains an keyword ('$kw') at \$language_data['KEYWORDS'][$key][$id] which seems to be better suited for the symbols section!"); - } - } - if(isset($language_data['CASE_SENSITIVE'][$key]) && !$language_data['CASE_SENSITIVE'][$key]) { - array_walk($keywords, 'dupfind_strtolower'); - } - if(count($keywords) != count(array_unique($keywords))) { - $kw_diffs = array_count_values($keywords); - foreach($kw_diffs as $kw => $kw_count) { - if($kw_count > 1) { - report_error(TYPE_WARNING, "Language file contains per-group duplicate keyword '$kw' in \$language_data['KEYWORDS'][$key]!"); - } - } - } - } - - $disallowed_before = "(?|^&"; - $disallowed_after = "(?![a-zA-Z0-9_\|%\\-&;"; - - foreach($language_data['KEYWORDS'] as $key => $keywords) { - foreach($language_data['KEYWORDS'] as $key2 => $keywords2) { - if($key2 <= $key) { - continue; - } - $kw_diffs = array_intersect($keywords, $keywords2); - foreach($kw_diffs as $kw) { - if(isset($language_data['PARSER_CONTROL']['KEYWORDS'])) { - //Check the precondition\post-cindition for the involved keyword groups - $g1_pre = $disallowed_before; - $g2_pre = $disallowed_before; - $g1_post = $disallowed_after; - $g2_post = $disallowed_after; - if(isset($language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'])) { - $g1_pre = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE']; - $g2_pre = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE']; - } - if(isset($language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'])) { - $g1_post = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER']; - $g2_post = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER']; - } - - if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_BEFORE'])) { - $g1_pre = $language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_BEFORE']; - } - if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_AFTER'])) { - $g1_post = $language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_AFTER']; - } - - if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_BEFORE'])) { - $g2_pre = $language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_BEFORE']; - } - if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_AFTER'])) { - $g2_post = $language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_AFTER']; - } - - if($g1_pre != $g2_pre || $g1_post != $g2_post) { - continue; - } - } - report_error(TYPE_WARNING, "Language file contains cross-group duplicate keyword '$kw' in \$language_data['KEYWORDS'][$key] and \$language_data['KEYWORDS'][$key2]!"); - } - } - } - foreach($language_data['CASE_SENSITIVE'] as $key => $keywords) { - if(!isset($language_data['KEYWORDS'][$key]) && $key != GESHI_COMMENTS) { - report_error(TYPE_WARNING, "Language file contains an superfluous \$language_data['CASE_SENSITIVE'] specification for non-existing keyword group $key!"); - } - } - foreach($language_data['URLS'] as $key => $keywords) { - if(!isset($language_data['KEYWORDS'][$key])) { - report_error(TYPE_WARNING, "Language file contains an superfluous \$language_data['URLS'] specification for non-existing keyword group $key!"); - } - } - foreach($language_data['STYLES']['KEYWORDS'] as $key => $keywords) { - if(!isset($language_data['KEYWORDS'][$key])) { - report_error(TYPE_WARNING, "Language file contains an superfluous \$language_data['STYLES']['KEYWORDS'] specification for non-existing keyword group $key!"); - } - } - - foreach($language_data['COMMENT_SINGLE'] as $ck => $cv) { - if(!is_int($ck)) { - report_error(TYPE_WARNING, "Language file contains an key '$ck' in \$language_data['COMMENT_SINGLE'] that is not integer!"); - } - if(!is_string($cv)) { - report_error(TYPE_WARNING, "Language file contains an non-string entry at \$language_data['COMMENT_SINGLE'][$ck]!"); - } - if(!isset($language_data['STYLES']['COMMENTS'][$ck])) { - report_error(TYPE_WARNING, "Language file contains no \$language_data['STYLES']['COMMENTS'] specification for comment group $ck!"); - } - } - if(isset($language_data['COMMENT_REGEXP'])) { - foreach($language_data['COMMENT_REGEXP'] as $ck => $cv) { - if(!is_int($ck)) { - report_error(TYPE_WARNING, "Language file contains an key '$ck' in \$language_data['COMMENT_REGEXP'] that is not integer!"); - } - if(!is_string($cv)) { - report_error(TYPE_WARNING, "Language file contains an non-string entry at \$language_data['COMMENT_REGEXP'][$ck]!"); - } - if(!isset($language_data['STYLES']['COMMENTS'][$ck])) { - report_error(TYPE_WARNING, "Language file contains no \$language_data['STYLES']['COMMENTS'] specification for comment group $ck!"); - } - } - } - foreach($language_data['STYLES']['COMMENTS'] as $ck => $cv) { - if($ck != 'MULTI' && !isset($language_data['COMMENT_SINGLE'][$ck]) && - !isset($language_data['COMMENT_REGEXP'][$ck])) { - report_error(TYPE_NOTICE, "Language file contains an superfluous \$language_data['STYLES']['COMMENTS'] specification for Single Line or Regular-Expression Comment key $ck!"); - } - } - if (isset($language_data['STYLES']['STRINGS']['HARD'])) { - if (empty($language_data['HARDQUOTE'])) { - report_error(TYPE_NOTICE, "Language file contains superfluous \$language_data['STYLES']['STRINGS'] specification for key 'HARD', but no 'HARDQUOTE's are defined!"); - } - unset($language_data['STYLES']['STRINGS']['HARD']); - } - foreach($language_data['STYLES']['STRINGS'] as $sk => $sv) { - if($sk && !isset($language_data['QUOTEMARKS'][$sk])) { - report_error(TYPE_NOTICE, "Language file contains an superfluous \$language_data['STYLES']['STRINGS'] specification for non-existing quotemark key $sk!"); - } - } - - foreach($language_data['REGEXPS'] as $rk => $rv) { - if(!is_int($rk)) { - report_error(TYPE_WARNING, "Language file contains an key '$rk' in \$language_data['REGEXPS'] that is not integer!"); - } - if(is_string($rv)) { - //Check for unmasked / in regular expressions ... - if(empty($rv)) { - report_error(TYPE_WARNING, "Language file contains an empty regular expression at \$language_data['REGEXPS'][$rk]!"); - } else { - if(preg_match("/(?)/s", $rv)) { - report_error(TYPE_WARNING, "Language file contains a regular expression with an unescaped match for a pipe character '|' which needs escaping as '<PIPE>' instead at \$language_data['REGEXPS'][$rk]!"); - } - } - } elseif(is_array($rv)) { - if(!isset($rv[GESHI_SEARCH])) { - report_error(TYPE_ERROR, "Language file contains no GESHI_SEARCH entry in extended regular expression at \$language_data['REGEXPS'][$rk]!"); - } elseif(!is_string($rv[GESHI_SEARCH])) { - report_error(TYPE_ERROR, "Language file contains a GESHI_SEARCH entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!"); - } else { - if(preg_match("/(?)/s", $rv[GESHI_SEARCH])) { - report_error(TYPE_WARNING, "Language file contains a regular expression with an unescaped match for a pipe character '|' which needs escaping as '<PIPE>' instead at \$language_data['REGEXPS'][$rk]!"); - } - } - if(!isset($rv[GESHI_REPLACE])) { - report_error(TYPE_WARNING, "Language file contains no GESHI_REPLACE entry in extended regular expression at \$language_data['REGEXPS'][$rk]!"); - } elseif(!is_string($rv[GESHI_REPLACE])) { - report_error(TYPE_ERROR, "Language file contains a GESHI_REPLACE entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!"); - } - if(!isset($rv[GESHI_MODIFIERS])) { - report_error(TYPE_WARNING, "Language file contains no GESHI_MODIFIERS entry in extended regular expression at \$language_data['REGEXPS'][$rk]!"); - } elseif(!is_string($rv[GESHI_MODIFIERS])) { - report_error(TYPE_ERROR, "Language file contains a GESHI_MODIFIERS entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!"); - } - if(!isset($rv[GESHI_BEFORE])) { - report_error(TYPE_WARNING, "Language file contains no GESHI_BEFORE entry in extended regular expression at \$language_data['REGEXPS'][$rk]!"); - } elseif(!is_string($rv[GESHI_BEFORE])) { - report_error(TYPE_ERROR, "Language file contains a GESHI_BEFORE entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!"); - } - if(!isset($rv[GESHI_AFTER])) { - report_error(TYPE_WARNING, "Language file contains no GESHI_AFTER entry in extended regular expression at \$language_data['REGEXPS'][$rk]!"); - } elseif(!is_string($rv[GESHI_AFTER])) { - report_error(TYPE_ERROR, "Language file contains a GESHI_AFTER entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!"); - } - } else { - report_error(TYPE_WARNING, "Language file contains an non-string and non-array entry at \$language_data['REGEXPS'][$rk]!"); - } - if(!isset($language_data['STYLES']['REGEXPS'][$rk])) { - report_error(TYPE_WARNING, "Language file contains no \$language_data['STYLES']['REGEXPS'] specification for regexp group $rk!"); - } - } - foreach($language_data['STYLES']['REGEXPS'] as $rk => $rv) { - if(!isset($language_data['REGEXPS'][$rk])) { - report_error(TYPE_NOTICE, "Language file contains an superfluous \$language_data['STYLES']['REGEXPS'] specification for regexp key $rk!"); - } - } - - - } - - output_error_cache(); - - flush(); - - if($error_abort) { - break; - } - } -} - -$time_end = explode(' ', microtime()); -$time_diff = $time_end[0] + $time_end[1] - $time_start[0] - $time_start[1]; - -if ( PHP_SAPI != 'cli' ) { -?>
        5. -
        - -

        Validation process completed in seconds.

        - - - - - - - -Validation process completed in seconds. - -GeSHi © 2004-2007 Nigel McNie, 2007-2012 Benny Baumann, released under the GNU GPL - - \ No newline at end of file diff --git a/vendor/easybook/geshi/contrib/langwiz.php b/vendor/easybook/geshi/contrib/langwiz.php deleted file mode 100644 index 5bce3ad..0000000 --- a/vendor/easybook/geshi/contrib/langwiz.php +++ /dev/null @@ -1,1158 +0,0 @@ -Failed

        "; - echo "
          \n"; - foreach($error_cache as $error_msg) { - echo "
        1. "; - switch($error_msg['t']) { - case TYPE_NOTICE: - echo "NOTICE:"; - break; - case TYPE_WARNING: - echo "WARNING:"; - break; - case TYPE_ERROR: - echo "ERROR:"; - break; - } - echo " " . $error_msg['m'] . "
        2. "; - } - echo "
        \n"; - } else { - echo "OK
        "; - } - echo "\n"; - - $error_cache = array(); -} - -function report_error($type, $message) { - global $error_cache, $error_abort; - - $error_cache[] = array('t' => $type, 'm' => $message); - if(TYPE_ERROR == $type) { - $error_abort = true; - } -} - -?> - - - - GeSHi Language File Generator Script - - - -

        GeSHi Language File Generator Script

        -

        To use this script, make sure that geshi.php is in the -parent directory or in your include_path, and that the language files are in a -subdirectory of GeSHi's directory called geshi/.

        -

        If not already done, select a language file below that will be used as -base for the language file to generate or create a blank one. Following this -you can do whatever you like to edit your language file. But note that not all -features are made available through this script.

        - -

        Checking GeSHi installation ... 'example', - 'name' => 'Example' - ); - -$ai = array( - 'name' => 'Benny Baumann', - 'email' => 'BenBE@geshi.org', - 'web' => 'http://qbnz.com/highlighter/' - ); - -$ld = array( - 'cmt' => array( - 'sl' => array( - 1 => array( - 'start' => '//', - 'style' => 'font-style: italic; color: #666666;' - ), - 2 => array( - 'start' => '#', - 'style' => 'font-style: italic; color: #666666;' - ) - ), - 'ml' => array( - 1 => array( - 'start' => '/*', - 'end' => '*/', - 'style' => 'font-style: italic; color: #666666;' - ), - 2 => array( - 'start' => '/**', - 'end' => '*/', - 'style' => 'font-style: italic; color: #006600;' - ) - ), - 'rxc' => array( - 1 => array( - 'rx' => '/Hello RegExp/', - 'style' => 'font-style: italic; color: #666666;' - ) - ) - ), - 'str' => array( - 'qm' => array( - 1 => array( - 'delim' => "'", - 'style' => 'color: #0000FF;' - ), - 2 => array( - 'delim' => """, - 'style' => 'color: #0000FF;' - ) - ), - 'ec' => array( - 'char' => '\\', - 'style' => 'font-weight: bold; color: #000080;' - ), - 'erx' => array( - 1 => array( - 'rx' => '/\{\\\\$\w+\}/', - 'style' => 'font-weight: bold; color: #008080;' - ), - 2 => array( - 'rx'=> '/\{\\\\$\w+\}/', - 'style' => 'font-weight: bold; color: #008080;' - ) - ) - ), - 'kw_case' => 'GESHI_CAPS_NO_CHANGE', - 'kw' => array( - 1 => array( - 'list' => '', - 'case' => '0', - 'style' => 'color: #0000FF; font-weight: bold;', - 'docs' => '' - ) - ), - 'sy' => array( - 0 => array( - 'list' => '', - 'style' => 'color: #0000FF; font-weight: bold;' - ) - ) - ); - -$kw_case_sel = array( - 'GESHI_CAPS_NO_CHANGE' => '', - 'GESHI_CAPS_UPPER' => '', - 'GESHI_CAPS_LOWER' => '' - ); - -$kw_cases_sel = array( - 1 => array( - 0 => '', - 1 => '' - ) - ); -// --- empty variables for values of $_POST - end --- - -echo "

        ";
        -//var_dump($languages);
        -
        -foreach($post_var_names as $varName) { // export wanted variables of $_POST array...
        -    if(array_key_exists($varName, $_POST)) {
        -      $$varName = htmlspecialchars_deep($_POST[$varName]);
        -    }
        -}
        -
        -// determine the selected kw_case...
        -$kw_case_sel[$ld['kw_case']] = ' selected="selected"';
        -
        -// determine the selected kw_cases...
        -for($i = 1; $i <= count($kw_cases_sel); $i += 1) {
        -    $kw_cases_sel[$i][(int) $ld['kw'][$i]['case']] = ' selected="selected"';
        -}
        -
        -$lang = validate_lang();
        -var_dump($lang);
        -echo "
        "; - -?> - -
        -
        - Generic Information - - - - - - - - - - - - -
        - - - -
        - - - -
        -
        - -
        - Author - - - - - - - - - - - - - - - - -
        - - - -
        - - - -
        - - - -
        -
        - -
        - Comments - -
        - Single Line - -
        - Comment Group 1 - - - - - - - - - - - -
        - - - -
        - - - -
        -
        - -
        - Comment Group 2 - - - - - - - - - - - -
        - - - -
        - - - -
        -
        -
        - -
        - Multiple Lines - -
        - Comment Group 1 - - - - - - - - - - - - - - - - -
        - - - -
        - - - -
        - - - -
        -
        - -
        - Comment Group 2 - - - - - - - - - - - - - - - - -
        - - - -
        - - - -
        - - - -
        -
        -
        - -
        - Regular Expressions - -
        - Comment Group 1 - - - - - - - - - - - -
        - - - -
        - - - -
        -
        -
        -
        - -
        - Strings - -
        - String \ Quotes (delimiters, parsed) - -
        - Quotemark Group 1 - - - - - - - - - - - -
        - - - -
        - - - -
        -
        -
        - Quotemark Group 2 - - - - - - - - - - - -
        - - - -
        - - - -
        -
        - - -
        - -
        - Escape Sequences - -
        - Generic Escape Char - - - - - - - - - - - -
        - - - -
        - - - -
        -
        - -
        - Escape Regexp Group 1 - - - - - - - - - - - -
        - - - -
        - - - -
        -
        - -
        - Escape Regexp Group 2 - - - - - - - - - - - -
        - - - -
        - - - -
        -
        -
        -
        - -
        - Keywords - -
        - Case of Keywords - - - - - - -
        - - - -
        -
        - -
        - Keyword Group 1 - - - - - - - - - - - - - - - - - - - - - -
        - - - -
        - - - -
        - - - -
        - - - -
        -
        - -
        - - -
        - Symbols - -
        - Symbols Group 1 - - - - - - - - - - - -
        - - - -
        - - - -
        -
        - -
        - - -
        -
        - Language File Source -set_source($langfile_source); -echo $G->parse_code(); -unset($G); -?> -
        -
        - - -
        - -

        Operation completed in seconds.

        - - - - - "\\\"", - "\\" => "\\\\", - "\0" => "\\0", - "\n" => "\\n", - "\r" => "\\r", - "\t" => "\\t", - "\$" => "\\\$" - ) - ) . '"'; - } else { - return "'" . strtr($str, - array( - "'" => "\\'", - "\\" => "\\\\" - ) - ) . "'"; - } -} - -function validate_lang(){ - $ai = array( - 'name' => 'Benny Baumann', - 'email' => 'BenBE@geshi.org', - 'web' => 'http://qbnz.com/highlighter/' - ); - - $li = array( - 'file' => 'example', - 'desc' => 'Example' - ); - - if(isset($_POST['ld'])) { - $ld = $_POST['ld']; - } else { - $ld = array( - 'cmt' => array( - 'sl' => array( - 1 => array( - 'start' => '//', - 'style' => 'test' - ) - ), - 'ml' => array( - 1 => array( - 'start' => '/*', - 'end' => '*/', - 'style' => 'font-style: italic; color: #666666;' - ) - ), - 'rxc' => array( - 1 => array( - 'rx' => '/Hello/', - 'style' => 'color: #00000' - ) - ) - ), - 'str' => array( - 'qm' => array(), - 'ec' => array( - 'char' => '' - ), - 'erx' => array() - ), - 'kw' => array(), - 'kw_case' => 'GESHI_CAPS_NO_CHANGE', - 'sy' => array() - ); - } - - return array('ai' => $ai, 'li' => $li, 'ld' => $ld); -} - -function gen_langfile($lang){ - $langfile = $lang['li']['file']; - $langdesc = $lang['li']['desc']; - - $langauthor_name = $lang['ai']['name']; - $langauthor_email = $lang['ai']['email']; - $langauthor_web = $lang['ai']['web']; - - $langversion = GESHI_VERSION; - - $langdate = date('Y/m/d'); - $langyear = date('Y'); - - $i = ' '; - $i = array('', $i, $i.$i, $i.$i.$i); - - $src = << ".str_to_phpstring($langdesc).",\n"; - - //Comments - $src .= $i[1] . "'COMMENT_SINGLE' => array(\n"; - foreach($lang['ld']['cmt']['sl'] as $idx_cmt_sl => $tmp_cmt_sl) { - $src .= $i[2] . ((int)$idx_cmt_sl). " => ". str_to_phpstring($tmp_cmt_sl['start']) . ",\n"; - } - $src .= $i[2] . "),\n"; - $src .= $i[1] . "'COMMENT_MULTI' => array(\n"; - foreach($lang['ld']['cmt']['ml'] as $tmp_cmt_ml) { - $src .= $i[2] . str_to_phpstring($tmp_cmt_ml['start']). " => ". str_to_phpstring($tmp_cmt_ml['end']) . ",\n"; - } - $src .= $i[2] . "),\n"; - $src .= $i[1] . "'COMMENT_REGEXP' => array(\n"; - foreach($lang['ld']['cmt']['rxc'] as $idx_cmt_rxc => $tmp_cmt_rxc) { - $src .= $i[2] . ((int)$idx_cmt_rxc). " => ". str_to_phpstring($tmp_cmt_rxc['rx']) . ",\n"; - } - $src .= $i[2] . "),\n"; - - //Case Keywords - $src .= $i[1] . "'CASE_KEYWORDS' => " . $lang['ld']['kw_case'] . ",\n"; - - //Quotes \ Strings - $src .= $i[1] . "'QUOTEMARKS' => array(\n"; - foreach($lang['ld']['str']['qm'] as $idx_str_qm => $tmp_str_qm) { - $src .= $i[2] . ((int)$idx_str_qm). " => ". str_to_phpstring($tmp_str_qm['delim']) . ",\n"; - } - $src .= $i[2] . "),\n"; - $src .= $i[1] . "'ESCAPE_CHAR' => " . str_to_phpstring($lang['ld']['str']['ec']['char']) . ",\n"; - $src .= $i[1] . "'ESCAPE_REGEXP' => array(\n"; - foreach($lang['ld']['str']['erx'] as $idx_str_erx => $tmp_str_erx) { - $src .= $i[2] . ((int)$idx_str_erx). " => ". str_to_phpstring($tmp_str_erx['rx']) . ",\n"; - } - $src .= $i[2] . "),\n"; - - //HardQuotes - $src .= $i[1] . "'HARDQUOTE' => array(\n"; - $src .= $i[2] . "),\n"; - $src .= $i[1] . "'HARDESCAPE' => array(\n"; - $src .= $i[2] . "),\n"; - $src .= $i[1] . "'HARDCHAR' => '',\n"; - - //Numbers - $src .= $i[1] . "'NUMBERS' =>\n"; - $src .= $i[2] . "GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |\n"; - $src .= $i[2] . "GESHI_NUMBER_FLT_SCI_ZERO,\n"; - - //Keywords - $src .= $i[1] . "'KEYWRODS' => array(\n"; - foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) { - $src .= $i[2] . ((int)$idx_kw) . " => array(\n"; - if(!is_array($tmp_kw['list'])) { - $tmp_kw['list'] = explode("\n", $tmp_kw['list']); - } - $tmp_kw['list'] = array_map('trim', $tmp_kw['list']); - sort($tmp_kw['list']); - $kw_esc = array_map('str_to_phpstring', $tmp_kw['list']); - $kw_nl = true; - $kw_pos = 0; - foreach($kw_esc as $kw_data) { - if((strlen($kw_data) + $kw_pos > 79) && $kw_pos > strlen($i[3])) { - $src .= "\n"; - $kw_nl = true; - $kw_pos = 0; - } - if($kw_nl) { - $src .= $i[3]; - $kw_pos += strlen($i[3]); - $kw_nl = false; - } - $src .= $kw_data . ', '; - $kw_pos += strlen($kw_data) + 2; - } - $src .= "\n"; - $src .= $i[3] . "),\n"; - } - $src .= $i[2] . "),\n"; - - //Case Sensitivity - $src .= $i[1] . "'CASE_SENSITIVE' => array(\n"; - foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) { - $src .= $i[2] . ((int)$idx_kw) . " => " . ($tmp_kw['case'] ? 'true' : 'false') . ",\n"; - } - $src .= $i[2] . "),\n"; - - //Symbols - $src .= $i[1] . "'SYMBOLS' => array(\n"; - foreach($lang['ld']['sy'] as $idx_kw => $tmp_kw) { - $src .= $i[2] . ((int)$idx_kw) . " => array(\n"; - $tmp_kw['list'] = (array)$tmp_kw['list']; - sort($tmp_kw['list']); - $kw_esc = array_map('str_to_phpstring', $tmp_kw['list']); - $kw_nl = true; - $kw_pos = strlen($i[3]); - foreach($kw_esc as $kw_data) { - if((strlen($kw_data) + $kw_pos > 79) && $kw_pos > strlen($i[3])) { - $src .= "\n"; - $kw_nl = true; - $kw_pos = 0; - } - if($kw_nl) { - $src .= $i[3]; - $kw_pos += strlen($i[3]); - $kw_nl = false; - } - $src .= $kw_data . ', '; - $kw_pos += strlen($kw_data) + 2; - } - $src .= "\n"; - $src .= $i[3] . "),\n"; - } - $src .= $i[2] . "),\n"; - - //Styles \ CSS - $src .= $i[1] . "'STYLES' => array(\n"; - $src .= $i[2] . "'KEYWRODS' => array(\n"; - foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) { - $src .= $i[3] . ((int)$idx_kw) . " => " . str_to_phpstring($tmp_kw['style']) . ",\n"; - } - $src .= $i[3] . "),\n"; - $src .= $i[2] . "'COMMENTS' => array(\n"; - foreach($lang['ld']['cmt']['sl'] as $idx_cmt_sl => $tmp_cmt_sl) { - $src .= $i[3] . ((int)$idx_cmt_sl) . " => " . str_to_phpstring($tmp_cmt_sl['style']) . ",\n"; - } - foreach($lang['ld']['cmt']['rxc'] as $idx_cmt_rxc => $tmp_cmt_rxc) { - $src .= $i[3] . ((int)$idx_cmt_rxc) . " => " . str_to_phpstring($tmp_cmt_rxc['style']) . ",\n"; - } - $src .= $i[3] . "'MULTI' => " . str_to_phpstring($lang['ld']['cmt']['ml'][1]['style']) . "\n"; - $src .= $i[3] . "),\n"; - $src .= $i[2] . "'ESCAPE_CHAR' => array(\n"; - foreach($lang['ld']['str']['erx'] as $idx_str_erx => $tmp_str_erx) { - $src .= $i[3] . ((int)$idx_str_erx). " => ". str_to_phpstring($tmp_str_erx['style']) . ",\n"; - } - // 'HARD' => 'color: #000099; font-weight: bold;' - $src .= $i[3] . "),\n"; - $src .= $i[2] . "'BRACKETS' => array(\n"; - $src .= $i[3] . "),\n"; - $src .= $i[2] . "'STRINGS' => array(\n"; - foreach($lang['ld']['str']['qm'] as $idx_str_qm => $tmp_str_qm) { - $src .= $i[3] . ((int)$idx_str_qm). " => ". str_to_phpstring($tmp_str_qm['style']) . ",\n"; - } - // 'HARD' => 'color: #0000ff;' - $src .= $i[3] . "),\n"; - $src .= $i[2] . "'NUMBERS' => array(\n"; - $src .= $i[3] . "),\n"; - $src .= $i[2] . "'METHODS' => array(\n"; - $src .= $i[3] . "),\n"; - $src .= $i[2] . "'SYMBOLS' => array(\n"; - foreach($lang['ld']['sy'] as $idx_kw => $tmp_kw) { - $src .= $i[3] . ((int)$idx_kw) . " => " . str_to_phpstring($tmp_kw['style']) . ",\n"; - } - $src .= $i[3] . "),\n"; - $src .= $i[2] . "'REGEXPS' => array(\n"; - $src .= $i[3] . "),\n"; - $src .= $i[2] . "'SCRIPT' => array(\n"; - $src .= $i[3] . "),\n"; - $src .= $i[2] . "),\n"; - - //Keyword Documentation - $src .= $i[1] . "'URLS' => array(\n"; - foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) { - $src .= $i[2] . ((int)$idx_kw) . " => " . str_to_phpstring($tmp_kw['docs']) . ",\n"; - } - $src .= $i[2] . "),\n"; - $src .= $i[1] . "'OOLANG' => false,\n"; - $src .= $i[1] . "'OBJECT_SPLITTERS' => array(\n"; - $src .= $i[2] . "),\n"; - $src .= $i[1] . "'REGEXPS' => array(\n"; - $src .= $i[2] . "),\n"; - $src .= $i[1] . "'STRICT_MODE_APPLIES' => GESHI_MAYBE,\n"; - $src .= $i[1] . "'SCRIPT_DELIMITERS' => array(\n"; - $src .= $i[2] . "),\n"; - $src .= $i[1] . "'HIGHLIGHT_STRICT_BLOCK' => array(\n"; - $src .= $i[2] . "),\n"; - $src .= $i[1] . "'TAB_WIDTH' => 4,\n"; - - $src .= << -GESHI_LANGFILE_FOOTER; - - //Reduce source ... - $src = preg_replace('/array\(\s*\)/s', 'array()', $src); - $src = preg_replace('/\,(\s*\))/s', '\1', $src); - $src = preg_replace('/\s+$/m', '', $src); - - return $src; -} - -// vim: shiftwidth=4 softtabstop=4 -?> diff --git a/vendor/easybook/geshi/docs/BUGS b/vendor/easybook/geshi/docs/BUGS deleted file mode 100644 index 8a5cf04..0000000 --- a/vendor/easybook/geshi/docs/BUGS +++ /dev/null @@ -1,29 +0,0 @@ - - BUGS - list of known bugs in GeSHi - Version 1.0.8 - -- Number highlighting is quite poor [possibly better now] -- I'm not happy with URLS - there still could be extra bugs, and it's rather unflexible - (see TODO for a possible fix) -- "Important" sections for some reason seem to have their spans added after every - newline up until the next lexic, instead of stopping at the part. In fact, - context sensitiveness is quite poor... -- Using the extra line number highlighting feature without actually using line numbers - will result in malformed XHTML (not sure about this one though...) -- Slow!!! Especially for source with lots of strings in it. GeSHi will work acceptably - for sourcecode under 5K (for simple language files like SQL, a 100K file can be - highlighted in just 6 seconds), but above about 25K things get a little slow... If - you're using this as part of some larger software, you may want to think about - making some sort of "cache" effect to speed things up and reduce server load. -- The result is built by string replacement instead of by building another string based - on the source, that would be much safer. The focus of releases beyond 1.0.7 will be on - changing this behaviour, which may well fix some of the other bugs mentioned above. -- As of 1.0.7.1, dots (.) are allowed before keywords. This may change highlighting of some - things slightly, if you notice anything odd about the highlighting then please report - it to me. -- Perl/Javascript /.../ regex syntax is only supported basically and there's no - guarantee it is working all the time. -- The
         header output is not XHTML compliant. Please use the 
        header instead. - -Send any bug reports to BenBE@omorphia.de, or submit them via the bug tracker at -sourceforge (http://sourceforge.net/tracker/?group_id=114997&atid=670231) diff --git a/vendor/easybook/geshi/docs/CHANGES b/vendor/easybook/geshi/docs/CHANGES deleted file mode 100644 index ee510fe..0000000 --- a/vendor/easybook/geshi/docs/CHANGES +++ /dev/null @@ -1,923 +0,0 @@ - - CHANGES - Changelog for GeSHi (geshi.php only) - -Changes to the code are listed under the version they occured in, with who suggested -it by each one (if there's nobody listed as suggesting it I dreamed it up :)). Users -who suggested an idea often also provided the code that was used as a basis for the -changes - thanks to all who suggested these ideas and gave me the code to show me how! - -Language files listed under each version were made by the author beside them, and then -modified by me for consistency/bug fixing. - -Please send any bug reports to BenBE@omorphia.de, or use the bug report tracker -at sourceforge (http://sourceforge.net/tracker/?group_id=114997&atid=670231) - -Version 1.0.8.11 - - Added language files - * ARM (Marat Dukhan) - * Asymptote (Manuel Yguel) - * DCL (Petr Hendl) - * DCPU-16 (Benny Baumann) - * FreeSWITCH (James Rose) - * Haxe (Andy Li, John Liao) - * LDIF (Bruno Harbulot) - * Nagios (Albéric de Pertat) - * Octave (Carnë Draug, Juan Pablo Carbajal) - * ParaSail (sttaft) - * PARI/GP (Charles R Greathouse IV) - * Python for S60 (Sohan Basak) - * Rexx (Jon Wolfers) - * SPARK (Phil Thornley) - * SPARQL (Karima Rafes) - * StoneScript (Archimmersion) - * UPC (Viraj Sinha) - * Urbi (Alexandre Morgand) - * Vedit (Pauli Lindgren) - - Updated aliasd.php contrib script (SF#3073275, count) - - Fallback to "text" when extension is unknown (SF#3514714, murkymark, BenBE) - - detect extensions case-insensitive (SF#3514714, murkymark, BenBE) - - Fixed two bugs within contrib scripts included with each release (BenBE) - - Improvements to language files (BenBE) - * Symbol and char literal handling for Scala (Paul Butcher, BenBE) - * Multiline comments of F# weren't actually multiline (BenBE) - * Support for IPv6 addresses in RFC822 messages (BenBE) - * Properly handle retrieving names from language files (MikeSee, BenBE) - * Changes for improved highlighting of signle line comments and end-of-code indicators - * Missing keywords and improved highlighting of comments - * Problem with DOS/Batch highlighting breaking out at variables (BenBE) - * Addition of MMX/SSE/x86-64 registers and MMX/SSE instructions for - ASM language file(up to 4.2) (Dennis Yurichev) - * Further improvements to ASM language file to introduce all latest - already documented x86 architecture instructions (Marat Dukhan) - * Fixed links for R/S+ language file (Fernando H.F.P. da Rosa) - * Fix a problem with Delphi/Pascal regarding hex numbers/chars (BenBE) - * Fixed a typo and missing keywords for HTML4 and HTML5 (SF#3365452, BenBE) - * Fixed a typo in Modula-3 language file (SF#3358216, BenBE) - * Added missing keywords for MySQL (SF#3290998, ct-bob, BenBE) - * Added missing keywords for Pascal (SF#3176749, BenBE) - * Properly detect the keyword that is to be linked (BenBE) - * Updated VHDL language file (Kevin Thibedeau) - * Added missing keyword for Verilog (SF#3557903, BenBE) - * Fixed typo in Haskell causing a keyword to be missing (SF#3529439, BenBE) - * Fixed Long String handling for Lua (SF#3541510, Tim Starling) - * Updated JavaDoc links for Java language files (SF#3538552, jeneag, BenBE) - * CSS keywords incorrectly highlighted as part of identifiers (SF#3554101, BenBE) - * CSS3 keywords missing from highlighting (SF#3525084, vlaKoff, BenBE) - * Make variable handling compatible to PHP (SF#3489142, BenBE) - * Fixed obsolete MySQL documentation links (SF#3441642, BenBE) - * Add mising keywords for T-SQL (SF#3435026, BenBE) - * Fix discarded text when highlighting TypoScript (SF#3160238, BenBE) -Version 1.0.8.10 - - Added language files - * BASCOM AVR (Michal Goralczyk) - * C: Loadrunner dialect (Stuart Moncrieff) - * CoffeeScript (Trevor Burnham) - * EPC (Thorsten Muehlfelder) - * Euphoria (Nicholas Koceja) - * Falcon (billykater) - * HTML5 (Robert Lidberg) - * LLVM (Azriel Fasten) - * PL/I (Robert Prins) - * ProFTPd (Benny Baumann) - * PyCon (Benny Baumann) - * UnrealScript (pospi) - * YAML (Josh Ventura) - - Small bugfix in LangCheck when looking for language files - - Added '-' to list of RX chars that require explicit escaping (SF#3056454, BenBE) - - Minor changes to boundary checks (SF#3077256, BenBE) - - Improvements to language files (BenBE) - * Major rework of the ALGOL68 language file (Neville Dempsey) - * LangCheck warnings from GO language file (BenBE) - * Some additions to the Objeck language file (Randy Hollines) - * Properly highlight infinity as numbers for J (Ric Sherlock) - * Improved GDB Backtrace language file (Milian Wolff) - * Updated Liberty BASIC language file (Chris Iverson) - * Fixed a small issue with detection of division vs. regular expressions - for ActionScript 3 and JavaScript (Kevin Day) - * Fixed Escape handling for CSS (SF#3080513, yecril71pl, BenBE) - * Additional comment styles for SAS (SF#3024708, ahnolds, BenBE) - * Updated keyword list for TeraTerm (Boris Maisuradze) - * Incorrect handling of /**/ comments in Javascript (BenBE) - * Support for mod_upload_progress in Apache Config files (BenBE) - * Prefix operator handling in F# was broken (BenBE) - * CDATA handling for html4strict (BenBE) - * Common subcommands for Apache, APT, CVS, Git, SVN and YUM for Bash (BenBE) - * Limited support for prompt detection in single line Bash snippets (BenBE) - * Added functions of the C standard library (BenBE) - * Rework of Lua to use GeSHi's features better (BenBE) - * Language file improvements for Python (Zbyszek Szmek) - * Fixed documentation links for Groovy (SF#3152356, lifeisfoo) - * Fixed incorrect highlighting of certain keywords in Erlang (SF#3138853, BenBE) - * Escape chars in C++/C++Qt handled incorrectly (SF#3122706, C. Pötsch) - * Empty parameters of LaTeX commands tipped the highlighting off (SF#3098329, James Oldfield, BenBE) - * Additional Keywords and minor tweaks to Logtalk (Paulo Moura) -Version 1.0.8.9 - - Added language files - * Algol68 (Neville Dempsey) - * E (Kevin Reid) - * FormulaOne (Juro Bystricky) - * Go (Markus Jarderot) - * Liberty BASIC (Chris Iverson) - * MOS 6502/6510 Assemblers (Warren Willmey) - * Motorola 68k assembler (Warren Willmey) - * Objeck Programming Language (Randy Hollines) - * ZXBasic (Jose Rodriguez) - - Added support for $-prefixed hex numbers and @-prefixed octal numbers - - Added Parser Control for languages to tell when numbers are present - inside of non-string parts - - Introduced querying supported/known languages directly - - Introduced querying full language names without loading the language file - - Improvements to language files (BenBE) - * Added loads of keywords for generic SQL highlighting (Jürgen Thomas) -Version 1.0.8.8 - - Added language files - * ChaiScript (Jason Turner & Jonathan Turner) - * Genie (Nicolas Joseph) - * GwBasic (José Gabriel Moya Yangüela) - * HicEst (Georg Petrich) - * Icon (Matt Oates) - * MagikSF (Sjoerd van Leent) - * Modula 2 (Benjamin Kowarsch) - * Oz (Wolfgang Meyer) - * PCRE (BenBE) - * PostgreSQL (Christophe Chauvet) - * q/kdb+ (Ian Roddis) - * RPM Specification Files (Paul Grinberg) - * Unicon (Matt Oates) - * Vala (Nicolas Joseph) - * XBasic (José Gabriel Moya Yangüela) - - Improvements to language files (BenBE) - * Major reworks and improvements to OCaml language file (BenBE) - * Removed duplicate entries from keyword groups of VIM language file (Segaja) - * Properly protect Regexps against GeSHi Black Magic in Matlab (BenBE) - * Added support for Block Comments in PowerShell (BenBE) - * Added some keywords for VB; split into multiple groups (leejkennedy, BenBE) - * Basic Heredoc Support for Ruby (BenBE) -Version 1.0.8.7 - - Added language files - * Autoconf (Mihai Vasilian) - * ECMAScript (Michel Mariani) - * J (Ric Sherlock) - * OpenBSD Packet Filter (David Berard) - * Oxygene / Delphi Prism (Carlo Kok) - - Minor change in INT_BASIC number regexp to support '..' range operator - as to be found in most Pascal-like languages (BenBE) - - Fixed an issue with Hardquotes for empty strings (like '' in Delphi) (BenBE) - - Introduced a fix for improved performance when matching numbers (BenBE) - - Improvements to language files (BenBE) - * Fixed broken links in Prolog language file (BenBE) - * Fixed keywords in generics expressions in Java5 (BenBE) - * Added support for import static in Java5 (BenBE) - * Added Standard Integer Types for C and c++ (BenBE) - * Fixed some regexp issues in Erlang (BenBE) - * Added some missing keywords for Clojure (BenBE) - * Added some missing keywords for Lisp (BenBE) - * Fixed a problem with variable names in Prolog (BenBE) - * Some color changes for AutoIt (BenBE) - * Added support for basic include directive processing for AutoIt (BenBE) - * Added support for ::-style labels as comments (SF#2947393, BenBE) - * Removed backslash as Escape Char in T-SQL (SF#2939199, Bruno Braga) - * Added Nested Comments Support for Haskell (SF#2922317, BenBE) - * Fixed Comments for VIM, added some keywords, proposed porting of - Regular Expression markup from Perl (SF#2818047, psycojoker, BenBE) - * Fixed warnings for Language Check of Tcl (BenBE) -Version 1.0.8.6 - - Added language files - * Clojure (Jess Johnson) - * Cuesheet (Benny Baumann) - * F# (Julien Ortin) - * GAMBAS (Jesus Guardon) - * Logtalk (Paulo Moura) - * MapBasic (Tomasz Berus) - * NewLisp (cormullion) - * Perl 6 (Kodi Arfer) - * Pike (Rick E.) - * SystemVerilog (Sean O'Boyle) - - Reworked parts of the number support (BenBE) - - Improvements to language files (BenBE) - * Fixed broken links in R/S+ language file (BenBE) - * Fixed an issue with if= argument for dd command (BenBE) - * T-SQL should use GESHI_CAPS_NO_CHANGE for keywords (BenBE) - * Fixed missed shorthand arg references in Bash (BenBE) - * Fixed first line not getting highlighted in diff language (BenBE) - * Added some keywords for csharp (RC) -Version 1.0.8.5 - - Added language files - * AutoHotkey (Naveen Garg) - * Awk (George Pollard) - * GADV 4CS (Jason Curl) - * jQuery (Rob Loach) - * PowerBuilder (Doug Porter) - * PureBasic (Gustavo Julio Fiorenza) - * R / S+ (Ron Fredericks, Benilton Carvalho) - - Fixed legitimate numbers sometimes missing from highlighting (BenBE) - - Fixed a problem with URLs allowing to break highlighting (BenBE) - - Allowed for String and Number Styles to be set by the API (BenBE) - - Produce valid CSS when languages start with underscore (BenBE) - - Duplicate newlines with PRE_TABLE-Header but w/o linenumbers (SF#2838958, BenBE) - - Improvements to language files (BenBE) - * Fixed case-insensitively duplicate keywords (BenBE) - * DCS language file contained HARDQUOTE section but no hardquotes (BenBE) - * Some additional headers for Email\mbox highlighting (BenBE) - * Added some more Keywords for robots.txt highlighting (BenBE) - * Added Git commands for bash, ifup/ifdown (BenBE) - * Added support for C# and VB.net delegates (SF#2832253, BenBE) - * Added support for line numbers, file handles and hex\octal numbers for QBasic (BenBE) -Version 1.0.8.4 - - Added language files - * BibTeX (Quinn Taylor) - * CMake (Daniel Nelson) - * Erlang (Benny Baumann, Dan Forest-Barbier, Uwe Dauernheim) - * FO (abas-ERP) (Tan-Vinh Nguyen) - * Property Files (Edy Hinzen) - * Whois (RPSL format) entries (Benny Baumann) - - Changed INT_BASIC number format to allow numbers followed . at EOL (BenBE) - - Higher prority for keywords over regexps (BenBE) - - Added missing set_script_style API function (BenBE) - - Fixed missing check for comment_regexp preference in HardQuotes (BenBE) - - Fixed a problem with Strict Block Detection if the Strict Block Regexp - requires matching groups for itself (BenBE) - - Improvements to language files (BenBE) - * Added PCRE regexp support for Action script (SF#2655644, BenBE) - * Removed some superfluous keywords from ABAP (BenBE) - * Removed duplicate keywords for Progress (BenBE) - * Removed duplicate keywords for T-SQL (BenBE) - * Linking for PowerShell special variables revised (BenBE) - * Fixed linking in ColdFusion (BenBE) - * Fixed linking in LaTeX (BenBE) - * Fixed linking in mIRC Scripting language (BenBE) - * Fixed escape char regexp for C-style languages (BenBE) - * Fixed @""-string handling for C# (SF#2789371, BenBE) - * Fixed Strict Block Detection for PHP blocks (BenBE) - * Changed allowed chars around Powershell operators (SF#2688863, BenBE) - * Minor reordering inside of PHP language file (BenBE) - * Added missing keywords for ActionScript3 language file (SF#2795005, BenBE) - * Added .xrc file extension for XML highlighting (BenBE) -Version 1.0.8.3 - - Added language files - * DCS (Stelio Passaris) - * Locomotive Basic (Nacho Cabanes) - * LSL2 (Linden Scripting Language) (William Fry) - * Modula-3 (Martin Bishop) - * Oberon-2 (Mike Mol) - * Rebol (Lecanu Guillaume) - - Fixed a problem where HardEscapes weren't working when no escape char was given (BenBE) - - Added a PARSER_CONTROL setting to treat whitespace inside of keywords in - the language file as "any whitespace" in the source (i.e. "CREATE TABLE" - in SQL will match "CREATE\s+TABLE" instead of literally matching) (BenBE) - - Added a possibility to allow setting the style for escape characters (BenBE) - - Improvements to language files (BenBE) - * Added some missing Perl keywords and obscure default variables (BenBE) - * Allow for escaped colons to appear in CSS names (BenBE, simon) - * Added multiline continuation suppoert of preprocessor defines for - C, C for Mac, C++ and CC++ with Qt support (BenBE) - * keywords for C-based languages are case-sensitive (BenBE) - * Broken AutoIt highlighting (BenBE) - * Problem with escaped backslash in PHP and D (BenBE) - * Added some more functions for PHP (BenBE) - * Some changes for AppleScript (Stefan Klieme) - * Forbid highlighting keywords followed by / in bash (BenBE) - * Updated the LaTeX file to link some keywords (BenBE) - * Additional text rendered when matching special variables for PowerShell (BenBE) - * Added some more keywords for ABAP (BenBE, Sandra Rossi, Jacob Laursen) -Version 1.0.8.2 - - Added language files - * Brainfuck \ Brainfork (Benny Baumann) - * HQ9+ (Benny Baumann) - * INTERCAL (Benny Baumann) - * LOLcode (Benny Baumann) - * LScript (Beau McGuigan) - * Pixel Bender (Richard Olsson) - * ProvideX (Jeff Wilder) - * VIM Script (Swaroop C H) - * Visual Prolog (Thomas Linder Puls) - * Whitespace (Benny Baumann) - - Changed priority for COMMENT_REGEXP compared to String highlighting (BenBE) - - Fixed correct escaping of spaces inside of URLs (BenBE) - - Updated the list of common file extensions (BenBE) - - Updated the language file check script in contrib/ (BenBE) - - Fixed a problem with link targets resulting in unclickable links (SF#2379120, BenBE) - - Fixed an undefined variable issue in langcheck.php (BenBE) - - Improvements to language files (BenBE) - * eMail Header highlighting now uses the correct delimiters for keywords (BenBE) - * eMail (RFC822\mbox) highlighting now highlights IPs, MIME types and - subfield assignments correctly (BenBE) - * Minor style changes in COBOL to improve loading performance (BenBE) - * Added some missing keywords for D (BenBE) - * Removed duplicate keywords from Progres, SAS and TSQL (BenBE) - * Fixed Heredoc Syntax for Bash (SF#2185319, BenBE) - * Moved symbol-lookalike sequences from keyword groups to separate symbol group - for languages asp, klonec, klonecpp, php, php-brief (BenBE) - * Fixed a lot of duplicate keyword warnings (BenBE) - * Added missing keywords to the Python language file, - introducing support for Python 3.0. (SF#2441839, milian) - * Updated documentation links for TypoScript (SF#2014276, BenBE) - * Fixed a problem with tag and attribute names in XML highlighting (SF#2276119, BenBE) - * Improved MySQL language file (BenBE, JavaWoman) - * Some commentss accidentially mistaken for DocComments (SF#2454897, BenBE) - * Added improved Escape Char handling for c, c_mac, cpp and cpp_qt (SF#2458743, BenBE) -Version 1.0.8.1 - - Added language files - * AviSynth (Ryan Jones) - * eMail \ mbox (Benny Baumann) - * GNU Make (Neil Bird) - * Oracle 11i support (Simon Redhead) - * Prolog (Benny Baumann) - * SciLab (Christophe David) - * TeraTerm macro language (Boris Maisuradze) - - Added support for Escape Regular Expressions (BenBE) - * Implemented C-style Escapes in PHP (BenBE) - * Introduced support for \xAB and \007 style Char Escapes in PHP (BenBE) - * Implemented Variable Highlighting in PHP (BenBE) - * Implemented Variable Highlighting in Bash (milian) - - Fixed a problem with PCRE patterns for Keyword matching sometimes producing - very large strings, that could not be handled by some versions of PCRE lib, - causing broken highlighting an Regexp Compile errors (BenBE, milian) - - Fixed broken highlighting of bash commands like `dbus-send --dest=org.....`, - i.e. the dest was highlighted as variable declaration (milian) - - Fixed broken highlighting of some symbols in their escaped form (BenBE) - ( and were accidentially filtered even though they are valid) - - Fixed a "memory leak" in the *_regexp_caches (milian) - - Fixed broken Escape chars if classes were disabled - - start_line_numbers_at() was ignored when GESHI_HEADER_PRE_TABLE was set (revulo) - - Fixed a problem allowing Remote Code Inclusion under certain circumstances (BenBE) - - Changes to default CSS in order to make the GESHI_HEADER_PRE_TABLE align properly, - even on Windows / Mac systems with strange fonts (milian, revulo, ^RT) - - Minor style changes to the following languages: - * cpp-qt (milian) - * MySQL (BenBE) - * PHP (BenBE) - - Improvements to language files (BenBE, milian) - * Added MinSpareThread\MaxSpareThreads to Apache highlighter (BenBE) - * Added new Keyword group for APT sources.list highlighter (BenBE) - * Fixed highlighting in LaTeX for \begin{} and \end{}, i.e. the stuff inside - the curly braces. (milian, thanks for the report go to Matthias Pospiech) - * Improved String support for D (BenBE) - * MySQL was seriously broken (BenBE) - * Reworked Keyword groups for MySQL to allow for more configuration (BenBE) - * Improved Mirc script language file (milian) - * Improved C++ Qt language file (milian) - * Minor bug with Transpose Operator in Matlab (BenBE, Daniele de Rigo) - * Highlighting of Batch Files for Windows (BenBE) - * Updated AutoIt to include latest changes for AutoIt v3.2.12.1 (BenBE, Thierry) - * Fixed duplicate keyword warnings for Perl, Tcl and Typoscript (BenBE) - * Fixed Doc-URL getting reparsed by highlighted keywords of other groups (BenBE, Jordi Boggiano) -Version 1.0.8 - - Added language files - * APT sources.list (milian) - * Boo (Marcus Griep) - * CIL (Common Intermediate Language, .NET Assembly) (Marcus Griep) - * COBOL (Benny Baumann) - * Gnuplot (milian) - * KLoneC (Mickael Auger) - * KLoneC++ (Mickael Auger) - * PIC16xxx assembler (Phil Mattison) - * POV-Ray (Carl Fürstenberg) - * PowerShell (Frode Aarebrot) - * Progress (Marco Aurelio de Pasqual) - * TypoScript (Jan-Philipp Halle) - * Xorg configuration (milian) - - Make GeSHi's constructor arguments optional, so something like `$foo = new GeSHi;` is possible. (milian) - - Added an optimizer for lists to regular expressions. Using these cached lists results in a speedup of approx. 50%. - The slightly increased memory consumption (~150KB for PHP language file) is more than worth it! (milian) - - Some more memory & speed optimizations all over GeSHi (milian) - * Reduced memory overhead when highlighting keywords (BenBE) - * Keyword Linking now uses considerably less strtolower calls (milian) - * Cache Symbol Search Regexp and make Symbol Highlighting faster (milian) - * Use more native functions like substr_replace and strcasecmp to speed things up (milian) - * Use considerably less strlen() calls on various points by caching the results (milian) - * Properly set comments to be case insensitive where appropriate to increase performance (milian) - * Improve the performance of the strict mode tokenizer, making highlighting of languages like - HTML, ColdFusion or XML faster (milian) - * Setup caches for parsing on demand to make stylesheet generators fast (milian) - - Various improvements to Strict Block Handling (BenBE, milian) - * Added support for RegExp-based Strict Blocks (BenBE) - * Fixed highlighting incorrectly stopping at ?> in PHP (SF#1330968, BenBE) - * Languages with STRICT_MODE_APPLIES = GESHI_MAYBE default to strict mode now. When no highlightable - code is found in this mode, we fallback to the same setting as if GESHI_NEVER was set. That way it - should not be needed to call enable_strictmode() manually. (milian) - - Added new GESHI_HEADER_PRE_VALID type which uses the following markup: (milian) - * With line numbers:
        header
        1. ...
        2. ...
        - * Without line numbers:
        header...CODE...
        - => valid HTML and no need for   indentation - - Added new GESHI_HEADER_PRE_TABLE type which can be used to prevent linenumber-selection in Firefox - on copy'n'paste. (milian) - - set_language will not reset any language settings by default anymore. - * Added $force_reset param for to force full reload of a language. (milian) - * Make sure strict_mode is set properly when doing repeated set_language calls (milian) - - Fixed some problems with old PHP versions (SF#1975625, milian, BenBE) - - Fixed broken use with Suhosin Patch when /e modifier was disabled (SF#2021800, BenBE) - - Added support for external style information files to override language defaults without modifying language files (BenBE) - - The overall_class is now up to the user, and the language-code is _always_ added as a class (milian) - - Fixed Economy Mode for GeSHi::get_stylesheet() - now it just makes so much more sense! (milian) - - Fixed Economy Mode when COMMENT_REGEXP are used (BenBE) - - Changed the default encoding to use UTF-8, due to SF#2037598, BenBE) - - Improved overall string support: - * Added support for multichar string delimiters (SF#1932083, BenBE) - * Fixed problems of unfinished strings and comments producing invalid XHTML (SF#1996353, BenBE) - * Multichar Quotemarks sometimes had inconsistent behaviour (BenBE) - * Support for multiple styles of strings depending on the starter (BenBE) - * Properly handle escapes in strings, i.e. '\\' was not working properly before (milian) - * Fixed escape char support when an escape char is followed by multi-byte chars (SF#2037598, BenBE) - - Improved flexibility in language files (BenBE, milian) - * Added PARSER_CONTROL for OOLANG method highlighting (SF#1923060, BenBE) - * Added possibility to define strict blocks using an Regexp (BenBE) - * Removed explicit escaping of / in Regular Expressions (BenBE) - * Ignoring empty keyword groups when highlighting (milian) - * Make language_permissions configurable in language files via ['PARSER_CONTROL']['ENABLE_FLAGS'] - this makes is_a calls unneeded and thus prevents PHP notices in PHP 5.x (milian) - * Extended support for number formats now covering the most common formats (SF#1923058, BenBE) - * Lifted a limitation that keywords had to have at least 2 subsequent letters (BenBE) - * Changed behaviour of PARSER_CONTROL now allowing to provide the full Lookahead and Lookbehind - expressions used as delimiters inside keywords instead of a simple char group (BenBE) - * Fixed improper handling of newlines in REGEXPS so this does not produce invalid html anylonger (milian) - - Some typos and mistakes in the documentation (BenBE) - - Added a script to contrib/ to verify language files are correct (BenBE) - - Fixed loads of compliancy warnings detected with that automated compliance testing script (BenBE) - - Many other improvements to various language files (BenBE, milian) - * Reduce strict errors & notices for language files (milian) - * Fixed symbol highlighting with C++ sometimes missing keywords after ; and comments (BenBE) - * Improved comment handling with TCL (Lars Hellström, BenBE) - * Fixed broken handling with XML comments (BenBE, SF#1849233) - * Fixed HTML comments spawning multiple lines producing invalid XHTML output (SF#1738173, BenBE) - * Added support for parameters beginning with dash in BASH language (BenBE) - * Support Apache's configuration sections, see http://httpd.apache.org/docs/2.2/sections.html (milian) - * Minor issue with PHP Heredoc and Nowdoc syntax sometimes not getting highlighted (BenBE) - * Updated Objective-C language file (SF#2013961, Quinn Taylor, BenBE) - * Added some keywords for VHDL (beshig, BenBE) - * Fixed severly broken ColdFusion language file (milian) - * Fixed some incorrectly highlighted things with the CSS language file (milian, BenBE) - * Improved Smarty language file (milian) - * Improved CSS language file (milian) - * Improved Pascal language file (milian) - * Improved LaTeX language file (Андрей Парамонов, BenBE) - * Fixed a regular expression in mIRC language file that caused a warning message to be issued (BenBE) - * Removed <, > and / from HTML names, now only containing the real tag names (BenBE) - * Use spaces instead of tabs for indendation in language files to have a consistent - coding standard accross geshi files (milian) - * Added some comment styles, keywords and added index highlighting (Chusslove Illich, Часлав Илић) - - Removed some private methods which were only called at exactly one place (milian) - * format_header_content - * format_footer_content - * get_attributes - - Second part of default style changes. Affected in this release: - * C++ - * C++ (Qt) - * CSS - * VHDL -Version 1.0.7.22 - - Added language files - * glSlang (BenBE) - * KiXtart (Riley McArdle) - * Lotus Notes @Formulas (Richard Civil) - * LotusScript (Richard Civil) - * MXML (David Spurr) - * Scala (Franco Lombardo) - * ActionScript 3 (Jordi Boggiano) - * GNU Gettext .po/.pot (Milian Wolff) - * Verilog (Günter Dannoritzer) - - Fixed a problem not yet addressed in 1.0.7.21 regarding highlighting of - symbols that caused some extra characters to be added in the output or - broke highlighting and standard compliance due to missing escaping of - internally used characters (SF#192320 and SF#1926259, BenBE) - - Fixed missing style information for ocaml language file (The_PHP_Jedi) - - Fixed a bug causing masses of warnings in rendered output if language file - miss style information (The_PHP_Jedi, BenBE) - - Missing tab width information could lead to warnings (BenBE) - - Missing symbol information for ASP (SF#1952038, nfsupport, BenBE) - - Empty delimiter message with OOoBasic (BenBE, Ccornell) - - Escaping of comments in LaTeX ignored (SF#1749806, BenBE) - - Modified Math environment $$ in LaTeX to be non-greedy (BenBE) - - Added possibility to match a regexp as comment (SF#1914640, SF#1945301, SF#1934832, BenBE) - - Introduced C-Style multiline continuation comments (SF#1914640, SF#1945301, BenBE) - - Introduced Fortran Comments (SF#1914640, SF#1934832, BenBE) - - Implemented Heredoc and Nowdoc Syntax for PHP and Perl (SF#1914640, BenBE) - - Implemented Compiler Directives for Delphi (SF#1914640, BenBE) - - Implemented minimalistic support for JavaScript \ Perl Regular Expressions (SF#1786665, SF#1754333, SF#1956631, BenBE) - - Fixed Strings in Matlab to be handled as comments instead of regexps, to prevent keywords being linked (BenBE) - - Applied PARSER_CONTROL fix of C++ for C++-Qt-Derivative (BenBE) - - Fixed incorrect treatment of unequally long multiline comment separators (related to SF #1891630, BenBE) - - Added PARSER_CONTROL settings for keywords in ASM language file (SF#1835148, BenBE) - - Fixed missing CASSE_SENSITIVE entry for DOS language file (SF#1956314, BenBE) - - Fixed accidential highlighting of keywords in argument names (SF#1956456, Milian Wolff, BenBE) - - Fixed yet again some #-related bash problem (SF#1956459, Milian Wolff, BenBE) - - Added backticks as symbols (Milian Wolff) - - Example script remembers selections and source submitted (Milian Wolff) - - Example script allows remembered source and preselected language to be cleared (Milian Wolff) - - Example script now properly includes geshi and doesn't suppress error messages anylonger. (Milian Wolff) - - Code cleanup by using direct string indexing instead of substr with length 1 (Milian Wolff) - - Optimized generation of code parts in strict mode (Milian Wolff) - - Optimized COMMENT_REGEXP by using an incremental regexp cache (Milian Wolff, BenBE) - - Fixed a problem that rarely skipped highlighting of escaped chars which usually should have gotten highlighted (BenBE) - - Optimized generation of highlighted strings to use fast skip forward while highlighting them (Milian Wolff, BenBE) - - Optimization using basic rework of indent function improving tab expansion performance (BenBE) - - Lots of other minor optimizations based on coding style improvements (Milian Wolff) - - Implemented setting to force spans to be closed before newlines, see SF#1727398 (Milian Wolff) - - Added missing credits for D language file to THANKS file (SF#1720899, BenBE) - - Optimization to prevent loading the current language file twice (Milian Wolff) - - Optimization: Use file_get_contents() to load sourcecode from files. - Even if GeSHi worked with PHP 4.1 before, it doesn't now. (Milian Wolff) - - Added description of extra language features (SF#1970248, BenBE) - - Added support for highlighting the C# using and namespace directives (SF #1395677, BenBE) - - Added support for highlighting the Java import and package directives (SF #1395677, BenBE) - - Fixed minor problem in Haskell cuasing accidential start of comment (SF#1987221, BenBE) - - Fixed minor issue causing loads of warnings if a language files defines no symbols (BenBE) - - Updated some aspects of the documentation and included further hints (BenBE) - - First of series of color scheme changes. Affected languages (sofar): - * Assembler (x86) - * Bash - * C - * C# - * Delphi - * Fortran77 - * glSlang - * Java & Java 5 - * JavaScript - * OCaml - * OpenOffice.org Basic - * Pascal - * Perl - * PHP and PHP-Brief -Version 1.0.7.21 - - Added language files - * Basic4GL (Matthew Webb) - - Fixed problem with mIRC language highlighting spaces only (BenBE) - - Language files can now specify a function to be called to decide the - colour of a regular expression match - - Added single quote to Lua (Darrin Roenfanz) - - Compare comments case insensitively (fixes AutoIT comments somewhat) - (Daniel Gordon) - - Fixed symbols not being highlighted at all (SF #1767953, BenBE) - - Fixed brackets not correctly managed (SF #1767954, BenBE) - - Changed default languages for some extensions - - Included color and character information for symbol highlighting in some languages (BenBE) - - Fixed a problem with extension detection if default was used (BenBE) - - Fixed a highlighting problem with the LaTeX language (SF #1776182, BenBE) - - Added a new parameter for enable_highlighting to reduce source duplication (SF #1786104, BenBE) - - Updated doxygen documentation to include since tags and some missing parameters - - Disabled symbol highlighting by default (doesn't affect brackets, cf. documentation) (BenBE) - - Added a check for set_case_keywords for the given param to be supported (BenBE) - - Minor rework of the HTML documentation layout \ W3C compliance (BenBE) - - Fixed highlighting error in bash language avoiding keywords in comments (SF #1786314, SF #1564839, BenBE) - - Fixed template params for C++ and C# not being highlighted (SF #1772919, BenBE) - - Fixed more reported problems about mirc highlighting - - Added some missing keywords for VB.NET - - Fixed some warnings in DOS language file (Florian Angehrn) - - Add possibility to handle more than one extra line style (SF #1698255, German Rumm, BenBE) - - Fixed handling of URLs when output case differs from URL case (SF #1815504, Tom Samstag, BenBE) - - Fixed POD (Plain Old Documentation) format problems breaking highlighting of Perl (SF #1891630, Shannon Wynter, BenBE) - - Fixed a problem with mIRC when & was used for identifiers (SF #1875552, BenBE) -Version 1.0.7.20 - - Added language files - * Genero (logic) and Per (forms) (FOURJ's Genero 4GL) (Lars Gersmann) - * Haskell (Dagit) - * ABAP (Andres Picazo) - * Motorola 68k Assembler (for MC68HC908GP32 Microcontroller) (BenBE) - * Dot (Adrien Friggeri) - - Fixed java documentation search for keywords to actually go to the - documentation (spaze) - - Applied fix for bug 1688864 (bad regexes) (Tim Starling) - - Fixed comment CSS rule in visualfoxpro - - ThinBASIC language update (Eros Olmi) - - mIRC language update (BenBE) - - Fixed outdated documentation URL of Perl language file (RuralMoon by BenBE) - - Fixed tab replacement code not generating the correct number of spaces in - some cases (Guillermo Calvo) - - Fixed two typos in Z80 language file - - Applied fix for bug 1730168 (Daniel Naber) - - Applied fix for bug 1705482 (Jason Frame) - * Configurable line endings (Replace \n by custom string) - * per-language tab-widths (Adjustable for width>=1) - * Included defaults for ASM (x86, m68k, z80), C, C (Mac), C++, C++ (Qt), C#, - Delphi, CSS,, HTML, PHP, PHP (Brief), QBasic, Ruby, XML - - Added a possibility to force generation of a surrounding tag around - the highlighted source - - Applied fix for additional keywords for the bash language - (cf. http://bash.thefreebizhost.com/bash_geshi.php, BenBE / Jan G) - - Fix bad colour definition in GML language (Andreas Gohr) - - Fixed phpdoc comments not being indented one space if they should be (Andy - Hassall) -Version 1.0.7.19 - - Added language files - * X++ (Simon Butcher) - * Rails (Moises Deniz) - - Fixed invalid HTML being generated and doctypes not being highlighted over - multiple lines properly when line numbers are on (Validome) - - Improved the ruby syntax highlighting by basing it off the Rails file - - Changed some regular expressions to possibly help with badly performing - regex support in PHP (Tim Starling) - - Allow {TIME}, {LANGUAGE} and {VERSION} to be used in the header as well as - the normal
        - \ No newline at end of file diff --git a/vendor/easybook/geshi/docs/api/index.html b/vendor/easybook/geshi/docs/api/index.html deleted file mode 100644 index f499a8f..0000000 --- a/vendor/easybook/geshi/docs/api/index.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - GeSHi 1.0.8 - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - \ No newline at end of file diff --git a/vendor/easybook/geshi/docs/api/li_geshi.html b/vendor/easybook/geshi/docs/api/li_geshi.html deleted file mode 100644 index f074e37..0000000 --- a/vendor/easybook/geshi/docs/api/li_geshi.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - -
        geshi
        -
        - -
        - -
        Description
        -
        - Class trees
        - Index of elements
        - Todo List
        -
        - - - - - - - -
        Sub-packagecore
        -
        -
        -
         Classes
        -
        ClassGeSHi
        -
         Functions
        -
        Functiongeshi_highlight
        -
         Files
        -
        Filegeshi.php
        -
        -
        - - -
        -
        -

        phpDocumentor v 1.4.2

        - - \ No newline at end of file diff --git a/vendor/easybook/geshi/docs/api/media/banner.css b/vendor/easybook/geshi/docs/api/media/banner.css deleted file mode 100644 index 032b037..0000000 --- a/vendor/easybook/geshi/docs/api/media/banner.css +++ /dev/null @@ -1,33 +0,0 @@ -body -{ - background-color: #EEEEEE; - margin: 0px; - padding: 0px; -} - -/* Banner (top bar) classes */ - -.banner { } - -.banner-menu -{ - text-align: right; - clear: both; - padding: .5em; - border-top: 2px solid #AAAAAA; -} - -.banner-title -{ - text-align: right; - font-size: 20pt; - font-weight: bold; - margin: .2em; -} - -.package-selector -{ - background-color: #DDDDDD; - border: 1px solid #AAAAAA; - color: #000090; -} diff --git a/vendor/easybook/geshi/docs/api/media/images/AbstractClass.png b/vendor/easybook/geshi/docs/api/media/images/AbstractClass.png deleted file mode 100644 index b1f60760994d3802ebe75665082c92148e05f8ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf_5hy{S0D`prxz`PFd$?fKmP<_ z;WKGzS88i7R#)$fjNBCvu*2JXyOYy48=G|o28$IGW->7JFfgPsFl^P-ywAXJhJm4l zf#JV^z!pQp>p+I2guZ{B>pon{9s@>91!q%u^{ zij@TU1q&)E8M}n0rKOdZmv=zGyLa!tZ!B{Is#xpk;uum9=X&CL*kJ<^my6mhLOky{ zCsn^!-5dDt|L&sHJs)h&-u&=s-HKU##y+R(m>c?!f4ue6?)jdZv1TF;mjC){J3hZM zyJy7oD)-C2?>i2A{@J0;6?Ogp*M}lYSexFp7xSNE+9bG%^WDQcNo;)z)dCk;j@_JX z-BHY$7VNLdq<+$y<@M^L?=1r7ENNx=Jt-}+ulVk!RRY&$uZ=!2^~U@jrhsj~zopr0Kt!}UH||9 diff --git a/vendor/easybook/geshi/docs/api/media/images/AbstractClass_logo.png b/vendor/easybook/geshi/docs/api/media/images/AbstractClass_logo.png deleted file mode 100644 index ab21d652c0767e3953ba94797c92420cb0487b06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1010 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0V4ND@6XN>+|9_we1e};S5y)`h z;{%e_ii$w8R73IW4fVnrUo2Nkt`ujSZ;A zn~`x}YN{gxgB1gVGy{Vc1A{RG!z3{=ph0`1qP7MGZujzP<>CU$E;lq>tf@I)NolU6 zWC;VqYHRCyHn#OHE@=!5Q49<~#{!M|uc`T6LE(p_{lrKH?rVECn_HC0e>la0+$1_q#w|0N~=8yhcWVA$g5 z_)b9JJ16Hyc6Okp-x(Ngv$F&30^0sxQ4#3E?S_VH3=A$=S#8zP`6wgv-^ON@w)T;n zoL(-j{{jL)2k!=|>=?Nd-J~y`)oSZ-}07DSyyOWxl|I^aWq@^tp7QUU3 zaH_cYe@Mt)N5`W|N^3YdkH^K`3=jYB<#jhRa|#E?It7Izp`rhso%cyeoiR4P?(hGI zpMQ5q$W;%I<&u)74fcP4;ci?Ks_CNO?)db&7@PA$J}AmWglK5KgEnHjmVOAO46TV|de<8HN4$hyhD zFMju`dLFTeFGfmkU*+q6cQsy?RHdYpy!n+lYuQTWn@itZnP0RsuE)S|^Nw8`qj#J& zFey!Z`Sp3YeEr|McjnCf>sj&b-SN{;t2GV=xNp{iT?RDxxsJw1BRw zsQAxvR*A94p+@4xU&fD^pz5>zcU0d-kpS8Y(0fif~{1{`=p8o%av-M4kQC zeEFzpUQmvZJWG|ygF>J-i#h|tvz!7hwsMZb%7 diff --git a/vendor/easybook/geshi/docs/api/media/images/AbstractMethod.png b/vendor/easybook/geshi/docs/api/media/images/AbstractMethod.png deleted file mode 100644 index 635fa08b94fc778161d6674b01af00f48ff38d8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmV-60?GY}P)yu!!kxYXATM zyh%hsRCr!Z%)^!gK>&r}Qk$`D+s@dw`TmbEb$Ysz{HuGu#RZ?csT?ibo^ts&XPR77VU?sw!U1E;fMUNaZ8+w1ToIww^<8%5nW4`iF!>e>03vZieflt>2fC$u@15z;-L*nI(5PeY85q^ECOLXCkY z?SE~9AcPF`?{nbeA%nf*5(rs37&!c{67@AazVguS4^4?0sSbo)xpaLR^7dAUM5f5s-8c0I30j z3Btla@=RLV#p>!SwYB>qBXSC6jy}x5u$O`1znok~RMb)ihNA%iKucQ~7}6LRwkj#j*3kIK&;ON=@4Bey zmQ}0POGuoxwg$R?W?CB1g)0^=%u`Z|4i4U%o&A)7;mDCA^Z59He(Vkn?Xt2`S6BaU zYz*|{M``JUPEIRzbe8AmS1~XYF)$oROw4J#<_ruSxso8iU_m7%V;7guw6yZ_@(v_0 zbN88d@7~!T<(>~z`P9?JF{C0+_x#nc!ww>?4<|44jb8DPW#-Hs(N|*&%D;cFXFbRD zXZroC_a;P~dG?8QO+-|jKl6b@=b!A&m2lg+r@UzYVdfP1xG3k-o3y4LzLgOEK%xAa zRmQHowQ=QE4|NVZ@B3R;$myU z6a4yH5BzRk>ffogNkwyUoqgNXVy})v99NqTnzYF&$L{u8A;)$(zr~cLEKw-S?eR^S z#K(bZPa^jwKa+9x$Xn?Xmg>6IHSo@nmm5~SR7=ZGXHjf@-taiM(59X757Xmt^{l@$ S9HW39X7F_Nb6Mw<&;$UcMfrLF diff --git a/vendor/easybook/geshi/docs/api/media/images/AbstractPrivateClass_logo.png b/vendor/easybook/geshi/docs/api/media/images/AbstractPrivateClass_logo.png deleted file mode 100644 index 93c1da85bbb91a9dfa2b4f5fa52d1a246d1bf598..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1331 zcmZ8he^k;}6o08Cq$G*?<2yq@`vE(Zg>8WrKY|hrCB&sv92$aA&NAqzq2}*2&1{(- z%F30vW=gsuYfLk3bxh85YU)xsnYMDJt#+ogeth>GDB1z;X z{5)hH001ux=S$&E{&!)Wq2<>cxdVVxfMl~wfTAe${12%_BJ{9WENHy}$j9N}fyd(! z2m}U$K_-(c2m~692K_B^d9z4V9~_*9!RP>p0HBe_YnI9C>GYbVORFiAGk$*Q>FF@6 zp2?I00Exh~nh%ko0BAHCi^XCxnT$qbOACyW+W;^DU<9B9-U6W0=~@677#Mg>r^6~U z2=a%k>k9yW1HcZzeE`0xuKo!CNXBe7TL5SPz-F^qOG`^iO7Z|OzzmRoe*VYOi4sW@ zizSsx-%}_K3Z*F|L@pFw%E%CjM5wQCtU%D--VT|=P8|dS%~v5!1F zAoJUai61+vB@#z5n1@PbdwhJFUJnHsjg7V2?XU-{OlB!8M8m=!Kq*8bDA&!68&L+M zF)!~bmy6P9ZRO?t3^9gXs@AZO-@}J}{$@ z&y}Sr)O~6lvc+Kjf%;CEZ(CgdsNyXf?(Q|DIhXy{E$N_s|mP^9JPcN`jFzkU90 zV&dek47{?T1n_08kNYA{g{}Jn>*3K!hXD=$q&wnLb=v{0w zjj#WN)~nu$+#iY<+F36ibcx$LvugXqu50eKnfDA+tNZKv?MW8-n<{r7an5UFQQXkB zvDNx*KWnap`W97Yd$%#yDsN;sRLi^#q2rCiWb0_Bqqo|N^Hm>p%(U!?7kd?F!g-{1 z9}?!WZ=kq1gh%l?I6Zd`=T$=1{^G9Uy4Hfd_&dCiuA#B{dpK-A12XouRdKw!J0jAm z!e7LG{gnDb!MTi0F2FMODpYpJ!lhI3imi4ZOo4D?^Y?5All?>c!3FxSZ>&FcVw-Z;69CyEoz#ey@XH>%M^;3x=+Et*>9ZrwoH^Jl>jT_4mw~RspOSl48}+R_R))E0 zJoorKt*2-E85dHN%CldSc)wCAC9Si}?dnx0)b?pl25-Kw#TjI4868StZNa;MR{US7Z09lf*#ICEMDoo% GWzIjoXCp)a diff --git a/vendor/easybook/geshi/docs/api/media/images/AbstractPrivateMethod.png b/vendor/easybook/geshi/docs/api/media/images/AbstractPrivateMethod.png deleted file mode 100644 index 203ce61d9fc197b9e27c2c674879e1e87c0d4ff4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47*hj$LR|m<{|^*l;b#Ss5hbCV z3Otn?>fJknxHUoQ;{^qQWXg&(K?^ZnP5w9r22Tct=H_OTTEjCi-vR=J<^@_!dflfK0t$jpBW+u=vUBS*1ZEVik_U5K4^=WJEHEeCHQ}R|; zU1nNcU2U+=z;uz z)tNJQA>bVtOn<%k6HxUDPZ!6Kin!Pl!No@cBp5E_2TI@6>W(`SH+yUD?RW32+^`_5p@>uOwo1 zWtB^&oDAP$Hi4VfGwef+kge_$wcCs$2N!t%@-v)lSO1Q&pt+92YUO+zp5F(#A05kH r!)nu|AsD!5?*W&JdFmxL2OhDvq^hPhrir%!{lwtu>gTe~DWM4f4DbnD diff --git a/vendor/easybook/geshi/docs/api/media/images/Class.png b/vendor/easybook/geshi/docs/api/media/images/Class.png deleted file mode 100644 index 9ac7daa919aaab8801f0621c460dd2aa5a016b08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmV;n0ZIOeP)!r1K|L4B>l*38VzA3J(2h0&RrnITAqGiJ;{w)ZGw ztFz4ICt0P4h=^E>+ayMm%;51WV816)qsH9sAU}g9PM;@Rsxz(iGqv|KobN4h%QJ@P zGmq;`f!9vc|1-@0Aum&Ypx-mQ`P=IDEsoYJc)~N4?Mr^uHfzK*sq93;`e~KiMa}*- zWUDo2!84=rU6I@`mftm`>O{Z!MaleChS+JD-zZY9GsFB?iP);Ds$bXtFPh*ki`Fs; znMnWu0G~-jK~#8NP0Cer!$1^7(IGK2%goH|@cy@yvGi0)|J_rK$SlravZrE#W|QYR ztT$L6G>qci*N{@W-`||;!ZHPvg~Jiw`?TGHvTma~f(E#+4H2~dbWnRG@ zy4Nl1#}-<$(+VCAw3HMtkXM`UxxrZ1PTnG&gLf3&()ax|EutK8P!E<;PuJ0y1J=yo gZ=V7pSolBk3(U6~s~yVqz5oCK07*qoM6N<$f{o?cMgRZ+ diff --git a/vendor/easybook/geshi/docs/api/media/images/Class_logo.png b/vendor/easybook/geshi/docs/api/media/images/Class_logo.png deleted file mode 100644 index 2c97193a74c9ecce0b24fa1f3feeecea8a3e126c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1306 zcmV+#1?BpQP)qvmTSdhv9001gmlp8~H7ByT75GN2QMh_!E4jVcR7BUMIE(#DQICRHmo8Ew}bymTdpKoqcDTqDr3AMLW)Vz|3c9JSIPT5 z&;Lco{8PmGJjMJ_zxYGG`8&J#M7H)ixA!=&^)s#YGpF-2r0_GG?=ha{F^$+#)c-Ad z&MJAtFmlx@bHXid$|rHQDr>zcYPBq8#UyE{O49!)WU(h(t|VEbC{wK?O_Cx?j3h;x zA31t6gy%4N*iFa$Ih^JzT)QSyoG_HuFpc0LLWLhWhE2r#E`!u8gUvF2<4U#lGJD}O z%>N`}q$zyAGqv|avG72!@@v}vDRjJM%>PKJ>^!FMNxk@KnBO|2=2*G*F_h*}w)P`L zl{3BiDOj^JmF+K<;3QO`SI+$;QJ*GIrY23MTE_Y$Or0f4p(=vLGmq;mjL$NQ=Ph*2 zEr!!*uk0N%eH$`t88Bl&r|v#>$84M5F?HOEujVtw{b{!DRi5RG%JX=^@iA_`JZZi< zqTwZOtYVYgTGs!Sx9El8|1e^-JelAsW3Nk--Z7fsT8`Q&TBvfr@nFOFDOIw7sN{jh z@_OF?Q-;=b-2YLs@*_}_WUK0s-g?p!t!4NK1+|cNiW|PRhU4W;QBNTa2Wx)eoylTxIDEcHB#}s^t;()Bo#nN+kcQyk zG&tYRs;;g+*V|iHCzZ+NN)V$+kgO(v7Y;cz&ePWQ+J=nFsm1laWH zYHYIBbj@a~sd2engTuq)z8*$$;rG%v0&Ki;`(f1M^)eEq`TdJae-?>fZrSE7TZ@W{ zv)i89j-9)<(Nljl1%jzGdcM(!cYzB8q2?KazyzQ`5CrEL_)HoT2DsKQz-ttNsLJ&|D6c$oEQJqfwoT{X6f>8axq4${zw`c~mP9E%?ANH?6R!&BrZ%>9f82_sy z|E5{{)xNrA3f5pD_OpzzSQ7WTP5--x`mQn5&&&SIwdRfo_kckDv^nH@Mcjr8|EC?x zRwdtiAMTnc!&n{vuaW=Mf7sr)P5=M^+et)0RCr!3k5jV-K@0_xnYHoRHZE=3wvGS) zcxREPbf;2v4#>gGV7U0=$%z|LV+li{|L#ouaSIo@-AD9}nwYjDEYFGtnW@^+*lFb>-yQ6)(gDKhv6IaVWkxP_0a00000NkvXX Hu0mjfj>kUp diff --git a/vendor/easybook/geshi/docs/api/media/images/Constructor.png b/vendor/easybook/geshi/docs/api/media/images/Constructor.png deleted file mode 100644 index cb78dcd2fead446c3461695d95c4f946e8278b14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 666 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47*hj$LR|m<|L@av&ZpnTrt-K^ z=2pE-1&xTsY7x>Zo|BaWC3sE6xb=j&v;;X6cq=!yMa{_ypOL1NVU)e{S@M#nF$magy*2c? zt<%=;#%GLU&i>Mg&{1?$Ec@?i-h5HF`GQ{K1^s>-&$0^+=N$Uq*X1orbFFm%dO=~6 zB}2bK+RU`X&g*UeW8F8uQ>ai#JM-Uo)fc;!FS1^R7A?wUDA&+W+!1=}*V5ffYtEz_ zq-(3E=xGEmm5Enr_#dk3KQHN}cjEQ`?pO3{{s+if%1WC{OPNZE>xy?&h8_flyL?HI zUoeA98WJc6g56;74g!wdxn>Sjdeqa!F{C0c^mKADb09?U%o>T=CAa;Ou{C>1G9sWJbpjCL@!nclQ=8 zJej-rfu`nDmtc#W!^fxY`XDE_Q!OXt%Ky89g08#1*zNpY!{*+|9LJX z8H;Po*Fcjl$V)r(|0fsMJ_(6sa&mJtG#(47 zpOKQ9sP6bkK&@Oe-LvdMV(0azp3!>6M|za3-*a%xla*~yGTtOEJ|%qOWPz0Vyix0U zWae^5TwxHK!LRDR`JLZ^Z;99cht7Kf3^)D69Tkjz#f+Xg%#M33s<)ffoiAD9+56`c zFt)Txg8YIRT+)DGCMwts250WVz&jAoUez@TsOz?;i(^PdoNZ5V^^pV#m-||gSI@38 zNm`q`dRy-8e>cyX{VvseHq%m^y@w^yWTx<rbr?79ER=6aVq5e#5^v>dk9*vo$_h zGoPn$+x93HqvDhdo4oz2g3Yc)viUpey*s)57UQhqi*gNz-LGw%F)wCk_CeX>pC`sW zn7&E<=!?I{_PsxC`uD@i)`JTlPQ2JWd+wwMrI&)FgRbjyr#GIJ)Lro4{=Eb5!XldM zF880VtlXz-#QW;FP^;#z$FVWCsZ#$Pj^EPNeQk2)Uh9?RTD#Pfy6zX~@+)|TXYc&_ amtnu=JFVQx(6yih&EVgGtA7)8d3sN-bFf?4?NW~M9DX*s;X6; zLO4n`VaY>6nid>c16RO9F^&W)!8F6tzoWgLAbS-;+cQz6HIL46N!L6dYY8Gw7~$~S zC8{iJyHG|?MIMM6UZGSqmlb-$TPm+CBcCZjrzT6wCQ{-xJkB|4(?eIUGC0ROGFm7s zNGBbZC{i_@% diff --git a/vendor/easybook/geshi/docs/api/media/images/Global.png b/vendor/easybook/geshi/docs/api/media/images/Global.png deleted file mode 100644 index f00968b7c726279df9b18ad52688a575f89aa8b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ*P))~{3l@ttgFUiR!q~hME2x(|MZH@vP7YXRQK6g_uE|Jyk%itS>)BNjCDT$ z>!bJRb*PbH|KpeF;md)3dYz4C%dSA&x>f$|$G4n3d1*mI@U-=u1!bf7YSaj|$#r-o} z1Sv6%IUP;&+u}7r9?pMa9iQVGZ-o`YKuSJ43v~@y->RwzpMj&zGOlY`vfeP)DI8qz zhtTEzpSefi=~c@t-Ai@fOE#>D?Z~~#LoIFtW?u|L=6EM9Wl|@=#@TdQA9(+j&F|bu zpuq5P_}fSww{}hsn{^w3F?v-s3wKKH7PyDwsJhWR+HJEakt5jXd!AtR7?NMVumUB2B33#vLCSQu|^|8xN;$l&Sf=d#Wz Gp$P!&2p`=5 diff --git a/vendor/easybook/geshi/docs/api/media/images/Index.png b/vendor/easybook/geshi/docs/api/media/images/Index.png deleted file mode 100644 index 09cead5f35ca955260089064cf86b944357406a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 449 zcmV;y0Y3hTP)7|HsniySuxx!P^-+dYiD=rM2D}IdZka z+lYvWc$THmbF(=S$^K4GRKMu6t>|9za& zPidB!nVFQO)~LqhZjZH4ce#eA$iCY3eVe_OxZ0Gf(X74OoTRuCE?>LQ=8>nt7B+5+ zq|@;8_|@n7hN9EP+3k9gyaF+eilV&_DqD`H#}zz;yWRhXqQ7K?sueYEa+c6aY_O`T zshF!fR*fA; z*RweygaCCjvrM!56KR4VHi@EeT2I>{BEb1qIH$CBN*f^p`i4uQ-Qj9zaAgfehsp_NDtjHOJ@SZ%?V$YY^Le}@_ua_i~q5mZ`9bCtr=l4IO ri_r0A*k$Vl5JH;!>Q@E?$?wnu?NbtCbf|md00000NkvXXu0mjfF>&!{ diff --git a/vendor/easybook/geshi/docs/api/media/images/Interface.png b/vendor/easybook/geshi/docs/api/media/images/Interface.png deleted file mode 100644 index 4ab1592eb5ba6eac23ffbeebbd257527c9a088a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 457 zcmV;)0XF`LP)>oaD|K(_ZNW2>{w zOgH`72<*CsL!v-0mPhgDri}CtIr9>h>sWvWSR?FP7gmr0Okk%S?gS zU)TT4%*<((+%tygSd7~wMwHCp@hDQRAum&Ypx;=D*d|V&EsoYJc)~N4?K6MnHfzMH zs;Wf7`bEwDHDs$bXTdY0@m-PJAxMT!)Bi-j`9;b6RfgDUncpv(;4X{SG^y-Me$}sf zY}^0<0J2F$K~#8NP0iJo!cYuA(Q9>gMcv(9X8!+|2rU%OTlUII5H0nicf2hTib|u~ zp_|uOZd(NP+szYWY_mC=wb@ZqQPe$o9;K8hT(vA#0LIJ%AsFu;Rsk-+Ucd#oK7cS! zKH&Naz+6w#ID?C?Z~%Izp5_~CnBhxjVT2i6O%Cosi(v8s{{Qbj#Ys{(fqvmTSdhv9001gmlp8~H7ByT75GN2QMh_!E4jVcR7BUMIE(#DQICRHmo8Ew}bymTdpKoqcDTqDr3AMLW)Vz|3c9JSIPT5 z&;Lco{8PmGJjMJ_zxYGG`8&J#M7H)ixA!=&^)s#YGpF-2r0_GG?=ha{F^$+#)c-Ad z&MJAtFmlx@bHXid$|rHQDr>zcYPBq8#UyE{O49!)WU(h(t|VEbC{wK?O_Cx?j3h;x zA31t6gy%4N*iFa$Ih^JzT)QSyoG_HuFpc0LLWLhWhE2r#E`!u8gUvF2<4U#lGJD}O z%>N`}q$zyAGqv|avG72!@@v}vDRjJM%>PKJ>^!FMNxk@KnBO|2=2*G*F_h*}w)P`L zl{3BiDOj^JmF+K<;3QO`SI+$;QJ*GIrY23MTE_Y$Or0f4p(=vLGmq;mjL$NQ=Ph*2 zEr!!*uk0N%eH$`t88Bl&r|v#>$84M5F?HOEujVtw{b{!DRi5RG%JX=^@iA_`JZZi< zqTwZOtYVYgTGs!Sx9El8|1e^-JelAsW3Nk--Z7fsT8`Q&TBvfr@nFOFDOIw7sN{jh z@_OF?Q-;=b-2YLs@*_}_WUK0s-g?p!t!4NK1+|cNiW|PRhU4W;QBNTa2Wx)eoylTxIDEcHB#}s^t;()Bo#nN+kcQyk zG&tYRs;;g+*V|iHCzZ+NN)V$+kgO(v7Y;cz&ePWQ+J=nFsm1laWH zYHYIBbj@a~sd2engTuq)z8*$$;rG%v0&Ki;`(f1M^)eEq`TdJae-?>fZrSE7TZ@W{ zv)i89j-9)<(Nljl1%jzGdcM(!cYzB8q2?KazyzQ`5CrEL_)HEakt5m$TEP>_LvhiT*VIL*0%ClwhsvGl!oEy>g6!|ZJwxNAF5 OC4;A{pUXO@geCyEnjruH diff --git a/vendor/easybook/geshi/docs/api/media/images/Lminus.png b/vendor/easybook/geshi/docs/api/media/images/Lminus.png deleted file mode 100644 index a7346d222861181277662520ddc644a68f178257..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^!ayv*#0(@mSFQO7q&Ne7LR|m<{|{tN@2h@tODYn` zVk`;r3ubV5b|VeQ(eiY045^4q?b^u6z`$|1Y6*L(;GU)7T#pu=4RF$6NZP4ac<6qQ d*6ZKpQt>uClZum`WCC?Dc)I$ztaD0e0svylDUkpG diff --git a/vendor/easybook/geshi/docs/api/media/images/Lplus.png b/vendor/easybook/geshi/docs/api/media/images/Lplus.png deleted file mode 100644 index 673ab01b20ae3160fd91d410f77633e71fdd5d55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^!ayv*#0(@mSFQO7q&Ne7LR|m<{|{tN@2h@tODYn` zVk`;r3ubV5b|VeQG4OP845^4q?K;TGV8C(2D60L1Lmk(-qF}Kn4o7VIlvy~={0W+} j!glZbv~7it>pnB~*ziu8`*Ym~pk4+~S3j3^P6Tt>{GEGe6ifMZEP-hfGL& zMIuWhE5kB9b38M`{5yr(L2}VEpYS$@+k%yZV6dRm^ibD zWS(Bh&I-Soa4Oj(9lC(*{Fwk1(YBk3p{v%LDv5Y9<0fVcGHu{MZr3jKXqN?rl>&PrS&*=0uIE)vXtSF3W zZtq?&C<@Qq4-FxOf#qMvBk&6$2Ii~_3Pp(FdsYX+6@(FxPev^86I}ik;juk=1{Nq} S=uh+j0000ph;@{+$K(HnpuOGQ-Lk>kwc7s~I(qQ<{~0-QwZhxq@BjGx z|IX+C>Gc1mx!SD9;a7E+$I|Az$KQCCxYq0c7B+5+q|?6N|Ae5^j;F_=z~Fk4yt2;g zWQD56+3l38(Yw&*hoZl}+Vz>4neg-YZjZI*^8ZR~us&g?eVo!yX_m~)%&fiJa+c7S zxY?1X!PM#hoTRvhr^u(o;T1J*l%>{{s@15*QN}=>)G7T3?z$N`Dv%fa9C~2w;()0eA-;%@WXzT_m;u0000Ho^&`|tPv!{7S7-v71I@8t3Sq`=;r zz223w&XTari?7m+tG zyyx`)XN9J<+W*MW-IlxHqPNYJxZ87wptsib*5&rE)%wNS@V?LBf~Ci?&FO@l&VHc6 z*zEs%n9X^X&2*E^b&<(&lCx}$%5;pUw94OWiNvMK?xo4?U3!?Q#^tcU(4E8R1~Q11 zsl0HCy}-=an5emKiKl3W!>q;LjHknDhpu9U#*3u9ro!HeqR_b0?_`9cV}YPyexnyV zd}4{jpS9RiZi-B7l&jG85EQnAwhK!K%T|V+5i9lb(FuFtiKLBlomO62RNIOtku!j-VQ8eC`Uai0000c zbW%=J01*)pA|f+0L_}3pRc2;pW@ct)W@ct)cZiwp?(XjH?(XjH?(TN~YqbCX0n37<%@NvdDP7Az9@s{ z5dCz#v$eZ-U=}gZJz0{KsSI)x-!Xo_-&pzd+>yg7#fI&DZ!{V$|6V`8cT_De&i=*Y zpe>flkBMI|bn@cF3V5u`%D#QA_g;C+$cpUNw0BJX>DszJ{sDH70cfzG9gfE@-@O0y z`Km!n6xkgIJ|3@c8of3B@J5W$s>uL(2lDOhrpBhxpM78Sa3mdI4;nn%*k3(S8`U!! zA|SlUob0bIt&QdrK~4wuNSj!5a_)X7Wzs$2t_U z+LzsQkoFvJce(@001jZ!aW-CXdIB?4V8Y`zn=K`{JVAMIvI`F2aUA&Q;J{Z@Gz?Yw zL}dU6;5eTG8ZM7Lki>E-;P^VbAP9qlLt|CmwjM>$Yqr+4j5u9DP0b^3vluSlB!g3n zynV#w_IP|gNs^k|#PHhiZ!$Q2v&HG24+Mij5z!M~zr7P9gELQlENl$lxr>NIBD>d~ zy?Xbb431qWDlRA}M4U$$3>PoO(*FTaYZ<+gJTg#ebc_-m`K?tdwT6Q5D51fA4@HZl Uy@SO@@c;k-07*qoM6N<$f+ff<*8l(j diff --git a/vendor/easybook/geshi/docs/api/media/images/PrivateClass.png b/vendor/easybook/geshi/docs/api/media/images/PrivateClass.png deleted file mode 100644 index 88431d4f41d7fadb3ed39c2d307401d6a7710e37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 645 zcmV;00($+4P)h~>m&3k)$NJvO4YQz8k z|47mQb8~a_^z^KUMyN(A3vO%>A{^=Ot02U5nW#Qm9#6Uqrq6w8-3P zoZuu!kt&$WSdZK*WWX-2<1oSTK(zKVn(jwUUMF(4Rasjtd(Y%u81Dc80NzPNK~#8N zEzd)P#6SRq(I#S#J!{*xZQI8G-%hgM@tvxGYb5pmnywZC7Z`Jon=euA!$&8WgJk_s z#q+$&=KGJHy`JugzJOGbqNiF7RLMK5vr+AYMq3O^D?!VFdAy%l4XiVP$$>a94G{rP*c*> zOcE%WtkhC*UuFzVb0rcrvlF^Vwh4Qkq9mlq$4>Ey^0l0GD|1I3dVv9RQ@?Hs2R`6oDsLwfn#yq=yNh;&^P$(1#1d)-EGMS7@r5ZWJ@pwEC)+T2P#T`d*TZe{*knwG#0RS1%ESJkc z95~?y49hpNXQOYZK`8Jg$ny>GFfph2j$_3KubwZ5%NGua)%!*BHo__5Gl0Hpt=dgQd$2#=+*Yoy?u30>V2z(r;c4Kh^Ts%N|pOS zW|`V;9#&<{C^T_oll{ZMMvwvZKLMat9WKNd4c>0)mir}OY z6VDuwG|xv%CPW_CvI#aV^f|y6KLC5j)hrXM7NMAkU3QT>tb!cwE&ha{fRtKA%9)SV zL01Q9>3w@#ZkoFB?Hkm)(23Zd&mgO(`#(j!09X?MH8>hWznnD*_?5n97m7e`i)#P2 zKU3w`xV)Qw_1cs7Db4SQH0HTHC9kyNRAKGTb6i;9jpN=yld7u#OV%orLO zo%S0|K*0B(%_hUxv?Ys2ttZR-wY7E3;9ItCwY6Ji;m&g{&iq*EY@8pHr%*(jA3X{% zPh@9i7B60mBjOwDat z%igi0O%k%O9JA_|Y>ixdjKFW>m`!`!$vx6^a#BxSqU)q#+}SkG^XLdcr};T;VPCpm zkTeI|!W?(?LQ)u?Je%w^y>fgHe=u1vP4SFHAcaUm@uZ&g_Qd$?Uv2UJ)Bj*F)2?3a zd+jf3CIv~fw6HQpRwB{RP&tMAm6uE(dxpx&6K~W{97*1+IF06q-z&+`=?p;eawE6_bv39`b4)@ z8u7SR*X&wJcCzJ8?eb8bHh#*qWErEQQWPI^EFGV}tB)5ZzP8-$I(H<)#<;d$^(SO~ zPT%eK%xnd}JtbsQ46SDPeTlGV&4uea{l#&a+O}Lp*p9H9_Nd85S-u84`uQDWN7OXY zkY2gIAuM#N>8{or<77qXx)rnSz5cgCe0(ma*D)vUUUW=2@?#EgjCI*3Y8tDOJQtLQIY<~ z`uf*h@NiURetg_JT|3UeK~8~po9*Wo7Pc?nw;0&828()76>*&L?Y|}9-EmSZ?b5%h CsNI7A diff --git a/vendor/easybook/geshi/docs/api/media/images/PrivateMethod.png b/vendor/easybook/geshi/docs/api/media/images/PrivateMethod.png deleted file mode 100644 index 9b9f733569c6e54777cab1cd13d8fd7f6522a667..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 710 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR|m<|KGZyk%gZXD9)+C z10;RA&Q)%xckc+|))cU*JZ_Y^RU=}tvhUQC6={MNV!WFCJv}`pwT79?pCvDO8nf_e z_}s?NEx3o1_}aYfhM%J zww9EXxSjZ8Q)KNQ=pSm#wflZ+Pg?p_wyhYV9=)o%aN2k?Ll{>gwt< zXU@3XHD0}XwRd2+O1y@Ww{l}=e`4o#?px-K|lBKuE33&>1ndJw`JYl_Vs%4w>Nq39#<;job&v2_#gJVyuQK-}tu1@>;B@nah5IW` zN;hz}XSN;vp04p_LW}{^2EpwQdTr%?Ul-ngm?4Pc|3rzMb^m9+VYKWJssCK7kX&o> m@!}zl70Wccln#Zgmy*4qq~UevTtGU|a}1uYelF{r5}E)-wLCZg diff --git a/vendor/easybook/geshi/docs/api/media/images/PrivateVariable.png b/vendor/easybook/geshi/docs/api/media/images/PrivateVariable.png deleted file mode 100644 index fef0a273955dd9c73dc9c458c765a8046af65bac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 641 zcmV-{0)G98P)?|J{|Yw*;KMMXvY-=90q z|1X`~_SRMX>T~rSs`P;`_@6}tZsGyICb!Cm& zGFhvmpONd(iGF)%t&~Rf3K`sK2$fwb!yzk+jzM&1*=``;3f)Key_}qDo1W z;g^kB`Ob3x^oD6&(LJw499j`QDYXXi>POZq{lX^m0YmIWD(Yv5RHe;#Q zw@2^few2Vr-m+P(qFdz2QY($Z|J{d!Y%v``chJS8k&J;?p5)G}N|le%xc~qF*GWV{ zRCr!3&eL{8K@f%Es%jk%jo7wr+qSLePxmDM-FLIs2D%*cJnv??nYvAYE2;1LnZc$z z{P$Kq8r_a9eF*wTt>{GEGe6ifMZEP-hfGL& zMIuWhE5kB9b38M`{5yr(L2}VEpYS$@+k%yZV6dRm^ibD zWS(Bh&I-Soa4Oj(9lC(*{Fwk1(YBk3p{v%LDv5Y9<0fVcGHu{MZr3jKXqN?rl>&PrS&*=0uIE)vXtSF3W zZtq?&C<@Qq4-FxOf#qMvBk&6$2Ii~_3Pp(FdsYX+6@(FxPev^86I}ik;juk=1{Nq} S=uh+j0000X&i{p^;s5uH zFRkVO=xd>dNY}DbkBD{Oz;aifYb8c2WA} zZSmxG|K*PP;BRG(x^0u&FP+@2lvd8DPWa7hF|_cttB=~dQTyLtt;pdns^S0Ll}vfh zNtEIL-G}SHVIoC|`s#N-x9Vn@%>VC+SJnT{t4jIKa_8q#`~Uy|#z{m$RCr!p&ozR? zFbqJ^NVbE6%*@OT%goGp|3j>j%{22nJr|NC4)Eakt5m$TCP>_Lv=ga&`Ru`93VCzxLN! Q0+lj&y85}Sb4q9e044(?{{R30 diff --git a/vendor/easybook/geshi/docs/api/media/images/Tminus.png b/vendor/easybook/geshi/docs/api/media/images/Tminus.png deleted file mode 100644 index 226ba0c0887149a693ea088601319b6610246312..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^!ayv*#0(@mSFQO7q&Ne7LR|m<|3AI28pu0yYuO1P z#aI&L7tG-B>_!@pqvPq~7*Y|J+GEJY;J|VC(-uCz?ce*q`#8p2;al1wwABv3Phr>mdKI;Vst0GOaGr2qf` diff --git a/vendor/easybook/geshi/docs/api/media/images/Variable.png b/vendor/easybook/geshi/docs/api/media/images/Variable.png deleted file mode 100644 index 2a372b487e93fb4748f8580b32164957d7826321..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 564 zcmV-40?Yl0P)X&i{p^;s5uH zFRkVO=xd>dNY}DbkBD{Oz;aifYb8c2WA} zZSmxG|K*PP;BRG(x^0u&FP+@2lvd8DPWa7hF|_cttB=~dQTyLtt;pdns^S0Ll}vfh zNtEIL-G}SHVIoC|`s#N-x9Vn@%>VC+SJnT{t4jIKa_8q#`~Uy|#z{m$RCr!p&ozR? zFbqJ^NVbE6%*@OT%goGp|3j>j%{22nJr|NC4)U?{an^LB{Ts57KR)2 diff --git a/vendor/easybook/geshi/docs/api/media/images/class_folder.png b/vendor/easybook/geshi/docs/api/media/images/class_folder.png deleted file mode 100644 index be0face221079addd7f8e882945f6c8198065eb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 497 zcmVPv#k zRfD6WffqA+;^fhnUy!h*y{qKbo!P-ZcYETt@ygbRR zFDOu;Gl%Bv-nHD*PlT(ynVDvDb4taiEbPTNGm`3aqSwEoE6J`|dT~Nv4)gs0006B? zL_t(|UTx1sa>GCX0Ko+@Gt11(%nmdC|1F7Du5vla9Q!t4`Ky0mh<*~!&;U0<;GoZH z+C4zCz5|Cs*qzIWRJ6ld^s^>bP0l+XkKHvAUX diff --git a/vendor/easybook/geshi/docs/api/media/images/file.png b/vendor/easybook/geshi/docs/api/media/images/file.png deleted file mode 100644 index 8ff962fd264c896a5d492c7f7e942e0f92100120..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+o!3-o#udq!9QpN#3A+G;_fA9&ZU|?WzELpK& z!IFlChX4QnGq7tpmh|W`7%&Lf95`@b*{KhV3{rXwhAa#!3=ACW#4|SowI_MHIEGZj z#h&vNI-tPeaxw3K;p4yl(k9a+{~dZHs^{>hO(N~Egzm%imj0u!>$2i(z2CmgGxB~V z=(Ofk=ESw{P4DLY?>*CZytTRVz1o7X?9^vl@(vi>UAp6`#q7tQcKhEu%B?wx`Pz$J S3K>A#7(8A5T-G@yGywqTELBSY diff --git a/vendor/easybook/geshi/docs/api/media/images/folder.png b/vendor/easybook/geshi/docs/api/media/images/folder.png deleted file mode 100644 index b793328d008fb0f6c39d03602350e421d1162553..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367 zcmV-#0g(QQP)Q<005*(L_t(|UOmcHlEW|* zL{U8%nHj>&%skAq|J6iRD!G4ssu9x!lF8gd!=&UmQ+WNlHAir8N}_liG-xIu(Dh#B zrS_xbMH+>$BDKG*qHRY8g)CgYdD5sKxQ2lVWI61&i*;e*Qs6ji>2>+15BXnHt2w0B z-X!a;@RNr(}SSdwLwr+0003rNklM zr?1Mx-w2d4jUSZqkyN{yAy6Kji%jZ3NOsj}^`Q6x8DK)Bs_OglIZ`mF#xYbAm8!p9 zC(0d|4kLB0t6X;>rHw6^ka5Ih`*d^lPrsn3=kq?hx0@2~QH7!1ze;`_r~l#$s_m-W z{@9O{AvHPUdk8R697xf;b}u1JmG-l#cJ1VbklS^^dNUYO^=T9C(Gklvi=vlQyP3VN zG}C6wSwstA769F$uuWN{S7Yh(&E?iSGNJ=_~`72U7#f^3AE#rARf@my9)cl&c zC4{g|!AhV_LwC4VOe)K5X=xu*poMkwjE}ir4D=)XiyzLu00000NkvXXu0mjf10Mp* diff --git a/vendor/easybook/geshi/docs/api/media/images/next_button_disabled.png b/vendor/easybook/geshi/docs/api/media/images/next_button_disabled.png deleted file mode 100644 index def00128c441a8536e6f45783f6a875595bd59de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 405 zcmV;G0c!q^wrJ0$T=H}+s*4Dkfy{)aS#l^+7wYB&6_wVoT-rnA3W@e3zjdOEz|NsAcdwYX} zgIru(-^J4$0003LNklGn)I#5t0#3>t5m3 zvJR|3rXwAd9V+7ULOB(E zsM^zuGWy3|`bB}!9y$*y*HGh(QtPOc2W97YwO*CWpKsql@wp_|t8)OVpo;LL0o|S( z_PIIUp&{k9QKEY&;HWa8a0lR;2llrzc~b!OuN!Aa0GNYSzo&TE$*7WS8TG3W$-bq` z%*>W*4D+Z9rlq0PkO23)Kc#sa%eIH?qz;>OA+3r)!@|F+hB?Hshq$$_#h*=xU<$F2 zN|~9Nz`($$gf^XbCik@=$hMD|Z4ilpZuYb*h+YQsuOg;_F}cmx5C8xG#Ysd#RCr!p z&qZ>>P!IsonfWAUmYFfk%*^*cOzc>dN~M=?*HHi0FA)6&h9XS`qZJSn7p@zg*Iss! z5s;Ja*!IA%M)~k;>xzN1c@i3iW##>D@iFEIXookCUwOAE_Qu?72oQHiz2WhzjNp?M^veJi$-AltPufmi^&lp)`|Gi;Vmo&W#Pt-fGEcF+elr2dLV72BYNt3`vVny3d z-Dg=qz_x8VD2k(Y3B#@@K-X_+dPcECf*6$PoZs7iTpNhSAS+L|1^! zKvAv&%mcpSFKCE3Hqjvu0aaD?=FamJWpONE$nv~pkjbnz5Fh^9e*lg>4shD$O_~4z N002ovPDHLkV1k8!zp(%S diff --git a/vendor/easybook/geshi/docs/api/media/images/previous_button.png b/vendor/easybook/geshi/docs/api/media/images/previous_button.png deleted file mode 100644 index 9f0c62d4b1703fe05d9049cd7e88e5adbd7ae6d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 505 zcmV(My}iA~#l@|yt<22K*4EbE-rjqAdoyOtb8~b5|Nrmr z?`)9PgM)+U>+wo=(0ZEMowMIuTwFhH&XTO(OL)Eh+< zV~N(Sz~;o!>$Ae*Sb@}_x8&vM@7LbzwZ-K#$Qh^r00AvYL_t(|UX9b`lEWYrfKl$n zEnbyXm-m0ZC4r%Zc4zkc%Nc?M(#IHj@2QtRmTO?gP10aIIdx0w|P$f6S#S_4<+5 z^;9VuRqXM!PjD=i!l+WKZQ5w5w5!klZgZi$Reb6Q(rC(iTnCl6C@0bzELH4%QGPyC zu~VeC9EU2ze1`$aZvG27$DB{OB~1+oNpMySz`7-y({qY)n07?P*D)BuRTxooG-nJK v9g&z{nuTVmE0S_2d3ujA)P_SHb!qe$^wrJ0$T=H}+Ty}j1f*52OU#l^*DW@fFet+lna@9*!8jg9~R|8sM5_xJaEdwYX} zgIru()*}&80003LNklonTddQ_O5aektX@5u4>rt1{hdD}sjD6o~e4dimIj zo#>_H27#fYp)?Z>#Z_$-z-Hx0v?#iT>47HH%R_m_Bjj@&9nxYiv>H(vl4EqSD?FDxvuZtglCSJ>&L}umf^g;+}$36p!a$h{z-B>6J^OEe3w7f(UvABY!3t>HY}PrlX_{1;FJh z|CSPNM~FNo4d`}tOvU(!*ypjuo)Bp%YhV2VMR6k~VEa4*00000NkvXXu0mjf6hy%M diff --git a/vendor/easybook/geshi/docs/api/media/images/private_class_logo.png b/vendor/easybook/geshi/docs/api/media/images/private_class_logo.png deleted file mode 100644 index c9d3a58a83d1eecb61113ea4952609be59ba1623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1511 zcmZWpc~sI_7)8xAZ5gMg1uGRP1(z^N(P~nHGlEM>FdAy%l4XiVP$$>a94G{rP*c*> zOcE%WtkhC*UuFzVb0rcrvlF^Vwh4Qkq9mlq$4>Ey^0l0GD|1I3dVv9RQ@?Hs2R`6oDsLwfn#yq=yNh;&^P$(1#1d)-EGMS7@r5ZWJ@pwEC)+T2P#T`d*TZe{*knwG#0RS1%ESJkc z95~?y49hpNXQOYZK`8Jg$ny>GFfph2j$_3KubwZ5%NGua)%!*BHo__5Gl0Hpt=dgQd$2#=+*Yoy?u30>V2z(r;c4Kh^Ts%N|pOS zW|`V;9#&<{C^T_oll{ZMMvwvZKLMat9WKNd4c>0)mir}OY z6VDuwG|xv%CPW_CvI#aV^f|y6KLC5j)hrXM7NMAkU3QT>tb!cwE&ha{fRtKA%9)SV zL01Q9>3w@#ZkoFB?Hkm)(23Zd&mgO(`#(j!09X?MH8>hWznnD*_?5n97m7e`i)#P2 zKU3w`xV)Qw_1cs7Db4SQH0HTHC9kyNRAKGTb6i;9jpN=yld7u#OV%orLO zo%S0|K*0B(%_hUxv?Ys2ttZR-wY7E3;9ItCwY6Ji;m&g{&iq*EY@8pHr%*(jA3X{% zPh@9i7B60mBjOwDat z%igi0O%k%O9JA_|Y>ixdjKFW>m`!`!$vx6^a#BxSqU)q#+}SkG^XLdcr};T;VPCpm zkTeI|!W?(?LQ)u?Je%w^y>fgHe=u1vP4SFHAcaUm@uZ&g_Qd$?Uv2UJ)Bj*F)2?3a zd+jf3CIv~fw6HQpRwB{RP&tMAm6uE(dxpx&6K~W{97*1+IF06q-z&+`=?p;eawE6_bv39`b4)@ z8u7SR*X&wJcCzJ8?eb8bHh#*qWErEQQWPI^EFGV}tB)5ZzP8-$I(H<)#<;d$^(SO~ zPT%eK%xnd}JtbsQ46SDPeTlGV&4uea{l#&a+O}Lp*p9H9_Nd85S-u84`uQDWN7OXY zkY2gIAuM#N>8{or<77qXx)rnSz5cgCe0(ma*D)vUUUW=2@?#EgjCI*3Y8tDOJQtLQIY<~ z`uf*h@NiURetg_JT|3UeK~8~po9*Wo7Pc?nw;0&828()76>*&L?Y|}9-EmSZ?b5%h CsNI7A diff --git a/vendor/easybook/geshi/docs/api/media/images/tutorial.png b/vendor/easybook/geshi/docs/api/media/images/tutorial.png deleted file mode 100644 index 14443d8cdef64b01efd8fd4def988b8c19356fe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301 zcmV+|0n+}7P)oMOW@cttSy{EU zwLoUs&)M~?tgOGx@^6gd@ACWrGt6*};^bg3eEQ9R} diff --git a/vendor/easybook/geshi/docs/api/media/images/tutorial_folder.png b/vendor/easybook/geshi/docs/api/media/images/tutorial_folder.png deleted file mode 100644 index 6e28f012a9f67a2d40229c07f9769c4609eb9103..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 425 zcmV;a0apHrP)2*Azqp`VEvPrS7N z005OqL_t(|URBIP76dT>0MW2*b7`psf$`4UASb?h6 zLjhYoie(OdEw?#@hgg8`d#KMI0~A;mhb+r_5SA%ATNO-r^X_Udv)Tk`d00000NkvXXu0mjfx*^nJ diff --git a/vendor/easybook/geshi/docs/api/media/images/up_button.png b/vendor/easybook/geshi/docs/api/media/images/up_button.png deleted file mode 100644 index bd9ff8cd2ad3bbc0bec9a6835ca8f17aef7149e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 zcmV+q0`UEbP)V!YdwY97Zq9p~+Jl3GTwGj+qui;y;E7h= zZjslax8%Oc8}jKv9NX z-P6nVzW@JyJ79}7PPq?JB#u0j$dG=_TWiflFrAJHl+stCf+?Ss*5K!boM941<+Vk5 z%>aOtjY>jdrdlUWH=by6d{nLeW7J&;>en*u%d9RIMY6 z)$1;HD3lw>V&HF5uQR2DtO)b-c#X3jyFw`wQQrM0U`JG|=Y*`La#Im2(2Tt` zO>+*h8o#~gpU5|)XBNS&w=4dq?Us^WO9+c#%4o`D%d7YnN(nhTWl{<^Z#jXeymQ*5 zbWX*nkZ!Xjbi5sbwUXiqO^GSSa9Tw; - - - - - - - - - - - - - \ No newline at end of file diff --git a/vendor/easybook/geshi/docs/api/todolist.html b/vendor/easybook/geshi/docs/api/todolist.html deleted file mode 100644 index 95177c1..0000000 --- a/vendor/easybook/geshi/docs/api/todolist.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - Todo List - - - - -

        Todo List

        -

        geshi

        -

        GeSHi::disable_highlighting()

        -
          -
        • Rewrite with array traversal
        • -
        -

        GeSHi::enable_highlighting()

        -
          -
        • Rewrite with array traversal
        • -
        -

        GeSHi::enable_important_blocks()

        -
          -
        • REMOVE THIS SHIZ FROM GESHI!
        • -
        -

        GeSHi::get_language_name_from_extension()

        -
          -
        • Re-think about how this method works (maybe make it private and/or make it a extension->lang lookup?)
        • -
        • static?
        • -
        -

        GeSHi::highlight_lines_extra()

        -
          -
        • Some data replication here that could be cut down on
        • -
        -

        GeSHi::load_from_file()

        -
          -
        • Complete rethink of this and above method
        • -
        -

        - Documentation generated on Thu, 25 Dec 2008 14:34:53 +0100 by phpDocumentor 1.4.2 -

        - - \ No newline at end of file diff --git a/vendor/easybook/geshi/docs/geshi-doc.html b/vendor/easybook/geshi/docs/geshi-doc.html deleted file mode 100644 index dc5161f..0000000 --- a/vendor/easybook/geshi/docs/geshi-doc.html +++ /dev/null @@ -1,4077 +0,0 @@ - - - - GeSHi Documentation 1.0.8.11 - - - - - - - - -

        GeSHi Documentation

        - -
        - -

        Version 1.0.8.11

        - -

        The GeSHi Logo

        - -
        -
        Authors:
        -
        © 2004 - 2007 Nigel McNie
        - -
        © 2007 - 2012 Benny Baumann
        - -
        © 2008 - 2009 Milian Wolff
        - -
        GeSHi Website:
        -
        http://qbnz.com/highlighter
        -
        - -
        - -

        This is the documentation for GeSHi - Generic Syntax Highlighter.

        - -

        The most modern version of this document is available on the web - -go to http://qbnz.com/highlighter/documentation.php to view it.

        - -

        Any comments, questions, confusing points? Please get in contact with the developers! We -need all the information we can get to make the use of GeSHi and everything related to it (including this documentation) -a breeze.

        - -

        Contents

        - -
        -
        - -

        1 Introduction

        - -

        GeSHi is exactly what the acronym stands for: a Generic Syntax Highlighter. As long -as you have a language file for almost any computer language - whether it be a -scripting language, object orientated, markup or anything in between - GeSHi can -highlight it! GeSHi is extremely customisable - the same source can be highlighted -multiple times in multiple ways - the same source even with a different language. -GeSHi outputs XHTML strict compliant code1, and can -make use of CSS to save on the amount of output. And what is the cost for all of this? You need -PHP. That’s all!

        - -

        1.1 Features

        - -

        Here are some of the standout features of GeSHi:

        - -
        -
        Programmed in PHP:
        -
        GeSHi is coded entirely in PHP. This means that where ever you have PHP, you -can have GeSHi! Almost any free webhost supports PHP, and GeSHi works fine with PHP > 4.3.02.
        - -
        Support for many languages:
        -
        GeSHi comes with more than 100 languages, including PHP, HTML, CSS, Java, C, Lisp, XML, Perl, Python, -ASM and many more!
        - -
        XHTML compliant output:
        -
        GeSHi produces XHTML compliant output, using stylesheets, so you need not worry about -GeSHi ruining your claims to perfection in the standards department ;)
        - -
        Highly customisable:
        -
        GeSHi allows you to change the style of the output on the fly, use CSS classes or not, use an external -stylesheet or not, use line numbering, change the case of output keywords… the list goes on and on!
        - -
        Flexible:
        -
        Unfortunately, GeSHi is quite load/time intensive for large blocks of code. However, you want speed? -Turn off any features you don’t like, pre-make a stylesheet and use CSS classes to reduce the amount of output and more - -it’s easy to strike a balance that suits you.
        -
        - -

        This is just a taste of what you get with GeSHi - the best syntax highlighter for the web in the world!

        - -

        1.2 About GeSHi

        - -

        GeSHi started as a mod for the phpBB forum system, to enable highlighting of more -languages than the available (which can be roughly estimated to exactly 0 ;)). However, it quickly spawned into an -entire project on its own. But now it has been released, work continues on a mod -for phpBB3 - and hopefully for many forum systems, blogs and other web-based systems.

        - -

        Several systems are using GeSHi now, including:

        - -
          -
        • Dokuwiki - An advanced wiki engine
        • -
        • gtk.php.net - Their manual uses GeSHi for syntax highlighting
        • -
        • WordPress - A powerful blogging system4
        • -
        • PHP-Fusion - A constantly evolving CMS
        • -
        • SQL Manager - A Postgres DBAL
        • -
        • Mambo - A popular open source CMS
        • -
        • MediaWiki - A leader in Wikis[^plugin-only]
        • -
        • TikiWiki - A megapowerful Wiki/CMS
        • -
        • TikiPro - Another powerful Wiki based on TikiWiki
        • -
        • WikkaWiki - A flexible and lightweight Wiki engine
        • -
        • RWeb - A site-building tool
        • -
        - -

        GeSHi is the original work of Nigel McNie. The project was later handed over to Benny Baumann. -Others have helped with aspects of GeSHi also, they’re mentioned in the THANKS file.

        - -

        1.3 Credits

        - -

        Many people have helped out with GeSHi, whether by creating language files, submitting bug -reports, suggesting new ideas or simply pointing out a new idea or something I’d missed. All -of these people have helped to build a better GeSHi, you can see them in the THANKS -file.

        - -

        Do you want your name on this list? Why not make a language file, or submit a valid bug? Or perhaps help me with an -added feature I can’t get my head around, or suggest a new feature, or even port -GeSHi to anothe language? There’s lots you can do to help out, and I need it all :)

        - -

        1.4 Feedback

        - -

        I need your feedback! ANYthing you have to say is fine, whether it be a query, -congratulations, a bug report or complaint, I don’t care! I want to make this software -the best it can be, and I need your help! You can contact me in the following ways:

        - - - -

        Remember, any help I am grateful for :)

        - -

        2 The Basics

        - -

        In this section, you’ll learn a bit about GeSHi, how it works and what it uses, how to install it and how to use -it to perform basic highlighting.

        - -

        2.1 Getting GeSHi work

        - -

        If you’re reading this and don’t have GeSHi, that’s a problem ;). So, how do you get your hands on it?

        - -

        2.1.1 Requirements

        - -

        GeSHi requires the following to be installable:

        - -
          -
        • PHP. It’s untested with anything other below 4.4.X. I hope to extend this range soon. I see no reason why -it won’t work with any version of PHP above 4.3.0.
        • -
        • Approximately 2 megabytes of space. The actual script is small - around 150K - but most of the size comes -from the large number of language files (over 100!). If you’re pushed for space, make sure you don’t upload to -your server the docs/ or contrib/ directory, and you may want to leave out any language files that don’t -take your fancy either.
        • -
        - -

        As you can see, the requirements are very small. If GeSHi does NOT work for you in a particular version of PHP, let -me know why and I’ll fix it.

        - -

        2.1.2 Downloading GeSHi

        - -

        There are several ways to get a copy of GeSHi. The first and easiest way of all is -visiting http://qbnz.com/highlighter/downloads.php to obtain the latest version. -This is suitable especially when you plan on using GeSHi on an production website -or otherwise need a stable copy for flawless operation.

        - -

        If you are somewhat more sophisticated or need a feature just recently implemented -you might consider getting GeSHi by downloading via SVN. There are multiple ways -for doing so and each one has its own advantages and disadvantages. Let’s cover -the various locations in the SVN you might download from:

        - -
          -
        • https://geshi.svn.sourceforge.net/svnroot/geshi/tags/:
          -This directory holds all previous releases of GeSHi each as a subdirectory. By downloading from here you can test your code with various old versions -in case something has been broken recently.
        • -
        • https://geshi.svn.sourceforge.net/svnroot/geshi/branches/RELEASE_1_0_X_STABLE/geshi-1.0.X/src/:
          -This directory is the right place for you if you want to have reasonably current versions of GeSHi but need something that is stable. This directory -is updated once in a while between updates whenever there’s something new but which is already reasonably stable. This branch is used to form the -actual release once the work is done.
        • -
        • https://geshi.svn.sourceforge.net/svnroot/geshi/trunk/geshi-1.0.X/src/:
          -This directory is the working directory where every new feature, patch or improvement is committed to. This directory is updated regularly, but is not -guaranteed to be tested and stable at all times. With this version you’ll always get the latest version of GeSHi out there, but beware of bugs! There -will be loads of them here! So this is absolutely not recommended for productive use!
        • -
        - -

        If you have choosen the right SVN directory for you do a quick -svn co $SVNPATH geshi where $SVNPATH is one of the above paths and your desired version of GeSHi will be -downloaded into an subdirectory called “geshi”. If you got a version of GeSHi -you can go on installing as shown below.

        - -

        2.1.3 Extracting GeSHi

        - -

        Packages come in .zip, .tar.gz and .tar.bz2 format, so there’s no complaining about whether it’s available for -you. *nix users probably want .tar.gz or .tar.bz2 and windows users probably want .zip. -And those lucky to download it directly from SVN don’t even need to bother extracting GeSHi.

        - -

        To extract GeSHi in Linux (.tar.gz):

        - -
          -
        1. Open a shell
        2. -
        3. cd to the directory where the archive lies
        4. -
        5. Type tar -xzvf [filename] where [filename] is the name of the archive (typically GeSHi-1.X.X.tar.gz)
        6. -
        7. GeSHi will be extracted to its own directory
        8. -
        - -

        To extract GeSHi in Windows (.zip):

        - -
          -
        1. Open Explorer
        2. -
        3. Navigate to the directory where the archive lies
        4. -
        5. Extract the archive. The method you use will depend on your configuration. Some people can right-click upon -the archive and select “Extract” from there, others may have to drag the archive and drop it upon an extraction program.
        6. -
        - -

        To extract from .zip you’ll need an unzipping program - unzip in Linux, or 7-Zip, WinZip, WinRAR or similar for Windows.

        - -

        2.1.4 Installing GeSHi

        - -

        Installing GeSHi is a snap, even for those most new to PHP. There’s no tricks involved. Honest!

        - -

        GeSHi is nothing more than a PHP class with related language support files. Those of you familiar with PHP can then -guess how easy the installation will be: simply copy it into your include path somewhere. You can put it wherever you -like in this include path. I recommend that you put the language files in a subdirectory of your include path too - -perhaps the same subdirectory that geshi.php is in. Remember this path for later.

        - -

        If you don’t know what an include path is, don’t worry. Simply copy GeSHi to your webserver. So for example, say your -site is at http://mysite.com/myfolder, you can copy GeSHi to your site so the directory structure is like this:

        - -
        http://mysite.com/myfolder/geshi/[language files]
        -http://mysite.com/myfolder/geshi.php
        -
        - -

        Or you can put it in any subdirectory you like:

        - -
        http://mysite.com/myfolder/includes/geshi/[language files]
        -http://mysite.com/myfolder/includes/geshi.php
        -
        - -
        - -
        Caution:
        - -

        When using GeSHi on a live site, the only directory required is the geshi/ subdirectory. Both contrib/ and docs/ are -worthless, and furthermore, as some people discovered, one of the files in contrib had a security hole (fixed as of 1.0.7.3). -I suggest you delete these directories from any live site they are on.

        - -
        - -

        2.2 Basic Usage

        - -

        Use of GeSHi is very easy. Here’s a simple example:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -1415
        -1617
        -1819
        -2021
        -2223
        -2425
        -2627
        -28
        //
        -// Include the GeSHi library//
        -include_once 'geshi.php'; 
        -//// Define some source to highlight, a language to use
        -// and the path to the language files//
        - $source = '$foo = 45;
        -for ( $i = 1; $i < $foo; $i++ ){
        -  echo "$foo\n";  --$foo;
        -}';$language = 'php';
        - //
        -// Create a GeSHi object//
        - $geshi = new GeSHi($source, $language);
        - //
        -// And echo the result!//
        -echo $geshi->parse_code();
        - -

        As you can see, there’s only three really important lines:

        - -

        include_once('geshi.php')

        - -

        This line includes the GeSHi class for use

        - -

        $geshi = new GeSHi($source, $language);

        - -

        This line creates a new GeSHi object, holding the source and the language you want to use for highlighting.

        - -

        echo $geshi->parse_code();

        - -

        This line spits out the result :)

        - -

        So as you can see, simple usage of GeSHi is really easy. Just create a new GeSHi object and get the code!

        - -

        Since version 1.0.2, there is a function included with GeSHi called geshi_highlight. This behaves exactly as the php -function highlight_string() behaves - all you do is pass it the language you want to use to highlight and the -path to the language files as well as the source. Here are some examples:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -1415
        -1617
        -1819
        -2021
        -
        // Simply echo the highlighted code
        -geshi_highlight($source, 'php', $path); 
        -// Get the code back, for use later$code = geshi_highlight($source, 'java', $path, true);
        - // Check if there is an error with parsing this code
        - ob_start();
        -$result = geshi_highlight($source, 'perl', $path);$code = ob_get_contents();
        - ob_end_clean();
        -if ( !$result ){
        -    // There was an error with highlighting...}
        -else{
        -    // All OK :)}
        - -

        However, these are really simple examples and doesn’t even begin to cover all the advanced features of GeSHi. -If you want to learn more, continue on to section 3: Advanced Features.

        - -

        3 Advanced Features

        - -

        This section documents the advanced features of GeSHi - strict mode, using CSS classes, changing styles on the fly, -disabling highlighting of some things and more.

        - -

        In this section there are many code snippets. For all of these, you should assume that the GeSHi library has been -included, and a GeSHi object has been created and is referenced by the variable $geshi. Normally, the -source, language and path used are arbitary.

        - -

        3.1 The Code Container

        - -

        The Code Container has a fundamental effect on the layout of your code before you even begin to style. What is the -Code Container? It’s the bit of markup that goes around your code to contain it. By default your code is surrounded -by a <pre>, but you can also specify a <div>.

        - -

        The <pre> header is the default. If you’re familiar with HTML you’ll know that whitespace is rendered -“as is” by a <pre> element. The advantage for you is that if you use <pre> the whitespace -you use will appear pretty much exactly how it is in the source, and what’s more GeSHi won’t have to add a whole -lot of <br />’s and non-breaking spaces (&nbsp;) to your code to indent it. This saves -you source code (and your valuable visitors waiting time and your bandwidth).

        - -

        But if you don’t like <pre> or it looks stupid in your browser no matter what styles you try to -apply to it or something similar, you might want to use a <div> instead. A <div> will -result in more source - GeSHi will have to insert whitespace markup - but in return you can wrap long lines of code -that would otherwise have your browser’s horizontal scrollbar appear. Of course with <div> you can -not wrap lines if you please. The highlighter demo at the GeSHi home page uses the <div> -approach for this reason.

        - -

        At this stage there isn’t an option to wrap the code in <code> tags (unless you use the function -geshi_highlight), partly because of the inconsistent and unexpected ways stuff in <code> tags is -highlighted. Besides, <code> is an inline element. But this may become an option in future versions.

        - -

        As of GeSHi 1.0.7.2 there is a new header type, that specifies that the code should not be wrapped in anything at all.

        - -

        Another requested addition has been made in GeSHi 1.0.7.20 to force GeSHi to create a block around the highlighted -source even if this wasn’t necessary, thus styles that are applied to the output of GeSHi can directly influence -the code only even if headers and footers are present.

        - -

        To change/set the header to use, you call the set_header_type() method. It has one required argument which -defines the container type. Available are:

        - -
        -
        $geshi->set_header_type(GESHI_HEADER_DIV);
        -
        -

        Puts a <div> around both, code and linenumbers. Whitespace is converted to &nbsp; -sequences (i.e. one whitespace and the html entity of a non-breaking whitespace) to keep your indendation level -in tact. Tabs are converted as well and you can manually define the tab-width. Lines are automatically wrapped. -Linenumbers are created using an ordered list.

        -
        - -
        $geshi->set_header_type(GESHI_HEADER_PRE);
        -
        -

        Wraps code and linenumbers in a <pre> container. This way whitespace is kept as-is and thus -this header produces less overhead then the GESHI_HEADER_DIV header type. Since linenumbers are still -created using an ordered list this header type produces invalid HTML.

        -
        - -
        $geshi->set_header_type(GESHI_HEADER_PRE_VALID);
        -
        Available since 1.0.8
        - -
        -

        When linenumbers are disabled, this behaves just like GESHI_HEADER_PRE. In the other case though, a -<div> is used to wrap the code and linenumbers and the <pre> is put inside the list -items (<li>). This means slightly larger HTML output compared to GESHI_HEADER_PRE, but the -output is valid HTML.

        -
        - -
        $geshi->set_header_type(GESHI_HEADER_PRE_TABLE);
        -
        Available since 1.0.8
        - -
        -

        Once again a <div> tag wraps the output. This time though no ordered list is used to create an ordered list, -but instead we use a table with two cells in a single row. The left cell contains a <pre> tag which holds all -linenumbers. The second cell holds the highlighted code, also wrapped in a <pre> tag, just like with -GESHI_HEADER_PRE.

        -
        - -
        -

        This produces valid HTML and works around the nasty selection behaviour of Firefox and other Gecko based -browsers, see SF#1651996 for more information.

        -
        - -
        $geshi->set_header_type(GESHI_HEADER_NONE);
        -
        Available since 1.0.7.2
        - -
        -

        No wrapper is added.

        -
        -
        - -

        Those are the only arguments you should pass to set_header_type. Passing anything else may cause inconsistencies -in what is used as the Code Container (although it should simply use a <pre>). Better not to risk it.

        - -
        - -
        Note:
        - -

        GESHI_HEADER_DIV, GESHI_HEADER_PRE, etc. are constants, so don’t put them in strings!

        - -
        - -
        - -
        Caution:
        - -

        The default styles for the <pre> and <div> will be different, especially if you use - line numbers!

        - -

        I have found that a <pre> results in code that is smaller than for that of a <div>, you - should rectify this difference by using set_overall_style() if you need to. But be aware of this - difference for if you are changing the header type!

        - -
        - -

        3.2 Line Numbers

        - -

        GeSHi has the ability to add line numbers to your code (see the demo available at http://qbnz.com/highlighter/demo.php -to see what can be achieved). Line numbers are a great way to make your code look professional, especially if you use the -fancy line numbers feature.

        - -

        There are multiple methods for highlighting line numbers, but none of them is perfect. Of the various ways to highlight -line numbers GeSHi itself implements 2 different approaches, but allows you -by the way it generates the code to do the line numbers yourself if necessary - but more on this case later.

        - -

        The easiest approach is using the <ol>-tag for generating the line numbers, but -even though this is the easiest one there’s a big drawback with this one when -using Gecko-engine based browsers like Firefox or Konqueror. In these browsers -this approach will select the line numbers along with the code or will include extra markup in the selection.

        - -

        The other approach has been implemented in the 1.0.8 release of GeSHi with the GESHI_HEADER_PRE_TABLE header type. -When using this header type the line numbers are rendered apart from the source -in a table cell while the actual source is formatted as if the GESHI_HEADER_PRE header had been used. -This approach works with Firefox and other Gecko-based browsers so far although extreme care -has to be taken when applying styles to your source as Windows has some fonts -where bold font is of different height than normal or italic text of the same fontface.

        - -

        3.2.1 Enabling Line Numbers

        - -

        To highlight a source with line numbers, you call the enable_line_numbers() method:

        - -

        $geshi->enable_line_numbers($flag); -Where $flag is one of the following:

        - -
          -
        • GESHI_NORMAL_LINE_NUMBERS - Use normal line numbering
        • -
        • GESHI_FANCY_LINE_NUMBERS - Use fancy line numbering
        • -
        • GESHI_NO_LINE_NUMBERS - Disable line numbers (default)
        • -
        - -

        Normal line numbers means you specify a style for them, and that style gets applied to all of them. Fancy line numbers -means that you can specify a different style for each nth line number. You change the value of n (default 5):

        - -

        $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 37);

        - -

        The second parameter is not used in any other mode. Setting it to 0 is the same as simply using normal line numbers. -Setting it to 1 applies the fancy style to every line number.

        - -
        - -
        Note:
        - -

        The values above are CONSTANTS - so don’t put them in strings!

        - -
        - -

        3.2.2 Styling Line Numbers

        - -

        As of GeSHi 1.0.2, line numbers are added by the use of ordered lists. This solves the old issues of line number -styles inheriting from styles meant for the code. Also, this solves an important issue about selecting code. For -example, line numbers look nice, but when you go to select the code in your browser to copy it? You got the line -numbers too! Not such a good thing, but thankfully this issue is now solved. What is the price? Unfortunately the -whole way that styles are inherited/used has changed for those of you who were familiar with 1.0.1, and there is -quite a bit more HTML involved. So think carefully about these things before you enable line numbers.

        - -

        Now, onto how to style line numbers:

        - -

        Styles are set for line numbers using the set_line_style() method:

        - -

        $geshi->set_line_style('background: #fcfcfc;');

        - -

        If you’re using Fancy Line Numbers mode, you pass a second string for the style of the nth line number:

        - -

        $geshi->set_line_style('background: #fcfcfc;', 'background: #f0f0f0;');

        - -

        The second style will have no effect if you’re not using Fancy Line Numbers mode.

        - -

        By default, the styles you pass overwrite the current styles. Add a boolean “true” after the styles you specify to combine them with the current styles:

        - -
        PHP code
        1
        -23
        -4
        $geshi->set_line_style('background: red;', true);
        - // or, for fancy line numbers
        -$geshi->set_line_style('background: red;', 'background: blue;', true);
        - -
        - -
        Note:
        - -

        Due to a bug with Firefox the issue that should have been fixed with 1.0.2 has reappeared in another form as Firefox - includes extra text\markup into plaintext versions of webpage copies. This can sometimes be useful (actually it’s - used to get the plaintext version of this documentation), but more often is quite annoying. Best practice so far is - to either not use line numbers, or offer the visitor of your page a plaintext version of your source. To learn more - have a look at the SF.net BugTracker Issue #1651996. This will hopefully be fixed in GeSHi version 1.2 - or as soon as Firefox provides webdevelopers with adequate ways to control this feature - whichever comes first!

        - -
        - -
        - -
        Caution:
        - -

        When you set line number styles, the code will inherit those styles! This is the main issue to come out of the 1.0.2 - release. If you want your code to be styled in a predictable manner, you’ll have to call the set_code_style() - method to rectify this problem.

        - -

        Note also that you cannot apply background colours to line numbers unless you use set_overall_style(). - Here’s how you’d style:

        - -
          -
        1. Use set_overall_style() to style the overall code block. For example, you can set the border -style/colour, any margins and padding etc. using this method. In addition: set the background colour for -all the line numbers using this method.

        2. -
        3. Use set_line_style() to style the foreground of the line numbers. For example, you can set the colour, -weight, font, padding etc. of the line numbers using this method.

        4. -
        5. Use set_code_style() to explicitly override the styles you set for line numbers using -set_line_style. For example, if you’d set the line numbers to be bold (or even if you’d only set -the fancy line number style to be bold), and you didn’t actually want your code to be bold, you’d make sure -that font-weight: normal; was in the stylesheet rule you passed to set_code_style().

          - -

          This is the one major change from GeSHi 1.0.1 - make sure you become familiar with this, and make sure that you check -any code you have already styled with 1.0.1 when you upgrade to make sure nothing bad happens to it.

        6. -
        - -
        - -

        3.2.3 Choosing a Start Number

        - -

        As of GeSHi 1.0.2, you can now make the line numbers start at any number, rather than just 1. This feature is useful -if you’re highlighting code from a file from around a certain line number in that file, as an additional guide to -those who will view the code. You set the line numbers by calling the start_line_numbers_at() method:

        - -

        $geshi->start_line_numbers_at($number);

        - -

        $number must be a positive integer (or zero). If it is not, GeSHi will convert it anyway.

        - -

        If you have not enabled line numbers, this will have no effect.

        - -
        - -
        Caution:
        - -

        Although I’d like GeSHi to have XHTML strict compliance, this feature will break compliancy (however transitional - compliancy remains). This is because the only widely supported way to change the start value for line numbers is - by using the start=”number” attribute of the <ol> tag. Although CSS does provide a mechanism for - doing this, it is only supported in Opera versions 7.5 and above (not even Firefox supports this).

        - -
        - -

        3.3 Using CSS Classes

        - -

        Using CSS to highlight your code instead of in-lining the styles is a definate bonus. Not only is it more compliant -(the w3c is deprecating the style attribute in XHTML 2.0) but it results in far less outputted code - up to a whopping -90% saving - which makes a *huge* difference to those unlucky of us on modems!

        - -

        3.3.1 Enabling CSS Classes

        - -

        By default, GeSHi doesn’t use the classes, so it’s easy just to whack out some highlighted code if you need without -worrying about stylesheets. However, if you’re a bit more organised about it, you should use the classes ;). To turn -the use of classes on, you call the enable_classes() method:

        - -

        $geshi->enable_classes();

        - -

        If you want to turn classes OFF for some reason later:

        - -

        $geshi->enable_classes(false);

        - -

        If classes are enabled when parse_code() is called, then the resultant source will use CSS classes in the -output, otherwise it will in-line the styles. The advantages of using classes are great - the reduction in source will -be very noticeable, and what’s more you can use one stylesheet for several different highlights on the same page. In -fact, you can even use an external stylesheet and link to that, saving even more time and source (because stylesheets -are cached by browsers).

        - -
        - -
        Note:
        - -

        There have been problems with inline styles and the Symbol Highlighting added in 1.0.7.21. If you can you should - therefore turn CSS classes ON to avoid those issues. Although latest reworks in 1.0.8 should fix most of those issues.

        - -
        - -
        - -
        Caution:
        - -

        This should be the very first method you call after creating a new GeSHi object! That way, various other methods - can act upon your choice to use classes correctly. In theory, you could call this method just before parsing the - code, but this may result in unexpected behaviour.

        - -
        - -

        3.3.2 Setting the CSS class and ID

        - -

        You can set an overall CSS class and id for the code. This is a good feature that allows you to use the same -stylesheet for many different snippets of code. You call set_overall_class() and set_overall_id -to accomplish this:

        - -
        PHP code
        1
        -2
        $geshi->set_overall_class('mycode');
        -$geshi->set_overall_id('dk48ck');
        - -

        The default classname is the name of the language being used. This means you can use just the one stylesheet for all -sources that use the same language, and incidentally means that you probably won’t have to call these methods too often.

        - -

        CSS IDs are supposed to be unique, and you should use them as such. Basically, you can specify an ID for your code -and then use that ID to highlight that code in a unique way. You’d do this for a block of code that you expressly -wanted to be highlighted in a different way (see the section below on gettting the stylesheet for your code for an example).

        - -
        - -
        Note:
        - -

        As of GeSHi 1.0.8 the class name will always include the language name used for highlighting.

        - -
        - -

        3.3.3 Getting the stylesheet for your code

        - -

        The other half of using CSS classes is getting the stylesheet for use with the classes. GeSHi makes it very easy to -get a stylesheet for your code, with one easy method call:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -1415
        -1617
        -
        $geshi->enable_classes();
        - // Here we have code that will spit out a header for
        -// a stylesheet. For example: 
        -echo '<html><head><title>Code</title>
        -<style type="text/css"><!--';
        -// Echo out the stylesheet for this code blockecho $geshi->get_stylesheet();
        - // And continue echoing the page
        - echo '-->
        -</style></head><body>';
        - -

        The get_stylesheet() method gets the stylesheet for your code in one easy call. All you need to do -is output it in the correct place. As you can also see, you don’t even have to enable class usage to get the -stylesheet nessecary either - however not enabling classes but using the stylesheet may result in problems later.

        - -

        By default, get_stylesheet() tries to echo the least amount of code possible. Although currently it doesn’t -check to see if a certain lexic is even in the source, you can expect this feature in the future. At least for the -present however, if you explicitly disable the highlighting of a certain lexic, or disable line numbers, the related -CSS will not be outputted. This may be a bad thing for you perhaps you’re going to use the stylesheet for many blocks -of code, some with line numbers, others with some lexic enabled where this source has it disabled. Or perhaps you’re -building an external stylesheet and want all lexics included. So to get around this problem, you do this:

        - -

        $geshi->get_stylesheet(false);

        - -

        This turns economy mode off, and all of the stylesheet will be outputted regardless.

        - -

        Now lets say you have several snippets of code, using the same language. In most of them you don’t mind if they’re -highlighted the same way (in fact, that’s exactly what you want) but in one of them you’d like the source to be -highlighted differently. Here’s how you can do that:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -1415
        -1617
        -1819
        -2021
        -2223
        -2425
        -2627
        -2829
        -3031
        -3233
        -3435
        -3637
        -3839
        -4041
        -4243
        -4445
        -4647
        -48
        // assume path is the default "geshi/" relative to the current directory
        - $geshi1 = new GeSHi($source1, $lang);
        -$geshi2 = new GeSHi($source2, $lang); 
        -$geshi3 = new GeSHi($source3, $lang); 
        -// Turn classes on for all sources$geshi1->enable_classes();
        - $geshi2->enable_classes();
        -$geshi3->enable_classes(); 
        -// Make $geshi3 unique$geshi3->set_overall_id('different');
        -  
        -//// Methods are called on $geshi3 to change styles...
        -// 
        -echo '<html><head><title>Code</title>
        - <style type="text/css">
        -<!--';
        - // Get the nessecary stylesheets
        -echo $geshi1->get_stylesheet(); 
        -echo $geshi3->get_stylesheet(); 
        -echo '--></style></head>
        -<body>'; 
        - echo 'Code snippet 1:';
        -echo $geshi1->parse_code();echo 'Code snippet 2 (same highlighting as 1):';
        - echo $geshi2->parse_code();
        -echo 'Code snippet 3 (DIFFERENT highlighting):';echo $geshi3->parse_code();
        -  
        -echo '</body></html>';
        - -

        Before version 1.0.2, you needed to set the class of the code you wanted to be unique to the empty string. This -limitation has been removed in version 1.0.2 - if you set the ID of a block of code, all styling will be done based -on that ID alone.

        - -

        3.3.4 Using an External Stylesheet

        - -

        An external stylesheet can reduce even more the amount of code needed to highlight some source. However there are some -drawbacks with this. To use an external stylesheet, it’s up to you to link it in to your document, normally with -the following HTML:

        - -
        HTML code
        1
        -23
        -
        <html>
        -<head><link rel="stylesheet" type="text/css" href="url_to_stylesheet.css" />
        - -

        In your external stylesheet you put CSS declarations for your code. Then just make sure you’re using the correct class (use -set_overall_class() to ensure this) and this should work fine.

        - -

        This method is great if you don’t mind the source always being highlighted the same (in particular, if you’re making a -plugin for a forum/wiki/other system, using an external stylesheet is a good idea!). It saves a small amount of code and -your bandwidth, and it’s relatively easy to just change the stylesheet should you need to. However, using this will render -the methods that change the styles of the code useless, because of course the stylesheet is no longer being dynamically -generated. You can still disable highlighting of certain lexics dynamically, however.

        - -
        - -
        Note:
        - -

        As of version 1.0.2, GeSHi comes with a contrib/ directory, which in it contains a “wizard” script for creating - a stylesheet. Although this script is by no means a complete solution, it will create the necessary rules for the - basic lexics - comments, strings for example. Things not included in the wizard include regular expressions for any - language that uses them (PHP and XML are two languages that use them), and keyword-link styles. However, this script - should take some of the tedium out of the job of making an external stylesheet. Expect a much better version of this - script in version 1.2!

        - -
        - -

        3.4 Changing Styles

        - -

        One of the more powerful features of GeSHi is the ability to change the style of the output dynamically. Why be chained -to the boring styles the language authors make up? You can change almost every single aspect of highlighted code - and -can even say whether something is to be highlighted at all.

        - -

        If you’re confused about “styles”, you probably want to have a quick tutorial in them so you know what you can do with -them. Checkout the homepage of CSS at http://www.w3.org/Style/CSS.

        - -

        3.4.1 The Overall Styles

        - -

        The code outputted by GeSHi is either in a <div> or a <pre> (see the section entitled “The -Code Container”), and this can be styled.

        - -

        $geshi->set_overall_style('... styles ...'); -Where styles is a string containing valid CSS declarations. By default, these styles overwrite the current styles, but you can change this by adding a second parameter:

        - -

        $geshi->set_overall_style('color: blue;', true); -The default styles “shine through” wherever anything isn’t highlighted. Also, you can apply more advanced styles, like position: (fixed|relative) etc, because a <div>/<pre> is a block level element.

        - -
        - -
        Note:
        - -

        Remember that a <div> will by default have a larger font size than a <pre>, as discussed in the section “The Code Container”.

        - -
        - -

        3.4.2 Line Number Styles

        - -

        You may wish to refer to the section [Styling Line Numbers][1] before reading this section.

        - -

        As of version 1.0.2, the way line numbers are generated is different, so therefore the way that they are styled is -different. In particular, now you cannot set the background style of the fancy line numbers to be different from that -of the normal line numbers.

        - -

        Line number styles are set by using the method set_line_style:

        - -

        $geshi->set_line_style($style1, $style2);

        - -

        $style1 is the style of the line numbers by default, and $style2 is the style of the fancy line numbers.

        - -
        - -
        Caution:
        - -

        Things have changed since 1.0.1! This note is very important - please make sure you check this twice before - complaining about line numbers!

        - -

        Because of the way that ordered lists are done in HTML, there really isn’t normally a way to style the actual - numbers in the list. I’ve cheated somewhat with GeSHi - I’ve made it possible to use CSS to style the foreground of - the line numbers. So therefore, you can change the color, font size and type, and padding on them. If you want to - have a pretty background, you must use set_overall_style() to do this, and use set_code_style() - to style the actual code! This is explained in the section above: Styling Line Numbers.

        - -

        In addition, the styles for fancy line numbers is now the difference between the normal styles and the styles you want - to achieve. For example, in GeSHi prior to 1.0.2 you may have done this to style line numbers:

        - -

        $geshi->set_line_style('color: red; font-weight: bold;', 'color: green; font-weight: bold');

        - -

        Now you instead can do this:

        - -

        $geshi->set_line_style('color: red; font-weight: bold;', 'color: green;');

        - -

        The font-weight: bold; will automatically carry through to the fancy styles. This is actually a small - saving in code - but the difference may be confusing for anyone using 1.0.1 at first.

        - -
        - -

        3.4.3 Setting Keyword Styles

        - -

        Perhaps the most regular change you will make will be to the styles of a keyword set. In order to change the styles for -a particular set, you’ll have to know what the set is called first. Sets are numbered from 1 up. Typically, set 1 -contains keywords like if, while, do, for, switch etc, set 2 contains null, false, true etc, set 3 -contains function inbuilt into the language (echo, htmlspecialchars etc. in PHP) and set 4 contains data types and -similar variable modifiers: int, double, real, static etc. However these things are not fixed, and you should -check the language file to see what key you want. Having a familiarity with a language file is definately a plus for -using it.

        - -

        To change the styles for a keyword set, call the set_keyword_group_style() method:

        - -

        $geshi->set_keyword_group_style($group, $styles);

        - -

        Where $group is the group to change the styles for and $styles is a string containing the styles -to apply to that group.

        - -

        By default, the styles you pass overwrite the current styles. Add a boolean true after the styles you specify to -combine them with the current styles:

        - -

        $geshi->set_keyword_group_style(3, 'color: white;', true);

        - -

        3.4.4 Setting Comment Styles

        - -

        To change the styles for a comment group, call the set_comments_style() method:

        - -

        $geshi->set_comments_style($group, $styles);

        - -

        Where $group is either a number corresponding to a single-line comment, or the string 'MULTI' to -specify multiline comments:

        - -
        PHP code
        1
        -2
        $geshi->set_comments_style(1, 'font-style: italic;');
        -$geshi->set_comments_style('MULTI', 'display: hidden;');
        - -

        By default, the styles you pass overwrite the current styles. Add a boolean true after the styles you specify to -combine them with the current styles:

        - -

        $geshi->set_comments_style(1, 'font-weight: 100;', true);

        - -
        - -
        Note:
        - -

        In 1.0.7.22 a new kind of Comments called “COMMENT_REGEXP” has been added. Those are handled by setting single - line comment styles.

        - -
        - -

        3.4.5 Setting Other Styles

        - -

        GeSHi can highlight many other aspects of your source other than just keywords and comments. Strings, Numbers, Methods -and Brackets among other things can all also be highlighted. Here are the related methods:

        - -
        PHP code
        1
        -23
        -45
        -67
        -
        $geshi->set_escape_characters_style($styles[, $preserve_defaults]);
        -$geshi->set_symbols_style($styles[, $preserve_defaults]); 
        -$geshi->set_strings_style($styles[, $preserve_defaults]);$geshi->set_numbers_style($styles[, $preserve_defaults]);
        -$geshi->set_methods_style($key, $styles[, $preserve_defaults]);$geshi->set_regexps_style($key, $styles[, $preserve_defaults]);
        - -

        $styles is a string containing valid stylesheet declarations, while $preserve_defaults should be set -to true if you want your styles to be merged with the previous styles. In the case of set_methods_style(), -you should select a group to set the styles of, check the language files for the number used for each “object splitter”.

        - -

        Like this was possible for set_method_style a new parameter has been introduced for -set_symbols_style too which allows you to select the group of symbols for which you’d like to change your -style. $geshi->set_symbols_style($styles[, $preserve_defaults[, $group]]); If the third parameter is not -given, group 0 is assumed. Furthermore you should note that any changes to group 0 are also reflected in the bracket -style, i.e. a pass-through call to set_bracket_style is made.

        - -
        - -
        Note:
        - -

        Since GeSHi 1.0.8 multiple styles for strings and numbers are supported, though the API doesn’t provide full access yet.

        - -
        - -

        3.5 Case Sensitivity and Auto Casing

        - -

        Controlling the case of the outputted source is an easy job with GeSHi. You can control which keywords are converted in -case, and also control whether keywords are checked in a case sensitive manner.

        - -

        3.5.1 Auto-Caps/NoCaps

        - -

        Auto-Caps/NoCaps is a nifty little feature that capitalises or lowercases automatically certain lexics when they are -styled. I dabble in QuickBASIC, a dialect of BASIC which is well known for it’s capatalisation, and SQL is another -language well known for using caps for readability.

        - -

        To change what case lexics are rendered in, you call the set_case_keywords() method:

        - -

        $geshi->set_case_keywords($caps_modifier);

        - -

        The valid values to pass to this method are:

        - -
          -
        • GESHI_CAPS_NO_CHANGE - Don’t change the case of any lexics, leave as they are found
        • -
        • GESHI_CAPS_UPPER - Uppercase all lexics found
        • -
        • GESHI_CAPS_LOWER - Lowercase all lexics found
        • -
        - -
        - -
        Caution:
        - -

        When I say “lexic”, I mean “keywords”. Any keyword in any keyword array will be modified using this option! - This is one small area of inflexibility I hope to fix in 1.2.X.

        - -
        - -

        I suspect this will only be used to specify GESHI_CAPS_NO_CHANGE to turn off autocaps for languages like SQL -and BASIC variants, like so:

        - -
        PHP code
        1
        -2
        $geshi = new GeSHi($source, 'sql');
        -$geshi->set_case_keywords(GESHI_CAPS_NO_CHANGE); // don't want keywords capatalised
        - -

        All the same, it can be used for some interesting effects:

        - -
        PHP code
        1
        -23
        -4
        $geshi = new GeSHi($source, 'java');
        -// Anyone who's used java knows how picky it is about CapitalLetters...$geshi->set_case_keywords(GESHI_CAPS_LOWER);
        -// No *way* the source will look right now ;)
        - -

        3.5.2 Setting Case Sensitivity

        - -

        Some languages, like PHP, don’t mind what case function names and keywords are in, while others, like Java, depend on -such pickiness to maintain their bad reputations ;). In any event, you can use the set_case_sensitivity() -to change the case sensitiveness of a particular keyword group from the default:

        - -

        $geshi->set_case_sensitivity($key, $sensitivity);

        - -

        Where $key is the key of the group for which you wish to change case sensitivness for (see the language file -for that language), and $sensitivity is a boolean value - true if the keyword is case sensitive, and -false if not.

        - -

        3.6 Changing the Source, Language, Config Options

        - -

        What happens if you want to change the source to be highlighted on the fly, or the language. Or if you want to specify -any of those basic fields after you’ve created a GeSHi object? Well, that’s where these methods come in.

        - -

        3.6.1 Changing the Source Code

        - -

        To change the source code, you call the set_source() method:

        - -

        $geshi->set_source($newsource);

        - -

        Example:

        - -
        PHP code
        1
        -23
        -45
        -67
        -8
        $geshi = new GeSHi($source1, 'php');
        - // Method calls to specify various options...
        - $code1 = $geshi->parse_code();
        - $geshi->set_source($source2);
        -$code2 = $geshi->parse_code();
        - -

        3.6.2 Changing the Language

        - -

        What happens if you want to change the language used for highlighting? Just call set_language():

        - -

        $geshi->set_language('newlanguage');

        - -

        Example:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -10
        $geshi = new GeSHi($source, 'php');
        - $code = $geshi->parse_code();
        - // Highlight GeSHi's output
        -$geshi->set_source($code); 
        -$geshi->set_language('html4strict');$geshi->enable_classes(false);
        -echo $geshi->parse_code();
        - -

        As of GeSHi 1.0.5, you can use the method load_from_file() to load the source code and language from a file. -Simply pass this method a file name and it will attempt to load the source and set the language.

        - -

        $geshi->load_from_file($file_name, $lookup);

        - -

        $file_name is the file name to use, and $lookup is an optional parameter that contains a lookup -array to use for deciding which language to choose. You can use this to override GeSHi’s default lookup array, which -may not contain the extension of the file you’re after, or perhaps does have your extension but under a different -language. The lookup array is of the form:

        - -
        PHP code
        1
        -23
        -4
        array(
        -   'lang_name' => array('extension', 'extension', ...),   'lang_name' ...
        -);
        - -

        Also, you can use the method get_language_name_from_extension() if you need to convert a file extension -to a valid language name. This method will return the empty string if it could not find a match in the lookup, and -like load_from_file it accepts an optional second parameter that contains a lookup array.

        - -
        - -
        Note:
        - -

        Names are case-insensitive - they will be converted to lower case to match a language file however. So if you’re - making a language file, remember it should have a name in lower case.

        - -
        - -
        - -
        Note:
        - -

        What you pass to this method is the name of a language file, minus the .php extension. If you’re writing a plugin - for a particular application, it’s up to you to somehow convert user input into a valid language name.

        - -
        - -
        - -
        Note:
        - -

        Since GeSHi 1.0.8 this function does not reset language settings for an already loaded language. If you want - to highlight code in the same language with different settings add the optional - $force_reset parameter:

        - -

        $geshi->set_language('language', true);

        - -
        - -
        - -
        Caution:
        - -

        GeSHi include()s the language file, so be careful to make sure that users can’t pass some wierd - language name to include any old script! GeSHi tries to strip non-valid characters out of a language name, but - you should always do this your self anyway. In particular, language files are always lower-case, with either - alphanumeric characters, dashes or underscores in their name.

        - -

        At the very least, strip “/” characters out of a language name.

        - -
        - -

        3.6.3 Changing the Language Path

        - -

        What happens if all of a sudden you want to use language files from a different directory from the current -language file location? You call the set_language_path() method:

        - -

        $geshi->set_language_path($newpath);

        - -

        It doesn’t matter whether the path has a trailing slash after it or not - only that it points to a valid folder. -If it doesn’t, that’s your tough luck ;)

        - -

        3.6.4 Changing the Character Set

        - -
        - -
        Note:
        - -

        Although GeSHi itself does not require to know the exact charset of your source you - will need to set this option when processing sources where multi-byte characters can occur. - As of GeSHi 1.0.7.18 internally a rewrite of htmlspecialchars is used - due to a security flaw in that function that is unpatched in even the most recent PHP4 versions and in PHP5 < 5.2. - Although this does no longer explicitely require the charset it is required again - as of GeSHi 1.0.8 to properly handle multi-byte characters (e.g. after an escape char).

        - -
        - -
        - -
        Note:
        - -

        As of GeSHi 1.0.8 the default charset has been changed to UTF-8.

        - -
        - -

        As of version 1.0.3, you can use the method set_encoding() to specify the character set that your source -is in. Valid names are those names that are valid for the PHP mbstring library:

        - -

        $geshi->set_encoding($encoding);

        - -

        There is a table of valid strings for $encoding at the php.net manual linked to above. If you do not -specify an encoding, or specify an invalid encoding, the character set used is ISO-8859-1.

        - -

        3.7 Error Handling

        - -

        What happens if you try to highlight using a language that doesn’t exist? Or if GeSHi can’t read a required file? -The results you get may be confusing. You may check your code over and over, and never find anything wrong. GeSHi -provides ways of finding out if GeSHi itself found anything wrong with what you tried to do. After highlighting, -you can call the error() method:

        - -

        $geshi = new GeSHi('hi', 'thisLangIsNotSupported');

        - -

        echo $geshi->error(); // echoes error message

        - -

        The error message you will get will look like this:

        - -
        -

        GeSHi Error: GeSHi could not find the language thisLangIsNotSupported (using path geshi/) (code 2)

        -
        - -

        The error outputted will be the last error GeSHi came across, just like how mysql_error() works.

        - -

        3.8 Disabling styling of some Lexics

        - -

        One disadvantage of GeSHi is that for large source files using complex languages, it can be quite slow with -every option turned on. Although future releases will concentrate on the speed/resource side of highlighting, -you can gain speed by disabling some of the highlighting options. This is done by using a -series of set_*_highlighting methods:

        - -
        -
        set_keyword_group_highlighting($group, $flag):
        -
        Sets whether a particular $group of keywords is to be highlighted or not. Consult the necessary -language file(s) to see what $group should be for each group (typically a positive integer). -$flag is false if you want to disable highlighting of this group, and true if you want -to re-enable higlighting of this group. If you disable a keyword group then even if the keyword group has a -related URL one will not be generated for that keyword.
        - -
        set_comments_highlighting($group, $flag):
        -
        Sets whether a particular $group of comments is to be highlighted or not. Consult the necessary -language file(s) to see what $group should be for each group (typically a positive integer, or th -string 'MULTI' for multiline comments. $flag is false if you want to disable -highlighting of this group, and true if you want to re-enable highlighting of this group.
        - -
        set_regexps_highlighting($regexp, $flag):
        -
        Sets whether a particular $regexp is to be highlighted or not. Consult the necessary language file(s) -to see what $regexp should be for each regexp (typically a positive integer, or the string 'MULTI' -for multiline comments. $flag is false if you want to disable highlighting of this group, -and true if you want to re-enable highlighting of this group.
        -
        - -

        The following methods:

        - -
          -
        • set_escape_characters_highlighting($flag)
        • -
        • set_symbols_highlighting($flag)
        • -
        • set_strings_highlighting($flag)
        • -
        • set_numbers_highlighting($flag)
        • -
        • set_methods_highlighting($flag)
        • -
        - -

        Work on their respective lexics (e.g. set_methods_highlighting() will disable/enable highlighting of methods). -For each method, if $flag is false then the related lexics will not be highlighted at all (this -means no HTML will surround the lexic like usual, saving on time and bandwidth.

        - -

        In case all highlighting should be disabled or reenabled GeSHi provides two methods called disable_highlighting() -and enable_highlighting($flag). The optional paramter $flag has been added in 1.0.7.21 and specifies -the desired state, i.e. true (default) to turn all highlighting on, or false to turn all -highlighting off. Since 1.0.7.21 the method disnable_highlighting() has become deprecated.

        - -

        3.9 Setting the Tab Width

        - -

        If you’re using the <pre> header, tabs are handled automatically by your browser, and in general you can -count on good results. However, if you’re using the <div> header, you may want to specify a tab -width explicitly.

        - -

        Note that tabs created in this fashion won’t be like normal tabs - there won’t be “tab-stops” as such, instead -tabs will be replaced with the specified number of spaces - just like most editors do.

        - -

        To change the tab width, you call the set_tab_width() method:

        - -

        $geshi->set_tab_width($width);

        - -

        Where $width is the width in spaces that you’d like tabs to be.

        - -

        3.10 Using Strict Mode

        - -

        Some languages like to get tricky, and jump in and out of the file that they’re in. For example, the vast -majority of you reading this will have used a PHP file. And you know that PHP code is only executed if it’s -within delimiters like <?php and ?> (there are others of course…). So what happens if you do the -following in a php file?

        - -

        <img src="<?php echo rand(1, 100) ?>" />

        - -

        When using GeSHi without strict mode, or using a bad highlighter, you’ll end up with scrambled crap, -especially if you’re being slack about where you’re putting your quotes, you could end up with the rest -of your file as bright blue. Fortunately, you can tell GeSHi to be “strict” about just when it highlights -and when it does not, using the enable_strict_mode() method:

        - -

        $geshi->enable_strict_mode($mode);

        - -

        Where $mode is true or not specified to enable strict mode, or false to disable -strict mode if you’ve already turned it and don’t want it now.

        - -
        - -
        Note:
        - -

        As of GeSHi 1.0.8 there is a new way to tell GeSHi when to use Strict Mode - which is somewhat more intelligent than in previous releases. GeSHi now also - allows GESHI_MAYBE, GESHI_NEVER and GESHI_ALWAYS instead of true and false. - Basically GESHI_ALWAYS (true) always enables strict mode, - whereas GESHI_NEVER (false) completely disables strict mode. The new thing is - GESHI_MAYBE which enables strict mode if it finds any sequences of code - that look like strict block delimiters.

        - -

        By the way: That’s why this section had to be changed, as the new documentation - tool we now use, applies this feature and thus auto-detects when strict mode has to be used…

        - -
        - -

        3.11 Adding/Removing Keywords

        - -

        Lets say that you’re working on a large project, with many files, many classes and many functions. Perhaps also you -have the source code on the web and highlighted by GeSHi, perhaps as a front end to CVS, as a learning tool, something -to refer to, whatever. Well, why not highlight the names of the functions and classes your project uses, as well -as the standard functions and classes? Or perhaps you’re not interested in highlighting certain functions, and would -like to remove them? Or maybe you don’t mind if an entire function group goes west in the interest of speed? GeSHi -can handle all of this!

        - -

        3.11.1 Adding a Keyword

        - -

        If you want to add a keyword to an existing keyword group, you use the add_keyword method:

        - -

        $geshi->add_keyword($key, $word);

        - -

        Where $key is the index of the group of keywords you want to add this keyword to, and $word is -the word to add.

        - -

        This implies knowledge of the language file to know the correct index.

        - -

        3.11.2 Removing a Keyword

        - -

        Perhaps you want to remove a keyword from an existing group. Maybe you don’t use it and want to save yourself some time. Whatever the reason, you can remove it using the remove_keyword method:

        - -

        $geshi->remove_keyword($key, $word);

        - -

        Where $key is the index of the group of keywords that you want to remove this keyword from, and -$word is the word to remove.

        - -

        This implies knowledge of the language file to know the correct index - most of the time the keywords you’ll -want to remove will be in group 3, but this is not guaranteed and you should check the language file first.

        - -

        This function is silent - if the keyword is not in the group you specified, nothing awful will happen ;)

        - -

        3.11.3 Adding a Keyword Group

        - -

        Lets say for your big project you have several main functions and classes that you’d like highlighted. Why not -add them as their own group instead of having them highlighted the same way as other keywords? Then you can make -them stand out, and people can instantly see which functions and classes are user defined or inbuilt. Furthermore, -you could set the URL for this group to point at the API documentation of your project.

        - -

        You add a keyword group by using the add_keyword_group method:

        - -

        $geshi->add_keyword_group($key, $styles, $case_sensitive, $words);

        - -

        Where $key is the key that you want to use to refer to this group, $styles is the styles that -you want to use to style this group, $case_sensitive is true or false depending on whether you want -this group of keywords to be case sensitive or not and $words is an array of words (or a string) of which -words to add to this group. For example:

        - -

        $geshi->add_keyword_group(10, 'color: #600000;', false, array('myfunc_1', 'myfunc_2', 'myfunc_3'));

        - -

        Adds a keyword group referenced by index 10, of which all keywords in the group will be dark red, each keyword -can be in any case and which contains the keywords “myfunc_1”, “myfunc_2” and “myfunc_3”.

        - -

        After creating such a keyword group, you may call other GeSHi methods on it, just as you would for any other keyword group.

        - -
        - -
        Caution:
        - -

        If you specify a $key for which there is already a keyword group, the old keyword group will be - overwritten! Most language files don’t use numbers larger than 5, so I recommend you play it safe and use a number - like 10 or 42.

        - -
        - -

        3.11.4 Removing a Keyword Group

        - -

        Perhaps you really need speed? Why not just remove an entire keyword group? GeSHi won’t have to loop through -each keyword checking for its existance, saving much time. You remove a keyword group by using the -remove_keyword_group method:

        - -

        $geshi->remove_keyword_group($key);

        - -

        Where $key is the key of the group you wish to remove. This implies knowleged of the language file.

        - -

        3.12 Headers and Footers for Your Code

        - -

        So you want to add some special information to the highlighted source? GeSHi can do that too! You can specify headers -and footers for your code, style them, and insert information from the highlighted source into your header or footer.

        - -

        3.12.1 Keyword Substitution

        - -

        In your header and footer, you can put special keywords that will be replaced with actual configuration values for -this GeSHi object. The keywords you can use are:

        - -
          -
        • <TIME> or {TIME}: Is replaced by the time it took for the parse_code() method - i.e., -how long it took for your code to be highlighted. The time is returned to three decimal places.
        • -
        • <LANGUAGE> or {LANGUAGE}: Is replaced by a nice, friendly version of the language name used to -highlight this code.
        • -
        • <SPEED> or {SPEED}: Is replaced by the speed at which your source has been processed.
        • -
        • <VERSION> or {VERSION}: The GeSHi version used to highlight the code.
        • -
        - -

        3.12.2 Setting Header Content

        - -

        The header for your code is a <div>, which is inside the containing block. Therefore, it is affected by -the method set_overall_style, and should contain the sort of HTML that belongs in a <div>. -You may use any HTML you like, and format it as an HTML document. You should use valid HTML - convert to entities -any quotemarks or angle brackets you want displayed. You set the header content using the method -set_header_content():

        - -

        $geshi->set_header_content($content);

        - -

        Where $content is the HTML you want to use for the header.

        - - - -

        The footer for your code is a <div>, which is inside the containing block. Therefore, it is affected by -the method set_overall_style, and should contain the sort of HTML that belongs in a <div>. -You may use any HTML you like, and format it as an HTML document. You should use valid HTML - convert to entities -any quotemarks or angle brackets you want displayed. You set the footer content using the method -set_footer_content():

        - -

        $geshi->set_footer_content($content);

        - -

        Where $content is the HTML you want to use for the footer.

        - -

        3.12.4 Styling Header Content

        - -

        You can apply styles to the header content you have set with the set_header_content_style:

        - -

        $geshi->set_header_content_style($styles);

        - -

        Where $styles is the stylesheet declarations you want to use to style the header content.

        - - - -

        You can apply styles to the footer content you have set with the set_footer_content_style:

        - -

        $geshi->set_footer_content_style($styles);

        - -

        Where $styles is the stylesheet declarations you want to use to style the footer content.

        - -

        3.13 Keyword URLs

        - -

        As of version 1.0.2, GeSHi allows you to specify a URL for keyword groups. This URL is used by GeSHi to convert -the keywords in that group into URLs to appropriate documentation. And using add_keyword_group you -can add functions and classes from your own projects and use the URL functionality to provide a link to your -own API documentation.

        - -

        3.13.1 Setting a URL for a Keyword Group

        - -

        To set the URL to be used for a keyword group, you use the set_url_for_keyword_group() method:

        - -

        $geshi->set_url_for_keyword_group($group, $url);

        - -

        Where $group is the keyword group you want to assign the URL for, and $url is the URL for -this group of keywords.

        - -

        You may be wondering how to make each keyword in the group point to the correct URL. You do this by putting -{FNAME} in the URL at the correct place. For example, PHP makes it easy by linking www.php.net/function-name -to the documentation for that function, so the URL used is http://www.php.net/{FNAME}.

        - -

        Of course, when you get to a language like Java, that puts its class documentation in related folders, it gets a -little trickier to work out an appropriate URL (see the Java language file!). I hope to provide some kind of -redirection service at the GeSHi website in the future.

        - -
        - -
        Note:
        - -

        As of Version 1.0.7.21 there have been added two more symbols you can use to link to functions. {FNAMEL} - will generate the lowercase version of the keyword, {FNAMEU} will generate the uppercase version. {FNAME} - will provide the keyword as specified in the language file. Use one of these more specific placeholders - if possible, as they result in less overhead while linking for case insensitive languages.

        - -
        - -

        3.13.2 Disabling a URL for a Keyword Group

        - -

        It’s easy to disable a URL for a keyword group: Simply use the method set_url_for_keyword_group() to pass -an empty string as the URL:

        - -

        $geshi->set_url_for_keyword_group($group, '');

        - -

        3.13.3 Disabling all URLs for Keywords

        - -

        As of GeSHi 1.0.7.18, you can disable all URL linking for keywords:

        - -

        $geshi->enable_keyword_links(false);

        - - - -

        You can also style the function links. You can style their default status, hovered, active and visited status. -All of this is controlled by one method, set_link_styles():

        - -

        $geshi->set_link_styles($mode, $styles);

        - -

        Where $mode is one of four values:

        - -
          -
        • GESHI_LINK: The default style of the links.
        • -
        • GESHI_HOVER: The style of the links when they have focus (the mouse is hovering over them).
        • -
        • GESHI_ACTIVE: The style of the links when they are being clicked.
        • -
        • GESHI_VISITED: The style of links that the user has already visited.
        • -
        - -

        And $styles is the stylesheet declarations to apply to the links.

        - -
        - -
        Note:
        - -

        The names GESHI_LINK, GESHI_HOVER … are constants. Don’t put them in quotes!

        - -
        - -

        3.13.5 Setting the Link Target

        - -

        Perhaps you want to set the target of link attributes, so the manual pages open in a new window? Use the -set_link_target() method:

        - -

        $geshi->set_link_target($target, $styles);

        - -

        Where $target is any valid (X)HTML target value - _blank or _top for example.

        - -

        3.14 Using Contextual Importance

        - -
        - -
        Caution:
        - -

        This functionality is not only buggy, but is proving very hard to implement in 1.1.X. Therefore, this - functionality may well be removed in 1.2.0. You are hereby warned!

        - -
        - -

        This feature allows you to mark a part of your source as important. But as the -implementation its use is deprecated and you should consider using -the “Highlight Lines Extra” feature described below.

        - -

        3.15 Highlighting Special Lines “Extra”

        - -

        An alternative (and more stable) method of highlighting code that is important -is to use extra highlighting by line. Although you may not know what line numbers -contain the important lines, if you do this method is a much more flexible way of -making important lines stand out.

        - -

        3.15.1 Specifying the Lines to Highlight Extra

        - -

        To specify which lines to highlight extra, you pass an array containing the line numbers to highlight_lines_extra():

        - -

        $geshi->highlight_lines_extra($array);

        - -

        The array could be in the form array(2, 3, 4, 7, 12, 344, 4242), made from a DB query, generated -from looking through the source for certain important things and working out what line those things are… -However you get the line numbers, the array should simply be an array of integers.

        - -

        Here’s an example, using the same source as before:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -1415
        -1617
        -1819
        -2021
        -
        //
        -// Here we go again! This time we'll simply highlight the 8th line//
        -$source = 'public int[][] product ( n, m ){
        -  int [][] ans = new int[n][m];  for ( int i = 0; i < n; i++ )
        -  {    for ( int j = 0; i < m; j++ )
        -    {      ans[i][j] = i * j;
        -    }  }
        -  return ans;}';
        - $geshi = new GeSHi($source, 'java');
        - $geshi->highlight_lines_extra(array(8));
        - echo $geshi->parse_code();
        - -

        Which produces:

        - -
        Java code
        1
        -23
        -45
        -67
        -89
        -1011
        -12
        public int[][] product ( n, m )
        -{  int [][] ans = new int[n][m];
        -  for ( int i = 0; i < n; i++ )  {
        -    for ( int j = 0; i < m; j++ )    {
        -      ans[i][j] = i * j;    }
        -  }  return ans;
        -}
        - -

        What’s more, as you can see the code on a highlighted line is still actually highlighted itself.

        - -

        3.15.2 Styles for the Highlighted Lines

        - -

        Again as with contextual importance, you’re not chained to the yellow theme that is the default. You can -use the set_highlight_lines_extra_style method:

        - -

        $geshi->set_highlight_lines_extra_style($styles);

        - -

        Where $styles is the stylesheet declarations that you want to apply to highlighted lines.

        - -

        3.16 Adding IDs to Each Line

        - -

        Perhaps you’re a javascript junkie? GeSHi provides a way to give each line an ID so you can access that line with -javascript, or perhaps just by plain CSS (though if you want to access lines by CSS you should use the method -in the previous section). To enable IDs you call the enable_ids() method:

        - -

        $geshi->enable_ids($flag);

        - -

        Where $flag is true or not present to enable IDs, and false to disable them again if you need.

        - -

        The ID generated is in the form {overall-css-id}-{line-number}. So for example, if you set the overall CSS id to -be “mycode”, then the IDs for each line would by “mycode-1”, “mycode-2” etc. If there is no CSS ID set, then one is -made up in the form geshi-[4 random characters], but this is not so useful for if you want to do javascript manipulation.

        - -

        3.17 Getting the Time of Styling

        - -

        Once you’ve called parse_code(), you can get the time it took to run the highlighting by calling the -get_time() method:

        - -
        PHP code
        1
        -23
        -45
        -67
        -
        $geshi = new GeSHi($source, $language, $path);
        - $code = mysql_real_escape_string($geshi->parse_code());
        -$time = $geshi->get_time(); 
        -// do something with itmysql_query("INSERT INTO code VALUES ('$code', '$time')");
        - -

        4 Language Files

        - -

        So now you know what features GeSHi offers, and perhaps you’ve even meddled with the source. Or perhaps -you’d like a language file for language X but it doesn’t seem to be supported? Rubbish! GeSHi will highlight -anything, what do you think I coded this for? ^_^ You’ll just have to learn how to make a language file -yourself. And I promise it’s not too hard - and if you’re here you’re in the right place!

        - -

        4.1 An Example Language File

        - -

        Let’s begin by looking at an example language file - the language file for the first language ever supported, -PHP:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -1415
        -1617
        -1819
        -2021
        -2223
        -2425
        -2627
        -2829
        -3031
        -3233
        -3435
        -3637
        -3839
        -4041
        -4243
        -4445
        -4647
        -4849
        -5051
        -5253
        -5455
        -5657
        -5859
        -6061
        -6263
        -6465
        -6667
        -6869
        -7071
        -7273
        -7475
        -7677
        -7879
        -8081
        -8283
        -8485
        -8687
        -8889
        -9091
        -9293
        -9495
        -9697
        -9899
        -100101
        -102103
        -104105
        -106107
        -108109
        -110111
        -112113
        -114115
        -116117
        -118119
        -120121
        -122123
        -124125
        -126127
        -128129
        -130131
        -132133
        -134135
        -136137
        -138139
        -140141
        -142143
        -144145
        -146147
        -148149
        -150151
        -152153
        -154155
        -156157
        -158159
        -160161
        -162163
        -164165
        -166167
        -168169
        -170171
        -172173
        -174175
        -176177
        -178179
        -180181
        -182183
        -184185
        -186187
        -188189
        -190191
        -192193
        -194195
        -196197
        -198199
        -200201
        -202203
        -204205
        -206207
        -208209
        -210211
        -212213
        -214215
        -216217
        -218219
        -220221
        -222223
        -224225
        -226227
        -228229
        -230231
        -232233
        -234235
        -236237
        -238239
        -240241
        -242243
        -244245
        -246247
        -248249
        -250251
        -252253
        -254255
        -256257
        -258259
        -260261
        -262263
        -264265
        -266267
        -268269
        -270271
        -272273
        -274275
        -276277
        -278279
        -280281
        -282283
        -284285
        -286287
        -288289
        -290291
        -292293
        -294295
        -296297
        -298299
        -300301
        -302303
        -304305
        -306307
        -308309
        -310311
        -312313
        -314315
        -316317
        -318319
        -320321
        -322323
        -324325
        -326327
        -328329
        -330331
        -332333
        -334335
        -336337
        -338339
        -340341
        -342343
        -344345
        -346347
        -348349
        -350351
        -352353
        -354355
        -356357
        -358359
        -360361
        -362363
        -364365
        -366367
        -368369
        -370371
        -372373
        -374375
        -376377
        -378379
        -380381
        -382383
        -384385
        -386387
        -388389
        -390391
        -392393
        -394395
        -396397
        -398399
        -400401
        -402403
        -404405
        -406407
        -408409
        -410411
        -412413
        -414415
        -416417
        -418419
        -420421
        -422423
        -424425
        -426427
        -428429
        -430431
        -432433
        -434435
        -436437
        -438439
        -440441
        -442443
        -444445
        -446447
        -448449
        -450451
        -452453
        -454455
        -456457
        -458459
        -460461
        -462463
        -464465
        -466467
        -468469
        -470471
        -472473
        -474475
        -476477
        -478479
        -480481
        -482483
        -484485
        -486487
        -488489
        -490491
        -492493
        -494495
        -496497
        -498499
        -500501
        -502503
        -504505
        -506507
        -508509
        -510511
        -512513
        -514515
        -516517
        -518519
        -520521
        -522523
        -524525
        -526527
        -528529
        -530531
        -532533
        -534535
        -536537
        -538539
        -540541
        -542543
        -544545
        -546547
        -548549
        -550551
        -552553
        -554555
        -556557
        -558559
        -560561
        -562563
        -564565
        -566567
        -568569
        -570571
        -572573
        -574575
        -576577
        -578579
        -580581
        -582583
        -584585
        -586587
        -588589
        -590591
        -592593
        -594595
        -596597
        -598599
        -600601
        -602603
        -604605
        -606607
        -608609
        -610611
        -612613
        -614615
        -616617
        -618619
        -620621
        -622623
        -624625
        -626627
        -628629
        -630631
        -632633
        -634635
        -636637
        -638639
        -640641
        -642643
        -644645
        -646647
        -648649
        -650651
        -652653
        -654655
        -656657
        -658659
        -660661
        -662663
        -664665
        -666667
        -668669
        -670671
        -672673
        -674675
        -676677
        -678679
        -680681
        -682683
        -684685
        -686687
        -688689
        -690691
        -692693
        -694695
        -696697
        -698699
        -700701
        -702703
        -704705
        -706707
        -708709
        -710711
        -712713
        -714715
        -716717
        -718719
        -720721
        -722723
        -724725
        -726727
        -728729
        -730731
        -732733
        -734735
        -736737
        -738739
        -740741
        -742743
        -744745
        -746747
        -748749
        -750751
        -752753
        -754755
        -756757
        -758759
        -760761
        -762763
        -764765
        -766767
        -768769
        -770771
        -772773
        -774775
        -776777
        -778779
        -780781
        -782783
        -784785
        -786787
        -788789
        -790791
        -792793
        -794795
        -796797
        -798799
        -800801
        -802803
        -804805
        -806807
        -808809
        -810811
        -812813
        -814815
        -816817
        -818819
        -820821
        -822823
        -824825
        -826827
        -828829
        -830831
        -832833
        -834835
        -836837
        -838839
        -840841
        -842843
        -844845
        -846847
        -848849
        -850851
        -852853
        -854855
        -856857
        -858859
        -860861
        -862863
        -864865
        -866867
        -868869
        -870871
        -872873
        -874875
        -876877
        -878879
        -880881
        -882883
        -884885
        -886887
        -888889
        -890891
        -892893
        -894895
        -896897
        -898899
        -900901
        -902903
        -904905
        -906907
        -908909
        -910911
        -912913
        -914915
        -916917
        -918919
        -920921
        -922923
        -924925
        -926927
        -928929
        -930931
        -932933
        -934935
        -936937
        -938939
        -940941
        -942943
        -944945
        -946947
        -948949
        -950951
        -952953
        -954955
        -956957
        -958959
        -960961
        -962963
        -964965
        -966967
        -968969
        -970971
        -972973
        -974975
        -976977
        -978979
        -980981
        -982983
        -984985
        -986987
        -988989
        -990991
        -992993
        -994995
        -996997
        -998999
        -10001001
        -10021003
        -10041005
        -10061007
        -10081009
        -10101011
        -10121013
        -10141015
        -10161017
        -10181019
        -10201021
        -10221023
        -10241025
        -10261027
        -10281029
        -10301031
        -10321033
        -10341035
        -10361037
        -10381039
        -10401041
        -10421043
        -10441045
        -10461047
        -10481049
        -10501051
        -10521053
        -10541055
        -10561057
        -10581059
        -10601061
        -10621063
        -10641065
        -10661067
        -10681069
        -10701071
        -10721073
        -10741075
        -10761077
        -10781079
        -10801081
        -10821083
        -10841085
        -10861087
        -10881089
        -10901091
        -10921093
        -10941095
        -10961097
        -10981099
        -11001101
        -11021103
        -11041105
        -11061107
        -11081109
        -11101111
        -11121113
        -11141115
        -11161117
        -
        <?php
        -/************************************************************************************* * php.php
        - * -------- * Author: Nigel McNie (nigel@geshi.org)
        - * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) * Release Version: 1.0.8.10
        - * Date Started: 2004/06/20 *
        - * PHP language file for GeSHi. *
        - * CHANGES * -------
        - * 2008/05/23 (1.0.7.22) *  -  Added description of extra language features (SF#1970248)
        - * 2004/11/25 (1.0.3) *  -  Added support for multiple object splitters
        - *  -  Fixed &new problem * 2004/10/27 (1.0.2)
        - *  -  Added URL support *  -  Added extra constants
        - * 2004/08/05 (1.0.1) *  -  Added support for symbols
        - * 2004/07/14 (1.0.0) *  -  First Release
        - * * TODO (updated 2004/07/14)
        - * ------------------------- * * Make sure the last few function I may have missed
        - *   (like eval()) are included for highlighting * * Split to several files - php4, php5 etc
        - * *************************************************************************************
        - * *     This file is part of GeSHi.
        - * *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version. *
        - *   GeSHi is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *   GNU General Public License for more details.
        - * *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - * ************************************************************************************/
        - $language_data = array(
        -    'LANG_NAME' => 'PHP',    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),    'COMMENT_REGEXP' => array(
        -        //Heredoc and Nowdoc syntax        3 => '/<<<\s*?(\'?)([a-zA-Z0-9]+?)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
        -        // phpdoc comments        4 => '#/\*\*(?![\*\/]).*\*/#sU',
        -        // Advanced # handling        2 => "/#.*?(?:(?=\?\>)|^)/smi"
        -        ),    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(        //Simple Single Char Escapes
        -        1 => "#\\\\[nfrtv\$\"\n\\\\]#i",        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{1,2}#i",        //Octal Char Specs
        -        3 => "#\\\\[0-7]{1,3}#",        //String Parsing of Variable Names
        -        4 => "#\\$[a-z0-9_]+(?:\\[[a-z0-9_]+\\]|->[a-z0-9_]+)?|(?:\\{\\$|\\$\\{)[a-z0-9_]+(?:\\[('?)[a-z0-9_]*\\1\\]|->[a-z0-9_]+)*\\}#i",        //Experimental extension supporting cascaded {${$var}} syntax
        -        5 => "#\$[a-z0-9_]+(?:\[[a-z0-9_]+\]|->[a-z0-9_]+)?|(?:\{\$|\$\{)[a-z0-9_]+(?:\[('?)[a-z0-9_]*\\1\]|->[a-z0-9_]+)*\}|\{\$(?R)\}#i",        //Format String support in ""-Strings
        -        6 => "#%(?:%|(?:\d+\\\\\\\$)?\\+?(?:\x20|0|'.)?-?(?:\d+|\\*)?(?:\.\d+)?[bcdefFosuxX])#"        ),
        -    'HARDQUOTE' => array("'", "'"),    'HARDESCAPE' => array("'", "\\"),
        -    'HARDCHAR' => "\\",    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |        GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(        1 => array(
        -            'as','break','case','continue','default','do','else','elseif',            'endfor','endforeach','endif','endswitch','endwhile','for',
        -            'foreach','if','include','include_once','require','require_once',            'return','switch','throw','while',
        -             'echo','print'
        -            ),        2 => array(
        -            '&amp;new','&lt;/script&gt;','&lt;?php','&lt;script language',            'abstract','class','const','declare','extends','function','global',
        -            'interface','namespace','new','private','protected','public','self',            'use','var'
        -            ),        3 => array(
        -            'abs','acos','acosh','addcslashes','addslashes','aggregate',            'aggregate_methods','aggregate_methods_by_list',
        -            'aggregate_methods_by_regexp','aggregate_properties',            'aggregate_properties_by_list','aggregate_properties_by_regexp',
        -            'aggregation_info','apache_child_terminate','apache_get_modules',            'apache_get_version','apache_getenv','apache_lookup_uri',
        -            'apache_note','apache_request_headers','apache_response_headers',            'apache_setenv','array','array_change_key_case','array_chunk',
        -            'array_combine','array_count_values','array_diff',            'array_diff_assoc','array_diff_key','array_diff_uassoc',
        -            'array_diff_ukey','array_fill','array_fill_keys','array_filter',            'array_flip','array_intersect','array_intersect_assoc',
        -            'array_intersect_key','array_intersect_uassoc',            'array_intersect_ukey','array_key_exists','array_keys','array_map',
        -            'array_merge','array_merge_recursive','array_multisort','array_pad',            'array_pop','array_product','array_push','array_rand',
        -            'array_reduce','array_reverse','array_search','array_shift',            'array_slice','array_splice','array_sum','array_udiff',
        -            'array_udiff_assoc','array_udiff_uassoc','array_uintersect',            'array_uintersect_assoc','array_uintersect_uassoc','array_unique',
        -            'array_unshift','array_values','array_walk','array_walk_recursive',            'arsort','asin','asinh','asort','assert','assert_options','atan',
        -            'atan2','atanh','base_convert','base64_decode','base64_encode',            'basename','bcadd','bccomp','bcdiv','bcmod','bcmul',
        -            'bcompiler_load','bcompiler_load_exe','bcompiler_parse_class',            'bcompiler_read','bcompiler_write_class','bcompiler_write_constant',
        -            'bcompiler_write_exe_footer','bcompiler_write_file',            'bcompiler_write_footer','bcompiler_write_function',
        -            'bcompiler_write_functions_from_file','bcompiler_write_header',            'bcompiler_write_included_filename','bcpow','bcpowmod','bcscale',
        -            'bcsqrt','bcsub','bin2hex','bindec','bindtextdomain',            'bind_textdomain_codeset','bitset_empty','bitset_equal',
        -            'bitset_excl','bitset_fill','bitset_from_array','bitset_from_hash',            'bitset_from_string','bitset_in','bitset_incl',
        -            'bitset_intersection','bitset_invert','bitset_is_empty',            'bitset_subset','bitset_to_array','bitset_to_hash',
        -            'bitset_to_string','bitset_union','blenc_encrypt','bzclose',            'bzcompress','bzdecompress','bzerrno','bzerror','bzerrstr',
        -            'bzflush','bzopen','bzread','bzwrite','cal_days_in_month',            'cal_from_jd','cal_info','cal_to_jd','call_user_func',
        -            'call_user_func_array','call_user_method','call_user_method_array',            'ceil','chdir','checkdate','checkdnsrr','chgrp','chmod','chop',
        -            'chown','chr','chunk_split','class_exists','class_implements',            'class_parents','classkit_aggregate_methods',
        -            'classkit_doc_comments','classkit_import','classkit_method_add',            'classkit_method_copy','classkit_method_redefine',
        -            'classkit_method_remove','classkit_method_rename','clearstatcache',            'closedir','closelog','com_create_guid','com_event_sink',
        -            'com_get_active_object','com_load_typelib','com_message_pump',            'com_print_typeinfo','compact','confirm_phpdoc_compiled',
        -            'connection_aborted','connection_status','constant',            'convert_cyr_string','convert_uudecode','convert_uuencode','copy',
        -            'cos','cosh','count','count_chars','cpdf_add_annotation',            'cpdf_add_outline','cpdf_arc','cpdf_begin_text','cpdf_circle',
        -            'cpdf_clip','cpdf_close','cpdf_closepath',            'cpdf_closepath_fill_stroke','cpdf_closepath_stroke',
        -            'cpdf_continue_text','cpdf_curveto','cpdf_end_text','cpdf_fill',            'cpdf_fill_stroke','cpdf_finalize','cpdf_finalize_page',
        -            'cpdf_global_set_document_limits','cpdf_import_jpeg','cpdf_lineto',            'cpdf_moveto','cpdf_newpath','cpdf_open','cpdf_output_buffer',
        -            'cpdf_page_init','cpdf_rect','cpdf_restore','cpdf_rlineto',            'cpdf_rmoveto','cpdf_rotate','cpdf_rotate_text','cpdf_save',
        -            'cpdf_save_to_file','cpdf_scale','cpdf_set_action_url',            'cpdf_set_char_spacing','cpdf_set_creator','cpdf_set_current_page',
        -            'cpdf_set_font','cpdf_set_font_directories',            'cpdf_set_font_map_file','cpdf_set_horiz_scaling',
        -            'cpdf_set_keywords','cpdf_set_leading','cpdf_set_page_animation',            'cpdf_set_subject','cpdf_set_text_matrix','cpdf_set_text_pos',
        -            'cpdf_set_text_rendering','cpdf_set_text_rise','cpdf_set_title',            'cpdf_set_viewer_preferences','cpdf_set_word_spacing',
        -            'cpdf_setdash','cpdf_setflat','cpdf_setgray','cpdf_setgray_fill',            'cpdf_setgray_stroke','cpdf_setlinecap','cpdf_setlinejoin',
        -            'cpdf_setlinewidth','cpdf_setmiterlimit','cpdf_setrgbcolor',            'cpdf_setrgbcolor_fill','cpdf_setrgbcolor_stroke','cpdf_show',
        -            'cpdf_show_xy','cpdf_stringwidth','cpdf_stroke','cpdf_text',            'cpdf_translate','crack_check','crack_closedict',
        -            'crack_getlastmessage','crack_opendict','crc32','create_function',            'crypt','ctype_alnum','ctype_alpha','ctype_cntrl','ctype_digit',
        -            'ctype_graph','ctype_lower','ctype_print','ctype_punct',            'ctype_space','ctype_upper','ctype_xdigit','curl_close',
        -            'curl_copy_handle','curl_errno','curl_error','curl_exec',            'curl_getinfo','curl_init','curl_multi_add_handle',
        -            'curl_multi_close','curl_multi_exec','curl_multi_getcontent',            'curl_multi_info_read','curl_multi_init','curl_multi_remove_handle',
        -            'curl_multi_select','curl_setopt','curl_setopt_array',            'curl_version','current','cvsclient_connect','cvsclient_log',
        -            'cvsclient_login','cvsclient_retrieve','date','date_create',            'date_date_set','date_default_timezone_get',
        -            'date_default_timezone_set','date_format','date_isodate_set',            'date_modify','date_offset_get','date_parse','date_sun_info',
        -            'date_sunrise','date_sunset','date_time_set','date_timezone_get',            'date_timezone_set','db_id_list','dba_close','dba_delete',
        -            'dba_exists','dba_fetch','dba_firstkey','dba_handlers','dba_insert',            'dba_key_split','dba_list','dba_nextkey','dba_open','dba_optimize',
        -            'dba_popen','dba_replace','dba_sync','dbase_add_record',            'dbase_close','dbase_create','dbase_delete_record',
        -            'dbase_get_header_info','dbase_get_record',            'dbase_get_record_with_names','dbase_numfields','dbase_numrecords',
        -            'dbase_open','dbase_pack','dbase_replace_record',            'dbg_get_all_contexts','dbg_get_all_module_names',
        -            'dbg_get_all_source_lines','dbg_get_context_name',            'dbg_get_module_name','dbg_get_profiler_results',
        -            'dbg_get_source_context','dblist','dbmclose','dbmdelete',            'dbmexists','dbmfetch','dbmfirstkey','dbminsert','dbmnextkey',
        -            'dbmopen','dbmreplace','dbx_close','dbx_compare','dbx_connect',            'dbx_error','dbx_escape_string','dbx_fetch_row','dbx_query',
        -            'dbx_sort','dcgettext','dcngettext','deaggregate','debug_backtrace',            'debug_zval_dump','debugbreak','decbin','dechex','decoct','define',
        -            'defined','define_syslog_variables','deg2rad','dgettext','die',            'dio_close','dio_open','dio_read','dio_seek','dio_stat','dio_write',
        -            'dir','dirname','disk_free_space','disk_total_space',            'diskfreespace','dl','dngettext','docblock_token_name',
        -            'docblock_tokenize','dom_import_simplexml','domxml_add_root',            'domxml_attributes','domxml_children','domxml_doc_add_root',
        -            'domxml_doc_document_element','domxml_doc_get_element_by_id',            'domxml_doc_get_elements_by_tagname','domxml_doc_get_root',
        -            'domxml_doc_set_root','domxml_doc_validate','domxml_doc_xinclude',            'domxml_dump_mem','domxml_dump_mem_file','domxml_dump_node',
        -            'domxml_dumpmem','domxml_elem_get_attribute',            'domxml_elem_set_attribute','domxml_get_attribute','domxml_getattr',
        -            'domxml_html_dump_mem','domxml_new_child','domxml_new_doc',            'domxml_new_xmldoc','domxml_node','domxml_node_add_namespace',
        -            'domxml_node_attributes','domxml_node_children',            'domxml_node_get_content','domxml_node_has_attributes',
        -            'domxml_node_new_child','domxml_node_set_content',            'domxml_node_set_namespace','domxml_node_unlink_node',
        -            'domxml_open_file','domxml_open_mem','domxml_parser',            'domxml_parser_add_chunk','domxml_parser_cdata_section',
        -            'domxml_parser_characters','domxml_parser_comment',            'domxml_parser_end','domxml_parser_end_document',
        -            'domxml_parser_end_element','domxml_parser_entity_reference',            'domxml_parser_get_document','domxml_parser_namespace_decl',
        -            'domxml_parser_processing_instruction',            'domxml_parser_start_document','domxml_parser_start_element',
        -            'domxml_root','domxml_set_attribute','domxml_setattr',            'domxml_substitute_entities_default','domxml_unlink_node',
        -            'domxml_version','domxml_xmltree','doubleval','each','easter_date',            'easter_days','empty','end','ereg','ereg_replace','eregi',
        -            'eregi_replace','error_get_last','error_log','error_reporting',            'escapeshellarg','escapeshellcmd','eval','event_deschedule',
        -            'event_dispatch','event_free','event_handle_signal',            'event_have_events','event_init','event_new','event_pending',
        -            'event_priority_set','event_schedule','event_set','event_timeout',            'exec','exif_imagetype','exif_read_data','exif_tagname',
        -            'exif_thumbnail','exit','exp','explode','expm1','extension_loaded',            'extract','ezmlm_hash','fbird_add_user','fbird_affected_rows',
        -            'fbird_backup','fbird_blob_add','fbird_blob_cancel',            'fbird_blob_close','fbird_blob_create','fbird_blob_echo',
        -            'fbird_blob_get','fbird_blob_import','fbird_blob_info',            'fbird_blob_open','fbird_close','fbird_commit','fbird_commit_ret',
        -            'fbird_connect','fbird_db_info','fbird_delete_user','fbird_drop_db',            'fbird_errcode','fbird_errmsg','fbird_execute','fbird_fetch_assoc',
        -            'fbird_fetch_object','fbird_fetch_row','fbird_field_info',            'fbird_free_event_handler','fbird_free_query','fbird_free_result',
        -            'fbird_gen_id','fbird_maintain_db','fbird_modify_user',            'fbird_name_result','fbird_num_fields','fbird_num_params',
        -            'fbird_param_info','fbird_pconnect','fbird_prepare','fbird_query',            'fbird_restore','fbird_rollback','fbird_rollback_ret',
        -            'fbird_server_info','fbird_service_attach','fbird_service_detach',            'fbird_set_event_handler','fbird_trans','fbird_wait_event','fclose',
        -            'fdf_add_doc_javascript','fdf_add_template','fdf_close',            'fdf_create','fdf_enum_values','fdf_errno','fdf_error','fdf_get_ap',
        -            'fdf_get_attachment','fdf_get_encoding','fdf_get_file',            'fdf_get_flags','fdf_get_opt','fdf_get_status','fdf_get_value',
        -            'fdf_get_version','fdf_header','fdf_next_field_name','fdf_open',            'fdf_open_string','fdf_remove_item','fdf_save','fdf_save_string',
        -            'fdf_set_ap','fdf_set_encoding','fdf_set_file','fdf_set_flags',            'fdf_set_javascript_action','fdf_set_on_import_javascript',
        -            'fdf_set_opt','fdf_set_status','fdf_set_submit_form_action',            'fdf_set_target_frame','fdf_set_value','fdf_set_version','feof',
        -            'fflush','fgetc','fgetcsv','fgets','fgetss','file','file_exists',            'file_get_contents','file_put_contents','fileatime','filectime',
        -            'filegroup','fileinode','filemtime','fileowner','fileperms',            'filepro','filepro_fieldcount','filepro_fieldname',
        -            'filepro_fieldtype','filepro_fieldwidth','filepro_retrieve',            'filepro_rowcount','filesize','filetype','filter_has_var',
        -            'filter_id','filter_input','filter_input_array','filter_list',            'filter_var','filter_var_array','finfo_buffer','finfo_close',
        -            'finfo_file','finfo_open','finfo_set_flags','floatval','flock',            'floor','flush','fmod','fnmatch','fopen','fpassthru','fprintf',
        -            'fputcsv','fputs','fread','frenchtojd','fribidi_charset_info',            'fribidi_get_charsets','fribidi_log2vis','fscanf','fseek',
        -            'fsockopen','fstat','ftell','ftok','ftp_alloc','ftp_cdup',            'ftp_chdir','ftp_chmod','ftp_close','ftp_connect','ftp_delete',
        -            'ftp_exec','ftp_fget','ftp_fput','ftp_get','ftp_get_option',            'ftp_login','ftp_mdtm','ftp_mkdir','ftp_nb_continue','ftp_nb_fget',
        -            'ftp_nb_fput','ftp_nb_get','ftp_nb_put','ftp_nlist','ftp_pasv',            'ftp_put','ftp_pwd','ftp_quit','ftp_raw','ftp_rawlist','ftp_rename',
        -            'ftp_rmdir','ftp_set_option','ftp_site','ftp_size',            'ftp_ssl_connect','ftp_systype','ftruncate','function_exists',
        -            'func_get_arg','func_get_args','func_num_args','fwrite','gd_info',            'getallheaders','getcwd','getdate','getenv','gethostbyaddr',
        -            'gethostbyname','gethostbynamel','getimagesize','getlastmod',            'getmxrr','getmygid','getmyinode','getmypid','getmyuid','getopt',
        -            'getprotobyname','getprotobynumber','getrandmax','getrusage',            'getservbyname','getservbyport','gettext','gettimeofday','gettype',
        -            'get_browser','get_cfg_var','get_class','get_class_methods',            'get_class_vars','get_current_user','get_declared_classes',
        -            'get_defined_constants','get_defined_functions','get_defined_vars',            'get_extension_funcs','get_headers','get_html_translation_table',
        -            'get_included_files','get_include_path','get_loaded_extensions',            'get_magic_quotes_gpc','get_magic_quotes_runtime','get_meta_tags',
        -            'get_object_vars','get_parent_class','get_required_files',            'get_resource_type','glob','gmdate','gmmktime','gmp_abs','gmp_add',
        -            'gmp_and','gmp_clrbit','gmp_cmp','gmp_com','gmp_div','gmp_div_q',            'gmp_div_qr','gmp_div_r','gmp_divexact','gmp_fact','gmp_gcd',
        -            'gmp_gcdext','gmp_hamdist','gmp_init','gmp_intval','gmp_invert',            'gmp_jacobi','gmp_legendre','gmp_mod','gmp_mul','gmp_neg',
        -            'gmp_nextprime','gmp_or','gmp_perfect_square','gmp_popcount',            'gmp_pow','gmp_powm','gmp_prob_prime','gmp_random','gmp_scan0',
        -            'gmp_scan1','gmp_setbit','gmp_sign','gmp_sqrt','gmp_sqrtrem',            'gmp_strval','gmp_sub','gmp_xor','gmstrftime','gopher_parsedir',
        -            'gregoriantojd','gzclose','gzcompress','gzdeflate','gzencode',            'gzeof','gzfile','gzgetc','gzgets','gzgetss','gzinflate','gzopen',
        -            'gzpassthru','gzputs','gzread','gzrewind','gzseek','gztell',            'gzuncompress','gzwrite','hash','hash_algos','hash_file',
        -            'hash_final','hash_hmac','hash_hmac_file','hash_init','hash_update',            'hash_update_file','hash_update_stream','header','headers_list',
        -            'headers_sent','hebrev','hebrevc','hexdec','highlight_file',            'highlight_string','html_doc','html_doc_file','html_entity_decode',
        -            'htmlentities','htmlspecialchars','htmlspecialchars_decode',            'http_build_cookie','http_build_query','http_build_str',
        -            'http_build_url','http_cache_etag','http_cache_last_modified',            'http_chunked_decode','http_date','http_deflate','http_get',
        -            'http_get_request_body','http_get_request_body_stream',            'http_get_request_headers','http_head','http_inflate',
        -            'http_match_etag','http_match_modified','http_match_request_header',            'http_negotiate_charset','http_negotiate_content_type',
        -            'http_negotiate_language','http_parse_cookie','http_parse_headers',            'http_parse_message','http_parse_params',
        -            'http_persistent_handles_clean','http_persistent_handles_count',            'http_persistent_handles_ident','http_post_data','http_post_fields',
        -            'http_put_data','http_put_file','http_put_stream','http_redirect',            'http_request','http_request_body_encode',
        -            'http_request_method_exists','http_request_method_name',            'http_request_method_register','http_request_method_unregister',
        -            'http_send_content_disposition','http_send_content_type',            'http_send_data','http_send_file','http_send_last_modified',
        -            'http_send_status','http_send_stream','http_support',            'http_throttle','hypot','i18n_convert','i18n_discover_encoding',
        -            'i18n_http_input','i18n_http_output','i18n_internal_encoding',            'i18n_ja_jp_hantozen','i18n_mime_header_decode',
        -            'i18n_mime_header_encode','ibase_add_user','ibase_affected_rows',            'ibase_backup','ibase_blob_add','ibase_blob_cancel',
        -            'ibase_blob_close','ibase_blob_create','ibase_blob_echo',            'ibase_blob_get','ibase_blob_import','ibase_blob_info',
        -            'ibase_blob_open','ibase_close','ibase_commit','ibase_commit_ret',            'ibase_connect','ibase_db_info','ibase_delete_user','ibase_drop_db',
        -            'ibase_errcode','ibase_errmsg','ibase_execute','ibase_fetch_assoc',            'ibase_fetch_object','ibase_fetch_row','ibase_field_info',
        -            'ibase_free_event_handler','ibase_free_query','ibase_free_result',            'ibase_gen_id','ibase_maintain_db','ibase_modify_user',
        -            'ibase_name_result','ibase_num_fields','ibase_num_params',            'ibase_param_info','ibase_pconnect','ibase_prepare','ibase_query',
        -            'ibase_restore','ibase_rollback','ibase_rollback_ret',            'ibase_server_info','ibase_service_attach','ibase_service_detach',
        -            'ibase_set_event_handler','ibase_trans','ibase_wait_event','iconv',            'iconv_get_encoding','iconv_mime_decode',
        -            'iconv_mime_decode_headers','iconv_mime_encode',            'iconv_set_encoding','iconv_strlen','iconv_strpos','iconv_strrpos',
        -            'iconv_substr','id3_get_frame_long_name','id3_get_frame_short_name',            'id3_get_genre_id','id3_get_genre_list','id3_get_genre_name',
        -            'id3_get_tag','id3_get_version','id3_remove_tag','id3_set_tag',            'idate','ignore_user_abort','image_type_to_extension',
        -            'image_type_to_mime_type','image2wbmp','imagealphablending',            'imageantialias','imagearc','imagechar','imagecharup',
        -            'imagecolorallocate','imagecolorallocatealpha','imagecolorat',            'imagecolorclosest','imagecolorclosestalpha','imagecolordeallocate',
        -            'imagecolorexact','imagecolorexactalpha','imagecolormatch',            'imagecolorresolve','imagecolorresolvealpha','imagecolorset',
        -            'imagecolorsforindex','imagecolorstotal','imagecolortransparent',            'imageconvolution','imagecopy','imagecopymerge',
        -            'imagecopymergegray','imagecopyresampled','imagecopyresized',            'imagecreate','imagecreatefromgd','imagecreatefromgd2',
        -            'imagecreatefromgd2part','imagecreatefromgif','imagecreatefromjpeg',            'imagecreatefrompng','imagecreatefromstring','imagecreatefromwbmp',
        -            'imagecreatefromxbm','imagecreatetruecolor','imagedashedline',            'imagedestroy','imageellipse','imagefill','imagefilledarc',
        -            'imagefilledellipse','imagefilledpolygon','imagefilledrectangle',            'imagefilltoborder','imagefilter','imagefontheight',
        -            'imagefontwidth','imageftbbox','imagefttext','imagegammacorrect',            'imagegd','imagegd2','imagegif','imagegrabscreen','imagegrabwindow',
        -            'imageinterlace','imageistruecolor','imagejpeg','imagelayereffect',            'imageline','imageloadfont','imagepalettecopy','imagepng',
        -            'imagepolygon','imagepsbbox','imagepsencodefont',            'imagepsextendfont','imagepsfreefont','imagepsloadfont',
        -            'imagepsslantfont','imagepstext','imagerectangle','imagerotate',            'imagesavealpha','imagesetbrush','imagesetpixel','imagesetstyle',
        -            'imagesetthickness','imagesettile','imagestring','imagestringup',            'imagesx','imagesy','imagetruecolortopalette','imagettfbbox',
        -            'imagettftext','imagetypes','imagewbmp','imagexbm','imap_8bit',            'imap_alerts','imap_append','imap_base64','imap_binary','imap_body',
        -            'imap_bodystruct','imap_check','imap_clearflag_full','imap_close',            'imap_create','imap_createmailbox','imap_delete',
        -            'imap_deletemailbox','imap_errors','imap_expunge',            'imap_fetch_overview','imap_fetchbody','imap_fetchheader',
        -            'imap_fetchstructure','imap_fetchtext','imap_get_quota',            'imap_get_quotaroot','imap_getacl','imap_getmailboxes',
        -            'imap_getsubscribed','imap_header','imap_headerinfo','imap_headers',            'imap_last_error','imap_list','imap_listmailbox',
        -            'imap_listsubscribed','imap_lsub','imap_mail','imap_mail_compose',            'imap_mail_copy','imap_mail_move','imap_mailboxmsginfo',
        -            'imap_mime_header_decode','imap_msgno','imap_num_msg',            'imap_num_recent','imap_open','imap_ping','imap_qprint',
        -            'imap_rename','imap_renamemailbox','imap_reopen',            'imap_rfc822_parse_adrlist','imap_rfc822_parse_headers',
        -            'imap_rfc822_write_address','imap_savebody','imap_scan',            'imap_scanmailbox','imap_search','imap_set_quota','imap_setacl',
        -            'imap_setflag_full','imap_sort','imap_status','imap_subscribe',            'imap_thread','imap_timeout','imap_uid','imap_undelete',
        -            'imap_unsubscribe','imap_utf7_decode','imap_utf7_encode',            'imap_utf8','implode','import_request_variables','in_array',
        -            'ini_alter','ini_get','ini_get_all','ini_restore','ini_set',            'intval','ip2long','iptcembed','iptcparse','isset','is_a',
        -            'is_array','is_bool','is_callable','is_dir','is_double',            'is_executable','is_file','is_finite','is_float','is_infinite',
        -            'is_int','is_integer','is_link','is_long','is_nan','is_null',            'is_numeric','is_object','is_readable','is_real','is_resource',
        -            'is_scalar','is_soap_fault','is_string','is_subclass_of',            'is_uploaded_file','is_writable','is_writeable','iterator_apply',
        -            'iterator_count','iterator_to_array','java_last_exception_clear',            'java_last_exception_get','jddayofweek','jdmonthname','jdtofrench',
        -            'jdtogregorian','jdtojewish','jdtojulian','jdtounix','jewishtojd',            'join','jpeg2wbmp','json_decode','json_encode','juliantojd','key',
        -            'key_exists','krsort','ksort','lcg_value','ldap_add','ldap_bind',            'ldap_close','ldap_compare','ldap_connect','ldap_count_entries',
        -            'ldap_delete','ldap_dn2ufn','ldap_err2str','ldap_errno',            'ldap_error','ldap_explode_dn','ldap_first_attribute',
        -            'ldap_first_entry','ldap_first_reference','ldap_free_result',            'ldap_get_attributes','ldap_get_dn','ldap_get_entries',
        -            'ldap_get_option','ldap_get_values','ldap_get_values_len',            'ldap_list','ldap_mod_add','ldap_mod_del','ldap_mod_replace',
        -            'ldap_modify','ldap_next_attribute','ldap_next_entry',            'ldap_next_reference','ldap_parse_reference','ldap_parse_result',
        -            'ldap_read','ldap_rename','ldap_search','ldap_set_option',            'ldap_sort','ldap_start_tls','ldap_unbind','levenshtein',
        -            'libxml_clear_errors','libxml_get_errors','libxml_get_last_error',            'libxml_set_streams_context','libxml_use_internal_errors','link',
        -            'linkinfo','list','localeconv','localtime','log','log1p','log10',            'long2ip','lstat','ltrim','lzf_compress','lzf_decompress',
        -            'lzf_optimized_for','magic_quotes_runtime','mail','max','mbereg',            'mberegi','mberegi_replace','mbereg_match','mbereg_replace',
        -            'mbereg_search','mbereg_search_getpos','mbereg_search_getregs',            'mbereg_search_init','mbereg_search_pos','mbereg_search_regs',
        -            'mbereg_search_setpos','mbregex_encoding','mbsplit','mbstrcut',            'mbstrlen','mbstrpos','mbstrrpos','mbsubstr','mb_check_encoding',
        -            'mb_convert_case','mb_convert_encoding','mb_convert_kana',            'mb_convert_variables','mb_decode_mimeheader',
        -            'mb_decode_numericentity','mb_detect_encoding','mb_detect_order',            'mb_encode_mimeheader','mb_encode_numericentity','mb_ereg',
        -            'mb_eregi','mb_eregi_replace','mb_ereg_match','mb_ereg_replace',            'mb_ereg_search','mb_ereg_search_getpos','mb_ereg_search_getregs',
        -            'mb_ereg_search_init','mb_ereg_search_pos','mb_ereg_search_regs',            'mb_ereg_search_setpos','mb_get_info','mb_http_input',
        -            'mb_http_output','mb_internal_encoding','mb_language',            'mb_list_encodings','mb_output_handler','mb_parse_str',
        -            'mb_preferred_mime_name','mb_regex_encoding','mb_regex_set_options',            'mb_send_mail','mb_split','mb_strcut','mb_strimwidth','mb_stripos',
        -            'mb_stristr','mb_strlen','mb_strpos','mb_strrchr','mb_strrichr',            'mb_strripos','mb_strrpos','mb_strstr','mb_strtolower',
        -            'mb_strtoupper','mb_strwidth','mb_substitute_character','mb_substr',            'mb_substr_count','mcrypt_cbc','mcrypt_cfb','mcrypt_create_iv',
        -            'mcrypt_decrypt','mcrypt_ecb','mcrypt_enc_get_algorithms_name',            'mcrypt_enc_get_block_size','mcrypt_enc_get_iv_size',
        -            'mcrypt_enc_get_key_size','mcrypt_enc_get_modes_name',            'mcrypt_enc_get_supported_key_sizes',
        -            'mcrypt_enc_is_block_algorithm',            'mcrypt_enc_is_block_algorithm_mode','mcrypt_enc_is_block_mode',
        -            'mcrypt_enc_self_test','mcrypt_encrypt','mcrypt_generic',            'mcrypt_generic_deinit','mcrypt_generic_end','mcrypt_generic_init',
        -            'mcrypt_get_block_size','mcrypt_get_cipher_name',            'mcrypt_get_iv_size','mcrypt_get_key_size','mcrypt_list_algorithms',
        -            'mcrypt_list_modes','mcrypt_module_close',            'mcrypt_module_get_algo_block_size',
        -            'mcrypt_module_get_algo_key_size',            'mcrypt_module_get_supported_key_sizes',
        -            'mcrypt_module_is_block_algorithm',            'mcrypt_module_is_block_algorithm_mode',
        -            'mcrypt_module_is_block_mode','mcrypt_module_open',            'mcrypt_module_self_test','mcrypt_ofb','md5','md5_file',
        -            'mdecrypt_generic','memcache_add','memcache_add_server',            'memcache_close','memcache_connect','memcache_debug',
        -            'memcache_decrement','memcache_delete','memcache_flush',            'memcache_get','memcache_get_extended_stats',
        -            'memcache_get_server_status','memcache_get_stats',            'memcache_get_version','memcache_increment','memcache_pconnect',
        -            'memcache_replace','memcache_set','memcache_set_compress_threshold',            'memcache_set_server_params','memory_get_peak_usage',
        -            'memory_get_usage','metaphone','mhash','mhash_count',            'mhash_get_block_size','mhash_get_hash_name','mhash_keygen_s2k',
        -            'method_exists','microtime','mime_content_type','min',            'ming_keypress','ming_setcubicthreshold','ming_setscale',
        -            'ming_useconstants','ming_useswfversion','mkdir','mktime',            'money_format','move_uploaded_file','msql','msql_affected_rows',
        -            'msql_close','msql_connect','msql_create_db','msql_createdb',            'msql_data_seek','msql_db_query','msql_dbname','msql_drop_db',
        -            'msql_dropdb','msql_error','msql_fetch_array','msql_fetch_field',            'msql_fetch_object','msql_fetch_row','msql_field_flags',
        -            'msql_field_len','msql_field_name','msql_field_seek',            'msql_field_table','msql_field_type','msql_fieldflags',
        -            'msql_fieldlen','msql_fieldname','msql_fieldtable','msql_fieldtype',            'msql_free_result','msql_freeresult','msql_list_dbs',
        -            'msql_list_fields','msql_list_tables','msql_listdbs',            'msql_listfields','msql_listtables','msql_num_fields',
        -            'msql_num_rows','msql_numfields','msql_numrows','msql_pconnect',            'msql_query','msql_regcase','msql_result','msql_select_db',
        -            'msql_selectdb','msql_tablename','mssql_bind','mssql_close',            'mssql_connect','mssql_data_seek','mssql_execute',
        -            'mssql_fetch_array','mssql_fetch_assoc','mssql_fetch_batch',            'mssql_fetch_field','mssql_fetch_object','mssql_fetch_row',
        -            'mssql_field_length','mssql_field_name','mssql_field_seek',            'mssql_field_type','mssql_free_result','mssql_free_statement',
        -            'mssql_get_last_message','mssql_guid_string','mssql_init',            'mssql_min_error_severity','mssql_min_message_severity',
        -            'mssql_next_result','mssql_num_fields','mssql_num_rows',            'mssql_pconnect','mssql_query','mssql_result','mssql_rows_affected',
        -            'mssql_select_db','mt_getrandmax','mt_rand','mt_srand','mysql',            'mysql_affected_rows','mysql_client_encoding','mysql_close',
        -            'mysql_connect','mysql_createdb','mysql_create_db',            'mysql_data_seek','mysql_dbname','mysql_db_name','mysql_db_query',
        -            'mysql_dropdb','mysql_drop_db','mysql_errno','mysql_error',            'mysql_escape_string','mysql_fetch_array','mysql_fetch_assoc',
        -            'mysql_fetch_field','mysql_fetch_lengths','mysql_fetch_object',            'mysql_fetch_row','mysql_fieldflags','mysql_fieldlen',
        -            'mysql_fieldname','mysql_fieldtable','mysql_fieldtype',            'mysql_field_flags','mysql_field_len','mysql_field_name',
        -            'mysql_field_seek','mysql_field_table','mysql_field_type',            'mysql_freeresult','mysql_free_result','mysql_get_client_info',
        -            'mysql_get_host_info','mysql_get_proto_info',            'mysql_get_server_info','mysql_info','mysql_insert_id',
        -            'mysql_listdbs','mysql_listfields','mysql_listtables',            'mysql_list_dbs','mysql_list_fields','mysql_list_processes',
        -            'mysql_list_tables','mysql_numfields','mysql_numrows',            'mysql_num_fields','mysql_num_rows','mysql_pconnect','mysql_ping',
        -            'mysql_query','mysql_real_escape_string','mysql_result',            'mysql_selectdb','mysql_select_db','mysql_set_charset','mysql_stat',
        -            'mysql_tablename','mysql_table_name','mysql_thread_id',            'mysql_unbuffered_query','mysqli_affected_rows','mysqli_autocommit',
        -            'mysqli_bind_param','mysqli_bind_result','mysqli_change_user',            'mysqli_character_set_name','mysqli_client_encoding','mysqli_close',
        -            'mysqli_commit','mysqli_connect','mysqli_connect_errno',            'mysqli_connect_error','mysqli_data_seek','mysqli_debug',
        -            'mysqli_disable_reads_from_master','mysqli_disable_rpl_parse',            'mysqli_dump_debug_info','mysqli_embedded_server_end',
        -            'mysqli_embedded_server_start','mysqli_enable_reads_from_master',            'mysqli_enable_rpl_parse','mysqli_errno','mysqli_error',
        -            'mysqli_escape_string','mysqli_execute','mysqli_fetch',            'mysqli_fetch_array','mysqli_fetch_assoc','mysqli_fetch_field',
        -            'mysqli_fetch_field_direct','mysqli_fetch_fields',            'mysqli_fetch_lengths','mysqli_fetch_object','mysqli_fetch_row',
        -            'mysqli_field_count','mysqli_field_seek','mysqli_field_tell',            'mysqli_free_result','mysqli_get_charset','mysqli_get_client_info',
        -            'mysqli_get_client_version','mysqli_get_host_info',            'mysqli_get_metadata','mysqli_get_proto_info',
        -            'mysqli_get_server_info','mysqli_get_server_version',            'mysqli_get_warnings','mysqli_info','mysqli_init',
        -            'mysqli_insert_id','mysqli_kill','mysqli_master_query',            'mysqli_more_results','mysqli_multi_query','mysqli_next_result',
        -            'mysqli_num_fields','mysqli_num_rows','mysqli_options',            'mysqli_param_count','mysqli_ping','mysqli_prepare','mysqli_query',
        -            'mysqli_real_connect','mysqli_real_escape_string',            'mysqli_real_query','mysqli_report','mysqli_rollback',
        -            'mysqli_rpl_parse_enabled','mysqli_rpl_probe',            'mysqli_rpl_query_type','mysqli_select_db','mysqli_send_long_data',
        -            'mysqli_send_query','mysqli_set_charset',            'mysqli_set_local_infile_default','mysqli_set_local_infile_handler',
        -            'mysqli_set_opt','mysqli_slave_query','mysqli_sqlstate',            'mysqli_ssl_set','mysqli_stat','mysqli_stmt_affected_rows',
        -            'mysqli_stmt_attr_get','mysqli_stmt_attr_set',            'mysqli_stmt_bind_param','mysqli_stmt_bind_result',
        -            'mysqli_stmt_close','mysqli_stmt_data_seek','mysqli_stmt_errno',            'mysqli_stmt_error','mysqli_stmt_execute','mysqli_stmt_fetch',
        -            'mysqli_stmt_field_count','mysqli_stmt_free_result',            'mysqli_stmt_get_warnings','mysqli_stmt_init',
        -            'mysqli_stmt_insert_id','mysqli_stmt_num_rows',            'mysqli_stmt_param_count','mysqli_stmt_prepare','mysqli_stmt_reset',
        -            'mysqli_stmt_result_metadata','mysqli_stmt_send_long_data',            'mysqli_stmt_sqlstate','mysqli_stmt_store_result',
        -            'mysqli_store_result','mysqli_thread_id','mysqli_thread_safe',            'mysqli_use_result','mysqli_warning_count','natcasesort','natsort',
        -            'new_xmldoc','next','ngettext','nl2br','nl_langinfo',            'ntuser_getdomaincontroller','ntuser_getusergroups',
        -            'ntuser_getuserinfo','ntuser_getuserlist','number_format',            'ob_clean','ob_deflatehandler','ob_end_clean','ob_end_flush',
        -            'ob_etaghandler','ob_flush','ob_get_clean','ob_get_contents',            'ob_get_flush','ob_get_length','ob_get_level','ob_get_status',
        -            'ob_gzhandler','ob_iconv_handler','ob_implicit_flush',            'ob_inflatehandler','ob_list_handlers','ob_start','ob_tidyhandler',
        -            'octdec','odbc_autocommit','odbc_binmode','odbc_close',            'odbc_close_all','odbc_columnprivileges','odbc_columns',
        -            'odbc_commit','odbc_connect','odbc_cursor','odbc_data_source',            'odbc_do','odbc_error','odbc_errormsg','odbc_exec','odbc_execute',
        -            'odbc_fetch_array','odbc_fetch_into','odbc_fetch_object',            'odbc_fetch_row','odbc_field_len','odbc_field_name',
        -            'odbc_field_num','odbc_field_precision','odbc_field_scale',            'odbc_field_type','odbc_foreignkeys','odbc_free_result',
        -            'odbc_gettypeinfo','odbc_longreadlen','odbc_next_result',            'odbc_num_fields','odbc_num_rows','odbc_pconnect','odbc_prepare',
        -            'odbc_primarykeys','odbc_procedurecolumns','odbc_procedures',            'odbc_result','odbc_result_all','odbc_rollback','odbc_setoption',
        -            'odbc_specialcolumns','odbc_statistics','odbc_tableprivileges',            'odbc_tables','opendir','openlog','openssl_csr_export',
        -            'openssl_csr_export_to_file','openssl_csr_get_public_key',            'openssl_csr_get_subject','openssl_csr_new','openssl_csr_sign',
        -            'openssl_error_string','openssl_free_key','openssl_get_privatekey',            'openssl_get_publickey','openssl_open','openssl_pkcs12_export',
        -            'openssl_pkcs12_export_to_file','openssl_pkcs12_read',            'openssl_pkcs7_decrypt','openssl_pkcs7_encrypt',
        -            'openssl_pkcs7_sign','openssl_pkcs7_verify','openssl_pkey_export',            'openssl_pkey_export_to_file','openssl_pkey_free',
        -            'openssl_pkey_get_details','openssl_pkey_get_private',            'openssl_pkey_get_public','openssl_pkey_new',
        -            'openssl_private_decrypt','openssl_private_encrypt',            'openssl_public_decrypt','openssl_public_encrypt','openssl_seal',
        -            'openssl_sign','openssl_verify','openssl_x509_checkpurpose',            'openssl_x509_check_private_key','openssl_x509_export',
        -            'openssl_x509_export_to_file','openssl_x509_free',            'openssl_x509_parse','openssl_x509_read','ord',
        -            'output_add_rewrite_var','output_reset_rewrite_vars','overload',            'outputdebugstring','pack','parse_ini_file','parse_str','parse_url',
        -            'parsekit_compile_file','parsekit_compile_string',            'parsekit_func_arginfo','parsekit_opcode_flags',
        -            'parsekit_opcode_name','passthru','pathinfo','pclose',            'pdf_add_bookmark','pdf_add_launchlink','pdf_add_locallink',
        -            'pdf_add_nameddest','pdf_add_note','pdf_add_pdflink',            'pdf_add_thumbnail','pdf_add_weblink','pdf_arc','pdf_arcn',
        -            'pdf_attach_file','pdf_begin_font','pdf_begin_glyph',            'pdf_begin_page','pdf_begin_pattern','pdf_begin_template',
        -            'pdf_circle','pdf_clip','pdf_close','pdf_close_image',            'pdf_close_pdi','pdf_close_pdi_page','pdf_closepath',
        -            'pdf_closepath_fill_stroke','pdf_closepath_stroke','pdf_concat',            'pdf_continue_text','pdf_create_gstate','pdf_create_pvf',
        -            'pdf_curveto','pdf_delete','pdf_delete_pvf','pdf_encoding_set_char',            'pdf_end_font','pdf_end_glyph','pdf_end_page','pdf_end_pattern',
        -            'pdf_end_template','pdf_endpath','pdf_fill','pdf_fill_imageblock',            'pdf_fill_pdfblock','pdf_fill_stroke','pdf_fill_textblock',
        -            'pdf_findfont','pdf_fit_image','pdf_fit_pdi_page',            'pdf_fit_textline','pdf_get_apiname','pdf_get_buffer',
        -            'pdf_get_errmsg','pdf_get_errnum','pdf_get_parameter',            'pdf_get_pdi_parameter','pdf_get_pdi_value','pdf_get_value',
        -            'pdf_initgraphics','pdf_lineto','pdf_load_font',            'pdf_load_iccprofile','pdf_load_image','pdf_makespotcolor',
        -            'pdf_moveto','pdf_new','pdf_open_ccitt','pdf_open_file',            'pdf_open_image','pdf_open_image_file','pdf_open_pdi',
        -            'pdf_open_pdi_page','pdf_place_image','pdf_place_pdi_page',            'pdf_process_pdi','pdf_rect','pdf_restore','pdf_rotate','pdf_save',
        -            'pdf_scale','pdf_set_border_color','pdf_set_border_dash',            'pdf_set_border_style','pdf_set_gstate','pdf_set_info',
        -            'pdf_set_parameter','pdf_set_text_pos','pdf_set_value',            'pdf_setcolor','pdf_setdash','pdf_setdashpattern','pdf_setflat',
        -            'pdf_setfont','pdf_setlinecap','pdf_setlinejoin','pdf_setlinewidth',            'pdf_setmatrix','pdf_setmiterlimit','pdf_setpolydash','pdf_shading',
        -            'pdf_shading_pattern','pdf_shfill','pdf_show','pdf_show_boxed',            'pdf_show_xy','pdf_skew','pdf_stringwidth','pdf_stroke',
        -            'pdf_translate','pdo_drivers','pfsockopen','pg_affected_rows',            'pg_cancel_query','pg_clientencoding','pg_client_encoding',
        -            'pg_close','pg_cmdtuples','pg_connect','pg_connection_busy',            'pg_connection_reset','pg_connection_status','pg_convert',
        -            'pg_copy_from','pg_copy_to','pg_dbname','pg_delete','pg_end_copy',            'pg_errormessage','pg_escape_bytea','pg_escape_string','pg_exec',
        -            'pg_execute','pg_fetch_all','pg_fetch_all_columns','pg_fetch_array',            'pg_fetch_assoc','pg_fetch_object','pg_fetch_result','pg_fetch_row',
        -            'pg_fieldisnull','pg_fieldname','pg_fieldnum','pg_fieldprtlen',            'pg_fieldsize','pg_fieldtype','pg_field_is_null','pg_field_name',
        -            'pg_field_num','pg_field_prtlen','pg_field_size','pg_field_table',            'pg_field_type','pg_field_type_oid','pg_free_result',
        -            'pg_freeresult','pg_get_notify','pg_get_pid','pg_get_result',            'pg_getlastoid','pg_host','pg_insert','pg_last_error',
        -            'pg_last_notice','pg_last_oid','pg_loclose','pg_locreate',            'pg_loexport','pg_loimport','pg_loopen','pg_loread','pg_loreadall',
        -            'pg_lounlink','pg_lowrite','pg_lo_close','pg_lo_create',            'pg_lo_export','pg_lo_import','pg_lo_open','pg_lo_read',
        -            'pg_lo_read_all','pg_lo_seek','pg_lo_tell','pg_lo_unlink',            'pg_lo_write','pg_meta_data','pg_numfields','pg_numrows',
        -            'pg_num_fields','pg_num_rows','pg_options','pg_parameter_status',            'pg_pconnect','pg_ping','pg_port','pg_prepare','pg_put_line',
        -            'pg_query','pg_query_params','pg_result','pg_result_error',            'pg_result_error_field','pg_result_seek','pg_result_status',
        -            'pg_select','pg_send_execute','pg_send_prepare','pg_send_query',            'pg_send_query_params','pg_set_client_encoding',
        -            'pg_set_error_verbosity','pg_setclientencoding','pg_trace',            'pg_transaction_status','pg_tty','pg_unescape_bytea','pg_untrace',
        -            'pg_update','pg_version','php_egg_logo_guid','php_ini_loaded_file',            'php_ini_scanned_files','php_logo_guid','php_real_logo_guid',
        -            'php_sapi_name','php_strip_whitespace','php_uname','phpcredits',            'phpdoc_xml_from_string','phpinfo','phpversion','pi','png2wbmp',
        -            'pop3_close','pop3_delete_message','pop3_get_account_size',            'pop3_get_message','pop3_get_message_count',
        -            'pop3_get_message_header','pop3_get_message_ids',            'pop3_get_message_size','pop3_get_message_sizes','pop3_open',
        -            'pop3_undelete','popen','pos','posix_ctermid','posix_errno',            'posix_getcwd','posix_getegid','posix_geteuid','posix_getgid',
        -            'posix_getgrgid','posix_getgrnam','posix_getgroups',            'posix_getlogin','posix_getpgid','posix_getpgrp','posix_getpid',
        -            'posix_getppid','posix_getpwnam','posix_getpwuid','posix_getrlimit',            'posix_getsid','posix_getuid','posix_get_last_error','posix_isatty',
        -            'posix_kill','posix_mkfifo','posix_setegid','posix_seteuid',            'posix_setgid','posix_setpgid','posix_setsid','posix_setuid',
        -            'posix_strerror','posix_times','posix_ttyname','posix_uname','pow',            'preg_grep','preg_last_error','preg_match','preg_match_all',
        -            'preg_quote','preg_replace','preg_replace_callback','preg_split',            'prev','print_r','printf','proc_close','proc_get_status',
        -            'proc_open','proc_terminate','putenv','quoted_printable_decode',            'quotemeta','rad2deg','radius_acct_open','radius_add_server',
        -            'radius_auth_open','radius_close','radius_config',            'radius_create_request','radius_cvt_addr','radius_cvt_int',
        -            'radius_cvt_string','radius_demangle','radius_demangle_mppe_key',            'radius_get_attr','radius_get_vendor_attr','radius_put_addr',
        -            'radius_put_attr','radius_put_int','radius_put_string',            'radius_put_vendor_addr','radius_put_vendor_attr',
        -            'radius_put_vendor_int','radius_put_vendor_string',            'radius_request_authenticator','radius_send_request',
        -            'radius_server_secret','radius_strerror','rand','range',            'rawurldecode','rawurlencode','read_exif_data','readdir','readfile',
        -            'readgzfile','readlink','realpath','reg_close_key','reg_create_key',            'reg_enum_key','reg_enum_value','reg_get_value','reg_open_key',
        -            'reg_set_value','register_shutdown_function',            'register_tick_function','rename','res_close','res_get','res_list',
        -            'res_list_type','res_open','res_set','reset',            'restore_error_handler','restore_include_path','rewind','rewinddir',
        -            'rmdir','round','rsort','rtrim','runkit_class_adopt',            'runkit_class_emancipate','runkit_constant_add',
        -            'runkit_constant_redefine','runkit_constant_remove',            'runkit_default_property_add','runkit_function_add',
        -            'runkit_function_copy','runkit_function_redefine',            'runkit_function_remove','runkit_function_rename','runkit_import',
        -            'runkit_lint','runkit_lint_file','runkit_method_add',            'runkit_method_copy','runkit_method_redefine',
        -            'runkit_method_remove','runkit_method_rename','runkit_object_id',            'runkit_return_value_used','runkit_sandbox_output_handler',
        -            'runkit_superglobals','runkit_zval_inspect','scandir','sem_acquire',            'sem_get','sem_release','sem_remove','serialize',
        -            'session_cache_expire','session_cache_limiter','session_commit',            'session_decode','session_destroy','session_encode',
        -            'session_get_cookie_params','session_id','session_is_registered',            'session_module_name','session_name','session_regenerate_id',
        -            'session_register','session_save_path','session_set_cookie_params',            'session_set_save_handler','session_start','session_unregister',
        -            'session_unset','session_write_close','set_content',            'set_error_handler','set_file_buffer','set_include_path',
        -            'set_magic_quotes_runtime','set_socket_blocking','set_time_limit',            'setcookie','setlocale','setrawcookie','settype','sha1','sha1_file',
        -            'shell_exec','shmop_close','shmop_delete','shmop_open','shmop_read',            'shmop_size','shmop_write','shm_attach','shm_detach','shm_get_var',
        -            'shm_put_var','shm_remove','shm_remove_var','show_source','shuffle',            'similar_text','simplexml_import_dom','simplexml_load_file',
        -            'simplexml_load_string','sin','sinh','sizeof','sleep','smtp_close',            'smtp_cmd_data','smtp_cmd_mail','smtp_cmd_rcpt','smtp_connect',
        -            'snmp_get_quick_print','snmp_get_valueretrieval','snmp_read_mib',            'snmp_set_quick_print','snmp_set_valueretrieval','snmp2_get',
        -            'snmp2_getnext','snmp2_real_walk','snmp2_set','snmp2_walk',            'snmp3_get','snmp3_getnext','snmp3_real_walk','snmp3_set',
        -            'snmp3_walk','snmpget','snmpgetnext','snmprealwalk','snmpset',            'snmpwalk','snmpwalkoid','socket_accept','socket_bind',
        -            'socket_clear_error','socket_close','socket_connect',            'socket_create','socket_create_listen','socket_create_pair',
        -            'socket_getopt','socket_getpeername','socket_getsockname',            'socket_get_option','socket_get_status','socket_iovec_add',
        -            'socket_iovec_alloc','socket_iovec_delete','socket_iovec_fetch',            'socket_iovec_free','socket_iovec_set','socket_last_error',
        -            'socket_listen','socket_read','socket_readv','socket_recv',            'socket_recvfrom','socket_recvmsg','socket_select','socket_send',
        -            'socket_sendmsg','socket_sendto','socket_setopt','socket_set_block',            'socket_set_blocking','socket_set_nonblock','socket_set_option',
        -            'socket_set_timeout','socket_shutdown','socket_strerror',            'socket_write','socket_writev','sort','soundex','spl_autoload',
        -            'spl_autoload_call','spl_autoload_extensions',            'spl_autoload_functions','spl_autoload_register',
        -            'spl_autoload_unregister','spl_classes','spl_object_hash','split',            'spliti','sprintf','sql_regcase','sqlite_array_query',
        -            'sqlite_busy_timeout','sqlite_changes','sqlite_close',            'sqlite_column','sqlite_create_aggregate','sqlite_create_function',
        -            'sqlite_current','sqlite_error_string','sqlite_escape_string',            'sqlite_exec','sqlite_factory','sqlite_fetch_all',
        -            'sqlite_fetch_array','sqlite_fetch_column_types',            'sqlite_fetch_object','sqlite_fetch_single','sqlite_fetch_string',
        -            'sqlite_field_name','sqlite_has_more','sqlite_has_prev',            'sqlite_last_error','sqlite_last_insert_rowid','sqlite_libencoding',
        -            'sqlite_libversion','sqlite_next','sqlite_num_fields',            'sqlite_num_rows','sqlite_open','sqlite_popen','sqlite_prev',
        -            'sqlite_query','sqlite_rewind','sqlite_seek','sqlite_single_query',            'sqlite_udf_decode_binary','sqlite_udf_encode_binary',
        -            'sqlite_unbuffered_query','sqlite_valid','sqrt','srand','sscanf',            'ssh2_auth_hostbased_file','ssh2_auth_none','ssh2_auth_password',
        -            'ssh2_auth_pubkey_file','ssh2_connect','ssh2_exec',            'ssh2_fetch_stream','ssh2_fingerprint','ssh2_forward_accept',
        -            'ssh2_forward_listen','ssh2_methods_negotiated','ssh2_poll',            'ssh2_publickey_add','ssh2_publickey_init','ssh2_publickey_list',
        -            'ssh2_publickey_remove','ssh2_scp_recv','ssh2_scp_send','ssh2_sftp',            'ssh2_sftp_lstat','ssh2_sftp_mkdir','ssh2_sftp_readlink',
        -            'ssh2_sftp_realpath','ssh2_sftp_rename','ssh2_sftp_rmdir',            'ssh2_sftp_stat','ssh2_sftp_symlink','ssh2_sftp_unlink',
        -            'ssh2_shell','ssh2_tunnel','stat','stats_absolute_deviation',            'stats_cdf_beta','stats_cdf_binomial','stats_cdf_cauchy',
        -            'stats_cdf_chisquare','stats_cdf_exponential','stats_cdf_f',            'stats_cdf_gamma','stats_cdf_laplace','stats_cdf_logistic',
        -            'stats_cdf_negative_binomial','stats_cdf_noncentral_chisquare',            'stats_cdf_noncentral_f','stats_cdf_noncentral_t',
        -            'stats_cdf_normal','stats_cdf_poisson','stats_cdf_t',            'stats_cdf_uniform','stats_cdf_weibull','stats_covariance',
        -            'stats_dens_beta','stats_dens_cauchy','stats_dens_chisquare',            'stats_dens_exponential','stats_dens_f','stats_dens_gamma',
        -            'stats_dens_laplace','stats_dens_logistic','stats_dens_normal',            'stats_dens_pmf_binomial','stats_dens_pmf_hypergeometric',
        -            'stats_dens_pmf_negative_binomial','stats_dens_pmf_poisson',            'stats_dens_t','stats_dens_uniform','stats_dens_weibull',
        -            'stats_harmonic_mean','stats_kurtosis','stats_rand_gen_beta',            'stats_rand_gen_chisquare','stats_rand_gen_exponential',
        -            'stats_rand_gen_f','stats_rand_gen_funiform','stats_rand_gen_gamma',            'stats_rand_gen_ipoisson','stats_rand_gen_iuniform',
        -            'stats_rand_gen_noncenral_f','stats_rand_gen_noncentral_chisquare',            'stats_rand_gen_noncentral_t','stats_rand_gen_normal',
        -            'stats_rand_gen_t','stats_rand_getsd','stats_rand_ibinomial',            'stats_rand_ibinomial_negative','stats_rand_ignlgi',
        -            'stats_rand_phrase_to_seeds','stats_rand_ranf','stats_rand_setall',            'stats_skew','stats_standard_deviation','stats_stat_binomial_coef',
        -            'stats_stat_correlation','stats_stat_factorial',            'stats_stat_independent_t','stats_stat_innerproduct',
        -            'stats_stat_paired_t','stats_stat_percentile','stats_stat_powersum',            'stats_variance','strcasecmp','strchr','strcmp','strcoll','strcspn',
        -            'stream_bucket_append','stream_bucket_make_writeable',            'stream_bucket_new','stream_bucket_prepend','stream_context_create',
        -            'stream_context_get_default','stream_context_get_options',            'stream_context_set_default','stream_context_set_option',
        -            'stream_context_set_params','stream_copy_to_stream',            'stream_encoding','stream_filter_append','stream_filter_prepend',
        -            'stream_filter_register','stream_filter_remove',            'stream_get_contents','stream_get_filters','stream_get_line',
        -            'stream_get_meta_data','stream_get_transports',            'stream_get_wrappers','stream_is_local',
        -            'stream_notification_callback','stream_register_wrapper',            'stream_resolve_include_path','stream_select','stream_set_blocking',
        -            'stream_set_timeout','stream_set_write_buffer',            'stream_socket_accept','stream_socket_client',
        -            'stream_socket_enable_crypto','stream_socket_get_name',            'stream_socket_pair','stream_socket_recvfrom',
        -            'stream_socket_sendto','stream_socket_server',            'stream_socket_shutdown','stream_supports_lock',
        -            'stream_wrapper_register','stream_wrapper_restore',            'stream_wrapper_unregister','strftime','stripcslashes','stripos',
        -            'stripslashes','strip_tags','stristr','strlen','strnatcasecmp',            'strnatcmp','strpbrk','strncasecmp','strncmp','strpos','strrchr',
        -            'strrev','strripos','strrpos','strspn','strstr','strtok',            'strtolower','strtotime','strtoupper','strtr','strval',
        -            'str_ireplace','str_pad','str_repeat','str_replace','str_rot13',            'str_split','str_shuffle','str_word_count','substr',
        -            'substr_compare','substr_count','substr_replace','svn_add',            'svn_auth_get_parameter','svn_auth_set_parameter','svn_cat',
        -            'svn_checkout','svn_cleanup','svn_client_version','svn_commit',            'svn_diff','svn_export','svn_fs_abort_txn','svn_fs_apply_text',
        -            'svn_fs_begin_txn2','svn_fs_change_node_prop','svn_fs_check_path',            'svn_fs_contents_changed','svn_fs_copy','svn_fs_delete',
        -            'svn_fs_dir_entries','svn_fs_file_contents','svn_fs_file_length',            'svn_fs_is_dir','svn_fs_is_file','svn_fs_make_dir',
        -            'svn_fs_make_file','svn_fs_node_created_rev','svn_fs_node_prop',            'svn_fs_props_changed','svn_fs_revision_prop',
        -            'svn_fs_revision_root','svn_fs_txn_root','svn_fs_youngest_rev',            'svn_import','svn_info','svn_log','svn_ls','svn_repos_create',
        -            'svn_repos_fs','svn_repos_fs_begin_txn_for_commit',            'svn_repos_fs_commit_txn','svn_repos_hotcopy','svn_repos_open',
        -            'svn_repos_recover','svn_status','svn_update','symlink',            'sys_get_temp_dir','syslog','system','tan','tanh','tempnam',
        -            'textdomain','thread_get','thread_include','thread_lock',            'thread_lock_try','thread_mutex_destroy','thread_mutex_init',
        -            'thread_set','thread_start','thread_unlock','tidy_access_count',            'tidy_clean_repair','tidy_config_count','tidy_diagnose',
        -            'tidy_error_count','tidy_get_body','tidy_get_config',            'tidy_get_error_buffer','tidy_get_head','tidy_get_html',
        -            'tidy_get_html_ver','tidy_get_output','tidy_get_release',            'tidy_get_root','tidy_get_status','tidy_getopt','tidy_is_xhtml',
        -            'tidy_is_xml','tidy_parse_file','tidy_parse_string',            'tidy_repair_file','tidy_repair_string','tidy_warning_count','time',
        -            'timezone_abbreviations_list','timezone_identifiers_list',            'timezone_name_from_abbr','timezone_name_get','timezone_offset_get',
        -            'timezone_open','timezone_transitions_get','tmpfile',            'token_get_all','token_name','touch','trigger_error',
        -            'transliterate','transliterate_filters_get','trim','uasort',            'ucfirst','ucwords','uksort','umask','uniqid','unixtojd','unlink',
        -            'unpack','unregister_tick_function','unserialize','unset',            'urldecode','urlencode','user_error','use_soap_error_handler',
        -            'usleep','usort','utf8_decode','utf8_encode','var_dump',            'var_export','variant_abs','variant_add','variant_and',
        -            'variant_cast','variant_cat','variant_cmp',            'variant_date_from_timestamp','variant_date_to_timestamp',
        -            'variant_div','variant_eqv','variant_fix','variant_get_type',            'variant_idiv','variant_imp','variant_int','variant_mod',
        -            'variant_mul','variant_neg','variant_not','variant_or',            'variant_pow','variant_round','variant_set','variant_set_type',
        -            'variant_sub','variant_xor','version_compare','virtual','vfprintf',            'vprintf','vsprintf','wddx_add_vars','wddx_deserialize',
        -            'wddx_packet_end','wddx_packet_start','wddx_serialize_value',            'wddx_serialize_vars','win_beep','win_browse_file',
        -            'win_browse_folder','win_create_link','win_message_box',            'win_play_wav','win_shell_execute','win32_create_service',
        -            'win32_delete_service','win32_get_last_control_message',            'win32_ps_list_procs','win32_ps_stat_mem','win32_ps_stat_proc',
        -            'win32_query_service_status','win32_scheduler_delete_task',            'win32_scheduler_enum_tasks','win32_scheduler_get_task_info',
        -            'win32_scheduler_run','win32_scheduler_set_task_info',            'win32_set_service_status','win32_start_service',
        -            'win32_start_service_ctrl_dispatcher','win32_stop_service',            'wordwrap','xml_error_string','xml_get_current_byte_index',
        -            'xml_get_current_column_number','xml_get_current_line_number',            'xml_get_error_code','xml_parse','xml_parser_create',
        -            'xml_parser_create_ns','xml_parser_free','xml_parser_get_option',            'xml_parser_set_option','xml_parse_into_struct',
        -            'xml_set_character_data_handler','xml_set_default_handler',            'xml_set_element_handler','xml_set_end_namespace_decl_handler',
        -            'xml_set_external_entity_ref_handler',            'xml_set_notation_decl_handler','xml_set_object',
        -            'xml_set_processing_instruction_handler',            'xml_set_start_namespace_decl_handler',
        -            'xml_set_unparsed_entity_decl_handler','xmldoc','xmldocfile',            'xmlrpc_decode','xmlrpc_decode_request','xmlrpc_encode',
        -            'xmlrpc_encode_request','xmlrpc_get_type','xmlrpc_is_fault',            'xmlrpc_parse_method_descriptions',
        -            'xmlrpc_server_add_introspection_data','xmlrpc_server_call_method',            'xmlrpc_server_create','xmlrpc_server_destroy',
        -            'xmlrpc_server_register_introspection_callback',            'xmlrpc_server_register_method','xmlrpc_set_type','xmltree',
        -            'xmlwriter_end_attribute','xmlwriter_end_cdata',            'xmlwriter_end_comment','xmlwriter_end_document',
        -            'xmlwriter_end_dtd','xmlwriter_end_dtd_attlist',            'xmlwriter_end_dtd_element','xmlwriter_end_dtd_entity',
        -            'xmlwriter_end_element','xmlwriter_end_pi','xmlwriter_flush',            'xmlwriter_full_end_element','xmlwriter_open_memory',
        -            'xmlwriter_open_uri','xmlwriter_output_memory',            'xmlwriter_set_indent','xmlwriter_set_indent_string',
        -            'xmlwriter_start_attribute','xmlwriter_start_attribute_ns',            'xmlwriter_start_cdata','xmlwriter_start_comment',
        -            'xmlwriter_start_document','xmlwriter_start_dtd',            'xmlwriter_start_dtd_attlist','xmlwriter_start_dtd_element',
        -            'xmlwriter_start_dtd_entity','xmlwriter_start_element',            'xmlwriter_start_element_ns','xmlwriter_start_pi','xmlwriter_text',
        -            'xmlwriter_write_attribute','xmlwriter_write_attribute_ns',            'xmlwriter_write_cdata','xmlwriter_write_comment',
        -            'xmlwriter_write_dtd','xmlwriter_write_dtd_attlist',            'xmlwriter_write_dtd_element','xmlwriter_write_dtd_entity',
        -            'xmlwriter_write_element','xmlwriter_write_element_ns',            'xmlwriter_write_pi','xmlwriter_write_raw','xpath_eval',
        -            'xpath_eval_expression','xpath_new_context','xpath_register_ns',            'xpath_register_ns_auto','xptr_eval','xptr_new_context','yp_all',
        -            'yp_cat','yp_errno','yp_err_string','yp_first',            'yp_get_default_domain','yp_master','yp_match','yp_next','yp_order',
        -            'zend_current_obfuscation_level','zend_get_cfg_var','zend_get_id',            'zend_loader_current_file','zend_loader_enabled',
        -            'zend_loader_file_encoded','zend_loader_file_licensed',            'zend_loader_install_license','zend_loader_version',
        -            'zend_logo_guid','zend_match_hostmasks','zend_obfuscate_class_name',            'zend_obfuscate_function_name','zend_optimizer_version',
        -            'zend_runtime_obfuscate','zend_version','zip_close',            'zip_entry_close','zip_entry_compressedsize',
        -            'zip_entry_compressionmethod','zip_entry_filesize','zip_entry_name',            'zip_entry_open','zip_entry_read','zip_open','zip_read',
        -            'zlib_get_coding_type'            ),
        -        4 => array(            'DEFAULT_INCLUDE_PATH', 'DIRECTORY_SEPARATOR', 'E_ALL',
        -            'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_CORE_ERROR',            'E_CORE_WARNING', 'E_ERROR', 'E_NOTICE', 'E_PARSE', 'E_STRICT',
        -            'E_USER_ERROR', 'E_USER_NOTICE', 'E_USER_WARNING', 'E_WARNING',            'ENT_COMPAT','ENT_QUOTES','ENT_NOQUOTES',
        -            'false', 'null', 'PEAR_EXTENSION_DIR', 'PEAR_INSTALL_DIR',            'PHP_BINDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_DATADIR',
        -            'PHP_EXTENSION_DIR', 'PHP_LIBDIR',            'PHP_LOCALSTATEDIR', 'PHP_OS',
        -            'PHP_OUTPUT_HANDLER_CONT', 'PHP_OUTPUT_HANDLER_END',            'PHP_OUTPUT_HANDLER_START', 'PHP_SYSCONFDIR',
        -            'PHP_VERSION', 'true', '__CLASS__', '__FILE__', '__FUNCTION__',            '__LINE__', '__METHOD__'
        -            )        ),
        -    'SYMBOLS' => array(        1 => array(
        -            '<'.'%', '<'.'%=', '%'.'>', '<'.'?', '<'.'?=', '?'.'>'            ),
        -        0 => array(            '(', ')', '[', ']', '{', '}',
        -            '!', '@', '%', '&', '|', '/',            '<', '>',
        -            '=', '-', '+', '*',            '.', ':', ',', ';'
        -            )        ),
        -    'CASE_SENSITIVE' => array(        GESHI_COMMENTS => false,
        -        1 => false,        2 => false,
        -        3 => false,        4 => false
        -        ),    'STYLES' => array(
        -        'KEYWORDS' => array(            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',            3 => 'color: #990000;',
        -            4 => 'color: #009900; font-weight: bold;'            ),
        -        'COMMENTS' => array(            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #666666; font-style: italic;',            3 => 'color: #0000cc; font-style: italic;',
        -            4 => 'color: #009933; font-style: italic;',            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #006699; font-weight: bold;',            5 => 'color: #006699; font-weight: bold; font-style: italic;',
        -            6 => 'color: #009933; font-weight: bold;',            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),        'BRACKETS' => array(
        -            0 => 'color: #009900;'            ),
        -        'STRINGS' => array(            0 => 'color: #0000ff;',
        -            'HARD' => 'color: #0000ff;'            ),
        -        'NUMBERS' => array(            0 => 'color: #cc66cc;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',            ),
        -        'METHODS' => array(            1 => 'color: #004000;',
        -            2 => 'color: #004000;'            ),
        -        'SYMBOLS' => array(            0 => 'color: #339933;',
        -            1 => 'color: #000000; font-weight: bold;'            ),
        -        'REGEXPS' => array(            0 => 'color: #000088;'
        -            ),        'SCRIPT' => array(
        -            0 => '',            1 => '',
        -            2 => '',            3 => '',
        -            4 => '',            5 => ''
        -            )        ),
        -    'URLS' => array(        1 => '',
        -        2 => '',        3 => 'http://www.php.net/{FNAMEL}',
        -        4 => ''        ),
        -    'OOLANG' => true,    'OBJECT_SPLITTERS' => array(
        -        1 => '-&gt;',        2 => '::'
        -        ),    'REGEXPS' => array(
        -        //Variables        0 => "[\\$]+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"
        -        ),    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(        0 => array(
        -            '<'.'?php' => '?'.'>'            ),
        -        1 => array(            '<'.'?' => '?'.'>'
        -            ),        2 => array(
        -            '<'.'%' => '%'.'>'            ),
        -        3 => array(            '<script language="php">' => '</script>'
        -            ),        4 => "/(?P<start><\\?(?>php\b)?)(?:".
        -            "(?>[^\"'?\\/<]+)|".            "\\?(?!>)|".
        -            "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|".            "(?>\"(?>[^\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|".
        -            "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|".            "\\/\\/(?>.*?(?:\\?>|$))|".
        -            "#(?>.*?(?:\\?>|$))|".            "\\/(?=[^*\\/])|".
        -            "<(?!<<)|".            "<<<(?P<phpdoc>\w+)\s.*?\s\k<phpdoc>".
        -            ")*?(?P<end>\\?>|\Z)/sm",        5 => "/(?P<start><%)(?:".
        -            "(?>[^\"'%\\/<]+)|".            "%(?!>)|".
        -            "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|".            "(?>\"(?>[^\\\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|".
        -            "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|".            "\\/\\/(?>.*?(?:%>|$))|".
        -            "#(?>.*?(?:%>|$))|".            "\\/(?=[^*\\/])|".
        -            "<(?!<<)|".            "<<<(?P<phpdoc>\w+)\s.*?\s\k<phpdoc>".
        -            ")*?(?P<end>%>|\Z)/sm",        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(        0 => true,
        -        1 => true,        2 => true,
        -        3 => true,        4 => true,
        -        5 => true        ),
        -    'TAB_WIDTH' => 4);
        - ?>
        - -

        If you’re remotely familiar with PHP (or even if you’re not), you can see that all that a language file consists of is -a glorified variable assignment. Easy! All a language file does is assign a variable $language_data. Though -still, there’s a lot of indices to that array… but this section is here to break each index down and explain it to you.

        - -

        4.2 Language File Conventions

        - -

        There are several conventions that are used in language files. For ease of use and readability, your language -files should obey the following rules:

        - -
          -
        • Indentation is 4 spaces, not tabs: Use spaces! as editors continiously screw up tabs there should be -no tabs in your documents since it would look differently on every computer otherwise.
        • -
        • Strings are in single quotes: Every string in a language file should be in single quotes (‘), unless you are -specifying a single quote as a quotemark or escape character, in which case they can be in double quotes for -readability; or if you are specifying a REGEXP (see below). This ensures that the language file can be loaded -as fast as possible by PHP as unnecessary parsing can be avoided.
        • -
        • Large arrays are multi-lined: An array with more than three or four values should be broken into multiple -lines. In any case, lines should not be wider than a full-screen window (about 100 chars per line max). -Don’t break the keywords arrays after every keyword.
        • -
        • Ending brackets for multi-lined arrays on a new line: Also with a comma after them, unless the array is -the last one in a parent array. See the PHP language file for examples of where to use commas.
        • -
        • Use GeSHi’s constants: For capatalisation, regular expressions etc. use the GeSHi constants, not -their actual values.
        • -
        • Verbatim header format: Copy the file header verbatim from other language files and modify the values -afterwards. Don’t try to invent own header formats, as your languages else will fail validation!
        • -
        - -

        There are more notes on each convention where it may appear in the language file sections below.

        - -

        4.3 Language File Sections

        - -

        This section will look at all the sections of a language file, and how they relate to the final highlighting result.

        - -

        4.3.1 The Header

        - -

        The header of a language file is the first lines with the big comment and the start of the variable -$language_data:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -1415
        -1617
        -1819
        -2021
        -2223
        -2425
        -2627
        -2829
        -3031
        -3233
        -3435
        -3637
        -3839
        -4041
        -4243
        -
        <?php
        -/************************************************************************************* * <name-of-language-file.php>
        - * --------------------------------- * Author: <name> (<e-mail address>)
        - * Copyright: (c) 2008 <name> (<website URL>) * Release Version: <GeSHi release>
        - * Date Started: <date started> *
        - * <name-of-language> language file for GeSHi. *
        - * <any-comments...> *
        - * CHANGES * -------
        - * <date-of-release> (<GeSHi release>) *  -  First Release
        - * * TODO (updated <date-of-release>)
        - * ------------------------- * <things-to-do>
        - * *************************************************************************************
        - * *     This file is part of GeSHi.
        - * *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version. *
        - *   GeSHi is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *   GNU General Public License for more details.
        - * *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - * ************************************************************************************/
        - $language_data = array (
        - -

        The parts in angle brackets are the parts that you change for your language file. Everything else must remain the same!

        - -

        Here are the parts you should change:

        - -
          -
        • <name-of-language-file.php> - This should become the name of your language file. Language file names are in -lower case and contain only alphanumeric characters, dashes and underscores. Language files end with .php (which -you should put with the name of your language file, eg language.php)
        • -
        • <name> - Your name, or alias.
        • -
        • <e-mail address> - Your e-mail address. If you want your language file included with GeSHi you must -include an e-mail address that refers to an inbox controlled by you.
        • -
        • <website> - A URL of a website of yours (perhaps to a page that deals with your contribution to GeSHi, or -your home page/blog)
        • -
        • <date-started> - The date you started working on the language file. If you can’t remember, guestimate.
        • -
        • <name-of-language> - The name of the language you made this language file for (probably similar to -the language file name).
        • -
        • <any-comments> - Any comments you have to make about this language file, perhaps on where you got the keywords for, -what dialect of the language this language file is for etc etc. If you don’t have any comments, remove the space for them.
        • -
        • <date-of-release - The date you released the language file to the public. If you simply send it to me for inclusion -in a new GeSHi and don’t release it, leave this blank, and I’ll replace it with the date of the GeSHi release that -it is first added to.
        • -
        • <GeSHi release> - This is the version of the release that will contain the changes you made. -So if you have version 1.0.8 of GeSHi running this will be the next version to be released, e.g. 1.0.8.1.
        • -
        - -

        Everything should remain the same.

        - -

        Also: I’m not sure about the copyright on a new language file. I’m not a lawyer, could someone contact me about -whether the copyright for a new language file should be exclusivly the authors, or joint with me (if included in a -GeSHi release)?

        - -

        4.3.2 The First Indices

        - -

        Here is an example from the php language file of the first indices:

        - -
        PHP code
        1
        -23
        -45
        -6
        'LANG_NAME' => 'PHP',
        -'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),'COMMENT_MULTI' => array('/*' => '*/'),
        -'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,'QUOTEMARKS' => array("'", '"'),
        -'ESCAPE_CHAR' => '\\',
        - -

        The first indices are the first few lines of a language file before the KEYWORDS index. These indices specify:

        - -
          -
        • ‘LANG_NAME’: The name of the language. This name should be a human-readable version of the name -(e.g. HTML 4 (transitional) instead of html4trans)
        • -
        • ‘COMMENT_SINGLE’: An array of single-line comments in your language, indexed by integers starting -from 1. A single line comment is a comment that starts at the marker and goes until the end of the line. These -comments may be any length > 0, and since they can be styled individually, can be used for other things than comments -(for example the Java language file defines “import” as a single line comment). If you are making a language that -uses a ’ (apostrophe) as a comment (or in the comment marker somewhere), use double quotes. e.g.: “’”
        • -
        • ‘COMMENT_MULTI’: Used to specify multiline comments, an array in the form ‘OPEN’ => ‘CLOSE’. Unfortunately, -all of these comments you add here will be styled the same way (an area of improvement for GeSHi 1.2.X). -These comment markers may be any length > 0.
        • -
        • ‘CASE_KEYWORDS’: Used to set whether the case of keywords should be changed automatically as they are found. -For example, in an SQL or BASIC dialect you may want all keywords to be upper case. The accepted values for this are:
        • -
        • GESHI_CAPS_UPPER: Convert the case of all keywords to upper case.
        • -
        • GESHI_CAPS_LOWER: Convert the case of all keywords to lower case.
        • -
        • GESHI_CAPS_NO_CHANGE: Don’t change the case of any keyword.
        • -
        • ‘QUOTEMARKS’: Specifies the characters that mark the beginning and end of a string. This is another example -where if your language includes the ’ string delimiter you should use double quotes around it.
        • -
        • ‘ESCAPE_CHAR’: Specifies the escape character used in all strings. If your language does not have an escape -character then make this the empty string (''). This is not an array! If found, any character after an -escape character and the escape character itself will be highlighted differently, and the character after the -escape character cannot end a string.
        • -
        - -

        In some language files you might see here other indices too, but those are dealt with later on.

        - -

        4.3.3 Keywords

        - -

        Keywords will make up the bulk of a language file. In this part you add keywords for your language, including -inbuilt functions, data types, predefined constants etc etc.

        - -

        Here’s a (shortened) example from the php language file:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -1415
        -1617
        -1819
        -2021
        -2223
        -2425
        -2627
        -2829
        -3031
        -3233
        -3435
        -3637
        -3839
        -40
        'KEYWORDS' => array(
        -    1 => array(        'as', 'break', 'case', 'do', 'else', 'elseif', 'endif',
        -        'endswitch', 'endwhile', 'for', 'foreach', 'if', 'include',        'include_once', 'require', 'require_once', 'return',
        -        'switch', 'while'        ),
        -    2 => array(        '&lt;/script>', '&lt;?', '&lt;?php', '&lt;script language=',
        -        '?>', 'class', 'default', 'DEFAULT_INCLUDE_PATH', 'E_ALL',        'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_CORE_ERROR',
        -        'E_CORE_WARNING', 'E_ERROR', 'E_NOTICE', 'E_PARSE',        'E_USER_ERROR', 'E_USER_NOTICE', 'E_USER_WARNING',
        -        'E_WARNING', 'false', 'function', 'new', 'null',        'PEAR_EXTENSION_DIR', 'PEAR_INSTALL_DIR', 'PHP_BINDIR',
        -        'PHP_CONFIG_FILE_PATH', 'PHP_DATADIR', 'PHP_EXTENSION_DIR',        'PHP_LIBDIR', 'PHP_LOCALSTATEDIR', 'PHP_OS',
        -        'PHP_OUTPUT_HANDLER_CONT', 'PHP_OUTPUT_HANDLER_END',        'PHP_OUTPUT_HANDLER_START', 'PHP_SYSCONFDIR', 'PHP_VERSION',
        -        'true', 'var', '__CLASS__', '__FILE__', '__FUNCTION__',        '__LINE__', '__METHOD__'
        -        ),    3 => array(
        -        'xml_parser_create', 'xml_parser_create_ns',        'xml_parser_free', 'xml_parser_get_option',
        -        'xml_parser_set_option', 'xml_parse_into_struct',        'xml_set_character_data_handler', 'xml_set_default_handler',
        -        'xml_set_element_handler',        'xml_set_end_namespace_decl_handler',
        -        'xml_set_external_entity_ref_handler',        'xml_set_notation_decl_handler', 'xml_set_object',
        -        'xml_set_processing_instruction_handler',        'xml_set_start_namespace_decl_handler',
        -        'xml_set_unparsed_entity_decl_handler', 'yp_all', 'yp_cat',        'yp_errno', 'yp_err_string', 'yp_first',
        -        'yp_get_default_domain', 'yp_master', 'yp_match', 'yp_next',        'yp_order', 'zend_logo_guid', 'zend_version',
        -        'zlib_get_coding_type'        )
        -    ),
        - -

        You can see that the index ‘KEYWORDS’ refers to an array of arrays, indexed by positive integers. In each array, -there are some keywords (in the actual php language file there is in fact many more keywords in the array indexed by 3). -Here are some points to note about these keywords:

        - -
          -
        • Indexed by positive integers: Use nothing else! I may change this in 1.2.X, but for the 1.0.X series, -use positive integers only. Using strings here results in unnecessary overhead degrading performance when -highlighting code with your language file!
        • -
        • Keywords sorted ascending: Keywords should be sorted in ascending order. This is mainly for -readability. An issue with versions before 1.0.8 has been solved, so the reverse sorting order -is no longer required and should thus be avoided. GeSHi itself sorts the keywords internally when -building some of its caches, so the order doesn’t matter, but makes things easier to read and maintain.
        • -
        • Keywords are case sensitive (sometimes): If your language is case-sensitive, the correct casing of the -keywords is defined as the case of the keywords in these keyword arrays. If you check the java language file you -will see that everything is in exact casing. So if any of these keyword arrays are case sensitive, put the -keywords in as their correct case! (note that which groups are case sensitive and which are not is configurable, -see later on). If a keyword group is case insensitive, put the lowercase version of the keyword here -OR in case documentation links require a special casing (other than all lowercase or all uppercase) -the casing required for them use their casing.
        • -
        • Keywords must be in htmlentities() form: All keywords should be written as if they had been -run through the php function htmlentities(). E.g, the keyword is &lt;foo&gt;, not -<foo>
        • -
        • Don’t use keywords to highlight symbols: Just don’t!!! It doesn’t work, and there is seperate support -for symbols since GeSHi 1.0.7.21.
        • -
        • Markup Languages are special cases: Check the html4strict language file for an example: You need to tweak -the Parser control here to tell the surroundings of tagnames. In case of doubt, feel free to ask.
        • -
        - -

        4.3.4 Symbols and Case Sensitivity

        - -

        So you’ve put all the keywords for your language in? Now for a breather before we style them :). Symbols define -what symbols your language uses. These are things like colons, brackets/braces, and other such general punctuation. -No alphanumeric stuff belongs here, just the same as no symbols belong into the keywords section.

        - -

        As of GeSHi version 1.0.7.21 the symbols section can be used in two ways:

        - -
        -
        Flat usage:
        -
        This mode is the suggested way for existing language files and languages that only need few symbols where no -further differentiation is needed or desired. You simply put all the characters in an array under symbols as shown -in the first example below. All symbols in flat usage belong to symbol style group 0.
        - -
        Group usage:
        -
        This is a slightly more enhanced way to provide GeSHi symbol information. To use group you create several subarrays -each containing only a subset of the symbols to highlight. Every array will need to have an unique index thus -you can assign the appropriate styles later.
        -
        - -

        Here’s an example for flat symbol usage

        - -
        PHP code
        1
        -23
        -
        'SYMBOLS' => array(
        -  '(', ')', '[', ']', '{', '}', '!', '@', '|', '&', '+', '-', '*', '/', '%', '=', '<', '>'),
        - -

        which is not too different from the newly introduced group usage shown below:

        - -
        PHP code
        1
        -23
        -45
        -6
        'SYMBOLS' => array(
        -  0 => array('(', ')', '[', ']', '{', '}'),  1 => array('!', '@', '|', '&'),
        -  2 => array('+', '-', '*', '/', '%'),  3 => array('=', '&lt;', '>')
        -),
        - -
        - -
        Note:
        - -

        Please note that versions before 1.0.7.21 will silently ignore this setting.

        - -

        Also note that GeSHi 1.0.7.21 itself had some bugs in Symbol highlighting that could cause - heavily scrambled code output.

        - -
        - -

        The following case sensitivity group alludes to the keywords section: here you can set which keyword groups are case sensitive.

        - -

        In the ‘CASE_SENSITIVE’ group there’s a special key GESHI_COMMENTS which is used to set whether comments are -case sensitive or not (for example, BASIC has the REM statement which while not being case sensitive is still alphanumeric, and -as in the example given before about the Java language file using “import” as a single line comment, this can be -useful sometimes. true if comments are case sensitive, false otherwise. All of the other indices -correspond to indices in the 'KEYWORDS' section (see above).

        - -

        4.3.5 Styles for your Language File

        - -

        This is the fun part! Here you get to choose the colours, fonts, backgrounds and anything else you’d like for your -language file.

        - -

        Here’s an example:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -1415
        -1617
        -1819
        -2021
        -2223
        -2425
        -2627
        -2829
        -3031
        -3233
        -3435
        -3637
        -3839
        -
        'STYLES' => array(
        -    'KEYWORDS' => array(        1 => 'color: #b1b100;',
        -        2 => 'color: #000000; font-weight: bold;',        3 => 'color: #000066;'
        -        ),    'COMMENTS' => array(
        -        1 => 'color: #808080; font-style: italic;',        2 => 'color: #808080; font-style: italic;',
        -        'MULTI' => 'color: #808080; font-style: italic;'        ),
        -    'ESCAPE_CHAR' => array(        0 => 'color: #000099; font-weight: bold;'
        -        ),    'BRACKETS' => array(
        -        0 => 'color: #66cc66;'        ),
        -    'STRINGS' => array(        0 => 'color: #ff0000;'
        -        ),    'NUMBERS' => array(
        -        0 => 'color: #cc66cc;'        ),
        -    'METHODS' => array(        0 => 'color: #006600;'
        -        ),    'SYMBOLS' => array(
        -        0 => 'color: #66cc66;'        ),
        -    'REGEXPS' => array(        0 => 'color: #0000ff;'
        -        ),    'SCRIPT' => array(
        -        0 => '',        1 => '',
        -        2 => '',        3 => ''
        -        )    ),
        - -

        Note that all style rules should end with a semi-colon! This is important: GeSHi may add extra rules to the rules you -specify (and will do so if a user tries to change your styles on the fly), so the last semi-colon in any stylesheet -rule is important!

        - -

        All strings here should contain valid stylesheet declarations (it’s also fine to have the empty string).

        - -
          -
        • ‘KEYWORDS’: This is an array, from keyword index to style. The index you use is the index you used in -the keywords section to specify the keywords belonging to that group.
        • -
        • ‘COMMENTS’: This is an array, from single-line comment index to style for that index. The index ‘MULTI’ is -used for multiline comments (and cannot be an array). COMMENT_REGEXP use the style given for their key as -if they were single-line comments.
        • -
        • ‘ESCAPE_CHAR’, ‘BRACKETS’ and ‘METHODS’: These are arrays with only one index: 0. You cannot add other indices to -these arrays.
        • -
        • ‘STRINGS’: This defines the various styles for the Quotemarks you defined earlier. If you don’t use -multiple styles for strings there’s only one index: 0. Please also add this index in case no strings are present.
        • -
        • ‘NUMBERS’: This sets the styles used to highlight numbers. The format used here depends on the format used to -set the formats of numbers to highlight. If you just used an integer (bitmask) for numbers, you have to either -specify one key with the respective constant, and\or include a key 0 as a default style. If you used an -array for the number markup, copy the keys used there and assign the styles accordingly.
        • -
        • ‘SYMBOLS’: This provides one key for each symbol group you defined above. If you used the flat usage -make sure you include a key for symbols group 0.
        • -
        • ‘REGEXPS’: This is an array with a style for each matching regex. Also, since 1.0.7.21, you can specify the -name of a function to be called, that will be given the text matched by the regex, each time a match is found. -Note that my testing found that create_function would not work with this due to a PHP bug, so you have to -put the function definition at the top of the language file. Be sure to prefix the function name -with geshi_[languagename]_ as to not conflict with other functions!
        • -
        • ‘SCRIPT’: For languages that use script delimiters, this is where you can style each block of script. For -example, HTML and XML have blocks that begin with < and end with > (i.e. tags) and blocks that begin with & and -end with ; (i.e. character entities), and you can set a style to apply to each whole block. You specify the -delimiters for the blocks below. Note that many languages will not need this feature.
        • -
        - -

        4.3.6 URLs for Functions

        - -

        This section lets you specify a url to visit for each keyword group. Useful for pointing functions at their online -manual entries.

        - -

        Here is an example:

        - -
        PHP code
        1
        -23
        -45
        -6
        'URLS' => array(
        -    1 => '',    2 => '',
        -    3 => 'http://www.php.net/{FNAME}',    4 => ''
        -    ),
        - -

        The indices of this array correspond to the keyword groups you specified in the keywords section. The string {FNAME} -marks where the name of the function is substituted in. So for the example above, if the keyword being highlighted is -“echo”, then the keyword will be a URL pointing to http://www.php.net/echo. Because some languages (Java!) don’t -keep a uniform URL for functions/classes, you may have trouble in creating a URL for that language (though look in the -java language file for a novel solution to it’s problem)

        - -

        4.3.7 Number Highlighting Support

        - -

        If your language supports different formats of numbers (e.g. integers and float representations) and you want -GeSHi to handle them differently you can select from a set of predefined formats.

        - -
        PHP code
        1
        -23
        -4
            'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        - -

        All the formats you want GeSHi to recognize are selected via a bitmask that is built by bitwise OR-ing the format constants. -When styling you use these constants to assign the proper styles. A style not assigned will automatically fallback to style group 0.

        - -
        - -
        Note:
        - -

        For a complete list of formats supported by GeSHi have a look into the sources of geshi.php.

        - -
        - -

        If you want to define your own formats for numbers or when you want to group the style for two or more formats you can use the array syntax.

        - -
        PHP code
        1
        -23
        -45
        -67
        -
            'NUMBERS' => array(
        -        1 => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE,        2 => GESHI_NUMBER_BIN_PREFIX_0B,
        -        3 => GESHI_NUMBER_OCT_PREFIX,        4 => GESHI_NUMBER_HEX_PREFIX,
        -        5 => GESHI_NUMBER_FLT_NONSCI | GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO        ),
        - -

        This creates 5 style groups 1..5 that will highlight each of the formats specified for each group. -Styling of these groups doesn’t use the constants but uses the indices you just defined.

        - -

        Instead of using those predefined constants you also can assign a PCRE that matches a number when using this advanced format.

        - -
        - -
        Note:
        - -

        The extended format hasn’t been exhaustively been tested. So beware of bugs there.

        - -
        - -

        4.3.8 Object Orientation Support

        - -

        Now we’re reaching the most little-used section of a language file, which includes such goodies as object orientation -support and context support. GeSHi can highlight methods and data fields of objects easily, all you need to do is to -tell it to do so and what the “splitter” is between object/method etc.

        - -

        Here’s an example:

        - -
        PHP code
        1
        -2
        'OOLANG' => true,
        -'OBJECT_SPLITTER' => '-&gt;',
        - -

        If your language has object orientation, the value of 'OOLANG' is true, otherwise it is false. If it is object -orientated, in the 'OBJECT_SPLITTER' value you put the htmlentities() version of the “splitter” between -objects and methods/fields. If it is not, then make this the empty string.

        - -

        4.3.9 Using Regular Expressions

        - -

        Regular expressions are a good way to catch any other lexic that fits certain rules but can’t be listed as a keyword. -A good example is variables in PHP: variables always start with either one or two “$” signs, then alphanumeric -characters (a simplification). This is easy to catch with regular expressions.

        - -

        And new to version 1.0.2, there is an advanced way of using regular expressions to catch certain things but highlight -only part of those things. This is particularly useful for languages like XML.

        - -
        - -
        Caution:
        - -

        Regular expressions use the PCRE syntax (perl-style), not the ereg() style!

        - -
        - -

        Here is an example (this time the PHP file merged with the XML file):

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -1415
        -
        0 => array(
        -    GESHI_SEARCH => '(((xml:)?[a-z\-]+))(=)',    GESHI_REPLACE => '\\1',
        -    GESHI_MODIFIERS => '',    GESHI_BEFORE => '',
        -    GESHI_AFTER => '\\4'    ),
        -1 => array(    GESHI_SEARCH => '(>/?[a-z0-9]*(>)?)',
        -    GESHI_REPLACE => '\\1',    GESHI_MODIFIERS => '',
        -    GESHI_BEFORE => '',    GESHI_AFTER => ''
        -    ),2 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
        - -

        As you can see there are two formats. One is the “simple” format used in GeSHi < 1.0.2, and the other is a more -advanced syntax. Firstly, the simple syntax:

        - -
          -
        • May be in double quotes: To make it easier for those who always place their regular expressions in double quotes, -you may place any regular expression here in double quotes if you wish.
        • -
        • Don’t use curly brackets where possible: If you want to use curly brackets (()) then by all means give it a try, -but I’m not sure whether under some circumstances GeSHi may throw a wobbly. You have been warned! If you want to -use brackets, it would be better to use the advanced syntax.
        • -
        • Don’t use the “everything” regex: (That’s the .*? regex). Use advanced syntax instead.
        • -
        - -

        And now for advanced syntax, which gives you much more control over exactly what is highlighted:

        - -
          -
        • GESHI_SEARCH: This element specifies the regular expression to search for. If you plan to capture the output, -use brackets (()). See how in the first example above, most of the regular expression is in one set of brackets -(with the equals sign in other brackets). You should make sure that the part of the regular expression that is -supposed to match what is highlighted is in brackets.
        • -
        • GESHI_REPLACE: This is what the stuff matched by the regular expression will be replaced with. If you’ve -grouped the stuff you want highlighted into brackets in the GESHI_SEARCH element, then you can use \\number -to match that group, where number is a number corresponding to how many open brackets are between the open -bracket of the group you want highlighted and the start of the GESHI_SEARCH string + 1. This may sound confusing, -and it probably is, but if you’re familiar with how PHP’s regular expressions work you should understand. In the -example above, the opening bracket for the stuff we want highlighted is the very first bracket in the string, so -the number of brackets before that bracket and the start of the string is 0. So we add 1 and get our replacement -string of \\1 (whew!).
        • -
        - -

        If you didn’t understand a word of that, make sure that there are brackets around the string in GESHI_SEARCH -and use \\1 for GESHI_REPLACE ;)

        - -
          -
        • GESHI_MODIFIERS: Specify modifiers for your regular expression. If your regular expression includes the -everything matcher (.*?), then your modifiers should include “s” and “i” (e.g. use ‘si’ for this).
        • -
        • GESHI_BEFORE:Specifies a bracket group that should appear before the highlighted match (this bracketed group will -not be highlighted). Use this if you had to match what you wanted by matching part of your regexp string to something -before what you wanted to highlight, and you don’t want that part to disappear in the highlighted result.
        • -
        • GESHI_AFTER:Specifies a bracket group that should appear after the highlighted match (this bracketed group will -not be highlighted). Use this if you had to match what you wanted by matching part of your regexp string to something -after what you wanted to highlight, and you don’t want that part to disappear in the highlighted result.
        • -
        - -

        Is that totally confusing? Here’s the test for if you’re an android or not: If you found that perfectly understandable -then you’re an android ;). Here’s a better example:

        - -

        Let’s say that I’m making a language, and variables in this language always start with a dollar sign ($), are always -written in lowercase letters and always end with an ampersand (&). eg:

        - -

        $foo& = 'bar'

        - -

        I want to highlight only the text between the $ and the &. How do I do that? With simple regular expressions I can’t, -but with advanced, it’s relatively easy:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -14
        1 => array(
        -    // search for a dollar sign, then one or more of the characters a-z, then an ampersand    GESHI_SEARCH => '(\$)([a-z]+)(&)',
        -    // we wanna highlight the characters, which are in the second bracketed group    GESHI_REPLACE => '\\2',
        -    // no modifiers, since we're not matching the "anything" regex    GESHI_MODIFIERS => '',
        -    // before the highlighted characters should be the first    // bracketed group (always a dollar sign in this example)
        -    GESHI_BEFORE => '\\1',    // after the highlighted characters should be the third
        -    // bracketed group (always an ampersand in this example)    GESHI_AFTER => '\\3'
        -    ),
        - -

        So if someone tried to highlight using my language, all cases of $foo& would turn into:

        - -

        $<span style="color: blue;">foo</span><span style="color: green;">&amp;</span>

        - -

        (which would of course be viewed in a browser to get something like $foo&)

        - -

        4.3.10 Contextual Highlighting and Strict Mode

        - -

        For languages like HTML, it’s good if we can highlight a tag (like <a> for example). But how do we stop -every single “a” in the source getting highlighted? What about for attributes? If I’ve got the word “colspan” in my -text I don’t want that highlighted! So how do you tell GeSHi not to highlight in that case? You do it with “Strict Blocks”.

        - -

        Here is an example:

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -1213
        -1415
        -1617
        -1819
        -2021
        -2223
        -2425
        -2627
        -
        <? /* ... */
        -'STRICT_MODE_APPLIES' => GESHI_MAYBE,'SCRIPT_DELIMITERS' => array(
        -    0 => array(        '<?php' => '?>'
        -        ),    1 => array(
        -        '<?' => '?>'        ),
        -    2 => array(        '<%' => '%>'
        -        ),    3 => array(
        -        '<script language="php">' => '</script>'        )
        -    4 => "/(<\?(?:php)?)(?:'(?:[^'\\\\]|\\\\.)*?'|\"(?:[^\"\\\\]|\\\\.)*?\"|\/\*(?!\*\/).*?\*\/|.)*?(\?>|\Z)/sm",    5 => "/(<%)(?:'(?:[^'\\\\]|\\\\.)*?'|\"(?:[^\"\\\\]|\\\\.)*?\"|\/\*(?!\*\/).*?\*\/|.)*?(%>|\Z)/sm"
        -    ),'HIGHLIGHT_STRICT_BLOCK' => array(
        -    0 => true,    1 => true,
        -    2 => true,    3 => true,
        -    4 => true,    5 => true
        -    )/* ... */ ?>
        - -

        What is strict mode? Strict mode says that highlighting only occurs inside the blocks you specify. You can see from -the example above that highlighting will only occur if the source is inside <?php ... ?> (though note the -GESHI_MAYBE!). Here are some points about strict highlighting:

        - -
          -
        • ‘STRICT_MODE_APPLIES’: This takes three values (all constants): - -
            -
          • GESHI_ALWAYS: Strict mode always applies for all of the blocks you specify. Users of your language -file cannot turn strict mode off. This should be used for markup languages.
          • -
          • GESHI_NEVER: Strict mode is never used. Users of your language file cannot turn strict mode on. Use this -value if there is no such thing as a block of code that would not be highlighted in your language -(most languages, like C, Java etc. use this because anything in a C file should be highlighted).
          • -
          • GESHI_MAYBE: Strict mode *sometimes* applies. It defaults to “off”. Users can turn strict mode on if -they please. If strict mode is off then everything in the source will be highlighted, even things outside -the strict block markers. If strict mode is on then nothing outside strict block markers will be highlighted.
          • -
        • -
        • ‘SCRIPT_DELIMITERS’: This is an array of script delimiters, in the format of the above. The indices are use in the -‘SCRIPT’ part of the styles section for highlighting everything in a strict block in a certain way. -For example, you could set up your language file to make the background yellow of any code inside a strict -block this way. The delimiters are in the form 'OPEN' => 'CLOSE'. Delimiters can be of any -length > 0. Delimiters are not formatted as if they were run through htmlentities()!
        • -
        • ‘HIGHLIGHT_STRICT_BLOCK’: specifies whether any highlighting should go on inside each block. Most of -the time this should be true, but for example, in the XML language file highlighting is turned off for -blocks beginning with <!DOCTYPE and ending with >. However, you can still -style the overall block using the method described above, and the XML language file does just that.
        • -
        - -
        - -
        Note:
        - -

        The delimiters should be in reverse alphabetical order. Note that in the above example, <?php - comes before <?.

        - -
        - -

        Since GeSHi 1.0.8 instead of specifying an array with starter and ender you may also provide a regular expression -that matches the full block you wish to highlight. If the regular expression match starts at the same position -as a previous array declaration the Regexp match is taken. This is to allow for a fall-back when a preg_match -doesn’t quite work as expected so you still get reasonably well results.

        - -

        If you didn’t get this, you might want to look into the PHP or HTML language files as this feature is used there -to fix some issues that have been there for about 3 years.

        - -
        - -
        Caution:
        - -

        For PHP versions <4.3.3 Strict Block Regexps are completely ignored due to problems in those version - that would cause loads of warning messages otherwise.

        - -
        - -

        4.3.11 Special Parser Settings (Experimental)

        - -

        Sometimes it is necessary for a language to render correctly to tweak some of the assumptions GeSHi usually makes to match the behaviour your language expects. -To achieve this there is an experimental section called 'PARSER_CONTROL' which is optional and should be used only if necessary. -With the help of this section some internal parameters of GeSHi can be set which are not overrideable by the API and thus their use should be limited as much as possible.

        - -

        The syntax of the PARSER_CONTROL basically resembles an array structure simular to the one found in the rest of the language file. All subsections of the PARSER_CONTROL are optional. -If a given setting isn’t present the usual default values of GeSHi are used. -No validation of settings is performed for these settings. Also note that unknown settings are silently ignored.

        - -
        - -
        Caution:
        - -

        All PARSER_CONTROL settings are experimental and subject to change. - So if you need a special setting in a public language file you should consider requesting it upstream. - This is also the reason why documentation on these settings will only cover broad usage information as the underlying implementation might change without further notice.

        - -
        - -

        One of the most common reasons why you might want to use the PARSER_CONTROL settings is to tweak what characters are allowed to surround a keyword. -Usually GeSHi checks for a fixed set of characters like brackets and common symbols that denote the word boundary for a keyword. -If this set conflicts with your language (e.g. - is allowed inside a keyword) or you want to limit the usage of a keyword to certain areas (e.g. for HTML tag names only match after <) you can change those conditions here.

        - -

        Keyword boundary rules can either be set globally (directly within the PARSER_CONTROL’s KEYWORDS section or on a per-group basis. -E.g. the following sample from the HTML language file sets different settings for keyword matching only for Keyword Group 2 and leaves the other groups alone.

        - -
        PHP code
        1
        -23
        -45
        -67
        -8
            'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(            2 => array(
        -                'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',                'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
        -            )        )
        -    )
        - -
        - -
        Note:
        - -

        The name 'DISALLOWED_BEFORE' and 'DISALLOWED_AFTER' might sound confusing at first, since they don’t define what to prevent, but what to match in order to find a keyword. - The reason for this strange naming is based in the original implementation of this feature when Nigel implemented this in the old parser statically. - When this implementation was brought out via the PARSER_CONTROL settings the original naming wasn’t altered since at that time this really was a blacklist of characters. - Later on this implementation was changed from a blacklist of characters to a part of a PCRE regexp, but leaving the name. - The naming might be subject to change though.

        - -
        - -

        Another option you can change since GeSHi 1.0.8.3 is whether to treat spaces within keywords as literals (only a single space as given) or if the space should match any whitespace at that location. -The following code will enable this behaviour for the whole keyword set. As said above you can choose to enable this for single keyword groups only though.

        - -
        PHP code
        1
        -23
        -45
        -
            'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(            'SPACE_AS_WHITESPACE' => true
        -        )    ),
        - -

        Another option of interest might be disabling certain features for a given language. -This might come in handy if the language file you are working on doesn’t support a given function or highlighting certain aspects won’t work properly or would interfere with custom implementations using regular expressions.

        - -
        PHP code
        1
        -23
        -45
        -67
        -89
        -1011
        -12
            'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(            'ALL' => GESHI_NEVER,
        -            'NUMBERS' => GESHI_NEVER,            'METHODS' => GESHI_NEVER,
        -            'SCRIPT' => GESHI_NEVER,            'SYMBOLS' => GESHI_NEVER,
        -            'ESCAPE_CHAR' => GESHI_NEVER,            'BRACKETS' => GESHI_NEVER,
        -            'STRINGS' => GESHI_NEVER,        )
        -    )
        - -

        Inside the 'ENABLE_FLAGS' section follows an array of 'name'=>value pairs. -Valid names are the sections below the 'STYLES' section (well, not exactly, but you can look there for what the features are called inside GeSHi). -Valid values are the GeSHi constants GESHI_NEVER (don’t process this feature), GESHI_ALWAYS (always process this feature, ignore the user) and GESHI_MAYBE (listen to the user if he want’s this highlighted). -The value GESHI_MAYBE is the default one and thus needs not to be set explicitely.

        - -

        Another setting available through the PARSER_CONTROL settings is the possibility to limit the allowed characters before an single line comment.

        - -
        PHP code
        1
        -23
        -45
        -
            'PARSER_CONTROL' => array(
        -        'COMMENTS' => array(            'DISALLOWED_BEFORE' => '$'
        -        )    )
        - -

        With the current implementation the DISALLOWED_BEFORE COMMENT-specific setting is a list of characters. But this is subject to change.

        - -
        - -
        Note:
        - -

        There is no 'DISALLOWED_AFTER' setting with the 'COMMENTS'-PARSER_CONTROL.

        - -
        - -

        Another PARSER_CONTROL setting for the environment around certain syntactic constructs refers to the handling of object-oriented languages.

        - -
        PHP code
        1
        -23
        -45
        -67
        -
            'PARSER_CONTROL' => array(
        -        'OOLANG' => array(            'MATCH_BEFORE' => '',
        -            'MATCH_AFTER' => '[a-zA-Z_][a-zA-Z0-9_]*',            'MATCH_SPACES' => '[\s]*'
        -        )    )
        - -
        - -
        Caution:
        - -

        Please note that the settings discussed in this section are experimental and might be changed, removed or altered in their meaning at any time.

        - -
        - -

        4.3.12 Tidying Up

        - -

        All language files should end with:

        - -
        PHP code
        1
        -23
        -
        );
        - ?>
        - -

        That is the string content "\n);\n?>\n".

        - -
        - -
        Caution:
        - -

        Make sure that there is EXACTLY one linebreak character at the end. If you accidentially include more - you might end up with messages like “Headers already sent”.

        - -
        - -

        4.4 Validating your language file

        - -

        Since GeSHi 1.0.8 there is a new script langcheck.php in the contrib directory that scans all -language files it finds in the geshi/ subdirectory of the GeSHi installation for mistakes.

        - -

        Please make sure that your language does not contain any mistakes that this script shows you when sending in -your language file for inclusion into the official release as this saves work for us when including your file. -Also you can be sure your language file will work as expected once your language file validates correctly.

        - -

        Please note that not all of the language files shipped with GeSHi are fully valid yet, but we’re working on it -and are happy about every patch we get!

        - -

        5 Method/Constant Reference

        - -

        I’m afraid I have been lying for a little while about this now! Since 1.0.7 I have been including a phpdoc API for -the sourcecode in the api directory, but have forgot to update the documentation! However, it is available, -and may assist you in coding, especially for plugin coders.

        - -
        - -

        That’s all, folks!

        - -

        I’ve improved the documentation greatly from version 1.0.1, but there may still be problems with it, or it may still -be confusing for you. Or perhaps I was just plain wrong about one point! If so, contact me and I’ll do my best to sort it out.

        - -

        In case you were wondering, I’ve finished development of the 1.0.X thread of GeSHi. The only releases I’ll make in this -thread will be of the bug-fix/add language files type. In particular, version 1.0.2 was a “concept” release - testing -how far I could take the highlighting idea (as well as ideas from others).

        - -

        I’m planning a code rewrite for 1.2.X, which will be based on a new engine - a “psuedo-tokenizer” engine. Hopefully -it will massively reduce the server load and time taken (by almost eliminating regexps), while providing -superior highlighting. But fear not! The interface and method names should all remain the same ^_^ (though I can’t -say the same for language files!)

        - -

        And finally, a couple of people have been asking me: how did you generate that documentation? The amazing answer is: my -brain. And yes, it took a long time, and I don’t recommend doing it this way. And yes, you can borrow the styles if -you like, though flick me an e-mail if you do.

        - -

        Anyway, enough blather from me. Get GeSHi working for you already! :D

        - -
        - -
        -
        Authors:
        -
        © 2004 - 2007 Nigel McNie
        - -
        © 2007 - 2012 Benny Baumann
        - -
        © 2008 - 2009 Milian Wolff
        - -
        GeSHi Website:
        -
        http://qbnz.com/highlighter
        -
        - -
        - -
        -
        -
          - -
        1. -

          The PRE header (see The Code Container) is not valid HTML, you might want -to use one of the other header types instead. 

          -
        2. - -
        3. -

          Support is granted for PHP 4.3.0 and above, but especially 4.3.x cannot be guaranteed to -work due to a lack of test systems. If you are forced to use such old PHP versions complain at your hoster or -contact us if you find compatibility issues so we can try to resolve them. It’s only PHP 4.4.X and above that -is verified to work. 

          -
        4. - -
        5. -

          I am no longer working on this MOD, however if someone else wants to they can contact me for more -information. 

          -
        6. - -
        7. -

          Available as plugin only. In addition, some of the other entries mentioned -here may only have GeSHi available as a plugin. 

          -
        8. - -
        -
        - - \ No newline at end of file diff --git a/vendor/easybook/geshi/docs/geshi-doc.txt b/vendor/easybook/geshi/docs/geshi-doc.txt deleted file mode 100644 index e0f38ff..0000000 --- a/vendor/easybook/geshi/docs/geshi-doc.txt +++ /dev/null @@ -1,1741 +0,0 @@ -[NOTE: This documentation has simply been copy-pasted from the HTML form and is NOT up to date, I recommend you -read that instead] - -GeSHi Documentation -Version 1.0.7.22 - -Author: Nigel McNie, Benny Baumann -Copyright: © 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann -Email: nigel@geshi.org, BenBE@omorphia.de -GeSHi Website: http://qbnz.com/highlighter - -This is the documentation for GeSHi - Generic Syntax Highlighter. The most modern version of this document is available on the web - go to http://qbnz.com/highlighter/documentation.php to view it. - -Any comments, questions, confusing points? Please contact me! I need all the information I can get to make the use of GeSHi and everything related to it (including this documentation) a breeze. -Contents - - * 1. Introduction - o 1.1 Features - o 1.2 About GeSHi - o 1.3 Credits - o 1.4 Feedback - * 2. The Basics - o 2.1 Getting GeSHi - o 2.2 Installing GeSHi - + 2.2.1 Requirements - + 2.2.2 Extracting GeSHi - + 2.2.3 Installation - o 2.3 Basic Usage - * 3. Advanced Features - o 3.1 The Code Container - o 3.2 Line Numbers - + 3.2.1 Enabling Line Numbers - + 3.2.2 Styling Line Numbers - + 3.2.3 Choosing a Start Number - o 3.3 Using CSS Classes - + 3.3.1 Enabling CSS Classes - + 3.3.2 Setting the CSS Class/ID - + 3.3.3 Getting the Stylesheet - + 3.3.4 Using an External Stylesheet - o 3.4 Changing Styles - + 3.4.1 The Overall Styles - + 3.4.2 Line Number Styles - + 3.4.3 Setting Keyword Styles - + 3.4.4 Setting Comment Styles - + 3.4.5 Setting Other Styles - o 3.5 Case Sensitivity and Auto Casing - + 3.5.1 Auto Caps/Nocaps - + 3.5.2 Setting Case Sensitivity - o 3.6 Changing the Source/Language/Path/Charset - + 3.6.1 Changing the Source Code - + 3.6.2 Changing the Language - + 3.6.3 Changing the Path - + 3.6.4 Changing the Character Set - + 3.6.5 Using load_from_file to change the language and source code - o 3.7 Error Handling - o 3.8 Disabling Styling of Some Lexics - o 3.9 Setting the Tab Width - o 3.10 Using Strict Mode - o 3.11 Adding/Removing Keywords - + 3.11.1 Adding a Keyword - + 3.11.2 Removing a Keyword - + 3.11.3 Adding a Keyword Group - + 3.11.4 Removing a Keyword Group - o 3.12 Headers and Footers for your code - + 3.12.1 Keyword Substitution - + 3.12.2 Setting Header Content - + 3.12.3 Setting Footer Content - + 3.12.4 Styling Header Content - + 3.12.5 Styling Footer Content - o 3.13 Keyword URLs - + 3.13.1 Setting a URL for a Keyword Group - + 3.13.2 Disabling URLs for a Keyword Group - + 3.13.3 Disabling all URLs for Keywords - + 3.13.4 Styling Links - + 3.13.5 Setting the Link Target - o 3.14 Using Contextual Importance - o 3.15 Highlighting Special Lines "Extra" - + Specifying the Lines to Highlight Extra - + Styles for the Highlighted Lines - o 3.16 Adding IDs to Each Line - o 3.17 Getting the Time of Styling - * 4 Language Files - o 4.1 An Example Language File - o 4.2 Language File Conventions - o 4.3 Language File Sections - + 4.3.1 The Header - + 4.3.2 The First Indices - + 4.3.3 Keywords - + 4.3.4 Symbols and Case Sensitivity - + 4.3.5 Styles for your Language Files - + 4.3.6 URLs for Functions - + 4.3.7 Object Orientation Support - + 4.3.8 Using Regular Expressions - + 4.3.9 Contextual Highlighting and Strict Mode - + 4.3.10 Tidying Up - * 5 Method/Constant Reference - -1: Introduction -Top | Contents | Next | Previous - -GeSHi is exactly what the acronym stands for: a Generic Syntax Highlighter. As long as you have a language file for almost any computer language - whether it be a scripting language, object orientated, markup or anything in between - GeSHi can highlight it! GeSHi is extremely customisable - the same source can be highlighted multiple times in multiple ways - the same source even with a different language. GeSHi outputs XHTML strict compliant code*, and can make use of CSS to save on the amount of output. And what is the cost for all of this? You need PHP. That's all! - -*Most of the time. Some languages do not output XHTML strict code, and using line numbers with the PRE header is not legal either. These problems will be fixed in 1.2. -1.1: Features -Top | Contents | Next | Previous - -Here are some of the standout features of GeSHi: - - * Programmed in PHP: GeSHi is coded entirely in PHP. This means that where ever you have PHP, you can have GeSHi! Almost any free webhost supports PHP, and GeSHi works fine with PHP > 4.3.0*. - * Support for many languages: GeSHi comes with about 100 languages, including PHP, HTML, CSS, Java, C, Lisp, XML, Perl, Python, ASM and many more! - * XHTML compliant output: GeSHi produces XHTML compliant output, using stylesheets, so you need not worry about GeSHi ruining your claims to perfection in the standards department ;) - * Highly customisable: GeSHi allows you to change the style of the output on the fly, use CSS classes or not, use an external stylesheet or not, use line numbering, change the case of output keywords... the list goes on and on! - * Flexible: Unfortunately, GeSHi is quite load/time intensive for large blocks of code. However, you want speed? Turn off any features you don't like, pre-make a stylesheet and use CSS classes to reduce the amount of output and more - it's easy to strike a balance that suits you. - -This is just a taste of what you get with GeSHi - the best syntax highlighter for the web in the world! - -*Support is granted for PHP 4.3.0 and above, but especially 4.3.x cannot be guaranteed to work due to a lack of test systems. If you are forced to use such old PHP versions complain at your hoster or contact us if you find compatibility issues so we can try to resolve them. It's only PHP 4.4.X and above that is verified to work. -1.2: About GeSHi -Top | Contents | Next | Previous - -GeSHi started as a mod for the phpBB forum system, to enable highlighting of more languages than the available (which can be roughly estimated to exactly 0 ;)). However, it quickly spawned into an entire project on its own. But now it has been released, work continues on a mod for phpBB* - and hopefully for many forum systems, blogs and other web-based systems. - -*I am no longer working on this MOD, however if someone else wants to they can contact me for more information. - -Several systems are using GeSHi now, including: - - * Dokuwiki - An advanced wiki engine - * gtk.php.net - Their manual uses GeSHi for syntax highlighting - * WordPress - A powerful blogging system* - * PHP-Fusion - A constantly evovling CMS - * SQL Manager - A Postgres DBAL - * Mambo - A popular open source CMS - * MediaWiki - A leader in Wikis* - * TikiWiki - A megapowerful Wiki/CMS - * TikiPro - Another powerful Wiki based on Tikiwiki - * RWeb - A site-building tool - -* Available as plugin only. In addition, some of the other entries mentioned here may only have GeSHi available as a plugin. - -GeSHi is the original work of Nigel McNie. The project was later handed over to Benny Baumann. Others have helped with aspects of GeSHi also, they're mentioned in the THANKS file. -1.3: Credits -Top | Contents | Next | Previous - -Many people have helped out with GeSHi, whether by creating language files, submitting bug reports, suggesting new ideas or simply pointing out a new idea or something I'd missed. All of these people have helped to build a better GeSHi, you can see them in the THANKS file. - -Do you want your name on this list? Why not make a language file, or submit a valid bug? Or perhaps help me with an added feature I can't get my head around, or suggest a new feature, or even port GeSHi to anothe language? There's lots you can do to help out, and I need it all :) -1.4: Feedback -Top | Contents | Next | Previous - -I need your feedback! ANYthing you have to say is fine, whether it be a query, congratulations, a bug report or complaint, I don't care! I want to make this software the best it can be, and I need your help! You can contact me in the following ways: - - * E-mail: nigel@geshi.org - * Forums: Sourceforge.net Forums or GeSHi home forums - -Remember, any help I am grateful for :) -2: The Basics -Top | Contents | Next | Previous - -In this section, you'll learn a bit about GeSHi, how it works and what it uses, how to install it and how to use it to perform basic highlighting. -2.1: Getting GeSHi -Top | Contents | Next | Previous - -If you're reading this and don't have GeSHi, that's a problem ;). So, how do you get your hands on it? Visit http://qbnz.com/highlighter/downloads.php to obtain the latest version. -2.2: Installing GeSHi -Top | Contents | Next | Previous - -Installing GeSHi is a snap, even for those most new to PHP. There's no tricks involved. Honest! -2.2.1: Requirements -Top | Contents | Next | Previous - -GeSHi requires the following to be installable: - - * PHP. It's untested with anything other below 4.4.X. I hope to extend this range soon. I see no reason why it won't work with any version of PHP above 4.3.0. - * Approximately 2 megabytes of space. The actual script is small - around 150K - but most of the size comes from the large number of language files (over 100!). If you're pushed for space, make sure you don't upload to your server the docs/ or contrib/ directory, and you may want to leave out any language files that don't take your fancy either. - -As you can see, the requirements are very small. If GeSHi does NOT work for you in a particular version of PHP, let me know why and I'll fix it. - -Packages come in .zip, .tar.gz and .tar.bz2 format, so there's no complaining about whether it's available for you. *nix users probably want .tar.gz or .tar.bz2 and windows users probably want .zip. -2.2.2: Extracting GeSHi -Top | Contents | Next | Previous - -To extract GeSHi in Linux (.tar.gz): - - 1. Open a shell - 2. cd to the directory where the archive lies - 3. Type tar -xzvf [filename] where [filename] is the name of the archive (typically GeSHi-1.X.X.tar.gz) - 4. GeSHi will be extracted to its own directory - -To extract GeSHi in Windows (.zip): - - 1. Open Explorer - 2. Navigate to the directory where the archive lies - 3. Extract the archive. The method you use will depend on your configuration. Some people can right-click upon the archive and select "Extract" from there, others may have to drag the archive and drop it upon an extraction program. - -To extract from .zip you'll need an unzipping program - unzip in Linux, or Winzip, Winrar or similar for Windows. -2.2.3: Installation -Top | Contents | Next | Previous - -GeSHi is nothing more than a PHP class with related language support files. Those of you familiar with PHP can then guess how easy the installation will be: simply copy it into your include path somewhere. You can put it wherever you like in this include path. I recommend that you put the language files in a subdirectory of your include path too - perhaps the same subdirectory that geshi.php is in. Remember this path for later. - -If you don't know what an include path is, don't worry. Simply copy GeSHi to your webserver. So for example, say your site is at http://mysite.com/myfolder, you can copy GeSHi to your site so the directory structure is like this: - -http://mysite.com/myfolder/geshi/[language files] -http://mysite.com/myfolder/geshi.php - -Or you can put it in any subdirectory you like: - -http://mysite.com/myfolder/includes/geshi/[language files] -http://mysite.com/myfolder/includes/geshi.php - -Caution: - -When using GeSHi on a live site, the only directory required is the geshi/ subdirectory. Both contrib/ and docs/ are worthless, and furthermore, as some people discovered, one of the files in contrib had a security hole (fixed as of 1.0.7.3). I suggest you delete these directories from any live site they are on. -2.3: Basic Usage -Top | Contents | Next | Previous - -Use of GeSHi is very easy. Here's a simple example: -// -// Include the GeSHi library -// -include_once('geshi.php'); - -// -// Define some source to highlight, a language to use -// and the path to the language files -// -$source = '$foo = 45; -for ( $i = 1; $i < $foo; $i++ ) -{ - echo "$foo
        \n"; - --$foo; -}'; -$language = 'php'; -// -// Create a GeSHi object -// -$geshi =& new GeSHi($source, $language); - -// -// And echo the result! -// -echo $geshi->parse_code(); - -As you can see, there's only three really important lines: -include_once('geshi.php'); - -This line includes the GeSHi class for use -$geshi = new GeSHi($source, $language); - -This line creates a new GeSHi object, holding the source and the language you want to use for highlighting. -echo $geshi->parse_code(); - -This line spits out the result :) - -So as you can see, simple usage of GeSHi is really easy. Just create a new GeSHi object and get the code! - -Since version 1.0.2, there is a function included with GeSHi called geshi_highlight. This behaves exactly as the php function highlight_string behaves - all you do is pass it the language you want to use to highlight and the path to the language files as well as the source. Here are some examples: -// Simply echo the highlighted code -geshi_highlight($source, 'php', $path); - -// Get the code back, for use later -$code = geshi_highlight($source, 'java', $path, true) - -// Check if there is an error with parsing this code -ob_start(); -$result = geshi_highlight($source, 'perl', $path); -$code = ob_get_contents(); -ob_end_clean(); -if ( !$result ) -{ - // There was an error with highlighting... -} -else -{ - // All OK :) -} - -However, these are really simple examples and doesn't even begin to cover all the advanced features of GeSHi. If you want to learn more, continue on to section 3: Advanced Features. -3: Advanced Features -Top | Contents | Next | Previous - -This section documents the advanced features of GeSHi - strict mode, using CSS classes, changing styles on the fly, disabling highlighting of some things and more. - -In this section there are many code snippets. For all of these, you should assume that the GeSHi library has been included, and a GeSHi object has been created and is referenced by the variable $geshi. Normally, the source, language and path used are arbitary. -3.1 The Code Container -Top | Contents | Next | Previous - -The Code Container has a fundamental effect on the layout of your code before you even begin to style. What is the Code Container? It's the bit of markup that goes around your code to contain it. By default your code is surrounded by a
        , but you can also specify a 
        . - -The
         header is the default. If you're familiar with HTML you'll know that whitespace is rendered "as is" by a 
         element. The advantage for you is that if you use 
         the whitespace you use will appear pretty much exactly how it is in the source, and what's more GeSHi won't have to add a whole lot of 
        's and non-breaking spaces ( ) to your code to indent it. This saves you source code (and your valuable visitors waiting time and your bandwidth). - -But if you don't like
         or it looks stupid in your browser no matter what styles you try to apply to it or something similar, you might want to use a 
        instead. A
        will result in more source - GeSHi will have to insert whitespace markup - but in return you can wrap long lines of code that would otherwise have your browser's horizontal scrollbar appear. Of course with
        you can *not* wrap lines if you please. The highlighter demo at the GeSHi home page uses the
        approach for this reason. - -At this stage there isn't an option to wrap the code in tags (unless you use the function geshi_highlight), partly because of the inconsistent and unexpected ways stuff in tags is highlighted. Besides, is an inline element. But this may become an option in future versions. - -As of GeSHi 1.0.7.2 there is a new header type, that specifies that the code should not be wrapped in anything at all. - -Another requested addition has been made in GeSHi 1.0.7.20 to force GeSHi to create a block around the highlighted source even if this wasn't necessary, thus styles that are applied to the output of GeSHi can directly influence the code only even if headers and footers are present. - -To change/set the header to use, you call the set_header_type() method: -$geshi->set_header_type(GESHI_HEADER_DIV); -// or... -$geshi->set_header_type(GESHI_HEADER_PRE); // or... -$geshi->set_header_type(GESHI_HEADER_NONE); - -Those are the only three arguments you should pass to set_header_type. Passing anything else may cause inconsistencies in what is used as the Code Container (although it *should* simply use a
        ). Better not to risk it.
        -Note:
        -
        -GESHI_HEADER_DIV, GESHI_HEADER_PRE and GESHI_HEADER_NONE are constants, so don't put them in strings!
        -Caution:
        -
        -The default styles for the 
         and 
        will be different, especially if you use line numbers!. I have found that a
         results in code that is smaller than for that of a 
        , you should rectify this difference by using set_overall_style() if you need to. But be aware of this difference for if you are changing the header type! -3.2: Line Numbers -Top | Contents | Next | Previous - -GeSHi has the ability to add line numbers to your code (see the demo available at http://qbnz.com/highlighter/demo.php to see what can be achieved). Line numbers are a great way to make your code look professional, especially if you use the fancy line numbers feature. -3.2.1: Enabling Line Numbers -Top | Contents | Next | Previous - -To highlight a source with line numbers, you call the enable_line_numbers() method: -$geshi->enable_line_numbers($flag); - -Where $flag is one of the following: - - * GESHI_NORMAL_LINE_NUMBERS - Use normal line numbering - * GESHI_FANCY_LINE_NUMBERS - Use fancy line numbering - * GESHI_NO_LINE_NUMBERS - Disable line numbers (default) - -Normal line numbers means you specify a style for them, and that style gets applied to all of them. Fancy line numbers means that you can specify a different style for each nth line number. You change the value of n (default 5): -$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 37); - -The second parameter is not used in any other mode. Setting it to 0 is the same as simply using normal line numbers. Setting it to 1 applies the fancy style to every line number. -Note: - -The values above are CONSTANTS - so don't put them in strings! -3.2.2 Styling Line Numbers -Top | Contents | Next | Previous - -As of GeSHi 1.0.2, line numbers are added by the use of ordered lists. This solves the old issues of line number styles inheriting from styles meant for the code. Also, this solves an important issue about selecting code. For example, line numbers look nice, but when you go to select the code in your browser to copy it? You got the line numbers too! Not such a good thing, but thankfully this issue is now solved. What is the price? Unfortunately the whole way that styles are inherited/used has changed for those of you who were familiar with 1.0.1, and there is quite a bit more HTML involved. So think carefully about these things before you enable line numbers. - -Now, onto how to style line numbers: - -Styles are set for line numbers using the set_line_style() method: -$geshi->set_line_style('background: #fcfcfc;'); - -If you're using Fancy Line Numbers mode, you pass a second string for the style of the nth line number: -$geshi->set_line_style('background: #fcfcfc;', 'background: #f0f0f0;'); - -The second style will have no effect if you're not using Fancy Line Numbers mode. - -By default, the styles you pass overwrite the current styles. Add a boolean "true" after the styles you specify to combine them with the current styles: -$geshi->set_line_style('background: red;', true); -// or, for fancy line numbers -$geshi->set_line_style('background: red;', 'background: blue;', true); -Note: - -Due to a bug with Firefox the issue that should have been fixed with 1.0.2 has reappeared in another form as Firefox includes extra text\markup into plaintext versions of webpage copies. This can sometimes be useful (actually it's used to get the plaintext version of this documentation), but more often is quite annoying. Best practice so far is to either not use line numbers, or offer the visitor of your page a plaintext version of your source. To learn more have a look at the SF.net BugTracker Issue #1651996. This will hopefully be fixed in GeSHi version 1.2 or as soon as Firefox provides webdevelopers with adequate ways to control this feature - whichever comes first! -Caution: - -When you set line number styles, the code will inherit those styles! This is the main issue to come out of the 1.0.2 release. If you want your code to be styled in a predictable manner, you'll have to call the set_code_style() method to rectify this problem. - -Note also that you cannot apply background colours to line numbers unless you use set_overall_style(). Here's how you'd style: - - 1. Use set_overall_style() to style the overall code block. For example, you can set the border style/colour, any margins and padding etc. using this method. In addition: set the background colour for all the line numbers using this method. - 2. Use set_line_style() to style the foreground of the line numbers. For example, you can set the colour, weight, font, padding etc. of the line numbers using this method. - 3. Use set_code_style() to explicitly override the styles you set for line numbers using set_line_style. For example, if you'd set the line numbers to be bold (or even if you'd only set the fancy line number style to be bold), and you didn't actually want your code to be bold, you'd make sure that font-weight: normal; was in the stylesheet rule you passed to set_code_style - -This is the one major change from GeSHi 1.0.1 - make sure you become familiar with this, and make sure that you check any code you have already styled with 1.0.1 when you upgrade to make sure nothing bad happens to it. -3.2.3: Choosing a Start Number -Top | Contents | Next | Previous - -As of GeSHi 1.0.2, you can now make the line numbers start at any number, rather than just 1. This feature is useful if you're highlighting code from a file from around a certain line number in that file, as an additional guide to those who will view the code. You set the line numbers by calling the start_line_numbers_at() method: -$geshi->start_line_numbers_at($number); - -$number must be a positive integer (or zero). If it is not, GeSHi will convert it anyway. - -If you have not enabled line numbers, this will have no effect. -Caution: - -Although I'd like GeSHi to have XHTML strict compliance, this feature will break compliancy (however transitional compliancy remains). This is because the only widely supported way to change the start value for line numbers is by using the start="number" attribute of the
          tag. Although CSS does provide a mechanism for doing this, it is only supported in Opera versions 7.5 and above (not even Firefox supports this). -3.3: Using CSS Classes -Top | Contents | Next | Previous - -Using CSS to highlight your code instead of in-lining the styles is a definate bonus. Not only is it more compliant (the w3c is deprecating the style attribute in XHTML 2.0) but it results in far less outputted code - up to a whopping 90% saving - which makes a *huge* difference to those unlucky of us on modems! -3.3.1: Enabling CSS Classes -Top | Contents | Next | Previous - -By default, GeSHi doesn't use the classes, so it's easy just to whack out some highlighted code if you need without worrying about stylesheets. However, if you're a bit more organised about it, you should use the classes ;). To turn the use of classes on, you call the enable_classes() method: -$geshi->enable_classes(); - -If you want to turn classes OFF for some reason later: -$geshi->enable_classes(false); - -If classes are enabled when parse_code() is called, then the resultant source will use CSS classes in the output, otherwise it will in-line the styles. The advantages of using classes are great - the reduction in source will be very noticeable, and what's more you can use one stylesheet for several different highlights on the same page. In fact, you can even use an external stylesheet and link to that, saving even more time and source (because stylesheets are cached by browsers). -Note: - -There have been problems with inline styles and the Symbol Highlighting added in 1.0.7.21. If you can you should therefore turn CSS classes ON to avoid those issues. -Caution: - -This should be the very first method you call after creating a new GeSHi object! That way, various other methods can act upon your choice to use classes correctly. In theory, you could call this method just before parsing the code, but this may result in unexpected behaviour. -3.3.2: Setting the CSS class and ID -Top | Contents | Next | Previous - -You can set an overall CSS class and id for the code. This is a good feature that allows you to use the same stylesheet for many different snippets of code. You call set_overall_class() and set_overall_id to accomplish this: -$geshi->set_overall_class('mycode'); -$geshi->set_overall_id('dk48ck'); - -The default classname is the name of the language being used. This means you can use just the one stylesheet for all sources that use the same language, and incidentally means that you probably won't have to call these methods too often. - -CSS IDs are supposed to be unique, and you should use them as such. Basically, you can specify an ID for your code and then use that ID to highlight that code in a unique way. You'd do this for a block of code that you expressly wanted to be highlighted in a different way (see the section below on gettting the stylesheet for your code for an example). -3.3.3: Getting the stylesheet for your code -Top | Contents | Next | Previous - -The other half of using CSS classes is getting the stylesheet for use with the classes. GeSHi makes it very easy to get a stylesheet for your code, with one easy method call: -$geshi->enable_classes(); - -// Here we have code that will spit out a header for -// a stylesheet. For example: - -echo ' -Code - -'; - -The get_stylesheet() method gets the stylesheet for your code in one easy call. All you need to do is output it in the correct place. As you can also see, you don't even have to enable class usage to get the stylesheet nessecary either - however not enabling classes but using the stylesheet may result in problems later. - -By default, get_stylesheet() tries to echo the least amount of code possible. Although currently it doesn't check to see if a certain lexic is even in the source, you can expect this feature in the future. At least for the present however, if you explicitly disable the highlighting of a certain lexic, or disable line numbers, the related CSS will not be outputted. This may be a bad thing for you perhaps you're going to use the stylesheet for many blocks of code, some with line numbers, others with some lexic enabled where this source has it disabled. Or perhaps you're building an external stylesheet and want all lexics included. So to get around this problem, you do this: -$geshi->get_stylesheet(false); - -This turns economy mode off, and all of the stylesheet will be outputted regardless. - -Now lets say you have several snippets of code, using the same language. In most of them you don't mind if they're highlighted the same way (in fact, that's exactly what you want) but in one of them you'd like the source to be highlighted differently. Here's how you can do that: -// assume path is the default "geshi/" relative to the current directory -$geshi1 = new GeSHi($source1, $lang); -$geshi2 = new GeSHi($source2, $lang); -$geshi3 = new GeSHi($source3, $lang); - -// Turn classes on for all sources -$geshi1->enable_classes(); -$geshi2->enable_classes(); -$geshi3->enable_classes(); - -// Make $geshi3 unique -$geshi3->set_overall_id('different'); - -// -// Methods are called on $geshi3 to change styles... -// - -echo ' -Code - -'; - - -echo 'Code snippet 1:'; -echo $geshi1->parse_code(); -echo 'Code snippet 2 (same highlighting as 1):'; -echo $geshi2->parse_code(); -echo 'Code snippet 3 (DIFFERENT highlighting):'; -echo $geshi3->parse_code(); - -echo ''; - -Before version 1.0.2, you needed to set the class of the code you wanted to be unique to the empty string. This limitation has been removed in version 1.0.2 - if you set the ID of a block of code, all styling will be done based on that ID alone. -3.3.4: Using an External Stylesheet -Top | Contents | Next | Previous - -An external stylesheet can reduce even more the amount of code needed to highlight some source. However there are some drawbacks with this. To use an external stylesheet, it's up to you to link it in to your document, normally with the following HTML: - - - - -In your external stylesheet you put CSS declarations for your code. Then just make sure you're using the correct class (use set_overall_class() to ensure this) and this should work fine. - -This method is great if you don't mind the source always being highlighted the same (in particular, if you're making a plugin for a forum/wiki/other system, using an external stylesheet is a good idea!). It saves a small amount of code and your bandwidth, and it's relatively easy to just change the stylesheet should you need to. However, using this will render the methods that change the styles of the code useless, because of course the stylesheet is no longer being dynamically generated. You can still disable highlighting of certain lexics dynamically, however. -Note: - -As of version 1.0.2, GeSHi comes with a contrib/ directory, which in it contains a "wizard" script for creating a stylesheet. Although this script is by no means a complete solution, it will create the necessary rules for the basic lexics - comments, strings for example. Things not included in the wizard include regular expressions for any language that uses them (PHP and XML are two languages that use them), and keyword-link styles. However, this script should take some of the tedium out of the job of making an external stylesheet. Expect a much better version of this script in version 1.2! -3.4: Changing Styles -Top | Contents | Next | Previous - -One of the more powerful features of GeSHi is the ability to change the style of the output dynamically. Why be chained to the boring styles the language authors make up? You can change almost every single aspect of highlighted code - and can even say whether something is to be highlighted at all. - -If you're confused about "styles", you probably want to have a quick tutorial in them so you know what you can do with them. Checkout the homepage of CSS at http://www.w3.org/Style/CSS. -3.4.1: The Overall Styles -Top | Contents | Next | Previous - -The code outputted by GeSHi is either in a
          or a
           (see the section entitled "The Code Container"), and this can be styled.
          -$geshi->set_overall_style('... styles ...');
          -
          -Where styles is a string containing valid CSS declarations. By default, these styles overwrite the current styles, but you can change this by adding a second parameter:
          -$geshi->set_overall_style('color: blue;', true);
          -
          -The default styles "shine through" wherever anything isn't highlighted. Also, you can apply more advanced styles, like position: (fixed|relative) etc, because a 
          /
           is a block level element.
          -Note:
          -
          -Remember that a 
          will by default have a larger font size than a
          , as discussed in the section "The Code Container".
          -3.4.2: Line Number Styles
          -Top | Contents | Next | Previous
          -
          -You may wish to refer to the section Styling Line Numbers before reading this section.
          -
          -As of version 1.0.2, the way line numbers are generated is different, so therefore the way that they are styled is different. In particular, now you cannot set the background style of the fancy line numbers to be different from that of the normal line numbers.
          -
          -Line number styles are set by using the method set_line_style:
          -$geshi->set_line_style($style1, $style2);
          -
          -$style1 is the style of the line numbers by default, and $style2 is the style of the fancy line numbers.
          -Caution:
          -
          -Things have changed since 1.0.1! This note is very important - please make sure you check this twice before complaining about line numbers!
          -
          -Because of the way that ordered lists are done in HTML, there really isn't normally a way to style the actual numbers in the list. I've cheated somewhat with GeSHi - I've made it possible to use CSS to style the foreground of the line numbers. So therefore, you can change the color, font size and type, and padding on them. If you want to have a pretty background, you must use set_overall_style() to do this, and use set_code_style() to style the actual code! This is explained in the section above: Styling Line Numbers.
          -
          -In addition, the styles for fancy line numbers is now the difference between the normal styles and the styles you want to achieve. For example, in GeSHi prior to 1.0.2 you may have done this to style line numbers:
          -$geshi->set_line_style('color: red; font-weight: bold;', 'color: green; font-weight: bold');
          -
          -Now you instead can do this:
          -$geshi->set_line_style('color: red; font-weight: bold;', 'color: green;');
          -
          -The font-weight: bold; will automatically carry through to the fancy styles. This is actually a small saving in code - but the difference may be confusing for anyone using 1.0.1 at first.
          -3.4.3: Setting Keyword Styles
          -Top | Contents | Next | Previous
          -
          -Perhaps the most regular change you will make will be to the styles of a keyword set. In order to change the styles for a particular set, you'll have to know what the set is called first. Sets are numbered from 1 up. Typically, set 1 contains keywords like if, while, do, for, switch etc, set 2 contains null, false, true etc, set 3 contains function inbuilt into the language (echo, htmlspecialchars etc. in PHP) and set 4 contains data types and similar variable modifiers: int, double, real, static etc. However these things are not fixed, and you should check the language file to see what key you want. Having a familiarity with a language file is definately a plus for using it.
          -
          -To change the styles for a keyword set, call the set_keyword_group_style() method:
          -$geshi->set_keyword_group_style($group, $styles);
          -
          -Where $group is the group to change the styles for and $styles is a string containing the styles to apply to that group.
          -
          -By default, the styles you pass overwrite the current styles. Add a boolean true after the styles you specify to combine them with the current styles:
          -$geshi->set_keyword_group_style(3, 'color: white;', true);
          -3.4.4: Setting Comment Styles
          -Top | Contents | Next | Previous
          -
          -To change the styles for a comment group, call the set_comments_style() method:
          -$geshi->set_comments_style($group, $styles);
          -
          -Where $group is either a number corresponding to a single-line comment, or the string 'MULTI' to specify multiline comments:
          -$geshi->set_comments_style(1, 'font-style: italic;');
          -$geshi->set_comments_style('MULTI', 'display: hidden;');
          -
          -By default, the styles you pass overwrite the current styles. Add a boolean true after the styles you specify to combine them with the current styles:
          -$geshi->set_comments_style(1, 'font-weight: 100;', true);
          -Note:
          -
          -In 1.0.7.22 a new kind of Comments called "COMMENT_REGEXP" has been added. Those are handled by setting single line comment styles.
          -3.4.5: Setting Other Styles
          -Top | Contents | Next | Previous
          -
          -GeSHi can highlight many other aspects of your source other than just keywords and comments. Strings, Numbers, Methods and Brackets among other things can all also be highlighted. Here are the related methods:
          -$geshi->set_escape_characters_style($styles[, $preserve_defaults]);
          -$geshi->set_symbols_style($styles[, $preserve_defaults]);
          -$geshi->set_strings_style($styles[, $preserve_defaults]);
          -$geshi->set_numbers_style($styles[, $preserve_defaults]);
          -$geshi->set_methods_style($key, $styles[, $preserve_defaults]);
          -$geshi->set_regexps_style($key, $styles[, $preserve_defaults]);
          -
          -$styles is a string containing valid stylesheet declarations, while $preserve_defaults should be set to true if you want your styles to be merged with the previous styles. In the case of set_methods_style, you should select a group to set the styles of, check the language files for the number used for each "object splitter".
          -
          -Like this was possible for set_method_style a new parameter has been introduced for set_symbols_style too which allows you to select the group of symbols for which you'd like to change your style. $geshi->set_symbols_style($styles[, $preserve_defaults[, $group]]);
          -If the third parameter is not given, group 0 is assumed. Furthermore you should note that any changes to group 0 are also reflected in the bracket style, i.e. a pass-through call to set_bracket_style is made.
          -3.5: Case Sensitivity and Auto Casing
          -Top | Contents | Next | Previous
          -
          -Controlling the case of the outputted source is an easy job with GeSHi. You can control which keywords are converted in case, and also control whether keywords are checked in a case sensitive manner.
          -3.5.1: Auto-Caps/Nocaps
          -Top | Contents | Next | Previous
          -
          -Auto-Caps/Nocaps is a nifty little feature that capitalises or lowercases automatically certain lexics when they are styled. I dabble in QuickBASIC, a dialect of BASIC which is well known for it's capatalisation, and SQL is another language well known for using caps for readability.
          -
          -To change what case lexics are rendered in, you call the set_case_keywords() method:
          -$geshi->set_case_keywords($caps_modifier);
          -
          -The valid values to pass to this method are:
          -
          -    * GESHI_CAPS_NO_CHANGE - Don't change the case of any lexics, leave as they are found
          -    * GESHI_CAPS_UPPER - Uppercase all lexics found
          -    * GESHI_CAPS_LOWER - Lowercase all lexics found
          -
          -Caution:
          -
          -When I say "lexic", I mean "keywords". Any keyword in any keyword array will be modified using this option! This is one small area of inflexibility I hope to fix in 1.2.X.
          -
          -I suspect this will only be used to specify GESHI_CAPS_NO_CHANGE to turn off autocaps for languages like SQL and BASIC variants, like so:
          -$geshi = new GeSHi($source, 'sql');
          -$geshi->set_case_keywords(GESHI_CAPS_NO_CHANGE); // don't want keywords capatalised
          -
          -All the same, it can be used for some interesting effects:
          -$geshi = new GeSHi($source, 'java');
          -// Anyone who's used java knows how picky it is about CapitalLetters...
          -$geshi->set_case_keywords(GESHI_CAPS_LOWER);
          -// No *way* the source will look right now ;)
          -3.5.2: Setting Case Sensitivity
          -Top | Contents | Next | Previous
          -
          -Some languages, like PHP, don't mind what case function names and keywords are in, while others, like Java, depend on such pickiness to maintain their bad reputations ;). In any event, you can use the set_case_sensitivity to change the case sensitiveness of a particular keyword group from the default:
          -$geshi->set_case_sensitivity($key, $sensitivity);
          -
          -Where $key is the key of the group for which you wish to change case sensitivness for (see the language file for that language), and $sensitivity is a boolean value - true if the keyword is case sensitive, and false if not.
          -3.6: Changing the Source, Language, Config Options
          -Top | Contents | Next | Previous
          -
          -What happens if you want to change the source to be highlighted on the fly, or the language. Or if you want to specify any of those basic fields after you've created a GeSHi object? Well, that's where these methods come in.
          -3.6.1: Changing the Source Code
          -Top | Contents | Next | Previous
          -
          -To change the source code, you call the set_source() method:
          -$geshi->set_source($newsource);
          -
          -Example:
          -$geshi = new GeSHi($source1, 'php');
          -
          -// Method calls to specify various options...
          -
          -$code1 = $geshi->parse_code();
          -
          -$geshi->set_source($source2);
          -$code2 = $geshi->parse_code();
          -3.6.2: Changing the Language
          -Top | Contents | Next | Previous
          -
          -What happens if you want to change the language used for highlighting? Just call set_language():
          -$geshi->set_language('newlanguage');
          -
          -Example:
          -$geshi = new GeSHi($source, 'php');
          -
          -$code = $geshi->parse_code();
          -
          -// Highlight GeSHi's output
          -$geshi->set_source($code);
          -$geshi->set_language('html4strict');
          -$geshi->enable_classes(false);
          -echo $geshi->parse_code();
          -Note:
          -
          -Names are case-insensitive - they will be converted to lower case to match a language file however. So if you're making a language file, remember it should have a name in lower case.
          -Note:
          -
          -What you pass to this method is the name of a language file, minus the .php extension. If you're writing a plugin for a particular application, it's up to you to somehow convert user input into a valid language name.
          -Caution:
          -
          -GeSHi include()s the language file, so be careful to make sure that users can't pass some wierd language name to include any old script! GeSHi tries to strip non-valid characters out of a language name, but you should always do this your self anyway. In particular, language files are always lower-case, with either alphanumeric characters, dashes or underscores in their name.
          -
          -At the very least, strip "/" characters out of a language name.
          -3.6.3: Changing the Language Path
          -Top | Contents | Next | Previous
          -
          -What happens if all of a sudden you want to use language files from a different directory from the current language file location? You call the set_language_path() method:
          -$geshi->set_language_path($newpath);
          -
          -It doesn't matter whether the path has a trailing slash after it or not - only that it points to a valid folder. If it doesn't, that's your tough luck ;)
          -3.6.4: Changing the Character Set
          -Top | Contents | Next | Previous
          -Note:
          -
          -As of GeSHi 1.0.7.18, you don't need to use this, as htmlspecialchars is not being used due to a security flaw in it (that is unpatched in even the most recent PHP4 versions, and in PHP5 < 5.2). As long as you set the encoding properly with a php header() call, your foreign characters will be displayed correctly.
          -
          -As of version 1.0.3, you can use the method set_encoding to specify the character set that your source is in. Valid names are those names that are valid for the PHP function htmlentities():
          -$geshi->set_encoding($encoding);
          -
          -There is a table of valid strings for $encoding at the php.net manual linked to above. If you do not specify an encoding, or specify an invalid encoding, the character set used is ISO-8859-1.
          -Using load_from_file to Change the Language and Source Code
          -Top | Contents | Next | Previous
          -
          -As of GeSHi 1.0.5, you can use the method load_from_file to load the source code and language from a file. Simply pass this method a file name and it will attempt to load the source and set the language.
          -$geshi->load_from_file($file_name, $lookup);
          -
          -$file_name is the file name to use, and $lookup is an optional parameter that contains a lookup array to use for deciding which language to choose. You can use this to override GeSHi's default lookup array, which may not contain the extension of the file you're after, or perhaps does have your extension but under a different language. The lookup array is of the form:
          -
          -array(
          -	 *   'lang_name' => array('extension', 'extension', ...),
          -	 *   'lang_name' ...
          -	 * );
          -
          -Also, you can use the method get_language_name_from_extension if you need to convert a file extension to a valid language name. This method will return the empty string if it could not find a match in the lookup, and like load_from_file it accepts an optional second parameter that contains a lookup array.
          -3.7: Error Handling
          -Top | Contents | Next | Previous
          -
          -What happens if you try to highlight using a language that doesn't exist? Or if GeSHi can't read a required file? The results you get may be confusing. You may check your code over and over, and never find anything wrong. GeSHi provides ways of finding out if GeSHi itself found anything wrong with what you tried to do. After highlighting, you can call the error() method:
          -$geshi = new GeSHi('hi', 'thisLangIsNotSupported');
          -
          -echo $geshi->error();  // echoes error message
          -
          -The error message you will get will look like this:
          -
          -    GeSHi Error: GeSHi could not find the language thisLangIsNotSupported (using path geshi/) (code 2)
          -
          -The error outputted will be the last error GeSHi came across, just like how mysql_error() works.
          -3.8: Disabling styling of some Lexics
          -Top | Contents | Next | Previous
          -
          -One disadvantage of GeSHi is that for large source files using complex languages, it can be quite slow with every option turned on. Although future releases will concentrate on the speed/resource side of highlighting, for now you can gain speed increases by disabling some of the highlighting options. This is done by using a series of set_*_highlighting methods:
          -
          -    * set_keyword_group_highlighting($group, $flag): Sets whether a particular $group of keywords is to be highlighted or not. Consult the necessary language file(s) to see what $group should be for each group (typically a positive integer). $flag is false if you want to disable highlighting of this group, and true if you want to re-enable higlighting of this group. If you disable a keyword group then even if the keyword group has a related URL one will not be generated for that keyword.
          -    * set_comments_highlighting($group, $flag): Sets whether a particular $group of comments is to be highlighted or not. Consult the necessary language file(s) to see what $group should be for each group (typically a positive integer, or the string 'MULTI' for multiline comments. $flag is false if you want to disable highlighting of this group, and true if you want to re-enable highlighting of this group.
          -    * set_regexps_highlighting($regexp, $flag): Sets whether a particular $regexp is to be highlighted or not. Consult the necessary language file(s) to see what $regexp should be for each regexp (typically a positive integer, or the string 'MULTI' for multiline comments. $flag is false if you want to disable highlighting of this group, and true if you want to re-enable highlighting of this group.
          -    * The following methods:
          -          o set_escape_characters_highlighting($flag)
          -          o set_symbols_highlighting($flag)
          -          o set_strings_highlighting($flag)
          -          o set_numbers_highlighting($flag)
          -          o set_methods_highlighting($flag)
          -      Work on their respective lexics (e.g. set_methods_highlighting will disable/enable highlighting of methods). For each method, if $flag is false then the related lexics will not be highlighted at all (this means no HTML will surround the lexic like usual, saving on time and bandwidth.
          -
          -In case all highlighting should be disabled or reenabled GeSHi provides two methods called disable_highlighting() and enable_highlighting($flag). The optional paramter $flag has been added in 1.0.7.21 and specifies the desired state, i.e. true (default) to turn all highlighting on, or false to turn all highlighting off. Since 1.0.7.21 the method disnable_highlighting() has become deprecated.
          -3.9: Setting the Tab Width
          -Top | Contents | Next | Previous
          -
          -If you're using the 
           header, tabs are handled automatically by your browser, and in general you can count on good results. However, if you're using the 
          header, you may want to specify a tab width explicitly. - -Note that tabs created in this fashion won't be like normal tabs - there won't be "tab-stops" as such, instead tabs will be replaced with the specified number of spaces. - -To change the tab width, you call the set_tab_width() method: -$geshi->set_tab_width($width); - -Where $width is the width in spaces that you'd like tabs to be. -3.10: Using Strict Mode -Top | Contents | Next | Previous - -Some languages like to get tricky, and jump in and out of the file that they're in. For example, the vast majority of you reading this will have used a PHP file. And you know that PHP code is only executed if it's within delimiters like (there are others of course...). So what happens if you do the following in a php file? - - -Well normally using GeSHi with PHP, or using a bad highlighter, you'll end up with this: - - -What a mess! Especially if you're being slack about where you're putting your quotes, you could end up with the rest of your file as bright red. Fortunately, you can tell GeSHi to be "strict" about just when it highlights and when it does not, using the enable_strict_mode method: -$geshi->enable_strict_mode($mode); - -Where $mode is true or not specified to enable strict mode, or false to disable strict mode if you've already turned it and don't want it now. - -Here's the result: much better! - -3.11: Adding/Removing Keywords -Top | Contents | Next | Previous - -Lets say that you're working on a large project, with many files, many classes and many functions. Perhaps also you have the source code on the web and highlighted by GeSHi, perhaps as a front end to CVS, as a learning tool, something to refer to, whatever. Well, why not highlight the names of the functions and classes *your* project uses, as well as the standard functions and classes? Or perhaps you're not interested in highlighting certain functions, and would like to remove them? Or maybe you don't mind if an entire function group goes west in the interest of speed? GeSHi can handle all of this! -3.11.1: Adding a Keyword -Top | Contents | Next | Previous - -If you want to add a keyword to an existing keyword group, you use the add_keyword method: -$geshi->add_keyword($key, $word); - -Where $key is the index of the group of keywords you want to add this keyword to, and $word is the word to add. - -This implies knowledge of the language file to know the correct index. -Note: - -Keywords should contain at least two alphabetical characters (lower or upper case letters only). This is to enable GeSHi to work much faster by not bothering to try to detect keywords in parts of your source where there is no alphabetical characters. -3.11.2: Removing a Keyword -Top | Contents | Next | Previous - -Perhaps you want to remove a keyword from an existing group. Maybe you don't use it and want to save yourself some time. Whatever the reason, you can remove it using the remove_keyword method: -$geshi->remove_keyword($key, $word); - -Where $key is the index of the gropu of keywords that you want to remove this keyword from, and $word is the word to remove. - -This implies knowledge of the language file to know the correct index - most of the time the keywords you'll want to remove will be in group 3, but this is not guaranteed and you should check the language file first. - -This function is silent - if the keyword is not in the group you specified, nothing awful will happen ;) -3.11.3: Adding a Keyword Group -Top | Contents | Next | Previous - -Lets say for your big project you have several main functions and classes that you'd like highlighted. Why not add them as their own group instead of having them highlighted the same way as other keywords? Then you can make them stand out, and people can instantly see which functions and classes are user defined or inbuilt. Furthermore, you could set the URL for this group to point at the API documentation of your project. - -You add a keyword group by using the add_keyword_group method: -$geshi->add_keyword_group($key, $styles, $case_sensitive, $words); - -Where $key is the key that you want to use to refer to this group, $styles is the styles that you want to use to style this group, $case_sensitive is true or false depending on whether you want this group of keywords to be case sensitive or not and $words is an array of words (or a string) of which words to add to this group. For example: -$geshi->add_keyword_group(10, 'color: #600000;', false, array('myfunc_1', 'myfunc_2', 'myfunc_3')); - -Adds a keyword group referenced by index 10, of which all keywords in the group will be dark red, each keyword can be in any case and which contains the keywords "myfunc_1", "myfunc_2" and "myfunc_3". - -After creating such a keyword group, you may call other GeSHi methods on it, just as you would for any other keyword group. -Caution: - -If you specify a $key for which there is already a keyword group, the old keyword group will be overwritten! Most language files don't use numbers larger than 5, so I recommend you play it safe and use a number like 10 or 42. -3.11.4: Removing a Keyword Group -Top | Contents | Next | Previous - -Perhaps you *really* need speed? Why not just remove an entire keyword group? GeSHi won't have to loop through each keyword checking for its existance, saving much time. You remove a keyword group by using the remove_keyword_group method: -$geshi->remove_keyword_group($key); - -Where $key is the key of the group you wish to remove. This implies knowleged of the language file. -3.12: Headers and Footers for Your Code -Top | Contents | Next | Previous - -So you want to add some special information to the highlighted source? GeSHi can do that too! You can specify headers and footers for your code, style them, and insert information from the highlighted source into your header or footer. -3.12.1: Keyword Substitution -Top | Contents | Next | Previous - -In your header and footer, you can put special keywords that will be replaced with actual configuration values for this GeSHi object. The keywords you can use are: - - *
          '; - } - $parsed_code .= ''; - } - // No line numbers, but still need to handle highlighting lines extra. - // Have to use divs so the full width of the code is highlighted - $close = 0; - for ($i = 0; $i < $n; ++$i) { - // Make lines have at least one space in them if they're empty - // BenBE: Checking emptiness using trim instead of relying on blanks - if ('' == trim($code[$i])) { - $code[$i] = ' '; - } - // fancy lines - if ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS && - $i % $this->line_nth_row == ($this->line_nth_row - 1)) { - // Set the attributes to style the line - if ($this->use_classes) { - $parsed_code .= ''; - } else { - // This style "covers up" the special styles set for special lines - // so that styles applied to special lines don't apply to the actual - // code on that line - $parsed_code .= '' - .''; - } - $close += 2; - } - //Is this some line with extra styles??? - if (in_array($i + 1, $this->highlight_extra_lines)) { - if ($this->use_classes) { - if (isset($this->highlight_extra_lines_styles[$i])) { - $parsed_code .= ""; - } else { - $parsed_code .= ""; - } - } else { - $parsed_code .= "get_line_style($i) . "\">"; - } - ++$close; - } - - $parsed_code .= $code[$i]; - - if ($close) { - $parsed_code .= str_repeat('', $close); - $close = 0; - } - elseif ($i + 1 < $n) { - $parsed_code .= "\n"; - } - unset($code[$i]); - } - - if ($this->header_type == GESHI_HEADER_PRE_VALID || $this->header_type == GESHI_HEADER_PRE_TABLE) { - $parsed_code .= '
          '; - } - if ($this->header_type == GESHI_HEADER_PRE_TABLE && $this->line_numbers != GESHI_NO_LINE_NUMBERS) { - $parsed_code .= ''; - } - } - - $parsed_code .= $this->footer(); - } - - /** - * Creates the header for the code block (with correct attributes) - * - * @return string The header for the code block - * @since 1.0.0 - * @access private - */ - function header() { - // Get attributes needed - /** - * @todo Document behaviour change - class is outputted regardless of whether - * we're using classes or not. Same with style - */ - $attributes = ' class="' . $this->_genCSSName($this->language); - if ($this->overall_class != '') { - $attributes .= " ".$this->_genCSSName($this->overall_class); - } - $attributes .= '"'; - - if ($this->overall_id != '') { - $attributes .= " id=\"{$this->overall_id}\""; - } - if ($this->overall_style != '' && !$this->use_classes) { - $attributes .= ' style="' . $this->overall_style . '"'; - } - - $ol_attributes = ''; - - if ($this->line_numbers_start != 1) { - $ol_attributes .= ' start="' . $this->line_numbers_start . '"'; - } - - // Get the header HTML - $header = $this->header_content; - if ($header) { - if ($this->header_type == GESHI_HEADER_PRE || $this->header_type == GESHI_HEADER_PRE_VALID) { - $header = str_replace("\n", '', $header); - } - $header = $this->replace_keywords($header); - - if ($this->use_classes) { - $attr = ' class="head"'; - } else { - $attr = " style=\"{$this->header_content_style}\""; - } - if ($this->header_type == GESHI_HEADER_PRE_TABLE && $this->line_numbers != GESHI_NO_LINE_NUMBERS) { - $header = "$header"; - } else { - $header = "$header
          "; - } - } - - if (GESHI_HEADER_NONE == $this->header_type) { - if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) { - return "$header"; - } - return $header . ($this->force_code_block ? '
          ' : ''); - } - - // Work out what to return and do it - if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) { - if ($this->header_type == GESHI_HEADER_PRE) { - return "$header"; - } elseif ($this->header_type == GESHI_HEADER_DIV || - $this->header_type == GESHI_HEADER_PRE_VALID) { - return "$header"; - } elseif ($this->header_type == GESHI_HEADER_PRE_TABLE) { - return "$header"; - } - } else { - if ($this->header_type == GESHI_HEADER_PRE) { - return "$header" . - ($this->force_code_block ? '
          ' : ''); - } else { - return "$header" . - ($this->force_code_block ? '
          ' : ''); - } - } - } - - /** - * Returns the footer for the code block. - * - * @return string The footer for the code block - * @since 1.0.0 - * @access private - */ - function footer() { - $footer = $this->footer_content; - if ($footer) { - if ($this->header_type == GESHI_HEADER_PRE) { - $footer = str_replace("\n", '', $footer);; - } - $footer = $this->replace_keywords($footer); - - if ($this->use_classes) { - $attr = ' class="foot"'; - } else { - $attr = " style=\"{$this->footer_content_style}\""; - } - if ($this->header_type == GESHI_HEADER_PRE_TABLE && $this->line_numbers != GESHI_NO_LINE_NUMBERS) { - $footer = "$footer"; - } else { - $footer = "$footer
          "; - } - } - - if (GESHI_HEADER_NONE == $this->header_type) { - return ($this->line_numbers != GESHI_NO_LINE_NUMBERS) ? '
        ' . $footer : $footer; - } - - if ($this->header_type == GESHI_HEADER_DIV || $this->header_type == GESHI_HEADER_PRE_VALID) { - if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) { - return "
      $footer
      "; - } - return ($this->force_code_block ? '
    2. ' : '') . - "$footer"; - } - elseif ($this->header_type == GESHI_HEADER_PRE_TABLE) { - if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) { - return "$footer"; - } - return ($this->force_code_block ? '' : '') . - "$footer"; - } - else { - if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) { - return "
    $footer
    "; - } - return ($this->force_code_block ? '' : '') . - "$footer"; - } - } - - /** - * Replaces certain keywords in the header and footer with - * certain configuration values - * - * @param string The header or footer content to do replacement on - * @return string The header or footer with replaced keywords - * @since 1.0.2 - * @access private - */ - function replace_keywords($instr) { - $keywords = $replacements = array(); - - $keywords[] = '
      to have no effect at all if there are line numbers - // (
        s have margins that should be destroyed so all layout is - // controlled by the set_overall_style method, which works on the - //
         or 
        container). Additionally, set default styles for lines - if (!$economy_mode || $this->line_numbers != GESHI_NO_LINE_NUMBERS) { - //$stylesheet .= "$selector, {$selector}ol, {$selector}ol li {margin: 0;}\n"; - $stylesheet .= "$selector.de1, $selector.de2 {{$this->code_style}}\n"; - } - - // Add overall styles - // note: neglect economy_mode, empty styles are meaningless - if ($this->overall_style != '') { - $stylesheet .= "$selector {{$this->overall_style}}\n"; - } - - // Add styles for links - // note: economy mode does not make _any_ sense here - // either the style is empty and thus no selector is needed - // or the appropriate key is given. - foreach ($this->link_styles as $key => $style) { - if ($style != '') { - switch ($key) { - case GESHI_LINK: - $stylesheet .= "{$selector}a:link {{$style}}\n"; - break; - case GESHI_HOVER: - $stylesheet .= "{$selector}a:hover {{$style}}\n"; - break; - case GESHI_ACTIVE: - $stylesheet .= "{$selector}a:active {{$style}}\n"; - break; - case GESHI_VISITED: - $stylesheet .= "{$selector}a:visited {{$style}}\n"; - break; - } - } - } - - // Header and footer - // note: neglect economy_mode, empty styles are meaningless - if ($this->header_content_style != '') { - $stylesheet .= "$selector.head {{$this->header_content_style}}\n"; - } - if ($this->footer_content_style != '') { - $stylesheet .= "$selector.foot {{$this->footer_content_style}}\n"; - } - - // Styles for important stuff - // note: neglect economy_mode, empty styles are meaningless - if ($this->important_styles != '') { - $stylesheet .= "$selector.imp {{$this->important_styles}}\n"; - } - - // Simple line number styles - if ((!$economy_mode || $this->line_numbers != GESHI_NO_LINE_NUMBERS) && $this->line_style1 != '') { - $stylesheet .= "{$selector}li, {$selector}.li1 {{$this->line_style1}}\n"; - } - if ((!$economy_mode || $this->line_numbers != GESHI_NO_LINE_NUMBERS) && $this->table_linenumber_style != '') { - $stylesheet .= "{$selector}.ln {{$this->table_linenumber_style}}\n"; - } - // If there is a style set for fancy line numbers, echo it out - if ((!$economy_mode || $this->line_numbers == GESHI_FANCY_LINE_NUMBERS) && $this->line_style2 != '') { - $stylesheet .= "{$selector}.li2 {{$this->line_style2}}\n"; - } - - // note: empty styles are meaningless - foreach ($this->language_data['STYLES']['KEYWORDS'] as $group => $styles) { - if ($styles != '' && (!$economy_mode || - (isset($this->lexic_permissions['KEYWORDS'][$group]) && - $this->lexic_permissions['KEYWORDS'][$group]))) { - $stylesheet .= "$selector.kw$group {{$styles}}\n"; - } - } - foreach ($this->language_data['STYLES']['COMMENTS'] as $group => $styles) { - if ($styles != '' && (!$economy_mode || - (isset($this->lexic_permissions['COMMENTS'][$group]) && - $this->lexic_permissions['COMMENTS'][$group]) || - (!empty($this->language_data['COMMENT_REGEXP']) && - !empty($this->language_data['COMMENT_REGEXP'][$group])))) { - $stylesheet .= "$selector.co$group {{$styles}}\n"; - } - } - foreach ($this->language_data['STYLES']['ESCAPE_CHAR'] as $group => $styles) { - if ($styles != '' && (!$economy_mode || $this->lexic_permissions['ESCAPE_CHAR'])) { - // NEW: since 1.0.8 we have to handle hardescapes - if ($group === 'HARD') { - $group = '_h'; - } - $stylesheet .= "$selector.es$group {{$styles}}\n"; - } - } - foreach ($this->language_data['STYLES']['BRACKETS'] as $group => $styles) { - if ($styles != '' && (!$economy_mode || $this->lexic_permissions['BRACKETS'])) { - $stylesheet .= "$selector.br$group {{$styles}}\n"; - } - } - foreach ($this->language_data['STYLES']['SYMBOLS'] as $group => $styles) { - if ($styles != '' && (!$economy_mode || $this->lexic_permissions['SYMBOLS'])) { - $stylesheet .= "$selector.sy$group {{$styles}}\n"; - } - } - foreach ($this->language_data['STYLES']['STRINGS'] as $group => $styles) { - if ($styles != '' && (!$economy_mode || $this->lexic_permissions['STRINGS'])) { - // NEW: since 1.0.8 we have to handle hardquotes - if ($group === 'HARD') { - $group = '_h'; - } - $stylesheet .= "$selector.st$group {{$styles}}\n"; - } - } - foreach ($this->language_data['STYLES']['NUMBERS'] as $group => $styles) { - if ($styles != '' && (!$economy_mode || $this->lexic_permissions['NUMBERS'])) { - $stylesheet .= "$selector.nu$group {{$styles}}\n"; - } - } - foreach ($this->language_data['STYLES']['METHODS'] as $group => $styles) { - if ($styles != '' && (!$economy_mode || $this->lexic_permissions['METHODS'])) { - $stylesheet .= "$selector.me$group {{$styles}}\n"; - } - } - // note: neglect economy_mode, empty styles are meaningless - foreach ($this->language_data['STYLES']['SCRIPT'] as $group => $styles) { - if ($styles != '') { - $stylesheet .= "$selector.sc$group {{$styles}}\n"; - } - } - foreach ($this->language_data['STYLES']['REGEXPS'] as $group => $styles) { - if ($styles != '' && (!$economy_mode || - (isset($this->lexic_permissions['REGEXPS'][$group]) && - $this->lexic_permissions['REGEXPS'][$group]))) { - if (is_array($this->language_data['REGEXPS'][$group]) && - array_key_exists(GESHI_CLASS, $this->language_data['REGEXPS'][$group])) { - $stylesheet .= "$selector."; - $stylesheet .= $this->language_data['REGEXPS'][$group][GESHI_CLASS]; - $stylesheet .= " {{$styles}}\n"; - } else { - $stylesheet .= "$selector.re$group {{$styles}}\n"; - } - } - } - // Styles for lines being highlighted extra - if (!$economy_mode || (count($this->highlight_extra_lines)!=count($this->highlight_extra_lines_styles))) { - $stylesheet .= "{$selector}.ln-xtra, {$selector}li.ln-xtra, {$selector}div.ln-xtra {{$this->highlight_extra_lines_style}}\n"; - } - $stylesheet .= "{$selector}span.xtra { display:block; }\n"; - foreach ($this->highlight_extra_lines_styles as $lineid => $linestyle) { - $stylesheet .= "{$selector}.lx$lineid, {$selector}li.lx$lineid, {$selector}div.lx$lineid {{$linestyle}}\n"; - } - - return $stylesheet; - } - - /** - * Get's the style that is used for the specified line - * - * @param int The line number information is requested for - * @access private - * @since 1.0.7.21 - */ - function get_line_style($line) { - //$style = null; - $style = null; - if (isset($this->highlight_extra_lines_styles[$line])) { - $style = $this->highlight_extra_lines_styles[$line]; - } else { // if no "extra" style assigned - $style = $this->highlight_extra_lines_style; - } - - return $style; - } - - /** - * this functions creates an optimized regular expression list - * of an array of strings. - * - * Example: - * $list = array('faa', 'foo', 'foobar'); - * => string 'f(aa|oo(bar)?)' - * - * @param $list array of (unquoted) strings - * @param $regexp_delimiter your regular expression delimiter, @see preg_quote() - * @return string for regular expression - * @author Milian Wolff - * @since 1.0.8 - * @access private - */ - function optimize_regexp_list($list, $regexp_delimiter = '/') { - $regex_chars = array('.', '\\', '+', '-', '*', '?', '[', '^', ']', '$', - '(', ')', '{', '}', '=', '!', '<', '>', '|', ':', $regexp_delimiter); - sort($list); - $regexp_list = array(''); - $num_subpatterns = 0; - $list_key = 0; - - // the tokens which we will use to generate the regexp list - $tokens = array(); - $prev_keys = array(); - // go through all entries of the list and generate the token list - $cur_len = 0; - for ($i = 0, $i_max = count($list); $i < $i_max; ++$i) { - if ($cur_len > GESHI_MAX_PCRE_LENGTH) { - // seems like the length of this pcre is growing exorbitantly - $regexp_list[++$list_key] = $this->_optimize_regexp_list_tokens_to_string($tokens); - $num_subpatterns = substr_count($regexp_list[$list_key], '(?:'); - $tokens = array(); - $cur_len = 0; - } - $level = 0; - $entry = preg_quote((string) $list[$i], $regexp_delimiter); - $pointer = &$tokens; - // properly assign the new entry to the correct position in the token array - // possibly generate smaller common denominator keys - while (true) { - // get the common denominator - if (isset($prev_keys[$level])) { - if ($prev_keys[$level] == $entry) { - // this is a duplicate entry, skip it - continue 2; - } - $char = 0; - while (isset($entry[$char]) && isset($prev_keys[$level][$char]) - && $entry[$char] == $prev_keys[$level][$char]) { - ++$char; - } - if ($char > 0) { - // this entry has at least some chars in common with the current key - if ($char == strlen($prev_keys[$level])) { - // current key is totally matched, i.e. this entry has just some bits appended - $pointer = &$pointer[$prev_keys[$level]]; - } else { - // only part of the keys match - $new_key_part1 = substr($prev_keys[$level], 0, $char); - $new_key_part2 = substr($prev_keys[$level], $char); - - if (in_array($new_key_part1[0], $regex_chars) - || in_array($new_key_part2[0], $regex_chars)) { - // this is bad, a regex char as first character - $pointer[$entry] = array('' => true); - array_splice($prev_keys, $level, count($prev_keys), $entry); - $cur_len += strlen($entry); - continue; - } else { - // relocate previous tokens - $pointer[$new_key_part1] = array($new_key_part2 => $pointer[$prev_keys[$level]]); - unset($pointer[$prev_keys[$level]]); - $pointer = &$pointer[$new_key_part1]; - // recreate key index - array_splice($prev_keys, $level, count($prev_keys), array($new_key_part1, $new_key_part2)); - $cur_len += strlen($new_key_part2); - } - } - ++$level; - $entry = substr($entry, $char); - continue; - } - // else: fall trough, i.e. no common denominator was found - } - if ($level == 0 && !empty($tokens)) { - // we can dump current tokens into the string and throw them away afterwards - $new_entry = $this->_optimize_regexp_list_tokens_to_string($tokens); - $new_subpatterns = substr_count($new_entry, '(?:'); - if (GESHI_MAX_PCRE_SUBPATTERNS && $num_subpatterns + $new_subpatterns > GESHI_MAX_PCRE_SUBPATTERNS) { - $regexp_list[++$list_key] = $new_entry; - $num_subpatterns = $new_subpatterns; - } else { - if (!empty($regexp_list[$list_key])) { - $new_entry = '|' . $new_entry; - } - $regexp_list[$list_key] .= $new_entry; - $num_subpatterns += $new_subpatterns; - } - $tokens = array(); - $cur_len = 0; - } - // no further common denominator found - $pointer[$entry] = array('' => true); - array_splice($prev_keys, $level, count($prev_keys), $entry); - - $cur_len += strlen($entry); - break; - } - unset($list[$i]); - } - // make sure the last tokens get converted as well - $new_entry = $this->_optimize_regexp_list_tokens_to_string($tokens); - if (GESHI_MAX_PCRE_SUBPATTERNS && $num_subpatterns + substr_count($new_entry, '(?:') > GESHI_MAX_PCRE_SUBPATTERNS) { - if ( !empty($regexp_list[$list_key]) ) { - ++$list_key; - } - $regexp_list[$list_key] = $new_entry; - } else { - if (!empty($regexp_list[$list_key])) { - $new_entry = '|' . $new_entry; - } - $regexp_list[$list_key] .= $new_entry; - } - return $regexp_list; - } - /** - * this function creates the appropriate regexp string of an token array - * you should not call this function directly, @see $this->optimize_regexp_list(). - * - * @param &$tokens array of tokens - * @param $recursed bool to know wether we recursed or not - * @return string - * @author Milian Wolff - * @since 1.0.8 - * @access private - */ - function _optimize_regexp_list_tokens_to_string(&$tokens, $recursed = false) { - $list = ''; - foreach ($tokens as $token => $sub_tokens) { - $list .= $token; - $close_entry = isset($sub_tokens['']); - unset($sub_tokens['']); - if (!empty($sub_tokens)) { - $list .= '(?:' . $this->_optimize_regexp_list_tokens_to_string($sub_tokens, true) . ')'; - if ($close_entry) { - // make sub_tokens optional - $list .= '?'; - } - } - $list .= '|'; - } - if (!$recursed) { - // do some optimizations - // common trailing strings - // BUGGY! - //$list = preg_replace_callback('#(?<=^|\:|\|)\w+?(\w+)(?:\|.+\1)+(?=\|)#', create_function( - // '$matches', 'return "(?:" . preg_replace("#" . preg_quote($matches[1], "#") . "(?=\||$)#", "", $matches[0]) . ")" . $matches[1];'), $list); - // (?:p)? => p? - $list = preg_replace('#\(\?\:(.)\)\?#', '\1?', $list); - // (?:a|b|c|d|...)? => [abcd...]? - // TODO: a|bb|c => [ac]|bb - static $callback_2; - if (!isset($callback_2)) { - $callback_2 = function($matches) { - return '[' . str_replace('|', '', $matches[1]) . ']'; - }; - } - $list = preg_replace_callback('#\(\?\:((?:.\|)+.)\)#', $callback_2, $list); - } - // return $list without trailing pipe - return substr($list, 0, -1); - } -} // End Class GeSHi - - -if (!function_exists('geshi_highlight')) { - /** - * Easy way to highlight stuff. Behaves just like highlight_string - * - * @param string The code to highlight - * @param string The language to highlight the code in - * @param string The path to the language files. You can leave this blank if you need - * as from version 1.0.7 the path should be automatically detected - * @param boolean Whether to return the result or to echo - * @return string The code highlighted (if $return is true) - * @since 1.0.2 - */ - function geshi_highlight($string, $language, $path = null, $return = false) { - $geshi = new GeSHi($string, $language, $path); - $geshi->set_header_type(GESHI_HEADER_NONE); - - if ($return) { - return '' . $geshi->parse_code() . ''; - } - - echo '' . $geshi->parse_code() . ''; - - if ($geshi->error()) { - return false; - } - return true; - } -} - diff --git a/vendor/easybook/geshi/geshi/4cs.php b/vendor/easybook/geshi/geshi/4cs.php deleted file mode 100644 index e5a0064..0000000 --- a/vendor/easybook/geshi/geshi/4cs.php +++ /dev/null @@ -1,137 +0,0 @@ - 'GADV 4CS', - 'COMMENT_SINGLE' => array(1 => "//"), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - 1 => array( - 'All', 'AllMatches', 'And', 'And_Filters', 'As', 'Asc', 'BasedOn', - 'BestMatch', 'Block', 'Buffer', 'ByRef', 'ByVal', 'Call', 'Channel', - 'Chr', 'Clear', 'Close', 'Confirm', 'Const', 'Continue', 'Cos', - 'Critical', 'Declare', 'Default', 'DefaultChannel', 'DefaultDelayTime', - 'DefaultReceiveMode', 'DefaultResponseTime', '#Define', 'DelayTime', - 'Delete', 'Div', 'Else', '#Else', 'ElseIf', '#ElseIf', 'End', 'EndCritical', - 'EndInlineC', 'EndFunction', 'EndIf', '#EndIf', 'EndInputList', - 'EndLocalChannel', 'EndScenario', 'EndSub', 'EndWhile', 'Error', - 'ErrorLevelOff', 'ErrorLevelOn', 'ErrorLevelSet', 'ErrorLevelSetRaw', - 'Event', 'EventMode', 'EventOff', 'EventOn', 'EventSet', 'EventSetRaw', - 'Execute', 'Exit', 'Exp', 'FileClose', 'FilterClear', 'FileEOF', 'FileOpen', - 'FileRead', 'FileSize', 'FileWrite', 'FilterAdd', 'FilterMode', - 'FilterOff', 'FilterOn', 'For', 'Format', 'Function', 'GoOnline', 'GoTo', - 'Handle', 'Hide', 'If', '#If', '#IfDef', '#IfNDef', 'Ignore', '#Include', - 'InlineC', 'Input', 'InputItem', 'InputList', 'Kill', 'LBound', 'LocalChannel', - 'Local', 'Log', 'Log10', 'LogOff', 'LogOn', 'Loop', 'Message', 'Mod', - 'MonitorChannel', 'MostFormat', 'MostMessage', 'Named', 'Never', 'Next', - 'NoOrder', 'Not', 'Nothing', 'NoWait', 'Numeric', 'OnError', 'OnEvent', - 'Or', 'Or_Filters', 'Order', 'Pass', 'Pow', 'Prototype', 'Quit', 'Raise', - 'Random', 'Receive', 'ReceiveMode', 'ReceiveRaw', 'Redim', 'Remote', 'Repeat', - 'Repeated', 'ResponseTime', 'Resume', 'ResumeCritical', 'RT_Common', - 'RT_Dll_Call', 'RT_FILEIO', 'RT_General', 'RT_HardwareAccess', - 'RT_MessageVariableAccess', 'RT_Scenario', 'RT_VariableAccess', 'Runtime', - 'Scenario', 'ScenarioEnd', 'ScenarioStart', 'ScenarioStatus', 'ScenarioTerminate', - 'Send', 'SendRaw', 'Set', 'SetError', 'Sin', 'Single', 'Show', 'Start', - 'StartCritical', 'Starts', 'Static', 'Step', 'Stop', 'String', 'Sub', - 'System_Error', 'TerminateAllChilds', 'Terminates', 'Then', 'Throw', 'TimeOut', - 'To', 'TooLate', 'Trunc', 'UBound', 'Unexpected', 'Until', 'User_Error', - 'View', 'Wait', 'Warning', 'While', 'XOr' - ), - 2 => array( - 'alias', 'winapi', 'long', 'char', 'double', 'float', 'int', 'short', 'lib' - ) - ), - 'SYMBOLS' => array( - '=', ':=', '<', '>', '<>' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #0000C0; font-weight: bold;', - 2 => 'color: #808080;' - ), - 'COMMENTS' => array( - 1 => 'color: #008000;' - ), - 'BRACKETS' => array( - 0 => 'color: #000080;' - ), - 'STRINGS' => array( - 0 => 'color: #800080;' - ), - 'NUMBERS' => array( - 0 => 'color: #cc66cc;' - ), - 'METHODS' => array( - 1 => 'color: #66cc66;' - ), - 'SYMBOLS' => array( - 0 => 'color: #000080;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099;' - ), - 'SCRIPT' => array( - ), - 'REGEXPS' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => '.' - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ) -); diff --git a/vendor/easybook/geshi/geshi/6502acme.php b/vendor/easybook/geshi/geshi/6502acme.php deleted file mode 100644 index 62b7b29..0000000 --- a/vendor/easybook/geshi/geshi/6502acme.php +++ /dev/null @@ -1,229 +0,0 @@ - 'MOS 6502 (6510) ACME Cross Assembler format', - 'COMMENT_SINGLE' => array(1 => ';'), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - /* 6502/6510 Opcodes. */ - 1 => array( - 'adc', 'and', 'asl', 'bcc', 'bcs', 'beq', 'bit', 'bmi', - 'bne', 'bpl', 'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli', - 'clv', 'cmp', 'cpx', 'cpy', 'dec', 'dex', 'dey', 'eor', - 'inc', 'inx', 'iny', 'jmp', 'jsr', 'lda', 'ldx', 'ldy', - 'lsr', 'nop', 'ora', 'pha', 'php', 'pla', 'plp', 'rol', - 'ror', 'rti', 'rts', 'sbc', 'sec', 'sed', 'sei', 'sta', - 'stx', 'sty', 'tax', 'tay', 'tsx', 'txa', 'txs', 'tya', - ), - /* Index Registers, yes the 6502 has other registers by they are only - * accessable by specific opcodes. The 65816 also has access to the stack pointer S. */ - 2 => array( - 'x', 'y', 's' - ), - /* Directives or "pseudo opcodes" as defined by ACME 0.93 file AllPOs.txt. */ - 3 => array( - '!8', '!08', '!by', '!byte', - '!16', '!wo', '!word', - '!24', '!32', - '!fi', '!fill', - '!align', - '!ct', '!convtab', - '!tx', '!text', - '!pet', - '!raw', - '!scrxor', - '!to', - '!source', - '!bin', '!binary', - '!zn', '!zone', - '!sl', - '!svl', - '!sal', - '!if', '!ifdef', - '!for', - '!set', - '!do', 'while', 'until', - '!eof', '!endoffile', - '!warn', '!error', '!serious', - '!macro', -// , '*=' // Not a valid keyword (uses both * and = signs) moved to symbols instead. - '!initmem', - '!pseudopc', - '!cpu', - '!al', '!as', '!rl', '!rs', - ), - - /* 6502/6510 undocumented opcodes (often referred to as illegal instructions). - * These are present in the 6502/6510 but NOT in the newer CMOS revisions of the 65C02 or 65816. - * As they are undocumented instructions there are no "official" names for them, there are also - * several more that mainly perform various forms of crash and are not supported by ACME 0.93. - */ - 4 => array( - 'anc', 'arr', 'asr', 'dcp', 'dop', 'isc', 'jam', 'lax', - 'rla', 'rra', 'sax', 'sbx', 'slo', 'sre', 'top', - ), - /* 65c02 instructions, MOS added a few (much needed) instructions in the CMOS version of the 6502, but stupidly removed the undocumented/illegal opcodes. - * ACME 0.93 does not support the rmb0-7 and smb0-7 instructions (they are currently rem'ed out). */ - 5 => array( - 'bra', 'phx', 'phy', 'plx', 'ply', 'stz', 'trb', 'tsb' - ), - /* 65816 instructions. */ - 6 => array( - 'brl', 'cop', 'jml', 'jsl', 'mvn', 'mvp', 'pea', 'pei', - 'per', 'phb', 'phd', 'phk', 'plb', 'pld', 'rep', 'rtl', - 'sep', 'tcd', 'tcs', 'tdc', 'tsc', 'txy', 'tyx', 'wdm', - 'xba', 'xce', - ), - /* Deprecated directives or "pseudo opcodes" as defined by ACME 0.93 file AllPOs.txt. */ - 7 => array( - '!cbm', - '!sz', '!subzone', - '!realpc', - ), - /* Math functions, some are aliases for the symbols. */ - 8 => array( - 'not', 'div', 'mod', 'xor', 'or', 'sin', 'cos', 'tan', - 'arcsin', 'arccos', 'arctan', 'int', 'float', - - ), - - ), - 'SYMBOLS' => array( -// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS. - '*=', '#', '!', '^', '-', '*', '/', - '%', '+', '-', '<<', '>>', '>>>', - '<', '>', '^', '<=', '<', '>=', '>', '!=', - '=', '&', '|', '<>', - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - 5 => false, - 6 => false, - 7 => false, - 8 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #00f; font-weight:bold;', - 2 => 'color: #00f; font-weight:bold;', - 3 => 'color: #080; font-weight:bold;', - 4 => 'color: #f00; font-weight:bold;', - 5 => 'color: #80f; font-weight:bold;', - 6 => 'color: #f08; font-weight:bold;', - 7 => 'color: #a04; font-weight:bold; font-style: italic;', - 8 => 'color: #000;', - ), - 'COMMENTS' => array( - 1 => 'color: #999; font-style: italic;', - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #009; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #000;' - ), - 'STRINGS' => array( - 0 => 'color: #080;' - ), - 'NUMBERS' => array( - GESHI_NUMBER_INT_BASIC => 'color: #f00;', - GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;', - GESHI_NUMBER_HEX_PREFIX => 'color: #f00;', - GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;', - GESHI_NUMBER_FLT_NONSCI => 'color: #f00;', - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 0 => 'color: #080;' - ), - 'REGEXPS' => array( - 0 => 'color: #f00;' - , 1 => 'color: #933;' - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => '', - 6 => '', - 7 => '', - 8 => '', - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'NUMBERS' => - GESHI_NUMBER_INT_BASIC | - GESHI_NUMBER_FLT_NONSCI | - GESHI_NUMBER_HEX_PREFIX_DOLLAR | - GESHI_NUMBER_HEX_PREFIX | - GESHI_NUMBER_BIN_PREFIX_PERCENT, - // AMCE Octal format not support and gets picked up as Decimal unfortunately. - 'REGEXPS' => array( - //ACME .# Binary number format. e.g. %..##..##..## - 0 => '\%[\.\#]{1,64}', - //ACME Local Labels - 1 => '\.[_a-zA-Z][_a-zA-Z0-9]*', - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 8, - 'PARSER_CONTROL' => array( - 'NUMBERS' => array( - 'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/' - ) - ) -); - diff --git a/vendor/easybook/geshi/geshi/6502kickass.php b/vendor/easybook/geshi/geshi/6502kickass.php deleted file mode 100644 index 023a3ff..0000000 --- a/vendor/easybook/geshi/geshi/6502kickass.php +++ /dev/null @@ -1,240 +0,0 @@ - 'MOS 6502 (6510) Kick Assembler format', - 'COMMENT_SINGLE' => array(1 => '//'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - /* 6502/6510 Opcodes including undocumented opcodes as Kick Assembler 3.13 does not make a distinction - they are ALL valid. */ - 1 => array( - 'adc', 'ahx', 'alr', 'anc', 'anc2', 'and', 'arr', 'asl', - 'axs', 'bcc', 'bcs', 'beq', 'bit', 'bmi', 'bne', 'bpl', - 'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli', 'clv', 'cmp', - 'cpx', 'cpy', 'dcp', 'dec', 'dex', 'dey', 'eor', 'inc', - 'inx', 'iny', 'isc', 'jmp', 'jsr', 'las', 'lax', 'lda', - 'ldx', 'ldy', 'lsr', 'nop', 'ora', 'pha', 'php', 'pla', - 'plp', 'rla', 'rol', 'ror', 'rra', 'rti', 'rts', 'sax', - 'sbc', 'sbc2', 'sec', 'sed', 'sei', 'shx', 'shy', 'slo', - 'sre', 'sta', 'stx', 'sty', 'tas', 'tax', 'tay', 'tsx', - 'txa', 'txs', 'tya', 'xaa', - ), - /* DTV additional Opcodes. */ - 2 => array( - 'bra', 'sac', 'sir' - ), - /* Index Registers, yes the 6502 has other registers by they are only - * accessable by specific opcodes. */ - 3 => array( - 'x', 'y' - ), - /* Directives. */ - 4 => array( - '.pc', '.pseudopc', 'virtual', '.align', '.byte', '.word', '.text', '.fill', - '.import source', '.import binary', '.import c64', '.import text', '.import', '.print', '.printnow', - '.error', '.var', '.eval', '.const', '.eval const', '.enum', '.label', '.define', '.struct', - 'if', '.for', '.macro', '.function', '.return', '.pseudocommand', '.namespace', '.filenamespace', - '.assert', '.asserterror', - ), - /* Kick Assembler 3.13 Functions/Operators. */ - 5 => array( - 'size', 'charAt', 'substring', 'asNumber', 'asBoolean', 'toIntString', 'toBinaryString', 'toOctalString', - 'toHexString', 'lock', // String functions/operators. - 'get', 'set', 'add', 'remove', 'shuffle', // List functions. - 'put', 'keys', // Hashtable functions. - 'getType', 'getValue', 'CmdArgument', // Pseudo Commands functions. - 'asmCommandSize', // Opcode Constants functions. - 'LoadBinary', 'getSize', - 'LoadSid', 'getData', - 'LoadPicture', 'width', 'height', 'getPixel', 'getSinglecolorByte', 'getMulticolorByte', - 'createFile', 'writeln', - 'cmdLineVars', - 'getX', 'getY', 'getZ', // Vector functions. - 'RotationMatrix', 'ScaleMatrix', 'MoveMatrix', 'PerspectiveMatrix', // Matrix functions. - - ), - - /* Kick Assembler 3.13 Math Functions. */ - 6 => array( - 'abs', 'acos', 'asin', 'atan', 'atan2', 'cbrt', 'ceil', 'cos', 'cosh', - 'exp', 'expm1', 'floor', 'hypot', 'IEEEremainder', 'log', 'log10', - 'log1p', 'max', 'min', 'pow', 'mod', 'random', 'round', 'signum', - 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'toDegrees', 'toRadians', - ), - - /* Kick Assembler 3.13 Objects/Data Types. */ - 7 => array( - 'List', // List() Object. - 'Hashtable', // Hashtable() Object. - 'Vector', // Vector() Object. - 'Matrix', // Matrix() Object. - ), - - /* Kick Assembler 3.13 Constants. */ - 8 => array( - 'PI', 'E', // Math Constants. - 'AT_ABSOLUTE' , 'AT_ABSOLUTEX' , 'AT_ABSOLUTEY' , 'AT_IMMEDIATE', // Pseudo Commands Constants. - 'AT_INDIRECT' , 'AT_IZEROPAGEX' , 'AT_IZEROPAGEY' , 'AT_NONE', - 'BLACK', 'WHITE', 'RED', 'CYAN', 'PURPLE', 'GREEN', 'BLUE', // Colour Constants. - 'YELLOW', 'ORANGE', 'BROWN', 'LIGHT_RED', 'DARK_GRAY', 'GRAY', - 'LIGHT_GREEN', 'LIGHT_BLUE', 'LIGHT_GRAY', - 'C64FILE', // Template Tag names. - 'BF_C64FILE', 'BF_BITMAP_SINGLECOLOR', 'BF_KOALA' , 'BF_FLI', // Binary format constant - ), - - ), - 'SYMBOLS' => array( -// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS. - '-', '+', '-', '*', '/', '>', '<', '<<', '>>', '&', '|', '^', '=', '==', - '!=', '>=', '<=', '!', '&&', '||', '#', - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => true, - 5 => true, - 6 => true, - 7 => true, - 8 => true, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #00f; font-weight:bold;', - 2 => 'color: #00f; font-weight:bold;', - 3 => 'color: #00f; font-weight:bold;', - 4 => 'color: #080; font-weight:bold;', - 5 => 'color: #80f; font-weight:bold;', - 6 => 'color: #f08; font-weight:bold;', - 7 => 'color: #a04; font-weight:bold; font-style: italic;', - 8 => 'color: #f08; font-weight:bold;', - ), - 'COMMENTS' => array( - 1 => 'color: #999; font-style: italic;', - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #009; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #000;' - ), - 'STRINGS' => array( - 0 => 'color: #080;' - ), - 'NUMBERS' => array( - GESHI_NUMBER_INT_BASIC => 'color: #f00;', - GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;', - GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;', - GESHI_NUMBER_FLT_NONSCI => 'color: #f00;', - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 0 => 'color: #080;' - ), - 'REGEXPS' => array( - 0 => 'color: #933;', - 1 => 'color: #933;', - 2 => 'color: #933;', - 3 => 'color: #00f; font-weight:bold;', - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => '', - 6 => '', - 7 => '', - 8 => '', - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'NUMBERS' => - GESHI_NUMBER_INT_BASIC | - GESHI_NUMBER_FLT_NONSCI | - GESHI_NUMBER_HEX_PREFIX_DOLLAR | - GESHI_NUMBER_BIN_PREFIX_PERCENT, - // AMCE Octal format not support and gets picked up as Decimal unfortunately. - 'REGEXPS' => array( - //Labels end with a collon. - 0 => '[!]{0,1}[_a-zA-Z][_a-zA-Z0-9]*\:', - //Multi Labels (local labels) references start with ! and end with + or - for forward/backward reference. - 1 => '![_a-zA-Z][_a-zA-Z0-9]*[+-]', - //Macros start with a colon :Macro. - 2 => ':[_a-zA-Z][_a-zA-Z0-9]*', - // Opcode Constants, such as LDA_IMM, STA_IZPY are basically all 6502 opcodes - // in UPPER case followed by _underscore_ and the ADDRESS MODE. - // As you might imagine that is rather a lot ( 78 supported Opcodes * 12 Addressing modes = 936 variations) - // So I thought it better and easier to maintain as a regular expression. - // NOTE: The order of the Address Modes must be maintained or it wont work properly (eg. place ZP first and find out!) - 3 => '[A-Z]{3}[2]?_(?:IMM|IND|IZPX|IZPY|ZPX|ZPY|ABSX|ABSY|REL|ABS|ZP)', - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 8, - 'PARSER_CONTROL' => array( - 'NUMBERS' => array( - 'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/' - ), - 'KEYWORDS' => array( - 5 => array ( - 'DISALLOWED_BEFORE' => "(?|^&'\"])" - ), - 6 => array ( - 'DISALLOWED_BEFORE' => "(?|^&'\"])" - ), - 8 => array ( - 'DISALLOWED_BEFORE' => "(?|^&'\"])" - ) - ) - ), -); - diff --git a/vendor/easybook/geshi/geshi/6502tasm.php b/vendor/easybook/geshi/geshi/6502tasm.php deleted file mode 100644 index 1a49aee..0000000 --- a/vendor/easybook/geshi/geshi/6502tasm.php +++ /dev/null @@ -1,188 +0,0 @@ - 'MOS 6502 (6510) TASM/64TASS 1.46 Assembler format', - 'COMMENT_SINGLE' => array(1 => ';'), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - /* 6502/6510 Opcodes. */ - 1 => array( - 'adc', 'and', 'asl', 'bcc', 'bcs', 'beq', 'bit', 'bmi', - 'bne', 'bpl', 'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli', - 'clv', 'cmp', 'cpx', 'cpy', 'dec', 'dex', 'dey', 'eor', - 'inc', 'inx', 'iny', 'jmp', 'jsr', 'lda', 'ldx', 'ldy', - 'lsr', 'nop', 'ora', 'pha', 'php', 'pla', 'plp', 'rol', - 'ror', 'rti', 'rts', 'sbc', 'sec', 'sed', 'sei', 'sta', - 'stx', 'sty', 'tax', 'tay', 'tsx', 'txa', 'txs', 'tya', - ), - /* Index Registers, yes the 6502 has other registers by they are only - * accessable by specific opcodes. The 65816 also has access to the stack pointer S. */ - 2 => array( - 'x', 'y', 's' - ), - /* Directives. */ - 3 => array( - '.al', '.align', '.as', '.assert', '.binary', '.byte', '.cerror', '.char', - '.comment', '.cpu', '.cwarn', '.databank', '.dpage', '.else', '.elsif', - '.enc', '.endc', '.endif', '.endm', '.endp', '.error', '.fi', '.fill', - '.for', '.here', '.if', '.ifeq', '.ifmi', '.ifne', '.ifpl', - '.include', '.int', '.logical', '.long', '.macro', '.next', '.null', '.offs', - '.page', '.pend', '.proc', '.rept', '.rta', '.shift', '.text', '.warn', '.word', - '.xl', '.xs', -// , '*=' // Not a valid keyword (uses both * and = signs) moved to symbols instead. - ), - - /* 6502/6510 undocumented opcodes (often referred to as illegal instructions). - * These are present in the 6502/6510 but NOT in the newer CMOS revisions of the 65C02 or 65816. - * As they are undocumented instructions there are no "official" names for them, these are the names - * used by 64TASS V1.46. - */ - 4 => array( - 'ahx', 'alr', 'anc', 'ane', 'arr', 'asr', 'axs', 'dcm', - 'dcp', 'ins', 'isb', 'isc', 'jam', 'lae', 'las', 'lax', - 'lds', 'lxa', 'rla', 'rra', 'sax', 'sbx', 'sha', 'shs', - 'shx', 'shy', 'slo', 'sre', 'tas', 'xaa', - ), - /* 65c02 instructions, MOS added a few (much needed) instructions in the - * CMOS version of the 6502, but stupidly removed the undocumented/illegal opcodes. */ - 5 => array( - 'bra', 'dea', 'gra', 'ina', 'phx', 'phy', 'plx', 'ply', - 'stz', 'trb', 'tsb', - ), - /* 65816 instructions. */ - 6 => array( - 'brl', 'cop', 'jml', 'jsl', 'mvn', 'mvp', 'pea', 'pei', - 'per', 'phb', 'phd', 'phk', 'plb', 'pld', 'rep', 'rtl', - 'sep', 'stp', 'swa', 'tad', 'tcd', 'tcs', 'tda', - 'tdc', 'tsa', 'tsc', 'txy', 'tyx', 'wai', 'xba', 'xce', - ), - /* Deprecated directives (or yet to be implemented). */ - 7 => array( - '.global', '.check' - ), - ), - 'SYMBOLS' => array( -// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS. - '*=', '#', '<', '>', '`', '=', '<', '>', - '!=', '>=', '<=', '+', '-', '*', '/', '//', '|', - '^', '&', '<<', '>>', '-', '~', '!', - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - 5 => false, - 6 => false, - 7 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #00f; font-weight:bold;', - 2 => 'color: #00f; font-weight:bold;', - 3 => 'color: #080; font-weight:bold;', - 4 => 'color: #f00; font-weight:bold;', - 5 => 'color: #80f; font-weight:bold;', - 6 => 'color: #f08; font-weight:bold;', - 7 => 'color: #a04; font-weight:bold; font-style: italic;', - ), - 'COMMENTS' => array( - 1 => 'color: #999; font-style: italic;', - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #009; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #000;' - ), - 'STRINGS' => array( - 0 => 'color: #080;' - ), - 'NUMBERS' => array( - GESHI_NUMBER_INT_BASIC => 'color: #f00;', - GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;', - GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;', - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 0 => 'color: #080;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => '', - 6 => '', - 7 => '', - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'NUMBERS' => - GESHI_NUMBER_INT_BASIC | - GESHI_NUMBER_HEX_PREFIX_DOLLAR | - GESHI_NUMBER_BIN_PREFIX_PERCENT, - // AMCE Octal format not support and gets picked up as Decimal unfortunately. - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 8, - 'PARSER_CONTROL' => array( - 'NUMBERS' => array( - 'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/' - ) - ) -); - diff --git a/vendor/easybook/geshi/geshi/68000devpac.php b/vendor/easybook/geshi/geshi/68000devpac.php deleted file mode 100644 index a8ac8d9..0000000 --- a/vendor/easybook/geshi/geshi/68000devpac.php +++ /dev/null @@ -1,167 +0,0 @@ - 'Motorola 68000 - HiSoft Devpac ST 2 Assembler format', - 'COMMENT_SINGLE' => array(1 => ';'), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - /* Directives. */ - 1 => array( - 'end', 'include', 'incbin', 'opt', 'even', 'cnop', 'dc.b', 'dc.w', - 'dc.l', 'ds.b', 'ds.w', 'ds.l', 'dcb.b', 'dcb.w', 'dcb.l', - 'fail', 'output', '__g2', 'rept', 'endr', 'list', 'nolist', 'plen', - 'llen', 'ttl', 'subttl', 'spc', 'page', 'listchar', 'format', - 'equ', 'equr', 'set', 'reg', 'rs.b', 'rs.w', 'rs.l', 'rsreset', - 'rsset', '__rs', 'ifeq', 'ifne', 'ifgt', 'ifge', 'iflt', 'ifle', 'endc', - 'ifd', 'ifnd', 'ifc', 'ifnc', 'elseif', 'iif', 'macro', 'endm', 'mexit', - 'narg', '\@', 'section', 'text', 'data', 'bss', 'xdef', 'xref', 'org', - 'offset', '__lk', 'comment', - ), - /* 68000 Opcodes. */ - 2 => array( - 'abcd', 'add', 'adda', 'addi', 'addq', 'addx', 'and', 'andi', - 'asl', 'asr', 'bcc', 'bchg', 'bclr', 'bcs', 'beq', 'bge', - 'bgt', 'bhi', 'ble', 'bls', 'blt', 'bmi', 'bne', 'bpl', - 'bra', 'bset', 'bsr', 'btst', 'bvc', 'bvs', 'chk', 'clr', - 'cmp', 'cmpa', 'cmpi', 'cmpm', 'dbcc', 'dbcs', 'dbeq', 'dbf', - 'dbge', 'dbgt', 'dbhi', 'dble', 'dbls', 'dblt', 'dbmi', 'dbne', - 'dbpl', 'dbra', 'dbt', 'dbvc', 'dbvs', 'divs', 'divu', 'eor', - 'eori', 'exg', 'ext','illegal','jmp', 'jsr', 'lea', 'link', - 'lsl', 'lsr', 'move','movea','movem','movep','moveq', 'muls', - 'mulu', 'nbcd', 'neg', 'negx', 'nop', 'not', 'or', 'ori', - 'pea', 'reset', 'rol', 'ror', 'roxl', 'roxr', 'rte', 'rtr', - 'rts', 'sbcd', 'scc', 'scs', 'seq', 'sf', 'sge', 'sgt', - 'shi', 'sle', 'sls', 'slt', 'smi', 'sne', 'spl', 'st', - 'stop', 'sub', 'suba', 'subi', 'subq', 'subx', 'svc', 'svs', - 'swap', 'tas', 'trap','trapv', 'tst', 'unlk', - ), - /* oprand sizes. */ - 3 => array( - 'b', 'w', 'l' , 's' - ), - /* 68000 Registers. */ - 4 => array( - 'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', - 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'sp', 'usp', 'ssp', - 'pc', 'ccr', 'sr', - ), - ), - 'SYMBOLS' => array( -// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS. - '+', '-', '~', '<<', '>>', '&', - '!', '^', '*', '/', '=', '<', '>', - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #f08; font-weight:bold;', - 2 => 'color: #00f; font-weight:bold;', - 3 => 'color: #00f; font-weight:bold;', - 4 => 'color: #080; font-weight:bold;', - ), - 'COMMENTS' => array( - 1 => 'color: #999; font-style: italic;', - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #009; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #000;' - ), - 'STRINGS' => array( - 0 => 'color: #080;' - ), - 'NUMBERS' => array( - GESHI_NUMBER_INT_BASIC => 'color: #f00;', - GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;', - GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;', - GESHI_NUMBER_OCT_PREFIX_AT => 'color: #f00;', - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 0 => 'color: #080;' - ), - 'REGEXPS' => array( - 0 => 'color: #933;' - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '', - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'NUMBERS' => - GESHI_NUMBER_INT_BASIC | - GESHI_NUMBER_HEX_PREFIX_DOLLAR | - GESHI_NUMBER_OCT_PREFIX_AT | - GESHI_NUMBER_BIN_PREFIX_PERCENT, - 'REGEXPS' => array( - //Labels may end in a colon. - 0 => '(?<=\A\x20|\r|\n|^)[\._a-zA-Z][\._a-zA-Z0-9]*[\:]?[\s]' - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 8, - 'PARSER_CONTROL' => array( - 'NUMBERS' => array( - 'PRECHECK_RX' => '/[\da-fA-F\.\$\%\@]/' - ) - ) -); - diff --git a/vendor/easybook/geshi/geshi/abap.php b/vendor/easybook/geshi/geshi/abap.php deleted file mode 100644 index 14677a2..0000000 --- a/vendor/easybook/geshi/geshi/abap.php +++ /dev/null @@ -1,1408 +0,0 @@ -.htm - * - * CHANGES - * ------- - * 2009/02/25 (1.0.8.3) - * - Some more rework of the language file - * 2009/01/04 (1.0.8.2) - * - Major Release, more than 1000 statements and keywords added = whole abap 7.1 (Sandra Rossi) - * 2007/06/27 (1.0.0) - * - First Release - * - * TODO - * ---- - * - in DATA data TYPE type, 2nd "data" and 2nd "type" are highlighted with data - * style, but should be ignored. Same problem for all words!!! This is quite impossible to - * solve it as we should define syntaxes of all statements (huge effort!) and use a lex - * or something like that instead of regexp I guess. - * - Some words are considered as being statement names (report, tables, etc.) though they - * are used as keyword in some statements. For example: FORM xxxx TABLES itab. It was - * arbitrary decided to define them as statement instead of keyword, because it may be - * useful to have the URL to SAP help for some of them. - * - if a comment is between 2 words of a keyword (for example SEPARATED "comment \n BY), - * it is not considered as a keyword, but it should! - * - for statements like "READ DATASET", GeSHi does not allow to set URLs because these - * statements are determined by REGEXPS. For "READ DATASET", the URL should be - * ABAPREAD_DATASET.htm. If a technical solution is found, be careful : URLs - * are sometimes not valid because the URL does not exist. For example, for "AT NEW" - * statement, the URL should be ABAPAT_ITAB.htm (not ABAPAT_NEW.htm). - * There are many other exceptions. - * Note: for adding this functionality within your php program, you can execute this code: - * function add_urls_to_multi_tokens( $matches ) { - * $url = preg_replace( "/[ \n]+/" , "_" , $matches[3] ); - * if( $url == $matches[3] ) return $matches[0] ; - * else return $matches[1]."".$matches[3]."".$matches[4]; - * } - * $html = $geshi->parse_code(); - * $html = preg_replace_callback( "£(zzz:(control|statement|data);\">)(.+?)()£s", "add_urls_to_multi_tokens", $html ); - * echo $html; - * - Numbers followed by a dot terminating the statement are not properly recognized - * - ************************************************************************************* - * - * This file is part of GeSHi. - * - * GeSHi is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * GeSHi is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GeSHi; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - ************************************************************************************/ - -$language_data = array( - 'LANG_NAME' => 'ABAP', - 'COMMENT_SINGLE' => array( - 1 => '"' - ), - 'COMMENT_MULTI' => array(), - 'COMMENT_REGEXP' => array( - // lines beginning with star at 1st position are comments - // (star anywhere else is not a comment, especially be careful with - // "assign dref->* to " statement) - 2 => '/^\*.*?$/m' - ), - 'CASE_KEYWORDS' => 0, - 'QUOTEMARKS' => array( - 1 => "'", - 2 => "`" - ), - 'ESCAPE_CHAR' => '', - - 'KEYWORDS' => array( - //*********************************************** - // Section 2 : process sequences of several tokens - //*********************************************** - - 7 => array( - 'at new', - 'at end of', - 'at first', - 'at last', - 'loop at', - 'loop at screen', - ), - - 8 => array( - 'private section', - 'protected section', - 'public section', - 'at line-selection', - 'at selection-screen', - 'at user-command', - 'assign component', - 'assign table field', - 'call badi', - 'call customer-function', - 'call customer subscreen', - 'call dialog', - 'call function', - 'call method', - 'call screen', - 'call selection-screen', - 'call transaction', - 'call transformation', - 'close cursor', - 'close dataset', - 'commit work', - 'convert date', - 'convert text', - 'convert time stamp', - 'create data', - 'create object', - 'delete dataset', - 'delete from', - 'describe distance', - 'describe field', - 'describe list', - 'describe table', - 'exec sql', - 'exit from sql', - 'exit from step-loop', - 'export dynpro', - 'export nametab', - 'free memory', - 'generate subroutine-pool', - 'get badi', - 'get bit', - 'get cursor', - 'get dataset', - 'get locale', - 'get parameter', - 'get pf-status', - 'get property', - 'get reference', - 'get run time', - 'get time', - 'get time stamp', - 'import directory', - 'insert report', - 'insert text-pool', - 'leave list-processing', - 'leave program', - 'leave screen', - 'leave to list-processing', - 'leave to transaction', - 'modify line', - 'modify screen', - 'move percentage', - 'open cursor', - 'open dataset', - 'raise event', - 'raise exception', - 'read dataset', - 'read line', - 'read report', - 'read table', - 'read textpool', - 'receive results from function', - 'refresh control', - 'rollback work', - 'set bit', - 'set blank lines', - 'set country', - 'set cursor', - 'set dataset', - 'set extended check', - 'set handler', - 'set hold data', - 'set language', - 'set left scroll-boundary', - 'set locale', - 'set margin', - 'set parameter', - 'set pf-status', - 'set property', - 'set run time analyzer', - 'set run time clock', - 'set screen', - 'set titlebar', - 'set update task', - 'set user-command', - 'suppress dialog', - 'truncate dataset', - 'wait until', - 'wait up to', - ), - - 9 => array( - 'accepting duplicate keys', - 'accepting padding', - 'accepting truncation', - 'according to', - 'actual length', - 'adjacent duplicates', - 'after input', - 'all blob columns', - 'all clob columns', - 'all fields', - 'all methods', - 'all other columns', - 'and mark', - 'and return to screen', - 'and return', - 'and skip first screen', - 'and wait', - 'any table', - 'appendage type', - 'archive mode', - 'archiving parameters', - 'area handle', - 'as checkbox', - 'as icon', - 'as line', - 'as listbox', - 'as person table', - 'as search patterns', - 'as separate unit', - 'as subscreen', - 'as symbol', - 'as text', - 'as window', - 'at cursor-selection', - 'at exit-command', - 'at next application statement', - 'at position', - - 'backup into', - 'before output', - 'before unwind', - 'begin of block', - 'begin of common part', - 'begin of line', - 'begin of screen', - 'begin of tabbed block', - 'begin of version', - 'begin of', - 'big endian', - 'binary mode', - 'binary search', - 'by kernel module', - 'bypassing buffer', - - 'client specified', - 'code page', - 'code page hint', - 'code page into', - 'color black', - 'color blue', - 'color green', - 'color pink', - 'color red', - 'color yellow', - 'compression off', - 'compression on', - 'connect to', - 'corresponding fields of table', - 'corresponding fields of', - 'cover page', - 'cover text', - 'create package', - 'create private', - 'create protected', - 'create public', - 'current position', - - 'data buffer', - 'data values', - 'dataset expiration', - 'daylight saving time', - 'default key', - 'default program', - 'default screen', - 'defining database', - 'deleting leading', - 'deleting trailing', - 'directory entry', - 'display like', - 'display offset', - 'during line-selection', - 'dynamic selections', - - 'edit mask', - 'end of block', - 'end of common part', - 'end of file', - 'end of line', - 'end of screen', - 'end of tabbed block', - 'end of version', - 'end of', - 'endian into', - 'ending at', - 'enhancement options into', - 'enhancement into', - 'environment time format', - 'execute procedure', - 'exporting list to memory', - 'extension type', - - 'field format', - 'field selection', - 'field value into', - 'final methods', - 'first occurrence of', - 'fixed-point arithmetic', - 'for all entries', - 'for all instances', - 'for appending', - 'for columns', - 'for event of', - 'for field', - 'for high', - 'for input', - 'for lines', - 'for low', - 'for node', - 'for output', - 'for select', - 'for table', - 'for testing', - 'for update', - 'for user', - 'frame entry', - 'frame program from', - 'from code page', - 'from context', - 'from database', - 'from logfile id', - 'from number format', - 'from screen', - 'from table', - 'function key', - - 'get connection', - 'global friends', - 'group by', - - 'hashed table of', - 'hashed table', - - 'if found', - 'ignoring case', - 'ignoring conversion errors', - 'ignoring structure boundaries', - 'implementations from', - 'in background', - 'in background task', - 'in background unit', - 'in binary mode', - 'in byte mode', - 'in char-to-hex mode', - 'in character mode', - 'in group', - 'in legacy binary mode', - 'in legacy text mode', - 'in program', - 'in remote task', - 'in text mode', - 'in table', - 'in update task', - 'include bound', - 'include into', - 'include program from', - 'include structure', - 'include type', - 'including gaps', - 'index table', - 'inheriting from', - 'init destination', - 'initial line of', - 'initial line', - 'initial size', - 'internal table', - 'into sortable code', - - 'keep in spool', - 'keeping directory entry', - 'keeping logical unit of work', - 'keeping task', - 'keywords from', - - 'left margin', - 'left outer', - 'levels into', - 'line format', - 'line into', - 'line of', - 'line page', - 'line value from', - 'line value into', - 'lines of', - 'list authority', - 'list dataset', - 'list name', - 'little endian', - 'lob handle for', - 'local friends', - 'locator for', - 'lower case', - - 'main table field', - 'match count', - 'match length', - 'match line', - 'match offset', - 'matchcode object', - 'maximum length', - 'maximum width into', - 'memory id', - 'message into', - 'messages into', - 'modif id', - - 'nesting level', - 'new list identification', - 'next cursor', - 'no database selection', - 'no dialog', - 'no end of line', - 'no fields', - 'no flush', - 'no intervals', - 'no intervals off', - 'no standard page heading', - 'no-extension off', - 'non-unique key', - 'non-unique sorted key', - 'not at end of mode', - 'number of lines', - 'number of pages', - - 'object key', - 'obligatory off', - 'of current page', - 'of page', - 'of program', - 'offset into', - 'on block', - 'on commit', - 'on end of task', - 'on end of', - 'on exit-command', - 'on help-request for', - 'on radiobutton group', - 'on rollback', - 'on value-request for', - 'open for package', - 'option class-coding', - 'option class', - 'option coding', - 'option expand', - 'option syncpoints', - 'options from', - 'order by', - 'overflow into', - - 'package section', - 'package size', - 'preferred parameter', - 'preserving identifier escaping', - 'primary key', - 'print off', - 'print on', - 'program from', - 'program type', - - 'radiobutton groups', - 'radiobutton group', - 'range of', - 'reader for', - 'receive buffer', - 'reduced functionality', - 'ref to data', - 'ref to object', - 'ref to', - - 'reference into', - 'renaming with suffix', - 'replacement character', - 'replacement count', - 'replacement length', - 'replacement line', - 'replacement offset', - 'respecting blanks', - 'respecting case', - 'result into', - 'risk level', - - 'sap cover page', - 'search fkeq', - 'search fkge', - 'search gkeq', - 'search gkge', - 'section of', - 'send buffer', - 'separated by', - 'shared buffer', - 'shared memory', - 'shared memory enabled', - 'skipping byte-order mark', - 'sorted by', - 'sorted table of', - 'sorted table', - 'spool parameters', - 'standard table of', - 'standard table', - 'starting at', - 'starting new task', - 'statements into', - 'structure default', - 'structures into', - - 'table field', - 'table of', - 'text mode', - 'time stamp', - 'time zone', - 'to code page', - 'to column', - 'to context', - 'to first page', - 'to last page', - 'to last line', - 'to line', - 'to lower case', - 'to number format', - 'to page', - 'to sap spool', - 'to upper case', - 'tokens into', - 'transporting no fields', - 'type tableview', - 'type tabstrip', - - 'unicode enabling', - 'up to', - 'upper case', - 'using edit mask', - 'using key', - 'using no edit mask', - 'using screen', - 'using selection-screen', - 'using selection-set', - 'using selection-sets of program', - - 'valid between', - 'valid from', - 'value check', - 'via job', - 'via selection-screen', - 'visible length', - - 'whenever found', - 'with analysis', - 'with byte-order mark', - 'with comments', - 'with current switchstates', - 'with explicit enhancements', - 'with frame', - 'with free selections', - 'with further secondary keys', - 'with header line', - 'with hold', - 'with implicit enhancements', - 'with inactive enhancements', - 'with includes', - 'with key', - 'with linefeed', - 'with list tokenization', - 'with native linefeed', - 'with non-unique key', - 'with null', - 'with pragmas', - 'with precompiled headers', - 'with selection-table', - 'with smart linefeed', - 'with table key', - 'with test code', - 'with type-pools', - 'with unique key', - 'with unix linefeed', - 'with windows linefeed', - 'without further secondary keys', - 'without selection-screen', - 'without spool dynpro', - 'without trmac', - 'word into', - 'writer for' - ), - - //********************************************************** - // Other abap statements - //********************************************************** - 3 => array( - 'add', - 'add-corresponding', - 'aliases', - 'append', - 'assign', - 'at', - 'authority-check', - - 'break-point', - - 'clear', - 'collect', - 'compute', - 'concatenate', - 'condense', - 'class', - 'class-events', - 'class-methods', - 'class-pool', - - 'define', - 'delete', - 'demand', - 'detail', - 'divide', - 'divide-corresponding', - - 'editor-call', - 'end-of-file', - 'end-enhancement-section', - 'end-of-definition', - 'end-of-page', - 'end-of-selection', - 'endclass', - 'endenhancement', - 'endexec', - 'endform', - 'endfunction', - 'endinterface', - 'endmethod', - 'endmodule', - 'endon', - 'endprovide', - 'endselect', - 'enhancement', - 'enhancement-point', - 'enhancement-section', - 'export', - 'extract', - 'events', - - 'fetch', - 'field-groups', - 'find', - 'format', - 'form', - 'free', - 'function-pool', - 'function', - - 'get', - - 'hide', - - 'import', - 'infotypes', - 'input', - 'insert', - 'include', - 'initialization', - 'interface', - 'interface-pool', - 'interfaces', - - 'leave', - 'load-of-program', - 'log-point', - - 'maximum', - 'message', - 'methods', - 'method', - 'minimum', - 'modify', - 'move', - 'move-corresponding', - 'multiply', - 'multiply-corresponding', - - 'new-line', - 'new-page', - 'new-section', - - 'overlay', - - 'pack', - 'perform', - 'position', - 'print-control', - 'program', - 'provide', - 'put', - - 'raise', - 'refresh', - 'reject', - 'replace', - 'report', - 'reserve', - - 'scroll', - 'search', - 'select', - 'selection-screen', - 'shift', - 'skip', - 'sort', - 'split', - 'start-of-selection', - 'submit', - 'subtract', - 'subtract-corresponding', - 'sum', - 'summary', - 'summing', - 'supply', - 'syntax-check', - - 'top-of-page', - 'transfer', - 'translate', - 'type-pool', - - 'uline', - 'unpack', - 'update', - - 'window', - 'write' - - ), - - //********************************************************** - // keywords - //********************************************************** - - 4 => array( - 'abbreviated', - 'abstract', - 'accept', - 'acos', - 'activation', - 'alias', - 'align', - 'all', - 'allocate', - 'and', - 'assigned', - 'any', - 'appending', - 'area', - 'as', - 'ascending', - 'asin', - 'assigning', - 'atan', - 'attributes', - 'avg', - - 'backward', - 'between', - 'bit-and', - 'bit-not', - 'bit-or', - 'bit-set', - 'bit-xor', - 'boolc', - 'boolx', - 'bound', - 'bt', - 'blocks', - 'bounds', - 'boxed', - 'by', - 'byte-ca', - 'byte-cn', - 'byte-co', - 'byte-cs', - 'byte-na', - 'byte-ns', - - 'ca', - 'calling', - 'casting', - 'ceil', - 'center', - 'centered', - 'changing', - 'char_off', - 'charlen', - 'circular', - 'class_constructor', - 'client', - 'clike', - 'close', - 'cmax', - 'cmin', - 'cn', - 'cnt', - 'co', - 'col_background', - 'col_group', - 'col_heading', - 'col_key', - 'col_negative', - 'col_normal', - 'col_positive', - 'col_total', - 'color', - 'column', - 'comment', - 'comparing', - 'components', - 'condition', - 'context', - 'copies', - 'count', - 'country', - 'cpi', - 'creating', - 'critical', - 'concat_lines_of', - 'cos', - 'cosh', - 'count_any_not_of', - 'count_any_of', - 'cp', - 'cs', - 'csequence', - 'currency', - 'current', - 'cx_static_check', - 'cx_root', - 'cx_dynamic_check', - - 'dangerous', - 'database', - 'datainfo', - 'date', - 'dbmaxlen', - 'dd/mm/yy', - 'dd/mm/yyyy', - 'ddmmyy', - 'deallocate', - 'decfloat', - 'decfloat16', - 'decfloat34', - 'decimals', - 'default', - 'deferred', - 'definition', - 'department', - 'descending', - 'destination', - 'disconnect', - 'display-mode', - 'distance', - 'distinct', - 'div', - 'dummy', - - 'encoding', - 'end-lines', - 'engineering', - 'environment', - 'eq', - 'equiv', - 'error_message', - 'errormessage', - 'escape', - 'exact', - 'exception-table', - 'exceptions', - 'exclude', - 'excluding', - 'exists', - 'exp', - 'exponent', - 'exporting', - 'extended_monetary', - - 'field', - 'filter-table', - 'filters', - 'filter', - 'final', - 'find_any_not_of', - 'find_any_of', - 'find_end', - 'floor', - 'first-line', - 'font', - 'forward', - 'for', - 'frac', - 'from_mixed', - 'friends', - 'from', - - 'giving', - 'ge', - 'gt', - - 'handle', - 'harmless', - 'having', - 'head-lines', - 'help-id', - 'help-request', - 'high', - 'hold', - 'hotspot', - - 'id', - 'ids', - 'immediately', - 'implementation', - 'importing', - 'in', - 'initial', - 'incl', - 'including', - 'increment', - 'index', - 'index-line', - 'inner', - 'inout', - 'intensified', - 'into', - 'inverse', - 'is', - 'iso', - - 'join', - - 'key', - 'kind', - - 'log10', - 'language', - 'late', - 'layout', - 'le', - 'lt', - 'left-justified', - 'leftplus', - 'leftspace', - 'left', - 'length', - 'level', - 'like', - 'line-count', - 'line-size', - 'lines', - 'line', - 'load', - 'long', - 'lower', - 'low', - 'lpi', - - 'matches', - 'match', - 'mail', - 'major-id', - 'max', - 'medium', - 'memory', - 'message-id', - 'module', - 'minor-id', - 'min', - 'mm/dd/yyyy', - 'mm/dd/yy', - 'mmddyy', - 'mode', - 'modifier', - 'mod', - 'monetary', - - 'name', - 'nb', - 'ne', - 'next', - 'no-display', - 'no-extension', - 'no-gap', - 'no-gaps', - 'no-grouping', - 'no-heading', - 'no-scrolling', - 'no-sign', - 'no-title', - 'no-topofpage', - 'no-zero', - 'nodes', - 'non-unicode', - 'no', - 'number', - 'nmax', - 'nmin', - 'not', - 'null', - 'numeric', - 'numofchar', - - 'o', - 'objects', - 'obligatory', - 'occurs', - 'offset', - 'off', - 'of', - 'only', - 'open', - 'option', - 'optional', - 'options', - 'output-length', - 'output', - 'out', - 'on change of', - 'or', - 'others', - - 'pad', - 'page', - 'pages', - 'parameter-table', - 'part', - 'performing', - 'pos_high', - 'pos_low', - 'priority', - 'public', - 'pushbutton', - - 'queue-only', - 'quickinfo', - - 'raising', - 'range', - 'read-only', - 'received', - 'receiver', - 'receiving', - 'redefinition', - 'reference', - 'regex', - 'replacing', - 'reset', - 'responsible', - 'result', - 'results', - 'resumable', - 'returncode', - 'returning', - 'right', - 'right-specified', - 'rightplus', - 'rightspace', - 'round', - 'rows', - 'repeat', - 'requested', - 'rescale', - 'reverse', - - 'scale_preserving', - 'scale_preserving_scientific', - 'scientific', - 'scientific_with_leading_zero', - 'screen', - 'scrolling', - 'seconds', - 'segment', - 'shift_left', - 'shift_right', - 'sign', - 'simple', - 'sin', - 'sinh', - 'short', - 'shortdump-id', - 'sign_as_postfix', - 'single', - 'size', - 'some', - 'source', - 'space', - 'spots', - 'stable', - 'state', - 'static', - 'statusinfo', - 'sqrt', - 'string', - 'strlen', - 'structure', - 'style', - 'subkey', - 'submatches', - 'substring', - 'substring_after', - 'substring_before', - 'substring_from', - 'substring_to', - 'super', - 'supplied', - 'switch', - - 'tan', - 'tanh', - 'table_line', - 'table', - 'tab', - 'then', - 'timestamp', - 'times', - 'time', - 'timezone', - 'title-lines', - 'title', - 'top-lines', - 'to', - 'to_lower', - 'to_mixed', - 'to_upper', - 'trace-file', - 'trace-table', - 'transporting', - 'trunc', - 'type', - - 'under', - 'unique', - 'unit', - 'user-command', - 'using', - 'utf-8', - - 'valid', - 'value', - 'value-request', - 'values', - 'vary', - 'varying', - 'version', - - 'warning', - 'where', - 'width', - 'with', - 'word', - 'with-heading', - 'with-title', - - 'xsequence', - 'xstring', - 'xstrlen', - - 'yes', - 'yymmdd', - - 'z', - 'zero' - - ), - - //********************************************************** - // screen statements - //********************************************************** - - 5 => array( - 'call subscreen', - 'chain', - 'endchain', - 'on chain-input', - 'on chain-request', - 'on help-request', - 'on input', - 'on request', - 'on value-request', - 'process' - ), - - //********************************************************** - // internal statements - //********************************************************** - - 6 => array( - 'generate dynpro', - 'generate report', - 'import dynpro', - 'import nametab', - 'include methods', - 'load report', - 'scan abap-source', - 'scan and check abap-source', - 'syntax-check for dynpro', - 'syntax-check for program', - 'syntax-trace', - 'system-call', - 'system-exit', - 'verification-message' - ), - - //********************************************************** - // Control statements - //********************************************************** - - 1 => array( - 'assert', - 'case', - 'catch', - 'check', - 'cleanup', - 'continue', - 'do', - 'else', - 'elseif', - 'endat', - 'endcase', - 'endcatch', - 'endif', - 'enddo', - 'endloop', - 'endtry', - 'endwhile', - 'exit', - 'if', - 'loop', - 'resume', - 'retry', - 'return', - 'stop', - 'try', - 'when', - 'while' - - ), - - //********************************************************** - // variable declaration statements - //********************************************************** - - 2 => array( - 'class-data', - 'controls', - 'constants', - 'data', - 'field-symbols', - 'fields', - 'local', - 'parameters', - 'ranges', - 'select-options', - 'statics', - 'tables', - 'type-pools', - 'types' - ) - ), - 'SYMBOLS' => array( - 0 => array( - '->*', '->', '=>', - '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '!', '%', '^', '&', ':', ',', '.' - ), - 1 => array( - '>=', '<=', '<', '>', '=' - ), - 2 => array( - '?=' - ) - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - 5 => false, - 6 => false, - 7 => false, - 8 => false, - 9 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #000066; text-transform: uppercase; font-weight: bold; zzz:control;', //control statements - 2 => 'color: #cc4050; text-transform: uppercase; font-weight: bold; zzz:data;', //data statements - 3 => 'color: #005066; text-transform: uppercase; font-weight: bold; zzz:statement;', //first token of other statements - 4 => 'color: #500066; text-transform: uppercase; font-weight: bold; zzz:keyword;', // next tokens of other statements ("keywords") - 5 => 'color: #005066; text-transform: uppercase; font-weight: bold; zzz:statement;', - 6 => 'color: #000066; text-transform: uppercase; font-weight: bold; zzz:control;', - 7 => 'color: #000066; text-transform: uppercase; font-weight: bold; zzz:control;', - 8 => 'color: #005066; text-transform: uppercase; font-weight: bold; zzz:statement;', - 9 => 'color: #500066; text-transform: uppercase; font-weight: bold; zzz:keyword;' - ), - 'COMMENTS' => array( - 1 => 'color: #808080; font-style: italic;', - 2 => 'color: #339933;', - 'MULTI' => 'color: #808080; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #808080;' - ), - 'STRINGS' => array( - 0 => 'color: #4da619;' - ), - 'NUMBERS' => array( - 0 => 'color: #3399ff;' - ), - 'METHODS' => array( - 1 => 'color: #202020;', - 2 => 'color: #202020;' - ), - 'SYMBOLS' => array( - 0 => 'color: #808080;', - 1 => 'color: #800080;', - 2 => 'color: #0000ff;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => 'http://help.sap.com/abapdocu/en/ABAP{FNAMEU}.htm', - 2 => 'http://help.sap.com/abapdocu/en/ABAP{FNAMEU}.htm', - 3 => 'http://help.sap.com/abapdocu/en/ABAP{FNAMEU}.htm', - 4 => '', - 5 => '', - 6 => '', - 7 => '', - 8 => '', - 9 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => '->', - 2 => '=>' - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'PARSER_CONTROL' => array( - 'KEYWORDS' => array( - 7 => array( - 'SPACE_AS_WHITESPACE' => true - ), - 8 => array( - 'SPACE_AS_WHITESPACE' => true - ), - 9 => array( - 'SPACE_AS_WHITESPACE' => true - ) - ) - ), - 'TAB_WIDTH' => 4 -); - diff --git a/vendor/easybook/geshi/geshi/actionscript.php b/vendor/easybook/geshi/geshi/actionscript.php deleted file mode 100644 index f64fc64..0000000 --- a/vendor/easybook/geshi/geshi/actionscript.php +++ /dev/null @@ -1,196 +0,0 @@ - 'ActionScript', - 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '\\', - 'KEYWORDS' => array( - 1 => array( - '#include', 'for', 'foreach', 'each', 'if', 'elseif', 'else', 'while', 'do', 'dowhile', - 'endwhile', 'endif', 'switch', 'case', 'endswitch', 'return', 'break', 'continue', 'in' - ), - 2 => array( - 'null', 'false', 'true', 'var', - 'default', 'function', 'class', - 'new', '_global' - ), - 3 => array( - '#endinitclip', '#initclip', '__proto__', '_accProps', '_alpha', '_currentframe', - '_droptarget', '_focusrect', '_framesloaded', '_height', '_highquality', '_lockroot', - '_name', '_parent', '_quality', '_root', '_rotation', '_soundbuftime', '_target', '_totalframes', - '_url', '_visible', '_width', '_x', '_xmouse', '_xscale', '_y', '_ymouse', '_yscale', 'abs', - 'Accessibility', 'acos', 'activityLevel', 'add', 'addListener', 'addPage', 'addProperty', - 'addRequestHeader', 'align', 'allowDomain', 'allowInsecureDomain', 'and', 'appendChild', - 'apply', 'Arguments', 'Array', 'asfunction', 'asin', 'atan', 'atan2', 'attachAudio', 'attachMovie', - 'attachSound', 'attachVideo', 'attributes', 'autosize', 'avHardwareDisable', 'background', - 'backgroundColor', 'BACKSPACE', 'bandwidth', 'beginFill', 'beginGradientFill', 'blockIndent', - 'bold', 'Boolean', 'border', 'borderColor', 'bottomScroll', 'bufferLength', 'bufferTime', - 'builtInItems', 'bullet', 'Button', 'bytesLoaded', 'bytesTotal', 'call', 'callee', 'caller', - 'Camera', 'capabilities', 'CAPSLOCK', 'caption', 'catch', 'ceil', 'charAt', 'charCodeAt', - 'childNodes', 'chr', 'clear', 'clearInterval', 'cloneNode', 'close', 'Color', 'concat', - 'connect', 'condenseWhite', 'constructor', 'contentType', 'ContextMenu', 'ContextMenuItem', - 'CONTROL', 'copy', 'cos', 'createElement', 'createEmptyMovieClip', 'createTextField', - 'createTextNode', 'currentFps', 'curveTo', 'CustomActions', 'customItems', 'data', 'Date', - 'deblocking', 'delete', 'DELETEKEY', 'docTypeDecl', 'domain', 'DOWN', - 'duplicateMovieClip', 'duration', 'dynamic', 'E', 'embedFonts', 'enabled', - 'END', 'endFill', 'ENTER', 'eq', 'Error', 'ESCAPE(Konstante)', 'escape(Funktion)', 'eval', - 'exactSettings', 'exp', 'extends', 'finally', 'findText', 'firstChild', 'floor', - 'flush', 'focusEnabled', 'font', 'fps', 'fromCharCode', 'fscommand', - 'gain', 'ge', 'get', 'getAscii', 'getBeginIndex', 'getBounds', 'getBytesLoaded', 'getBytesTotal', - 'getCaretIndex', 'getCode', 'getCount', 'getDate', 'getDay', 'getDepth', 'getEndIndex', 'getFocus', - 'getFontList', 'getFullYear', 'getHours', 'getInstanceAtDepth', 'getLocal', 'getMilliseconds', - 'getMinutes', 'getMonth', 'getNewTextFormat', 'getNextHighestDepth', 'getPan', 'getProgress', - 'getProperty', 'getRGB', 'getSeconds', 'getSelected', 'getSelectedText', 'getSize', 'getStyle', - 'getStyleNames', 'getSWFVersion', 'getText', 'getTextExtent', 'getTextFormat', 'getTextSnapshot', - 'getTime', 'getTimer', 'getTimezoneOffset', 'getTransform', 'getURL', 'getUTCDate', 'getUTCDay', - 'getUTCFullYear', 'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth', 'getUTCSeconds', - 'getVersion', 'getVolume', 'getYear', 'globalToLocal', 'goto', 'gotoAndPlay', 'gotoAndStop', - 'hasAccessibility', 'hasAudio', 'hasAudioEncoder', 'hasChildNodes', 'hasEmbeddedVideo', 'hasMP3', - 'hasPrinting', 'hasScreenBroadcast', 'hasScreenPlayback', 'hasStreamingAudio', 'hasStreamingVideo', - 'hasVideoEncoder', 'height', 'hide', 'hideBuiltInItems', 'hitArea', 'hitTest', 'hitTestTextNearPos', - 'HOME', 'hscroll', 'html', 'htmlText', 'ID3', 'ifFrameLoaded', 'ignoreWhite', 'implements', - 'import', 'indent', 'index', 'indexOf', 'Infinity', '-Infinity', 'INSERT', 'insertBefore', 'install', - 'instanceof', 'int', 'interface', 'isActive', 'isDebugger', 'isDown', 'isFinite', 'isNaN', 'isToggled', - 'italic', 'join', 'Key', 'language', 'lastChild', 'lastIndexOf', 'le', 'leading', 'LEFT', 'leftMargin', - 'length', 'level', 'lineStyle', 'lineTo', 'list', 'LN10', 'LN2', 'load', 'loadClip', 'loaded', 'loadMovie', - 'loadMovieNum', 'loadSound', 'loadVariables', 'loadVariablesNum', 'LoadVars', 'LocalConnection', - 'localFileReadDisable', 'localToGlobal', 'log', 'LOG10E', 'LOG2E', 'manufacturer', 'Math', 'max', - 'MAX_VALUE', 'maxChars', 'maxhscroll', 'maxscroll', 'mbchr', 'mblength', 'mbord', 'mbsubstring', 'menu', - 'message', 'Microphone', 'min', 'MIN_VALUE', 'MMExecute', 'motionLevel', 'motionTimeOut', 'Mouse', - 'mouseWheelEnabled', 'moveTo', 'Movieclip', 'MovieClipLoader', 'multiline', 'muted', 'name', 'names', 'NaN', - 'ne', 'NEGATIVE_INFINITY', 'NetConnection', 'NetStream', 'newline', 'nextFrame', - 'nextScene', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue', 'not', 'Number', 'Object', - 'on', 'onActivity', 'onChanged', 'onClipEvent', 'onClose', 'onConnect', 'onData', 'onDragOut', - 'onDragOver', 'onEnterFrame', 'onID3', 'onKeyDown', 'onKeyUp', 'onKillFocus', 'onLoad', 'onLoadComplete', - 'onLoadError', 'onLoadInit', 'onLoadProgress', 'onLoadStart', 'onMouseDown', 'onMouseMove', 'onMouseUp', - 'onMouseWheel', 'onPress', 'onRelease', 'onReleaseOutside', 'onResize', 'onRollOut', 'onRollOver', - 'onScroller', 'onSelect', 'onSetFocus', 'onSoundComplete', 'onStatus', 'onUnload', 'onUpdate', 'onXML', - 'or(logischesOR)', 'ord', 'os', 'parentNode', 'parseCSS', 'parseFloat', 'parseInt', 'parseXML', 'password', - 'pause', 'PGDN', 'PGUP', 'PI', 'pixelAspectRatio', 'play', 'playerType', 'pop', 'position', - 'POSITIVE_INFINITY', 'pow', 'prevFrame', 'previousSibling', 'prevScene', 'print', 'printAsBitmap', - 'printAsBitmapNum', 'PrintJob', 'printNum', 'private', 'prototype', 'public', 'push', 'quality', - 'random', 'rate', 'registerClass', 'removeListener', 'removeMovieClip', 'removeNode', 'removeTextField', - 'replaceSel', 'replaceText', 'resolutionX', 'resolutionY', 'restrict', 'reverse', 'RIGHT', - 'rightMargin', 'round', 'scaleMode', 'screenColor', 'screenDPI', 'screenResolutionX', 'screenResolutionY', - 'scroll', 'seek', 'selectable', 'Selection', 'send', 'sendAndLoad', 'separatorBefore', 'serverString', - 'set', 'setvariable', 'setBufferTime', 'setClipboard', 'setDate', 'setFocus', 'setFullYear', 'setGain', - 'setHours', 'setInterval', 'setMask', 'setMilliseconds', 'setMinutes', 'setMode', 'setMonth', - 'setMotionLevel', 'setNewTextFormat', 'setPan', 'setProperty', 'setQuality', 'setRate', 'setRGB', - 'setSeconds', 'setSelectColor', 'setSelected', 'setSelection', 'setSilenceLevel', 'setStyle', - 'setTextFormat', 'setTime', 'setTransform', 'setUseEchoSuppression', 'setUTCDate', 'setUTCFullYear', - 'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds', 'setVolume', - 'setYear', 'SharedObject', 'SHIFT(Konstante)', 'shift(Methode)', 'show', 'showMenu', 'showSettings', - 'silenceLevel', 'silenceTimeout', 'sin', 'size', 'slice', 'smoothing', 'sort', 'sortOn', 'Sound', 'SPACE', - 'splice', 'split', 'sqrt', 'SQRT1_2', 'SQRT2', 'Stage', 'start', 'startDrag', 'static', 'status', 'stop', - 'stopAllSounds', 'stopDrag', 'String', 'StyleSheet(Klasse)', 'styleSheet(Eigenschaft)', 'substr', - 'substring', 'super', 'swapDepths', 'System', 'TAB', 'tabChildren', 'tabEnabled', 'tabIndex', - 'tabStops', 'tan', 'target', 'targetPath', 'tellTarget', 'text', 'textColor', 'TextField', 'TextFormat', - 'textHeight', 'TextSnapshot', 'textWidth', 'this', 'throw', 'time', 'toggleHighQuality', 'toLowerCase', - 'toString', 'toUpperCase', 'trace', 'trackAsMenu', 'try', 'type', 'typeof', 'undefined', - 'underline', 'unescape', 'uninstall', 'unloadClip', 'unloadMovie', 'unLoadMovieNum', 'unshift', 'unwatch', - 'UP', 'updateAfterEvent', 'updateProperties', 'url', 'useCodePage', 'useEchoSuppression', 'useHandCursor', - 'UTC', 'valueOf', 'variable', 'version', 'Video', 'visible', 'void', 'watch', 'width', - 'with', 'wordwrap', 'XML', 'xmlDecl', 'XMLNode', 'XMLSocket' - ) - ), - 'SYMBOLS' => array( - '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #b1b100;', - 2 => 'color: #000000; font-weight: bold;', - 3 => 'color: #0066CC;' - ), - 'COMMENTS' => array( - 1 => 'color: #808080; font-style: italic;', - 2 => 'color: #808080; font-style: italic;', - 'MULTI' => 'color: #808080; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #66cc66;' - ), - 'STRINGS' => array( - 0 => 'color: #ff0000;' - ), - 'NUMBERS' => array( - 0 => 'color: #cc66cc;' - ), - 'METHODS' => array( - 1 => 'color: #006600;' - ), - 'SYMBOLS' => array( - 0 => 'color: #66cc66;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => '.' - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array(), - 'HIGHLIGHT_STRICT_BLOCK' => array() -); - diff --git a/vendor/easybook/geshi/geshi/actionscript3.php b/vendor/easybook/geshi/geshi/actionscript3.php deleted file mode 100644 index afe5380..0000000 --- a/vendor/easybook/geshi/geshi/actionscript3.php +++ /dev/null @@ -1,472 +0,0 @@ - 'ActionScript 3', - 'COMMENT_SINGLE' => array(1 => '//'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'COMMENT_REGEXP' => array( - //Regular expressions - 2 => "/(?<=[\\s^])(s|tr|y)\\/(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])+(? GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '\\', - 'KEYWORDS' => array( - 1 => array( - 'with', 'while', 'void', 'undefined', 'typeof', 'try', 'true', - 'throw', 'this', 'switch', 'super', 'set', 'return', 'public', 'protected', - 'private', 'null', 'new', 'is', 'internal', 'instanceof', 'in', - 'import', 'if', 'get', 'for', 'false', 'else', 'each', 'do', - 'delete', 'default', 'continue', 'catch', 'case', 'break', 'as', - 'extends', 'override' - ), - 2 => array( - 'var' - ), - 3 => array( - 'function' - ), - 4 => array( - 'class', 'package' - ), - 6 => array( - 'flash.xml', 'flash.utils', 'flash.ui', 'flash.text', - 'flash.system', 'flash.profiler', 'flash.printing', 'flash.net', - 'flash.media', 'flash.geom', 'flash.filters', 'flash.external', - 'flash.events', 'flash.errors', 'flash.display', - 'flash.accessibility' - ), - 7 => array( - 'zoom', 'year', 'y', 'xmlDecl', 'x', 'writeUnsignedInt', - 'writeUTFBytes', 'writeUTF', 'writeShort', 'writeObject', - 'writeMultiByte', 'writeInt', 'writeFloat', 'writeExternal', - 'writeDynamicProperty', 'writeDynamicProperties', 'writeDouble', - 'writeBytes', 'writeByte', 'writeBoolean', 'wordWrap', - 'willTrigger', 'width', 'volume', 'visible', 'videoWidth', - 'videoHeight', 'version', 'valueOf', 'value', 'usingTLS', - 'useRichTextClipboard', 'useHandCursor', 'useEchoSuppression', - 'useCodePage', 'url', 'uri', 'uploadCompleteData', 'upload', - 'updateProperties', 'updateAfterEvent', 'upState', 'unshift', - 'unlock', 'unload', 'union', 'unescapeMultiByte', 'unescape', - 'underline', 'uncompress', 'type', 'ty', 'tx', 'transparent', - 'translate', 'transformPoint', 'transform', 'trackAsMenu', 'track', - 'trace', 'totalMemory', 'totalFrames', 'topLeft', 'top', - 'togglePause', 'toXMLString', 'toUpperCase', 'toUTCString', - 'toTimeString', 'toString', 'toPrecision', 'toLowerCase', - 'toLocaleUpperCase', 'toLocaleTimeString', 'toLocaleString', - 'toLocaleLowerCase', 'toLocaleDateString', 'toFixed', - 'toExponential', 'toDateString', 'timezoneOffset', 'timerComplete', - 'timer', 'time', 'threshold', 'thickness', 'textWidth', - 'textSnapshot', 'textInput', 'textHeight', 'textColor', 'text', - 'test', 'target', 'tan', 'tabStops', 'tabIndexChange', 'tabIndex', - 'tabEnabledChange', 'tabEnabled', 'tabChildrenChange', - 'tabChildren', 'sync', 'swfVersion', 'swapChildrenAt', - 'swapChildren', 'subtract', 'substring', 'substr', 'styleSheet', - 'styleNames', 'strength', 'stopPropagation', - 'stopImmediatePropagation', 'stopDrag', 'stopAll', 'stop', 'status', - 'startDrag', 'start', 'stageY', 'stageX', 'stageWidth', - 'stageHeight', 'stageFocusRect', 'stage', 'sqrt', 'split', 'splice', - 'source', 'soundTransform', 'soundComplete', 'sortOn', 'sort', - 'songName', 'some', 'socketData', 'smoothing', 'slice', 'size', - 'sin', 'silent', 'silenceTimeout', 'silenceLevel', 'showSettings', - 'showRedrawRegions', 'showDefaultContextMenu', 'show', 'shortcut', - 'shiftKey', 'shift', 'sharpness', 'sharedEvents', 'shadowColor', - 'shadowAlpha', 'settings', 'setUseEchoSuppression', 'setUTCSeconds', - 'setUTCMonth', 'setUTCMinutes', 'setUTCMilliseconds', 'setUTCHours', - 'setUTCFullYear', 'setUTCDate', 'setTimeout', 'setTime', - 'setTextFormat', 'setStyle', 'setSilenceLevel', 'setSettings', - 'setSelection', 'setSelected', 'setSelectColor', 'setSeconds', - 'setQuality', 'setPropertyIsEnumerable', 'setProperty', 'setPixels', - 'setPixel32', 'setPixel', 'setNamespace', 'setName', - 'setMotionLevel', 'setMonth', 'setMode', 'setMinutes', - 'setMilliseconds', 'setLoopback', 'setLoopBack', 'setLocalName', - 'setKeyFrameInterval', 'setInterval', 'setHours', 'setFullYear', - 'setEmpty', 'setDirty', 'setDate', 'setCompositionString', - 'setClipboard', 'setChildren', 'setChildIndex', - 'setAdvancedAntiAliasingTable', 'serverString', 'separatorBefore', - 'sendToURL', 'send', 'selectionEndIndex', 'selectionBeginIndex', - 'selectable', 'select', 'seek', 'securityError', 'securityDomain', - 'secondsUTC', 'seconds', 'search', 'scrollV', 'scrollRect', - 'scrollH', 'scroll', 'screenResolutionY', 'screenResolutionX', - 'screenDPI', 'screenColor', 'scenes', 'scaleY', 'scaleX', - 'scaleMode', 'scale9Grid', 'scale', 'save', 'sandboxType', - 'sameDomain', 'running', 'round', 'rotation', 'rotate', 'root', - 'rollOver', 'rollOut', 'rightToRight', 'rightToLeft', 'rightPeak', - 'rightMargin', 'right', 'rewind', 'reverse', 'resume', 'restrict', - 'resize', 'reset', 'requestHeaders', 'replaceText', - 'replaceSelectedText', 'replace', 'repeatCount', 'render', - 'removedFromStage', 'removed', 'removeNode', 'removeNamespace', - 'removeEventListener', 'removeChildAt', 'removeChild', - 'relatedObject', 'registerFont', 'registerClassAlias', 'redOffset', - 'redMultiplier', 'rect', 'receiveVideo', 'receiveAudio', - 'readUnsignedShort', 'readUnsignedInt', 'readUnsignedByte', - 'readUTFBytes', 'readUTF', 'readShort', 'readObject', - 'readMultiByte', 'readInt', 'readFloat', 'readExternal', - 'readDouble', 'readBytes', 'readByte', 'readBoolean', 'ratios', - 'rate', 'random', 'quality', 'push', 'publish', 'proxyType', - 'prototype', 'propertyIsEnumerable', 'progress', - 'processingInstructions', 'printAsBitmap', 'print', - 'previousSibling', 'preventDefault', 'prevScene', 'prevFrame', - 'prettyPrinting', 'prettyIndent', 'preserveAlpha', 'prependChild', - 'prefix', 'pow', 'position', 'pop', 'polar', 'playerType', 'play', - 'pixelSnapping', 'pixelDissolve', 'pixelBounds', 'pixelAspectRatio', - 'perlinNoise', 'pause', 'parseXML', 'parseInt', 'parseFloat', - 'parseCSS', 'parse', 'parentNode', 'parentDomain', - 'parentAllowsChild', 'parent', 'parameters', 'paperWidth', - 'paperHeight', 'pan', 'paletteMap', 'pageWidth', 'pageHeight', - 'overState', 'outsideCutoff', 'os', 'orientation', 'open', - 'opaqueBackground', 'onPlayStatus', 'onMetaData', 'onCuePoint', - 'offsetPoint', 'offset', 'objectID', 'objectEncoding', 'numLock', - 'numLines', 'numFrames', 'numChildren', 'normalize', 'noise', - 'nodeValue', 'nodeType', 'nodeName', 'nodeKind', 'noAutoLabeling', - 'nextValue', 'nextSibling', 'nextScene', 'nextNameIndex', - 'nextName', 'nextFrame', 'netStatus', 'navigateToURL', - 'namespaceURI', 'namespaceDeclarations', 'namespace', 'names', - 'name', 'muted', 'multiline', 'moveTo', 'mouseY', 'mouseX', - 'mouseWheelEnabled', 'mouseWheel', 'mouseUp', 'mouseTarget', - 'mouseOver', 'mouseOut', 'mouseMove', 'mouseLeave', - 'mouseFocusChange', 'mouseEnabled', 'mouseDown', 'mouseChildren', - 'motionTimeout', 'motionLevel', 'monthUTC', 'month', - 'modificationDate', 'mode', 'minutesUTC', 'minutes', 'min', - 'millisecondsUTC', 'milliseconds', 'method', 'message', 'merge', - 'menuSelect', 'menuItemSelect', 'maxScrollV', 'maxScrollH', - 'maxLevel', 'maxChars', 'max', 'matrixY', 'matrixX', 'matrix', - 'match', 'mask', 'mapPoint', 'mapBitmap', 'map', 'manufacturer', - 'macType', 'loopback', 'loop', 'log', 'lock', 'localeCompare', - 'localY', 'localX', 'localToGlobal', 'localName', - 'localFileReadDisable', 'loaderURL', 'loaderInfo', 'loader', - 'loadPolicyFile', 'loadBytes', 'load', 'liveDelay', 'link', - 'lineTo', 'lineStyle', 'lineGradientStyle', 'level', - 'letterSpacing', 'length', 'leftToRight', 'leftToLeft', 'leftPeak', - 'leftMargin', 'left', 'leading', 'lastIndexOf', 'lastIndex', - 'lastChild', 'language', 'labels', 'knockout', 'keyUp', - 'keyLocation', 'keyFrameInterval', 'keyFocusChange', 'keyDown', - 'keyCode', 'kerning', 'join', 'italic', 'isXMLName', - 'isPrototypeOf', 'isNaN', 'isFocusInaccessible', 'isFinite', - 'isEmpty', 'isDefaultPrevented', 'isDebugger', 'isBuffering', - 'isAttribute', 'isAccessible', 'ioError', 'invert', 'invalidate', - 'intersects', 'intersection', 'interpolate', 'insideCutoff', - 'insertChildBefore', 'insertChildAfter', 'insertBefore', 'inner', - 'init', 'info', 'inflatePoint', 'inflate', 'indexOf', 'index', - 'indent', 'inScopeNamespaces', 'imeComposition', 'ime', - 'ignoreWhitespace', 'ignoreWhite', 'ignoreProcessingInstructions', - 'ignoreComments', 'ignoreCase', 'identity', 'idMap', 'id3', - 'httpStatus', 'htmlText', 'hoursUTC', 'hours', 'hitTestTextNearPos', - 'hitTestState', 'hitTestPoint', 'hitTestObject', 'hitTest', - 'hitArea', 'highlightColor', 'highlightAlpha', 'hideObject', - 'hideBuiltInItems', 'hide', 'height', 'hasVideoEncoder', 'hasTLS', - 'hasStreamingVideo', 'hasStreamingAudio', 'hasSimpleContent', - 'hasScreenPlayback', 'hasScreenBroadcast', 'hasProperty', - 'hasPrinting', 'hasOwnProperty', 'hasMP3', 'hasIME', 'hasGlyphs', - 'hasEventListener', 'hasEmbeddedVideo', 'hasDefinition', - 'hasComplexContent', 'hasChildNodes', 'hasAudioEncoder', 'hasAudio', - 'hasAccessibility', 'gridFitType', 'greenOffset', 'greenMultiplier', - 'graphics', 'gotoAndStop', 'gotoAndPlay', 'globalToLocal', 'global', - 'getUTCSeconds', 'getUTCMonth', 'getUTCMinutes', - 'getUTCMilliseconds', 'getUTCHours', 'getUTCFullYear', 'getUTCDay', - 'getUTCDate', 'getTimezoneOffset', 'getTimer', 'getTime', - 'getTextRunInfo', 'getTextFormat', 'getText', 'getStyle', - 'getStackTrace', 'getSelectedText', 'getSelected', 'getSeconds', - 'getRemote', 'getRect', 'getQualifiedSuperclassName', - 'getQualifiedClassName', 'getProperty', 'getPrefixForNamespace', - 'getPixels', 'getPixel32', 'getPixel', 'getParagraphLength', - 'getObjectsUnderPoint', 'getNamespaceForPrefix', 'getMonth', - 'getMinutes', 'getMilliseconds', 'getMicrophone', 'getLocal', - 'getLineText', 'getLineOffset', 'getLineMetrics', 'getLineLength', - 'getLineIndexOfChar', 'getLineIndexAtPoint', 'getImageReference', - 'getHours', 'getFullYear', 'getFirstCharInParagraph', - 'getDescendants', 'getDefinitionByName', 'getDefinition', 'getDay', - 'getDate', 'getColorBoundsRect', 'getClassByAlias', 'getChildIndex', - 'getChildByName', 'getChildAt', 'getCharIndexAtPoint', - 'getCharBoundaries', 'getCamera', 'getBounds', 'genre', - 'generateFilterRect', 'gain', 'fullYearUTC', 'fullYear', - 'fullScreen', 'fscommand', 'fromCharCode', 'framesLoaded', - 'frameRate', 'frame', 'fps', 'forwardAndBack', 'formatToString', - 'forceSimple', 'forEach', 'fontType', 'fontStyle', 'fontSize', - 'fontName', 'font', 'focusRect', 'focusOut', 'focusIn', 'focus', - 'flush', 'floor', 'floodFill', 'firstChild', 'findText', 'filters', - 'filter', 'fillRect', 'fileList', 'extension', 'extended', 'exp', - 'exec', 'exactSettings', 'every', 'eventPhase', 'escapeMultiByte', - 'escape', 'errorID', 'error', 'equals', 'enumerateFonts', - 'enterFrame', 'endian', 'endFill', 'encodeURIComponent', - 'encodeURI', 'enabled', 'embedFonts', 'elements', - 'dynamicPropertyWriter', 'dropTarget', 'drawRoundRect', 'drawRect', - 'drawEllipse', 'drawCircle', 'draw', 'download', 'downState', - 'doubleClickEnabled', 'doubleClick', 'dotall', 'domain', - 'docTypeDecl', 'doConversion', 'divisor', 'distance', 'dispose', - 'displayState', 'displayMode', 'displayAsPassword', 'dispatchEvent', - 'description', 'describeType', 'descent', 'descendants', - 'deltaTransformPoint', 'delta', 'deleteProperty', 'delay', - 'defaultTextFormat', 'defaultSettings', 'defaultObjectEncoding', - 'decodeURIComponent', 'decodeURI', 'decode', 'deblocking', - 'deactivate', 'dayUTC', 'day', 'dateUTC', 'date', 'dataFormat', - 'data', 'd', 'customItems', 'curveTo', 'currentTarget', - 'currentScene', 'currentLabels', 'currentLabel', 'currentFrame', - 'currentFPS', 'currentDomain', 'currentCount', 'ctrlKey', 'creator', - 'creationDate', 'createTextNode', 'createGradientBox', - 'createElement', 'createBox', 'cos', 'copyPixels', 'copyChannel', - 'copy', 'conversionMode', 'contextMenuOwner', 'contextMenu', - 'contentType', 'contentLoaderInfo', 'content', 'containsRect', - 'containsPoint', 'contains', 'constructor', 'connectedProxyType', - 'connected', 'connect', 'condenseWhite', 'concatenatedMatrix', - 'concatenatedColorTransform', 'concat', 'computeSpectrum', - 'compress', 'componentY', 'componentX', 'complete', 'compare', - 'comments', 'comment', 'colors', 'colorTransform', 'color', 'code', - 'close', 'cloneNode', 'clone', 'client', 'click', 'clearTimeout', - 'clearInterval', 'clear', 'clamp', 'children', 'childNodes', - 'childIndex', 'childAllowsParent', 'child', 'checkPolicyFile', - 'charCount', 'charCodeAt', 'charCode', 'charAt', 'changeList', - 'change', 'ceil', 'caretIndex', 'caption', 'capsLock', 'cancelable', - 'cancel', 'callee', 'callProperty', 'call', 'cacheAsBitmap', 'c', - 'bytesTotal', 'bytesLoaded', 'bytesAvailable', 'buttonMode', - 'buttonDown', 'bullet', 'builtInItems', 'bufferTime', - 'bufferLength', 'bubbles', 'browse', 'bottomScrollV', 'bottomRight', - 'bottom', 'borderColor', 'border', 'bold', 'blurY', 'blurX', - 'blueOffset', 'blueMultiplier', 'blockIndent', 'blendMode', - 'bitmapData', 'bias', 'beginGradientFill', 'beginFill', - 'beginBitmapFill', 'bandwidth', 'backgroundColor', 'background', - 'b', 'available', 'avHardwareDisable', 'autoSize', 'attributes', - 'attribute', 'attachNetStream', 'attachCamera', 'attachAudio', - 'atan2', 'atan', 'asyncError', 'asin', 'ascent', 'artist', - 'areSoundsInaccessible', 'areInaccessibleObjectsUnderPoint', - 'applyFilter', 'apply', 'applicationDomain', 'appendText', - 'appendChild', 'antiAliasType', 'angle', 'alwaysShowSelection', - 'altKey', 'alphas', 'alphaOffset', 'alphaMultiplier', 'alpha', - 'allowInsecureDomain', 'allowDomain', 'align', 'album', - 'addedToStage', 'added', 'addPage', 'addNamespace', 'addHeader', - 'addEventListener', 'addChildAt', 'addChild', 'addCallback', 'add', - 'activityLevel', 'activity', 'active', 'activating', 'activate', - 'actionScriptVersion', 'acos', 'accessibilityProperties', 'abs' - ), - 8 => array( - 'WRAP', 'VERTICAL', 'VARIABLES', - 'UTC', 'UPLOAD_COMPLETE_DATA', 'UP', 'UNLOAD', 'UNKNOWN', - 'UNIQUESORT', 'TOP_RIGHT', 'TOP_LEFT', 'TOP', 'TIMER_COMPLETE', - 'TIMER', 'TEXT_NODE', 'TEXT_INPUT', 'TEXT', 'TAB_INDEX_CHANGE', - 'TAB_ENABLED_CHANGE', 'TAB_CHILDREN_CHANGE', 'TAB', 'SYNC', - 'SUBTRACT', 'SUBPIXEL', 'STATUS', 'STANDARD', 'SQUARE', 'SQRT2', - 'SQRT1_2', 'SPACE', 'SOUND_COMPLETE', 'SOCKET_DATA', 'SHOW_ALL', - 'SHIFT', 'SETTINGS_MANAGER', 'SELECT', 'SECURITY_ERROR', 'SCROLL', - 'SCREEN', 'ROUND', 'ROLL_OVER', 'ROLL_OUT', 'RIGHT', 'RGB', - 'RETURNINDEXEDARRAY', 'RESIZE', 'REPEAT', 'RENDER', - 'REMOVED_FROM_STAGE', 'REMOVED', 'REMOTE', 'REGULAR', 'REFLECT', - 'RED', 'RADIAL', 'PROGRESS', 'PRIVACY', 'POST', 'POSITIVE_INFINITY', - 'PORTRAIT', 'PIXEL', 'PI', 'PENDING', 'PAGE_UP', 'PAGE_DOWN', 'PAD', - 'OVERLAY', 'OUTER', 'OPEN', 'NaN', 'NUM_PAD', 'NUMPAD_SUBTRACT', - 'NUMPAD_MULTIPLY', 'NUMPAD_ENTER', 'NUMPAD_DIVIDE', - 'NUMPAD_DECIMAL', 'NUMPAD_ADD', 'NUMPAD_9', 'NUMPAD_8', 'NUMPAD_7', - 'NUMPAD_6', 'NUMPAD_5', 'NUMPAD_4', 'NUMPAD_3', 'NUMPAD_2', - 'NUMPAD_1', 'NUMPAD_0', 'NUMERIC', 'NO_SCALE', 'NO_BORDER', - 'NORMAL', 'NONE', 'NEVER', 'NET_STATUS', 'NEGATIVE_INFINITY', - 'MULTIPLY', 'MOUSE_WHEEL', 'MOUSE_UP', 'MOUSE_OVER', 'MOUSE_OUT', - 'MOUSE_MOVE', 'MOUSE_LEAVE', 'MOUSE_FOCUS_CHANGE', 'MOUSE_DOWN', - 'MITER', 'MIN_VALUE', 'MICROPHONE', 'MENU_SELECT', - 'MENU_ITEM_SELECT', 'MEDIUM', 'MAX_VALUE', 'LOW', 'LOG2E', 'LOG10E', - 'LOCAL_WITH_NETWORK', 'LOCAL_WITH_FILE', 'LOCAL_TRUSTED', - 'LOCAL_STORAGE', 'LN2', 'LN10', 'LITTLE_ENDIAN', 'LINK', - 'LINEAR_RGB', 'LINEAR', 'LIGHT_COLOR', 'LIGHTEN', 'LEFT', 'LCD', - 'LAYER', 'LANDSCAPE', 'KOREAN', 'KEY_UP', 'KEY_FOCUS_CHANGE', - 'KEY_DOWN', 'JUSTIFY', 'JAPANESE_KATAKANA_HALF', - 'JAPANESE_KATAKANA_FULL', 'JAPANESE_HIRAGANA', 'Infinity', 'ITALIC', - 'IO_ERROR', 'INVERT', 'INSERT', 'INPUT', 'INNER', 'INIT', - 'IME_COMPOSITION', 'IGNORE', 'ID3', 'HTTP_STATUS', 'HORIZONTAL', - 'HOME', 'HIGH', 'HARDLIGHT', 'GREEN', 'GET', 'FULLSCREEN', 'FULL', - 'FOCUS_OUT', 'FOCUS_IN', 'FLUSHED', 'FLASH9', 'FLASH8', 'FLASH7', - 'FLASH6', 'FLASH5', 'FLASH4', 'FLASH3', 'FLASH2', 'FLASH1', 'F9', - 'F8', 'F7', 'F6', 'F5', 'F4', 'F3', 'F2', 'F15', 'F14', 'F13', - 'F12', 'F11', 'F10', 'F1', 'EXACT_FIT', 'ESCAPE', 'ERROR', 'ERASE', - 'ENTER_FRAME', 'ENTER', 'END', 'EMBEDDED', 'ELEMENT_NODE', 'E', - 'DYNAMIC', 'DOWN', 'DOUBLE_CLICK', 'DIFFERENCE', 'DEVICE', - 'DESCENDING', 'DELETE', 'DEFAULT', 'DEACTIVATE', 'DATA', - 'DARK_COLOR', 'DARKEN', 'CRT', 'CONTROL', 'CONNECT', 'COMPLETE', - 'COLOR', 'CLOSE', 'CLICK', 'CLAMP', 'CHINESE', 'CHANGE', 'CENTER', - 'CASEINSENSITIVE', 'CAPTURING_PHASE', 'CAPS_LOCK', 'CANCEL', - 'CAMERA', 'BUBBLING_PHASE', 'BOTTOM_RIGHT', 'BOTTOM_LEFT', 'BOTTOM', - 'BOLD_ITALIC', 'BOLD', 'BLUE', 'BINARY', 'BIG_ENDIAN', 'BEVEL', - 'BEST', 'BACKSPACE', 'AUTO', 'AT_TARGET', 'ASYNC_ERROR', 'AMF3', - 'AMF0', 'ALWAYS', 'ALPHANUMERIC_HALF', 'ALPHANUMERIC_FULL', 'ALPHA', - 'ADVANCED', 'ADDED_TO_STAGE', 'ADDED', 'ADD', 'ACTIVITY', - 'ACTIONSCRIPT3', 'ACTIONSCRIPT2' - ), - //FIX: Must be last in order to avoid conflicts with keywords present - //in other keyword groups, that might get highlighted as part of the URL. - //I know this is not a proper work-around, but should do just fine. - 5 => array( - 'uint', 'int', 'arguments', 'XMLSocket', 'XMLNodeType', 'XMLNode', - 'XMLList', 'XMLDocument', 'XML', 'Video', 'VerifyError', - 'URLVariables', 'URLStream', 'URLRequestMethod', 'URLRequestHeader', - 'URLRequest', 'URLLoaderDataFormat', 'URLLoader', 'URIError', - 'TypeError', 'Transform', 'TimerEvent', 'Timer', 'TextSnapshot', - 'TextRenderer', 'TextLineMetrics', 'TextFormatAlign', 'TextFormat', - 'TextFieldType', 'TextFieldAutoSize', 'TextField', 'TextEvent', - 'TextDisplayMode', 'TextColorType', 'System', 'SyntaxError', - 'SyncEvent', 'StyleSheet', 'String', 'StatusEvent', 'StaticText', - 'StageScaleMode', 'StageQuality', 'StageAlign', 'Stage', - 'StackOverflowError', 'Sprite', 'SpreadMethod', 'SoundTransform', - 'SoundMixer', 'SoundLoaderContext', 'SoundChannel', 'Sound', - 'Socket', 'SimpleButton', 'SharedObjectFlushStatus', 'SharedObject', - 'Shape', 'SecurityPanel', 'SecurityErrorEvent', 'SecurityError', - 'SecurityDomain', 'Security', 'ScriptTimeoutError', 'Scene', - 'SWFVersion', 'Responder', 'RegExp', 'ReferenceError', 'Rectangle', - 'RangeError', 'QName', 'Proxy', 'ProgressEvent', - 'PrintJobOrientation', 'PrintJobOptions', 'PrintJob', 'Point', - 'PixelSnapping', 'ObjectEncoding', 'Object', 'Number', 'NetStream', - 'NetStatusEvent', 'NetConnection', 'Namespace', 'MovieClip', - 'MouseEvent', 'Mouse', 'MorphShape', 'Microphone', 'MemoryError', - 'Matrix', 'Math', 'LocalConnection', 'LoaderInfo', 'LoaderContext', - 'Loader', 'LineScaleMode', 'KeyboardEvent', 'Keyboard', - 'KeyLocation', 'JointStyle', 'InvalidSWFError', - 'InterpolationMethod', 'InteractiveObject', 'IllegalOperationError', - 'IOErrorEvent', 'IOError', 'IMEEvent', 'IMEConversionMode', 'IME', - 'IExternalizable', 'IEventDispatcher', 'IDynamicPropertyWriter', - 'IDynamicPropertyOutput', 'IDataOutput', 'IDataInput', 'ID3Info', - 'IBitmapDrawable', 'HTTPStatusEvent', 'GridFitType', 'Graphics', - 'GradientType', 'GradientGlowFilter', 'GradientBevelFilter', - 'GlowFilter', 'Function', 'FrameLabel', 'FontType', 'FontStyle', - 'Font', 'FocusEvent', 'FileReferenceList', 'FileReference', - 'FileFilter', 'ExternalInterface', 'EventPhase', 'EventDispatcher', - 'Event', 'EvalError', 'ErrorEvent', 'Error', 'Endian', 'EOFError', - 'DropShadowFilter', 'DisplayObjectContainer', 'DisplayObject', - 'DisplacementMapFilterMode', 'DisplacementMapFilter', 'Dictionary', - 'DefinitionError', 'Date', 'DataEvent', 'ConvolutionFilter', - 'ContextMenuItem', 'ContextMenuEvent', 'ContextMenuBuiltInItems', - 'ContextMenu', 'ColorTransform', 'ColorMatrixFilter', 'Class', - 'CapsStyle', 'Capabilities', 'Camera', 'CSMSettings', 'ByteArray', - 'Boolean', 'BlurFilter', 'BlendMode', 'BitmapFilterType', - 'BitmapFilterQuality', 'BitmapFilter', 'BitmapDataChannel', - 'BitmapData', 'Bitmap', 'BevelFilter', 'AsyncErrorEvent', 'Array', - 'ArgumentError', 'ApplicationDomain', 'AntiAliasType', - 'ActivityEvent', 'ActionScriptVersion', 'AccessibilityProperties', - 'Accessibility', 'AVM1Movie' - ) - ), - 'SYMBOLS' => array( - '(', ')', '[', ']', '{', '}', '!', '%', '&', '*', '|', '/', '<', '>', '^', '-', '+', '~', '?', ':', ';', '.', ',' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => true, - 2 => true, - 3 => true, - 4 => true, - 5 => true, - 6 => true, - 7 => true, - 8 => true - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #0033ff; font-weight: bold;', - 2 => 'color: #6699cc; font-weight: bold;', - 3 => 'color: #339966; font-weight: bold;', - 4 => 'color: #9900cc; font-weight: bold;', - 5 => 'color: #004993;', - 6 => 'color: #004993;', - 7 => 'color: #004993;', - 8 => 'color: #004993;' - ), - 'COMMENTS' => array( - 1 => 'color: #009900; font-style: italic;', - 2 => 'color: #009966; font-style: italic;', - 'MULTI' => 'color: #3f5fbf;' - ), - 'ESCAPE_CHAR' => array( - 0 => '' - ), - 'BRACKETS' => array( - 0 => 'color: #000000;' - ), - 'STRINGS' => array( - 0 => 'color: #990000;' - ), - 'NUMBERS' => array( - 0 => 'color: #000000; font-weight:bold;' - ), - 'METHODS' => array( - 0 => 'color: #000000;', - ), - 'SYMBOLS' => array( - 0 => 'color: #000066; font-weight: bold;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => 'http://www.google.com/search?q={FNAMEL}%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:{FNAMEL}.html', - 6 => '', - 7 => '', - 8 => '' - ), - 'OOLANG' => false,//Save some time as OO identifiers aren't used - 'OBJECT_SPLITTERS' => array( - // commented out because it's not very relevant for AS, as all properties, methods and constants are dot-accessed. - // I believe it's preferable to have package highlighting for example, which is not possible with this enabled. - // 0 => '.' - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array(), - 'HIGHLIGHT_STRICT_BLOCK' => array() -); - diff --git a/vendor/easybook/geshi/geshi/ada.php b/vendor/easybook/geshi/geshi/ada.php deleted file mode 100644 index 09cc6ea..0000000 --- a/vendor/easybook/geshi/geshi/ada.php +++ /dev/null @@ -1,134 +0,0 @@ - 'Ada', - 'COMMENT_SINGLE' => array(1 => '--'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '\\', - 'KEYWORDS' => array( - 1 => array( - 'begin', 'declare', 'do', 'else', 'elsif', 'exception', 'for', 'if', - 'is', 'loop', 'while', 'then', 'end', 'select', 'case', 'until', - 'goto', 'return' - ), - 2 => array( - 'abs', 'and', 'at', 'mod', 'not', 'or', 'rem', 'xor' - ), - 3 => array( - 'abort', 'abstract', 'accept', 'access', 'aliased', 'all', 'array', - 'body', 'constant', 'delay', 'delta', 'digits', 'entry', 'exit', - 'function', 'generic', 'in', 'interface', 'limited', 'new', 'null', - 'of', 'others', 'out', 'overriding', 'package', 'pragma', 'private', - 'procedure', 'protected', 'raise', 'range', 'record', 'renames', - 'requeue', 'reverse', 'separate', 'subtype', 'synchronized', - 'tagged', 'task', 'terminate', 'type', 'use', 'when', 'with' - ) - ), - 'SYMBOLS' => array( - '(', ')' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #00007f;', - 2 => 'color: #0000ff;', - 3 => 'color: #46aa03; font-weight:bold;', - ), - 'BRACKETS' => array( - 0 => 'color: #66cc66;' - ), - 'COMMENTS' => array( - 1 => 'color: #adadad; font-style: italic;', - 'MULTI' => 'color: #808080; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #66cc66;' - ), - 'STRINGS' => array( - 0 => 'color: #7f007f;' - ), - 'NUMBERS' => array( - 0 => 'color: #ff0000;' - ), - 'METHODS' => array( - 1 => 'color: #202020;' - ), - 'SYMBOLS' => array( - 0 => 'color: #66cc66;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => '.' - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ) -); - diff --git a/vendor/easybook/geshi/geshi/aimms.php b/vendor/easybook/geshi/geshi/aimms.php deleted file mode 100644 index f46bdd0..0000000 --- a/vendor/easybook/geshi/geshi/aimms.php +++ /dev/null @@ -1,316 +0,0 @@ - 'AIMMS3', - 'COMMENT_SINGLE' => array(1 => '!'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'HARDQUOTE' => array("'", "'"), - 'HARDESCAPE' => array("'", "\\"), - 'HARDCHAR' => "\\", - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'OBJECT_SPLITTERS' => array(), - 'REGEXPS' => array(), - 'STRICT_MODE_APPLIES' => GESHI_MAYBE, - 'SCRIPT_DELIMITERS' => array(), - 'HIGHLIGHT_STRICT_BLOCK' => array(), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - 1 => array( - 'if', 'then', 'else', 'endif', 'elseif', 'for', 'do', 'while' , 'endfor' , 'endwhile', 'break', 'switch', 'endswitch', - 'display', 'return', 'in', 'apply' - - ), - 2 => array( - 'main model' , 'declaration section', 'procedure', 'endprocedure', 'endmodel', 'endsection' , 'set', 'parameter', - 'string parameter', 'element parameter', 'quantity' - ), - 3 => array( - 'identifier', 'index', 'index domain', 'body' - ), - 4 => array( - 'ActiveCard','Card','ConvertUnit','DistributionCumulative','DistributionDensity','DistributionDeviation', - 'DistributionInverseCumulative','DistributionInverseDensity','DistributionKurtosis','DistributionMean', - 'DistributionSkewness','DistributionVariance','Element','EvaluateUnit','First','FormatString','Last', - 'Ord','Unit','Val','Aggregate','AttributeToString','CaseCompareIdentifier','CaseCreateDifferenceFile', - 'CloseDataSource','CreateTimeTable','ConstraintVariables','ConvertReferenceDate','CloneElement', - 'FindNthString','FindReplaceNthString','FindReplaceStrings','FindString','StringOccurrences', - 'CurrentToMoment','CurrentToString','CurrentToTimeSlot','DaylightsavingEndDate','DaylightsavingStartDate', - 'DeclaredSubset','DomainIndex','IndexRange','IsRunningAsViewer','ListingFileCopy','ListingFileDelete', - 'DirectoryGetFiles','DirectoryGetSubdirectories','DirectSQL','Disaggregate','ElementCast','ElementRange', - 'EnvironmentGetString','EnvironmentSetString','errh::Adapt','errh::Attribute','errh::Category', - 'errh::Code','errh::Column','errh::CreationTime','errh::Filename','errh::InsideCategory', - 'errh::IsMarkedAsHandled','errh::Line','errh::MarkAsHandled','errh::Message','errh::Multiplicity', - 'errh::Node','errh::NumberOfLocations','errh::Severity','ExcelAddNewSheet','ExcelAssignParameter', - 'ExcelAssignSet','ExcelAssignTable','ExcelAssignValue','ExcelClearRange','ExcelCloseWorkbook', - 'ExcelColumnName','ExcelColumnNumber','ExcelCopyRange','ExcelCreateWorkbook','ExcelDeleteSheet', - 'ExcelPrint','ExcelRetrieveParameter','ExcelRetrieveSet','ExcelRetrieveTable','ExcelRetrieveValue', - 'ExcelRunMacro','ExcelSaveWorkbook','ExcelSetActiveSheet','ExcelSetUpdateLinksBehavior', - 'ExcelSetVisibility','FindUsedElements','GenerateCUT','GMP::Coefficient::Get', - 'GMP::Coefficient::GetQuadratic','GMP::Coefficient::Set','GMP::Coefficient::SetQuadratic', - 'GMP::Column::Add','GMP::Column::Delete','GMP::Column::Freeze','GMP::Column::GetLowerbound', - 'GMP::Column::GetScale','GMP::Column::GetStatus','GMP::Column::GetType','GMP::Column::GetUpperbound', - 'GMP::Column::SetAsObjective','GMP::Column::SetLowerbound','GMP::Column::SetType', - 'GMP::Column::SetUpperbound','GMP::Column::Unfreeze','GMP::Instance::AddIntegerEliminationRows', - 'GMP::Instance::CalculateSubGradient','GMP::Instance::Copy','GMP::Instance::CreateDual', - 'GMP::Instance::CreateMasterMip','GMP::Instance::CreatePresolved', - 'GMP::SolverSession::CreateProgressCategory','GMP::Instance::CreateProgressCategory', - 'GMP::Instance::CreateSolverSession','GMP::Stochastic::CreateBendersRootproblem', - 'GMP::Instance::Delete','GMP::Instance::DeleteIntegerEliminationRows', - 'GMP::Instance::DeleteSolverSession','GMP::Instance::FindApproximatelyFeasibleSolution', - 'GMP::Instance::FixColumns','GMP::Instance::Generate','GMP::Instance::GenerateRobustCounterpart', - 'GMP::Instance::GenerateStochasticProgram','GMP::SolverSession::GetCallbackInterruptStatus', - 'GMP::SolverSession::WaitForCompletion','GMP::SolverSession::WaitForSingleCompletion', - 'GMP::SolverSession::ExecutionStatus','GMP::Instance::GetDirection','GMP::Instance::GetLinearObjective', - 'GMP::Instance::GetMathematicalProgrammingType','GMP::Instance::GetMemoryUsed', - 'GMP::Instance::GetNumberOfColumns','GMP::Instance::GetNumberOfIndicatorRows', - 'GMP::Instance::GetNumberOfIntegerColumns','GMP::Instance::GetNumberOfNonlinearColumns', - 'GMP::Instance::GetNumberOfNonlinearNonzeros','GMP::Instance::GetNumberOfNonlinearRows', - 'GMP::Instance::GetNumberOfNonzeros','GMP::Instance::GetNumberOfRows', - 'GMP::Instance::GetNumberOfSOS1Rows','GMP::Instance::GetNumberOfSOS2Rows', - 'GMP::Instance::GetObjective','GMP::Instance::GetOptionValue','GMP::Instance::GetSolver', - 'GMP::Instance::GetSymbolicMathematicalProgram','GMP::Instance::MemoryStatistics', - 'GMP::Instance::Rename','GMP::Instance::SetCallbackAddCut','GMP::Instance::SetCallbackBranch', - 'GMP::Instance::SetCallbackHeuristic','GMP::Instance::SetCallbackIncumbent', - 'GMP::Instance::SetCallbackIterations','GMP::Instance::SetCallbackNewIncumbent', - 'GMP::Instance::SetCallbackStatusChange','GMP::Instance::SetCutoff','GMP::Instance::SetDirection', - 'GMP::Instance::SetMathematicalProgrammingType','GMP::Instance::SetSolver','GMP::Instance::Solve', - 'GMP::Stochastic::GetObjectiveBound','GMP::Stochastic::GetRelativeWeight', - 'GMP::Stochastic::GetRepresentativeScenario','GMP::Stochastic::UpdateBendersSubproblem', - 'GMP::Linearization::Add','GMP::Linearization::AddSingle','GMP::Linearization::Delete', - 'GMP::Linearization::GetDeviation','GMP::Linearization::GetDeviationBound', - 'GMP::Linearization::GetLagrangeMultiplier','GMP::Linearization::GetType', - 'GMP::Linearization::GetWeight','GMP::Linearization::RemoveDeviation', - 'GMP::Linearization::SetDeviationBound','GMP::Linearization::SetType', - 'GMP::Linearization::SetWeight','GMP::ProgressWindow::DeleteCategory', - 'GMP::ProgressWindow::DisplayLine','GMP::ProgressWindow::DisplayProgramStatus', - 'GMP::ProgressWindow::DisplaySolver','GMP::ProgressWindow::DisplaySolverStatus', - 'GMP::ProgressWindow::FreezeLine','GMP::ProgressWindow::UnfreezeLine', - 'GMP::QuadraticCoefficient::Get','GMP::QuadraticCoefficient::Set','GMP::Row::Activate', - 'GMP::Stochastic::AddBendersFeasibilityCut','GMP::Stochastic::AddBendersOptimalityCut', - 'GMP::Stochastic::BendersFindFeasibilityReference','GMP::Stochastic::MergeSolution', - 'GMP::Row::Add','GMP::Row::Deactivate','GMP::Row::Delete','GMP::Row::DeleteIndicatorCondition', - 'GMP::Row::Generate','GMP::Row::GetConvex','GMP::Row::GetIndicatorColumn', - 'GMP::Row::GetIndicatorCondition','GMP::Row::GetLeftHandSide','GMP::Row::GetRelaxationOnly', - 'GMP::Row::GetRightHandSide','GMP::Row::GetScale','GMP::Row::GetStatus','GMP::Row::GetType', - 'GMP::Row::SetConvex','GMP::Row::SetIndicatorCondition','GMP::Row::SetLeftHandSide', - 'GMP::Row::SetRelaxationOnly','GMP::Row::SetRightHandSide','GMP::Row::SetType', - 'GMP::Solution::Check','GMP::Solution::Copy','GMP::Solution::Count','GMP::Solution::Delete', - 'GMP::Solution::DeleteAll','GMP::Solution::GetColumnValue','GMP::Solution::GetCPUSecondsUsed', - 'GMP::Solution::GetDistance','GMP::Solution::GetFirstOrderDerivative', - 'GMP::Solution::GetIterationsUsed','GMP::Solution::GetNodesUsed','GMP::Solution::GetLinearObjective', - 'GMP::Solution::GetMemoryUsed','GMP::Solution::GetObjective','GMP::Solution::GetPenalizedObjective', - 'GMP::Solution::GetProgramStatus','GMP::Solution::GetRowValue','GMP::Solution::GetSolutionsSet', - 'GMP::Solution::GetSolverStatus','GMP::Solution::IsDualDegenerated','GMP::Solution::IsInteger', - 'GMP::Solution::IsPrimalDegenerated','GMP::Solution::SetMIPStartFlag','GMP::Solution::Move', - 'GMP::Solution::RandomlyGenerate','GMP::Solution::RetrieveFromModel', - 'GMP::Solution::RetrieveFromSolverSession','GMP::Solution::SendToModel', - 'GMP::Solution::SendToModelSelection','GMP::Solution::SendToSolverSession', - 'GMP::Solution::SetIterationCount','GMP::Solution::SetProgramStatus','GMP::Solution::SetSolverStatus', - 'GMP::Solution::UpdatePenaltyWeights','GMP::Solution::ConstructMean', - 'GMP::SolverSession::AsynchronousExecute','GMP::SolverSession::Execute', - 'GMP::SolverSession::Interrupt','GMP::SolverSession::AddLinearization', - 'GMP::SolverSession::GenerateBranchLowerBound','GMP::SolverSession::GenerateBranchUpperBound', - 'GMP::SolverSession::GenerateBranchRow','GMP::SolverSession::GenerateCut', - 'GMP::SolverSession::GenerateBinaryEliminationRow','GMP::SolverSession::GetCPUSecondsUsed', - 'GMP::SolverSession::GetHost','GMP::SolverSession::GetInstance', - 'GMP::SolverSession::GetIterationsUsed','GMP::SolverSession::GetNodesLeft', - 'GMP::SolverSession::GetNodesUsed','GMP::SolverSession::GetNodeNumber', - 'GMP::SolverSession::GetNodeObjective','GMP::SolverSession::GetNumberOfBranchNodes', - 'GMP::SolverSession::GetLinearObjective','GMP::SolverSession::GetMemoryUsed', - 'GMP::SolverSession::GetObjective','GMP::SolverSession::GetOptionValue', - 'GMP::SolverSession::GetProgramStatus','GMP::SolverSession::GetSolver', - 'GMP::SolverSession::GetSolverStatus','GMP::SolverSession::RejectIncumbent', - 'GMP::Event::Create','GMP::Event::Delete','GMP::Event::Reset','GMP::Event::Set', - 'GMP::SolverSession::SetObjective','GMP::SolverSession::SetOptionValue', - 'GMP::Instance::SetCPUSecondsLimit','GMP::Instance::SetIterationLimit', - 'GMP::Instance::SetMemoryLimit','GMP::Instance::SetOptionValue','GMP::Tuning::SolveSingleMPS', - 'GMP::Tuning::TuneMultipleMPS','GMP::Tuning::TuneSingleGMP', - 'GMP::Solver::GetAsynchronousSessionsLimit','GMP::Robust::EvaluateAdjustableVariables', - 'GenerateXML','GetDatasourceProperty','ReadGeneratedXML','ReadXML','ReferencedIdentifiers', - 'WriteXML','IdentifierAttributes','IdentifierDimension','IsRuntimeIdentifier','IdentifierMemory', - 'IdentifierMemoryStatistics','IdentifierText','IdentifierType','IdentifierUnit','ScalarValue', - 'SectionIdentifiers','SubRange','MemoryInUse','CommitTransaction','RollbackTransaction', - 'MemoryStatistics','me::AllowedAttribute','me::ChangeType','me::ChangeTypeAllowed','me::Children', - 'me::ChildTypeAllowed','me::Compile','me::Create','me::CreateLibrary','me::Delete','me::ExportNode', - 'me::GetAttribute','me::ImportLibrary','me::ImportNode','me::IsRunnable','me::Move','me::Parent', - 'me::Rename','me::SetAttribute','MomentToString','MomentToTimeSlot','OptionGetValue', - 'OptionGetKeywords','OptionGetString','OptionSetString','OptionSetValue','PeriodToString', - 'ProfilerContinue','ProfilerPause','ProfilerRestart','RestoreInactiveElements', - 'RetrieveCurrentVariableValues','SetAddRecursive','SetElementAdd','SetElementRename', - 'SQLColumnData','SQLCreateConnectionString','SQLDriverName','SQLNumberOfColumns', - 'SQLNumberOfDrivers','SQLNumberOfTables','SQLNumberOfViews','SQLTableName','SQLViewName', - 'StartTransaction','StringToElement','StringToMoment','StringToTimeSlot','TestDatabaseColumn', - 'TestDatabaseTable','TestDataSource','TestDate','TimeslotCharacteristic','TimeslotToMoment', - 'TimeslotToString','TimeZoneOffset','VariableConstraints','PageOpen','PageOpenSingle','PageClose', - 'PageGetActive','PageSetFocus','PageGetFocus','PageSetCursor','PageRefreshAll','PageGetChild', - 'PageGetParent','PageGetNext','PageGetPrevious','PageGetNextInTreeWalk','PageGetUsedIdentifiers', - 'PageGetTitle','PageGetAll','PageCopyTableToClipboard','PageCopyTableToExcel','PrintPage', - 'PrintPageCount','PrintStartReport','PrintEndReport','PivotTableReloadState','PivotTableSaveState', - 'PivotTableDeleteState','FileSelect','FileSelectNew','FileDelete','FileExists','FileCopy', - 'FileMove','FileView','FileEdit','FilePrint','FileTime','FileTouch','FileAppend','FileGetSize', - 'DirectorySelect','DirectoryCreate','DirectoryDelete','DirectoryExists','DirectoryCopy', - 'DirectoryMove','DirectoryGetCurrent','DialogProgress','DialogMessage','DialogError', - 'StatusMessage','DialogAsk','DialogGetString','DialogGetDate','DialogGetNumber','DialogGetElement', - 'DialogGetElementByText','DialogGetElementByData','DialogGetPassword','DialogGetColor','CaseNew', - 'CaseFind','CaseCreate','CaseLoadCurrent','CaseMerge','CaseLoadIntoCurrent','CaseSelect', - 'CaseSelectNew','CaseSetCurrent','CaseSave','CaseSaveAll','CaseSaveAs','CaseSelectMultiple', - 'CaseGetChangedStatus','CaseSetChangedStatus','CaseDelete','CaseGetType','CaseGetDatasetReference', - 'CaseWriteToSingleFile','CaseReadFromSingleFile','DatasetNew','DatasetFind','DatasetCreate', - 'DatasetLoadCurrent','DatasetMerge','DatasetLoadIntoCurrent','DatasetSelect','DatasetSelectNew', - 'DatasetSetCurrent','DatasetSave','DatasetSaveAll','DatasetSaveAs','DatasetGetChangedStatus', - 'DatasetSetChangedStatus','DatasetDelete','DatasetGetCategory','DataFileGetName', - 'DataFileGetAcronym','DataFileSetAcronym','DataFileGetComment','DataFileSetComment', - 'DataFileGetPath','DataFileGetTime','DataFileGetOwner','DataFileGetGroup','DataFileReadPermitted', - 'DataFileWritePermitted','DataFileExists','DataFileCopy','DataCategoryContents','CaseTypeContents', - 'CaseTypeCategories','Execute','OpenDocument','TestInternetConnection','GeoFindCoordinates', - 'ShowHelpTopic','Delay','ScheduleAt','ExitAimms','SessionArgument','SessionHasVisibleGUI', - 'ProjectDeveloperMode','DebuggerBreakpoint','ShowProgressWindow','ShowMessageWindow', - 'SolverGetControl','SolverReleaseControl','ProfilerStart','DataManagerImport','DataManagerExport', - 'DataManagerFileNew','DataManagerFileOpen','DataManagerFileGetCurrent','DataImport220', - 'SecurityGetUsers','SecurityGetGroups','UserColorAdd','UserColorDelete','UserColorGetRGB', - 'UserColorModify','LicenseNumber','LicenseType','LicenseStartDate','LicenseExpirationDate', - 'LicenseMaintenanceExpirationDate','VARLicenseExpirationDate','AimmsRevisionString', - 'VARLicenseCreate','HistogramCreate','HistogramDelete','HistogramSetDomain', - 'HistogramAddObservation','HistogramGetFrequencies','HistogramGetBounds', - 'HistogramGetObservationCount','HistogramGetAverage','HistogramGetDeviation', - 'HistogramGetSkewness','HistogramGetKurtosis','DateDifferenceDays','DateDifferenceYearFraction', - 'PriceFractional','PriceDecimal','RateEffective','RateNominal','DepreciationLinearLife', - 'DepreciationLinearRate','DepreciationNonLinearSumOfYear','DepreciationNonLinearLife', - 'DepreciationNonLinearFactor','DepreciationNonLinearRate','DepreciationSum', - 'InvestmentConstantPresentValue','InvestmentConstantFutureValue', - 'InvestmentConstantPeriodicPayment','InvestmentConstantInterestPayment', - 'InvestmentConstantPrincipalPayment','InvestmentConstantCumulativePrincipalPayment', - 'InvestmentConstantCumulativeInterestPayment','InvestmentConstantNumberPeriods', - 'InvestmentConstantRateAll','InvestmentConstantRate','InvestmentVariablePresentValue', - 'InvestmentVariablePresentValueInperiodic','InvestmentSingleFutureValue', - 'InvestmentVariableInternalRateReturnAll','InvestmentVariableInternalRateReturn', - 'InvestmentVariableInternalRateReturnInperiodicAll','InvestmentVariableInternalRateReturnInperiodic', - 'InvestmentVariableInternalRateReturnModified','SecurityDiscountedPrice', - 'SecurityDiscountedRedemption','SecurityDiscountedYield','SecurityDiscountedRate', - 'TreasuryBillPrice','TreasuryBillYield','TreasuryBillBondEquivalent','SecurityMaturityPrice', - 'SecurityMaturityCouponRate','SecurityMaturityYield','SecurityMaturityAccruedInterest', - 'SecurityCouponNumber','SecurityCouponPreviousDate','SecurityCouponNextDate','SecurityCouponDays', - 'SecurityCouponDaysPreSettlement','SecurityCouponDaysPostSettlement','SecurityPeriodicPrice', - 'SecurityPeriodicRedemption','SecurityPeriodicCouponRate','SecurityPeriodicYieldAll', - 'SecurityPeriodicYield','SecurityPeriodicAccruedInterest','SecurityPeriodicDuration', - 'SecurityPeriodicDurationModified','Abs','AtomicUnit','Ceil','Character','CharacterNumber','Cube', - 'Degrees','Div','Exp','FileRead','Floor','Log','Log10','Mapval','Max','Min','Mod','Power', - 'Radians','Round','Sign','Sqr','Sqrt','StringCapitalize','StringLength','StringToLower', - 'StringToUnit','StringToUpper','SubString','Trunc','Binomial','NegativeBinomial','Poisson', - 'Geometric','HyperGeometric','Uniform','Normal','LogNormal','Triangular','Exponential','Weibull', - 'Beta','Gamma','Logistic','Pareto','ExtremeValue','Precision','Factorial','Combination', - 'Permutation','Errorf','Cos','Sin','Tan','ArcCos','ArcSin','ArcTan','Cosh','Sinh','Tanh', - 'ArcCosh','ArcSinh','ArcTanh' - ) - ), - 'SYMBOLS' => array( - 0 => array( - '(', ')', '[', ']', '{', '}', - '%', '&', '|', '/', - '<', '>', '>=' , '<=', ':=', - '=', '-', '+', '*', - '.', ',' - ) - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #0000FF;', - 2 => 'color: #000000; font-weight: bold;', - 3 => 'color: #404040;', - 4 => 'color: #990000; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #009900;' - ), - 'STRINGS' => array( - 0 => 'color: #808080; font-style: italic ', - 'HARD' => 'color: #808080; font-style: italic' - ), - 'NUMBERS' => array( - 0 => 'color: #cc66cc;', - GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', - GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', - GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', - ), - 'COMMENTS' => array( - 1 => 'color: #008000; font-style: italic;', - 'MULTI' => 'color: #008000; font-style: italic;' - ), - - 'METHODS' => array( - 1 => 'color: #004000;', - 2 => 'color: #004000;' - ), - 'SYMBOLS' => array( - 0 => 'color: #339933;', - 1 => 'color: #000000; font-weight: bold;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => '' - ), - 'ESCAPE_CHAR' => array() - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '' - ), - 'OOLANG' => false, - 'TAB_WIDTH' => 4 -); diff --git a/vendor/easybook/geshi/geshi/algol68.php b/vendor/easybook/geshi/geshi/algol68.php deleted file mode 100644 index 7383aae..0000000 --- a/vendor/easybook/geshi/geshi/algol68.php +++ /dev/null @@ -1,328 +0,0 @@ - $prebits.$LONGS."(?:".$bl.")".$postbits, - "INT" => $preint.$LONGS."(?:".$il.")".$postint, - "REAL" => $prereal.$LONGS."(?:".$rl.")".$postreal, - - "BOLD" => 'color: #b1b100; font-weight: bold;', - "ITALIC" => 'color: #b1b100;', # procedures traditionally italic # - "NONSTD" => 'color: #FF0000; font-weight: bold;', # RED # - "COMMENT" => 'color: #666666; font-style: italic;' - ); - } -} -$a68=geshi_langfile_algol68_vars(); - -$language_data = array( - 'LANG_NAME' => 'ALGOL 68', - 'COMMENT_SINGLE' => array(), - 'COMMENT_MULTI' => array( - '¢' => '¢', - '£' => '£', - '#' => '#', - ), - 'COMMENT_REGEXP' => array( - 1 => '/\bCO((?:MMENT)?)\b.*?\bCO\\1\b/i', - 2 => '/\bPR((?:AGMAT)?)\b.*?\bPR\\1\b/i', - 3 => '/\bQUOTE\b.*?\bQUOTE\b/i' - ), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '"', - 'NUMBERS' => GESHI_NUMBER_HEX_SUFFIX, # Warning: Feature!! # -# GESHI_NUMBER_HEX_SUFFIX, # Attempt ignore default # - 'KEYWORDS' => array( -# Extensions - 1 => array('KEEP', 'FINISH', 'USE', 'SYSPROCS', 'IOSTATE', 'USING', 'ENVIRON', 'PROGRAM', 'CONTEXT'), -# 2 => array('CASE', 'IN', 'OUSE', 'IN', 'OUT', 'ESAC', '(', '|', '|:', ')', 'FOR', 'FROM', 'TO', 'BY', 'WHILE', 'DO', 'OD', 'IF', 'THEN', 'ELIF', 'THEN', 'ELSE', 'FI', 'PAR', 'BEGIN', 'EXIT', 'END', 'GO', 'GOTO', 'FORALL', 'UPTO', 'DOWNTO', 'FOREACH', 'ASSERT'), # - 2 => array('CASE', 'IN', 'OUSE', /* 'IN',*/ 'OUT', 'ESAC', 'PAR', 'BEGIN', 'EXIT', 'END', 'GO TO', 'GOTO', 'FOR', 'FROM', 'TO', 'BY', 'WHILE', 'DO', 'OD', 'IF', 'THEN', 'ELIF', /* 'THEN',*/ 'ELSE', 'FI' ), - 3 => array('BITS', 'BOOL', 'BYTES', 'CHAR', 'COMPL', 'INT', 'REAL', 'SEMA', 'STRING', 'VOID'), - 4 => array('MODE', 'OP', 'PRIO', 'PROC', 'FLEX', 'HEAP', 'LOC', 'REF', 'LONG', 'SHORT', 'EITHER'), -# Extensions or deprecated keywords -# 'PIPE': keyword somehow interferes with the internal operation of GeSHi - 5 => array('FORALL', 'UPTO', 'DOWNTO', 'FOREACH', 'ASSERT', 'CTB', 'CT', 'CTAB', 'COMPLEX', 'VECTOR', 'SOUND' /*, 'PIPE'*/), - 6 => array('CHANNEL', 'FILE', 'FORMAT', 'STRUCT', 'UNION', 'OF'), -# '(', '|', '|:', ')', # -# 7 => array('OF', 'AT', '@', 'IS', ':=:', 'ISNT', ':/=:', ':≠:', 'CTB', 'CT', '::', 'CTAB', '::=', 'TRUE', 'FALSE', 'EMPTY', 'NIL', '○', 'SKIP', '~'), - 7 => array('AT', 'IS', 'ISNT', 'TRUE', 'FALSE', 'EMPTY', 'NIL', 'SKIP'), - 8 => array('NOT', 'UP', 'DOWN', 'LWB', 'UPB', /* '-',*/ 'ABS', 'ARG', 'BIN', 'ENTIER', 'LENG', 'LEVEL', 'ODD', 'REPR', 'ROUND', 'SHORTEN', 'CONJ', 'SIGN'), -# OPERATORS ordered roughtly by PRIORITY # -# 9 => array('¬', '↑', '↓', '⌊', '⌈', '~', '⎩', '⎧'), -# 10 => array('+*', 'I', '+×', '⊥', '!', '⏨'), - 10 => array('I'), -# 11 => array('SHL', 'SHR', '**', 'UP', 'DOWN', 'LWB', 'UPB', '↑', '↓', '⌊', '⌈', '⎩', '⎧'), - 11 => array('SHL', 'SHR', /*'UP', 'DOWN', 'LWB', 'UPB'*/), -# 12 => array('*', '/', '%', 'OVER', '%*', 'MOD', 'ELEM', '×', '÷', '÷×', '÷*', '%×', '□', '÷:'), - 12 => array('OVER', 'MOD', 'ELEM'), -# 13 => array('-', '+'), -# 14 => array('<', 'LT', '<=', 'LE', '>=', 'GE', '>', 'GT', '≤', '≥'), - 14 => array('LT', 'LE', 'GE', 'GT'), -# 15 => array('=', 'EQ', '/=', 'NE', '≠', '~='), - 15 => array('EQ', 'NE'), -# 16 => array('&', 'AND', '∧', 'OR', '∨', '/\\', '\\/'), - 16 => array('AND', 'OR'), - 17 => array('MINUSAB', 'PLUSAB', 'TIMESAB', 'DIVAB', 'OVERAB', 'MODAB', 'PLUSTO'), -# 18 => array('-:=', '+:=', '*:=', '/:=', '%:=', '%*:=', '+=:', '×:=', '÷:=', '÷×:=', '÷*:=', '%×:=', '÷::=', 'MINUS', 'PLUS', 'DIV', 'MOD', 'PRUS'), -# Extensions or deprecated keywords - 18 => array('MINUS', 'PLUS', 'DIV', /* 'MOD',*/ 'PRUS', 'IS NOT'), -# Extensions or deprecated keywords - 19 => array('THEF', 'ANDF', 'ORF', 'ANDTH', 'OREL', 'ANDTHEN', 'ORELSE'), -# Built in procedures - from standard prelude # - 20 => array('int lengths', 'intlengths', 'int shorths', 'intshorths', 'max int', 'maxint', 'real lengths', 'reallengths', 'real shorths', 'realshorths', 'bits lengths', 'bitslengths', 'bits shorths', 'bitsshorths', 'bytes lengths', 'byteslengths', 'bytes shorths', 'bytesshorths', 'max abs char', 'maxabschar', 'int width', 'intwidth', 'long int width', 'longintwidth', 'long long int width', 'longlongintwidth', 'real width', 'realwidth', 'long real width', 'longrealwidth', 'long long real width', 'longlongrealwidth', 'exp width', 'expwidth', 'long exp width', 'longexpwidth', 'long long exp width', 'longlongexpwidth', 'bits width', 'bitswidth', 'long bits width', 'longbitswidth', 'long long bits width', 'longlongbitswidth', 'bytes width', 'byteswidth', 'long bytes width', 'longbyteswidth', 'max real', 'maxreal', 'small real', 'smallreal', 'long max int', 'longmaxint', 'long long max int', 'longlongmaxint', 'long max real', 'longmaxreal', 'long small real', 'longsmallreal', 'long long max real', 'longlongmaxreal', 'long long small real', 'longlongsmallreal', 'long max bits', 'longmaxbits', 'long long max bits', 'longlongmaxbits', 'null character', 'nullcharacter', 'blank', 'flip', 'flop', 'error char', 'errorchar', 'exp char', 'expchar', 'newline char', 'newlinechar', 'formfeed char', 'formfeedchar', 'tab char', 'tabchar'), - 21 => array('stand in channel', 'standinchannel', 'stand out channel', 'standoutchannel', 'stand back channel', 'standbackchannel', 'stand draw channel', 'standdrawchannel', 'stand error channel', 'standerrorchannel'), - 22 => array('put possible', 'putpossible', 'get possible', 'getpossible', 'bin possible', 'binpossible', 'set possible', 'setpossible', 'reset possible', 'resetpossible', 'reidf possible', 'reidfpossible', 'draw possible', 'drawpossible', 'compressible', 'on logical file end', 'onlogicalfileend', 'on physical file end', 'onphysicalfileend', 'on line end', 'onlineend', 'on page end', 'onpageend', 'on format end', 'onformatend', 'on value error', 'onvalueerror', 'on open error', 'onopenerror', 'on transput error', 'ontransputerror', 'on format error', 'onformaterror', 'open', 'establish', 'create', 'associate', 'close', 'lock', 'scratch', 'space', 'new line', 'newline', 'print', 'write f', 'writef', 'print f', 'printf', 'write bin', 'writebin', 'print bin', 'printbin', 'read f', 'readf', 'read bin', 'readbin', 'put f', 'putf', 'get f', 'getf', 'make term', 'maketerm', 'make device', 'makedevice', 'idf', 'term', 'read int', 'readint', 'read long int', 'readlongint', 'read long long int', 'readlonglongint', 'read real', 'readreal', 'read long real', 'readlongreal', 'read long long real', 'readlonglongreal', 'read complex', 'readcomplex', 'read long complex', 'readlongcomplex', 'read long long complex', 'readlonglongcomplex', 'read bool', 'readbool', 'read bits', 'readbits', 'read long bits', 'readlongbits', 'read long long bits', 'readlonglongbits', 'read char', 'readchar', 'read string', 'readstring', 'print int', 'printint', 'print long int', 'printlongint', 'print long long int', 'printlonglongint', 'print real', 'printreal', 'print long real', 'printlongreal', 'print long long real', 'printlonglongreal', 'print complex', 'printcomplex', 'print long complex', 'printlongcomplex', 'print long long complex', 'printlonglongcomplex', 'print bool', 'printbool', 'print bits', 'printbits', 'print long bits', 'printlongbits', 'print long long bits', 'printlonglongbits', 'print char', 'printchar', 'print string', 'printstring', 'whole', 'fixed', 'float'), - 23 => array('pi', 'long pi', 'longpi', 'long long pi', 'longlongpi'), - 24 => array('sqrt', 'curt', 'cbrt', 'exp', 'ln', 'log', 'sin', 'arc sin', 'arcsin', 'cos', 'arc cos', 'arccos', 'tan', 'arc tan', 'arctan', 'long sqrt', 'longsqrt', 'long curt', 'longcurt', 'long cbrt', 'longcbrt', 'long exp', 'longexp', 'long ln', 'longln', 'long log', 'longlog', 'long sin', 'longsin', 'long arc sin', 'longarcsin', 'long cos', 'longcos', 'long arc cos', 'longarccos', 'long tan', 'longtan', 'long arc tan', 'longarctan', 'long long sqrt', 'longlongsqrt', 'long long curt', 'longlongcurt', 'long long cbrt', 'longlongcbrt', 'long long exp', 'longlongexp', 'long long ln', 'longlongln', 'long long log', 'longlonglog', 'long long sin', 'longlongsin', 'long long arc sin', 'longlongarcsin', 'long long cos', 'longlongcos', 'long long arc cos', 'longlongarccos', 'long long tan', 'longlongtan', 'long long arc tan', 'longlongarctan'), - 25 => array('first random', 'firstrandom', 'next random', 'nextrandom', 'long next random', 'longnextrandom', 'long long next random', 'longlongnextrandom'), - 26 => array('real', 'bits pack', 'bitspack', 'long bits pack', 'longbitspack', 'long long bits pack', 'longlongbitspack', 'bytes pack', 'bytespack', 'long bytes pack', 'longbytespack', 'char in string', 'charinstring', 'last char in string', 'lastcharinstring', 'string in string', 'stringinstring'), - 27 => array('utc time', 'utctime', 'local time', 'localtime', 'argc', 'argv', 'get env', 'getenv', 'reset errno', 'reseterrno', 'errno', 'strerror'), - 28 => array('sinh', 'long sinh', 'longsinh', 'long long sinh', 'longlongsinh', 'arc sinh', 'arcsinh', 'long arc sinh', 'longarcsinh', 'long long arc sinh', 'longlongarcsinh', 'cosh', 'long cosh', 'longcosh', 'long long cosh', 'longlongcosh', 'arc cosh', 'arccosh', 'long arc cosh', 'longarccosh', 'long long arc cosh', 'longlongarccosh', 'tanh', 'long tanh', 'longtanh', 'long long tanh', 'longlongtanh', 'arc tanh', 'arctanh', 'long arc tanh', 'longarctanh', 'long long arc tanh', 'longlongarctanh', 'arc tan2', 'arctan2', 'long arc tan2', 'longarctan2', 'long long arc tan2', 'longlongarctan2'), - 29 => array('complex sqrt', 'complexsqrt', 'long complex sqrt', 'longcomplexsqrt', 'long long complex sqrt', 'longlongcomplexsqrt', 'complex exp', 'complexexp', 'long complex exp', 'longcomplexexp', 'long long complex exp', 'longlongcomplexexp', 'complex ln', 'complexln', 'long complex ln', 'longcomplexln', 'long long complex ln', 'longlongcomplexln', 'complex sin', 'complexsin', 'long complex sin', 'longcomplexsin', 'long long complex sin', 'longlongcomplexsin', 'complex arc sin', 'complexarcsin', 'long complex arc sin', 'longcomplexarcsin', 'long long complex arc sin', 'longlongcomplexarcsin', 'complex cos', 'complexcos', 'long complex cos', 'longcomplexcos', 'long long complex cos', 'longlongcomplexcos', 'complex arc cos', 'complexarccos', 'long complex arc cos', 'longcomplexarccos', 'long long complex arc cos', 'longlongcomplexarccos', 'complex tan', 'complextan', 'long complex tan', 'longcomplextan', 'long long complex tan', 'longlongcomplextan', 'complex arc tan', 'complexarctan', 'long complex arc tan', 'longcomplexarctan', 'long long complex arc tan', 'longlongcomplexarctan', 'complex sinh', 'complexsinh', 'complex arc sinh', 'complexarcsinh', 'complex cosh', 'complexcosh', 'complex arc cosh', 'complexarccosh', 'complex tanh', 'complextanh', 'complex arc tanh', 'complexarctanh') - ), - 'SYMBOLS' => array( - 1 => array( /* reverse length sorted... */ '÷×:=', '%×:=', ':≠:', '÷*:=', '÷::=', '%*:=', ':/=:', '×:=', '÷:=', '÷×', '%:=', '%×', '*:=', '+:=', '+=:', '+×', '-:=', '/:=', '::=', ':=:', '÷*', '÷:', '↑', '↓', '∧', '∨', '≠', '≤', '≥', '⊥', '⌈', '⌊', '⎧', '⎩', /* '⏨', */ '□', '○', '%*', '**', '+*', '/=', '::', '/\\', '\\/', '<=', '>=', '|:', '~=', '¬', '×', '÷', '!', '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '?', '@', '[', ']', '^', '{', '|', '}', '~') - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => true, - 2 => true, - 3 => true, - 4 => true, - 5 => true, - 6 => true, - 7 => true, - 8 => true, -# 9 => true, - 10 => true, - 11 => true, - 12 => true, -# 13 => true, - 14 => true, - 15 => true, - 16 => true, - 17 => true, - 18 => true, - 19 => true, - 20 => true, - 21 => true, - 22 => true, - 23 => true, - 24 => true, - 25 => true, - 26 => true, - 27 => true, - 28 => true, - 29 => true - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => $a68['NONSTD'], 2 => $a68['BOLD'], 3 => $a68['BOLD'], 4 => $a68['BOLD'], - 5 => $a68['NONSTD'], 6 => $a68['BOLD'], 7 => $a68['BOLD'], 8 => $a68['BOLD'], - /* 9 => $a68['BOLD'],*/ 10 => $a68['BOLD'], 11 => $a68['BOLD'], 12 => $a68['BOLD'], - /* 13 => $a68['BOLD'],*/ 14 => $a68['BOLD'], 15 => $a68['BOLD'], 16 => $a68['BOLD'], 17 => $a68['BOLD'], - 18 => $a68['NONSTD'], 19 => $a68['NONSTD'], - 20 => $a68['ITALIC'], 21 => $a68['ITALIC'], 22 => $a68['ITALIC'], 23 => $a68['ITALIC'], - 24 => $a68['ITALIC'], 25 => $a68['ITALIC'], 26 => $a68['ITALIC'], 27 => $a68['ITALIC'], - 28 => $a68['ITALIC'], 29 => $a68['ITALIC'] - ), - 'COMMENTS' => array( - 1 => $a68['COMMENT'], 2 => $a68['COMMENT'], 3 => $a68['COMMENT'], /* 4 => $a68['COMMENT'], - 5 => $a68['COMMENT'],*/ 'MULTI' => $a68['COMMENT'] - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #009900;' - ), - 'STRINGS' => array( - 0 => 'color: #0000ff;' - ), - 'NUMBERS' => array( - 0 => 'color: #cc66cc;', - ), - 'METHODS' => array( - 0 => 'color: #004000;', - 1 => 'color: #004000;' - ), - 'SYMBOLS' => array( - 0 => 'color: #339933;', - 1 => 'color: #339933;' - ), - 'REGEXPS' => array( - 0 => 'color: #cc66cc;', # BITS # - 1 => 'color: #cc66cc;', # REAL # - /* 2 => 'color: #cc66cc;', # INT # */ - ), - 'SCRIPT' => array() - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => '', - 6 => '', - 7 => '', - 8 => '', -# 9 => '', - 10 => '', - 11 => '', - 12 => '', -# 13 => '', - 14 => '', - 15 => '', - 16 => '', - 17 => '', - 18 => '', - 19 => '', - 20 => '', - 21 => '', - 22 => '', - 23 => '', - 24 => '', - 25 => '', - 26 => '', - 27 => '', - 28 => '', - 29 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 0 => '→', - 1 => 'OF' - ), - 'REGEXPS' => array( - 0 => $a68['BITS'], - 1 => $a68['REAL'] - # 2 => $a68['INT'], # Breaks formatting for some reason # - # 2 => $GESHI_NUMBER_INT_BASIC # Also breaks formatting # - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array(), - 'HIGHLIGHT_STRICT_BLOCK' => array() -); - -unset($a68); diff --git a/vendor/easybook/geshi/geshi/apache.php b/vendor/easybook/geshi/geshi/apache.php deleted file mode 100644 index e54aa23..0000000 --- a/vendor/easybook/geshi/geshi/apache.php +++ /dev/null @@ -1,482 +0,0 @@ - 'Apache configuration', - 'COMMENT_SINGLE' => array(1 => '#'), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '\\', - 'KEYWORDS' => array( - /*keywords*/ - 1 => array( - //core.c - 'AcceptFilter','AcceptPathInfo','AccessConfig','AccessFileName', - 'AddDefaultCharset','AddOutputFilterByType','AllowEncodedSlashes', - 'AllowOverride','AuthName','AuthType','ContentDigest', - 'CoreDumpDirectory','DefaultType','DocumentRoot','EnableMMAP', - 'EnableSendfile','ErrorDocument','ErrorLog','FileETag','ForceType', - 'HostnameLookups','Include','LimitInternalRecursion', - 'LimitRequestBody','LimitRequestFields','LimitRequestFieldsize', - 'LimitRequestLine','LimitXMLRequestBody','LogLevel','MaxMemFree', - 'MaxRequestsPerChild','NameVirtualHost','Options','PidFile','Port', - 'Protocol','Require','RLimitCPU','RLimitMEM','RLimitNPROC', - 'Satisfy','ScoreBoardFile','ServerAdmin','ServerAlias','ServerName', - 'ServerPath','ServerRoot','ServerSignature','ServerTokens', - 'SetHandler','SetInputFilter','SetOutputFilter','ThreadStackSize', - 'Timeout','TraceEnable','UseCanonicalName', - 'UseCanonicalPhysicalPort', - - //http_core.c - 'KeepAlive','KeepAliveTimeout','MaxKeepAliveRequests', - - //mod_actions.c - 'Action','Script', - - //mod_alias.c - 'Alias','AliasMatch','Redirect','RedirectMatch','RedirectPermanent', - 'RedirectTemp','ScriptAlias','ScriptAliasMatch', - - //mod_asis.c - - //mod_auth_basic.c - 'AuthBasicAuthoritative','AuthBasicProvider', - - //mod_auth_digest.c - 'AuthDigestAlgorithm','AuthDigestDomain','AuthDigestNcCheck', - 'AuthDigestNonceFormat','AuthDigestNonceLifetime', - 'AuthDigestProvider','AuthDigestQop','AuthDigestShmemSize', - - //mod_authn_alias.c - - //mod_authn_anon.c - 'Anonymous','Anonymous_LogEmail','Anonymous_MustGiveEmail', - 'Anonymous_NoUserId','Anonymous_VerifyEmail', - - //mod_authn_dbd.c - 'AuthDBDUserPWQuery','AuthDBDUserRealmQuery', - - //mod_authn_dbm.c - 'AuthDBMType','AuthDBMUserFile', - - //mod_authn_default.c - 'AuthDefaultAuthoritative', - - //mod_authn_file.c - 'AuthUserFile', - - //mod_authnz_ldap.c - 'AuthLDAPBindDN','AuthLDAPBindPassword','AuthLDAPCharsetConfig', - 'AuthLDAPCompareDNOnServer','AuthLDAPDereferenceAliases', - 'AuthLDAPGroupAttribute','AuthLDAPGroupAttributeIsDN', - 'AuthLDAPRemoteUserAttribute','AuthLDAPRemoteUserIsDN', - 'AuthLDAPURL','AuthzLDAPAuthoritative', - - //mod_authz_dbm.c - 'AuthDBMGroupFile','AuthzDBMAuthoritative','AuthzDBMType', - - //mod_authz_default.c - 'AuthzDefaultAuthoritative', - - //mod_authz_groupfile.c - 'AuthGroupFile','AuthzGroupFileAuthoritative', - - //mod_authz_host.c - 'Allow','Deny','Order', - - //mod_authz_owner.c - 'AuthzOwnerAuthoritative', - - //mod_authz_svn.c - 'AuthzForceUsernameCase','AuthzSVNAccessFile','AuthzSVNAnonymous', - 'AuthzSVNAuthoritative','AuthzSVNNoAuthWhenAnonymousAllowed', - - //mod_authz_user.c - 'AuthzUserAuthoritative', - - //mod_autoindex.c - 'AddAlt','AddAltByEncoding','AddAltByType','AddDescription', - 'AddIcon','AddIconByEncoding','AddIconByType','DefaultIcon', - 'FancyIndexing','HeaderName','IndexHeadInsert','IndexIgnore', - 'IndexOptions','IndexOrderDefault','IndexStyleSheet','ReadmeName', - - //mod_bt.c - 'Tracker','TrackerDetailURL','TrackerFlags','TrackerHashMaxAge', - 'TrackerHashMinAge','TrackerHashWatermark','TrackerHome', - 'TrackerReturnInterval','TrackerReturnMax', - 'TrackerReturnPeerFactor','TrackerReturnPeers','TrackerRootInclude', - 'TrackerStyleSheet', - - //mod_bw.c - 'BandWidth','BandWidthError','BandWidthModule','BandWidthPacket', - 'ForceBandWidthModule','LargeFileLimit','MaxConnection', - 'MinBandWidth', - - //mod_cache.c - 'CacheDefaultExpire','CacheDisable','CacheEnable', - 'CacheIgnoreCacheControl','CacheIgnoreHeaders', - 'CacheIgnoreNoLastMod','CacheIgnoreQueryString', - 'CacheLastModifiedFactor','CacheMaxExpire','CacheStoreNoStore', - 'CacheStorePrivate', - - //mod_cern_meta.c - 'MetaDir','MetaFiles','MetaSuffix', - - //mod_cgi.c - 'ScriptLog','ScriptLogBuffer','ScriptLogLength', - - //mod_charset_lite.c - 'CharsetDefault','CharsetOptions','CharsetSourceEnc', - - //mod_dav.c - 'DAV','DAVDepthInfinity','DAVMinTimeout', - - //mod_dav_fs.c - 'DAVLockDB', - - //mod_dav_lock.c - 'DAVGenericLockDB', - - //mod_dav_svn.c - 'SVNActivitiesDB','SVNAllowBulkUpdates','SVNAutoversioning', - 'SVNIndexXSLT','SVNListParentPath','SVNMasterURI','SVNParentPath', - 'SVNPath','SVNPathAuthz','SVNReposName','SVNSpecialURI', - - //mod_dbd.c - 'DBDExptime','DBDKeep','DBDMax','DBDMin','DBDParams','DBDPersist', - 'DBDPrepareSQL','DBDriver', - - //mod_deflate.c - 'DeflateBufferSize','DeflateCompressionLevel','DeflateFilterNote', - 'DeflateMemLevel','DeflateWindowSize', - - //mod_dir.c - 'DirectoryIndex','DirectorySlash', - - //mod_disk_cache.c - 'CacheDirLength','CacheDirLevels','CacheMaxFileSize', - 'CacheMinFileSize','CacheRoot', - - //mod_dumpio.c - 'DumpIOInput','DumpIOLogLevel','DumpIOOutput', - - //mod_env.c - 'PassEnv','SetEnv','UnsetEnv', - - //mod_expires.c - 'ExpiresActive','ExpiresByType','ExpiresDefault', - - //mod_ext_filter.c - 'ExtFilterDefine','ExtFilterOptions', - - //mod_file_cache.c - 'cachefile','mmapfile', - - //mod_filter.c - 'FilterChain','FilterDeclare','FilterProtocol','FilterProvider', - 'FilterTrace', - - //mod_gnutls.c - 'GnuTLSCache','GnuTLSCacheTimeout','GnuTLSCertificateFile', - 'GnuTLSKeyFile','GnuTLSPGPCertificateFile','GnuTLSPGPKeyFile', - 'GnuTLSClientVerify','GnuTLSClientCAFile','GnuTLSPGPKeyringFile', - 'GnuTLSEnable','GnuTLSDHFile','GnuTLSRSAFile','GnuTLSSRPPasswdFile', - 'GnuTLSSRPPasswdConfFile','GnuTLSPriorities', - 'GnuTLSExportCertificates', - - //mod_headers.c - 'Header','RequestHeader', - - //mod_imagemap.c - 'ImapBase','ImapDefault','ImapMenu', - - //mod_include.c - 'SSIAccessEnable','SSIEndTag','SSIErrorMsg','SSIStartTag', - 'SSITimeFormat','SSIUndefinedEcho','XBitHack', - - //mod_ident.c - 'IdentityCheck','IdentityCheckTimeout', - - //mod_info.c - 'AddModuleInfo', - - //mod_isapi.c - 'ISAPIAppendLogToErrors','ISAPIAppendLogToQuery','ISAPICacheFile', - 'ISAPIFakeAsync','ISAPILogNotSupported','ISAPIReadAheadBuffer', - - //mod_log_config.c - 'BufferedLogs','CookieLog','CustomLog','LogFormat','TransferLog', - - //mod_log_forensic.c - 'ForensicLog', - - //mod_log_rotate.c - 'RotateInterval','RotateLogs','RotateLogsLocalTime', - - //mod_logio.c - - //mod_mem_cache.c - 'MCacheMaxObjectCount','MCacheMaxObjectSize', - 'MCacheMaxStreamingBuffer','MCacheMinObjectSize', - 'MCacheRemovalAlgorithm','MCacheSize', - - //mod_mime.c - 'AddCharset','AddEncoding','AddHandler','AddInputFilter', - 'AddLanguage','AddOutputFilter','AddType','DefaultLanguage', - 'ModMimeUsePathInfo','MultiviewsMatch','RemoveCharset', - 'RemoveEncoding','RemoveHandler','RemoveInputFilter', - 'RemoveLanguage','RemoveOutputFilter','RemoveType','TypesConfig', - - //mod_mime_magic.c - 'MimeMagicFile', - - //mod_negotiation.c - 'CacheNegotiatedDocs','ForceLanguagePriority','LanguagePriority', - - //mod_php5.c - 'php_admin_flag','php_admin_value','php_flag','php_value', - 'PHPINIDir', - - //mod_proxy.c - 'AllowCONNECT','BalancerMember','NoProxy','ProxyBadHeader', - 'ProxyBlock','ProxyDomain','ProxyErrorOverride', - 'ProxyFtpDirCharset','ProxyIOBufferSize','ProxyMaxForwards', - 'ProxyPass','ProxyPassInterpolateEnv','ProxyPassMatch', - 'ProxyPassReverse','ProxyPassReverseCookieDomain', - 'ProxyPassReverseCookiePath','ProxyPreserveHost', - 'ProxyReceiveBufferSize','ProxyRemote','ProxyRemoteMatch', - 'ProxyRequests','ProxySet','ProxyStatus','ProxyTimeout','ProxyVia', - - //mod_proxy_ajp.c - - //mod_proxy_balancer.c - - //mod_proxy_connect.c - - //mod_proxy_ftp.c - - //mod_proxy_http.c - - //mod_rewrite.c - 'RewriteBase','RewriteCond','RewriteEngine','RewriteLock', - 'RewriteLog','RewriteLogLevel','RewriteMap','RewriteOptions', - 'RewriteRule', - - //mod_setenvif.c - 'BrowserMatch','BrowserMatchNoCase','SetEnvIf','SetEnvIfNoCase', - - //mod_so.c - 'LoadFile','LoadModule', - - //mod_speling.c - 'CheckCaseOnly','CheckSpelling', - - //mod_ssl.c - 'SSLCACertificateFile','SSLCACertificatePath','SSLCADNRequestFile', - 'SSLCADNRequestPath','SSLCARevocationFile','SSLCARevocationPath', - 'SSLCertificateChainFile','SSLCertificateFile', - 'SSLCertificateKeyFile','SSLCipherSuite','SSLCryptoDevice', - 'SSLEngine','SSLHonorCipherOrder','SSLMutex','SSLOptions', - 'SSLPassPhraseDialog','SSLProtocol','SSLProxyCACertificateFile', - 'SSLProxyCACertificatePath','SSLProxyCARevocationFile', - 'SSLProxyCARevocationPath','SSLProxyCipherSuite','SSLProxyEngine', - 'SSLProxyMachineCertificateFile','SSLProxyMachineCertificatePath', - 'SSLProxyProtocol','SSLProxyVerify','SSLProxyVerifyDepth', - 'SSLRandomSeed','SSLRenegBufferSize','SSLRequire','SSLRequireSSL', - 'SSLSessionCache','SSLSessionCacheTimeout','SSLUserName', - 'SSLVerifyClient','SSLVerifyDepth', - - //mod_status.c - 'ExtendedStatus','SeeRequestTail', - - //mod_substitute.c - 'Substitute', - - //mod_suexec.c - 'SuexecUserGroup', - - //mod_unique_id.c - - //mod_upload_progress - 'ReportUploads', 'TrackUploads', 'UploadProgressSharedMemorySize', - - //mod_userdir.c - 'UserDir', - - //mod_usertrack.c - 'CookieDomain','CookieExpires','CookieName','CookieStyle', - 'CookieTracking', - - //mod_version.c - - //mod_vhost_alias.c - 'VirtualDocumentRoot','VirtualDocumentRootIP', - 'VirtualScriptAlias','VirtualScriptAliasIP', - - //mod_view.c - 'ViewEnable', - - //mod_win32.c - 'ScriptInterpreterSource', - - //mpm_winnt.c - 'Listen','ListenBacklog','ReceiveBufferSize','SendBufferSize', - 'ThreadLimit','ThreadsPerChild','Win32DisableAcceptEx', - - //mpm_common.c - 'AcceptMutex','AddModule','ClearModuleList','EnableExceptionHook', - 'Group','LockFile','MaxClients','MaxSpareServers','MaxSpareThreads', - 'MinSpareServers','MinSpareThreads','ServerLimit','StartServers', - 'StartThreads','User', - - //util_ldap.c - 'LDAPCacheEntries','LDAPCacheTTL','LDAPConnectionTimeout', - 'LDAPOpCacheEntries','LDAPOpCacheTTL','LDAPSharedCacheFile', - 'LDAPSharedCacheSize','LDAPTrustedClientCert', - 'LDAPTrustedGlobalCert','LDAPTrustedMode','LDAPVerifyServerCert', - - //Unknown Mods ... - 'AgentLog','BindAddress','bs2000account','CacheForceCompletion', - 'CacheGCInterval','CacheSize','NoCache','qsc','RefererIgnore', - 'RefererLog','Resourceconfig','ServerType','SingleListen' - ), - /*keywords 2*/ - 2 => array( - 'all','on','off','standalone','inetd','indexes', - 'force-response-1.0','downgrade-1.0','nokeepalive', - 'includes','followsymlinks','none', - 'x-compress','x-gzip' - ), - /*keywords 3*/ - 3 => array( - //core.c - 'Directory','DirectoryMatch','Files','FilesMatch','IfDefine', - 'IfModule','Limit','LimitExcept','Location','LocationMatch', - 'VirtualHost', - - //mod_authn_alias.c - 'AuthnProviderAlias', - - //mod_proxy.c - 'Proxy','ProxyMatch', - - //mod_version.c - 'IfVersion' - ) - ), - 'SYMBOLS' => array( - '+', '-' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #00007f;', - 2 => 'color: #0000ff;', - 3 => 'color: #000000; font-weight:bold;', - ), - 'COMMENTS' => array( - 1 => 'color: #adadad; font-style: italic;', - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #339933;' - ), - 'STRINGS' => array( - 0 => 'color: #7f007f;' - ), - 'NUMBERS' => array( - 0 => 'color: #ff0000;' - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 0 => 'color: #008000;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '' - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'PARSER_CONTROL' => array( - 'ENABLE_FLAGS' => array( - 'BRACKETS' => GESHI_NEVER, - 'SYMBOLS' => GESHI_NEVER - ), - 'KEYWORDS' => array( - 3 => array( - 'DISALLOWED_BEFORE' => '(?<=<|<\/)', - 'DISALLOWED_AFTER' => '(?=\s|\/|>)', - ) - ) - ) -); - diff --git a/vendor/easybook/geshi/geshi/applescript.php b/vendor/easybook/geshi/geshi/applescript.php deleted file mode 100644 index 23ae9c0..0000000 --- a/vendor/easybook/geshi/geshi/applescript.php +++ /dev/null @@ -1,156 +0,0 @@ - 'AppleScript', - 'COMMENT_SINGLE' => array(1 => '--'), - 'COMMENT_MULTI' => array( '(*' => '*)'), - 'COMMENT_REGEXP' => array( - 2 => '/(?<=[a-z])\'/i', - 3 => '/(? GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '\\', - 'KEYWORDS' => array( - 1 => array( - 'application','close','count','delete','duplicate','exists','launch','make','move','open', - 'print','quit','reopen','run','save','saving', 'idle', 'path to', 'number', 'alias', 'list', 'text', 'string', - 'integer', 'it','me','version','pi','result','space','tab','anything','case','diacriticals','expansion', - 'hyphens','punctuation','bold','condensed','expanded','hidden','italic','outline','plain', - 'shadow','strikethrough','subscript','superscript','underline','ask','no','yes','false', 'id', - 'true','weekday','monday','mon','tuesday','tue','wednesday','wed','thursday','thu','friday', - 'fri','saturday','sat','sunday','sun','month','january','jan','february','feb','march', - 'mar','april','apr','may','june','jun','july','jul','august','aug','september', 'quote', 'do JavaScript', - 'sep','october','oct','november','nov','december','dec','minutes','hours', 'name', 'default answer', - 'days','weeks', 'folder', 'folders', 'file', 'files', 'window', 'eject', 'disk', 'reveal', 'sleep', - 'shut down', 'restart', 'display dialog', 'buttons', 'invisibles', 'item', 'items', 'delimiters', 'offset of', - 'AppleScript\'s', 'choose file', 'choose folder', 'choose from list', 'beep', 'contents', 'do shell script', - 'paragraph', 'paragraphs', 'missing value', 'quoted form', 'desktop', 'POSIX path', 'POSIX file', - 'activate', 'document', 'adding', 'receiving', 'content', 'new', 'properties', 'info for', 'bounds', - 'selection', 'extension', 'into', 'onto', 'by', 'between', 'against', 'set the clipboard to', 'the clipboard' - ), - 2 => array( - 'each','some','every','whose','where','index','first','second','third','fourth', - 'fifth','sixth','seventh','eighth','ninth','tenth','last','front','back','st','nd', - 'rd','th','middle','named','through','thru','before','after','beginning','the', 'as', - 'div','mod','and','not','or','contains','equal','equals','isnt', 'less', 'greater' - ), - 3 => array( - 'script','property','prop','end','to','set','global','local','on','of', - 'in','given','with','without','return','continue','tell','if','then','else','repeat', - 'times','while','until','from','exit','try','error','considering','ignoring','timeout', - 'transaction','my','get','put','is', 'copy' - ) - ), - 'SYMBOLS' => array( - ')','+','-','^','*','/','&','<','>=','<','<=','=','�' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #0066ff;', - 2 => 'color: #ff0033;', - 3 => 'color: #ff0033; font-weight: bold;' - ), - 'COMMENTS' => array( - 1 => 'color: #808080; font-style: italic;', - 2 => '', - 3 => 'color: #ff0000;', - 'MULTI' => 'color: #808080; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000000; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #000000;' - ), - 'STRINGS' => array( - 0 => 'color: #009900;' - ), - 'NUMBERS' => array( - 0 => 'color: #000000;' - ), - 'METHODS' => array( - 1 => 'color: #006600;', - 2 => 'color: #006600;' - ), - 'SYMBOLS' => array( - 0 => 'color: #000000;' - ), - 'REGEXPS' => array( - 0 => 'color: #339933;', - 4 => 'color: #0066ff;', - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => ',+-=<>/?^&*' - ), - 'REGEXPS' => array( - //Variables - 0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*', - //File descriptors - 4 => '<[a-zA-Z_][a-zA-Z0-9_]*>', - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'PARSER_CONTROL' => array( - 'KEYWORDS' => array( - 'SPACE_AS_WHITESPACE' => true - ) - ) -); - diff --git a/vendor/easybook/geshi/geshi/apt_sources.php b/vendor/easybook/geshi/geshi/apt_sources.php deleted file mode 100644 index 8a22d22..0000000 --- a/vendor/easybook/geshi/geshi/apt_sources.php +++ /dev/null @@ -1,154 +0,0 @@ - 'Apt sources', - 'COMMENT_SINGLE' => array(1 => '#'), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array(), - 'ESCAPE_CHAR' => '\\', - 'KEYWORDS' => array( - /*keywords*/ - 1 => array( - 'deb-src', 'deb' - ), - 2 => array( - //Generic - 'stable', 'old-stable', 'testing', 'testing-proposed-updates', - 'unstable', 'unstable-proposed-updates', 'experimental', - 'non-US', 'security', 'volatile', 'volatile-sloppy', - 'apt-build', - 'stable/updates', - //Debian - 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', 'woody', 'sarge', - 'etch', 'lenny', 'wheezy', 'jessie', 'sid', - //Ubuntu - 'warty', 'warty-updates', 'warty-security', 'warty-proposed', 'warty-backports', - 'hoary', 'hoary-updates', 'hoary-security', 'hoary-proposed', 'hoary-backports', - 'breezy', 'breezy-updates', 'breezy-security', 'breezy-proposed', 'breezy-backports', - 'dapper', 'dapper-updates', 'dapper-security', 'dapper-proposed', 'dapper-backports', - 'edgy', 'edgy-updates', 'edgy-security', 'edgy-proposed', 'edgy-backports', - 'feisty', 'feisty-updates', 'feisty-security', 'feisty-proposed', 'feisty-backports', - 'gutsy', 'gutsy-updates', 'gutsy-security', 'gutsy-proposed', 'gutsy-backports', - 'hardy', 'hardy-updates', 'hardy-security', 'hardy-proposed', 'hardy-backports', - 'intrepid', 'intrepid-updates', 'intrepid-security', 'intrepid-proposed', 'intrepid-backports', - 'jaunty', 'jaunty-updates', 'jaunty-security', 'jaunty-proposed', 'jaunty-backports', - 'karmic', 'karmic-updates', 'karmic-security', 'karmic-proposed', 'karmic-backports', - 'lucid', 'lucid-updates', 'lucid-security', 'lucid-proposed', 'lucid-backports', - 'maverick', 'maverick-updates', 'maverick-security', 'maverick-proposed', 'maverick-backports', - 'natty', 'natty-updates', 'natty-security', 'natty-proposed', 'natty-backports', - 'oneiric', 'oneiric-updates', 'oneiric-security', 'oneiric-proposed', 'oneiric-backports', - 'precise', 'precise-updates', 'precise-security', 'precise-proposed', 'precise-backports', - 'quantal', 'quantal-updates', 'quantal-security', 'quantal-proposed', 'quantal-backports', - 'raring', 'raring-updates', 'raring-security', 'raring-proposed', 'raring-backports', - 'saucy', 'saucy-updates', 'saucy-security', 'saucy-proposed', 'saucy-backports', - 'trusty', 'trusty-updates', 'trusty-security', 'trusty-proposed', 'trusty-backports' - ), - 3 => array( - 'main', 'restricted', 'preview', 'contrib', 'non-free', - 'commercial', 'universe', 'multiverse' - ) - ), - 'REGEXPS' => array( - 0 => "(((http|ftp):\/\/|file:\/)[^\s]+)|(cdrom:\[[^\]]*\][^\s]*)", - ), - 'SYMBOLS' => array( - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => true, - 3 => true - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #00007f;', - 2 => 'color: #b1b100;', - 3 => 'color: #b16000;' - ), - 'COMMENTS' => array( - 1 => 'color: #adadad; font-style: italic;', - ), - 'ESCAPE_CHAR' => array( - ), - 'BRACKETS' => array( - ), - 'STRINGS' => array( - ), - 'NUMBERS' => array( - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - ), - 'REGEXPS' => array( - 0 => 'color: #009900;', - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '' - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'PARSER_CONTROL' => array( - 'ENABLE_FLAGS' => array( - 'NUMBERS' => GESHI_NEVER, - 'METHODS' => GESHI_NEVER, - 'SCRIPT' => GESHI_NEVER, - 'SYMBOLS' => GESHI_NEVER, - 'ESCAPE_CHAR' => GESHI_NEVER, - 'BRACKETS' => GESHI_NEVER, - 'STRINGS' => GESHI_NEVER, - ), - 'KEYWORDS' => array( - 'DISALLOWED_BEFORE' => '(?|^\/])', - 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\.])' - ) - ), - 'TAB_WIDTH' => 4 -); - diff --git a/vendor/easybook/geshi/geshi/arm.php b/vendor/easybook/geshi/geshi/arm.php deleted file mode 100644 index d224f02..0000000 --- a/vendor/easybook/geshi/geshi/arm.php +++ /dev/null @@ -1,3317 +0,0 @@ - 'ARM ASSEMBLER', - 'COMMENT_SINGLE' => array( - 1 => ';' - ), - 'COMMENT_MULTI' => array(), - //Line address prefix suppression - 'COMMENT_REGEXP' => array( - 2 => "/^(?:[0-9a-f]{0,4}:)?[0-9a-f]{4}(?:[0-9a-f]{4})?/mi" - ), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - /* Unconditional Data Processing Instructions */ - 1 => array( - /* Data Processing: Unconditional Addition & Subtraction */ - 'adc.w','adcal.w', - 'adc','adcal', - 'add.w','addal.w', - 'add','addal', - 'addw','addwal', - 'rsb.w','rsbal.w', - 'rsb','rsbal', - 'rsc','rscal', - 'sbc.w','sbcal.w', - 'sbc','sbcal', - 'sub.w','subal.w', - 'sub','subal', - 'neg.w','negal.w', - 'neg','negal', - 'adr.w','adral.w', - 'adr','adral', - /* Data Processing: Unconditional Logical */ - 'and.w','andal.w', - 'and','andal', - 'bic.w','bical.w', - 'bic','bical', - 'orr.w','orral.w', - 'orr','orral', - 'orn.w','ornal.w', - 'orn','ornal', - 'eor.w','eoral.w', - 'eor','eoral', - 'mov.w','moval.w', - 'mov','moval', - 'movw','movwal', - 'movt','movtal', - 'cpy','cpyal', - 'mvn.w','mvnal.w', - 'mvn','mvnal', - /* Data Processing: Unconditional Shifts and Rotates */ - 'asr.w','asral.w', - 'asr','asral', - 'lsl.w','lslal.w', - 'lsl','lslal', - 'lsr.w','lsral.w', - 'lsr','lsral', - 'ror.w','roral.w', - 'ror','roral', - 'rrx','rrxal', - /* Data Processing: Unconditional Word Multiply and Multiply-Add */ - 'mul','mulal', - 'mla','mlaal', - 'mls','mlsal', - 'smull','smullal', - 'muls','mulsal', - 'umull','umullal', - 'smlal','smlalal', - 'umlal','umlalal', - /* Data Processing: Unconditional Halfword Multiply and Multiply-Add (ARMv5TE) */ - 'smulbb','smulbbal', - 'smulbt','smulbtal', - 'smultb','smultbal', - 'smultt','smulttal', - 'smulwb','smulwbal', - 'smulwt','smulwtal', - 'smlalbb','smlalbbal', - 'smlalbt','smlalbtal', - 'smlaltb','smlaltbal', - 'smlaltt','smlalttal', - 'smlabb','smlabbal', - 'smlabt','smlabtal', - 'smlatb','smlatbal', - 'smlatt','smlattal', - 'smlawb','smlawbal', - 'smlawt','smlawtal', - /* Data Processing: Unconditional Bit Operations */ - 'ubfx','ubfxal', - 'sbfx','sbfxal', - 'bfc','bfcal', - 'bfi','bfial', - 'clz','clzal', - /* Data Processing: Unconditional Divide (ARMv7-R) */ - 'sdiv','sdival', - 'udiv','udival' - ), - /* Conditional Data Processing Instructions */ - 2 => array( - /* Data Processing: Conditional Addition & Subtraction */ - 'adceq.w','adcne.w','adccs.w','adchs.w','adccc.w','adclo.w','adcmi.w','adcpl.w','adcvs.w','adcvc.w','adchi.w','adcls.w','adcge.w','adclt.w','adcgt.w','adcle.w', - 'adceq','adcne','adccs','adchs','adccc','adclo','adcmi','adcpl','adcvs','adcvc','adchi','adcls','adcge','adclt','adcgt','adcle', - 'addeq.w','addne.w','addcs.w','addhs.w','addcc.w','addlo.w','addmi.w','addpl.w','addvs.w','addvc.w','addhi.w','addls.w','addge.w','addlt.w','addgt.w','addle.w', - 'addeq','addne','addcs','addhs','addcc','addlo','addmi','addpl','addvs','addvc','addhi','addls','addge','addlt','addgt','addle', - 'addweq','addwne','addwcs','addwhs','addwcc','addwlo','addwmi','addwpl','addwvs','addwvc','addwhi','addwls','addwge','addwlt','addwgt','addwle', - 'rsbeq.w','rsbne.w','rsbcs.w','rsbhs.w','rsbcc.w','rsblo.w','rsbmi.w','rsbpl.w','rsbvs.w','rsbvc.w','rsbhi.w','rsbls.w','rsbge.w','rsblt.w','rsbgt.w','rsble.w', - 'rsbeq','rsbne','rsbcs','rsbhs','rsbcc','rsblo','rsbmi','rsbpl','rsbvs','rsbvc','rsbhi','rsbls','rsbge','rsblt','rsbgt','rsble', - 'rsceq','rscne','rsccs','rschs','rsccc','rsclo','rscmi','rscpl','rscvs','rscvc','rschi','rscls','rscge','rsclt','rscgt','rscle', - 'sbceq.w','sbcne.w','sbccs.w','sbchs.w','sbccc.w','sbclo.w','sbcmi.w','sbcpl.w','sbcvs.w','sbcvc.w','sbchi.w','sbcls.w','sbcge.w','sbclt.w','sbcgt.w','sbcle.w', - 'sbceq','sbcne','sbccs','sbchs','sbccc','sbclo','sbcmi','sbcpl','sbcvs','sbcvc','sbchi','sbcls','sbcge','sbclt','sbcgt','sbcle', - 'subeq.w','subne.w','subcs.w','subhs.w','subcc.w','sublo.w','submi.w','subpl.w','subvs.w','subvc.w','subhi.w','subls.w','subge.w','sublt.w','subgt.w','suble.w', - 'subeq','subne','subcs','subhs','subcc','sublo','submi','subpl','subvs','subvc','subhi','subls','subge','sublt','subgt','suble', - 'negeq.w','negne.w','negcs.w','neghs.w','negcc.w','neglo.w','negmi.w','negpl.w','negvs.w','negvc.w','neghi.w','negls.w','negge.w','neglt.w','neggt.w','negle.w', - 'negeq','negne','negcs','neghs','negcc','neglo','negmi','negpl','negvs','negvc','neghi','negls','negge','neglt','neggt','negle', - 'adreq.w','adrne.w','adrcs.w','adrhs.w','adrcc.w','adrlo.w','adrmi.w','adrpl.w','adrvs.w','adrvc.w','adrhi.w','adrls.w','adrge.w','adrlt.w','adrgt.w','adrle.w', - 'adreq','adrne','adrcs','adrhs','adrcc','adrlo','adrmi','adrpl','adrvs','adrvc','adrhi','adrls','adrge','adrlt','adrgt','adrle', - /* Data Processing: Conditional Logical */ - 'andeq.w','andne.w','andcs.w','andhs.w','andcc.w','andlo.w','andmi.w','andpl.w','andvs.w','andvc.w','andhi.w','andls.w','andge.w','andlt.w','andgt.w','andle.w', - 'andeq','andne','andcs','andhs','andcc','andlo','andmi','andpl','andvs','andvc','andhi','andls','andge','andlt','andgt','andle', - 'biceq.w','bicne.w','biccs.w','bichs.w','biccc.w','biclo.w','bicmi.w','bicpl.w','bicvs.w','bicvc.w','bichi.w','bicls.w','bicge.w','biclt.w','bicgt.w','bicle.w', - 'biceq','bicne','biccs','bichs','biccc','biclo','bicmi','bicpl','bicvs','bicvc','bichi','bicls','bicge','biclt','bicgt','bicle', - 'orreq.w','orrne.w','orrcs.w','orrhs.w','orrcc.w','orrlo.w','orrmi.w','orrpl.w','orrvs.w','orrvc.w','orrhi.w','orrls.w','orrge.w','orrlt.w','orrgt.w','orrle.w', - 'orreq','orrne','orrcs','orrhs','orrcc','orrlo','orrmi','orrpl','orrvs','orrvc','orrhi','orrls','orrge','orrlt','orrgt','orrle', - 'orneq.w','ornne.w','orncs.w','ornhs.w','orncc.w','ornlo.w','ornmi.w','ornpl.w','ornvs.w','ornvc.w','ornhi.w','ornls.w','ornge.w','ornlt.w','orngt.w','ornle.w', - 'orneq','ornne','orncs','ornhs','orncc','ornlo','ornmi','ornpl','ornvs','ornvc','ornhi','ornls','ornge','ornlt','orngt','ornle', - 'eoreq.w','eorne.w','eorcs.w','eorhs.w','eorcc.w','eorlo.w','eormi.w','eorpl.w','eorvs.w','eorvc.w','eorhi.w','eorls.w','eorge.w','eorlt.w','eorgt.w','eorle.w', - 'eoreq','eorne','eorcs','eorhs','eorcc','eorlo','eormi','eorpl','eorvs','eorvc','eorhi','eorls','eorge','eorlt','eorgt','eorle', - 'moveq.w','movne.w','movcs.w','movhs.w','movcc.w','movlo.w','movmi.w','movpl.w','movvs.w','movvc.w','movhi.w','movls.w','movge.w','movlt.w','movgt.w','movle.w', - 'moveq','movne','movcs','movhs','movcc','movlo','movmi','movpl','movvs','movvc','movhi','movls','movge','movlt','movgt','movle', - 'movweq','movwne','movwcs','movwhs','movwcc','movwlo','movwmi','movwpl','movwvs','movwvc','movwhi','movwls','movwge','movwlt','movwgt','movwle', - 'movteq','movtne','movtcs','movths','movtcc','movtlo','movtmi','movtpl','movtvs','movtvc','movthi','movtls','movtge','movtlt','movtgt','movtle', - 'cpyeq','cpyne','cpycs','cpyhs','cpycc','cpylo','cpymi','cpypl','cpyvs','cpyvc','cpyhi','cpyls','cpyge','cpylt','cpygt','cpyle', - 'mvneq.w','mvnne.w','mvncs.w','mvnhs.w','mvncc.w','mvnlo.w','mvnmi.w','mvnpl.w','mvnvs.w','mvnvc.w','mvnhi.w','mvnls.w','mvnge.w','mvnlt.w','mvngt.w','mvnle.w', - 'mvneq','mvnne','mvncs','mvnhs','mvncc','mvnlo','mvnmi','mvnpl','mvnvs','mvnvc','mvnhi','mvnls','mvnge','mvnlt','mvngt','mvnle', - /* Data Processing: Conditional Shifts and Rotates */ - 'asreq.w','asrne.w','asrcs.w','asrhs.w','asrcc.w','asrlo.w','asrmi.w','asrpl.w','asrvs.w','asrvc.w','asrhi.w','asrls.w','asrge.w','asrlt.w','asrgt.w','asrle.w', - 'asreq','asrne','asrcs','asrhs','asrcc','asrlo','asrmi','asrpl','asrvs','asrvc','asrhi','asrls','asrge','asrlt','asrgt','asrle', - 'lsleq.w','lslne.w','lslcs.w','lslhs.w','lslcc.w','lsllo.w','lslmi.w','lslpl.w','lslvs.w','lslvc.w','lslhi.w','lslls.w','lslge.w','lsllt.w','lslgt.w','lslle.w', - 'lsleq','lslne','lslcs','lslhs','lslcc','lsllo','lslmi','lslpl','lslvs','lslvc','lslhi','lslls','lslge','lsllt','lslgt','lslle', - 'lsreq.w','lsrne.w','lsrcs.w','lsrhs.w','lsrcc.w','lsrlo.w','lsrmi.w','lsrpl.w','lsrvs.w','lsrvc.w','lsrhi.w','lsrls.w','lsrge.w','lsrlt.w','lsrgt.w','lsrle.w', - 'lsreq','lsrne','lsrcs','lsrhs','lsrcc','lsrlo','lsrmi','lsrpl','lsrvs','lsrvc','lsrhi','lsrls','lsrge','lsrlt','lsrgt','lsrle', - 'roreq.w','rorne.w','rorcs.w','rorhs.w','rorcc.w','rorlo.w','rormi.w','rorpl.w','rorvs.w','rorvc.w','rorhi.w','rorls.w','rorge.w','rorlt.w','rorgt.w','rorle.w', - 'roreq','rorne','rorcs','rorhs','rorcc','rorlo','rormi','rorpl','rorvs','rorvc','rorhi','rorls','rorge','rorlt','rorgt','rorle', - 'rrxeq','rrxne','rrxcs','rrxhs','rrxcc','rrxlo','rrxmi','rrxpl','rrxvs','rrxvc','rrxhi','rrxls','rrxge','rrxlt','rrxgt','rrxle', - /* Data Processing: Conditional Word Multiply and Multiply-Add */ - 'muleq','mulne','mulcs','mulhs','mulcc','mullo','mulmi','mulpl','mulvs','mulvc','mulhi','mulls','mulge','mullt','mulgt','mulle', - 'mlaeq','mlane','mlacs','mlahs','mlacc','mlalo','mlami','mlapl','mlavs','mlavc','mlahi','mlals','mlage','mlalt','mlagt','mlale', - 'mlseq','mlsne','mlscs','mlshs','mlscc','mlslo','mlsmi','mlspl','mlsvs','mlsvc','mlshi','mlsls','mlsge','mlslt','mlsgt','mlsle', - 'smulleq','smullne','smullcs','smullhs','smullcc','smulllo','smullmi','smullpl','smullvs','smullvc','smullhi','smullls','smullge','smulllt','smullgt','smullle', - 'mulseq','mulsne','mulscs','mulshs','mulscc','mulslo','mulsmi','mulspl','mulsvs','mulsvc','mulshi','mulsls','mulsge','mulslt','mulsgt','mulsle', - 'umulleq','umullne','umullcs','umullhs','umullcc','umulllo','umullmi','umullpl','umullvs','umullvc','umullhi','umullls','umullge','umulllt','umullgt','umullle', - 'smlaleq','smlalne','smlalcs','smlalhs','smlalcc','smlallo','smlalmi','smlalpl','smlalvs','smlalvc','smlalhi','smlalls','smlalge','smlallt','smlalgt','smlalle', - 'umlaleq','umlalne','umlalcs','umlalhs','umlalcc','umlallo','umlalmi','umlalpl','umlalvs','umlalvc','umlalhi','umlalls','umlalge','umlallt','umlalgt','umlalle', - /* Data Processing: Conditional Halfword Multiply and Multiply-Add (ARMv5TE) */ - 'smulbbeq','smulbbne','smulbbcs','smulbbhs','smulbbcc','smulbblo','smulbbmi','smulbbpl','smulbbvs','smulbbvc','smulbbhi','smulbbls','smulbbge','smulbblt','smulbbgt','smulbble', - 'smulbteq','smulbtne','smulbtcs','smulbths','smulbtcc','smulbtlo','smulbtmi','smulbtpl','smulbtvs','smulbtvc','smulbthi','smulbtls','smulbtge','smulbtlt','smulbtgt','smulbtle', - 'smultbeq','smultbne','smultbcs','smultbhs','smultbcc','smultblo','smultbmi','smultbpl','smultbvs','smultbvc','smultbhi','smultbls','smultbge','smultblt','smultbgt','smultble', - 'smultteq','smulttne','smulttcs','smultths','smulttcc','smulttlo','smulttmi','smulttpl','smulttvs','smulttvc','smultthi','smulttls','smulttge','smulttlt','smulttgt','smulttle', - 'smulwbeq','smulwbne','smulwbcs','smulwbhs','smulwbcc','smulwblo','smulwbmi','smulwbpl','smulwbvs','smulwbvc','smulwbhi','smulwbls','smulwbge','smulwblt','smulwbgt','smulwble', - 'smulwteq','smulwtne','smulwtcs','smulwths','smulwtcc','smulwtlo','smulwtmi','smulwtpl','smulwtvs','smulwtvc','smulwthi','smulwtls','smulwtge','smulwtlt','smulwtgt','smulwtle', - 'smlalbbeq','smlalbbne','smlalbbcs','smlalbbhs','smlalbbcc','smlalbblo','smlalbbmi','smlalbbpl','smlalbbvs','smlalbbvc','smlalbbhi','smlalbbls','smlalbbge','smlalbblt','smlalbbgt','smlalbble', - 'smlalbteq','smlalbtne','smlalbtcs','smlalbths','smlalbtcc','smlalbtlo','smlalbtmi','smlalbtpl','smlalbtvs','smlalbtvc','smlalbthi','smlalbtls','smlalbtge','smlalbtlt','smlalbtgt','smlalbtle', - 'smlaltbeq','smlaltbne','smlaltbcs','smlaltbhs','smlaltbcc','smlaltblo','smlaltbmi','smlaltbpl','smlaltbvs','smlaltbvc','smlaltbhi','smlaltbls','smlaltbge','smlaltblt','smlaltbgt','smlaltble', - 'smlaltteq','smlalttne','smlalttcs','smlaltths','smlalttcc','smlalttlo','smlalttmi','smlalttpl','smlalttvs','smlalttvc','smlaltthi','smlalttls','smlalttge','smlalttlt','smlalttgt','smlalttle', - 'smlabbeq','smlabbne','smlabbcs','smlabbhs','smlabbcc','smlabblo','smlabbmi','smlabbpl','smlabbvs','smlabbvc','smlabbhi','smlabbls','smlabbge','smlabblt','smlabbgt','smlabble', - 'smlabteq','smlabtne','smlabtcs','smlabths','smlabtcc','smlabtlo','smlabtmi','smlabtpl','smlabtvs','smlabtvc','smlabthi','smlabtls','smlabtge','smlabtlt','smlabtgt','smlabtle', - 'smlatbeq','smlatbne','smlatbcs','smlatbhs','smlatbcc','smlatblo','smlatbmi','smlatbpl','smlatbvs','smlatbvc','smlatbhi','smlatbls','smlatbge','smlatblt','smlatbgt','smlatble', - 'smlatteq','smlattne','smlattcs','smlatths','smlattcc','smlattlo','smlattmi','smlattpl','smlattvs','smlattvc','smlatthi','smlattls','smlattge','smlattlt','smlattgt','smlattle', - 'smlawbeq','smlawbne','smlawbcs','smlawbhs','smlawbcc','smlawblo','smlawbmi','smlawbpl','smlawbvs','smlawbvc','smlawbhi','smlawbls','smlawbge','smlawblt','smlawbgt','smlawble', - 'smlawteq','smlawtne','smlawtcs','smlawths','smlawtcc','smlawtlo','smlawtmi','smlawtpl','smlawtvs','smlawtvc','smlawthi','smlawtls','smlawtge','smlawtlt','smlawtgt','smlawtle', - /* Data Processing: Conditional Bit Operations */ - 'ubfxeq','ubfxne','ubfxcs','ubfxhs','ubfxcc','ubfxlo','ubfxmi','ubfxpl','ubfxvs','ubfxvc','ubfxhi','ubfxls','ubfxge','ubfxlt','ubfxgt','ubfxle', - 'sbfxeq','sbfxne','sbfxcs','sbfxhs','sbfxcc','sbfxlo','sbfxmi','sbfxpl','sbfxvs','sbfxvc','sbfxhi','sbfxls','sbfxge','sbfxlt','sbfxgt','sbfxle', - 'bfceq','bfcne','bfccs','bfchs','bfccc','bfclo','bfcmi','bfcpl','bfcvs','bfcvc','bfchi','bfcls','bfcge','bfclt','bfcgt','bfcle', - 'bfieq','bfine','bfics','bfihs','bficc','bfilo','bfimi','bfipl','bfivs','bfivc','bfihi','bfils','bfige','bfilt','bfigt','bfile', - 'clzeq','clzne','clzcs','clzhs','clzcc','clzlo','clzmi','clzpl','clzvs','clzvc','clzhi','clzls','clzge','clzlt','clzgt','clzle', - /* ARMv7-R: Conditional Divide */ - 'sdiveq','sdivne','sdivcs','sdivhs','sdivcc','sdivlo','sdivmi','sdivpl','sdivvs','sdivvc','sdivhi','sdivls','sdivge','sdivlt','sdivgt','sdivle', - 'udiveq','udivne','udivcs','udivhs','udivcc','udivlo','udivmi','udivpl','udivvs','udivvc','udivhi','udivls','udivge','udivlt','udivgt','udivle' - ), - /* Unconditional Memory Access */ - 3 => array( - /* Memory Access: Unconditional Memory Loads and Prefetches */ - 'ldm.w','ldmal.w', - 'ldm','ldmal', - 'ldmda','ldmdaal', - 'ldmdb','ldmdbal', - 'ldmib','ldmibal', - 'ldmia','ldmiaal', - 'ldmea','ldmeaal', - 'ldmed','ldmedal', - 'ldmfa','ldmfaal', - 'ldmfd','ldmfdal', - 'ldrd','ldrdal', - 'ldr.w','ldral.w', - 'ldr','ldral', - 'ldrh.w','ldrhal.w', - 'ldrh','ldrhal', - 'ldrb.w','ldrbal.w', - 'ldrb','ldrbal', - 'ldrsh.w','ldrshal.w', - 'ldrsh','ldrshal', - 'ldrsb.w','ldrsbal.w', - 'ldrsb','ldrsbal', - 'ldrt','ldrtal', - 'ldrht','ldrhtal', - 'ldrbt','ldrbtal', - 'ldrsht','ldrshtal', - 'ldrsbt','ldrsbtal', - 'pop.w','popal.w', - 'pop','popal', - 'pld','pldal', - 'pldw','pldwal', - 'pli','plial', - /* Memory Access: Unconditional Memory Stores */ - 'stm.w','stmal.w', - 'stm','stmal', - 'stmda','stmdaal', - 'stmdb','stmdbal', - 'stmib','stmibal', - 'stmia','stmiaal', - 'stmea','stmeaal', - 'stmed','stmedal', - 'stdfa','stdfaal', - 'stdfd','stdfdal', - 'strd','strdal', - 'str.w','stral.w', - 'str','stral', - 'strh.w','strhal.w', - 'strh','strhal', - 'strb.w','strbal.w', - 'strb','strbal', - 'strt','strtal', - 'strht','strhtal', - 'strbt','strbtal', - 'push.w','pushal.w', - 'push','pushal' - ), - /* Conditional Memory Access */ - 4 => array( - /* Memory Access: Conditional Memory Loads and Prefetches */ - 'ldmeq.w','ldmne.w','ldmcs.w','ldmhs.w','ldmcc.w','ldmlo.w','ldmmi.w','ldmpl.w','ldmvs.w','ldmvc.w','ldmhi.w','ldmls.w','ldmge.w','ldmlt.w','ldmgt.w','ldmle.w', - 'ldmeq','ldmne','ldmcs','ldmhs','ldmcc','ldmlo','ldmmi','ldmpl','ldmvs','ldmvc','ldmhi','ldmls','ldmge','ldmlt','ldmgt','ldmle', - 'ldmdaeq','ldmdane','ldmdacs','ldmdahs','ldmdacc','ldmdalo','ldmdami','ldmdapl','ldmdavs','ldmdavc','ldmdahi','ldmdals','ldmdage','ldmdalt','ldmdagt','ldmdale', - 'ldmdbeq','ldmdbne','ldmdbcs','ldmdbhs','ldmdbcc','ldmdblo','ldmdbmi','ldmdbpl','ldmdbvs','ldmdbvc','ldmdbhi','ldmdbls','ldmdbge','ldmdblt','ldmdbgt','ldmdble', - 'ldmibeq','ldmibne','ldmibcs','ldmibhs','ldmibcc','ldmiblo','ldmibmi','ldmibpl','ldmibvs','ldmibvc','ldmibhi','ldmibls','ldmibge','ldmiblt','ldmibgt','ldmible', - 'ldmiaeq','ldmiane','ldmiacs','ldmiahs','ldmiacc','ldmialo','ldmiami','ldmiapl','ldmiavs','ldmiavc','ldmiahi','ldmials','ldmiage','ldmialt','ldmiagt','ldmiale', - 'ldmeaeq','ldmeane','ldmeacs','ldmeahs','ldmeacc','ldmealo','ldmeami','ldmeapl','ldmeavs','ldmeavc','ldmeahi','ldmeals','ldmeage','ldmealt','ldmeagt','ldmeale', - 'ldmedeq','ldmedne','ldmedcs','ldmedhs','ldmedcc','ldmedlo','ldmedmi','ldmedpl','ldmedvs','ldmedvc','ldmedhi','ldmedls','ldmedge','ldmedlt','ldmedgt','ldmedle', - 'ldmfaeq','ldmfane','ldmfacs','ldmfahs','ldmfacc','ldmfalo','ldmfami','ldmfapl','ldmfavs','ldmfavc','ldmfahi','ldmfals','ldmfage','ldmfalt','ldmfagt','ldmfale', - 'ldmfdeq','ldmfdne','ldmfdcs','ldmfdhs','ldmfdcc','ldmfdlo','ldmfdmi','ldmfdpl','ldmfdvs','ldmfdvc','ldmfdhi','ldmfdls','ldmfdge','ldmfdlt','ldmfdgt','ldmfdle', - 'ldrdeq','ldrdne','ldrdcs','ldrdhs','ldrdcc','ldrdlo','ldrdmi','ldrdpl','ldrdvs','ldrdvc','ldrdhi','ldrdls','ldrdge','ldrdlt','ldrdgt','ldrdle', - 'ldreq.w','ldrne.w','ldrcs.w','ldrhs.w','ldrcc.w','ldrlo.w','ldrmi.w','ldrpl.w','ldrvs.w','ldrvc.w','ldrhi.w','ldrls.w','ldrge.w','ldrlt.w','ldrgt.w','ldrle.w', - 'ldreq','ldrne','ldrcs','ldrhs','ldrcc','ldrlo','ldrmi','ldrpl','ldrvs','ldrvc','ldrhi','ldrls','ldrge','ldrlt','ldrgt','ldrle', - 'ldrheq.w','ldrhne.w','ldrhcs.w','ldrhhs.w','ldrhcc.w','ldrhlo.w','ldrhmi.w','ldrhpl.w','ldrhvs.w','ldrhvc.w','ldrhhi.w','ldrhls.w','ldrhge.w','ldrhlt.w','ldrhgt.w','ldrhle.w', - 'ldrheq','ldrhne','ldrhcs','ldrhhs','ldrhcc','ldrhlo','ldrhmi','ldrhpl','ldrhvs','ldrhvc','ldrhhi','ldrhls','ldrhge','ldrhlt','ldrhgt','ldrhle', - 'ldrbeq.w','ldrbne.w','ldrbcs.w','ldrbhs.w','ldrbcc.w','ldrblo.w','ldrbmi.w','ldrbpl.w','ldrbvs.w','ldrbvc.w','ldrbhi.w','ldrbls.w','ldrbge.w','ldrblt.w','ldrbgt.w','ldrble.w', - 'ldrbeq','ldrbne','ldrbcs','ldrbhs','ldrbcc','ldrblo','ldrbmi','ldrbpl','ldrbvs','ldrbvc','ldrbhi','ldrbls','ldrbge','ldrblt','ldrbgt','ldrble', - 'ldrsheq.w','ldrshne.w','ldrshcs.w','ldrshhs.w','ldrshcc.w','ldrshlo.w','ldrshmi.w','ldrshpl.w','ldrshvs.w','ldrshvc.w','ldrshhi.w','ldrshls.w','ldrshge.w','ldrshlt.w','ldrshgt.w','ldrshle.w', - 'ldrsheq','ldrshne','ldrshcs','ldrshhs','ldrshcc','ldrshlo','ldrshmi','ldrshpl','ldrshvs','ldrshvc','ldrshhi','ldrshls','ldrshge','ldrshlt','ldrshgt','ldrshle', - 'ldrsbeq.w','ldrsbne.w','ldrsbcs.w','ldrsbhs.w','ldrsbcc.w','ldrsblo.w','ldrsbmi.w','ldrsbpl.w','ldrsbvs.w','ldrsbvc.w','ldrsbhi.w','ldrsbls.w','ldrsbge.w','ldrsblt.w','ldrsbgt.w','ldrsble.w', - 'ldrsbeq','ldrsbne','ldrsbcs','ldrsbhs','ldrsbcc','ldrsblo','ldrsbmi','ldrsbpl','ldrsbvs','ldrsbvc','ldrsbhi','ldrsbls','ldrsbge','ldrsblt','ldrsbgt','ldrsble', - 'ldrteq','ldrtne','ldrtcs','ldrths','ldrtcc','ldrtlo','ldrtmi','ldrtpl','ldrtvs','ldrtvc','ldrthi','ldrtls','ldrtge','ldrtlt','ldrtgt','ldrtle', - 'ldrhteq','ldrhtne','ldrhtcs','ldrhths','ldrhtcc','ldrhtlo','ldrhtmi','ldrhtpl','ldrhtvs','ldrhtvc','ldrhthi','ldrhtls','ldrhtge','ldrhtlt','ldrhtgt','ldrhtle', - 'ldrbteq','ldrbtne','ldrbtcs','ldrbths','ldrbtcc','ldrbtlo','ldrbtmi','ldrbtpl','ldrbtvs','ldrbtvc','ldrbthi','ldrbtls','ldrbtge','ldrbtlt','ldrbtgt','ldrbtle', - 'ldrshteq','ldrshtne','ldrshtcs','ldrshths','ldrshtcc','ldrshtlo','ldrshtmi','ldrshtpl','ldrshtvs','ldrshtvc','ldrshthi','ldrshtls','ldrshtge','ldrshtlt','ldrshtgt','ldrshtle', - 'ldrsbteq','ldrsbtne','ldrsbtcs','ldrsbths','ldrsbtcc','ldrsbtlo','ldrsbtmi','ldrsbtpl','ldrsbtvs','ldrsbtvc','ldrsbthi','ldrsbtls','ldrsbtge','ldrsbtlt','ldrsbtgt','ldrsbtle', - 'popeq.w','popne.w','popcs.w','pophs.w','popcc.w','poplo.w','popmi.w','poppl.w','popvs.w','popvc.w','pophi.w','popls.w','popge.w','poplt.w','popgt.w','pople.w', - 'popeq','popne','popcs','pophs','popcc','poplo','popmi','poppl','popvs','popvc','pophi','popls','popge','poplt','popgt','pople', - 'pldeq','pldne','pldcs','pldhs','pldcc','pldlo','pldmi','pldpl','pldvs','pldvc','pldhi','pldls','pldge','pldlt','pldgt','pldle', - 'pldweq','pldwne','pldwcs','pldwhs','pldwcc','pldwlo','pldwmi','pldwpl','pldwvs','pldwvc','pldwhi','pldwls','pldwge','pldwlt','pldwgt','pldwle', - 'plieq','pline','plics','plihs','plicc','plilo','plimi','plipl','plivs','plivc','plihi','plils','plige','plilt','pligt','plile', - /* Memory Access: Conditional Memory Stores */ - 'stmeq.w','stmne.w','stmcs.w','stmhs.w','stmcc.w','stmlo.w','stmmi.w','stmpl.w','stmvs.w','stmvc.w','stmhi.w','stmls.w','stmge.w','stmlt.w','stmgt.w','stmle.w', - 'stmeq','stmne','stmcs','stmhs','stmcc','stmlo','stmmi','stmpl','stmvs','stmvc','stmhi','stmls','stmge','stmlt','stmgt','stmle', - 'stmdaeq','stmdane','stmdacs','stmdahs','stmdacc','stmdalo','stmdami','stmdapl','stmdavs','stmdavc','stmdahi','stmdals','stmdage','stmdalt','stmdagt','stmdale', - 'stmdbeq','stmdbne','stmdbcs','stmdbhs','stmdbcc','stmdblo','stmdbmi','stmdbpl','stmdbvs','stmdbvc','stmdbhi','stmdbls','stmdbge','stmdblt','stmdbgt','stmdble', - 'stmibeq','stmibne','stmibcs','stmibhs','stmibcc','stmiblo','stmibmi','stmibpl','stmibvs','stmibvc','stmibhi','stmibls','stmibge','stmiblt','stmibgt','stmible', - 'stmiaeq','stmiane','stmiacs','stmiahs','stmiacc','stmialo','stmiami','stmiapl','stmiavs','stmiavc','stmiahi','stmials','stmiage','stmialt','stmiagt','stmiale', - 'stmeaeq','stmeane','stmeacs','stmeahs','stmeacc','stmealo','stmeami','stmeapl','stmeavs','stmeavc','stmeahi','stmeals','stmeage','stmealt','stmeagt','stmeale', - 'stmedeq','stmedne','stmedcs','stmedhs','stmedcc','stmedlo','stmedmi','stmedpl','stmedvs','stmedvc','stmedhi','stmedls','stmedge','stmedlt','stmedgt','stmedle', - 'stdfaeq','stdfane','stdfacs','stdfahs','stdfacc','stdfalo','stdfami','stdfapl','stdfavs','stdfavc','stdfahi','stdfals','stdfage','stdfalt','stdfagt','stdfale', - 'stdfdeq','stdfdne','stdfdcs','stdfdhs','stdfdcc','stdfdlo','stdfdmi','stdfdpl','stdfdvs','stdfdvc','stdfdhi','stdfdls','stdfdge','stdfdlt','stdfdgt','stdfdle', - 'strdeq','strdne','strdcs','strdhs','strdcc','strdlo','strdmi','strdpl','strdvs','strdvc','strdhi','strdls','strdge','strdlt','strdgt','strdle', - 'streq.w','strne.w','strcs.w','strhs.w','strcc.w','strlo.w','strmi.w','strpl.w','strvs.w','strvc.w','strhi.w','strls.w','strge.w','strlt.w','strgt.w','strle.w', - 'streq','strne','strcs','strhs','strcc','strlo','strmi','strpl','strvs','strvc','strhi','strls','strge','strlt','strgt','strle', - 'strheq.w','strhne.w','strhcs.w','strhhs.w','strhcc.w','strhlo.w','strhmi.w','strhpl.w','strhvs.w','strhvc.w','strhhi.w','strhls.w','strhge.w','strhlt.w','strhgt.w','strhle.w', - 'strheq','strhne','strhcs','strhhs','strhcc','strhlo','strhmi','strhpl','strhvs','strhvc','strhhi','strhls','strhge','strhlt','strhgt','strhle', - 'strbeq.w','strbne.w','strbcs.w','strbhs.w','strbcc.w','strblo.w','strbmi.w','strbpl.w','strbvs.w','strbvc.w','strbhi.w','strbls.w','strbge.w','strblt.w','strbgt.w','strble.w', - 'strbeq','strbne','strbcs','strbhs','strbcc','strblo','strbmi','strbpl','strbvs','strbvc','strbhi','strbls','strbge','strblt','strbgt','strble', - 'strteq','strtne','strtcs','strths','strtcc','strtlo','strtmi','strtpl','strtvs','strtvc','strthi','strtls','strtge','strtlt','strtgt','strtle', - 'strhteq','strhtne','strhtcs','strhths','strhtcc','strhtlo','strhtmi','strhtpl','strhtvs','strhtvc','strhthi','strhtls','strhtge','strhtlt','strhtgt','strhtle', - 'strbteq','strbtne','strbtcs','strbths','strbtcc','strbtlo','strbtmi','strbtpl','strbtvs','strbtvc','strbthi','strbtls','strbtge','strbtlt','strbtgt','strbtle', - 'pusheq.w','pushne.w','pushcs.w','pushhs.w','pushcc.w','pushlo.w','pushmi.w','pushpl.w','pushvs.w','pushvc.w','pushhi.w','pushls.w','pushge.w','pushlt.w','pushgt.w','pushle.w', - 'pusheq','pushne','pushcs','pushhs','pushcc','pushlo','pushmi','pushpl','pushvs','pushvc','pushhi','pushls','pushge','pushlt','pushgt','pushle' - ), - /* Unconditional Flags-Affecting Instructions */ - 5 => array( - /* Set Flags: Unconditional Addition and Subtraction */ - 'adds.w','addsal.w', - 'adds','addsal', - 'subs.w','subsal.w', - 'subs','subsal', - 'rsbs.w','rsbsal.w', - 'rsbs','rsbsal', - 'negs.w','negsal.w', - 'negs','negsal', - 'adcs.w','adcsal.w', - 'adcs','adcsal', - 'sbcs.w','sbcsal.w', - 'sbcs','sbcsal', - 'rscs','rscsal', - 'cmp.w','cmpal.w', - 'cmp','cmpal', - 'cmn.w','cmnal.w', - 'cmn','cmnal', - /* Set Flags: Unconditional Logical */ - 'ands.w','andsal.w', - 'ands','andsal', - 'bics.w','bicsal.w', - 'bics','bicsal', - 'orrs.w','orrsal.w', - 'orrs','orrsal', - 'orns.w','ornsal.w', - 'orns','ornsal', - 'eors.w','eorsal.w', - 'eors','eorsal', - 'mvns.w','mvnsal.w', - 'mvns','mvnsal', - 'movs.w','movsal.w', - 'movs','movsal', - 'teq','teqal', - 'tst.w','tstal.w', - 'tst','tstal', - 'mrs','mrsal', - 'msr','msral', - /* Set Flags: Unconditional Shifts and Rotates */ - 'asrs.w','asrsal.w', - 'asrs','asrsal', - 'lsls.w','lslsal.w', - 'lsls','lslsal', - 'lsrs.w','lsrsal.w', - 'lsrs','lsrsal', - 'rors.w','rorsal.w', - 'rors','rorsal', - 'rrxs','rrxsal', - /* Set Flags: Unconditional Multiply and Multiply-Add */ - 'mlas','mlasal', - 'smulls','smullsal', - 'umulls','umullsal', - 'smlals','smlalsal', - 'umlals','umlalsal' - ), - /* Conditional Flags-Affecting Instructions */ - 6 => array( - /* Set Flags: Conditional Addition and Subtraction */ - 'addseq.w','addsne.w','addscs.w','addshs.w','addscc.w','addslo.w','addsmi.w','addspl.w','addsvs.w','addsvc.w','addshi.w','addsls.w','addsge.w','addslt.w','addsgt.w','addsle.w', - 'addseq','addsne','addscs','addshs','addscc','addslo','addsmi','addspl','addsvs','addsvc','addshi','addsls','addsge','addslt','addsgt','addsle', - 'subseq.w','subsne.w','subscs.w','subshs.w','subscc.w','subslo.w','subsmi.w','subspl.w','subsvs.w','subsvc.w','subshi.w','subsls.w','subsge.w','subslt.w','subsgt.w','subsle.w', - 'subseq','subsne','subscs','subshs','subscc','subslo','subsmi','subspl','subsvs','subsvc','subshi','subsls','subsge','subslt','subsgt','subsle', - 'rsbseq.w','rsbsne.w','rsbscs.w','rsbshs.w','rsbscc.w','rsbslo.w','rsbsmi.w','rsbspl.w','rsbsvs.w','rsbsvc.w','rsbshi.w','rsbsls.w','rsbsge.w','rsbslt.w','rsbsgt.w','rsbsle.w', - 'rsbseq','rsbsne','rsbscs','rsbshs','rsbscc','rsbslo','rsbsmi','rsbspl','rsbsvs','rsbsvc','rsbshi','rsbsls','rsbsge','rsbslt','rsbsgt','rsbsle', - 'negseq.w','negsne.w','negscs.w','negshs.w','negscc.w','negslo.w','negsmi.w','negspl.w','negsvs.w','negsvc.w','negshi.w','negsls.w','negsge.w','negslt.w','negsgt.w','negsle.w', - 'negseq','negsne','negscs','negshs','negscc','negslo','negsmi','negspl','negsvs','negsvc','negshi','negsls','negsge','negslt','negsgt','negsle', - 'adcseq.w','adcsne.w','adcscs.w','adcshs.w','adcscc.w','adcslo.w','adcsmi.w','adcspl.w','adcsvs.w','adcsvc.w','adcshi.w','adcsls.w','adcsge.w','adcslt.w','adcsgt.w','adcsle.w', - 'adcseq','adcsne','adcscs','adcshs','adcscc','adcslo','adcsmi','adcspl','adcsvs','adcsvc','adcshi','adcsls','adcsge','adcslt','adcsgt','adcsle', - 'sbcseq.w','sbcsne.w','sbcscs.w','sbcshs.w','sbcscc.w','sbcslo.w','sbcsmi.w','sbcspl.w','sbcsvs.w','sbcsvc.w','sbcshi.w','sbcsls.w','sbcsge.w','sbcslt.w','sbcsgt.w','sbcsle.w', - 'sbcseq','sbcsne','sbcscs','sbcshs','sbcscc','sbcslo','sbcsmi','sbcspl','sbcsvs','sbcsvc','sbcshi','sbcsls','sbcsge','sbcslt','sbcsgt','sbcsle', - 'rscseq','rscsne','rscscs','rscshs','rscscc','rscslo','rscsmi','rscspl','rscsvs','rscsvc','rscshi','rscsls','rscsge','rscslt','rscsgt','rscsle', - 'cmpeq.w','cmpne.w','cmpcs.w','cmphs.w','cmpcc.w','cmplo.w','cmpmi.w','cmppl.w','cmpvs.w','cmpvc.w','cmphi.w','cmpls.w','cmpge.w','cmplt.w','cmpgt.w','cmple.w', - 'cmpeq','cmpne','cmpcs','cmphs','cmpcc','cmplo','cmpmi','cmppl','cmpvs','cmpvc','cmphi','cmpls','cmpge','cmplt','cmpgt','cmple', - 'cmneq.w','cmnne.w','cmncs.w','cmnhs.w','cmncc.w','cmnlo.w','cmnmi.w','cmnpl.w','cmnvs.w','cmnvc.w','cmnhi.w','cmnls.w','cmnge.w','cmnlt.w','cmngt.w','cmnle.w', - 'cmneq','cmnne','cmncs','cmnhs','cmncc','cmnlo','cmnmi','cmnpl','cmnvs','cmnvc','cmnhi','cmnls','cmnge','cmnlt','cmngt','cmnle', - /* Set Flags: Conditional Logical */ - 'andseq.w','andsne.w','andscs.w','andshs.w','andscc.w','andslo.w','andsmi.w','andspl.w','andsvs.w','andsvc.w','andshi.w','andsls.w','andsge.w','andslt.w','andsgt.w','andsle.w', - 'andseq','andsne','andscs','andshs','andscc','andslo','andsmi','andspl','andsvs','andsvc','andshi','andsls','andsge','andslt','andsgt','andsle', - 'bicseq.w','bicsne.w','bicscs.w','bicshs.w','bicscc.w','bicslo.w','bicsmi.w','bicspl.w','bicsvs.w','bicsvc.w','bicshi.w','bicsls.w','bicsge.w','bicslt.w','bicsgt.w','bicsle.w', - 'bicseq','bicsne','bicscs','bicshs','bicscc','bicslo','bicsmi','bicspl','bicsvs','bicsvc','bicshi','bicsls','bicsge','bicslt','bicsgt','bicsle', - 'orrseq.w','orrsne.w','orrscs.w','orrshs.w','orrscc.w','orrslo.w','orrsmi.w','orrspl.w','orrsvs.w','orrsvc.w','orrshi.w','orrsls.w','orrsge.w','orrslt.w','orrsgt.w','orrsle.w', - 'orrseq','orrsne','orrscs','orrshs','orrscc','orrslo','orrsmi','orrspl','orrsvs','orrsvc','orrshi','orrsls','orrsge','orrslt','orrsgt','orrsle', - 'ornseq.w','ornsne.w','ornscs.w','ornshs.w','ornscc.w','ornslo.w','ornsmi.w','ornspl.w','ornsvs.w','ornsvc.w','ornshi.w','ornsls.w','ornsge.w','ornslt.w','ornsgt.w','ornsle.w', - 'ornseq','ornsne','ornscs','ornshs','ornscc','ornslo','ornsmi','ornspl','ornsvs','ornsvc','ornshi','ornsls','ornsge','ornslt','ornsgt','ornsle', - 'eorseq.w','eorsne.w','eorscs.w','eorshs.w','eorscc.w','eorslo.w','eorsmi.w','eorspl.w','eorsvs.w','eorsvc.w','eorshi.w','eorsls.w','eorsge.w','eorslt.w','eorsgt.w','eorsle.w', - 'eorseq','eorsne','eorscs','eorshs','eorscc','eorslo','eorsmi','eorspl','eorsvs','eorsvc','eorshi','eorsls','eorsge','eorslt','eorsgt','eorsle', - 'mvnseq.w','mvnsne.w','mvnscs.w','mvnshs.w','mvnscc.w','mvnslo.w','mvnsmi.w','mvnspl.w','mvnsvs.w','mvnsvc.w','mvnshi.w','mvnsls.w','mvnsge.w','mvnslt.w','mvnsgt.w','mvnsle.w', - 'mvnseq','mvnsne','mvnscs','mvnshs','mvnscc','mvnslo','mvnsmi','mvnspl','mvnsvs','mvnsvc','mvnshi','mvnsls','mvnsge','mvnslt','mvnsgt','mvnsle', - 'movseq.w','movsne.w','movscs.w','movshs.w','movscc.w','movslo.w','movsmi.w','movspl.w','movsvs.w','movsvc.w','movshi.w','movsls.w','movsge.w','movslt.w','movsgt.w','movsle.w', - 'movseq','movsne','movscs','movshs','movscc','movslo','movsmi','movspl','movsvs','movsvc','movshi','movsls','movsge','movslt','movsgt','movsle', - 'teqeq','teqne','teqcs','teqhs','teqcc','teqlo','teqmi','teqpl','teqvs','teqvc','teqhi','teqls','teqge','teqlt','teqgt','teqle', - 'tsteq.w','tstne.w','tstcs.w','tsths.w','tstcc.w','tstlo.w','tstmi.w','tstpl.w','tstvs.w','tstvc.w','tsthi.w','tstls.w','tstge.w','tstlt.w','tstgt.w','tstle.w', - 'tsteq','tstne','tstcs','tsths','tstcc','tstlo','tstmi','tstpl','tstvs','tstvc','tsthi','tstls','tstge','tstlt','tstgt','tstle', - 'mrseq','mrsne','mrscs','mrshs','mrscc','mrslo','mrsmi','mrspl','mrsvs','mrsvc','mrshi','mrsls','mrsge','mrslt','mrsgt','mrsle', - 'msreq','msrne','msrcs','msrhs','msrcc','msrlo','msrmi','msrpl','msrvs','msrvc','msrhi','msrls','msrge','msrlt','msrgt','msrle', - /* Set Flags: Conditional Shifts and Rotates */ - 'asrseq.w','asrsne.w','asrscs.w','asrshs.w','asrscc.w','asrslo.w','asrsmi.w','asrspl.w','asrsvs.w','asrsvc.w','asrshi.w','asrsls.w','asrsge.w','asrslt.w','asrsgt.w','asrsle.w', - 'asrseq','asrsne','asrscs','asrshs','asrscc','asrslo','asrsmi','asrspl','asrsvs','asrsvc','asrshi','asrsls','asrsge','asrslt','asrsgt','asrsle', - 'lslseq.w','lslsne.w','lslscs.w','lslshs.w','lslscc.w','lslslo.w','lslsmi.w','lslspl.w','lslsvs.w','lslsvc.w','lslshi.w','lslsls.w','lslsge.w','lslslt.w','lslsgt.w','lslsle.w', - 'lslseq','lslsne','lslscs','lslshs','lslscc','lslslo','lslsmi','lslspl','lslsvs','lslsvc','lslshi','lslsls','lslsge','lslslt','lslsgt','lslsle', - 'lsrseq.w','lsrsne.w','lsrscs.w','lsrshs.w','lsrscc.w','lsrslo.w','lsrsmi.w','lsrspl.w','lsrsvs.w','lsrsvc.w','lsrshi.w','lsrsls.w','lsrsge.w','lsrslt.w','lsrsgt.w','lsrsle.w', - 'lsrseq','lsrsne','lsrscs','lsrshs','lsrscc','lsrslo','lsrsmi','lsrspl','lsrsvs','lsrsvc','lsrshi','lsrsls','lsrsge','lsrslt','lsrsgt','lsrsle', - 'rorseq.w','rorsne.w','rorscs.w','rorshs.w','rorscc.w','rorslo.w','rorsmi.w','rorspl.w','rorsvs.w','rorsvc.w','rorshi.w','rorsls.w','rorsge.w','rorslt.w','rorsgt.w','rorsle.w', - 'rorseq','rorsne','rorscs','rorshs','rorscc','rorslo','rorsmi','rorspl','rorsvs','rorsvc','rorshi','rorsls','rorsge','rorslt','rorsgt','rorsle', - 'rrxseq','rrxsne','rrxscs','rrxshs','rrxscc','rrxslo','rrxsmi','rrxspl','rrxsvs','rrxsvc','rrxshi','rrxsls','rrxsge','rrxslt','rrxsgt','rrxsle', - /* Set Flags: Conditional Multiply and Multiply-Add */ - 'mlaseq','mlasne','mlascs','mlashs','mlascc','mlaslo','mlasmi','mlaspl','mlasvs','mlasvc','mlashi','mlasls','mlasge','mlaslt','mlasgt','mlasle', - 'smullseq','smullsne','smullscs','smullshs','smullscc','smullslo','smullsmi','smullspl','smullsvs','smullsvc','smullshi','smullsls','smullsge','smullslt','smullsgt','smullsle', - 'umullseq','umullsne','umullscs','umullshs','umullscc','umullslo','umullsmi','umullspl','umullsvs','umullsvc','umullshi','umullsls','umullsge','umullslt','umullsgt','umullsle', - 'smlalseq','smlalsne','smlalscs','smlalshs','smlalscc','smlalslo','smlalsmi','smlalspl','smlalsvs','smlalsvc','smlalshi','smlalsls','smlalsge','smlalslt','smlalsgt','smlalsle', - 'umlalseq','umlalsne','umlalscs','umlalshs','umlalscc','umlalslo','umlalsmi','umlalspl','umlalsvs','umlalsvc','umlalshi','umlalsls','umlalsge','umlalslt','umlalsgt','umlalsle' - ), - /* Unconditional Flow Control Instructions */ - 7 => array( - /* Flow Control: Unconditional Branch and If-Then-Else */ - 'b.w','bal.w', - 'b','bal', - 'bl','blal', - 'bx','bxal', - 'blx','blxal', - 'bxj','bxjal', - 'cbnz', - 'cbz', - 'tbb','tbbal', - 'tbh','tbhal', - 'it', - 'itt', - 'ite', - 'ittt', - 'itet', - 'itte', - 'itee', - 'itttt', - 'itett', - 'ittet', - 'iteet', - 'ittte', - 'itete', - 'ittee', - 'iteee' - ), - /* Conditional Flow Control Instructions */ - 8 => array( - /* Flow Control: Conditional Branch and If-Then-Else */ - 'beq.w','bne.w','bcs.w','bhs.w','bcc.w','blo.w','bmi.w','bpl.w','bvs.w','bvc.w','bhi.w','bls.w','bge.w','blt.w','bgt.w','ble.w', - 'beq','bne','bcs','bhs','bcc','blo','bmi','bpl','bvs','bvc','bhi','bls','bge','blt','bgt','ble', - 'bleq','blne','blcs','blhs','blcc','bllo','blmi','blpl','blvs','blvc','blhi','blls','blge','bllt','blgt','blle', - 'bxeq','bxne','bxcs','bxhs','bxcc','bxlo','bxmi','bxpl','bxvs','bxvc','bxhi','bxls','bxge','bxlt','bxgt','bxle', - 'blxeq','blxne','blxcs','blxhs','blxcc','blxlo','blxmi','blxpl','blxvs','blxvc','blxhi','blxls','blxge','blxlt','blxgt','blxle', - 'bxjeq','bxjne','bxjcs','bxjhs','bxjcc','bxjlo','bxjmi','bxjpl','bxjvs','bxjvc','bxjhi','bxjls','bxjge','bxjlt','bxjgt','bxjle', - 'tbbeq','tbbne','tbbcs','tbbhs','tbbcc','tbblo','tbbmi','tbbpl','tbbvs','tbbvc','tbbhi','tbbls','tbbge','tbblt','tbbgt','tbble', - 'tbheq','tbhne','tbhcs','tbhhs','tbhcc','tbhlo','tbhmi','tbhpl','tbhvs','tbhvc','tbhhi','tbhls','tbhge','tbhlt','tbhgt','tbhle' - ), - /* Unconditional Syncronization Instructions */ - 9 => array( - /* Synchronization: Unconditional Loads, Stores and Barriers */ - 'ldrexd','ldrexdal', - 'ldrex','ldrexal', - 'ldrexh','ldrexhal', - 'ldrexb','ldrexbal', - 'strexd','strexdal', - 'strex','strexal', - 'strexh','strexhal', - 'strexb','strexbal', - 'clrex','clrexal', - 'swp','swpal', - 'swpb','swpbal', - 'dbc','dbcal', - 'dsb','dsbal', - 'isb','isbal', - 'yield.w','yieldal.w', - 'yield','yieldal', - 'nop.w','nopal.w', - 'nop','nopal' - ), - /* Conditional Syncronization Instructions */ - 10 => array( - /* Synchronization: Conditional Loads, Stores and Barriers */ - 'ldrexdeq','ldrexdne','ldrexdcs','ldrexdhs','ldrexdcc','ldrexdlo','ldrexdmi','ldrexdpl','ldrexdvs','ldrexdvc','ldrexdhi','ldrexdls','ldrexdge','ldrexdlt','ldrexdgt','ldrexdle', - 'ldrexeq','ldrexne','ldrexcs','ldrexhs','ldrexcc','ldrexlo','ldrexmi','ldrexpl','ldrexvs','ldrexvc','ldrexhi','ldrexls','ldrexge','ldrexlt','ldrexgt','ldrexle', - 'ldrexheq','ldrexhne','ldrexhcs','ldrexhhs','ldrexhcc','ldrexhlo','ldrexhmi','ldrexhpl','ldrexhvs','ldrexhvc','ldrexhhi','ldrexhls','ldrexhge','ldrexhlt','ldrexhgt','ldrexhle', - 'ldrexbeq','ldrexbne','ldrexbcs','ldrexbhs','ldrexbcc','ldrexblo','ldrexbmi','ldrexbpl','ldrexbvs','ldrexbvc','ldrexbhi','ldrexbls','ldrexbge','ldrexblt','ldrexbgt','ldrexble', - 'strexdeq','strexdne','strexdcs','strexdhs','strexdcc','strexdlo','strexdmi','strexdpl','strexdvs','strexdvc','strexdhi','strexdls','strexdge','strexdlt','strexdgt','strexdle', - 'strexeq','strexne','strexcs','strexhs','strexcc','strexlo','strexmi','strexpl','strexvs','strexvc','strexhi','strexls','strexge','strexlt','strexgt','strexle', - 'strexheq','strexhne','strexhcs','strexhhs','strexhcc','strexhlo','strexhmi','strexhpl','strexhvs','strexhvc','strexhhi','strexhls','strexhge','strexhlt','strexhgt','strexhle', - 'strexbeq','strexbne','strexbcs','strexbhs','strexbcc','strexblo','strexbmi','strexbpl','strexbvs','strexbvc','strexbhi','strexbls','strexbge','strexblt','strexbgt','strexble', - 'clrexeq','clrexne','clrexcs','clrexhs','clrexcc','clrexlo','clrexmi','clrexpl','clrexvs','clrexvc','clrexhi','clrexls','clrexge','clrexlt','clrexgt','clrexle', - 'swpeq','swpne','swpcs','swphs','swpcc','swplo','swpmi','swppl','swpvs','swpvc','swphi','swpls','swpge','swplt','swpgt','swple', - 'swpbeq','swpbne','swpbcs','swpbhs','swpbcc','swpblo','swpbmi','swpbpl','swpbvs','swpbvc','swpbhi','swpbls','swpbge','swpblt','swpbgt','swpble', - 'dbceq','dbcne','dbccs','dbchs','dbccc','dbclo','dbcmi','dbcpl','dbcvs','dbcvc','dbchi','dbcls','dbcge','dbclt','dbcgt','dbcle', - 'dsbeq','dsbne','dsbcs','dsbhs','dsbcc','dsblo','dsbmi','dsbpl','dsbvs','dsbvc','dsbhi','dsbls','dsbge','dsblt','dsbgt','dsble', - 'isbeq','isbne','isbcs','isbhs','isbcc','isblo','isbmi','isbpl','isbvs','isbvc','isbhi','isbls','isbge','isblt','isbgt','isble', - 'yieldeq.w','yieldne.w','yieldcs.w','yieldhs.w','yieldcc.w','yieldlo.w','yieldmi.w','yieldpl.w','yieldvs.w','yieldvc.w','yieldhi.w','yieldls.w','yieldge.w','yieldlt.w','yieldgt.w','yieldle.w', - 'yieldeq','yieldne','yieldcs','yieldhs','yieldcc','yieldlo','yieldmi','yieldpl','yieldvs','yieldvc','yieldhi','yieldls','yieldge','yieldlt','yieldgt','yieldle', - 'nopeq.w','nopne.w','nopcs.w','nophs.w','nopcc.w','noplo.w','nopmi.w','noppl.w','nopvs.w','nopvc.w','nophi.w','nopls.w','nopge.w','noplt.w','nopgt.w','nople.w', - 'nopeq','nopne','nopcs','nophs','nopcc','noplo','nopmi','noppl','nopvs','nopvc','nophi','nopls','nopge','noplt','nopgt','nople' - ), - /* Unconditional ARMv6 SIMD */ - 11 => array( - /* ARMv6 SIMD: Unconditional Addition, Subtraction & Saturation */ - 'sadd16','sadd16al', - 'sadd8','sadd8al', - 'uadd16','uadd16al', - 'uadd8','uadd8al', - 'ssub16','ssub16al', - 'ssub8','ssub8al', - 'usub16','usub16al', - 'usub8','usub8al', - 'sasx','sasxal', - 'ssax','ssaxal', - 'uasx','uasxal', - 'usax','usaxal', - 'usad8','usad8al', - 'usada8','usada8al', - /* ARMv6 SIMD: Unconditional Halving Addition & Subtraction */ - 'shadd16','shadd16al', - 'shadd8','shadd8al', - 'uhadd16','uhadd16al', - 'uhadd8','uhadd8al', - 'shsub16','shsub16al', - 'shsub8','shsub8al', - 'uhsub16','uhsub16al', - 'uhsub8','uhsub8al', - 'shasx','shasxal', - 'shsax','shsaxal', - 'uhasx','uhasxal', - 'uhsax','uhsaxal', - /* ARMv6 SIMD: Unconditional Saturating Operations */ - 'qadd','qaddal', - 'qadd16','qadd16al', - 'qadd8','qadd8al', - 'uqadd16','uqadd16al', - 'uqadd8','uqadd8al', - 'qsub','qsubal', - 'qsub16','qsub16al', - 'qsub8','qsub8al', - 'uqsub16','uqsub16al', - 'uqsub8','uqsub8al', - 'qasx','qasxal', - 'qsax','qsaxal', - 'uqasx','uqasxal', - 'uqsax','uqsaxal', - 'qdadd','qdaddal', - 'qdsub','qdsubal', - 'ssat','ssatal', - 'ssat16','ssat16al', - 'usat','usatal', - 'usat16','usat16al', - /* ARMv6 SIMD: Unconditional Permutation and Combine Operations */ - 'sxtah','sxtahal', - 'sxtab','sxtabal', - 'sxtab16','sxtab16al', - 'uxtah','uxtahal', - 'uxtab','uxtabal', - 'uxtab16','uxtab16al', - 'sxth.w','sxthal.w', - 'sxth','sxthal', - 'sxtb.w','sxtbal.w', - 'sxtb','sxtbal', - 'sxtb16','sxtb16al', - 'uxth.w','uxthal.w', - 'uxth','uxthal', - 'uxtb.w','uxtbal.w', - 'uxtb','uxtbal', - 'uxtb16','uxtb16al', - 'pkhbt','pkhbtal', - 'pkhtb','pkhtbal', - 'rbit','rbital', - 'rev.w','reval.w', - 'rev','reval', - 'rev16.w','rev16al.w', - 'rev16','rev16al', - 'revsh.w','revshal.w', - 'revsh','revshal', - 'sel','selal', - /* ARMv6 SIMD: Unconditional Multiply and Multiply-Add */ - 'smlad','smladal', - 'smladx','smladxal', - 'smlsd','smlsdal', - 'smlsdx','smlsdxal', - 'smlald','smlaldal', - 'smlaldx','smlaldxal', - 'smlsld','smlsldal', - 'smlsldx','smlsldxal', - 'smmul','smmulal', - 'smmulr','smmulral', - 'smmla','smmlaal', - 'smmlar','smmlaral', - 'smmls','smmlsal', - 'smmlsr','smmlsral', - 'smuad','smuadal', - 'smuadx','smuadxal', - 'smusd','smusdal', - 'smusdx','smusdxal', - 'umaal','umaalal' - ), - /* Conditional ARMv6 SIMD */ - 12 => array( - /* ARMv6 SIMD: Conditional Addition, Subtraction & Saturation */ - 'sadd16eq','sadd16ne','sadd16cs','sadd16hs','sadd16cc','sadd16lo','sadd16mi','sadd16pl','sadd16vs','sadd16vc','sadd16hi','sadd16ls','sadd16ge','sadd16lt','sadd16gt','sadd16le', - 'sadd8eq','sadd8ne','sadd8cs','sadd8hs','sadd8cc','sadd8lo','sadd8mi','sadd8pl','sadd8vs','sadd8vc','sadd8hi','sadd8ls','sadd8ge','sadd8lt','sadd8gt','sadd8le', - 'uadd16eq','uadd16ne','uadd16cs','uadd16hs','uadd16cc','uadd16lo','uadd16mi','uadd16pl','uadd16vs','uadd16vc','uadd16hi','uadd16ls','uadd16ge','uadd16lt','uadd16gt','uadd16le', - 'uadd8eq','uadd8ne','uadd8cs','uadd8hs','uadd8cc','uadd8lo','uadd8mi','uadd8pl','uadd8vs','uadd8vc','uadd8hi','uadd8ls','uadd8ge','uadd8lt','uadd8gt','uadd8le', - 'ssub16eq','ssub16ne','ssub16cs','ssub16hs','ssub16cc','ssub16lo','ssub16mi','ssub16pl','ssub16vs','ssub16vc','ssub16hi','ssub16ls','ssub16ge','ssub16lt','ssub16gt','ssub16le', - 'ssub8eq','ssub8ne','ssub8cs','ssub8hs','ssub8cc','ssub8lo','ssub8mi','ssub8pl','ssub8vs','ssub8vc','ssub8hi','ssub8ls','ssub8ge','ssub8lt','ssub8gt','ssub8le', - 'usub16eq','usub16ne','usub16cs','usub16hs','usub16cc','usub16lo','usub16mi','usub16pl','usub16vs','usub16vc','usub16hi','usub16ls','usub16ge','usub16lt','usub16gt','usub16le', - 'usub8eq','usub8ne','usub8cs','usub8hs','usub8cc','usub8lo','usub8mi','usub8pl','usub8vs','usub8vc','usub8hi','usub8ls','usub8ge','usub8lt','usub8gt','usub8le', - 'sasxeq','sasxne','sasxcs','sasxhs','sasxcc','sasxlo','sasxmi','sasxpl','sasxvs','sasxvc','sasxhi','sasxls','sasxge','sasxlt','sasxgt','sasxle', - 'ssaxeq','ssaxne','ssaxcs','ssaxhs','ssaxcc','ssaxlo','ssaxmi','ssaxpl','ssaxvs','ssaxvc','ssaxhi','ssaxls','ssaxge','ssaxlt','ssaxgt','ssaxle', - 'uasxeq','uasxne','uasxcs','uasxhs','uasxcc','uasxlo','uasxmi','uasxpl','uasxvs','uasxvc','uasxhi','uasxls','uasxge','uasxlt','uasxgt','uasxle', - 'usaxeq','usaxne','usaxcs','usaxhs','usaxcc','usaxlo','usaxmi','usaxpl','usaxvs','usaxvc','usaxhi','usaxls','usaxge','usaxlt','usaxgt','usaxle', - 'usad8eq','usad8ne','usad8cs','usad8hs','usad8cc','usad8lo','usad8mi','usad8pl','usad8vs','usad8vc','usad8hi','usad8ls','usad8ge','usad8lt','usad8gt','usad8le', - 'usada8eq','usada8ne','usada8cs','usada8hs','usada8cc','usada8lo','usada8mi','usada8pl','usada8vs','usada8vc','usada8hi','usada8ls','usada8ge','usada8lt','usada8gt','usada8le', - /* ARMv6 SIMD: Conditional Halving Addition & Subtraction */ - 'shadd16eq','shadd16ne','shadd16cs','shadd16hs','shadd16cc','shadd16lo','shadd16mi','shadd16pl','shadd16vs','shadd16vc','shadd16hi','shadd16ls','shadd16ge','shadd16lt','shadd16gt','shadd16le', - 'shadd8eq','shadd8ne','shadd8cs','shadd8hs','shadd8cc','shadd8lo','shadd8mi','shadd8pl','shadd8vs','shadd8vc','shadd8hi','shadd8ls','shadd8ge','shadd8lt','shadd8gt','shadd8le', - 'uhadd16eq','uhadd16ne','uhadd16cs','uhadd16hs','uhadd16cc','uhadd16lo','uhadd16mi','uhadd16pl','uhadd16vs','uhadd16vc','uhadd16hi','uhadd16ls','uhadd16ge','uhadd16lt','uhadd16gt','uhadd16le', - 'uhadd8eq','uhadd8ne','uhadd8cs','uhadd8hs','uhadd8cc','uhadd8lo','uhadd8mi','uhadd8pl','uhadd8vs','uhadd8vc','uhadd8hi','uhadd8ls','uhadd8ge','uhadd8lt','uhadd8gt','uhadd8le', - 'shsub16eq','shsub16ne','shsub16cs','shsub16hs','shsub16cc','shsub16lo','shsub16mi','shsub16pl','shsub16vs','shsub16vc','shsub16hi','shsub16ls','shsub16ge','shsub16lt','shsub16gt','shsub16le', - 'shsub8eq','shsub8ne','shsub8cs','shsub8hs','shsub8cc','shsub8lo','shsub8mi','shsub8pl','shsub8vs','shsub8vc','shsub8hi','shsub8ls','shsub8ge','shsub8lt','shsub8gt','shsub8le', - 'uhsub16eq','uhsub16ne','uhsub16cs','uhsub16hs','uhsub16cc','uhsub16lo','uhsub16mi','uhsub16pl','uhsub16vs','uhsub16vc','uhsub16hi','uhsub16ls','uhsub16ge','uhsub16lt','uhsub16gt','uhsub16le', - 'uhsub8eq','uhsub8ne','uhsub8cs','uhsub8hs','uhsub8cc','uhsub8lo','uhsub8mi','uhsub8pl','uhsub8vs','uhsub8vc','uhsub8hi','uhsub8ls','uhsub8ge','uhsub8lt','uhsub8gt','uhsub8le', - 'shasxeq','shasxne','shasxcs','shasxhs','shasxcc','shasxlo','shasxmi','shasxpl','shasxvs','shasxvc','shasxhi','shasxls','shasxge','shasxlt','shasxgt','shasxle', - 'shsaxeq','shsaxne','shsaxcs','shsaxhs','shsaxcc','shsaxlo','shsaxmi','shsaxpl','shsaxvs','shsaxvc','shsaxhi','shsaxls','shsaxge','shsaxlt','shsaxgt','shsaxle', - 'uhasxeq','uhasxne','uhasxcs','uhasxhs','uhasxcc','uhasxlo','uhasxmi','uhasxpl','uhasxvs','uhasxvc','uhasxhi','uhasxls','uhasxge','uhasxlt','uhasxgt','uhasxle', - 'uhsaxeq','uhsaxne','uhsaxcs','uhsaxhs','uhsaxcc','uhsaxlo','uhsaxmi','uhsaxpl','uhsaxvs','uhsaxvc','uhsaxhi','uhsaxls','uhsaxge','uhsaxlt','uhsaxgt','uhsaxle', - /* ARMv6 SIMD: Conditional Saturating Operations */ - 'qaddeq','qaddne','qaddcs','qaddhs','qaddcc','qaddlo','qaddmi','qaddpl','qaddvs','qaddvc','qaddhi','qaddls','qaddge','qaddlt','qaddgt','qaddle', - 'qadd16eq','qadd16ne','qadd16cs','qadd16hs','qadd16cc','qadd16lo','qadd16mi','qadd16pl','qadd16vs','qadd16vc','qadd16hi','qadd16ls','qadd16ge','qadd16lt','qadd16gt','qadd16le', - 'qadd8eq','qadd8ne','qadd8cs','qadd8hs','qadd8cc','qadd8lo','qadd8mi','qadd8pl','qadd8vs','qadd8vc','qadd8hi','qadd8ls','qadd8ge','qadd8lt','qadd8gt','qadd8le', - 'uqadd16eq','uqadd16ne','uqadd16cs','uqadd16hs','uqadd16cc','uqadd16lo','uqadd16mi','uqadd16pl','uqadd16vs','uqadd16vc','uqadd16hi','uqadd16ls','uqadd16ge','uqadd16lt','uqadd16gt','uqadd16le', - 'uqadd8eq','uqadd8ne','uqadd8cs','uqadd8hs','uqadd8cc','uqadd8lo','uqadd8mi','uqadd8pl','uqadd8vs','uqadd8vc','uqadd8hi','uqadd8ls','uqadd8ge','uqadd8lt','uqadd8gt','uqadd8le', - 'qsubeq','qsubne','qsubcs','qsubhs','qsubcc','qsublo','qsubmi','qsubpl','qsubvs','qsubvc','qsubhi','qsubls','qsubge','qsublt','qsubgt','qsuble', - 'qsub16eq','qsub16ne','qsub16cs','qsub16hs','qsub16cc','qsub16lo','qsub16mi','qsub16pl','qsub16vs','qsub16vc','qsub16hi','qsub16ls','qsub16ge','qsub16lt','qsub16gt','qsub16le', - 'qsub8eq','qsub8ne','qsub8cs','qsub8hs','qsub8cc','qsub8lo','qsub8mi','qsub8pl','qsub8vs','qsub8vc','qsub8hi','qsub8ls','qsub8ge','qsub8lt','qsub8gt','qsub8le', - 'uqsub16eq','uqsub16ne','uqsub16cs','uqsub16hs','uqsub16cc','uqsub16lo','uqsub16mi','uqsub16pl','uqsub16vs','uqsub16vc','uqsub16hi','uqsub16ls','uqsub16ge','uqsub16lt','uqsub16gt','uqsub16le', - 'uqsub8eq','uqsub8ne','uqsub8cs','uqsub8hs','uqsub8cc','uqsub8lo','uqsub8mi','uqsub8pl','uqsub8vs','uqsub8vc','uqsub8hi','uqsub8ls','uqsub8ge','uqsub8lt','uqsub8gt','uqsub8le', - 'qasxeq','qasxne','qasxcs','qasxhs','qasxcc','qasxlo','qasxmi','qasxpl','qasxvs','qasxvc','qasxhi','qasxls','qasxge','qasxlt','qasxgt','qasxle', - 'qsaxeq','qsaxne','qsaxcs','qsaxhs','qsaxcc','qsaxlo','qsaxmi','qsaxpl','qsaxvs','qsaxvc','qsaxhi','qsaxls','qsaxge','qsaxlt','qsaxgt','qsaxle', - 'uqasxeq','uqasxne','uqasxcs','uqasxhs','uqasxcc','uqasxlo','uqasxmi','uqasxpl','uqasxvs','uqasxvc','uqasxhi','uqasxls','uqasxge','uqasxlt','uqasxgt','uqasxle', - 'uqsaxeq','uqsaxne','uqsaxcs','uqsaxhs','uqsaxcc','uqsaxlo','uqsaxmi','uqsaxpl','uqsaxvs','uqsaxvc','uqsaxhi','uqsaxls','uqsaxge','uqsaxlt','uqsaxgt','uqsaxle', - 'qdaddeq','qdaddne','qdaddcs','qdaddhs','qdaddcc','qdaddlo','qdaddmi','qdaddpl','qdaddvs','qdaddvc','qdaddhi','qdaddls','qdaddge','qdaddlt','qdaddgt','qdaddle', - 'qdsubeq','qdsubne','qdsubcs','qdsubhs','qdsubcc','qdsublo','qdsubmi','qdsubpl','qdsubvs','qdsubvc','qdsubhi','qdsubls','qdsubge','qdsublt','qdsubgt','qdsuble', - 'ssateq','ssatne','ssatcs','ssaths','ssatcc','ssatlo','ssatmi','ssatpl','ssatvs','ssatvc','ssathi','ssatls','ssatge','ssatlt','ssatgt','ssatle', - 'ssat16eq','ssat16ne','ssat16cs','ssat16hs','ssat16cc','ssat16lo','ssat16mi','ssat16pl','ssat16vs','ssat16vc','ssat16hi','ssat16ls','ssat16ge','ssat16lt','ssat16gt','ssat16le', - 'usateq','usatne','usatcs','usaths','usatcc','usatlo','usatmi','usatpl','usatvs','usatvc','usathi','usatls','usatge','usatlt','usatgt','usatle', - 'usat16eq','usat16ne','usat16cs','usat16hs','usat16cc','usat16lo','usat16mi','usat16pl','usat16vs','usat16vc','usat16hi','usat16ls','usat16ge','usat16lt','usat16gt','usat16le', - /* ARMv6 SIMD: Conditional Permutation and Combine Operations */ - 'sxtaheq','sxtahne','sxtahcs','sxtahhs','sxtahcc','sxtahlo','sxtahmi','sxtahpl','sxtahvs','sxtahvc','sxtahhi','sxtahls','sxtahge','sxtahlt','sxtahgt','sxtahle', - 'sxtabeq','sxtabne','sxtabcs','sxtabhs','sxtabcc','sxtablo','sxtabmi','sxtabpl','sxtabvs','sxtabvc','sxtabhi','sxtabls','sxtabge','sxtablt','sxtabgt','sxtable', - 'sxtab16eq','sxtab16ne','sxtab16cs','sxtab16hs','sxtab16cc','sxtab16lo','sxtab16mi','sxtab16pl','sxtab16vs','sxtab16vc','sxtab16hi','sxtab16ls','sxtab16ge','sxtab16lt','sxtab16gt','sxtab16le', - 'uxtaheq','uxtahne','uxtahcs','uxtahhs','uxtahcc','uxtahlo','uxtahmi','uxtahpl','uxtahvs','uxtahvc','uxtahhi','uxtahls','uxtahge','uxtahlt','uxtahgt','uxtahle', - 'uxtabeq','uxtabne','uxtabcs','uxtabhs','uxtabcc','uxtablo','uxtabmi','uxtabpl','uxtabvs','uxtabvc','uxtabhi','uxtabls','uxtabge','uxtablt','uxtabgt','uxtable', - 'uxtab16eq','uxtab16ne','uxtab16cs','uxtab16hs','uxtab16cc','uxtab16lo','uxtab16mi','uxtab16pl','uxtab16vs','uxtab16vc','uxtab16hi','uxtab16ls','uxtab16ge','uxtab16lt','uxtab16gt','uxtab16le', - 'sxtheq.w','sxthne.w','sxthcs.w','sxthhs.w','sxthcc.w','sxthlo.w','sxthmi.w','sxthpl.w','sxthvs.w','sxthvc.w','sxthhi.w','sxthls.w','sxthge.w','sxthlt.w','sxthgt.w','sxthle.w', - 'sxtheq','sxthne','sxthcs','sxthhs','sxthcc','sxthlo','sxthmi','sxthpl','sxthvs','sxthvc','sxthhi','sxthls','sxthge','sxthlt','sxthgt','sxthle', - 'sxtbeq.w','sxtbne.w','sxtbcs.w','sxtbhs.w','sxtbcc.w','sxtblo.w','sxtbmi.w','sxtbpl.w','sxtbvs.w','sxtbvc.w','sxtbhi.w','sxtbls.w','sxtbge.w','sxtblt.w','sxtbgt.w','sxtble.w', - 'sxtbeq','sxtbne','sxtbcs','sxtbhs','sxtbcc','sxtblo','sxtbmi','sxtbpl','sxtbvs','sxtbvc','sxtbhi','sxtbls','sxtbge','sxtblt','sxtbgt','sxtble', - 'sxtb16eq','sxtb16ne','sxtb16cs','sxtb16hs','sxtb16cc','sxtb16lo','sxtb16mi','sxtb16pl','sxtb16vs','sxtb16vc','sxtb16hi','sxtb16ls','sxtb16ge','sxtb16lt','sxtb16gt','sxtb16le', - 'uxtheq.w','uxthne.w','uxthcs.w','uxthhs.w','uxthcc.w','uxthlo.w','uxthmi.w','uxthpl.w','uxthvs.w','uxthvc.w','uxthhi.w','uxthls.w','uxthge.w','uxthlt.w','uxthgt.w','uxthle.w', - 'uxtheq','uxthne','uxthcs','uxthhs','uxthcc','uxthlo','uxthmi','uxthpl','uxthvs','uxthvc','uxthhi','uxthls','uxthge','uxthlt','uxthgt','uxthle', - 'uxtbeq.w','uxtbne.w','uxtbcs.w','uxtbhs.w','uxtbcc.w','uxtblo.w','uxtbmi.w','uxtbpl.w','uxtbvs.w','uxtbvc.w','uxtbhi.w','uxtbls.w','uxtbge.w','uxtblt.w','uxtbgt.w','uxtble.w', - 'uxtbeq','uxtbne','uxtbcs','uxtbhs','uxtbcc','uxtblo','uxtbmi','uxtbpl','uxtbvs','uxtbvc','uxtbhi','uxtbls','uxtbge','uxtblt','uxtbgt','uxtble', - 'uxtb16eq','uxtb16ne','uxtb16cs','uxtb16hs','uxtb16cc','uxtb16lo','uxtb16mi','uxtb16pl','uxtb16vs','uxtb16vc','uxtb16hi','uxtb16ls','uxtb16ge','uxtb16lt','uxtb16gt','uxtb16le', - 'pkhbteq','pkhbtne','pkhbtcs','pkhbths','pkhbtcc','pkhbtlo','pkhbtmi','pkhbtpl','pkhbtvs','pkhbtvc','pkhbthi','pkhbtls','pkhbtge','pkhbtlt','pkhbtgt','pkhbtle', - 'pkhtbeq','pkhtbne','pkhtbcs','pkhtbhs','pkhtbcc','pkhtblo','pkhtbmi','pkhtbpl','pkhtbvs','pkhtbvc','pkhtbhi','pkhtbls','pkhtbge','pkhtblt','pkhtbgt','pkhtble', - 'rbiteq','rbitne','rbitcs','rbiths','rbitcc','rbitlo','rbitmi','rbitpl','rbitvs','rbitvc','rbithi','rbitls','rbitge','rbitlt','rbitgt','rbitle', - 'reveq.w','revne.w','revcs.w','revhs.w','revcc.w','revlo.w','revmi.w','revpl.w','revvs.w','revvc.w','revhi.w','revls.w','revge.w','revlt.w','revgt.w','revle.w', - 'reveq','revne','revcs','revhs','revcc','revlo','revmi','revpl','revvs','revvc','revhi','revls','revge','revlt','revgt','revle', - 'rev16eq.w','rev16ne.w','rev16cs.w','rev16hs.w','rev16cc.w','rev16lo.w','rev16mi.w','rev16pl.w','rev16vs.w','rev16vc.w','rev16hi.w','rev16ls.w','rev16ge.w','rev16lt.w','rev16gt.w','rev16le.w', - 'rev16eq','rev16ne','rev16cs','rev16hs','rev16cc','rev16lo','rev16mi','rev16pl','rev16vs','rev16vc','rev16hi','rev16ls','rev16ge','rev16lt','rev16gt','rev16le', - 'revsheq.w','revshne.w','revshcs.w','revshhs.w','revshcc.w','revshlo.w','revshmi.w','revshpl.w','revshvs.w','revshvc.w','revshhi.w','revshls.w','revshge.w','revshlt.w','revshgt.w','revshle.w', - 'revsheq','revshne','revshcs','revshhs','revshcc','revshlo','revshmi','revshpl','revshvs','revshvc','revshhi','revshls','revshge','revshlt','revshgt','revshle', - 'seleq','selne','selcs','selhs','selcc','sello','selmi','selpl','selvs','selvc','selhi','sells','selge','sellt','selgt','selle', - /* ARMv6 SIMD: Conditional Multiply and Multiply-Add */ - 'smladeq','smladne','smladcs','smladhs','smladcc','smladlo','smladmi','smladpl','smladvs','smladvc','smladhi','smladls','smladge','smladlt','smladgt','smladle', - 'smladxeq','smladxne','smladxcs','smladxhs','smladxcc','smladxlo','smladxmi','smladxpl','smladxvs','smladxvc','smladxhi','smladxls','smladxge','smladxlt','smladxgt','smladxle', - 'smlsdeq','smlsdne','smlsdcs','smlsdhs','smlsdcc','smlsdlo','smlsdmi','smlsdpl','smlsdvs','smlsdvc','smlsdhi','smlsdls','smlsdge','smlsdlt','smlsdgt','smlsdle', - 'smlsdxeq','smlsdxne','smlsdxcs','smlsdxhs','smlsdxcc','smlsdxlo','smlsdxmi','smlsdxpl','smlsdxvs','smlsdxvc','smlsdxhi','smlsdxls','smlsdxge','smlsdxlt','smlsdxgt','smlsdxle', - 'smlaldeq','smlaldne','smlaldcs','smlaldhs','smlaldcc','smlaldlo','smlaldmi','smlaldpl','smlaldvs','smlaldvc','smlaldhi','smlaldls','smlaldge','smlaldlt','smlaldgt','smlaldle', - 'smlaldxeq','smlaldxne','smlaldxcs','smlaldxhs','smlaldxcc','smlaldxlo','smlaldxmi','smlaldxpl','smlaldxvs','smlaldxvc','smlaldxhi','smlaldxls','smlaldxge','smlaldxlt','smlaldxgt','smlaldxle', - 'smlsldeq','smlsldne','smlsldcs','smlsldhs','smlsldcc','smlsldlo','smlsldmi','smlsldpl','smlsldvs','smlsldvc','smlsldhi','smlsldls','smlsldge','smlsldlt','smlsldgt','smlsldle', - 'smlsldxeq','smlsldxne','smlsldxcs','smlsldxhs','smlsldxcc','smlsldxlo','smlsldxmi','smlsldxpl','smlsldxvs','smlsldxvc','smlsldxhi','smlsldxls','smlsldxge','smlsldxlt','smlsldxgt','smlsldxle', - 'smmuleq','smmulne','smmulcs','smmulhs','smmulcc','smmullo','smmulmi','smmulpl','smmulvs','smmulvc','smmulhi','smmulls','smmulge','smmullt','smmulgt','smmulle', - 'smmulreq','smmulrne','smmulrcs','smmulrhs','smmulrcc','smmulrlo','smmulrmi','smmulrpl','smmulrvs','smmulrvc','smmulrhi','smmulrls','smmulrge','smmulrlt','smmulrgt','smmulrle', - 'smmlaeq','smmlane','smmlacs','smmlahs','smmlacc','smmlalo','smmlami','smmlapl','smmlavs','smmlavc','smmlahi','smmlals','smmlage','smmlalt','smmlagt','smmlale', - 'smmlareq','smmlarne','smmlarcs','smmlarhs','smmlarcc','smmlarlo','smmlarmi','smmlarpl','smmlarvs','smmlarvc','smmlarhi','smmlarls','smmlarge','smmlarlt','smmlargt','smmlarle', - 'smmlseq','smmlsne','smmlscs','smmlshs','smmlscc','smmlslo','smmlsmi','smmlspl','smmlsvs','smmlsvc','smmlshi','smmlsls','smmlsge','smmlslt','smmlsgt','smmlsle', - 'smmlsreq','smmlsrne','smmlsrcs','smmlsrhs','smmlsrcc','smmlsrlo','smmlsrmi','smmlsrpl','smmlsrvs','smmlsrvc','smmlsrhi','smmlsrls','smmlsrge','smmlsrlt','smmlsrgt','smmlsrle', - 'smuadeq','smuadne','smuadcs','smuadhs','smuadcc','smuadlo','smuadmi','smuadpl','smuadvs','smuadvc','smuadhi','smuadls','smuadge','smuadlt','smuadgt','smuadle', - 'smuadxeq','smuadxne','smuadxcs','smuadxhs','smuadxcc','smuadxlo','smuadxmi','smuadxpl','smuadxvs','smuadxvc','smuadxhi','smuadxls','smuadxge','smuadxlt','smuadxgt','smuadxle', - 'smusdeq','smusdne','smusdcs','smusdhs','smusdcc','smusdlo','smusdmi','smusdpl','smusdvs','smusdvc','smusdhi','smusdls','smusdge','smusdlt','smusdgt','smusdle', - 'smusdxeq','smusdxne','smusdxcs','smusdxhs','smusdxcc','smusdxlo','smusdxmi','smusdxpl','smusdxvs','smusdxvc','smusdxhi','smusdxls','smusdxge','smusdxlt','smusdxgt','smusdxle', - 'umaaleq','umaalne','umaalcs','umaalhs','umaalcc','umaallo','umaalmi','umaalpl','umaalvs','umaalvc','umaalhi','umaalls','umaalge','umaallt','umaalgt','umaalle' - ), - /* Unconditional Coprocessor Instructions */ - 13 => array( - /* Data Processing: Unconditional Coprocessor Instructions */ - 'cdp','cdpal', - 'cdp2','cdp2al', - 'ldc','ldcal', - 'ldcl','ldclal', - 'ldc2','ldc2al', - 'ldc2l','ldc2lal', - 'stc','stcal', - 'stcl','stclal', - 'stc2','stc2al', - 'stc2l','stc2lal', - 'mcr','mcral', - 'mcr2','mcr2al', - 'mcrr','mcrral', - 'mcrr2','mcrr2al', - 'mrc','mrcal', - 'mrc2','mrc2al', - 'mrrc','mrrcal', - 'mrrc2','mrrc2al' - ), - /* Conditional Coprocessor Instructions */ - 14 => array( - /* Data Processing: Conditional Coprocessor Instructions */ - 'cdpeq','cdpne','cdpcs','cdphs','cdpcc','cdplo','cdpmi','cdppl','cdpvs','cdpvc','cdphi','cdpls','cdpge','cdplt','cdpgt','cdple', - 'cdp2eq','cdp2ne','cdp2cs','cdp2hs','cdp2cc','cdp2lo','cdp2mi','cdp2pl','cdp2vs','cdp2vc','cdp2hi','cdp2ls','cdp2ge','cdp2lt','cdp2gt','cdp2le', - 'ldceq','ldcne','ldccs','ldchs','ldccc','ldclo','ldcmi','ldcpl','ldcvs','ldcvc','ldchi','ldcls','ldcge','ldclt','ldcgt','ldcle', - 'ldcleq','ldclne','ldclcs','ldclhs','ldclcc','ldcllo','ldclmi','ldclpl','ldclvs','ldclvc','ldclhi','ldclls','ldclge','ldcllt','ldclgt','ldclle', - 'ldc2eq','ldc2ne','ldc2cs','ldc2hs','ldc2cc','ldc2lo','ldc2mi','ldc2pl','ldc2vs','ldc2vc','ldc2hi','ldc2ls','ldc2ge','ldc2lt','ldc2gt','ldc2le', - 'ldc2leq','ldc2lne','ldc2lcs','ldc2lhs','ldc2lcc','ldc2llo','ldc2lmi','ldc2lpl','ldc2lvs','ldc2lvc','ldc2lhi','ldc2lls','ldc2lge','ldc2llt','ldc2lgt','ldc2lle', - 'stceq','stcne','stccs','stchs','stccc','stclo','stcmi','stcpl','stcvs','stcvc','stchi','stcls','stcge','stclt','stcgt','stcle', - 'stcleq','stclne','stclcs','stclhs','stclcc','stcllo','stclmi','stclpl','stclvs','stclvc','stclhi','stclls','stclge','stcllt','stclgt','stclle', - 'stc2eq','stc2ne','stc2cs','stc2hs','stc2cc','stc2lo','stc2mi','stc2pl','stc2vs','stc2vc','stc2hi','stc2ls','stc2ge','stc2lt','stc2gt','stc2le', - 'stc2leq','stc2lne','stc2lcs','stc2lhs','stc2lcc','stc2llo','stc2lmi','stc2lpl','stc2lvs','stc2lvc','stc2lhi','stc2lls','stc2lge','stc2llt','stc2lgt','stc2lle', - 'mcreq','mcrne','mcrcs','mcrhs','mcrcc','mcrlo','mcrmi','mcrpl','mcrvs','mcrvc','mcrhi','mcrls','mcrge','mcrlt','mcrgt','mcrle', - 'mcr2eq','mcr2ne','mcr2cs','mcr2hs','mcr2cc','mcr2lo','mcr2mi','mcr2pl','mcr2vs','mcr2vc','mcr2hi','mcr2ls','mcr2ge','mcr2lt','mcr2gt','mcr2le', - 'mcrreq','mcrrne','mcrrcs','mcrrhs','mcrrcc','mcrrlo','mcrrmi','mcrrpl','mcrrvs','mcrrvc','mcrrhi','mcrrls','mcrrge','mcrrlt','mcrrgt','mcrrle', - 'mcrr2eq','mcrr2ne','mcrr2cs','mcrr2hs','mcrr2cc','mcrr2lo','mcrr2mi','mcrr2pl','mcrr2vs','mcrr2vc','mcrr2hi','mcrr2ls','mcrr2ge','mcrr2lt','mcrr2gt','mcrr2le', - 'mrceq','mrcne','mrccs','mrchs','mrccc','mrclo','mrcmi','mrcpl','mrcvs','mrcvc','mrchi','mrcls','mrcge','mrclt','mrcgt','mrcle', - 'mrc2eq','mrc2ne','mrc2cs','mrc2hs','mrc2cc','mrc2lo','mrc2mi','mrc2pl','mrc2vs','mrc2vc','mrc2hi','mrc2ls','mrc2ge','mrc2lt','mrc2gt','mrc2le', - 'mrrceq','mrrcne','mrrccs','mrrchs','mrrccc','mrrclo','mrrcmi','mrrcpl','mrrcvs','mrrcvc','mrrchi','mrrcls','mrrcge','mrrclt','mrrcgt','mrrcle', - 'mrrc2eq','mrrc2ne','mrrc2cs','mrrc2hs','mrrc2cc','mrrc2lo','mrrc2mi','mrrc2pl','mrrc2vs','mrrc2vc','mrrc2hi','mrrc2ls','mrrc2ge','mrrc2lt','mrrc2gt','mrrc2le' - ), - /* Unconditional System Instructions */ - 15 => array( - /* System: Unconditional Debug and State-Change Instructions */ - 'bkpt', - 'dbg','dbgal', - 'setend', - 'svc','svcal', - 'sev.w','seval.w', - 'sev','seval', - 'wfe.w','wfeal.w', - 'wfe','wfeal', - 'wfi.w','wfial.w', - 'wfi','wfial', - /* System: Unconditional ThumbEE Instructions */ - 'enterx', - 'leavex', - 'chka.n','chkaal.n', - 'chka','chkaal', - 'hb.n','hbal.n', - 'hb','hbal', - 'hbl.n','hblal.n', - 'hbl','hblal', - 'hblp.n','hblpal.n', - 'hblp','hblpal', - 'hbp.n','hbpal.n', - 'hbp','hbpal', - /* System: Unconditional Privileged Instructions */ - 'cpsie.n', - 'cpsie.w', - 'cpsie', - 'cpsid.n', - 'cpsid.w', - 'cpsid', - 'smc','smcal', - 'rfeda','rfedaal', - 'rfedb','rfedbal', - 'rfeia','rfeiaal', - 'rfeib','rfeibal', - 'srsda','srsdaal', - 'srsdb','srsdbal', - 'srsia','srsiaal', - 'srsib','srsibal' - ), - /* Conditional System Instructions */ - 16 => array( - /* System: Conditional Debug and State-Change Instructions */ - 'dbgeq','dbgne','dbgcs','dbghs','dbgcc','dbglo','dbgmi','dbgpl','dbgvs','dbgvc','dbghi','dbgls','dbgge','dbglt','dbggt','dbgle', - 'svceq','svcne','svccs','svchs','svccc','svclo','svcmi','svcpl','svcvs','svcvc','svchi','svcls','svcge','svclt','svcgt','svcle', - 'seveq.w','sevne.w','sevcs.w','sevhs.w','sevcc.w','sevlo.w','sevmi.w','sevpl.w','sevvs.w','sevvc.w','sevhi.w','sevls.w','sevge.w','sevlt.w','sevgt.w','sevle.w', - 'seveq','sevne','sevcs','sevhs','sevcc','sevlo','sevmi','sevpl','sevvs','sevvc','sevhi','sevls','sevge','sevlt','sevgt','sevle', - 'wfeeq.w','wfene.w','wfecs.w','wfehs.w','wfecc.w','wfelo.w','wfemi.w','wfepl.w','wfevs.w','wfevc.w','wfehi.w','wfels.w','wfege.w','wfelt.w','wfegt.w','wfele.w', - 'wfeeq','wfene','wfecs','wfehs','wfecc','wfelo','wfemi','wfepl','wfevs','wfevc','wfehi','wfels','wfege','wfelt','wfegt','wfele', - 'wfieq.w','wfine.w','wfics.w','wfihs.w','wficc.w','wfilo.w','wfimi.w','wfipl.w','wfivs.w','wfivc.w','wfihi.w','wfils.w','wfige.w','wfilt.w','wfigt.w','wfile.w', - 'wfieq','wfine','wfics','wfihs','wficc','wfilo','wfimi','wfipl','wfivs','wfivc','wfihi','wfils','wfige','wfilt','wfigt','wfile', - /* System: Conditional ThumbEE Instructions */ - 'chkaeq.n','chkane.n','chkacs.n','chkahs.n','chkacc.n','chkalo.n','chkami.n','chkapl.n','chkavs.n','chkavc.n','chkahi.n','chkals.n','chkage.n','chkalt.n','chkagt.n','chkale.n', - 'chkaeq','chkane','chkacs','chkahs','chkacc','chkalo','chkami','chkapl','chkavs','chkavc','chkahi','chkals','chkage','chkalt','chkagt','chkale', - 'hbeq.n','hbne.n','hbcs.n','hbhs.n','hbcc.n','hblo.n','hbmi.n','hbpl.n','hbvs.n','hbvc.n','hbhi.n','hbls.n','hbge.n','hblt.n','hbgt.n','hble.n', - 'hbeq','hbne','hbcs','hbhs','hbcc','hblo','hbmi','hbpl','hbvs','hbvc','hbhi','hbls','hbge','hblt','hbgt','hble', - 'hbleq.n','hblne.n','hblcs.n','hblhs.n','hblcc.n','hbllo.n','hblmi.n','hblpl.n','hblvs.n','hblvc.n','hblhi.n','hblls.n','hblge.n','hbllt.n','hblgt.n','hblle.n', - 'hbleq','hblne','hblcs','hblhs','hblcc','hbllo','hblmi','hblpl','hblvs','hblvc','hblhi','hblls','hblge','hbllt','hblgt','hblle', - 'hblpeq.n','hblpne.n','hblpcs.n','hblphs.n','hblpcc.n','hblplo.n','hblpmi.n','hblppl.n','hblpvs.n','hblpvc.n','hblphi.n','hblpls.n','hblpge.n','hblplt.n','hblpgt.n','hblple.n', - 'hblpeq','hblpne','hblpcs','hblphs','hblpcc','hblplo','hblpmi','hblppl','hblpvs','hblpvc','hblphi','hblpls','hblpge','hblplt','hblpgt','hblple', - 'hbpeq.n','hbpne.n','hbpcs.n','hbphs.n','hbpcc.n','hbplo.n','hbpmi.n','hbppl.n','hbpvs.n','hbpvc.n','hbphi.n','hbpls.n','hbpge.n','hbplt.n','hbpgt.n','hbple.n', - 'hbpeq','hbpne','hbpcs','hbphs','hbpcc','hbplo','hbpmi','hbppl','hbpvs','hbpvc','hbphi','hbpls','hbpge','hbplt','hbpgt','hbple', - /* System: Conditional Privileged Instructions */ - 'smceq','smcne','smccs','smchs','smccc','smclo','smcmi','smcpl','smcvs','smcvc','smchi','smcls','smcge','smclt','smcgt','smcle', - 'rfedaeq','rfedane','rfedacs','rfedahs','rfedacc','rfedalo','rfedami','rfedapl','rfedavs','rfedavc','rfedahi','rfedals','rfedage','rfedalt','rfedagt','rfedale', - 'rfedbeq','rfedbne','rfedbcs','rfedbhs','rfedbcc','rfedblo','rfedbmi','rfedbpl','rfedbvs','rfedbvc','rfedbhi','rfedbls','rfedbge','rfedblt','rfedbgt','rfedble', - 'rfeiaeq','rfeiane','rfeiacs','rfeiahs','rfeiacc','rfeialo','rfeiami','rfeiapl','rfeiavs','rfeiavc','rfeiahi','rfeials','rfeiage','rfeialt','rfeiagt','rfeiale', - 'rfeibeq','rfeibne','rfeibcs','rfeibhs','rfeibcc','rfeiblo','rfeibmi','rfeibpl','rfeibvs','rfeibvc','rfeibhi','rfeibls','rfeibge','rfeiblt','rfeibgt','rfeible', - 'srsdaeq','srsdane','srsdacs','srsdahs','srsdacc','srsdalo','srsdami','srsdapl','srsdavs','srsdavc','srsdahi','srsdals','srsdage','srsdalt','srsdagt','srsdale', - 'srsdbeq','srsdbne','srsdbcs','srsdbhs','srsdbcc','srsdblo','srsdbmi','srsdbpl','srsdbvs','srsdbvc','srsdbhi','srsdbls','srsdbge','srsdblt','srsdbgt','srsdble', - 'srsiaeq','srsiane','srsiacs','srsiahs','srsiacc','srsialo','srsiami','srsiapl','srsiavs','srsiavc','srsiahi','srsials','srsiage','srsialt','srsiagt','srsiale', - 'srsibeq','srsibne','srsibcs','srsibhs','srsibcc','srsiblo','srsibmi','srsibpl','srsibvs','srsibvc','srsibhi','srsibls','srsibge','srsiblt','srsibgt','srsible' - ), - /* Unconditional WMMX/WMMX2 instructions */ - 17 => array( - /* Unconditional WMMX/WMMX2 SIMD Instructions */ - 'tandcb','tandcbal', - 'tandch','tandchal', - 'tandcw','tandcwal', - 'tbcstb','tbcstbal', - 'tbcsth','tbcsthal', - 'tbcstw','tbcstwal', - 'textrcb','textrcbal', - 'textrch','textrchal', - 'textrcw','textrcwal', - 'textrmsb','textrmsbal', - 'textrmsh','textrmshal', - 'textrmsw','textrmswal', - 'textrmub','textrmubal', - 'textrmuh','textrmuhal', - 'textrmuw','textrmuwal', - 'tinsrb','tinsrbal', - 'tinsrh','tinsrhal', - 'tinsrw','tinsrwal', - 'tmcr','tmcral', - 'tmcrr','tmcrral', - 'tmia','tmiaal', - 'tmiaph','tmiaphal', - 'tmiabb','tmiabbal', - 'tmiabt','tmiabtal', - 'tmiatb','tmiatbal', - 'tmiatt','tmiattal', - 'tmovmskb','tmovmskbal', - 'tmovmskh','tmovmskhal', - 'tmovmskw','tmovmskwal', - 'tmrc','tmrcal', - 'tmrrc','tmrrcal', - 'torcb','torcbal', - 'torch','torchal', - 'torcw','torcwal', - 'torvscb','torvscbal', - 'torvsch','torvschal', - 'torvscw','torvscwal', - 'wabsb','wabsbal', - 'wabsh','wabshal', - 'wabsw','wabswal', - 'wabsdiffb','wabsdiffbal', - 'wabsdiffh','wabsdiffhal', - 'wabsdiffw','wabsdiffwal', - 'waccb','waccbal', - 'wacch','wacchal', - 'waccw','waccwal', - 'waddb','waddbal', - 'waddh','waddhal', - 'waddw','waddwal', - 'waddbc','waddbcal', - 'waddhc','waddhcal', - 'waddwc','waddwcal', - 'waddbss','waddbssal', - 'waddhss','waddhssal', - 'waddwss','waddwssal', - 'waddbus','waddbusal', - 'waddhus','waddhusal', - 'waddwus','waddwusal', - 'waddsubhx','waddsubhxal', - 'waligni','walignial', - 'walignr0','walignr0al', - 'walignr1','walignr1al', - 'walignr2','walignr2al', - 'walignr3','walignr3al', - 'wand','wandal', - 'wandn','wandnal', - 'wavg2b','wavg2bal', - 'wavg2h','wavg2hal', - 'wavg2br','wavg2bral', - 'wavg2hr','wavg2hral', - 'wavg4','wavg4al', - 'wavg4r','wavg4ral', - 'wcmpeqb','wcmpeqbal', - 'wcmpeqh','wcmpeqhal', - 'wcmpeqw','wcmpeqwal', - 'wcmpgtsb','wcmpgtsbal', - 'wcmpgtsh','wcmpgtshal', - 'wcmpgtsw','wcmpgtswal', - 'wcmpgtub','wcmpgtubal', - 'wcmpgtuh','wcmpgtuhal', - 'wcmpgtuw','wcmpgtuwal', - 'wldrb','wldrbal', - 'wldrh','wldrhal', - 'wldrw','wldrwal', - 'wldrd','wldrdal', - 'wmacs','wmacsal', - 'wmacu','wmacual', - 'wmacsz','wmacszal', - 'wmacuz','wmacuzal', - 'wmadds','wmaddsal', - 'wmaddu','wmaddual', - 'wmaddsx','wmaddsxal', - 'wmaddux','wmadduxal', - 'wmaddsn','wmaddsnal', - 'wmaddun','wmaddunal', - 'wmaxsb','wmaxsbal', - 'wmaxsh','wmaxshal', - 'wmaxsw','wmaxswal', - 'wmaxub','wmaxubal', - 'wmaxuh','wmaxuhal', - 'wmaxuw','wmaxuwal', - 'wmerge','wmergeal', - 'wmiabb','wmiabbal', - 'wmiabt','wmiabtal', - 'wmiatb','wmiatbal', - 'wmiatt','wmiattal', - 'wmiabbn','wmiabbnal', - 'wmiabtn','wmiabtnal', - 'wmiatbn','wmiatbnal', - 'wmiattn','wmiattnal', - 'wmiawbb','wmiawbbal', - 'wmiawbt','wmiawbtal', - 'wmiawtb','wmiawtbal', - 'wmiawtt','wmiawttal', - 'wmiawbbn','wmiawbbnal', - 'wmiawbtn','wmiawbtnal', - 'wmiawtbn','wmiawtbnal', - 'wmiawttn','wmiawttnal', - 'wminsb','wminsbal', - 'wminsh','wminshal', - 'wminsw','wminswal', - 'wminub','wminubal', - 'wminuh','wminuhal', - 'wminuw','wminuwal', - 'wmov','wmoval', - 'wmulsm','wmulsmal', - 'wmulsl','wmulslal', - 'wmulum','wmulumal', - 'wmulul','wmululal', - 'wmulsmr','wmulsmral', - 'wmulslr','wmulslral', - 'wmulumr','wmulumral', - 'wmululr','wmululral', - 'wmulwum','wmulwumal', - 'wmulwsm','wmulwsmal', - 'wmulwl','wmulwlal', - 'wmulwumr','wmulwumral', - 'wmulwsmr','wmulwsmral', - 'wor','woral', - 'wpackhss','wpackhssal', - 'wpackwss','wpackwssal', - 'wpackdss','wpackdssal', - 'wpackhus','wpackhusal', - 'wpackwus','wpackwusal', - 'wpackdus','wpackdusal', - 'wqmiabb','wqmiabbal', - 'wqmiabt','wqmiabtal', - 'wqmiatb','wqmiatbal', - 'wqmiatt','wqmiattal', - 'wqmiabbn','wqmiabbnal', - 'wqmiabtn','wqmiabtnal', - 'wqmiatbn','wqmiatbnal', - 'wqmiattn','wqmiattnal', - 'wqmulm','wqmulmal', - 'wqmulmr','wqmulmral', - 'wqmulwm','wqmulwmal', - 'wqmulwmr','wqmulwmral', - 'wrorh','wrorhal', - 'wrorw','wrorwal', - 'wrord','wrordal', - 'wrorhg','wrorhgal', - 'wrorwg','wrorwgal', - 'wrordg','wrordgal', - 'wsadb','wsadbal', - 'wsadh','wsadhal', - 'wsadbz','wsadbzal', - 'wsadhz','wsadhzal', - 'wshufh','wshufhal', - 'wsllh','wsllhal', - 'wsllw','wsllwal', - 'wslld','wslldal', - 'wsllhg','wsllhgal', - 'wsllwg','wsllwgal', - 'wslldg','wslldgal', - 'wsrah','wsrahal', - 'wsraw','wsrawal', - 'wsrad','wsradal', - 'wsrahg','wsrahgal', - 'wsrawg','wsrawgal', - 'wsradg','wsradgal', - 'wsrlh','wsrlhal', - 'wsrlw','wsrlwal', - 'wsrld','wsrldal', - 'wsrlhg','wsrlhgal', - 'wsrlwg','wsrlwgal', - 'wsrldg','wsrldgal', - 'wstrb','wstrbal', - 'wstrh','wstrhal', - 'wstrw','wstrwal', - 'wstrd','wstrdal', - 'wsubb','wsubbal', - 'wsubh','wsubhal', - 'wsubw','wsubwal', - 'wsubbss','wsubbssal', - 'wsubhss','wsubhssal', - 'wsubwss','wsubwssal', - 'wsubbus','wsubbusal', - 'wsubhus','wsubhusal', - 'wsubwus','wsubwusal', - 'wsubaddhx','wsubaddhxal', - 'wunpckehsb','wunpckehsbal', - 'wunpckehsh','wunpckehshal', - 'wunpckehsw','wunpckehswal', - 'wunpckehub','wunpckehubal', - 'wunpckehuh','wunpckehuhal', - 'wunpckehuw','wunpckehuwal', - 'wunpckihb','wunpckihbal', - 'wunpckihh','wunpckihhal', - 'wunpckihw','wunpckihwal', - 'wunpckelsb','wunpckelsbal', - 'wunpckelsh','wunpckelshal', - 'wunpckelsw','wunpckelswal', - 'wunpckelub','wunpckelubal', - 'wunpckeluh','wunpckeluhal', - 'wunpckeluw','wunpckeluwal', - 'wunpckilb','wunpckilbal', - 'wunpckilh','wunpckilhal', - 'wunpckilw','wunpckilwal', - 'wxor','wxoral', - 'wzero','wzeroal' - ), - /* Conditional WMMX/WMMX2 SIMD Instructions */ - 18 => array( - /* Conditional WMMX/WMMX2 SIMD Instructions */ - 'tandcbeq','tandcbne','tandcbcs','tandcbhs','tandcbcc','tandcblo','tandcbmi','tandcbpl','tandcbvs','tandcbvc','tandcbhi','tandcbls','tandcbge','tandcblt','tandcbgt','tandcble', - 'tandcheq','tandchne','tandchcs','tandchhs','tandchcc','tandchlo','tandchmi','tandchpl','tandchvs','tandchvc','tandchhi','tandchls','tandchge','tandchlt','tandchgt','tandchle', - 'tandcweq','tandcwne','tandcwcs','tandcwhs','tandcwcc','tandcwlo','tandcwmi','tandcwpl','tandcwvs','tandcwvc','tandcwhi','tandcwls','tandcwge','tandcwlt','tandcwgt','tandcwle', - 'tbcstbeq','tbcstbne','tbcstbcs','tbcstbhs','tbcstbcc','tbcstblo','tbcstbmi','tbcstbpl','tbcstbvs','tbcstbvc','tbcstbhi','tbcstbls','tbcstbge','tbcstblt','tbcstbgt','tbcstble', - 'tbcstheq','tbcsthne','tbcsthcs','tbcsthhs','tbcsthcc','tbcsthlo','tbcsthmi','tbcsthpl','tbcsthvs','tbcsthvc','tbcsthhi','tbcsthls','tbcsthge','tbcsthlt','tbcsthgt','tbcsthle', - 'tbcstweq','tbcstwne','tbcstwcs','tbcstwhs','tbcstwcc','tbcstwlo','tbcstwmi','tbcstwpl','tbcstwvs','tbcstwvc','tbcstwhi','tbcstwls','tbcstwge','tbcstwlt','tbcstwgt','tbcstwle', - 'textrcbeq','textrcbne','textrcbcs','textrcbhs','textrcbcc','textrcblo','textrcbmi','textrcbpl','textrcbvs','textrcbvc','textrcbhi','textrcbls','textrcbge','textrcblt','textrcbgt','textrcble', - 'textrcheq','textrchne','textrchcs','textrchhs','textrchcc','textrchlo','textrchmi','textrchpl','textrchvs','textrchvc','textrchhi','textrchls','textrchge','textrchlt','textrchgt','textrchle', - 'textrcweq','textrcwne','textrcwcs','textrcwhs','textrcwcc','textrcwlo','textrcwmi','textrcwpl','textrcwvs','textrcwvc','textrcwhi','textrcwls','textrcwge','textrcwlt','textrcwgt','textrcwle', - 'textrmsbeq','textrmsbne','textrmsbcs','textrmsbhs','textrmsbcc','textrmsblo','textrmsbmi','textrmsbpl','textrmsbvs','textrmsbvc','textrmsbhi','textrmsbls','textrmsbge','textrmsblt','textrmsbgt','textrmsble', - 'textrmsheq','textrmshne','textrmshcs','textrmshhs','textrmshcc','textrmshlo','textrmshmi','textrmshpl','textrmshvs','textrmshvc','textrmshhi','textrmshls','textrmshge','textrmshlt','textrmshgt','textrmshle', - 'textrmsweq','textrmswne','textrmswcs','textrmswhs','textrmswcc','textrmswlo','textrmswmi','textrmswpl','textrmswvs','textrmswvc','textrmswhi','textrmswls','textrmswge','textrmswlt','textrmswgt','textrmswle', - 'textrmubeq','textrmubne','textrmubcs','textrmubhs','textrmubcc','textrmublo','textrmubmi','textrmubpl','textrmubvs','textrmubvc','textrmubhi','textrmubls','textrmubge','textrmublt','textrmubgt','textrmuble', - 'textrmuheq','textrmuhne','textrmuhcs','textrmuhhs','textrmuhcc','textrmuhlo','textrmuhmi','textrmuhpl','textrmuhvs','textrmuhvc','textrmuhhi','textrmuhls','textrmuhge','textrmuhlt','textrmuhgt','textrmuhle', - 'textrmuweq','textrmuwne','textrmuwcs','textrmuwhs','textrmuwcc','textrmuwlo','textrmuwmi','textrmuwpl','textrmuwvs','textrmuwvc','textrmuwhi','textrmuwls','textrmuwge','textrmuwlt','textrmuwgt','textrmuwle', - 'tinsrbeq','tinsrbne','tinsrbcs','tinsrbhs','tinsrbcc','tinsrblo','tinsrbmi','tinsrbpl','tinsrbvs','tinsrbvc','tinsrbhi','tinsrbls','tinsrbge','tinsrblt','tinsrbgt','tinsrble', - 'tinsrheq','tinsrhne','tinsrhcs','tinsrhhs','tinsrhcc','tinsrhlo','tinsrhmi','tinsrhpl','tinsrhvs','tinsrhvc','tinsrhhi','tinsrhls','tinsrhge','tinsrhlt','tinsrhgt','tinsrhle', - 'tinsrweq','tinsrwne','tinsrwcs','tinsrwhs','tinsrwcc','tinsrwlo','tinsrwmi','tinsrwpl','tinsrwvs','tinsrwvc','tinsrwhi','tinsrwls','tinsrwge','tinsrwlt','tinsrwgt','tinsrwle', - 'tmcreq','tmcrne','tmcrcs','tmcrhs','tmcrcc','tmcrlo','tmcrmi','tmcrpl','tmcrvs','tmcrvc','tmcrhi','tmcrls','tmcrge','tmcrlt','tmcrgt','tmcrle', - 'tmcrreq','tmcrrne','tmcrrcs','tmcrrhs','tmcrrcc','tmcrrlo','tmcrrmi','tmcrrpl','tmcrrvs','tmcrrvc','tmcrrhi','tmcrrls','tmcrrge','tmcrrlt','tmcrrgt','tmcrrle', - 'tmiaeq','tmiane','tmiacs','tmiahs','tmiacc','tmialo','tmiami','tmiapl','tmiavs','tmiavc','tmiahi','tmials','tmiage','tmialt','tmiagt','tmiale', - 'tmiapheq','tmiaphne','tmiaphcs','tmiaphhs','tmiaphcc','tmiaphlo','tmiaphmi','tmiaphpl','tmiaphvs','tmiaphvc','tmiaphhi','tmiaphls','tmiaphge','tmiaphlt','tmiaphgt','tmiaphle', - 'tmiabbeq','tmiabbne','tmiabbcs','tmiabbhs','tmiabbcc','tmiabblo','tmiabbmi','tmiabbpl','tmiabbvs','tmiabbvc','tmiabbhi','tmiabbls','tmiabbge','tmiabblt','tmiabbgt','tmiabble', - 'tmiabteq','tmiabtne','tmiabtcs','tmiabths','tmiabtcc','tmiabtlo','tmiabtmi','tmiabtpl','tmiabtvs','tmiabtvc','tmiabthi','tmiabtls','tmiabtge','tmiabtlt','tmiabtgt','tmiabtle', - 'tmiatbeq','tmiatbne','tmiatbcs','tmiatbhs','tmiatbcc','tmiatblo','tmiatbmi','tmiatbpl','tmiatbvs','tmiatbvc','tmiatbhi','tmiatbls','tmiatbge','tmiatblt','tmiatbgt','tmiatble', - 'tmiatteq','tmiattne','tmiattcs','tmiatths','tmiattcc','tmiattlo','tmiattmi','tmiattpl','tmiattvs','tmiattvc','tmiatthi','tmiattls','tmiattge','tmiattlt','tmiattgt','tmiattle', - 'tmovmskbeq','tmovmskbne','tmovmskbcs','tmovmskbhs','tmovmskbcc','tmovmskblo','tmovmskbmi','tmovmskbpl','tmovmskbvs','tmovmskbvc','tmovmskbhi','tmovmskbls','tmovmskbge','tmovmskblt','tmovmskbgt','tmovmskble', - 'tmovmskheq','tmovmskhne','tmovmskhcs','tmovmskhhs','tmovmskhcc','tmovmskhlo','tmovmskhmi','tmovmskhpl','tmovmskhvs','tmovmskhvc','tmovmskhhi','tmovmskhls','tmovmskhge','tmovmskhlt','tmovmskhgt','tmovmskhle', - 'tmovmskweq','tmovmskwne','tmovmskwcs','tmovmskwhs','tmovmskwcc','tmovmskwlo','tmovmskwmi','tmovmskwpl','tmovmskwvs','tmovmskwvc','tmovmskwhi','tmovmskwls','tmovmskwge','tmovmskwlt','tmovmskwgt','tmovmskwle', - 'tmrceq','tmrcne','tmrccs','tmrchs','tmrccc','tmrclo','tmrcmi','tmrcpl','tmrcvs','tmrcvc','tmrchi','tmrcls','tmrcge','tmrclt','tmrcgt','tmrcle', - 'tmrrceq','tmrrcne','tmrrccs','tmrrchs','tmrrccc','tmrrclo','tmrrcmi','tmrrcpl','tmrrcvs','tmrrcvc','tmrrchi','tmrrcls','tmrrcge','tmrrclt','tmrrcgt','tmrrcle', - 'torcbeq','torcbne','torcbcs','torcbhs','torcbcc','torcblo','torcbmi','torcbpl','torcbvs','torcbvc','torcbhi','torcbls','torcbge','torcblt','torcbgt','torcble', - 'torcheq','torchne','torchcs','torchhs','torchcc','torchlo','torchmi','torchpl','torchvs','torchvc','torchhi','torchls','torchge','torchlt','torchgt','torchle', - 'torcweq','torcwne','torcwcs','torcwhs','torcwcc','torcwlo','torcwmi','torcwpl','torcwvs','torcwvc','torcwhi','torcwls','torcwge','torcwlt','torcwgt','torcwle', - 'torvscbeq','torvscbne','torvscbcs','torvscbhs','torvscbcc','torvscblo','torvscbmi','torvscbpl','torvscbvs','torvscbvc','torvscbhi','torvscbls','torvscbge','torvscblt','torvscbgt','torvscble', - 'torvscheq','torvschne','torvschcs','torvschhs','torvschcc','torvschlo','torvschmi','torvschpl','torvschvs','torvschvc','torvschhi','torvschls','torvschge','torvschlt','torvschgt','torvschle', - 'torvscweq','torvscwne','torvscwcs','torvscwhs','torvscwcc','torvscwlo','torvscwmi','torvscwpl','torvscwvs','torvscwvc','torvscwhi','torvscwls','torvscwge','torvscwlt','torvscwgt','torvscwle', - 'wabsbeq','wabsbne','wabsbcs','wabsbhs','wabsbcc','wabsblo','wabsbmi','wabsbpl','wabsbvs','wabsbvc','wabsbhi','wabsbls','wabsbge','wabsblt','wabsbgt','wabsble', - 'wabsheq','wabshne','wabshcs','wabshhs','wabshcc','wabshlo','wabshmi','wabshpl','wabshvs','wabshvc','wabshhi','wabshls','wabshge','wabshlt','wabshgt','wabshle', - 'wabsweq','wabswne','wabswcs','wabswhs','wabswcc','wabswlo','wabswmi','wabswpl','wabswvs','wabswvc','wabswhi','wabswls','wabswge','wabswlt','wabswgt','wabswle', - 'wabsdiffbeq','wabsdiffbne','wabsdiffbcs','wabsdiffbhs','wabsdiffbcc','wabsdiffblo','wabsdiffbmi','wabsdiffbpl','wabsdiffbvs','wabsdiffbvc','wabsdiffbhi','wabsdiffbls','wabsdiffbge','wabsdiffblt','wabsdiffbgt','wabsdiffble', - 'wabsdiffheq','wabsdiffhne','wabsdiffhcs','wabsdiffhhs','wabsdiffhcc','wabsdiffhlo','wabsdiffhmi','wabsdiffhpl','wabsdiffhvs','wabsdiffhvc','wabsdiffhhi','wabsdiffhls','wabsdiffhge','wabsdiffhlt','wabsdiffhgt','wabsdiffhle', - 'wabsdiffweq','wabsdiffwne','wabsdiffwcs','wabsdiffwhs','wabsdiffwcc','wabsdiffwlo','wabsdiffwmi','wabsdiffwpl','wabsdiffwvs','wabsdiffwvc','wabsdiffwhi','wabsdiffwls','wabsdiffwge','wabsdiffwlt','wabsdiffwgt','wabsdiffwle', - 'waccbeq','waccbne','waccbcs','waccbhs','waccbcc','waccblo','waccbmi','waccbpl','waccbvs','waccbvc','waccbhi','waccbls','waccbge','waccblt','waccbgt','waccble', - 'waccheq','wacchne','wacchcs','wacchhs','wacchcc','wacchlo','wacchmi','wacchpl','wacchvs','wacchvc','wacchhi','wacchls','wacchge','wacchlt','wacchgt','wacchle', - 'waccweq','waccwne','waccwcs','waccwhs','waccwcc','waccwlo','waccwmi','waccwpl','waccwvs','waccwvc','waccwhi','waccwls','waccwge','waccwlt','waccwgt','waccwle', - 'waddbeq','waddbne','waddbcs','waddbhs','waddbcc','waddblo','waddbmi','waddbpl','waddbvs','waddbvc','waddbhi','waddbls','waddbge','waddblt','waddbgt','waddble', - 'waddheq','waddhne','waddhcs','waddhhs','waddhcc','waddhlo','waddhmi','waddhpl','waddhvs','waddhvc','waddhhi','waddhls','waddhge','waddhlt','waddhgt','waddhle', - 'waddweq','waddwne','waddwcs','waddwhs','waddwcc','waddwlo','waddwmi','waddwpl','waddwvs','waddwvc','waddwhi','waddwls','waddwge','waddwlt','waddwgt','waddwle', - 'waddbceq','waddbcne','waddbccs','waddbchs','waddbccc','waddbclo','waddbcmi','waddbcpl','waddbcvs','waddbcvc','waddbchi','waddbcls','waddbcge','waddbclt','waddbcgt','waddbcle', - 'waddhceq','waddhcne','waddhccs','waddhchs','waddhccc','waddhclo','waddhcmi','waddhcpl','waddhcvs','waddhcvc','waddhchi','waddhcls','waddhcge','waddhclt','waddhcgt','waddhcle', - 'waddwceq','waddwcne','waddwccs','waddwchs','waddwccc','waddwclo','waddwcmi','waddwcpl','waddwcvs','waddwcvc','waddwchi','waddwcls','waddwcge','waddwclt','waddwcgt','waddwcle', - 'waddbsseq','waddbssne','waddbsscs','waddbsshs','waddbsscc','waddbsslo','waddbssmi','waddbsspl','waddbssvs','waddbssvc','waddbsshi','waddbssls','waddbssge','waddbsslt','waddbssgt','waddbssle', - 'waddhsseq','waddhssne','waddhsscs','waddhsshs','waddhsscc','waddhsslo','waddhssmi','waddhsspl','waddhssvs','waddhssvc','waddhsshi','waddhssls','waddhssge','waddhsslt','waddhssgt','waddhssle', - 'waddwsseq','waddwssne','waddwsscs','waddwsshs','waddwsscc','waddwsslo','waddwssmi','waddwsspl','waddwssvs','waddwssvc','waddwsshi','waddwssls','waddwssge','waddwsslt','waddwssgt','waddwssle', - 'waddbuseq','waddbusne','waddbuscs','waddbushs','waddbuscc','waddbuslo','waddbusmi','waddbuspl','waddbusvs','waddbusvc','waddbushi','waddbusls','waddbusge','waddbuslt','waddbusgt','waddbusle', - 'waddhuseq','waddhusne','waddhuscs','waddhushs','waddhuscc','waddhuslo','waddhusmi','waddhuspl','waddhusvs','waddhusvc','waddhushi','waddhusls','waddhusge','waddhuslt','waddhusgt','waddhusle', - 'waddwuseq','waddwusne','waddwuscs','waddwushs','waddwuscc','waddwuslo','waddwusmi','waddwuspl','waddwusvs','waddwusvc','waddwushi','waddwusls','waddwusge','waddwuslt','waddwusgt','waddwusle', - 'waddsubhxeq','waddsubhxne','waddsubhxcs','waddsubhxhs','waddsubhxcc','waddsubhxlo','waddsubhxmi','waddsubhxpl','waddsubhxvs','waddsubhxvc','waddsubhxhi','waddsubhxls','waddsubhxge','waddsubhxlt','waddsubhxgt','waddsubhxle', - 'walignieq','walignine','walignics','walignihs','walignicc','walignilo','walignimi','walignipl','walignivs','walignivc','walignihi','walignils','walignige','walignilt','walignigt','walignile', - 'walignr0eq','walignr0ne','walignr0cs','walignr0hs','walignr0cc','walignr0lo','walignr0mi','walignr0pl','walignr0vs','walignr0vc','walignr0hi','walignr0ls','walignr0ge','walignr0lt','walignr0gt','walignr0le', - 'walignr1eq','walignr1ne','walignr1cs','walignr1hs','walignr1cc','walignr1lo','walignr1mi','walignr1pl','walignr1vs','walignr1vc','walignr1hi','walignr1ls','walignr1ge','walignr1lt','walignr1gt','walignr1le', - 'walignr2eq','walignr2ne','walignr2cs','walignr2hs','walignr2cc','walignr2lo','walignr2mi','walignr2pl','walignr2vs','walignr2vc','walignr2hi','walignr2ls','walignr2ge','walignr2lt','walignr2gt','walignr2le', - 'walignr3eq','walignr3ne','walignr3cs','walignr3hs','walignr3cc','walignr3lo','walignr3mi','walignr3pl','walignr3vs','walignr3vc','walignr3hi','walignr3ls','walignr3ge','walignr3lt','walignr3gt','walignr3le', - 'wandeq','wandne','wandcs','wandhs','wandcc','wandlo','wandmi','wandpl','wandvs','wandvc','wandhi','wandls','wandge','wandlt','wandgt','wandle', - 'wandneq','wandnne','wandncs','wandnhs','wandncc','wandnlo','wandnmi','wandnpl','wandnvs','wandnvc','wandnhi','wandnls','wandnge','wandnlt','wandngt','wandnle', - 'wavg2beq','wavg2bne','wavg2bcs','wavg2bhs','wavg2bcc','wavg2blo','wavg2bmi','wavg2bpl','wavg2bvs','wavg2bvc','wavg2bhi','wavg2bls','wavg2bge','wavg2blt','wavg2bgt','wavg2ble', - 'wavg2heq','wavg2hne','wavg2hcs','wavg2hhs','wavg2hcc','wavg2hlo','wavg2hmi','wavg2hpl','wavg2hvs','wavg2hvc','wavg2hhi','wavg2hls','wavg2hge','wavg2hlt','wavg2hgt','wavg2hle', - 'wavg2breq','wavg2brne','wavg2brcs','wavg2brhs','wavg2brcc','wavg2brlo','wavg2brmi','wavg2brpl','wavg2brvs','wavg2brvc','wavg2brhi','wavg2brls','wavg2brge','wavg2brlt','wavg2brgt','wavg2brle', - 'wavg2hreq','wavg2hrne','wavg2hrcs','wavg2hrhs','wavg2hrcc','wavg2hrlo','wavg2hrmi','wavg2hrpl','wavg2hrvs','wavg2hrvc','wavg2hrhi','wavg2hrls','wavg2hrge','wavg2hrlt','wavg2hrgt','wavg2hrle', - 'wavg4eq','wavg4ne','wavg4cs','wavg4hs','wavg4cc','wavg4lo','wavg4mi','wavg4pl','wavg4vs','wavg4vc','wavg4hi','wavg4ls','wavg4ge','wavg4lt','wavg4gt','wavg4le', - 'wavg4req','wavg4rne','wavg4rcs','wavg4rhs','wavg4rcc','wavg4rlo','wavg4rmi','wavg4rpl','wavg4rvs','wavg4rvc','wavg4rhi','wavg4rls','wavg4rge','wavg4rlt','wavg4rgt','wavg4rle', - 'wcmpeqbeq','wcmpeqbne','wcmpeqbcs','wcmpeqbhs','wcmpeqbcc','wcmpeqblo','wcmpeqbmi','wcmpeqbpl','wcmpeqbvs','wcmpeqbvc','wcmpeqbhi','wcmpeqbls','wcmpeqbge','wcmpeqblt','wcmpeqbgt','wcmpeqble', - 'wcmpeqheq','wcmpeqhne','wcmpeqhcs','wcmpeqhhs','wcmpeqhcc','wcmpeqhlo','wcmpeqhmi','wcmpeqhpl','wcmpeqhvs','wcmpeqhvc','wcmpeqhhi','wcmpeqhls','wcmpeqhge','wcmpeqhlt','wcmpeqhgt','wcmpeqhle', - 'wcmpeqweq','wcmpeqwne','wcmpeqwcs','wcmpeqwhs','wcmpeqwcc','wcmpeqwlo','wcmpeqwmi','wcmpeqwpl','wcmpeqwvs','wcmpeqwvc','wcmpeqwhi','wcmpeqwls','wcmpeqwge','wcmpeqwlt','wcmpeqwgt','wcmpeqwle', - 'wcmpgtsbeq','wcmpgtsbne','wcmpgtsbcs','wcmpgtsbhs','wcmpgtsbcc','wcmpgtsblo','wcmpgtsbmi','wcmpgtsbpl','wcmpgtsbvs','wcmpgtsbvc','wcmpgtsbhi','wcmpgtsbls','wcmpgtsbge','wcmpgtsblt','wcmpgtsbgt','wcmpgtsble', - 'wcmpgtsheq','wcmpgtshne','wcmpgtshcs','wcmpgtshhs','wcmpgtshcc','wcmpgtshlo','wcmpgtshmi','wcmpgtshpl','wcmpgtshvs','wcmpgtshvc','wcmpgtshhi','wcmpgtshls','wcmpgtshge','wcmpgtshlt','wcmpgtshgt','wcmpgtshle', - 'wcmpgtsweq','wcmpgtswne','wcmpgtswcs','wcmpgtswhs','wcmpgtswcc','wcmpgtswlo','wcmpgtswmi','wcmpgtswpl','wcmpgtswvs','wcmpgtswvc','wcmpgtswhi','wcmpgtswls','wcmpgtswge','wcmpgtswlt','wcmpgtswgt','wcmpgtswle', - 'wcmpgtubeq','wcmpgtubne','wcmpgtubcs','wcmpgtubhs','wcmpgtubcc','wcmpgtublo','wcmpgtubmi','wcmpgtubpl','wcmpgtubvs','wcmpgtubvc','wcmpgtubhi','wcmpgtubls','wcmpgtubge','wcmpgtublt','wcmpgtubgt','wcmpgtuble', - 'wcmpgtuheq','wcmpgtuhne','wcmpgtuhcs','wcmpgtuhhs','wcmpgtuhcc','wcmpgtuhlo','wcmpgtuhmi','wcmpgtuhpl','wcmpgtuhvs','wcmpgtuhvc','wcmpgtuhhi','wcmpgtuhls','wcmpgtuhge','wcmpgtuhlt','wcmpgtuhgt','wcmpgtuhle', - 'wcmpgtuweq','wcmpgtuwne','wcmpgtuwcs','wcmpgtuwhs','wcmpgtuwcc','wcmpgtuwlo','wcmpgtuwmi','wcmpgtuwpl','wcmpgtuwvs','wcmpgtuwvc','wcmpgtuwhi','wcmpgtuwls','wcmpgtuwge','wcmpgtuwlt','wcmpgtuwgt','wcmpgtuwle', - 'wldrbeq','wldrbne','wldrbcs','wldrbhs','wldrbcc','wldrblo','wldrbmi','wldrbpl','wldrbvs','wldrbvc','wldrbhi','wldrbls','wldrbge','wldrblt','wldrbgt','wldrble', - 'wldrheq','wldrhne','wldrhcs','wldrhhs','wldrhcc','wldrhlo','wldrhmi','wldrhpl','wldrhvs','wldrhvc','wldrhhi','wldrhls','wldrhge','wldrhlt','wldrhgt','wldrhle', - 'wldrweq','wldrwne','wldrwcs','wldrwhs','wldrwcc','wldrwlo','wldrwmi','wldrwpl','wldrwvs','wldrwvc','wldrwhi','wldrwls','wldrwge','wldrwlt','wldrwgt','wldrwle', - 'wldrdeq','wldrdne','wldrdcs','wldrdhs','wldrdcc','wldrdlo','wldrdmi','wldrdpl','wldrdvs','wldrdvc','wldrdhi','wldrdls','wldrdge','wldrdlt','wldrdgt','wldrdle', - 'wmacseq','wmacsne','wmacscs','wmacshs','wmacscc','wmacslo','wmacsmi','wmacspl','wmacsvs','wmacsvc','wmacshi','wmacsls','wmacsge','wmacslt','wmacsgt','wmacsle', - 'wmacueq','wmacune','wmacucs','wmacuhs','wmacucc','wmaculo','wmacumi','wmacupl','wmacuvs','wmacuvc','wmacuhi','wmaculs','wmacuge','wmacult','wmacugt','wmacule', - 'wmacszeq','wmacszne','wmacszcs','wmacszhs','wmacszcc','wmacszlo','wmacszmi','wmacszpl','wmacszvs','wmacszvc','wmacszhi','wmacszls','wmacszge','wmacszlt','wmacszgt','wmacszle', - 'wmacuzeq','wmacuzne','wmacuzcs','wmacuzhs','wmacuzcc','wmacuzlo','wmacuzmi','wmacuzpl','wmacuzvs','wmacuzvc','wmacuzhi','wmacuzls','wmacuzge','wmacuzlt','wmacuzgt','wmacuzle', - 'wmaddseq','wmaddsne','wmaddscs','wmaddshs','wmaddscc','wmaddslo','wmaddsmi','wmaddspl','wmaddsvs','wmaddsvc','wmaddshi','wmaddsls','wmaddsge','wmaddslt','wmaddsgt','wmaddsle', - 'wmaddueq','wmaddune','wmadducs','wmadduhs','wmadducc','wmaddulo','wmaddumi','wmaddupl','wmadduvs','wmadduvc','wmadduhi','wmadduls','wmadduge','wmaddult','wmaddugt','wmaddule', - 'wmaddsxeq','wmaddsxne','wmaddsxcs','wmaddsxhs','wmaddsxcc','wmaddsxlo','wmaddsxmi','wmaddsxpl','wmaddsxvs','wmaddsxvc','wmaddsxhi','wmaddsxls','wmaddsxge','wmaddsxlt','wmaddsxgt','wmaddsxle', - 'wmadduxeq','wmadduxne','wmadduxcs','wmadduxhs','wmadduxcc','wmadduxlo','wmadduxmi','wmadduxpl','wmadduxvs','wmadduxvc','wmadduxhi','wmadduxls','wmadduxge','wmadduxlt','wmadduxgt','wmadduxle', - 'wmaddsneq','wmaddsnne','wmaddsncs','wmaddsnhs','wmaddsncc','wmaddsnlo','wmaddsnmi','wmaddsnpl','wmaddsnvs','wmaddsnvc','wmaddsnhi','wmaddsnls','wmaddsnge','wmaddsnlt','wmaddsngt','wmaddsnle', - 'wmadduneq','wmaddunne','wmadduncs','wmaddunhs','wmadduncc','wmaddunlo','wmaddunmi','wmaddunpl','wmaddunvs','wmaddunvc','wmaddunhi','wmaddunls','wmaddunge','wmaddunlt','wmaddungt','wmaddunle', - 'wmaxsbeq','wmaxsbne','wmaxsbcs','wmaxsbhs','wmaxsbcc','wmaxsblo','wmaxsbmi','wmaxsbpl','wmaxsbvs','wmaxsbvc','wmaxsbhi','wmaxsbls','wmaxsbge','wmaxsblt','wmaxsbgt','wmaxsble', - 'wmaxsheq','wmaxshne','wmaxshcs','wmaxshhs','wmaxshcc','wmaxshlo','wmaxshmi','wmaxshpl','wmaxshvs','wmaxshvc','wmaxshhi','wmaxshls','wmaxshge','wmaxshlt','wmaxshgt','wmaxshle', - 'wmaxsweq','wmaxswne','wmaxswcs','wmaxswhs','wmaxswcc','wmaxswlo','wmaxswmi','wmaxswpl','wmaxswvs','wmaxswvc','wmaxswhi','wmaxswls','wmaxswge','wmaxswlt','wmaxswgt','wmaxswle', - 'wmaxubeq','wmaxubne','wmaxubcs','wmaxubhs','wmaxubcc','wmaxublo','wmaxubmi','wmaxubpl','wmaxubvs','wmaxubvc','wmaxubhi','wmaxubls','wmaxubge','wmaxublt','wmaxubgt','wmaxuble', - 'wmaxuheq','wmaxuhne','wmaxuhcs','wmaxuhhs','wmaxuhcc','wmaxuhlo','wmaxuhmi','wmaxuhpl','wmaxuhvs','wmaxuhvc','wmaxuhhi','wmaxuhls','wmaxuhge','wmaxuhlt','wmaxuhgt','wmaxuhle', - 'wmaxuweq','wmaxuwne','wmaxuwcs','wmaxuwhs','wmaxuwcc','wmaxuwlo','wmaxuwmi','wmaxuwpl','wmaxuwvs','wmaxuwvc','wmaxuwhi','wmaxuwls','wmaxuwge','wmaxuwlt','wmaxuwgt','wmaxuwle', - 'wmergeeq','wmergene','wmergecs','wmergehs','wmergecc','wmergelo','wmergemi','wmergepl','wmergevs','wmergevc','wmergehi','wmergels','wmergege','wmergelt','wmergegt','wmergele', - 'wmiabbeq','wmiabbne','wmiabbcs','wmiabbhs','wmiabbcc','wmiabblo','wmiabbmi','wmiabbpl','wmiabbvs','wmiabbvc','wmiabbhi','wmiabbls','wmiabbge','wmiabblt','wmiabbgt','wmiabble', - 'wmiabteq','wmiabtne','wmiabtcs','wmiabths','wmiabtcc','wmiabtlo','wmiabtmi','wmiabtpl','wmiabtvs','wmiabtvc','wmiabthi','wmiabtls','wmiabtge','wmiabtlt','wmiabtgt','wmiabtle', - 'wmiatbeq','wmiatbne','wmiatbcs','wmiatbhs','wmiatbcc','wmiatblo','wmiatbmi','wmiatbpl','wmiatbvs','wmiatbvc','wmiatbhi','wmiatbls','wmiatbge','wmiatblt','wmiatbgt','wmiatble', - 'wmiatteq','wmiattne','wmiattcs','wmiatths','wmiattcc','wmiattlo','wmiattmi','wmiattpl','wmiattvs','wmiattvc','wmiatthi','wmiattls','wmiattge','wmiattlt','wmiattgt','wmiattle', - 'wmiabbneq','wmiabbnne','wmiabbncs','wmiabbnhs','wmiabbncc','wmiabbnlo','wmiabbnmi','wmiabbnpl','wmiabbnvs','wmiabbnvc','wmiabbnhi','wmiabbnls','wmiabbnge','wmiabbnlt','wmiabbngt','wmiabbnle', - 'wmiabtneq','wmiabtnne','wmiabtncs','wmiabtnhs','wmiabtncc','wmiabtnlo','wmiabtnmi','wmiabtnpl','wmiabtnvs','wmiabtnvc','wmiabtnhi','wmiabtnls','wmiabtnge','wmiabtnlt','wmiabtngt','wmiabtnle', - 'wmiatbneq','wmiatbnne','wmiatbncs','wmiatbnhs','wmiatbncc','wmiatbnlo','wmiatbnmi','wmiatbnpl','wmiatbnvs','wmiatbnvc','wmiatbnhi','wmiatbnls','wmiatbnge','wmiatbnlt','wmiatbngt','wmiatbnle', - 'wmiattneq','wmiattnne','wmiattncs','wmiattnhs','wmiattncc','wmiattnlo','wmiattnmi','wmiattnpl','wmiattnvs','wmiattnvc','wmiattnhi','wmiattnls','wmiattnge','wmiattnlt','wmiattngt','wmiattnle', - 'wmiawbbeq','wmiawbbne','wmiawbbcs','wmiawbbhs','wmiawbbcc','wmiawbblo','wmiawbbmi','wmiawbbpl','wmiawbbvs','wmiawbbvc','wmiawbbhi','wmiawbbls','wmiawbbge','wmiawbblt','wmiawbbgt','wmiawbble', - 'wmiawbteq','wmiawbtne','wmiawbtcs','wmiawbths','wmiawbtcc','wmiawbtlo','wmiawbtmi','wmiawbtpl','wmiawbtvs','wmiawbtvc','wmiawbthi','wmiawbtls','wmiawbtge','wmiawbtlt','wmiawbtgt','wmiawbtle', - 'wmiawtbeq','wmiawtbne','wmiawtbcs','wmiawtbhs','wmiawtbcc','wmiawtblo','wmiawtbmi','wmiawtbpl','wmiawtbvs','wmiawtbvc','wmiawtbhi','wmiawtbls','wmiawtbge','wmiawtblt','wmiawtbgt','wmiawtble', - 'wmiawtteq','wmiawttne','wmiawttcs','wmiawtths','wmiawttcc','wmiawttlo','wmiawttmi','wmiawttpl','wmiawttvs','wmiawttvc','wmiawtthi','wmiawttls','wmiawttge','wmiawttlt','wmiawttgt','wmiawttle', - 'wmiawbbneq','wmiawbbnne','wmiawbbncs','wmiawbbnhs','wmiawbbncc','wmiawbbnlo','wmiawbbnmi','wmiawbbnpl','wmiawbbnvs','wmiawbbnvc','wmiawbbnhi','wmiawbbnls','wmiawbbnge','wmiawbbnlt','wmiawbbngt','wmiawbbnle', - 'wmiawbtneq','wmiawbtnne','wmiawbtncs','wmiawbtnhs','wmiawbtncc','wmiawbtnlo','wmiawbtnmi','wmiawbtnpl','wmiawbtnvs','wmiawbtnvc','wmiawbtnhi','wmiawbtnls','wmiawbtnge','wmiawbtnlt','wmiawbtngt','wmiawbtnle', - 'wmiawtbneq','wmiawtbnne','wmiawtbncs','wmiawtbnhs','wmiawtbncc','wmiawtbnlo','wmiawtbnmi','wmiawtbnpl','wmiawtbnvs','wmiawtbnvc','wmiawtbnhi','wmiawtbnls','wmiawtbnge','wmiawtbnlt','wmiawtbngt','wmiawtbnle', - 'wmiawttneq','wmiawttnne','wmiawttncs','wmiawttnhs','wmiawttncc','wmiawttnlo','wmiawttnmi','wmiawttnpl','wmiawttnvs','wmiawttnvc','wmiawttnhi','wmiawttnls','wmiawttnge','wmiawttnlt','wmiawttngt','wmiawttnle', - 'wminsbeq','wminsbne','wminsbcs','wminsbhs','wminsbcc','wminsblo','wminsbmi','wminsbpl','wminsbvs','wminsbvc','wminsbhi','wminsbls','wminsbge','wminsblt','wminsbgt','wminsble', - 'wminsheq','wminshne','wminshcs','wminshhs','wminshcc','wminshlo','wminshmi','wminshpl','wminshvs','wminshvc','wminshhi','wminshls','wminshge','wminshlt','wminshgt','wminshle', - 'wminsweq','wminswne','wminswcs','wminswhs','wminswcc','wminswlo','wminswmi','wminswpl','wminswvs','wminswvc','wminswhi','wminswls','wminswge','wminswlt','wminswgt','wminswle', - 'wminubeq','wminubne','wminubcs','wminubhs','wminubcc','wminublo','wminubmi','wminubpl','wminubvs','wminubvc','wminubhi','wminubls','wminubge','wminublt','wminubgt','wminuble', - 'wminuheq','wminuhne','wminuhcs','wminuhhs','wminuhcc','wminuhlo','wminuhmi','wminuhpl','wminuhvs','wminuhvc','wminuhhi','wminuhls','wminuhge','wminuhlt','wminuhgt','wminuhle', - 'wminuweq','wminuwne','wminuwcs','wminuwhs','wminuwcc','wminuwlo','wminuwmi','wminuwpl','wminuwvs','wminuwvc','wminuwhi','wminuwls','wminuwge','wminuwlt','wminuwgt','wminuwle', - 'wmoveq','wmovne','wmovcs','wmovhs','wmovcc','wmovlo','wmovmi','wmovpl','wmovvs','wmovvc','wmovhi','wmovls','wmovge','wmovlt','wmovgt','wmovle', - 'wmulsmeq','wmulsmne','wmulsmcs','wmulsmhs','wmulsmcc','wmulsmlo','wmulsmmi','wmulsmpl','wmulsmvs','wmulsmvc','wmulsmhi','wmulsmls','wmulsmge','wmulsmlt','wmulsmgt','wmulsmle', - 'wmulsleq','wmulslne','wmulslcs','wmulslhs','wmulslcc','wmulsllo','wmulslmi','wmulslpl','wmulslvs','wmulslvc','wmulslhi','wmulslls','wmulslge','wmulsllt','wmulslgt','wmulslle', - 'wmulumeq','wmulumne','wmulumcs','wmulumhs','wmulumcc','wmulumlo','wmulummi','wmulumpl','wmulumvs','wmulumvc','wmulumhi','wmulumls','wmulumge','wmulumlt','wmulumgt','wmulumle', - 'wmululeq','wmululne','wmululcs','wmululhs','wmululcc','wmulullo','wmululmi','wmululpl','wmululvs','wmululvc','wmululhi','wmululls','wmululge','wmulullt','wmululgt','wmululle', - 'wmulsmreq','wmulsmrne','wmulsmrcs','wmulsmrhs','wmulsmrcc','wmulsmrlo','wmulsmrmi','wmulsmrpl','wmulsmrvs','wmulsmrvc','wmulsmrhi','wmulsmrls','wmulsmrge','wmulsmrlt','wmulsmrgt','wmulsmrle', - 'wmulslreq','wmulslrne','wmulslrcs','wmulslrhs','wmulslrcc','wmulslrlo','wmulslrmi','wmulslrpl','wmulslrvs','wmulslrvc','wmulslrhi','wmulslrls','wmulslrge','wmulslrlt','wmulslrgt','wmulslrle', - 'wmulumreq','wmulumrne','wmulumrcs','wmulumrhs','wmulumrcc','wmulumrlo','wmulumrmi','wmulumrpl','wmulumrvs','wmulumrvc','wmulumrhi','wmulumrls','wmulumrge','wmulumrlt','wmulumrgt','wmulumrle', - 'wmululreq','wmululrne','wmululrcs','wmululrhs','wmululrcc','wmululrlo','wmululrmi','wmululrpl','wmululrvs','wmululrvc','wmululrhi','wmululrls','wmululrge','wmululrlt','wmululrgt','wmululrle', - 'wmulwumeq','wmulwumne','wmulwumcs','wmulwumhs','wmulwumcc','wmulwumlo','wmulwummi','wmulwumpl','wmulwumvs','wmulwumvc','wmulwumhi','wmulwumls','wmulwumge','wmulwumlt','wmulwumgt','wmulwumle', - 'wmulwsmeq','wmulwsmne','wmulwsmcs','wmulwsmhs','wmulwsmcc','wmulwsmlo','wmulwsmmi','wmulwsmpl','wmulwsmvs','wmulwsmvc','wmulwsmhi','wmulwsmls','wmulwsmge','wmulwsmlt','wmulwsmgt','wmulwsmle', - 'wmulwleq','wmulwlne','wmulwlcs','wmulwlhs','wmulwlcc','wmulwllo','wmulwlmi','wmulwlpl','wmulwlvs','wmulwlvc','wmulwlhi','wmulwlls','wmulwlge','wmulwllt','wmulwlgt','wmulwlle', - 'wmulwumreq','wmulwumrne','wmulwumrcs','wmulwumrhs','wmulwumrcc','wmulwumrlo','wmulwumrmi','wmulwumrpl','wmulwumrvs','wmulwumrvc','wmulwumrhi','wmulwumrls','wmulwumrge','wmulwumrlt','wmulwumrgt','wmulwumrle', - 'wmulwsmreq','wmulwsmrne','wmulwsmrcs','wmulwsmrhs','wmulwsmrcc','wmulwsmrlo','wmulwsmrmi','wmulwsmrpl','wmulwsmrvs','wmulwsmrvc','wmulwsmrhi','wmulwsmrls','wmulwsmrge','wmulwsmrlt','wmulwsmrgt','wmulwsmrle', - 'woreq','worne','worcs','worhs','worcc','worlo','wormi','worpl','worvs','worvc','worhi','worls','worge','worlt','worgt','worle', - 'wpackhsseq','wpackhssne','wpackhsscs','wpackhsshs','wpackhsscc','wpackhsslo','wpackhssmi','wpackhsspl','wpackhssvs','wpackhssvc','wpackhsshi','wpackhssls','wpackhssge','wpackhsslt','wpackhssgt','wpackhssle', - 'wpackwsseq','wpackwssne','wpackwsscs','wpackwsshs','wpackwsscc','wpackwsslo','wpackwssmi','wpackwsspl','wpackwssvs','wpackwssvc','wpackwsshi','wpackwssls','wpackwssge','wpackwsslt','wpackwssgt','wpackwssle', - 'wpackdsseq','wpackdssne','wpackdsscs','wpackdsshs','wpackdsscc','wpackdsslo','wpackdssmi','wpackdsspl','wpackdssvs','wpackdssvc','wpackdsshi','wpackdssls','wpackdssge','wpackdsslt','wpackdssgt','wpackdssle', - 'wpackhuseq','wpackhusne','wpackhuscs','wpackhushs','wpackhuscc','wpackhuslo','wpackhusmi','wpackhuspl','wpackhusvs','wpackhusvc','wpackhushi','wpackhusls','wpackhusge','wpackhuslt','wpackhusgt','wpackhusle', - 'wpackwuseq','wpackwusne','wpackwuscs','wpackwushs','wpackwuscc','wpackwuslo','wpackwusmi','wpackwuspl','wpackwusvs','wpackwusvc','wpackwushi','wpackwusls','wpackwusge','wpackwuslt','wpackwusgt','wpackwusle', - 'wpackduseq','wpackdusne','wpackduscs','wpackdushs','wpackduscc','wpackduslo','wpackdusmi','wpackduspl','wpackdusvs','wpackdusvc','wpackdushi','wpackdusls','wpackdusge','wpackduslt','wpackdusgt','wpackdusle', - 'wqmiabbeq','wqmiabbne','wqmiabbcs','wqmiabbhs','wqmiabbcc','wqmiabblo','wqmiabbmi','wqmiabbpl','wqmiabbvs','wqmiabbvc','wqmiabbhi','wqmiabbls','wqmiabbge','wqmiabblt','wqmiabbgt','wqmiabble', - 'wqmiabteq','wqmiabtne','wqmiabtcs','wqmiabths','wqmiabtcc','wqmiabtlo','wqmiabtmi','wqmiabtpl','wqmiabtvs','wqmiabtvc','wqmiabthi','wqmiabtls','wqmiabtge','wqmiabtlt','wqmiabtgt','wqmiabtle', - 'wqmiatbeq','wqmiatbne','wqmiatbcs','wqmiatbhs','wqmiatbcc','wqmiatblo','wqmiatbmi','wqmiatbpl','wqmiatbvs','wqmiatbvc','wqmiatbhi','wqmiatbls','wqmiatbge','wqmiatblt','wqmiatbgt','wqmiatble', - 'wqmiatteq','wqmiattne','wqmiattcs','wqmiatths','wqmiattcc','wqmiattlo','wqmiattmi','wqmiattpl','wqmiattvs','wqmiattvc','wqmiatthi','wqmiattls','wqmiattge','wqmiattlt','wqmiattgt','wqmiattle', - 'wqmiabbneq','wqmiabbnne','wqmiabbncs','wqmiabbnhs','wqmiabbncc','wqmiabbnlo','wqmiabbnmi','wqmiabbnpl','wqmiabbnvs','wqmiabbnvc','wqmiabbnhi','wqmiabbnls','wqmiabbnge','wqmiabbnlt','wqmiabbngt','wqmiabbnle', - 'wqmiabtneq','wqmiabtnne','wqmiabtncs','wqmiabtnhs','wqmiabtncc','wqmiabtnlo','wqmiabtnmi','wqmiabtnpl','wqmiabtnvs','wqmiabtnvc','wqmiabtnhi','wqmiabtnls','wqmiabtnge','wqmiabtnlt','wqmiabtngt','wqmiabtnle', - 'wqmiatbneq','wqmiatbnne','wqmiatbncs','wqmiatbnhs','wqmiatbncc','wqmiatbnlo','wqmiatbnmi','wqmiatbnpl','wqmiatbnvs','wqmiatbnvc','wqmiatbnhi','wqmiatbnls','wqmiatbnge','wqmiatbnlt','wqmiatbngt','wqmiatbnle', - 'wqmiattneq','wqmiattnne','wqmiattncs','wqmiattnhs','wqmiattncc','wqmiattnlo','wqmiattnmi','wqmiattnpl','wqmiattnvs','wqmiattnvc','wqmiattnhi','wqmiattnls','wqmiattnge','wqmiattnlt','wqmiattngt','wqmiattnle', - 'wqmulmeq','wqmulmne','wqmulmcs','wqmulmhs','wqmulmcc','wqmulmlo','wqmulmmi','wqmulmpl','wqmulmvs','wqmulmvc','wqmulmhi','wqmulmls','wqmulmge','wqmulmlt','wqmulmgt','wqmulmle', - 'wqmulmreq','wqmulmrne','wqmulmrcs','wqmulmrhs','wqmulmrcc','wqmulmrlo','wqmulmrmi','wqmulmrpl','wqmulmrvs','wqmulmrvc','wqmulmrhi','wqmulmrls','wqmulmrge','wqmulmrlt','wqmulmrgt','wqmulmrle', - 'wqmulwmeq','wqmulwmne','wqmulwmcs','wqmulwmhs','wqmulwmcc','wqmulwmlo','wqmulwmmi','wqmulwmpl','wqmulwmvs','wqmulwmvc','wqmulwmhi','wqmulwmls','wqmulwmge','wqmulwmlt','wqmulwmgt','wqmulwmle', - 'wqmulwmreq','wqmulwmrne','wqmulwmrcs','wqmulwmrhs','wqmulwmrcc','wqmulwmrlo','wqmulwmrmi','wqmulwmrpl','wqmulwmrvs','wqmulwmrvc','wqmulwmrhi','wqmulwmrls','wqmulwmrge','wqmulwmrlt','wqmulwmrgt','wqmulwmrle', - 'wrorheq','wrorhne','wrorhcs','wrorhhs','wrorhcc','wrorhlo','wrorhmi','wrorhpl','wrorhvs','wrorhvc','wrorhhi','wrorhls','wrorhge','wrorhlt','wrorhgt','wrorhle', - 'wrorweq','wrorwne','wrorwcs','wrorwhs','wrorwcc','wrorwlo','wrorwmi','wrorwpl','wrorwvs','wrorwvc','wrorwhi','wrorwls','wrorwge','wrorwlt','wrorwgt','wrorwle', - 'wrordeq','wrordne','wrordcs','wrordhs','wrordcc','wrordlo','wrordmi','wrordpl','wrordvs','wrordvc','wrordhi','wrordls','wrordge','wrordlt','wrordgt','wrordle', - 'wrorhgeq','wrorhgne','wrorhgcs','wrorhghs','wrorhgcc','wrorhglo','wrorhgmi','wrorhgpl','wrorhgvs','wrorhgvc','wrorhghi','wrorhgls','wrorhgge','wrorhglt','wrorhggt','wrorhgle', - 'wrorwgeq','wrorwgne','wrorwgcs','wrorwghs','wrorwgcc','wrorwglo','wrorwgmi','wrorwgpl','wrorwgvs','wrorwgvc','wrorwghi','wrorwgls','wrorwgge','wrorwglt','wrorwggt','wrorwgle', - 'wrordgeq','wrordgne','wrordgcs','wrordghs','wrordgcc','wrordglo','wrordgmi','wrordgpl','wrordgvs','wrordgvc','wrordghi','wrordgls','wrordgge','wrordglt','wrordggt','wrordgle', - 'wsadbeq','wsadbne','wsadbcs','wsadbhs','wsadbcc','wsadblo','wsadbmi','wsadbpl','wsadbvs','wsadbvc','wsadbhi','wsadbls','wsadbge','wsadblt','wsadbgt','wsadble', - 'wsadheq','wsadhne','wsadhcs','wsadhhs','wsadhcc','wsadhlo','wsadhmi','wsadhpl','wsadhvs','wsadhvc','wsadhhi','wsadhls','wsadhge','wsadhlt','wsadhgt','wsadhle', - 'wsadbzeq','wsadbzne','wsadbzcs','wsadbzhs','wsadbzcc','wsadbzlo','wsadbzmi','wsadbzpl','wsadbzvs','wsadbzvc','wsadbzhi','wsadbzls','wsadbzge','wsadbzlt','wsadbzgt','wsadbzle', - 'wsadhzeq','wsadhzne','wsadhzcs','wsadhzhs','wsadhzcc','wsadhzlo','wsadhzmi','wsadhzpl','wsadhzvs','wsadhzvc','wsadhzhi','wsadhzls','wsadhzge','wsadhzlt','wsadhzgt','wsadhzle', - 'wshufheq','wshufhne','wshufhcs','wshufhhs','wshufhcc','wshufhlo','wshufhmi','wshufhpl','wshufhvs','wshufhvc','wshufhhi','wshufhls','wshufhge','wshufhlt','wshufhgt','wshufhle', - 'wsllheq','wsllhne','wsllhcs','wsllhhs','wsllhcc','wsllhlo','wsllhmi','wsllhpl','wsllhvs','wsllhvc','wsllhhi','wsllhls','wsllhge','wsllhlt','wsllhgt','wsllhle', - 'wsllweq','wsllwne','wsllwcs','wsllwhs','wsllwcc','wsllwlo','wsllwmi','wsllwpl','wsllwvs','wsllwvc','wsllwhi','wsllwls','wsllwge','wsllwlt','wsllwgt','wsllwle', - 'wslldeq','wslldne','wslldcs','wslldhs','wslldcc','wslldlo','wslldmi','wslldpl','wslldvs','wslldvc','wslldhi','wslldls','wslldge','wslldlt','wslldgt','wslldle', - 'wsllhgeq','wsllhgne','wsllhgcs','wsllhghs','wsllhgcc','wsllhglo','wsllhgmi','wsllhgpl','wsllhgvs','wsllhgvc','wsllhghi','wsllhgls','wsllhgge','wsllhglt','wsllhggt','wsllhgle', - 'wsllwgeq','wsllwgne','wsllwgcs','wsllwghs','wsllwgcc','wsllwglo','wsllwgmi','wsllwgpl','wsllwgvs','wsllwgvc','wsllwghi','wsllwgls','wsllwgge','wsllwglt','wsllwggt','wsllwgle', - 'wslldgeq','wslldgne','wslldgcs','wslldghs','wslldgcc','wslldglo','wslldgmi','wslldgpl','wslldgvs','wslldgvc','wslldghi','wslldgls','wslldgge','wslldglt','wslldggt','wslldgle', - 'wsraheq','wsrahne','wsrahcs','wsrahhs','wsrahcc','wsrahlo','wsrahmi','wsrahpl','wsrahvs','wsrahvc','wsrahhi','wsrahls','wsrahge','wsrahlt','wsrahgt','wsrahle', - 'wsraweq','wsrawne','wsrawcs','wsrawhs','wsrawcc','wsrawlo','wsrawmi','wsrawpl','wsrawvs','wsrawvc','wsrawhi','wsrawls','wsrawge','wsrawlt','wsrawgt','wsrawle', - 'wsradeq','wsradne','wsradcs','wsradhs','wsradcc','wsradlo','wsradmi','wsradpl','wsradvs','wsradvc','wsradhi','wsradls','wsradge','wsradlt','wsradgt','wsradle', - 'wsrahgeq','wsrahgne','wsrahgcs','wsrahghs','wsrahgcc','wsrahglo','wsrahgmi','wsrahgpl','wsrahgvs','wsrahgvc','wsrahghi','wsrahgls','wsrahgge','wsrahglt','wsrahggt','wsrahgle', - 'wsrawgeq','wsrawgne','wsrawgcs','wsrawghs','wsrawgcc','wsrawglo','wsrawgmi','wsrawgpl','wsrawgvs','wsrawgvc','wsrawghi','wsrawgls','wsrawgge','wsrawglt','wsrawggt','wsrawgle', - 'wsradgeq','wsradgne','wsradgcs','wsradghs','wsradgcc','wsradglo','wsradgmi','wsradgpl','wsradgvs','wsradgvc','wsradghi','wsradgls','wsradgge','wsradglt','wsradggt','wsradgle', - 'wsrlheq','wsrlhne','wsrlhcs','wsrlhhs','wsrlhcc','wsrlhlo','wsrlhmi','wsrlhpl','wsrlhvs','wsrlhvc','wsrlhhi','wsrlhls','wsrlhge','wsrlhlt','wsrlhgt','wsrlhle', - 'wsrlweq','wsrlwne','wsrlwcs','wsrlwhs','wsrlwcc','wsrlwlo','wsrlwmi','wsrlwpl','wsrlwvs','wsrlwvc','wsrlwhi','wsrlwls','wsrlwge','wsrlwlt','wsrlwgt','wsrlwle', - 'wsrldeq','wsrldne','wsrldcs','wsrldhs','wsrldcc','wsrldlo','wsrldmi','wsrldpl','wsrldvs','wsrldvc','wsrldhi','wsrldls','wsrldge','wsrldlt','wsrldgt','wsrldle', - 'wsrlhgeq','wsrlhgne','wsrlhgcs','wsrlhghs','wsrlhgcc','wsrlhglo','wsrlhgmi','wsrlhgpl','wsrlhgvs','wsrlhgvc','wsrlhghi','wsrlhgls','wsrlhgge','wsrlhglt','wsrlhggt','wsrlhgle', - 'wsrlwgeq','wsrlwgne','wsrlwgcs','wsrlwghs','wsrlwgcc','wsrlwglo','wsrlwgmi','wsrlwgpl','wsrlwgvs','wsrlwgvc','wsrlwghi','wsrlwgls','wsrlwgge','wsrlwglt','wsrlwggt','wsrlwgle', - 'wsrldgeq','wsrldgne','wsrldgcs','wsrldghs','wsrldgcc','wsrldglo','wsrldgmi','wsrldgpl','wsrldgvs','wsrldgvc','wsrldghi','wsrldgls','wsrldgge','wsrldglt','wsrldggt','wsrldgle', - 'wstrbeq','wstrbne','wstrbcs','wstrbhs','wstrbcc','wstrblo','wstrbmi','wstrbpl','wstrbvs','wstrbvc','wstrbhi','wstrbls','wstrbge','wstrblt','wstrbgt','wstrble', - 'wstrheq','wstrhne','wstrhcs','wstrhhs','wstrhcc','wstrhlo','wstrhmi','wstrhpl','wstrhvs','wstrhvc','wstrhhi','wstrhls','wstrhge','wstrhlt','wstrhgt','wstrhle', - 'wstrweq','wstrwne','wstrwcs','wstrwhs','wstrwcc','wstrwlo','wstrwmi','wstrwpl','wstrwvs','wstrwvc','wstrwhi','wstrwls','wstrwge','wstrwlt','wstrwgt','wstrwle', - 'wstrdeq','wstrdne','wstrdcs','wstrdhs','wstrdcc','wstrdlo','wstrdmi','wstrdpl','wstrdvs','wstrdvc','wstrdhi','wstrdls','wstrdge','wstrdlt','wstrdgt','wstrdle', - 'wsubbeq','wsubbne','wsubbcs','wsubbhs','wsubbcc','wsubblo','wsubbmi','wsubbpl','wsubbvs','wsubbvc','wsubbhi','wsubbls','wsubbge','wsubblt','wsubbgt','wsubble', - 'wsubheq','wsubhne','wsubhcs','wsubhhs','wsubhcc','wsubhlo','wsubhmi','wsubhpl','wsubhvs','wsubhvc','wsubhhi','wsubhls','wsubhge','wsubhlt','wsubhgt','wsubhle', - 'wsubweq','wsubwne','wsubwcs','wsubwhs','wsubwcc','wsubwlo','wsubwmi','wsubwpl','wsubwvs','wsubwvc','wsubwhi','wsubwls','wsubwge','wsubwlt','wsubwgt','wsubwle', - 'wsubbsseq','wsubbssne','wsubbsscs','wsubbsshs','wsubbsscc','wsubbsslo','wsubbssmi','wsubbsspl','wsubbssvs','wsubbssvc','wsubbsshi','wsubbssls','wsubbssge','wsubbsslt','wsubbssgt','wsubbssle', - 'wsubhsseq','wsubhssne','wsubhsscs','wsubhsshs','wsubhsscc','wsubhsslo','wsubhssmi','wsubhsspl','wsubhssvs','wsubhssvc','wsubhsshi','wsubhssls','wsubhssge','wsubhsslt','wsubhssgt','wsubhssle', - 'wsubwsseq','wsubwssne','wsubwsscs','wsubwsshs','wsubwsscc','wsubwsslo','wsubwssmi','wsubwsspl','wsubwssvs','wsubwssvc','wsubwsshi','wsubwssls','wsubwssge','wsubwsslt','wsubwssgt','wsubwssle', - 'wsubbuseq','wsubbusne','wsubbuscs','wsubbushs','wsubbuscc','wsubbuslo','wsubbusmi','wsubbuspl','wsubbusvs','wsubbusvc','wsubbushi','wsubbusls','wsubbusge','wsubbuslt','wsubbusgt','wsubbusle', - 'wsubhuseq','wsubhusne','wsubhuscs','wsubhushs','wsubhuscc','wsubhuslo','wsubhusmi','wsubhuspl','wsubhusvs','wsubhusvc','wsubhushi','wsubhusls','wsubhusge','wsubhuslt','wsubhusgt','wsubhusle', - 'wsubwuseq','wsubwusne','wsubwuscs','wsubwushs','wsubwuscc','wsubwuslo','wsubwusmi','wsubwuspl','wsubwusvs','wsubwusvc','wsubwushi','wsubwusls','wsubwusge','wsubwuslt','wsubwusgt','wsubwusle', - 'wsubaddhxeq','wsubaddhxne','wsubaddhxcs','wsubaddhxhs','wsubaddhxcc','wsubaddhxlo','wsubaddhxmi','wsubaddhxpl','wsubaddhxvs','wsubaddhxvc','wsubaddhxhi','wsubaddhxls','wsubaddhxge','wsubaddhxlt','wsubaddhxgt','wsubaddhxle', - 'wunpckehsbeq','wunpckehsbne','wunpckehsbcs','wunpckehsbhs','wunpckehsbcc','wunpckehsblo','wunpckehsbmi','wunpckehsbpl','wunpckehsbvs','wunpckehsbvc','wunpckehsbhi','wunpckehsbls','wunpckehsbge','wunpckehsblt','wunpckehsbgt','wunpckehsble', - 'wunpckehsheq','wunpckehshne','wunpckehshcs','wunpckehshhs','wunpckehshcc','wunpckehshlo','wunpckehshmi','wunpckehshpl','wunpckehshvs','wunpckehshvc','wunpckehshhi','wunpckehshls','wunpckehshge','wunpckehshlt','wunpckehshgt','wunpckehshle', - 'wunpckehsweq','wunpckehswne','wunpckehswcs','wunpckehswhs','wunpckehswcc','wunpckehswlo','wunpckehswmi','wunpckehswpl','wunpckehswvs','wunpckehswvc','wunpckehswhi','wunpckehswls','wunpckehswge','wunpckehswlt','wunpckehswgt','wunpckehswle', - 'wunpckehubeq','wunpckehubne','wunpckehubcs','wunpckehubhs','wunpckehubcc','wunpckehublo','wunpckehubmi','wunpckehubpl','wunpckehubvs','wunpckehubvc','wunpckehubhi','wunpckehubls','wunpckehubge','wunpckehublt','wunpckehubgt','wunpckehuble', - 'wunpckehuheq','wunpckehuhne','wunpckehuhcs','wunpckehuhhs','wunpckehuhcc','wunpckehuhlo','wunpckehuhmi','wunpckehuhpl','wunpckehuhvs','wunpckehuhvc','wunpckehuhhi','wunpckehuhls','wunpckehuhge','wunpckehuhlt','wunpckehuhgt','wunpckehuhle', - 'wunpckehuweq','wunpckehuwne','wunpckehuwcs','wunpckehuwhs','wunpckehuwcc','wunpckehuwlo','wunpckehuwmi','wunpckehuwpl','wunpckehuwvs','wunpckehuwvc','wunpckehuwhi','wunpckehuwls','wunpckehuwge','wunpckehuwlt','wunpckehuwgt','wunpckehuwle', - 'wunpckihbeq','wunpckihbne','wunpckihbcs','wunpckihbhs','wunpckihbcc','wunpckihblo','wunpckihbmi','wunpckihbpl','wunpckihbvs','wunpckihbvc','wunpckihbhi','wunpckihbls','wunpckihbge','wunpckihblt','wunpckihbgt','wunpckihble', - 'wunpckihheq','wunpckihhne','wunpckihhcs','wunpckihhhs','wunpckihhcc','wunpckihhlo','wunpckihhmi','wunpckihhpl','wunpckihhvs','wunpckihhvc','wunpckihhhi','wunpckihhls','wunpckihhge','wunpckihhlt','wunpckihhgt','wunpckihhle', - 'wunpckihweq','wunpckihwne','wunpckihwcs','wunpckihwhs','wunpckihwcc','wunpckihwlo','wunpckihwmi','wunpckihwpl','wunpckihwvs','wunpckihwvc','wunpckihwhi','wunpckihwls','wunpckihwge','wunpckihwlt','wunpckihwgt','wunpckihwle', - 'wunpckelsbeq','wunpckelsbne','wunpckelsbcs','wunpckelsbhs','wunpckelsbcc','wunpckelsblo','wunpckelsbmi','wunpckelsbpl','wunpckelsbvs','wunpckelsbvc','wunpckelsbhi','wunpckelsbls','wunpckelsbge','wunpckelsblt','wunpckelsbgt','wunpckelsble', - 'wunpckelsheq','wunpckelshne','wunpckelshcs','wunpckelshhs','wunpckelshcc','wunpckelshlo','wunpckelshmi','wunpckelshpl','wunpckelshvs','wunpckelshvc','wunpckelshhi','wunpckelshls','wunpckelshge','wunpckelshlt','wunpckelshgt','wunpckelshle', - 'wunpckelsweq','wunpckelswne','wunpckelswcs','wunpckelswhs','wunpckelswcc','wunpckelswlo','wunpckelswmi','wunpckelswpl','wunpckelswvs','wunpckelswvc','wunpckelswhi','wunpckelswls','wunpckelswge','wunpckelswlt','wunpckelswgt','wunpckelswle', - 'wunpckelubeq','wunpckelubne','wunpckelubcs','wunpckelubhs','wunpckelubcc','wunpckelublo','wunpckelubmi','wunpckelubpl','wunpckelubvs','wunpckelubvc','wunpckelubhi','wunpckelubls','wunpckelubge','wunpckelublt','wunpckelubgt','wunpckeluble', - 'wunpckeluheq','wunpckeluhne','wunpckeluhcs','wunpckeluhhs','wunpckeluhcc','wunpckeluhlo','wunpckeluhmi','wunpckeluhpl','wunpckeluhvs','wunpckeluhvc','wunpckeluhhi','wunpckeluhls','wunpckeluhge','wunpckeluhlt','wunpckeluhgt','wunpckeluhle', - 'wunpckeluweq','wunpckeluwne','wunpckeluwcs','wunpckeluwhs','wunpckeluwcc','wunpckeluwlo','wunpckeluwmi','wunpckeluwpl','wunpckeluwvs','wunpckeluwvc','wunpckeluwhi','wunpckeluwls','wunpckeluwge','wunpckeluwlt','wunpckeluwgt','wunpckeluwle', - 'wunpckilbeq','wunpckilbne','wunpckilbcs','wunpckilbhs','wunpckilbcc','wunpckilblo','wunpckilbmi','wunpckilbpl','wunpckilbvs','wunpckilbvc','wunpckilbhi','wunpckilbls','wunpckilbge','wunpckilblt','wunpckilbgt','wunpckilble', - 'wunpckilheq','wunpckilhne','wunpckilhcs','wunpckilhhs','wunpckilhcc','wunpckilhlo','wunpckilhmi','wunpckilhpl','wunpckilhvs','wunpckilhvc','wunpckilhhi','wunpckilhls','wunpckilhge','wunpckilhlt','wunpckilhgt','wunpckilhle', - 'wunpckilweq','wunpckilwne','wunpckilwcs','wunpckilwhs','wunpckilwcc','wunpckilwlo','wunpckilwmi','wunpckilwpl','wunpckilwvs','wunpckilwvc','wunpckilwhi','wunpckilwls','wunpckilwge','wunpckilwlt','wunpckilwgt','wunpckilwle', - 'wxoreq','wxorne','wxorcs','wxorhs','wxorcc','wxorlo','wxormi','wxorpl','wxorvs','wxorvc','wxorhi','wxorls','wxorge','wxorlt','wxorgt','wxorle', - 'wzeroeq','wzerone','wzerocs','wzerohs','wzerocc','wzerolo','wzeromi','wzeropl','wzerovs','wzerovc','wzerohi','wzerols','wzeroge','wzerolt','wzerogt','wzerole' - ), - /* Unconditional VFPv3 & NEON SIMD Memory Access Instructions */ - 19 => array( - /* Unconditional VFPv3 & NEON SIMD Memory Access: Loads */ - 'vld.8','vldal.8', - 'vld.16','vldal.16', - 'vld.32','vldal.32', - 'vld.64','vldal.64', - - 'vld1.8','vld1al.8', - 'vld1.16','vld1al.16', - 'vld1.32','vld1al.32', - - 'vld2.8','vld2al.8', - 'vld2.16','vld2al.16', - 'vld2.32','vld2al.32', - - 'vld3.8','vld3al.8', - 'vld3.16','vld3al.16', - 'vld3.32','vld3al.32', - - 'vld4.8','vld4al.8', - 'vld4.16','vld4al.16', - 'vld4.32','vld4al.32', - - 'vldm','vldmal', - 'vldm.32','vldmal.32', - 'vldm.64','vldmal.64', - - 'vldmia','vldmiaal', - 'vldmia.32','vldmiaal.32', - 'vldmia.64','vldmiaal.64', - - 'vldmdb','vldmdbal', - 'vldmdb.32','vldmdbal.32', - 'vldmdb.64','vldmdbal.64', - - 'vldr','vldral', - 'vldr.32','vldral.32', - 'vldr.64','vldral.64', - - 'vpop','vpopal', - 'vpop.32','vpopal.32', - 'vpop.64','vpopal.64', - - /* Unconditional VFPv3 & NEON SIMD Memory Access: Stores */ - 'vst1.8','vst1al.8', - 'vst1.16','vst1al.16', - 'vst1.32','vst1al.32', - 'vst1.64','vst1al.64', - - 'vst2.8','vst2al.8', - 'vst2.16','vst2al.16', - 'vst2.32','vst2al.32', - - 'vst3.8','vst3al.8', - 'vst3.16','vst3al.16', - 'vst3.32','vst3al.32', - - 'vst4.8','vst4al.8', - 'vst4.16','vst4al.16', - 'vst4.32','vst4al.32', - - 'vstm','vstmal', - 'vstm.32','vstmal.32', - 'vstm.64','vstmal.64', - - 'vstmia','vstmiaal', - 'vstmia.32','vstmiaal.32', - 'vstmia.64','vstmiaal.64', - - 'vstmdb','vstmdbal', - 'vstmdb.32','vstmdbal.32', - 'vstmdb.64','vstmdbal.64', - - 'vstr','vstral', - 'vstr.32','vstral.32', - 'vstr.64','vstral.64', - - 'vpush','vpushal', - 'vpush.32','vpushal.32', - 'vpush.64','vpushal.64' - ), - /* Unconditional NEON SIMD Logical Instructions */ - 20 => array( - 'vand','vandal', - 'vand.i8','vandal.i8', - 'vand.i16','vandal.i16', - 'vand.i32','vandal.i32', - 'vand.i64','vandal.i64', - 'vand.s8','vandal.s8', - 'vand.s16','vandal.s16', - 'vand.s32','vandal.s32', - 'vand.s64','vandal.s64', - 'vand.u8','vandal.u8', - 'vand.u16','vandal.u16', - 'vand.u32','vandal.u32', - 'vand.u64','vandal.u64', - 'vand.f32','vandal.f32', - 'vand.f64','vandal.f64', - - 'vbic','vbical', - 'vbic.i8','vbical.i8', - 'vbic.i16','vbical.i16', - 'vbic.i32','vbical.i32', - 'vbic.i64','vbical.i64', - 'vbic.s8','vbical.s8', - 'vbic.s16','vbical.s16', - 'vbic.s32','vbical.s32', - 'vbic.s64','vbical.s64', - 'vbic.u8','vbical.u8', - 'vbic.u16','vbical.u16', - 'vbic.u32','vbical.u32', - 'vbic.u64','vbical.u64', - 'vbic.f32','vbical.f32', - 'vbic.f64','vbical.f64', - - 'vbif','vbifal', - 'vbif.i8','vbifal.i8', - 'vbif.i16','vbifal.i16', - 'vbif.i32','vbifal.i32', - 'vbif.i64','vbifal.i64', - 'vbif.s8','vbifal.s8', - 'vbif.s16','vbifal.s16', - 'vbif.s32','vbifal.s32', - 'vbif.s64','vbifal.s64', - 'vbif.u8','vbifal.u8', - 'vbif.u16','vbifal.u16', - 'vbif.u32','vbifal.u32', - 'vbif.u64','vbifal.u64', - 'vbif.f32','vbifal.f32', - 'vbif.f64','vbifal.f64', - - 'vbit','vbital', - 'vbit.i8','vbital.i8', - 'vbit.i16','vbital.i16', - 'vbit.i32','vbital.i32', - 'vbit.i64','vbital.i64', - 'vbit.s8','vbital.s8', - 'vbit.s16','vbital.s16', - 'vbit.s32','vbital.s32', - 'vbit.s64','vbital.s64', - 'vbit.u8','vbital.u8', - 'vbit.u16','vbital.u16', - 'vbit.u32','vbital.u32', - 'vbit.u64','vbital.u64', - 'vbit.f32','vbital.f32', - 'vbit.f64','vbital.f64', - - 'vbsl','vbslal', - 'vbsl.i8','vbslal.i8', - 'vbsl.i16','vbslal.i16', - 'vbsl.i32','vbslal.i32', - 'vbsl.i64','vbslal.i64', - 'vbsl.s8','vbslal.s8', - 'vbsl.s16','vbslal.s16', - 'vbsl.s32','vbslal.s32', - 'vbsl.s64','vbslal.s64', - 'vbsl.u8','vbslal.u8', - 'vbsl.u16','vbslal.u16', - 'vbsl.u32','vbslal.u32', - 'vbsl.u64','vbslal.u64', - 'vbsl.f32','vbslal.f32', - 'vbsl.f64','vbslal.f64', - - 'veor','veoral', - 'veor.i8','veoral.i8', - 'veor.i16','veoral.i16', - 'veor.i32','veoral.i32', - 'veor.i64','veoral.i64', - 'veor.s8','veoral.s8', - 'veor.s16','veoral.s16', - 'veor.s32','veoral.s32', - 'veor.s64','veoral.s64', - 'veor.u8','veoral.u8', - 'veor.u16','veoral.u16', - 'veor.u32','veoral.u32', - 'veor.u64','veoral.u64', - 'veor.f32','veoral.f32', - 'veor.f64','veoral.f64', - - 'vmov','vmoval', - 'vmov.8','vmoval.8', - 'vmov.16','vmoval.16', - 'vmov.32','vmoval.32', - 'vmov.i8','vmoval.i8', - 'vmov.i16','vmoval.i16', - 'vmov.i32','vmoval.i32', - 'vmov.i64','vmoval.i64', - 'vmov.f32','vmoval.f32', - 'vmov.f64','vmoval.f64', - - 'vmvn','vmvnal', - 'vmvn.s8','vmvnal.s8', - 'vmvn.s16','vmvnal.s16', - 'vmvn.s32','vmvnal.s32', - 'vmvn.s64','vmvnal.s64', - 'vmvn.u8','vmvnal.u8', - 'vmvn.u16','vmvnal.u16', - 'vmvn.u32','vmvnal.u32', - 'vmvn.u64','vmvnal.u64', - 'vmvn.i8','vmvnal.i8', - 'vmvn.i16','vmvnal.i16', - 'vmvn.i32','vmvnal.i32', - 'vmvn.i64','vmvnal.i64', - 'vmvn.f32','vmvnal.f32', - 'vmvn.f64','vmvnal.f64', - - 'vorn','vornal', - 'vorn.s8','vornal.s8', - 'vorn.s16','vornal.s16', - 'vorn.s32','vornal.s32', - 'vorn.s64','vornal.s64', - 'vorn.u8','vornal.u8', - 'vorn.u16','vornal.u16', - 'vorn.u32','vornal.u32', - 'vorn.u64','vornal.u64', - 'vorn.i8','vornal.i8', - 'vorn.i16','vornal.i16', - 'vorn.i32','vornal.i32', - 'vorn.i64','vornal.i64', - 'vorn.f32','vornal.f32', - 'vorn.f64','vornal.f64', - - 'vorr','vorral', - 'vorr.s8','vorral.s8', - 'vorr.s16','vorral.s16', - 'vorr.s32','vorral.s32', - 'vorr.s64','vorral.s64', - 'vorr.u8','vorral.u8', - 'vorr.u16','vorral.u16', - 'vorr.u32','vorral.u32', - 'vorr.u64','vorral.u64', - 'vorr.i8','vorral.i8', - 'vorr.i16','vorral.i16', - 'vorr.i32','vorral.i32', - 'vorr.i64','vorral.i64', - 'vorr.f32','vorral.f32', - 'vorr.f64','vorral.f64', - - 'vswp','vswpal', - 'vswp.s8','vswpal.s8', - 'vswp.s16','vswpal.s16', - 'vswp.s32','vswpal.s32', - 'vswp.s64','vswpal.s64', - 'vswp.u8','vswpal.u8', - 'vswp.u16','vswpal.u16', - 'vswp.u32','vswpal.u32', - 'vswp.u64','vswpal.u64', - 'vswp.i8','vswpal.i8', - 'vswp.i16','vswpal.i16', - 'vswp.i32','vswpal.i32', - 'vswp.i64','vswpal.i64', - 'vswp.f32','vswpal.f32', - 'vswp.f64','vswpal.f64' - ), - /* Unconditional NEON SIMD ARM Registers Interop Instructions */ - 21 => array( - 'vmrs','vmrsal', - 'vmsr','vmsral' - ), - /* Unconditional NEON SIMD Bit/Byte-Level Instructions */ - 22 => array( - 'vcnt.8','vcntal.8', - 'vdup.8','vdupal.8', - - 'vdup.16','vdupal.16', - 'vdup.32','vdupal.32', - - 'vext.8','vextal.8', - 'vext.16','vextal.16', - - 'vext.32','vextal.32', - 'vext.64','vextal.64', - - 'vrev16.8','vrev16al.8', - 'vrev32.8','vrev32al.8', - 'vrev32.16','vrev32al.16', - 'vrev64.8','vrev64al.8', - 'vrev64.16','vrev64al.16', - 'vrev64.32','vrev64al.32', - - 'vsli.8','vslial.8', - 'vsli.16','vslial.16', - 'vsli.32','vslial.32', - 'vsli.64','vslial.64', - - 'vsri.8','vsrial.8', - 'vsri.16','vsrial.16', - 'vsri.32','vsrial.32', - 'vsri.64','vsrial.64', - - 'vtbl.8','vtblal.8', - - 'vtbx','vtbxal', - - 'vtrn.8','vtrnal.8', - 'vtrn.16','vtrnal.16', - 'vtrn.32','vtrnal.32', - - 'vtst.8','vtstal.8', - 'vtst.16','vtstal.16', - 'vtst.32','vtstal.32', - - 'vuzp.8','vuzpal.8', - 'vuzp.16','vuzpal.16', - 'vuzp.32','vuzpal.32', - - 'vzip.8','vzipal.8', - 'vzip.16','vzipal.16', - 'vzip.32','vzipal.32', - - 'vmull.p8','vmullal.p8' - ), - /* Unconditional NEON SIMD Universal Integer Instructions */ - 23 => array( - 'vadd.i8','vaddal.i8', - 'vadd.i16','vaddal.i16', - 'vadd.i32','vaddal.i32', - 'vadd.i64','vaddal.i64', - - 'vsub.i8','vsubal.i8', - 'vsub.i16','vsubal.i16', - 'vsub.i32','vsubal.i32', - 'vsub.i64','vsubal.i64', - - 'vaddhn.i16','vaddhnal.i16', - 'vaddhn.i32','vaddhnal.i32', - 'vaddhn.i64','vaddhnal.i64', - - 'vsubhn.i16','vsubhnal.i16', - 'vsubhn.i32','vsubhnal.i32', - 'vsubhn.i64','vsubhnal.i64', - - 'vraddhn.i16','vraddhnal.i16', - 'vraddhn.i32','vraddhnal.i32', - 'vraddhn.i64','vraddhnal.i64', - - 'vrsubhn.i16','vrsubhnal.i16', - 'vrsubhn.i32','vrsubhnal.i32', - 'vrsubhn.i64','vrsubhnal.i64', - - 'vpadd.i8','vpaddal.i8', - 'vpadd.i16','vpaddal.i16', - 'vpadd.i32','vpaddal.i32', - - 'vceq.i8','vceqal.i8', - 'vceq.i16','vceqal.i16', - 'vceq.i32','vceqal.i32', - - 'vclz.i8','vclzal.i8', - 'vclz.i16','vclzal.i16', - 'vclz.i32','vclzal.i32', - - 'vmovn.i16','vmovnal.i16', - 'vmovn.i32','vmovnal.i32', - 'vmovn.i64','vmovnal.i64', - - 'vmla.s8','vmlaal.s8', - 'vmla.s16','vmlaal.s16', - 'vmla.s32','vmlaal.s32', - 'vmla.u8','vmlaal.u8', - 'vmla.u16','vmlaal.u16', - 'vmla.u32','vmlaal.u32', - 'vmla.i8','vmlaal.i8', - 'vmla.i16','vmlaal.i16', - 'vmla.i32','vmlaal.i32', - - 'vmls.s8','vmlsal.s8', - 'vmls.s16','vmlsal.s16', - 'vmls.s32','vmlsal.s32', - 'vmls.u8','vmlsal.u8', - 'vmls.u16','vmlsal.u16', - 'vmls.u32','vmlsal.u32', - 'vmls.i8','vmlsal.i8', - 'vmls.i16','vmlsal.i16', - 'vmls.i32','vmlsal.i32', - - 'vmul.s8','vmulal.s8', - 'vmul.s16','vmulal.s16', - 'vmul.s32','vmulal.s32', - 'vmul.u8','vmulal.u8', - 'vmul.u16','vmulal.u16', - 'vmul.u32','vmulal.u32', - 'vmul.i8','vmulal.i8', - 'vmul.i16','vmulal.i16', - 'vmul.i32','vmulal.i32', - 'vmul.p8','vmulal.p8', - - 'vrshrn.i16','vrshrnal.i16', - 'vrshrn.i32','vrshrnal.i32', - 'vrshrn.i64','vrshrnal.i64', - - 'vshrn.i16','vshrnal.i16', - 'vshrn.i32','vshrnal.i32', - 'vshrn.i64','vshrnal.i64', - - 'vshl.i8','vshlal.i8', - 'vshl.i16','vshlal.i16', - 'vshl.i32','vshlal.i32', - 'vshl.i64','vshlal.i64', - - 'vshll.i8','vshllal.i8', - 'vshll.i16','vshllal.i16', - 'vshll.i32','vshllal.i32' - ), - /* Unconditional NEON SIMD Signed Integer Instructions */ - 24 => array( - 'vaba.s8','vabaal.s8', - 'vaba.s16','vabaal.s16', - 'vaba.s32','vabaal.s32', - - 'vabal.s8','vabalal.s8', - 'vabal.s16','vabalal.s16', - 'vabal.s32','vabalal.s32', - - 'vabd.s8','vabdal.s8', - 'vabd.s16','vabdal.s16', - 'vabd.s32','vabdal.s32', - - 'vabs.s8','vabsal.s8', - 'vabs.s16','vabsal.s16', - 'vabs.s32','vabsal.s32', - - 'vaddl.s8','vaddlal.s8', - 'vaddl.s16','vaddlal.s16', - 'vaddl.s32','vaddlal.s32', - - 'vcge.s8','vcgeal.s8', - 'vcge.s16','vcgeal.s16', - 'vcge.s32','vcgeal.s32', - - 'vcle.s8','vcleal.s8', - 'vcle.s16','vcleal.s16', - 'vcle.s32','vcleal.s32', - - 'vcgt.s8','vcgtal.s8', - 'vcgt.s16','vcgtal.s16', - 'vcgt.s32','vcgtal.s32', - - 'vclt.s8','vcltal.s8', - 'vclt.s16','vcltal.s16', - 'vclt.s32','vcltal.s32', - - 'vcls.s8','vclsal.s8', - 'vcls.s16','vclsal.s16', - 'vcls.s32','vclsal.s32', - - 'vaddw.s8','vaddwal.s8', - 'vaddw.s16','vaddwal.s16', - 'vaddw.s32','vaddwal.s32', - - 'vhadd.s8','vhaddal.s8', - 'vhadd.s16','vhaddal.s16', - 'vhadd.s32','vhaddal.s32', - - 'vhsub.s8','vhsubal.s8', - 'vhsub.s16','vhsubal.s16', - 'vhsub.s32','vhsubal.s32', - - 'vmax.s8','vmaxal.s8', - 'vmax.s16','vmaxal.s16', - 'vmax.s32','vmaxal.s32', - - 'vmin.s8','vminal.s8', - 'vmin.s16','vminal.s16', - 'vmin.s32','vminal.s32', - - 'vmlal.s8','vmlalal.s8', - 'vmlal.s16','vmlalal.s16', - 'vmlal.s32','vmlalal.s32', - - 'vmlsl.s8','vmlslal.s8', - 'vmlsl.s16','vmlslal.s16', - 'vmlsl.s32','vmlslal.s32', - - 'vneg.s8','vnegal.s8', - 'vneg.s16','vnegal.s16', - 'vneg.s32','vnegal.s32', - - 'vpadal.s8','vpadalal.s8', - 'vpadal.s16','vpadalal.s16', - 'vpadal.s32','vpadalal.s32', - - 'vmovl.s8','vmovlal.s8', - 'vmovl.s16','vmovlal.s16', - 'vmovl.s32','vmovlal.s32', - - 'vmull.s8','vmullal.s8', - 'vmull.s16','vmullal.s16', - 'vmull.s32','vmullal.s32', - - 'vpaddl.s8','vpaddlal.s8', - 'vpaddl.s16','vpaddlal.s16', - 'vpaddl.s32','vpaddlal.s32', - - 'vpmax.s8','vpmaxal.s8', - 'vpmax.s16','vpmaxal.s16', - 'vpmax.s32','vpmaxal.s32', - - 'vpmin.s8','vpminal.s8', - 'vpmin.s16','vpminal.s16', - 'vpmin.s32','vpminal.s32', - - 'vqabs.s8','vqabsal.s8', - 'vqabs.s16','vqabsal.s16', - 'vqabs.s32','vqabsal.s32', - - 'vqadd.s8','vqaddal.s8', - 'vqadd.s16','vqaddal.s16', - 'vqadd.s32','vqaddal.s32', - 'vqadd.s64','vqaddal.s64', - - 'vqdmlal.s16','vqdmlalal.s16', - 'vqdmlal.s32','vqdmlalal.s32', - - 'vqdmlsl.s16','vqdmlslal.s16', - 'vqdmlsl.s32','vqdmlslal.s32', - - 'vqdmulh.s16','vqdmulhal.s16', - 'vqdmulh.s32','vqdmulhal.s32', - - 'vqdmull.s16','vqdmullal.s16', - 'vqdmull.s32','vqdmullal.s32', - - 'vqmovn.s16','vqmovnal.s16', - 'vqmovn.s32','vqmovnal.s32', - 'vqmovn.s64','vqmovnal.s64', - - 'vqmovun.s16','vqmovunal.s16', - 'vqmovun.s32','vqmovunal.s32', - 'vqmovun.s64','vqmovunal.s64', - - 'vqneg.s8','vqnegal.s8', - 'vqneg.s16','vqnegal.s16', - 'vqneg.s32','vqnegal.s32', - - 'vqrdmulh.s16','vqrdmulhal.s16', - 'vqrdmulh.s32','vqrdmulhal.s32', - - 'vqrshl.s8','vqrshlal.s8', - 'vqrshl.s16','vqrshlal.s16', - 'vqrshl.s32','vqrshlal.s32', - 'vqrshl.s64','vqrshlal.s64', - - 'vqrshrn.s16','vqrshrnal.s16', - 'vqrshrn.s32','vqrshrnal.s32', - 'vqrshrn.s64','vqrshrnal.s64', - - 'vqrshrun.s16','vqrshrunal.s16', - 'vqrshrun.s32','vqrshrunal.s32', - 'vqrshrun.s64','vqrshrunal.s64', - - 'vqshl.s8','vqshlal.s8', - 'vqshl.s16','vqshlal.s16', - 'vqshl.s32','vqshlal.s32', - 'vqshl.s64','vqshlal.s64', - - 'vqshlu.s8','vqshlual.s8', - 'vqshlu.s16','vqshlual.s16', - 'vqshlu.s32','vqshlual.s32', - 'vqshlu.s64','vqshlual.s64', - - 'vqshrn.s16','vqshrnal.s16', - 'vqshrn.s32','vqshrnal.s32', - 'vqshrn.s64','vqshrnal.s64', - - 'vqshrun.s16','vqshrunal.s16', - 'vqshrun.s32','vqshrunal.s32', - 'vqshrun.s64','vqshrunal.s64', - - 'vqsub.s8','vqsubal.s8', - 'vqsub.s16','vqsubal.s16', - 'vqsub.s32','vqsubal.s32', - 'vqsub.s64','vqsubal.s64', - - 'vrhadd.s8','vrhaddal.s8', - 'vrhadd.s16','vrhaddal.s16', - 'vrhadd.s32','vrhaddal.s32', - - 'vrshl.s8','vrshlal.s8', - 'vrshl.s16','vrshlal.s16', - 'vrshl.s32','vrshlal.s32', - 'vrshl.s64','vrshlal.s64', - - 'vrshr.s8','vrshral.s8', - 'vrshr.s16','vrshral.s16', - 'vrshr.s32','vrshral.s32', - 'vrshr.s64','vrshral.s64', - - 'vrsra.s8','vrsraal.s8', - 'vrsra.s16','vrsraal.s16', - 'vrsra.s32','vrsraal.s32', - 'vrsra.s64','vrsraal.s64', - - 'vshl.s8','vshlal.s8', - 'vshl.s16','vshlal.s16', - 'vshl.s32','vshlal.s32', - 'vshl.s64','vshlal.s64', - - 'vshll.s8','vshllal.s8', - 'vshll.s16','vshllal.s16', - 'vshll.s32','vshllal.s32', - - 'vshr.s8','vshral.s8', - 'vshr.s16','vshral.s16', - 'vshr.s32','vshral.s32', - 'vshr.s64','vshral.s64', - - 'vsra.s8','vsraal.s8', - 'vsra.s16','vsraal.s16', - 'vsra.s32','vsraal.s32', - 'vsra.s64','vsraal.s64', - - 'vsubl.s8','vsublal.s8', - 'vsubl.s16','vsublal.s16', - 'vsubl.s32','vsublal.s32', - - 'vsubh.s8','vsubhal.s8', - 'vsubh.s16','vsubhal.s16', - 'vsubh.s32','vsubhal.s32' - ), - /* Unconditional NEON SIMD Unsigned Integer Instructions */ - 25 => array( - 'vaba.u8','vabaal.u8', - 'vaba.u16','vabaal.u16', - 'vaba.u32','vabaal.u32', - - 'vabal.u8','vabalal.u8', - 'vabal.u16','vabalal.u16', - 'vabal.u32','vabalal.u32', - - 'vabd.u8','vabdal.u8', - 'vabd.u16','vabdal.u16', - 'vabd.u32','vabdal.u32', - - 'vaddl.u8','vaddlal.u8', - 'vaddl.u16','vaddlal.u16', - 'vaddl.u32','vaddlal.u32', - - 'vsubl.u8','vsublal.u8', - 'vsubl.u16','vsublal.u16', - 'vsubl.u32','vsublal.u32', - - 'vaddw.u8','vaddwal.u8', - 'vaddw.u16','vaddwal.u16', - 'vaddw.u32','vaddwal.u32', - - 'vsubh.u8','vsubhal.u8', - 'vsubh.u16','vsubhal.u16', - 'vsubh.u32','vsubhal.u32', - - 'vhadd.u8','vhaddal.u8', - 'vhadd.u16','vhaddal.u16', - 'vhadd.u32','vhaddal.u32', - - 'vhsub.u8','vhsubal.u8', - 'vhsub.u16','vhsubal.u16', - 'vhsub.u32','vhsubal.u32', - - 'vpadal.u8','vpadalal.u8', - 'vpadal.u16','vpadalal.u16', - 'vpadal.u32','vpadalal.u32', - - 'vpaddl.u8','vpaddlal.u8', - 'vpaddl.u16','vpaddlal.u16', - 'vpaddl.u32','vpaddlal.u32', - - 'vcge.u8','vcgeal.u8', - 'vcge.u16','vcgeal.u16', - 'vcge.u32','vcgeal.u32', - - 'vcle.u8','vcleal.u8', - 'vcle.u16','vcleal.u16', - 'vcle.u32','vcleal.u32', - - 'vcgt.u8','vcgtal.u8', - 'vcgt.u16','vcgtal.u16', - 'vcgt.u32','vcgtal.u32', - - 'vclt.u8','vcltal.u8', - 'vclt.u16','vcltal.u16', - 'vclt.u32','vcltal.u32', - - 'vmax.u8','vmaxal.u8', - 'vmax.u16','vmaxal.u16', - 'vmax.u32','vmaxal.u32', - - 'vmin.u8','vminal.u8', - 'vmin.u16','vminal.u16', - 'vmin.u32','vminal.u32', - - 'vmlal.u8','vmlalal.u8', - 'vmlal.u16','vmlalal.u16', - 'vmlal.u32','vmlalal.u32', - - 'vmlsl.u8','vmlslal.u8', - 'vmlsl.u16','vmlslal.u16', - 'vmlsl.u32','vmlslal.u32', - - 'vmull.u8','vmullal.u8', - 'vmull.u16','vmullal.u16', - 'vmull.u32','vmullal.u32', - - 'vmovl.u8','vmovlal.u8', - 'vmovl.u16','vmovlal.u16', - 'vmovl.u32','vmovlal.u32', - - 'vshl.u8','vshlal.u8', - 'vshl.u16','vshlal.u16', - 'vshl.u32','vshlal.u32', - 'vshl.u64','vshlal.u64', - - 'vshll.u8','vshllal.u8', - 'vshll.u16','vshllal.u16', - 'vshll.u32','vshllal.u32', - - 'vshr.u8','vshral.u8', - 'vshr.u16','vshral.u16', - 'vshr.u32','vshral.u32', - 'vshr.u64','vshral.u64', - - 'vsra.u8','vsraal.u8', - 'vsra.u16','vsraal.u16', - 'vsra.u32','vsraal.u32', - 'vsra.u64','vsraal.u64', - - 'vpmax.u8','vpmaxal.u8', - 'vpmax.u16','vpmaxal.u16', - 'vpmax.u32','vpmaxal.u32', - - 'vpmin.u8','vpminal.u8', - 'vpmin.u16','vpminal.u16', - 'vpmin.u32','vpminal.u32', - - 'vqadd.u8','vqaddal.u8', - 'vqadd.u16','vqaddal.u16', - 'vqadd.u32','vqaddal.u32', - 'vqadd.u64','vqaddal.u64', - - 'vqsub.u8','vqsubal.u8', - 'vqsub.u16','vqsubal.u16', - 'vqsub.u32','vqsubal.u32', - 'vqsub.u64','vqsubal.u64', - - 'vqmovn.u16','vqmovnal.u16', - 'vqmovn.u32','vqmovnal.u32', - 'vqmovn.u64','vqmovnal.u64', - - 'vqshl.u8','vqshlal.u8', - 'vqshl.u16','vqshlal.u16', - 'vqshl.u32','vqshlal.u32', - 'vqshl.u64','vqshlal.u64', - - 'vqshrn.u16','vqshrnal.u16', - 'vqshrn.u32','vqshrnal.u32', - 'vqshrn.u64','vqshrnal.u64', - - 'vqrshl.u8','vqrshlal.u8', - 'vqrshl.u16','vqrshlal.u16', - 'vqrshl.u32','vqrshlal.u32', - 'vqrshl.u64','vqrshlal.u64', - - 'vqrshrn.u16','vqrshrnal.u16', - 'vqrshrn.u32','vqrshrnal.u32', - 'vqrshrn.u64','vqrshrnal.u64', - - 'vrhadd.u8','vrhaddal.u8', - 'vrhadd.u16','vrhaddal.u16', - 'vrhadd.u32','vrhaddal.u32', - - 'vrshl.u8','vrshlal.u8', - 'vrshl.u16','vrshlal.u16', - 'vrshl.u32','vrshlal.u32', - 'vrshl.u64','vrshlal.u64', - - 'vrshr.u8','vrshral.u8', - 'vrshr.u16','vrshral.u16', - 'vrshr.u32','vrshral.u32', - 'vrshr.u64','vrshral.u64', - - 'vrsra.u8','vrsraal.u8', - 'vrsra.u16','vrsraal.u16', - 'vrsra.u32','vrsraal.u32', - 'vrsra.u64','vrsraal.u64' - ), - /* Unconditional VFPv3 & NEON SIMD Floating-Point Instructions */ - 26 => array( - 'vabd.f32','vabdal.f32', - - 'vabs.f32','vabsal.f32', - 'vabs.f64','vabsal.f64', - - 'vacge.f32','vacgeal.f32', - 'vacgt.f32','vacgtal.f32', - 'vacle.f32','vacleal.f32', - 'vaclt.f32','vacltal.f32', - - 'vadd.f32','vaddal.f32', - 'vadd.f64','vaddal.f64', - - 'vceq.f32','vceqal.f32', - 'vcge.f32','vcgeal.f32', - 'vcle.f32','vcleal.f32', - 'vcgt.f32','vcgtal.f32', - 'vclt.f32','vcltal.f32', - - 'vcmp.f32','vcmpal.f32', - 'vcmp.f64','vcmpal.f64', - - 'vcmpe.f32','vcmpeal.f32', - 'vcmpe.f64','vcmpeal.f64', - - 'vcvt.s16.f32','vcvtal.s16.f32', - 'vcvt.s16.f64','vcvtal.s16.f64', - 'vcvt.s32.f32','vcvtal.s32.f32', - 'vcvt.s32.f64','vcvtal.s32.f64', - 'vcvt.u16.f32','vcvtal.u16.f32', - 'vcvt.u16.f64','vcvtal.u16.f64', - 'vcvt.u32.f32','vcvtal.u32.f32', - 'vcvt.u32.f64','vcvtal.u32.f64', - 'vcvt.f16.f32','vcvtal.f16.f32', - 'vcvt.f32.s32','vcvtal.f32.s32', - 'vcvt.f32.u32','vcvtal.f32.u32', - 'vcvt.f32.f16','vcvtal.f32.f16', - 'vcvt.f32.f64','vcvtal.f32.f64', - 'vcvt.f64.s32','vcvtal.f64.s32', - 'vcvt.f64.u32','vcvtal.f64.u32', - 'vcvt.f64.f32','vcvtal.f64.f32', - - 'vcvtr.s32.f32','vcvtral.s32.f32', - 'vcvtr.s32.f64','vcvtral.s32.f64', - 'vcvtr.u32.f32','vcvtral.u32.f32', - 'vcvtr.u32.f64','vcvtral.u32.f64', - - 'vcvtb.f16.f32','vcvtbal.f16.f32', - 'vcvtb.f32.f16','vcvtbal.f32.f16', - - 'vcvtt.f16.f32','vcvttal.f16.f32', - 'vcvtt.f32.f16','vcvttal.f32.f16', - - 'vdiv.f32','vdival.f32', - 'vdiv.f64','vdival.f64', - - 'vmax.f32','vmaxal.f32', - 'vmin.f32','vminal.f32', - - 'vmla.f32','vmlaal.f32', - 'vmla.f64','vmlaal.f64', - - 'vmls.f32','vmlsal.f32', - 'vmls.f64','vmlsal.f64', - - 'vmul.f32','vmulal.f32', - 'vmul.f64','vmulal.f64', - - 'vneg.f32','vnegal.f32', - 'vneg.f64','vnegal.f64', - - 'vnmla.f32','vnmlaal.f32', - 'vnmla.f64','vnmlaal.f64', - - 'vnmls.f32','vnmlsal.f32', - 'vnmls.f64','vnmlsal.f64', - - 'vnmul.f64','vnmulal.f64', - 'vnmul.f32','vnmulal.f32', - - 'vpadd.f32','vpaddal.f32', - - 'vpmax.f32','vpmaxal.f32', - 'vpmin.f32','vpminal.f32', - - 'vrecpe.u32','vrecpeal.u32', - 'vrecpe.f32','vrecpeal.f32', - 'vrecps.f32','vrecpsal.f32', - - 'vrsqrte.u32','vrsqrteal.u32', - 'vrsqrte.f32','vrsqrteal.f32', - 'vrsqrts.f32','vrsqrtsal.f32', - - 'vsqrt.f32','vsqrtal.f32', - 'vsqrt.f64','vsqrtal.f64', - - 'vsub.f32','vsubal.f32', - 'vsub.f64','vsubal.f64' - ), - /* Conditional VFPv3 & NEON SIMD Memory Access Instructions */ - 27 => array( - /* Conditional VFPv3 & NEON SIMD Memory Access: Loads */ - 'vldeq.8','vldne.8','vldcs.8','vldhs.8','vldcc.8','vldlo.8','vldmi.8','vldpl.8','vldvs.8','vldvc.8','vldhi.8','vldls.8','vldge.8','vldlt.8','vldgt.8','vldle.8', - 'vldeq.16','vldne.16','vldcs.16','vldhs.16','vldcc.16','vldlo.16','vldmi.16','vldpl.16','vldvs.16','vldvc.16','vldhi.16','vldls.16','vldge.16','vldlt.16','vldgt.16','vldle.16', - 'vldeq.32','vldne.32','vldcs.32','vldhs.32','vldcc.32','vldlo.32','vldmi.32','vldpl.32','vldvs.32','vldvc.32','vldhi.32','vldls.32','vldge.32','vldlt.32','vldgt.32','vldle.32', - 'vldeq.64','vldne.64','vldcs.64','vldhs.64','vldcc.64','vldlo.64','vldmi.64','vldpl.64','vldvs.64','vldvc.64','vldhi.64','vldls.64','vldge.64','vldlt.64','vldgt.64','vldle.64', - - 'vld1eq.8','vld1ne.8','vld1cs.8','vld1hs.8','vld1cc.8','vld1lo.8','vld1mi.8','vld1pl.8','vld1vs.8','vld1vc.8','vld1hi.8','vld1ls.8','vld1ge.8','vld1lt.8','vld1gt.8','vld1le.8', - 'vld1eq.16','vld1ne.16','vld1cs.16','vld1hs.16','vld1cc.16','vld1lo.16','vld1mi.16','vld1pl.16','vld1vs.16','vld1vc.16','vld1hi.16','vld1ls.16','vld1ge.16','vld1lt.16','vld1gt.16','vld1le.16', - 'vld1eq.32','vld1ne.32','vld1cs.32','vld1hs.32','vld1cc.32','vld1lo.32','vld1mi.32','vld1pl.32','vld1vs.32','vld1vc.32','vld1hi.32','vld1ls.32','vld1ge.32','vld1lt.32','vld1gt.32','vld1le.32', - - 'vld2eq.8','vld2ne.8','vld2cs.8','vld2hs.8','vld2cc.8','vld2lo.8','vld2mi.8','vld2pl.8','vld2vs.8','vld2vc.8','vld2hi.8','vld2ls.8','vld2ge.8','vld2lt.8','vld2gt.8','vld2le.8', - 'vld2eq.16','vld2ne.16','vld2cs.16','vld2hs.16','vld2cc.16','vld2lo.16','vld2mi.16','vld2pl.16','vld2vs.16','vld2vc.16','vld2hi.16','vld2ls.16','vld2ge.16','vld2lt.16','vld2gt.16','vld2le.16', - 'vld2eq.32','vld2ne.32','vld2cs.32','vld2hs.32','vld2cc.32','vld2lo.32','vld2mi.32','vld2pl.32','vld2vs.32','vld2vc.32','vld2hi.32','vld2ls.32','vld2ge.32','vld2lt.32','vld2gt.32','vld2le.32', - - 'vld3eq.8','vld3ne.8','vld3cs.8','vld3hs.8','vld3cc.8','vld3lo.8','vld3mi.8','vld3pl.8','vld3vs.8','vld3vc.8','vld3hi.8','vld3ls.8','vld3ge.8','vld3lt.8','vld3gt.8','vld3le.8', - 'vld3eq.16','vld3ne.16','vld3cs.16','vld3hs.16','vld3cc.16','vld3lo.16','vld3mi.16','vld3pl.16','vld3vs.16','vld3vc.16','vld3hi.16','vld3ls.16','vld3ge.16','vld3lt.16','vld3gt.16','vld3le.16', - 'vld3eq.32','vld3ne.32','vld3cs.32','vld3hs.32','vld3cc.32','vld3lo.32','vld3mi.32','vld3pl.32','vld3vs.32','vld3vc.32','vld3hi.32','vld3ls.32','vld3ge.32','vld3lt.32','vld3gt.32','vld3le.32', - - 'vld4eq.8','vld4ne.8','vld4cs.8','vld4hs.8','vld4cc.8','vld4lo.8','vld4mi.8','vld4pl.8','vld4vs.8','vld4vc.8','vld4hi.8','vld4ls.8','vld4ge.8','vld4lt.8','vld4gt.8','vld4le.8', - 'vld4eq.16','vld4ne.16','vld4cs.16','vld4hs.16','vld4cc.16','vld4lo.16','vld4mi.16','vld4pl.16','vld4vs.16','vld4vc.16','vld4hi.16','vld4ls.16','vld4ge.16','vld4lt.16','vld4gt.16','vld4le.16', - 'vld4eq.32','vld4ne.32','vld4cs.32','vld4hs.32','vld4cc.32','vld4lo.32','vld4mi.32','vld4pl.32','vld4vs.32','vld4vc.32','vld4hi.32','vld4ls.32','vld4ge.32','vld4lt.32','vld4gt.32','vld4le.32', - - 'vldmeq','vldmne','vldmcs','vldmhs','vldmcc','vldmlo','vldmmi','vldmpl','vldmvs','vldmvc','vldmhi','vldmls','vldmge','vldmlt','vldmgt','vldmle', - 'vldmeq.32','vldmne.32','vldmcs.32','vldmhs.32','vldmcc.32','vldmlo.32','vldmmi.32','vldmpl.32','vldmvs.32','vldmvc.32','vldmhi.32','vldmls.32','vldmge.32','vldmlt.32','vldmgt.32','vldmle.32', - 'vldmeq.64','vldmne.64','vldmcs.64','vldmhs.64','vldmcc.64','vldmlo.64','vldmmi.64','vldmpl.64','vldmvs.64','vldmvc.64','vldmhi.64','vldmls.64','vldmge.64','vldmlt.64','vldmgt.64','vldmle.64', - - 'vldmiaeq','vldmiane','vldmiacs','vldmiahs','vldmiacc','vldmialo','vldmiami','vldmiapl','vldmiavs','vldmiavc','vldmiahi','vldmials','vldmiage','vldmialt','vldmiagt','vldmiale', - 'vldmiaeq.32','vldmiane.32','vldmiacs.32','vldmiahs.32','vldmiacc.32','vldmialo.32','vldmiami.32','vldmiapl.32','vldmiavs.32','vldmiavc.32','vldmiahi.32','vldmials.32','vldmiage.32','vldmialt.32','vldmiagt.32','vldmiale.32', - 'vldmiaeq.64','vldmiane.64','vldmiacs.64','vldmiahs.64','vldmiacc.64','vldmialo.64','vldmiami.64','vldmiapl.64','vldmiavs.64','vldmiavc.64','vldmiahi.64','vldmials.64','vldmiage.64','vldmialt.64','vldmiagt.64','vldmiale.64', - - 'vldmdbeq','vldmdbne','vldmdbcs','vldmdbhs','vldmdbcc','vldmdblo','vldmdbmi','vldmdbpl','vldmdbvs','vldmdbvc','vldmdbhi','vldmdbls','vldmdbge','vldmdblt','vldmdbgt','vldmdble', - 'vldmdbeq.32','vldmdbne.32','vldmdbcs.32','vldmdbhs.32','vldmdbcc.32','vldmdblo.32','vldmdbmi.32','vldmdbpl.32','vldmdbvs.32','vldmdbvc.32','vldmdbhi.32','vldmdbls.32','vldmdbge.32','vldmdblt.32','vldmdbgt.32','vldmdble.32', - 'vldmdbeq.64','vldmdbne.64','vldmdbcs.64','vldmdbhs.64','vldmdbcc.64','vldmdblo.64','vldmdbmi.64','vldmdbpl.64','vldmdbvs.64','vldmdbvc.64','vldmdbhi.64','vldmdbls.64','vldmdbge.64','vldmdblt.64','vldmdbgt.64','vldmdble.64', - - 'vldreq','vldrne','vldrcs','vldrhs','vldrcc','vldrlo','vldrmi','vldrpl','vldrvs','vldrvc','vldrhi','vldrls','vldrge','vldrlt','vldrgt','vldrle', - 'vldreq.32','vldrne.32','vldrcs.32','vldrhs.32','vldrcc.32','vldrlo.32','vldrmi.32','vldrpl.32','vldrvs.32','vldrvc.32','vldrhi.32','vldrls.32','vldrge.32','vldrlt.32','vldrgt.32','vldrle.32', - 'vldreq.64','vldrne.64','vldrcs.64','vldrhs.64','vldrcc.64','vldrlo.64','vldrmi.64','vldrpl.64','vldrvs.64','vldrvc.64','vldrhi.64','vldrls.64','vldrge.64','vldrlt.64','vldrgt.64','vldrle.64', - - 'vpopeq','vpopne','vpopcs','vpophs','vpopcc','vpoplo','vpopmi','vpoppl','vpopvs','vpopvc','vpophi','vpopls','vpopge','vpoplt','vpopgt','vpople', - 'vpopeq.32','vpopne.32','vpopcs.32','vpophs.32','vpopcc.32','vpoplo.32','vpopmi.32','vpoppl.32','vpopvs.32','vpopvc.32','vpophi.32','vpopls.32','vpopge.32','vpoplt.32','vpopgt.32','vpople.32', - 'vpopeq.64','vpopne.64','vpopcs.64','vpophs.64','vpopcc.64','vpoplo.64','vpopmi.64','vpoppl.64','vpopvs.64','vpopvc.64','vpophi.64','vpopls.64','vpopge.64','vpoplt.64','vpopgt.64','vpople.64', - - /* Conditional VFPv3 & NEON SIMD Memory Access: Stores */ - 'vst1eq.8','vst1ne.8','vst1cs.8','vst1hs.8','vst1cc.8','vst1lo.8','vst1mi.8','vst1pl.8','vst1vs.8','vst1vc.8','vst1hi.8','vst1ls.8','vst1ge.8','vst1lt.8','vst1gt.8','vst1le.8', - 'vst1eq.16','vst1ne.16','vst1cs.16','vst1hs.16','vst1cc.16','vst1lo.16','vst1mi.16','vst1pl.16','vst1vs.16','vst1vc.16','vst1hi.16','vst1ls.16','vst1ge.16','vst1lt.16','vst1gt.16','vst1le.16', - 'vst1eq.32','vst1ne.32','vst1cs.32','vst1hs.32','vst1cc.32','vst1lo.32','vst1mi.32','vst1pl.32','vst1vs.32','vst1vc.32','vst1hi.32','vst1ls.32','vst1ge.32','vst1lt.32','vst1gt.32','vst1le.32', - 'vst1eq.64','vst1ne.64','vst1cs.64','vst1hs.64','vst1cc.64','vst1lo.64','vst1mi.64','vst1pl.64','vst1vs.64','vst1vc.64','vst1hi.64','vst1ls.64','vst1ge.64','vst1lt.64','vst1gt.64','vst1le.64', - - 'vst2eq.8','vst2ne.8','vst2cs.8','vst2hs.8','vst2cc.8','vst2lo.8','vst2mi.8','vst2pl.8','vst2vs.8','vst2vc.8','vst2hi.8','vst2ls.8','vst2ge.8','vst2lt.8','vst2gt.8','vst2le.8', - 'vst2eq.16','vst2ne.16','vst2cs.16','vst2hs.16','vst2cc.16','vst2lo.16','vst2mi.16','vst2pl.16','vst2vs.16','vst2vc.16','vst2hi.16','vst2ls.16','vst2ge.16','vst2lt.16','vst2gt.16','vst2le.16', - 'vst2eq.32','vst2ne.32','vst2cs.32','vst2hs.32','vst2cc.32','vst2lo.32','vst2mi.32','vst2pl.32','vst2vs.32','vst2vc.32','vst2hi.32','vst2ls.32','vst2ge.32','vst2lt.32','vst2gt.32','vst2le.32', - - 'vst3eq.8','vst3ne.8','vst3cs.8','vst3hs.8','vst3cc.8','vst3lo.8','vst3mi.8','vst3pl.8','vst3vs.8','vst3vc.8','vst3hi.8','vst3ls.8','vst3ge.8','vst3lt.8','vst3gt.8','vst3le.8', - 'vst3eq.16','vst3ne.16','vst3cs.16','vst3hs.16','vst3cc.16','vst3lo.16','vst3mi.16','vst3pl.16','vst3vs.16','vst3vc.16','vst3hi.16','vst3ls.16','vst3ge.16','vst3lt.16','vst3gt.16','vst3le.16', - 'vst3eq.32','vst3ne.32','vst3cs.32','vst3hs.32','vst3cc.32','vst3lo.32','vst3mi.32','vst3pl.32','vst3vs.32','vst3vc.32','vst3hi.32','vst3ls.32','vst3ge.32','vst3lt.32','vst3gt.32','vst3le.32', - - 'vst4eq.8','vst4ne.8','vst4cs.8','vst4hs.8','vst4cc.8','vst4lo.8','vst4mi.8','vst4pl.8','vst4vs.8','vst4vc.8','vst4hi.8','vst4ls.8','vst4ge.8','vst4lt.8','vst4gt.8','vst4le.8', - 'vst4eq.16','vst4ne.16','vst4cs.16','vst4hs.16','vst4cc.16','vst4lo.16','vst4mi.16','vst4pl.16','vst4vs.16','vst4vc.16','vst4hi.16','vst4ls.16','vst4ge.16','vst4lt.16','vst4gt.16','vst4le.16', - 'vst4eq.32','vst4ne.32','vst4cs.32','vst4hs.32','vst4cc.32','vst4lo.32','vst4mi.32','vst4pl.32','vst4vs.32','vst4vc.32','vst4hi.32','vst4ls.32','vst4ge.32','vst4lt.32','vst4gt.32','vst4le.32', - - 'vstmeq','vstmne','vstmcs','vstmhs','vstmcc','vstmlo','vstmmi','vstmpl','vstmvs','vstmvc','vstmhi','vstmls','vstmge','vstmlt','vstmgt','vstmle', - 'vstmeq.32','vstmne.32','vstmcs.32','vstmhs.32','vstmcc.32','vstmlo.32','vstmmi.32','vstmpl.32','vstmvs.32','vstmvc.32','vstmhi.32','vstmls.32','vstmge.32','vstmlt.32','vstmgt.32','vstmle.32', - 'vstmeq.64','vstmne.64','vstmcs.64','vstmhs.64','vstmcc.64','vstmlo.64','vstmmi.64','vstmpl.64','vstmvs.64','vstmvc.64','vstmhi.64','vstmls.64','vstmge.64','vstmlt.64','vstmgt.64','vstmle.64', - - 'vstmiaeq','vstmiane','vstmiacs','vstmiahs','vstmiacc','vstmialo','vstmiami','vstmiapl','vstmiavs','vstmiavc','vstmiahi','vstmials','vstmiage','vstmialt','vstmiagt','vstmiale', - 'vstmiaeq.32','vstmiane.32','vstmiacs.32','vstmiahs.32','vstmiacc.32','vstmialo.32','vstmiami.32','vstmiapl.32','vstmiavs.32','vstmiavc.32','vstmiahi.32','vstmials.32','vstmiage.32','vstmialt.32','vstmiagt.32','vstmiale.32', - 'vstmiaeq.64','vstmiane.64','vstmiacs.64','vstmiahs.64','vstmiacc.64','vstmialo.64','vstmiami.64','vstmiapl.64','vstmiavs.64','vstmiavc.64','vstmiahi.64','vstmials.64','vstmiage.64','vstmialt.64','vstmiagt.64','vstmiale.64', - - 'vstmdbeq','vstmdbne','vstmdbcs','vstmdbhs','vstmdbcc','vstmdblo','vstmdbmi','vstmdbpl','vstmdbvs','vstmdbvc','vstmdbhi','vstmdbls','vstmdbge','vstmdblt','vstmdbgt','vstmdble', - 'vstmdbeq.32','vstmdbne.32','vstmdbcs.32','vstmdbhs.32','vstmdbcc.32','vstmdblo.32','vstmdbmi.32','vstmdbpl.32','vstmdbvs.32','vstmdbvc.32','vstmdbhi.32','vstmdbls.32','vstmdbge.32','vstmdblt.32','vstmdbgt.32','vstmdble.32', - 'vstmdbeq.64','vstmdbne.64','vstmdbcs.64','vstmdbhs.64','vstmdbcc.64','vstmdblo.64','vstmdbmi.64','vstmdbpl.64','vstmdbvs.64','vstmdbvc.64','vstmdbhi.64','vstmdbls.64','vstmdbge.64','vstmdblt.64','vstmdbgt.64','vstmdble.64', - - 'vstreq','vstrne','vstrcs','vstrhs','vstrcc','vstrlo','vstrmi','vstrpl','vstrvs','vstrvc','vstrhi','vstrls','vstrge','vstrlt','vstrgt','vstrle', - 'vstreq.32','vstrne.32','vstrcs.32','vstrhs.32','vstrcc.32','vstrlo.32','vstrmi.32','vstrpl.32','vstrvs.32','vstrvc.32','vstrhi.32','vstrls.32','vstrge.32','vstrlt.32','vstrgt.32','vstrle.32', - 'vstreq.64','vstrne.64','vstrcs.64','vstrhs.64','vstrcc.64','vstrlo.64','vstrmi.64','vstrpl.64','vstrvs.64','vstrvc.64','vstrhi.64','vstrls.64','vstrge.64','vstrlt.64','vstrgt.64','vstrle.64', - - 'vpusheq','vpushne','vpushcs','vpushhs','vpushcc','vpushlo','vpushmi','vpushpl','vpushvs','vpushvc','vpushhi','vpushls','vpushge','vpushlt','vpushgt','vpushle', - 'vpusheq.32','vpushne.32','vpushcs.32','vpushhs.32','vpushcc.32','vpushlo.32','vpushmi.32','vpushpl.32','vpushvs.32','vpushvc.32','vpushhi.32','vpushls.32','vpushge.32','vpushlt.32','vpushgt.32','vpushle.32', - 'vpusheq.64','vpushne.64','vpushcs.64','vpushhs.64','vpushcc.64','vpushlo.64','vpushmi.64','vpushpl.64','vpushvs.64','vpushvc.64','vpushhi.64','vpushls.64','vpushge.64','vpushlt.64','vpushgt.64','vpushle.64' - ), - /* Conditional NEON SIMD Logical Instructions */ - 28 => array( - 'vandeq','vandne','vandcs','vandhs','vandcc','vandlo','vandmi','vandpl','vandvs','vandvc','vandhi','vandls','vandge','vandlt','vandgt','vandle', - 'vandeq.i8','vandne.i8','vandcs.i8','vandhs.i8','vandcc.i8','vandlo.i8','vandmi.i8','vandpl.i8','vandvs.i8','vandvc.i8','vandhi.i8','vandls.i8','vandge.i8','vandlt.i8','vandgt.i8','vandle.i8', - 'vandeq.i16','vandne.i16','vandcs.i16','vandhs.i16','vandcc.i16','vandlo.i16','vandmi.i16','vandpl.i16','vandvs.i16','vandvc.i16','vandhi.i16','vandls.i16','vandge.i16','vandlt.i16','vandgt.i16','vandle.i16', - 'vandeq.i32','vandne.i32','vandcs.i32','vandhs.i32','vandcc.i32','vandlo.i32','vandmi.i32','vandpl.i32','vandvs.i32','vandvc.i32','vandhi.i32','vandls.i32','vandge.i32','vandlt.i32','vandgt.i32','vandle.i32', - 'vandeq.i64','vandne.i64','vandcs.i64','vandhs.i64','vandcc.i64','vandlo.i64','vandmi.i64','vandpl.i64','vandvs.i64','vandvc.i64','vandhi.i64','vandls.i64','vandge.i64','vandlt.i64','vandgt.i64','vandle.i64', - 'vandeq.s8','vandne.s8','vandcs.s8','vandhs.s8','vandcc.s8','vandlo.s8','vandmi.s8','vandpl.s8','vandvs.s8','vandvc.s8','vandhi.s8','vandls.s8','vandge.s8','vandlt.s8','vandgt.s8','vandle.s8', - 'vandeq.s16','vandne.s16','vandcs.s16','vandhs.s16','vandcc.s16','vandlo.s16','vandmi.s16','vandpl.s16','vandvs.s16','vandvc.s16','vandhi.s16','vandls.s16','vandge.s16','vandlt.s16','vandgt.s16','vandle.s16', - 'vandeq.s32','vandne.s32','vandcs.s32','vandhs.s32','vandcc.s32','vandlo.s32','vandmi.s32','vandpl.s32','vandvs.s32','vandvc.s32','vandhi.s32','vandls.s32','vandge.s32','vandlt.s32','vandgt.s32','vandle.s32', - 'vandeq.s64','vandne.s64','vandcs.s64','vandhs.s64','vandcc.s64','vandlo.s64','vandmi.s64','vandpl.s64','vandvs.s64','vandvc.s64','vandhi.s64','vandls.s64','vandge.s64','vandlt.s64','vandgt.s64','vandle.s64', - 'vandeq.u8','vandne.u8','vandcs.u8','vandhs.u8','vandcc.u8','vandlo.u8','vandmi.u8','vandpl.u8','vandvs.u8','vandvc.u8','vandhi.u8','vandls.u8','vandge.u8','vandlt.u8','vandgt.u8','vandle.u8', - 'vandeq.u16','vandne.u16','vandcs.u16','vandhs.u16','vandcc.u16','vandlo.u16','vandmi.u16','vandpl.u16','vandvs.u16','vandvc.u16','vandhi.u16','vandls.u16','vandge.u16','vandlt.u16','vandgt.u16','vandle.u16', - 'vandeq.u32','vandne.u32','vandcs.u32','vandhs.u32','vandcc.u32','vandlo.u32','vandmi.u32','vandpl.u32','vandvs.u32','vandvc.u32','vandhi.u32','vandls.u32','vandge.u32','vandlt.u32','vandgt.u32','vandle.u32', - 'vandeq.u64','vandne.u64','vandcs.u64','vandhs.u64','vandcc.u64','vandlo.u64','vandmi.u64','vandpl.u64','vandvs.u64','vandvc.u64','vandhi.u64','vandls.u64','vandge.u64','vandlt.u64','vandgt.u64','vandle.u64', - 'vandeq.f32','vandne.f32','vandcs.f32','vandhs.f32','vandcc.f32','vandlo.f32','vandmi.f32','vandpl.f32','vandvs.f32','vandvc.f32','vandhi.f32','vandls.f32','vandge.f32','vandlt.f32','vandgt.f32','vandle.f32', - 'vandeq.f64','vandne.f64','vandcs.f64','vandhs.f64','vandcc.f64','vandlo.f64','vandmi.f64','vandpl.f64','vandvs.f64','vandvc.f64','vandhi.f64','vandls.f64','vandge.f64','vandlt.f64','vandgt.f64','vandle.f64', - - 'vbiceq','vbicne','vbiccs','vbichs','vbiccc','vbiclo','vbicmi','vbicpl','vbicvs','vbicvc','vbichi','vbicls','vbicge','vbiclt','vbicgt','vbicle', - 'vbiceq.i8','vbicne.i8','vbiccs.i8','vbichs.i8','vbiccc.i8','vbiclo.i8','vbicmi.i8','vbicpl.i8','vbicvs.i8','vbicvc.i8','vbichi.i8','vbicls.i8','vbicge.i8','vbiclt.i8','vbicgt.i8','vbicle.i8', - 'vbiceq.i16','vbicne.i16','vbiccs.i16','vbichs.i16','vbiccc.i16','vbiclo.i16','vbicmi.i16','vbicpl.i16','vbicvs.i16','vbicvc.i16','vbichi.i16','vbicls.i16','vbicge.i16','vbiclt.i16','vbicgt.i16','vbicle.i16', - 'vbiceq.i32','vbicne.i32','vbiccs.i32','vbichs.i32','vbiccc.i32','vbiclo.i32','vbicmi.i32','vbicpl.i32','vbicvs.i32','vbicvc.i32','vbichi.i32','vbicls.i32','vbicge.i32','vbiclt.i32','vbicgt.i32','vbicle.i32', - 'vbiceq.i64','vbicne.i64','vbiccs.i64','vbichs.i64','vbiccc.i64','vbiclo.i64','vbicmi.i64','vbicpl.i64','vbicvs.i64','vbicvc.i64','vbichi.i64','vbicls.i64','vbicge.i64','vbiclt.i64','vbicgt.i64','vbicle.i64', - 'vbiceq.s8','vbicne.s8','vbiccs.s8','vbichs.s8','vbiccc.s8','vbiclo.s8','vbicmi.s8','vbicpl.s8','vbicvs.s8','vbicvc.s8','vbichi.s8','vbicls.s8','vbicge.s8','vbiclt.s8','vbicgt.s8','vbicle.s8', - 'vbiceq.s16','vbicne.s16','vbiccs.s16','vbichs.s16','vbiccc.s16','vbiclo.s16','vbicmi.s16','vbicpl.s16','vbicvs.s16','vbicvc.s16','vbichi.s16','vbicls.s16','vbicge.s16','vbiclt.s16','vbicgt.s16','vbicle.s16', - 'vbiceq.s32','vbicne.s32','vbiccs.s32','vbichs.s32','vbiccc.s32','vbiclo.s32','vbicmi.s32','vbicpl.s32','vbicvs.s32','vbicvc.s32','vbichi.s32','vbicls.s32','vbicge.s32','vbiclt.s32','vbicgt.s32','vbicle.s32', - 'vbiceq.s64','vbicne.s64','vbiccs.s64','vbichs.s64','vbiccc.s64','vbiclo.s64','vbicmi.s64','vbicpl.s64','vbicvs.s64','vbicvc.s64','vbichi.s64','vbicls.s64','vbicge.s64','vbiclt.s64','vbicgt.s64','vbicle.s64', - 'vbiceq.u8','vbicne.u8','vbiccs.u8','vbichs.u8','vbiccc.u8','vbiclo.u8','vbicmi.u8','vbicpl.u8','vbicvs.u8','vbicvc.u8','vbichi.u8','vbicls.u8','vbicge.u8','vbiclt.u8','vbicgt.u8','vbicle.u8', - 'vbiceq.u16','vbicne.u16','vbiccs.u16','vbichs.u16','vbiccc.u16','vbiclo.u16','vbicmi.u16','vbicpl.u16','vbicvs.u16','vbicvc.u16','vbichi.u16','vbicls.u16','vbicge.u16','vbiclt.u16','vbicgt.u16','vbicle.u16', - 'vbiceq.u32','vbicne.u32','vbiccs.u32','vbichs.u32','vbiccc.u32','vbiclo.u32','vbicmi.u32','vbicpl.u32','vbicvs.u32','vbicvc.u32','vbichi.u32','vbicls.u32','vbicge.u32','vbiclt.u32','vbicgt.u32','vbicle.u32', - 'vbiceq.u64','vbicne.u64','vbiccs.u64','vbichs.u64','vbiccc.u64','vbiclo.u64','vbicmi.u64','vbicpl.u64','vbicvs.u64','vbicvc.u64','vbichi.u64','vbicls.u64','vbicge.u64','vbiclt.u64','vbicgt.u64','vbicle.u64', - 'vbiceq.f32','vbicne.f32','vbiccs.f32','vbichs.f32','vbiccc.f32','vbiclo.f32','vbicmi.f32','vbicpl.f32','vbicvs.f32','vbicvc.f32','vbichi.f32','vbicls.f32','vbicge.f32','vbiclt.f32','vbicgt.f32','vbicle.f32', - 'vbiceq.f64','vbicne.f64','vbiccs.f64','vbichs.f64','vbiccc.f64','vbiclo.f64','vbicmi.f64','vbicpl.f64','vbicvs.f64','vbicvc.f64','vbichi.f64','vbicls.f64','vbicge.f64','vbiclt.f64','vbicgt.f64','vbicle.f64', - - 'vbifeq','vbifne','vbifcs','vbifhs','vbifcc','vbiflo','vbifmi','vbifpl','vbifvs','vbifvc','vbifhi','vbifls','vbifge','vbiflt','vbifgt','vbifle', - 'vbifeq.i8','vbifne.i8','vbifcs.i8','vbifhs.i8','vbifcc.i8','vbiflo.i8','vbifmi.i8','vbifpl.i8','vbifvs.i8','vbifvc.i8','vbifhi.i8','vbifls.i8','vbifge.i8','vbiflt.i8','vbifgt.i8','vbifle.i8', - 'vbifeq.i16','vbifne.i16','vbifcs.i16','vbifhs.i16','vbifcc.i16','vbiflo.i16','vbifmi.i16','vbifpl.i16','vbifvs.i16','vbifvc.i16','vbifhi.i16','vbifls.i16','vbifge.i16','vbiflt.i16','vbifgt.i16','vbifle.i16', - 'vbifeq.i32','vbifne.i32','vbifcs.i32','vbifhs.i32','vbifcc.i32','vbiflo.i32','vbifmi.i32','vbifpl.i32','vbifvs.i32','vbifvc.i32','vbifhi.i32','vbifls.i32','vbifge.i32','vbiflt.i32','vbifgt.i32','vbifle.i32', - 'vbifeq.i64','vbifne.i64','vbifcs.i64','vbifhs.i64','vbifcc.i64','vbiflo.i64','vbifmi.i64','vbifpl.i64','vbifvs.i64','vbifvc.i64','vbifhi.i64','vbifls.i64','vbifge.i64','vbiflt.i64','vbifgt.i64','vbifle.i64', - 'vbifeq.s8','vbifne.s8','vbifcs.s8','vbifhs.s8','vbifcc.s8','vbiflo.s8','vbifmi.s8','vbifpl.s8','vbifvs.s8','vbifvc.s8','vbifhi.s8','vbifls.s8','vbifge.s8','vbiflt.s8','vbifgt.s8','vbifle.s8', - 'vbifeq.s16','vbifne.s16','vbifcs.s16','vbifhs.s16','vbifcc.s16','vbiflo.s16','vbifmi.s16','vbifpl.s16','vbifvs.s16','vbifvc.s16','vbifhi.s16','vbifls.s16','vbifge.s16','vbiflt.s16','vbifgt.s16','vbifle.s16', - 'vbifeq.s32','vbifne.s32','vbifcs.s32','vbifhs.s32','vbifcc.s32','vbiflo.s32','vbifmi.s32','vbifpl.s32','vbifvs.s32','vbifvc.s32','vbifhi.s32','vbifls.s32','vbifge.s32','vbiflt.s32','vbifgt.s32','vbifle.s32', - 'vbifeq.s64','vbifne.s64','vbifcs.s64','vbifhs.s64','vbifcc.s64','vbiflo.s64','vbifmi.s64','vbifpl.s64','vbifvs.s64','vbifvc.s64','vbifhi.s64','vbifls.s64','vbifge.s64','vbiflt.s64','vbifgt.s64','vbifle.s64', - 'vbifeq.u8','vbifne.u8','vbifcs.u8','vbifhs.u8','vbifcc.u8','vbiflo.u8','vbifmi.u8','vbifpl.u8','vbifvs.u8','vbifvc.u8','vbifhi.u8','vbifls.u8','vbifge.u8','vbiflt.u8','vbifgt.u8','vbifle.u8', - 'vbifeq.u16','vbifne.u16','vbifcs.u16','vbifhs.u16','vbifcc.u16','vbiflo.u16','vbifmi.u16','vbifpl.u16','vbifvs.u16','vbifvc.u16','vbifhi.u16','vbifls.u16','vbifge.u16','vbiflt.u16','vbifgt.u16','vbifle.u16', - 'vbifeq.u32','vbifne.u32','vbifcs.u32','vbifhs.u32','vbifcc.u32','vbiflo.u32','vbifmi.u32','vbifpl.u32','vbifvs.u32','vbifvc.u32','vbifhi.u32','vbifls.u32','vbifge.u32','vbiflt.u32','vbifgt.u32','vbifle.u32', - 'vbifeq.u64','vbifne.u64','vbifcs.u64','vbifhs.u64','vbifcc.u64','vbiflo.u64','vbifmi.u64','vbifpl.u64','vbifvs.u64','vbifvc.u64','vbifhi.u64','vbifls.u64','vbifge.u64','vbiflt.u64','vbifgt.u64','vbifle.u64', - 'vbifeq.f32','vbifne.f32','vbifcs.f32','vbifhs.f32','vbifcc.f32','vbiflo.f32','vbifmi.f32','vbifpl.f32','vbifvs.f32','vbifvc.f32','vbifhi.f32','vbifls.f32','vbifge.f32','vbiflt.f32','vbifgt.f32','vbifle.f32', - 'vbifeq.f64','vbifne.f64','vbifcs.f64','vbifhs.f64','vbifcc.f64','vbiflo.f64','vbifmi.f64','vbifpl.f64','vbifvs.f64','vbifvc.f64','vbifhi.f64','vbifls.f64','vbifge.f64','vbiflt.f64','vbifgt.f64','vbifle.f64', - - 'vbiteq','vbitne','vbitcs','vbiths','vbitcc','vbitlo','vbitmi','vbitpl','vbitvs','vbitvc','vbithi','vbitls','vbitge','vbitlt','vbitgt','vbitle', - 'vbiteq.i8','vbitne.i8','vbitcs.i8','vbiths.i8','vbitcc.i8','vbitlo.i8','vbitmi.i8','vbitpl.i8','vbitvs.i8','vbitvc.i8','vbithi.i8','vbitls.i8','vbitge.i8','vbitlt.i8','vbitgt.i8','vbitle.i8', - 'vbiteq.i16','vbitne.i16','vbitcs.i16','vbiths.i16','vbitcc.i16','vbitlo.i16','vbitmi.i16','vbitpl.i16','vbitvs.i16','vbitvc.i16','vbithi.i16','vbitls.i16','vbitge.i16','vbitlt.i16','vbitgt.i16','vbitle.i16', - 'vbiteq.i32','vbitne.i32','vbitcs.i32','vbiths.i32','vbitcc.i32','vbitlo.i32','vbitmi.i32','vbitpl.i32','vbitvs.i32','vbitvc.i32','vbithi.i32','vbitls.i32','vbitge.i32','vbitlt.i32','vbitgt.i32','vbitle.i32', - 'vbiteq.i64','vbitne.i64','vbitcs.i64','vbiths.i64','vbitcc.i64','vbitlo.i64','vbitmi.i64','vbitpl.i64','vbitvs.i64','vbitvc.i64','vbithi.i64','vbitls.i64','vbitge.i64','vbitlt.i64','vbitgt.i64','vbitle.i64', - 'vbiteq.s8','vbitne.s8','vbitcs.s8','vbiths.s8','vbitcc.s8','vbitlo.s8','vbitmi.s8','vbitpl.s8','vbitvs.s8','vbitvc.s8','vbithi.s8','vbitls.s8','vbitge.s8','vbitlt.s8','vbitgt.s8','vbitle.s8', - 'vbiteq.s16','vbitne.s16','vbitcs.s16','vbiths.s16','vbitcc.s16','vbitlo.s16','vbitmi.s16','vbitpl.s16','vbitvs.s16','vbitvc.s16','vbithi.s16','vbitls.s16','vbitge.s16','vbitlt.s16','vbitgt.s16','vbitle.s16', - 'vbiteq.s32','vbitne.s32','vbitcs.s32','vbiths.s32','vbitcc.s32','vbitlo.s32','vbitmi.s32','vbitpl.s32','vbitvs.s32','vbitvc.s32','vbithi.s32','vbitls.s32','vbitge.s32','vbitlt.s32','vbitgt.s32','vbitle.s32', - 'vbiteq.s64','vbitne.s64','vbitcs.s64','vbiths.s64','vbitcc.s64','vbitlo.s64','vbitmi.s64','vbitpl.s64','vbitvs.s64','vbitvc.s64','vbithi.s64','vbitls.s64','vbitge.s64','vbitlt.s64','vbitgt.s64','vbitle.s64', - 'vbiteq.u8','vbitne.u8','vbitcs.u8','vbiths.u8','vbitcc.u8','vbitlo.u8','vbitmi.u8','vbitpl.u8','vbitvs.u8','vbitvc.u8','vbithi.u8','vbitls.u8','vbitge.u8','vbitlt.u8','vbitgt.u8','vbitle.u8', - 'vbiteq.u16','vbitne.u16','vbitcs.u16','vbiths.u16','vbitcc.u16','vbitlo.u16','vbitmi.u16','vbitpl.u16','vbitvs.u16','vbitvc.u16','vbithi.u16','vbitls.u16','vbitge.u16','vbitlt.u16','vbitgt.u16','vbitle.u16', - 'vbiteq.u32','vbitne.u32','vbitcs.u32','vbiths.u32','vbitcc.u32','vbitlo.u32','vbitmi.u32','vbitpl.u32','vbitvs.u32','vbitvc.u32','vbithi.u32','vbitls.u32','vbitge.u32','vbitlt.u32','vbitgt.u32','vbitle.u32', - 'vbiteq.u64','vbitne.u64','vbitcs.u64','vbiths.u64','vbitcc.u64','vbitlo.u64','vbitmi.u64','vbitpl.u64','vbitvs.u64','vbitvc.u64','vbithi.u64','vbitls.u64','vbitge.u64','vbitlt.u64','vbitgt.u64','vbitle.u64', - 'vbiteq.f32','vbitne.f32','vbitcs.f32','vbiths.f32','vbitcc.f32','vbitlo.f32','vbitmi.f32','vbitpl.f32','vbitvs.f32','vbitvc.f32','vbithi.f32','vbitls.f32','vbitge.f32','vbitlt.f32','vbitgt.f32','vbitle.f32', - 'vbiteq.f64','vbitne.f64','vbitcs.f64','vbiths.f64','vbitcc.f64','vbitlo.f64','vbitmi.f64','vbitpl.f64','vbitvs.f64','vbitvc.f64','vbithi.f64','vbitls.f64','vbitge.f64','vbitlt.f64','vbitgt.f64','vbitle.f64', - - 'vbsleq','vbslne','vbslcs','vbslhs','vbslcc','vbsllo','vbslmi','vbslpl','vbslvs','vbslvc','vbslhi','vbslls','vbslge','vbsllt','vbslgt','vbslle', - 'vbsleq.i8','vbslne.i8','vbslcs.i8','vbslhs.i8','vbslcc.i8','vbsllo.i8','vbslmi.i8','vbslpl.i8','vbslvs.i8','vbslvc.i8','vbslhi.i8','vbslls.i8','vbslge.i8','vbsllt.i8','vbslgt.i8','vbslle.i8', - 'vbsleq.i16','vbslne.i16','vbslcs.i16','vbslhs.i16','vbslcc.i16','vbsllo.i16','vbslmi.i16','vbslpl.i16','vbslvs.i16','vbslvc.i16','vbslhi.i16','vbslls.i16','vbslge.i16','vbsllt.i16','vbslgt.i16','vbslle.i16', - 'vbsleq.i32','vbslne.i32','vbslcs.i32','vbslhs.i32','vbslcc.i32','vbsllo.i32','vbslmi.i32','vbslpl.i32','vbslvs.i32','vbslvc.i32','vbslhi.i32','vbslls.i32','vbslge.i32','vbsllt.i32','vbslgt.i32','vbslle.i32', - 'vbsleq.i64','vbslne.i64','vbslcs.i64','vbslhs.i64','vbslcc.i64','vbsllo.i64','vbslmi.i64','vbslpl.i64','vbslvs.i64','vbslvc.i64','vbslhi.i64','vbslls.i64','vbslge.i64','vbsllt.i64','vbslgt.i64','vbslle.i64', - 'vbsleq.s8','vbslne.s8','vbslcs.s8','vbslhs.s8','vbslcc.s8','vbsllo.s8','vbslmi.s8','vbslpl.s8','vbslvs.s8','vbslvc.s8','vbslhi.s8','vbslls.s8','vbslge.s8','vbsllt.s8','vbslgt.s8','vbslle.s8', - 'vbsleq.s16','vbslne.s16','vbslcs.s16','vbslhs.s16','vbslcc.s16','vbsllo.s16','vbslmi.s16','vbslpl.s16','vbslvs.s16','vbslvc.s16','vbslhi.s16','vbslls.s16','vbslge.s16','vbsllt.s16','vbslgt.s16','vbslle.s16', - 'vbsleq.s32','vbslne.s32','vbslcs.s32','vbslhs.s32','vbslcc.s32','vbsllo.s32','vbslmi.s32','vbslpl.s32','vbslvs.s32','vbslvc.s32','vbslhi.s32','vbslls.s32','vbslge.s32','vbsllt.s32','vbslgt.s32','vbslle.s32', - 'vbsleq.s64','vbslne.s64','vbslcs.s64','vbslhs.s64','vbslcc.s64','vbsllo.s64','vbslmi.s64','vbslpl.s64','vbslvs.s64','vbslvc.s64','vbslhi.s64','vbslls.s64','vbslge.s64','vbsllt.s64','vbslgt.s64','vbslle.s64', - 'vbsleq.u8','vbslne.u8','vbslcs.u8','vbslhs.u8','vbslcc.u8','vbsllo.u8','vbslmi.u8','vbslpl.u8','vbslvs.u8','vbslvc.u8','vbslhi.u8','vbslls.u8','vbslge.u8','vbsllt.u8','vbslgt.u8','vbslle.u8', - 'vbsleq.u16','vbslne.u16','vbslcs.u16','vbslhs.u16','vbslcc.u16','vbsllo.u16','vbslmi.u16','vbslpl.u16','vbslvs.u16','vbslvc.u16','vbslhi.u16','vbslls.u16','vbslge.u16','vbsllt.u16','vbslgt.u16','vbslle.u16', - 'vbsleq.u32','vbslne.u32','vbslcs.u32','vbslhs.u32','vbslcc.u32','vbsllo.u32','vbslmi.u32','vbslpl.u32','vbslvs.u32','vbslvc.u32','vbslhi.u32','vbslls.u32','vbslge.u32','vbsllt.u32','vbslgt.u32','vbslle.u32', - 'vbsleq.u64','vbslne.u64','vbslcs.u64','vbslhs.u64','vbslcc.u64','vbsllo.u64','vbslmi.u64','vbslpl.u64','vbslvs.u64','vbslvc.u64','vbslhi.u64','vbslls.u64','vbslge.u64','vbsllt.u64','vbslgt.u64','vbslle.u64', - 'vbsleq.f32','vbslne.f32','vbslcs.f32','vbslhs.f32','vbslcc.f32','vbsllo.f32','vbslmi.f32','vbslpl.f32','vbslvs.f32','vbslvc.f32','vbslhi.f32','vbslls.f32','vbslge.f32','vbsllt.f32','vbslgt.f32','vbslle.f32', - 'vbsleq.f64','vbslne.f64','vbslcs.f64','vbslhs.f64','vbslcc.f64','vbsllo.f64','vbslmi.f64','vbslpl.f64','vbslvs.f64','vbslvc.f64','vbslhi.f64','vbslls.f64','vbslge.f64','vbsllt.f64','vbslgt.f64','vbslle.f64', - - 'veoreq','veorne','veorcs','veorhs','veorcc','veorlo','veormi','veorpl','veorvs','veorvc','veorhi','veorls','veorge','veorlt','veorgt','veorle', - 'veoreq.i8','veorne.i8','veorcs.i8','veorhs.i8','veorcc.i8','veorlo.i8','veormi.i8','veorpl.i8','veorvs.i8','veorvc.i8','veorhi.i8','veorls.i8','veorge.i8','veorlt.i8','veorgt.i8','veorle.i8', - 'veoreq.i16','veorne.i16','veorcs.i16','veorhs.i16','veorcc.i16','veorlo.i16','veormi.i16','veorpl.i16','veorvs.i16','veorvc.i16','veorhi.i16','veorls.i16','veorge.i16','veorlt.i16','veorgt.i16','veorle.i16', - 'veoreq.i32','veorne.i32','veorcs.i32','veorhs.i32','veorcc.i32','veorlo.i32','veormi.i32','veorpl.i32','veorvs.i32','veorvc.i32','veorhi.i32','veorls.i32','veorge.i32','veorlt.i32','veorgt.i32','veorle.i32', - 'veoreq.i64','veorne.i64','veorcs.i64','veorhs.i64','veorcc.i64','veorlo.i64','veormi.i64','veorpl.i64','veorvs.i64','veorvc.i64','veorhi.i64','veorls.i64','veorge.i64','veorlt.i64','veorgt.i64','veorle.i64', - 'veoreq.s8','veorne.s8','veorcs.s8','veorhs.s8','veorcc.s8','veorlo.s8','veormi.s8','veorpl.s8','veorvs.s8','veorvc.s8','veorhi.s8','veorls.s8','veorge.s8','veorlt.s8','veorgt.s8','veorle.s8', - 'veoreq.s16','veorne.s16','veorcs.s16','veorhs.s16','veorcc.s16','veorlo.s16','veormi.s16','veorpl.s16','veorvs.s16','veorvc.s16','veorhi.s16','veorls.s16','veorge.s16','veorlt.s16','veorgt.s16','veorle.s16', - 'veoreq.s32','veorne.s32','veorcs.s32','veorhs.s32','veorcc.s32','veorlo.s32','veormi.s32','veorpl.s32','veorvs.s32','veorvc.s32','veorhi.s32','veorls.s32','veorge.s32','veorlt.s32','veorgt.s32','veorle.s32', - 'veoreq.s64','veorne.s64','veorcs.s64','veorhs.s64','veorcc.s64','veorlo.s64','veormi.s64','veorpl.s64','veorvs.s64','veorvc.s64','veorhi.s64','veorls.s64','veorge.s64','veorlt.s64','veorgt.s64','veorle.s64', - 'veoreq.u8','veorne.u8','veorcs.u8','veorhs.u8','veorcc.u8','veorlo.u8','veormi.u8','veorpl.u8','veorvs.u8','veorvc.u8','veorhi.u8','veorls.u8','veorge.u8','veorlt.u8','veorgt.u8','veorle.u8', - 'veoreq.u16','veorne.u16','veorcs.u16','veorhs.u16','veorcc.u16','veorlo.u16','veormi.u16','veorpl.u16','veorvs.u16','veorvc.u16','veorhi.u16','veorls.u16','veorge.u16','veorlt.u16','veorgt.u16','veorle.u16', - 'veoreq.u32','veorne.u32','veorcs.u32','veorhs.u32','veorcc.u32','veorlo.u32','veormi.u32','veorpl.u32','veorvs.u32','veorvc.u32','veorhi.u32','veorls.u32','veorge.u32','veorlt.u32','veorgt.u32','veorle.u32', - 'veoreq.u64','veorne.u64','veorcs.u64','veorhs.u64','veorcc.u64','veorlo.u64','veormi.u64','veorpl.u64','veorvs.u64','veorvc.u64','veorhi.u64','veorls.u64','veorge.u64','veorlt.u64','veorgt.u64','veorle.u64', - 'veoreq.f32','veorne.f32','veorcs.f32','veorhs.f32','veorcc.f32','veorlo.f32','veormi.f32','veorpl.f32','veorvs.f32','veorvc.f32','veorhi.f32','veorls.f32','veorge.f32','veorlt.f32','veorgt.f32','veorle.f32', - 'veoreq.f64','veorne.f64','veorcs.f64','veorhs.f64','veorcc.f64','veorlo.f64','veormi.f64','veorpl.f64','veorvs.f64','veorvc.f64','veorhi.f64','veorls.f64','veorge.f64','veorlt.f64','veorgt.f64','veorle.f64', - - 'vmoveq','vmovne','vmovcs','vmovhs','vmovcc','vmovlo','vmovmi','vmovpl','vmovvs','vmovvc','vmovhi','vmovls','vmovge','vmovlt','vmovgt','vmovle', - 'vmoveq.8','vmovne.8','vmovcs.8','vmovhs.8','vmovcc.8','vmovlo.8','vmovmi.8','vmovpl.8','vmovvs.8','vmovvc.8','vmovhi.8','vmovls.8','vmovge.8','vmovlt.8','vmovgt.8','vmovle.8', - 'vmoveq.16','vmovne.16','vmovcs.16','vmovhs.16','vmovcc.16','vmovlo.16','vmovmi.16','vmovpl.16','vmovvs.16','vmovvc.16','vmovhi.16','vmovls.16','vmovge.16','vmovlt.16','vmovgt.16','vmovle.16', - 'vmoveq.32','vmovne.32','vmovcs.32','vmovhs.32','vmovcc.32','vmovlo.32','vmovmi.32','vmovpl.32','vmovvs.32','vmovvc.32','vmovhi.32','vmovls.32','vmovge.32','vmovlt.32','vmovgt.32','vmovle.32', - 'vmoveq.i8','vmovne.i8','vmovcs.i8','vmovhs.i8','vmovcc.i8','vmovlo.i8','vmovmi.i8','vmovpl.i8','vmovvs.i8','vmovvc.i8','vmovhi.i8','vmovls.i8','vmovge.i8','vmovlt.i8','vmovgt.i8','vmovle.i8', - 'vmoveq.i16','vmovne.i16','vmovcs.i16','vmovhs.i16','vmovcc.i16','vmovlo.i16','vmovmi.i16','vmovpl.i16','vmovvs.i16','vmovvc.i16','vmovhi.i16','vmovls.i16','vmovge.i16','vmovlt.i16','vmovgt.i16','vmovle.i16', - 'vmoveq.i32','vmovne.i32','vmovcs.i32','vmovhs.i32','vmovcc.i32','vmovlo.i32','vmovmi.i32','vmovpl.i32','vmovvs.i32','vmovvc.i32','vmovhi.i32','vmovls.i32','vmovge.i32','vmovlt.i32','vmovgt.i32','vmovle.i32', - 'vmoveq.i64','vmovne.i64','vmovcs.i64','vmovhs.i64','vmovcc.i64','vmovlo.i64','vmovmi.i64','vmovpl.i64','vmovvs.i64','vmovvc.i64','vmovhi.i64','vmovls.i64','vmovge.i64','vmovlt.i64','vmovgt.i64','vmovle.i64', - 'vmoveq.f32','vmovne.f32','vmovcs.f32','vmovhs.f32','vmovcc.f32','vmovlo.f32','vmovmi.f32','vmovpl.f32','vmovvs.f32','vmovvc.f32','vmovhi.f32','vmovls.f32','vmovge.f32','vmovlt.f32','vmovgt.f32','vmovle.f32', - 'vmoveq.f64','vmovne.f64','vmovcs.f64','vmovhs.f64','vmovcc.f64','vmovlo.f64','vmovmi.f64','vmovpl.f64','vmovvs.f64','vmovvc.f64','vmovhi.f64','vmovls.f64','vmovge.f64','vmovlt.f64','vmovgt.f64','vmovle.f64', - - 'vmvneq','vmvnne','vmvncs','vmvnhs','vmvncc','vmvnlo','vmvnmi','vmvnpl','vmvnvs','vmvnvc','vmvnhi','vmvnls','vmvnge','vmvnlt','vmvngt','vmvnle', - 'vmvneq.s8','vmvnne.s8','vmvncs.s8','vmvnhs.s8','vmvncc.s8','vmvnlo.s8','vmvnmi.s8','vmvnpl.s8','vmvnvs.s8','vmvnvc.s8','vmvnhi.s8','vmvnls.s8','vmvnge.s8','vmvnlt.s8','vmvngt.s8','vmvnle.s8', - 'vmvneq.s16','vmvnne.s16','vmvncs.s16','vmvnhs.s16','vmvncc.s16','vmvnlo.s16','vmvnmi.s16','vmvnpl.s16','vmvnvs.s16','vmvnvc.s16','vmvnhi.s16','vmvnls.s16','vmvnge.s16','vmvnlt.s16','vmvngt.s16','vmvnle.s16', - 'vmvneq.s32','vmvnne.s32','vmvncs.s32','vmvnhs.s32','vmvncc.s32','vmvnlo.s32','vmvnmi.s32','vmvnpl.s32','vmvnvs.s32','vmvnvc.s32','vmvnhi.s32','vmvnls.s32','vmvnge.s32','vmvnlt.s32','vmvngt.s32','vmvnle.s32', - 'vmvneq.s64','vmvnne.s64','vmvncs.s64','vmvnhs.s64','vmvncc.s64','vmvnlo.s64','vmvnmi.s64','vmvnpl.s64','vmvnvs.s64','vmvnvc.s64','vmvnhi.s64','vmvnls.s64','vmvnge.s64','vmvnlt.s64','vmvngt.s64','vmvnle.s64', - 'vmvneq.u8','vmvnne.u8','vmvncs.u8','vmvnhs.u8','vmvncc.u8','vmvnlo.u8','vmvnmi.u8','vmvnpl.u8','vmvnvs.u8','vmvnvc.u8','vmvnhi.u8','vmvnls.u8','vmvnge.u8','vmvnlt.u8','vmvngt.u8','vmvnle.u8', - 'vmvneq.u16','vmvnne.u16','vmvncs.u16','vmvnhs.u16','vmvncc.u16','vmvnlo.u16','vmvnmi.u16','vmvnpl.u16','vmvnvs.u16','vmvnvc.u16','vmvnhi.u16','vmvnls.u16','vmvnge.u16','vmvnlt.u16','vmvngt.u16','vmvnle.u16', - 'vmvneq.u32','vmvnne.u32','vmvncs.u32','vmvnhs.u32','vmvncc.u32','vmvnlo.u32','vmvnmi.u32','vmvnpl.u32','vmvnvs.u32','vmvnvc.u32','vmvnhi.u32','vmvnls.u32','vmvnge.u32','vmvnlt.u32','vmvngt.u32','vmvnle.u32', - 'vmvneq.u64','vmvnne.u64','vmvncs.u64','vmvnhs.u64','vmvncc.u64','vmvnlo.u64','vmvnmi.u64','vmvnpl.u64','vmvnvs.u64','vmvnvc.u64','vmvnhi.u64','vmvnls.u64','vmvnge.u64','vmvnlt.u64','vmvngt.u64','vmvnle.u64', - 'vmvneq.i8','vmvnne.i8','vmvncs.i8','vmvnhs.i8','vmvncc.i8','vmvnlo.i8','vmvnmi.i8','vmvnpl.i8','vmvnvs.i8','vmvnvc.i8','vmvnhi.i8','vmvnls.i8','vmvnge.i8','vmvnlt.i8','vmvngt.i8','vmvnle.i8', - 'vmvneq.i16','vmvnne.i16','vmvncs.i16','vmvnhs.i16','vmvncc.i16','vmvnlo.i16','vmvnmi.i16','vmvnpl.i16','vmvnvs.i16','vmvnvc.i16','vmvnhi.i16','vmvnls.i16','vmvnge.i16','vmvnlt.i16','vmvngt.i16','vmvnle.i16', - 'vmvneq.i32','vmvnne.i32','vmvncs.i32','vmvnhs.i32','vmvncc.i32','vmvnlo.i32','vmvnmi.i32','vmvnpl.i32','vmvnvs.i32','vmvnvc.i32','vmvnhi.i32','vmvnls.i32','vmvnge.i32','vmvnlt.i32','vmvngt.i32','vmvnle.i32', - 'vmvneq.i64','vmvnne.i64','vmvncs.i64','vmvnhs.i64','vmvncc.i64','vmvnlo.i64','vmvnmi.i64','vmvnpl.i64','vmvnvs.i64','vmvnvc.i64','vmvnhi.i64','vmvnls.i64','vmvnge.i64','vmvnlt.i64','vmvngt.i64','vmvnle.i64', - 'vmvneq.f32','vmvnne.f32','vmvncs.f32','vmvnhs.f32','vmvncc.f32','vmvnlo.f32','vmvnmi.f32','vmvnpl.f32','vmvnvs.f32','vmvnvc.f32','vmvnhi.f32','vmvnls.f32','vmvnge.f32','vmvnlt.f32','vmvngt.f32','vmvnle.f32', - 'vmvneq.f64','vmvnne.f64','vmvncs.f64','vmvnhs.f64','vmvncc.f64','vmvnlo.f64','vmvnmi.f64','vmvnpl.f64','vmvnvs.f64','vmvnvc.f64','vmvnhi.f64','vmvnls.f64','vmvnge.f64','vmvnlt.f64','vmvngt.f64','vmvnle.f64', - - 'vorneq','vornne','vorncs','vornhs','vorncc','vornlo','vornmi','vornpl','vornvs','vornvc','vornhi','vornls','vornge','vornlt','vorngt','vornle', - 'vorneq.s8','vornne.s8','vorncs.s8','vornhs.s8','vorncc.s8','vornlo.s8','vornmi.s8','vornpl.s8','vornvs.s8','vornvc.s8','vornhi.s8','vornls.s8','vornge.s8','vornlt.s8','vorngt.s8','vornle.s8', - 'vorneq.s16','vornne.s16','vorncs.s16','vornhs.s16','vorncc.s16','vornlo.s16','vornmi.s16','vornpl.s16','vornvs.s16','vornvc.s16','vornhi.s16','vornls.s16','vornge.s16','vornlt.s16','vorngt.s16','vornle.s16', - 'vorneq.s32','vornne.s32','vorncs.s32','vornhs.s32','vorncc.s32','vornlo.s32','vornmi.s32','vornpl.s32','vornvs.s32','vornvc.s32','vornhi.s32','vornls.s32','vornge.s32','vornlt.s32','vorngt.s32','vornle.s32', - 'vorneq.s64','vornne.s64','vorncs.s64','vornhs.s64','vorncc.s64','vornlo.s64','vornmi.s64','vornpl.s64','vornvs.s64','vornvc.s64','vornhi.s64','vornls.s64','vornge.s64','vornlt.s64','vorngt.s64','vornle.s64', - 'vorneq.u8','vornne.u8','vorncs.u8','vornhs.u8','vorncc.u8','vornlo.u8','vornmi.u8','vornpl.u8','vornvs.u8','vornvc.u8','vornhi.u8','vornls.u8','vornge.u8','vornlt.u8','vorngt.u8','vornle.u8', - 'vorneq.u16','vornne.u16','vorncs.u16','vornhs.u16','vorncc.u16','vornlo.u16','vornmi.u16','vornpl.u16','vornvs.u16','vornvc.u16','vornhi.u16','vornls.u16','vornge.u16','vornlt.u16','vorngt.u16','vornle.u16', - 'vorneq.u32','vornne.u32','vorncs.u32','vornhs.u32','vorncc.u32','vornlo.u32','vornmi.u32','vornpl.u32','vornvs.u32','vornvc.u32','vornhi.u32','vornls.u32','vornge.u32','vornlt.u32','vorngt.u32','vornle.u32', - 'vorneq.u64','vornne.u64','vorncs.u64','vornhs.u64','vorncc.u64','vornlo.u64','vornmi.u64','vornpl.u64','vornvs.u64','vornvc.u64','vornhi.u64','vornls.u64','vornge.u64','vornlt.u64','vorngt.u64','vornle.u64', - 'vorneq.i8','vornne.i8','vorncs.i8','vornhs.i8','vorncc.i8','vornlo.i8','vornmi.i8','vornpl.i8','vornvs.i8','vornvc.i8','vornhi.i8','vornls.i8','vornge.i8','vornlt.i8','vorngt.i8','vornle.i8', - 'vorneq.i16','vornne.i16','vorncs.i16','vornhs.i16','vorncc.i16','vornlo.i16','vornmi.i16','vornpl.i16','vornvs.i16','vornvc.i16','vornhi.i16','vornls.i16','vornge.i16','vornlt.i16','vorngt.i16','vornle.i16', - 'vorneq.i32','vornne.i32','vorncs.i32','vornhs.i32','vorncc.i32','vornlo.i32','vornmi.i32','vornpl.i32','vornvs.i32','vornvc.i32','vornhi.i32','vornls.i32','vornge.i32','vornlt.i32','vorngt.i32','vornle.i32', - 'vorneq.i64','vornne.i64','vorncs.i64','vornhs.i64','vorncc.i64','vornlo.i64','vornmi.i64','vornpl.i64','vornvs.i64','vornvc.i64','vornhi.i64','vornls.i64','vornge.i64','vornlt.i64','vorngt.i64','vornle.i64', - 'vorneq.f32','vornne.f32','vorncs.f32','vornhs.f32','vorncc.f32','vornlo.f32','vornmi.f32','vornpl.f32','vornvs.f32','vornvc.f32','vornhi.f32','vornls.f32','vornge.f32','vornlt.f32','vorngt.f32','vornle.f32', - 'vorneq.f64','vornne.f64','vorncs.f64','vornhs.f64','vorncc.f64','vornlo.f64','vornmi.f64','vornpl.f64','vornvs.f64','vornvc.f64','vornhi.f64','vornls.f64','vornge.f64','vornlt.f64','vorngt.f64','vornle.f64', - - 'vorreq','vorrne','vorrcs','vorrhs','vorrcc','vorrlo','vorrmi','vorrpl','vorrvs','vorrvc','vorrhi','vorrls','vorrge','vorrlt','vorrgt','vorrle', - 'vorreq.s8','vorrne.s8','vorrcs.s8','vorrhs.s8','vorrcc.s8','vorrlo.s8','vorrmi.s8','vorrpl.s8','vorrvs.s8','vorrvc.s8','vorrhi.s8','vorrls.s8','vorrge.s8','vorrlt.s8','vorrgt.s8','vorrle.s8', - 'vorreq.s16','vorrne.s16','vorrcs.s16','vorrhs.s16','vorrcc.s16','vorrlo.s16','vorrmi.s16','vorrpl.s16','vorrvs.s16','vorrvc.s16','vorrhi.s16','vorrls.s16','vorrge.s16','vorrlt.s16','vorrgt.s16','vorrle.s16', - 'vorreq.s32','vorrne.s32','vorrcs.s32','vorrhs.s32','vorrcc.s32','vorrlo.s32','vorrmi.s32','vorrpl.s32','vorrvs.s32','vorrvc.s32','vorrhi.s32','vorrls.s32','vorrge.s32','vorrlt.s32','vorrgt.s32','vorrle.s32', - 'vorreq.s64','vorrne.s64','vorrcs.s64','vorrhs.s64','vorrcc.s64','vorrlo.s64','vorrmi.s64','vorrpl.s64','vorrvs.s64','vorrvc.s64','vorrhi.s64','vorrls.s64','vorrge.s64','vorrlt.s64','vorrgt.s64','vorrle.s64', - 'vorreq.u8','vorrne.u8','vorrcs.u8','vorrhs.u8','vorrcc.u8','vorrlo.u8','vorrmi.u8','vorrpl.u8','vorrvs.u8','vorrvc.u8','vorrhi.u8','vorrls.u8','vorrge.u8','vorrlt.u8','vorrgt.u8','vorrle.u8', - 'vorreq.u16','vorrne.u16','vorrcs.u16','vorrhs.u16','vorrcc.u16','vorrlo.u16','vorrmi.u16','vorrpl.u16','vorrvs.u16','vorrvc.u16','vorrhi.u16','vorrls.u16','vorrge.u16','vorrlt.u16','vorrgt.u16','vorrle.u16', - 'vorreq.u32','vorrne.u32','vorrcs.u32','vorrhs.u32','vorrcc.u32','vorrlo.u32','vorrmi.u32','vorrpl.u32','vorrvs.u32','vorrvc.u32','vorrhi.u32','vorrls.u32','vorrge.u32','vorrlt.u32','vorrgt.u32','vorrle.u32', - 'vorreq.u64','vorrne.u64','vorrcs.u64','vorrhs.u64','vorrcc.u64','vorrlo.u64','vorrmi.u64','vorrpl.u64','vorrvs.u64','vorrvc.u64','vorrhi.u64','vorrls.u64','vorrge.u64','vorrlt.u64','vorrgt.u64','vorrle.u64', - 'vorreq.i8','vorrne.i8','vorrcs.i8','vorrhs.i8','vorrcc.i8','vorrlo.i8','vorrmi.i8','vorrpl.i8','vorrvs.i8','vorrvc.i8','vorrhi.i8','vorrls.i8','vorrge.i8','vorrlt.i8','vorrgt.i8','vorrle.i8', - 'vorreq.i16','vorrne.i16','vorrcs.i16','vorrhs.i16','vorrcc.i16','vorrlo.i16','vorrmi.i16','vorrpl.i16','vorrvs.i16','vorrvc.i16','vorrhi.i16','vorrls.i16','vorrge.i16','vorrlt.i16','vorrgt.i16','vorrle.i16', - 'vorreq.i32','vorrne.i32','vorrcs.i32','vorrhs.i32','vorrcc.i32','vorrlo.i32','vorrmi.i32','vorrpl.i32','vorrvs.i32','vorrvc.i32','vorrhi.i32','vorrls.i32','vorrge.i32','vorrlt.i32','vorrgt.i32','vorrle.i32', - 'vorreq.i64','vorrne.i64','vorrcs.i64','vorrhs.i64','vorrcc.i64','vorrlo.i64','vorrmi.i64','vorrpl.i64','vorrvs.i64','vorrvc.i64','vorrhi.i64','vorrls.i64','vorrge.i64','vorrlt.i64','vorrgt.i64','vorrle.i64', - 'vorreq.f32','vorrne.f32','vorrcs.f32','vorrhs.f32','vorrcc.f32','vorrlo.f32','vorrmi.f32','vorrpl.f32','vorrvs.f32','vorrvc.f32','vorrhi.f32','vorrls.f32','vorrge.f32','vorrlt.f32','vorrgt.f32','vorrle.f32', - 'vorreq.f64','vorrne.f64','vorrcs.f64','vorrhs.f64','vorrcc.f64','vorrlo.f64','vorrmi.f64','vorrpl.f64','vorrvs.f64','vorrvc.f64','vorrhi.f64','vorrls.f64','vorrge.f64','vorrlt.f64','vorrgt.f64','vorrle.f64', - - 'vswpeq','vswpne','vswpcs','vswphs','vswpcc','vswplo','vswpmi','vswppl','vswpvs','vswpvc','vswphi','vswpls','vswpge','vswplt','vswpgt','vswple', - 'vswpeq.s8','vswpne.s8','vswpcs.s8','vswphs.s8','vswpcc.s8','vswplo.s8','vswpmi.s8','vswppl.s8','vswpvs.s8','vswpvc.s8','vswphi.s8','vswpls.s8','vswpge.s8','vswplt.s8','vswpgt.s8','vswple.s8', - 'vswpeq.s16','vswpne.s16','vswpcs.s16','vswphs.s16','vswpcc.s16','vswplo.s16','vswpmi.s16','vswppl.s16','vswpvs.s16','vswpvc.s16','vswphi.s16','vswpls.s16','vswpge.s16','vswplt.s16','vswpgt.s16','vswple.s16', - 'vswpeq.s32','vswpne.s32','vswpcs.s32','vswphs.s32','vswpcc.s32','vswplo.s32','vswpmi.s32','vswppl.s32','vswpvs.s32','vswpvc.s32','vswphi.s32','vswpls.s32','vswpge.s32','vswplt.s32','vswpgt.s32','vswple.s32', - 'vswpeq.s64','vswpne.s64','vswpcs.s64','vswphs.s64','vswpcc.s64','vswplo.s64','vswpmi.s64','vswppl.s64','vswpvs.s64','vswpvc.s64','vswphi.s64','vswpls.s64','vswpge.s64','vswplt.s64','vswpgt.s64','vswple.s64', - 'vswpeq.u8','vswpne.u8','vswpcs.u8','vswphs.u8','vswpcc.u8','vswplo.u8','vswpmi.u8','vswppl.u8','vswpvs.u8','vswpvc.u8','vswphi.u8','vswpls.u8','vswpge.u8','vswplt.u8','vswpgt.u8','vswple.u8', - 'vswpeq.u16','vswpne.u16','vswpcs.u16','vswphs.u16','vswpcc.u16','vswplo.u16','vswpmi.u16','vswppl.u16','vswpvs.u16','vswpvc.u16','vswphi.u16','vswpls.u16','vswpge.u16','vswplt.u16','vswpgt.u16','vswple.u16', - 'vswpeq.u32','vswpne.u32','vswpcs.u32','vswphs.u32','vswpcc.u32','vswplo.u32','vswpmi.u32','vswppl.u32','vswpvs.u32','vswpvc.u32','vswphi.u32','vswpls.u32','vswpge.u32','vswplt.u32','vswpgt.u32','vswple.u32', - 'vswpeq.u64','vswpne.u64','vswpcs.u64','vswphs.u64','vswpcc.u64','vswplo.u64','vswpmi.u64','vswppl.u64','vswpvs.u64','vswpvc.u64','vswphi.u64','vswpls.u64','vswpge.u64','vswplt.u64','vswpgt.u64','vswple.u64', - 'vswpeq.i8','vswpne.i8','vswpcs.i8','vswphs.i8','vswpcc.i8','vswplo.i8','vswpmi.i8','vswppl.i8','vswpvs.i8','vswpvc.i8','vswphi.i8','vswpls.i8','vswpge.i8','vswplt.i8','vswpgt.i8','vswple.i8', - 'vswpeq.i16','vswpne.i16','vswpcs.i16','vswphs.i16','vswpcc.i16','vswplo.i16','vswpmi.i16','vswppl.i16','vswpvs.i16','vswpvc.i16','vswphi.i16','vswpls.i16','vswpge.i16','vswplt.i16','vswpgt.i16','vswple.i16', - 'vswpeq.i32','vswpne.i32','vswpcs.i32','vswphs.i32','vswpcc.i32','vswplo.i32','vswpmi.i32','vswppl.i32','vswpvs.i32','vswpvc.i32','vswphi.i32','vswpls.i32','vswpge.i32','vswplt.i32','vswpgt.i32','vswple.i32', - 'vswpeq.i64','vswpne.i64','vswpcs.i64','vswphs.i64','vswpcc.i64','vswplo.i64','vswpmi.i64','vswppl.i64','vswpvs.i64','vswpvc.i64','vswphi.i64','vswpls.i64','vswpge.i64','vswplt.i64','vswpgt.i64','vswple.i64', - 'vswpeq.f32','vswpne.f32','vswpcs.f32','vswphs.f32','vswpcc.f32','vswplo.f32','vswpmi.f32','vswppl.f32','vswpvs.f32','vswpvc.f32','vswphi.f32','vswpls.f32','vswpge.f32','vswplt.f32','vswpgt.f32','vswple.f32', - 'vswpeq.f64','vswpne.f64','vswpcs.f64','vswphs.f64','vswpcc.f64','vswplo.f64','vswpmi.f64','vswppl.f64','vswpvs.f64','vswpvc.f64','vswphi.f64','vswpls.f64','vswpge.f64','vswplt.f64','vswpgt.f64','vswple.f64' - ), - /* Conditional NEON SIMD ARM Registers Interop Instructions */ - 29 => array( - 'vmrseq','vmrsne','vmrscs','vmrshs','vmrscc','vmrslo','vmrsmi','vmrspl','vmrsvs','vmrsvc','vmrshi','vmrsls','vmrsge','vmrslt','vmrsgt','vmrsle', - 'vmsreq','vmsrne','vmsrcs','vmsrhs','vmsrcc','vmsrlo','vmsrmi','vmsrpl','vmsrvs','vmsrvc','vmsrhi','vmsrls','vmsrge','vmsrlt','vmsrgt','vmsrle' - ), - /* Conditional NEON SIMD Bit/Byte-Level Instructions */ - 30 => array( - 'vcnteq.8','vcntne.8','vcntcs.8','vcnths.8','vcntcc.8','vcntlo.8','vcntmi.8','vcntpl.8','vcntvs.8','vcntvc.8','vcnthi.8','vcntls.8','vcntge.8','vcntlt.8','vcntgt.8','vcntle.8', - 'vdupeq.8','vdupne.8','vdupcs.8','vduphs.8','vdupcc.8','vduplo.8','vdupmi.8','vduppl.8','vdupvs.8','vdupvc.8','vduphi.8','vdupls.8','vdupge.8','vduplt.8','vdupgt.8','vduple.8', - - 'vdupeq.16','vdupne.16','vdupcs.16','vduphs.16','vdupcc.16','vduplo.16','vdupmi.16','vduppl.16','vdupvs.16','vdupvc.16','vduphi.16','vdupls.16','vdupge.16','vduplt.16','vdupgt.16','vduple.16', - 'vdupeq.32','vdupne.32','vdupcs.32','vduphs.32','vdupcc.32','vduplo.32','vdupmi.32','vduppl.32','vdupvs.32','vdupvc.32','vduphi.32','vdupls.32','vdupge.32','vduplt.32','vdupgt.32','vduple.32', - - 'vexteq.8','vextne.8','vextcs.8','vexths.8','vextcc.8','vextlo.8','vextmi.8','vextpl.8','vextvs.8','vextvc.8','vexthi.8','vextls.8','vextge.8','vextlt.8','vextgt.8','vextle.8', - 'vexteq.16','vextne.16','vextcs.16','vexths.16','vextcc.16','vextlo.16','vextmi.16','vextpl.16','vextvs.16','vextvc.16','vexthi.16','vextls.16','vextge.16','vextlt.16','vextgt.16','vextle.16', - - 'vexteq.32','vextne.32','vextcs.32','vexths.32','vextcc.32','vextlo.32','vextmi.32','vextpl.32','vextvs.32','vextvc.32','vexthi.32','vextls.32','vextge.32','vextlt.32','vextgt.32','vextle.32', - 'vexteq.64','vextne.64','vextcs.64','vexths.64','vextcc.64','vextlo.64','vextmi.64','vextpl.64','vextvs.64','vextvc.64','vexthi.64','vextls.64','vextge.64','vextlt.64','vextgt.64','vextle.64', - - 'vrev16eq.8','vrev16ne.8','vrev16cs.8','vrev16hs.8','vrev16cc.8','vrev16lo.8','vrev16mi.8','vrev16pl.8','vrev16vs.8','vrev16vc.8','vrev16hi.8','vrev16ls.8','vrev16ge.8','vrev16lt.8','vrev16gt.8','vrev16le.8', - 'vrev32eq.8','vrev32ne.8','vrev32cs.8','vrev32hs.8','vrev32cc.8','vrev32lo.8','vrev32mi.8','vrev32pl.8','vrev32vs.8','vrev32vc.8','vrev32hi.8','vrev32ls.8','vrev32ge.8','vrev32lt.8','vrev32gt.8','vrev32le.8', - 'vrev32eq.16','vrev32ne.16','vrev32cs.16','vrev32hs.16','vrev32cc.16','vrev32lo.16','vrev32mi.16','vrev32pl.16','vrev32vs.16','vrev32vc.16','vrev32hi.16','vrev32ls.16','vrev32ge.16','vrev32lt.16','vrev32gt.16','vrev32le.16', - 'vrev64eq.8','vrev64ne.8','vrev64cs.8','vrev64hs.8','vrev64cc.8','vrev64lo.8','vrev64mi.8','vrev64pl.8','vrev64vs.8','vrev64vc.8','vrev64hi.8','vrev64ls.8','vrev64ge.8','vrev64lt.8','vrev64gt.8','vrev64le.8', - 'vrev64eq.16','vrev64ne.16','vrev64cs.16','vrev64hs.16','vrev64cc.16','vrev64lo.16','vrev64mi.16','vrev64pl.16','vrev64vs.16','vrev64vc.16','vrev64hi.16','vrev64ls.16','vrev64ge.16','vrev64lt.16','vrev64gt.16','vrev64le.16', - 'vrev64eq.32','vrev64ne.32','vrev64cs.32','vrev64hs.32','vrev64cc.32','vrev64lo.32','vrev64mi.32','vrev64pl.32','vrev64vs.32','vrev64vc.32','vrev64hi.32','vrev64ls.32','vrev64ge.32','vrev64lt.32','vrev64gt.32','vrev64le.32', - - 'vslieq.8','vsline.8','vslics.8','vslihs.8','vslicc.8','vslilo.8','vslimi.8','vslipl.8','vslivs.8','vslivc.8','vslihi.8','vslils.8','vslige.8','vslilt.8','vsligt.8','vslile.8', - 'vslieq.16','vsline.16','vslics.16','vslihs.16','vslicc.16','vslilo.16','vslimi.16','vslipl.16','vslivs.16','vslivc.16','vslihi.16','vslils.16','vslige.16','vslilt.16','vsligt.16','vslile.16', - 'vslieq.32','vsline.32','vslics.32','vslihs.32','vslicc.32','vslilo.32','vslimi.32','vslipl.32','vslivs.32','vslivc.32','vslihi.32','vslils.32','vslige.32','vslilt.32','vsligt.32','vslile.32', - 'vslieq.64','vsline.64','vslics.64','vslihs.64','vslicc.64','vslilo.64','vslimi.64','vslipl.64','vslivs.64','vslivc.64','vslihi.64','vslils.64','vslige.64','vslilt.64','vsligt.64','vslile.64', - - 'vsrieq.8','vsrine.8','vsrics.8','vsrihs.8','vsricc.8','vsrilo.8','vsrimi.8','vsripl.8','vsrivs.8','vsrivc.8','vsrihi.8','vsrils.8','vsrige.8','vsrilt.8','vsrigt.8','vsrile.8', - 'vsrieq.16','vsrine.16','vsrics.16','vsrihs.16','vsricc.16','vsrilo.16','vsrimi.16','vsripl.16','vsrivs.16','vsrivc.16','vsrihi.16','vsrils.16','vsrige.16','vsrilt.16','vsrigt.16','vsrile.16', - 'vsrieq.32','vsrine.32','vsrics.32','vsrihs.32','vsricc.32','vsrilo.32','vsrimi.32','vsripl.32','vsrivs.32','vsrivc.32','vsrihi.32','vsrils.32','vsrige.32','vsrilt.32','vsrigt.32','vsrile.32', - 'vsrieq.64','vsrine.64','vsrics.64','vsrihs.64','vsricc.64','vsrilo.64','vsrimi.64','vsripl.64','vsrivs.64','vsrivc.64','vsrihi.64','vsrils.64','vsrige.64','vsrilt.64','vsrigt.64','vsrile.64', - - 'vtbleq.8','vtblne.8','vtblcs.8','vtblhs.8','vtblcc.8','vtbllo.8','vtblmi.8','vtblpl.8','vtblvs.8','vtblvc.8','vtblhi.8','vtblls.8','vtblge.8','vtbllt.8','vtblgt.8','vtblle.8', - - 'vtbxeq','vtbxne','vtbxcs','vtbxhs','vtbxcc','vtbxlo','vtbxmi','vtbxpl','vtbxvs','vtbxvc','vtbxhi','vtbxls','vtbxge','vtbxlt','vtbxgt','vtbxle', - - 'vtrneq.8','vtrnne.8','vtrncs.8','vtrnhs.8','vtrncc.8','vtrnlo.8','vtrnmi.8','vtrnpl.8','vtrnvs.8','vtrnvc.8','vtrnhi.8','vtrnls.8','vtrnge.8','vtrnlt.8','vtrngt.8','vtrnle.8', - 'vtrneq.16','vtrnne.16','vtrncs.16','vtrnhs.16','vtrncc.16','vtrnlo.16','vtrnmi.16','vtrnpl.16','vtrnvs.16','vtrnvc.16','vtrnhi.16','vtrnls.16','vtrnge.16','vtrnlt.16','vtrngt.16','vtrnle.16', - 'vtrneq.32','vtrnne.32','vtrncs.32','vtrnhs.32','vtrncc.32','vtrnlo.32','vtrnmi.32','vtrnpl.32','vtrnvs.32','vtrnvc.32','vtrnhi.32','vtrnls.32','vtrnge.32','vtrnlt.32','vtrngt.32','vtrnle.32', - - 'vtsteq.8','vtstne.8','vtstcs.8','vtsths.8','vtstcc.8','vtstlo.8','vtstmi.8','vtstpl.8','vtstvs.8','vtstvc.8','vtsthi.8','vtstls.8','vtstge.8','vtstlt.8','vtstgt.8','vtstle.8', - 'vtsteq.16','vtstne.16','vtstcs.16','vtsths.16','vtstcc.16','vtstlo.16','vtstmi.16','vtstpl.16','vtstvs.16','vtstvc.16','vtsthi.16','vtstls.16','vtstge.16','vtstlt.16','vtstgt.16','vtstle.16', - 'vtsteq.32','vtstne.32','vtstcs.32','vtsths.32','vtstcc.32','vtstlo.32','vtstmi.32','vtstpl.32','vtstvs.32','vtstvc.32','vtsthi.32','vtstls.32','vtstge.32','vtstlt.32','vtstgt.32','vtstle.32', - - 'vuzpeq.8','vuzpne.8','vuzpcs.8','vuzphs.8','vuzpcc.8','vuzplo.8','vuzpmi.8','vuzppl.8','vuzpvs.8','vuzpvc.8','vuzphi.8','vuzpls.8','vuzpge.8','vuzplt.8','vuzpgt.8','vuzple.8', - 'vuzpeq.16','vuzpne.16','vuzpcs.16','vuzphs.16','vuzpcc.16','vuzplo.16','vuzpmi.16','vuzppl.16','vuzpvs.16','vuzpvc.16','vuzphi.16','vuzpls.16','vuzpge.16','vuzplt.16','vuzpgt.16','vuzple.16', - 'vuzpeq.32','vuzpne.32','vuzpcs.32','vuzphs.32','vuzpcc.32','vuzplo.32','vuzpmi.32','vuzppl.32','vuzpvs.32','vuzpvc.32','vuzphi.32','vuzpls.32','vuzpge.32','vuzplt.32','vuzpgt.32','vuzple.32', - - 'vzipeq.8','vzipne.8','vzipcs.8','vziphs.8','vzipcc.8','vziplo.8','vzipmi.8','vzippl.8','vzipvs.8','vzipvc.8','vziphi.8','vzipls.8','vzipge.8','vziplt.8','vzipgt.8','vziple.8', - 'vzipeq.16','vzipne.16','vzipcs.16','vziphs.16','vzipcc.16','vziplo.16','vzipmi.16','vzippl.16','vzipvs.16','vzipvc.16','vziphi.16','vzipls.16','vzipge.16','vziplt.16','vzipgt.16','vziple.16', - 'vzipeq.32','vzipne.32','vzipcs.32','vziphs.32','vzipcc.32','vziplo.32','vzipmi.32','vzippl.32','vzipvs.32','vzipvc.32','vziphi.32','vzipls.32','vzipge.32','vziplt.32','vzipgt.32','vziple.32', - - 'vmulleq.p8','vmullne.p8','vmullcs.p8','vmullhs.p8','vmullcc.p8','vmulllo.p8','vmullmi.p8','vmullpl.p8','vmullvs.p8','vmullvc.p8','vmullhi.p8','vmullls.p8','vmullge.p8','vmulllt.p8','vmullgt.p8','vmullle.p8' - ), - /* Conditional NEON SIMD Universal Integer Instructions */ - 31 => array( - 'vaddeq.i8','vaddne.i8','vaddcs.i8','vaddhs.i8','vaddcc.i8','vaddlo.i8','vaddmi.i8','vaddpl.i8','vaddvs.i8','vaddvc.i8','vaddhi.i8','vaddls.i8','vaddge.i8','vaddlt.i8','vaddgt.i8','vaddle.i8', - 'vaddeq.i16','vaddne.i16','vaddcs.i16','vaddhs.i16','vaddcc.i16','vaddlo.i16','vaddmi.i16','vaddpl.i16','vaddvs.i16','vaddvc.i16','vaddhi.i16','vaddls.i16','vaddge.i16','vaddlt.i16','vaddgt.i16','vaddle.i16', - 'vaddeq.i32','vaddne.i32','vaddcs.i32','vaddhs.i32','vaddcc.i32','vaddlo.i32','vaddmi.i32','vaddpl.i32','vaddvs.i32','vaddvc.i32','vaddhi.i32','vaddls.i32','vaddge.i32','vaddlt.i32','vaddgt.i32','vaddle.i32', - 'vaddeq.i64','vaddne.i64','vaddcs.i64','vaddhs.i64','vaddcc.i64','vaddlo.i64','vaddmi.i64','vaddpl.i64','vaddvs.i64','vaddvc.i64','vaddhi.i64','vaddls.i64','vaddge.i64','vaddlt.i64','vaddgt.i64','vaddle.i64', - - 'vsubeq.i8','vsubne.i8','vsubcs.i8','vsubhs.i8','vsubcc.i8','vsublo.i8','vsubmi.i8','vsubpl.i8','vsubvs.i8','vsubvc.i8','vsubhi.i8','vsubls.i8','vsubge.i8','vsublt.i8','vsubgt.i8','vsuble.i8', - 'vsubeq.i16','vsubne.i16','vsubcs.i16','vsubhs.i16','vsubcc.i16','vsublo.i16','vsubmi.i16','vsubpl.i16','vsubvs.i16','vsubvc.i16','vsubhi.i16','vsubls.i16','vsubge.i16','vsublt.i16','vsubgt.i16','vsuble.i16', - 'vsubeq.i32','vsubne.i32','vsubcs.i32','vsubhs.i32','vsubcc.i32','vsublo.i32','vsubmi.i32','vsubpl.i32','vsubvs.i32','vsubvc.i32','vsubhi.i32','vsubls.i32','vsubge.i32','vsublt.i32','vsubgt.i32','vsuble.i32', - 'vsubeq.i64','vsubne.i64','vsubcs.i64','vsubhs.i64','vsubcc.i64','vsublo.i64','vsubmi.i64','vsubpl.i64','vsubvs.i64','vsubvc.i64','vsubhi.i64','vsubls.i64','vsubge.i64','vsublt.i64','vsubgt.i64','vsuble.i64', - - 'vaddhneq.i16','vaddhnne.i16','vaddhncs.i16','vaddhnhs.i16','vaddhncc.i16','vaddhnlo.i16','vaddhnmi.i16','vaddhnpl.i16','vaddhnvs.i16','vaddhnvc.i16','vaddhnhi.i16','vaddhnls.i16','vaddhnge.i16','vaddhnlt.i16','vaddhngt.i16','vaddhnle.i16', - 'vaddhneq.i32','vaddhnne.i32','vaddhncs.i32','vaddhnhs.i32','vaddhncc.i32','vaddhnlo.i32','vaddhnmi.i32','vaddhnpl.i32','vaddhnvs.i32','vaddhnvc.i32','vaddhnhi.i32','vaddhnls.i32','vaddhnge.i32','vaddhnlt.i32','vaddhngt.i32','vaddhnle.i32', - 'vaddhneq.i64','vaddhnne.i64','vaddhncs.i64','vaddhnhs.i64','vaddhncc.i64','vaddhnlo.i64','vaddhnmi.i64','vaddhnpl.i64','vaddhnvs.i64','vaddhnvc.i64','vaddhnhi.i64','vaddhnls.i64','vaddhnge.i64','vaddhnlt.i64','vaddhngt.i64','vaddhnle.i64', - - 'vsubhneq.i16','vsubhnne.i16','vsubhncs.i16','vsubhnhs.i16','vsubhncc.i16','vsubhnlo.i16','vsubhnmi.i16','vsubhnpl.i16','vsubhnvs.i16','vsubhnvc.i16','vsubhnhi.i16','vsubhnls.i16','vsubhnge.i16','vsubhnlt.i16','vsubhngt.i16','vsubhnle.i16', - 'vsubhneq.i32','vsubhnne.i32','vsubhncs.i32','vsubhnhs.i32','vsubhncc.i32','vsubhnlo.i32','vsubhnmi.i32','vsubhnpl.i32','vsubhnvs.i32','vsubhnvc.i32','vsubhnhi.i32','vsubhnls.i32','vsubhnge.i32','vsubhnlt.i32','vsubhngt.i32','vsubhnle.i32', - 'vsubhneq.i64','vsubhnne.i64','vsubhncs.i64','vsubhnhs.i64','vsubhncc.i64','vsubhnlo.i64','vsubhnmi.i64','vsubhnpl.i64','vsubhnvs.i64','vsubhnvc.i64','vsubhnhi.i64','vsubhnls.i64','vsubhnge.i64','vsubhnlt.i64','vsubhngt.i64','vsubhnle.i64', - - 'vraddhneq.i16','vraddhnne.i16','vraddhncs.i16','vraddhnhs.i16','vraddhncc.i16','vraddhnlo.i16','vraddhnmi.i16','vraddhnpl.i16','vraddhnvs.i16','vraddhnvc.i16','vraddhnhi.i16','vraddhnls.i16','vraddhnge.i16','vraddhnlt.i16','vraddhngt.i16','vraddhnle.i16', - 'vraddhneq.i32','vraddhnne.i32','vraddhncs.i32','vraddhnhs.i32','vraddhncc.i32','vraddhnlo.i32','vraddhnmi.i32','vraddhnpl.i32','vraddhnvs.i32','vraddhnvc.i32','vraddhnhi.i32','vraddhnls.i32','vraddhnge.i32','vraddhnlt.i32','vraddhngt.i32','vraddhnle.i32', - 'vraddhneq.i64','vraddhnne.i64','vraddhncs.i64','vraddhnhs.i64','vraddhncc.i64','vraddhnlo.i64','vraddhnmi.i64','vraddhnpl.i64','vraddhnvs.i64','vraddhnvc.i64','vraddhnhi.i64','vraddhnls.i64','vraddhnge.i64','vraddhnlt.i64','vraddhngt.i64','vraddhnle.i64', - - 'vrsubhneq.i16','vrsubhnne.i16','vrsubhncs.i16','vrsubhnhs.i16','vrsubhncc.i16','vrsubhnlo.i16','vrsubhnmi.i16','vrsubhnpl.i16','vrsubhnvs.i16','vrsubhnvc.i16','vrsubhnhi.i16','vrsubhnls.i16','vrsubhnge.i16','vrsubhnlt.i16','vrsubhngt.i16','vrsubhnle.i16', - 'vrsubhneq.i32','vrsubhnne.i32','vrsubhncs.i32','vrsubhnhs.i32','vrsubhncc.i32','vrsubhnlo.i32','vrsubhnmi.i32','vrsubhnpl.i32','vrsubhnvs.i32','vrsubhnvc.i32','vrsubhnhi.i32','vrsubhnls.i32','vrsubhnge.i32','vrsubhnlt.i32','vrsubhngt.i32','vrsubhnle.i32', - 'vrsubhneq.i64','vrsubhnne.i64','vrsubhncs.i64','vrsubhnhs.i64','vrsubhncc.i64','vrsubhnlo.i64','vrsubhnmi.i64','vrsubhnpl.i64','vrsubhnvs.i64','vrsubhnvc.i64','vrsubhnhi.i64','vrsubhnls.i64','vrsubhnge.i64','vrsubhnlt.i64','vrsubhngt.i64','vrsubhnle.i64', - - 'vpaddeq.i8','vpaddne.i8','vpaddcs.i8','vpaddhs.i8','vpaddcc.i8','vpaddlo.i8','vpaddmi.i8','vpaddpl.i8','vpaddvs.i8','vpaddvc.i8','vpaddhi.i8','vpaddls.i8','vpaddge.i8','vpaddlt.i8','vpaddgt.i8','vpaddle.i8', - 'vpaddeq.i16','vpaddne.i16','vpaddcs.i16','vpaddhs.i16','vpaddcc.i16','vpaddlo.i16','vpaddmi.i16','vpaddpl.i16','vpaddvs.i16','vpaddvc.i16','vpaddhi.i16','vpaddls.i16','vpaddge.i16','vpaddlt.i16','vpaddgt.i16','vpaddle.i16', - 'vpaddeq.i32','vpaddne.i32','vpaddcs.i32','vpaddhs.i32','vpaddcc.i32','vpaddlo.i32','vpaddmi.i32','vpaddpl.i32','vpaddvs.i32','vpaddvc.i32','vpaddhi.i32','vpaddls.i32','vpaddge.i32','vpaddlt.i32','vpaddgt.i32','vpaddle.i32', - - 'vceqeq.i8','vceqne.i8','vceqcs.i8','vceqhs.i8','vceqcc.i8','vceqlo.i8','vceqmi.i8','vceqpl.i8','vceqvs.i8','vceqvc.i8','vceqhi.i8','vceqls.i8','vceqge.i8','vceqlt.i8','vceqgt.i8','vceqle.i8', - 'vceqeq.i16','vceqne.i16','vceqcs.i16','vceqhs.i16','vceqcc.i16','vceqlo.i16','vceqmi.i16','vceqpl.i16','vceqvs.i16','vceqvc.i16','vceqhi.i16','vceqls.i16','vceqge.i16','vceqlt.i16','vceqgt.i16','vceqle.i16', - 'vceqeq.i32','vceqne.i32','vceqcs.i32','vceqhs.i32','vceqcc.i32','vceqlo.i32','vceqmi.i32','vceqpl.i32','vceqvs.i32','vceqvc.i32','vceqhi.i32','vceqls.i32','vceqge.i32','vceqlt.i32','vceqgt.i32','vceqle.i32', - - 'vclzeq.i8','vclzne.i8','vclzcs.i8','vclzhs.i8','vclzcc.i8','vclzlo.i8','vclzmi.i8','vclzpl.i8','vclzvs.i8','vclzvc.i8','vclzhi.i8','vclzls.i8','vclzge.i8','vclzlt.i8','vclzgt.i8','vclzle.i8', - 'vclzeq.i16','vclzne.i16','vclzcs.i16','vclzhs.i16','vclzcc.i16','vclzlo.i16','vclzmi.i16','vclzpl.i16','vclzvs.i16','vclzvc.i16','vclzhi.i16','vclzls.i16','vclzge.i16','vclzlt.i16','vclzgt.i16','vclzle.i16', - 'vclzeq.i32','vclzne.i32','vclzcs.i32','vclzhs.i32','vclzcc.i32','vclzlo.i32','vclzmi.i32','vclzpl.i32','vclzvs.i32','vclzvc.i32','vclzhi.i32','vclzls.i32','vclzge.i32','vclzlt.i32','vclzgt.i32','vclzle.i32', - - 'vmovneq.i16','vmovnne.i16','vmovncs.i16','vmovnhs.i16','vmovncc.i16','vmovnlo.i16','vmovnmi.i16','vmovnpl.i16','vmovnvs.i16','vmovnvc.i16','vmovnhi.i16','vmovnls.i16','vmovnge.i16','vmovnlt.i16','vmovngt.i16','vmovnle.i16', - 'vmovneq.i32','vmovnne.i32','vmovncs.i32','vmovnhs.i32','vmovncc.i32','vmovnlo.i32','vmovnmi.i32','vmovnpl.i32','vmovnvs.i32','vmovnvc.i32','vmovnhi.i32','vmovnls.i32','vmovnge.i32','vmovnlt.i32','vmovngt.i32','vmovnle.i32', - 'vmovneq.i64','vmovnne.i64','vmovncs.i64','vmovnhs.i64','vmovncc.i64','vmovnlo.i64','vmovnmi.i64','vmovnpl.i64','vmovnvs.i64','vmovnvc.i64','vmovnhi.i64','vmovnls.i64','vmovnge.i64','vmovnlt.i64','vmovngt.i64','vmovnle.i64', - - 'vmlaeq.s8','vmlane.s8','vmlacs.s8','vmlahs.s8','vmlacc.s8','vmlalo.s8','vmlami.s8','vmlapl.s8','vmlavs.s8','vmlavc.s8','vmlahi.s8','vmlals.s8','vmlage.s8','vmlalt.s8','vmlagt.s8','vmlale.s8', - 'vmlaeq.s16','vmlane.s16','vmlacs.s16','vmlahs.s16','vmlacc.s16','vmlalo.s16','vmlami.s16','vmlapl.s16','vmlavs.s16','vmlavc.s16','vmlahi.s16','vmlals.s16','vmlage.s16','vmlalt.s16','vmlagt.s16','vmlale.s16', - 'vmlaeq.s32','vmlane.s32','vmlacs.s32','vmlahs.s32','vmlacc.s32','vmlalo.s32','vmlami.s32','vmlapl.s32','vmlavs.s32','vmlavc.s32','vmlahi.s32','vmlals.s32','vmlage.s32','vmlalt.s32','vmlagt.s32','vmlale.s32', - 'vmlaeq.u8','vmlane.u8','vmlacs.u8','vmlahs.u8','vmlacc.u8','vmlalo.u8','vmlami.u8','vmlapl.u8','vmlavs.u8','vmlavc.u8','vmlahi.u8','vmlals.u8','vmlage.u8','vmlalt.u8','vmlagt.u8','vmlale.u8', - 'vmlaeq.u16','vmlane.u16','vmlacs.u16','vmlahs.u16','vmlacc.u16','vmlalo.u16','vmlami.u16','vmlapl.u16','vmlavs.u16','vmlavc.u16','vmlahi.u16','vmlals.u16','vmlage.u16','vmlalt.u16','vmlagt.u16','vmlale.u16', - 'vmlaeq.u32','vmlane.u32','vmlacs.u32','vmlahs.u32','vmlacc.u32','vmlalo.u32','vmlami.u32','vmlapl.u32','vmlavs.u32','vmlavc.u32','vmlahi.u32','vmlals.u32','vmlage.u32','vmlalt.u32','vmlagt.u32','vmlale.u32', - 'vmlaeq.i8','vmlane.i8','vmlacs.i8','vmlahs.i8','vmlacc.i8','vmlalo.i8','vmlami.i8','vmlapl.i8','vmlavs.i8','vmlavc.i8','vmlahi.i8','vmlals.i8','vmlage.i8','vmlalt.i8','vmlagt.i8','vmlale.i8', - 'vmlaeq.i16','vmlane.i16','vmlacs.i16','vmlahs.i16','vmlacc.i16','vmlalo.i16','vmlami.i16','vmlapl.i16','vmlavs.i16','vmlavc.i16','vmlahi.i16','vmlals.i16','vmlage.i16','vmlalt.i16','vmlagt.i16','vmlale.i16', - 'vmlaeq.i32','vmlane.i32','vmlacs.i32','vmlahs.i32','vmlacc.i32','vmlalo.i32','vmlami.i32','vmlapl.i32','vmlavs.i32','vmlavc.i32','vmlahi.i32','vmlals.i32','vmlage.i32','vmlalt.i32','vmlagt.i32','vmlale.i32', - - 'vmlseq.s8','vmlsne.s8','vmlscs.s8','vmlshs.s8','vmlscc.s8','vmlslo.s8','vmlsmi.s8','vmlspl.s8','vmlsvs.s8','vmlsvc.s8','vmlshi.s8','vmlsls.s8','vmlsge.s8','vmlslt.s8','vmlsgt.s8','vmlsle.s8', - 'vmlseq.s16','vmlsne.s16','vmlscs.s16','vmlshs.s16','vmlscc.s16','vmlslo.s16','vmlsmi.s16','vmlspl.s16','vmlsvs.s16','vmlsvc.s16','vmlshi.s16','vmlsls.s16','vmlsge.s16','vmlslt.s16','vmlsgt.s16','vmlsle.s16', - 'vmlseq.s32','vmlsne.s32','vmlscs.s32','vmlshs.s32','vmlscc.s32','vmlslo.s32','vmlsmi.s32','vmlspl.s32','vmlsvs.s32','vmlsvc.s32','vmlshi.s32','vmlsls.s32','vmlsge.s32','vmlslt.s32','vmlsgt.s32','vmlsle.s32', - 'vmlseq.u8','vmlsne.u8','vmlscs.u8','vmlshs.u8','vmlscc.u8','vmlslo.u8','vmlsmi.u8','vmlspl.u8','vmlsvs.u8','vmlsvc.u8','vmlshi.u8','vmlsls.u8','vmlsge.u8','vmlslt.u8','vmlsgt.u8','vmlsle.u8', - 'vmlseq.u16','vmlsne.u16','vmlscs.u16','vmlshs.u16','vmlscc.u16','vmlslo.u16','vmlsmi.u16','vmlspl.u16','vmlsvs.u16','vmlsvc.u16','vmlshi.u16','vmlsls.u16','vmlsge.u16','vmlslt.u16','vmlsgt.u16','vmlsle.u16', - 'vmlseq.u32','vmlsne.u32','vmlscs.u32','vmlshs.u32','vmlscc.u32','vmlslo.u32','vmlsmi.u32','vmlspl.u32','vmlsvs.u32','vmlsvc.u32','vmlshi.u32','vmlsls.u32','vmlsge.u32','vmlslt.u32','vmlsgt.u32','vmlsle.u32', - 'vmlseq.i8','vmlsne.i8','vmlscs.i8','vmlshs.i8','vmlscc.i8','vmlslo.i8','vmlsmi.i8','vmlspl.i8','vmlsvs.i8','vmlsvc.i8','vmlshi.i8','vmlsls.i8','vmlsge.i8','vmlslt.i8','vmlsgt.i8','vmlsle.i8', - 'vmlseq.i16','vmlsne.i16','vmlscs.i16','vmlshs.i16','vmlscc.i16','vmlslo.i16','vmlsmi.i16','vmlspl.i16','vmlsvs.i16','vmlsvc.i16','vmlshi.i16','vmlsls.i16','vmlsge.i16','vmlslt.i16','vmlsgt.i16','vmlsle.i16', - 'vmlseq.i32','vmlsne.i32','vmlscs.i32','vmlshs.i32','vmlscc.i32','vmlslo.i32','vmlsmi.i32','vmlspl.i32','vmlsvs.i32','vmlsvc.i32','vmlshi.i32','vmlsls.i32','vmlsge.i32','vmlslt.i32','vmlsgt.i32','vmlsle.i32', - - 'vmuleq.s8','vmulne.s8','vmulcs.s8','vmulhs.s8','vmulcc.s8','vmullo.s8','vmulmi.s8','vmulpl.s8','vmulvs.s8','vmulvc.s8','vmulhi.s8','vmulls.s8','vmulge.s8','vmullt.s8','vmulgt.s8','vmulle.s8', - 'vmuleq.s16','vmulne.s16','vmulcs.s16','vmulhs.s16','vmulcc.s16','vmullo.s16','vmulmi.s16','vmulpl.s16','vmulvs.s16','vmulvc.s16','vmulhi.s16','vmulls.s16','vmulge.s16','vmullt.s16','vmulgt.s16','vmulle.s16', - 'vmuleq.s32','vmulne.s32','vmulcs.s32','vmulhs.s32','vmulcc.s32','vmullo.s32','vmulmi.s32','vmulpl.s32','vmulvs.s32','vmulvc.s32','vmulhi.s32','vmulls.s32','vmulge.s32','vmullt.s32','vmulgt.s32','vmulle.s32', - 'vmuleq.u8','vmulne.u8','vmulcs.u8','vmulhs.u8','vmulcc.u8','vmullo.u8','vmulmi.u8','vmulpl.u8','vmulvs.u8','vmulvc.u8','vmulhi.u8','vmulls.u8','vmulge.u8','vmullt.u8','vmulgt.u8','vmulle.u8', - 'vmuleq.u16','vmulne.u16','vmulcs.u16','vmulhs.u16','vmulcc.u16','vmullo.u16','vmulmi.u16','vmulpl.u16','vmulvs.u16','vmulvc.u16','vmulhi.u16','vmulls.u16','vmulge.u16','vmullt.u16','vmulgt.u16','vmulle.u16', - 'vmuleq.u32','vmulne.u32','vmulcs.u32','vmulhs.u32','vmulcc.u32','vmullo.u32','vmulmi.u32','vmulpl.u32','vmulvs.u32','vmulvc.u32','vmulhi.u32','vmulls.u32','vmulge.u32','vmullt.u32','vmulgt.u32','vmulle.u32', - 'vmuleq.i8','vmulne.i8','vmulcs.i8','vmulhs.i8','vmulcc.i8','vmullo.i8','vmulmi.i8','vmulpl.i8','vmulvs.i8','vmulvc.i8','vmulhi.i8','vmulls.i8','vmulge.i8','vmullt.i8','vmulgt.i8','vmulle.i8', - 'vmuleq.i16','vmulne.i16','vmulcs.i16','vmulhs.i16','vmulcc.i16','vmullo.i16','vmulmi.i16','vmulpl.i16','vmulvs.i16','vmulvc.i16','vmulhi.i16','vmulls.i16','vmulge.i16','vmullt.i16','vmulgt.i16','vmulle.i16', - 'vmuleq.i32','vmulne.i32','vmulcs.i32','vmulhs.i32','vmulcc.i32','vmullo.i32','vmulmi.i32','vmulpl.i32','vmulvs.i32','vmulvc.i32','vmulhi.i32','vmulls.i32','vmulge.i32','vmullt.i32','vmulgt.i32','vmulle.i32', - 'vmuleq.p8','vmulne.p8','vmulcs.p8','vmulhs.p8','vmulcc.p8','vmullo.p8','vmulmi.p8','vmulpl.p8','vmulvs.p8','vmulvc.p8','vmulhi.p8','vmulls.p8','vmulge.p8','vmullt.p8','vmulgt.p8','vmulle.p8', - - 'vrshrneq.i16','vrshrnne.i16','vrshrncs.i16','vrshrnhs.i16','vrshrncc.i16','vrshrnlo.i16','vrshrnmi.i16','vrshrnpl.i16','vrshrnvs.i16','vrshrnvc.i16','vrshrnhi.i16','vrshrnls.i16','vrshrnge.i16','vrshrnlt.i16','vrshrngt.i16','vrshrnle.i16', - 'vrshrneq.i32','vrshrnne.i32','vrshrncs.i32','vrshrnhs.i32','vrshrncc.i32','vrshrnlo.i32','vrshrnmi.i32','vrshrnpl.i32','vrshrnvs.i32','vrshrnvc.i32','vrshrnhi.i32','vrshrnls.i32','vrshrnge.i32','vrshrnlt.i32','vrshrngt.i32','vrshrnle.i32', - 'vrshrneq.i64','vrshrnne.i64','vrshrncs.i64','vrshrnhs.i64','vrshrncc.i64','vrshrnlo.i64','vrshrnmi.i64','vrshrnpl.i64','vrshrnvs.i64','vrshrnvc.i64','vrshrnhi.i64','vrshrnls.i64','vrshrnge.i64','vrshrnlt.i64','vrshrngt.i64','vrshrnle.i64', - - 'vshrneq.i16','vshrnne.i16','vshrncs.i16','vshrnhs.i16','vshrncc.i16','vshrnlo.i16','vshrnmi.i16','vshrnpl.i16','vshrnvs.i16','vshrnvc.i16','vshrnhi.i16','vshrnls.i16','vshrnge.i16','vshrnlt.i16','vshrngt.i16','vshrnle.i16', - 'vshrneq.i32','vshrnne.i32','vshrncs.i32','vshrnhs.i32','vshrncc.i32','vshrnlo.i32','vshrnmi.i32','vshrnpl.i32','vshrnvs.i32','vshrnvc.i32','vshrnhi.i32','vshrnls.i32','vshrnge.i32','vshrnlt.i32','vshrngt.i32','vshrnle.i32', - 'vshrneq.i64','vshrnne.i64','vshrncs.i64','vshrnhs.i64','vshrncc.i64','vshrnlo.i64','vshrnmi.i64','vshrnpl.i64','vshrnvs.i64','vshrnvc.i64','vshrnhi.i64','vshrnls.i64','vshrnge.i64','vshrnlt.i64','vshrngt.i64','vshrnle.i64', - - 'vshleq.i8','vshlne.i8','vshlcs.i8','vshlhs.i8','vshlcc.i8','vshllo.i8','vshlmi.i8','vshlpl.i8','vshlvs.i8','vshlvc.i8','vshlhi.i8','vshlls.i8','vshlge.i8','vshllt.i8','vshlgt.i8','vshlle.i8', - 'vshleq.i16','vshlne.i16','vshlcs.i16','vshlhs.i16','vshlcc.i16','vshllo.i16','vshlmi.i16','vshlpl.i16','vshlvs.i16','vshlvc.i16','vshlhi.i16','vshlls.i16','vshlge.i16','vshllt.i16','vshlgt.i16','vshlle.i16', - 'vshleq.i32','vshlne.i32','vshlcs.i32','vshlhs.i32','vshlcc.i32','vshllo.i32','vshlmi.i32','vshlpl.i32','vshlvs.i32','vshlvc.i32','vshlhi.i32','vshlls.i32','vshlge.i32','vshllt.i32','vshlgt.i32','vshlle.i32', - 'vshleq.i64','vshlne.i64','vshlcs.i64','vshlhs.i64','vshlcc.i64','vshllo.i64','vshlmi.i64','vshlpl.i64','vshlvs.i64','vshlvc.i64','vshlhi.i64','vshlls.i64','vshlge.i64','vshllt.i64','vshlgt.i64','vshlle.i64', - - 'vshlleq.i8','vshllne.i8','vshllcs.i8','vshllhs.i8','vshllcc.i8','vshlllo.i8','vshllmi.i8','vshllpl.i8','vshllvs.i8','vshllvc.i8','vshllhi.i8','vshllls.i8','vshllge.i8','vshlllt.i8','vshllgt.i8','vshllle.i8', - 'vshlleq.i16','vshllne.i16','vshllcs.i16','vshllhs.i16','vshllcc.i16','vshlllo.i16','vshllmi.i16','vshllpl.i16','vshllvs.i16','vshllvc.i16','vshllhi.i16','vshllls.i16','vshllge.i16','vshlllt.i16','vshllgt.i16','vshllle.i16', - 'vshlleq.i32','vshllne.i32','vshllcs.i32','vshllhs.i32','vshllcc.i32','vshlllo.i32','vshllmi.i32','vshllpl.i32','vshllvs.i32','vshllvc.i32','vshllhi.i32','vshllls.i32','vshllge.i32','vshlllt.i32','vshllgt.i32','vshllle.i32' - ), - /* Conditional NEON SIMD Signed Integer Instructions */ - 32 => array( - 'vabaeq.s8','vabane.s8','vabacs.s8','vabahs.s8','vabacc.s8','vabalo.s8','vabami.s8','vabapl.s8','vabavs.s8','vabavc.s8','vabahi.s8','vabals.s8','vabage.s8','vabalt.s8','vabagt.s8','vabale.s8', - 'vabaeq.s16','vabane.s16','vabacs.s16','vabahs.s16','vabacc.s16','vabalo.s16','vabami.s16','vabapl.s16','vabavs.s16','vabavc.s16','vabahi.s16','vabals.s16','vabage.s16','vabalt.s16','vabagt.s16','vabale.s16', - 'vabaeq.s32','vabane.s32','vabacs.s32','vabahs.s32','vabacc.s32','vabalo.s32','vabami.s32','vabapl.s32','vabavs.s32','vabavc.s32','vabahi.s32','vabals.s32','vabage.s32','vabalt.s32','vabagt.s32','vabale.s32', - - 'vabaleq.s8','vabalne.s8','vabalcs.s8','vabalhs.s8','vabalcc.s8','vaballo.s8','vabalmi.s8','vabalpl.s8','vabalvs.s8','vabalvc.s8','vabalhi.s8','vaballs.s8','vabalge.s8','vaballt.s8','vabalgt.s8','vaballe.s8', - 'vabaleq.s16','vabalne.s16','vabalcs.s16','vabalhs.s16','vabalcc.s16','vaballo.s16','vabalmi.s16','vabalpl.s16','vabalvs.s16','vabalvc.s16','vabalhi.s16','vaballs.s16','vabalge.s16','vaballt.s16','vabalgt.s16','vaballe.s16', - 'vabaleq.s32','vabalne.s32','vabalcs.s32','vabalhs.s32','vabalcc.s32','vaballo.s32','vabalmi.s32','vabalpl.s32','vabalvs.s32','vabalvc.s32','vabalhi.s32','vaballs.s32','vabalge.s32','vaballt.s32','vabalgt.s32','vaballe.s32', - - 'vabdeq.s8','vabdne.s8','vabdcs.s8','vabdhs.s8','vabdcc.s8','vabdlo.s8','vabdmi.s8','vabdpl.s8','vabdvs.s8','vabdvc.s8','vabdhi.s8','vabdls.s8','vabdge.s8','vabdlt.s8','vabdgt.s8','vabdle.s8', - 'vabdeq.s16','vabdne.s16','vabdcs.s16','vabdhs.s16','vabdcc.s16','vabdlo.s16','vabdmi.s16','vabdpl.s16','vabdvs.s16','vabdvc.s16','vabdhi.s16','vabdls.s16','vabdge.s16','vabdlt.s16','vabdgt.s16','vabdle.s16', - 'vabdeq.s32','vabdne.s32','vabdcs.s32','vabdhs.s32','vabdcc.s32','vabdlo.s32','vabdmi.s32','vabdpl.s32','vabdvs.s32','vabdvc.s32','vabdhi.s32','vabdls.s32','vabdge.s32','vabdlt.s32','vabdgt.s32','vabdle.s32', - - 'vabseq.s8','vabsne.s8','vabscs.s8','vabshs.s8','vabscc.s8','vabslo.s8','vabsmi.s8','vabspl.s8','vabsvs.s8','vabsvc.s8','vabshi.s8','vabsls.s8','vabsge.s8','vabslt.s8','vabsgt.s8','vabsle.s8', - 'vabseq.s16','vabsne.s16','vabscs.s16','vabshs.s16','vabscc.s16','vabslo.s16','vabsmi.s16','vabspl.s16','vabsvs.s16','vabsvc.s16','vabshi.s16','vabsls.s16','vabsge.s16','vabslt.s16','vabsgt.s16','vabsle.s16', - 'vabseq.s32','vabsne.s32','vabscs.s32','vabshs.s32','vabscc.s32','vabslo.s32','vabsmi.s32','vabspl.s32','vabsvs.s32','vabsvc.s32','vabshi.s32','vabsls.s32','vabsge.s32','vabslt.s32','vabsgt.s32','vabsle.s32', - - 'vaddleq.s8','vaddlne.s8','vaddlcs.s8','vaddlhs.s8','vaddlcc.s8','vaddllo.s8','vaddlmi.s8','vaddlpl.s8','vaddlvs.s8','vaddlvc.s8','vaddlhi.s8','vaddlls.s8','vaddlge.s8','vaddllt.s8','vaddlgt.s8','vaddlle.s8', - 'vaddleq.s16','vaddlne.s16','vaddlcs.s16','vaddlhs.s16','vaddlcc.s16','vaddllo.s16','vaddlmi.s16','vaddlpl.s16','vaddlvs.s16','vaddlvc.s16','vaddlhi.s16','vaddlls.s16','vaddlge.s16','vaddllt.s16','vaddlgt.s16','vaddlle.s16', - 'vaddleq.s32','vaddlne.s32','vaddlcs.s32','vaddlhs.s32','vaddlcc.s32','vaddllo.s32','vaddlmi.s32','vaddlpl.s32','vaddlvs.s32','vaddlvc.s32','vaddlhi.s32','vaddlls.s32','vaddlge.s32','vaddllt.s32','vaddlgt.s32','vaddlle.s32', - - 'vcgeeq.s8','vcgene.s8','vcgecs.s8','vcgehs.s8','vcgecc.s8','vcgelo.s8','vcgemi.s8','vcgepl.s8','vcgevs.s8','vcgevc.s8','vcgehi.s8','vcgels.s8','vcgege.s8','vcgelt.s8','vcgegt.s8','vcgele.s8', - 'vcgeeq.s16','vcgene.s16','vcgecs.s16','vcgehs.s16','vcgecc.s16','vcgelo.s16','vcgemi.s16','vcgepl.s16','vcgevs.s16','vcgevc.s16','vcgehi.s16','vcgels.s16','vcgege.s16','vcgelt.s16','vcgegt.s16','vcgele.s16', - 'vcgeeq.s32','vcgene.s32','vcgecs.s32','vcgehs.s32','vcgecc.s32','vcgelo.s32','vcgemi.s32','vcgepl.s32','vcgevs.s32','vcgevc.s32','vcgehi.s32','vcgels.s32','vcgege.s32','vcgelt.s32','vcgegt.s32','vcgele.s32', - - 'vcleeq.s8','vclene.s8','vclecs.s8','vclehs.s8','vclecc.s8','vclelo.s8','vclemi.s8','vclepl.s8','vclevs.s8','vclevc.s8','vclehi.s8','vclels.s8','vclege.s8','vclelt.s8','vclegt.s8','vclele.s8', - 'vcleeq.s16','vclene.s16','vclecs.s16','vclehs.s16','vclecc.s16','vclelo.s16','vclemi.s16','vclepl.s16','vclevs.s16','vclevc.s16','vclehi.s16','vclels.s16','vclege.s16','vclelt.s16','vclegt.s16','vclele.s16', - 'vcleeq.s32','vclene.s32','vclecs.s32','vclehs.s32','vclecc.s32','vclelo.s32','vclemi.s32','vclepl.s32','vclevs.s32','vclevc.s32','vclehi.s32','vclels.s32','vclege.s32','vclelt.s32','vclegt.s32','vclele.s32', - - 'vcgteq.s8','vcgtne.s8','vcgtcs.s8','vcgths.s8','vcgtcc.s8','vcgtlo.s8','vcgtmi.s8','vcgtpl.s8','vcgtvs.s8','vcgtvc.s8','vcgthi.s8','vcgtls.s8','vcgtge.s8','vcgtlt.s8','vcgtgt.s8','vcgtle.s8', - 'vcgteq.s16','vcgtne.s16','vcgtcs.s16','vcgths.s16','vcgtcc.s16','vcgtlo.s16','vcgtmi.s16','vcgtpl.s16','vcgtvs.s16','vcgtvc.s16','vcgthi.s16','vcgtls.s16','vcgtge.s16','vcgtlt.s16','vcgtgt.s16','vcgtle.s16', - 'vcgteq.s32','vcgtne.s32','vcgtcs.s32','vcgths.s32','vcgtcc.s32','vcgtlo.s32','vcgtmi.s32','vcgtpl.s32','vcgtvs.s32','vcgtvc.s32','vcgthi.s32','vcgtls.s32','vcgtge.s32','vcgtlt.s32','vcgtgt.s32','vcgtle.s32', - - 'vclteq.s8','vcltne.s8','vcltcs.s8','vclths.s8','vcltcc.s8','vcltlo.s8','vcltmi.s8','vcltpl.s8','vcltvs.s8','vcltvc.s8','vclthi.s8','vcltls.s8','vcltge.s8','vcltlt.s8','vcltgt.s8','vcltle.s8', - 'vclteq.s16','vcltne.s16','vcltcs.s16','vclths.s16','vcltcc.s16','vcltlo.s16','vcltmi.s16','vcltpl.s16','vcltvs.s16','vcltvc.s16','vclthi.s16','vcltls.s16','vcltge.s16','vcltlt.s16','vcltgt.s16','vcltle.s16', - 'vclteq.s32','vcltne.s32','vcltcs.s32','vclths.s32','vcltcc.s32','vcltlo.s32','vcltmi.s32','vcltpl.s32','vcltvs.s32','vcltvc.s32','vclthi.s32','vcltls.s32','vcltge.s32','vcltlt.s32','vcltgt.s32','vcltle.s32', - - 'vclseq.s8','vclsne.s8','vclscs.s8','vclshs.s8','vclscc.s8','vclslo.s8','vclsmi.s8','vclspl.s8','vclsvs.s8','vclsvc.s8','vclshi.s8','vclsls.s8','vclsge.s8','vclslt.s8','vclsgt.s8','vclsle.s8', - 'vclseq.s16','vclsne.s16','vclscs.s16','vclshs.s16','vclscc.s16','vclslo.s16','vclsmi.s16','vclspl.s16','vclsvs.s16','vclsvc.s16','vclshi.s16','vclsls.s16','vclsge.s16','vclslt.s16','vclsgt.s16','vclsle.s16', - 'vclseq.s32','vclsne.s32','vclscs.s32','vclshs.s32','vclscc.s32','vclslo.s32','vclsmi.s32','vclspl.s32','vclsvs.s32','vclsvc.s32','vclshi.s32','vclsls.s32','vclsge.s32','vclslt.s32','vclsgt.s32','vclsle.s32', - - 'vaddweq.s8','vaddwne.s8','vaddwcs.s8','vaddwhs.s8','vaddwcc.s8','vaddwlo.s8','vaddwmi.s8','vaddwpl.s8','vaddwvs.s8','vaddwvc.s8','vaddwhi.s8','vaddwls.s8','vaddwge.s8','vaddwlt.s8','vaddwgt.s8','vaddwle.s8', - 'vaddweq.s16','vaddwne.s16','vaddwcs.s16','vaddwhs.s16','vaddwcc.s16','vaddwlo.s16','vaddwmi.s16','vaddwpl.s16','vaddwvs.s16','vaddwvc.s16','vaddwhi.s16','vaddwls.s16','vaddwge.s16','vaddwlt.s16','vaddwgt.s16','vaddwle.s16', - 'vaddweq.s32','vaddwne.s32','vaddwcs.s32','vaddwhs.s32','vaddwcc.s32','vaddwlo.s32','vaddwmi.s32','vaddwpl.s32','vaddwvs.s32','vaddwvc.s32','vaddwhi.s32','vaddwls.s32','vaddwge.s32','vaddwlt.s32','vaddwgt.s32','vaddwle.s32', - - 'vhaddeq.s8','vhaddne.s8','vhaddcs.s8','vhaddhs.s8','vhaddcc.s8','vhaddlo.s8','vhaddmi.s8','vhaddpl.s8','vhaddvs.s8','vhaddvc.s8','vhaddhi.s8','vhaddls.s8','vhaddge.s8','vhaddlt.s8','vhaddgt.s8','vhaddle.s8', - 'vhaddeq.s16','vhaddne.s16','vhaddcs.s16','vhaddhs.s16','vhaddcc.s16','vhaddlo.s16','vhaddmi.s16','vhaddpl.s16','vhaddvs.s16','vhaddvc.s16','vhaddhi.s16','vhaddls.s16','vhaddge.s16','vhaddlt.s16','vhaddgt.s16','vhaddle.s16', - 'vhaddeq.s32','vhaddne.s32','vhaddcs.s32','vhaddhs.s32','vhaddcc.s32','vhaddlo.s32','vhaddmi.s32','vhaddpl.s32','vhaddvs.s32','vhaddvc.s32','vhaddhi.s32','vhaddls.s32','vhaddge.s32','vhaddlt.s32','vhaddgt.s32','vhaddle.s32', - - 'vhsubeq.s8','vhsubne.s8','vhsubcs.s8','vhsubhs.s8','vhsubcc.s8','vhsublo.s8','vhsubmi.s8','vhsubpl.s8','vhsubvs.s8','vhsubvc.s8','vhsubhi.s8','vhsubls.s8','vhsubge.s8','vhsublt.s8','vhsubgt.s8','vhsuble.s8', - 'vhsubeq.s16','vhsubne.s16','vhsubcs.s16','vhsubhs.s16','vhsubcc.s16','vhsublo.s16','vhsubmi.s16','vhsubpl.s16','vhsubvs.s16','vhsubvc.s16','vhsubhi.s16','vhsubls.s16','vhsubge.s16','vhsublt.s16','vhsubgt.s16','vhsuble.s16', - 'vhsubeq.s32','vhsubne.s32','vhsubcs.s32','vhsubhs.s32','vhsubcc.s32','vhsublo.s32','vhsubmi.s32','vhsubpl.s32','vhsubvs.s32','vhsubvc.s32','vhsubhi.s32','vhsubls.s32','vhsubge.s32','vhsublt.s32','vhsubgt.s32','vhsuble.s32', - - 'vmaxeq.s8','vmaxne.s8','vmaxcs.s8','vmaxhs.s8','vmaxcc.s8','vmaxlo.s8','vmaxmi.s8','vmaxpl.s8','vmaxvs.s8','vmaxvc.s8','vmaxhi.s8','vmaxls.s8','vmaxge.s8','vmaxlt.s8','vmaxgt.s8','vmaxle.s8', - 'vmaxeq.s16','vmaxne.s16','vmaxcs.s16','vmaxhs.s16','vmaxcc.s16','vmaxlo.s16','vmaxmi.s16','vmaxpl.s16','vmaxvs.s16','vmaxvc.s16','vmaxhi.s16','vmaxls.s16','vmaxge.s16','vmaxlt.s16','vmaxgt.s16','vmaxle.s16', - 'vmaxeq.s32','vmaxne.s32','vmaxcs.s32','vmaxhs.s32','vmaxcc.s32','vmaxlo.s32','vmaxmi.s32','vmaxpl.s32','vmaxvs.s32','vmaxvc.s32','vmaxhi.s32','vmaxls.s32','vmaxge.s32','vmaxlt.s32','vmaxgt.s32','vmaxle.s32', - - 'vmineq.s8','vminne.s8','vmincs.s8','vminhs.s8','vmincc.s8','vminlo.s8','vminmi.s8','vminpl.s8','vminvs.s8','vminvc.s8','vminhi.s8','vminls.s8','vminge.s8','vminlt.s8','vmingt.s8','vminle.s8', - 'vmineq.s16','vminne.s16','vmincs.s16','vminhs.s16','vmincc.s16','vminlo.s16','vminmi.s16','vminpl.s16','vminvs.s16','vminvc.s16','vminhi.s16','vminls.s16','vminge.s16','vminlt.s16','vmingt.s16','vminle.s16', - 'vmineq.s32','vminne.s32','vmincs.s32','vminhs.s32','vmincc.s32','vminlo.s32','vminmi.s32','vminpl.s32','vminvs.s32','vminvc.s32','vminhi.s32','vminls.s32','vminge.s32','vminlt.s32','vmingt.s32','vminle.s32', - - 'vmlaleq.s8','vmlalne.s8','vmlalcs.s8','vmlalhs.s8','vmlalcc.s8','vmlallo.s8','vmlalmi.s8','vmlalpl.s8','vmlalvs.s8','vmlalvc.s8','vmlalhi.s8','vmlalls.s8','vmlalge.s8','vmlallt.s8','vmlalgt.s8','vmlalle.s8', - 'vmlaleq.s16','vmlalne.s16','vmlalcs.s16','vmlalhs.s16','vmlalcc.s16','vmlallo.s16','vmlalmi.s16','vmlalpl.s16','vmlalvs.s16','vmlalvc.s16','vmlalhi.s16','vmlalls.s16','vmlalge.s16','vmlallt.s16','vmlalgt.s16','vmlalle.s16', - 'vmlaleq.s32','vmlalne.s32','vmlalcs.s32','vmlalhs.s32','vmlalcc.s32','vmlallo.s32','vmlalmi.s32','vmlalpl.s32','vmlalvs.s32','vmlalvc.s32','vmlalhi.s32','vmlalls.s32','vmlalge.s32','vmlallt.s32','vmlalgt.s32','vmlalle.s32', - - 'vmlsleq.s8','vmlslne.s8','vmlslcs.s8','vmlslhs.s8','vmlslcc.s8','vmlsllo.s8','vmlslmi.s8','vmlslpl.s8','vmlslvs.s8','vmlslvc.s8','vmlslhi.s8','vmlslls.s8','vmlslge.s8','vmlsllt.s8','vmlslgt.s8','vmlslle.s8', - 'vmlsleq.s16','vmlslne.s16','vmlslcs.s16','vmlslhs.s16','vmlslcc.s16','vmlsllo.s16','vmlslmi.s16','vmlslpl.s16','vmlslvs.s16','vmlslvc.s16','vmlslhi.s16','vmlslls.s16','vmlslge.s16','vmlsllt.s16','vmlslgt.s16','vmlslle.s16', - 'vmlsleq.s32','vmlslne.s32','vmlslcs.s32','vmlslhs.s32','vmlslcc.s32','vmlsllo.s32','vmlslmi.s32','vmlslpl.s32','vmlslvs.s32','vmlslvc.s32','vmlslhi.s32','vmlslls.s32','vmlslge.s32','vmlsllt.s32','vmlslgt.s32','vmlslle.s32', - - 'vnegeq.s8','vnegne.s8','vnegcs.s8','vneghs.s8','vnegcc.s8','vneglo.s8','vnegmi.s8','vnegpl.s8','vnegvs.s8','vnegvc.s8','vneghi.s8','vnegls.s8','vnegge.s8','vneglt.s8','vneggt.s8','vnegle.s8', - 'vnegeq.s16','vnegne.s16','vnegcs.s16','vneghs.s16','vnegcc.s16','vneglo.s16','vnegmi.s16','vnegpl.s16','vnegvs.s16','vnegvc.s16','vneghi.s16','vnegls.s16','vnegge.s16','vneglt.s16','vneggt.s16','vnegle.s16', - 'vnegeq.s32','vnegne.s32','vnegcs.s32','vneghs.s32','vnegcc.s32','vneglo.s32','vnegmi.s32','vnegpl.s32','vnegvs.s32','vnegvc.s32','vneghi.s32','vnegls.s32','vnegge.s32','vneglt.s32','vneggt.s32','vnegle.s32', - - 'vpadaleq.s8','vpadalne.s8','vpadalcs.s8','vpadalhs.s8','vpadalcc.s8','vpadallo.s8','vpadalmi.s8','vpadalpl.s8','vpadalvs.s8','vpadalvc.s8','vpadalhi.s8','vpadalls.s8','vpadalge.s8','vpadallt.s8','vpadalgt.s8','vpadalle.s8', - 'vpadaleq.s16','vpadalne.s16','vpadalcs.s16','vpadalhs.s16','vpadalcc.s16','vpadallo.s16','vpadalmi.s16','vpadalpl.s16','vpadalvs.s16','vpadalvc.s16','vpadalhi.s16','vpadalls.s16','vpadalge.s16','vpadallt.s16','vpadalgt.s16','vpadalle.s16', - 'vpadaleq.s32','vpadalne.s32','vpadalcs.s32','vpadalhs.s32','vpadalcc.s32','vpadallo.s32','vpadalmi.s32','vpadalpl.s32','vpadalvs.s32','vpadalvc.s32','vpadalhi.s32','vpadalls.s32','vpadalge.s32','vpadallt.s32','vpadalgt.s32','vpadalle.s32', - - 'vmovleq.s8','vmovlne.s8','vmovlcs.s8','vmovlhs.s8','vmovlcc.s8','vmovllo.s8','vmovlmi.s8','vmovlpl.s8','vmovlvs.s8','vmovlvc.s8','vmovlhi.s8','vmovlls.s8','vmovlge.s8','vmovllt.s8','vmovlgt.s8','vmovlle.s8', - 'vmovleq.s16','vmovlne.s16','vmovlcs.s16','vmovlhs.s16','vmovlcc.s16','vmovllo.s16','vmovlmi.s16','vmovlpl.s16','vmovlvs.s16','vmovlvc.s16','vmovlhi.s16','vmovlls.s16','vmovlge.s16','vmovllt.s16','vmovlgt.s16','vmovlle.s16', - 'vmovleq.s32','vmovlne.s32','vmovlcs.s32','vmovlhs.s32','vmovlcc.s32','vmovllo.s32','vmovlmi.s32','vmovlpl.s32','vmovlvs.s32','vmovlvc.s32','vmovlhi.s32','vmovlls.s32','vmovlge.s32','vmovllt.s32','vmovlgt.s32','vmovlle.s32', - - 'vmulleq.s8','vmullne.s8','vmullcs.s8','vmullhs.s8','vmullcc.s8','vmulllo.s8','vmullmi.s8','vmullpl.s8','vmullvs.s8','vmullvc.s8','vmullhi.s8','vmullls.s8','vmullge.s8','vmulllt.s8','vmullgt.s8','vmullle.s8', - 'vmulleq.s16','vmullne.s16','vmullcs.s16','vmullhs.s16','vmullcc.s16','vmulllo.s16','vmullmi.s16','vmullpl.s16','vmullvs.s16','vmullvc.s16','vmullhi.s16','vmullls.s16','vmullge.s16','vmulllt.s16','vmullgt.s16','vmullle.s16', - 'vmulleq.s32','vmullne.s32','vmullcs.s32','vmullhs.s32','vmullcc.s32','vmulllo.s32','vmullmi.s32','vmullpl.s32','vmullvs.s32','vmullvc.s32','vmullhi.s32','vmullls.s32','vmullge.s32','vmulllt.s32','vmullgt.s32','vmullle.s32', - - 'vpaddleq.s8','vpaddlne.s8','vpaddlcs.s8','vpaddlhs.s8','vpaddlcc.s8','vpaddllo.s8','vpaddlmi.s8','vpaddlpl.s8','vpaddlvs.s8','vpaddlvc.s8','vpaddlhi.s8','vpaddlls.s8','vpaddlge.s8','vpaddllt.s8','vpaddlgt.s8','vpaddlle.s8', - 'vpaddleq.s16','vpaddlne.s16','vpaddlcs.s16','vpaddlhs.s16','vpaddlcc.s16','vpaddllo.s16','vpaddlmi.s16','vpaddlpl.s16','vpaddlvs.s16','vpaddlvc.s16','vpaddlhi.s16','vpaddlls.s16','vpaddlge.s16','vpaddllt.s16','vpaddlgt.s16','vpaddlle.s16', - 'vpaddleq.s32','vpaddlne.s32','vpaddlcs.s32','vpaddlhs.s32','vpaddlcc.s32','vpaddllo.s32','vpaddlmi.s32','vpaddlpl.s32','vpaddlvs.s32','vpaddlvc.s32','vpaddlhi.s32','vpaddlls.s32','vpaddlge.s32','vpaddllt.s32','vpaddlgt.s32','vpaddlle.s32', - - 'vpmaxeq.s8','vpmaxne.s8','vpmaxcs.s8','vpmaxhs.s8','vpmaxcc.s8','vpmaxlo.s8','vpmaxmi.s8','vpmaxpl.s8','vpmaxvs.s8','vpmaxvc.s8','vpmaxhi.s8','vpmaxls.s8','vpmaxge.s8','vpmaxlt.s8','vpmaxgt.s8','vpmaxle.s8', - 'vpmaxeq.s16','vpmaxne.s16','vpmaxcs.s16','vpmaxhs.s16','vpmaxcc.s16','vpmaxlo.s16','vpmaxmi.s16','vpmaxpl.s16','vpmaxvs.s16','vpmaxvc.s16','vpmaxhi.s16','vpmaxls.s16','vpmaxge.s16','vpmaxlt.s16','vpmaxgt.s16','vpmaxle.s16', - 'vpmaxeq.s32','vpmaxne.s32','vpmaxcs.s32','vpmaxhs.s32','vpmaxcc.s32','vpmaxlo.s32','vpmaxmi.s32','vpmaxpl.s32','vpmaxvs.s32','vpmaxvc.s32','vpmaxhi.s32','vpmaxls.s32','vpmaxge.s32','vpmaxlt.s32','vpmaxgt.s32','vpmaxle.s32', - - 'vpmineq.s8','vpminne.s8','vpmincs.s8','vpminhs.s8','vpmincc.s8','vpminlo.s8','vpminmi.s8','vpminpl.s8','vpminvs.s8','vpminvc.s8','vpminhi.s8','vpminls.s8','vpminge.s8','vpminlt.s8','vpmingt.s8','vpminle.s8', - 'vpmineq.s16','vpminne.s16','vpmincs.s16','vpminhs.s16','vpmincc.s16','vpminlo.s16','vpminmi.s16','vpminpl.s16','vpminvs.s16','vpminvc.s16','vpminhi.s16','vpminls.s16','vpminge.s16','vpminlt.s16','vpmingt.s16','vpminle.s16', - 'vpmineq.s32','vpminne.s32','vpmincs.s32','vpminhs.s32','vpmincc.s32','vpminlo.s32','vpminmi.s32','vpminpl.s32','vpminvs.s32','vpminvc.s32','vpminhi.s32','vpminls.s32','vpminge.s32','vpminlt.s32','vpmingt.s32','vpminle.s32', - - 'vqabseq.s8','vqabsne.s8','vqabscs.s8','vqabshs.s8','vqabscc.s8','vqabslo.s8','vqabsmi.s8','vqabspl.s8','vqabsvs.s8','vqabsvc.s8','vqabshi.s8','vqabsls.s8','vqabsge.s8','vqabslt.s8','vqabsgt.s8','vqabsle.s8', - 'vqabseq.s16','vqabsne.s16','vqabscs.s16','vqabshs.s16','vqabscc.s16','vqabslo.s16','vqabsmi.s16','vqabspl.s16','vqabsvs.s16','vqabsvc.s16','vqabshi.s16','vqabsls.s16','vqabsge.s16','vqabslt.s16','vqabsgt.s16','vqabsle.s16', - 'vqabseq.s32','vqabsne.s32','vqabscs.s32','vqabshs.s32','vqabscc.s32','vqabslo.s32','vqabsmi.s32','vqabspl.s32','vqabsvs.s32','vqabsvc.s32','vqabshi.s32','vqabsls.s32','vqabsge.s32','vqabslt.s32','vqabsgt.s32','vqabsle.s32', - - 'vqaddeq.s8','vqaddne.s8','vqaddcs.s8','vqaddhs.s8','vqaddcc.s8','vqaddlo.s8','vqaddmi.s8','vqaddpl.s8','vqaddvs.s8','vqaddvc.s8','vqaddhi.s8','vqaddls.s8','vqaddge.s8','vqaddlt.s8','vqaddgt.s8','vqaddle.s8', - 'vqaddeq.s16','vqaddne.s16','vqaddcs.s16','vqaddhs.s16','vqaddcc.s16','vqaddlo.s16','vqaddmi.s16','vqaddpl.s16','vqaddvs.s16','vqaddvc.s16','vqaddhi.s16','vqaddls.s16','vqaddge.s16','vqaddlt.s16','vqaddgt.s16','vqaddle.s16', - 'vqaddeq.s32','vqaddne.s32','vqaddcs.s32','vqaddhs.s32','vqaddcc.s32','vqaddlo.s32','vqaddmi.s32','vqaddpl.s32','vqaddvs.s32','vqaddvc.s32','vqaddhi.s32','vqaddls.s32','vqaddge.s32','vqaddlt.s32','vqaddgt.s32','vqaddle.s32', - 'vqaddeq.s64','vqaddne.s64','vqaddcs.s64','vqaddhs.s64','vqaddcc.s64','vqaddlo.s64','vqaddmi.s64','vqaddpl.s64','vqaddvs.s64','vqaddvc.s64','vqaddhi.s64','vqaddls.s64','vqaddge.s64','vqaddlt.s64','vqaddgt.s64','vqaddle.s64', - - 'vqdmlaleq.s16','vqdmlalne.s16','vqdmlalcs.s16','vqdmlalhs.s16','vqdmlalcc.s16','vqdmlallo.s16','vqdmlalmi.s16','vqdmlalpl.s16','vqdmlalvs.s16','vqdmlalvc.s16','vqdmlalhi.s16','vqdmlalls.s16','vqdmlalge.s16','vqdmlallt.s16','vqdmlalgt.s16','vqdmlalle.s16', - 'vqdmlaleq.s32','vqdmlalne.s32','vqdmlalcs.s32','vqdmlalhs.s32','vqdmlalcc.s32','vqdmlallo.s32','vqdmlalmi.s32','vqdmlalpl.s32','vqdmlalvs.s32','vqdmlalvc.s32','vqdmlalhi.s32','vqdmlalls.s32','vqdmlalge.s32','vqdmlallt.s32','vqdmlalgt.s32','vqdmlalle.s32', - - 'vqdmlsleq.s16','vqdmlslne.s16','vqdmlslcs.s16','vqdmlslhs.s16','vqdmlslcc.s16','vqdmlsllo.s16','vqdmlslmi.s16','vqdmlslpl.s16','vqdmlslvs.s16','vqdmlslvc.s16','vqdmlslhi.s16','vqdmlslls.s16','vqdmlslge.s16','vqdmlsllt.s16','vqdmlslgt.s16','vqdmlslle.s16', - 'vqdmlsleq.s32','vqdmlslne.s32','vqdmlslcs.s32','vqdmlslhs.s32','vqdmlslcc.s32','vqdmlsllo.s32','vqdmlslmi.s32','vqdmlslpl.s32','vqdmlslvs.s32','vqdmlslvc.s32','vqdmlslhi.s32','vqdmlslls.s32','vqdmlslge.s32','vqdmlsllt.s32','vqdmlslgt.s32','vqdmlslle.s32', - - 'vqdmulheq.s16','vqdmulhne.s16','vqdmulhcs.s16','vqdmulhhs.s16','vqdmulhcc.s16','vqdmulhlo.s16','vqdmulhmi.s16','vqdmulhpl.s16','vqdmulhvs.s16','vqdmulhvc.s16','vqdmulhhi.s16','vqdmulhls.s16','vqdmulhge.s16','vqdmulhlt.s16','vqdmulhgt.s16','vqdmulhle.s16', - 'vqdmulheq.s32','vqdmulhne.s32','vqdmulhcs.s32','vqdmulhhs.s32','vqdmulhcc.s32','vqdmulhlo.s32','vqdmulhmi.s32','vqdmulhpl.s32','vqdmulhvs.s32','vqdmulhvc.s32','vqdmulhhi.s32','vqdmulhls.s32','vqdmulhge.s32','vqdmulhlt.s32','vqdmulhgt.s32','vqdmulhle.s32', - - 'vqdmulleq.s16','vqdmullne.s16','vqdmullcs.s16','vqdmullhs.s16','vqdmullcc.s16','vqdmulllo.s16','vqdmullmi.s16','vqdmullpl.s16','vqdmullvs.s16','vqdmullvc.s16','vqdmullhi.s16','vqdmullls.s16','vqdmullge.s16','vqdmulllt.s16','vqdmullgt.s16','vqdmullle.s16', - 'vqdmulleq.s32','vqdmullne.s32','vqdmullcs.s32','vqdmullhs.s32','vqdmullcc.s32','vqdmulllo.s32','vqdmullmi.s32','vqdmullpl.s32','vqdmullvs.s32','vqdmullvc.s32','vqdmullhi.s32','vqdmullls.s32','vqdmullge.s32','vqdmulllt.s32','vqdmullgt.s32','vqdmullle.s32', - - 'vqmovneq.s16','vqmovnne.s16','vqmovncs.s16','vqmovnhs.s16','vqmovncc.s16','vqmovnlo.s16','vqmovnmi.s16','vqmovnpl.s16','vqmovnvs.s16','vqmovnvc.s16','vqmovnhi.s16','vqmovnls.s16','vqmovnge.s16','vqmovnlt.s16','vqmovngt.s16','vqmovnle.s16', - 'vqmovneq.s32','vqmovnne.s32','vqmovncs.s32','vqmovnhs.s32','vqmovncc.s32','vqmovnlo.s32','vqmovnmi.s32','vqmovnpl.s32','vqmovnvs.s32','vqmovnvc.s32','vqmovnhi.s32','vqmovnls.s32','vqmovnge.s32','vqmovnlt.s32','vqmovngt.s32','vqmovnle.s32', - 'vqmovneq.s64','vqmovnne.s64','vqmovncs.s64','vqmovnhs.s64','vqmovncc.s64','vqmovnlo.s64','vqmovnmi.s64','vqmovnpl.s64','vqmovnvs.s64','vqmovnvc.s64','vqmovnhi.s64','vqmovnls.s64','vqmovnge.s64','vqmovnlt.s64','vqmovngt.s64','vqmovnle.s64', - - 'vqmovuneq.s16','vqmovunne.s16','vqmovuncs.s16','vqmovunhs.s16','vqmovuncc.s16','vqmovunlo.s16','vqmovunmi.s16','vqmovunpl.s16','vqmovunvs.s16','vqmovunvc.s16','vqmovunhi.s16','vqmovunls.s16','vqmovunge.s16','vqmovunlt.s16','vqmovungt.s16','vqmovunle.s16', - 'vqmovuneq.s32','vqmovunne.s32','vqmovuncs.s32','vqmovunhs.s32','vqmovuncc.s32','vqmovunlo.s32','vqmovunmi.s32','vqmovunpl.s32','vqmovunvs.s32','vqmovunvc.s32','vqmovunhi.s32','vqmovunls.s32','vqmovunge.s32','vqmovunlt.s32','vqmovungt.s32','vqmovunle.s32', - 'vqmovuneq.s64','vqmovunne.s64','vqmovuncs.s64','vqmovunhs.s64','vqmovuncc.s64','vqmovunlo.s64','vqmovunmi.s64','vqmovunpl.s64','vqmovunvs.s64','vqmovunvc.s64','vqmovunhi.s64','vqmovunls.s64','vqmovunge.s64','vqmovunlt.s64','vqmovungt.s64','vqmovunle.s64', - - 'vqnegeq.s8','vqnegne.s8','vqnegcs.s8','vqneghs.s8','vqnegcc.s8','vqneglo.s8','vqnegmi.s8','vqnegpl.s8','vqnegvs.s8','vqnegvc.s8','vqneghi.s8','vqnegls.s8','vqnegge.s8','vqneglt.s8','vqneggt.s8','vqnegle.s8', - 'vqnegeq.s16','vqnegne.s16','vqnegcs.s16','vqneghs.s16','vqnegcc.s16','vqneglo.s16','vqnegmi.s16','vqnegpl.s16','vqnegvs.s16','vqnegvc.s16','vqneghi.s16','vqnegls.s16','vqnegge.s16','vqneglt.s16','vqneggt.s16','vqnegle.s16', - 'vqnegeq.s32','vqnegne.s32','vqnegcs.s32','vqneghs.s32','vqnegcc.s32','vqneglo.s32','vqnegmi.s32','vqnegpl.s32','vqnegvs.s32','vqnegvc.s32','vqneghi.s32','vqnegls.s32','vqnegge.s32','vqneglt.s32','vqneggt.s32','vqnegle.s32', - - 'vqrdmulheq.s16','vqrdmulhne.s16','vqrdmulhcs.s16','vqrdmulhhs.s16','vqrdmulhcc.s16','vqrdmulhlo.s16','vqrdmulhmi.s16','vqrdmulhpl.s16','vqrdmulhvs.s16','vqrdmulhvc.s16','vqrdmulhhi.s16','vqrdmulhls.s16','vqrdmulhge.s16','vqrdmulhlt.s16','vqrdmulhgt.s16','vqrdmulhle.s16', - 'vqrdmulheq.s32','vqrdmulhne.s32','vqrdmulhcs.s32','vqrdmulhhs.s32','vqrdmulhcc.s32','vqrdmulhlo.s32','vqrdmulhmi.s32','vqrdmulhpl.s32','vqrdmulhvs.s32','vqrdmulhvc.s32','vqrdmulhhi.s32','vqrdmulhls.s32','vqrdmulhge.s32','vqrdmulhlt.s32','vqrdmulhgt.s32','vqrdmulhle.s32', - - 'vqrshleq.s8','vqrshlne.s8','vqrshlcs.s8','vqrshlhs.s8','vqrshlcc.s8','vqrshllo.s8','vqrshlmi.s8','vqrshlpl.s8','vqrshlvs.s8','vqrshlvc.s8','vqrshlhi.s8','vqrshlls.s8','vqrshlge.s8','vqrshllt.s8','vqrshlgt.s8','vqrshlle.s8', - 'vqrshleq.s16','vqrshlne.s16','vqrshlcs.s16','vqrshlhs.s16','vqrshlcc.s16','vqrshllo.s16','vqrshlmi.s16','vqrshlpl.s16','vqrshlvs.s16','vqrshlvc.s16','vqrshlhi.s16','vqrshlls.s16','vqrshlge.s16','vqrshllt.s16','vqrshlgt.s16','vqrshlle.s16', - 'vqrshleq.s32','vqrshlne.s32','vqrshlcs.s32','vqrshlhs.s32','vqrshlcc.s32','vqrshllo.s32','vqrshlmi.s32','vqrshlpl.s32','vqrshlvs.s32','vqrshlvc.s32','vqrshlhi.s32','vqrshlls.s32','vqrshlge.s32','vqrshllt.s32','vqrshlgt.s32','vqrshlle.s32', - 'vqrshleq.s64','vqrshlne.s64','vqrshlcs.s64','vqrshlhs.s64','vqrshlcc.s64','vqrshllo.s64','vqrshlmi.s64','vqrshlpl.s64','vqrshlvs.s64','vqrshlvc.s64','vqrshlhi.s64','vqrshlls.s64','vqrshlge.s64','vqrshllt.s64','vqrshlgt.s64','vqrshlle.s64', - - 'vqrshrneq.s16','vqrshrnne.s16','vqrshrncs.s16','vqrshrnhs.s16','vqrshrncc.s16','vqrshrnlo.s16','vqrshrnmi.s16','vqrshrnpl.s16','vqrshrnvs.s16','vqrshrnvc.s16','vqrshrnhi.s16','vqrshrnls.s16','vqrshrnge.s16','vqrshrnlt.s16','vqrshrngt.s16','vqrshrnle.s16', - 'vqrshrneq.s32','vqrshrnne.s32','vqrshrncs.s32','vqrshrnhs.s32','vqrshrncc.s32','vqrshrnlo.s32','vqrshrnmi.s32','vqrshrnpl.s32','vqrshrnvs.s32','vqrshrnvc.s32','vqrshrnhi.s32','vqrshrnls.s32','vqrshrnge.s32','vqrshrnlt.s32','vqrshrngt.s32','vqrshrnle.s32', - 'vqrshrneq.s64','vqrshrnne.s64','vqrshrncs.s64','vqrshrnhs.s64','vqrshrncc.s64','vqrshrnlo.s64','vqrshrnmi.s64','vqrshrnpl.s64','vqrshrnvs.s64','vqrshrnvc.s64','vqrshrnhi.s64','vqrshrnls.s64','vqrshrnge.s64','vqrshrnlt.s64','vqrshrngt.s64','vqrshrnle.s64', - - 'vqrshruneq.s16','vqrshrunne.s16','vqrshruncs.s16','vqrshrunhs.s16','vqrshruncc.s16','vqrshrunlo.s16','vqrshrunmi.s16','vqrshrunpl.s16','vqrshrunvs.s16','vqrshrunvc.s16','vqrshrunhi.s16','vqrshrunls.s16','vqrshrunge.s16','vqrshrunlt.s16','vqrshrungt.s16','vqrshrunle.s16', - 'vqrshruneq.s32','vqrshrunne.s32','vqrshruncs.s32','vqrshrunhs.s32','vqrshruncc.s32','vqrshrunlo.s32','vqrshrunmi.s32','vqrshrunpl.s32','vqrshrunvs.s32','vqrshrunvc.s32','vqrshrunhi.s32','vqrshrunls.s32','vqrshrunge.s32','vqrshrunlt.s32','vqrshrungt.s32','vqrshrunle.s32', - 'vqrshruneq.s64','vqrshrunne.s64','vqrshruncs.s64','vqrshrunhs.s64','vqrshruncc.s64','vqrshrunlo.s64','vqrshrunmi.s64','vqrshrunpl.s64','vqrshrunvs.s64','vqrshrunvc.s64','vqrshrunhi.s64','vqrshrunls.s64','vqrshrunge.s64','vqrshrunlt.s64','vqrshrungt.s64','vqrshrunle.s64', - - 'vqshleq.s8','vqshlne.s8','vqshlcs.s8','vqshlhs.s8','vqshlcc.s8','vqshllo.s8','vqshlmi.s8','vqshlpl.s8','vqshlvs.s8','vqshlvc.s8','vqshlhi.s8','vqshlls.s8','vqshlge.s8','vqshllt.s8','vqshlgt.s8','vqshlle.s8', - 'vqshleq.s16','vqshlne.s16','vqshlcs.s16','vqshlhs.s16','vqshlcc.s16','vqshllo.s16','vqshlmi.s16','vqshlpl.s16','vqshlvs.s16','vqshlvc.s16','vqshlhi.s16','vqshlls.s16','vqshlge.s16','vqshllt.s16','vqshlgt.s16','vqshlle.s16', - 'vqshleq.s32','vqshlne.s32','vqshlcs.s32','vqshlhs.s32','vqshlcc.s32','vqshllo.s32','vqshlmi.s32','vqshlpl.s32','vqshlvs.s32','vqshlvc.s32','vqshlhi.s32','vqshlls.s32','vqshlge.s32','vqshllt.s32','vqshlgt.s32','vqshlle.s32', - 'vqshleq.s64','vqshlne.s64','vqshlcs.s64','vqshlhs.s64','vqshlcc.s64','vqshllo.s64','vqshlmi.s64','vqshlpl.s64','vqshlvs.s64','vqshlvc.s64','vqshlhi.s64','vqshlls.s64','vqshlge.s64','vqshllt.s64','vqshlgt.s64','vqshlle.s64', - - 'vqshlueq.s8','vqshlune.s8','vqshlucs.s8','vqshluhs.s8','vqshlucc.s8','vqshlulo.s8','vqshlumi.s8','vqshlupl.s8','vqshluvs.s8','vqshluvc.s8','vqshluhi.s8','vqshluls.s8','vqshluge.s8','vqshlult.s8','vqshlugt.s8','vqshlule.s8', - 'vqshlueq.s16','vqshlune.s16','vqshlucs.s16','vqshluhs.s16','vqshlucc.s16','vqshlulo.s16','vqshlumi.s16','vqshlupl.s16','vqshluvs.s16','vqshluvc.s16','vqshluhi.s16','vqshluls.s16','vqshluge.s16','vqshlult.s16','vqshlugt.s16','vqshlule.s16', - 'vqshlueq.s32','vqshlune.s32','vqshlucs.s32','vqshluhs.s32','vqshlucc.s32','vqshlulo.s32','vqshlumi.s32','vqshlupl.s32','vqshluvs.s32','vqshluvc.s32','vqshluhi.s32','vqshluls.s32','vqshluge.s32','vqshlult.s32','vqshlugt.s32','vqshlule.s32', - 'vqshlueq.s64','vqshlune.s64','vqshlucs.s64','vqshluhs.s64','vqshlucc.s64','vqshlulo.s64','vqshlumi.s64','vqshlupl.s64','vqshluvs.s64','vqshluvc.s64','vqshluhi.s64','vqshluls.s64','vqshluge.s64','vqshlult.s64','vqshlugt.s64','vqshlule.s64', - - 'vqshrneq.s16','vqshrnne.s16','vqshrncs.s16','vqshrnhs.s16','vqshrncc.s16','vqshrnlo.s16','vqshrnmi.s16','vqshrnpl.s16','vqshrnvs.s16','vqshrnvc.s16','vqshrnhi.s16','vqshrnls.s16','vqshrnge.s16','vqshrnlt.s16','vqshrngt.s16','vqshrnle.s16', - 'vqshrneq.s32','vqshrnne.s32','vqshrncs.s32','vqshrnhs.s32','vqshrncc.s32','vqshrnlo.s32','vqshrnmi.s32','vqshrnpl.s32','vqshrnvs.s32','vqshrnvc.s32','vqshrnhi.s32','vqshrnls.s32','vqshrnge.s32','vqshrnlt.s32','vqshrngt.s32','vqshrnle.s32', - 'vqshrneq.s64','vqshrnne.s64','vqshrncs.s64','vqshrnhs.s64','vqshrncc.s64','vqshrnlo.s64','vqshrnmi.s64','vqshrnpl.s64','vqshrnvs.s64','vqshrnvc.s64','vqshrnhi.s64','vqshrnls.s64','vqshrnge.s64','vqshrnlt.s64','vqshrngt.s64','vqshrnle.s64', - - 'vqshruneq.s16','vqshrunne.s16','vqshruncs.s16','vqshrunhs.s16','vqshruncc.s16','vqshrunlo.s16','vqshrunmi.s16','vqshrunpl.s16','vqshrunvs.s16','vqshrunvc.s16','vqshrunhi.s16','vqshrunls.s16','vqshrunge.s16','vqshrunlt.s16','vqshrungt.s16','vqshrunle.s16', - 'vqshruneq.s32','vqshrunne.s32','vqshruncs.s32','vqshrunhs.s32','vqshruncc.s32','vqshrunlo.s32','vqshrunmi.s32','vqshrunpl.s32','vqshrunvs.s32','vqshrunvc.s32','vqshrunhi.s32','vqshrunls.s32','vqshrunge.s32','vqshrunlt.s32','vqshrungt.s32','vqshrunle.s32', - 'vqshruneq.s64','vqshrunne.s64','vqshruncs.s64','vqshrunhs.s64','vqshruncc.s64','vqshrunlo.s64','vqshrunmi.s64','vqshrunpl.s64','vqshrunvs.s64','vqshrunvc.s64','vqshrunhi.s64','vqshrunls.s64','vqshrunge.s64','vqshrunlt.s64','vqshrungt.s64','vqshrunle.s64', - - 'vqsubeq.s8','vqsubne.s8','vqsubcs.s8','vqsubhs.s8','vqsubcc.s8','vqsublo.s8','vqsubmi.s8','vqsubpl.s8','vqsubvs.s8','vqsubvc.s8','vqsubhi.s8','vqsubls.s8','vqsubge.s8','vqsublt.s8','vqsubgt.s8','vqsuble.s8', - 'vqsubeq.s16','vqsubne.s16','vqsubcs.s16','vqsubhs.s16','vqsubcc.s16','vqsublo.s16','vqsubmi.s16','vqsubpl.s16','vqsubvs.s16','vqsubvc.s16','vqsubhi.s16','vqsubls.s16','vqsubge.s16','vqsublt.s16','vqsubgt.s16','vqsuble.s16', - 'vqsubeq.s32','vqsubne.s32','vqsubcs.s32','vqsubhs.s32','vqsubcc.s32','vqsublo.s32','vqsubmi.s32','vqsubpl.s32','vqsubvs.s32','vqsubvc.s32','vqsubhi.s32','vqsubls.s32','vqsubge.s32','vqsublt.s32','vqsubgt.s32','vqsuble.s32', - 'vqsubeq.s64','vqsubne.s64','vqsubcs.s64','vqsubhs.s64','vqsubcc.s64','vqsublo.s64','vqsubmi.s64','vqsubpl.s64','vqsubvs.s64','vqsubvc.s64','vqsubhi.s64','vqsubls.s64','vqsubge.s64','vqsublt.s64','vqsubgt.s64','vqsuble.s64', - - 'vrhaddeq.s8','vrhaddne.s8','vrhaddcs.s8','vrhaddhs.s8','vrhaddcc.s8','vrhaddlo.s8','vrhaddmi.s8','vrhaddpl.s8','vrhaddvs.s8','vrhaddvc.s8','vrhaddhi.s8','vrhaddls.s8','vrhaddge.s8','vrhaddlt.s8','vrhaddgt.s8','vrhaddle.s8', - 'vrhaddeq.s16','vrhaddne.s16','vrhaddcs.s16','vrhaddhs.s16','vrhaddcc.s16','vrhaddlo.s16','vrhaddmi.s16','vrhaddpl.s16','vrhaddvs.s16','vrhaddvc.s16','vrhaddhi.s16','vrhaddls.s16','vrhaddge.s16','vrhaddlt.s16','vrhaddgt.s16','vrhaddle.s16', - 'vrhaddeq.s32','vrhaddne.s32','vrhaddcs.s32','vrhaddhs.s32','vrhaddcc.s32','vrhaddlo.s32','vrhaddmi.s32','vrhaddpl.s32','vrhaddvs.s32','vrhaddvc.s32','vrhaddhi.s32','vrhaddls.s32','vrhaddge.s32','vrhaddlt.s32','vrhaddgt.s32','vrhaddle.s32', - - 'vrshleq.s8','vrshlne.s8','vrshlcs.s8','vrshlhs.s8','vrshlcc.s8','vrshllo.s8','vrshlmi.s8','vrshlpl.s8','vrshlvs.s8','vrshlvc.s8','vrshlhi.s8','vrshlls.s8','vrshlge.s8','vrshllt.s8','vrshlgt.s8','vrshlle.s8', - 'vrshleq.s16','vrshlne.s16','vrshlcs.s16','vrshlhs.s16','vrshlcc.s16','vrshllo.s16','vrshlmi.s16','vrshlpl.s16','vrshlvs.s16','vrshlvc.s16','vrshlhi.s16','vrshlls.s16','vrshlge.s16','vrshllt.s16','vrshlgt.s16','vrshlle.s16', - 'vrshleq.s32','vrshlne.s32','vrshlcs.s32','vrshlhs.s32','vrshlcc.s32','vrshllo.s32','vrshlmi.s32','vrshlpl.s32','vrshlvs.s32','vrshlvc.s32','vrshlhi.s32','vrshlls.s32','vrshlge.s32','vrshllt.s32','vrshlgt.s32','vrshlle.s32', - 'vrshleq.s64','vrshlne.s64','vrshlcs.s64','vrshlhs.s64','vrshlcc.s64','vrshllo.s64','vrshlmi.s64','vrshlpl.s64','vrshlvs.s64','vrshlvc.s64','vrshlhi.s64','vrshlls.s64','vrshlge.s64','vrshllt.s64','vrshlgt.s64','vrshlle.s64', - - 'vrshreq.s8','vrshrne.s8','vrshrcs.s8','vrshrhs.s8','vrshrcc.s8','vrshrlo.s8','vrshrmi.s8','vrshrpl.s8','vrshrvs.s8','vrshrvc.s8','vrshrhi.s8','vrshrls.s8','vrshrge.s8','vrshrlt.s8','vrshrgt.s8','vrshrle.s8', - 'vrshreq.s16','vrshrne.s16','vrshrcs.s16','vrshrhs.s16','vrshrcc.s16','vrshrlo.s16','vrshrmi.s16','vrshrpl.s16','vrshrvs.s16','vrshrvc.s16','vrshrhi.s16','vrshrls.s16','vrshrge.s16','vrshrlt.s16','vrshrgt.s16','vrshrle.s16', - 'vrshreq.s32','vrshrne.s32','vrshrcs.s32','vrshrhs.s32','vrshrcc.s32','vrshrlo.s32','vrshrmi.s32','vrshrpl.s32','vrshrvs.s32','vrshrvc.s32','vrshrhi.s32','vrshrls.s32','vrshrge.s32','vrshrlt.s32','vrshrgt.s32','vrshrle.s32', - 'vrshreq.s64','vrshrne.s64','vrshrcs.s64','vrshrhs.s64','vrshrcc.s64','vrshrlo.s64','vrshrmi.s64','vrshrpl.s64','vrshrvs.s64','vrshrvc.s64','vrshrhi.s64','vrshrls.s64','vrshrge.s64','vrshrlt.s64','vrshrgt.s64','vrshrle.s64', - - 'vrsraeq.s8','vrsrane.s8','vrsracs.s8','vrsrahs.s8','vrsracc.s8','vrsralo.s8','vrsrami.s8','vrsrapl.s8','vrsravs.s8','vrsravc.s8','vrsrahi.s8','vrsrals.s8','vrsrage.s8','vrsralt.s8','vrsragt.s8','vrsrale.s8', - 'vrsraeq.s16','vrsrane.s16','vrsracs.s16','vrsrahs.s16','vrsracc.s16','vrsralo.s16','vrsrami.s16','vrsrapl.s16','vrsravs.s16','vrsravc.s16','vrsrahi.s16','vrsrals.s16','vrsrage.s16','vrsralt.s16','vrsragt.s16','vrsrale.s16', - 'vrsraeq.s32','vrsrane.s32','vrsracs.s32','vrsrahs.s32','vrsracc.s32','vrsralo.s32','vrsrami.s32','vrsrapl.s32','vrsravs.s32','vrsravc.s32','vrsrahi.s32','vrsrals.s32','vrsrage.s32','vrsralt.s32','vrsragt.s32','vrsrale.s32', - 'vrsraeq.s64','vrsrane.s64','vrsracs.s64','vrsrahs.s64','vrsracc.s64','vrsralo.s64','vrsrami.s64','vrsrapl.s64','vrsravs.s64','vrsravc.s64','vrsrahi.s64','vrsrals.s64','vrsrage.s64','vrsralt.s64','vrsragt.s64','vrsrale.s64', - - 'vshleq.s8','vshlne.s8','vshlcs.s8','vshlhs.s8','vshlcc.s8','vshllo.s8','vshlmi.s8','vshlpl.s8','vshlvs.s8','vshlvc.s8','vshlhi.s8','vshlls.s8','vshlge.s8','vshllt.s8','vshlgt.s8','vshlle.s8', - 'vshleq.s16','vshlne.s16','vshlcs.s16','vshlhs.s16','vshlcc.s16','vshllo.s16','vshlmi.s16','vshlpl.s16','vshlvs.s16','vshlvc.s16','vshlhi.s16','vshlls.s16','vshlge.s16','vshllt.s16','vshlgt.s16','vshlle.s16', - 'vshleq.s32','vshlne.s32','vshlcs.s32','vshlhs.s32','vshlcc.s32','vshllo.s32','vshlmi.s32','vshlpl.s32','vshlvs.s32','vshlvc.s32','vshlhi.s32','vshlls.s32','vshlge.s32','vshllt.s32','vshlgt.s32','vshlle.s32', - 'vshleq.s64','vshlne.s64','vshlcs.s64','vshlhs.s64','vshlcc.s64','vshllo.s64','vshlmi.s64','vshlpl.s64','vshlvs.s64','vshlvc.s64','vshlhi.s64','vshlls.s64','vshlge.s64','vshllt.s64','vshlgt.s64','vshlle.s64', - - 'vshlleq.s8','vshllne.s8','vshllcs.s8','vshllhs.s8','vshllcc.s8','vshlllo.s8','vshllmi.s8','vshllpl.s8','vshllvs.s8','vshllvc.s8','vshllhi.s8','vshllls.s8','vshllge.s8','vshlllt.s8','vshllgt.s8','vshllle.s8', - 'vshlleq.s16','vshllne.s16','vshllcs.s16','vshllhs.s16','vshllcc.s16','vshlllo.s16','vshllmi.s16','vshllpl.s16','vshllvs.s16','vshllvc.s16','vshllhi.s16','vshllls.s16','vshllge.s16','vshlllt.s16','vshllgt.s16','vshllle.s16', - 'vshlleq.s32','vshllne.s32','vshllcs.s32','vshllhs.s32','vshllcc.s32','vshlllo.s32','vshllmi.s32','vshllpl.s32','vshllvs.s32','vshllvc.s32','vshllhi.s32','vshllls.s32','vshllge.s32','vshlllt.s32','vshllgt.s32','vshllle.s32', - - 'vshreq.s8','vshrne.s8','vshrcs.s8','vshrhs.s8','vshrcc.s8','vshrlo.s8','vshrmi.s8','vshrpl.s8','vshrvs.s8','vshrvc.s8','vshrhi.s8','vshrls.s8','vshrge.s8','vshrlt.s8','vshrgt.s8','vshrle.s8', - 'vshreq.s16','vshrne.s16','vshrcs.s16','vshrhs.s16','vshrcc.s16','vshrlo.s16','vshrmi.s16','vshrpl.s16','vshrvs.s16','vshrvc.s16','vshrhi.s16','vshrls.s16','vshrge.s16','vshrlt.s16','vshrgt.s16','vshrle.s16', - 'vshreq.s32','vshrne.s32','vshrcs.s32','vshrhs.s32','vshrcc.s32','vshrlo.s32','vshrmi.s32','vshrpl.s32','vshrvs.s32','vshrvc.s32','vshrhi.s32','vshrls.s32','vshrge.s32','vshrlt.s32','vshrgt.s32','vshrle.s32', - 'vshreq.s64','vshrne.s64','vshrcs.s64','vshrhs.s64','vshrcc.s64','vshrlo.s64','vshrmi.s64','vshrpl.s64','vshrvs.s64','vshrvc.s64','vshrhi.s64','vshrls.s64','vshrge.s64','vshrlt.s64','vshrgt.s64','vshrle.s64', - - 'vsraeq.s8','vsrane.s8','vsracs.s8','vsrahs.s8','vsracc.s8','vsralo.s8','vsrami.s8','vsrapl.s8','vsravs.s8','vsravc.s8','vsrahi.s8','vsrals.s8','vsrage.s8','vsralt.s8','vsragt.s8','vsrale.s8', - 'vsraeq.s16','vsrane.s16','vsracs.s16','vsrahs.s16','vsracc.s16','vsralo.s16','vsrami.s16','vsrapl.s16','vsravs.s16','vsravc.s16','vsrahi.s16','vsrals.s16','vsrage.s16','vsralt.s16','vsragt.s16','vsrale.s16', - 'vsraeq.s32','vsrane.s32','vsracs.s32','vsrahs.s32','vsracc.s32','vsralo.s32','vsrami.s32','vsrapl.s32','vsravs.s32','vsravc.s32','vsrahi.s32','vsrals.s32','vsrage.s32','vsralt.s32','vsragt.s32','vsrale.s32', - 'vsraeq.s64','vsrane.s64','vsracs.s64','vsrahs.s64','vsracc.s64','vsralo.s64','vsrami.s64','vsrapl.s64','vsravs.s64','vsravc.s64','vsrahi.s64','vsrals.s64','vsrage.s64','vsralt.s64','vsragt.s64','vsrale.s64', - - 'vsubleq.s8','vsublne.s8','vsublcs.s8','vsublhs.s8','vsublcc.s8','vsubllo.s8','vsublmi.s8','vsublpl.s8','vsublvs.s8','vsublvc.s8','vsublhi.s8','vsublls.s8','vsublge.s8','vsubllt.s8','vsublgt.s8','vsublle.s8', - 'vsubleq.s16','vsublne.s16','vsublcs.s16','vsublhs.s16','vsublcc.s16','vsubllo.s16','vsublmi.s16','vsublpl.s16','vsublvs.s16','vsublvc.s16','vsublhi.s16','vsublls.s16','vsublge.s16','vsubllt.s16','vsublgt.s16','vsublle.s16', - 'vsubleq.s32','vsublne.s32','vsublcs.s32','vsublhs.s32','vsublcc.s32','vsubllo.s32','vsublmi.s32','vsublpl.s32','vsublvs.s32','vsublvc.s32','vsublhi.s32','vsublls.s32','vsublge.s32','vsubllt.s32','vsublgt.s32','vsublle.s32', - - 'vsubheq.s8','vsubhne.s8','vsubhcs.s8','vsubhhs.s8','vsubhcc.s8','vsubhlo.s8','vsubhmi.s8','vsubhpl.s8','vsubhvs.s8','vsubhvc.s8','vsubhhi.s8','vsubhls.s8','vsubhge.s8','vsubhlt.s8','vsubhgt.s8','vsubhle.s8', - 'vsubheq.s16','vsubhne.s16','vsubhcs.s16','vsubhhs.s16','vsubhcc.s16','vsubhlo.s16','vsubhmi.s16','vsubhpl.s16','vsubhvs.s16','vsubhvc.s16','vsubhhi.s16','vsubhls.s16','vsubhge.s16','vsubhlt.s16','vsubhgt.s16','vsubhle.s16', - 'vsubheq.s32','vsubhne.s32','vsubhcs.s32','vsubhhs.s32','vsubhcc.s32','vsubhlo.s32','vsubhmi.s32','vsubhpl.s32','vsubhvs.s32','vsubhvc.s32','vsubhhi.s32','vsubhls.s32','vsubhge.s32','vsubhlt.s32','vsubhgt.s32','vsubhle.s32' - ), - /* Conditional NEON SIMD Unsigned Integer Instructions */ - 33 => array( - 'vabaeq.u8','vabane.u8','vabacs.u8','vabahs.u8','vabacc.u8','vabalo.u8','vabami.u8','vabapl.u8','vabavs.u8','vabavc.u8','vabahi.u8','vabals.u8','vabage.u8','vabalt.u8','vabagt.u8','vabale.u8', - 'vabaeq.u16','vabane.u16','vabacs.u16','vabahs.u16','vabacc.u16','vabalo.u16','vabami.u16','vabapl.u16','vabavs.u16','vabavc.u16','vabahi.u16','vabals.u16','vabage.u16','vabalt.u16','vabagt.u16','vabale.u16', - 'vabaeq.u32','vabane.u32','vabacs.u32','vabahs.u32','vabacc.u32','vabalo.u32','vabami.u32','vabapl.u32','vabavs.u32','vabavc.u32','vabahi.u32','vabals.u32','vabage.u32','vabalt.u32','vabagt.u32','vabale.u32', - - 'vabaleq.u8','vabalne.u8','vabalcs.u8','vabalhs.u8','vabalcc.u8','vaballo.u8','vabalmi.u8','vabalpl.u8','vabalvs.u8','vabalvc.u8','vabalhi.u8','vaballs.u8','vabalge.u8','vaballt.u8','vabalgt.u8','vaballe.u8', - 'vabaleq.u16','vabalne.u16','vabalcs.u16','vabalhs.u16','vabalcc.u16','vaballo.u16','vabalmi.u16','vabalpl.u16','vabalvs.u16','vabalvc.u16','vabalhi.u16','vaballs.u16','vabalge.u16','vaballt.u16','vabalgt.u16','vaballe.u16', - 'vabaleq.u32','vabalne.u32','vabalcs.u32','vabalhs.u32','vabalcc.u32','vaballo.u32','vabalmi.u32','vabalpl.u32','vabalvs.u32','vabalvc.u32','vabalhi.u32','vaballs.u32','vabalge.u32','vaballt.u32','vabalgt.u32','vaballe.u32', - - 'vabdeq.u8','vabdne.u8','vabdcs.u8','vabdhs.u8','vabdcc.u8','vabdlo.u8','vabdmi.u8','vabdpl.u8','vabdvs.u8','vabdvc.u8','vabdhi.u8','vabdls.u8','vabdge.u8','vabdlt.u8','vabdgt.u8','vabdle.u8', - 'vabdeq.u16','vabdne.u16','vabdcs.u16','vabdhs.u16','vabdcc.u16','vabdlo.u16','vabdmi.u16','vabdpl.u16','vabdvs.u16','vabdvc.u16','vabdhi.u16','vabdls.u16','vabdge.u16','vabdlt.u16','vabdgt.u16','vabdle.u16', - 'vabdeq.u32','vabdne.u32','vabdcs.u32','vabdhs.u32','vabdcc.u32','vabdlo.u32','vabdmi.u32','vabdpl.u32','vabdvs.u32','vabdvc.u32','vabdhi.u32','vabdls.u32','vabdge.u32','vabdlt.u32','vabdgt.u32','vabdle.u32', - - 'vaddleq.u8','vaddlne.u8','vaddlcs.u8','vaddlhs.u8','vaddlcc.u8','vaddllo.u8','vaddlmi.u8','vaddlpl.u8','vaddlvs.u8','vaddlvc.u8','vaddlhi.u8','vaddlls.u8','vaddlge.u8','vaddllt.u8','vaddlgt.u8','vaddlle.u8', - 'vaddleq.u16','vaddlne.u16','vaddlcs.u16','vaddlhs.u16','vaddlcc.u16','vaddllo.u16','vaddlmi.u16','vaddlpl.u16','vaddlvs.u16','vaddlvc.u16','vaddlhi.u16','vaddlls.u16','vaddlge.u16','vaddllt.u16','vaddlgt.u16','vaddlle.u16', - 'vaddleq.u32','vaddlne.u32','vaddlcs.u32','vaddlhs.u32','vaddlcc.u32','vaddllo.u32','vaddlmi.u32','vaddlpl.u32','vaddlvs.u32','vaddlvc.u32','vaddlhi.u32','vaddlls.u32','vaddlge.u32','vaddllt.u32','vaddlgt.u32','vaddlle.u32', - - 'vsubleq.u8','vsublne.u8','vsublcs.u8','vsublhs.u8','vsublcc.u8','vsubllo.u8','vsublmi.u8','vsublpl.u8','vsublvs.u8','vsublvc.u8','vsublhi.u8','vsublls.u8','vsublge.u8','vsubllt.u8','vsublgt.u8','vsublle.u8', - 'vsubleq.u16','vsublne.u16','vsublcs.u16','vsublhs.u16','vsublcc.u16','vsubllo.u16','vsublmi.u16','vsublpl.u16','vsublvs.u16','vsublvc.u16','vsublhi.u16','vsublls.u16','vsublge.u16','vsubllt.u16','vsublgt.u16','vsublle.u16', - 'vsubleq.u32','vsublne.u32','vsublcs.u32','vsublhs.u32','vsublcc.u32','vsubllo.u32','vsublmi.u32','vsublpl.u32','vsublvs.u32','vsublvc.u32','vsublhi.u32','vsublls.u32','vsublge.u32','vsubllt.u32','vsublgt.u32','vsublle.u32', - - 'vaddweq.u8','vaddwne.u8','vaddwcs.u8','vaddwhs.u8','vaddwcc.u8','vaddwlo.u8','vaddwmi.u8','vaddwpl.u8','vaddwvs.u8','vaddwvc.u8','vaddwhi.u8','vaddwls.u8','vaddwge.u8','vaddwlt.u8','vaddwgt.u8','vaddwle.u8', - 'vaddweq.u16','vaddwne.u16','vaddwcs.u16','vaddwhs.u16','vaddwcc.u16','vaddwlo.u16','vaddwmi.u16','vaddwpl.u16','vaddwvs.u16','vaddwvc.u16','vaddwhi.u16','vaddwls.u16','vaddwge.u16','vaddwlt.u16','vaddwgt.u16','vaddwle.u16', - 'vaddweq.u32','vaddwne.u32','vaddwcs.u32','vaddwhs.u32','vaddwcc.u32','vaddwlo.u32','vaddwmi.u32','vaddwpl.u32','vaddwvs.u32','vaddwvc.u32','vaddwhi.u32','vaddwls.u32','vaddwge.u32','vaddwlt.u32','vaddwgt.u32','vaddwle.u32', - - 'vsubheq.u8','vsubhne.u8','vsubhcs.u8','vsubhhs.u8','vsubhcc.u8','vsubhlo.u8','vsubhmi.u8','vsubhpl.u8','vsubhvs.u8','vsubhvc.u8','vsubhhi.u8','vsubhls.u8','vsubhge.u8','vsubhlt.u8','vsubhgt.u8','vsubhle.u8', - 'vsubheq.u16','vsubhne.u16','vsubhcs.u16','vsubhhs.u16','vsubhcc.u16','vsubhlo.u16','vsubhmi.u16','vsubhpl.u16','vsubhvs.u16','vsubhvc.u16','vsubhhi.u16','vsubhls.u16','vsubhge.u16','vsubhlt.u16','vsubhgt.u16','vsubhle.u16', - 'vsubheq.u32','vsubhne.u32','vsubhcs.u32','vsubhhs.u32','vsubhcc.u32','vsubhlo.u32','vsubhmi.u32','vsubhpl.u32','vsubhvs.u32','vsubhvc.u32','vsubhhi.u32','vsubhls.u32','vsubhge.u32','vsubhlt.u32','vsubhgt.u32','vsubhle.u32', - - 'vhaddeq.u8','vhaddne.u8','vhaddcs.u8','vhaddhs.u8','vhaddcc.u8','vhaddlo.u8','vhaddmi.u8','vhaddpl.u8','vhaddvs.u8','vhaddvc.u8','vhaddhi.u8','vhaddls.u8','vhaddge.u8','vhaddlt.u8','vhaddgt.u8','vhaddle.u8', - 'vhaddeq.u16','vhaddne.u16','vhaddcs.u16','vhaddhs.u16','vhaddcc.u16','vhaddlo.u16','vhaddmi.u16','vhaddpl.u16','vhaddvs.u16','vhaddvc.u16','vhaddhi.u16','vhaddls.u16','vhaddge.u16','vhaddlt.u16','vhaddgt.u16','vhaddle.u16', - 'vhaddeq.u32','vhaddne.u32','vhaddcs.u32','vhaddhs.u32','vhaddcc.u32','vhaddlo.u32','vhaddmi.u32','vhaddpl.u32','vhaddvs.u32','vhaddvc.u32','vhaddhi.u32','vhaddls.u32','vhaddge.u32','vhaddlt.u32','vhaddgt.u32','vhaddle.u32', - - 'vhsubeq.u8','vhsubne.u8','vhsubcs.u8','vhsubhs.u8','vhsubcc.u8','vhsublo.u8','vhsubmi.u8','vhsubpl.u8','vhsubvs.u8','vhsubvc.u8','vhsubhi.u8','vhsubls.u8','vhsubge.u8','vhsublt.u8','vhsubgt.u8','vhsuble.u8', - 'vhsubeq.u16','vhsubne.u16','vhsubcs.u16','vhsubhs.u16','vhsubcc.u16','vhsublo.u16','vhsubmi.u16','vhsubpl.u16','vhsubvs.u16','vhsubvc.u16','vhsubhi.u16','vhsubls.u16','vhsubge.u16','vhsublt.u16','vhsubgt.u16','vhsuble.u16', - 'vhsubeq.u32','vhsubne.u32','vhsubcs.u32','vhsubhs.u32','vhsubcc.u32','vhsublo.u32','vhsubmi.u32','vhsubpl.u32','vhsubvs.u32','vhsubvc.u32','vhsubhi.u32','vhsubls.u32','vhsubge.u32','vhsublt.u32','vhsubgt.u32','vhsuble.u32', - - 'vpadaleq.u8','vpadalne.u8','vpadalcs.u8','vpadalhs.u8','vpadalcc.u8','vpadallo.u8','vpadalmi.u8','vpadalpl.u8','vpadalvs.u8','vpadalvc.u8','vpadalhi.u8','vpadalls.u8','vpadalge.u8','vpadallt.u8','vpadalgt.u8','vpadalle.u8', - 'vpadaleq.u16','vpadalne.u16','vpadalcs.u16','vpadalhs.u16','vpadalcc.u16','vpadallo.u16','vpadalmi.u16','vpadalpl.u16','vpadalvs.u16','vpadalvc.u16','vpadalhi.u16','vpadalls.u16','vpadalge.u16','vpadallt.u16','vpadalgt.u16','vpadalle.u16', - 'vpadaleq.u32','vpadalne.u32','vpadalcs.u32','vpadalhs.u32','vpadalcc.u32','vpadallo.u32','vpadalmi.u32','vpadalpl.u32','vpadalvs.u32','vpadalvc.u32','vpadalhi.u32','vpadalls.u32','vpadalge.u32','vpadallt.u32','vpadalgt.u32','vpadalle.u32', - - 'vpaddleq.u8','vpaddlne.u8','vpaddlcs.u8','vpaddlhs.u8','vpaddlcc.u8','vpaddllo.u8','vpaddlmi.u8','vpaddlpl.u8','vpaddlvs.u8','vpaddlvc.u8','vpaddlhi.u8','vpaddlls.u8','vpaddlge.u8','vpaddllt.u8','vpaddlgt.u8','vpaddlle.u8', - 'vpaddleq.u16','vpaddlne.u16','vpaddlcs.u16','vpaddlhs.u16','vpaddlcc.u16','vpaddllo.u16','vpaddlmi.u16','vpaddlpl.u16','vpaddlvs.u16','vpaddlvc.u16','vpaddlhi.u16','vpaddlls.u16','vpaddlge.u16','vpaddllt.u16','vpaddlgt.u16','vpaddlle.u16', - 'vpaddleq.u32','vpaddlne.u32','vpaddlcs.u32','vpaddlhs.u32','vpaddlcc.u32','vpaddllo.u32','vpaddlmi.u32','vpaddlpl.u32','vpaddlvs.u32','vpaddlvc.u32','vpaddlhi.u32','vpaddlls.u32','vpaddlge.u32','vpaddllt.u32','vpaddlgt.u32','vpaddlle.u32', - - 'vcgeeq.u8','vcgene.u8','vcgecs.u8','vcgehs.u8','vcgecc.u8','vcgelo.u8','vcgemi.u8','vcgepl.u8','vcgevs.u8','vcgevc.u8','vcgehi.u8','vcgels.u8','vcgege.u8','vcgelt.u8','vcgegt.u8','vcgele.u8', - 'vcgeeq.u16','vcgene.u16','vcgecs.u16','vcgehs.u16','vcgecc.u16','vcgelo.u16','vcgemi.u16','vcgepl.u16','vcgevs.u16','vcgevc.u16','vcgehi.u16','vcgels.u16','vcgege.u16','vcgelt.u16','vcgegt.u16','vcgele.u16', - 'vcgeeq.u32','vcgene.u32','vcgecs.u32','vcgehs.u32','vcgecc.u32','vcgelo.u32','vcgemi.u32','vcgepl.u32','vcgevs.u32','vcgevc.u32','vcgehi.u32','vcgels.u32','vcgege.u32','vcgelt.u32','vcgegt.u32','vcgele.u32', - - 'vcleeq.u8','vclene.u8','vclecs.u8','vclehs.u8','vclecc.u8','vclelo.u8','vclemi.u8','vclepl.u8','vclevs.u8','vclevc.u8','vclehi.u8','vclels.u8','vclege.u8','vclelt.u8','vclegt.u8','vclele.u8', - 'vcleeq.u16','vclene.u16','vclecs.u16','vclehs.u16','vclecc.u16','vclelo.u16','vclemi.u16','vclepl.u16','vclevs.u16','vclevc.u16','vclehi.u16','vclels.u16','vclege.u16','vclelt.u16','vclegt.u16','vclele.u16', - 'vcleeq.u32','vclene.u32','vclecs.u32','vclehs.u32','vclecc.u32','vclelo.u32','vclemi.u32','vclepl.u32','vclevs.u32','vclevc.u32','vclehi.u32','vclels.u32','vclege.u32','vclelt.u32','vclegt.u32','vclele.u32', - - 'vcgteq.u8','vcgtne.u8','vcgtcs.u8','vcgths.u8','vcgtcc.u8','vcgtlo.u8','vcgtmi.u8','vcgtpl.u8','vcgtvs.u8','vcgtvc.u8','vcgthi.u8','vcgtls.u8','vcgtge.u8','vcgtlt.u8','vcgtgt.u8','vcgtle.u8', - 'vcgteq.u16','vcgtne.u16','vcgtcs.u16','vcgths.u16','vcgtcc.u16','vcgtlo.u16','vcgtmi.u16','vcgtpl.u16','vcgtvs.u16','vcgtvc.u16','vcgthi.u16','vcgtls.u16','vcgtge.u16','vcgtlt.u16','vcgtgt.u16','vcgtle.u16', - 'vcgteq.u32','vcgtne.u32','vcgtcs.u32','vcgths.u32','vcgtcc.u32','vcgtlo.u32','vcgtmi.u32','vcgtpl.u32','vcgtvs.u32','vcgtvc.u32','vcgthi.u32','vcgtls.u32','vcgtge.u32','vcgtlt.u32','vcgtgt.u32','vcgtle.u32', - - 'vclteq.u8','vcltne.u8','vcltcs.u8','vclths.u8','vcltcc.u8','vcltlo.u8','vcltmi.u8','vcltpl.u8','vcltvs.u8','vcltvc.u8','vclthi.u8','vcltls.u8','vcltge.u8','vcltlt.u8','vcltgt.u8','vcltle.u8', - 'vclteq.u16','vcltne.u16','vcltcs.u16','vclths.u16','vcltcc.u16','vcltlo.u16','vcltmi.u16','vcltpl.u16','vcltvs.u16','vcltvc.u16','vclthi.u16','vcltls.u16','vcltge.u16','vcltlt.u16','vcltgt.u16','vcltle.u16', - 'vclteq.u32','vcltne.u32','vcltcs.u32','vclths.u32','vcltcc.u32','vcltlo.u32','vcltmi.u32','vcltpl.u32','vcltvs.u32','vcltvc.u32','vclthi.u32','vcltls.u32','vcltge.u32','vcltlt.u32','vcltgt.u32','vcltle.u32', - - 'vmaxeq.u8','vmaxne.u8','vmaxcs.u8','vmaxhs.u8','vmaxcc.u8','vmaxlo.u8','vmaxmi.u8','vmaxpl.u8','vmaxvs.u8','vmaxvc.u8','vmaxhi.u8','vmaxls.u8','vmaxge.u8','vmaxlt.u8','vmaxgt.u8','vmaxle.u8', - 'vmaxeq.u16','vmaxne.u16','vmaxcs.u16','vmaxhs.u16','vmaxcc.u16','vmaxlo.u16','vmaxmi.u16','vmaxpl.u16','vmaxvs.u16','vmaxvc.u16','vmaxhi.u16','vmaxls.u16','vmaxge.u16','vmaxlt.u16','vmaxgt.u16','vmaxle.u16', - 'vmaxeq.u32','vmaxne.u32','vmaxcs.u32','vmaxhs.u32','vmaxcc.u32','vmaxlo.u32','vmaxmi.u32','vmaxpl.u32','vmaxvs.u32','vmaxvc.u32','vmaxhi.u32','vmaxls.u32','vmaxge.u32','vmaxlt.u32','vmaxgt.u32','vmaxle.u32', - - 'vmineq.u8','vminne.u8','vmincs.u8','vminhs.u8','vmincc.u8','vminlo.u8','vminmi.u8','vminpl.u8','vminvs.u8','vminvc.u8','vminhi.u8','vminls.u8','vminge.u8','vminlt.u8','vmingt.u8','vminle.u8', - 'vmineq.u16','vminne.u16','vmincs.u16','vminhs.u16','vmincc.u16','vminlo.u16','vminmi.u16','vminpl.u16','vminvs.u16','vminvc.u16','vminhi.u16','vminls.u16','vminge.u16','vminlt.u16','vmingt.u16','vminle.u16', - 'vmineq.u32','vminne.u32','vmincs.u32','vminhs.u32','vmincc.u32','vminlo.u32','vminmi.u32','vminpl.u32','vminvs.u32','vminvc.u32','vminhi.u32','vminls.u32','vminge.u32','vminlt.u32','vmingt.u32','vminle.u32', - - 'vmlaleq.u8','vmlalne.u8','vmlalcs.u8','vmlalhs.u8','vmlalcc.u8','vmlallo.u8','vmlalmi.u8','vmlalpl.u8','vmlalvs.u8','vmlalvc.u8','vmlalhi.u8','vmlalls.u8','vmlalge.u8','vmlallt.u8','vmlalgt.u8','vmlalle.u8', - 'vmlaleq.u16','vmlalne.u16','vmlalcs.u16','vmlalhs.u16','vmlalcc.u16','vmlallo.u16','vmlalmi.u16','vmlalpl.u16','vmlalvs.u16','vmlalvc.u16','vmlalhi.u16','vmlalls.u16','vmlalge.u16','vmlallt.u16','vmlalgt.u16','vmlalle.u16', - 'vmlaleq.u32','vmlalne.u32','vmlalcs.u32','vmlalhs.u32','vmlalcc.u32','vmlallo.u32','vmlalmi.u32','vmlalpl.u32','vmlalvs.u32','vmlalvc.u32','vmlalhi.u32','vmlalls.u32','vmlalge.u32','vmlallt.u32','vmlalgt.u32','vmlalle.u32', - - 'vmlsleq.u8','vmlslne.u8','vmlslcs.u8','vmlslhs.u8','vmlslcc.u8','vmlsllo.u8','vmlslmi.u8','vmlslpl.u8','vmlslvs.u8','vmlslvc.u8','vmlslhi.u8','vmlslls.u8','vmlslge.u8','vmlsllt.u8','vmlslgt.u8','vmlslle.u8', - 'vmlsleq.u16','vmlslne.u16','vmlslcs.u16','vmlslhs.u16','vmlslcc.u16','vmlsllo.u16','vmlslmi.u16','vmlslpl.u16','vmlslvs.u16','vmlslvc.u16','vmlslhi.u16','vmlslls.u16','vmlslge.u16','vmlsllt.u16','vmlslgt.u16','vmlslle.u16', - 'vmlsleq.u32','vmlslne.u32','vmlslcs.u32','vmlslhs.u32','vmlslcc.u32','vmlsllo.u32','vmlslmi.u32','vmlslpl.u32','vmlslvs.u32','vmlslvc.u32','vmlslhi.u32','vmlslls.u32','vmlslge.u32','vmlsllt.u32','vmlslgt.u32','vmlslle.u32', - - 'vmulleq.u8','vmullne.u8','vmullcs.u8','vmullhs.u8','vmullcc.u8','vmulllo.u8','vmullmi.u8','vmullpl.u8','vmullvs.u8','vmullvc.u8','vmullhi.u8','vmullls.u8','vmullge.u8','vmulllt.u8','vmullgt.u8','vmullle.u8', - 'vmulleq.u16','vmullne.u16','vmullcs.u16','vmullhs.u16','vmullcc.u16','vmulllo.u16','vmullmi.u16','vmullpl.u16','vmullvs.u16','vmullvc.u16','vmullhi.u16','vmullls.u16','vmullge.u16','vmulllt.u16','vmullgt.u16','vmullle.u16', - 'vmulleq.u32','vmullne.u32','vmullcs.u32','vmullhs.u32','vmullcc.u32','vmulllo.u32','vmullmi.u32','vmullpl.u32','vmullvs.u32','vmullvc.u32','vmullhi.u32','vmullls.u32','vmullge.u32','vmulllt.u32','vmullgt.u32','vmullle.u32', - - 'vmovleq.u8','vmovlne.u8','vmovlcs.u8','vmovlhs.u8','vmovlcc.u8','vmovllo.u8','vmovlmi.u8','vmovlpl.u8','vmovlvs.u8','vmovlvc.u8','vmovlhi.u8','vmovlls.u8','vmovlge.u8','vmovllt.u8','vmovlgt.u8','vmovlle.u8', - 'vmovleq.u16','vmovlne.u16','vmovlcs.u16','vmovlhs.u16','vmovlcc.u16','vmovllo.u16','vmovlmi.u16','vmovlpl.u16','vmovlvs.u16','vmovlvc.u16','vmovlhi.u16','vmovlls.u16','vmovlge.u16','vmovllt.u16','vmovlgt.u16','vmovlle.u16', - 'vmovleq.u32','vmovlne.u32','vmovlcs.u32','vmovlhs.u32','vmovlcc.u32','vmovllo.u32','vmovlmi.u32','vmovlpl.u32','vmovlvs.u32','vmovlvc.u32','vmovlhi.u32','vmovlls.u32','vmovlge.u32','vmovllt.u32','vmovlgt.u32','vmovlle.u32', - - 'vshleq.u8','vshlne.u8','vshlcs.u8','vshlhs.u8','vshlcc.u8','vshllo.u8','vshlmi.u8','vshlpl.u8','vshlvs.u8','vshlvc.u8','vshlhi.u8','vshlls.u8','vshlge.u8','vshllt.u8','vshlgt.u8','vshlle.u8', - 'vshleq.u16','vshlne.u16','vshlcs.u16','vshlhs.u16','vshlcc.u16','vshllo.u16','vshlmi.u16','vshlpl.u16','vshlvs.u16','vshlvc.u16','vshlhi.u16','vshlls.u16','vshlge.u16','vshllt.u16','vshlgt.u16','vshlle.u16', - 'vshleq.u32','vshlne.u32','vshlcs.u32','vshlhs.u32','vshlcc.u32','vshllo.u32','vshlmi.u32','vshlpl.u32','vshlvs.u32','vshlvc.u32','vshlhi.u32','vshlls.u32','vshlge.u32','vshllt.u32','vshlgt.u32','vshlle.u32', - 'vshleq.u64','vshlne.u64','vshlcs.u64','vshlhs.u64','vshlcc.u64','vshllo.u64','vshlmi.u64','vshlpl.u64','vshlvs.u64','vshlvc.u64','vshlhi.u64','vshlls.u64','vshlge.u64','vshllt.u64','vshlgt.u64','vshlle.u64', - - 'vshlleq.u8','vshllne.u8','vshllcs.u8','vshllhs.u8','vshllcc.u8','vshlllo.u8','vshllmi.u8','vshllpl.u8','vshllvs.u8','vshllvc.u8','vshllhi.u8','vshllls.u8','vshllge.u8','vshlllt.u8','vshllgt.u8','vshllle.u8', - 'vshlleq.u16','vshllne.u16','vshllcs.u16','vshllhs.u16','vshllcc.u16','vshlllo.u16','vshllmi.u16','vshllpl.u16','vshllvs.u16','vshllvc.u16','vshllhi.u16','vshllls.u16','vshllge.u16','vshlllt.u16','vshllgt.u16','vshllle.u16', - 'vshlleq.u32','vshllne.u32','vshllcs.u32','vshllhs.u32','vshllcc.u32','vshlllo.u32','vshllmi.u32','vshllpl.u32','vshllvs.u32','vshllvc.u32','vshllhi.u32','vshllls.u32','vshllge.u32','vshlllt.u32','vshllgt.u32','vshllle.u32', - - 'vshreq.u8','vshrne.u8','vshrcs.u8','vshrhs.u8','vshrcc.u8','vshrlo.u8','vshrmi.u8','vshrpl.u8','vshrvs.u8','vshrvc.u8','vshrhi.u8','vshrls.u8','vshrge.u8','vshrlt.u8','vshrgt.u8','vshrle.u8', - 'vshreq.u16','vshrne.u16','vshrcs.u16','vshrhs.u16','vshrcc.u16','vshrlo.u16','vshrmi.u16','vshrpl.u16','vshrvs.u16','vshrvc.u16','vshrhi.u16','vshrls.u16','vshrge.u16','vshrlt.u16','vshrgt.u16','vshrle.u16', - 'vshreq.u32','vshrne.u32','vshrcs.u32','vshrhs.u32','vshrcc.u32','vshrlo.u32','vshrmi.u32','vshrpl.u32','vshrvs.u32','vshrvc.u32','vshrhi.u32','vshrls.u32','vshrge.u32','vshrlt.u32','vshrgt.u32','vshrle.u32', - 'vshreq.u64','vshrne.u64','vshrcs.u64','vshrhs.u64','vshrcc.u64','vshrlo.u64','vshrmi.u64','vshrpl.u64','vshrvs.u64','vshrvc.u64','vshrhi.u64','vshrls.u64','vshrge.u64','vshrlt.u64','vshrgt.u64','vshrle.u64', - - 'vsraeq.u8','vsrane.u8','vsracs.u8','vsrahs.u8','vsracc.u8','vsralo.u8','vsrami.u8','vsrapl.u8','vsravs.u8','vsravc.u8','vsrahi.u8','vsrals.u8','vsrage.u8','vsralt.u8','vsragt.u8','vsrale.u8', - 'vsraeq.u16','vsrane.u16','vsracs.u16','vsrahs.u16','vsracc.u16','vsralo.u16','vsrami.u16','vsrapl.u16','vsravs.u16','vsravc.u16','vsrahi.u16','vsrals.u16','vsrage.u16','vsralt.u16','vsragt.u16','vsrale.u16', - 'vsraeq.u32','vsrane.u32','vsracs.u32','vsrahs.u32','vsracc.u32','vsralo.u32','vsrami.u32','vsrapl.u32','vsravs.u32','vsravc.u32','vsrahi.u32','vsrals.u32','vsrage.u32','vsralt.u32','vsragt.u32','vsrale.u32', - 'vsraeq.u64','vsrane.u64','vsracs.u64','vsrahs.u64','vsracc.u64','vsralo.u64','vsrami.u64','vsrapl.u64','vsravs.u64','vsravc.u64','vsrahi.u64','vsrals.u64','vsrage.u64','vsralt.u64','vsragt.u64','vsrale.u64', - - 'vpmaxeq.u8','vpmaxne.u8','vpmaxcs.u8','vpmaxhs.u8','vpmaxcc.u8','vpmaxlo.u8','vpmaxmi.u8','vpmaxpl.u8','vpmaxvs.u8','vpmaxvc.u8','vpmaxhi.u8','vpmaxls.u8','vpmaxge.u8','vpmaxlt.u8','vpmaxgt.u8','vpmaxle.u8', - 'vpmaxeq.u16','vpmaxne.u16','vpmaxcs.u16','vpmaxhs.u16','vpmaxcc.u16','vpmaxlo.u16','vpmaxmi.u16','vpmaxpl.u16','vpmaxvs.u16','vpmaxvc.u16','vpmaxhi.u16','vpmaxls.u16','vpmaxge.u16','vpmaxlt.u16','vpmaxgt.u16','vpmaxle.u16', - 'vpmaxeq.u32','vpmaxne.u32','vpmaxcs.u32','vpmaxhs.u32','vpmaxcc.u32','vpmaxlo.u32','vpmaxmi.u32','vpmaxpl.u32','vpmaxvs.u32','vpmaxvc.u32','vpmaxhi.u32','vpmaxls.u32','vpmaxge.u32','vpmaxlt.u32','vpmaxgt.u32','vpmaxle.u32', - - 'vpmineq.u8','vpminne.u8','vpmincs.u8','vpminhs.u8','vpmincc.u8','vpminlo.u8','vpminmi.u8','vpminpl.u8','vpminvs.u8','vpminvc.u8','vpminhi.u8','vpminls.u8','vpminge.u8','vpminlt.u8','vpmingt.u8','vpminle.u8', - 'vpmineq.u16','vpminne.u16','vpmincs.u16','vpminhs.u16','vpmincc.u16','vpminlo.u16','vpminmi.u16','vpminpl.u16','vpminvs.u16','vpminvc.u16','vpminhi.u16','vpminls.u16','vpminge.u16','vpminlt.u16','vpmingt.u16','vpminle.u16', - 'vpmineq.u32','vpminne.u32','vpmincs.u32','vpminhs.u32','vpmincc.u32','vpminlo.u32','vpminmi.u32','vpminpl.u32','vpminvs.u32','vpminvc.u32','vpminhi.u32','vpminls.u32','vpminge.u32','vpminlt.u32','vpmingt.u32','vpminle.u32', - - 'vqaddeq.u8','vqaddne.u8','vqaddcs.u8','vqaddhs.u8','vqaddcc.u8','vqaddlo.u8','vqaddmi.u8','vqaddpl.u8','vqaddvs.u8','vqaddvc.u8','vqaddhi.u8','vqaddls.u8','vqaddge.u8','vqaddlt.u8','vqaddgt.u8','vqaddle.u8', - 'vqaddeq.u16','vqaddne.u16','vqaddcs.u16','vqaddhs.u16','vqaddcc.u16','vqaddlo.u16','vqaddmi.u16','vqaddpl.u16','vqaddvs.u16','vqaddvc.u16','vqaddhi.u16','vqaddls.u16','vqaddge.u16','vqaddlt.u16','vqaddgt.u16','vqaddle.u16', - 'vqaddeq.u32','vqaddne.u32','vqaddcs.u32','vqaddhs.u32','vqaddcc.u32','vqaddlo.u32','vqaddmi.u32','vqaddpl.u32','vqaddvs.u32','vqaddvc.u32','vqaddhi.u32','vqaddls.u32','vqaddge.u32','vqaddlt.u32','vqaddgt.u32','vqaddle.u32', - 'vqaddeq.u64','vqaddne.u64','vqaddcs.u64','vqaddhs.u64','vqaddcc.u64','vqaddlo.u64','vqaddmi.u64','vqaddpl.u64','vqaddvs.u64','vqaddvc.u64','vqaddhi.u64','vqaddls.u64','vqaddge.u64','vqaddlt.u64','vqaddgt.u64','vqaddle.u64', - - 'vqsubeq.u8','vqsubne.u8','vqsubcs.u8','vqsubhs.u8','vqsubcc.u8','vqsublo.u8','vqsubmi.u8','vqsubpl.u8','vqsubvs.u8','vqsubvc.u8','vqsubhi.u8','vqsubls.u8','vqsubge.u8','vqsublt.u8','vqsubgt.u8','vqsuble.u8', - 'vqsubeq.u16','vqsubne.u16','vqsubcs.u16','vqsubhs.u16','vqsubcc.u16','vqsublo.u16','vqsubmi.u16','vqsubpl.u16','vqsubvs.u16','vqsubvc.u16','vqsubhi.u16','vqsubls.u16','vqsubge.u16','vqsublt.u16','vqsubgt.u16','vqsuble.u16', - 'vqsubeq.u32','vqsubne.u32','vqsubcs.u32','vqsubhs.u32','vqsubcc.u32','vqsublo.u32','vqsubmi.u32','vqsubpl.u32','vqsubvs.u32','vqsubvc.u32','vqsubhi.u32','vqsubls.u32','vqsubge.u32','vqsublt.u32','vqsubgt.u32','vqsuble.u32', - 'vqsubeq.u64','vqsubne.u64','vqsubcs.u64','vqsubhs.u64','vqsubcc.u64','vqsublo.u64','vqsubmi.u64','vqsubpl.u64','vqsubvs.u64','vqsubvc.u64','vqsubhi.u64','vqsubls.u64','vqsubge.u64','vqsublt.u64','vqsubgt.u64','vqsuble.u64', - - 'vqmovneq.u16','vqmovnne.u16','vqmovncs.u16','vqmovnhs.u16','vqmovncc.u16','vqmovnlo.u16','vqmovnmi.u16','vqmovnpl.u16','vqmovnvs.u16','vqmovnvc.u16','vqmovnhi.u16','vqmovnls.u16','vqmovnge.u16','vqmovnlt.u16','vqmovngt.u16','vqmovnle.u16', - 'vqmovneq.u32','vqmovnne.u32','vqmovncs.u32','vqmovnhs.u32','vqmovncc.u32','vqmovnlo.u32','vqmovnmi.u32','vqmovnpl.u32','vqmovnvs.u32','vqmovnvc.u32','vqmovnhi.u32','vqmovnls.u32','vqmovnge.u32','vqmovnlt.u32','vqmovngt.u32','vqmovnle.u32', - 'vqmovneq.u64','vqmovnne.u64','vqmovncs.u64','vqmovnhs.u64','vqmovncc.u64','vqmovnlo.u64','vqmovnmi.u64','vqmovnpl.u64','vqmovnvs.u64','vqmovnvc.u64','vqmovnhi.u64','vqmovnls.u64','vqmovnge.u64','vqmovnlt.u64','vqmovngt.u64','vqmovnle.u64', - - 'vqshleq.u8','vqshlne.u8','vqshlcs.u8','vqshlhs.u8','vqshlcc.u8','vqshllo.u8','vqshlmi.u8','vqshlpl.u8','vqshlvs.u8','vqshlvc.u8','vqshlhi.u8','vqshlls.u8','vqshlge.u8','vqshllt.u8','vqshlgt.u8','vqshlle.u8', - 'vqshleq.u16','vqshlne.u16','vqshlcs.u16','vqshlhs.u16','vqshlcc.u16','vqshllo.u16','vqshlmi.u16','vqshlpl.u16','vqshlvs.u16','vqshlvc.u16','vqshlhi.u16','vqshlls.u16','vqshlge.u16','vqshllt.u16','vqshlgt.u16','vqshlle.u16', - 'vqshleq.u32','vqshlne.u32','vqshlcs.u32','vqshlhs.u32','vqshlcc.u32','vqshllo.u32','vqshlmi.u32','vqshlpl.u32','vqshlvs.u32','vqshlvc.u32','vqshlhi.u32','vqshlls.u32','vqshlge.u32','vqshllt.u32','vqshlgt.u32','vqshlle.u32', - 'vqshleq.u64','vqshlne.u64','vqshlcs.u64','vqshlhs.u64','vqshlcc.u64','vqshllo.u64','vqshlmi.u64','vqshlpl.u64','vqshlvs.u64','vqshlvc.u64','vqshlhi.u64','vqshlls.u64','vqshlge.u64','vqshllt.u64','vqshlgt.u64','vqshlle.u64', - - 'vqshrneq.u16','vqshrnne.u16','vqshrncs.u16','vqshrnhs.u16','vqshrncc.u16','vqshrnlo.u16','vqshrnmi.u16','vqshrnpl.u16','vqshrnvs.u16','vqshrnvc.u16','vqshrnhi.u16','vqshrnls.u16','vqshrnge.u16','vqshrnlt.u16','vqshrngt.u16','vqshrnle.u16', - 'vqshrneq.u32','vqshrnne.u32','vqshrncs.u32','vqshrnhs.u32','vqshrncc.u32','vqshrnlo.u32','vqshrnmi.u32','vqshrnpl.u32','vqshrnvs.u32','vqshrnvc.u32','vqshrnhi.u32','vqshrnls.u32','vqshrnge.u32','vqshrnlt.u32','vqshrngt.u32','vqshrnle.u32', - 'vqshrneq.u64','vqshrnne.u64','vqshrncs.u64','vqshrnhs.u64','vqshrncc.u64','vqshrnlo.u64','vqshrnmi.u64','vqshrnpl.u64','vqshrnvs.u64','vqshrnvc.u64','vqshrnhi.u64','vqshrnls.u64','vqshrnge.u64','vqshrnlt.u64','vqshrngt.u64','vqshrnle.u64', - - 'vqrshleq.u8','vqrshlne.u8','vqrshlcs.u8','vqrshlhs.u8','vqrshlcc.u8','vqrshllo.u8','vqrshlmi.u8','vqrshlpl.u8','vqrshlvs.u8','vqrshlvc.u8','vqrshlhi.u8','vqrshlls.u8','vqrshlge.u8','vqrshllt.u8','vqrshlgt.u8','vqrshlle.u8', - 'vqrshleq.u16','vqrshlne.u16','vqrshlcs.u16','vqrshlhs.u16','vqrshlcc.u16','vqrshllo.u16','vqrshlmi.u16','vqrshlpl.u16','vqrshlvs.u16','vqrshlvc.u16','vqrshlhi.u16','vqrshlls.u16','vqrshlge.u16','vqrshllt.u16','vqrshlgt.u16','vqrshlle.u16', - 'vqrshleq.u32','vqrshlne.u32','vqrshlcs.u32','vqrshlhs.u32','vqrshlcc.u32','vqrshllo.u32','vqrshlmi.u32','vqrshlpl.u32','vqrshlvs.u32','vqrshlvc.u32','vqrshlhi.u32','vqrshlls.u32','vqrshlge.u32','vqrshllt.u32','vqrshlgt.u32','vqrshlle.u32', - 'vqrshleq.u64','vqrshlne.u64','vqrshlcs.u64','vqrshlhs.u64','vqrshlcc.u64','vqrshllo.u64','vqrshlmi.u64','vqrshlpl.u64','vqrshlvs.u64','vqrshlvc.u64','vqrshlhi.u64','vqrshlls.u64','vqrshlge.u64','vqrshllt.u64','vqrshlgt.u64','vqrshlle.u64', - - 'vqrshrneq.u16','vqrshrnne.u16','vqrshrncs.u16','vqrshrnhs.u16','vqrshrncc.u16','vqrshrnlo.u16','vqrshrnmi.u16','vqrshrnpl.u16','vqrshrnvs.u16','vqrshrnvc.u16','vqrshrnhi.u16','vqrshrnls.u16','vqrshrnge.u16','vqrshrnlt.u16','vqrshrngt.u16','vqrshrnle.u16', - 'vqrshrneq.u32','vqrshrnne.u32','vqrshrncs.u32','vqrshrnhs.u32','vqrshrncc.u32','vqrshrnlo.u32','vqrshrnmi.u32','vqrshrnpl.u32','vqrshrnvs.u32','vqrshrnvc.u32','vqrshrnhi.u32','vqrshrnls.u32','vqrshrnge.u32','vqrshrnlt.u32','vqrshrngt.u32','vqrshrnle.u32', - 'vqrshrneq.u64','vqrshrnne.u64','vqrshrncs.u64','vqrshrnhs.u64','vqrshrncc.u64','vqrshrnlo.u64','vqrshrnmi.u64','vqrshrnpl.u64','vqrshrnvs.u64','vqrshrnvc.u64','vqrshrnhi.u64','vqrshrnls.u64','vqrshrnge.u64','vqrshrnlt.u64','vqrshrngt.u64','vqrshrnle.u64', - - 'vrhaddeq.u8','vrhaddne.u8','vrhaddcs.u8','vrhaddhs.u8','vrhaddcc.u8','vrhaddlo.u8','vrhaddmi.u8','vrhaddpl.u8','vrhaddvs.u8','vrhaddvc.u8','vrhaddhi.u8','vrhaddls.u8','vrhaddge.u8','vrhaddlt.u8','vrhaddgt.u8','vrhaddle.u8', - 'vrhaddeq.u16','vrhaddne.u16','vrhaddcs.u16','vrhaddhs.u16','vrhaddcc.u16','vrhaddlo.u16','vrhaddmi.u16','vrhaddpl.u16','vrhaddvs.u16','vrhaddvc.u16','vrhaddhi.u16','vrhaddls.u16','vrhaddge.u16','vrhaddlt.u16','vrhaddgt.u16','vrhaddle.u16', - 'vrhaddeq.u32','vrhaddne.u32','vrhaddcs.u32','vrhaddhs.u32','vrhaddcc.u32','vrhaddlo.u32','vrhaddmi.u32','vrhaddpl.u32','vrhaddvs.u32','vrhaddvc.u32','vrhaddhi.u32','vrhaddls.u32','vrhaddge.u32','vrhaddlt.u32','vrhaddgt.u32','vrhaddle.u32', - - 'vrshleq.u8','vrshlne.u8','vrshlcs.u8','vrshlhs.u8','vrshlcc.u8','vrshllo.u8','vrshlmi.u8','vrshlpl.u8','vrshlvs.u8','vrshlvc.u8','vrshlhi.u8','vrshlls.u8','vrshlge.u8','vrshllt.u8','vrshlgt.u8','vrshlle.u8', - 'vrshleq.u16','vrshlne.u16','vrshlcs.u16','vrshlhs.u16','vrshlcc.u16','vrshllo.u16','vrshlmi.u16','vrshlpl.u16','vrshlvs.u16','vrshlvc.u16','vrshlhi.u16','vrshlls.u16','vrshlge.u16','vrshllt.u16','vrshlgt.u16','vrshlle.u16', - 'vrshleq.u32','vrshlne.u32','vrshlcs.u32','vrshlhs.u32','vrshlcc.u32','vrshllo.u32','vrshlmi.u32','vrshlpl.u32','vrshlvs.u32','vrshlvc.u32','vrshlhi.u32','vrshlls.u32','vrshlge.u32','vrshllt.u32','vrshlgt.u32','vrshlle.u32', - 'vrshleq.u64','vrshlne.u64','vrshlcs.u64','vrshlhs.u64','vrshlcc.u64','vrshllo.u64','vrshlmi.u64','vrshlpl.u64','vrshlvs.u64','vrshlvc.u64','vrshlhi.u64','vrshlls.u64','vrshlge.u64','vrshllt.u64','vrshlgt.u64','vrshlle.u64', - - 'vrshreq.u8','vrshrne.u8','vrshrcs.u8','vrshrhs.u8','vrshrcc.u8','vrshrlo.u8','vrshrmi.u8','vrshrpl.u8','vrshrvs.u8','vrshrvc.u8','vrshrhi.u8','vrshrls.u8','vrshrge.u8','vrshrlt.u8','vrshrgt.u8','vrshrle.u8', - 'vrshreq.u16','vrshrne.u16','vrshrcs.u16','vrshrhs.u16','vrshrcc.u16','vrshrlo.u16','vrshrmi.u16','vrshrpl.u16','vrshrvs.u16','vrshrvc.u16','vrshrhi.u16','vrshrls.u16','vrshrge.u16','vrshrlt.u16','vrshrgt.u16','vrshrle.u16', - 'vrshreq.u32','vrshrne.u32','vrshrcs.u32','vrshrhs.u32','vrshrcc.u32','vrshrlo.u32','vrshrmi.u32','vrshrpl.u32','vrshrvs.u32','vrshrvc.u32','vrshrhi.u32','vrshrls.u32','vrshrge.u32','vrshrlt.u32','vrshrgt.u32','vrshrle.u32', - 'vrshreq.u64','vrshrne.u64','vrshrcs.u64','vrshrhs.u64','vrshrcc.u64','vrshrlo.u64','vrshrmi.u64','vrshrpl.u64','vrshrvs.u64','vrshrvc.u64','vrshrhi.u64','vrshrls.u64','vrshrge.u64','vrshrlt.u64','vrshrgt.u64','vrshrle.u64', - - 'vrsraeq.u8','vrsrane.u8','vrsracs.u8','vrsrahs.u8','vrsracc.u8','vrsralo.u8','vrsrami.u8','vrsrapl.u8','vrsravs.u8','vrsravc.u8','vrsrahi.u8','vrsrals.u8','vrsrage.u8','vrsralt.u8','vrsragt.u8','vrsrale.u8', - 'vrsraeq.u16','vrsrane.u16','vrsracs.u16','vrsrahs.u16','vrsracc.u16','vrsralo.u16','vrsrami.u16','vrsrapl.u16','vrsravs.u16','vrsravc.u16','vrsrahi.u16','vrsrals.u16','vrsrage.u16','vrsralt.u16','vrsragt.u16','vrsrale.u16', - 'vrsraeq.u32','vrsrane.u32','vrsracs.u32','vrsrahs.u32','vrsracc.u32','vrsralo.u32','vrsrami.u32','vrsrapl.u32','vrsravs.u32','vrsravc.u32','vrsrahi.u32','vrsrals.u32','vrsrage.u32','vrsralt.u32','vrsragt.u32','vrsrale.u32', - 'vrsraeq.u64','vrsrane.u64','vrsracs.u64','vrsrahs.u64','vrsracc.u64','vrsralo.u64','vrsrami.u64','vrsrapl.u64','vrsravs.u64','vrsravc.u64','vrsrahi.u64','vrsrals.u64','vrsrage.u64','vrsralt.u64','vrsragt.u64','vrsrale.u64', - ), - /* Conditional VFPv3 & NEON SIMD Floating-Point Instructions */ - 34 => array( - 'vabdeq.f32','vabdne.f32','vabdcs.f32','vabdhs.f32','vabdcc.f32','vabdlo.f32','vabdmi.f32','vabdpl.f32','vabdvs.f32','vabdvc.f32','vabdhi.f32','vabdls.f32','vabdge.f32','vabdlt.f32','vabdgt.f32','vabdle.f32', - - 'vabseq.f32','vabsne.f32','vabscs.f32','vabshs.f32','vabscc.f32','vabslo.f32','vabsmi.f32','vabspl.f32','vabsvs.f32','vabsvc.f32','vabshi.f32','vabsls.f32','vabsge.f32','vabslt.f32','vabsgt.f32','vabsle.f32', - 'vabseq.f64','vabsne.f64','vabscs.f64','vabshs.f64','vabscc.f64','vabslo.f64','vabsmi.f64','vabspl.f64','vabsvs.f64','vabsvc.f64','vabshi.f64','vabsls.f64','vabsge.f64','vabslt.f64','vabsgt.f64','vabsle.f64', - - 'vacgeeq.f32','vacgene.f32','vacgecs.f32','vacgehs.f32','vacgecc.f32','vacgelo.f32','vacgemi.f32','vacgepl.f32','vacgevs.f32','vacgevc.f32','vacgehi.f32','vacgels.f32','vacgege.f32','vacgelt.f32','vacgegt.f32','vacgele.f32', - 'vacgteq.f32','vacgtne.f32','vacgtcs.f32','vacgths.f32','vacgtcc.f32','vacgtlo.f32','vacgtmi.f32','vacgtpl.f32','vacgtvs.f32','vacgtvc.f32','vacgthi.f32','vacgtls.f32','vacgtge.f32','vacgtlt.f32','vacgtgt.f32','vacgtle.f32', - 'vacleeq.f32','vaclene.f32','vaclecs.f32','vaclehs.f32','vaclecc.f32','vaclelo.f32','vaclemi.f32','vaclepl.f32','vaclevs.f32','vaclevc.f32','vaclehi.f32','vaclels.f32','vaclege.f32','vaclelt.f32','vaclegt.f32','vaclele.f32', - 'vaclteq.f32','vacltne.f32','vacltcs.f32','vaclths.f32','vacltcc.f32','vacltlo.f32','vacltmi.f32','vacltpl.f32','vacltvs.f32','vacltvc.f32','vaclthi.f32','vacltls.f32','vacltge.f32','vacltlt.f32','vacltgt.f32','vacltle.f32', - - 'vaddeq.f32','vaddne.f32','vaddcs.f32','vaddhs.f32','vaddcc.f32','vaddlo.f32','vaddmi.f32','vaddpl.f32','vaddvs.f32','vaddvc.f32','vaddhi.f32','vaddls.f32','vaddge.f32','vaddlt.f32','vaddgt.f32','vaddle.f32', - 'vaddeq.f64','vaddne.f64','vaddcs.f64','vaddhs.f64','vaddcc.f64','vaddlo.f64','vaddmi.f64','vaddpl.f64','vaddvs.f64','vaddvc.f64','vaddhi.f64','vaddls.f64','vaddge.f64','vaddlt.f64','vaddgt.f64','vaddle.f64', - - 'vceqeq.f32','vceqne.f32','vceqcs.f32','vceqhs.f32','vceqcc.f32','vceqlo.f32','vceqmi.f32','vceqpl.f32','vceqvs.f32','vceqvc.f32','vceqhi.f32','vceqls.f32','vceqge.f32','vceqlt.f32','vceqgt.f32','vceqle.f32', - 'vcgeeq.f32','vcgene.f32','vcgecs.f32','vcgehs.f32','vcgecc.f32','vcgelo.f32','vcgemi.f32','vcgepl.f32','vcgevs.f32','vcgevc.f32','vcgehi.f32','vcgels.f32','vcgege.f32','vcgelt.f32','vcgegt.f32','vcgele.f32', - 'vcleeq.f32','vclene.f32','vclecs.f32','vclehs.f32','vclecc.f32','vclelo.f32','vclemi.f32','vclepl.f32','vclevs.f32','vclevc.f32','vclehi.f32','vclels.f32','vclege.f32','vclelt.f32','vclegt.f32','vclele.f32', - 'vcgteq.f32','vcgtne.f32','vcgtcs.f32','vcgths.f32','vcgtcc.f32','vcgtlo.f32','vcgtmi.f32','vcgtpl.f32','vcgtvs.f32','vcgtvc.f32','vcgthi.f32','vcgtls.f32','vcgtge.f32','vcgtlt.f32','vcgtgt.f32','vcgtle.f32', - 'vclteq.f32','vcltne.f32','vcltcs.f32','vclths.f32','vcltcc.f32','vcltlo.f32','vcltmi.f32','vcltpl.f32','vcltvs.f32','vcltvc.f32','vclthi.f32','vcltls.f32','vcltge.f32','vcltlt.f32','vcltgt.f32','vcltle.f32', - - 'vcmpeq.f32','vcmpne.f32','vcmpcs.f32','vcmphs.f32','vcmpcc.f32','vcmplo.f32','vcmpmi.f32','vcmppl.f32','vcmpvs.f32','vcmpvc.f32','vcmphi.f32','vcmpls.f32','vcmpge.f32','vcmplt.f32','vcmpgt.f32','vcmple.f32', - 'vcmpeq.f64','vcmpne.f64','vcmpcs.f64','vcmphs.f64','vcmpcc.f64','vcmplo.f64','vcmpmi.f64','vcmppl.f64','vcmpvs.f64','vcmpvc.f64','vcmphi.f64','vcmpls.f64','vcmpge.f64','vcmplt.f64','vcmpgt.f64','vcmple.f64', - - 'vcmpeeq.f32','vcmpene.f32','vcmpecs.f32','vcmpehs.f32','vcmpecc.f32','vcmpelo.f32','vcmpemi.f32','vcmpepl.f32','vcmpevs.f32','vcmpevc.f32','vcmpehi.f32','vcmpels.f32','vcmpege.f32','vcmpelt.f32','vcmpegt.f32','vcmpele.f32', - 'vcmpeeq.f64','vcmpene.f64','vcmpecs.f64','vcmpehs.f64','vcmpecc.f64','vcmpelo.f64','vcmpemi.f64','vcmpepl.f64','vcmpevs.f64','vcmpevc.f64','vcmpehi.f64','vcmpels.f64','vcmpege.f64','vcmpelt.f64','vcmpegt.f64','vcmpele.f64', - - 'vcvteq.s16.f32','vcvtne.s16.f32','vcvtcs.s16.f32','vcvths.s16.f32','vcvtcc.s16.f32','vcvtlo.s16.f32','vcvtmi.s16.f32','vcvtpl.s16.f32','vcvtvs.s16.f32','vcvtvc.s16.f32','vcvthi.s16.f32','vcvtls.s16.f32','vcvtge.s16.f32','vcvtlt.s16.f32','vcvtgt.s16.f32','vcvtle.s16.f32', - 'vcvteq.s16.f64','vcvtne.s16.f64','vcvtcs.s16.f64','vcvths.s16.f64','vcvtcc.s16.f64','vcvtlo.s16.f64','vcvtmi.s16.f64','vcvtpl.s16.f64','vcvtvs.s16.f64','vcvtvc.s16.f64','vcvthi.s16.f64','vcvtls.s16.f64','vcvtge.s16.f64','vcvtlt.s16.f64','vcvtgt.s16.f64','vcvtle.s16.f64', - 'vcvteq.s32.f32','vcvtne.s32.f32','vcvtcs.s32.f32','vcvths.s32.f32','vcvtcc.s32.f32','vcvtlo.s32.f32','vcvtmi.s32.f32','vcvtpl.s32.f32','vcvtvs.s32.f32','vcvtvc.s32.f32','vcvthi.s32.f32','vcvtls.s32.f32','vcvtge.s32.f32','vcvtlt.s32.f32','vcvtgt.s32.f32','vcvtle.s32.f32', - 'vcvteq.s32.f64','vcvtne.s32.f64','vcvtcs.s32.f64','vcvths.s32.f64','vcvtcc.s32.f64','vcvtlo.s32.f64','vcvtmi.s32.f64','vcvtpl.s32.f64','vcvtvs.s32.f64','vcvtvc.s32.f64','vcvthi.s32.f64','vcvtls.s32.f64','vcvtge.s32.f64','vcvtlt.s32.f64','vcvtgt.s32.f64','vcvtle.s32.f64', - 'vcvteq.u16.f32','vcvtne.u16.f32','vcvtcs.u16.f32','vcvths.u16.f32','vcvtcc.u16.f32','vcvtlo.u16.f32','vcvtmi.u16.f32','vcvtpl.u16.f32','vcvtvs.u16.f32','vcvtvc.u16.f32','vcvthi.u16.f32','vcvtls.u16.f32','vcvtge.u16.f32','vcvtlt.u16.f32','vcvtgt.u16.f32','vcvtle.u16.f32', - 'vcvteq.u16.f64','vcvtne.u16.f64','vcvtcs.u16.f64','vcvths.u16.f64','vcvtcc.u16.f64','vcvtlo.u16.f64','vcvtmi.u16.f64','vcvtpl.u16.f64','vcvtvs.u16.f64','vcvtvc.u16.f64','vcvthi.u16.f64','vcvtls.u16.f64','vcvtge.u16.f64','vcvtlt.u16.f64','vcvtgt.u16.f64','vcvtle.u16.f64', - 'vcvteq.u32.f32','vcvtne.u32.f32','vcvtcs.u32.f32','vcvths.u32.f32','vcvtcc.u32.f32','vcvtlo.u32.f32','vcvtmi.u32.f32','vcvtpl.u32.f32','vcvtvs.u32.f32','vcvtvc.u32.f32','vcvthi.u32.f32','vcvtls.u32.f32','vcvtge.u32.f32','vcvtlt.u32.f32','vcvtgt.u32.f32','vcvtle.u32.f32', - 'vcvteq.u32.f64','vcvtne.u32.f64','vcvtcs.u32.f64','vcvths.u32.f64','vcvtcc.u32.f64','vcvtlo.u32.f64','vcvtmi.u32.f64','vcvtpl.u32.f64','vcvtvs.u32.f64','vcvtvc.u32.f64','vcvthi.u32.f64','vcvtls.u32.f64','vcvtge.u32.f64','vcvtlt.u32.f64','vcvtgt.u32.f64','vcvtle.u32.f64', - 'vcvteq.f16.f32','vcvtne.f16.f32','vcvtcs.f16.f32','vcvths.f16.f32','vcvtcc.f16.f32','vcvtlo.f16.f32','vcvtmi.f16.f32','vcvtpl.f16.f32','vcvtvs.f16.f32','vcvtvc.f16.f32','vcvthi.f16.f32','vcvtls.f16.f32','vcvtge.f16.f32','vcvtlt.f16.f32','vcvtgt.f16.f32','vcvtle.f16.f32', - 'vcvteq.f32.s32','vcvtne.f32.s32','vcvtcs.f32.s32','vcvths.f32.s32','vcvtcc.f32.s32','vcvtlo.f32.s32','vcvtmi.f32.s32','vcvtpl.f32.s32','vcvtvs.f32.s32','vcvtvc.f32.s32','vcvthi.f32.s32','vcvtls.f32.s32','vcvtge.f32.s32','vcvtlt.f32.s32','vcvtgt.f32.s32','vcvtle.f32.s32', - 'vcvteq.f32.u32','vcvtne.f32.u32','vcvtcs.f32.u32','vcvths.f32.u32','vcvtcc.f32.u32','vcvtlo.f32.u32','vcvtmi.f32.u32','vcvtpl.f32.u32','vcvtvs.f32.u32','vcvtvc.f32.u32','vcvthi.f32.u32','vcvtls.f32.u32','vcvtge.f32.u32','vcvtlt.f32.u32','vcvtgt.f32.u32','vcvtle.f32.u32', - 'vcvteq.f32.f16','vcvtne.f32.f16','vcvtcs.f32.f16','vcvths.f32.f16','vcvtcc.f32.f16','vcvtlo.f32.f16','vcvtmi.f32.f16','vcvtpl.f32.f16','vcvtvs.f32.f16','vcvtvc.f32.f16','vcvthi.f32.f16','vcvtls.f32.f16','vcvtge.f32.f16','vcvtlt.f32.f16','vcvtgt.f32.f16','vcvtle.f32.f16', - 'vcvteq.f32.f64','vcvtne.f32.f64','vcvtcs.f32.f64','vcvths.f32.f64','vcvtcc.f32.f64','vcvtlo.f32.f64','vcvtmi.f32.f64','vcvtpl.f32.f64','vcvtvs.f32.f64','vcvtvc.f32.f64','vcvthi.f32.f64','vcvtls.f32.f64','vcvtge.f32.f64','vcvtlt.f32.f64','vcvtgt.f32.f64','vcvtle.f32.f64', - 'vcvteq.f64.s32','vcvtne.f64.s32','vcvtcs.f64.s32','vcvths.f64.s32','vcvtcc.f64.s32','vcvtlo.f64.s32','vcvtmi.f64.s32','vcvtpl.f64.s32','vcvtvs.f64.s32','vcvtvc.f64.s32','vcvthi.f64.s32','vcvtls.f64.s32','vcvtge.f64.s32','vcvtlt.f64.s32','vcvtgt.f64.s32','vcvtle.f64.s32', - 'vcvteq.f64.u32','vcvtne.f64.u32','vcvtcs.f64.u32','vcvths.f64.u32','vcvtcc.f64.u32','vcvtlo.f64.u32','vcvtmi.f64.u32','vcvtpl.f64.u32','vcvtvs.f64.u32','vcvtvc.f64.u32','vcvthi.f64.u32','vcvtls.f64.u32','vcvtge.f64.u32','vcvtlt.f64.u32','vcvtgt.f64.u32','vcvtle.f64.u32', - 'vcvteq.f64.f32','vcvtne.f64.f32','vcvtcs.f64.f32','vcvths.f64.f32','vcvtcc.f64.f32','vcvtlo.f64.f32','vcvtmi.f64.f32','vcvtpl.f64.f32','vcvtvs.f64.f32','vcvtvc.f64.f32','vcvthi.f64.f32','vcvtls.f64.f32','vcvtge.f64.f32','vcvtlt.f64.f32','vcvtgt.f64.f32','vcvtle.f64.f32', - - 'vcvtreq.s32.f32','vcvtrne.s32.f32','vcvtrcs.s32.f32','vcvtrhs.s32.f32','vcvtrcc.s32.f32','vcvtrlo.s32.f32','vcvtrmi.s32.f32','vcvtrpl.s32.f32','vcvtrvs.s32.f32','vcvtrvc.s32.f32','vcvtrhi.s32.f32','vcvtrls.s32.f32','vcvtrge.s32.f32','vcvtrlt.s32.f32','vcvtrgt.s32.f32','vcvtrle.s32.f32', - 'vcvtreq.s32.f64','vcvtrne.s32.f64','vcvtrcs.s32.f64','vcvtrhs.s32.f64','vcvtrcc.s32.f64','vcvtrlo.s32.f64','vcvtrmi.s32.f64','vcvtrpl.s32.f64','vcvtrvs.s32.f64','vcvtrvc.s32.f64','vcvtrhi.s32.f64','vcvtrls.s32.f64','vcvtrge.s32.f64','vcvtrlt.s32.f64','vcvtrgt.s32.f64','vcvtrle.s32.f64', - 'vcvtreq.u32.f32','vcvtrne.u32.f32','vcvtrcs.u32.f32','vcvtrhs.u32.f32','vcvtrcc.u32.f32','vcvtrlo.u32.f32','vcvtrmi.u32.f32','vcvtrpl.u32.f32','vcvtrvs.u32.f32','vcvtrvc.u32.f32','vcvtrhi.u32.f32','vcvtrls.u32.f32','vcvtrge.u32.f32','vcvtrlt.u32.f32','vcvtrgt.u32.f32','vcvtrle.u32.f32', - 'vcvtreq.u32.f64','vcvtrne.u32.f64','vcvtrcs.u32.f64','vcvtrhs.u32.f64','vcvtrcc.u32.f64','vcvtrlo.u32.f64','vcvtrmi.u32.f64','vcvtrpl.u32.f64','vcvtrvs.u32.f64','vcvtrvc.u32.f64','vcvtrhi.u32.f64','vcvtrls.u32.f64','vcvtrge.u32.f64','vcvtrlt.u32.f64','vcvtrgt.u32.f64','vcvtrle.u32.f64', - - 'vcvtbeq.f16.f32','vcvtbne.f16.f32','vcvtbcs.f16.f32','vcvtbhs.f16.f32','vcvtbcc.f16.f32','vcvtblo.f16.f32','vcvtbmi.f16.f32','vcvtbpl.f16.f32','vcvtbvs.f16.f32','vcvtbvc.f16.f32','vcvtbhi.f16.f32','vcvtbls.f16.f32','vcvtbge.f16.f32','vcvtblt.f16.f32','vcvtbgt.f16.f32','vcvtble.f16.f32', - 'vcvtbeq.f32.f16','vcvtbne.f32.f16','vcvtbcs.f32.f16','vcvtbhs.f32.f16','vcvtbcc.f32.f16','vcvtblo.f32.f16','vcvtbmi.f32.f16','vcvtbpl.f32.f16','vcvtbvs.f32.f16','vcvtbvc.f32.f16','vcvtbhi.f32.f16','vcvtbls.f32.f16','vcvtbge.f32.f16','vcvtblt.f32.f16','vcvtbgt.f32.f16','vcvtble.f32.f16', - - 'vcvtteq.f16.f32','vcvttne.f16.f32','vcvttcs.f16.f32','vcvtths.f16.f32','vcvttcc.f16.f32','vcvttlo.f16.f32','vcvttmi.f16.f32','vcvttpl.f16.f32','vcvttvs.f16.f32','vcvttvc.f16.f32','vcvtthi.f16.f32','vcvttls.f16.f32','vcvttge.f16.f32','vcvttlt.f16.f32','vcvttgt.f16.f32','vcvttle.f16.f32', - 'vcvtteq.f32.f16','vcvttne.f32.f16','vcvttcs.f32.f16','vcvtths.f32.f16','vcvttcc.f32.f16','vcvttlo.f32.f16','vcvttmi.f32.f16','vcvttpl.f32.f16','vcvttvs.f32.f16','vcvttvc.f32.f16','vcvtthi.f32.f16','vcvttls.f32.f16','vcvttge.f32.f16','vcvttlt.f32.f16','vcvttgt.f32.f16','vcvttle.f32.f16', - - 'vdiveq.f32','vdivne.f32','vdivcs.f32','vdivhs.f32','vdivcc.f32','vdivlo.f32','vdivmi.f32','vdivpl.f32','vdivvs.f32','vdivvc.f32','vdivhi.f32','vdivls.f32','vdivge.f32','vdivlt.f32','vdivgt.f32','vdivle.f32', - 'vdiveq.f64','vdivne.f64','vdivcs.f64','vdivhs.f64','vdivcc.f64','vdivlo.f64','vdivmi.f64','vdivpl.f64','vdivvs.f64','vdivvc.f64','vdivhi.f64','vdivls.f64','vdivge.f64','vdivlt.f64','vdivgt.f64','vdivle.f64', - - 'vmaxeq.f32','vmaxne.f32','vmaxcs.f32','vmaxhs.f32','vmaxcc.f32','vmaxlo.f32','vmaxmi.f32','vmaxpl.f32','vmaxvs.f32','vmaxvc.f32','vmaxhi.f32','vmaxls.f32','vmaxge.f32','vmaxlt.f32','vmaxgt.f32','vmaxle.f32', - 'vmineq.f32','vminne.f32','vmincs.f32','vminhs.f32','vmincc.f32','vminlo.f32','vminmi.f32','vminpl.f32','vminvs.f32','vminvc.f32','vminhi.f32','vminls.f32','vminge.f32','vminlt.f32','vmingt.f32','vminle.f32', - - 'vmlaeq.f32','vmlane.f32','vmlacs.f32','vmlahs.f32','vmlacc.f32','vmlalo.f32','vmlami.f32','vmlapl.f32','vmlavs.f32','vmlavc.f32','vmlahi.f32','vmlals.f32','vmlage.f32','vmlalt.f32','vmlagt.f32','vmlale.f32', - 'vmlaeq.f64','vmlane.f64','vmlacs.f64','vmlahs.f64','vmlacc.f64','vmlalo.f64','vmlami.f64','vmlapl.f64','vmlavs.f64','vmlavc.f64','vmlahi.f64','vmlals.f64','vmlage.f64','vmlalt.f64','vmlagt.f64','vmlale.f64', - - 'vmlseq.f32','vmlsne.f32','vmlscs.f32','vmlshs.f32','vmlscc.f32','vmlslo.f32','vmlsmi.f32','vmlspl.f32','vmlsvs.f32','vmlsvc.f32','vmlshi.f32','vmlsls.f32','vmlsge.f32','vmlslt.f32','vmlsgt.f32','vmlsle.f32', - 'vmlseq.f64','vmlsne.f64','vmlscs.f64','vmlshs.f64','vmlscc.f64','vmlslo.f64','vmlsmi.f64','vmlspl.f64','vmlsvs.f64','vmlsvc.f64','vmlshi.f64','vmlsls.f64','vmlsge.f64','vmlslt.f64','vmlsgt.f64','vmlsle.f64', - - 'vmuleq.f32','vmulne.f32','vmulcs.f32','vmulhs.f32','vmulcc.f32','vmullo.f32','vmulmi.f32','vmulpl.f32','vmulvs.f32','vmulvc.f32','vmulhi.f32','vmulls.f32','vmulge.f32','vmullt.f32','vmulgt.f32','vmulle.f32', - 'vmuleq.f64','vmulne.f64','vmulcs.f64','vmulhs.f64','vmulcc.f64','vmullo.f64','vmulmi.f64','vmulpl.f64','vmulvs.f64','vmulvc.f64','vmulhi.f64','vmulls.f64','vmulge.f64','vmullt.f64','vmulgt.f64','vmulle.f64', - - 'vnegeq.f32','vnegne.f32','vnegcs.f32','vneghs.f32','vnegcc.f32','vneglo.f32','vnegmi.f32','vnegpl.f32','vnegvs.f32','vnegvc.f32','vneghi.f32','vnegls.f32','vnegge.f32','vneglt.f32','vneggt.f32','vnegle.f32', - 'vnegeq.f64','vnegne.f64','vnegcs.f64','vneghs.f64','vnegcc.f64','vneglo.f64','vnegmi.f64','vnegpl.f64','vnegvs.f64','vnegvc.f64','vneghi.f64','vnegls.f64','vnegge.f64','vneglt.f64','vneggt.f64','vnegle.f64', - - 'vnmlaeq.f32','vnmlane.f32','vnmlacs.f32','vnmlahs.f32','vnmlacc.f32','vnmlalo.f32','vnmlami.f32','vnmlapl.f32','vnmlavs.f32','vnmlavc.f32','vnmlahi.f32','vnmlals.f32','vnmlage.f32','vnmlalt.f32','vnmlagt.f32','vnmlale.f32', - 'vnmlaeq.f64','vnmlane.f64','vnmlacs.f64','vnmlahs.f64','vnmlacc.f64','vnmlalo.f64','vnmlami.f64','vnmlapl.f64','vnmlavs.f64','vnmlavc.f64','vnmlahi.f64','vnmlals.f64','vnmlage.f64','vnmlalt.f64','vnmlagt.f64','vnmlale.f64', - - 'vnmlseq.f32','vnmlsne.f32','vnmlscs.f32','vnmlshs.f32','vnmlscc.f32','vnmlslo.f32','vnmlsmi.f32','vnmlspl.f32','vnmlsvs.f32','vnmlsvc.f32','vnmlshi.f32','vnmlsls.f32','vnmlsge.f32','vnmlslt.f32','vnmlsgt.f32','vnmlsle.f32', - 'vnmlseq.f64','vnmlsne.f64','vnmlscs.f64','vnmlshs.f64','vnmlscc.f64','vnmlslo.f64','vnmlsmi.f64','vnmlspl.f64','vnmlsvs.f64','vnmlsvc.f64','vnmlshi.f64','vnmlsls.f64','vnmlsge.f64','vnmlslt.f64','vnmlsgt.f64','vnmlsle.f64', - - 'vnmuleq.f64','vnmulne.f64','vnmulcs.f64','vnmulhs.f64','vnmulcc.f64','vnmullo.f64','vnmulmi.f64','vnmulpl.f64','vnmulvs.f64','vnmulvc.f64','vnmulhi.f64','vnmulls.f64','vnmulge.f64','vnmullt.f64','vnmulgt.f64','vnmulle.f64', - 'vnmuleq.f32','vnmulne.f32','vnmulcs.f32','vnmulhs.f32','vnmulcc.f32','vnmullo.f32','vnmulmi.f32','vnmulpl.f32','vnmulvs.f32','vnmulvc.f32','vnmulhi.f32','vnmulls.f32','vnmulge.f32','vnmullt.f32','vnmulgt.f32','vnmulle.f32', - - 'vpaddeq.f32','vpaddne.f32','vpaddcs.f32','vpaddhs.f32','vpaddcc.f32','vpaddlo.f32','vpaddmi.f32','vpaddpl.f32','vpaddvs.f32','vpaddvc.f32','vpaddhi.f32','vpaddls.f32','vpaddge.f32','vpaddlt.f32','vpaddgt.f32','vpaddle.f32', - - 'vpmaxeq.f32','vpmaxne.f32','vpmaxcs.f32','vpmaxhs.f32','vpmaxcc.f32','vpmaxlo.f32','vpmaxmi.f32','vpmaxpl.f32','vpmaxvs.f32','vpmaxvc.f32','vpmaxhi.f32','vpmaxls.f32','vpmaxge.f32','vpmaxlt.f32','vpmaxgt.f32','vpmaxle.f32', - 'vpmineq.f32','vpminne.f32','vpmincs.f32','vpminhs.f32','vpmincc.f32','vpminlo.f32','vpminmi.f32','vpminpl.f32','vpminvs.f32','vpminvc.f32','vpminhi.f32','vpminls.f32','vpminge.f32','vpminlt.f32','vpmingt.f32','vpminle.f32', - - 'vrecpeeq.u32','vrecpene.u32','vrecpecs.u32','vrecpehs.u32','vrecpecc.u32','vrecpelo.u32','vrecpemi.u32','vrecpepl.u32','vrecpevs.u32','vrecpevc.u32','vrecpehi.u32','vrecpels.u32','vrecpege.u32','vrecpelt.u32','vrecpegt.u32','vrecpele.u32', - 'vrecpeeq.f32','vrecpene.f32','vrecpecs.f32','vrecpehs.f32','vrecpecc.f32','vrecpelo.f32','vrecpemi.f32','vrecpepl.f32','vrecpevs.f32','vrecpevc.f32','vrecpehi.f32','vrecpels.f32','vrecpege.f32','vrecpelt.f32','vrecpegt.f32','vrecpele.f32', - 'vrecpseq.f32','vrecpsne.f32','vrecpscs.f32','vrecpshs.f32','vrecpscc.f32','vrecpslo.f32','vrecpsmi.f32','vrecpspl.f32','vrecpsvs.f32','vrecpsvc.f32','vrecpshi.f32','vrecpsls.f32','vrecpsge.f32','vrecpslt.f32','vrecpsgt.f32','vrecpsle.f32', - - 'vrsqrteeq.u32','vrsqrtene.u32','vrsqrtecs.u32','vrsqrtehs.u32','vrsqrtecc.u32','vrsqrtelo.u32','vrsqrtemi.u32','vrsqrtepl.u32','vrsqrtevs.u32','vrsqrtevc.u32','vrsqrtehi.u32','vrsqrtels.u32','vrsqrtege.u32','vrsqrtelt.u32','vrsqrtegt.u32','vrsqrtele.u32', - 'vrsqrteeq.f32','vrsqrtene.f32','vrsqrtecs.f32','vrsqrtehs.f32','vrsqrtecc.f32','vrsqrtelo.f32','vrsqrtemi.f32','vrsqrtepl.f32','vrsqrtevs.f32','vrsqrtevc.f32','vrsqrtehi.f32','vrsqrtels.f32','vrsqrtege.f32','vrsqrtelt.f32','vrsqrtegt.f32','vrsqrtele.f32', - 'vrsqrtseq.f32','vrsqrtsne.f32','vrsqrtscs.f32','vrsqrtshs.f32','vrsqrtscc.f32','vrsqrtslo.f32','vrsqrtsmi.f32','vrsqrtspl.f32','vrsqrtsvs.f32','vrsqrtsvc.f32','vrsqrtshi.f32','vrsqrtsls.f32','vrsqrtsge.f32','vrsqrtslt.f32','vrsqrtsgt.f32','vrsqrtsle.f32', - - 'vsqrteq.f32','vsqrtne.f32','vsqrtcs.f32','vsqrths.f32','vsqrtcc.f32','vsqrtlo.f32','vsqrtmi.f32','vsqrtpl.f32','vsqrtvs.f32','vsqrtvc.f32','vsqrthi.f32','vsqrtls.f32','vsqrtge.f32','vsqrtlt.f32','vsqrtgt.f32','vsqrtle.f32', - 'vsqrteq.f64','vsqrtne.f64','vsqrtcs.f64','vsqrths.f64','vsqrtcc.f64','vsqrtlo.f64','vsqrtmi.f64','vsqrtpl.f64','vsqrtvs.f64','vsqrtvc.f64','vsqrthi.f64','vsqrtls.f64','vsqrtge.f64','vsqrtlt.f64','vsqrtgt.f64','vsqrtle.f64', - - 'vsubeq.f32','vsubne.f32','vsubcs.f32','vsubhs.f32','vsubcc.f32','vsublo.f32','vsubmi.f32','vsubpl.f32','vsubvs.f32','vsubvc.f32','vsubhi.f32','vsubls.f32','vsubge.f32','vsublt.f32','vsubgt.f32','vsuble.f32', - 'vsubeq.f64','vsubne.f64','vsubcs.f64','vsubhs.f64','vsubcc.f64','vsublo.f64','vsubmi.f64','vsubpl.f64','vsubvs.f64','vsubvc.f64','vsubhi.f64','vsubls.f64','vsubge.f64','vsublt.f64','vsubgt.f64','vsuble.f64' - ), - /* Registers */ - 35 => array( - /* General-Purpose Registers */ - 'r0','r1','r2','r3','r4','r5','r6','r7', - 'r8','r9','r10','r11','r12','r13','r14','r15', - /* Scratch Registers */ - 'a1','a2','a3','a4', - /* Variable Registers */ - 'v1','v2','v3','v4','v5','v6','v7','v8', - /* Other Synonims for General-Purpose Registers */ - 'sb','sl','fp','ip','sp','lr','pc', - /* WMMX Data Registers */ - 'wr0','wr1','wr2','wr3','wr4','wr5','wr6','wr7', - 'wr8','wr9','wr10','wr11','wr12','wr13','wr14','wr15', - /* WMMX Control Registers */ - 'wcid','wcon','wcssf','wcasf', - /* WMMX-Mapped General-Purpose Registers */ - 'wcgr0','wcgr1','wcgr2','wcgr3', - /* VFPv3 Registers */ - 's0','s1','s2','s3','s4','s5','s6','s7', - 's8','s9','s10','s11','s12','s13','s14','s15', - 's16','s17','s18','s19','s20','s21','s22','s23', - 's24','s25','s26','s27','s28','s29','s30','s31', - /* VFPv3/NEON Registers */ - 'd0','d1','d2','d3','d4','d5','d6','d7', - 'd8','d9','d10','d11','d12','d13','d14','d15', - 'd16','d17','d18','d19','d20','d21','d22','d23', - 'd24','d25','d26','d27','d28','d29','d30','d31', - /* NEON Registers */ - 'q0','q1','q2','q3','q4','q5','q6','q7', - 'q8','q9','q10','q11','q12','q13','q14','q15' - ) - ), - 'SYMBOLS' => array( - '[', ']', '(', ')', - '+', '-', '*', '/', '%', - '.', ',', ';', ':' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - 5 => false, - 6 => false, - 7 => false, - 8 => false, - 9 => false, - 10 => false, - 11 => false, - 12 => false, - 13 => false, - 14 => false, - 15 => false, - 16 => false, - 17 => false, - 18 => false, - 19 => false, - 20 => false, - 21 => false, - 22 => false, - 23 => false, - 24 => false, - 25 => false, - 26 => false, - 27 => false, - 28 => false, - 29 => false, - 30 => false, - 31 => false, - 32 => false, - 33 => false, - 34 => false, - 35 => false - ), - 'STYLES' => array( - 'KEYWORDS' => array( - /* Unconditional Data Processing Instructions */ - 1 => 'color: #00007f; font-weight: normal; font-style: normal;', - /* Conditional Data Processing Instructions */ - 2 => 'color: #00007f; font-weight: normal; font-style: italic;', - /* Unconditional Memory Access Instructions */ - 3 => 'color: #00007f; font-weight: normal; font-style: normal;', - /* Conditional Memory Access Instructions */ - 4 => 'color: #00007f; font-weight: normal; font-style: italic;', - /* Unconditional Flags Changing Instructions */ - 5 => 'color: #00007f; font-weight: bold; font-style: normal;', - /* Conditional Flags Changing Instructions */ - 6 => 'color: #00007f; font-weight: bold; font-style: italic;', - /* Unconditional Flow Control Instructions */ - 7 => 'color: #0000ff; font-weight: normal; font-style: normal;', - /* Conditional Flow Control Instructions */ - 8 => 'color: #0000ff; font-weight: normal; font-style: italic;', - /* Unconditional Syncronization Instructions */ - 9 => 'color: #00007f; font-weight: normal; font-style: normal;', - /* Conditional Syncronization Instructions */ - 10 => 'color: #00007f; font-weight: normal; font-style: italic;', - /* Unonditional ARMv6 SIMD */ - 11 => 'color: #b00040; font-weight: normal; font-style: normal;', - /* Conditional ARMv6 SIMD */ - 12 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Unconditional Coprocessor Instructions */ - 13 => 'color: #00007f; font-weight: normal; font-style: normal;', - /* Conditional Coprocessor Instructions */ - 14 => 'color: #00007f; font-weight: bold; font-style: italic;', - /* Unconditional System Instructions */ - 15 => 'color: #00007f; font-weight: normal; font-style: normal;', - /* Conditional System Instructions */ - 16 => 'color: #00007f; font-weight: bold; font-style: italic;', - /* Unconditional WMMX/WMMX2 SIMD Instructions */ - 17 => 'color: #b00040; font-weight: normal; font-style: normal;', - /* Conditional WMMX/WMMX2 SIMD Instructions */ - 18 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Unconditional VFPv3 & NEON SIMD Memory Access Instructions */ - 19 => 'color: #b00040; font-weight: normal; font-style: normal;', - /* Unconditional NEON SIMD Logical Instructions */ - 20 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Unconditional NEON SIMD ARM Registers Interop Instructions */ - 21 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Unconditional NEON SIMD Bit/Byte-Level Instructions */ - 22 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Unconditional NEON SIMD Universal Integer Instructions */ - 23 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Unconditional NEON SIMD Signed Integer Instructions */ - 24 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Unconditional NEON SIMD Unsigned Integer Instructions */ - 25 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Unconditional VFPv3 & NEON SIMD Floating-Point Instructions */ - 26 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Conditional VFPv3 & NEON SIMD Memory Access Instructions */ - 27 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Conditional NEON SIMD Logical Instructions */ - 28 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Conditional NEON SIMD ARM Registers Interop Instructions */ - 29 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Conditional NEON SIMD Bit/Byte-Level Instructions */ - 30 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Conditional NEON SIMD Universal Integer Instructions */ - 31 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Conditional NEON SIMD Signed Integer Instructions */ - 32 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Conditional NEON SIMD Unsigned Integer Instructions */ - 33 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Conditional VFPv3 & NEON SIMD Floating-Point Instructions */ - 34 => 'color: #b00040; font-weight: normal; font-style: italic;', - /* Registers */ - 35 => 'color: #46aa03; font-weight: bold;' - ), - 'COMMENTS' => array( - 1 => 'color: #666666; font-style: italic;', - 2 => 'color: #adadad; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #009900; font-weight: bold;' - ), - 'STRINGS' => array( - 0 => 'color: #7f007f;' - ), - 'NUMBERS' => array( - 0 => 'color: #ff0000;' - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 0 => 'color: #339933;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => '', - 6 => '', - 7 => '', - 8 => '', - 9 => '', - 10 => '', - 11 => '', - 12 => '', - 13 => '', - 14 => '', - 15 => '', - 16 => '', - 17 => '', - 18 => '', - 19 => '', - 20 => '', - 21 => '', - 22 => '', - 23 => '', - 24 => '', - 25 => '', - 26 => '', - 27 => '', - 28 => '', - 29 => '', - 30 => '', - 31 => '', - 32 => '', - 33 => '', - 34 => '', - 35 => '' - ), - 'NUMBERS' => - GESHI_NUMBER_BIN_PREFIX_PERCENT | - GESHI_NUMBER_BIN_SUFFIX | - GESHI_NUMBER_HEX_PREFIX | - GESHI_NUMBER_HEX_SUFFIX | - GESHI_NUMBER_OCT_SUFFIX | - GESHI_NUMBER_INT_BASIC | - GESHI_NUMBER_FLT_NONSCI | - GESHI_NUMBER_FLT_NONSCI_F | - GESHI_NUMBER_FLT_SCI_ZERO, - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 8, - 'PARSER_CONTROL' => array( - 'KEYWORDS' => array( - 'DISALLOWED_BEFORE' => "(?|^])", - 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%])" - ) - ) -); - diff --git a/vendor/easybook/geshi/geshi/asm.php b/vendor/easybook/geshi/geshi/asm.php deleted file mode 100644 index 53ce805..0000000 --- a/vendor/easybook/geshi/geshi/asm.php +++ /dev/null @@ -1,602 +0,0 @@ - 'ASM', - 'COMMENT_SINGLE' => array(1 => ';'), - 'COMMENT_MULTI' => array(), - //Line address prefix suppression - 'COMMENT_REGEXP' => array(2 => "/^(?:[0-9a-f]{0,4}:)?[0-9a-f]{4}(?:[0-9a-f]{4})?/mi"), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - /* General-Purpose */ - 1 => array( - /* BCD instructions */ - 'aaa','aad','aam','aas','daa','das', - /* Control flow instructions */ - 'ja','jae','jb','jbe','jc','je','jg','jge','jl','jle','jmp','jna', - 'jnae','jnb','jnbe','jnc','jne','jng','jnge','jnl','jnle','jno','jnp','jns','jnz', - 'jo','jp','jpe','jpo','js','jz','jcxz','jecxz','jrcxz','loop','loope','loopne', - 'call','ret','enter','leave','syscall','sysenter','int','into', - /* Predicate instructions */ - 'seta','setae','setb','setbe','setc','sete','setg','setge','setl','setle','setna', - 'setnae','setnb','setnbe','setnc','setne','setng','setnge','setnl','setnle','setno', - 'setnp','setns','setnz','seto','setp','setpe','setpo','sets','setz','salc', - /* Conditional move instructions */ - 'cmovo','cmovno','cmovb','cmovc','cmovnae','cmovae','cmovnb','cmovnc','cmove','cmovz', - 'cmovne','cmovnz','cmovbe','cmovna','cmova','cmovnbe','cmovs','cmovns','cmovp','cmovpe', - 'cmovnp','cmovpo','cmovl','cmovnge','cmovge','cmovnl','cmovle','cmovng','cmovg','cmovnle', - /* ALU instructions */ - 'add','sub','adc','sbb','neg','cmp','inc','dec','and','or','xor','not','test', - 'shl','shr','sal','sar','shld','shrd','rol','ror','rcl','rcr', - 'cbw','cwd','cwde','cdq','cdqe','cqo','bsf','bsr','bt','btc','btr','bts', - 'idiv','imul','div','mul','bswap','nop', - /* Memory instructions */ - 'lea','mov','movsx','movsxd','movzx','xlatb','bound','xchg','xadd','cmpxchg','cmpxchg8b','cmpxchg16b', - /* Stack instructions */ - 'push','pop','pusha','popa','pushad','popad','pushf','popf','pushfd','popfd','pushfq','popfq', - /* EFLAGS manipulations instructions */ - 'clc','cld','stc','std','cmc','lahf','sahf', - /* Prefix instructions */ - 'lock','rep','repe','repz','repne','repnz', - /* String instructions */ - 'cmps','cmpsb','cmpsw',/*'cmpsd',*/ 'cmpsq', /*CMPSD conflicts with the SSE2 instructions of the same name*/ - 'movs','movsb','movsw',/*'movsd',*/ 'movsq', /*MOVSD conflicts with the SSE2 instructions of the same name*/ - 'scas','scasb','scasw','scasd','scasq', - 'stos','stosb','stosw','stosd','stosq', - 'lods','lodsb','lodsw','lodsd','lodsq', - /* Information instructions */ - 'cpuid','rdtsc','rdtscp','rdpmc','xgetbv', - 'sgdt','sidt','sldt','smsw','str','lar', - /* LWP instructions */ - 'llwpcb','slwpcb','lwpval','lwpins', - /* Instructions from miscellaneous extensions */ - 'crc32','popcnt','lzcnt','tzcnt','movbe','pclmulqdq','rdrand', - /* FSGSBASE instructions */ - 'rdfsbase','rdgsbase','wrfsbase','wrgsbase', - /* BMI1 instructions */ - 'andn','bextr','blsi','blsmk','blsr', - /* BMI2 instructions */ - 'bzhi','mulx','pdep','pext','rorx','sarx','shlx','shrx', - /* TBM instructions */ - 'blcfill','blci','blcic','blcmsk','blcs','blsfill','blsic','t1mskc','tzmsk', - /* Legacy instructions */ - 'arpl','ud2','lds','les','lfs','lgs','lss','lsl','verr','verw', - /* Privileged instructions */ - 'cli','sti','clts','hlt','rsm','in','insb','insw','insd', - 'out','outsb','outsw','outsd','clflush','invd','invlpg','invpcid','wbinvd', - 'iret','iretd','iretq','sysexit','sysret','lidt','lgdt','lldt','lmsw','ltr', - 'monitor','mwait','rdmsr','wrmsr','swapgs', - 'fxsave','fxsave64','fxrstor','fxrstor64', - 'xsave','xsaveopt','xrstor','xsetbv','getsec', - /* VMX instructions */ - 'invept','invvpid','vmcall','vmclear','vmlaunch','vmresume', - 'vmptrld','vmptrst','vmread','vmwrite','vmxoff','vmxon', - /* SVM (AMD-V) instructions */ - 'invlpga','skinit','clgi','stgi','vmload','vmsave','vmmcall','vmrun' - ), - /*FPU*/ - 2 => array( - 'f2xm1','fabs','fadd','faddp','fbld','fbstp','fchs','fclex','fcom','fcomp','fcompp','fdecstp', - 'fdisi','fdiv','fdivp','fdivr','fdivrp','feni','ffree','fiadd','ficom','ficomp','fidiv', - 'fidivr','fild','fimul','fincstp','finit','fist','fistp','fisub','fisubr','fld','fld1', - 'fldcw','fldenv','fldenvw','fldl2e','fldl2t','fldlg2','fldln2','fldpi','fldz','fmul', - 'fmulp','fnclex','fndisi','fneni','fninit','fnop','fnsave','fnsavew','fnstcw','fnstenv', - 'fnstenvw','fnstsw','fpatan','fprem','fptan','frndint','frstor','frstorw','fsave', - 'fsavew','fscale','fsqrt','fst','fstcw','fstenv','fstenvw','fstp','fstsw','fsub','fsubp', - 'fsubr','fsubrp','ftst','fwait','fxam','fxch','fxtract','fyl2x','fyl2xp1', - 'fsetpm','fcos','fldenvd','fnsaved','fnstenvd','fprem1','frstord','fsaved','fsin','fsincos', - 'fstenvd','fucom','fucomp','fucompp','ffreep', - /* FCMOV instructions */ - 'fcomi','fcomip','fucomi','fucomip', - 'fcmovb','fcmove','fcmovbe','fcmovu','fcmovnb','fcmovne','fcmovnbe','fcmovnu', - /* SSE3 instructions */ - 'fisttp' - ), - /*SIMD*/ - 3 => array( - /* MMX instructions */ - 'movd','movq', - 'paddb','paddw','paddd','paddsb','paddsw','paddusb','paddusw', - 'psubb','psubw','psubd','psubsb','psubsw','psubusb','psubusw', - 'pand','pandn','por','pxor', - 'pcmpeqb','pcmpeqd','pcmpeqw','pcmpgtb','pcmpgtd','pcmpgtw', - 'pmaddwd','pmulhw','pmullw', - 'psllw','pslld','psllq','psrlw','psrld','psrlq','psraw','psrad', - 'packuswb','packsswb','packssdw', - 'punpcklbw','punpcklwd','punpckldq','punpckhbw','punpckhwd','punpckhdq', - 'emms', - /* MMX+ instructions */ - 'pavgb','pavgw', - 'pextrw','pinsrw','pmovmskb', - 'pmaxsw','pmaxub','pminsw','pminub', - 'pmulhuw','psadbw','pshufw', - 'prefetchnta','prefetcht0','prefetcht1','prefetcht2', - 'maskmovq','movntq','sfence', - /* EMMX instructions (only available on Cyrix MediaGXm) */ - 'paddsiw','psubsiw', - /*'pmulhrw',*/'pmachriw','pmulhriw', /* PMULHRW conflicts with the 3dnow! instruction of the same name */ - 'pmagw','pdistib','paveb', - 'pmvzb','pmvnzb','pmvlzb','pmvgezb', - /* 3dnow! instructions! */ - 'pfacc','pfadd','pfsub','pfsubr','pfmul', - 'pfcmpeq','pfcmpge','pfcmpgt', - 'pfmax','pfmin', - 'pfrcp','pfrcpit1','pfrcpit2','pfrsqit1','pfrsqrt', - 'pi2fd','pf2id', - 'pavgusb','pmulhrw', - 'femms', - /* 3dnow!+ instructions */ - 'pfnacc','pfpnacc','pi2fw','pf2iw','pswapd', - /* 3dnow! Geode instructions */ - 'pfrsqrtv','pfrcpv', - /* 3dnow! Prefetch instructions */ - 'prefetch','prefetchw', - /* SSE instructions */ - 'addss','addps','subss','subps', - 'mulss','mulps','divss','divps','sqrtss','sqrtps', - 'rcpss','rcpps','rsqrtss','rsqrtps', - 'maxss','maxps','minss','minps', - 'cmpss','comiss','ucomiss','cmpps', - 'cmpeqss','cmpltss','cmpless','cmpunordss','cmpneqss','cmpnltss','cmpnless','cmpordss', - 'cmpeqps','cmpltps','cmpleps','cmpunordps','cmpneqps','cmpnltps','cmpnleps','cmpordps', - 'andnps','andps','orps','xorps', - 'cvtsi2ss','cvtss2si','cvttss2si', - 'cvtpi2ps','cvtps2pi','cvttps2pi', - 'movss','movlps','movhps','movlhps','movhlps','movaps','movups','movntps','movmskps', - 'shufps','unpckhps','unpcklps', - 'ldmxcsr','stmxcsr', - /* SSE2 instructions */ - 'addpd','addsd','subpd','subsd', - 'mulsd','mulpd','divsd','divpd','sqrtsd','sqrtpd', - 'maxsd','maxpd','minsd','minpd', - 'cmpsd','comisd','ucomisd','cmppd', - 'cmpeqsd','cmpltsd','cmplesd','cmpunordsd','cmpneqsd','cmpnltsd','cmpnlesd','cmpordsd', - 'cmpeqpd','cmpltpd','cmplepd','cmpunordpd','cmpneqpd','cmpnltpd','cmpnlepd','cmpordpd', - 'andnpd','andpd','orpd','xorpd', - 'cvtsd2ss','cvtpd2ps','cvtss2sd','cvtps2pd', - 'cvtdq2ps','cvtps2dq','cvttps2dq', - 'cvtdq2pd','cvtpd2dq','cvttpd2dq', - 'cvtsi2sd','cvtsd2si','cvttsd2si', - 'cvtpi2pd','cvtpd2pi','cvttpd2pi', - 'movsd','movlpd','movhpd','movapd','movupd','movntpd','movmskpd', - 'shufpd','unpckhpd','unpcklpd', - 'movnti','movdqa','movdqu','movntdq','maskmovdqu', - 'movdq2q','movq2dq', - 'paddq','psubq','pmuludq', - 'pslldq','psrldq', - 'punpcklqdq','punpckhqdq', - 'pshufhw','pshuflw','pshufd', - 'lfence','mfence', - /* SSE3 instructions */ - 'addsubps','addsubpd', - 'haddps','haddpd','hsubps','hsubpd', - 'movsldup','movshdup','movddup', - 'lddqu', - /* SSSE3 instructions */ - 'psignb','psignw','psignd', - 'pabsb','pabsw','pabsd', - 'palignr','pshufb', - 'pmulhrsw','pmaddubsw', - 'phaddw','phaddd','phaddsw', - 'phsubw','phsubd','phsubsw', - /* SSE4A instructions */ - 'extrq','insertq','movntsd','movntss', - /* SSE4.1 instructions */ - 'mpsadbw','phminposuw', - 'pmuldq','pmulld', - 'dpps','dppd', - 'blendps','blendpd','blendvps','blendvpd','pblendvb','pblendw', - 'pmaxsb','pmaxuw','pmaxsd','pmaxud','pminsb','pminuw','pminsd','pminud', - 'roundps','roundss','roundpd','roundsd', - 'insertps','pinsrb','pinsrd','pinsrq', - 'extractps','pextrb','pextrd','pextrq', - 'pmovsxbw','pmovsxbd','pmovsxbq','pmovsxwd','pmovsxwq','pmovsxdq', - 'pmovzxbw','pmovzxbd','pmovzxbq','pmovzxwd','pmovzxwq','pmovzxdq', - 'ptest', - 'pcmpeqq', - 'packusdw', - 'movntdqa', - /* SSE4.2 instructions */ - 'pcmpgtq', - 'pcmpestri','pcmpestrm','pcmpistri','pcmpistrm', - /* AES instructions */ - 'aesenc','aesenclast','aesdec','aesdeclast','aeskeygenassist','aesimc', - /* VIA Padlock instructions */ - 'xcryptcbc','xcryptcfb','xcryptctr','xcryptecb','xcryptofb', - 'xsha1','xsha256','montmul','xstore', - /* AVX instructions */ - 'vaddss','vaddps','vaddsd','vaddpd','vsubss','vsubps','vsubsd','vsubpd', - 'vaddsubps','vaddsubpd', - 'vhaddps','vhaddpd','vhsubps','vhsubpd', - 'vmulss','vmulps','vmulsd','vmulpd', - 'vmaxss','vmaxps','vmaxsd','vmaxpd','vminss','vminps','vminsd','vminpd', - 'vandps','vandpd','vandnps','vandnpd','vorps','vorpd','vxorps','vxorpd', - 'vblendps','vblendpd','vblendvps','vblendvpd', - 'vcmpss','vcomiss','vucomiss','vcmpsd','vcomisd','vucomisd','vcmpps','vcmppd', - 'vcmpeqss','vcmpltss','vcmpless','vcmpunordss','vcmpneqss','vcmpnltss','vcmpnless','vcmpordss', - 'vcmpeq_uqss','vcmpngess','vcmpngtss','vcmpfalsess','vcmpneq_oqss','vcmpgess','vcmpgtss','vcmptruess', - 'vcmpeq_osss','vcmplt_oqss','vcmple_oqss','vcmpunord_sss','vcmpneq_usss','vcmpnlt_uqss','vcmpnle_uqss','vcmpord_sss', - 'vcmpeq_usss','vcmpnge_uqss','vcmpngt_uqss','vcmpfalse_osss','vcmpneq_osss','vcmpge_oqss','vcmpgt_oqss','vcmptrue_usss', - 'vcmpeqps','vcmpltps','vcmpleps','vcmpunordps','vcmpneqps','vcmpnltps','vcmpnleps','vcmpordps', - 'vcmpeq_uqps','vcmpngeps','vcmpngtps','vcmpfalseps','vcmpneq_oqps','vcmpgeps','vcmpgtps','vcmptrueps', - 'vcmpeq_osps','vcmplt_oqps','vcmple_oqps','vcmpunord_sps','vcmpneq_usps','vcmpnlt_uqps','vcmpnle_uqps','vcmpord_sps', - 'vcmpeq_usps','vcmpnge_uqps','vcmpngt_uqps','vcmpfalse_osps','vcmpneq_osps','vcmpge_oqps','vcmpgt_oqps','vcmptrue_usps', - 'vcmpeqsd','vcmpltsd','vcmplesd','vcmpunordsd','vcmpneqsd','vcmpnltsd','vcmpnlesd','vcmpordsd', - 'vcmpeq_uqsd','vcmpngesd','vcmpngtsd','vcmpfalsesd','vcmpneq_oqsd','vcmpgesd','vcmpgtsd','vcmptruesd', - 'vcmpeq_ossd','vcmplt_oqsd','vcmple_oqsd','vcmpunord_ssd','vcmpneq_ussd','vcmpnlt_uqsd','vcmpnle_uqsd','vcmpord_ssd', - 'vcmpeq_ussd','vcmpnge_uqsd','vcmpngt_uqsd','vcmpfalse_ossd','vcmpneq_ossd','vcmpge_oqsd','vcmpgt_oqsd','vcmptrue_ussd', - 'vcmpeqpd','vcmpltpd','vcmplepd','vcmpunordpd','vcmpneqpd','vcmpnltpd','vcmpnlepd','vcmpordpd', - 'vcmpeq_uqpd','vcmpngepd','vcmpngtpd','vcmpfalsepd','vcmpneq_oqpd','vcmpgepd','vcmpgtpd','vcmptruepd', - 'vcmpeq_ospd','vcmplt_oqpd','vcmple_oqpd','vcmpunord_spd','vcmpneq_uspd','vcmpnlt_uqpd','vcmpnle_uqpd','vcmpord_spd', - 'vcmpeq_uspd','vcmpnge_uqpd','vcmpngt_uqpd','vcmpfalse_ospd','vcmpneq_ospd','vcmpge_oqpd','vcmpgt_oqpd','vcmptrue_uspd', - 'vcvtsd2ss','vcvtpd2ps','vcvtss2sd','vcvtps2pd', - 'vcvtsi2ss','vcvtss2si','vcvttss2si', - 'vcvtpi2ps','vcvtps2pi','vcvttps2pi', - 'vcvtdq2ps','vcvtps2dq','vcvttps2dq', - 'vcvtdq2pd','vcvtpd2dq','vcvttpd2dq', - 'vcvtsi2sd','vcvtsd2si','vcvttsd2si', - 'vcvtpi2pd','vcvtpd2pi','vcvttpd2pi', - 'vdivss','vdivps','vdivsd','vdivpd','vsqrtss','vsqrtps','vsqrtsd','vsqrtpd', - 'vdpps','vdppd', - 'vmaskmovps','vmaskmovpd', - 'vmovss','vmovsd','vmovaps','vmovapd','vmovups','vmovupd','vmovntps','vmovntpd', - 'vmovhlps','vmovlhps','vmovlps','vmovlpd','vmovhps','vmovhpd', - 'vmovsldup','vmovshdup','vmovddup', - 'vmovmskps','vmovmskpd', - 'vroundss','vroundps','vroundsd','vroundpd', - 'vrcpss','vrcpps','vrsqrtss','vrsqrtps', - 'vunpcklps','vunpckhps','vunpcklpd','vunpckhpd', - 'vbroadcastss','vbroadcastsd','vbroadcastf128', - 'vextractps','vinsertps','vextractf128','vinsertf128', - 'vshufps','vshufpd','vpermilps','vpermilpd','vperm2f128', - 'vtestps','vtestpd', - 'vpaddb','vpaddusb','vpaddsb','vpaddw','vpaddusw','vpaddsw','vpaddd','vpaddq', - 'vpsubb','vpsubusb','vpsubsb','vpsubw','vpsubusw','vpsubsw','vpsubd','vpsubq', - 'vphaddw','vphaddsw','vphaddd','vphsubw','vphsubsw','vphsubd', - 'vpsllw','vpslld','vpsllq','vpsrlw','vpsrld','vpsrlq','vpsraw','vpsrad', - 'vpand','vpandn','vpor','vpxor', - 'vpblendwb','vpblendw', - 'vpsignb','vpsignw','vpsignd', - 'vpavgb','vpavgw', - 'vpabsb','vpabsw','vpabsd', - 'vmovd','vmovq','vmovdqa','vmovdqu','vlddqu','vmovntdq','vmovntdqa','vmaskmovdqu', - 'vpmovsxbw','vpmovsxbd','vpmovsxbq','vpmovsxwd','vpmovsxwq','vpmovsxdq', - 'vpmovzxbw','vpmovzxbd','vpmovzxbq','vpmovzxwd','vpmovzxwq','vpmovzxdq', - 'vpackuswb','vpacksswb','vpackusdw','vpackssdw', - 'vpcmpeqb','vpcmpeqw','vpcmpeqd','vpcmpeqq','vpcmpgtb','vpcmpgtw','vpcmpgtd','vpcmpgtq', - 'vpmaddubsw','vpmaddwd', - 'vpmullw','vpmulhuw','vpmulhw','vpmulhrsw','vpmulld','vpmuludq','vpmuldq', - 'vpmaxub','vpmaxsb','vpmaxuw','vpmaxsw','vpmaxud','vpmaxsd', - 'vpminub','vpminsb','vpminuw','vpminsw','vpminud','vpminsd', - 'vpmovmskb','vptest', - 'vpunpcklbw','vpunpcklwd','vpunpckldq','vpunpcklqdq', - 'vpunpckhbw','vpunpckhwd','vpunpckhdq','vpunpckhqdq', - 'vpslldq','vpsrldq','vpalignr', - 'vpshufb','vpshuflw','vpshufhw','vpshufd', - 'vpextrb','vpextrw','vpextrd','vpextrq','vpinsrb','vpinsrw','vpinsrd','vpinsrq', - 'vpsadbw','vmpsadbw','vphminposuw', - 'vpcmpestri','vpcmpestrm','vpcmpistri','vpcmpistrm', - 'vpclmulqdq','vaesenc','vaesenclast','vaesdec','vaesdeclast','vaeskeygenassist','vaesimc', - 'vldmxcsr','vstmxcsr','vzeroall','vzeroupper', - /* AVX2 instructions */ - 'vbroadcasti128','vpbroadcastb','vpbroadcastw','vpbroadcastd','vpbroadcastq', - 'vpblendd', - 'vpermd','vpermq','vperm2i128', - 'vextracti128','vinserti128', - 'vpmaskmovd','vpmaskmovq', - 'vpsllvd','vpsllvq','vpsravd','vpsrlvd', - 'vpgatherdd','vpgatherqd','vgatherdq','vgatherqq', - 'vpermps','vpermpd', - 'vgatherdpd','vgatherqpd','vgatherdps','vgatherqps', - /* XOP instructions */ - 'vfrczss','vfrczps','vfrczsd','vfrczpd', - 'vpermil2ps','vperlil2pd', - 'vpcomub','vpcomb','vpcomuw','vpcomw','vpcomud','vpcomd','vpcomuq','vpcomq', - 'vphaddubw','vphaddbw','vphaddubd','vphaddbd','vphaddubq','vphaddbq', - 'vphadduwd','vphaddwd','vphadduwq','vphaddwq','vphaddudq','vphadddq', - 'vphsubbw','vphsubwd','vphsubdq', - 'vpmacsdd','vpmacssdd','vpmacsdql','vpmacssdql','vpmacsdqh','vpmacssdqh', - 'vpmacsww','vpmacssww','vpmacswd','vpmacsswd', - 'vpmadcswd','vpmadcsswd', - 'vpcmov','vpperm', - 'vprotb','vprotw','vprotd','vprotq', - 'vpshab','vpshaw','vpshad','vpshaq', - 'vpshlb','vpshlw','vpshld','vpshlq', - /* CVT16 instructions */ - 'vcvtph2ps','vcvtps2ph', - /* FMA4 instructions */ - 'vfmaddss','vfmaddps','vfmaddsd','vfmaddpd', - 'vfmsubss','vfmsubps','vfmsubsd','vfmsubpd', - 'vnfmaddss','vnfmaddps','vnfmaddsd','vnfmaddpd', - 'vnfmsubss','vnfmsubps','vnfmsubsd','vnfmsubpd', - 'vfmaddsubps','vfmaddsubpd','vfmsubaddps','vfmsubaddpd', - /* FMA3 instructions */ - 'vfmadd132ss','vfmadd213ss','vfmadd231ss', - 'vfmadd132ps','vfmadd213ps','vfmadd231ps', - 'vfmadd132sd','vfmadd213sd','vfmadd231sd', - 'vfmadd132pd','vfmadd213pd','vfmadd231pd', - 'vfmaddsub132ps','vfmaddsub213ps','vfmaddsub231ps', - 'vfmaddsub132pd','vfmaddsub213pd','vfmaddsub231pd', - 'vfmsubadd132ps','vfmsubadd213ps','vfmsubadd231ps', - 'vfmsubadd132pd','vfmsubadd213pd','vfmsubadd231pd', - 'vfmsub132ss','vfmsub213ss','vfmsub231ss', - 'vfmsub132ps','vfmsub213ps','vfmsub231ps', - 'vfmsub132sd','vfmsub213sd','vfmsub231sd', - 'vfmsub132pd','vfmsub213pd','vfmsub231pd', - 'vfnmadd132ss','vfnmadd213ss','vfnmadd231ss', - 'vfnmadd132ps','vfnmadd213ps','vfnmadd231ps', - 'vfnmadd132sd','vfnmadd213sd','vfnmadd231sd', - 'vfnmadd132pd','vfnmadd213pd','vfnmadd231pd', - 'vfnmsub132ss','vfnmsub213ss','vfnmsub231ss', - 'vfnmsub132ps','vfnmsub213ps','vfnmsub231ps', - 'vfnmsub132sd','vfnmsub213sd','vfnmsub231sd', - 'vfnmsub132pd','vfnmsub213pd','vfnmsub231pd' - ), - /*registers*/ - 4 => array( - /* General-Purpose Registers */ - 'al','ah','bl','bh','cl','ch','dl','dh','sil','dil','bpl','spl', - 'r8b','r9b','r10b','r11b','r12b','r13b','r14b','r15b', - 'ax','bx','cx','dx','si','di','bp','sp', - 'r8w','r9w','r10w','r11w','r12w','r13w','r14w','r15w', - 'eax','ebx','ecx','edx','esi','edi','ebp','esp', - 'r8d','r9d','r10d','r11d','r12d','r13d','r14d','r15d', - 'rax','rcx','rdx','rbx','rsp','rbp','rsi','rdi', - 'r8','r9','r10','r11','r12','r13','r14','r15', - /* Debug Registers */ - 'dr0','dr1','dr2','dr3','dr6','dr7', - /* Control Registers */ - 'cr0','cr2','cr3','cr4','cr8', - /* Test Registers (Supported on Intel 486 only) */ - 'tr3','tr4','tr5','tr6','tr7', - /* Segment Registers */ - 'cs','ds','es','fs','gs','ss', - /* FPU Registers */ - 'st','st0','st1','st2','st3','st4','st5','st6','st7', - /* MMX Registers */ - 'mm0','mm1','mm2','mm3','mm4','mm5','mm6','mm7', - /* SSE Registers */ - 'xmm0','xmm1','xmm2','xmm3','xmm4','xmm5','xmm6','xmm7', - 'xmm8','xmm9','xmm10','xmm11','xmm12','xmm13','xmm14','xmm15', - /* AVX Registers */ - 'ymm0','ymm1','ymm2','ymm3','ymm4','ymm5','ymm6','ymm7', - 'ymm8','ymm9','ymm10','ymm11','ymm12','ymm13','ymm14','ymm15' - ), - /*Directive*/ - 5 => array( - 'db','dw','dd','dq','dt','do','dy', - 'resb','resw','resd','resq','rest','reso','resy','incbin','equ','times','safeseh', - '__utf16__','__utf32__', - 'default','cpu','float','start','imagebase','osabi', - '..start','..imagebase','..gotpc','..gotoff','..gottpoff','..got','..plt','..sym','..tlsie', - 'section','segment','__sect__','group','absolute', - '.bss','.comment','.data','.lbss','.ldata','.lrodata','.rdata','.rodata','.tbss','.tdata','.text', - 'alloc','bss','code','exec','data','noalloc','nobits','noexec','nowrite','progbits','rdata','tls','write', - 'private','public','common','stack','overlay','class', - 'extern','global','import','export', - '%define','%idefine','%xdefine','%ixdefine','%assign','%undef', - '%defstr','%idefstr','%deftok','%ideftok', - '%strcat','%strlen','%substr', - '%macro','%imacro','%rmacro','%exitmacro','%endmacro','%unmacro', - '%if','%ifn','%elif','%elifn','%else','%endif', - '%ifdef','%ifndef','%elifdef','%elifndef', - '%ifmacro','%ifnmacro','%elifmacro','%elifnmacro', - '%ifctx','%ifnctx','%elifctx','%elifnctx', - '%ifidn','%ifnidn','%elifidn','%elifnidn', - '%ifidni','%ifnidni','%elifidni','%elifnidni', - '%ifid','%ifnid','%elifid','%elifnid', - '%ifnum','%ifnnum','%elifnum','%elifnnum', - '%ifstr','%ifnstr','%elifstr','%elifnstr', - '%iftoken','%ifntoken','%eliftoken','%elifntoken', - '%ifempty','%ifnempty','%elifempty','%elifnempty', - '%ifenv','%ifnenv','%elifenv','%elifnenv', - '%rep','%exitrep','%endrep', - '%while','%exitwhile','%endwhile', - '%include','%pathsearch','%depend','%use', - '%push','%pop','%repl','%arg','%local','%stacksize','flat','flat64','large','small', - '%error','%warning','%fatal', - '%00','.nolist','%rotate','%line','%!','%final','%clear', - 'struc','endstruc','istruc','at','iend', - 'align','alignb','sectalign', - 'bits','use16','use32','use64', - '__nasm_major__','__nasm_minor__','__nasm_subminor__','___nasm_patchlevel__', - '__nasm_version_id__','__nasm_ver__', - '__file__','__line__','__pass__','__bits__','__output_format__', - '__date__','__time__','__date_num__','__time_num__','__posix_time__', - '__utc_date__','__utc_time__','__utc_date_num__','__utc_time_num__', - '__float_daz__','__float_round__','__float__', - /* Keywords from standard packages */ - '__use_altreg__', - '__use_smartalign__','smartalign','__alignmode__', - '__use_fp__','__infinity__','__nan__','__qnan__','__snan__', - '__float8__','__float16__','__float32__','__float64__','__float80m__','__float80e__','__float128l__','__float128h__' - ), - /*Operands*/ - 6 => array( - 'a16','a32','a64','o16','o32','o64','strict', - 'byte','word','dword','qword','tword','oword','yword','nosplit', - '%0','%1','%2','%3','%4','%5','%6','%7','%8','%9', - 'abs','rel', - 'seg','wrt' - ) - ), - 'SYMBOLS' => array( - 1 => array( - '[', ']', '(', ')', - '+', '-', '*', '/', '%', - '.', ',', ';', ':' - ), - 2 => array( - '$','$$','%+','%?','%??' - ) - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - 5 => false, - 6 => false - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #00007f; font-weight: bold;', - 2 => 'color: #0000ff;', - 3 => 'color: #b00040;', - 4 => 'color: #46aa03; font-weight: bold;', - 5 => 'color: #0000ff; font-weight: bold;', - 6 => 'color: #0000ff; font-weight: bold;' - ), - 'COMMENTS' => array( - 1 => 'color: #666666; font-style: italic;', - 2 => 'color: #adadad; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #009900; font-weight: bold;' - ), - 'STRINGS' => array( - 0 => 'color: #7f007f;' - ), - 'NUMBERS' => array( - 0 => 'color: #ff0000;' - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 1 => 'color: #339933;', - 2 => 'color: #0000ff; font-weight: bold;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => '', - 6 => '' - ), - 'NUMBERS' => - GESHI_NUMBER_BIN_PREFIX_PERCENT | - GESHI_NUMBER_BIN_SUFFIX | - GESHI_NUMBER_HEX_PREFIX | - GESHI_NUMBER_HEX_SUFFIX | - GESHI_NUMBER_OCT_SUFFIX | - GESHI_NUMBER_INT_BASIC | - GESHI_NUMBER_FLT_NONSCI | - GESHI_NUMBER_FLT_NONSCI_F | - GESHI_NUMBER_FLT_SCI_ZERO, - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 8, - 'PARSER_CONTROL' => array( - 'KEYWORDS' => array( - 'DISALLOWED_BEFORE' => "(?|^])", - 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%])" - ) - ) -); - diff --git a/vendor/easybook/geshi/geshi/asp.php b/vendor/easybook/geshi/geshi/asp.php deleted file mode 100644 index cd69efd..0000000 --- a/vendor/easybook/geshi/geshi/asp.php +++ /dev/null @@ -1,163 +0,0 @@ - 'ASP', - 'COMMENT_SINGLE' => array(1 => "'", 2 => '//'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - 1 => array( - 'include', 'file', 'Const', 'Dim', 'Option', 'Explicit', 'Implicit', 'Set', 'Select', 'ReDim', 'Preserve', - 'ByVal', 'ByRef', 'End', 'Private', 'Public', 'If', 'Then', 'Else', 'ElseIf', 'Case', 'With', 'NOT', - 'While', 'Wend', 'For', 'Loop', 'Do', 'Request', 'Response', 'Server', 'ADODB', 'Session', 'Application', - 'Each', 'In', 'Get', 'Next', 'INT', 'CINT', 'CBOOL', 'CDATE', 'CBYTE', 'CCUR', 'CDBL', 'CLNG', 'CSNG', - 'CSTR', 'Fix', 'Is', 'Sgn', 'String', 'Boolean', 'Currency', 'Me', 'Single', 'Long', 'Integer', 'Byte', - 'Variant', 'Double', 'To', 'Let', 'Xor', 'Resume', 'On', 'Error', 'Imp', 'GoTo', 'Call', 'Global' - ), - 2 => array( - 'Null', 'Nothing', 'And', - 'False', - 'True', 'var', 'Or', 'BOF', 'EOF', 'xor', - 'Function', 'Class', 'New', 'Sub' - ), - 3 => array( - 'CreateObject', 'Write', 'Redirect', 'Cookies', 'BinaryRead', 'ClientCertificate', 'Form', 'QueryString', - 'ServerVariables', 'TotalBytes', 'AddHeader', 'AppendToLog', 'BinaryWrite', 'Buffer', 'CacheControl', - 'Charset', 'Clear', 'ContentType', 'End()', 'Expires', 'ExpiresAbsolute', 'Flush()', 'IsClientConnected', - 'PICS', 'Status', 'Connection', 'Recordset', 'Execute', 'Abandon', 'Lock', 'UnLock', 'Command', 'Fields', - 'Properties', 'Property', 'Send', 'Replace', 'InStr', 'TRIM', 'NOW', 'Day', 'Month', 'Hour', 'Minute', 'Second', - 'Year', 'MonthName', 'LCase', 'UCase', 'Abs', 'Array', 'As', 'LEN', 'MoveFirst', 'MoveLast', 'MovePrevious', - 'MoveNext', 'LBound', 'UBound', 'Transfer', 'Open', 'Close', 'MapPath', 'FileExists', 'OpenTextFile', 'ReadAll' - ) - ), - 'SYMBOLS' => array( - 1 => array( - '<%', '%>' - ), - 0 => array( - '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', - ';', ':', '?', '='), - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #990099; font-weight: bold;', - 2 => 'color: #0000ff; font-weight: bold;', - 3 => 'color: #330066;' - ), - 'COMMENTS' => array( - 1 => 'color: #008000;', - 2 => 'color: #ff6600;', - 'MULTI' => 'color: #008000;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #006600; font-weight:bold;' - ), - 'STRINGS' => array( - 0 => 'color: #cc0000;' - ), - 'NUMBERS' => array( - 0 => 'color: #800000;' - ), - 'METHODS' => array( - 1 => 'color: #9900cc;' - ), - 'SYMBOLS' => array( - 0 => 'color: #006600; font-weight: bold;', - 1 => 'color: #000000; font-weight: bold;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - 0 => '', - 1 => '', - 2 => '', - 3 => '' - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => '.' - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_MAYBE, - 'SCRIPT_DELIMITERS' => array( - 0 => array( - '<%' => '%>' - ), - 1 => array( - '' - ), - 2 => array( - '' - ), - 3 => "/(?P<%=?)(?:\"[^\"]*?\"|\/\*(?!\*\/).*?\*\/|.)*?(?P%>|\Z)/sm" - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - 0 => true, - 1 => true, - 2 => true, - 3 => true - ) -); - diff --git a/vendor/easybook/geshi/geshi/asymptote.php b/vendor/easybook/geshi/geshi/asymptote.php deleted file mode 100644 index 295cb0a..0000000 --- a/vendor/easybook/geshi/geshi/asymptote.php +++ /dev/null @@ -1,192 +0,0 @@ - 'asymptote', - 'COMMENT_SINGLE' => array(1 => '//'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'COMMENT_REGEXP' => array( - //Multiline-continued single-line comments - 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', - //Multiline-continued preprocessor define - 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m' - ), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - 'ESCAPE_REGEXP' => array( - //Simple Single Char Escapes - 1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i", - //Hexadecimal Char Specs - 2 => "#\\\\x[\da-fA-F]{2}#", - //Hexadecimal Char Specs - 3 => "#\\\\u[\da-fA-F]{4}#", - //Hexadecimal Char Specs - 4 => "#\\\\U[\da-fA-F]{8}#", - //Octal Char Specs - 5 => "#\\\\[0-7]{1,3}#" - ), - 'NUMBERS' => - GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | - GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | - GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, - 'KEYWORDS' => array( - 1 => array( - 'and','controls','tension','atleast','curl','if','else','while','for','do','return','break','continue','struct','typedef','new','access','import','unravel','from','include','quote','static','public','private','restricted','this','explicit','true','false','null','cycle','newframe','operator' - ), - 2 => array( - 'Braid','FitResult','Label','Legend','Segment','Solution','TreeNode','abscissa','arc','arrowhead','binarytree','binarytreeNode','block','bool','bool3','bounds','bqe','circle','conic','coord','coordsys','cputime','ellipse','file','filltype','frame','grid3','guide','horner','hsv','hyperbola','indexedTransform','int','inversion','key','light','line','linefit','marginT','marker','mass','object','pair','parabola','path','path3','pen','picture','point','position','projection','real','revolution','scaleT','scientific','segment','side','slice','solution','splitface','string','surface','tensionSpecifier','ticklocate','ticksgridT','tickvalues','transform','transformation','tree','triangle','trilinear','triple','vector','vertex','void'), - 3 => array( - 'AND','Arc','ArcArrow','ArcArrows','Arrow','Arrows','Automatic','AvantGarde','BBox','BWRainbow','BWRainbow2','Bar','Bars','BeginArcArrow','BeginArrow','BeginBar','BeginDotMargin','BeginMargin','BeginPenMargin','Blank','Bookman','Bottom','BottomTop','Bounds','Break','Broken','BrokenLog','CLZ','CTZ','Ceil','Circle','CircleBarIntervalMarker','Cos','Courier','CrossIntervalMarker','DOSendl','DOSnewl','DefaultFormat','DefaultLogFormat','Degrees','Dir','DotMargin','DotMargins','Dotted','Draw','Drawline','Embed','EndArcArrow','EndArrow','EndBar','EndDotMargin','EndMargin','EndPenMargin','Fill','FillDraw','Floor','Format','Full','Gaussian','Gaussrand','Gaussrandpair', - 'Gradient','Grayscale','Helvetica','Hermite','HookHead','InOutTicks','InTicks','Jn','Label','Landscape','Left','LeftRight','LeftTicks','Legend','Linear','Link','Log','LogFormat','Margin','Margins','Mark','MidArcArrow','MidArrow','NOT','NewCenturySchoolBook','NoBox','NoMargin','NoModifier','NoTicks','NoTicks3','NoZero','NoZeroFormat','None','OR','OmitFormat','OmitTick','OmitTickInterval','OmitTickIntervals','OutTicks','Ox','Oy','Palatino','PaletteTicks','Pen','PenMargin','PenMargins','Pentype','Portrait','RadialShade','RadialShadeDraw','Rainbow','Range','Relative','Right','RightTicks','Rotate','Round','SQR','Scale','ScaleX','ScaleY','ScaleZ','Seascape','Segment','Shift','Sin','Slant','Spline','StickIntervalMarker','Straight','Symbol','Tan','TeXify','Ticks','Ticks3','TildeIntervalMarker','TimesRoman','Top','TrueMargin','UnFill','UpsideDown','Wheel','X','XEquals','XOR','XY','XYEquals','XYZero','XYgrid','XZEquals','XZZero','XZero','XZgrid','Y','YEquals','YXgrid','YZ','YZEquals','YZZero','YZero','YZgrid','Yn','Z','ZX','ZXgrid','ZYgrid','ZapfChancery','ZapfDingbats','_begingroup3','_cputime','_draw','_eval','_image','_labelpath','_projection','_strokepath','_texpath','aCos','aSin','aTan','abort','abs','accel','acos','acosh','acot','acsc','activatequote','add', - 'addArrow','addMargins','addSaveFunction','addpenarc','addpenline','adjust','alias','align','all','altitude','angabscissa','angle','angpoint','animate','annotate','anticomplementary','antipedal','apply','approximate','arc','arcarrowsize','arccircle','arcdir','arcfromcenter','arcfromfocus','arclength','arcnodesnumber','arcpoint','arcsubtended','arcsubtendedcenter','arctime','arctopath','array','arrow','arrow2','arrowbase','arrowbasepoints','arrowsize','asec','asin','asinh','ask','assert','asy','asycode','asydir','asyfigure','asyfilecode','asyinclude','asywrite','atan','atan2','atanh','atbreakpoint','atexit','attach','attract','atupdate','autoformat','autoscale','autoscale3','axes','axes3','axialshade','axis','axiscoverage','azimuth','babel','background','bangles','bar','barmarksize','barsize','basealign','baseline','bbox','beep','begin','beginclip','begingroup','beginpoint','between','bevel','bezier','bezierP','bezierPP','bezierPPP','bezulate','bibliography','bibliographystyle','binarytree','binarytreeNode','binomial','binput','bins','bisector','bisectorpoint','bispline','blend','blockconnector','boutput','box','bqe','breakpoint','breakpoints','brick','buildRestoreDefaults','buildRestoreThunk','buildcycle','bulletcolor','byte','calculateScaling','canonical','canonicalcartesiansystem','cartesiansystem','case1','case2','case3','case4','cbrt','cd','ceil','center','centerToFocus', - 'centroid','cevian','change2','changecoordsys','checkSegment','checkconditionlength','checker','checkincreasing','checklengths','checkposition','checktriangle','choose','circle','circlebarframe','circlemarkradius','circlenodesnumber','circumcenter','circumcircle','clamped','clear','clip','clipdraw','close','cmyk','code','colatitude','collect','collinear','color','colorless','colors','colorspace','comma','compassmark','complement','complementary','concat','concurrent','cone','conic','conicnodesnumber','conictype','conj','connect','connected','connectedindex','containmentTree','contains','contour','contour3','contouredges','controlSpecifier','convert','coordinates','coordsys','copy','copyPairOrTriple','cos','cosh','cot','countIntersections','cputime','crop','cropcode','cross', - 'crossframe','crosshatch','crossmarksize','csc','cubicroots','curabscissa','curlSpecifier','curpoint','currentarrow','currentexitfunction','currentmomarrow','currentpolarconicroutine','curve','cut','cutafter','cutbefore','cyclic','cylinder','deactivatequote','debugger','deconstruct','defaultdir','defaultformat','defaultpen','defined','degenerate','degrees','delete','deletepreamble','determinant','diagonal','diamond','diffdiv','dir','dirSpecifier','dirtime','display','distance', - 'divisors','do_overpaint','dot','dotframe','dotsize','downcase','draw','drawAll','drawDoubleLine','drawFermion','drawGhost','drawGluon','drawMomArrow','drawPRCcylinder','drawPRCdisk','drawPRCsphere','drawPRCtube','drawPhoton','drawScalar','drawVertex','drawVertexBox','drawVertexBoxO','drawVertexBoxX','drawVertexO','drawVertexOX','drawVertexTriangle','drawVertexTriangleO','drawVertexX','drawarrow','drawarrow2','drawline','drawpixel','drawtick','duplicate','elle','ellipse','ellipsenodesnumber','embed','embed3','empty','enclose','end','endScript','endclip','endgroup','endgroup3','endl','endpoint','endpoints','eof','eol','equation','equations','erase','erasestep','erf','erfc','error','errorbar','errorbars','eval','excenter','excircle','exit','exitXasyMode','exitfunction','exp','expfactors','expi','expm1','exradius','extend','extension','extouch','fabs','factorial','fermat','fft','fhorner','figure','file','filecode','fill','filldraw','filloutside','fillrule','filltype','find','finite','finiteDifferenceJacobian','firstcut','firstframe','fit','fit2','fixedscaling','floor','flush','fmdefaults','fmod','focusToCenter','font','fontcommand','fontsize','foot','format','frac','frequency','fromCenter','fromFocus','fspline','functionshade','gamma','generate_random_backtrace','generateticks','gergonne','getc','getint','getpair','getreal','getstring','gettriple','gluon','gouraudshade','graph','graphic','gray','grestore','grid','grid3','gsave','halfbox','hatch','hdiffdiv','hermite','hex','histogram','history','hline','hprojection', - 'hsv','hyperbola','hyperbolanodesnumber','hyperlink','hypot','identity','image','incenter','incentral','incircle','increasing','incrementposition','indexedTransform','indexedfigure','initXasyMode','initdefaults','input','inradius','insert','inside','integrate','interactive','interior','interp','interpolate','intersect','intersection','intersectionpoint','intersectionpoints','intersections','intouch','inverse','inversion','invisible','is3D','isCCW','isDuplicate','isogonal','isogonalconjugate','isotomic','isotomicconjugate','isparabola','italic','item','jobname','key','kurtosis','kurtosisexcess','label','labelaxis','labelmargin','labelpath','labels','labeltick','labelx','labelx3','labely','labely3','labelz','labelz3','lastcut','latex','latitude','latticeshade','layer','layout','ldexp','leastsquares','legend','legenditem','length','lexorder','lift','light','limits','line','linear','linecap','lineinversion','linejoin','linemargin','lineskip','linetype','linewidth','link','list','lm_enorm','lm_evaluate_default','lm_lmdif','lm_lmpar','lm_minimize','lm_print_default','lm_print_quiet','lm_qrfac','lm_qrsolv','locale','locate', - 'locatefile','location','log','log10','log1p','logaxiscoverage','longitude','lookup','makeNode','makedraw','makepen','map','margin','markangle','markangleradius','markanglespace','markarc','marker','markinterval','marknodes','markrightangle','markuniform','mass','masscenter','massformat','math','max','max3','maxAfterTransform','maxbezier','maxbound','maxcoords','maxlength','maxratio','maxtimes','mean','medial','median','midpoint','min','min3','minAfterTransform','minbezier','minbound','minipage','minratio','mintimes','miterlimit','mktemp','momArrowPath','momarrowsize','monotonic','multifigure','nativeformat','natural','needshipout','newl','newpage','newslide','newton','newtree','nextframe','nextnormal','nextpage','nib','nodabscissa','none','norm','normalvideo','notaknot','nowarn','numberpage','nurb','object','offset','onpath','opacity','opposite','orientation','origin','orthic','orthocentercenter','outformat','outline','outname','outprefix','output','overloadedMessage','overwrite','pack','pad','pairs','palette','parabola','parabolanodesnumber','parallel','parallelogram','partialsum','path','path3','pattern','pause','pdf','pedal','periodic','perp','perpendicular','perpendicularmark','phantom','phi1','phi2','phi3','photon','piecewisestraight','point','polar','polarconicroutine','polargraph','polygon','postcontrol','postscript','pow10','ppoint','prc','prc0','precision','precontrol','prepend','printBytecode','print_random_addresses','project','projection','purge','pwhermite','quadrant','quadraticroots','quantize','quarticroots','quotient','radialshade','radians','radicalcenter','radicalline','radius','rand','randompath','rd','readline','realmult','realquarticroots','rectangle','rectangular','rectify','reflect','relabscissa','relative','relativedistance','reldir','relpoint','reltime','remainder','remark','removeDuplicates','rename','replace','report','resetdefaultpen','restore','restoredefaults','reverse','reversevideo','rf','rfind','rgb','rgba','rgbint','rms', - 'rotate','rotateO','rotation','round','roundbox','roundedpath','roundrectangle','same','samecoordsys','sameside','sample','save','savedefaults','saveline','scale','scale3','scaleO','scaleT','scaleless','scientific','search','searchindex','searchtree','sec','secondaryX','secondaryY','seconds','section','sector','seek','seekeof','segment','sequence','setcontour','setpens','sgn','sgnd','sharpangle','sharpdegrees','shift','shiftless','shipout','shipout3','show','side','simeq','simpson','sin','sinh','size','size3','skewness','skip','slant','sleep','slope','slopefield','solve','solveBVP','sort','sourceline','sphere','split','sqrt','square','srand','standardizecoordsys','startScript','stdev','step','stickframe','stickmarksize','stickmarkspace','stop','straight','straightness','string','stripdirectory','stripextension','stripfile','stripsuffix','strokepath','subdivide','subitem','subpath','substr','sum','surface','symmedial','symmedian','system', - 'tab','tableau','tan','tangent','tangential','tangents','tanh','tell','tensionSpecifier','tensorshade','tex','texcolor','texify','texpath','texpreamble','texreset','texshipout','texsize','textpath','thick','thin','tick','tickMax','tickMax3','tickMin','tickMin3','ticklabelshift','ticklocate','tildeframe','tildemarksize','tile','tiling','time','times','title','titlepage','topbox','transform','transformation','transpose','trembleFuzz','triangle','triangleAbc','triangleabc','triangulate','tricoef','tridiagonal','trilinear','trim','truepoint','tube','uncycle','unfill','uniform','unique','unit','unitrand','unitsize','unityroot','unstraighten','upcase','updatefunction','uperiodic','upscale','uptodate','usepackage','usersetting','usetypescript','usleep','value','variance','variancebiased','vbox','vector','vectorfield','verbatim','view','vline','vperiodic','vprojection','warn','warning','windingnumber','write','xaxis','xaxis3','xaxis3At','xaxisAt','xequals','xinput','xlimits','xoutput','xpart','xscale','xscaleO','xtick','xtick3','xtrans','yaxis','yaxis3','yaxis3At','yaxisAt','yequals','ylimits','ypart','yscale','yscaleO','ytick','ytick3','ytrans','zaxis3','zaxis3At','zero','zero3','zlimits','zpart','ztick','ztick3','ztrans' - ), - 4 => array( - 'AliceBlue','Align','Allow','AntiqueWhite','Apricot','Aqua','Aquamarine','Aspect','Azure','BeginPoint','Beige','Bisque','Bittersweet','Black','BlanchedAlmond','Blue','BlueGreen','BlueViolet','Both','Break','BrickRed','Brown','BurlyWood','BurntOrange','CCW','CW','CadetBlue','CarnationPink','Center','Centered','Cerulean','Chartreuse','Chocolate','Coeff','Coral','CornflowerBlue','Cornsilk','Crimson','Crop','Cyan','Dandelion','DarkBlue','DarkCyan','DarkGoldenrod','DarkGray','DarkGreen','DarkKhaki','DarkMagenta','DarkOliveGreen','DarkOrange','DarkOrchid','DarkRed','DarkSalmon','DarkSeaGreen','DarkSlateBlue','DarkSlateGray','DarkTurquoise','DarkViolet','DeepPink','DeepSkyBlue','DefaultHead','DimGray','DodgerBlue','Dotted','Down','Draw','E','ENE','EPS','ESE','E_Euler','E_PC','E_RK2','E_RK3BS','Emerald','EndPoint','Euler','Fill','FillDraw','FireBrick','FloralWhite','ForestGreen','Fuchsia','Gainsboro','GhostWhite','Gold','Goldenrod','Gray','Green','GreenYellow','Honeydew','HookHead','Horizontal','HotPink','I','IgnoreAspect','IndianRed','Indigo','Ivory','JOIN_IN','JOIN_OUT','JungleGreen','Khaki','LM_DWARF','LM_MACHEP','LM_SQRT_DWARF','LM_SQRT_GIANT','LM_USERTOL','Label','Lavender','LavenderBlush','LawnGreen','Left','LeftJustified','LeftSide','LemonChiffon','LightBlue','LightCoral','LightCyan','LightGoldenrodYellow', - 'LightGreen','LightGrey','LightPink','LightSalmon','LightSeaGreen','LightSkyBlue','LightSlateGray','LightSteelBlue','LightYellow','Lime','LimeGreen','Linear','Linen','Log','Logarithmic','Magenta','Mahogany','Mark','MarkFill','Maroon','Max','MediumAquamarine','MediumBlue','MediumOrchid','MediumPurple','MediumSeaGreen','MediumSlateBlue','MediumSpringGreen','MediumTurquoise','MediumVioletRed','Melon','MidPoint','MidnightBlue','Min','MintCream','MistyRose','Moccasin','Move','MoveQuiet','Mulberry','N','NE','NNE','NNW','NW','NavajoWhite','Navy','NavyBlue','NoAlign','NoCrop','NoFill','NoSide','OldLace','Olive','OliveDrab','OliveGreen','Orange','OrangeRed','Orchid','Ox','Oy','PC','PaleGoldenrod','PaleGreen','PaleTurquoise','PaleVioletRed','PapayaWhip','Peach','PeachPuff','Periwinkle','Peru','PineGreen','Pink','Plum','PowderBlue','ProcessBlue','Purple','RK2','RK3','RK3BS','RK4','RK5','RK5DP','RK5F','RawSienna','Red','RedOrange','RedViolet','Rhodamine','Right','RightJustified','RightSide','RosyBrown','RoyalBlue','RoyalPurple','RubineRed','S','SE','SSE','SSW','SW','SaddleBrown','Salmon','SandyBrown','SeaGreen','Seashell','Sepia','Sienna','Silver','SimpleHead','SkyBlue','SlateBlue','SlateGray','Snow','SpringGreen','SteelBlue','Suppress','SuppressQuiet','Tan','TeXHead','Teal','TealBlue','Thistle','Ticksize','Tomato', - 'Turquoise','UnFill','Up','VERSION','Value','Vertical','Violet','VioletRed','W','WNW','WSW','Wheat','White','WhiteSmoke','WildStrawberry','XYAlign','YAlign','Yellow','YellowGreen','YellowOrange','addpenarc','addpenline','align','allowstepping','angularsystem','animationdelay','appendsuffix','arcarrowangle','arcarrowfactor','arrow2sizelimit','arrowangle','arrowbarb','arrowdir','arrowfactor','arrowhookfactor','arrowlength','arrowsizelimit','arrowtexfactor','authorpen','axis','axiscoverage','axislabelfactor','background','backgroundcolor','backgroundpen','barfactor','barmarksizefactor','basealign','baselinetemplate','beveljoin','bigvertexpen','bigvertexsize','black','blue','bm','bottom','bp','brown','bullet','byfoci','byvertices','camerafactor','chartreuse','circlemarkradiusfactor','circlenodesnumberfactor','circleprecision','circlescale','cm','codefile','codepen','codeskip','colorPen','coloredNodes','coloredSegments', - 'conditionlength','conicnodesfactor','count','cputimeformat','crossmarksizefactor','currentcoordsys','currentlight','currentpatterns','currentpen','currentpicture','currentposition','currentprojection','curvilinearsystem','cuttings','cyan','darkblue','darkbrown','darkcyan','darkgray','darkgreen','darkgrey','darkmagenta','darkolive','darkred','dashdotted','dashed','datepen','dateskip','debuggerlines','debugging','deepblue','deepcyan','deepgray','deepgreen','deepgrey','deepmagenta','deepred','default','defaultControl','defaultS','defaultbackpen','defaultcoordsys','defaultexcursion','defaultfilename','defaultformat','defaultmassformat','defaultpen','diagnostics','differentlengths','dot','dotfactor','dotframe','dotted','doublelinepen','doublelinespacing','down','duplicateFuzz','edge','ellipsenodesnumberfactor','eps','epsgeo','epsilon','evenodd','expansionfactor','extendcap','exterior','fermionpen','figureborder','figuremattpen','file3','firstnode','firststep','foregroundcolor','fuchsia','fuzz','gapfactor','ghostpen','gluonamplitude','gluonpen','gluonratio','gray','green','grey','hatchepsilon','havepagenumber','heavyblue','heavycyan','heavygray','heavygreen','heavygrey','heavymagenta','heavyred','hline','hwratio','hyperbola','hyperbolanodesnumberfactor','identity4','ignore','inXasyMode','inch','inches','includegraphicscommand','inf','infinity','institutionpen','intMax','intMin','interior','invert','invisible','itempen','itemskip','itemstep','labelmargin','landscape','lastnode','left','legendhskip','legendlinelength', - 'legendmargin','legendmarkersize','legendmaxrelativewidth','legendvskip','lightblue','lightcyan','lightgray','lightgreen','lightgrey','lightmagenta','lightolive','lightred','lightyellow','line','linemargin','lm_infmsg','lm_shortmsg','longdashdotted','longdashed','magenta','magneticRadius','mantissaBits','markangleradius','markangleradiusfactor','markanglespace','markanglespacefactor','mediumblue','mediumcyan','mediumgray','mediumgreen','mediumgrey','mediummagenta','mediumred','mediumyellow','middle','minDistDefault','minblockheight','minblockwidth','mincirclediameter','minipagemargin','minipagewidth','minvertexangle','miterjoin','mm','momarrowfactor','momarrowlength','momarrowmargin','momarrowoffset','momarrowpen','monoPen','morepoints','nCircle','newbulletcolor','ngraph','nil','nmesh','nobasealign','nodeMarginDefault','nodesystem','nomarker','nopoint','noprimary','nullpath','nullpen','numarray','ocgindex','oldbulletcolor','olive','orange','origin','overpaint','page','pageheight','pagemargin','pagenumberalign','pagenumberpen','pagenumberposition','pagewidth','paleblue','palecyan','palegray','palegreen','palegrey', - 'palemagenta','palered','paleyellow','parabolanodesnumberfactor','perpfactor','phi','photonamplitude','photonpen','photonratio','pi','pink','plain','plain_bounds','plain_scaling','plus','preamblenodes','pt','purple','r3','r4a','r4b','randMax','realDigits','realEpsilon','realMax','realMin','red','relativesystem','reverse','right','roundcap','roundjoin','royalblue','salmon','saveFunctions','scalarpen','sequencereal','settings','shipped','signedtrailingzero','solid','springgreen','sqrtEpsilon','squarecap','squarepen','startposition','stdin','stdout','stepfactor','stepfraction','steppagenumberpen','stepping','stickframe','stickmarksizefactor','stickmarkspacefactor','swap','textpen','ticksize','tildeframe','tildemarksizefactor','tinv','titlealign','titlepagepen','titlepageposition','titlepen','titleskip','top','trailingzero','treeLevelStep','treeMinNodeWidth','treeNodeStep','trembleAngle','trembleFrequency','trembleRandom','undefined','unitcircle','unitsquare','up','urlpen','urlskip','version','vertexpen','vertexsize','viewportmargin','viewportsize','vline','white','wye','xformStack','yellow','ylabelwidth','zerotickfuzz','zerowinding' - ) - ), - 'SYMBOLS' => array( - 0 => array( - '(', ')', '{', '}', '[', ']' - ), - 1 => array('<', '>','='), - 2 => array('+', '-', '*', '/', '%'), - 3 => array('!', '^', '&', '|'), - 4 => array('?', ':', ';'), - 5 => array('..') - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => true, - 2 => true, - 3 => true, - 4 => true - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #b1b100;', - 2 => 'color: #000000; font-weight: bold;', - 3 => 'color: #990000;', - 4 => 'color: #009900; font-weight: bold;' - ), - 'COMMENTS' => array( - 1 => 'color: #666666;', - 2 => 'color: #339900;', - 'MULTI' => 'color: #ff0000; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;', - 1 => 'color: #000099; font-weight: bold;', - 2 => 'color: #660099; font-weight: bold;', - 3 => 'color: #660099; font-weight: bold;', - 4 => 'color: #660099; font-weight: bold;', - 5 => 'color: #006699; font-weight: bold;', - 'HARD' => '', - ), - 'BRACKETS' => array( - 0 => 'color: #008000;' - ), - 'STRINGS' => array( - 0 => 'color: #FF0000;' - ), - 'NUMBERS' => array( - 0 => 'color: #0000dd;', - GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', - GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', - GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', - GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', - GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', - GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', - GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' - ), - 'METHODS' => array( - 1 => 'color: #007788;', - 2 => 'color: #007788;' - ), - 'SYMBOLS' => array( - 0 => 'color: #008000;', - 1 => 'color: #000080;', - 2 => 'color: #000040;', - 3 => 'color: #000040;', - 4 => 'color: #008080;', - 5 => 'color: #009080;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => '.', - 2 => '::' - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_MAYBE, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 4, - 'PARSER_CONTROL' => array( - 'KEYWORDS' => array( - 'DISALLOWED_BEFORE' => "(? "(?![a-zA-Z0-9_\|%\\-])" - ) - ) -); diff --git a/vendor/easybook/geshi/geshi/autoconf.php b/vendor/easybook/geshi/geshi/autoconf.php deleted file mode 100644 index 40bb90f..0000000 --- a/vendor/easybook/geshi/geshi/autoconf.php +++ /dev/null @@ -1,511 +0,0 @@ - 'Autoconf', - 'COMMENT_SINGLE' => array(2 => '#'), - 'COMMENT_MULTI' => array(), - 'COMMENT_REGEXP' => array( - //Multiline-continued single-line comments - 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', - //Multiline-continued preprocessor define - 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m', - //Single Line comment started by dnl - 3 => '/(? GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - 'ESCAPE_REGEXP' => array(), - 'NUMBERS' => - GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | - GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | - GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, - 'KEYWORDS' => array( - 1 => array( - 'AC_ACT_IFELSE', - 'AC_AIX', - 'AC_ALLOCA', - 'AC_ARG_ARRAY', - 'AC_ARG_ENABLE', - 'AC_ARG_PROGRAM', - 'AC_ARG_VAR', - 'AC_ARG_WITH', - 'AC_AUTOCONF_VERSION', - 'AC_BEFORE', - 'AC_C_BACKSLASH_A', - 'AC_C_BIGENDIAN', - 'AC_C_CHAR_UNSIGNED', - 'AC_C_CONST', - 'AC_C_CROSS', - 'AC_C_FLEXIBLE_ARRAY_MEMBER', - 'AC_C_INLINE', - 'AC_C_LONG_DOUBLE', - 'AC_C_PROTOTYPES', - 'AC_C_RESTRICT', - 'AC_C_STRINGIZE', - 'AC_C_TYPEOF', - 'AC_C_VARARRAYS', - 'AC_C_VOLATILE', - 'AC_CACHE_CHECK', - 'AC_CACHE_LOAD', - 'AC_CACHE_SAVE', - 'AC_CACHE_VAL', - 'AC_CANONICAL_BUILD', - 'AC_CANONICAL_HOST', - 'AC_CANONICAL_SYSTEM', - 'AC_CANONICAL_TARGET', - 'AC_CHAR_UNSIGNED', - 'AC_CHECK_ALIGNOF', - 'AC_CHECK_DECL', - 'AC_CHECK_DECLS', - 'AC_CHECK_DECLS_ONCE', - 'AC_CHECK_FILE', - 'AC_CHECK_FILES', - 'AC_CHECK_FUNC', - 'AC_CHECK_FUNCS', - 'AC_CHECK_FUNCS_ONCE', - 'AC_CHECK_HEADER', - 'AC_CHECK_HEADERS', - 'AC_CHECK_HEADERS_ONCE', - 'AC_CHECK_LIB', - 'AC_CHECK_MEMBER', - 'AC_CHECK_MEMBERS', - 'AC_CHECK_PROG', - 'AC_CHECK_PROGS', - 'AC_CHECK_SIZEOF', - 'AC_CHECK_TARGET_TOOL', - 'AC_CHECK_TARGET_TOOLS', - 'AC_CHECK_TOOL', - 'AC_CHECK_TOOLS', - 'AC_CHECK_TYPE', - 'AC_CHECK_TYPES', - 'AC_CHECKING', - 'AC_COMPILE_CHECK', - 'AC_COMPILE_IFELSE', - 'AC_COMPUTE_INT', - 'AC_CONFIG_AUX_DIR', - 'AC_CONFIG_COMMANDS', - 'AC_CONFIG_COMMANDS_POST', - 'AC_CONFIG_COMMANDS_PRE', - 'AC_CONFIG_FILES', - 'AC_CONFIG_HEADERS', - 'AC_CONFIG_ITEMS', - 'AC_CONFIG_LIBOBJ_DIR', - 'AC_CONFIG_LINKS', - 'AC_CONFIG_MACRO_DIR', - 'AC_CONFIG_SRCDIR', - 'AC_CONFIG_SUBDIRS', - 'AC_CONFIG_TESTDIR', - 'AC_CONST', - 'AC_COPYRIGHT', - 'AC_CROSS_CHECK', - 'AC_CYGWIN', - 'AC_DATAROOTDIR_CHECKED', - 'AC_DECL_SYS_SIGLIST', - 'AC_DECL_YYTEXT', - 'AC_DEFINE', - 'AC_DEFINE_UNQUOTED', - 'AC_DEFUN', - 'AC_DEFUN_ONCE', - 'AC_DIAGNOSE', - 'AC_DIR_HEADER', - 'AC_DISABLE_OPTION_CHECKING', - 'AC_DYNIX_SEQ', - 'AC_EGREP_CPP', - 'AC_EGREP_HEADER', - 'AC_EMXOS2', - 'AC_ENABLE', - 'AC_ERLANG_CHECK_LIB', - 'AC_ERLANG_NEED_ERL', - 'AC_ERLANG_NEED_ERLC', - 'AC_ERLANG_PATH_ERL', - 'AC_ERLANG_PATH_ERLC', - 'AC_ERLANG_SUBST_ERTS_VER', - 'AC_ERLANG_SUBST_INSTALL_LIB_DIR', - 'AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR', - 'AC_ERLANG_SUBST_LIB_DIR', - 'AC_ERLANG_SUBST_ROOT_DIR', - 'AC_ERROR', - 'AC_EXEEXT', - 'AC_F77_DUMMY_MAIN', - 'AC_F77_FUNC', - 'AC_F77_LIBRARY_LDFLAGS', - 'AC_F77_MAIN', - 'AC_F77_WRAPPERS', - 'AC_FATAL', - 'AC_FC_FREEFORM', - 'AC_FC_FUNC', - 'AC_FC_LIBRARY_LDFLAGS', - 'AC_FC_MAIN', - 'AC_FC_SRCEXT', - 'AC_FC_WRAPPERS', - 'AC_FIND_X', - 'AC_FIND_XTRA', - 'AC_FOREACH', - 'AC_FUNC_ALLOCA', - 'AC_FUNC_CHECK', - 'AC_FUNC_CHOWN', - 'AC_FUNC_CLOSEDIR_VOID', - 'AC_FUNC_ERROR_AT_LINE', - 'AC_FUNC_FNMATCH', - 'AC_FUNC_FNMATCH_GNU', - 'AC_FUNC_FORK', - 'AC_FUNC_FSEEKO', - 'AC_FUNC_GETGROUPS', - 'AC_FUNC_GETLOADAVG', - 'AC_FUNC_GETMNTENT', - 'AC_FUNC_GETPGRP', - 'AC_FUNC_LSTAT', - 'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK', - 'AC_FUNC_MALLOC', - 'AC_FUNC_MBRTOWC', - 'AC_FUNC_MEMCMP', - 'AC_FUNC_MKTIME', - 'AC_FUNC_MMAP', - 'AC_FUNC_OBSTACK', - 'AC_FUNC_REALLOC', - 'AC_FUNC_SELECT_ARGTYPES', - 'AC_FUNC_SETPGRP', - 'AC_FUNC_SETVBUF_REVERSED', - 'AC_FUNC_STAT', - 'AC_FUNC_STRCOLL', - 'AC_FUNC_STRERROR_R', - 'AC_FUNC_STRFTIME', - 'AC_FUNC_STRNLEN', - 'AC_FUNC_STRTOD', - 'AC_FUNC_STRTOLD', - 'AC_FUNC_UTIME_NULL', - 'AC_FUNC_VPRINTF', - 'AC_FUNC_WAIT3', - 'AC_GCC_TRADITIONAL', - 'AC_GETGROUPS_T', - 'AC_GETLOADAVG', - 'AC_GNU_SOURCE', - 'AC_HAVE_FUNCS', - 'AC_HAVE_HEADERS', - 'AC_HAVE_LIBRARY', - 'AC_HAVE_POUNDBANG', - 'AC_HEADER_ASSERT', - 'AC_HEADER_CHECK', - 'AC_HEADER_DIRENT', - 'AC_HEADER_EGREP', - 'AC_HEADER_MAJOR', - 'AC_HEADER_RESOLV', - 'AC_HEADER_STAT', - 'AC_HEADER_STDBOOL', - 'AC_HEADER_STDC', - 'AC_HEADER_SYS_WAIT', - 'AC_HEADER_TIME', - 'AC_HEADER_TIOCGWINSZ', - 'AC_HELP_STRING', - 'AC_INCLUDES_DEFAULT', - 'AC_INIT', - 'AC_INLINE', - 'AC_INT_16_BITS', - 'AC_IRIX_SUN', - 'AC_ISC_POSIX', - 'AC_LANG_ASSERT', - 'AC_LANG_C', - 'AC_LANG_CALL', - 'AC_LANG_CONFTEST', - 'AC_LANG_CPLUSPLUS', - 'AC_LANG_FORTRAN77', - 'AC_LANG_FUNC_LINK_TRY', - 'AC_LANG_POP', - 'AC_LANG_PROGRAM', - 'AC_LANG_PUSH', - 'AC_LANG_RESTORE', - 'AC_LANG_SAVE', - 'AC_LANG_SOURCE', - 'AC_LANG_WERROR', - 'AC_LIBOBJ', - 'AC_LIBSOURCE', - 'AC_LIBSOURCES', - 'AC_LINK_FILES', - 'AC_LINK_IFELSE', - 'AC_LN_S', - 'AC_LONG_64_BITS', - 'AC_LONG_DOUBLE', - 'AC_LONG_FILE_NAMES', - 'AC_MAJOR_HEADER', - 'AC_MEMORY_H', - 'AC_MINGW32', - 'AC_MINIX', - 'AC_MINUS_C_MINUS_O', - 'AC_MMAP', - 'AC_MODE_T', - 'AC_MSG_CHECKING', - 'AC_MSG_ERROR', - 'AC_MSG_FAILURE', - 'AC_MSG_NOTICE', - 'AC_MSG_RESULT', - 'AC_MSG_WARN', - 'AC_OBJEXT', - 'AC_OBSOLETE', - 'AC_OFF_T', - 'AC_OPENMP', - 'AC_OUTPUT', - 'AC_OUTPUT_COMMANDS', - 'AC_PACKAGE_BUGREPORT', - 'AC_PACKAGE_NAME', - 'AC_PACKAGE_STRING', - 'AC_PACKAGE_TARNAME', - 'AC_PACKAGE_URL', - 'AC_PACKAGE_VERSION', - 'AC_PATH_PROG', - 'AC_PATH_PROGS', - 'AC_PATH_PROGS_FEATURE_CHECK', - 'AC_PATH_TARGET_TOOL', - 'AC_PATH_TOOL', - 'AC_PATH_X', - 'AC_PATH_XTRA', - 'AC_PID_T', - 'AC_PREFIX', - 'AC_PREFIX_DEFAULT', - 'AC_PREFIX_PROGRAM', - 'AC_PREPROC_IFELSE', - 'AC_PREREQ', - 'AC_PRESERVE_HELP_ORDER', - 'AC_PROG_AWK', - 'AC_PROG_CC', - 'AC_PROG_CC_C89', - 'AC_PROG_CC_C99', - 'AC_PROG_CC_C_O', - 'AC_PROG_CC_STDC', - 'AC_PROG_CPP', - 'AC_PROG_CPP_WERROR', - 'AC_PROG_CXX', - 'AC_PROG_CXX_C_O', - 'AC_PROG_CXXCPP', - 'AC_PROG_EGREP', - 'AC_PROG_F77', - 'AC_PROG_F77_C_O', - 'AC_PROG_FC', - 'AC_PROG_FC_C_O', - 'AC_PROG_FGREP', - 'AC_PROG_GCC_TRADITIONAL', - 'AC_PROG_GREP', - 'AC_PROG_INSTALL', - 'AC_PROG_LEX', - 'AC_PROG_LN_S', - 'AC_PROG_MAKE_SET', - 'AC_PROG_MKDIR_P', - 'AC_PROG_OBJC', - 'AC_PROG_OBJCPP', - 'AC_PROG_OBJCXX', - 'AC_PROG_OBJCXXCPP', - 'AC_PROG_RANLIB', - 'AC_PROG_SED', - 'AC_PROG_YACC', - 'AC_PROGRAM_CHECK', - 'AC_PROGRAM_EGREP', - 'AC_PROGRAM_PATH', - 'AC_PROGRAMS_CHECK', - 'AC_PROGRAMS_PATH', - 'AC_REMOTE_TAPE', - 'AC_REPLACE_FNMATCH', - 'AC_REPLACE_FUNCS', - 'AC_REQUIRE', - 'AC_REQUIRE_AUX_FILE', - 'AC_REQUIRE_CPP', - 'AC_RESTARTABLE_SYSCALLS', - 'AC_RETSIGTYPE', - 'AC_REVISION', - 'AC_RSH', - 'AC_RUN_IFELSE', - 'AC_SCO_INTL', - 'AC_SEARCH_LIBS', - 'AC_SET_MAKE', - 'AC_SETVBUF_REVERSED', - 'AC_SIZE_T', - 'AC_SIZEOF_TYPE', - 'AC_ST_BLKSIZE', - 'AC_ST_BLOCKS', - 'AC_ST_RDEV', - 'AC_STAT_MACROS_BROKEN', - 'AC_STDC_HEADERS', - 'AC_STRCOLL', - 'AC_STRUCT_DIRENT_D_INO', - 'AC_STRUCT_DIRENT_D_TYPE', - 'AC_STRUCT_ST_BLKSIZE', - 'AC_STRUCT_ST_BLOCKS', - 'AC_STRUCT_ST_RDEV', - 'AC_STRUCT_TIMEZONE', - 'AC_STRUCT_TM', - 'AC_SUBST', - 'AC_SUBST_FILE', - 'AC_SYS_INTERPRETER', - 'AC_SYS_LARGEFILE', - 'AC_SYS_LONG_FILE_NAMES', - 'AC_SYS_POSIX_TERMIOS', - 'AC_SYS_RESTARTABLE_SYSCALLS', - 'AC_SYS_SIGLIST_DECLARED', - 'AC_TEST_CPP', - 'AC_TEST_PROGRAM', - 'AC_TIME_WITH_SYS_TIME', - 'AC_TIMEZONE', - 'AC_TRY_ACT', - 'AC_TRY_COMPILE', - 'AC_TRY_CPP', - 'AC_TRY_LINK', - 'AC_TRY_LINK_FUNC', - 'AC_TRY_RUN', - 'AC_TYPE_GETGROUPS', - 'AC_TYPE_INT16_T', - 'AC_TYPE_INT32_T', - 'AC_TYPE_INT64_T', - 'AC_TYPE_INT8_T', - 'AC_TYPE_INTMAX_T', - 'AC_TYPE_INTPTR_T', - 'AC_TYPE_LONG_DOUBLE', - 'AC_TYPE_LONG_DOUBLE_WIDER', - 'AC_TYPE_LONG_LONG_INT', - 'AC_TYPE_MBSTATE_T', - 'AC_TYPE_MODE_T', - 'AC_TYPE_OFF_T', - 'AC_TYPE_PID_T', - 'AC_TYPE_SIGNAL', - 'AC_TYPE_SIZE_T', - 'AC_TYPE_SSIZE_T', - 'AC_TYPE_UID_T', - 'AC_TYPE_UINT16_T', - 'AC_TYPE_UINT32_T', - 'AC_TYPE_UINT64_T', - 'AC_TYPE_UINT8_T', - 'AC_TYPE_UINTMAX_T', - 'AC_TYPE_UINTPTR_T', - 'AC_TYPE_UNSIGNED_LONG_LONG_INT', - 'AC_UID_T', - 'AC_UNISTD_H', - 'AC_USE_SYSTEM_EXTENSIONS', - 'AC_USG', - 'AC_UTIME_NULL', - 'AC_VALIDATE_CACHED_SYSTEM_TUPLE', - 'AC_VERBOSE', - 'AC_VFORK', - 'AC_VPRINTF', - 'AC_WAIT3', - 'AC_WARN', - 'AC_WARNING', - 'AC_WITH', - 'AC_WORDS_BIGENDIAN', - 'AC_XENIX_DIR', - 'AC_YYTEXT_POINTER', - 'AH_BOTTOM', - 'AH_HEADER', - 'AH_TEMPLATE', - 'AH_TOP', - 'AH_VERBATIM', - 'AU_ALIAS', - 'AU_DEFUN'), - ), - 'SYMBOLS' => array('(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`'), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => true, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #00ffff;', - ), - 'COMMENTS' => array( - 1 => 'color: #666666;', - 2 => 'color: #339900;', - 3 => 'color: #666666;', - 'MULTI' => 'color: #ff0000; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099;', - 1 => 'color: #000099;', - 2 => 'color: #660099;', - 3 => 'color: #660099;', - 4 => 'color: #660099;', - 5 => 'color: #006699;', - 'HARD' => '', - ), - 'BRACKETS' => array( - 0 => 'color: #008000;' - ), - 'STRINGS' => array( - 0 => 'color: #996600;' - ), - 'NUMBERS' => array( - 0 => 'color: #0000dd;', - GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', - GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', - GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', - GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', - GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', - GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', - GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' - ), - 'METHODS' => array( - 1 => 'color: #202020;', - 2 => 'color: #202020;' - ), - 'SYMBOLS' => array( - 0 => 'color: #008000;', - 1 => 'color: #000080;', - 2 => 'color: #000040;', - 3 => 'color: #000040;', - 4 => 'color: #008080;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 4, - 'PARSER_CONTROL' => array( - 'COMMENTS' => array( - 'DISALLOWED_BEFORE' => '$' - ), - 'KEYWORDS' => array( - 'DISALLOWED_BEFORE' => "(? "(?![\.\-a-zA-Z0-9_%\\/])" - ) - ) -); - diff --git a/vendor/easybook/geshi/geshi/autohotkey.php b/vendor/easybook/geshi/geshi/autohotkey.php deleted file mode 100644 index d907927..0000000 --- a/vendor/easybook/geshi/geshi/autohotkey.php +++ /dev/null @@ -1,372 +0,0 @@ - 'Autohotkey', - 'COMMENT_SINGLE' => array( - 1 => ';' - ), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - 1 => array( - 'while','if','and','or','else','return' - ), - 2 => array( - // built in variables - 'A_AhkPath','A_AhkVersion','A_AppData','A_AppDataCommon', - 'A_AutoTrim','A_BatchLines','A_CaretX','A_CaretY', - 'A_ComputerName','A_ControlDelay','A_Cursor','A_DD', - 'A_DDD','A_DDDD','A_DefaultMouseSpeed','A_Desktop', - 'A_DesktopCommon','A_DetectHiddenText','A_DetectHiddenWindows','A_EndChar', - 'A_EventInfo','A_ExitReason','A_FormatFloat','A_FormatInteger', - 'A_Gui','A_GuiEvent','A_GuiControl','A_GuiControlEvent', - 'A_GuiHeight','A_GuiWidth','A_GuiX','A_GuiY', - 'A_Hour','A_IconFile','A_IconHidden','A_IconNumber', - 'A_IconTip','A_Index','A_IPAddress1','A_IPAddress2', - 'A_IPAddress3','A_IPAddress4','A_ISAdmin','A_IsCompiled', - 'A_IsCritical','A_IsPaused','A_IsSuspended','A_KeyDelay', - 'A_Language','A_LastError','A_LineFile','A_LineNumber', - 'A_LoopField','A_LoopFileAttrib','A_LoopFileDir','A_LoopFileExt', - 'A_LoopFileFullPath','A_LoopFileLongPath','A_LoopFileName','A_LoopFileShortName', - 'A_LoopFileShortPath','A_LoopFileSize','A_LoopFileSizeKB','A_LoopFileSizeMB', - 'A_LoopFileTimeAccessed','A_LoopFileTimeCreated','A_LoopFileTimeModified','A_LoopReadLine', - 'A_LoopRegKey','A_LoopRegName','A_LoopRegSubkey','A_LoopRegTimeModified', - 'A_LoopRegType','A_MDAY','A_Min','A_MM', - 'A_MMM','A_MMMM','A_Mon','A_MouseDelay', - 'A_MSec','A_MyDocuments','A_Now','A_NowUTC', - 'A_NumBatchLines','A_OSType','A_OSVersion','A_PriorHotkey', - 'A_ProgramFiles','A_Programs','A_ProgramsCommon','A_ScreenHeight', - 'A_ScreenWidth','A_ScriptDir','A_ScriptFullPath','A_ScriptName', - 'A_Sec','A_Space','A_StartMenu','A_StartMenuCommon', - 'A_Startup','A_StartupCommon','A_StringCaseSense','A_Tab', - 'A_Temp','A_ThisFunc','A_ThisHotkey','A_ThisLabel', - 'A_ThisMenu','A_ThisMenuItem','A_ThisMenuItemPos','A_TickCount', - 'A_TimeIdle','A_TimeIdlePhysical','A_TimeSincePriorHotkey','A_TimeSinceThisHotkey', - 'A_TitleMatchMode','A_TitleMatchModeSpeed','A_UserName','A_WDay', - 'A_WinDelay','A_WinDir','A_WorkingDir','A_YDay', - 'A_YEAR','A_YWeek','A_YYYY','Clipboard', - 'ClipboardAll','ComSpec','ErrorLevel','ProgramFiles', - ), - 3 => array( - 'AutoTrim', - 'BlockInput','Break','Click', - 'ClipWait','Continue','Control', - 'ControlClick','ControlFocus','ControlGet', - 'ControlGetFocus','ControlGetPos','ControlGetText', - 'ControlMove','ControlSend','ControlSendRaw', - 'ControlSetText','CoordMode','Critical', - 'DetectHiddenText','DetectHiddenWindows','DllCall','Drive', - 'DriveGet','DriveSpaceFree', - 'Else','EnvAdd','EnvDiv', - 'EnvGet','EnvMult','EnvSet', - 'EnvSub','EnvUpdate','Exit', - 'ExitApp','FileAppend','FileCopy', - 'FileCopyDir','FileCreateDir','FileCreateShortcut', - 'FileDelete','FileGetAttrib','FileGetShortcut', - 'FileGetSize','FileGetTime','FileGetVersion', - 'FileInstall','FileMove','FileMoveDir', - 'FileRead','FileReadLine','FileRecycle', - 'FileRecycleEmpty','FileRemoveDir','FileSelectFile', - 'FileSelectFolder','FileSetAttrib','FileSetTime', - 'FormatTime','Gosub', - 'Goto','GroupActivate','GroupAdd', - 'GroupClose','GroupDeactivate','Gui', - 'GuiControl','GuiControlGet','Hotkey', - 'IfExist','IfGreater','IfGreaterOrEqual', - 'IfInString','IfLess','IfLessOrEqual', - 'IfMsgBox','IfNotEqual','IfNotExist', - 'IfNotInString','IfWinActive','IfWinExist', - 'IfWinNotActive','IfWinNotExist','ImageSearch', - 'IniDelete','IniRead','IniWrite', - 'Input','InputBox','KeyHistory', - 'KeyWait','ListHotkeys','ListLines', - 'ListVars','Loop', - 'Menu','MouseClick','MouseClickDrag', - 'MouseGetPos','MouseMove','MsgBox', - 'OnMessage','OnExit','OutputDebug', - 'PixelGetColor','PixelSearch','PostMessage', - 'Process','Progress','Random', - 'RegExMatch','RegExReplace','RegisterCallback', - 'RegDelete','RegRead','RegWrite', - 'Reload','Repeat','Return', - 'Run','RunAs','RunWait', - 'Send','SendEvent','SendInput', - 'SendMessage','SendMode','SendPlay', - 'SendRaw','SetBatchLines','SetCapslockState', - 'SetControlDelay','SetDefaultMouseSpeed','SetEnv', - 'SetFormat','SetKeyDelay','SetMouseDelay', - 'SetNumlockState','SetScrollLockState','SetStoreCapslockMode', - 'SetTimer','SetTitleMatchMode','SetWinDelay', - 'SetWorkingDir','Shutdown','Sleep', - 'Sort','SoundBeep','SoundGet', - 'SoundGetWaveVolume','SoundPlay','SoundSet', - 'SoundSetWaveVolume','SplashImage','SplashTextOff', - 'SplashTextOn','SplitPath','StatusBarGetText', - 'StatusBarWait','StringCaseSense','StringGetPos', - 'StringLeft','StringLen','StringLower', - 'StringMid','StringReplace','StringRight', - 'StringSplit','StringTrimLeft','StringTrimRight', - 'StringUpper','Suspend','SysGet', - 'Thread','ToolTip','Transform', - 'TrayTip','URLDownloadToFile','While', - 'VarSetCapacity', - 'WinActivate','WinActivateBottom','WinClose', - 'WinGet','WinGetActiveStats','WinGetActiveTitle', - 'WinGetClass','WinGetPos','WinGetText', - 'WinGetTitle','WinHide','WinKill', - 'WinMaximize','WinMenuSelectItem','WinMinimize', - 'WinMinimizeAll','WinMinimizeAllUndo','WinMove', - 'WinRestore','WinSet','WinSetTitle', - 'WinShow','WinWait','WinWaitActive', - 'WinWaitClose','WinWaitNotActive' - ), - 4 => array( - 'Abs','ACos','Asc','ASin', - 'ATan','Ceil','Chr','Cos', - 'Exp','FileExist','Floor', - 'GetKeyState','IL_Add','IL_Create','IL_Destroy', - 'InStr','IsFunc','IsLabel','Ln', - 'Log','LV_Add','LV_Delete','LV_DeleteCol', - 'LV_GetCount','LV_GetNext','LV_GetText','LV_Insert', - 'LV_InsertCol','LV_Modify','LV_ModifyCol','LV_SetImageList', - 'Mod','NumGet','NumPut', - 'Round', - 'SB_SetIcon','SB_SetParts','SB_SetText','Sin', - 'Sqrt','StrLen','SubStr','Tan', - 'TV_Add','TV_Delete','TV_GetChild','TV_GetCount', - 'TV_GetNext','TV_Get','TV_GetParent','TV_GetPrev', - 'TV_GetSelection','TV_GetText','TV_Modify', - 'WinActive','WinExist' - ), - 5 => array( - // #Directives - 'AllowSameLineComments','ClipboardTimeout','CommentFlag', - 'ErrorStdOut','EscapeChar','HotkeyInterval', - 'HotkeyModifierTimeout','Hotstring','IfWinActive', - 'IfWinExist','IfWinNotActive','IfWinNotExist', - 'Include','IncludeAgain','InstallKeybdHook', - 'InstallMouseHook','KeyHistory','LTrim', - 'MaxHotkeysPerInterval','MaxMem','MaxThreads', - 'MaxThreadsBuffer','MaxThreadsPerHotkey','NoEnv', - 'NoTrayIcon','Persistent','SingleInstance', - 'UseHook','WinActivateForce' - ), - 6 => array( - 'Shift','LShift','RShift', - 'Alt','LAlt','RAlt', - 'LControl','RControl', - 'Ctrl','LCtrl','RCtrl', - 'LWin','RWin','AppsKey', - 'AltDown','AltUp','ShiftDown', - 'ShiftUp','CtrlDown','CtrlUp', - 'LWinDown','LWinUp','RWinDown', - 'RWinUp','LButton','RButton', - 'MButton','WheelUp','WheelDown', - 'WheelLeft','WheelRight','XButton1', - 'XButton2','Joy1','Joy2', - 'Joy3','Joy4','Joy5', - 'Joy6','Joy7','Joy8', - 'Joy9','Joy10','Joy11', - 'Joy12','Joy13','Joy14', - 'Joy15','Joy16','Joy17', - 'Joy18','Joy19','Joy20', - 'Joy21','Joy22','Joy23', - 'Joy24','Joy25','Joy26', - 'Joy27','Joy28','Joy29', - 'Joy30','Joy31','Joy32', - 'JoyX','JoyY','JoyZ', - 'JoyR','JoyU','JoyV', - 'JoyPOV','JoyName','JoyButtons', - 'JoyAxes','JoyInfo','Space', - 'Tab','Enter', - 'Escape','Esc','BackSpace', - 'BS','Delete','Del', - 'Insert','Ins','PGUP', - 'PGDN','Home','End', - 'Up','Down','Left', - 'Right','PrintScreen','CtrlBreak', - 'Pause','ScrollLock','CapsLock', - 'NumLock','Numpad0','Numpad1', - 'Numpad2','Numpad3','Numpad4', - 'Numpad5','Numpad6','Numpad7', - 'Numpad8','Numpad9','NumpadMult', - 'NumpadAdd','NumpadSub','NumpadDiv', - 'NumpadDot','NumpadDel','NumpadIns', - 'NumpadClear','NumpadUp','NumpadDown', - 'NumpadLeft','NumpadRight','NumpadHome', - 'NumpadEnd','NumpadPgup','NumpadPgdn', - 'NumpadEnter','F1','F2', - 'F3','F4','F5', - 'F6','F7','F8', - 'F9','F10','F11', - 'F12','F13','F14', - 'F15','F16','F17', - 'F18','F19','F20', - 'F21','F22','F23', - 'F24','Browser_Back','Browser_Forward', - 'Browser_Refresh','Browser_Stop','Browser_Search', - 'Browser_Favorites','Browser_Home','Volume_Mute', - 'Volume_Down','Volume_Up','Media_Next', - 'Media_Prev','Media_Stop','Media_Play_Pause', - 'Launch_Mail','Launch_Media','Launch_App1', - 'Launch_App2' - ), - 7 => array( - // Gui commands - 'Add', - 'Show', 'Submit', 'Cancel', 'Destroy', - 'Font', 'Color', 'Margin', 'Flash', 'Default', - 'GuiEscape','GuiClose','GuiSize','GuiContextMenu','GuiDropFilesTabStop', - ), - 8 => array( - // Gui Controls - 'Button', - 'Checkbox','Radio','DropDownList','DDL', - 'ComboBox','ListBox','ListView', - 'Text', 'Edit', 'UpDown', 'Picture', - 'TreeView','DateTime', 'MonthCal', - 'Slider' - ) - ), - 'SYMBOLS' => array( - '(',')','[',']', - '+','-','*','/','&','^', - '=','+=','-=','*=','/=','&=', - '==','<','<=','>','>=',':=', - ',','.' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - 5 => false, - 6 => false, - 7 => false, - 8 => false - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #AAAAFF; font-weight: bold;', // reserved #blue - 2 => 'color: #88FF88;', // BIV yellow - 3 => 'color: #FF00FF; font-style: italic;', // commands purple - 4 => 'color: #888844; font-weight: bold;', // functions #0080FF - 5 => 'color: #000000; font-style: italic;', // directives #black - 6 => 'color: #FF0000; font-style: italic;', // hotkeys #red - 7 => 'color: #000000; font-style: italic;', // gui commands #black - 8 => 'color: #000000; font-style: italic;' // gui controls - ), - 'COMMENTS' => array( - 'MULTI' => 'font-style: italic; color: #669900;', - 1 => 'font-style: italic; color: #009933;' - ), - 'ESCAPE_CHAR' => array( - 0 => '' - ), - 'BRACKETS' => array( - 0 => 'color: #00FF00; font-weight: bold;' - ), - 'STRINGS' => array( - 0 => 'font-weight: bold; color: #008080;' - ), - 'NUMBERS' => array( - 0 => 'color: #0000dd;' - ), - 'METHODS' => array( - 1 => 'color: #0000FF; font-style: italic; font-weight: italic;' - ), - 'SYMBOLS' => array( - 0 => 'color: #000000; font-weight: italic;' - ), - 'REGEXPS' => array( - 0 => 'font-weight: italic; color: #A00A0;', - 1 => 'color: #CC0000; font-style: italic;', - 2 => 'color: #DD0000; font-style: italic;', - 3 => 'color: #88FF88;' - ), - 'SCRIPT' => array( - ) - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - 1 => '_' - ), - 'REGEXPS' => array( - //Variables - 0 => '%[a-zA-Z_][a-zA-Z0-9_]*%', - //hotstrings - 1 => '::[\w\d]+::', - //labels - 2 => '\w[\w\d]+:\s', - //Built-in Variables - 3 => '\bA_\w+\b(?![^<]*>)' - ), - 'URLS' => array( - 1 => '', - 2 => 'http://www.autohotkey.com/docs/Variables.htm#{FNAME}', - 3 => 'http://www.autohotkey.com/docs/commands/{FNAME}.htm', - 4 => 'http://www.autohotkey.com/docs/Functions.htm#BuiltIn', - 5 => 'http://www.autohotkey.com/docs/commands/_{FNAME}.htm', - 6 => '', - 7 => 'http://www.autohotkey.com/docs/commands/Gui.htm#{FNAME}', - 8 => 'http://www.autohotkey.com/docs/commands/GuiControls.htm#{FNAME}' - ), - 'STRICT_MODE_APPLIES' => GESHI_MAYBE, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - 0 => true, - 1 => true, - 2 => true, - 3 => true - ), - 'PARSER_CONTROL' => array( - 'KEYWORDS' => array( - 5 => array( - 'DISALLOWED_BEFORE' => '(? 'AutoIt', - 'COMMENT_SINGLE' => array(';'), - 'COMMENT_MULTI' => array( - '#comments-start' => '#comments-end', - '#cs' => '#ce'), - 'COMMENT_REGEXP' => array( - 0 => '/(? '/(?<=include)\s+<.*?>/' - ), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - 1 => array( - 'And','ByRef','Case','Const','ContinueCase','ContinueLoop', - 'Default','Dim','Do','Else','ElseIf','EndFunc','EndIf','EndSelect', - 'EndSwitch','EndWith','Enum','Exit','ExitLoop','False','For','Func', - 'Global','If','In','Local','Next','Not','Or','ReDim','Return', - 'Select','Step','Switch','Then','To','True','Until','WEnd','While', - 'With' - ), - 2 => array( - '@AppDataCommonDir','@AppDataDir','@AutoItExe','@AutoItPID', - '@AutoItUnicode','@AutoItVersion','@AutoItX64','@COM_EventObj', - '@CommonFilesDir','@Compiled','@ComputerName','@ComSpec','@CR', - '@CRLF','@DesktopCommonDir','@DesktopDepth','@DesktopDir', - '@DesktopHeight','@DesktopRefresh','@DesktopWidth', - '@DocumentsCommonDir','@error','@exitCode','@exitMethod', - '@extended','@FavoritesCommonDir','@FavoritesDir','@GUI_CtrlHandle', - '@GUI_CtrlId','@GUI_DragFile','@GUI_DragId','@GUI_DropId', - '@GUI_WinHandle','@HomeDrive','@HomePath','@HomeShare', - '@HotKeyPressed','@HOUR','@InetGetActive','@InetGetBytesRead', - '@IPAddress1','@IPAddress2','@IPAddress3','@IPAddress4','@KBLayout', - '@LF','@LogonDNSDomain','@LogonDomain','@LogonServer','@MDAY', - '@MIN','@MON','@MyDocumentsDir','@NumParams','@OSBuild','@OSLang', - '@OSServicePack','@OSTYPE','@OSVersion','@ProcessorArch', - '@ProgramFilesDir','@ProgramsCommonDir','@ProgramsDir','@ScriptDir', - '@ScriptFullPath','@ScriptLineNumber','@ScriptName','@SEC', - '@StartMenuCommonDir','@StartMenuDir','@StartupCommonDir', - '@StartupDir','@SW_DISABLE','@SW_ENABLE','@SW_HIDE','@SW_LOCK', - '@SW_MAXIMIZE','@SW_MINIMIZE','@SW_RESTORE','@SW_SHOW', - '@SW_SHOWDEFAULT','@SW_SHOWMAXIMIZED','@SW_SHOWMINIMIZED', - '@SW_SHOWMINNOACTIVE','@SW_SHOWNA','@SW_SHOWNOACTIVATE', - '@SW_SHOWNORMAL','@SW_UNLOCK','@SystemDir','@TAB','@TempDir', - '@TRAY_ID','@TrayIconFlashing','@TrayIconVisible','@UserName', - '@UserProfileDir','@WDAY','@WindowsDir','@WorkingDir','@YDAY', - '@YEAR' - ), - 3 => array( - 'Abs','ACos','AdlibDisable','AdlibEnable','Asc','AscW','ASin', - 'Assign','ATan','AutoItSetOption','AutoItWinGetTitle', - 'AutoItWinSetTitle','Beep','Binary','BinaryLen','BinaryMid', - 'BinaryToString','BitAND','BitNOT','BitOR','BitRotate','BitShift', - 'BitXOR','BlockInput','Break','Call','CDTray','Ceiling','Chr', - 'ChrW','ClipGet','ClipPut','ConsoleRead','ConsoleWrite', - 'ConsoleWriteError','ControlClick','ControlCommand', - 'ControlDisable','ControlEnable','ControlFocus','ControlGetFocus', - 'ControlGetHandle','ControlGetPos','ControlGetText','ControlHide', - 'ControlListView','ControlMove','ControlSend','ControlSetText', - 'ControlShow','ControlTreeView','Cos','Dec','DirCopy','DirCreate', - 'DirGetSize','DirMove','DirRemove','DllCall','DllCallbackFree', - 'DllCallbackGetPtr','DllCallbackRegister','DllClose','DllOpen', - 'DllStructCreate','DllStructGetData','DllStructGetPtr', - 'DllStructGetSize','DllStructSetData','DriveGetDrive', - 'DriveGetFileSystem','DriveGetLabel','DriveGetSerial', - 'DriveGetType','DriveMapAdd','DriveMapDel','DriveMapGet', - 'DriveSetLabel','DriveSpaceFree','DriveSpaceTotal','DriveStatus', - 'EnvGet','EnvSet','EnvUpdate','Eval','Execute','Exp', - 'FileChangeDir','FileClose','FileCopy','FileCreateNTFSLink', - 'FileCreateShortcut','FileDelete','FileExists','FileFindFirstFile', - 'FileFindNextFile','FileGetAttrib','FileGetLongName', - 'FileGetShortcut','FileGetShortName','FileGetSize','FileGetTime', - 'FileGetVersion','FileInstall','FileMove','FileOpen', - 'FileOpenDialog','FileRead','FileReadLine','FileRecycle', - 'FileRecycleEmpty','FileSaveDialog','FileSelectFolder', - 'FileSetAttrib','FileSetTime','FileWrite','FileWriteLine','Floor', - 'FtpSetProxy','GUICreate','GUICtrlCreateAvi','GUICtrlCreateButton', - 'GUICtrlCreateCheckbox','GUICtrlCreateCombo', - 'GUICtrlCreateContextMenu','GUICtrlCreateDate','GUICtrlCreateDummy', - 'GUICtrlCreateEdit','GUICtrlCreateGraphic','GUICtrlCreateGroup', - 'GUICtrlCreateIcon','GUICtrlCreateInput','GUICtrlCreateLabel', - 'GUICtrlCreateList','GUICtrlCreateListView', - 'GUICtrlCreateListViewItem','GUICtrlCreateMenu', - 'GUICtrlCreateMenuItem','GUICtrlCreateMonthCal','GUICtrlCreateObj', - 'GUICtrlCreatePic','GUICtrlCreateProgress','GUICtrlCreateRadio', - 'GUICtrlCreateSlider','GUICtrlCreateTab','GUICtrlCreateTabItem', - 'GUICtrlCreateTreeView','GUICtrlCreateTreeViewItem', - 'GUICtrlCreateUpdown','GUICtrlDelete','GUICtrlGetHandle', - 'GUICtrlGetState','GUICtrlRead','GUICtrlRecvMsg', - 'GUICtrlRegisterListViewSort','GUICtrlSendMsg','GUICtrlSendToDummy', - 'GUICtrlSetBkColor','GUICtrlSetColor','GUICtrlSetCursor', - 'GUICtrlSetData','GUICtrlSetFont','GUICtrlSetDefColor', - 'GUICtrlSetDefBkColor','GUICtrlSetGraphic','GUICtrlSetImage', - 'GUICtrlSetLimit','GUICtrlSetOnEvent','GUICtrlSetPos', - 'GUICtrlSetResizing','GUICtrlSetState','GUICtrlSetStyle', - 'GUICtrlSetTip','GUIDelete','GUIGetCursorInfo','GUIGetMsg', - 'GUIGetStyle','GUIRegisterMsg','GUISetAccelerators()', - 'GUISetBkColor','GUISetCoord','GUISetCursor','GUISetFont', - 'GUISetHelp','GUISetIcon','GUISetOnEvent','GUISetState', - 'GUISetStyle','GUIStartGroup','GUISwitch','Hex','HotKeySet', - 'HttpSetProxy','HWnd','InetGet','InetGetSize','IniDelete','IniRead', - 'IniReadSection','IniReadSectionNames','IniRenameSection', - 'IniWrite','IniWriteSection','InputBox','Int','IsAdmin','IsArray', - 'IsBinary','IsBool','IsDeclared','IsDllStruct','IsFloat','IsHWnd', - 'IsInt','IsKeyword','IsNumber','IsObj','IsPtr','IsString','Log', - 'MemGetStats','Mod','MouseClick','MouseClickDrag','MouseDown', - 'MouseGetCursor','MouseGetPos','MouseMove','MouseUp','MouseWheel', - 'MsgBox','Number','ObjCreate','ObjEvent','ObjGet','ObjName','Opt', - 'Ping','PixelChecksum','PixelGetColor','PixelSearch','PluginClose', - 'PluginOpen','ProcessClose','ProcessExists','ProcessGetStats', - 'ProcessList','ProcessSetPriority','ProcessWait','ProcessWaitClose', - 'ProgressOff','ProgressOn','ProgressSet','Ptr','Random','RegDelete', - 'RegEnumKey','RegEnumVal','RegRead','RegWrite','Round','Run', - 'RunAs','RunAsWait','RunWait','Send','SendKeepActive','SetError', - 'SetExtended','ShellExecute','ShellExecuteWait','Shutdown','Sin', - 'Sleep','SoundPlay','SoundSetWaveVolume','SplashImageOn', - 'SplashOff','SplashTextOn','Sqrt','SRandom','StatusbarGetText', - 'StderrRead','StdinWrite','StdioClose','StdoutRead','String', - 'StringAddCR','StringCompare','StringFormat','StringInStr', - 'StringIsAlNum','StringIsAlpha','StringIsASCII','StringIsDigit', - 'StringIsFloat','StringIsInt','StringIsLower','StringIsSpace', - 'StringIsUpper','StringIsXDigit','StringLeft','StringLen', - 'StringLower','StringMid','StringRegExp','StringRegExpReplace', - 'StringReplace','StringRight','StringSplit','StringStripCR', - 'StringStripWS','StringToBinary','StringTrimLeft','StringTrimRight', - 'StringUpper','Tan','TCPAccept','TCPCloseSocket','TCPConnect', - 'TCPListen','TCPNameToIP','TCPRecv','TCPSend','TCPShutdown', - 'TCPStartup','TimerDiff','TimerInit','ToolTip','TrayCreateItem', - 'TrayCreateMenu','TrayGetMsg','TrayItemDelete','TrayItemGetHandle', - 'TrayItemGetState','TrayItemGetText','TrayItemSetOnEvent', - 'TrayItemSetState','TrayItemSetText','TraySetClick','TraySetIcon', - 'TraySetOnEvent','TraySetPauseIcon','TraySetState','TraySetToolTip', - 'TrayTip','UBound','UDPBind','UDPCloseSocket','UDPOpen','UDPRecv', - 'UDPSend','UDPShutdown','UDPStartup','VarGetType','WinActivate', - 'WinActive','WinClose','WinExists','WinFlash','WinGetCaretPos', - 'WinGetClassList','WinGetClientSize','WinGetHandle','WinGetPos', - 'WinGetProcess','WinGetState','WinGetText','WinGetTitle','WinKill', - 'WinList','WinMenuSelectItem','WinMinimizeAll','WinMinimizeAllUndo', - 'WinMove','WinSetOnTop','WinSetState','WinSetTitle','WinSetTrans', - 'WinWait','WinWaitActive','WinWaitClose','WinWaitNotActive' - ), - 4 => array( - 'ArrayAdd','ArrayBinarySearch','ArrayConcatenate','ArrayDelete', - 'ArrayDisplay','ArrayFindAll','ArrayInsert','ArrayMax', - 'ArrayMaxIndex','ArrayMin','ArrayMinIndex','ArrayPop','ArrayPush', - 'ArrayReverse','ArraySearch','ArraySort','ArraySwap','ArrayToClip', - 'ArrayToString','ArrayTrim','ChooseColor','ChooseFont', - 'ClipBoard_ChangeChain','ClipBoard_Close','ClipBoard_CountFormats', - 'ClipBoard_Empty','ClipBoard_EnumFormats','ClipBoard_FormatStr', - 'ClipBoard_GetData','ClipBoard_GetDataEx','ClipBoard_GetFormatName', - 'ClipBoard_GetOpenWindow','ClipBoard_GetOwner', - 'ClipBoard_GetPriorityFormat','ClipBoard_GetSequenceNumber', - 'ClipBoard_GetViewer','ClipBoard_IsFormatAvailable', - 'ClipBoard_Open','ClipBoard_RegisterFormat','ClipBoard_SetData', - 'ClipBoard_SetDataEx','ClipBoard_SetViewer','ClipPutFile', - 'ColorConvertHSLtoRGB','ColorConvertRGBtoHSL','ColorGetBlue', - 'ColorGetGreen','ColorGetRed','Date_Time_CompareFileTime', - 'Date_Time_DOSDateTimeToArray','Date_Time_DOSDateTimeToFileTime', - 'Date_Time_DOSDateTimeToStr','Date_Time_DOSDateToArray', - 'Date_Time_DOSDateToStr','Date_Time_DOSTimeToArray', - 'Date_Time_DOSTimeToStr','Date_Time_EncodeFileTime', - 'Date_Time_EncodeSystemTime','Date_Time_FileTimeToArray', - 'Date_Time_FileTimeToDOSDateTime', - 'Date_Time_FileTimeToLocalFileTime','Date_Time_FileTimeToStr', - 'Date_Time_FileTimeToSystemTime','Date_Time_GetFileTime', - 'Date_Time_GetLocalTime','Date_Time_GetSystemTime', - 'Date_Time_GetSystemTimeAdjustment', - 'Date_Time_GetSystemTimeAsFileTime', - 'Date_Time_GetSystemTimes','Date_Time_GetTickCount', - 'Date_Time_GetTimeZoneInformation', - 'Date_Time_LocalFileTimeToFileTime','Date_Time_SetFileTime', - 'Date_Time_SetLocalTime','Date_Time_SetSystemTime', - 'Date_Time_SetSystemTimeAdjustment', - 'Date_Time_SetTimeZoneInformation','Date_Time_SystemTimeToArray', - 'Date_Time_SystemTimeToDateStr','Date_Time_SystemTimeToDateTimeStr', - 'Date_Time_SystemTimeToFileTime','Date_Time_SystemTimeToTimeStr', - 'Date_Time_SystemTimeToTzSpecificLocalTime', - 'Date_Time_TzSpecificLocalTimeToSystemTime','DateAdd', - 'DateDayOfWeek','DateDaysInMonth','DateDiff','DateIsLeapYear', - 'DateIsValid','DateTimeFormat','DateTimeSplit','DateToDayOfWeek', - 'DateToDayOfWeekISO','DateToDayValue','DateToMonth', - 'DayValueToDate','DebugBugReportEnv','DebugOut','DebugSetup', - 'Degree','EventLog__Backup','EventLog__Clear','EventLog__Close', - 'EventLog__Count','EventLog__DeregisterSource','EventLog__Full', - 'EventLog__Notify','EventLog__Oldest','EventLog__Open', - 'EventLog__OpenBackup','EventLog__Read','EventLog__RegisterSource', - 'EventLog__Report','FileCountLines','FileCreate','FileListToArray', - 'FilePrint','FileReadToArray','FileWriteFromArray', - 'FileWriteLog','FileWriteToLine','GDIPlus_ArrowCapCreate', - 'GDIPlus_ArrowCapDispose','GDIPlus_ArrowCapGetFillState', - 'GDIPlus_ArrowCapGetHeight','GDIPlus_ArrowCapGetMiddleInset', - 'GDIPlus_ArrowCapGetWidth','GDIPlus_ArrowCapSetFillState', - 'GDIPlus_ArrowCapSetHeight','GDIPlus_ArrowCapSetMiddleInset', - 'GDIPlus_ArrowCapSetWidth','GDIPlus_BitmapCloneArea', - 'GDIPlus_BitmapCreateFromFile','GDIPlus_BitmapCreateFromGraphics', - 'GDIPlus_BitmapCreateFromHBITMAP', - 'GDIPlus_BitmapCreateHBITMAPFromBitmap','GDIPlus_BitmapDispose', - 'GDIPlus_BitmapLockBits','GDIPlus_BitmapUnlockBits', - 'GDIPlus_BrushClone','GDIPlus_BrushCreateSolid', - 'GDIPlus_BrushDispose','GDIPlus_BrushGetType', - 'GDIPlus_CustomLineCapDispose','GDIPlus_Decoders', - 'GDIPlus_DecodersGetCount','GDIPlus_DecodersGetSize', - 'GDIPlus_Encoders','GDIPlus_EncodersGetCLSID', - 'GDIPlus_EncodersGetCount','GDIPlus_EncodersGetParamList', - 'GDIPlus_EncodersGetParamListSize','GDIPlus_EncodersGetSize', - 'GDIPlus_FontCreate','GDIPlus_FontDispose', - 'GDIPlus_FontFamilyCreate','GDIPlus_FontFamilyDispose', - 'GDIPlus_GraphicsClear','GDIPlus_GraphicsCreateFromHDC', - 'GDIPlus_GraphicsCreateFromHWND','GDIPlus_GraphicsDispose', - 'GDIPlus_GraphicsDrawArc','GDIPlus_GraphicsDrawBezier', - 'GDIPlus_GraphicsDrawClosedCurve','GDIPlus_GraphicsDrawCurve', - 'GDIPlus_GraphicsDrawEllipse','GDIPlus_GraphicsDrawImage', - 'GDIPlus_GraphicsDrawImageRect','GDIPlus_GraphicsDrawImageRectRect', - 'GDIPlus_GraphicsDrawLine','GDIPlus_GraphicsDrawPie', - 'GDIPlus_GraphicsDrawPolygon','GDIPlus_GraphicsDrawRect', - 'GDIPlus_GraphicsDrawString','GDIPlus_GraphicsDrawStringEx', - 'GDIPlus_GraphicsFillClosedCurve','GDIPlus_GraphicsFillEllipse', - 'GDIPlus_GraphicsFillPie','GDIPlus_GraphicsFillRect', - 'GDIPlus_GraphicsGetDC','GDIPlus_GraphicsGetSmoothingMode', - 'GDIPlus_GraphicsMeasureString','GDIPlus_GraphicsReleaseDC', - 'GDIPlus_GraphicsSetSmoothingMode','GDIPlus_GraphicsSetTransform', - 'GDIPlus_ImageDispose','GDIPlus_ImageGetGraphicsContext', - 'GDIPlus_ImageGetHeight','GDIPlus_ImageGetWidth', - 'GDIPlus_ImageLoadFromFile','GDIPlus_ImageSaveToFile', - 'GDIPlus_ImageSaveToFileEx','GDIPlus_MatrixCreate', - 'GDIPlus_MatrixDispose','GDIPlus_MatrixRotate','GDIPlus_ParamAdd', - 'GDIPlus_ParamInit','GDIPlus_PenCreate','GDIPlus_PenDispose', - 'GDIPlus_PenGetAlignment','GDIPlus_PenGetColor', - 'GDIPlus_PenGetCustomEndCap','GDIPlus_PenGetDashCap', - 'GDIPlus_PenGetDashStyle','GDIPlus_PenGetEndCap', - 'GDIPlus_PenGetWidth','GDIPlus_PenSetAlignment', - 'GDIPlus_PenSetColor','GDIPlus_PenSetCustomEndCap', - 'GDIPlus_PenSetDashCap','GDIPlus_PenSetDashStyle', - 'GDIPlus_PenSetEndCap','GDIPlus_PenSetWidth','GDIPlus_RectFCreate', - 'GDIPlus_Shutdown','GDIPlus_Startup','GDIPlus_StringFormatCreate', - 'GDIPlus_StringFormatDispose','GetIP','GUICtrlAVI_Close', - 'GUICtrlAVI_Create','GUICtrlAVI_Destroy','GUICtrlAVI_Open', - 'GUICtrlAVI_OpenEx','GUICtrlAVI_Play','GUICtrlAVI_Seek', - 'GUICtrlAVI_Show','GUICtrlAVI_Stop','GUICtrlButton_Click', - 'GUICtrlButton_Create','GUICtrlButton_Destroy', - 'GUICtrlButton_Enable','GUICtrlButton_GetCheck', - 'GUICtrlButton_GetFocus','GUICtrlButton_GetIdealSize', - 'GUICtrlButton_GetImage','GUICtrlButton_GetImageList', - 'GUICtrlButton_GetState','GUICtrlButton_GetText', - 'GUICtrlButton_GetTextMargin','GUICtrlButton_SetCheck', - 'GUICtrlButton_SetFocus','GUICtrlButton_SetImage', - 'GUICtrlButton_SetImageList','GUICtrlButton_SetSize', - 'GUICtrlButton_SetState','GUICtrlButton_SetStyle', - 'GUICtrlButton_SetText','GUICtrlButton_SetTextMargin', - 'GUICtrlButton_Show','GUICtrlComboBox_AddDir', - 'GUICtrlComboBox_AddString','GUICtrlComboBox_AutoComplete', - 'GUICtrlComboBox_BeginUpdate','GUICtrlComboBox_Create', - 'GUICtrlComboBox_DeleteString','GUICtrlComboBox_Destroy', - 'GUICtrlComboBox_EndUpdate','GUICtrlComboBox_FindString', - 'GUICtrlComboBox_FindStringExact','GUICtrlComboBox_GetComboBoxInfo', - 'GUICtrlComboBox_GetCount','GUICtrlComboBox_GetCurSel', - 'GUICtrlComboBox_GetDroppedControlRect', - 'GUICtrlComboBox_GetDroppedControlRectEx', - 'GUICtrlComboBox_GetDroppedState','GUICtrlComboBox_GetDroppedWidth', - 'GUICtrlComboBox_GetEditSel','GUICtrlComboBox_GetEditText', - 'GUICtrlComboBox_GetExtendedUI', - 'GUICtrlComboBox_GetHorizontalExtent', - 'GUICtrlComboBox_GetItemHeight','GUICtrlComboBox_GetLBText', - 'GUICtrlComboBox_GetLBTextLen','GUICtrlComboBox_GetList', - 'GUICtrlComboBox_GetListArray','GUICtrlComboBox_GetLocale', - 'GUICtrlComboBox_GetLocaleCountry','GUICtrlComboBox_GetLocaleLang', - 'GUICtrlComboBox_GetLocalePrimLang', - 'GUICtrlComboBox_GetLocaleSubLang','GUICtrlComboBox_GetMinVisible', - 'GUICtrlComboBox_GetTopIndex','GUICtrlComboBox_InitStorage', - 'GUICtrlComboBox_InsertString','GUICtrlComboBox_LimitText', - 'GUICtrlComboBox_ReplaceEditSel','GUICtrlComboBox_ResetContent', - 'GUICtrlComboBox_SelectString','GUICtrlComboBox_SetCurSel', - 'GUICtrlComboBox_SetDroppedWidth','GUICtrlComboBox_SetEditSel', - 'GUICtrlComboBox_SetEditText','GUICtrlComboBox_SetExtendedUI', - 'GUICtrlComboBox_SetHorizontalExtent', - 'GUICtrlComboBox_SetItemHeight','GUICtrlComboBox_SetMinVisible', - 'GUICtrlComboBox_SetTopIndex','GUICtrlComboBox_ShowDropDown', - 'GUICtrlComboBoxEx_AddDir','GUICtrlComboBoxEx_AddString', - 'GUICtrlComboBoxEx_BeginUpdate','GUICtrlComboBoxEx_Create', - 'GUICtrlComboBoxEx_CreateSolidBitMap', - 'GUICtrlComboBoxEx_DeleteString','GUICtrlComboBoxEx_Destroy', - 'GUICtrlComboBoxEx_EndUpdate','GUICtrlComboBoxEx_FindStringExact', - 'GUICtrlComboBoxEx_GetComboBoxInfo', - 'GUICtrlComboBoxEx_GetComboControl','GUICtrlComboBoxEx_GetCount', - 'GUICtrlComboBoxEx_GetCurSel', - 'GUICtrlComboBoxEx_GetDroppedControlRect', - 'GUICtrlComboBoxEx_GetDroppedControlRectEx', - 'GUICtrlComboBoxEx_GetDroppedState', - 'GUICtrlComboBoxEx_GetDroppedWidth', - 'GUICtrlComboBoxEx_GetEditControl','GUICtrlComboBoxEx_GetEditSel', - 'GUICtrlComboBoxEx_GetEditText', - 'GUICtrlComboBoxEx_GetExtendedStyle', - 'GUICtrlComboBoxEx_GetExtendedUI','GUICtrlComboBoxEx_GetImageList', - 'GUICtrlComboBoxEx_GetItem','GUICtrlComboBoxEx_GetItemEx', - 'GUICtrlComboBoxEx_GetItemHeight','GUICtrlComboBoxEx_GetItemImage', - 'GUICtrlComboBoxEx_GetItemIndent', - 'GUICtrlComboBoxEx_GetItemOverlayImage', - 'GUICtrlComboBoxEx_GetItemParam', - 'GUICtrlComboBoxEx_GetItemSelectedImage', - 'GUICtrlComboBoxEx_GetItemText','GUICtrlComboBoxEx_GetItemTextLen', - 'GUICtrlComboBoxEx_GetList','GUICtrlComboBoxEx_GetListArray', - 'GUICtrlComboBoxEx_GetLocale','GUICtrlComboBoxEx_GetLocaleCountry', - 'GUICtrlComboBoxEx_GetLocaleLang', - 'GUICtrlComboBoxEx_GetLocalePrimLang', - 'GUICtrlComboBoxEx_GetLocaleSubLang', - 'GUICtrlComboBoxEx_GetMinVisible','GUICtrlComboBoxEx_GetTopIndex', - 'GUICtrlComboBoxEx_InitStorage','GUICtrlComboBoxEx_InsertString', - 'GUICtrlComboBoxEx_LimitText','GUICtrlComboBoxEx_ReplaceEditSel', - 'GUICtrlComboBoxEx_ResetContent','GUICtrlComboBoxEx_SetCurSel', - 'GUICtrlComboBoxEx_SetDroppedWidth','GUICtrlComboBoxEx_SetEditSel', - 'GUICtrlComboBoxEx_SetEditText', - 'GUICtrlComboBoxEx_SetExtendedStyle', - 'GUICtrlComboBoxEx_SetExtendedUI','GUICtrlComboBoxEx_SetImageList', - 'GUICtrlComboBoxEx_SetItem','GUICtrlComboBoxEx_SetItemEx', - 'GUICtrlComboBoxEx_SetItemHeight','GUICtrlComboBoxEx_SetItemImage', - 'GUICtrlComboBoxEx_SetItemIndent', - 'GUICtrlComboBoxEx_SetItemOverlayImage', - 'GUICtrlComboBoxEx_SetItemParam', - 'GUICtrlComboBoxEx_SetItemSelectedImage', - 'GUICtrlComboBoxEx_SetMinVisible','GUICtrlComboBoxEx_SetTopIndex', - 'GUICtrlComboBoxEx_ShowDropDown','GUICtrlDTP_Create', - 'GUICtrlDTP_Destroy','GUICtrlDTP_GetMCColor','GUICtrlDTP_GetMCFont', - 'GUICtrlDTP_GetMonthCal','GUICtrlDTP_GetRange', - 'GUICtrlDTP_GetRangeEx','GUICtrlDTP_GetSystemTime', - 'GUICtrlDTP_GetSystemTimeEx','GUICtrlDTP_SetFormat', - 'GUICtrlDTP_SetMCColor','GUICtrlDTP_SetMCFont', - 'GUICtrlDTP_SetRange','GUICtrlDTP_SetRangeEx', - 'GUICtrlDTP_SetSystemTime','GUICtrlDTP_SetSystemTimeEx', - 'GUICtrlEdit_AppendText','GUICtrlEdit_BeginUpdate', - 'GUICtrlEdit_CanUndo','GUICtrlEdit_CharFromPos', - 'GUICtrlEdit_Create','GUICtrlEdit_Destroy', - 'GUICtrlEdit_EmptyUndoBuffer','GUICtrlEdit_EndUpdate', - 'GUICtrlEdit_Find','GUICtrlEdit_FmtLines', - 'GUICtrlEdit_GetFirstVisibleLine','GUICtrlEdit_GetLimitText', - 'GUICtrlEdit_GetLine','GUICtrlEdit_GetLineCount', - 'GUICtrlEdit_GetMargins','GUICtrlEdit_GetModify', - 'GUICtrlEdit_GetPasswordChar','GUICtrlEdit_GetRECT', - 'GUICtrlEdit_GetRECTEx','GUICtrlEdit_GetSel','GUICtrlEdit_GetText', - 'GUICtrlEdit_GetTextLen','GUICtrlEdit_HideBalloonTip', - 'GUICtrlEdit_InsertText','GUICtrlEdit_LineFromChar', - 'GUICtrlEdit_LineIndex','GUICtrlEdit_LineLength', - 'GUICtrlEdit_LineScroll','GUICtrlEdit_PosFromChar', - 'GUICtrlEdit_ReplaceSel','GUICtrlEdit_Scroll', - 'GUICtrlEdit_SetLimitText','GUICtrlEdit_SetMargins', - 'GUICtrlEdit_SetModify','GUICtrlEdit_SetPasswordChar', - 'GUICtrlEdit_SetReadOnly','GUICtrlEdit_SetRECT', - 'GUICtrlEdit_SetRECTEx','GUICtrlEdit_SetRECTNP', - 'GUICtrlEdit_SetRectNPEx','GUICtrlEdit_SetSel', - 'GUICtrlEdit_SetTabStops','GUICtrlEdit_SetText', - 'GUICtrlEdit_ShowBalloonTip','GUICtrlEdit_Undo', - 'GUICtrlHeader_AddItem','GUICtrlHeader_ClearFilter', - 'GUICtrlHeader_ClearFilterAll','GUICtrlHeader_Create', - 'GUICtrlHeader_CreateDragImage','GUICtrlHeader_DeleteItem', - 'GUICtrlHeader_Destroy','GUICtrlHeader_EditFilter', - 'GUICtrlHeader_GetBitmapMargin','GUICtrlHeader_GetImageList', - 'GUICtrlHeader_GetItem','GUICtrlHeader_GetItemAlign', - 'GUICtrlHeader_GetItemBitmap','GUICtrlHeader_GetItemCount', - 'GUICtrlHeader_GetItemDisplay','GUICtrlHeader_GetItemFlags', - 'GUICtrlHeader_GetItemFormat','GUICtrlHeader_GetItemImage', - 'GUICtrlHeader_GetItemOrder','GUICtrlHeader_GetItemParam', - 'GUICtrlHeader_GetItemRect','GUICtrlHeader_GetItemRectEx', - 'GUICtrlHeader_GetItemText','GUICtrlHeader_GetItemWidth', - 'GUICtrlHeader_GetOrderArray','GUICtrlHeader_GetUnicodeFormat', - 'GUICtrlHeader_HitTest','GUICtrlHeader_InsertItem', - 'GUICtrlHeader_Layout','GUICtrlHeader_OrderToIndex', - 'GUICtrlHeader_SetBitmapMargin', - 'GUICtrlHeader_SetFilterChangeTimeout', - 'GUICtrlHeader_SetHotDivider','GUICtrlHeader_SetImageList', - 'GUICtrlHeader_SetItem','GUICtrlHeader_SetItemAlign', - 'GUICtrlHeader_SetItemBitmap','GUICtrlHeader_SetItemDisplay', - 'GUICtrlHeader_SetItemFlags','GUICtrlHeader_SetItemFormat', - 'GUICtrlHeader_SetItemImage','GUICtrlHeader_SetItemOrder', - 'GUICtrlHeader_SetItemParam','GUICtrlHeader_SetItemText', - 'GUICtrlHeader_SetItemWidth','GUICtrlHeader_SetOrderArray', - 'GUICtrlHeader_SetUnicodeFormat','GUICtrlIpAddress_ClearAddress', - 'GUICtrlIpAddress_Create','GUICtrlIpAddress_Destroy', - 'GUICtrlIpAddress_Get','GUICtrlIpAddress_GetArray', - 'GUICtrlIpAddress_GetEx','GUICtrlIpAddress_IsBlank', - 'GUICtrlIpAddress_Set','GUICtrlIpAddress_SetArray', - 'GUICtrlIpAddress_SetEx','GUICtrlIpAddress_SetFocus', - 'GUICtrlIpAddress_SetFont','GUICtrlIpAddress_SetRange', - 'GUICtrlIpAddress_ShowHide','GUICtrlListBox_AddFile', - 'GUICtrlListBox_AddString','GUICtrlListBox_BeginUpdate', - 'GUICtrlListBox_Create','GUICtrlListBox_DeleteString', - 'GUICtrlListBox_Destroy','GUICtrlListBox_Dir', - 'GUICtrlListBox_EndUpdate','GUICtrlListBox_FindInText', - 'GUICtrlListBox_FindString','GUICtrlListBox_GetAnchorIndex', - 'GUICtrlListBox_GetCaretIndex','GUICtrlListBox_GetCount', - 'GUICtrlListBox_GetCurSel','GUICtrlListBox_GetHorizontalExtent', - 'GUICtrlListBox_GetItemData','GUICtrlListBox_GetItemHeight', - 'GUICtrlListBox_GetItemRect','GUICtrlListBox_GetItemRectEx', - 'GUICtrlListBox_GetListBoxInfo','GUICtrlListBox_GetLocale', - 'GUICtrlListBox_GetLocaleCountry','GUICtrlListBox_GetLocaleLang', - 'GUICtrlListBox_GetLocalePrimLang', - 'GUICtrlListBox_GetLocaleSubLang','GUICtrlListBox_GetSel', - 'GUICtrlListBox_GetSelCount','GUICtrlListBox_GetSelItems', - 'GUICtrlListBox_GetSelItemsText','GUICtrlListBox_GetText', - 'GUICtrlListBox_GetTextLen','GUICtrlListBox_GetTopIndex', - 'GUICtrlListBox_InitStorage','GUICtrlListBox_InsertString', - 'GUICtrlListBox_ItemFromPoint','GUICtrlListBox_ReplaceString', - 'GUICtrlListBox_ResetContent','GUICtrlListBox_SelectString', - 'GUICtrlListBox_SelItemRange','GUICtrlListBox_SelItemRangeEx', - 'GUICtrlListBox_SetAnchorIndex','GUICtrlListBox_SetCaretIndex', - 'GUICtrlListBox_SetColumnWidth','GUICtrlListBox_SetCurSel', - 'GUICtrlListBox_SetHorizontalExtent','GUICtrlListBox_SetItemData', - 'GUICtrlListBox_SetItemHeight','GUICtrlListBox_SetLocale', - 'GUICtrlListBox_SetSel','GUICtrlListBox_SetTabStops', - 'GUICtrlListBox_SetTopIndex','GUICtrlListBox_Sort', - 'GUICtrlListBox_SwapString','GUICtrlListBox_UpdateHScroll', - 'GUICtrlListView_AddArray','GUICtrlListView_AddColumn', - 'GUICtrlListView_AddItem','GUICtrlListView_AddSubItem', - 'GUICtrlListView_ApproximateViewHeight', - 'GUICtrlListView_ApproximateViewRect', - 'GUICtrlListView_ApproximateViewWidth','GUICtrlListView_Arrange', - 'GUICtrlListView_BeginUpdate','GUICtrlListView_CancelEditLabel', - 'GUICtrlListView_ClickItem','GUICtrlListView_CopyItems', - 'GUICtrlListView_Create','GUICtrlListView_CreateDragImage', - 'GUICtrlListView_CreateSolidBitMap', - 'GUICtrlListView_DeleteAllItems','GUICtrlListView_DeleteColumn', - 'GUICtrlListView_DeleteItem','GUICtrlListView_DeleteItemsSelected', - 'GUICtrlListView_Destroy','GUICtrlListView_DrawDragImage', - 'GUICtrlListView_EditLabel','GUICtrlListView_EnableGroupView', - 'GUICtrlListView_EndUpdate','GUICtrlListView_EnsureVisible', - 'GUICtrlListView_FindInText','GUICtrlListView_FindItem', - 'GUICtrlListView_FindNearest','GUICtrlListView_FindParam', - 'GUICtrlListView_FindText','GUICtrlListView_GetBkColor', - 'GUICtrlListView_GetBkImage','GUICtrlListView_GetCallbackMask', - 'GUICtrlListView_GetColumn','GUICtrlListView_GetColumnCount', - 'GUICtrlListView_GetColumnOrder', - 'GUICtrlListView_GetColumnOrderArray', - 'GUICtrlListView_GetColumnWidth','GUICtrlListView_GetCounterPage', - 'GUICtrlListView_GetEditControl', - 'GUICtrlListView_GetExtendedListViewStyle', - 'GUICtrlListView_GetGroupInfo', - 'GUICtrlListView_GetGroupViewEnabled','GUICtrlListView_GetHeader', - 'GUICtrlListView_GetHotCursor','GUICtrlListView_GetHotItem', - 'GUICtrlListView_GetHoverTime','GUICtrlListView_GetImageList', - 'GUICtrlListView_GetISearchString','GUICtrlListView_GetItem', - 'GUICtrlListView_GetItemChecked','GUICtrlListView_GetItemCount', - 'GUICtrlListView_GetItemCut','GUICtrlListView_GetItemDropHilited', - 'GUICtrlListView_GetItemEx','GUICtrlListView_GetItemFocused', - 'GUICtrlListView_GetItemGroupID','GUICtrlListView_GetItemImage', - 'GUICtrlListView_GetItemIndent','GUICtrlListView_GetItemParam', - 'GUICtrlListView_GetItemPosition', - 'GUICtrlListView_GetItemPositionX', - 'GUICtrlListView_GetItemPositionY','GUICtrlListView_GetItemRect', - 'GUICtrlListView_GetItemRectEx','GUICtrlListView_GetItemSelected', - 'GUICtrlListView_GetItemSpacing','GUICtrlListView_GetItemSpacingX', - 'GUICtrlListView_GetItemSpacingY','GUICtrlListView_GetItemState', - 'GUICtrlListView_GetItemStateImage','GUICtrlListView_GetItemText', - 'GUICtrlListView_GetItemTextArray', - 'GUICtrlListView_GetItemTextString','GUICtrlListView_GetNextItem', - 'GUICtrlListView_GetNumberOfWorkAreas','GUICtrlListView_GetOrigin', - 'GUICtrlListView_GetOriginX','GUICtrlListView_GetOriginY', - 'GUICtrlListView_GetOutlineColor', - 'GUICtrlListView_GetSelectedColumn', - 'GUICtrlListView_GetSelectedCount', - 'GUICtrlListView_GetSelectedIndices', - 'GUICtrlListView_GetSelectionMark','GUICtrlListView_GetStringWidth', - 'GUICtrlListView_GetSubItemRect','GUICtrlListView_GetTextBkColor', - 'GUICtrlListView_GetTextColor','GUICtrlListView_GetToolTips', - 'GUICtrlListView_GetTopIndex','GUICtrlListView_GetUnicodeFormat', - 'GUICtrlListView_GetView','GUICtrlListView_GetViewDetails', - 'GUICtrlListView_GetViewLarge','GUICtrlListView_GetViewList', - 'GUICtrlListView_GetViewRect','GUICtrlListView_GetViewSmall', - 'GUICtrlListView_GetViewTile','GUICtrlListView_HideColumn', - 'GUICtrlListView_HitTest','GUICtrlListView_InsertColumn', - 'GUICtrlListView_InsertGroup','GUICtrlListView_InsertItem', - 'GUICtrlListView_JustifyColumn','GUICtrlListView_MapIDToIndex', - 'GUICtrlListView_MapIndexToID','GUICtrlListView_RedrawItems', - 'GUICtrlListView_RegisterSortCallBack', - 'GUICtrlListView_RemoveAllGroups','GUICtrlListView_RemoveGroup', - 'GUICtrlListView_Scroll','GUICtrlListView_SetBkColor', - 'GUICtrlListView_SetBkImage','GUICtrlListView_SetCallBackMask', - 'GUICtrlListView_SetColumn','GUICtrlListView_SetColumnOrder', - 'GUICtrlListView_SetColumnOrderArray', - 'GUICtrlListView_SetColumnWidth', - 'GUICtrlListView_SetExtendedListViewStyle', - 'GUICtrlListView_SetGroupInfo','GUICtrlListView_SetHotItem', - 'GUICtrlListView_SetHoverTime','GUICtrlListView_SetIconSpacing', - 'GUICtrlListView_SetImageList','GUICtrlListView_SetItem', - 'GUICtrlListView_SetItemChecked','GUICtrlListView_SetItemCount', - 'GUICtrlListView_SetItemCut','GUICtrlListView_SetItemDropHilited', - 'GUICtrlListView_SetItemEx','GUICtrlListView_SetItemFocused', - 'GUICtrlListView_SetItemGroupID','GUICtrlListView_SetItemImage', - 'GUICtrlListView_SetItemIndent','GUICtrlListView_SetItemParam', - 'GUICtrlListView_SetItemPosition', - 'GUICtrlListView_SetItemPosition32', - 'GUICtrlListView_SetItemSelected','GUICtrlListView_SetItemState', - 'GUICtrlListView_SetItemStateImage','GUICtrlListView_SetItemText', - 'GUICtrlListView_SetOutlineColor', - 'GUICtrlListView_SetSelectedColumn', - 'GUICtrlListView_SetSelectionMark','GUICtrlListView_SetTextBkColor', - 'GUICtrlListView_SetTextColor','GUICtrlListView_SetToolTips', - 'GUICtrlListView_SetUnicodeFormat','GUICtrlListView_SetView', - 'GUICtrlListView_SetWorkAreas','GUICtrlListView_SimpleSort', - 'GUICtrlListView_SortItems','GUICtrlListView_SubItemHitTest', - 'GUICtrlListView_UnRegisterSortCallBack', - 'GUICtrlMenu_AddMenuItem','GUICtrlMenu_AppendMenu', - 'GUICtrlMenu_CheckMenuItem','GUICtrlMenu_CheckRadioItem', - 'GUICtrlMenu_CreateMenu','GUICtrlMenu_CreatePopup', - 'GUICtrlMenu_DeleteMenu','GUICtrlMenu_DestroyMenu', - 'GUICtrlMenu_DrawMenuBar','GUICtrlMenu_EnableMenuItem', - 'GUICtrlMenu_FindItem','GUICtrlMenu_FindParent', - 'GUICtrlMenu_GetItemBmp','GUICtrlMenu_GetItemBmpChecked', - 'GUICtrlMenu_GetItemBmpUnchecked','GUICtrlMenu_GetItemChecked', - 'GUICtrlMenu_GetItemCount','GUICtrlMenu_GetItemData', - 'GUICtrlMenu_GetItemDefault','GUICtrlMenu_GetItemDisabled', - 'GUICtrlMenu_GetItemEnabled','GUICtrlMenu_GetItemGrayed', - 'GUICtrlMenu_GetItemHighlighted','GUICtrlMenu_GetItemID', - 'GUICtrlMenu_GetItemInfo','GUICtrlMenu_GetItemRect', - 'GUICtrlMenu_GetItemRectEx','GUICtrlMenu_GetItemState', - 'GUICtrlMenu_GetItemStateEx','GUICtrlMenu_GetItemSubMenu', - 'GUICtrlMenu_GetItemText','GUICtrlMenu_GetItemType', - 'GUICtrlMenu_GetMenu','GUICtrlMenu_GetMenuBackground', - 'GUICtrlMenu_GetMenuBarInfo','GUICtrlMenu_GetMenuContextHelpID', - 'GUICtrlMenu_GetMenuData','GUICtrlMenu_GetMenuDefaultItem', - 'GUICtrlMenu_GetMenuHeight','GUICtrlMenu_GetMenuInfo', - 'GUICtrlMenu_GetMenuStyle','GUICtrlMenu_GetSystemMenu', - 'GUICtrlMenu_InsertMenuItem','GUICtrlMenu_InsertMenuItemEx', - 'GUICtrlMenu_IsMenu','GUICtrlMenu_LoadMenu', - 'GUICtrlMenu_MapAccelerator','GUICtrlMenu_MenuItemFromPoint', - 'GUICtrlMenu_RemoveMenu','GUICtrlMenu_SetItemBitmaps', - 'GUICtrlMenu_SetItemBmp','GUICtrlMenu_SetItemBmpChecked', - 'GUICtrlMenu_SetItemBmpUnchecked','GUICtrlMenu_SetItemChecked', - 'GUICtrlMenu_SetItemData','GUICtrlMenu_SetItemDefault', - 'GUICtrlMenu_SetItemDisabled','GUICtrlMenu_SetItemEnabled', - 'GUICtrlMenu_SetItemGrayed','GUICtrlMenu_SetItemHighlighted', - 'GUICtrlMenu_SetItemID','GUICtrlMenu_SetItemInfo', - 'GUICtrlMenu_SetItemState','GUICtrlMenu_SetItemSubMenu', - 'GUICtrlMenu_SetItemText','GUICtrlMenu_SetItemType', - 'GUICtrlMenu_SetMenu','GUICtrlMenu_SetMenuBackground', - 'GUICtrlMenu_SetMenuContextHelpID','GUICtrlMenu_SetMenuData', - 'GUICtrlMenu_SetMenuDefaultItem','GUICtrlMenu_SetMenuHeight', - 'GUICtrlMenu_SetMenuInfo','GUICtrlMenu_SetMenuStyle', - 'GUICtrlMenu_TrackPopupMenu','GUICtrlMonthCal_Create', - 'GUICtrlMonthCal_Destroy','GUICtrlMonthCal_GetColor', - 'GUICtrlMonthCal_GetColorArray','GUICtrlMonthCal_GetCurSel', - 'GUICtrlMonthCal_GetCurSelStr','GUICtrlMonthCal_GetFirstDOW', - 'GUICtrlMonthCal_GetFirstDOWStr','GUICtrlMonthCal_GetMaxSelCount', - 'GUICtrlMonthCal_GetMaxTodayWidth', - 'GUICtrlMonthCal_GetMinReqHeight','GUICtrlMonthCal_GetMinReqRect', - 'GUICtrlMonthCal_GetMinReqRectArray', - 'GUICtrlMonthCal_GetMinReqWidth','GUICtrlMonthCal_GetMonthDelta', - 'GUICtrlMonthCal_GetMonthRange','GUICtrlMonthCal_GetMonthRangeMax', - 'GUICtrlMonthCal_GetMonthRangeMaxStr', - 'GUICtrlMonthCal_GetMonthRangeMin', - 'GUICtrlMonthCal_GetMonthRangeMinStr', - 'GUICtrlMonthCal_GetMonthRangeSpan','GUICtrlMonthCal_GetRange', - 'GUICtrlMonthCal_GetRangeMax','GUICtrlMonthCal_GetRangeMaxStr', - 'GUICtrlMonthCal_GetRangeMin','GUICtrlMonthCal_GetRangeMinStr', - 'GUICtrlMonthCal_GetSelRange','GUICtrlMonthCal_GetSelRangeMax', - 'GUICtrlMonthCal_GetSelRangeMaxStr', - 'GUICtrlMonthCal_GetSelRangeMin', - 'GUICtrlMonthCal_GetSelRangeMinStr','GUICtrlMonthCal_GetToday', - 'GUICtrlMonthCal_GetTodayStr','GUICtrlMonthCal_GetUnicodeFormat', - 'GUICtrlMonthCal_HitTest','GUICtrlMonthCal_SetColor', - 'GUICtrlMonthCal_SetCurSel','GUICtrlMonthCal_SetDayState', - 'GUICtrlMonthCal_SetFirstDOW','GUICtrlMonthCal_SetMaxSelCount', - 'GUICtrlMonthCal_SetMonthDelta','GUICtrlMonthCal_SetRange', - 'GUICtrlMonthCal_SetSelRange','GUICtrlMonthCal_SetToday', - 'GUICtrlMonthCal_SetUnicodeFormat','GUICtrlRebar_AddBand', - 'GUICtrlRebar_AddToolBarBand','GUICtrlRebar_BeginDrag', - 'GUICtrlRebar_Create','GUICtrlRebar_DeleteBand', - 'GUICtrlRebar_Destroy','GUICtrlRebar_DragMove', - 'GUICtrlRebar_EndDrag','GUICtrlRebar_GetBandBackColor', - 'GUICtrlRebar_GetBandBorders','GUICtrlRebar_GetBandBordersEx', - 'GUICtrlRebar_GetBandChildHandle','GUICtrlRebar_GetBandChildSize', - 'GUICtrlRebar_GetBandCount','GUICtrlRebar_GetBandForeColor', - 'GUICtrlRebar_GetBandHeaderSize','GUICtrlRebar_GetBandID', - 'GUICtrlRebar_GetBandIdealSize','GUICtrlRebar_GetBandLength', - 'GUICtrlRebar_GetBandLParam','GUICtrlRebar_GetBandMargins', - 'GUICtrlRebar_GetBandMarginsEx','GUICtrlRebar_GetBandRect', - 'GUICtrlRebar_GetBandRectEx','GUICtrlRebar_GetBandStyle', - 'GUICtrlRebar_GetBandStyleBreak', - 'GUICtrlRebar_GetBandStyleChildEdge', - 'GUICtrlRebar_GetBandStyleFixedBMP', - 'GUICtrlRebar_GetBandStyleFixedSize', - 'GUICtrlRebar_GetBandStyleGripperAlways', - 'GUICtrlRebar_GetBandStyleHidden', - 'GUICtrlRebar_GetBandStyleHideTitle', - 'GUICtrlRebar_GetBandStyleNoGripper', - 'GUICtrlRebar_GetBandStyleTopAlign', - 'GUICtrlRebar_GetBandStyleUseChevron', - 'GUICtrlRebar_GetBandStyleVariableHeight', - 'GUICtrlRebar_GetBandText','GUICtrlRebar_GetBarHeight', - 'GUICtrlRebar_GetBKColor','GUICtrlRebar_GetColorScheme', - 'GUICtrlRebar_GetRowCount','GUICtrlRebar_GetRowHeight', - 'GUICtrlRebar_GetTextColor','GUICtrlRebar_GetToolTips', - 'GUICtrlRebar_GetUnicodeFormat','GUICtrlRebar_HitTest', - 'GUICtrlRebar_IDToIndex','GUICtrlRebar_MaximizeBand', - 'GUICtrlRebar_MinimizeBand','GUICtrlRebar_MoveBand', - 'GUICtrlRebar_SetBandBackColor','GUICtrlRebar_SetBandForeColor', - 'GUICtrlRebar_SetBandHeaderSize','GUICtrlRebar_SetBandID', - 'GUICtrlRebar_SetBandIdealSize','GUICtrlRebar_SetBandLength', - 'GUICtrlRebar_SetBandLParam','GUICtrlRebar_SetBandStyle', - 'GUICtrlRebar_SetBandStyleBreak', - 'GUICtrlRebar_SetBandStyleChildEdge', - 'GUICtrlRebar_SetBandStyleFixedBMP', - 'GUICtrlRebar_SetBandStyleFixedSize', - 'GUICtrlRebar_SetBandStyleGripperAlways', - 'GUICtrlRebar_SetBandStyleHidden', - 'GUICtrlRebar_SetBandStyleHideTitle', - 'GUICtrlRebar_SetBandStyleNoGripper', - 'GUICtrlRebar_SetBandStyleTopAlign', - 'GUICtrlRebar_SetBandStyleUseChevron', - 'GUICtrlRebar_SetBandStyleVariableHeight', - 'GUICtrlRebar_SetBandText','GUICtrlRebar_SetBKColor', - 'GUICtrlRebar_SetColorScheme','GUICtrlRebar_SetTextColor', - 'GUICtrlRebar_SetToolTips','GUICtrlRebar_SetUnicodeFormat', - 'GUICtrlRebar_ShowBand','GUICtrlSlider_ClearSel', - 'GUICtrlSlider_ClearTics','GUICtrlSlider_Create', - 'GUICtrlSlider_Destroy','GUICtrlSlider_GetBuddy', - 'GUICtrlSlider_GetChannelRect','GUICtrlSlider_GetLineSize', - 'GUICtrlSlider_GetNumTics','GUICtrlSlider_GetPageSize', - 'GUICtrlSlider_GetPos','GUICtrlSlider_GetPTics', - 'GUICtrlSlider_GetRange','GUICtrlSlider_GetRangeMax', - 'GUICtrlSlider_GetRangeMin','GUICtrlSlider_GetSel', - 'GUICtrlSlider_GetSelEnd','GUICtrlSlider_GetSelStart', - 'GUICtrlSlider_GetThumbLength','GUICtrlSlider_GetThumbRect', - 'GUICtrlSlider_GetThumbRectEx','GUICtrlSlider_GetTic', - 'GUICtrlSlider_GetTicPos','GUICtrlSlider_GetToolTips', - 'GUICtrlSlider_GetUnicodeFormat','GUICtrlSlider_SetBuddy', - 'GUICtrlSlider_SetLineSize','GUICtrlSlider_SetPageSize', - 'GUICtrlSlider_SetPos','GUICtrlSlider_SetRange', - 'GUICtrlSlider_SetRangeMax','GUICtrlSlider_SetRangeMin', - 'GUICtrlSlider_SetSel','GUICtrlSlider_SetSelEnd', - 'GUICtrlSlider_SetSelStart','GUICtrlSlider_SetThumbLength', - 'GUICtrlSlider_SetTic','GUICtrlSlider_SetTicFreq', - 'GUICtrlSlider_SetTipSide','GUICtrlSlider_SetToolTips', - 'GUICtrlSlider_SetUnicodeFormat','GUICtrlStatusBar_Create', - 'GUICtrlStatusBar_Destroy','GUICtrlStatusBar_EmbedControl', - 'GUICtrlStatusBar_GetBorders','GUICtrlStatusBar_GetBordersHorz', - 'GUICtrlStatusBar_GetBordersRect','GUICtrlStatusBar_GetBordersVert', - 'GUICtrlStatusBar_GetCount','GUICtrlStatusBar_GetHeight', - 'GUICtrlStatusBar_GetIcon','GUICtrlStatusBar_GetParts', - 'GUICtrlStatusBar_GetRect','GUICtrlStatusBar_GetRectEx', - 'GUICtrlStatusBar_GetText','GUICtrlStatusBar_GetTextFlags', - 'GUICtrlStatusBar_GetTextLength','GUICtrlStatusBar_GetTextLengthEx', - 'GUICtrlStatusBar_GetTipText','GUICtrlStatusBar_GetUnicodeFormat', - 'GUICtrlStatusBar_GetWidth','GUICtrlStatusBar_IsSimple', - 'GUICtrlStatusBar_Resize','GUICtrlStatusBar_SetBkColor', - 'GUICtrlStatusBar_SetIcon','GUICtrlStatusBar_SetMinHeight', - 'GUICtrlStatusBar_SetParts','GUICtrlStatusBar_SetSimple', - 'GUICtrlStatusBar_SetText','GUICtrlStatusBar_SetTipText', - 'GUICtrlStatusBar_SetUnicodeFormat','GUICtrlStatusBar_ShowHide', - 'GUICtrlTab_Create','GUICtrlTab_DeleteAllItems', - 'GUICtrlTab_DeleteItem','GUICtrlTab_DeselectAll', - 'GUICtrlTab_Destroy','GUICtrlTab_FindTab','GUICtrlTab_GetCurFocus', - 'GUICtrlTab_GetCurSel','GUICtrlTab_GetDisplayRect', - 'GUICtrlTab_GetDisplayRectEx','GUICtrlTab_GetExtendedStyle', - 'GUICtrlTab_GetImageList','GUICtrlTab_GetItem', - 'GUICtrlTab_GetItemCount','GUICtrlTab_GetItemImage', - 'GUICtrlTab_GetItemParam','GUICtrlTab_GetItemRect', - 'GUICtrlTab_GetItemRectEx','GUICtrlTab_GetItemState', - 'GUICtrlTab_GetItemText','GUICtrlTab_GetRowCount', - 'GUICtrlTab_GetToolTips','GUICtrlTab_GetUnicodeFormat', - 'GUICtrlTab_HighlightItem','GUICtrlTab_HitTest', - 'GUICtrlTab_InsertItem','GUICtrlTab_RemoveImage', - 'GUICtrlTab_SetCurFocus','GUICtrlTab_SetCurSel', - 'GUICtrlTab_SetExtendedStyle','GUICtrlTab_SetImageList', - 'GUICtrlTab_SetItem','GUICtrlTab_SetItemImage', - 'GUICtrlTab_SetItemParam','GUICtrlTab_SetItemSize', - 'GUICtrlTab_SetItemState','GUICtrlTab_SetItemText', - 'GUICtrlTab_SetMinTabWidth','GUICtrlTab_SetPadding', - 'GUICtrlTab_SetToolTips','GUICtrlTab_SetUnicodeFormat', - 'GUICtrlToolbar_AddBitmap','GUICtrlToolbar_AddButton', - 'GUICtrlToolbar_AddButtonSep','GUICtrlToolbar_AddString', - 'GUICtrlToolbar_ButtonCount','GUICtrlToolbar_CheckButton', - 'GUICtrlToolbar_ClickAccel','GUICtrlToolbar_ClickButton', - 'GUICtrlToolbar_ClickIndex','GUICtrlToolbar_CommandToIndex', - 'GUICtrlToolbar_Create','GUICtrlToolbar_Customize', - 'GUICtrlToolbar_DeleteButton','GUICtrlToolbar_Destroy', - 'GUICtrlToolbar_EnableButton','GUICtrlToolbar_FindToolbar', - 'GUICtrlToolbar_GetAnchorHighlight','GUICtrlToolbar_GetBitmapFlags', - 'GUICtrlToolbar_GetButtonBitmap','GUICtrlToolbar_GetButtonInfo', - 'GUICtrlToolbar_GetButtonInfoEx','GUICtrlToolbar_GetButtonParam', - 'GUICtrlToolbar_GetButtonRect','GUICtrlToolbar_GetButtonRectEx', - 'GUICtrlToolbar_GetButtonSize','GUICtrlToolbar_GetButtonState', - 'GUICtrlToolbar_GetButtonStyle','GUICtrlToolbar_GetButtonText', - 'GUICtrlToolbar_GetColorScheme', - 'GUICtrlToolbar_GetDisabledImageList', - 'GUICtrlToolbar_GetExtendedStyle','GUICtrlToolbar_GetHotImageList', - 'GUICtrlToolbar_GetHotItem','GUICtrlToolbar_GetImageList', - 'GUICtrlToolbar_GetInsertMark','GUICtrlToolbar_GetInsertMarkColor', - 'GUICtrlToolbar_GetMaxSize','GUICtrlToolbar_GetMetrics', - 'GUICtrlToolbar_GetPadding','GUICtrlToolbar_GetRows', - 'GUICtrlToolbar_GetString','GUICtrlToolbar_GetStyle', - 'GUICtrlToolbar_GetStyleAltDrag', - 'GUICtrlToolbar_GetStyleCustomErase','GUICtrlToolbar_GetStyleFlat', - 'GUICtrlToolbar_GetStyleList','GUICtrlToolbar_GetStyleRegisterDrop', - 'GUICtrlToolbar_GetStyleToolTips', - 'GUICtrlToolbar_GetStyleTransparent', - 'GUICtrlToolbar_GetStyleWrapable','GUICtrlToolbar_GetTextRows', - 'GUICtrlToolbar_GetToolTips','GUICtrlToolbar_GetUnicodeFormat', - 'GUICtrlToolbar_HideButton','GUICtrlToolbar_HighlightButton', - 'GUICtrlToolbar_HitTest','GUICtrlToolbar_IndexToCommand', - 'GUICtrlToolbar_InsertButton','GUICtrlToolbar_InsertMarkHitTest', - 'GUICtrlToolbar_IsButtonChecked','GUICtrlToolbar_IsButtonEnabled', - 'GUICtrlToolbar_IsButtonHidden', - 'GUICtrlToolbar_IsButtonHighlighted', - 'GUICtrlToolbar_IsButtonIndeterminate', - 'GUICtrlToolbar_IsButtonPressed','GUICtrlToolbar_LoadBitmap', - 'GUICtrlToolbar_LoadImages','GUICtrlToolbar_MapAccelerator', - 'GUICtrlToolbar_MoveButton','GUICtrlToolbar_PressButton', - 'GUICtrlToolbar_SetAnchorHighlight','GUICtrlToolbar_SetBitmapSize', - 'GUICtrlToolbar_SetButtonBitMap','GUICtrlToolbar_SetButtonInfo', - 'GUICtrlToolbar_SetButtonInfoEx','GUICtrlToolbar_SetButtonParam', - 'GUICtrlToolbar_SetButtonSize','GUICtrlToolbar_SetButtonState', - 'GUICtrlToolbar_SetButtonStyle','GUICtrlToolbar_SetButtonText', - 'GUICtrlToolbar_SetButtonWidth','GUICtrlToolbar_SetCmdID', - 'GUICtrlToolbar_SetColorScheme', - 'GUICtrlToolbar_SetDisabledImageList', - 'GUICtrlToolbar_SetDrawTextFlags','GUICtrlToolbar_SetExtendedStyle', - 'GUICtrlToolbar_SetHotImageList','GUICtrlToolbar_SetHotItem', - 'GUICtrlToolbar_SetImageList','GUICtrlToolbar_SetIndent', - 'GUICtrlToolbar_SetIndeterminate','GUICtrlToolbar_SetInsertMark', - 'GUICtrlToolbar_SetInsertMarkColor','GUICtrlToolbar_SetMaxTextRows', - 'GUICtrlToolbar_SetMetrics','GUICtrlToolbar_SetPadding', - 'GUICtrlToolbar_SetParent','GUICtrlToolbar_SetRows', - 'GUICtrlToolbar_SetStyle','GUICtrlToolbar_SetStyleAltDrag', - 'GUICtrlToolbar_SetStyleCustomErase','GUICtrlToolbar_SetStyleFlat', - 'GUICtrlToolbar_SetStyleList','GUICtrlToolbar_SetStyleRegisterDrop', - 'GUICtrlToolbar_SetStyleToolTips', - 'GUICtrlToolbar_SetStyleTransparent', - 'GUICtrlToolbar_SetStyleWrapable','GUICtrlToolbar_SetToolTips', - 'GUICtrlToolbar_SetUnicodeFormat','GUICtrlToolbar_SetWindowTheme', - 'GUICtrlTreeView_Add','GUICtrlTreeView_AddChild', - 'GUICtrlTreeView_AddChildFirst','GUICtrlTreeView_AddFirst', - 'GUICtrlTreeView_BeginUpdate','GUICtrlTreeView_ClickItem', - 'GUICtrlTreeView_Create','GUICtrlTreeView_CreateDragImage', - 'GUICtrlTreeView_CreateSolidBitMap','GUICtrlTreeView_Delete', - 'GUICtrlTreeView_DeleteAll','GUICtrlTreeView_DeleteChildren', - 'GUICtrlTreeView_Destroy','GUICtrlTreeView_DisplayRect', - 'GUICtrlTreeView_DisplayRectEx','GUICtrlTreeView_EditText', - 'GUICtrlTreeView_EndEdit','GUICtrlTreeView_EndUpdate', - 'GUICtrlTreeView_EnsureVisible','GUICtrlTreeView_Expand', - 'GUICtrlTreeView_ExpandedOnce','GUICtrlTreeView_FindItem', - 'GUICtrlTreeView_FindItemEx','GUICtrlTreeView_GetBkColor', - 'GUICtrlTreeView_GetBold','GUICtrlTreeView_GetChecked', - 'GUICtrlTreeView_GetChildCount','GUICtrlTreeView_GetChildren', - 'GUICtrlTreeView_GetCount','GUICtrlTreeView_GetCut', - 'GUICtrlTreeView_GetDropTarget','GUICtrlTreeView_GetEditControl', - 'GUICtrlTreeView_GetExpanded','GUICtrlTreeView_GetFirstChild', - 'GUICtrlTreeView_GetFirstItem','GUICtrlTreeView_GetFirstVisible', - 'GUICtrlTreeView_GetFocused','GUICtrlTreeView_GetHeight', - 'GUICtrlTreeView_GetImageIndex', - 'GUICtrlTreeView_GetImageListIconHandle', - 'GUICtrlTreeView_GetIndent','GUICtrlTreeView_GetInsertMarkColor', - 'GUICtrlTreeView_GetISearchString','GUICtrlTreeView_GetItemByIndex', - 'GUICtrlTreeView_GetItemHandle','GUICtrlTreeView_GetItemParam', - 'GUICtrlTreeView_GetLastChild','GUICtrlTreeView_GetLineColor', - 'GUICtrlTreeView_GetNext','GUICtrlTreeView_GetNextChild', - 'GUICtrlTreeView_GetNextSibling','GUICtrlTreeView_GetNextVisible', - 'GUICtrlTreeView_GetNormalImageList', - 'GUICtrlTreeView_GetParentHandle','GUICtrlTreeView_GetParentParam', - 'GUICtrlTreeView_GetPrev','GUICtrlTreeView_GetPrevChild', - 'GUICtrlTreeView_GetPrevSibling','GUICtrlTreeView_GetPrevVisible', - 'GUICtrlTreeView_GetScrollTime','GUICtrlTreeView_GetSelected', - 'GUICtrlTreeView_GetSelectedImageIndex', - 'GUICtrlTreeView_GetSelection','GUICtrlTreeView_GetSiblingCount', - 'GUICtrlTreeView_GetState','GUICtrlTreeView_GetStateImageIndex', - 'GUICtrlTreeView_GetStateImageList','GUICtrlTreeView_GetText', - 'GUICtrlTreeView_GetTextColor','GUICtrlTreeView_GetToolTips', - 'GUICtrlTreeView_GetTree','GUICtrlTreeView_GetUnicodeFormat', - 'GUICtrlTreeView_GetVisible','GUICtrlTreeView_GetVisibleCount', - 'GUICtrlTreeView_HitTest','GUICtrlTreeView_HitTestEx', - 'GUICtrlTreeView_HitTestItem','GUICtrlTreeView_Index', - 'GUICtrlTreeView_InsertItem','GUICtrlTreeView_IsFirstItem', - 'GUICtrlTreeView_IsParent','GUICtrlTreeView_Level', - 'GUICtrlTreeView_SelectItem','GUICtrlTreeView_SelectItemByIndex', - 'GUICtrlTreeView_SetBkColor','GUICtrlTreeView_SetBold', - 'GUICtrlTreeView_SetChecked','GUICtrlTreeView_SetCheckedByIndex', - 'GUICtrlTreeView_SetChildren','GUICtrlTreeView_SetCut', - 'GUICtrlTreeView_SetDropTarget','GUICtrlTreeView_SetFocused', - 'GUICtrlTreeView_SetHeight','GUICtrlTreeView_SetIcon', - 'GUICtrlTreeView_SetImageIndex','GUICtrlTreeView_SetIndent', - 'GUICtrlTreeView_SetInsertMark', - 'GUICtrlTreeView_SetInsertMarkColor', - 'GUICtrlTreeView_SetItemHeight','GUICtrlTreeView_SetItemParam', - 'GUICtrlTreeView_SetLineColor','GUICtrlTreeView_SetNormalImageList', - 'GUICtrlTreeView_SetScrollTime','GUICtrlTreeView_SetSelected', - 'GUICtrlTreeView_SetSelectedImageIndex','GUICtrlTreeView_SetState', - 'GUICtrlTreeView_SetStateImageIndex', - 'GUICtrlTreeView_SetStateImageList','GUICtrlTreeView_SetText', - 'GUICtrlTreeView_SetTextColor','GUICtrlTreeView_SetToolTips', - 'GUICtrlTreeView_SetUnicodeFormat','GUICtrlTreeView_Sort', - 'GUIImageList_Add','GUIImageList_AddBitmap','GUIImageList_AddIcon', - 'GUIImageList_AddMasked','GUIImageList_BeginDrag', - 'GUIImageList_Copy','GUIImageList_Create','GUIImageList_Destroy', - 'GUIImageList_DestroyIcon','GUIImageList_DragEnter', - 'GUIImageList_DragLeave','GUIImageList_DragMove', - 'GUIImageList_Draw','GUIImageList_DrawEx','GUIImageList_Duplicate', - 'GUIImageList_EndDrag','GUIImageList_GetBkColor', - 'GUIImageList_GetIcon','GUIImageList_GetIconHeight', - 'GUIImageList_GetIconSize','GUIImageList_GetIconSizeEx', - 'GUIImageList_GetIconWidth','GUIImageList_GetImageCount', - 'GUIImageList_GetImageInfoEx','GUIImageList_Remove', - 'GUIImageList_ReplaceIcon','GUIImageList_SetBkColor', - 'GUIImageList_SetIconSize','GUIImageList_SetImageCount', - 'GUIImageList_Swap','GUIScrollBars_EnableScrollBar', - 'GUIScrollBars_GetScrollBarInfoEx','GUIScrollBars_GetScrollBarRect', - 'GUIScrollBars_GetScrollBarRGState', - 'GUIScrollBars_GetScrollBarXYLineButton', - 'GUIScrollBars_GetScrollBarXYThumbBottom', - 'GUIScrollBars_GetScrollBarXYThumbTop', - 'GUIScrollBars_GetScrollInfo','GUIScrollBars_GetScrollInfoEx', - 'GUIScrollBars_GetScrollInfoMax','GUIScrollBars_GetScrollInfoMin', - 'GUIScrollBars_GetScrollInfoPage','GUIScrollBars_GetScrollInfoPos', - 'GUIScrollBars_GetScrollInfoTrackPos','GUIScrollBars_GetScrollPos', - 'GUIScrollBars_GetScrollRange','GUIScrollBars_Init', - 'GUIScrollBars_ScrollWindow','GUIScrollBars_SetScrollInfo', - 'GUIScrollBars_SetScrollInfoMax','GUIScrollBars_SetScrollInfoMin', - 'GUIScrollBars_SetScrollInfoPage','GUIScrollBars_SetScrollInfoPos', - 'GUIScrollBars_SetScrollRange','GUIScrollBars_ShowScrollBar', - 'GUIToolTip_Activate','GUIToolTip_AddTool','GUIToolTip_AdjustRect', - 'GUIToolTip_BitsToTTF','GUIToolTip_Create','GUIToolTip_DelTool', - 'GUIToolTip_Destroy','GUIToolTip_EnumTools', - 'GUIToolTip_GetBubbleHeight','GUIToolTip_GetBubbleSize', - 'GUIToolTip_GetBubbleWidth','GUIToolTip_GetCurrentTool', - 'GUIToolTip_GetDelayTime','GUIToolTip_GetMargin', - 'GUIToolTip_GetMarginEx','GUIToolTip_GetMaxTipWidth', - 'GUIToolTip_GetText','GUIToolTip_GetTipBkColor', - 'GUIToolTip_GetTipTextColor','GUIToolTip_GetTitleBitMap', - 'GUIToolTip_GetTitleText','GUIToolTip_GetToolCount', - 'GUIToolTip_GetToolInfo','GUIToolTip_HitTest', - 'GUIToolTip_NewToolRect','GUIToolTip_Pop','GUIToolTip_PopUp', - 'GUIToolTip_SetDelayTime','GUIToolTip_SetMargin', - 'GUIToolTip_SetMaxTipWidth','GUIToolTip_SetTipBkColor', - 'GUIToolTip_SetTipTextColor','GUIToolTip_SetTitle', - 'GUIToolTip_SetToolInfo','GUIToolTip_SetWindowTheme', - 'GUIToolTip_ToolExists','GUIToolTip_ToolToArray', - 'GUIToolTip_TrackActivate','GUIToolTip_TrackPosition', - 'GUIToolTip_TTFToBits','GUIToolTip_Update', - 'GUIToolTip_UpdateTipText','HexToString','IE_Example', - 'IE_Introduction','IE_VersionInfo','IEAction','IEAttach', - 'IEBodyReadHTML','IEBodyReadText','IEBodyWriteHTML','IECreate', - 'IECreateEmbedded','IEDocGetObj','IEDocInsertHTML', - 'IEDocInsertText','IEDocReadHTML','IEDocWriteHTML', - 'IEErrorHandlerDeRegister','IEErrorHandlerRegister','IEErrorNotify', - 'IEFormElementCheckBoxSelect','IEFormElementGetCollection', - 'IEFormElementGetObjByName','IEFormElementGetValue', - 'IEFormElementOptionSelect','IEFormElementRadioSelect', - 'IEFormElementSetValue','IEFormGetCollection','IEFormGetObjByName', - 'IEFormImageClick','IEFormReset','IEFormSubmit', - 'IEFrameGetCollection','IEFrameGetObjByName','IEGetObjById', - 'IEGetObjByName','IEHeadInsertEventScript','IEImgClick', - 'IEImgGetCollection','IEIsFrameSet','IELinkClickByIndex', - 'IELinkClickByText','IELinkGetCollection','IELoadWait', - 'IELoadWaitTimeout','IENavigate','IEPropertyGet','IEPropertySet', - 'IEQuit','IETableGetCollection','IETableWriteToArray', - 'IETagNameAllGetCollection','IETagNameGetCollection','Iif', - 'INetExplorerCapable','INetGetSource','INetMail','INetSmtpMail', - 'IsPressed','MathCheckDiv','Max','MemGlobalAlloc','MemGlobalFree', - 'MemGlobalLock','MemGlobalSize','MemGlobalUnlock','MemMoveMemory', - 'MemMsgBox','MemShowError','MemVirtualAlloc','MemVirtualAllocEx', - 'MemVirtualFree','MemVirtualFreeEx','Min','MouseTrap', - 'NamedPipes_CallNamedPipe','NamedPipes_ConnectNamedPipe', - 'NamedPipes_CreateNamedPipe','NamedPipes_CreatePipe', - 'NamedPipes_DisconnectNamedPipe', - 'NamedPipes_GetNamedPipeHandleState','NamedPipes_GetNamedPipeInfo', - 'NamedPipes_PeekNamedPipe','NamedPipes_SetNamedPipeHandleState', - 'NamedPipes_TransactNamedPipe','NamedPipes_WaitNamedPipe', - 'Net_Share_ConnectionEnum','Net_Share_FileClose', - 'Net_Share_FileEnum','Net_Share_FileGetInfo','Net_Share_PermStr', - 'Net_Share_ResourceStr','Net_Share_SessionDel', - 'Net_Share_SessionEnum','Net_Share_SessionGetInfo', - 'Net_Share_ShareAdd','Net_Share_ShareCheck','Net_Share_ShareDel', - 'Net_Share_ShareEnum','Net_Share_ShareGetInfo', - 'Net_Share_ShareSetInfo','Net_Share_StatisticsGetSvr', - 'Net_Share_StatisticsGetWrk','Now','NowCalc','NowCalcDate', - 'NowDate','NowTime','PathFull','PathMake','PathSplit', - 'ProcessGetName','ProcessGetPriority','Radian', - 'ReplaceStringInFile','RunDOS','ScreenCapture_Capture', - 'ScreenCapture_CaptureWnd','ScreenCapture_SaveImage', - 'ScreenCapture_SetBMPFormat','ScreenCapture_SetJPGQuality', - 'ScreenCapture_SetTIFColorDepth','ScreenCapture_SetTIFCompression', - 'Security__AdjustTokenPrivileges','Security__GetAccountSid', - 'Security__GetLengthSid','Security__GetTokenInformation', - 'Security__ImpersonateSelf','Security__IsValidSid', - 'Security__LookupAccountName','Security__LookupAccountSid', - 'Security__LookupPrivilegeValue','Security__OpenProcessToken', - 'Security__OpenThreadToken','Security__OpenThreadTokenEx', - 'Security__SetPrivilege','Security__SidToStringSid', - 'Security__SidTypeStr','Security__StringSidToSid','SendMessage', - 'SendMessageA','SetDate','SetTime','Singleton','SoundClose', - 'SoundLength','SoundOpen','SoundPause','SoundPlay','SoundPos', - 'SoundResume','SoundSeek','SoundStatus','SoundStop', - 'SQLite_Changes','SQLite_Close','SQLite_Display2DResult', - 'SQLite_Encode','SQLite_ErrCode','SQLite_ErrMsg','SQLite_Escape', - 'SQLite_Exec','SQLite_FetchData','SQLite_FetchNames', - 'SQLite_GetTable','SQLite_GetTable2d','SQLite_LastInsertRowID', - 'SQLite_LibVersion','SQLite_Open','SQLite_Query', - 'SQLite_QueryFinalize','SQLite_QueryReset','SQLite_QuerySingleRow', - 'SQLite_SaveMode','SQLite_SetTimeout','SQLite_Shutdown', - 'SQLite_SQLiteExe','SQLite_Startup','SQLite_TotalChanges', - 'StringAddComma','StringBetween','StringEncrypt','StringInsert', - 'StringProper','StringRepeat','StringReverse','StringSplit', - 'StringToHex','TCPIpToName','TempFile','TicksToTime','Timer_Diff', - 'Timer_GetTimerID','Timer_Init','Timer_KillAllTimers', - 'Timer_KillTimer','Timer_SetTimer','TimeToTicks','VersionCompare', - 'viClose','viExecCommand','viFindGpib','viGpibBusReset','viGTL', - 'viOpen','viSetAttribute','viSetTimeout','WeekNumberISO', - 'WinAPI_AttachConsole','WinAPI_AttachThreadInput','WinAPI_Beep', - 'WinAPI_BitBlt','WinAPI_CallNextHookEx','WinAPI_Check', - 'WinAPI_ClientToScreen','WinAPI_CloseHandle', - 'WinAPI_CommDlgExtendedError','WinAPI_CopyIcon', - 'WinAPI_CreateBitmap','WinAPI_CreateCompatibleBitmap', - 'WinAPI_CreateCompatibleDC','WinAPI_CreateEvent', - 'WinAPI_CreateFile','WinAPI_CreateFont','WinAPI_CreateFontIndirect', - 'WinAPI_CreateProcess','WinAPI_CreateSolidBitmap', - 'WinAPI_CreateSolidBrush','WinAPI_CreateWindowEx', - 'WinAPI_DefWindowProc','WinAPI_DeleteDC','WinAPI_DeleteObject', - 'WinAPI_DestroyIcon','WinAPI_DestroyWindow','WinAPI_DrawEdge', - 'WinAPI_DrawFrameControl','WinAPI_DrawIcon','WinAPI_DrawIconEx', - 'WinAPI_DrawText','WinAPI_EnableWindow','WinAPI_EnumDisplayDevices', - 'WinAPI_EnumWindows','WinAPI_EnumWindowsPopup', - 'WinAPI_EnumWindowsTop','WinAPI_ExpandEnvironmentStrings', - 'WinAPI_ExtractIconEx','WinAPI_FatalAppExit','WinAPI_FillRect', - 'WinAPI_FindExecutable','WinAPI_FindWindow','WinAPI_FlashWindow', - 'WinAPI_FlashWindowEx','WinAPI_FloatToInt', - 'WinAPI_FlushFileBuffers','WinAPI_FormatMessage','WinAPI_FrameRect', - 'WinAPI_FreeLibrary','WinAPI_GetAncestor','WinAPI_GetAsyncKeyState', - 'WinAPI_GetClassName','WinAPI_GetClientHeight', - 'WinAPI_GetClientRect','WinAPI_GetClientWidth', - 'WinAPI_GetCurrentProcess','WinAPI_GetCurrentProcessID', - 'WinAPI_GetCurrentThread','WinAPI_GetCurrentThreadId', - 'WinAPI_GetCursorInfo','WinAPI_GetDC','WinAPI_GetDesktopWindow', - 'WinAPI_GetDeviceCaps','WinAPI_GetDIBits','WinAPI_GetDlgCtrlID', - 'WinAPI_GetDlgItem','WinAPI_GetFileSizeEx','WinAPI_GetFocus', - 'WinAPI_GetForegroundWindow','WinAPI_GetIconInfo', - 'WinAPI_GetLastError','WinAPI_GetLastErrorMessage', - 'WinAPI_GetModuleHandle','WinAPI_GetMousePos','WinAPI_GetMousePosX', - 'WinAPI_GetMousePosY','WinAPI_GetObject','WinAPI_GetOpenFileName', - 'WinAPI_GetOverlappedResult','WinAPI_GetParent', - 'WinAPI_GetProcessAffinityMask','WinAPI_GetSaveFileName', - 'WinAPI_GetStdHandle','WinAPI_GetStockObject','WinAPI_GetSysColor', - 'WinAPI_GetSysColorBrush','WinAPI_GetSystemMetrics', - 'WinAPI_GetTextExtentPoint32','WinAPI_GetWindow', - 'WinAPI_GetWindowDC','WinAPI_GetWindowHeight', - 'WinAPI_GetWindowLong','WinAPI_GetWindowRect', - 'WinAPI_GetWindowText','WinAPI_GetWindowThreadProcessId', - 'WinAPI_GetWindowWidth','WinAPI_GetXYFromPoint', - 'WinAPI_GlobalMemStatus','WinAPI_GUIDFromString', - 'WinAPI_GUIDFromStringEx','WinAPI_HiWord','WinAPI_InProcess', - 'WinAPI_IntToFloat','WinAPI_InvalidateRect','WinAPI_IsClassName', - 'WinAPI_IsWindow','WinAPI_IsWindowVisible','WinAPI_LoadBitmap', - 'WinAPI_LoadImage','WinAPI_LoadLibrary','WinAPI_LoadLibraryEx', - 'WinAPI_LoadShell32Icon','WinAPI_LoadString','WinAPI_LocalFree', - 'WinAPI_LoWord','WinAPI_MakeDWord','WinAPI_MAKELANGID', - 'WinAPI_MAKELCID','WinAPI_MakeLong','WinAPI_MessageBeep', - 'WinAPI_Mouse_Event','WinAPI_MoveWindow','WinAPI_MsgBox', - 'WinAPI_MulDiv','WinAPI_MultiByteToWideChar', - 'WinAPI_MultiByteToWideCharEx','WinAPI_OpenProcess', - 'WinAPI_PointFromRect','WinAPI_PostMessage','WinAPI_PrimaryLangId', - 'WinAPI_PtInRect','WinAPI_ReadFile','WinAPI_ReadProcessMemory', - 'WinAPI_RectIsEmpty','WinAPI_RedrawWindow', - 'WinAPI_RegisterWindowMessage','WinAPI_ReleaseCapture', - 'WinAPI_ReleaseDC','WinAPI_ScreenToClient','WinAPI_SelectObject', - 'WinAPI_SetBkColor','WinAPI_SetCapture','WinAPI_SetCursor', - 'WinAPI_SetDefaultPrinter','WinAPI_SetDIBits','WinAPI_SetEvent', - 'WinAPI_SetFocus','WinAPI_SetFont','WinAPI_SetHandleInformation', - 'WinAPI_SetLastError','WinAPI_SetParent', - 'WinAPI_SetProcessAffinityMask','WinAPI_SetSysColors', - 'WinAPI_SetTextColor','WinAPI_SetWindowLong','WinAPI_SetWindowPos', - 'WinAPI_SetWindowsHookEx','WinAPI_SetWindowText', - 'WinAPI_ShowCursor','WinAPI_ShowError','WinAPI_ShowMsg', - 'WinAPI_ShowWindow','WinAPI_StringFromGUID','WinAPI_SubLangId', - 'WinAPI_SystemParametersInfo','WinAPI_TwipsPerPixelX', - 'WinAPI_TwipsPerPixelY','WinAPI_UnhookWindowsHookEx', - 'WinAPI_UpdateLayeredWindow','WinAPI_UpdateWindow', - 'WinAPI_ValidateClassName','WinAPI_WaitForInputIdle', - 'WinAPI_WaitForMultipleObjects','WinAPI_WaitForSingleObject', - 'WinAPI_WideCharToMultiByte','WinAPI_WindowFromPoint', - 'WinAPI_WriteConsole','WinAPI_WriteFile', - 'WinAPI_WriteProcessMemory','WinNet_AddConnection', - 'WinNet_AddConnection2','WinNet_AddConnection3', - 'WinNet_CancelConnection','WinNet_CancelConnection2', - 'WinNet_CloseEnum','WinNet_ConnectionDialog', - 'WinNet_ConnectionDialog1','WinNet_DisconnectDialog', - 'WinNet_DisconnectDialog1','WinNet_EnumResource', - 'WinNet_GetConnection','WinNet_GetConnectionPerformance', - 'WinNet_GetLastError','WinNet_GetNetworkInformation', - 'WinNet_GetProviderName','WinNet_GetResourceInformation', - 'WinNet_GetResourceParent','WinNet_GetUniversalName', - 'WinNet_GetUser','WinNet_OpenEnum','WinNet_RestoreConnection', - 'WinNet_UseConnection','Word_VersionInfo','WordAttach','WordCreate', - 'WordDocAdd','WordDocAddLink','WordDocAddPicture','WordDocClose', - 'WordDocFindReplace','WordDocGetCollection', - 'WordDocLinkGetCollection','WordDocOpen','WordDocPrint', - 'WordDocPropertyGet','WordDocPropertySet','WordDocSave', - 'WordDocSaveAs','WordErrorHandlerDeRegister', - 'WordErrorHandlerRegister','WordErrorNotify','WordMacroRun', - 'WordPropertyGet','WordPropertySet','WordQuit' - ), - 5 => array( - 'ce','comments-end','comments-start','cs','include','include-once', - 'NoTrayIcon','RequireAdmin' - ), - 6 => array( - 'AutoIt3Wrapper_Au3Check_Parameters', - 'AutoIt3Wrapper_Au3Check_Stop_OnWarning', - 'AutoIt3Wrapper_Change2CUI','AutoIt3Wrapper_Compression', - 'AutoIt3Wrapper_cvsWrapper_Parameters','AutoIt3Wrapper_Icon', - 'AutoIt3Wrapper_Outfile','AutoIt3Wrapper_Outfile_Type', - 'AutoIt3Wrapper_Plugin_Funcs','AutoIt3Wrapper_Res_Comment', - 'AutoIt3Wrapper_Res_Description','AutoIt3Wrapper_Res_Field', - 'AutoIt3Wrapper_Res_File_Add','AutoIt3Wrapper_Res_Fileversion', - 'AutoIt3Wrapper_Res_FileVersion_AutoIncrement', - 'AutoIt3Wrapper_Res_Icon_Add','AutoIt3Wrapper_Res_Language', - 'AutoIt3Wrapper_Res_LegalCopyright', - 'AutoIt3Wrapper_res_requestedExecutionLevel', - 'AutoIt3Wrapper_Res_SaveSource','AutoIt3Wrapper_Run_After', - 'AutoIt3Wrapper_Run_Au3check','AutoIt3Wrapper_Run_Before', - 'AutoIt3Wrapper_Run_cvsWrapper','AutoIt3Wrapper_Run_Debug_Mode', - 'AutoIt3Wrapper_Run_Obfuscator','AutoIt3Wrapper_Run_Tidy', - 'AutoIt3Wrapper_Tidy_Stop_OnError','AutoIt3Wrapper_UseAnsi', - 'AutoIt3Wrapper_UseUpx','AutoIt3Wrapper_UseX64', - 'AutoIt3Wrapper_Version','EndRegion','forceref', - 'Obfuscator_Ignore_Funcs','Obfuscator_Ignore_Variables', - 'Obfuscator_Parameters','Region','Tidy_Parameters' - ) - ), - 'SYMBOLS' => array( - '(',')','[',']', - '+','-','*','/','&','^', - '=','+=','-=','*=','/=','&=', - '==','<','<=','>','>=', - ',','.' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - 5 => false, - 6 => false - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #0000FF; font-weight: bold;', - 2 => 'color: #800000; font-weight: bold;', - 3 => 'color: #000080; font-style: italic; font-weight: bold;', - 4 => 'color: #0080FF; font-style: italic; font-weight: bold;', - 5 => 'color: #F000FF; font-style: italic;', - 6 => 'color: #A00FF0; font-style: italic;' - ), - 'COMMENTS' => array( - 'MULTI' => 'font-style: italic; color: #669900;', - 0 => 'font-style: italic; color: #009933;', - 1 => 'font-style: italic; color: #9977BB;', - ), - 'ESCAPE_CHAR' => array( - 0 => '' - ), - 'BRACKETS' => array( - 0 => 'color: #FF0000; font-weight: bold;' - ), - 'STRINGS' => array( - 0 => 'font-weight: bold; color: #9977BB;' - ), - 'NUMBERS' => array( - 0 => 'color: #AC00A9; font-style: italic; font-weight: bold;' - ), - 'METHODS' => array( - 1 => 'color: #0000FF; font-style: italic; font-weight: bold;' - ), - 'SYMBOLS' => array( - 0 => 'color: #FF0000; font-weight: bold;' - ), - 'REGEXPS' => array( - 0 => 'font-weight: bold; color: #AA0000;' - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => 'http://www.autoitscript.com/autoit3/docs/keywords.htm', - 2 => 'http://www.autoitscript.com/autoit3/docs/macros.htm', - 3 => 'http://www.autoitscript.com/autoit3/docs/functions/{FNAME}.htm', - 4 => '', - 5 => '', - 6 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => '.' - ), - 'REGEXPS' => array( - //Variables - 0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*' - ), - 'STRICT_MODE_APPLIES' => GESHI_MAYBE, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - 0 => true, - 1 => true, - 2 => true, - 3 => true - ), - 'PARSER_CONTROL' => array( - 'KEYWORDS' => array( - 4 => array( - 'DISALLOWED_BEFORE' => '(? array( - 'DISALLOWED_BEFORE' => '(? array( - 'DISALLOWED_BEFORE' => '(? 'AviSynth', - 'COMMENT_SINGLE' => array(1 => '#'), - 'COMMENT_MULTI' => array('/*' => '*/', '[*' => '*]'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - // Reserved words. - 1 => array( - 'try', 'cache', 'function', 'global', 'return' - ), - // Constants / special variables. - 2 => array( - 'true', 'yes', 'false', 'no', '__END__' - ), - // Internal Filters. - 3 => array( - 'AviSource', 'AviFileSource', 'AddBorders', 'AlignedSplice', 'AssumeFPS', 'AssumeScaledFPS', - 'AssumeFrameBased', 'AssumeFieldBased', 'AssumeBFF', 'AssumeTFF', 'Amplify', 'AmplifydB', - 'AssumeSampleRate', 'AudioDub', 'AudioDubEx', 'Animate', 'ApplyRange', - 'BicubicResize', 'BilinearResize', 'BlackmanResize', 'Blur', 'Bob', 'BlankClip', 'Blackness', - 'ColorYUV', 'ConvertBackToYUY2', 'ConvertToRGB', 'ConvertToRGB24', 'ConvertToRGB32', - 'ConvertToYUY2', 'ConvertToY8', 'ConvertToYV411', 'ConvertToYV12', 'ConvertToYV16', 'ConvertToYV24', - 'ColorKeyMask', 'Crop', 'CropBottom', 'ChangeFPS', 'ConvertFPS', 'ComplementParity', 'ConvertAudioTo8bit', - 'ConvertAudioTo16bit', 'ConvertAudioTo24bit', 'ConvertAudioTo32bit', 'ConvertAudioToFloat', 'ConvertToMono', - 'ConditionalFilter', 'ConditionalReader', 'ColorBars', 'Compare', - 'DirectShowSource', 'DeleteFrame', 'Dissolve', 'DuplicateFrame', 'DoubleWeave', 'DelayAudio', - 'EnsureVBRMP3Sync', - 'FixLuminance', 'FlipHorizontal', 'FlipVertical', 'FixBrokenChromaUpsampling', 'FadeIn0', 'FadeIn', - 'FadeIn2', 'FadeOut0', 'FadeOut', 'FadeOut2', 'FadeIO0', 'FadeIO', 'FadeIO2', 'FreezeFrame', 'FrameEvaluate', - 'GreyScale', 'GaussResize', 'GeneralConvolution', 'GetChannel', 'GetLeftChannel', 'GetRightChannel', - 'HorizontalReduceBy2', 'Histogram', - 'ImageReader', 'ImageSource', 'ImageWriter', 'Invert', 'Interleave', 'Info', - 'KillAudio', 'KillVideo', - 'Levels', 'Limiter', 'Layer', 'Letterbox', 'LanczosResize', 'Lanczos4Resize', 'Loop', - 'MergeARGB', 'MergeRGB', 'MergeChroma', 'MergeLuma', 'Merge', 'Mask', 'MaskHS', 'MergeChannels', 'MixAudio', - 'MonoToStereo', 'MessageClip', - 'Normalize', - 'OpenDMLSource', 'Overlay', - 'PointResize', 'PeculiarBlend', 'Pulldown', - 'RGBAdjust', 'ResetMask', 'Reverse', 'ResampleAudio', 'ReduceBy2', - 'SegmentedAviSource', 'SegmentedDirectShowSource', 'SoundOut', 'ShowAlpha', 'ShowRed', 'ShowGreen', - 'ShowBlue', 'SwapUV', 'Subtract', 'SincResize', 'Spline16Resize', 'Spline36Resize', 'Spline64Resize', - 'SelectEven', 'SelectOdd', 'SelectEvery', 'SelectRangeEvery', 'Sharpen', 'SpatialSoften', 'SeparateFields', - 'ShowFiveVersions', 'ShowFrameNumber', 'ShowSMPTE', 'ShowTime', 'StackHorizontal', 'StackVertical', 'Subtitle', - 'SwapFields', 'SuperEQ', 'SSRC', 'ScriptClip', - 'Tweak', 'TurnLeft', 'TurnRight', 'Turn180', 'TemporalSoften', 'TimeStretch', 'TCPServer', 'TCPSource', 'Trim', - 'Tone', - 'UToY', 'UToY8', 'UnalignedSplice', - 'VToY', 'VToY8', 'VerticalReduceBy2', 'Version', - 'WavSource', 'Weave', 'WriteFile', 'WriteFileIf', 'WriteFileStart', 'WriteFileEnd', - 'YToUV' - ), - // Internal functions. - 4 => array( - 'Abs', 'Apply', 'Assert', 'AverageLuma', 'AverageChromaU', 'AverageChromaV', - 'Ceil', 'Cos', 'Chr', 'ChromaUDifference', 'ChromaVDifference', - 'Defined', 'Default', - 'Exp', 'Exist', 'Eval', - 'Floor', 'Frac', 'Float', 'Findstr', 'GetMTMode', - 'HexValue', - 'Int', 'IsBool', 'IsClip', 'IsFloat', 'IsInt', 'IsString', 'Import', - 'LoadPlugin', 'Log', 'LCase', 'LeftStr', 'LumaDifference', 'LoadVirtualDubPlugin', 'LoadVFAPIPlugin', - 'LoadCPlugin', 'Load_Stdcall_Plugin', - 'Max', 'MulDiv', 'MidStr', - 'NOP', - 'OPT_AllowFloatAudio', 'OPT_UseWaveExtensible', - 'Pi', 'Pow', - 'Round', 'Rand', 'RevStr', 'RightStr', 'RGBDifference', 'RGBDifferenceFromPrevious', 'RGBDifferenceToNext', - 'Sin', 'Sqrt', 'Sign', 'Spline', 'StrLen', 'String', 'Select', 'SetMemoryMax', 'SetWorkingDir', 'SetMTMode', - 'SetPlanarLegacyAlignment', - 'Time', - 'UCase', 'UDifferenceFromPrevious', 'UDifferenceToNext', 'UPlaneMax', 'UPlaneMin', 'UPlaneMedian', - 'UPlaneMinMaxDifference', - 'Value', 'VersionNumber', 'VersionString', 'VDifferenceFromPrevious', 'VDifferenceToNext', 'VPlaneMax', - 'VPlaneMin', 'VPlaneMedian', 'VPlaneMinMaxDifference', - 'YDifferenceFromPrevious', 'YDifferenceToNext', 'YPlaneMax', 'YPlaneMin', 'YPlaneMedian', - 'YPlaneMinMaxDifference' - ) - ), - 'SYMBOLS' => array( - '+', '++', '-', '--', '/', '*', '%', - '=', '==', '<', '<=', '>', '>=', '<>', '!=', - '!', '?', ':', - '|', '||', '&&', - '\\', - '(', ')', '{', '}', - '.', ',' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => true, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color:#9966CC; font-weight:bold;', - 2 => 'color:#0000FF; font-weight:bold;', - 3 => 'color:#CC3300; font-weight:bold;', - 4 => 'color:#660000; font-weight:bold;' - ), - 'COMMENTS' => array( - 1 => 'color:#008000; font-style:italic;', - 'MULTI' => 'color:#000080; font-style:italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color:#000099;' - ), - 'BRACKETS' => array( - 0 => 'color:#006600; font-weight:bold;' - ), - 'STRINGS' => array( - 0 => 'color:#996600;' - ), - 'NUMBERS' => array( - 0 => 'color:#006666;' - ), - 'METHODS' => array( - 1 => 'color:#9900CC;' - ), - 'SYMBOLS' => array( - 0 => 'color:#006600; font-weight:bold;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => 'http://avisynth.org/mediawiki/{FNAME}', - 4 => '' - ), - 'REGEXPS' => array( - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => '.' - ), - 'STRICT_MODE_APPLIES' => GESHI_MAYBE, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 4 -); - diff --git a/vendor/easybook/geshi/geshi/awk.php b/vendor/easybook/geshi/geshi/awk.php deleted file mode 100644 index 46fe49f..0000000 --- a/vendor/easybook/geshi/geshi/awk.php +++ /dev/null @@ -1,156 +0,0 @@ - 'awk', - 'COMMENT_SINGLE' => array( - 1 => '#' - ), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '\\', - 'KEYWORDS' => array ( - 1 => array( - 'for', 'in', 'if', 'else', 'while', 'do', 'continue', 'break' - ), - 2 => array( - 'BEGIN', 'END' - ), - 3 => array( - 'ARGC', 'ARGV', 'CONVFMT', 'ENVIRON', - 'FILENAME', 'FNR', 'FS', 'NF', 'NR', 'OFMT', - 'OFS','ORS','RLENGTH','RS','RSTART','SUBSEP' - ), - 4 => array( - 'gsub','index','length','match','split', - 'sprintf','sub','substr','tolower','toupper', - 'atan2','cos','exp','int','log','rand', - 'sin','sqrt','srand' - ), - 5 => array( - 'print','printf','getline','close','fflush','system' - ), - 6 => array( - 'function', 'return' - ) - ), - 'SYMBOLS' => array ( - 0 => array( - '(',')','[',']','{','}' - ), - 1 => array( - '!','||','&&' - ), - 2 => array( - '<','>','<=','>=','==','!=' - ), - 3 => array( - '+','-','*','/','%','^','++','--' - ), - 4 => array( - '~','!~' - ), - 5 => array( - '?',':' - ) - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - 5 => false, - 6 => false - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #000000; font-weight: bold;', - 2 => 'color: #C20CB9; font-weight: bold;', - 3 => 'color: #4107D5; font-weight: bold;', - 4 => 'color: #07D589; font-weight: bold;', - 5 => 'color: #0BD507; font-weight: bold;', - 6 => 'color: #078CD5; font-weight: bold;' - ), - 'COMMENTS' => array( - 1 => 'color:#808080;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'SYMBOLS' => array( - 0 => 'color:black;', - 1 => 'color:black;', - 2 => 'color:black;', - 3 => 'color:black;', - 4 => 'color:#C4C364;', - 5 => 'color:black;font-weight:bold;'), - 'SCRIPT' => array(), - 'REGEXPS' => array( - 0 => 'color:#000088;' - ), - 'STRINGS' => array( - 0 => 'color: #ff0000;' - ), - 'NUMBERS' => array( - 0 => 'color: #000000;' - ), - 'BRACKETS' => array( - 0 => 'color: #7a0874; font-weight: bold;' - ), - 'METHODS' => array() - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => '', - 6 => '' - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array (), - 'REGEXPS' => array( - 0 => "\\$[a-zA-Z0-9_]+" - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array (), - 'HIGHLIGHT_STRICT_BLOCK' => array() -); diff --git a/vendor/easybook/geshi/geshi/bascomavr.php b/vendor/easybook/geshi/geshi/bascomavr.php deleted file mode 100644 index 5fc562b..0000000 --- a/vendor/easybook/geshi/geshi/bascomavr.php +++ /dev/null @@ -1,184 +0,0 @@ - 'BASCOM AVR', - 'COMMENT_SINGLE' => array(1 => "'"), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - 1 => array( - // Navy Blue Bold Keywords - '1WRESET' , '1WREAD' , '1WWRITE' , '1WSEARCHFIRST' , '1WSEARCHNEXT' ,'1WVERIFY' , '1WIRECOUNT', - 'CONFIG' , 'ACI' , 'ADC' , 'BCCARD' , 'CLOCK' , 'COM1' , - 'COM2' , 'PS2EMU' , 'ATEMU' , 'I2CSLAVE' , - 'INPUT', 'OUTPUT', 'GRAPHLCD' , 'KEYBOARD' , 'TIMER0' , 'TIMER1' , - 'LCDBUS' , 'LCDMODE' , '1WIRE' , 'LCD' , 'SERIALOUT' , - 'SERIALIN' , 'SPI' , 'LCDPIN' , 'SDA' , 'SCL' , - 'WATCHDOG' , 'PORT' , 'COUNTER0', 'COUNTER1' , 'TCPIP' , 'TWISLAVE' , - 'X10' , 'XRAM' , 'USB', - 'BCD' , 'GRAY2BIN' , 'BIN2GRAY' , 'BIN' , 'MAKEBCD' , 'MAKEDEC' , 'MAKEINT' , 'FORMAT' , 'FUSING' , 'BINVAL' , - 'CRC8' , 'CRC16' , 'CRC16UNI' , 'CRC32' , 'HIGH' , 'HIGHW' , 'LOW', - 'DATE' , 'TIME' , 'DATE$' , 'TIME$' , 'DAYOFWEEK' , 'DAYOFYEAR' , 'SECOFDAY' , 'SECELAPSED' , 'SYSDAY' , 'SYSSEC' , 'SYSSECELAPSED', - 'WAIT' , 'WAITMS' , 'WAITUS' , 'DELAY', - 'BSAVE' , 'BLOAD' , 'GET' , 'VER' , 'DISKFREE' , 'DIR' , 'DriveReset' , 'DriveInit' , 'LINE' , 'INITFILESYSTEM' , - 'EOF' , 'WRITE' , 'FLUSH' , 'FREEFILE' , 'FILEATTR' , 'FILEDATE' , 'FILETIME' , 'FILEDATETIME' , 'FILELEN' , 'SEEK' , - 'KILL' , 'DriveGetIdentity' , 'DriveWriteSector' , 'DriveReadSector' , 'LOC' , 'LOF' , 'PUT' , 'OPEN' , 'CLOSE', - 'GLCDCMD' , 'GLCDDATA' , 'SETFONT' , 'PSET' , 'SHOWPIC' , 'SHOWPICE' , 'CIRCLE' , 'BOX', - 'I2CINIT' , 'I2CRECEIVE' , 'I2CSEND' , 'I2CSTART','I2CSTOP','I2CRBYTE','I2CWBYTE', - 'ALIAS' , 'BITWAIT' , 'TOGGLE' , 'RESET' , 'SET' , 'SHIFTIN' , 'SHIFTOUT' , 'DEBOUNCE' , 'PULSEIN' , 'PULSEOUT', - 'IDLE' , 'POWERDOWN' , 'POWERSAVE' , 'ON', 'INTERRUPT' , 'ENABLE' , 'DISABLE' , 'START' , 'VERSION' , 'CLOCKDIVISION' , 'CRYSTAL' , 'STOP', - 'ADR' , 'ADR2' , 'WRITEEEPROM' , 'CPEEK' , 'CPEEKH' , 'PEEK' , 'POKE' , 'OUT' , 'READEEPROM' , 'DATA' , 'INP' , 'READ' , 'RESTORE' , 'LOOKDOWN' , 'LOOKUP' , 'LOOKUPSTR' , 'LOAD' , 'LOADADR' , 'LOADLABEL' , 'LOADWORDADR' , 'MEMCOPY', - 'RC5SEND' , 'RC6SEND' , 'GETRC5' , 'SONYSEND', - 'BAUD' , 'BAUD1', 'BUFSPACE' , 'CLEAR', 'ECHO' , 'WAITKEY' , 'ISCHARWAITING' , 'INKEY' , 'INPUTBIN' , 'INPUTHEX' , 'PRINT', 'PRINT1','PRINT0', 'PRINTBIN' , 'SERIN' , 'SEROUT' , 'SPC' , 'MAKEMODBUS', - 'SPIIN' , 'SPIINIT' , 'SPIMOVE' , 'SPIOUT', 'SINGLE', - 'ASC' , 'UCASE' , 'LCASE' , 'TRIM' , 'SPLIT' , 'LTRIM' , 'INSTR' , 'SPACE' , 'RTRIM' , 'LEFT' , 'LEN' , 'MID' , 'RIGHT' , 'VAL' , 'STR' , 'CHR' , 'CHECKSUM' , 'HEX' , 'HEXVAL', - 'BASE64DEC' , 'BASE64ENC' , 'IP2STR' , 'UDPREAD' , 'UDPWRITE' , 'UDPWRITESTR' , 'TCPWRITE' , 'TCPWRITESTR' , 'TCPREAD' , 'GETDSTIP' , 'GETDSTPORT' , 'SOCKETSTAT' , 'SOCKETCONNECT' , 'SOCKETLISTEN' , 'GETSOCKET' , 'CLOSESOCKET' , - 'SETTCP' , 'GETTCPREGS' , 'SETTCPREGS' , 'SETIPPROTOCOL' , 'TCPCHECKSUM', - 'HOME' , 'CURSOR' , 'UPPERLINE' , 'THIRDLINE' , 'INITLCD' , 'LOWERLINE' , 'LCDAT' , 'FOURTHLINE' , 'DISPLAY' , 'LCDCONTRAST' , 'LOCATE' , 'SHIFTCURSOR' , 'DEFLCDCHAR' , 'SHIFTLCD' , 'CLS', - 'ACOS' , 'ASIN' , 'ATN' , 'ATN2' , 'EXP' , 'RAD2DEG' , 'FRAC' , 'TAN' , 'TANH' , 'COS' , 'COSH' , 'LOG' , 'LOG10' , 'ROUND' , 'ABS' , 'INT' , 'MAX' , 'MIN' , 'SQR' , 'SGN' , 'POWER' , 'SIN' , 'SINH' , 'FIX' , 'INCR' , 'DECR' , 'DEG2RAD', - 'DBG' , 'DEBUG', 'DTMFOUT' , 'ENCODER' , 'GETADC' , 'GETKBD' , 'GETATKBD' , 'GETRC' , 'VALUE' , 'POPALL' , 'PS2MOUSEXY' , 'PUSHALL' , - 'RETURN' , 'RND' , 'ROTATE' , 'SENDSCAN' , 'SENDSCANKBD' , 'SHIFT' , 'SOUND' , 'STCHECK' , 'SWAP' , 'VARPTR' , 'X10DETECT' , 'X10SEND' , 'READMAGCARD' , 'REM' , 'BITS' , 'BYVAL' , 'CALL' , 'READHITAG', - 'Buffered', 'Size', 'Dummy', 'Parity', 'None', 'Stopbits', 'Databits', 'Clockpol', 'Synchrone', 'Prescaler', 'Reference', 'int0', 'int1', 'Interrupts', - 'Auto', 'avcc', 'ack', 'nack', 'Pin', 'Db4', 'Db3', 'Db2', 'Db1', 'Db7', 'Db6', 'Db5', 'Db0', 'e', 'rs', 'twi', - ), - 2 => array( - // Red Lowercase Keywords - '$ASM' , '$BAUD' , '$BAUD1' , '$BGF' , '$BOOT' , '$CRYSTAL' , '$DATA' , '$DBG' , '$DEFAULT' , '$EEPLEAVE' , '$EEPROM' , - '$EEPROMHEX' , '$EXTERNAL' , '$HWSTACK' , '$INC' , '$INCLUDE' , '$INITMICRO' , '$LCD' , '$LCDRS' , '$LCDPUTCTRL' , - '$LCDPUTDATA' , '$LCDVFO' , '$LIB' , '$LOADER' , '$LOADERSIZE' , '$MAP' , '$NOCOMPILE' , '$NOINIT' , '$NORAMCLEAR' , - '$PROG' , '$PROGRAMMER' , '$REGFILE' , '$RESOURCE' , '$ROMSTART', '$SERIALINPUT', '$SERIALINPUT1' , '$SERIALINPUT2LCD' , - '$SERIALOUTPUT' , '$SERIALOUTPUT1' , '$SIM' , '$SWSTACK' , '$TIMEOUT' , '$TINY' , '$WAITSTATE' , '$XRAMSIZE' , '$XRAMSTART', '$XA', - '#IF' , '#ELSE' , '#ENDIF', '$framesize' - ), - 3 => array( - // Blue Lowercase Keywords - 'IF', 'THEN', 'ELSE', 'END', 'WHILE', 'WEND', 'DO', 'LOOP', 'SELECT', 'CASE', 'FOR', 'NEXT', - 'GOSUB' , 'GOTO' , 'LOCAL' , 'SUB' , 'DEFBIT', 'DEFBYTE', 'DEFINT', 'DEFWORD', 'DEFLNG', 'DEFSNG', 'DEFDBL', - 'CONST', 'DECLARE', 'FUNCTION', 'DIM', 'EXIT', 'LONG', 'INTEGER', 'BYTE', 'AS', 'STRING', 'WORD' - ), - 4 => array( - //light blue - 'PINA.0', 'PINA.1', 'PINA.2', 'PINA.3', 'PINA.4', 'PINA.5', 'PINA.6', 'PINA.7', - 'PINB.0', 'PINB.1', 'PINB.2', 'PINB.3', 'PINB.4', 'PINB.5', 'PINB.6', 'PINB.7', - 'PINC.0', 'PINC.1', 'PINC.2', 'PINC.3', 'PINC.4', 'PINC.5', 'PINC.6', 'PINC.7', - 'PIND.0', 'PIND.1', 'PIND.2', 'PIND.3', 'PIND.4', 'PIND.5', 'PIND.6', 'PIND.7', - 'PINE.0', 'PINE.1', 'PINE.2', 'PINE.3', 'PINE.4', 'PINE.5', 'PINE.6', 'PINE.7', - 'PINF.0', 'PINF.1', 'PINF.2', 'PINF.3', 'PINF.4', 'PINF.5', 'PINF.6', 'PINF.7', - - 'PORTA.0', 'PORTA.1', 'PORTA.2', 'PORTA.3', 'PORTA.4', 'PORTA.5', 'PORTA.6', 'PORTA.7', - 'PORTB.0', 'PORTB.1', 'PORTB.2', 'PORTB.3', 'PORTB.4', 'PORTB.5', 'PORTB.6', 'PORTB.7', - 'PORTC.0', 'PORTC.1', 'PORTC.2', 'PORTC.3', 'PORTC.4', 'PORTC.5', 'PORTC.6', 'PORTC.7', - 'PORTD.0', 'PORTD.1', 'PORTD.2', 'PORTD.3', 'PORTD.4', 'PORTD.5', 'PORTD.6', 'PORTD.7', - 'PORTE.0', 'PORTE.1', 'PORTE.2', 'PORTE.3', 'PORTE.4', 'PORTE.5', 'PORTE.6', 'PORTE.7', - 'PORTF.0', 'PORTF.1', 'PORTF.2', 'PORTF.3', 'PORTF.4', 'PORTF.5', 'PORTF.6', 'PORTF.7', - - 'DDRA.0', 'DDRA.1', 'DDRA.2', 'DDRA.3', 'DDRA.4', 'DDRA.5', 'DDRA.6', 'DDRA.7', - 'DDRB.0', 'DDRB.1', 'DDRB.2', 'DDRB.3', 'DDRB.4', 'DDRB.5', 'DDRB.6', 'DDRB.7', - 'DDRC.0', 'DDRC.1', 'DDRC.2', 'DDRC.3', 'DDRC.4', 'DDRC.5', 'DDRC.6', 'DDRC.7', - 'DDRD.0', 'DDRD.1', 'DDRD.2', 'DDRD.3', 'DDRD.4', 'DDRD.5', 'DDRD.6', 'DDRD.7', - 'DDRE.0', 'DDRE.1', 'DDRE.2', 'DDRE.3', 'DDRE.4', 'DDRE.5', 'DDRE.6', 'DDRE.7', - 'DDRF.0', 'DDRF.1', 'DDRF.2', 'DDRF.3', 'DDRF.4', 'DDRF.5', 'DDRF.6', 'DDRF.7', - - 'DDRA','DDRB','DDRC','DDRD','DDRE','DDRF', - 'PORTA','PORTB','PORTC','PORTD','PORTE','PORTF', - 'PINA','PINB','PINC','PIND','PINE','PINF', - ) - ), - 'SYMBOLS' => array( - '=', '<', '>', '>=', '<=', '+', '-', '*', '/', '%', '(', ')', '{', '}', '[', ']', ';', ':', '$', '&H' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #000080; font-weight: bold;', - 2 => 'color: #FF0000;', - 3 => 'color: #0000FF;', - 4 => 'color: #0080FF;', - ), - 'COMMENTS' => array( - 1 => 'color: #657CC4; font-style: italic;' - ), - 'BRACKETS' => array( - 0 => 'color: #000080;' - ), - 'STRINGS' => array( - 0 => 'color: #008000;' - ), - 'NUMBERS' => array( - 0 => 'color: #000080; font-weight: bold;' - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 0 => 'color: #0000FF;' - ), - 'ESCAPE_CHAR' => array( - ), - 'SCRIPT' => array( - ), - 'REGEXPS' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '' - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 4 -); - diff --git a/vendor/easybook/geshi/geshi/bash.php b/vendor/easybook/geshi/geshi/bash.php deleted file mode 100644 index 495bb9d..0000000 --- a/vendor/easybook/geshi/geshi/bash.php +++ /dev/null @@ -1,473 +0,0 @@ - 'Bash', - // Bash DOES have single line comments with # markers. But bash also has - // the $# variable, so comments need special handling (see sf.net - // 1564839) - 'COMMENT_SINGLE' => array('#'), - 'COMMENT_MULTI' => array(), - 'COMMENT_REGEXP' => array( - //Variables - 1 => "/\\$\\{[^\\n\\}]*?\\}/i", - //BASH-style Heredoc - 2 => '/<<-?\s*?(\'?)([a-zA-Z0-9]+)\1\\n.*\\n\\2(?![a-zA-Z0-9])/siU', - //Escaped String Starters - 3 => "/\\\\['\"]/siU", - // Single-Line Shell usage: Hide the prompt at the beginning - /* 4 => "/\A(?!#!)\s*(?>[\w:@\\/\\-\\._~]*[$#]\s?)?(?=[^\n]+\n?\Z)|^(?!#!)(\w+@)?[\w\\-\\.]+(:~?)[\w\\/\\-\\._]*?[$#]\s?/ms" */ - 4 => "/\A(?!#!)(?:(?>[\w:@\\/\\-\\._~]*)[$#]\s?)(?=(?>[^\n]+)\n?\Z)|^(?!#!)(?:\w+@)?(?>[\w\\-\\.]+)(?>:~?[\w\\/\\-\\._]*?)?[$#]\s?/sm" - ), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'HARDQUOTE' => array("'", "'"), - 'HARDESCAPE' => array("\'"), - 'ESCAPE_CHAR' => '', - 'ESCAPE_REGEXP' => array( - //Simple Single Char Escapes - 1 => "#\\\\[nfrtv\\$\\\"\n]#i", - // $var - 2 => "#\\$[a-z_][a-z0-9_]*#i", - // ${...} - 3 => "/\\$\\{[^\\n\\}]*?\\}/i", - // $(...) - 4 => "/\\$\\([^\\n\\)]*?\\)/i", - // `...` - 5 => "/`[^`]*`/" - ), - 'KEYWORDS' => array( - 1 => array( - 'case', 'do', 'done', 'elif', 'else', 'esac', 'fi', 'for', 'function', - 'if', 'in', 'select', 'set', 'then', 'until', 'while', 'time' - ), - 2 => array( - 'aclocal', 'aconnect', 'apachectl', 'apache2ctl', 'aplay', 'apm', - 'apmsleep', 'apropos', 'apt-cache', 'apt-cdrom', 'apt-config', - 'apt-file', 'apt-ftparchive', 'apt-get', 'apt-key', 'apt-listbugs', - 'apt-listchanges', 'apt-mark', 'apt-mirror', 'apt-sortpkgs', - 'apt-src', 'apticron', 'aptitude', 'aptsh', 'apxs', 'apxs2', 'ar', - 'arch', 'arecord', 'as', 'as86', 'ash', 'autoconf', 'autoheader', - 'automake', 'awk', - - 'apachectl start', 'apachectl stop', 'apachectl restart', - 'apachectl graceful', 'apachectl graceful-stop', - 'apachectl configtest', 'apachectl status', 'apachectl fullstatus', - 'apachectl help', 'apache2ctl start', 'apache2ctl stop', - 'apache2ctl restart', 'apache2ctl graceful', - 'apache2ctl graceful-stop', 'apache2ctl configtest', - 'apache2ctl status', 'apache2ctl fullstatus', 'apache2ctl help', - - 'apt-cache add', 'apt-cache depends', 'apt-cache dotty', - 'apt-cache dump', 'apt-cache dumpavail', 'apt-cache gencaches', - 'apt-cache pkgnames', 'apt-cache policy', 'apt-cache rdepends', - 'apt-cache search', 'apt-cache show', 'apt-cache showauto', - 'apt-cache showpkg', 'apt-cache showsrc', 'apt-cache stats', - 'apt-cache unmet', 'apt-cache xvcg', 'apt-cdrom add', - 'apt-cdrom ident', 'apt-config dump', 'apt-config shell', - 'apt-file find', 'apt-file list', 'apt-file purge', - 'apt-file search', 'apt-file shot', 'apt-file update', - 'apt-get autoclean', 'apt-get autoremove', 'apt-get build-dep', - 'apt-get check', 'apt-get clean', 'apt-get dist-upgrade', - 'apt-get dselect-upgrade', 'apt-get install', 'apt-get markauto', - 'apt-get purge', 'apt-get remove', 'apt-get source', - 'apt-get unmarkauto', 'apt-get update', 'apt-get upgrade', - 'apt-key add', 'apt-key adv', 'apt-key del', 'apt-key export', - 'apt-key exportall', 'apt-key finger', 'apt-key list', - 'apt-key net-update', 'apt-key update', 'apt-listbugs apt', - 'apt-listbugs list', 'apt-listbugs rss', 'apt-src build', - 'apt-src clean', 'apt-src import', 'apt-src install', - 'apt-src list', 'apt-src location', 'apt-src name', - 'apt-src remove', 'apt-src update', 'apt-src upgrade', - 'apt-src version', - - 'aptitude autoclean', 'aptitude build-dep', 'aptitude changelog', - 'aptitude clean', 'aptitude download', 'aptitude forbid-version', - 'aptitude forget-new', 'aptitude full-upgrade', 'aptitude hold', - 'aptitude install', 'aptitude markauto', 'aptitude purge', - 'aptitude reinstall', 'aptitude remove', 'aptitude safe-upgrade', - 'aptitude search', 'aptitude show', 'aptitude unhold', - 'aptitude unmarkauto', 'aptitude update', 'aptitude versions', - 'aptitude why', 'aptitude why-not', - - 'basename', 'bash', 'batctl', 'bc', 'bison', 'bunzip2', 'bzcat', - 'bzcmp', 'bzdiff', 'bzegrep', 'bzfgrep', 'bzgrep', - 'bzip2', 'bzip2recover', 'bzless', 'bzmore', - - 'c++', 'cal', 'cat', 'chattr', 'cc', 'cdda2wav', 'cdparanoia', - 'cdrdao', 'cd-read', 'cdrecord', 'chfn', 'chgrp', 'chmod', - 'chown', 'chroot', 'chsh', 'chvt', 'clear', 'cmp', 'comm', 'co', - 'col', 'cp', 'cpio', 'cpp', 'csh', 'cut', 'cvs', 'cvs-pserver', - - 'cvs add', 'cvs admin', 'cvs annotate', 'cvs checkout', - 'cvs commit', 'cvs diff', 'cvs edit', 'cvs editors', 'cvs export', - 'cvs history', 'cvs import', 'cvs init', 'cvs log', 'cvs login', - 'cvs logout', 'cvs ls', 'cvs pserver', 'cvs rannotate', - 'cvs rdiff', 'cvs release', 'cvs remove', 'cvs rlog', 'cvs rls', - 'cvs rtag', 'cvs server', 'cvs status', 'cvs tag', 'cvs unedit', - 'cvs update', 'cvs version', 'cvs watch', 'cvs watchers', - - 'dash', 'date', 'dc', 'dch', 'dcop', 'dd', 'ddate', 'ddd', - 'deallocvt', 'debconf', 'defoma', 'depmod', 'df', 'dh', - 'dialog', 'diff', 'diff3', 'dig', 'dir', 'dircolors', 'directomatic', - 'dirname', 'dmesg', 'dnsdomainname', 'domainname', 'dpkg', - 'dselect', 'du', 'dumpkeys', - - 'ed', 'egrep', 'env', 'expr', - - 'false', 'fbset', 'fdisk', 'ffmpeg', 'fgconsole','fgrep', 'file', - 'find', 'flex', 'flex++', 'fmt', 'free', 'ftp', 'funzip', 'fuser', - - 'g++', 'gawk', 'gc','gcc', 'gdb', 'getent', 'getkeycodes', - 'getopt', 'gettext', 'gettextize', 'gimp', 'gimp-remote', - 'gimptool', 'gmake', 'gocr', 'grep', 'groups', 'gs', 'gunzip', - 'gzexe', 'gzip', - - 'git', 'git add', 'git add--interactive', 'git am', 'git annotate', - 'git apply', 'git archive', 'git bisect', 'git bisect--helper', - 'git blame', 'git branch', 'git bundle', 'git cat-file', - 'git check-attr', 'git checkout', 'git checkout-index', - 'git check-ref-format', 'git cherry', 'git cherry-pick', - 'git clean', 'git clone', 'git commit', 'git commit-tree', - 'git config', 'git count-objects', 'git daemon', 'git describe', - 'git diff', 'git diff-files', 'git diff-index', 'git difftool', - 'git difftool--helper', 'git diff-tree', 'git fast-export', - 'git fast-import', 'git fetch', 'git fetch-pack', - 'git filter-branch', 'git fmt-merge-msg', 'git for-each-ref', - 'git format-patch', 'git fsck', 'git fsck-objects', 'git gc', - 'git get-tar-commit-id', 'git grep', 'git hash-object', 'git help', - 'git http-backend', 'git http-fetch', 'git http-push', - 'git imap-send', 'git index-pack', 'git init', 'git init-db', - 'git instaweb', 'git log', 'git lost-found', 'git ls-files', - 'git ls-remote', 'git ls-tree', 'git mailinfo', 'git mailsplit', - 'git merge', 'git merge-base', 'git merge-file', 'git merge-index', - 'git merge-octopus', 'git merge-one-file', 'git merge-ours', - 'git merge-recursive', 'git merge-resolve', 'git merge-subtree', - 'git mergetool', 'git merge-tree', 'git mktag', 'git mktree', - 'git mv', 'git name-rev', 'git notes', 'git pack-objects', - 'git pack-redundant', 'git pack-refs', 'git patch-id', - 'git peek-remote', 'git prune', 'git prune-packed', 'git pull', - 'git push', 'git quiltimport', 'git read-tree', 'git rebase', - 'git rebase--interactive', 'git receive-pack', 'git reflog', - 'git relink', 'git remote', 'git remote-ftp', 'git remote-ftps', - 'git remote-http', 'git remote-https', 'git remote-testgit', - 'git repack', 'git replace', 'git repo-config', 'git request-pull', - 'git rerere', 'git reset', 'git revert', 'git rev-list', - 'git rev-parse', 'git rm', 'git send-pack', 'git shell', - 'git shortlog', 'git show', 'git show-branch', 'git show-index', - 'git show-ref', 'git stage', 'git stash', 'git status', - 'git stripspace', 'git submodule', 'git symbolic-ref', 'git tag', - 'git tar-tree', 'git unpack-file', 'git unpack-objects', - 'git update-index', 'git update-ref', 'git update-server-info', - 'git upload-archive', 'git upload-pack', 'git var', - 'git verify-pack', 'git verify-tag', 'git web--browse', - 'git whatchanged', 'git write-tree', - - 'gitaction', 'git-add', 'git-add--interactive', 'git-am', - 'git-annotate', 'git-apply', 'git-archive', 'git-bisect', - 'git-bisect--helper', 'git-blame', 'git-branch', 'git-bundle', - 'git-cat-file', 'git-check-attr', 'git-checkout', - 'git-checkout-index', 'git-check-ref-format', 'git-cherry', - 'git-cherry-pick', 'git-clean', 'git-clone', 'git-commit', - 'git-commit-tree', 'git-config', 'git-count-objects', 'git-daemon', - 'git-describe', 'git-diff', 'git-diff-files', 'git-diff-index', - 'git-difftool', 'git-difftool--helper', 'git-diff-tree', - 'gitdpkgname', 'git-fast-export', 'git-fast-import', 'git-fetch', - 'git-fetch-pack', 'git-fetch--tool', 'git-filter-branch', 'gitfm', - 'git-fmt-merge-msg', 'git-for-each-ref', 'git-format-patch', - 'git-fsck', 'git-fsck-objects', 'git-gc', 'git-get-tar-commit-id', - 'git-grep', 'git-hash-object', 'git-help', 'git-http-fetch', - 'git-http-push', 'git-imap-send', 'git-index-pack', 'git-init', - 'git-init-db', 'git-instaweb', 'gitkeys', 'git-log', - 'git-lost-found', 'git-ls-files', 'git-ls-remote', 'git-ls-tree', - 'git-mailinfo', 'git-mailsplit', 'git-merge', 'git-merge-base', - 'git-merge-file', 'git-merge-index', 'git-merge-octopus', - 'git-merge-one-file', 'git-merge-ours', 'git-merge-recursive', - 'git-merge-resolve', 'git-merge-subtree', 'git-mergetool', - 'git-mergetool--lib', 'git-merge-tree', 'gitmkdirs', 'git-mktag', - 'git-mktree', 'gitmount', 'git-mv', 'git-name-rev', - 'git-pack-objects', 'git-pack-redundant', 'git-pack-refs', - 'git-parse-remote', 'git-patch-id', 'git-peek-remote', 'git-prune', - 'git-prune-packed', 'gitps', 'git-pull', 'git-push', - 'git-quiltimport', 'git-read-tree', 'git-rebase', - 'git-rebase--interactive', 'git-receive-pack', 'git-reflog', - 'gitregrep', 'git-relink', 'git-remote', 'git-repack', - 'git-repo-config', 'git-request-pull', 'git-rerere', 'git-reset', - 'git-revert', 'git-rev-list', 'git-rev-parse', 'gitrfgrep', - 'gitrgrep', 'git-rm', 'git-send-pack', 'git-shell', 'git-shortlog', - 'git-show', 'git-show-branch', 'git-show-index', 'git-show-ref', - 'git-sh-setup', 'git-stage', 'git-stash', 'git-status', - 'git-stripspace', 'git-submodule', 'git-svn', 'git-symbolic-ref', - 'git-tag', 'git-tar-tree', 'gitunpack', 'git-unpack-file', - 'git-unpack-objects', 'git-update-index', 'git-update-ref', - 'git-update-server-info', 'git-upload-archive', 'git-upload-pack', - 'git-var', 'git-verify-pack', 'git-verify-tag', 'gitview', - 'git-web--browse', 'git-whatchanged', 'gitwhich', 'gitwipe', - 'git-write-tree', 'gitxgrep', - - 'head', 'hexdump', 'hostname', 'htop', - - 'id', 'ifconfig', 'ifdown', 'ifup', 'igawk', 'install', - - 'ip', 'ip addr', 'ip addrlabel', 'ip link', 'ip maddr', 'ip mroute', - 'ip neigh', 'ip route', 'ip rule', 'ip tunnel', 'ip xfrm', - - 'jar', 'java', 'javac', 'join', - - 'kbd_mode','kbdrate', 'kdialog', 'kfile', 'kill', 'killall', - - 'lame', 'last', 'lastb', 'ld', 'ld86', 'ldd', 'less', 'lex', 'link', - 'ln', 'loadkeys', 'loadunimap', 'locate', 'lockfile', 'login', - 'logname', 'lp', 'lpr', 'ls', 'lsattr', 'lsmod', 'lsmod.old', - 'lspci', 'ltrace', 'lynx', - - 'm4', 'make', 'man', 'mapscrn', 'mesg', 'mkdir', 'mkfifo', - 'mknod', 'mktemp', 'more', 'mount', 'mplayer', 'msgfmt', 'mv', - - 'namei', 'nano', 'nasm', 'nawk', 'netstat', 'nice', - 'nisdomainname', 'nl', 'nm', 'nm86', 'nmap', 'nohup', 'nop', - - 'od', 'openvt', - - 'passwd', 'patch', 'pbzip2', 'pcregrep', 'pcretest', 'perl', - 'perror', 'pgawk', 'pidof', 'pigz', 'ping', 'pr', 'procmail', - 'prune', 'ps', 'pstree', 'ps2ascii', 'ps2epsi', 'ps2frag', - 'ps2pdf', 'ps2ps', 'psbook', 'psmerge', 'psnup', 'psresize', - 'psselect', 'pstops', - - 'rbash', 'rcs', 'rcs2log', 'read', 'readlink', 'red', 'resizecons', - 'rev', 'rm', 'rmdir', 'rsh', 'run-parts', - - 'sash', 'scp', 'screen', 'sed', 'seq', 'sendmail', 'setfont', - 'setkeycodes', 'setleds', 'setmetamode', 'setserial', 'setterm', - 'sh', 'showkey', 'shred', 'size', 'size86', 'skill', 'sleep', - 'slogin', 'snice', 'sort', 'sox', 'split', 'ssed', 'ssh', 'ssh-add', - 'ssh-agent', 'ssh-keygen', 'ssh-keyscan', 'sshfs', 'stat', 'strace', - 'strings', 'strip', 'stty', 'su', 'sudo', 'suidperl', 'sum', 'svn', - 'svnadmin', 'svndumpfilter', 'svnlook', 'svnmerge', 'svnmucc', - 'svnserve', 'svnshell', 'svnsync', 'svnversion', 'svnwrap', 'sync', - - 'svn add', 'svn ann', 'svn annotate', 'svn blame', 'svn cat', - 'svn changelist', 'svn checkout', 'svn ci', 'svn cl', 'svn cleanup', - 'svn co', 'svn commit', 'svn copy', 'svn cp', 'svn del', - 'svn delete', 'svn di', 'svn diff', 'svn export', 'svn help', - 'svn import', 'svn info', 'svn list', 'svn lock', 'svn log', - 'svn ls', 'svn merge', 'svn mergeinfo', 'svn mkdir', 'svn move', - 'svn mv', 'svn patch', 'svn pd', 'svn pdel', 'svn pe', 'svn pedit', - 'svn pg', 'svn pget', 'svn pl', 'svn plist', 'svn praise', - 'svn propdel', 'svn propedit', 'svn propget', 'svn proplist', - 'svn propset', 'svn ps', 'svn pset', 'svn relocate', 'svn remove', - 'svn rename', 'svn resolve', 'svn resolved', 'svn revert', 'svn rm', - 'svn st', 'svn stat', 'svn status', 'svn sw', 'svn switch', - 'svn unlock', 'svn up', 'svn update', 'svn upgrade', - - 'svnadmin crashtest', 'svnadmin create', 'svnadmin deltify', - 'svnadmin dump', 'svnadmin help', 'svnadmin hotcopy', - 'svnadmin list-dblogs', 'svnadmin list-unused-dblogs', - 'svnadmin load', 'svnadmin lslocks', 'svnadmin lstxns', - 'svnadmin pack', 'svnadmin recover', 'svnadmin rmlocks', - 'svnadmin rmtxns', 'svnadmin setlog', 'svnadmin setrevprop', - 'svnadmin setuuid', 'svnadmin upgrade', 'svnadmin verify', - - 'svndumpfilter exclude', 'svndumpfilter help', - 'svndumpfilter include', - - 'svnlook author', 'svnlook cat', 'svnlook changed', 'svnlook date', - 'svnlook diff', 'svnlook dirs-changed', 'svnlook filesize', - 'svnlook help', 'svnlook history', 'svnlook info', 'svnlook lock', - 'svnlook log', 'svnlook pg', 'svnlook pget', 'svnlook pl', - 'svnlook plist', 'svnlook propget', 'svnlook proplist', - 'svnlook tree', 'svnlook uuid', 'svnlook youngest', - - 'svnrdump dump', 'svnrdump help', 'svnrdump load', - - 'svnsync copy-revprops', 'svnsync help', 'svnsync info', - 'svnsync init', 'svnsync initialize', 'svnsync sync', - 'svnsync synchronize', - - 'tac', 'tail', 'tar', 'tee', 'tempfile', 'touch', 'tr', 'tree', - 'true', - - 'umount', 'uname', 'unicode_start', 'unicode_stop', 'uniq', - 'unlink', 'unzip', 'updatedb', 'updmap', 'uptime', 'users', - 'utmpdump', 'uuidgen', - - 'valgrind', 'vdir', 'vi', 'vim', 'vmstat', - - 'w', 'wall', 'watch', 'wc', 'wget', 'whatis', 'whereis', - 'which', 'whiptail', 'who', 'whoami', 'whois', 'wine', 'wineboot', - 'winebuild', 'winecfg', 'wineconsole', 'winedbg', 'winedump', - 'winefile', 'wodim', 'write', - - 'xargs', 'xhost', 'xmodmap', 'xset', - - 'yacc', 'yes', 'ypdomainname', 'yum', - - 'yum check-update', 'yum clean', 'yum deplist', 'yum erase', - 'yum groupinfo', 'yum groupinstall', 'yum grouplist', - 'yum groupremove', 'yum groupupdate', 'yum info', 'yum install', - 'yum list', 'yum localinstall', 'yum localupdate', 'yum makecache', - 'yum provides', 'yum remove', 'yum resolvedep', 'yum search', - 'yum shell', 'yum update', 'yum upgrade', 'yum whatprovides', - - 'zcat', 'zcmp', 'zdiff', 'zdump', 'zegrep', 'zfgrep', 'zforce', - 'zgrep', 'zip', 'zipgrep', 'zipinfo', 'zless', 'zmore', 'znew', - 'zsh', 'zsoelim' - ), - 3 => array( - 'alias', 'bg', 'bind', 'break', 'builtin', 'cd', 'command', - 'compgen', 'complete', 'continue', 'declare', 'dirs', 'disown', - 'echo', 'enable', 'eval', 'exec', 'exit', 'export', 'fc', - 'fg', 'getopts', 'hash', 'help', 'history', 'jobs', 'let', - 'local', 'logout', 'popd', 'printf', 'pushd', 'pwd', 'readonly', - 'return', 'shift', 'shopt', 'source', 'suspend', 'test', 'times', - 'trap', 'type', 'typeset', 'ulimit', 'umask', 'unalias', 'unset', - 'wait' - ) - ), - 'SYMBOLS' => array( - '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => true, - 2 => true, - 3 => true - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #000000; font-weight: bold;', - 2 => 'color: #c20cb9; font-weight: bold;', - 3 => 'color: #7a0874; font-weight: bold;' - ), - 'COMMENTS' => array( - 0 => 'color: #666666; font-style: italic;', - 1 => 'color: #800000;', - 2 => 'color: #cc0000; font-style: italic;', - 3 => 'color: #000000; font-weight: bold;', - 4 => 'color: #666666;' - ), - 'ESCAPE_CHAR' => array( - 1 => 'color: #000099; font-weight: bold;', - 2 => 'color: #007800;', - 3 => 'color: #007800;', - 4 => 'color: #007800;', - 5 => 'color: #780078;', - 'HARD' => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #7a0874; font-weight: bold;' - ), - 'STRINGS' => array( - 0 => 'color: #ff0000;', - 'HARD' => 'color: #ff0000;' - ), - 'NUMBERS' => array( - 0 => 'color: #000000;' - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 0 => 'color: #000000; font-weight: bold;' - ), - 'REGEXPS' => array( - 0 => 'color: #007800;', - 1 => 'color: #007800;', - 2 => 'color: #007800;', - 4 => 'color: #007800;', - 5 => 'color: #660033;' - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '' - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'REGEXPS' => array( - //Variables (will be handled by comment_regexps) - 0 => "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*?\\}", - //Variables without braces - 1 => "\\$[a-zA-Z_][a-zA-Z0-9_]*", - //Variable assignment - 2 => "(? "\\$[*#\$\\-\\?!\d]", - //Parameters of commands - 5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|<(?:SEMI|PIPE)>|$)" - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 4, - 'PARSER_CONTROL' => array( - 'COMMENTS' => array( - 'DISALLOWED_BEFORE' => '$' - ), - 'KEYWORDS' => array( - 'DISALLOWED_BEFORE' => "(? "(?![\.\-a-zA-Z0-9_%=\\/:])", - 2 => array( - 'SPACE_AS_WHITESPACE' => false - ) - ) - ) -); - diff --git a/vendor/easybook/geshi/geshi/basic4gl.php b/vendor/easybook/geshi/geshi/basic4gl.php deleted file mode 100644 index 112fb69..0000000 --- a/vendor/easybook/geshi/geshi/basic4gl.php +++ /dev/null @@ -1,339 +0,0 @@ - 'Basic4GL', - 'COMMENT_SINGLE' => array(1 => "'"), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - 1 => array( - - // Navy Blue Bold Keywords - - 'true','rnd_max','m_pi','m_e','false','VK_ZOOM','VK_UP','VK_TAB','VK_SUBTRACT','VK_SPACE','VK_SNAPSHOT', - 'VK_SHIFT','VK_SEPARATOR','VK_SELECT','VK_SCROLL','VK_RWIN','VK_RSHIFT','VK_RMENU','VK_RIGHT','VK_RETURN', - 'VK_RCONTROL','VK_RBUTTON','VK_PROCESSKEY','VK_PRIOR','VK_PRINT','VK_PLAY','VK_PAUSE','VK_NUMPAD9','VK_NUMPAD8', - 'VK_NUMPAD7','VK_NUMPAD6','VK_NUMPAD5','VK_NUMPAD4','VK_NUMPAD3','VK_NUMPAD2','VK_NUMPAD1','VK_NUMPAD0', - 'VK_NUMLOCK','VK_NONCONVERT','VK_NEXT','VK_MULTIPLY','VK_MODECHANGE','VK_MENU','VK_MBUTTON','VK_LWIN', - 'VK_LSHIFT','VK_LMENU','VK_LEFT','VK_LCONTROL','VK_LBUTTON','VK_KANJI','VK_KANA','VK_JUNJA','VK_INSERT', - 'VK_HOME','VK_HELP','VK_HANJA','VK_HANGUL','VK_HANGEUL','VK_FINAL','VK_F9','VK_F8','VK_F7','VK_F6','VK_F5', - 'VK_F4','VK_F3','VK_F24','VK_F23','VK_F22','VK_F21','VK_F20','VK_F2','VK_F19','VK_F18','VK_F17','VK_F16', - 'VK_F15','VK_F14','VK_F13','VK_F12','VK_F11','VK_F10','VK_F1','VK_EXSEL','VK_EXECUTE','VK_ESCAPE','VK_EREOF', - 'VK_END','VK_DOWN','VK_DIVIDE','VK_DELETE','VK_DECIMAL','VK_CRSEL','VK_CONVERT','VK_CONTROL','VK_CLEAR', - 'VK_CAPITAL','VK_CANCEL','VK_BACK','VK_ATTN','VK_APPS','VK_ADD','VK_ACCEPT','TEXT_SIMPLE','TEXT_OVERLAID', - 'TEXT_BUFFERED','SPR_TILEMAP','SPR_SPRITE','SPR_INVALID','MOUSE_RBUTTON','MOUSE_MBUTTON','MOUSE_LBUTTON', - 'GL_ZOOM_Y','GL_ZOOM_X','GL_ZERO','GL_XOR','GL_WIN_swap_hint','GL_WIN_draw_range_elements','GL_VIEWPORT_BIT', - 'GL_VIEWPORT','GL_VERTEX_ARRAY_TYPE_EXT','GL_VERTEX_ARRAY_TYPE','GL_VERTEX_ARRAY_STRIDE_EXT','GL_VERTEX_ARRAY_STRIDE', - 'GL_VERTEX_ARRAY_SIZE_EXT','GL_VERTEX_ARRAY_SIZE','GL_VERTEX_ARRAY_POINTER_EXT','GL_VERTEX_ARRAY_POINTER', - 'GL_VERTEX_ARRAY_EXT','GL_VERTEX_ARRAY_COUNT_EXT','GL_VERTEX_ARRAY','GL_VERSION_1_1','GL_VERSION','GL_VENDOR', - 'GL_V3F','GL_V2F','GL_UNSIGNED_SHORT','GL_UNSIGNED_INT','GL_UNSIGNED_BYTE','GL_UNPACK_SWAP_BYTES','GL_UNPACK_SKIP_ROWS', - 'GL_UNPACK_SKIP_PIXELS','GL_UNPACK_ROW_LENGTH','GL_UNPACK_LSB_FIRST','GL_UNPACK_ALIGNMENT','GL_TRUE','GL_TRIANGLE_STRIP', - 'GL_TRIANGLE_FAN','GL_TRIANGLES','GL_TRANSFORM_BIT','GL_TEXTURE_WRAP_T','GL_TEXTURE_WRAP_S','GL_TEXTURE_WIDTH', - 'GL_TEXTURE_STACK_DEPTH','GL_TEXTURE_RESIDENT','GL_TEXTURE_RED_SIZE','GL_TEXTURE_PRIORITY','GL_TEXTURE_MIN_FILTER', - 'GL_TEXTURE_MATRIX','GL_TEXTURE_MAG_FILTER','GL_TEXTURE_LUMINANCE_SIZE','GL_TEXTURE_INTERNAL_FORMAT','GL_TEXTURE_INTENSITY_SIZE', - 'GL_TEXTURE_HEIGHT','GL_TEXTURE_GREEN_SIZE','GL_TEXTURE_GEN_T','GL_TEXTURE_GEN_S','GL_TEXTURE_GEN_R','GL_TEXTURE_GEN_Q', - 'GL_TEXTURE_GEN_MODE','GL_TEXTURE_ENV_MODE','GL_TEXTURE_ENV_COLOR','GL_TEXTURE_ENV','GL_TEXTURE_COORD_ARRAY_TYPE_EXT', - 'GL_TEXTURE_COORD_ARRAY_TYPE','GL_TEXTURE_COORD_ARRAY_STRIDE_EXT','GL_TEXTURE_COORD_ARRAY_STRIDE','GL_TEXTURE_COORD_ARRAY_SIZE_EXT', - 'GL_TEXTURE_COORD_ARRAY_SIZE','GL_TEXTURE_COORD_ARRAY_POINTER_EXT','GL_TEXTURE_COORD_ARRAY_POINTER','GL_TEXTURE_COORD_ARRAY_EXT', - 'GL_TEXTURE_COORD_ARRAY_COUNT_EXT','GL_TEXTURE_COORD_ARRAY','GL_TEXTURE_COMPONENTS','GL_TEXTURE_BORDER_COLOR','GL_TEXTURE_BORDER', - 'GL_TEXTURE_BLUE_SIZE','GL_TEXTURE_BIT','GL_TEXTURE_BINDING_2D','GL_TEXTURE_BINDING_1D','GL_TEXTURE_ALPHA_SIZE', - 'GL_TEXTURE_2D','GL_TEXTURE_1D','GL_TEXTURE9_ARB','GL_TEXTURE9','GL_TEXTURE8_ARB','GL_TEXTURE8','GL_TEXTURE7_ARB', - 'GL_TEXTURE7','GL_TEXTURE6_ARB','GL_TEXTURE6','GL_TEXTURE5_ARB','GL_TEXTURE5','GL_TEXTURE4_ARB','GL_TEXTURE4', - 'GL_TEXTURE3_ARB','GL_TEXTURE31_ARB','GL_TEXTURE31','GL_TEXTURE30_ARB','GL_TEXTURE30','GL_TEXTURE3','GL_TEXTURE2_ARB', - 'GL_TEXTURE29_ARB','GL_TEXTURE29','GL_TEXTURE28_ARB','GL_TEXTURE28','GL_TEXTURE27_ARB','GL_TEXTURE27','GL_TEXTURE26_ARB', - 'GL_TEXTURE26','GL_TEXTURE25_ARB','GL_TEXTURE25','GL_TEXTURE24_ARB','GL_TEXTURE24','GL_TEXTURE23_ARB','GL_TEXTURE23', - 'GL_TEXTURE22_ARB','GL_TEXTURE22','GL_TEXTURE21_ARB','GL_TEXTURE21','GL_TEXTURE20_ARB','GL_TEXTURE20','GL_TEXTURE2', - 'GL_TEXTURE1_ARB','GL_TEXTURE19_ARB','GL_TEXTURE19','GL_TEXTURE18_ARB','GL_TEXTURE18','GL_TEXTURE17_ARB', - 'GL_TEXTURE17','GL_TEXTURE16_ARB','GL_TEXTURE16','GL_TEXTURE15_ARB','GL_TEXTURE15','GL_TEXTURE14_ARB','GL_TEXTURE14', - 'GL_TEXTURE13_ARB','GL_TEXTURE13','GL_TEXTURE12_ARB','GL_TEXTURE12','GL_TEXTURE11_ARB','GL_TEXTURE11','GL_TEXTURE10_ARB', - 'GL_TEXTURE10','GL_TEXTURE1','GL_TEXTURE0_ARB','GL_TEXTURE0','GL_TEXTURE','GL_T4F_V4F','GL_T4F_C4F_N3F_V4F','GL_T2F_V3F', - 'GL_T2F_N3F_V3F','GL_T2F_C4UB_V3F','GL_T2F_C4F_N3F_V3F','GL_T2F_C3F_V3F','GL_T','GL_SUBPIXEL_BITS','GL_STEREO', - 'GL_STENCIL_WRITEMASK','GL_STENCIL_VALUE_MASK','GL_STENCIL_TEST','GL_STENCIL_REF','GL_STENCIL_PASS_DEPTH_PASS', - 'GL_STENCIL_PASS_DEPTH_FAIL','GL_STENCIL_INDEX','GL_STENCIL_FUNC','GL_STENCIL_FAIL','GL_STENCIL_CLEAR_VALUE', - 'GL_STENCIL_BUFFER_BIT','GL_STENCIL_BITS','GL_STENCIL','GL_STACK_UNDERFLOW','GL_STACK_OVERFLOW','GL_SRC_COLOR', - 'GL_SRC_ALPHA_SATURATE','GL_SRC_ALPHA','GL_SPOT_EXPONENT','GL_SPOT_DIRECTION','GL_SPOT_CUTOFF','GL_SPHERE_MAP', - 'GL_SPECULAR','GL_SOURCE2_RGB_EXT','GL_SOURCE2_RGB','GL_SOURCE2_ALPHA_EXT','GL_SOURCE2_ALPHA','GL_SOURCE1_RGB_EXT', - 'GL_SOURCE1_RGB','GL_SOURCE1_ALPHA_EXT','GL_SOURCE1_ALPHA','GL_SOURCE0_RGB_EXT','GL_SOURCE0_RGB','GL_SOURCE0_ALPHA_EXT', - 'GL_SOURCE0_ALPHA','GL_SMOOTH','GL_SHORT','GL_SHININESS','GL_SHADE_MODEL','GL_SET','GL_SELECTION_BUFFER_SIZE', - 'GL_SELECTION_BUFFER_POINTER','GL_SELECT','GL_SCISSOR_TEST','GL_SCISSOR_BOX','GL_SCISSOR_BIT','GL_S','GL_RIGHT', - 'GL_RGB_SCALE_EXT','GL_RGB_SCALE','GL_RGBA_MODE','GL_RGBA8','GL_RGBA4','GL_RGBA2','GL_RGBA16','GL_RGBA12','GL_RGBA', - 'GL_RGB8','GL_RGB5_A1','GL_RGB5','GL_RGB4','GL_RGB16','GL_RGB12','GL_RGB10_A2','GL_RGB10','GL_RGB','GL_RETURN', - 'GL_REPLACE','GL_REPEAT','GL_RENDER_MODE','GL_RENDERER','GL_RENDER','GL_RED_SCALE','GL_RED_BITS','GL_RED_BIAS', - 'GL_RED','GL_READ_BUFFER','GL_R3_G3_B2','GL_R','GL_QUAD_STRIP','GL_QUADS','GL_QUADRATIC_ATTENUATION','GL_Q', - 'GL_PROXY_TEXTURE_2D','GL_PROXY_TEXTURE_1D','GL_PROJECTION_STACK_DEPTH','GL_PROJECTION_MATRIX','GL_PROJECTION', - 'GL_PRIMARY_COLOR_EXT','GL_PRIMARY_COLOR','GL_PREVIOUS_EXT','GL_PREVIOUS','GL_POSITION','GL_POLYGON_TOKEN', - 'GL_POLYGON_STIPPLE_BIT','GL_POLYGON_STIPPLE','GL_POLYGON_SMOOTH_HINT','GL_POLYGON_SMOOTH','GL_POLYGON_OFFSET_UNITS', - 'GL_POLYGON_OFFSET_POINT','GL_POLYGON_OFFSET_LINE','GL_POLYGON_OFFSET_FILL','GL_POLYGON_OFFSET_FACTOR','GL_POLYGON_MODE', - 'GL_POLYGON_BIT','GL_POLYGON','GL_POINT_TOKEN','GL_POINT_SMOOTH_HINT','GL_POINT_SMOOTH','GL_POINT_SIZE_RANGE', - 'GL_POINT_SIZE_GRANULARITY','GL_POINT_SIZE','GL_POINT_BIT','GL_POINTS','GL_POINT','GL_PIXEL_MODE_BIT', - 'GL_PIXEL_MAP_S_TO_S_SIZE','GL_PIXEL_MAP_S_TO_S','GL_PIXEL_MAP_R_TO_R_SIZE','GL_PIXEL_MAP_R_TO_R','GL_PIXEL_MAP_I_TO_R_SIZE', - 'GL_PIXEL_MAP_I_TO_R','GL_PIXEL_MAP_I_TO_I_SIZE','GL_PIXEL_MAP_I_TO_I','GL_PIXEL_MAP_I_TO_G_SIZE','GL_PIXEL_MAP_I_TO_G', - 'GL_PIXEL_MAP_I_TO_B_SIZE','GL_PIXEL_MAP_I_TO_B','GL_PIXEL_MAP_I_TO_A_SIZE','GL_PIXEL_MAP_I_TO_A','GL_PIXEL_MAP_G_TO_G_SIZE', - 'GL_PIXEL_MAP_G_TO_G','GL_PIXEL_MAP_B_TO_B_SIZE','GL_PIXEL_MAP_B_TO_B','GL_PIXEL_MAP_A_TO_A_SIZE','GL_PIXEL_MAP_A_TO_A', - 'GL_PHONG_WIN','GL_PHONG_HINT_WIN','GL_PERSPECTIVE_CORRECTION_HINT','GL_PASS_THROUGH_TOKEN','GL_PACK_SWAP_BYTES', - 'GL_PACK_SKIP_ROWS','GL_PACK_SKIP_PIXELS','GL_PACK_ROW_LENGTH','GL_PACK_LSB_FIRST','GL_PACK_ALIGNMENT','GL_OUT_OF_MEMORY', - 'GL_OR_REVERSE','GL_OR_INVERTED','GL_ORDER','GL_OR','GL_OPERAND2_RGB_EXT','GL_OPERAND2_RGB','GL_OPERAND2_ALPHA_EXT', - 'GL_OPERAND2_ALPHA','GL_OPERAND1_RGB_EXT','GL_OPERAND1_RGB','GL_OPERAND1_ALPHA_EXT','GL_OPERAND1_ALPHA','GL_OPERAND0_RGB_EXT', - 'GL_OPERAND0_RGB','GL_OPERAND0_ALPHA_EXT','GL_OPERAND0_ALPHA','GL_ONE_MINUS_SRC_COLOR','GL_ONE_MINUS_SRC_ALPHA', - 'GL_ONE_MINUS_DST_COLOR','GL_ONE_MINUS_DST_ALPHA','GL_ONE','GL_OBJECT_PLANE','GL_OBJECT_LINEAR','GL_NO_ERROR', - 'GL_NOTEQUAL','GL_NORMAL_ARRAY_TYPE_EXT','GL_NORMAL_ARRAY_TYPE','GL_NORMAL_ARRAY_STRIDE_EXT','GL_NORMAL_ARRAY_STRIDE', - 'GL_NORMAL_ARRAY_POINTER_EXT','GL_NORMAL_ARRAY_POINTER','GL_NORMAL_ARRAY_EXT','GL_NORMAL_ARRAY_COUNT_EXT', - 'GL_NORMAL_ARRAY','GL_NORMALIZE','GL_NOR','GL_NOOP','GL_NONE','GL_NICEST','GL_NEVER','GL_NEAREST_MIPMAP_NEAREST','GL_NEAREST_MIPMAP_LINEAR', - 'GL_NEAREST','GL_NAND','GL_NAME_STACK_DEPTH','GL_N3F_V3F','GL_MULT','GL_MODULATE','GL_MODELVIEW_STACK_DEPTH','GL_MODELVIEW_MATRIX', - 'GL_MODELVIEW','GL_MAX_VIEWPORT_DIMS','GL_MAX_TEXTURE_UNITS_ARB','GL_MAX_TEXTURE_UNITS','GL_MAX_TEXTURE_STACK_DEPTH', - 'GL_MAX_TEXTURE_SIZE','GL_MAX_PROJECTION_STACK_DEPTH','GL_MAX_PIXEL_MAP_TABLE','GL_MAX_NAME_STACK_DEPTH','GL_MAX_MODELVIEW_STACK_DEPTH', - 'GL_MAX_LIST_NESTING','GL_MAX_LIGHTS','GL_MAX_EVAL_ORDER','GL_MAX_ELEMENTS_VERTICES_WIN','GL_MAX_ELEMENTS_INDICES_WIN', - 'GL_MAX_CLIP_PLANES','GL_MAX_CLIENT_ATTRIB_STACK_DEPTH','GL_MAX_ATTRIB_STACK_DEPTH','GL_MATRIX_MODE','GL_MAP_STENCIL', - 'GL_MAP_COLOR','GL_MAP2_VERTEX_4','GL_MAP2_VERTEX_3','GL_MAP2_TEXTURE_COORD_4','GL_MAP2_TEXTURE_COORD_3','GL_MAP2_TEXTURE_COORD_2', - 'GL_MAP2_TEXTURE_COORD_1','GL_MAP2_NORMAL','GL_MAP2_INDEX','GL_MAP2_GRID_SEGMENTS','GL_MAP2_GRID_DOMAIN','GL_MAP2_COLOR_4', - 'GL_MAP1_VERTEX_4','GL_MAP1_VERTEX_3','GL_MAP1_TEXTURE_COORD_4','GL_MAP1_TEXTURE_COORD_3','GL_MAP1_TEXTURE_COORD_2', - 'GL_MAP1_TEXTURE_COORD_1','GL_MAP1_NORMAL','GL_MAP1_INDEX','GL_MAP1_GRID_SEGMENTS','GL_MAP1_GRID_DOMAIN', - 'GL_MAP1_COLOR_4','GL_LUMINANCE_ALPHA','GL_LUMINANCE8_ALPHA8','GL_LUMINANCE8','GL_LUMINANCE6_ALPHA2','GL_LUMINANCE4_ALPHA4', - 'GL_LUMINANCE4','GL_LUMINANCE16_ALPHA16','GL_LUMINANCE16','GL_LUMINANCE12_ALPHA4','GL_LUMINANCE12_ALPHA12','GL_LUMINANCE12', - 'GL_LUMINANCE','GL_LOGIC_OP_MODE','GL_LOGIC_OP','GL_LOAD','GL_LIST_MODE','GL_LIST_INDEX','GL_LIST_BIT', - 'GL_LIST_BASE','GL_LINE_WIDTH_RANGE','GL_LINE_WIDTH_GRANULARITY','GL_LINE_WIDTH','GL_LINE_TOKEN','GL_LINE_STRIP','GL_LINE_STIPPLE_REPEAT', - 'GL_LINE_STIPPLE_PATTERN','GL_LINE_STIPPLE','GL_LINE_SMOOTH_HINT','GL_LINE_SMOOTH','GL_LINE_RESET_TOKEN','GL_LINE_LOOP', - 'GL_LINE_BIT','GL_LINES','GL_LINEAR_MIPMAP_NEAREST','GL_LINEAR_MIPMAP_LINEAR','GL_LINEAR_ATTENUATION','GL_LINEAR', - 'GL_LINE','GL_LIGHT_MODEL_TWO_SIDE','GL_LIGHT_MODEL_LOCAL_VIEWER','GL_LIGHT_MODEL_AMBIENT','GL_LIGHTING_BIT', - 'GL_LIGHTING','GL_LIGHT7','GL_LIGHT6','GL_LIGHT5','GL_LIGHT4','GL_LIGHT3','GL_LIGHT2','GL_LIGHT1','GL_LIGHT0', - 'GL_LESS','GL_LEQUAL','GL_LEFT','GL_KEEP','GL_INVERT','GL_INVALID_VALUE','GL_INVALID_OPERATION','GL_INVALID_ENUM','GL_INTERPOLATE_EXT', - 'GL_INTERPOLATE','GL_INTENSITY8','GL_INTENSITY4','GL_INTENSITY16','GL_INTENSITY12','GL_INTENSITY','GL_INT', - 'GL_INDEX_WRITEMASK','GL_INDEX_SHIFT','GL_INDEX_OFFSET','GL_INDEX_MODE','GL_INDEX_LOGIC_OP','GL_INDEX_CLEAR_VALUE','GL_INDEX_BITS', - 'GL_INDEX_ARRAY_TYPE_EXT','GL_INDEX_ARRAY_TYPE','GL_INDEX_ARRAY_STRIDE_EXT','GL_INDEX_ARRAY_STRIDE','GL_INDEX_ARRAY_POINTER_EXT', - 'GL_INDEX_ARRAY_POINTER','GL_INDEX_ARRAY_EXT','GL_INDEX_ARRAY_COUNT_EXT','GL_INDEX_ARRAY','GL_INCR','GL_HINT_BIT', - 'GL_GREEN_SCALE','GL_GREEN_BITS','GL_GREEN_BIAS','GL_GREEN','GL_GREATER','GL_GEQUAL','GL_FRONT_RIGHT','GL_FRONT_LEFT', - 'GL_FRONT_FACE','GL_FRONT_AND_BACK','GL_FRONT','GL_FOG_START','GL_FOG_SPECULAR_TEXTURE_WIN','GL_FOG_MODE','GL_FOG_INDEX', - 'GL_FOG_HINT','GL_FOG_END','GL_FOG_DENSITY','GL_FOG_COLOR','GL_FOG_BIT','GL_FOG','GL_FLOAT','GL_FLAT','GL_FILL', - 'GL_FEEDBACK_BUFFER_TYPE','GL_FEEDBACK_BUFFER_SIZE','GL_FEEDBACK_BUFFER_POINTER','GL_FEEDBACK','GL_FASTEST','GL_FALSE', - 'GL_EYE_PLANE','GL_EYE_LINEAR','GL_EXT_vertex_array','GL_EXT_paletted_texture','GL_EXT_bgra','GL_EXTENSIONS','GL_EXP2', - 'GL_EXP','GL_EVAL_BIT','GL_EQUIV','GL_EQUAL','GL_ENABLE_BIT','GL_EMISSION','GL_EDGE_FLAG_ARRAY_STRIDE_EXT','GL_EDGE_FLAG_ARRAY_STRIDE', - 'GL_EDGE_FLAG_ARRAY_POINTER_EXT','GL_EDGE_FLAG_ARRAY_POINTER','GL_EDGE_FLAG_ARRAY_EXT','GL_EDGE_FLAG_ARRAY_COUNT_EXT','GL_EDGE_FLAG_ARRAY', - 'GL_EDGE_FLAG','GL_DST_COLOR','GL_DST_ALPHA','GL_DRAW_PIXEL_TOKEN','GL_DRAW_BUFFER','GL_DOUBLE_EXT','GL_DOUBLEBUFFER', - 'GL_DOUBLE','GL_DONT_CARE','GL_DOMAIN','GL_DITHER','GL_DIFFUSE','GL_DEPTH_WRITEMASK','GL_DEPTH_TEST','GL_DEPTH_SCALE', - 'GL_DEPTH_RANGE','GL_DEPTH_FUNC','GL_DEPTH_COMPONENT','GL_DEPTH_CLEAR_VALUE','GL_DEPTH_BUFFER_BIT','GL_DEPTH_BITS', - 'GL_DEPTH_BIAS','GL_DEPTH','GL_DECR','GL_DECAL','GL_CW','GL_CURRENT_TEXTURE_COORDS','GL_CURRENT_RASTER_TEXTURE_COORDS','GL_CURRENT_RASTER_POSITION_VALID', - 'GL_CURRENT_RASTER_POSITION','GL_CURRENT_RASTER_INDEX','GL_CURRENT_RASTER_DISTANCE','GL_CURRENT_RASTER_COLOR','GL_CURRENT_NORMAL', - 'GL_CURRENT_INDEX','GL_CURRENT_COLOR','GL_CURRENT_BIT','GL_CULL_FACE_MODE','GL_CULL_FACE','GL_COPY_PIXEL_TOKEN', - 'GL_COPY_INVERTED','GL_COPY','GL_CONSTANT_EXT','GL_CONSTANT_ATTENUATION','GL_CONSTANT','GL_COMPILE_AND_EXECUTE','GL_COMPILE','GL_COMBINE_RGB_EXT', - 'GL_COMBINE_RGB','GL_COMBINE_EXT','GL_COMBINE_ALPHA_EXT','GL_COMBINE_ALPHA','GL_COMBINE','GL_COLOR_WRITEMASK', - 'GL_COLOR_TABLE_WIDTH_EXT','GL_COLOR_TABLE_RED_SIZE_EXT','GL_COLOR_TABLE_LUMINANCE_SIZE_EXT','GL_COLOR_TABLE_INTENSITY_SIZE_EXT', - 'GL_COLOR_TABLE_GREEN_SIZE_EXT','GL_COLOR_TABLE_FORMAT_EXT','GL_COLOR_TABLE_BLUE_SIZE_EXT','GL_COLOR_TABLE_ALPHA_SIZE_EXT', - 'GL_COLOR_MATERIAL_PARAMETER','GL_COLOR_MATERIAL_FACE','GL_COLOR_MATERIAL','GL_COLOR_LOGIC_OP','GL_COLOR_INDEXES', - 'GL_COLOR_INDEX8_EXT','GL_COLOR_INDEX4_EXT','GL_COLOR_INDEX2_EXT','GL_COLOR_INDEX1_EXT','GL_COLOR_INDEX16_EXT', - 'GL_COLOR_INDEX12_EXT','GL_COLOR_INDEX','GL_COLOR_CLEAR_VALUE','GL_COLOR_BUFFER_BIT','GL_COLOR_ARRAY_TYPE_EXT', - 'GL_COLOR_ARRAY_TYPE','GL_COLOR_ARRAY_STRIDE_EXT','GL_COLOR_ARRAY_STRIDE','GL_COLOR_ARRAY_SIZE_EXT','GL_COLOR_ARRAY_SIZE', - 'GL_COLOR_ARRAY_POINTER_EXT','GL_COLOR_ARRAY_POINTER','GL_COLOR_ARRAY_EXT','GL_COLOR_ARRAY_COUNT_EXT','GL_COLOR_ARRAY', - 'GL_COLOR','GL_COEFF','GL_CLIP_PLANE5','GL_CLIP_PLANE4','GL_CLIP_PLANE3','GL_CLIP_PLANE2','GL_CLIP_PLANE1','GL_CLIP_PLANE0', - 'GL_CLIENT_VERTEX_ARRAY_BIT','GL_CLIENT_PIXEL_STORE_BIT','GL_CLIENT_ATTRIB_STACK_DEPTH','GL_CLIENT_ALL_ATTRIB_BITS', - 'GL_CLIENT_ACTIVE_TEXTURE_ARB','GL_CLIENT_ACTIVE_TEXTURE','GL_CLEAR','GL_CLAMP','GL_CCW','GL_C4UB_V3F','GL_C4UB_V2F', - 'GL_C4F_N3F_V3F','GL_C3F_V3F','GL_BYTE','GL_BLUE_SCALE','GL_BLUE_BITS','GL_BLUE_BIAS','GL_BLUE','GL_BLEND_SRC','GL_BLEND_DST', - 'GL_BLEND','GL_BITMAP_TOKEN','GL_BITMAP','GL_BGR_EXT','GL_BGRA_EXT','GL_BACK_RIGHT','GL_BACK_LEFT','GL_BACK', - 'GL_AUX_BUFFERS','GL_AUX3','GL_AUX2','GL_AUX1','GL_AUX0','GL_AUTO_NORMAL','GL_ATTRIB_STACK_DEPTH','GL_AND_REVERSE', - 'GL_AND_INVERTED','GL_AND','GL_AMBIENT_AND_DIFFUSE','GL_AMBIENT','GL_ALWAYS','GL_ALPHA_TEST_REF','GL_ALPHA_TEST_FUNC', - 'GL_ALPHA_TEST','GL_ALPHA_SCALE','GL_ALPHA_BITS','GL_ALPHA_BIAS','GL_ALPHA8','GL_ALPHA4','GL_ALPHA16','GL_ALPHA12', - 'GL_ALPHA','GL_ALL_ATTRIB_BITS','GL_ADD_SIGNED_EXT','GL_ADD_SIGNED','GL_ADD','GL_ACTIVE_TEXTURE_ARB','GL_ACTIVE_TEXTURE', - 'GL_ACCUM_RED_BITS','GL_ACCUM_GREEN_BITS','GL_ACCUM_CLEAR_VALUE','GL_ACCUM_BUFFER_BIT','GL_ACCUM_BLUE_BITS','GL_ACCUM_ALPHA_BITS', - 'GL_ACCUM','GL_4_BYTES','GL_4D_COLOR_TEXTURE','GL_3_BYTES','GL_3D_COLOR_TEXTURE','GL_3D_COLOR','GL_3D','GL_2_BYTES', - 'GL_2D','GLU_V_STEP','GLU_VERTEX','GLU_VERSION_1_2','GLU_VERSION_1_1','GLU_VERSION','GLU_U_STEP','GLU_UNKNOWN','GLU_TRUE', - 'GLU_TESS_WINDING_RULE','GLU_TESS_WINDING_POSITIVE','GLU_TESS_WINDING_ODD','GLU_TESS_WINDING_NONZERO','GLU_TESS_WINDING_NEGATIVE', - 'GLU_TESS_WINDING_ABS_GEQ_TWO','GLU_TESS_VERTEX_DATA','GLU_TESS_VERTEX','GLU_TESS_TOLERANCE','GLU_TESS_NEED_COMBINE_CALLBACK','GLU_TESS_MISSING_END_POLYGON', - 'GLU_TESS_MISSING_END_CONTOUR','GLU_TESS_MISSING_BEGIN_POLYGON','GLU_TESS_MISSING_BEGIN_CONTOUR','GLU_TESS_ERROR_DATA', - 'GLU_TESS_ERROR8','GLU_TESS_ERROR7','GLU_TESS_ERROR6','GLU_TESS_ERROR5','GLU_TESS_ERROR4','GLU_TESS_ERROR3','GLU_TESS_ERROR2', - 'GLU_TESS_ERROR1','GLU_TESS_ERROR','GLU_TESS_END_DATA','GLU_TESS_END','GLU_TESS_EDGE_FLAG_DATA','GLU_TESS_EDGE_FLAG', - 'GLU_TESS_COORD_TOO_LARGE','GLU_TESS_COMBINE_DATA','GLU_TESS_COMBINE','GLU_TESS_BOUNDARY_ONLY','GLU_TESS_BEGIN_DATA', - 'GLU_TESS_BEGIN','GLU_SMOOTH','GLU_SILHOUETTE','GLU_SAMPLING_TOLERANCE','GLU_SAMPLING_METHOD','GLU_POINT','GLU_PATH_LENGTH', - 'GLU_PARAMETRIC_TOLERANCE','GLU_PARAMETRIC_ERROR','GLU_OUT_OF_MEMORY','GLU_OUTSIDE','GLU_OUTLINE_POLYGON','GLU_OUTLINE_PATCH', - 'GLU_NURBS_ERROR9','GLU_NURBS_ERROR8','GLU_NURBS_ERROR7','GLU_NURBS_ERROR6','GLU_NURBS_ERROR5','GLU_NURBS_ERROR4', - 'GLU_NURBS_ERROR37','GLU_NURBS_ERROR36','GLU_NURBS_ERROR35','GLU_NURBS_ERROR34','GLU_NURBS_ERROR33','GLU_NURBS_ERROR32', - 'GLU_NURBS_ERROR31','GLU_NURBS_ERROR30','GLU_NURBS_ERROR3','GLU_NURBS_ERROR29','GLU_NURBS_ERROR28','GLU_NURBS_ERROR27','GLU_NURBS_ERROR26', - 'GLU_NURBS_ERROR25','GLU_NURBS_ERROR24','GLU_NURBS_ERROR23','GLU_NURBS_ERROR22','GLU_NURBS_ERROR21','GLU_NURBS_ERROR20', - 'GLU_NURBS_ERROR2','GLU_NURBS_ERROR19','GLU_NURBS_ERROR18','GLU_NURBS_ERROR17','GLU_NURBS_ERROR16','GLU_NURBS_ERROR15','GLU_NURBS_ERROR14', - 'GLU_NURBS_ERROR13','GLU_NURBS_ERROR12','GLU_NURBS_ERROR11','GLU_NURBS_ERROR10','GLU_NURBS_ERROR1','GLU_NONE', - 'GLU_MAP1_TRIM_3','GLU_MAP1_TRIM_2','GLU_LINE','GLU_INVALID_VALUE','GLU_INVALID_ENUM','GLU_INTERIOR','GLU_INSIDE','GLU_INCOMPATIBLE_GL_VERSION', - 'GLU_FLAT','GLU_FILL','GLU_FALSE','GLU_EXTERIOR','GLU_EXTENSIONS','GLU_ERROR','GLU_END','GLU_EDGE_FLAG','GLU_DOMAIN_DISTANCE', - 'GLU_DISPLAY_MODE','GLU_CW','GLU_CULLING','GLU_CCW','GLU_BEGIN','GLU_AUTO_LOAD_MATRIX','CHANNEL_UNORDERED','CHANNEL_ORDERED', - 'CHANNEL_MAX' - ), - 2 => array( - - // Red Lowercase Keywords - - 'WriteWord','WriteString','WriteReal','WriteLine','WriteInt','WriteFloat','WriteDouble','WriteChar','WriteByte', - 'windowwidth','windowheight','waittimer','Vec4','Vec3','Vec2','val','UpdateJoystick','ucase$','Transpose','tickcount', - 'textscroll','textrows','textmode','textcols','tanh','tand','tan','synctimercatchup','synctimer','swapbuffers', - 'str$','stopsoundvoice','stopsounds','stopmusic','sqrt','sqr','sprzorder','spryvel','sprytiles','sprysize','spryrepeat', - 'spryflip','sprycentre','spry','sprxvel','sprxtiles','sprxsize','sprxrepeat','sprxflip','sprxcentre','sprx', - 'sprvisible','sprvel','sprtype','sprtop','sprspin','sprsolid','sprsetzorder','sprsetyvel','sprsetysize','sprsetyrepeat', - 'sprsetyflip','sprsetycentre','sprsety','sprsetxvel','sprsetxsize','sprsetxrepeat','sprsetxflip','sprsetxcentre', - 'sprsetx','sprsetvisible','sprsetvel','sprsettiles','sprsettextures','sprsettexture','sprsetspin','sprsetsolid', - 'sprsetsize','sprsetscale','sprsetpos','sprsetparallax','sprsetframe','sprsetcolor','sprsetanimspeed','sprsetanimloop', - 'sprsetangle','sprsetalpha','sprscale','sprright','sprpos','sprparallax','sprleft','spriteareawidth','spriteareaheight', - 'sprframe','sprcolor','sprcameraz','sprcameray','sprcamerax','sprcamerasetz','sprcamerasety','sprcamerasetx', - 'sprcamerasetpos','sprcamerasetfov','sprcamerasetangle','sprcamerapos','sprcamerafov','sprcameraangle', - 'sprbottom','spranimspeed','spranimloop','spranimdone','sprangle','spralpha','spraddtextures','spraddtexture', - 'sounderror','sleep','sind','sin','showcursor','sgn','settextscroll','setmusicvolume','SendMessage','Seek', - 'scankeydown','RTInvert','rnd','right$','resizetext','resizespritearea','RejectConnection','ReceiveMessage','ReadWord', - 'ReadText','ReadReal','ReadLine','ReadInt','ReadFloat','ReadDouble','ReadChar','ReadByte','randomize','printr', - 'print','pow','playsound','playmusic','performancecounter','Orthonormalize','OpenFileWrite','OpenFileRead','Normalize', - 'newtilemap','newsprite','NewServer','NewConnection','musicplaying','mouse_yd','mouse_y','mouse_xd','mouse_x', - 'mouse_wheel','mouse_button','mid$','MessageSmoothed','MessageReliable','MessagePending','MessageChannel','maxtextureunits', - 'MatrixZero','MatrixTranslate','MatrixScale','MatrixRotateZ','MatrixRotateY','MatrixRotateX','MatrixRotate','MatrixIdentity', - 'MatrixCrossProduct','MatrixBasis','log','locate','loadtexture','loadsound','loadmipmaptexture','loadmipmapimagestrip', - 'loadimagestrip','loadimage','Length','len','left$','lcase$','keydown','Joy_Y','Joy_X','Joy_Up','Joy_Right','Joy_Left', - 'Joy_Keys','Joy_Down','Joy_Button','Joy_3','Joy_2','Joy_1','Joy_0','int','inscankey','input$','inkey$','inittimer', - 'imagewidth','imagestripframes','imageheight','imageformat','imagedatatype','hidecursor','glViewport','glVertex4sv', - 'glVertex4s','glVertex4iv','glVertex4i','glVertex4fv','glVertex4f','glVertex4dv','glVertex4d','glVertex3sv','glVertex3s', - 'glVertex3iv','glVertex3i','glVertex3fv','glVertex3f','glVertex3dv','glVertex3d','glVertex2sv','glVertex2s','glVertex2iv', - 'glVertex2i','glVertex2fv','glVertex2f','glVertex2dv','glVertex2d','gluPerspective','gluOrtho2D','gluLookAt', - 'glubuild2dmipmaps','glTranslatef','glTranslated','gltexsubimage2d','glTexParameteriv','glTexParameteri', - 'glTexParameterfv','glTexParameterf','glteximage2d','glTexGeniv','glTexGeni','glTexGenfv','glTexGenf','glTexGendv', - 'glTexGend','glTexEnviv','glTexEnvi','glTexEnvfv','glTexEnvf','glTexCoord4sv','glTexCoord4s','glTexCoord4iv','glTexCoord4i', - 'glTexCoord4fv','glTexCoord4f','glTexCoord4dv','glTexCoord4d','glTexCoord3sv','glTexCoord3s','glTexCoord3iv','glTexCoord3i', - 'glTexCoord3fv','glTexCoord3f','glTexCoord3dv','glTexCoord3d','glTexCoord2sv','glTexCoord2s','glTexCoord2iv','glTexCoord2i', - 'glTexCoord2fv','glTexCoord2f','glTexCoord2dv','glTexCoord2d','glTexCoord1sv','glTexCoord1s','glTexCoord1iv','glTexCoord1i','glTexCoord1fv', - 'glTexCoord1f','glTexCoord1dv','glTexCoord1d','glStencilOp','glStencilMask','glStencilFunc','glShadeModel','glSelectBuffer', - 'glScissor','glScalef','glScaled','glRotatef','glRotated','glRenderMode','glRectsv','glRects','glRectiv','glRecti', - 'glRectfv','glRectf','glRectdv','glRectd','glReadBuffer','glRasterPos4sv','glRasterPos4s','glRasterPos4iv', - 'glRasterPos4i','glRasterPos4fv','glRasterPos4f','glRasterPos4dv','glRasterPos4d','glRasterPos3sv','glRasterPos3s', - 'glRasterPos3iv','glRasterPos3i','glRasterPos3fv','glRasterPos3f','glRasterPos3dv','glRasterPos3d','glRasterPos2sv', - 'glRasterPos2s','glRasterPos2iv','glRasterPos2i','glRasterPos2fv','glRasterPos2f','glRasterPos2dv','glRasterPos2d', - 'glPushName','glPushMatrix','glPushClientAttrib','glPushAttrib','glPrioritizeTextures','glPopName','glPopMatrix', - 'glPopClientAttrib','glPopAttrib','glpolygonstipple','glPolygonOffset','glPolygonMode','glPointSize','glPixelZoom', - 'glPixelTransferi','glPixelTransferf','glPixelStorei','glPixelStoref','glPassThrough','glOrtho','glNormal3sv','glNormal3s', - 'glNormal3iv','glNormal3i','glNormal3fv','glNormal3f','glNormal3dv','glNormal3d','glNormal3bv','glNormal3b','glNewList', - 'glMultMatrixf','glMultMatrixd','glmultitexcoord2f','glmultitexcoord2d','glMatrixMode','glMaterialiv','glMateriali', - 'glMaterialfv','glMaterialf','glMapGrid2f','glMapGrid2d','glMapGrid1f','glMapGrid1d','glLogicOp','glLoadName','glLoadMatrixf', - 'glLoadMatrixd','glLoadIdentity','glListBase','glLineWidth','glLineStipple','glLightModeliv','glLightModeli','glLightModelfv', - 'glLightModelf','glLightiv','glLighti','glLightfv','glLightf','glIsTexture','glIsList','glIsEnabled','glInitNames', - 'glIndexubv','glIndexub','glIndexsv','glIndexs','glIndexMask','glIndexiv','glIndexi','glIndexfv','glIndexf','glIndexdv', - 'glIndexd','glHint','glGetTexParameteriv','glGetTexParameterfv','glGetTexLevelParameteriv','glGetTexLevelParameterfv', - 'glGetTexGeniv','glGetTexGenfv','glGetTexGendv','glGetTexEnviv','glGetTexEnvfv','glgetstring','glgetpolygonstipple','glGetPixelMapuiv', - 'glGetMaterialiv','glGetMaterialfv','glGetLightiv','glGetLightfv','glGetIntegerv','glGetFloatv', - 'glGetError','glGetDoublev','glGetClipPlane','glGetBooleanv','glgentextures','glgentexture', - 'glgenlists','glFrustum','glFrontFace','glFogiv','glFogi','glFogfv','glFogf','glFlush','glFinish','glFeedbackBuffer', - 'glEvalPoint2','glEvalPoint1','glEvalMesh2','glEvalMesh1','glEvalCoord2fv','glEvalCoord2f','glEvalCoord2dv','glEvalCoord2d', - 'glEvalCoord1fv','glEvalCoord1f','glEvalCoord1dv','glEvalCoord1d','glEndList','glEnd','glEnableClientState','glEnable', - 'glEdgeFlagv','glEdgeFlag','glDrawBuffer','glDrawArrays','glDisableClientState','glDisable','glDepthRange','glDepthMask', - 'glDepthFunc','gldeletetextures','gldeletetexture','gldeletelists','glCullFace','glCopyTexSubImage2D','glCopyTexSubImage1D', - 'glCopyTexImage2D','glCopyTexImage1D','glColorMaterial','glColorMask','glColor4usv','glColor4us','glColor4uiv','glColor4ui', - 'glColor4ubv','glColor4ub','glColor4sv','glColor4s','glColor4iv','glColor4i','glColor4fv','glColor4f','glColor4dv', - 'glColor4d','glColor4bv','glColor4b','glColor3usv','glColor3us','glColor3uiv','glColor3ui','glColor3ubv','glColor3ub', - 'glColor3sv','glColor3s','glColor3iv','glColor3i','glColor3fv','glColor3f','glColor3dv','glColor3d','glColor3bv', - 'glColor3b','glClipPlane','glClearStencil','glClearIndex','glClearDepth','glClearColor','glClearAccum','glClear', - 'glcalllists','glCallList','glBlendFunc','glBindTexture','glBegin','glArrayElement','glAreTexturesResident', - 'glAlphaFunc','glactivetexture','glAccum','font','FindNextFile','FindFirstFile','FindClose','FileError', - 'extensionsupported','exp','execute','EndOfFile','drawtext','divbyzero','Determinant','deletesprite','deletesound', - 'DeleteServer','deleteimage','DeleteConnection','defaultfont','CrossProduct','cosd','cos','copysprite','ConnectionPending', - 'ConnectionHandShaking','ConnectionConnected','ConnectionAddress','compilererrorline','compilererrorcol','compilererror', - 'compilefile','compile','color','cls','CloseFile','clearregion','clearline','clearkeys','chr$','charat$','bindsprite', - 'beep','atnd','atn2d','atn2','atn','atand','asc','argcount','arg','animatesprites','AcceptConnection','abs' - ), - 3 => array( - - // Blue Lowercase Keywords - - 'xor','while','wend','until','type','traditional_print','traditional','to','then','struc','string','step','single', - 'run','return','reset','read','or','null','not','next','lor','loop','language','land','integer','input','if', - 'goto','gosub','for','endstruc','endif','end','elseif','else','double','do','dim','data','const','basic4gl','as', - 'and','alloc' - ) - - ), - 'SYMBOLS' => array( - '=', '<', '>', '>=', '<=', '+', '-', '*', '/', '%', '(', ')', '{', '}', '[', ']', '&', ';', ':', '$' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #000080; font-weight: bold;', - 2 => 'color: #FF0000;', - 3 => 'color: #0000FF;' - ), - 'COMMENTS' => array( - 1 => 'color: #657CC4; font-style: italic;' - ), - 'BRACKETS' => array( - 0 => 'color: #000080;' - ), - 'STRINGS' => array( - 0 => 'color: #008000;' - ), - 'NUMBERS' => array( - 0 => 'color: #000080; font-weight: bold;' - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 0 => 'color: #0000FF;' - ), - 'ESCAPE_CHAR' => array( - ), - 'SCRIPT' => array( - ), - 'REGEXPS' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '' - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 4 -); diff --git a/vendor/easybook/geshi/geshi/batch.php b/vendor/easybook/geshi/geshi/batch.php deleted file mode 100644 index 7d1ca63..0000000 --- a/vendor/easybook/geshi/geshi/batch.php +++ /dev/null @@ -1,138 +0,0 @@ - 'Windows Batch file', - 'COMMENT_SINGLE' => array(), - 'COMMENT_MULTI' => array(), - 'COMMENT_REGEXP' => array( - 100 => '/(?:^|[&|])\\s*(?:rem|::)[^\\n]*/msi', - 101 => '/[\\/-]\\S*/si', - 102 => '/^\s*:[^:]\\S*/msi', - 103 => '/(?:([%!])[^"\'~ ][^"\' ]*\\1|%%?(?:~[dpnxsatz]*)?[^"\'])/si' - ), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - 'ESCAPE_REGEXP' => array( - 100 => '/(?:([%!])\\S+\\1|%%(?:~[dpnxsatz]*)?[^"\'])/si' - ), - 'KEYWORDS' => array( - 1 => array( - 'echo', 'set', 'for', 'if', 'exit', 'else', 'do', 'not', 'defined', 'exist' - ), - 2 => array( - "ASSOC", "ATTRIB", "BREAK", "BCDEDIT", "CACLS", "CD", - "CHCP", "CHDIR", "CHKDSK", "CHKNTFS", "CLS", "CMD", "COLOR", - "COMP", "COMPACT", "CONVERT", "COPY", "DATE", "DEL", "DIR", - "DISKCOMP", "DISKCOPY", "DISKPART", "DOSKEY", "DRIVERQUERY", "ECHO", "ENDLOCAL", - "ERASE", "EXIT", "FC", "FIND", "FINDSTR", "FOR", "FORMAT", - "FSUTIL", "FTYPE", "GPRESULT", "GRAFTABL", "HELP", "ICACLS", - "IF", "LABEL", "MD", "MKDIR", "MKLINK", "MODE", "MORE", - "MOVE", "OPENFILES", "PATH", "PAUSE", "POPD", "PRINT", "PROMPT", - "PUSHD", "RD", "RECOVER", "REN", "RENAME", "REPLACE", "RMDIR", - "ROBOCOPY", "SET", "SETLOCAL", "SC", "SCHTASKS", "SHIFT", "SHUTDOWN", - "SORT", "START", "SUBST", "SYSTEMINFO", "TASKLIST", "TASKKILL", "TIME", - "TITLE", "TREE", "TYPE", "VER", "VERIFY", "VOL", "XCOPY", - "WMIC", "CSCRIPT" - ), - 3 => array( - "enabledelayedexpansion", "enableextensions" - ) - ), - 'SYMBOLS' => array( - '(', ')', '+', '-', '~', '^', '@', '&', '*', '|', '/', '<', '>' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - 5 => false - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #800080; font-weight: bold;', - 2 => 'color: #0080FF; font-weight: bold;', - 3 => 'color: #0000FF; font-weight: bold;' - ), - 'COMMENTS' => array( - 1 => 'color: #888888;', - 2 => 'color: #FF1010; font-weight: bold;', - 101 => 'color: #44aa44; font-weight: bold;', - 100 => 'color: #888888;', - 102 => 'color: #990000; font-weight: bold;', - 103 => 'color: #000099; font-weight: bold;', - 'MULTI' => 'color: #808080; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 100 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #66cc66; font-weight: bold;' - ), - 'STRINGS' => array( - 0 => 'color: #ff0000;', - ), - 'NUMBERS' => array( - 0 => 'color: #cc66cc;' - ), - 'METHODS' => array( - 0 => 'color: #006600;' - ), - 'SYMBOLS' => array( - 0 => 'color: #44aa44; font-weight: bold;' - ), - 'REGEXPS' => array( - 0 => 'color: #990000; font-weight: bold', - 1 => 'color: #800080; font-weight: bold;' - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array(), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array(), - 'REGEXPS' => array( - 0 => array( - GESHI_SEARCH => "((?:goto|call)\\s*)(\\S+)", - GESHI_REPLACE => "\\2", - GESHI_BEFORE => "\\1", - GESHI_MODIFIERS => "si", - GESHI_AFTER => "" - ) , - 1 => "goto|call" - ), - 'STRICT_MODE_APPLIES' => GESHI_MAYBE, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ) -); diff --git a/vendor/easybook/geshi/geshi/bf.php b/vendor/easybook/geshi/geshi/bf.php deleted file mode 100644 index be95bc7..0000000 --- a/vendor/easybook/geshi/geshi/bf.php +++ /dev/null @@ -1,114 +0,0 @@ - 'Brainfuck', - 'COMMENT_SINGLE' => array(), - 'COMMENT_MULTI' => array(), - 'COMMENT_REGEXP' => array(1 => '/[^\n+\-<>\[\]\.\,Y]+/s'), - 'CASE_KEYWORDS' => GESHI_CAPS_UPPER, - 'QUOTEMARKS' => array(), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - ), - 'SYMBOLS' => array( - 0 => array('+', '-'), - 1 => array('[', ']'), - 2 => array('<', '>'), - 3 => array('.', ','), - 4 => array('Y') //Brainfork Extension ;-) - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - ), - 'COMMENTS' => array( - 1 => 'color: #666666; font-style: italic;' - ), - 'BRACKETS' => array( - 0 => 'color: #660000;' - ), - 'STRINGS' => array( - 0 => 'color: #ff0000;' - ), - 'NUMBERS' => array( - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 0 => 'color: #006600;', - 1 => 'color: #660000;', - 2 => 'color: #000066;', - 3 => 'color: #666600;', - 4 => 'color: #660066;' - ), - 'ESCAPE_CHAR' => array( - ), - 'SCRIPT' => array( - ), - 'REGEXPS' => array( - ) - ), - 'URLS' => array( - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 4, - 'PARSER_CONTROL' => array( - 'ENABLE_FLAGS' => array( - 'STRINGS' => GESHI_NEVER, - 'NUMBERS' => GESHI_NEVER, - 'BRACKETS' => GESHI_NEVER - ), - 'KEYWORDS' => array( - 'DISALLOW_BEFORE' => '', - 'DISALLOW_AFTER' => '' - ) - ) -); - diff --git a/vendor/easybook/geshi/geshi/bibtex.php b/vendor/easybook/geshi/geshi/bibtex.php deleted file mode 100644 index 862c637..0000000 --- a/vendor/easybook/geshi/geshi/bibtex.php +++ /dev/null @@ -1,182 +0,0 @@ - 'BibTeX', - 'OOLANG' => false, - 'COMMENT_SINGLE' => array( - 1 => '%%' - ), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array(), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - 0 => array( - '@comment','@preamble','@string' - ), - // Standard entry types - 1 => array( - '@article','@book','@booklet','@conference','@inbook', - '@incollection','@inproceedings','@manual','@mastersthesis', - '@misc','@phdthesis','@proceedings','@techreport','@unpublished' - ), - // Custom entry types - 2 => array( - '@collection','@patent','@webpage' - ), - // Standard entry field names - 3 => array( - 'address','annote','author','booktitle','chapter','crossref', - 'edition','editor','howpublished','institution','journal','key', - 'month','note','number','organization','pages','publisher','school', - 'series','title','type','volume','year' - ), - // Custom entry field names - 4 => array( - 'abstract','affiliation','chaptername','cited-by','cites', - 'contents','copyright','date-added','date-modified','doi','eprint', - 'isbn','issn','keywords','language','lccn','lib-congress', - 'location','price','rating','read','size','source','url' - ) - ), - 'URLS' => array( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '' - ), - 'SYMBOLS' => array( - '{', '}', '#', '=', ',' - ), - 'CASE_SENSITIVE' => array( - 1 => false, - 2 => false, - 3 => false, - 4 => false, - GESHI_COMMENTS => false, - ), - // Define the colors for the groups listed above - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #C02020;', // Standard entry types - 2 => 'color: #C02020;', // Custom entry types - 3 => 'color: #C08020;', // Standard entry field names - 4 => 'color: #C08020;' // Custom entry field names - ), - 'COMMENTS' => array( - 1 => 'color: #2C922C; font-style: italic;' - ), - 'STRINGS' => array( - 0 => 'color: #2020C0;' - ), - 'SYMBOLS' => array( - 0 => 'color: #E02020;' - ), - 'REGEXPS' => array( - 1 => 'color: #2020C0;', // {...} - 2 => 'color: #C08020;', // BibDesk fields - 3 => 'color: #800000;' // LaTeX commands - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000000; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #E02020;' - ), - 'NUMBERS' => array( - ), - 'METHODS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'REGEXPS' => array( - // {parameters} - 1 => array( - GESHI_SEARCH => "(?<=\\{)(?:\\{(?R)\\}|[^\\{\\}])*(?=\\})", - GESHI_REPLACE => '\0', - GESHI_MODIFIERS => 's', - GESHI_BEFORE => '', - GESHI_AFTER => '' - ), - 2 => array( - GESHI_SEARCH => "\bBdsk-(File|Url)-\d+", - GESHI_REPLACE => '\0', - GESHI_MODIFIERS => 'Us', - GESHI_BEFORE => '', - GESHI_AFTER => '' - ), - 3 => array( - GESHI_SEARCH => "\\\\[A-Za-z0-9]*+", - GESHI_REPLACE => '\0', - GESHI_MODIFIERS => 'Us', - GESHI_BEFORE => '', - GESHI_AFTER => '' - ), - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'OBJECT_SPLITTERS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'PARSER_CONTROL' => array( - 'ENABLE_FLAGS' => array( - 'NUMBERS' => GESHI_NEVER - ), - 'KEYWORDS' => array( - 3 => array( - 'DISALLOWED_AFTER' => '(?=\s*=)' - ), - 4 => array( - 'DISALLOWED_AFTER' => '(?=\s*=)' - ), - ) - ) -); - diff --git a/vendor/easybook/geshi/geshi/blitzbasic.php b/vendor/easybook/geshi/geshi/blitzbasic.php deleted file mode 100644 index c90f45b..0000000 --- a/vendor/easybook/geshi/geshi/blitzbasic.php +++ /dev/null @@ -1,183 +0,0 @@ - 'BlitzBasic', - 'COMMENT_SINGLE' => array(1 => ';'), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array( - 1 => array( - 'If','EndIf','ElseIf','Else','While','Wend','Return','Next','Include','End Type','End Select','End If','End Function','End','Select', - 'Type','Forever','For','Or','And','AppTitle','Case','Goto','Gosub','Step','Stop','Int','Last','False','Then','To','True','Until','Float', - 'String','Before','Not' - ), - 2 => array( - // All Functions - 2D BB and 3D BB - 'Xor','WriteString','WriteShort','WritePixelFast','WritePixel','WriteLine','WriteInt','WriteFloat','WriteFile','WriteBytes', - 'WriteByte','Write','WaitTimer','WaitMouse','WaitKey','WaitJoy','VWait','Viewport', - 'Upper','UpdateGamma','UnlockBuffer','UDPTimeouts','UDPStreamPort','UDPStreamIP','UDPMsgPort','UDPMsgIP', - 'Trim','TotalVidMem','TileImage','TileBlock','TFormImage','TFormFilter','Text', - 'TCPTimeouts','TCPStreamPort','TCPStreamIP','Tan','SystemProperty','StringWidth','StringHeight','Str','StopNetGame', - 'StopChannel','StartNetGame','Sqr','SoundVolume','SoundPitch','SoundPan','Sin','Shr', - 'ShowPointer','Shl','Sgn','SetGfxDriver','SetGamma','SetFont','SetEnv','SetBuffer','SendUDPMsg','SendNetMsg', - 'SeekFile','SeedRnd','ScanLine','ScaleImage','SaveImage','SaveBuffer','Sar','RuntimeError','RSet', - 'RotateImage','RndSeed','Rnd','Right','ResumeChannel','Restore','ResizeImage','ResizeBank','Replace', - 'Repeat','RecvUDPMsg','RecvNetMsg','RectsOverlap','Rect','ReadString','ReadShort','ReadPixelFast','ReadPixel','ReadLine', - 'ReadInt','ReadFloat','ReadFile','ReadDir','ReadBytes','ReadByte','ReadAvail','Read','Rand','Print', - 'PokeShort','PokeInt','PokeFloat','PokeByte','Plot','PlaySound','PlayMusic','PlayCDTrack','Pi','PeekShort', - 'PeekInt','PeekFloat','PeekByte','PauseChannel','Oval','Origin','OpenTCPStream','OpenMovie','OpenFile', - 'Null','NextFile','New','NetPlayerName','NetPlayerLocal','NetMsgType','NetMsgTo','NetMsgFrom', - 'NetMsgData','MovieWidth','MoviePlaying','MovieHeight','MoveMouse','MouseZSpeed','MouseZ','MouseYSpeed','MouseY','MouseXSpeed', - 'MouseX','MouseHit','MouseDown','Mod','Millisecs','MidHandle','Mid','MaskImage','LSet','Lower', - 'LoopSound','Log10','Log','LockBuffer','Locate','Local','LoadSound','LoadImage','LoadFont','LoadBuffer', - 'LoadAnimImage','Line','Len','Left','KeyHit','KeyDown','JoyZDir','JoyZ','JoyYDir', - 'JoyYaw','JoyY','JoyXDir','JoyX','JoyVDir','JoyV','JoyUDir','JoyU','JoyType','JoyRoll', - 'JoyPitch','JoyHit','JoyHat','JoyDown','JoinNetGame','Instr','Insert','Input', - 'ImageYHandle','ImageXHandle','ImageWidth','ImagesOverlap','ImagesCollide','ImageRectOverlap','ImageRectCollide','ImageHeight','ImageBuffer', - 'HostNetGame','HostIP','HidePointer','Hex','HandleImage','GraphicsWidth','GraphicsHeight','GraphicsDepth','GraphicsBuffer','Graphics', - 'GrabImage','Global','GFXModeWidth','GFXModeHeight','GfxModeExists','GFXModeDepth','GfxDriverName','GetMouse', - 'GetKey','GetJoy','GetEnv','GetColor','GammaRed','GammaGreen','GammaBlue','Function','FrontBuffer','FreeTimer', - 'FreeSound','FreeImage','FreeFont','FreeBank','FontWidth','FontHeight','FlushMouse','FlushKeys', - 'FlushJoy','Floor','Flip','First','FileType','FileSize','FilePos','Field', - 'Exp','Exit','ExecFile','Eof','EndGraphics','Each','DrawMovie','DrawImageRect','DrawImage','DrawBlockRect','DrawBlock', - 'DottedIP','Dim','DeleteNetPlayer','DeleteFile','DeleteDir','Delete','Delay','Default','DebugLog','Data', - 'CurrentTime','CurrentDir','CurrentDate','CreateUDPStream','CreateTimer','CreateTCPServer','CreateNetPlayer','CreateImage','CreateDir','CreateBank', - 'CountHostIPs','CountGFXModes','CountGfxDrivers','Cos','CopyStream','CopyRect','CopyPixelFast','CopyPixel','CopyImage','CopyFile', - 'CopyBank','Const','CommandLine','ColorRed','ColorGreen','ColorBlue','Color','ClsColor','Cls','CloseUDPStream', - 'CloseTCPStream','CloseTCPServer','CloseMovie','CloseFile','CloseDir','Chr','ChannelVolume','ChannelPlaying','ChannelPitch','ChannelPan', - 'ChangeDir','Ceil','CallDLL','Bin','BankSize','BackBuffer','AvailVidMem','AutoMidHandle', - 'ATan2','ATan','ASin','Asc','After','ACos','AcceptTCPStream','Abs', - // 3D Commands - 'Wireframe','Windowed3D','WBuffer','VertexZ','VertexY', - 'VertexX','VertexW','VertexV','VertexU','VertexTexCoords','VertexRed','VertexNZ','VertexNY','VertexNX','VertexNormal', - 'VertexGreen','VertexCoords','VertexColor','VertexBlue','VertexAlpha','VectorYaw','VectorPitch','UpdateWorld','UpdateNormals','TurnEntity', - 'TrisRendered','TriangleVertex','TranslateEntity','TFormVector','TFormPoint','TFormNormal','TFormedZ','TFormedY','TFormedX','TextureWidth', - 'TextureName','TextureHeight','TextureFilter','TextureCoords','TextureBuffer','TextureBlend','TerrainZ','TerrainY','TerrainX','TerrainSize', - 'TerrainShading','TerrainHeight','TerrainDetail','SpriteViewMode','ShowEntity','SetCubeFace','SetAnimTime','SetAnimKey','ScaleTexture','ScaleSprite', - 'ScaleMesh','ScaleEntity','RotateTexture','RotateSprite','RotateMesh','RotateEntity','ResetEntity','RenderWorld','ProjectedZ','ProjectedY', - 'ProjectedX','PositionTexture','PositionMesh','PositionEntity','PointEntity','PickedZ','PickedY','PickedX','PickedTriangle','PickedTime', - 'PickedSurface','PickedNZ','PickedNY','PickedNX','PickedEntity','PaintSurface','PaintMesh','PaintEntity','NameEntity','MoveEntity', - 'ModifyTerrain','MeshWidth','MeshHeight','MeshesIntersect','MeshDepth','MD2AnimTime','MD2AnimLength','MD2Animating','LoadTexture','LoadTerrain', - 'LoadSprite','LoadMesh','LoadMD2','LoaderMatrix','LoadBSP','LoadBrush','LoadAnimTexture','LoadAnimSeq','LoadAnimMesh','Load3DSound', - 'LinePick','LightRange','LightMesh','LightConeAngles','LightColor','HWMultiTex','HideEntity','HandleSprite','Graphics3D','GfxMode3DExists', - 'GfxMode3D','GfxDriverCaps3D','GfxDriver3D','GetSurfaceBrush','GetSurface','GetParent','GetMatElement','GetEntityType','GetEntityBrush','GetChild', - 'GetBrushTexture','FreeTexture','FreeEntity','FreeBrush','FlipMesh','FitMesh','FindSurface','FindChild','ExtractAnimSeq','EntityZ', - 'EntityYaw','EntityY','EntityX','EntityVisible','EntityType','EntityTexture','EntityShininess','EntityRoll','EntityRadius','EntityPitch', - 'EntityPickMode','EntityPick','EntityParent','EntityOrder','EntityName','EntityInView','EntityFX','EntityDistance','EntityColor','EntityCollided', - 'EntityBox','EntityBlend','EntityAutoFade','EntityAlpha','EmitSound','Dither','DeltaYaw','DeltaPitch','CreateTexture','CreateTerrain', - 'CreateSurface','CreateSprite','CreateSphere','CreatePlane','CreatePivot','CreateMirror','CreateMesh','CreateListener','CreateLight','CreateCylinder', - 'CreateCube','CreateCone','CreateCamera','CreateBrush','CountVertices','CountTriangles','CountSurfaces','CountGfxModes3D','CountCollisions','CountChildren', - 'CopyMesh','CopyEntity','CollisionZ','CollisionY','CollisionX','CollisionTriangle','CollisionTime','CollisionSurface','Collisions','CollisionNZ', - 'CollisionNY','CollisionNX','CollisionEntity','ClearWorld','ClearTextureFilters','ClearSurface','ClearCollisions','CaptureWorld','CameraZoom','CameraViewport', - 'CameraRange','CameraProjMode','CameraProject','CameraPick','CameraFogRange','CameraFogMode','CameraFogColor','CameraClsMode','CameraClsColor','BSPLighting', - 'BSPAmbientLight','BrushTexture','BrushShininess','BrushFX','BrushColor','BrushBlend','BrushAlpha','AntiAlias','AnimTime','AnimSeq', - 'AnimLength','Animating','AnimateMD2','Animate','AmbientLight','AlignToVector','AddVertex','AddTriangle','AddMesh','AddAnimSeq', - ) - ), - 'SYMBOLS' => array( - '(',')' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #000066; font-weight: bold;', - 2 => 'color: #0000ff;' - ), - 'COMMENTS' => array( - 1 => 'color: #D9D100; font-style: italic;', - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #000066;' - ), - 'STRINGS' => array( - 0 => 'color: #009900;' - ), - 'NUMBERS' => array( - 0 => 'color: #CC0000;' - ), - 'METHODS' => array( - 1 => 'color: #006600;' - ), - 'SYMBOLS' => array( - 0 => 'color: #000066;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - 0 => '', - 1 => '', - ) - ), - 'URLS' => array( - 1 => '', - 2 => '' - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - 1 => '\\' - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array(), - 'HIGHLIGHT_STRICT_BLOCK' => array( - 0 => false, - 1 => false - ) -); diff --git a/vendor/easybook/geshi/geshi/bnf.php b/vendor/easybook/geshi/geshi/bnf.php deleted file mode 100644 index 0bf95f1..0000000 --- a/vendor/easybook/geshi/geshi/bnf.php +++ /dev/null @@ -1,118 +0,0 @@ - 'bnf', - 'COMMENT_SINGLE' => array(';'), - 'COMMENT_MULTI' => array(), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"', "'"), - 'ESCAPE_CHAR' => '', - 'KEYWORDS' => array(), - 'SYMBOLS' => array( - 0 => array('(', ')'), - 1 => array('<', '>'), - 2 => array('[', ']'), - 3 => array('{', '}'), - 4 => array('=', '*', '/', '|', ':'), - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false - ), - 'STYLES' => array( - 'KEYWORDS' => array(), - 'COMMENTS' => array( - 0 => 'color: #666666; font-style: italic;', // Single Line comments - ), - 'ESCAPE_CHAR' => array( - 0 => '' - ), - 'BRACKETS' => array( - 0 => '' - ), - 'STRINGS' => array( - 0 => 'color: #a00;', - 1 => 'color: #a00;' - ), - 'NUMBERS' => array( - 0 => '' - ), - 'METHODS' => array( - 0 => '' - ), - 'SYMBOLS' => array( - 0 => 'color: #000066; font-weight: bold;', // Round brackets - 1 => 'color: #000066; font-weight: bold;', // Angel Brackets - 2 => 'color: #000066; font-weight: bold;', // Square Brackets - 3 => 'color: #000066; font-weight: bold;', // BRaces - 4 => 'color: #006600; font-weight: bold;', // Other operator symbols - ), - 'REGEXPS' => array( - 0 => 'color: #007;', - ), - 'SCRIPT' => array( - 0 => '' - ) - ), - 'URLS' => array(), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array(), - 'REGEXPS' => array( - //terminal symbols - 0 => array( - GESHI_SEARCH => '(<)([^&]+?)(>)', - GESHI_REPLACE => '\\2', - GESHI_MODIFIERS => '', - GESHI_BEFORE => '\\1', - GESHI_AFTER => '\\3' - ), - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ) -); - diff --git a/vendor/easybook/geshi/geshi/boo.php b/vendor/easybook/geshi/geshi/boo.php deleted file mode 100644 index 15944f4..0000000 --- a/vendor/easybook/geshi/geshi/boo.php +++ /dev/null @@ -1,215 +0,0 @@ - 'Boo', - 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'''", "'", '"""', '"'), - 'HARDQUOTE' => array('"""', '"""'), - 'HARDESCAPE' => array('\"""'), - 'ESCAPE_CHAR' => '\\', - 'KEYWORDS' => array( - 1 => array(//Namespace - 'namespace', 'import', 'from' - ), - 2 => array(//Jump - 'yield', 'return', 'goto', 'continue', 'break' - ), - 3 => array(//Conditional - 'while', 'unless', 'then', 'in', 'if', 'for', 'else', 'elif' - ), - 4 => array(//Property - 'set', 'get' - ), - 5 => array(//Exception - 'try', 'raise', 'failure', 'except', 'ensure' - ), - 6 => array(//Visibility - 'public', 'private', 'protected', 'internal' - ), - 7 => array(//Define - 'struct', 'ref', 'of', 'interface', 'event', 'enum', 'do', 'destructor', 'def', 'constructor', 'class' - ), - 8 => array(//Cast - 'typeof', 'cast', 'as' - ), - 9 => array(//BiMacro - 'yieldAll', 'using', 'unchecked', 'rawArayIndexing', 'print', 'normalArrayIndexing', 'lock', - 'debug', 'checked', 'assert' - ), - 10 => array(//BiAttr - 'required', 'property', 'meta', 'getter', 'default' - ), - 11 => array(//BiFunc - 'zip', 'shellp', 'shellm', 'shell', 'reversed', 'range', 'prompt', - 'matrix', 'map', 'len', 'join', 'iterator', 'gets', 'enumerate', 'cat', 'array' - ), - 12 => array(//HiFunc - '__switch__', '__initobj__', '__eval__', '__addressof__', 'quack' - ), - 13 => array(//Primitive - 'void', 'ushort', 'ulong', 'uint', 'true', 'timespan', 'string', 'single', - 'short', 'sbyte', 'regex', 'object', 'null', 'long', 'int', 'false', 'duck', - 'double', 'decimal', 'date', 'char', 'callable', 'byte', 'bool' - ), - 14 => array(//Operator - 'not', 'or', 'and', 'is', 'isa', - ), - 15 => array(//Modifier - 'virtual', 'transient', 'static', 'partial', 'override', 'final', 'abstract' - ), - 16 => array(//Access - 'super', 'self' - ), - 17 => array(//Pass - 'pass' - ) - ), - 'SYMBOLS' => array( - '[|', '|]', '${', '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>', '+', '-', ';' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => true, - 2 => true, - 3 => true, - 4 => true, - 5 => true, - 6 => true, - 7 => true, - 8 => true, - 9 => true, - 10 => true, - 11 => true, - 12 => true, - 13 => true, - 14 => true, - 15 => true, - 16 => true, - 17 => true - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color:green;font-weight:bold;', - 2 => 'color:navy;', - 3 => 'color:blue;font-weight:bold;', - 4 => 'color:#8B4513;', - 5 => 'color:teal;font-weight:bold;', - 6 => 'color:blue;font-weight:bold;', - 7 => 'color:blue;font-weight:bold;', - 8 => 'color:blue;font-weight:bold;', - 9 => 'color:maroon;', - 10 => 'color:maroon;', - 11 => 'color:purple;', - 12 => 'color:#4B0082;', - 13 => 'color:purple;font-weight:bold;', - 14 => 'color:#008B8B;font-weight:bold;', - 15 => 'color:brown;', - 16 => 'color:black;font-weight:bold;', - 17 => 'color:gray;' - ), - 'COMMENTS' => array( - 1 => 'color: #999999; font-style: italic;', - 2 => 'color: #999999; font-style: italic;', - 'MULTI' => 'color: #008000; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #0000FF; font-weight: bold;', - 'HARD' => 'color: #0000FF; font-weight: bold;', - ), - 'BRACKETS' => array( - 0 => 'color: #006400;' - ), - 'STRINGS' => array( - 0 => 'color: #008000;', - 'HARD' => 'color: #008000;' - ), - 'NUMBERS' => array( - 0 => 'color: #00008B;' - ), - 'METHODS' => array( - 0 => 'color: 000000;', - 1 => 'color: 000000;' - ), - 'SYMBOLS' => array( - 0 => 'color: #006400;' - ), - 'REGEXPS' => array( - #0 => 'color: #0066ff;' - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => '', - 6 => '', - 7 => '', - 8 => '', - 9 => '', - 10 => '', - 11 => '', - 12 => '', - 13 => '', - 14 => '', - 15 => '', - 16 => '', - 17 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 0 => '.', - 1 => '::' - ), - 'REGEXPS' => array( - #0 => '%(@)?\/(?:(?(1)[^\/\\\\\r\n]+|[^\/\\\\\r\n \t]+)|\\\\[\/\\\\\w+()|.*?$^[\]{}\d])+\/%' - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 4 -); diff --git a/vendor/easybook/geshi/geshi/c.php b/vendor/easybook/geshi/geshi/c.php deleted file mode 100644 index ce8e9b7..0000000 --- a/vendor/easybook/geshi/geshi/c.php +++ /dev/null @@ -1,280 +0,0 @@ - 'C', - 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'COMMENT_REGEXP' => array( - //Multiline-continued single-line comments - 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', - //Multiline-continued preprocessor define - 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m' - ), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - 'ESCAPE_REGEXP' => array( - //Simple Single Char Escapes - 1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i", - //Hexadecimal Char Specs - 2 => "#\\\\x[\da-fA-F]{2}#", - //Hexadecimal Char Specs - 3 => "#\\\\u[\da-fA-F]{4}#", - //Hexadecimal Char Specs - 4 => "#\\\\U[\da-fA-F]{8}#", - //Octal Char Specs - 5 => "#\\\\[0-7]{1,3}#" - ), - 'NUMBERS' => - GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | - GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | - GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, - 'KEYWORDS' => array( - 1 => array( - 'if', 'return', 'while', 'case', 'continue', 'default', - 'do', 'else', 'for', 'switch', 'goto' - ), - 2 => array( - 'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline' - ), - 3 => array( - // assert.h - 'assert', - - //complex.h - 'cabs', 'cacos', 'cacosh', 'carg', 'casin', 'casinh', 'catan', - 'catanh', 'ccos', 'ccosh', 'cexp', 'cimag', 'cis', 'clog', 'conj', - 'cpow', 'cproj', 'creal', 'csin', 'csinh', 'csqrt', 'ctan', 'ctanh', - - //ctype.h - 'digittoint', 'isalnum', 'isalpha', 'isascii', 'isblank', 'iscntrl', - 'isdigit', 'isgraph', 'islower', 'isprint', 'ispunct', 'isspace', - 'isupper', 'isxdigit', 'toascii', 'tolower', 'toupper', - - //inttypes.h - 'imaxabs', 'imaxdiv', 'strtoimax', 'strtoumax', 'wcstoimax', - 'wcstoumax', - - //locale.h - 'localeconv', 'setlocale', - - //math.h - 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'exp', - 'fabs', 'floor', 'frexp', 'ldexp', 'log', 'log10', 'modf', 'pow', - 'sin', 'sinh', 'sqrt', 'tan', 'tanh', - - //setjmp.h - 'longjmp', 'setjmp', - - //signal.h - 'raise', - - //stdarg.h - 'va_arg', 'va_copy', 'va_end', 'va_start', - - //stddef.h - 'offsetof', - - //stdio.h - 'clearerr', 'fclose', 'fdopen', 'feof', 'ferror', 'fflush', 'fgetc', - 'fgetpos', 'fgets', 'fopen', 'fprintf', 'fputc', 'fputchar', - 'fputs', 'fread', 'freopen', 'fscanf', 'fseek', 'fsetpos', 'ftell', - 'fwrite', 'getc', 'getch', 'getchar', 'gets', 'perror', 'printf', - 'putc', 'putchar', 'puts', 'remove', 'rename', 'rewind', 'scanf', - 'setbuf', 'setvbuf', 'snprintf', 'sprintf', 'sscanf', 'tmpfile', - 'tmpnam', 'ungetc', 'vfprintf', 'vfscanf', 'vprintf', 'vscanf', - 'vsprintf', 'vsscanf', - - //stdlib.h - 'abort', 'abs', 'atexit', 'atof', 'atoi', 'atol', 'bsearch', - 'calloc', 'div', 'exit', 'free', 'getenv', 'itoa', 'labs', 'ldiv', - 'ltoa', 'malloc', 'qsort', 'rand', 'realloc', 'srand', 'strtod', - 'strtol', 'strtoul', 'system', - - //string.h - 'memchr', 'memcmp', 'memcpy', 'memmove', 'memset', 'strcat', - 'strchr', 'strcmp', 'strcoll', 'strcpy', 'strcspn', 'strerror', - 'strlen', 'strncat', 'strncmp', 'strncpy', 'strpbrk', 'strrchr', - 'strspn', 'strstr', 'strtok', 'strxfrm', - - //time.h - 'asctime', 'clock', 'ctime', 'difftime', 'gmtime', 'localtime', - 'mktime', 'strftime', 'time', - - //wchar.h - 'btowc', 'fgetwc', 'fgetws', 'fputwc', 'fputws', 'fwide', - 'fwprintf', 'fwscanf', 'getwc', 'getwchar', 'mbrlen', 'mbrtowc', - 'mbsinit', 'mbsrtowcs', 'putwc', 'putwchar', 'swprintf', 'swscanf', - 'ungetwc', 'vfwprintf', 'vswprintf', 'vwprintf', 'wcrtomb', - 'wcscat', 'wcschr', 'wcscmp', 'wcscoll', 'wcscpy', 'wcscspn', - 'wcsftime', 'wcslen', 'wcsncat', 'wcsncmp', 'wcsncpy', 'wcspbrk', - 'wcsrchr', 'wcsrtombs', 'wcsspn', 'wcsstr', 'wcstod', 'wcstok', - 'wcstol', 'wcstoul', 'wcsxfrm', 'wctob', 'wmemchr', 'wmemcmp', - 'wmemcpy', 'wmemmove', 'wmemset', 'wprintf', 'wscanf', - - //wctype.h - 'iswalnum', 'iswalpha', 'iswcntrl', 'iswctype', 'iswdigit', - 'iswgraph', 'iswlower', 'iswprint', 'iswpunct', 'iswspace', - 'iswupper', 'iswxdigit', 'towctrans', 'towlower', 'towupper', - 'wctrans', 'wctype' - ), - 4 => array( - 'auto', 'char', 'const', 'double', 'float', 'int', 'long', - 'register', 'short', 'signed', 'sizeof', 'static', 'struct', - 'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t', - - 'int8', 'int16', 'int32', 'int64', - 'uint8', 'uint16', 'uint32', 'uint64', - - 'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t', - 'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t', - - 'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t', - 'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t', - - 'int8_t', 'int16_t', 'int32_t', 'int64_t', - 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', - - 'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t', - 'size_t', 'off_t' - ), - ), - 'SYMBOLS' => array( - '(', ')', '{', '}', '[', ']', - '+', '-', '*', '/', '%', - '=', '<', '>', - '!', '^', '&', '|', - '?', ':', - ';', ',' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => true, - 2 => true, - 3 => true, - 4 => true, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #b1b100;', - 2 => 'color: #000000; font-weight: bold;', - 3 => 'color: #000066;', - 4 => 'color: #993333;' - ), - 'COMMENTS' => array( - 1 => 'color: #666666; font-style: italic;', - 2 => 'color: #339933;', - 'MULTI' => 'color: #808080; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;', - 1 => 'color: #000099; font-weight: bold;', - 2 => 'color: #660099; font-weight: bold;', - 3 => 'color: #660099; font-weight: bold;', - 4 => 'color: #660099; font-weight: bold;', - 5 => 'color: #006699; font-weight: bold;', - 'HARD' => '', - ), - 'BRACKETS' => array( - 0 => 'color: #009900;' - ), - 'STRINGS' => array( - 0 => 'color: #ff0000;' - ), - 'NUMBERS' => array( - 0 => 'color: #0000dd;', - GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', - GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', - GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', - GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', - GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', - GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', - GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' - ), - 'METHODS' => array( - 1 => 'color: #202020;', - 2 => 'color: #202020;' - ), - 'SYMBOLS' => array( - 0 => 'color: #339933;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html', - 4 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => '.', - 2 => '::' - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 4 -); - diff --git a/vendor/easybook/geshi/geshi/c_loadrunner.php b/vendor/easybook/geshi/geshi/c_loadrunner.php deleted file mode 100644 index 1dc3380..0000000 --- a/vendor/easybook/geshi/geshi/c_loadrunner.php +++ /dev/null @@ -1,322 +0,0 @@ - 'C (LoadRunner)', - 'COMMENT_SINGLE' => array(1 => '//'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '', - // Escape characters within strings (like \\) are not highlighted differently in LoadRunner, so - // I am using GeSHi escape characters (or regular expressions) to highlight LoadRunner {parameters}. - // LoadRunner {parameters} must begin with a letter and contain only alphanumeric characters and '_' - 'ESCAPE_REGEXP' => array( - 0 => "#\{[a-zA-Z]{1}[a-zA-Z_]{0,}\}#", - ), - - // Keywords - 'KEYWORDS' => array( - // Keywords from http://en.wikipedia.org/wiki/C_syntax - 1 => array( - 'auto', 'break', 'case', 'char', 'const', 'continue', 'default', - 'do', 'double', 'else', 'enum', 'extern', 'float', 'for', 'goto', - 'if', 'inline', 'int', 'long', 'register', 'restrict', 'return', - 'short', 'signed', 'sizeof', 'static', 'struct', 'switch', - 'typedef', 'union', 'unsigned', 'void', 'volatile', 'while', - '_Bool', '_Complex', '_Imaginary' - ), - // C preprocessor directives from http://en.wikipedia.org/wiki/C_preprocessor - 2 => array( - '#define', '#if', '#ifdef', '#ifndef', '#include', '#else', '#elif', '#endif', '#pragma', '#undef' - ), - // Functions from lrun.h - 3 => array( - 'lr_start_transaction', 'lr_start_sub_transaction', 'lr_start_transaction_instance', 'lr_end_transaction', - 'lr_end_sub_transaction', 'lr_end_transaction_instance', 'lr_stop_transaction', 'lr_stop_transaction_instance', - 'lr_resume_transaction', 'lr_resume_transaction_instance', 'lr_wasted_time', 'lr_set_transaction', 'lr_user_data_point', - 'lr_user_data_point_instance', 'lr_user_data_point_ex', 'lr_user_data_point_instance_ex', 'lr_get_transaction_duration', - 'lr_get_trans_instance_duration', 'lr_get_transaction_think_time', 'lr_get_trans_instance_think_time', - 'lr_get_transaction_wasted_time', 'lr_get_trans_instance_wasted_time', 'lr_get_transaction_status', - 'lr_get_trans_instance_status', 'lr_set_transaction_status', 'lr_set_transaction_status_by_name', - 'lr_set_transaction_instance_status', 'lr_start_timer', 'lr_end_timer', 'lr_rendezvous', 'lr_rendezvous_ex', - 'lr_get_vuser_ip', 'lr_whoami', 'lr_get_host_name', 'lr_get_master_host_name', 'lr_get_attrib_long', - 'lr_get_attrib_string', 'lr_get_attrib_double', 'lr_paramarr_idx', 'lr_paramarr_random', 'lr_paramarr_len', - 'lr_param_unique', 'lr_param_sprintf', 'lr_load_dll', 'lr_continue_on_error', 'lr_decrypt', 'lr_abort', 'lr_exit', - 'lr_peek_events', 'lr_think_time', 'lr_debug_message', 'lr_log_message', 'lr_message', 'lr_error_message', - 'lr_output_message', 'lr_vuser_status_message', 'lr_fail_trans_with_error', 'lr_next_row', 'lr_advance_param', - 'lr_eval_string', 'lr_eval_string_ext', 'lr_eval_string_ext_free', 'lr_param_increment', 'lr_save_var', - 'lr_save_string', 'lr_save_int', 'lr_save_datetime', 'lr_save_searched_string', 'lr_set_debug_message', - 'lr_get_debug_message', 'lr_enable_ip_spoofing', 'lr_disable_ip_spoofing', 'lr_convert_string_encoding' - ), - // Constants from lrun.h - 4 => array( - 'DP_FLAGS_NO_LOG', 'DP_FLAGS_STANDARD_LOG', 'DP_FLAGS_EXTENDED_LOG', 'merc_timer_handle_t', 'LR_EXIT_VUSER', - 'LR_EXIT_ACTION_AND_CONTINUE', 'LR_EXIT_ITERATION_AND_CONTINUE', 'LR_EXIT_VUSER_AFTER_ITERATION', - 'LR_EXIT_VUSER_AFTER_ACTION', 'LR_EXIT_MAIN_ITERATION_AND_CONTINUE', 'LR_MSG_CLASS_DISABLE_LOG', - 'LR_MSG_CLASS_STANDARD_LOG', 'LR_MSG_CLASS_RETURNED_DATA', 'LR_MSG_CLASS_PARAMETERS', 'LR_MSG_CLASS_ADVANCED_TRACE', - 'LR_MSG_CLASS_EXTENDED_LOG', 'LR_MSG_CLASS_SENT_DATA', 'LR_MSG_CLASS_JIT_LOG_ON_ERROR', 'LR_SWITCH_OFF', 'LR_SWITCH_ON', - 'LR_SWITCH_DEFAULT', 'ONE_DAY', 'ONE_HOUR', 'ONE_MIN', 'DATE_NOW', 'TIME_NOW', 'LR_MSG_CLASS_BRIEF_LOG', - 'LR_MSG_CLASS_RESULT_DATA', 'LR_MSG_CLASS_FULL_TRACE', 'LR_MSG_CLASS_AUTO_LOG', 'LR_MSG_OFF', 'LR_MSG_ON', - 'LR_MSG_DEFAULT' - ), - // Functions from web_api.h - 5 => array( - 'web_reg_add_cookie', 'web_report_data_point', 'web_text_link', 'web_element', 'web_image_link', 'web_static_image', - 'web_image_submit', 'web_button', 'web_edit_field', 'web_radio_group', 'web_check_box', 'web_list', 'web_text_area', - 'web_map_area', 'web_eval_java_script', 'web_reg_dialog', 'web_reg_cross_step_download', 'web_browser', - 'web_set_rts_key', 'web_save_param_length', 'web_save_timestamp_param', 'web_load_cache', 'web_dump_cache', - 'web_add_cookie_ex' - ), - // Constants from web_api.h - 6 => array( - 'DESCRIPTION', 'ACTION', 'VERIFICATION', 'LR_NOT_FOUND', 'HTTP_INFO_TOTAL_REQUEST_STAT', - 'HTTP_INFO_TOTAL_RESPONSE_STAT', 'LRW_OPT_STOP_VUSER_ON_ERROR', 'LRW_OPT_DISPLAY_IMAGE_BODY' - ), - // Functions from as_web.h - 7 => array( - 'web_add_filter', 'web_add_auto_filter', 'web_add_auto_header', 'web_add_header', 'web_add_cookie', - 'web_cleanup_auto_headers', 'web_cleanup_cookies', 'web_concurrent_end', 'web_concurrent_start', 'web_create_html_param', - 'web_create_html_param_ex', 'web_custom_request', 'web_disable_keep_alive', 'web_enable_keep_alive', 'web_find', - 'web_get_int_property', 'web_image', 'web_image_check', 'web_link', 'web_global_verification', 'web_reg_find', - 'web_reg_save_param', 'web_convert_param', 'web_remove_auto_filter', 'web_remove_auto_header', 'web_revert_auto_header', - 'web_remove_cookie', 'web_save_header', 'web_set_certificate', 'web_set_certificate_ex', 'web_set_connections_limit', - 'web_set_max_html_param_len', 'web_set_max_retries', 'web_set_proxy', 'web_set_proxy_bypass', 'web_set_secure_proxy', - 'web_set_sockets_option', 'web_set_option', 'web_set_timeout', 'web_set_user', 'web_sjis_to_euc_param', - 'web_submit_data', 'web_submit_form', 'web_url', 'web_set_proxy_bypass_local', 'web_cache_cleanup', - 'web_create_html_query', 'web_create_radio_button_param', 'web_switch_net_layer' - ), - // Constants from as_web.h - 8 => array( - 'ENDFORM', 'LAST', 'ENDITEM', 'EXTRARES', 'ITEMDATA', 'STARTHIDDENS', 'ENDHIDDENS', 'CONNECT', 'RECEIVE', 'RESOLVE', - 'STEP', 'REQUEST', 'RESPONSE', 'STARTQUERY', 'ENDQUERY', 'INPROPS', 'OUTPROPS', 'ENDPROPS', 'RAW_BODY_START', - 'RAW_BODY_END', 'HTTP_INFO_RETURN_CODE', 'HTTP_INFO_DOWNLOAD_SIZE', 'HTTP_INFO_DOWNLOAD_TIME', - 'LRW_NET_SOCKET_OPT_LOAD_VERIFY_FILE', 'LRW_NET_SOCKET_OPT_DEFAULT_VERIFY_PATH', 'LRW_NET_SOCKET_OPT_SSL_VERSION', - 'LRW_NET_SOCKET_OPT_SSL_CIPHER_LIST', 'LRW_NET_SOCKET_OPT_SO_REUSE_ADDRESS', 'LRW_NET_SOCKET_OPT_USER_IP_ADDRESS', - 'LRW_NET_SOCKET_OPT_IP_ADDRESS_BY_INDEX', 'LRW_NET_SOCKET_OPT_HELP', 'LRW_NET_SOCKET_OPT_PRINT_USER_IP_ADDRESS_LIST', - 'LRW_OPT_HTML_CHAR_REF_BACKWARD_COMPATIBILITY', 'LRW_OPT_VALUE_YES', 'LRW_OPT_VALUE_NO' - ), - // Functions from as_sapgui.h - 9 => array( - 'sapgui_open_connection', 'sapgui_open_connection_ex', 'sapgui_logon', 'sapgui_create_session', - 'sapgui_create_new_session', 'sapgui_call_method', 'sapgui_call_method_ex', 'sapgui_set_property', - 'sapgui_get_property', 'sapgui_set_collection_property', 'sapgui_active_object_from_parent_method', - 'sapgui_active_object_from_parent_property', 'sapgui_call_method_of_active_object', - 'sapgui_call_method_of_active_object_ex', 'sapgui_set_property_of_active_object', 'sapgui_get_property_of_active_object', - 'sapgui_select_active_connection', 'sapgui_select_active_session', 'sapgui_select_active_window ', - 'sapgui_status_bar_get_text', 'sapgui_status_bar_get_param', 'sapgui_status_bar_get_type', 'sapgui_get_status_bar_text', - 'sapgui_get_active_window_title', 'sapgui_is_object_available', 'sapgui_is_tab_selected', 'sapgui_is_object_changeable', - 'sapgui_set_ok_code', 'sapgui_send_vkey', 'sapgui_resize_window', 'sapgui_window_resize', 'sapgui_window_maximize', - 'sapgui_window_close', 'sapgui_window_restore', 'sapgui_window_scroll_to_row', 'sapgui_press_button', - 'sapgui_select_radio_button', 'sapgui_set_password', 'sapgui_set_text', 'sapgui_select_menu', 'sapgui_select_tab', - 'sapgui_set_checkbox', 'sapgui_set_focus', 'sapgui_select_combobox_entry', 'sapgui_get_ok_code', - 'sapgui_is_radio_button_selected', 'sapgui_get_text', 'sapgui_is_checkbox_selected', 'sapgui_table_set_focus', - 'sapgui_table_press_button', 'sapgui_table_select_radio_button', 'sapgui_table_set_password', 'sapgui_table_set_text', - 'sapgui_table_set_checkbox', 'sapgui_table_select_combobox_entry', 'sapgui_table_set_row_selected', - 'sapgui_table_set_column_selected', 'sapgui_table_set_column_width', 'sapgui_table_reorder', 'sapgui_table_fill_data', - 'sapgui_table_get_text', 'sapgui_table_is_radio_button_selected', 'sapgui_table_is_checkbox_selected', - 'sapgui_table_is_row_selected', 'sapgui_table_is_column_selected', 'sapgui_table_get_column_width', - 'sapgui_grid_clear_selection', 'sapgui_grid_select_all', 'sapgui_grid_selection_changed', - 'sapgui_grid_press_column_header', 'sapgui_grid_select_cell', 'sapgui_grid_select_rows', 'sapgui_grid_select_column', - 'sapgui_grid_deselect_column', 'sapgui_grid_select_columns', 'sapgui_grid_select_cells', 'sapgui_grid_select_cell_row', - 'sapgui_grid_select_cell_column', 'sapgui_grid_set_column_order', 'sapgui_grid_set_column_width', - 'sapgui_grid_scroll_to_row', 'sapgui_grid_double_click', 'sapgui_grid_click', 'sapgui_grid_press_button', - 'sapgui_grid_press_total_row', 'sapgui_grid_set_cell_data', 'sapgui_grid_set_checkbox', - 'sapgui_grid_double_click_current_cell', 'sapgui_grid_click_current_cell', 'sapgui_grid_press_button_current_cell', - 'sapgui_grid_press_total_row_current_cell', 'sapgui_grid_press_F1', 'sapgui_grid_press_F4', 'sapgui_grid_press_ENTER', - 'sapgui_grid_press_toolbar_button', 'sapgui_grid_press_toolbar_context_button', 'sapgui_grid_open_context_menu', - 'sapgui_grid_select_context_menu', 'sapgui_grid_select_toolbar_menu', 'sapgui_grid_fill_data', - 'sapgui_grid_get_current_cell_row', 'sapgui_grid_get_current_cell_column', 'sapgui_grid_get_rows_count', - 'sapgui_grid_get_columns_count', 'sapgui_grid_get_cell_data', 'sapgui_grid_is_checkbox_selected', - 'sapgui_tree_scroll_to_node', 'sapgui_tree_set_hierarchy_header_width', 'sapgui_tree_set_selected_node', - 'sapgui_tree_double_click_node', 'sapgui_tree_press_key', 'sapgui_tree_press_button', 'sapgui_tree_set_checkbox', - 'sapgui_tree_double_click_item', 'sapgui_tree_click_link', 'sapgui_tree_open_default_context_menu', - 'sapgui_tree_open_node_context_menu', 'sapgui_tree_open_header_context_menu', 'sapgui_tree_open_item_context_menu', - 'sapgui_tree_select_context_menu', 'sapgui_tree_select_item', 'sapgui_tree_select_node', 'sapgui_tree_unselect_node', - 'sapgui_tree_unselect_all', 'sapgui_tree_select_column', 'sapgui_tree_unselect_column', 'sapgui_tree_set_column_order', - 'sapgui_tree_collapse_node', 'sapgui_tree_expand_node', 'sapgui_tree_scroll_to_item', 'sapgui_tree_set_column_width', - 'sapgui_tree_press_header', 'sapgui_tree_is_checkbox_selected', 'sapgui_tree_get_node_text', 'sapgui_tree_get_item_text', - 'sapgui_calendar_scroll_to_date', 'sapgui_calendar_focus_date', 'sapgui_calendar_select_interval', - 'sapgui_apogrid_select_all', 'sapgui_apogrid_clear_selection', 'sapgui_apogrid_select_cell', - 'sapgui_apogrid_deselect_cell', 'sapgui_apogrid_select_row', 'sapgui_apogrid_deselect_row', - 'sapgui_apogrid_select_column', 'sapgui_apogrid_deselect_column', 'sapgui_apogrid_scroll_to_row', - 'sapgui_apogrid_scroll_to_column', 'sapgui_apogrid_double_click', 'sapgui_apogrid_set_cell_data', - 'sapgui_apogrid_get_cell_data', 'sapgui_apogrid_is_cell_changeable', 'sapgui_apogrid_get_cell_format', - 'sapgui_apogrid_get_cell_tooltip', 'sapgui_apogrid_press_ENTER', 'sapgui_apogrid_open_cell_context_menu', - 'sapgui_apogrid_select_context_menu_item', 'sapgui_text_edit_scroll_to_line', 'sapgui_text_edit_set_selection_indexes', - 'sapgui_text_edit_set_unprotected_text_part', 'sapgui_text_edit_get_first_visible_line', - 'sapgui_text_edit_get_selection_index_start', 'sapgui_text_edit_get_selection_index_end', - 'sapgui_text_edit_get_number_of_unprotected_text_parts', 'sapgui_text_edit_double_click', - 'sapgui_text_edit_single_file_dropped', 'sapgui_text_edit_multiple_files_dropped', 'sapgui_text_edit_press_F1', - 'sapgui_text_edit_press_F4', 'sapgui_text_edit_open_context_menu', 'sapgui_text_edit_select_context_menu', - 'sapgui_text_edit_modified_status_changed', 'sapgui_htmlviewer_send_event', 'sapgui_htmlviewer_dom_get_property', - 'sapgui_toolbar_press_button', 'sapgui_toolbar_press_context_button', 'sapgui_toolbar_select_menu_item', - 'sapgui_toolbar_select_menu_item_by_text', 'sapgui_toolbar_select_context_menu_item', - 'sapgui_toolbar_select_context_menu_item_by_text' - ), - // Constants from as_sapgui.h - 10 => array( - 'BEGIN_OPTIONAL', 'END_OPTIONAL', 'al-keys', 'ENTER', 'HELP', 'F2', 'BACK', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', - 'F10', 'F11', 'ESC', 'SHIFT_F1', 'SHIFT_F2', 'SHIFT_F3', 'SHIFT_F4', 'SHIFT_F5', 'SHIFT_F6', 'SHIFT_F7', 'SHIFT_F8', - 'SHIFT_F9', 'SHIFT_F10', 'SHIFT_F11', 'SHIFT_F12', 'CTRL_F1', 'CTRL_F2', 'CTRL_F3', 'CTRL_F4', 'CTRL_F5', 'CTRL_F6', - 'CTRL_F7', 'CTRL_F8', 'CTRL_F9', 'CTRL_F10', 'CTRL_F11', 'CTRL_F12', 'CTRL_SHIFT_F1', 'CTRL_SHIFT_F2', 'CTRL_SHIFT_F3', - 'CTRL_SHIFT_F4', 'CTRL_SHIFT_F5', 'CTRL_SHIFT_F6', 'CTRL_SHIFT_F7', 'CTRL_SHIFT_F8', 'CTRL_SHIFT_F9', 'CTRL_SHIFT_F10', - 'CTRL_SHIFT_F11', 'CTRL_SHIFT_F12', 'CANCEL', 'CTRL_F', 'CTRL_PAGE_UP', 'PAGE_UP', 'PAGE_DOWN', 'CTRL_PAGE_DOWN', - 'CTRL_G', 'CTRL_P' - ), - ), - - // Symbols and Case Sensitivity - // Symbols from: http://en.wikipedia.org/wiki/C_syntax - 'SYMBOLS' => array( - '(', ')', '{', '}', '[', ']', - '+', '-', '*', '/', '%', - '=', '<', '>', '!', '^', '&', '|', '?', ':', ';', ',' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => true, // Standard C reserved keywords - 2 => true, // C preprocessor directives - 3 => true, // Functions from lrun.h - 4 => true, // Constants from lrun.h - 5 => true, // Functions from web_api.h - 6 => true, // Constants from web_api.h - 7 => true, // Functions from as_web.h - 8 => true, // Constants from as_web.h - 9 => true, // Functions from as_sapgui.h - 10 => true, // Constants from as_sapgui.h - ), - - // Styles - 'STYLES' => array( - 'KEYWORDS' => array( - // Functions are brown, constants and reserved words are blue - 1 => 'color: #0000ff;', // Standard C reserved keywords - 2 => 'color: #0000ff;', // C preprocessor directives - 3 => 'color: #8a0000;', // Functions from lrun.h - 4 => 'color: #0000ff;', // Constants from lrun.h - 5 => 'color: #8a0000;', // Functions from web_api.h - 6 => 'color: #0000ff;', // Constants from web_api.h - 7 => 'color: #8a0000;', // Functions from as_web.h - 8 => 'color: #0000ff;', // Constants from as_web.h - 9 => 'color: #8a0000;', // Functions from as_sapgui.h - 10 => 'color: #0000ff;', // Constants from as_sapgui.h - ), - 'COMMENTS' => array( - // Comments are grey - 1 => 'color: #9b9b9b;', - 'MULTI' => 'color: #9b9b9b;' - ), - 'ESCAPE_CHAR' => array( - // GeSHi cannot define a separate style for ESCAPE_REGEXP. The style for ESCAPE_CHAR also applies to ESCAPE_REGEXP. - // This is used for LoadRunner {parameters} - // {parameters} are pink - 0 => 'color: #c000c0;' - ), - 'BRACKETS' => array( - 0 => 'color: #000000;' - ), - 'STRINGS' => array( - // Strings are green - 0 => 'color: #008080;' - ), - 'NUMBERS' => array( - // Numbers are green - 0 => 'color: #008080;', - GESHI_NUMBER_BIN_PREFIX_0B => 'color: #008080;', - GESHI_NUMBER_OCT_PREFIX => 'color: #008080;', - GESHI_NUMBER_HEX_PREFIX => 'color: #008080;', - GESHI_NUMBER_FLT_SCI_SHORT => 'color:#008080;', - GESHI_NUMBER_FLT_SCI_ZERO => 'color:#008080;', - GESHI_NUMBER_FLT_NONSCI_F => 'color:#008080;', - GESHI_NUMBER_FLT_NONSCI => 'color:#008080;' - ), - 'METHODS' => array( - 1 => 'color: #000000;' - ), - 'SYMBOLS' => array( - 0 => 'color: #000000;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - - // URLs for Functions - 'URLS' => array( - 1 => '', // Standard C reserved keywords - 2 => '', // C preprocessor directives - 3 => '', // Functions from lrun.h - 4 => '', // Constants from lrun.h - 5 => '', // Functions from web_api.h - 6 => '', // Constants from web_api.h - 7 => '', // Functions from as_web.h - 8 => '', // Constants from as_web.h - 9 => '', // Functions from as_sapgui.h - 10 => '', // Constants from as_sapgui.h - ), - - // Object Orientation - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - - // Regular Expressions - // Note that REGEXPS are not applied within strings. - 'REGEXPS' => array( - ), - - // Contextual Highlighting and Strict Mode - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - - // Tabs - // Note that if you are using
         tags for your code, then the browser chooses how many spaces your tabs will translate to.
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/c_mac.php b/vendor/easybook/geshi/geshi/c_mac.php
        deleted file mode 100644
        index ca7fe6c..0000000
        --- a/vendor/easybook/geshi/geshi/c_mac.php
        +++ /dev/null
        @@ -1,226 +0,0 @@
        - 'C (Mac)',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Multiline-continued single-line comments
        -        1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //Multiline-continued preprocessor define
        -        2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{2}#",
        -        //Hexadecimal Char Specs
        -        3 => "#\\\\u[\da-fA-F]{4}#",
        -        //Hexadecimal Char Specs
        -        4 => "#\\\\U[\da-fA-F]{8}#",
        -        //Octal Char Specs
        -        5 => "#\\\\[0-7]{1,3}#"
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'if', 'return', 'while', 'case', 'continue', 'default',
        -            'do', 'else', 'for', 'switch', 'goto'
        -            ),
        -        2 => array(
        -            'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
        -            'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
        -            'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
        -            'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
        -            'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
        -            'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
        -            'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
        -            'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
        -            'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
        -            'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
        -            'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
        -            'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
        -            // Mac-specific constants:
        -            'kCFAllocatorDefault'
        -            ),
        -        3 => array(
        -            'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
        -            'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
        -            'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
        -            'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
        -            'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
        -            'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
        -            'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
        -            'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
        -            'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
        -            'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
        -            'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
        -            'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
        -            'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
        -            'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
        -            'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
        -            'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
        -            'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
        -            'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
        -            'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
        -            ),
        -        4 => array(
        -            'auto', 'char', 'const', 'double',  'float', 'int', 'long',
        -            'register', 'short', 'signed', 'static', 'struct',
        -            'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
        -            'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
        -            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
        -
        -            'int8', 'int16', 'int32', 'int64',
        -            'uint8', 'uint16', 'uint32', 'uint64',
        -
        -            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
        -            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
        -
        -            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
        -            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
        -
        -            'int8_t', 'int16_t', 'int32_t', 'int64_t',
        -            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
        -
        -            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t',
        -
        -            // Mac-specific types:
        -            'CFArrayRef', 'CFDictionaryRef', 'CFMutableDictionaryRef', 'CFBundleRef', 'CFSetRef', 'CFStringRef',
        -            'CFURLRef', 'CFLocaleRef', 'CFDateFormatterRef', 'CFNumberFormatterRef', 'CFPropertyListRef',
        -            'CFTreeRef', 'CFWriteStreamRef', 'CFCharacterSetRef', 'CFMutableStringRef', 'CFNotificationRef',
        -            'CFReadStreamRef', 'CFNull', 'CFAllocatorRef', 'CFBagRef', 'CFBinaryHeapRef',
        -            'CFBitVectorRef', 'CFBooleanRef', 'CFDataRef', 'CFDateRef', 'CFMachPortRef', 'CFMessagePortRef',
        -            'CFMutableArrayRef', 'CFMutableBagRef', 'CFMutableBitVectorRef', 'CFMutableCharacterSetRef',
        -            'CFMutableDataRef', 'CFMutableSetRef', 'CFNumberRef', 'CFPlugInRef', 'CFPlugInInstanceRef',
        -            'CFRunLoopRef', 'CFRunLoopObserverRef', 'CFRunLoopSourceRef', 'CFRunLoopTimerRef', 'CFSocketRef',
        -            'CFTimeZoneRef', 'CFTypeRef', 'CFUserNotificationRef', 'CFUUIDRef', 'CFXMLNodeRef', 'CFXMLParserRef',
        -            'CFXMLTreeRef'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #0000dd;',
        -            4 => 'color: #0000ff;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #ff0000;',
        -            2 => 'color: #339900;',
        -            'MULTI' => 'color: #ff0000; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #660099; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold;',
        -            'HARD' => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #666666;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000dd;',
        -            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #00eeff;',
        -            2 => 'color: #00eeff;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/c_winapi.php b/vendor/easybook/geshi/geshi/c_winapi.php
        deleted file mode 100644
        index 1252e7b..0000000
        --- a/vendor/easybook/geshi/geshi/c_winapi.php
        +++ /dev/null
        @@ -1,870 +0,0 @@
        - 'C (WinAPI)',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Multiline-continued single-line comments
        -        1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //Multiline-continued preprocessor define
        -        2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{2}#",
        -        //Hexadecimal Char Specs
        -        3 => "#\\\\u[\da-fA-F]{4}#",
        -        //Hexadecimal Char Specs
        -        4 => "#\\\\U[\da-fA-F]{8}#",
        -        //Octal Char Specs
        -        5 => "#\\\\[0-7]{1,3}#"
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'if', 'return', 'while', 'case', 'continue', 'default',
        -            'do', 'else', 'for', 'switch', 'goto'
        -            ),
        -        2 => array(
        -            'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline'
        -            ),
        -        3 => array(
        -            // assert.h
        -            'assert',
        -
        -            //complex.h
        -            'cabs', 'cacos', 'cacosh', 'carg', 'casin', 'casinh', 'catan',
        -            'catanh', 'ccos', 'ccosh', 'cexp', 'cimag', 'cis', 'clog', 'conj',
        -            'cpow', 'cproj', 'creal', 'csin', 'csinh', 'csqrt', 'ctan', 'ctanh',
        -
        -            //ctype.h
        -            'digittoint', 'isalnum', 'isalpha', 'isascii', 'isblank', 'iscntrl',
        -            'isdigit', 'isgraph', 'islower', 'isprint', 'ispunct', 'isspace',
        -            'isupper', 'isxdigit', 'toascii', 'tolower', 'toupper',
        -
        -            //inttypes.h
        -            'imaxabs', 'imaxdiv', 'strtoimax', 'strtoumax', 'wcstoimax',
        -            'wcstoumax',
        -
        -            //locale.h
        -            'localeconv', 'setlocale',
        -
        -            //math.h
        -            'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'exp',
        -            'fabs', 'floor', 'frexp', 'ldexp', 'log', 'log10', 'modf', 'pow',
        -            'sin', 'sinh', 'sqrt', 'tan', 'tanh',
        -
        -            //setjmp.h
        -            'longjmp', 'setjmp',
        -
        -            //signal.h
        -            'raise',
        -
        -            //stdarg.h
        -            'va_arg', 'va_copy', 'va_end', 'va_start',
        -
        -            //stddef.h
        -            'offsetof',
        -
        -            //stdio.h
        -            'clearerr', 'fclose', 'fdopen', 'feof', 'ferror', 'fflush', 'fgetc',
        -            'fgetpos', 'fgets', 'fopen', 'fprintf', 'fputc', 'fputchar',
        -            'fputs', 'fread', 'freopen', 'fscanf', 'fseek', 'fsetpos', 'ftell',
        -            'fwrite', 'getc', 'getch', 'getchar', 'gets', 'perror', 'printf',
        -            'putc', 'putchar', 'puts', 'remove', 'rename', 'rewind', 'scanf',
        -            'setbuf', 'setvbuf', 'snprintf', 'sprintf', 'sscanf', 'tmpfile',
        -            'tmpnam', 'ungetc', 'vfprintf', 'vfscanf', 'vprintf', 'vscanf',
        -            'vsprintf', 'vsscanf',
        -
        -            //stdlib.h
        -            'abort', 'abs', 'atexit', 'atof', 'atoi', 'atol', 'bsearch',
        -            'calloc', 'div', 'exit', 'free', 'getenv', 'itoa', 'labs', 'ldiv',
        -            'ltoa', 'malloc', 'qsort', 'rand', 'realloc', 'srand', 'strtod',
        -            'strtol', 'strtoul', 'system',
        -
        -            //string.h
        -            'memchr', 'memcmp', 'memcpy', 'memmove', 'memset', 'strcat',
        -            'strchr', 'strcmp', 'strcoll', 'strcpy', 'strcspn', 'strerror',
        -            'strlen', 'strncat', 'strncmp', 'strncpy', 'strpbrk', 'strrchr',
        -            'strspn', 'strstr', 'strtok', 'strxfrm',
        -
        -            //time.h
        -            'asctime', 'clock', 'ctime', 'difftime', 'gmtime', 'localtime',
        -            'mktime', 'strftime', 'time',
        -
        -            //wchar.h
        -            'btowc', 'fgetwc', 'fgetws', 'fputwc', 'fputws', 'fwide',
        -            'fwprintf', 'fwscanf', 'getwc', 'getwchar', 'mbrlen', 'mbrtowc',
        -            'mbsinit', 'mbsrtowcs', 'putwc', 'putwchar', 'swprintf', 'swscanf',
        -            'ungetwc', 'vfwprintf', 'vswprintf', 'vwprintf', 'wcrtomb',
        -            'wcscat', 'wcschr', 'wcscmp', 'wcscoll', 'wcscpy', 'wcscspn',
        -            'wcsftime', 'wcslen', 'wcsncat', 'wcsncmp', 'wcsncpy', 'wcspbrk',
        -            'wcsrchr', 'wcsrtombs', 'wcsspn', 'wcsstr', 'wcstod', 'wcstok',
        -            'wcstol', 'wcstoul', 'wcsxfrm', 'wctob', 'wmemchr', 'wmemcmp',
        -            'wmemcpy', 'wmemmove', 'wmemset', 'wprintf', 'wscanf',
        -
        -            //wctype.h
        -            'iswalnum', 'iswalpha', 'iswcntrl', 'iswctype', 'iswdigit',
        -            'iswgraph', 'iswlower', 'iswprint', 'iswpunct', 'iswspace',
        -            'iswupper', 'iswxdigit', 'towctrans', 'towlower', 'towupper',
        -            'wctrans', 'wctype'
        -            ),
        -        4 => array(
        -            'auto', 'char', 'const', 'double',  'float', 'int', 'long',
        -            'register', 'short', 'signed', 'sizeof', 'static', 'struct',
        -            'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t',
        -
        -            'int8', 'int16', 'int32', 'int64',
        -            'uint8', 'uint16', 'uint32', 'uint64',
        -
        -            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
        -            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
        -
        -            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
        -            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
        -
        -            'int8_t', 'int16_t', 'int32_t', 'int64_t',
        -            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
        -
        -            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t',
        -            'size_t', 'off_t'
        -            ),
        -        // Public API
        -        5 => array(
        -            'AssignProcessToJobObject', 'CommandLineToArgvW', 'ConvertThreadToFiber',
        -            'CreateFiber', 'CreateJobObjectA', 'CreateJobObjectW', 'CreateProcessA',
        -            'CreateProcessAsUserA', 'CreateProcessAsUserW', 'CreateProcessW',
        -            'CreateRemoteThread', 'CreateThread', 'DeleteFiber', 'ExitProcess',
        -            'ExitThread', 'FreeEnvironmentStringsA', 'FreeEnvironmentStringsW',
        -            'GetCommandLineA', 'GetCommandLineW', 'GetCurrentProcess',
        -            'GetCurrentProcessId', 'GetCurrentThread', 'GetCurrentThreadId',
        -            'GetEnvironmentStringsA', 'GetEnvironmentStringsW',
        -            'GetEnvironmentVariableA', 'GetEnvironmentVariableW', 'GetExitCodeProcess',
        -            'GetExitCodeThread', 'GetGuiResources', 'GetPriorityClass',
        -            'GetProcessAffinityMask', 'GetProcessPriorityBoost',
        -            'GetProcessShutdownParameters', 'GetProcessTimes', 'GetProcessVersion',
        -            'GetProcessWorkingSetSize', 'GetStartupInfoA', 'GetStartupInfoW',
        -            'GetThreadPriority', 'GetThreadPriorityBoost', 'GetThreadTimes',
        -            'OpenJobObjectA', 'OpenJobObjectW', 'OpenProcess',
        -            'QueryInformationJobObject', 'ResumeThread', 'SetEnvironmentVariableA',
        -            'SetEnvironmentVariableW', 'SetInformationJobObject', 'SetPriorityClass',
        -            'SetProcessAffinityMask', 'SetProcessPriorityBoost',
        -            'SetProcessShutdownParameters', 'SetProcessWorkingSetSize',
        -            'SetThreadAffinityMask', 'SetThreadIdealProcessor', 'SetThreadPriority',
        -            'SetThreadPriorityBoost', 'Sleep', 'SleepEx', 'SuspendThread',
        -            'SwitchToFiber', 'SwitchToThread', 'TerminateJobObject', 'TerminateProcess',
        -            'TerminateThread', 'WaitForInputIdle', 'WinExec',
        -
        -            '_hread', '_hwrite', '_lclose', '_lcreat', '_llseek', '_lopen', '_lread',
        -            '_lwrite', 'AreFileApisANSI', 'CancelIo', 'CopyFileA', 'CopyFileW',
        -            'CreateDirectoryA', 'CreateDirectoryExA', 'CreateDirectoryExW',
        -            'CreateDirectoryW', 'CreateFileA', 'CreateFileW', 'DeleteFileA',
        -            'DeleteFileW', 'FindClose', 'FindCloseChangeNotification',
        -            'FindFirstChangeNotificationA', 'FindFirstChangeNotificationW',
        -            'FindFirstFileA', 'FindFirstFileW', 'FindNextFileA', 'FindNextFileW',
        -            'FlushFileBuffers', 'GetCurrentDirectoryA', 'GetCurrentDirectoryW',
        -            'GetDiskFreeSpaceA', 'GetDiskFreeSpaceExA', 'GetDiskFreeSpaceExW',
        -            'GetDiskFreeSpaceW', 'GetDriveTypeA', 'GetDriveTypeW', 'GetFileAttributesA',
        -            'GetFileAttributesExA', 'GetFileAttributesExW', 'GetFileAttributesW',
        -            'GetFileInformationByHandle', 'GetFileSize', 'GetFileType',
        -            'GetFullPathNameA', 'GetFullPathNameW', 'GetLogicalDrives',
        -            'GetLogicalDriveStringsA', 'GetLogicalDriveStringsW', 'GetLongPathNameA',
        -            'GetLongPathNameW', 'GetShortPathNameA', 'GetShortPathNameW',
        -            'GetTempFileNameA', 'GetTempFileNameW', 'GetTempPathA', 'GetTempPathW',
        -            'LockFile', 'MoveFileA', 'MoveFileW', 'MulDiv', 'OpenFile',
        -            'QueryDosDeviceA', 'QueryDosDeviceW', 'ReadFile', 'ReadFileEx',
        -            'RemoveDirectoryA', 'RemoveDirectoryW', 'SearchPathA', 'SearchPathW',
        -            'SetCurrentDirectoryA', 'SetCurrentDirectoryW', 'SetEndOfFile',
        -            'SetFileApisToANSI', 'SetFileApisToOEM', 'SetFileAttributesA',
        -            'SetFileAttributesW', 'SetFilePointer', 'SetHandleCount',
        -            'SetVolumeLabelA', 'SetVolumeLabelW', 'UnlockFile', 'WriteFile',
        -            'WriteFileEx',
        -
        -            'DeviceIoControl',
        -
        -            'GetModuleFileNameA', 'GetModuleFileNameW', 'GetProcAddress',
        -            'LoadLibraryA', 'LoadLibraryExA', 'LoadLibraryExW', 'LoadLibraryW',
        -            'LoadModule',
        -
        -            'GetPrivateProfileIntA', 'GetPrivateProfileIntW',
        -            'GetPrivateProfileSectionA', 'GetPrivateProfileSectionNamesA',
        -            'GetPrivateProfileSectionNamesW', 'GetPrivateProfileSectionW',
        -            'GetPrivateProfileStringA', 'GetPrivateProfileStringW',
        -            'GetPrivateProfileStructA', 'GetPrivateProfileStructW',
        -            'GetProfileIntA', 'GetProfileIntW', 'GetProfileSectionA',
        -            'GetProfileSectionW', 'GetProfileStringA', 'GetProfileStringW',
        -            'RegCloseKey', 'RegConnectRegistryA', 'RegConnectRegistryW',
        -            'RegCreateKeyA', 'RegCreateKeyExA', 'RegCreateKeyExW',
        -            'RegCreateKeyW', 'RegDeleteKeyA', 'RegDeleteKeyW', 'RegDeleteValueA',
        -            'RegDeleteValueW', 'RegEnumKeyA', 'RegEnumKeyExA', 'RegEnumKeyExW',
        -            'RegEnumKeyW', 'RegEnumValueA', 'RegEnumValueW', 'RegFlushKey',
        -            'RegGetKeySecurity', 'RegLoadKeyA', 'RegLoadKeyW',
        -            'RegNotifyChangeKeyValue', 'RegOpenKeyA', 'RegOpenKeyExA', 'RegOpenKeyExW',
        -            'RegOpenKeyW', 'RegOverridePredefKey', 'RegQueryInfoKeyA',
        -            'RegQueryInfoKeyW', 'RegQueryMultipleValuesA', 'RegQueryMultipleValuesW',
        -            'RegQueryValueA', 'RegQueryValueExA', 'RegQueryValueExW', 'RegQueryValueW',
        -            'RegReplaceKeyA', 'RegReplaceKeyW', 'RegRestoreKeyA', 'RegRestoreKeyW',
        -            'RegSaveKeyA', 'RegSaveKeyW', 'RegSetKeySecurity', 'RegSetValueA',
        -            'RegSetValueExA', 'RegSetValueExW', 'RegSetValueW', 'RegUnLoadKeyA',
        -            'RegUnLoadKeyW', 'WritePrivateProfileSectionA', 'WritePrivateProfileSectionW',
        -            'WritePrivateProfileStringA', 'WritePrivateProfileStringW',
        -            'WritePrivateProfileStructA', 'WritePrivateProfileStructW',
        -            'WriteProfileSectionA', 'WriteProfileSectionW', 'WriteProfileStringA',
        -            'WriteProfileStringW',
        -
        -            'AccessCheck', 'AccessCheckAndAuditAlarmA', 'AccessCheckAndAuditAlarmW',
        -            'AccessCheckByType', 'AccessCheckByTypeAndAuditAlarmA',
        -            'AccessCheckByTypeAndAuditAlarmW', 'AccessCheckByTypeResultList',
        -            'AccessCheckByTypeResultListAndAuditAlarmA', 'AccessCheckByTypeResultListAndAuditAlarmW',
        -            'AddAccessAllowedAce', 'AddAccessAllowedAceEx', 'AddAccessAllowedObjectAce',
        -            'AddAccessDeniedAce', 'AddAccessDeniedAceEx', 'AddAccessDeniedObjectAce',
        -            'AddAce', 'AddAuditAccessAce', 'AddAuditAccessAceEx', 'AddAuditAccessObjectAce',
        -            'AdjustTokenGroups', 'AdjustTokenPrivileges', 'AllocateAndInitializeSid',
        -            'AllocateLocallyUniqueId', 'AreAllAccessesGranted', 'AreAnyAccessesGranted',
        -            'BuildExplicitAccessWithNameA', 'BuildExplicitAccessWithNameW',
        -            'BuildImpersonateExplicitAccessWithNameA', 'BuildImpersonateExplicitAccessWithNameW',
        -            'BuildImpersonateTrusteeA', 'BuildImpersonateTrusteeW', 'BuildSecurityDescriptorA',
        -            'BuildSecurityDescriptorW', 'BuildTrusteeWithNameA', 'BuildTrusteeWithNameW',
        -            'BuildTrusteeWithSidA', 'BuildTrusteeWithSidW',
        -            'ConvertToAutoInheritPrivateObjectSecurity', 'CopySid', 'CreatePrivateObjectSecurity',
        -            'CreatePrivateObjectSecurityEx', 'CreateRestrictedToken', 'DeleteAce',
        -            'DestroyPrivateObjectSecurity', 'DuplicateToken', 'DuplicateTokenEx',
        -            'EqualPrefixSid', 'EqualSid', 'FindFirstFreeAce', 'FreeSid', 'GetAce',
        -            'GetAclInformation', 'GetAuditedPermissionsFromAclA', 'GetAuditedPermissionsFromAclW',
        -            'GetEffectiveRightsFromAclA', 'GetEffectiveRightsFromAclW',
        -            'GetExplicitEntriesFromAclA', 'GetExplicitEntriesFromAclW', 'GetFileSecurityA',
        -            'GetFileSecurityW', 'GetKernelObjectSecurity', 'GetLengthSid', 'GetMultipleTrusteeA',
        -            'GetMultipleTrusteeOperationA', 'GetMultipleTrusteeOperationW', 'GetMultipleTrusteeW',
        -            'GetNamedSecurityInfoA', 'GetNamedSecurityInfoW', 'GetPrivateObjectSecurity',
        -            'GetSecurityDescriptorControl', 'GetSecurityDescriptorDacl',
        -            'GetSecurityDescriptorGroup', 'GetSecurityDescriptorLength',
        -            'GetSecurityDescriptorOwner', 'GetSecurityDescriptorSacl', 'GetSecurityInfo',
        -            'GetSidIdentifierAuthority', 'GetSidLengthRequired', 'GetSidSubAuthority',
        -            'GetSidSubAuthorityCount', 'GetTokenInformation', 'GetTrusteeFormA',
        -            'GetTrusteeFormW', 'GetTrusteeNameA', 'GetTrusteeNameW', 'GetTrusteeTypeA',
        -            'GetTrusteeTypeW', 'GetUserObjectSecurity', 'ImpersonateLoggedOnUser',
        -            'ImpersonateNamedPipeClient', 'ImpersonateSelf', 'InitializeAcl',
        -            'InitializeSecurityDescriptor', 'InitializeSid', 'IsTokenRestricted', 'IsValidAcl',
        -            'IsValidSecurityDescriptor', 'IsValidSid', 'LogonUserA', 'LogonUserW',
        -            'LookupAccountNameA', 'LookupAccountNameW', 'LookupAccountSidA', 'LookupAccountSidW',
        -            'LookupPrivilegeDisplayNameA', 'LookupPrivilegeDisplayNameW', 'LookupPrivilegeNameA',
        -            'LookupPrivilegeNameW', 'LookupPrivilegeValueA', 'LookupPrivilegeValueW',
        -            'LookupSecurityDescriptorPartsA', 'LookupSecurityDescriptorPartsW', 'MakeAbsoluteSD',
        -            'MakeSelfRelativeSD', 'MapGenericMask', 'ObjectCloseAuditAlarmA',
        -            'ObjectCloseAuditAlarmW', 'ObjectDeleteAuditAlarmA', 'ObjectDeleteAuditAlarmW',
        -            'ObjectOpenAuditAlarmA', 'ObjectOpenAuditAlarmW', 'ObjectPrivilegeAuditAlarmA',
        -            'ObjectPrivilegeAuditAlarmW', 'OpenProcessToken', 'OpenThreadToken', 'PrivilegeCheck',
        -            'PrivilegedServiceAuditAlarmA', 'PrivilegedServiceAuditAlarmW', 'RevertToSelf',
        -            'SetAclInformation', 'SetEntriesInAclA', 'SetEntriesInAclW', 'SetFileSecurityA',
        -            'SetFileSecurityW', 'SetKernelObjectSecurity', 'SetNamedSecurityInfoA',
        -            'SetNamedSecurityInfoW', 'SetPrivateObjectSecurity', 'SetPrivateObjectSecurityEx',
        -            'SetSecurityDescriptorControl', 'SetSecurityDescriptorDacl',
        -            'SetSecurityDescriptorGroup', 'SetSecurityDescriptorOwner',
        -            'SetSecurityDescriptorSacl', 'SetSecurityInfo', 'SetThreadToken',
        -            'SetTokenInformation', 'SetUserObjectSecurity', 'ChangeServiceConfig2A',
        -            'ChangeServiceConfig2W', 'ChangeServiceConfigA', 'ChangeServiceConfigW',
        -            'CloseServiceHandle', 'ControlService', 'CreateServiceA', 'CreateServiceW',
        -            'DeleteService', 'EnumDependentServicesA', 'EnumDependentServicesW',
        -            'EnumServicesStatusA', 'EnumServicesStatusW', 'GetServiceDisplayNameA',
        -            'GetServiceDisplayNameW', 'GetServiceKeyNameA', 'GetServiceKeyNameW',
        -            'LockServiceDatabase', 'NotifyBootConfigStatus', 'OpenSCManagerA', 'OpenSCManagerW',
        -            'OpenServiceA', 'OpenServiceW', 'QueryServiceConfig2A', 'QueryServiceConfig2W',
        -            'QueryServiceConfigA', 'QueryServiceConfigW', 'QueryServiceLockStatusA',
        -            'QueryServiceLockStatusW', 'QueryServiceObjectSecurity', 'QueryServiceStatus',
        -            'RegisterServiceCtrlHandlerA', 'RegisterServiceCtrlHandlerW',
        -            'SetServiceObjectSecurity', 'SetServiceStatus', 'StartServiceA',
        -            'StartServiceCtrlDispatcherA', 'StartServiceCtrlDispatcherW', 'StartServiceW',
        -            'UnlockServiceDatabase',
        -
        -            'MultinetGetConnectionPerformanceA', 'MultinetGetConnectionPerformanceW',
        -            'NetAlertRaise', 'NetAlertRaiseEx', 'NetApiBufferAllocate', 'NetApiBufferFree',
        -            'NetApiBufferReallocate', 'NetApiBufferSize', 'NetConnectionEnum', 'NetFileClose',
        -            'NetFileGetInfo', 'NetGetAnyDCName', 'NetGetDCName', 'NetGetDisplayInformationIndex',
        -            'NetGroupAdd', 'NetGroupAddUser', 'NetGroupDel', 'NetGroupDelUser', 'NetGroupEnum',
        -            'NetGroupGetInfo', 'NetGroupGetUsers', 'NetGroupSetInfo', 'NetGroupSetUsers',
        -            'NetLocalGroupAdd', 'NetLocalGroupAddMember', 'NetLocalGroupAddMembers',
        -            'NetLocalGroupDel', 'NetLocalGroupDelMember', 'NetLocalGroupDelMembers',
        -            'NetLocalGroupEnum', 'NetLocalGroupGetInfo', 'NetLocalGroupGetMembers',
        -            'NetLocalGroupSetInfo', 'NetLocalGroupSetMembers', 'NetMessageBufferSend',
        -            'NetMessageNameAdd', 'NetMessageNameDel', 'NetMessageNameEnum',
        -            'NetMessageNameGetInfo', 'NetQueryDisplayInformation', 'NetRemoteComputerSupports',
        -            'NetRemoteTOd', 'NetReplExportDirAdd', 'NetReplExportDirDel', 'NetReplExportDirEnum',
        -            'NetReplExportDirGetInfo', 'NetReplExportDirLock', 'NetReplExportDirSetInfo',
        -            'NetReplExportDirUnlock', 'NetReplGetInfo', 'NetReplImportDirAdd',
        -            'NetReplImportDirDel', 'NetReplImportDirEnum', 'NetReplImportDirGetInfo',
        -            'NetReplImportDirLock', 'NetReplImportDirUnlock', 'NetReplSetInfo',
        -            'NetScheduleJobAdd', 'NetScheduleJobDel', 'NetScheduleJobEnum',
        -            'NetScheduleJobGetInfo', 'NetServerComputerNameAdd', 'NetServerComputerNameDel',
        -            'NetServerDiskEnum', 'NetServerEnum', 'NetServerEnumEx', 'NetServerGetInfo',
        -            'NetServerSetInfo', 'NetServerTransportAdd', 'NetServerTransportAddEx',
        -            'NetServerTransportDel', 'NetServerTransportEnum', 'NetSessionDel', 'NetSessionEnum',
        -            'NetSessionGetInfo', 'NetShareAdd', 'NetShareCheck', 'NetShareDel', 'NetShareEnum',
        -            'NetShareGetInfo', 'NetShareSetInfo', 'NetStatisticsGet', 'NetUseAdd', 'NetUseDel',
        -            'NetUseEnum', 'NetUseGetInfo', 'NetUserAdd', 'NetUserChangePassword', 'NetUserDel',
        -            'NetUserEnum', 'NetUserGetGroups', 'NetUserGetInfo', 'NetUserGetLocalGroups',
        -            'NetUserModalsGet', 'NetUserModalsSet', 'NetUserSetGroups', 'NetUserSetInfo',
        -            'NetWkstaGetInfo', 'NetWkstaSetInfo', 'NetWkstaTransportAdd', 'NetWkstaTransportDel',
        -            'NetWkstaTransportEnum', 'NetWkstaUserEnum', 'NetWkstaUserGetInfo',
        -            'NetWkstaUserSetInfo', 'WNetAddConnection2A', 'WNetAddConnection2W',
        -            'WNetAddConnection3A', 'WNetAddConnection3W', 'WNetAddConnectionA',
        -            'WNetAddConnectionW', 'WNetCancelConnection2A', 'WNetCancelConnection2W',
        -            'WNetCancelConnectionA', 'WNetCancelConnectionW', 'WNetCloseEnum',
        -            'WNetConnectionDialog', 'WNetConnectionDialog1A', 'WNetConnectionDialog1W',
        -            'WNetDisconnectDialog', 'WNetDisconnectDialog1A', 'WNetDisconnectDialog1W',
        -            'WNetEnumResourceA', 'WNetEnumResourceW', 'WNetGetConnectionA', 'WNetGetConnectionW',
        -            'WNetGetLastErrorA', 'WNetGetLastErrorW', 'WNetGetNetworkInformationA',
        -            'WNetGetNetworkInformationW', 'WNetGetProviderNameA', 'WNetGetProviderNameW',
        -            'WNetGetResourceInformationA', 'WNetGetResourceInformationW',
        -            'WNetGetResourceParentA', 'WNetGetResourceParentW', 'WNetGetUniversalNameA',
        -            'WNetGetUniversalNameW', 'WNetGetUserA', 'WNetGetUserW', 'WNetOpenEnumA',
        -            'WNetOpenEnumW', 'WNetUseConnectionA', 'WnetUseConnectionW',
        -
        -            'accept', 'bind', 'closesocket', 'connect', 'gethostbyaddr', 'gethostbyname',
        -            'gethostname', 'getpeername', 'getprotobyname', 'getprotobynumber', 'getservbyname',
        -            'getservbyport', 'getsockname', 'getsockopt', 'htonl', 'htons', 'inet_addr',
        -            'inet_ntoa', 'ioctlsocket', 'listen', 'ntohl', 'ntohs', 'recv', 'recvfrom', 'select',
        -            'send', 'sendto', 'setsockopt', 'shutdown', 'socket', 'WSAAccept',
        -            'WSAAddressToStringA', 'WSAAddressToStringW', 'WSAAsyncGetHostByAddr',
        -            'WSAAsyncGetHostByName', 'WSAAsyncGetProtoByName', 'WSAAsyncGetProtoByNumber',
        -            'WSAAsyncGetServByName', 'WSAAsyncGetServByPort', 'WSAAsyncSelect',
        -            'WSACancelAsyncRequest', 'WSACancelBlockingCall', 'WSACleanup', 'WSACloseEvent',
        -            'WSAConnect', 'WSACreateEvent', 'WSADuplicateSocketA', 'WSADuplicateSocketW',
        -            'WSAEnumNameSpaceProvidersA', 'WSAEnumNameSpaceProvidersW', 'WSAEnumNetworkEvents',
        -            'WSAEnumProtocolsA', 'WSAEnumProtocolsW', 'WSAEventSelect', 'WSAGetLastError',
        -            'WSAGetOverlappedResult', 'WSAGetQOSByName', 'WSAGetServiceClassInfoA',
        -            'WSAGetServiceClassInfoW', 'WSAGetServiceClassNameByClassIdA',
        -            'WSAGetServiceClassNameByClassIdW', 'WSAHtonl', 'WSAHtons', 'WSAInstallServiceClassA',
        -            'WSAInstallServiceClassW', 'WSAIoctl', 'WSAIsBlocking', 'WSAJoinLeaf',
        -            'WSALookupServiceBeginA', 'WSALookupServiceBeginW', 'WSALookupServiceEnd',
        -            'WSALookupServiceNextA', 'WSALookupServiceNextW', 'WSANtohl', 'WSANtohs',
        -            'WSAProviderConfigChange', 'WSARecv', 'WSARecvDisconnect', 'WSARecvFrom',
        -            'WSARemoveServiceClass', 'WSAResetEvent', 'WSASend', 'WSASendDisconnect', 'WSASendTo',
        -            'WSASetBlockingHook', 'WSASetEvent', 'WSASetLastError', 'WSASetServiceA',
        -            'WSASetServiceW', 'WSASocketA', 'WSASocketW', 'WSAStartup', 'WSAStringToAddressA',
        -            'WSAStringToAddressW', 'WSAUnhookBlockingHook', 'WSAWaitForMultipleEvents',
        -            'WSCDeinstallProvider', 'WSCEnableNSProvider', 'WSCEnumProtocols',
        -            'WSCGetProviderPath', 'WSCInstallNameSpace', 'WSCInstallProvider',
        -            'WSCUnInstallNameSpace',
        -
        -            'ContinueDebugEvent', 'DebugActiveProcess', 'DebugBreak', 'FatalExit',
        -            'FlushInstructionCache', 'GetThreadContext', 'GetThreadSelectorEntry',
        -            'IsDebuggerPresent', 'OutputDebugStringA', 'OutputDebugStringW', 'ReadProcessMemory',
        -            'SetDebugErrorLevel', 'SetThreadContext', 'WaitForDebugEvent', 'WriteProcessMemory',
        -
        -            'CloseHandle', 'DuplicateHandle', 'GetHandleInformation', 'SetHandleInformation',
        -
        -            'AdjustWindowRect', 'AdjustWindowRectEx', 'AllowSetForegroundWindow',
        -            'AnimateWindow', 'AnyPopup', 'ArrangeIconicWindows', 'BeginDeferWindowPos',
        -            'BringWindowToTop', 'CascadeWindows', 'ChildWindowFromPoint',
        -            'ChildWindowFromPointEx', 'CloseWindow', 'CreateWindowExA', 'CreateWindowExW',
        -            'DeferWindowPos', 'DestroyWindow', 'EndDeferWindowPos', 'EnumChildWindows',
        -            'EnumThreadWindows', 'EnumWindows', 'FindWindowA', 'FindWindowExA', 'FindWindowExW',
        -            'FindWindowW', 'GetAltTabInfoA', 'GetAltTabInfoW', 'GetAncestor', 'GetClientRect',
        -            'GetDesktopWindow', 'GetForegroundWindow', 'GetGUIThreadInfo', 'GetLastActivePopup',
        -            'GetLayout', 'GetParent', 'GetProcessDefaultLayout', 'GetTitleBarInf', 'GetTopWindow',
        -            'GetWindow', 'GetWindowInfo', 'GetWindowModuleFileNameA', 'GetWindowModuleFileNameW',
        -            'GetWindowPlacement', 'GetWindowRect', 'GetWindowTextA', 'GetWindowTextLengthA',
        -            'GetWindowTextLengthW', 'GetWindowTextW', 'GetWindowThreadProcessId', 'IsChild',
        -            'IsIconic', 'IsWindow', 'IsWindowUnicode', 'IsWindowVisible', 'IsZoomed',
        -            'LockSetForegroundWindow', 'MoveWindow', 'OpenIcon', 'RealChildWindowFromPoint',
        -            'RealGetWindowClassA', 'RealGetWindowClassW', 'SetForegroundWindow',
        -            'SetLayeredWindowAttributes', 'SetLayout', 'SetParent', 'SetProcessDefaultLayout',
        -            'SetWindowPlacement', 'SetWindowPos', 'SetWindowTextA', 'SetWindowTextW',
        -            'ShowOwnedPopups', 'ShowWindow', 'ShowWindowAsync', 'TileWindows',
        -            'UpdateLayeredWindow', 'WindowFromPoint',
        -
        -            'CreateDialogIndirectParamA', 'CreateDialogIndirectParamW', 'CreateDialogParamA',
        -            'CreateDialogParamW', 'DefDlgProcA', 'DefDlgProcW', 'DialogBoxIndirectParamA',
        -            'DialogBoxIndirectParamW', 'DialogBoxParamA', 'DialogBoxParamW', 'EndDialog',
        -            'GetDialogBaseUnits', 'GetDlgCtrlID', 'GetDlgItem', 'GetDlgItemInt',
        -            'GetDlgItemTextA', 'GetDlgItemTextW', 'GetNextDlgGroupItem', 'GetNextDlgTabItem',
        -            'IsDialogMessageA', 'IsDialogMessageW', 'MapDialogRect', 'MessageBoxA',
        -            'MessageBoxExA', 'MessageBoxExW', 'MessageBoxIndirectA', 'MessageBoxIndirectW',
        -            'MessageBoxW', 'SendDlgItemMessageA', 'SendDlgItemMessageW', 'SetDlgItemInt',
        -            'SetDlgItemTextA', 'SetDlgItemTextW',
        -
        -            'GetWriteWatch', 'GlobalMemoryStatus', 'GlobalMemoryStatusEx', 'IsBadCodePtr',
        -            'IsBadReadPtr', 'IsBadStringPtrA', 'IsBadStringPtrW', 'IsBadWritePtr',
        -            'ResetWriteWatch', 'AllocateUserPhysicalPages', 'FreeUserPhysicalPages',
        -            'MapUserPhysicalPages', 'MapUserPhysicalPagesScatter', 'GlobalAlloc', 'GlobalFlags',
        -            'GlobalFree', 'GlobalHandle', 'GlobalLock', 'GlobalReAlloc', 'GlobalSize',
        -            'GlobalUnlock', 'LocalAlloc', 'LocalFlags', 'LocalFree', 'LocalHandle', 'LocalLock',
        -            'LocalReAlloc', 'LocalSize', 'LocalUnlock', 'GetProcessHeap', 'GetProcessHeaps',
        -            'HeapAlloc', 'HeapCompact', 'HeapCreate', 'HeapDestroy', 'HeapFree', 'HeapLock',
        -            'HeapReAlloc', 'HeapSize', 'HeapUnlock', 'HeapValidate', 'HeapWalk', 'VirtualAlloc',
        -            'VirtualAllocEx', 'VirtualFree', 'VirtualFreeEx', 'VirtualLock', 'VirtualProtect',
        -            'VirtualProtectEx', 'VirtualQuery', 'VirtualQueryEx', 'VirtualUnlock',
        -            'GetFreeSpace', 'GlobalCompact', 'GlobalFix', 'GlobalUnfix', 'GlobalUnWire',
        -            'GlobalWire', 'IsBadHugeReadPtr', 'IsBadHugeWritePtr', 'LocalCompact', 'LocalShrink',
        -
        -            'GetClassInfoA', 'GetClassInfoW', 'GetClassInfoExA', 'GetClassInfoExW',
        -            'GetClassLongA', 'GetClassLongW', 'GetClassLongPtrA', 'GetClassLongPtrW',
        -            'RegisterClassA', 'RegisterClassW', 'RegisterClassExA', 'RegisterClassExW',
        -            'SetClassLongA', 'SetClassLongW', 'SetClassLongPtrA', 'SetClassLongPtrW',
        -            'SetWindowLongA', 'SetWindowLongW', 'SetWindowLongPtrA', 'SetWindowLongPtrW',
        -            'UnregisterClassA', 'UnregisterClassW', 'GetClassWord', 'GetWindowWord',
        -            'SetClassWord', 'SetWindowWord'
        -            ),
        -        // Native API
        -        6 => array(
        -            'CsrAllocateCaptureBuffer', 'CsrAllocateCapturePointer', 'CsrAllocateMessagePointer',
        -            'CsrCaptureMessageBuffer', 'CsrCaptureMessageString', 'CsrCaptureTimeout',
        -            'CsrClientCallServer', 'CsrClientConnectToServer', 'CsrFreeCaptureBuffer',
        -            'CsrIdentifyAlertableThread', 'CsrNewThread', 'CsrProbeForRead', 'CsrProbeForWrite',
        -            'CsrSetPriorityClass',
        -
        -            'LdrAccessResource', 'LdrDisableThreadCalloutsForDll', 'LdrEnumResources',
        -            'LdrFindEntryForAddress', 'LdrFindResource_U', 'LdrFindResourceDirectory_U',
        -            'LdrGetDllHandle', 'LdrGetProcedureAddress', 'LdrInitializeThunk', 'LdrLoadDll',
        -            'LdrProcessRelocationBlock', 'LdrQueryImageFileExecutionOptions',
        -            'LdrQueryProcessModuleInformation', 'LdrShutdownProcess', 'LdrShutdownThread',
        -            'LdrUnloadDll', 'LdrVerifyImageMatchesChecksum',
        -
        -            'NtAcceptConnectPort', 'ZwAcceptConnectPort', 'NtCompleteConnectPort',
        -            'ZwCompleteConnectPort', 'NtConnectPort', 'ZwConnectPort', 'NtCreatePort',
        -            'ZwCreatePort', 'NtImpersonateClientOfPort', 'ZwImpersonateClientOfPort',
        -            'NtListenPort', 'ZwListenPort', 'NtQueryInformationPort', 'ZwQueryInformationPort',
        -            'NtReadRequestData', 'ZwReadRequestData', 'NtReplyPort', 'ZwReplyPort',
        -            'NtReplyWaitReceivePort', 'ZwReplyWaitReceivePort', 'NtReplyWaitReplyPort',
        -            'ZwReplyWaitReplyPort', 'NtRequestPort', 'ZwRequestPort', 'NtRequestWaitReplyPort',
        -            'ZwRequestWaitReplyPort', 'NtSecureConnectPort', 'ZwSecureConnectPort',
        -            'NtWriteRequestData', 'ZwWriteRequestData',
        -
        -            'NtAccessCheck', 'ZwAccessCheck', 'NtAccessCheckAndAuditAlarm',
        -            'ZwAccessCheckAndAuditAlarm', 'NtAccessCheckByType', 'ZwAccessCheckByType',
        -            'NtAccessCheckByTypeAndAuditAlarm', 'ZwAccessCheckByTypeAndAuditAlarm',
        -            'NtAccessCheckByTypeResultList', 'ZwAccessCheckByTypeResultList',
        -            'NtAdjustGroupsToken', 'ZwAdjustGroupsToken', 'NtAdjustPrivilegesToken',
        -            'ZwAdjustPrivilegesToken', 'NtCloseObjectAuditAlarm', 'ZwCloseObjectAuditAlarm',
        -            'NtCreateToken', 'ZwCreateToken', 'NtDeleteObjectAuditAlarm',
        -            'ZwDeleteObjectAuditAlarm', 'NtDuplicateToken', 'ZwDuplicateToken',
        -            'NtFilterToken', 'ZwFilterToken', 'NtImpersonateThread', 'ZwImpersonateThread',
        -            'NtOpenObjectAuditAlarm', 'ZwOpenObjectAuditAlarm', 'NtOpenProcessToken',
        -            'ZwOpenProcessToken', 'NtOpenThreadToken', 'ZwOpenThreadToken', 'NtPrivilegeCheck',
        -            'ZwPrivilegeCheck', 'NtPrivilegedServiceAuditAlarm', 'ZwPrivilegedServiceAuditAlarm',
        -            'NtPrivilegeObjectAuditAlarm', 'ZwPrivilegeObjectAuditAlarm',
        -            'NtQueryInformationToken', 'ZwQueryInformationToken', 'NtQuerySecurityObject',
        -            'ZwQuerySecurityObject', 'NtSetInformationToken', 'ZwSetInformationToken',
        -            'NtSetSecurityObject', 'ZwSetSecurityObject',
        -
        -            'NtAddAtom', 'ZwAddAtom', 'NtDeleteAtom', 'ZwDeleteAtom', 'NtFindAtom', 'ZwFindAtom',
        -            'NtQueryInformationAtom', 'ZwQueryInformationAtom',
        -
        -            'NtAlertResumeThread', 'ZwAlertResumeThread', 'NtAlertThread', 'ZwAlertThread',
        -            'NtCreateProcess', 'ZwCreateProcess', 'NtCreateThread', 'ZwCreateThread',
        -            'NtCurrentTeb', 'NtDelayExecution', 'ZwDelayExecution', 'NtGetContextThread',
        -            'ZwGetContextThread', 'NtOpenProcess', 'ZwOpenProcess', 'NtOpenThread',
        -            'ZwOpenThread', 'NtQueryInformationProcess', 'ZwQueryInformationProcess',
        -            'NtQueryInformationThread', 'ZwQueryInformationThread', 'NtQueueApcThread',
        -            'ZwQueueApcThread', 'NtResumeThread', 'ZwResumeThread', 'NtSetContextThread',
        -            'ZwSetContextThread', 'NtSetHighWaitLowThread', 'ZwSetHighWaitLowThread',
        -            'NtSetInformationProcess', 'ZwSetInformationProcess', 'NtSetInformationThread',
        -            'ZwSetInformationThread', 'NtSetLowWaitHighThread', 'ZwSetLowWaitHighThread',
        -            'NtSuspendThread', 'ZwSuspendThread', 'NtTerminateProcess', 'ZwTerminateProcess',
        -            'NtTerminateThread', 'ZwTerminateThread', 'NtTestAlert', 'ZwTestAlert',
        -            'NtYieldExecution', 'ZwYieldExecution',
        -
        -            'NtAllocateVirtualMemory', 'ZwAllocateVirtualMemory', 'NtAllocateVirtualMemory64',
        -            'ZwAllocateVirtualMemory64', 'NtAreMappedFilesTheSame', 'ZwAreMappedFilesTheSame',
        -            'NtCreateSection', 'ZwCreateSection', 'NtExtendSection', 'ZwExtendSection',
        -            'NtFlushVirtualMemory', 'ZwFlushVirtualMemory', 'NtFreeVirtualMemory',
        -            'ZwFreeVirtualMemory', 'NtFreeVirtualMemory64', 'ZwFreeVirtualMemory64',
        -            'NtLockVirtualMemory', 'ZwLockVirtualMemory', 'NtMapViewOfSection',
        -            'ZwMapViewOfSection', 'NtMapViewOfVlmSection', 'ZwMapViewOfVlmSection',
        -            'NtOpenSection', 'ZwOpenSection', 'NtProtectVirtualMemory', 'ZwProtectVirtualMemory',
        -            'NtProtectVirtualMemory64', 'ZwProtectVirtualMemory64', 'NtQueryVirtualMemory',
        -            'ZwQueryVirtualMemory', 'NtQueryVirtualMemory64', 'ZwQueryVirtualMemory64',
        -            'NtReadVirtualMemory', 'ZwReadVirtualMemory', 'NtReadVirtualMemory64',
        -            'ZwReadVirtualMemory64', 'NtUnlockVirtualMemory', 'ZwUnlockVirtualMemory',
        -            'NtUnmapViewOfSection', 'ZwUnmapViewOfSection', 'NtUnmapViewOfVlmSection',
        -            'ZwUnmapViewOfVlmSection', 'NtWriteVirtualMemory', 'ZwWriteVirtualMemory',
        -            'NtWriteVirtualMemory64', 'ZwWriteVirtualMemory64',
        -
        -            'NtAssignProcessToJobObject', 'ZwAssignProcessToJobObject', 'NtCreateJobObject',
        -            'ZwCreateJobObject', 'NtOpenJobObject', 'ZwOpenJobObject',
        -            'NtQueryInformationJobObject', 'ZwQueryInformationJobObject',
        -            'NtSetInformationJobObject', 'ZwSetInformationJobObject', 'NtTerminateJobObject',
        -            'ZwTerminateJobObject',
        -
        -            'NtCancelIoFile', 'ZwCancelIoFile', 'NtCreateFile', 'ZwCreateFile',
        -            'NtCreateIoCompletion', 'ZwCreateIoCompletion', 'NtDeleteFile', 'ZwDeleteFile',
        -            'NtDeviceIoControlFile', 'ZwDeviceIoControlFile', 'NtFlushBuffersFile',
        -            'ZwFlushBuffersFile', 'NtFsControlFile', 'ZwFsControlFile', 'NtLockFile', 'ZwLockFile',
        -            'NtNotifyChangeDirectoryFile', 'ZwNotifyChangeDirectoryFile', 'NtOpenFile',
        -            'ZwOpenFile', 'NtOpenIoCompletion', 'ZwOpenIoCompletion', 'NtQueryAttributesFile',
        -            'ZwQueryAttributesFile', 'NtQueryDirectoryFile', 'ZwQueryDirectoryFile',
        -            'NtQueryEaFile', 'ZwQueryEaFile', 'NtQueryIoCompletion', 'ZwQueryIoCompletion',
        -            'NtQueryQuotaInformationFile', 'ZwQueryQuotaInformationFile',
        -            'NtQueryVolumeInformationFile', 'ZwQueryVolumeInformationFile', 'NtReadFile',
        -            'ZwReadFile', 'NtReadFile64', 'ZwReadFile64', 'NtReadFileScatter', 'ZwReadFileScatter',
        -            'NtRemoveIoCompletion', 'ZwRemoveIoCompletion', 'NtSetEaFile', 'ZwSetEaFile',
        -            'NtSetInformationFile', 'ZwSetInformationFile', 'NtSetIoCompletion',
        -            'ZwSetIoCompletion', 'NtSetQuotaInformationFile', 'ZwSetQuotaInformationFile',
        -            'NtSetVolumeInformationFile', 'ZwSetVolumeInformationFile', 'NtUnlockFile',
        -            'ZwUnlockFile', 'NtWriteFile', 'ZwWriteFile', 'NtWriteFile64','ZwWriteFile64',
        -            'NtWriteFileGather', 'ZwWriteFileGather', 'NtQueryFullAttributesFile',
        -            'ZwQueryFullAttributesFile', 'NtQueryInformationFile', 'ZwQueryInformationFile',
        -
        -            'RtlAbortRXact', 'RtlAbsoluteToSelfRelativeSD', 'RtlAcquirePebLock',
        -            'RtlAcquireResourceExclusive', 'RtlAcquireResourceShared', 'RtlAddAccessAllowedAce',
        -            'RtlAddAccessDeniedAce', 'RtlAddAce', 'RtlAddActionToRXact', 'RtlAddAtomToAtomTable',
        -            'RtlAddAttributeActionToRXact', 'RtlAddAuditAccessAce', 'RtlAddCompoundAce',
        -            'RtlAdjustPrivilege', 'RtlAllocateAndInitializeSid', 'RtlAllocateHandle',
        -            'RtlAllocateHeap', 'RtlAnsiCharToUnicodeChar', 'RtlAnsiStringToUnicodeSize',
        -            'RtlAnsiStringToUnicodeString', 'RtlAppendAsciizToString', 'RtlAppendStringToString',
        -            'RtlAppendUnicodeStringToString', 'RtlAppendUnicodeToString', 'RtlApplyRXact',
        -            'RtlApplyRXactNoFlush', 'RtlAreAllAccessesGranted', 'RtlAreAnyAccessesGranted',
        -            'RtlAreBitsClear', 'RtlAreBitsSet', 'RtlAssert', 'RtlCaptureStackBackTrace',
        -            'RtlCharToInteger', 'RtlCheckRegistryKey', 'RtlClearAllBits', 'RtlClearBits',
        -            'RtlClosePropertySet', 'RtlCompactHeap', 'RtlCompareMemory', 'RtlCompareMemoryUlong',
        -            'RtlCompareString', 'RtlCompareUnicodeString', 'RtlCompareVariants',
        -            'RtlCompressBuffer', 'RtlConsoleMultiByteToUnicodeN', 'RtlConvertExclusiveToShared',
        -            'RtlConvertLongToLargeInteger', 'RtlConvertPropertyToVariant',
        -            'RtlConvertSharedToExclusive', 'RtlConvertSidToUnicodeString',
        -            'RtlConvertUiListToApiList', 'RtlConvertUlongToLargeInteger',
        -            'RtlConvertVariantToProperty', 'RtlCopyLuid', 'RtlCopyLuidAndAttributesArray',
        -            'RtlCopySecurityDescriptor', 'RtlCopySid', 'RtlCopySidAndAttributesArray',
        -            'RtlCopyString', 'RtlCopyUnicodeString', 'RtlCreateAcl', 'RtlCreateAndSetSD',
        -            'RtlCreateAtomTable', 'RtlCreateEnvironment', 'RtlCreateHeap',
        -            'RtlCreateProcessParameters', 'RtlCreatePropertySet', 'RtlCreateQueryDebugBuffer',
        -            'RtlCreateRegistryKey', 'RtlCreateSecurityDescriptor', 'RtlCreateTagHeap',
        -            'RtlCreateUnicodeString', 'RtlCreateUnicodeStringFromAsciiz', 'RtlCreateUserProcess',
        -            'RtlCreateUserSecurityObject', 'RtlCreateUserThread', 'RtlCustomCPToUnicodeN',
        -            'RtlCutoverTimeToSystemTime', 'RtlDecompressBuffer', 'RtlDecompressFragment',
        -            'RtlDelete', 'RtlDeleteAce', 'RtlDeleteAtomFromAtomTable', 'RtlDeleteCriticalSection',
        -            'RtlDeleteElementGenericTable', 'RtlDeleteNoSplay', 'RtlDeleteRegistryValue',
        -            'RtlDeleteResource', 'RtlDeleteSecurityObject', 'RtlDeNormalizeProcessParams',
        -            'RtlDestroyAtomTable', 'RtlDestroyEnvironment', 'RtlDestroyHandleTable',
        -            'RtlDestroyHeap', 'RtlDestroyProcessParameters', 'RtlDestroyQueryDebugBuffer',
        -            'RtlDetermineDosPathNameType_U', 'RtlDoesFileExists_U', 'RtlDosPathNameToNtPathName_U',
        -            'RtlDosSearchPath_U', 'RtlDowncaseUnicodeString', 'RtlDumpResource',
        -            'RtlEmptyAtomTable', 'RtlEnlargedIntegerMultiply', 'RtlEnlargedUnsignedDivide',
        -            'RtlEnlargedUnsignedMultiply', 'RtlEnterCriticalSection', 'RtlEnumerateGenericTable',
        -            'RtlEnumerateGenericTableWithoutSplaying', 'RtlEnumerateProperties',
        -            'RtlEnumProcessHeaps', 'RtlEqualComputerName', 'RtlEqualDomainName', 'RtlEqualLuid',
        -            'RtlEqualPrefixSid', 'RtlEqualSid', 'RtlEqualString', 'RtlEqualUnicodeString',
        -            'RtlEraseUnicodeString', 'RtlExpandEnvironmentStrings_U', 'RtlExtendedIntegerMultiply',
        -            'RtlExtendedLargeIntegerDivide', 'RtlExtendedMagicDivide', 'RtlExtendHeap',
        -            'RtlFillMemory', 'RtlFillMemoryUlong', 'RtlFindClearBits', 'RtlFindClearBitsAndSet',
        -            'RtlFindLongestRunClear', 'RtlFindLongestRunSet', 'RtlFindMessage', 'RtlFindSetBits',
        -            'RtlFindSetBitsAndClear', 'RtlFirstFreeAce', 'RtlFlushPropertySet',
        -            'RtlFormatCurrentUserKeyPath', 'RtlFormatMessage', 'RtlFreeAnsiString',
        -            'RtlFreeHandle', 'RtlFreeHeap', 'RtlFreeOemString', 'RtlFreeSid',
        -            'RtlFreeUnicodeString', 'RtlFreeUserThreadStack', 'RtlGenerate8dot3Name', 'RtlGetAce',
        -            'RtlGetCallersAddress', 'RtlGetCompressionWorkSpaceSize',
        -            'RtlGetControlSecurityDescriptor', 'RtlGetCurrentDirectory_U',
        -            'RtlGetDaclSecurityDescriptor', 'RtlGetElementGenericTable', 'RtlGetFullPathName_U',
        -            'RtlGetGroupSecurityDescriptor', 'RtlGetLongestNtPathLength', 'RtlGetNtGlobalFlags',
        -            'RtlGetNtProductType', 'RtlGetOwnerSecurityDescriptor', 'RtlGetProcessHeaps',
        -            'RtlGetSaclSecurityDescriptor', 'RtlGetUserInfoHeap', 'RtlGuidToPropertySetName',
        -            'RtlIdentifierAuthoritySid', 'RtlImageDirectoryEntryToData', 'RtlImageNtHeader',
        -            'RtlImageRvaToSection', 'RtlImageRvaToVa', 'RtlImpersonateSelf', 'RtlInitAnsiString',
        -            'RtlInitCodePageTable', 'RtlInitializeAtomPackage', 'RtlInitializeBitMap',
        -            'RtlInitializeContext', 'RtlInitializeCriticalSection',
        -            'RtlInitializeCriticalSectionAndSpinCount', 'RtlInitializeGenericTable',
        -            'RtlInitializeHandleTable', 'RtlInitializeResource', 'RtlInitializeRXact',
        -            'RtlInitializeSid', 'RtlInitNlsTables', 'RtlInitString', 'RtlInitUnicodeString',
        -            'RtlInsertElementGenericTable', 'RtlIntegerToChar', 'RtlIntegerToUnicodeString',
        -            'RtlIsDosDeviceName_U', 'RtlIsGenericTableEmpty', 'RtlIsNameLegalDOS8Dot3',
        -            'RtlIsTextUnicode', 'RtlIsValidHandle', 'RtlIsValidIndexHandle', 'RtlLargeIntegerAdd',
        -            'RtlLargeIntegerArithmeticShift', 'RtlLargeIntegerDivide', 'RtlLargeIntegerNegate',
        -            'RtlLargeIntegerShiftLeft', 'RtlLargeIntegerShiftRight', 'RtlLargeIntegerSubtract',
        -            'RtlLargeIntegerToChar', 'RtlLeaveCriticalSection', 'RtlLengthRequiredSid',
        -            'RtlLengthSecurityDescriptor', 'RtlLengthSid', 'RtlLocalTimeToSystemTime',
        -            'RtlLockHeap', 'RtlLookupAtomInAtomTable', 'RtlLookupElementGenericTable',
        -            'RtlMakeSelfRelativeSD', 'RtlMapGenericMask', 'RtlMoveMemory',
        -            'RtlMultiByteToUnicodeN', 'RtlMultiByteToUnicodeSize', 'RtlNewInstanceSecurityObject',
        -            'RtlNewSecurityGrantedAccess', 'RtlNewSecurityObject', 'RtlNormalizeProcessParams',
        -            'RtlNtStatusToDosError', 'RtlNumberGenericTableElements', 'RtlNumberOfClearBits',
        -            'RtlNumberOfSetBits', 'RtlOemStringToUnicodeSize', 'RtlOemStringToUnicodeString',
        -            'RtlOemToUnicodeN', 'RtlOnMappedStreamEvent', 'RtlOpenCurrentUser',
        -            'RtlPcToFileHeader', 'RtlPinAtomInAtomTable', 'RtlpNtCreateKey',
        -            'RtlpNtEnumerateSubKey', 'RtlpNtMakeTemporaryKey', 'RtlpNtOpenKey',
        -            'RtlpNtQueryValueKey', 'RtlpNtSetValueKey', 'RtlPrefixString',
        -            'RtlPrefixUnicodeString', 'RtlPropertySetNameToGuid', 'RtlProtectHeap',
        -            'RtlpUnWaitCriticalSection', 'RtlpWaitForCriticalSection', 'RtlQueryAtomInAtomTable',
        -            'RtlQueryEnvironmentVariable_U', 'RtlQueryInformationAcl',
        -            'RtlQueryProcessBackTraceInformation', 'RtlQueryProcessDebugInformation',
        -            'RtlQueryProcessHeapInformation', 'RtlQueryProcessLockInformation',
        -            'RtlQueryProperties', 'RtlQueryPropertyNames', 'RtlQueryPropertySet',
        -            'RtlQueryRegistryValues', 'RtlQuerySecurityObject', 'RtlQueryTagHeap',
        -            'RtlQueryTimeZoneInformation', 'RtlRaiseException', 'RtlRaiseStatus', 'RtlRandom',
        -            'RtlReAllocateHeap', 'RtlRealPredecessor', 'RtlRealSuccessor', 'RtlReleasePebLock',
        -            'RtlReleaseResource', 'RtlRemoteCall', 'RtlResetRtlTranslations',
        -            'RtlRunDecodeUnicodeString', 'RtlRunEncodeUnicodeString', 'RtlSecondsSince1970ToTime',
        -            'RtlSecondsSince1980ToTime', 'RtlSelfRelativeToAbsoluteSD', 'RtlSetAllBits',
        -            'RtlSetAttributesSecurityDescriptor', 'RtlSetBits', 'RtlSetCriticalSectionSpinCount',
        -            'RtlSetCurrentDirectory_U', 'RtlSetCurrentEnvironment', 'RtlSetDaclSecurityDescriptor',
        -            'RtlSetEnvironmentVariable', 'RtlSetGroupSecurityDescriptor', 'RtlSetInformationAcl',
        -            'RtlSetOwnerSecurityDescriptor', 'RtlSetProperties', 'RtlSetPropertyNames',
        -            'RtlSetPropertySetClassId', 'RtlSetSaclSecurityDescriptor', 'RtlSetSecurityObject',
        -            'RtlSetTimeZoneInformation', 'RtlSetUnicodeCallouts', 'RtlSetUserFlagsHeap',
        -            'RtlSetUserValueHeap', 'RtlSizeHeap', 'RtlSplay', 'RtlStartRXact',
        -            'RtlSubAuthorityCountSid', 'RtlSubAuthoritySid', 'RtlSubtreePredecessor',
        -            'RtlSubtreeSuccessor', 'RtlSystemTimeToLocalTime', 'RtlTimeFieldsToTime',
        -            'RtlTimeToElapsedTimeFields', 'RtlTimeToSecondsSince1970', 'RtlTimeToSecondsSince1980',
        -            'RtlTimeToTimeFields', 'RtlTryEnterCriticalSection', 'RtlUnicodeStringToAnsiSize',
        -            'RtlUnicodeStringToAnsiString', 'RtlUnicodeStringToCountedOemString',
        -            'RtlUnicodeStringToInteger', 'RtlUnicodeStringToOemSize',
        -            'RtlUnicodeStringToOemString', 'RtlUnicodeToCustomCPN', 'RtlUnicodeToMultiByteN',
        -            'RtlUnicodeToMultiByteSize', 'RtlUnicodeToOemN', 'RtlUniform', 'RtlUnlockHeap',
        -            'RtlUnwind', 'RtlUpcaseUnicodeChar', 'RtlUpcaseUnicodeString',
        -            'RtlUpcaseUnicodeStringToAnsiString', 'RtlUpcaseUnicodeStringToCountedOemString',
        -            'RtlUpcaseUnicodeStringToOemString', 'RtlUpcaseUnicodeToCustomCPN',
        -            'RtlUpcaseUnicodeToMultiByteN', 'RtlUpcaseUnicodeToOemN', 'RtlUpperChar',
        -            'RtlUpperString', 'RtlUsageHeap', 'RtlValidAcl', 'RtlValidateHeap',
        -            'RtlValidateProcessHeaps', 'RtlValidSecurityDescriptor', 'RtlValidSid', 'RtlWalkHeap',
        -            'RtlWriteRegistryValue', 'RtlxAnsiStringToUnicodeSize', 'RtlxOemStringToUnicodeSize',
        -            'RtlxUnicodeStringToAnsiSize', 'RtlxUnicodeStringToOemSize', 'RtlZeroHeap',
        -            'RtlZeroMemory',
        -
        -            'NtCancelTimer', 'ZwCancelTimer', 'NtCreateTimer', 'ZwCreateTimer', 'NtGetTickCount',
        -            'ZwGetTickCount', 'NtOpenTimer', 'ZwOpenTimer', 'NtQueryPerformanceCounter',
        -            'ZwQueryPerformanceCounter', 'NtQuerySystemTime', 'ZwQuerySystemTime', 'NtQueryTimer',
        -            'ZwQueryTimer', 'NtQueryTimerResolution', 'ZwQueryTimerResolution', 'NtSetSystemTime',
        -            'ZwSetSystemTime', 'NtSetTimer', 'ZwSetTimer', 'NtSetTimerResolution',
        -            'ZwSetTimerResolution',
        -
        -            'NtClearEvent', 'ZwClearEvent', 'NtCreateEvent', 'ZwCreateEvent', 'NtCreateEventPair',
        -            'ZwCreateEventPair', 'NtCreateMutant', 'ZwCreateMutant', 'NtCreateSemaphore',
        -            'ZwCreateSemaphore', 'NtOpenEvent', 'ZwOpenEvent', 'NtOpenEventPair',
        -            'ZwOpenEventPair', 'NtOpenMutant', 'ZwOpenMutant', 'NtOpenSemaphore',
        -            'ZwOpenSemaphore', 'NtPulseEvent', 'ZwPulseEvent', 'NtQueryEvent', 'ZwQueryEvent',
        -            'NtQueryMutant', 'ZwQueryMutant', 'NtQuerySemaphore', 'ZwQuerySemaphore',
        -            'NtReleaseMutant', 'ZwReleaseMutant', 'NtReleaseProcessMutant',
        -            'ZwReleaseProcessMutant', 'NtReleaseSemaphore', 'ZwReleaseSemaphore',
        -            'NtReleaseThreadMutant', 'ZwReleaseThreadMutant', 'NtResetEvent', 'ZwResetEvent',
        -            'NtSetEvent', 'ZwSetEvent', 'NtSetHighEventPair', 'ZwSetHighEventPair',
        -            'NtSetHighWaitLowEventPair', 'ZwSetHighWaitLowEventPair', 'NtSetLowEventPair',
        -            'ZwSetLowEventPair', 'NtSetLowWaitHighEventPair', 'ZwSetLowWaitHighEventPair',
        -            'NtSignalAndWaitForSingleObject', 'ZwSignalAndWaitForSingleObject',
        -            'NtWaitForMultipleObjects', 'ZwWaitForMultipleObjects', 'NtWaitForSingleObject',
        -            'ZwWaitForSingleObject', 'NtWaitHighEventPair', 'ZwWaitHighEventPair',
        -            'NtWaitLowEventPair', 'ZwWaitLowEventPair',
        -
        -            'NtClose', 'ZwClose', 'NtCreateDirectoryObject', 'ZwCreateDirectoryObject',
        -            'NtCreateSymbolicLinkObject', 'ZwCreateSymbolicLinkObject',
        -            'NtDuplicateObject', 'ZwDuplicateObject', 'NtMakeTemporaryObject',
        -            'ZwMakeTemporaryObject', 'NtOpenDirectoryObject', 'ZwOpenDirectoryObject',
        -            'NtOpenSymbolicLinkObject', 'ZwOpenSymbolicLinkObject', 'NtQueryDirectoryObject',
        -            'ZwQueryDirectoryObject', 'NtQueryObject', 'ZwQueryObject',
        -            'NtQuerySymbolicLinkObject', 'ZwQuerySymbolicLinkObject', 'NtSetInformationObject',
        -            'ZwSetInformationObject',
        -
        -            'NtContinue', 'ZwContinue', 'NtRaiseException', 'ZwRaiseException',
        -            'NtRaiseHardError', 'ZwRaiseHardError', 'NtSetDefaultHardErrorPort',
        -            'ZwSetDefaultHardErrorPort',
        -
        -            'NtCreateChannel', 'ZwCreateChannel', 'NtListenChannel', 'ZwListenChannel',
        -            'NtOpenChannel', 'ZwOpenChannel', 'NtReplyWaitSendChannel', 'ZwReplyWaitSendChannel',
        -            'NtSendWaitReplyChannel', 'ZwSendWaitReplyChannel', 'NtSetContextChannel',
        -            'ZwSetContextChannel',
        -
        -            'NtCreateKey', 'ZwCreateKey', 'NtDeleteKey', 'ZwDeleteKey', 'NtDeleteValueKey',
        -            'ZwDeleteValueKey', 'NtEnumerateKey', 'ZwEnumerateKey', 'NtEnumerateValueKey',
        -            'ZwEnumerateValueKey', 'NtFlushKey', 'ZwFlushKey', 'NtInitializeRegistry',
        -            'ZwInitializeRegistry', 'NtLoadKey', 'ZwLoadKey', 'NtLoadKey2', 'ZwLoadKey2',
        -            'NtNotifyChangeKey', 'ZwNotifyChangeKey', 'NtOpenKey', 'ZwOpenKey', 'NtQueryKey',
        -            'ZwQueryKey', 'NtQueryMultipleValueKey', 'ZwQueryMultipleValueKey',
        -            'NtQueryMultiplValueKey', 'ZwQueryMultiplValueKey', 'NtQueryValueKey',
        -            'ZwQueryValueKey', 'NtReplaceKey', 'ZwReplaceKey', 'NtRestoreKey', 'ZwRestoreKey',
        -            'NtSaveKey', 'ZwSaveKey', 'NtSetInformationKey', 'ZwSetInformationKey',
        -            'NtSetValueKey', 'ZwSetValueKey', 'NtUnloadKey', 'ZwUnloadKey',
        -
        -            'NtCreateMailslotFile', 'ZwCreateMailslotFile', 'NtCreateNamedPipeFile',
        -            'ZwCreateNamedPipeFile', 'NtCreatePagingFile', 'ZwCreatePagingFile',
        -
        -            'NtCreateProfile', 'ZwCreateProfile', 'NtQueryIntervalProfile',
        -            'ZwQueryIntervalProfile', 'NtRegisterThreadTerminatePort',
        -            'ZwRegisterThreadTerminatePort', 'NtSetIntervalProfile', 'ZwSetIntervalProfile',
        -            'NtStartProfile', 'ZwStartProfile', 'NtStopProfile', 'ZwStopProfile',
        -            'NtSystemDebugControl', 'ZwSystemDebugControl',
        -
        -            'NtEnumerateBus', 'ZwEnumerateBus', 'NtFlushInstructionCache',
        -            'ZwFlushInstructionCache', 'NtFlushWriteBuffer', 'ZwFlushWriteBuffer',
        -            'NtSetLdtEntries', 'ZwSetLdtEntries',
        -
        -            'NtGetPlugPlayEvent', 'ZwGetPlugPlayEvent', 'NtPlugPlayControl', 'ZwPlugPlayControl',
        -
        -            'NtInitiatePowerAction', 'ZwInitiatePowerAction', 'NtPowerInformation',
        -            'ZwPowerInformation', 'NtRequestWakeupLatency', 'ZwRequestWakeupLatency',
        -            'NtSetSystemPowerState', 'ZwSetSystemPowerState', 'NtSetThreadExecutionState',
        -            'ZwSetThreadExecutionState',
        -
        -            'NtLoadDriver', 'ZwLoadDriver', 'NtRegisterNewDevice', 'ZwRegisterNewDevice',
        -            'NtUnloadDriver', 'ZwUnloadDriver',
        -
        -            'NtQueryDefaultLocale', 'ZwQueryDefaultLocale', 'NtQueryDefaultUILanguage',
        -            'ZwQueryDefaultUILanguage', 'NtQuerySystemEnvironmentValue',
        -            'ZwQuerySystemEnvironmentValue', 'NtSetDefaultLocale', 'ZwSetDefaultLocale',
        -            'NtSetDefaultUILanguage', 'ZwSetDefaultUILanguage', 'NtSetSystemEnvironmentValue',
        -            'ZwSetSystemEnvironmentValue',
        -
        -            'DbgBreakPoint', 'DbgPrint', 'DbgPrompt', 'DbgSsHandleKmApiMsg', 'DbgSsInitialize',
        -            'DbgUiConnectToDbg', 'DbgUiContinue', 'DbgUiWaitStateChange', 'DbgUserBreakPoint',
        -            'KiRaiseUserExceptionDispatcher', 'KiUserApcDispatcher', 'KiUserCallbackDispatcher',
        -            'KiUserExceptionDispatcher', 'NlsAnsiCodePage', 'NlsMbCodePageTag',
        -            'NlsMbOemCodePageTag', 'NtAllocateLocallyUniqueId', 'ZwAllocateLocallyUniqueId',
        -            'NtAllocateUuids', 'ZwAllocateUuids', 'NtCallbackReturn', 'ZwCallbackReturn',
        -            'NtDisplayString', 'ZwDisplayString', 'NtQueryOleDirectoryFile',
        -            'ZwQueryOleDirectoryFile', 'NtQuerySection', 'ZwQuerySection',
        -            'NtQuerySystemInformation', 'ZwQuerySystemInformation', 'NtSetSystemInformation',
        -            'ZwSetSystemInformation', 'NtShutdownSystem', 'ZwShutdownSystem', 'NtVdmControl',
        -            'ZwVdmControl', 'NtW32Call', 'ZwW32Call', 'PfxFindPrefix', 'PfxInitialize',
        -            'PfxInsertPrefix', 'PfxRemovePrefix', 'PropertyLengthAsVariant', 'RestoreEm87Context',
        -            'SaveEm87Context'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']',
        -        '+', '-', '*', '/', '%',
        -        '=', '<', '>',
        -        '!', '^', '&', '|',
        -        '?', ':',
        -        ';', ','
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;',
        -            4 => 'color: #993333;',
        -            5 => 'color: #4000dd;',
        -            6 => 'color: #4000dd;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #339933;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #660099; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold;',
        -            'HARD' => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000dd;',
        -            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
        -        4 => '',
        -        5 => 'http://www.google.com/search?q={FNAMEL}+msdn.microsoft.com',
        -        6 => 'http://www.google.com/search?q={FNAMEL}+msdn.microsoft.com'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/caddcl.php b/vendor/easybook/geshi/geshi/caddcl.php
        deleted file mode 100644
        index 0135a7a..0000000
        --- a/vendor/easybook/geshi/geshi/caddcl.php
        +++ /dev/null
        @@ -1,124 +0,0 @@
        - 'CAD DCL',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'boxed_column','boxed_radio_column','boxed_radio_row','boxed_row',
        -            'column','concatenation','button','dialog','edit_box','image','image_button',
        -            'errtile','list_box','ok_cancel','ok_cancel_help','ok_cancel_help_errtile',
        -            'ok_cancel_help_info','ok_only','paragraph','popup_list','radio_button',
        -            'radio_column','radio_row','row','slider','spacer','spacer_0','spacer_1','text',
        -            'text_part','toggle',
        -            'action','alignment','allow_accept','aspect_ratio','big_increment',
        -            'children_alignment','children_fixed_height',
        -            'children_fixed_width','color',
        -            'edit_limit','edit_width','fixed_height','fixed_width',
        -            'height','initial_focus','is_cancel','is_default',
        -            'is_enabled','is_tab_stop','is-bold','key','label','layout','list',
        -            'max_value','min_value','mnemonic','multiple_select','password_char',
        -            'small_increment','tabs','tab_truncate','value','width',
        -            'false','true','left','right','centered','top','bottom',
        -            'dialog_line','dialog_foreground','dialog_background',
        -            'graphics_background','black','red','yellow','green','cyan',
        -            'blue','magenta','whitegraphics_foreground',
        -            'horizontal','vertical'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/cadlisp.php b/vendor/easybook/geshi/geshi/cadlisp.php
        deleted file mode 100644
        index 41d72ca..0000000
        --- a/vendor/easybook/geshi/geshi/cadlisp.php
        +++ /dev/null
        @@ -1,184 +0,0 @@
        - 'CAD Lisp',
        -    'COMMENT_SINGLE' => array(1 => ";"),
        -    'COMMENT_MULTI' => array(";|" => "|;"),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'abs','acad_colordlg','acad_helpdlg','acad_strlsort','action_tile',
        -            'add_list','alert','alloc','and','angle','angtof','angtos','append','apply',
        -            'arx','arxload','arxunload','ascii','assoc','atan','atof','atoi','atom',
        -            'atoms-family','autoarxload','autoload','Boole','boundp','caddr',
        -            'cadr','car','cdr','chr','client_data_tile','close','command','cond',
        -            'cons','cos','cvunit','defun','defun-q','defun-q-list-ref',
        -            'defun-q-list-set','dictadd','dictnext','dictremove','dictrename',
        -            'dictsearch','dimx_tile','dimy_tile','distance','distof','done_dialog',
        -            'end_image','end_list','entdel','entget','entlast','entmake',
        -            'entmakex','entmod','entnext','entsel','entupd','eq','equal','eval','exit',
        -            'exp','expand','expt','fill_image','findfile','fix','float','foreach','function',
        -            'gc','gcd','get_attr','get_tile','getangle','getcfg','getcname','getcorner',
        -            'getdist','getenv','getfiled','getint','getkword','getorient','getpoint',
        -            'getreal','getstring','getvar','graphscr','grclear','grdraw','grread','grtext',
        -            'grvecs','handent','help','if','initdia','initget','inters','itoa','lambda','last',
        -            'layoutlist','length','list','listp','load','load_dialog','log','logand','logior',
        -            'lsh','mapcar','max','mem','member','menucmd','menugroup','min','minusp','mode_tile',
        -            'namedobjdict','nentsel','nentselp','new_dialog','nil','not','nth','null',
        -            'numberp','open','or','osnap','polar','prin1','princ','print','progn','prompt',
        -            'quit','quote','read','read-char','read-line','redraw','regapp','rem','repeat',
        -            'reverse','rtos','set','set_tile','setcfg','setenv','setfunhelp','setq','setvar',
        -            'setview','sin','slide_image','snvalid','sqrt','ssadd','ssdel','ssget','ssgetfirst',
        -            'sslength','ssmemb','ssname','ssnamex','sssetfirst','start_dialog','start_image',
        -            'start_list','startapp','strcase','strcat','strlen','subst','substr','t','tablet',
        -            'tblnext','tblobjname','tblsearch','term_dialog','terpri','textbox','textpage',
        -            'textscr','trace','trans','type','unload_dialog','untrace','vector_image','ver',
        -            'vports','wcmatch','while','write-char','write-line','xdroom','xdsize','zerop',
        -            'vl-acad-defun','vl-acad-undefun','vl-arx-import','vlax-3D-point',
        -            'vlax-add-cmd','vlax-create-object','vlax-curve-getArea',
        -            'vlax-curve-getClosestPointTo','vlax-curve-getClosestPointToProjection',
        -            'vlax-curve-getDistAtParam','vlax-curve-getDistAtPoint',
        -            'vlax-curve-getEndParam','vlax-curve-getEndPoint',
        -            'vlax-curve-getFirstDeriv','vlax-curve-getParamAtDist',
        -            'vlax-curve-getParamAtPoint','vlax-curve-getPointAtDist',
        -            'vlax-curve-getPointAtParam','vlax-curve-getSecondDeriv',
        -            'vlax-curve-getStartParam','vlax-curve-getStartPoint',
        -            'vlax-curve-isClosed','vlax-curve-isPeriodic','vlax-curve-isPlanar',
        -            'vlax-dump-object','vlax-erased-p','vlax-for','vlax-get-acad-object',
        -            'vlax-get-object','vlax-get-or-create-object','vlax-get-property',
        -            'vlax-import-type-library','vlax-invoke-method','vlax-ldata-delete',
        -            'vlax-ldata-get','vlax-ldata-list','vlax-ldata-put','vlax-ldata-test',
        -            'vlax-make-safearray','vlax-make-variant','vlax-map-collection',
        -            'vlax-method-applicable-p','vlax-object-released-p','vlax-product-key',
        -            'vlax-property-available-p','vlax-put-property','vlax-read-enabled-p',
        -            'vlax-release-object','vlax-remove-cmd','vlax-safearray-fill',
        -            'vlax-safearray-get-dim','vlax-safearray-get-element',
        -            'vlax-safearray-get-l-bound','vlax-safearray-get-u-bound',
        -            'vlax-safearray-put-element','vlax-safearray-type','vlax-tmatrix',
        -            'vlax-typeinfo-available-p','vlax-variant-change-type',
        -            'vlax-variant-type','vlax-variant-value','vlax-write-enabled-p',
        -            'vl-bb-ref','vl-bb-set','vl-catch-all-apply','vl-catch-all-error-message',
        -            'vl-catch-all-error-p','vl-cmdf','vl-consp','vl-directory-files','vl-doc-export',
        -            'vl-doc-import','vl-doc-ref','vl-doc-set','vl-every','vl-exit-with-error',
        -            'vl-exit-with-value','vl-file-copy','vl-file-delete','vl-file-directory-p',
        -            'vl-filename-base','vl-filename-directory','vl-filename-extension',
        -            'vl-filename-mktemp','vl-file-rename','vl-file-size','vl-file-systime',
        -            'vl-get-resource','vlisp-compile','vl-list-exported-functions',
        -            'vl-list-length','vl-list-loaded-vlx','vl-load-all','vl-load-com',
        -            'vl-load-reactors','vl-member-if','vl-member-if-not','vl-position',
        -            'vl-prin1-to-string','vl-princ-to-string','vl-propagate','vlr-acdb-reactor',
        -            'vlr-add','vlr-added-p','vlr-beep-reaction','vlr-command-reactor',
        -            'vlr-current-reaction-name','vlr-data','vlr-data-set',
        -            'vlr-deepclone-reactor','vlr-docmanager-reactor','vlr-dwg-reactor',
        -            'vlr-dxf-reactor','vlr-editor-reactor','vl-registry-delete',
        -            'vl-registry-descendents','vl-registry-read','vl-registry-write',
        -            'vl-remove','vl-remove-if','vl-remove-if-not','vlr-insert-reactor',
        -            'vlr-linker-reactor','vlr-lisp-reactor','vlr-miscellaneous-reactor',
        -            'vlr-mouse-reactor','vlr-notification','vlr-object-reactor',
        -            'vlr-owner-add','vlr-owner-remove','vlr-owners','vlr-pers','vlr-pers-list',
        -            'vlr-pers-p','vlr-pers-release','vlr-reaction-names','vlr-reactions',
        -            'vlr-reaction-set','vlr-reactors','vlr-remove','vlr-remove-all',
        -            'vlr-set-notification','vlr-sysvar-reactor','vlr-toolbar-reactor',
        -            'vlr-trace-reaction','vlr-type','vlr-types','vlr-undo-reactor',
        -            'vlr-wblock-reactor','vlr-window-reactor','vlr-xref-reactor',
        -            'vl-some','vl-sort','vl-sort-i','vl-string-elt','vl-string-left-trim',
        -            'vl-string-mismatch','vl-string-position','vl-string-right-trim',
        -            'vl-string-search','vl-string-subst','vl-string-translate','vl-string-trim',
        -            'vl-symbol-name','vl-symbolp','vl-symbol-value','vl-unload-vlx','vl-vbaload',
        -            'vl-vbarun','vl-vlx-loaded-p'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/cfdg.php b/vendor/easybook/geshi/geshi/cfdg.php
        deleted file mode 100644
        index eeb7c2f..0000000
        --- a/vendor/easybook/geshi/geshi/cfdg.php
        +++ /dev/null
        @@ -1,122 +0,0 @@
        -
        - * Copyright: (c) 2006 John Horigan http://www.ozonehouse.com/john/
        - * Release Version: 1.0.8.11
        - * Date Started: 2006/03/11
        - *
        - * CFDG language file for GeSHi.
        - *
        - * CHANGES
        - * -------
        - * 2006/03/11 (1.0.0)
        - *  -  First Release
        - *
        - * TODO (updated 2006/03/11)
        - * -------------------------
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'CFDG',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'include', 'startshape', 'rule', 'background'
        -            ),
        -        2 => array(
        -            'SQUARE', 'CIRCLE', 'TRIANGLE',
        -            ),
        -        3 => array(
        -            'b','brightness','h','hue','sat','saturation',
        -            'a','alpha','x','y','z','s','size',
        -            'r','rotate','f','flip','skew','xml_set_object'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '[', ']', '{', '}', '*', '|'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #717100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #006666;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/cfm.php b/vendor/easybook/geshi/geshi/cfm.php
        deleted file mode 100644
        index 8829ace..0000000
        --- a/vendor/easybook/geshi/geshi/cfm.php
        +++ /dev/null
        @@ -1,298 +0,0 @@
        - 'ColdFusion',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        /* CFM Tags */
        -        1 => array(
        -            'cfabort', 'cfapplet', 'cfapplication', 'cfargument', 'cfassociate',
        -            'cfbreak', 'cfcache', 'cfcase', 'cfcatch', 'cfchart', 'cfchartdata',
        -            'cfchartseries', 'cfcol', 'cfcollection', 'cfcomponent',
        -            'cfcontent', 'cfcookie', 'cfdefaultcase', 'cfdirectory',
        -            'cfdocument', 'cfdocumentitem', 'cfdocumentsection', 'cfdump',
        -            'cfelse', 'cfelseif', 'cferror', 'cfexecute', 'cfexit', 'cffile',
        -            'cfflush', 'cfform', 'cfformgroup', 'cfformitem', 'cfftp',
        -            'cffunction', 'cfgrid', 'cfgridcolumn', 'cfgridrow', 'cfgridupdate',
        -            'cfheader', 'cfhtmlhead', 'cfhttp', 'cfhttpparam', 'cfif',
        -            'cfimport', 'cfinclude', 'cfindex', 'cfinput', 'cfinsert',
        -            'cfinvoke', 'cfinvokeargument', 'cfldap', 'cflocation', 'cflock',
        -            'cflog', 'cflogin', 'cfloginuser', 'cflogout', 'cfloop', 'cfmail',
        -            'cfmailparam', 'cfmailpart', 'cfmodule', 'cfNTauthenticate',
        -            'cfobject', 'cfobjectcache', 'cfoutput', 'cfparam', 'cfpop',
        -            'cfprocessingdirective', 'cfprocparam',
        -            'cfprocresult', 'cfproperty', 'cfquery', 'cfqueryparam',
        -            'cfregistry', 'cfreport', 'cfreportparam', 'cfrethrow', 'cfreturn',
        -            'cfsavecontent', 'cfschedule', 'cfscript', 'cfsearch', 'cfselect',
        -            'cfset', 'cfsetting', 'cfsilent', 'cfstoredproc',
        -            'cfswitch', 'cftable', 'cftextarea', 'cfthrow', 'cftimer',
        -            'cftrace', 'cftransaction', 'cftree', 'cftreeitem', 'cftry',
        -            'cfupdate', 'cfwddx'
        -            ),
        -        /* HTML Tags */
        -        2 => array(
        -            'a', 'abbr', 'acronym', 'address', 'applet',
        -
        -            'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b',
        -
        -            'caption', 'center', 'cite', 'code', 'colgroup', 'col',
        -
        -            'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt',
        -
        -            'em',
        -
        -            'fieldset', 'font', 'form', 'frame', 'frameset',
        -
        -            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html',
        -
        -            'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
        -
        -            'kbd',
        -
        -            'label', 'legend', 'link', 'li',
        -
        -            'map', 'meta',
        -
        -            'noframes', 'noscript',
        -
        -            'object', 'ol', 'optgroup', 'option',
        -
        -            'param', 'pre', 'p',
        -
        -            'q',
        -
        -            'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's',
        -
        -            'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt',
        -
        -            'ul', 'u',
        -
        -            'var',
        -            ),
        -        /* HTML attributes */
        -        3 => array(
        -            'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
        -            'background', 'bgcolor', 'border',
        -            'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
        -            'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
        -            'enctype',
        -            'face', 'for', 'frame', 'frameborder',
        -            'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
        -            'id', 'ismap',
        -            'label', 'lang', 'language', 'link', 'longdesc',
        -            'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
        -            'name', 'nohref', 'noresize', 'noshade', 'nowrap',
        -            'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
        -            'profile', 'prompt',
        -            'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
        -            'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
        -            'tabindex', 'target', 'text', 'title', 'type',
        -            'usemap',
        -            'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
        -            'width'
        -            ),
        -        /* CFM Script delimeters */
        -        4 => array(
        -            'var', 'function', 'while', 'if','else'
        -            ),
        -        /* CFM Functions */
        -        5 => array(
        -            'Abs', 'GetFunctionList', 'LSTimeFormat','ACos','GetGatewayHelper','LTrim','AddSOAPRequestHeader','GetHttpRequestData',
        -            'Max','AddSOAPResponseHeader','GetHttpTimeString','Mid','ArrayAppend','GetLocale','Min','ArrayAvg','GetLocaleDisplayName',
        -            'Minute','ArrayClear','GetMetaData','Month','ArrayDeleteAt','GetMetricData','MonthAsString','ArrayInsertAt','GetPageContext',
        -            'Now','ArrayIsEmpty','GetProfileSections','NumberFormat','ArrayLen','GetProfileString','ParagraphFormat','ArrayMax',
        -            'GetLocalHostIP','ParseDateTime','ArrayMin','GetSOAPRequest','Pi','ArrayNew','GetSOAPRequestHeader','PreserveSingleQuotes',
        -            'ArrayPrepend','GetSOAPResponse','Quarter','ArrayResize','GetSOAPResponseHeader','QueryAddColumn','ArraySet',
        -            'GetTempDirectory','QueryAddRow','ArraySort','QueryNew','ArraySum','GetTempFile','QuerySetCell',
        -            'ArraySwap','GetTickCount','QuotedValueList','ArrayToList','GetTimeZoneInfo','Rand','Asc','GetToken','Randomize',
        -            'ASin','Hash','RandRange','Atn','Hour','REFind','BinaryDecode','HTMLCodeFormat','REFindNoCase','BinaryEncode',
        -            'HTMLEditFormat','ReleaseComObject','BitAnd','IIf','RemoveChars','BitMaskClear','IncrementValue','RepeatString',
        -            'BitMaskRead','InputBaseN','Replace','BitMaskSet','Insert','ReplaceList','BitNot','Int','ReplaceNoCase','BitOr',
        -            'IsArray','REReplace','BitSHLN','IsBinary','REReplaceNoCase','BitSHRN','IsBoolean','Reverse','BitXor','IsCustomFunction',
        -            'Right','Ceiling','IsDate','RJustify','CharsetDecode','IsDebugMode','Round','CharsetEncode','IsDefined','RTrim',
        -            'Chr','IsLeapYear','Second','CJustify','IsLocalHost','SendGatewayMessage','Compare','IsNumeric','SetEncoding',
        -            'CompareNoCase','IsNumericDate','SetLocale','Cos','IsObject','SetProfileString','CreateDate','IsQuery','SetVariable',
        -            'CreateDateTime','IsSimpleValue','Sgn','CreateObject','IsSOAPRequest','Sin','CreateODBCDate','IsStruct','SpanExcluding',
        -            'CreateODBCDateTime','IsUserInRole','SpanIncluding','CreateODBCTime','IsValid','Sqr','CreateTime','IsWDDX','StripCR',
        -            'CreateTimeSpan','IsXML','StructAppend','CreateUUID','IsXmlAttribute','StructClear','DateAdd','IsXmlDoc','StructCopy',
        -            'DateCompare','IsXmlElem','StructCount','DateConvert','IsXmlNode','StructDelete','DateDiff','IsXmlRoot','StructFind',
        -            'DateFormat','JavaCast','StructFindKey','DatePart','JSStringFormat','StructFindValue','Day','LCase','StructGet',
        -            'DayOfWeek','Left','StructInsert','DayOfWeekAsString','Len','StructIsEmpty','DayOfYear','ListAppend','StructKeyArray',
        -            'DaysInMonth','ListChangeDelims','StructKeyExists','DaysInYear','ListContains','StructKeyList','DE','ListContainsNoCase',
        -            'StructNew','DecimalFormat','ListDeleteAt','StructSort','DecrementValue','ListFind','StructUpdate','Decrypt','ListFindNoCase',
        -            'Tan','DecryptBinary','ListFirst','TimeFormat','DeleteClientVariable','ListGetAt','ToBase64','DirectoryExists',
        -            'ListInsertAt','ToBinary','DollarFormat','ListLast','ToScript','Duplicate','ListLen','ToString','Encrypt','ListPrepend',
        -            'Trim','EncryptBinary','ListQualify','UCase','Evaluate','ListRest','URLDecode','Exp','ListSetAt','URLEncodedFormat',
        -            'ExpandPath','ListSort','URLSessionFormat','FileExists','ListToArray','Val','Find','ListValueCount','ValueList',
        -            'FindNoCase','ListValueCountNoCase','Week','FindOneOf','LJustify','Wrap','FirstDayOfMonth','Log','WriteOutput',
        -            'Fix','Log10','XmlChildPos','FormatBaseN','LSCurrencyFormat','XmlElemNew','GetAuthUser','LSDateFormat','XmlFormat',
        -            'GetBaseTagData','LSEuroCurrencyFormat','XmlGetNodeType','GetBaseTagList','LSIsCurrency','XmlNew','GetBaseTemplatePath',
        -            'LSIsDate','XmlParse','GetClientVariablesList','LSIsNumeric','XmlSearch','GetCurrentTemplatePath','LSNumberFormat',
        -            'XmlTransform','GetDirectoryFromPath','LSParseCurrency','XmlValidate','GetEncoding','LSParseDateTime','Year',
        -            'GetException','LSParseEuroCurrency','YesNoFormat','GetFileFromPath','LSParseNumber'
        -            ),
        -        /* CFM Attributes */
        -        6 => array(
        -            'dbtype','connectstring','datasource','username','password','query','delimeter','description','required','hint','default','access','from','to','list','index'
        -            ),
        -        7 => array(
        -            'EQ', 'GT', 'LT', 'GTE', 'LTE', 'IS', 'LIKE', 'NEQ'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '/', '=', '{', '}', '(', ')', '[', ']', '<', '>', '&'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false,
        -        7 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #990000; font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #0000FF;',
        -            4 => 'color: #000000; font-weight: bold;',
        -            5 => 'color: #0000FF;',
        -            6 => 'color: #0000FF;',
        -            7 => 'color: #0000FF;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #0000FF;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #0000FF;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => 'color: #808080; font-style: italic;',
        -            1 => 'color: #00bbdd;',
        -            2 => 'color: #0000FF;',
        -            3 => 'color: #000099;',
        -            4 => 'color: #333333;',
        -            5 => 'color: #333333;'
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => 'http://december.com/html/4/element/{FNAMEL}.html',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            ''
        -            ),
        -        1 => array(
        -            ' '>'
        -            ),
        -        2 => "/(?!<#)(?:(?:##)*)(#)[a-zA-Z0-9_\.\(\)]+(#)/",
        -        3 => array(
        -            '' => ''
        -            ),
        -        4 => array(
        -            '<' => '>'
        -            ),
        -        5 => '/((?!])+?(>)/si'
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => false,
        -        1 => false,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            1 => array(
        -                'DISALLOWED_BEFORE' => '(?<=<|<\/)',
        -                'DISALLOWED_AFTER' => '(?=\s|\/|>)',
        -                ),
        -            2 => array(
        -                'DISALLOWED_BEFORE' => '(?<=<|<\/)',
        -                'DISALLOWED_AFTER' => '(?=\s|\/|>)',
        -                ),
        -            3 => array(
        -                'DISALLOWED_BEFORE' => '(?|^])', // allow ; before keywords
        -                'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-])', // allow & after keywords
        -                ),
        -            7 => array(
        -                'DISALLOWED_BEFORE' => '(?&|^])', // allow ; before keywords
        -                'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-])', // allow & after keywords
        -                )
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/chaiscript.php b/vendor/easybook/geshi/geshi/chaiscript.php
        deleted file mode 100644
        index b3ce86f..0000000
        --- a/vendor/easybook/geshi/geshi/chaiscript.php
        +++ /dev/null
        @@ -1,139 +0,0 @@
        - 'ChaiScript',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    //Regular Expressions
        -    'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'break', 'else', 'elseif', 'eval', 'for', 'if', 'return', 'while', 'try', 'catch', 'finally',
        -            ),
        -        2 => array(
        -            'def', 'false', 'fun', 'true', 'var', 'attr',
        -            ),
        -        3 => array(
        -            // built in functions
        -            'throw',
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}',
        -        '+', '-', '*', '/', '%',
        -        '!', '@', '&', '|', '^',
        -        '<', '>', '=',
        -        ',', ';', '?', ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000066; font-weight: bold;',
        -            2 => 'color: #003366; font-weight: bold;',
        -            3 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #006600; font-style: italic;',
        -            2 => 'color: #009966; font-style: italic;',
        -            'MULTI' => 'color: #006600; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #3366CC;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #CC0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #660066;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            ),
        -        1 => array(
        -            )
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => true
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/chapel.php b/vendor/easybook/geshi/geshi/chapel.php
        deleted file mode 100644
        index d0e50e6..0000000
        --- a/vendor/easybook/geshi/geshi/chapel.php
        +++ /dev/null
        @@ -1,169 +0,0 @@
        - 'Chapel',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | GESHI_NUMBER_FLT_NONSCI_F |
        -        GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        // statements
        -        1 => array(
        -            'atomic', 'begin', 'break', 'class', 'cobegin', 'coforall',
        -            'continue', 'do', 'else', 'export', 'extern', 'for', 'forall', 'if',
        -            'iter', 'inline', 'label', 'let', 'local', 'module',
        -            'otherwise', 'proc', 'record', 'return', 'select', 'serial',
        -            'then', 'use', 'var', 'when', 'where', 'while', 'yield'
        -            ),
        -        // literals
        -        2 => array(
        -            'nil', 'true', 'false'
        -            ),
        -        // built-in functions
        -        3 => array(
        -            'by', 'delete', 'dmapped', 'domain', 'enum', 'index', 'min',
        -            'minloc', 'max', 'maxloc', 'new', 'range', 'reduce', 'scan',
        -            'sparse', 'subdomain', 'sync', 'union', 'zip'
        -            ),
        -        // built-in types
        -        4 => array(
        -            'config', 'const', 'in', 'inout', 'opaque', 'on', 'out', 'param',
        -            'ref', 'single', 'type'
        -            ),
        -        // library types
        -        5 => array(
        -            'void', 'bool', 'int', 'uint', 'real', 'imag', 'complex', 'string',
        -            'locale'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']',
        -        '+', '-', '*', '/', '%',
        -        '=', '<', '>',
        -        '!', '^', '&', '|',
        -        '?', ':',
        -        ';', ','
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;',
        -            4 => 'color: #993333;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            //2 => 'color: #339933;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #660099; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold;',
        -            'HARD' => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000dd;',
        -            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/cil.php b/vendor/easybook/geshi/geshi/cil.php
        deleted file mode 100644
        index a108f24..0000000
        --- a/vendor/easybook/geshi/geshi/cil.php
        +++ /dev/null
        @@ -1,194 +0,0 @@
        - 'CIL',
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'COMMENT_SINGLE' => array('//'),
        -    'COMMENT_MULTI' => array(),
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(//Dotted
        -            '.zeroinit', '.vtfixup', '.vtentry', '.vtable', '.ver', '.try', '.subsystem', '.size', '.set', '.removeon',
        -            '.publickeytoken', '.publickey', '.property', '.permissionset', '.permission', '.pdirect', '.param', '.pack',
        -            '.override', '.other', '.namespace', '.mresource', '.module', '.method', '.maxstack', '.manifestres', '.locals',
        -            '.localized', '.locale', '.line', '.language', '.import', '.imagebase', '.hash', '.get', '.fire', '.file', '.field',
        -            '.export', '.event', '.entrypoint', '.emitbyte', '.data', '.custom', '.culture', '.ctor', '.corflags', '.class',
        -            '.cctor', '.assembly', '.addon'
        -            ),
        -        2 => array(//Attributes
        -            'wrapper', 'with', 'winapi', 'virtual', 'vector', 'vararg', 'value', 'userdefined', 'unused', 'unmanagedexp',
        -            'unmanaged', 'unicode', 'to', 'tls', 'thiscall', 'synchronized', 'struct', 'strict', 'storage', 'stdcall',
        -            'static', 'specialname', 'special', 'serializable', 'sequential', 'sealed', 'runtime', 'rtspecialname', 'request',
        -            'reqsecobj', 'reqrefuse', 'reqopt', 'reqmin', 'record', 'public', 'privatescope', 'private', 'preservesig',
        -            'prejitgrant', 'prejitdeny', 'platformapi', 'pinvokeimpl', 'pinned', 'permitonly', 'out', 'optil', 'opt',
        -            'notserialized', 'notremotable', 'not_in_gc_heap', 'noprocess', 'noncaslinkdemand', 'noncasinheritance',
        -            'noncasdemand', 'nometadata', 'nomangle', 'nomachine', 'noinlining', 'noappdomain', 'newslot', 'nested', 'native',
        -            'modreq', 'modopt', 'marshal', 'managed', 'literal', 'linkcheck', 'lcid', 'lasterr', 'internalcall', 'interface',
        -            'instance', 'initonly', 'init', 'inheritcheck', 'in', 'import', 'implicitres', 'implicitcom', 'implements',
        -            'illegal', 'il', 'hidebysig', 'handler', 'fromunmanaged', 'forwardref', 'fixed', 'finally', 'final', 'filter',
        -            'filetime', 'field', 'fault', 'fastcall', 'famorassem', 'family', 'famandassem', 'extern', 'extends', 'explicit',
        -            'error', 'enum', 'endmac', 'deny', 'demand', 'default', 'custom', 'compilercontrolled', 'clsid', 'class', 'cil',
        -            'cf', 'cdecl', 'catch', 'beforefieldinit', 'autochar', 'auto', 'at', 'assert', 'assembly', 'as', 'any', 'ansi',
        -            'alignment', 'algorithm', 'abstract'
        -            ),
        -        3 => array(//Types
        -            'wchar', 'void', 'variant', 'unsigned', 'valuetype', 'typedref', 'tbstr', 'sysstring', 'syschar', 'string',
        -            'streamed_object', 'stream', 'stored_object', 'safearray', 'objectref', 'object', 'nullref', 'method', 'lpwstr',
        -            'lpvoid', 'lptstr', 'lpstruct', 'lpstr', 'iunknown', 'int64', 'int32', 'int16', 'int8', 'int', 'idispatch',
        -            'hresult', 'float64', 'float32', 'float', 'decimal', 'date', 'currency', 'char', 'carray', 'byvalstr',
        -            'bytearray', 'boxed', 'bool', 'blob_object', 'blob', 'array'
        -            ),
        -        4 => array(//Prefix
        -            'volatile', 'unaligned', 'tail', 'readonly', 'no', 'constrained'
        -            ),
        -        5 => array(//Suffix
        -            'un', 'u8', 'u4', 'u2', 'u1', 'u', 's', 'ref', 'r8', 'r4', 'm1', 'i8', 'i4', 'i2', 'i1', 'i'#, '.8', '.7', '.6', '.5', '.4', '.3', '.2', '.1', '.0'
        -            ),
        -        6 => array(//Base
        -            'xor', 'switch', 'sub', 'stloc',
        -            'stind', 'starg',
        -            'shr', 'shl', 'ret', 'rem', 'pop', 'or', 'not', 'nop', 'neg', 'mul',
        -            'localloc', 'leave', 'ldnull', 'ldloca',
        -            'ldloc', 'ldind', 'ldftn', 'ldc', 'ldarga',
        -            'ldarg', 'jmp', 'initblk', 'endfinally', 'endfilter',
        -            'endfault', 'dup', 'div', 'cpblk', 'conv', 'clt', 'ckfinite', 'cgt', 'ceq', 'calli',
        -            'call', 'brzero', 'brtrue', 'brnull', 'brinst',
        -            'brfalse', 'break', 'br', 'bne', 'blt', 'ble', 'bgt', 'bge', 'beq', 'arglist',
        -            'and', 'add'
        -            ),
        -        7 => array(//Object
        -            'unbox.any', 'unbox', 'throw', 'stsfld', 'stobj', 'stfld', 'stelem', 'sizeof', 'rethrow', 'refanyval', 'refanytype', 'newobj',
        -            'newarr', 'mkrefany', 'ldvirtftn', 'ldtoken', 'ldstr', 'ldsflda', 'ldsfld', 'ldobj', 'ldlen', 'ldflda', 'ldfld',
        -            'ldelema', 'ldelem', 'isinst', 'initobj', 'cpobj', 'castclass',
        -            'callvirt', 'callmostderived', 'box'
        -            ),
        -        8 => array(//Other
        -            'prefixref', 'prefix7', 'prefix6', 'prefix5', 'prefix4', 'prefix3', 'prefix2', 'prefix1', 'prefix0'
        -            ),
        -        9 => array(//Literal
        -            'true', 'null', 'false'
        -            ),
        -        10 => array(//Comment-like
        -            '#line', '^THE_END^'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '!', '!!'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true,
        -        9 => true,
        -        10 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color:maroon;font-weight:bold;',
        -            2 => 'color:blue;font-weight:bold;',
        -            3 => 'color:purple;font-weight:bold;',
        -            4 => 'color:teal;',
        -            5 => 'color:blue;',
        -            6 => 'color:blue;',
        -            7 => 'color:blue;',
        -            8 => 'color:blue;',
        -            9 => 'color:00008B',
        -            10 => 'color:gray'
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color:gray;font-style:italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #008000; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #006400;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #00008B;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #000033;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #006400;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color:blue;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => '',
        -        8 => '',
        -        9 => '',
        -        10 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        0 => '(?<=ldc\\.i4\\.)[0-8]|(?<=(?:ldarg|ldloc|stloc)\\.)[0-3]' # Pickup the opcodes that end with integers
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/clojure.php b/vendor/easybook/geshi/geshi/clojure.php
        deleted file mode 100644
        index 0e8f8ed..0000000
        --- a/vendor/easybook/geshi/geshi/clojure.php
        +++ /dev/null
        @@ -1,133 +0,0 @@
        - 'Clojure',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array(';|' => '|;'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'defn', 'defn-', 'defmulti', 'defmethod', 'defmacro', 'deftest',
        -            'defstruct', 'def', 'defonce', 'let', 'letfn', 'do', 'cond', 'condp',
        -            'for', 'loop', 'recur', 'when', 'when-not', 'when-let', 'when-first',
        -            'if', 'if-let', 'if-not', 'doto', 'and', 'or','not','aget','aset',
        -            'dosync', 'doseq', 'dotimes', 'dorun', 'doall',
        -            'load', 'import', 'unimport', 'ns', 'in-ns', 'refer', 'print',
        -            'try', 'catch', 'finally', 'throw', 'fn', 'update-in',
        -            'with-open', 'with-local-vars', 'binding',
        -            'gen-class', 'gen-and-load-class', 'gen-and-save-class',
        -            'implement', 'proxy', 'lazy-cons', 'with-meta',
        -            'struct', 'struct-map', 'delay', 'locking', 'sync', 'time', 'apply',
        -            'remove', 'merge', 'interleave', 'interpose', 'distinct',
        -            'cons', 'concat', 'lazy-cat', 'cycle', 'rest', 'frest', 'drop',
        -            'drop-while', 'nthrest', 'take', 'take-while', 'take-nth', 'butlast',
        -            'reverse', 'sort', 'sort-by', 'split-at', 'partition', 'split-with',
        -            'first', 'ffirst', 'rfirst', 'zipmap', 'into', 'set', 'vec',
        -            'to-array-2d', 'not-empty', 'seq?', 'not-every?', 'every?', 'not-any?',
        -            'map', 'mapcat', 'vector?', 'list?', 'hash-map', 'reduce', 'filter',
        -            'vals', 'keys', 'rseq', 'subseq', 'rsubseq', 'count', 'empty?',
        -            'fnseq', 'repeatedly', 'iterate', 'drop-last',
        -            'repeat', 'replicate', 'range',  'into-array',
        -            'line-seq', 'resultset-seq', 're-seq', 're-find', 'tree-seq', 'file-seq',
        -            'iterator-seq', 'enumeration-seq', 'declare',  'xml-seq',
        -            'symbol?', 'string?', 'vector', 'conj', 'str',
        -            'pos?', 'neg?', 'zero?', 'nil?', 'inc', 'dec', 'format',
        -            'alter', 'commute', 'ref-set', 'floor', 'assoc', 'send', 'send-off'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|', '.', '..', '->',
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #555;',
        -            1 => 'color: #555;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -            '::', ':'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/cmake.php b/vendor/easybook/geshi/geshi/cmake.php
        deleted file mode 100644
        index 01630eb..0000000
        --- a/vendor/easybook/geshi/geshi/cmake.php
        +++ /dev/null
        @@ -1,180 +0,0 @@
        - ()
        - *  -  First Release
        - *
        - * TODO (updated )
        - * -------------------------
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'CMake',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'ESCAPE_REGEXP' => array(
        -        // Quoted variables ${...}
        -        1 => "/\\$(ENV)?\\{[^\\n\\}]*?\\}/i",
        -        // Quoted registry keys [...]
        -        2 => "/\\[HKEY[^\n\\]]*?]/i"
        -        ),
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'add_custom_command', 'add_custom_target', 'add_definitions',
        -            'add_dependencies', 'add_executable', 'add_library',
        -            'add_subdirectory', 'add_test', 'aux_source_directory', 'break',
        -            'build_command', 'cmake_minimum_required', 'cmake_policy',
        -            'configure_file', 'create_test_sourcelist', 'define_property',
        -            'else', 'elseif', 'enable_language', 'enable_testing',
        -            'endforeach', 'endfunction', 'endif', 'endmacro',
        -            'endwhile', 'execute_process', 'export', 'file', 'find_file',
        -            'find_library', 'find_package', 'find_path', 'find_program',
        -            'fltk_wrap_ui', 'foreach', 'function', 'get_cmake_property',
        -            'get_directory_property', 'get_filename_component', 'get_property',
        -            'get_source_file_property', 'get_target_property',
        -            'get_test_property', 'if', 'include', 'include_directories',
        -            'include_external_msproject', 'include_regular_expression',
        -            'install', 'link_directories', 'list', 'load_cache',
        -            'load_command', 'macro', 'mark_as_advanced', 'math', 'message',
        -            'option', 'output_required_files', 'project', 'qt_wrap_cpp',
        -            'qt_wrap_ui', 'remove_definitions', 'return', 'separate_arguments',
        -            'set', 'set_directory_properties', 'set_property',
        -            'set_source_files_properties', 'set_target_properties',
        -            'set_tests_properties', 'site_name', 'source_group', 'string',
        -            'target_link_libraries', 'try_compile', 'try_run', 'unset',
        -            'variable_watch', 'while'
        -            ),
        -        2 => array(
        -            // Deprecated commands
        -            'build_name', 'exec_program', 'export_library_dependencies',
        -            'install_files', 'install_programs', 'install_targets',
        -            'link_libraries', 'make_directory', 'remove', 'subdir_depends',
        -            'subdirs', 'use_mangled_mesa', 'utility_source',
        -            'variable_requires', 'write_file'
        -            ),
        -        3 => array(
        -            // Special command arguments, this list is not comprehesive.
        -            'AND', 'APPEND', 'ASCII', 'BOOL', 'CACHE', 'COMMAND', 'COMMENT',
        -            'COMPARE', 'CONFIGURE', 'DEFINED', 'DEPENDS', 'DIRECTORY',
        -            'EQUAL', 'EXCLUDE_FROM_ALL', 'EXISTS', 'FALSE', 'FATAL_ERROR',
        -            'FILEPATH', 'FIND', 'FORCE', 'GET', 'GLOBAL', 'GREATER',
        -            'IMPLICIT_DEPENDS', 'INSERT', 'INTERNAL', 'IS_ABSOLUTE',
        -            'IS_DIRECTORY', 'IS_NEWER_THAN', 'LENGTH', 'LESS',
        -            'MAIN_DEPENDENCY', 'MATCH', 'MATCHALL', 'MATCHES', 'MODULE', 'NOT',
        -            'NOTFOUND', 'OFF', 'ON', 'OR', 'OUTPUT', 'PARENT_SCOPE', 'PATH',
        -            'POLICY', 'POST_BUILD', 'PRE_BUILD', 'PRE_LINK', 'PROPERTY',
        -            'RANDOM', 'REGEX', 'REMOVE_AT', 'REMOVE_DUPLICATES', 'REMOVE_ITEM',
        -            'REPLACE', 'REVERSE', 'SEND_ERROR', 'SHARED', 'SORT', 'SOURCE',
        -            'STATIC', 'STATUS', 'STREQUAL', 'STRGREATER', 'STRING', 'STRIP',
        -            'STRLESS', 'SUBSTRING', 'TARGET', 'TEST', 'TOLOWER', 'TOUPPER',
        -            'TRUE', 'VERBATIM', 'VERSION', 'VERSION_EQUAL', 'VERSION_GREATOR',
        -            'VERSION_LESS', 'WORKING_DIRECTORY',
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => true
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('(', ')')
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #1f3f81; font-style: bold;',
        -            2 => 'color: #1f3f81;',
        -            3 => 'color: #077807; font-sytle: italic;'
        -            ),
        -        'BRACKETS' => array(),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #b08000;',
        -            2 => 'color: #0000cd;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #912f11;',
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #197d8b;'
        -            ),
        -        'NUMBERS' => array(),
        -        'METHODS' => array(),
        -        'REGEXPS' => array(
        -            0 => 'color: #b08000;',
        -            1 => 'color: #0000cd;'
        -            ),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(
        -        1 => 'http://www.cmake.org/cmake/help/cmake2.6docs.html#command:{FNAMEL}',
        -        2 => 'http://www.cmake.org/cmake/help/cmake2.6docs.html#command:{FNAMEL}',
        -        3 => '',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        // Unquoted variables
        -        0 => "\\$(ENV)?\\{[^\\n}]*?\\}",
        -        // Unquoted registry keys
        -        1 => "\\[HKEY[^\n\\]]*?]"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            // These keywords cannot come after a open paren
        -            1 => array(
        -                'DISALLOWED_AFTER' =>  '(?= *\()'
        -                ),
        -            2 => array(
        -                'DISALLOWED_AFTER' =>  '(?= *\()'
        -                )
        -            ),
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER,
        -            'METHODS' => GESHI_NEVER,
        -            'NUMBERS' => GESHI_NEVER
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/cobol.php b/vendor/easybook/geshi/geshi/cobol.php
        deleted file mode 100644
        index 1280a4c..0000000
        --- a/vendor/easybook/geshi/geshi/cobol.php
        +++ /dev/null
        @@ -1,457 +0,0 @@
        - 'COBOL',
        -    'COMMENT_SINGLE' => array(
        -        1 => '*>', // COBOL 2002 inline comment
        -        2 => '>>'  // COBOL compiler directive indicator
        -        ),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        1 => '/^......(\*.*?$)/m', // Fixed-form comment
        -        2 => '/\$SET.*/i'          // MF compiler directive indicator
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', "'"),
        -    'ESCAPE_CHAR' => '',
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC |
        -        GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_SCI_SHORT |
        -        GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        // Statements containing spaces. These are separate to other statements
        -        // so that they are highlighted correctly.
        -        1 => array(
        -            'DELETE FILE', 'GO TO', 'NEXT SENTENCE', 'XML GENERATE',
        -            'XML PARSE'
        -            ),
        -
        -        2 => array( // Other Reserved Words
        -            '3-D', 'ABSENT', 'ABSTRACT', 'ACCESS', 'ACQUIRE',
        -            'ACTION', 'ACTIVE-CLASS', 'ACTIVE-X', 'ACTUAL', 'ADDRESS',
        -            'ADDRESS-ARRAY', 'ADDRESS-OFFSET', 'ADJUSTABLE-COLUMNS',
        -            'ADVANCING', 'AFP-5A', 'AFTER', 'ALIGNED', 'ALIGNMENT', 'ALL',
        -            'ALLOW', 'ALLOWING', 'ALPHABET', 'ALPHABETIC',
        -            'ALPHABETIC-LOWER', 'ALPHABETIC-UPPER', 'ALPHANUMERIC',
        -            'ALPHANUMERIC-EDITED', 'ALSO', 'ALTERNATE', 'AND', 'ANY',
        -            'ANYCASE',
        -            'APPLY', 'ARE', 'AREA', 'AREAS', 'ARGUMENT-NUMBER',
        -            'ARGUMENT-VALUE',
        -            'ARITHMETIC', 'AS', 'ASCENDING',
        -            'ASSEMBLY-ATTRIBUTES', 'ASSIGN', 'AT', 'ATTRIBUTE', 'AUTHOR',
        -            'AUTO', 'AUTO-DECIMAL', 'AUTO-HYPHEN-SKIP', 'AUTO-MINIMIZE',
        -            'AUTO-RESIZE', 'AUTO-SKIP', 'AUTO-SPIN', 'AUTOMATIC',
        -            'AUTOTERMINATE', 'AWAY-FROM-ZERO',
        -            'AX-EVENT-LIST', 'B-AND', 'B-EXOR', 'B-LEFT',
        -            'B-NOT', 'B-OR', 'B-RIGHT', 'B-XOR', 'BACKGROUND-COLOR',
        -            'BACKGROUND-COLOUR', 'BACKGROUND-HIGH', 'BACKGROUND-LOW',
        -            'BACKGROUND-STANDARD', 'BACKWARD', 'BAR', 'BASED', 'BASIS', 'BEEP',
        -            'BEFORE', 'BEGINNING', 'BELL', 'BINARY', 'BINARY-CHAR',
        -            'BINARY-DOUBLE', 'BINARY-LONG', 'BINARY-SHORT', 'BIND', 'BIT',
        -            'BITMAP', 'BITMAP-END', 'BITMAP-HANDLE', 'BITMAP-NUMBER',
        -            'BITMAP-RAW-HEIGHT', 'BITMAP-RAW-WIDTH', 'BITMAP-SCALE',
        -            'BITMAP-START', 'BITMAP-TIMER', 'BITMAP-TRAILING', 'BITMAP-WIDTH',
        -            'BLANK', 'BLINK', 'BLINKING', 'BLOB', 'BLOB-FILE', 'BLOB-LOCATOR',
        -            'BLOCK', 'BOLD', 'BOOLEAN', 'BOTTOM', 'BOX', 'BOXED', 'BROWSING',
        -            'BUSY', 'BUTTONS', 'BY', 'C01', 'C02', 'C03', 'C04',
        -            'C05',
        -            'C06', 'C07', 'C08', 'C09', 'C10', 'C11', 'C12', 'CALENDAR-FONT',
        -            'CALLED', 'CANCEL-BUTTON', 'CAPACITY', 'CATCH', 'CBL',
        -            'CBL-CTR', 'CCOL', 'CD', 'CELL', 'CELL-COLOR', 'CELL-DATA',
        -            'CELL-FONT', 'CELL-PROTECTION', 'CELLS', 'CENTER', 'CENTERED',
        -            'CENTERED-HEADINGS', 'CENTURY-DATE', 'CENTURY-DAY', 'CF', 'CH',
        -            'CHAINING', 'CHANGED', 'CHAR-VARYING',
        -            'CHARACTER',
        -            'CHARACTERS', 'CHART', 'CHECK-BOX', 'CHECKING', 'CLASS',
        -            'CLASS-ATTRIBUTES', 'CLASS-CONTROL', 'CLASS-ID', 'CLASS-OBJECT',
        -            'CLASSIFICATION',
        -            'CLEAR-SELECTION', 'CLINE', 'CLINES', 'CLOB', 'CLOB-FILE',
        -            'CLOB-LOCATOR', 'CLOCK-UNITS', 'COBOL', 'CODE', 'CODE-SET',
        -            'COERCION', 'COL', 'COLLATING', 'COLORS', 'COLOUR',
        -            'COLOURS', 'COLS', 'COLUMN', 'COLUMN-COLOR', 'COLUMN-DIVIDERS',
        -            'COLUMN-FONT', 'COLUMN-HEADINGS', 'COLUMN-PROTECTION', 'COLUMNS',
        -            'COM-REG', 'COMBO-BOX', 'COMMA', 'COMMITMENT', 'COMMON',
        -            'COMMUNICATION', 'COMP', 'COMP-0', 'COMP-1', 'COMP-2', 'COMP-3',
        -            'COMP-4', 'COMP-5', 'COMP-6', 'COMP-X', 'COMPRESSION',
        -            'COMPUTATIONAL', 'COMPUTATIONAL-0', 'COMPUTATIONAL-1',
        -            'COMPUTATIONAL-2', 'COMPUTATIONAL-3', 'COMPUTATIONAL-4',
        -            'COMPUTATIONAL-5', 'COMPUTATIONAL-6', 'COMPUTATIONAL-X',
        -            'CONDITION-VALUE', 'CONFIGURATION', 'CONSOLE', 'CONSTANT',
        -            'CONSTRAIN', 'CONSTRAINTS', 'CONTAINS', 'CONTENT',
        -            'CONTROL', 'CONTROL-AREA', 'CONTROLS', 'CONTROLS-UNCROPPED',
        -            'CONVERSION', 'CONVERT', 'CONVERTING', 'COPY-SELECTION',
        -            'CORE-INDEX', 'CORR', 'CORRESPONDING', 'COUNT',
        -            'CREATING', 'CRT', 'CRT-UNDER', 'CSIZE', 'CSP', 'CURRENCY',
        -            'CURSOR', 'CURSOR-COL', 'CURSOR-COLOR',
        -            'CURSOR-FRAME-WIDTH', 'CURSOR-ROW', 'CURSOR-X', 'CURSOR-Y',
        -            'CUSTOM-ATTRIBUTE', 'CUSTOM-PRINT-TEMPLATE', 'CYCLE', 'CYL-INDEX',
        -            'CYL-OVERFLOW', 'DASHED', 'DATA', 'DATA-COLUMNS',
        -            'DATA-POINTER', 'DATA-TYPES', 'DATABASE-KEY', 'DATABASE-KEY-LONG',
        -            'DATE', 'DATE-COMPILED', 'DATE-ENTRY', 'DATE-RECORD',
        -            'DATE-WRITTEN', 'DAY', 'DAY-OF-WEEK', 'DBCLOB', 'DBCLOB-FILE',
        -            'DBCLOB-LOCATOR', 'DBCS', 'DE', 'DEBUG', 'DEBUG-CONTENTS',
        -            'DEBUG-ITEM', 'DEBUG-LINE', 'DEBUG-NAME', 'DEBUG-SUB-1',
        -            'DEBUG-SUB-2', 'DEBUG-SUB-3', 'DEBUGGING', 'DECIMAL',
        -            'DECIMAL-POINT', 'DECLARATIVES', 'DEFAULT',
        -            'DEFAULT-BUTTON', 'DEFAULT-FONT', 'DEFINITION',
        -            'DELEGATE-ID', 'DELIMITED', 'DELIMITER', 'DEPENDING',
        -            'DESCENDING', 'DESTINATION', 'DESTROY', 'DETAIL', 'DICTIONARY',
        -            'DISABLE', 'DISC', 'DISJOINING', 'DISK', 'DISP',
        -            'DISPLAY-1', 'DISPLAY-COLUMNS', 'DISPLAY-FORMAT', 'DISPLAY-ST',
        -            'DIVIDER-COLOR', 'DIVIDERS', 'DIVISION', 'DOT-DASH',
        -            'DOTTED', 'DOWN', 'DRAG-COLOR', 'DRAW', 'DROP', 'DROP-DOWN',
        -            'DROP-LIST', 'DUPLICATES', 'DYNAMIC', 'EBCDIC', 'EC', 'ECHO', 'EGCS',
        -            'EGI', 'EJECT', 'ELEMENTARY', 'ELSE', 'EMI', 'EMPTY-CHECK',
        -            'ENABLE', 'ENABLED', 'END', 'END-ACCEPT', 'END-ADD', 'END-CALL',
        -            'END-CHAIN', 'END-COLOR', 'END-COMPUTE', 'END-DELEGATE',
        -            'END-DELETE', 'END-DISPLAY', 'END-DIVIDE', 'END-EVALUATE',
        -            'END-IF', 'END-INVOKE', 'END-MODIFY', 'END-MOVE', 'END-MULTIPLY',
        -            'END-OF-PAGE', 'END-PERFORM', 'END-READ', 'END-RECEIVE',
        -            'END-RETURN', 'END-REWRITE', 'END-SEARCH', 'END-START',
        -            'END-STRING', 'END-SUBTRACT', 'END-SYNC', 'END-TRY',
        -            'END-UNSTRING', 'END-WAIT', 'END-WRITE', 'END-XML', 'ENDING',
        -            'ENGRAVED', 'ENSURE-VISIBLE', 'ENTRY-CONVENTION',
        -            'ENTRY-FIELD',
        -            'ENTRY-REASON', 'ENUM', 'ENUM-ID', 'ENVIRONMENT',
        -            'ENVIRONMENT-NAME', 'ENVIRONMENT-VALUE', 'EOL', 'EOP',
        -            'EOS', 'EQUAL', 'EQUALS', 'ERASE', 'ERROR', 'ESCAPE',
        -            'ESCAPE-BUTTON', 'ESI', 'EVENT', 'EVENT-LIST',
        -            'EVENT-POINTER', 'EVERY', 'EXCEEDS', 'EXCEPTION',
        -            'EXCEPTION-OBJECT', 'EXCEPTION-VALUE', 'EXCESS-3',
        -            'EXCLUDE-EVENT-LIST', 'EXCLUSIVE',
        -            'EXPAND', 'EXPANDS', 'EXTEND', 'EXTENDED',
        -            'EXTENDED-SEARCH', 'EXTENSION', 'EXTERNAL', 'EXTERNAL-FORM',
        -            'EXTERNALLY-DESCRIBED-KEY', 'FACTORY', 'FALSE', 'FD',
        -            'FH--FCD', 'FH--KEYDEF', 'FILE', 'FILE-CONTROL', 'FILE-ID',
        -            'FILE-LIMIT', 'FILE-LIMITS', 'FILE-NAME', 'FILE-POS', 'FILL-COLOR',
        -            'FILL-COLOR2', 'FILL-PERCENT', 'FILLER', 'FINAL', 'FINALLY',
        -            'FINISH-REASON', 'FIRST', 'FIXED', 'FIXED-FONT', 'FIXED-WIDTH',
        -            'FLAT', 'FLAT-BUTTONS', 'FLOAT-BINARY-7', 'FLOAT-BINARY-16',
        -            'FLOAT-BINARY-34', 'FLOAT-DECIMAL-16', 'FLOAT-DECIMAL-34',
        -            'FLOAT-EXTENDED', 'FLOAT-LONG',
        -            'FLOAT-SHORT', 'FLOATING', 'FONT', 'FOOTING', 'FOR',
        -            'FOREGROUND-COLOR', 'FOREGROUND-COLOUR', 'FOREVER', 'FORMAT',
        -            'FRAME', 'FRAMED', 'FROM', 'FULL', 'FULL-HEIGHT',
        -            'FUNCTION', 'FUNCTION-ID', 'FUNCTION-POINTER', 'GENERATE',
        -            'GET', 'GETTER', 'GIVING', 'GLOBAL', 'GO-BACK', 'GO-FORWARD',
        -            'GO-HOME', 'GO-SEARCH', 'GRAPHICAL', 'GREATER', 'GRID',
        -            'GRIP', 'GROUP', 'GROUP-USAGE', 'GROUP-VALUE', 'HANDLE',
        -            'HAS-CHILDREN', 'HEADING', 'HEADING-COLOR', 'HEADING-DIVIDER-COLOR',
        -            'HEADING-FONT', 'HEAVY', 'HEIGHT', 'HEIGHT-IN-CELLS', 'HELP-ID',
        -            'HIDDEN-DATA', 'HIGH', 'HIGH-COLOR', 'HIGH-VALUE', 'HIGH-VALUES',
        -            'HIGHLIGHT', 'HORIZONTAL', 'HOT-TRACK', 'HSCROLL', 'HSCROLL-POS',
        -            'I-O', 'I-O-CONTROL', 'ICON', 'ID', 'IDENTIFICATION',
        -            'IDENTIFIED', 'IFINITY', 'IGNORE', 'IGNORING', 'IMPLEMENTS', 'IN',
        -            'INDEPENDENT', 'INDEX', 'INDEXED', 'INDEXER', 'INDEXER-ID', 'INDIC',
        -            'INDICATE', 'INDICATOR', 'INDICATORS', 'INDIRECT',
        -            'INHERITING', 'INHERITS',
        -            'INITIAL', 'INITIALIZED', 'INPUT',
        -            'INPUT-OUTPUT', 'INQUIRE', 'INSERT', 'INSERT-ROWS',
        -            'INSERTION-INDEX', 'INSTALLATION', 'INSTANCE',
        -            'INTERFACE', 'INTERFACE-ID', 'INTERMEDIATE',
        -            'INTERNAL', 'INTO', 'INTRINSIC',
        -            'INVALID', 'INVOKED', 'IS', 'ITEM', 'ITEM-BOLD',
        -            'ITEM-ID', 'ITEM-TEXT', 'ITEM-TO-ADD', 'ITEM-TO-DELETE',
        -            'ITEM-TO-EMPTY', 'ITEM-VALUE', 'ITERATOR', 'ITERATOR-ID', 'J',
        -            'JOINED', 'JOINING', 'JUST', 'JUSTIFIED', 'KANJI',
        -            'KEPT', 'KEY', 'KEY-YY', 'KEYBOARD', 'LABEL', 'LABEL-OFFSET',
        -            'LARGE-FONT', 'LAST', 'LAST-ROW', 'LAYOUT-DATA', 'LAYOUT-MANAGER',
        -            'LC_ALL', 'LC_COLLATE', 'LC_CTYPE', 'LC_CURRENCY', 'LC_MESSAGES',
        -            'LC_MONETARY', 'LC_NUMERIC', 'LC_TIME', 'LEADING', 'LEADING-SHIFT',
        -            'LEAVE', 'LEFT', 'LEFT-JUSTIFY', 'LEFT-TEXT', 'LEFTLINE',
        -            'LENGTH-CHECK', 'LESS', 'LIMIT', 'LIMITS', 'LIN', 'LINAGE',
        -            'LINAGE-COUNTER', 'LINE', 'LINE-COUNTER', 'LINES', 'LINES-AT-ROOT',
        -            'LINK', 'LINKAGE', 'LIST', 'LIST-BOX', 'LM-RESIZE', 'LOCAL-STORAGE',
        -            'LOCALE', 'LOCK', 'LOCKING', 'LONG-DATE', 'LONG-VARBINARY',
        -            'LONG-VARCHAR', 'LOW', 'LOW-COLOR', 'LOW-VALUE', 'LOW-VALUES',
        -            'LOWER', 'LOWERED', 'LOWLIGHT', 'MANUAL', 'MASS-UPDATE',
        -            'MASTER-INDEX', 'MAX-HEIGHT', 'MAX-LINES', 'MAX-PROGRESS',
        -            'MAX-SIZE', 'MAX-TEXT', 'MAX-VAL', 'MAX-WIDTH', 'MDI-CHILD',
        -            'MDI-FRAME', 'MEDIUM-FONT', 'MEMORY', 'MENU', 'MESSAGE',
        -            'MESSAGES', 'METACLASS', 'METHOD', 'METHOD-ID', 'MIN-HEIGHT',
        -            'MIN-LINES', 'MIN-SIZE', 'MIN-VAL', 'MIN-WIDTH', 'MODAL', 'MODE',
        -            'MODELESS', 'MODIFIED', 'MODULES', 'MONITOR-POINTER',
        -            'MORE-LABELS', 'MULTILINE',
        -            'MUTEX-POINTER', 'NAME', 'NAMED', 'NATIONAL',
        -            'NATIONAL-EDITED', 'NATIVE', 'NAVIGATE-URL', 'NCHAR',
        -            'NEAREST-AWAY-FROM-ZERO', 'NEAREST-EVEN', 'NEAREST-TOWARD-ZERO',
        -            'NEGATIVE', 'NEGATIVE-INFINITY',
        -            'NESTED', 'NET-EVENT-LIST', 'NEW', 'NEWABLE', 'NEXT ', 'NEXT-ITEM',
        -            'NO', 'NO-AUTO-DEFAULT', 'NO-AUTOSEL', 'NO-BOX', 'NO-CELL-DRAG',
        -            'NO-CLOSE', 'NO-DIVIDERS', 'NO-ECHO', 'NO-F4', 'NO-FOCUS',
        -            'NO-GROUP-TAB', 'NO-KEY-LETTER', 'NO-SEARCH', 'NO-TAB', 'NO-UPDOWN',
        -            'NOMINAL', 'NONE', 'NORMAL', 'NOT', 'NOT-A-NUMBER', 'NOTIFY',
        -            'NOTIFY-CHANGE', 'NOTIFY-DBLCLICK', 'NOTIFY-SELCHANGE',
        -            'NSTD-REELS', 'NULL', 'NULLS', 'NUM-COL-HEADINGS',
        -            'NUM-ROW-HEADINGS', 'NUM-ROWS', 'NUMBER', 'NUMBERS', 'NUMERIC',
        -            'NUMERIC-EDITED', 'NUMERIC-FILL', 'O-FILL', 'OBJECT',
        -            'OBJECT-COMPUTER', 'OBJECT-ID', 'OBJECT-REFERENCE',
        -            'OBJECT-STORAGE', 'OCCURS', 'OF', 'OFF', 'OK-BUTTON', 'OMITTED',
        -            'ONLY', 'OOSTACKPTR', 'OPERATOR', 'OPERATOR-ID',
        -            'OPTIONAL', 'OPTIONS', 'OR', 'ORDER', 'ORGANIZATION', 'OTHER',
        -            'OTHERWISE', 'OUTPUT', 'OVERFLOW', 'OVERLAP-LEFT', 'OVERLAP-TOP',
        -            'OVERLAPPED', 'OVERLINE', 'OVERRIDE', 'PACKED-DECIMAL',
        -            'PADDING', 'PAGE', 'PAGE-COUNTER', 'PAGE-SETUP', 'PAGE-SIZE',
        -            'PAGED', 'PANEL-INDEX', 'PANEL-STYLE', 'PANEL-TEXT', 'PANEL-WIDTHS',
        -            'PARAGRAPH', 'PARAMS', 'PARENT', 'PARSE', 'PARTIAL', 'PASSWORD',
        -            'PERMANENT', 'PF', 'PH', 'PIC', 'PICTURE', 'PIXEL',
        -            'PIXELS', 'PLACEMENT', 'PLUS', 'POINTER', 'POP-UP', 'POSITION',
        -            'POSITION-SHIFT', 'POSITIONING', 'POSITIVE', 'POSITIVE-INFINITY',
        -            'PREFIXED', 'PREFIXING', 'PRESENT',
        -            'PREVIOUS', 'PRINT', 'PRINT-CONTROL', 'PRINT-NO-PROMPT',
        -            'PRINT-PREVIEW', 'PRINT-SWITCH', 'PRINTER', 'PRINTER-1', 'PRINTING',
        -            'PRIOR', 'PRIORITY', 'PRIVATE', 'PROCEDURE', 'PROCEDURE-POINTER',
        -            'PROCEDURES', 'PROCEED', 'PROCESS', 'PROCESSING', 'PROGRAM',
        -            'PROGRAM-ID', 'PROGRAM-POINTER', 'PROGRESS', 'PROHIBITED',
        -            'PROMPT', 'PROPERTIES',
        -            'PROPERTY', 'PROPERTY-ID', 'PROPERTY-VALUE', 'PROTECTED',
        -            'PROTOTYPE', 'PUBLIC', 'PURGE', 'PUSH-BUTTON', 'QUERY-INDEX',
        -            'QUEUE', 'QUOTE', 'QUOTES', 'RADIO-BUTTON', 'RAISED',
        -            'RAISING', 'RD', 'READ-ONLY', 'READING',
        -            'READY', 'RECORD', 'RECORD-DATA', 'RECORD-OVERFLOW',
        -            'RECORD-TO-ADD', 'RECORD-TO-DELETE', 'RECORDING', 'RECORDS',
        -            'RECURSIVE', 'REDEFINE', 'REDEFINES', 'REDEFINITION', 'REEL',
        -            'REFERENCE', 'REFERENCES', 'REFRESH', 'REGION-COLOR', 'RELATION',
        -            'RELATIVE', 'RELOAD', 'REMAINDER', 'REMARKS', 'REMOVAL',
        -            'RENAMES', 'REORG-CRITERIA', 'REPEATED', 'REPLACE', 'REPLACING',
        -            'REPORT', 'REPORTING', 'REPORTS', 'REPOSITORY', 'REQUIRED',
        -            'REPRESENTS-NOT-A-NUMBER',
        -            'REREAD', 'RERUN', 'RESERVE', 'RESET-GRID', 'RESET-LIST',
        -            'RESET-TABS', 'RESIZABLE', 'RESTRICTED', 'RESULT-SET-LOCATOR',
        -            'RETRY', 'RETURN-CODE', 'RETURNING',
        -            'REVERSE-VIDEO', 'REVERSED', 'REWIND', 'RF', 'RH',
        -            'RIGHT', 'RIGHT-ALIGN', 'RIGHT-JUSTIFY', 'RIMMED',
        -            'ROLLING', 'ROUNDED', 'ROUNDING', 'ROW-COLOR', 'ROW-COLOR-PATTERN',
        -            'ROW-DIVIDERS', 'ROW-FONT', 'ROW-HEADINGS', 'ROW-PROTECTION',
        -            'ROWID', 'RUN', 'S01', 'S02', 'S03', 'S04', 'S05', 'SAME',
        -            'SAVE-AS', 'SAVE-AS-NO-PROMPT', 'SCREEN', 'SCROLL', 'SCROLL-BAR',
        -            'SD', 'SEARCH-OPTIONS', 'SEARCH-TEXT', 'SECONDS',
        -            'SECTION', 'SECURE', 'SECURITY', 'SEEK', 'SEGMENT', 'SEGMENT-LIMIT',
        -            'SELECT-ALL', 'SELECTION-INDEX', 'SELECTION-TEXT',
        -            'SELECTIVE', 'SELF', 'SELF-ACT', 'SELFCLASS', 'SEMAPHORE-POINTER',
        -            'SEND', 'SENTENCE', 'SEPARATE', 'SEPARATION', 'SEQUENCE',
        -            'SEQUENTIAL', 'SETTER', 'SHADING', 'SHADOW',
        -            'SHARING', 'SHIFT-IN', 'SHIFT-OUT', 'SHORT-DATE', 'SHOW-LINES',
        -            'SHOW-NONE', 'SHOW-SEL-ALWAYS', 'SIGNED', 'SIGNED-INT',
        -            'SIGNED-LONG', 'SIGNED-SHORT', 'SIZE', 'SKIP1',
        -            'SKIP2', 'SKIP3', 'SMALL-FONT', 'SORT-CONTROL',
        -            'SORT-CORE-SIZE', 'SORT-FILE-SIZE', 'SORT-MERGE', 'SORT-MESSAGE',
        -            'SORT-MODE-SIZE', 'SORT-OPTION', 'SORT-ORDER', 'SORT-RETURN',
        -            'SORT-TAPE', 'SORT-TAPES', 'SOURCE', 'SOURCE-COMPUTER', 'SOURCES',
        -            'SPACE', 'SPACE-FILL', 'SPACES', 'SPECIAL-NAMES', 'SPINNER', 'SQL',
        -            'SQUARE', 'STANDARD', 'STANDARD-1', 'STANDARD-2', 'STANDARD-3',
        -            'STANDARD-BINARY', 'STANDARD-DECIMAL',
        -            'START-X', 'START-Y', 'STARTING', 'STATEMENT', 'STATIC',
        -            'STATIC-LIST',
        -            'STATUS', 'STATUS-BAR', 'STATUS-TEXT', 'STEP',
        -            'STOP-BROWSER', 'STRONG', 'STYLE', 'SUB-QUEUE-1',
        -            'SUB-QUEUE-2', 'SUB-QUEUE-3', 'SUBFILE', 'SUBWINDOW',
        -            'SUFFIXING', 'SUPER', 'SYMBOL', 'SYMBOLIC',
        -            'SYNCHRONIZED', 'SYSIN', 'SYSIPT', 'SYSLST', 'SYSOUT',
        -            'SYSPCH', 'SYSPUNCH', 'SYSTEM', 'SYSTEM-DEFAULT', 'SYSTEM-INFO',
        -            'TAB', 'TAB-CONTROL', 'TAB-TO-ADD', 'TAB-TO-DELETE', 'TABLE',
        -            'TALLY', 'TALLYING', 'TAPE', 'TAPES', 'TEMPORARY', 'TERMINAL',
        -            'TERMINAL-INFO', 'TERMINATION-VALUE', 'TEST', 'TEXT',
        -            'THAN', 'THEN', 'THREAD', 'THREAD-LOCAL', 'THREAD-LOCAL-STORAGE',
        -            'THREAD-POINTER', 'THROUGH', 'THRU', 'THUMB-POSITION',
        -            'TILED-HEADINGS', 'TIME', 'TIME-OF-DAY', 'TIME-OUT', 'TIME-RECORD',
        -            'TIMEOUT', 'TIMES', 'TIMESTAMP', 'TIMESTAMP-OFFSET',
        -            'TIMESTAMP-OFFSET-RECORD', 'TIMESTAMP-RECORD', 'TITLE', 'TITLE-BAR',
        -            'TITLE-POSITION', 'TO', 'TOOL-BAR', 'TOP', 'TOTALED', 'TOTALING',
        -            'TOWARD-GREATER', 'TOWARD-LESSER',
        -            'TRACE', 'TRACK-AREA', 'TRACK-LIMIT', 'TRACK-THUMB', 'TRACKS',
        -            'TRADITIONAL-FONT', 'TRAILING', 'TRAILING-SHIFT', 'TRAILING-SIGN',
        -            'TRANSACTION', 'TRANSPARENT', 'TRANSPARENT-COLOR',
        -            'TREE-VIEW', 'TRUE', 'TRUNCATION', 'TYPE', 'TYPEDEF', 'UCS-4',
        -            'UNDERLINE', 'UNDERLINED', 'UNEQUAL', 'UNFRAMED', 'UNIT', 'UNITS',
        -            'UNIVERSAL', 'UNSIGNED', 'UNSIGNED-INT', 'UNSIGNED-LONG',
        -            'UNSIGNED-SHORT',
        -            'UNSORTED', 'UP', 'UPDATE', 'UNTIL', 'UPON', 'UPPER',
        -            'UPSI-0', 'UPSI-1', 'UPSI-2', 'UPSI-3', 'UPSI-4', 'UPSI-5',
        -            'UPSI-6', 'UPSI-7', 'USAGE', 'USE-ALT', 'USE-RETURN',
        -            'USE-TAB', 'USER', 'USER-COLORS', 'USER-DEFAULT', 'USER-GRAY',
        -            'USER-WHITE', 'USING', 'UTF-16', 'UTF-8', 'VALID',
        -            'VAL-STATUS', 'VALIDATE-STATUS',
        -            'VALUE', 'VALUE-FORMAT', 'VALUES', 'VALUETYPE', 'VALUETYPE-ID',
        -            'VARBINARY', 'VARIABLE', 'VARIANT', 'VARYING', 'VERTICAL',
        -            'VERY-HEAVY', 'VIRTUAL-WIDTH', 'VISIBLE', 'VPADDING', 'VSCROLL',
        -            'VSCROLL-BAR', 'VSCROLL-POS', 'VTOP', 'WEB-BROWSER', 'WHEN',
        -            'WHERE', 'WIDTH', 'WIDTH-IN-CELLS', 'WINDOW',
        -            'WITH', 'WORDS', 'WORKING-STORAGE', 'WRAP', 'WRITE-ONLY',
        -            'WRITE-VERIFY', 'WRITING', ' XML', 'XML ', 'XML-CODE', 'XML-EVENT',
        -            'XML-NTEXT', 'XML-TEXT', 'YIELDING', 'YYYYDDD', 'YYYYMMDD', 'ZERO',
        -            'ZERO-FILL', 'ZEROES', 'ZEROS'
        -            ),
        -        3 => array( // Statement Keywords containing no spaces.
        -            'ACCEPT', 'ADD', 'ALTER', 'ALLOCATE', 'ATTACH', 'CALL', 'CANCEL',
        -            'CHAIN', 'CREATE',
        -            'CLOSE', 'COLOR', 'COMPUTE', 'COMMIT', 'CONTINUE',
        -            'COPY', 'DECLARE', 'DELEGATE', 'DELETE', 'DETACH', 'DISPLAY',
        -            'DIVIDE',
        -            'ENTER', 'ENTRY', 'EVALUATE', 'EXAMINE',
        -            'EXEC', 'EXECUTE', 'EXHIBIT', 'EXIT', 'FREE', 'GOBACK',
        -            'IF',  'INITIALIZE', 'INITIATE', 'INSPECT', 'INVOKE', 'MERGE',
        -            'MODIFY', 'MOVE', 'MULTIPLY', 'NOTE', 'ON', 'OPEN',
        -            'PERFORM', 'RAISE', 'READ', 'RECEIVE', 'RELEASE', 'RETURN',
        -            'RESET', 'RESUME',
        -            'REWRITE', 'ROLLBACK', 'SEARCH', 'SELECT', 'SERVICE', 'SET', 'SORT',
        -            'START', 'STOP', 'STRING', 'SUBTRACT', 'SYNC',
        -            'SUPPRESS', 'TERMINATE',
        -            'TRANSFORM', 'TRY', 'UNLOCKFILE', 'UNLOCK', 'UNSTRING', 'USE',
        -            'VALIDATE', 'WAIT', 'WRITE'
        -            ),
        -        4 => array( // Intrinsic functions
        -            'ABS', 'ACOS', 'ANNUITY', 'ASIN', 'ATAN', 'BOOLEAN-OF-INTEGER',
        -            'BYTE-LENGTH', 'CHAR', 'CHAR-NATIONAL',
        -            'COS', 'COMBINED-DATETIME', 'CONCATENATE', 'CURRENT-DATE',
        -            'DATE-OF-INTEGER', 'DATE-TO-YYYYMMDD', 'DAY-TO-YYYYDDD',
        -            'DAY-OF-INTEGER', 'DISPLAY-OF', 'E', 'EXCEPTION-FILE',
        -            'EXCEPTION-FILE-N', 'EXCEPTION-LOCATION',
        -            'EXCEPTION-LOCATION-N', 'EXCEPTION-STATEMENT', 'EXCEPTION-STATUS',
        -            'EXP', 'EXP10', 'FACTORIAL', 'FORMATTED-CURRENT-DATE',
        -            'FORMATTED-DATE', 'FORMATTED-DATETIME', 'FORMATTED-TIME',
        -            'FRACTION-PART', 'HIGHEST-ALGEBRAIC', 'INTEGER',
        -            'INTEGER-OF-BOOLEAN', 'INTEGER-OF-DATE', 'INTEGER-OF-DAY',
        -            'INTEGER-OF-FORMATTED-DATE', 'INTEGER-PART', 'LENGTH',
        -            'LOCALE-COMPARE',
        -            'LOCALE-DATE', 'LOCALE-TIME', 'LOCALE-TIME-FROM-SECONDS',
        -            'LOCALE-TIME-FROM-SECS', 'LOG',
        -            'LOG10', 'LOWER-CASE', 'LOWEST-ALGEBRAIC',
        -            'MAX', 'MEAN', 'MEDIAN', 'MIDRANGE',
        -            'MIN', 'MOD', 'NATIONAL-OF', 'NUMVAL', 'NUMVAL-C', 'NUMVAL-F',
        -            'ORD', 'ORD-MAX', 'ORD-MIN',
        -            'PI', 'PRESENT-VALUE', 'RANDOM', 'RANGE', 'REM', 'REVERSE',
        -            'SECONDS-FROM-FORMATTED-TIME', 'SIGN', 'SIN', 'SQRT',
        -            'SECONDS-PAST-MIDNIGHT', 'STANDARD-DEVIATION', 'STANDARD-COMPARE',
        -            'STORED-CHAR-LENGTH',
        -            'SUBSTITUTE', 'SUBSTITUE-CASE', 'SUM', 'TAN', 'TEST-DATE-YYYYMMDD',
        -            'TEST-DAY-YYYYDDD', 'TEST-FORMATTED-TIME', 'TEST-NUMVAL',
        -            'TEST-NUMVAL-C', 'TEST-NUMVAL-F',
        -            'TRIM', 'UPPER-CASE', 'VARIANCE', 'YEAR-TO-YYYY', 'WHEN-COMPILED'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        //  Arithmetic and comparison operators must be surrounded by spaces.
        -        ' + ', ' - ', ' * ', ' / ', ' ** ', ' ^ ',
        -        '.', ',',
        -        ' = ', ' < ', ' > ', ' >= ', ' <= ', ' <> ',
        -        '(', ')', '[', ']'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #008000; font-weight: bold;',
        -            3 => 'color: #000000; font-weight: bold;',
        -            4 => 'color: #9d7700;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #a0a0a0; font-style: italic;',
        -            2 => 'color: #000080; font-weight: bold;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #993399;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #800080;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000066;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => '(? 'CoffeeScript',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array('###' => '###'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    //Longest quotemarks ALWAYS first
        -    'QUOTEMARKS' => array('"""', "'''", '"', "'"),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -
        -        /*
        -        ** Set 1: control keywords
        -        */
        -        1 => array(
        -            'break', 'by', 'catch', 'continue', 'else', 'finally', 'for', 'in', 'of', 'if',
        -            'return', 'switch', 'then', 'throw', 'try', 'unless', 'when', 'while', 'until'
        -            ),
        -
        -        /*
        -        ** Set 2: logic keywords
        -        */
        -        2 => array(
        -            'and', 'or', 'is', 'isnt', 'not'
        -            ),
        -
        -        /*
        -        ** Set 3: other keywords
        -        */
        -        3 => array(
        -            'instanceof', 'new', 'delete', 'typeof',
        -            'class', 'super', 'this', 'extends'
        -            ),
        -
        -        /*
        -        ** Set 4: constants
        -        */
        -        4 => array(
        -            'true', 'false', 'on', 'off', 'yes', 'no',
        -            'Infinity', 'NaN', 'undefined', 'null'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -            '(', ')', '[', ']', '{', '}', '*', '&', '|', '%', '!', ',', ';', '<', '>', '?', '`',
        -            '+', '-', '*', '/', '->', '=>', '<<', '>>', '@', ':', '^'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #ff7700;font-weight:bold;',
        -            2 => 'color: #008000;',
        -            3 => 'color: #dc143c;',
        -            4 => 'color: #0000cd;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: black;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #483d8b;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff4500;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: black;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            ''
        -            )
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/cpp-qt.php b/vendor/easybook/geshi/geshi/cpp-qt.php
        deleted file mode 100644
        index dd7a615..0000000
        --- a/vendor/easybook/geshi/geshi/cpp-qt.php
        +++ /dev/null
        @@ -1,569 +0,0 @@
        - 'C++ (Qt)',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Multiline-continued single-line comments
        -        1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //Multiline-continued preprocessor define
        -        2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //C++ 11 string literal extensions
        -        3 => '/(?:L|u8?|U)(?=")/',
        -        //C++ 11 string literal extensions (raw)
        -        4 => '/R"([^()\s\\\\]*)\((?:(?!\)\\1").)*\)\\1"/ms'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[abfnrtv\\\'\"?\n]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{2}#",
        -        //Hexadecimal Char Specs
        -        3 => "#\\\\u[\da-fA-F]{4}#",
        -        //Hexadecimal Char Specs
        -        4 => "#\\\\U[\da-fA-F]{8}#",
        -        //Octal Char Specs
        -        5 => "#\\\\[0-7]{1,3}#"
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
        -            'switch', 'while', 'delete', 'new', 'this'
        -            ),
        -        2 => array(
        -            'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
        -            'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
        -            'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
        -            'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
        -            'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
        -            'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
        -            'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
        -            'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
        -            'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
        -            'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
        -            'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
        -            'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
        -            'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
        -            'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
        -            'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class' ,
        -            'foreach','connect', 'Q_OBJECT' , 'slots' , 'signals', 'Q_SIGNALS', 'Q_SLOTS',
        -            'Q_FOREACH', 'QCOMPARE', 'QVERIFY', 'qDebug', 'kDebug', 'QBENCHMARK'
        -            ),
        -        3 => array(
        -            'cin', 'cerr', 'clog', 'cout',
        -            'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
        -            'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
        -            'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
        -            'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
        -            'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
        -            'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
        -            'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
        -            'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
        -            'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
        -            'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
        -            'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
        -            'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
        -            'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
        -            'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
        -            'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
        -            'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
        -            'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
        -            'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
        -            'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
        -            ),
        -        4 => array(
        -            'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
        -            'register', 'short', 'shortint', 'signed', 'static', 'struct',
        -            'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
        -            'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
        -            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
        -
        -            'int8', 'int16', 'int32', 'int64',
        -            'uint8', 'uint16', 'uint32', 'uint64',
        -
        -            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
        -            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
        -
        -            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
        -            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
        -
        -            'int8_t', 'int16_t', 'int32_t', 'int64_t',
        -            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
        -
        -            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
        -            ),
        -        5 => array(
        -            "Q_UINT16", "Q_UINT32", "Q_UINT64", "Q_UINT8", "Q_ULLONG",
        -            "Q_ULONG", "Q3Accel", "Q3Action", "Q3ActionGroup", "Q3AsciiBucket",
        -            "Q3AsciiCache", "Q3AsciiCacheIterator", "Q3AsciiDict",
        -            "Q3AsciiDictIterator", "Q3BaseBucket", "Q3BoxLayout", "Q3Button",
        -            "Q3ButtonGroup", "Q3Cache", "Q3CacheIterator", "Q3Canvas",
        -            "Q3CanvasEllipse", "Q3CanvasItem", "Q3CanvasItemList",
        -            "Q3CanvasLine", "Q3CanvasPixmap", "Q3CanvasPixmapArray",
        -            "Q3CanvasPolygon", "Q3CanvasPolygonalItem", "Q3CanvasRectangle",
        -            "Q3CanvasSpline", "Q3CanvasSprite", "Q3CanvasText", "Q3CanvasView",
        -            "Q3CheckListItem", "Q3CheckTableItem", "Q3CleanupHandler",
        -            "Q3ColorDrag", "Q3ComboBox", "Q3ComboTableItem", "Q3CString",
        -            "Q3DataBrowser", "Q3DataTable", "Q3DataView", "Q3DateEdit",
        -            "Q3DateTimeEdit", "Q3DateTimeEditBase", "Q3DeepCopy", "Q3Dict",
        -            "Q3DictIterator", "Q3Dns", "Q3DnsSocket", "Q3DockArea",
        -            "Q3DockAreaLayout", "Q3DockWindow", "Q3DragObject", "Q3DropSite",
        -            "Q3EditorFactory", "Q3FileDialog", "Q3FileIconProvider",
        -            "Q3FilePreview", "Q3Frame", "Q3Ftp", "Q3GArray", "Q3GCache",
        -            "Q3GCacheIterator", "Q3GDict", "Q3GDictIterator", "Q3GList",
        -            "Q3GListIterator", "Q3GListStdIterator", "Q3Grid", "Q3GridLayout",
        -            "Q3GridView", "Q3GroupBox", "Q3GVector", "Q3HBox", "Q3HBoxLayout",
        -            "Q3HButtonGroup", "Q3Header", "Q3HGroupBox", "Q3Http",
        -            "Q3HttpHeader", "Q3HttpRequestHeader", "Q3HttpResponseHeader",
        -            "Q3IconDrag", "Q3IconDragItem", "Q3IconView", "Q3IconViewItem",
        -            "Q3ImageDrag", "Q3IntBucket", "Q3IntCache", "Q3IntCacheIterator",
        -            "Q3IntDict", "Q3IntDictIterator", "Q3ListBox", "Q3ListBoxItem",
        -            "Q3ListBoxPixmap", "Q3ListBoxText", "Q3ListView", "Q3ListViewItem",
        -            "Q3ListViewItemIterator", "Q3LNode", "Q3LocalFs", "Q3MainWindow",
        -            "Q3MemArray", "Q3MimeSourceFactory", "Q3MultiLineEdit",
        -            "Q3NetworkOperation", "Q3NetworkProtocol", "Q3NetworkProtocolDict",
        -            "Q3NetworkProtocolFactory", "Q3NetworkProtocolFactoryBase",
        -            "Q3ObjectDictionary", "Q3PaintDeviceMetrics", "Q3Painter",
        -            "Q3Picture", "Q3PointArray", "Q3PolygonScanner", "Q3PopupMenu",
        -            "Q3Process", "Q3ProgressBar", "Q3ProgressDialog", "Q3PtrBucket",
        -            "Q3PtrCollection", "Q3PtrDict", "Q3PtrDictIterator", "Q3PtrList",
        -            "Q3PtrListIterator", "Q3PtrListStdIterator", "Q3PtrQueue",
        -            "Q3PtrStack", "Q3PtrVector", "Q3RangeControl", "Q3ScrollView",
        -            "Q3Semaphore", "Q3ServerSocket", "Q3Shared", "Q3Signal",
        -            "Q3SimpleRichText", "Q3SingleCleanupHandler", "Q3Socket",
        -            "Q3SocketDevice", "Q3SortedList", "Q3SpinWidget", "Q3SqlCursor",
        -            "Q3SqlEditorFactory", "Q3SqlFieldInfo", "Q3SqlFieldInfoList",
        -            "Q3SqlForm", "Q3SqlPropertyMap", "Q3SqlRecordInfo",
        -            "Q3SqlSelectCursor", "Q3StoredDrag", "Q3StrIList", "Q3StringBucket",
        -            "Q3StrIVec", "Q3StrList", "Q3StrListIterator", "Q3StrVec",
        -            "Q3StyleSheet", "Q3StyleSheetItem", "Q3SyntaxHighlighter",
        -            "Q3TabDialog", "Q3Table", "Q3TableItem", "Q3TableSelection",
        -            "Q3TextBrowser", "Q3TextDrag", "Q3TextEdit",
        -            "Q3TextEditOptimPrivate", "Q3TextStream", "Q3TextView",
        -            "Q3TimeEdit", "Q3ToolBar", "Q3TSFUNC", "Q3UriDrag", "Q3Url",
        -            "Q3UrlOperator", "Q3ValueList", "Q3ValueListConstIterator",
        -            "Q3ValueListIterator", "Q3ValueStack", "Q3ValueVector", "Q3VBox",
        -            "Q3VBoxLayout", "Q3VButtonGroup", "Q3VGroupBox", "Q3WhatsThis",
        -            "Q3WidgetStack", "Q3Wizard", "QAbstractButton",
        -            "QAbstractEventDispatcher", "QAbstractExtensionFactory",
        -            "QAbstractExtensionManager", "QAbstractFileEngine",
        -            "QAbstractFileEngineHandler", "QAbstractFileEngineIterator",
        -            "QAbstractFormBuilder", "QAbstractGraphicsShapeItem",
        -            "QAbstractItemDelegate", "QAbstractItemModel", "QAbstractItemView",
        -            "QAbstractListModel", "QAbstractMessageHandler",
        -            "QAbstractNetworkCache", "QAbstractPageSetupDialog",
        -            "QAbstractPrintDialog", "QAbstractProxyModel",
        -            "QAbstractScrollArea", "QAbstractSlider", "QAbstractSocket",
        -            "QAbstractSpinBox", "QAbstractTableModel",
        -            "QAbstractTextDocumentLayout", "QAbstractUndoItem",
        -            "QAbstractUriResolver", "QAbstractXmlNodeModel",
        -            "QAbstractXmlReceiver", "QAccessible", "QAccessible2Interface",
        -            "QAccessibleApplication", "QAccessibleBridge",
        -            "QAccessibleBridgeFactoryInterface", "QAccessibleBridgePlugin",
        -            "QAccessibleEditableTextInterface", "QAccessibleEvent",
        -            "QAccessibleFactoryInterface", "QAccessibleInterface",
        -            "QAccessibleInterfaceEx", "QAccessibleObject",
        -            "QAccessibleObjectEx", "QAccessiblePlugin",
        -            "QAccessibleSimpleEditableTextInterface",
        -            "QAccessibleTableInterface", "QAccessibleTextInterface",
        -            "QAccessibleValueInterface", "QAccessibleWidget",
        -            "QAccessibleWidgetEx", "QAction", "QActionEvent", "QActionGroup",
        -            "QApplication", "QArgument", "QAssistantClient", "QAtomicInt",
        -            "QAtomicPointer", "QAuthenticator", "QBasicAtomicInt",
        -            "QBasicAtomicPointer", "QBasicTimer", "QBitArray", "QBitmap",
        -            "QBitRef", "QBool", "QBoxLayout", "QBrush", "QBrushData", "QBuffer",
        -            "QButtonGroup", "QByteArray", "QByteArrayMatcher", "QByteRef",
        -            "QCache", "QCalendarWidget", "QCDEStyle", "QChar", "QCharRef",
        -            "QCheckBox", "QChildEvent", "QCleanlooksStyle", "QClipboard",
        -            "QClipboardEvent", "QCloseEvent", "QColor", "QColorDialog",
        -            "QColorGroup", "QColormap", "QColumnView", "QComboBox",
        -            "QCommandLinkButton", "QCommonStyle", "QCompleter",
        -            "QConicalGradient", "QConstString", "QContextMenuEvent", "QCOORD",
        -            "QCoreApplication", "QCryptographicHash", "QCursor", "QCursorShape",
        -            "QCustomEvent", "QDataStream", "QDataWidgetMapper", "QDate",
        -            "QDateEdit", "QDateTime", "QDateTimeEdit", "QDB2Driver",
        -            "QDB2Result", "QDBusAbstractAdaptor", "QDBusAbstractInterface",
        -            "QDBusArgument", "QDBusConnection", "QDBusConnectionInterface",
        -            "QDBusContext", "QDBusError", "QDBusInterface", "QDBusMessage",
        -            "QDBusMetaType", "QDBusObjectPath", "QDBusPendingCall",
        -            "QDBusPendingCallWatcher", "QDBusPendingReply",
        -            "QDBusPendingReplyData", "QDBusReply", "QDBusServer",
        -            "QDBusSignature", "QDBusVariant", "QDebug",
        -            "QDesignerActionEditorInterface", "QDesignerBrushManagerInterface",
        -            "QDesignerComponents", "QDesignerContainerExtension",
        -            "QDesignerCustomWidgetCollectionInterface",
        -            "QDesignerCustomWidgetInterface", "QDesignerDnDItemInterface",
        -            "QDesignerDynamicPropertySheetExtension", "QDesignerExportWidget",
        -            "QDesignerExtraInfoExtension", "QDesignerFormEditorInterface",
        -            "QDesignerFormEditorPluginInterface", "QDesignerFormWindowCursorInterface",
        -            "QDesignerFormWindowInterface", "QDesignerFormWindowManagerInterface",
        -            "QDesignerFormWindowToolInterface",
        -            "QDesignerIconCacheInterface", "QDesignerIntegrationInterface",
        -            "QDesignerLanguageExtension", "QDesignerLayoutDecorationExtension",
        -            "QDesignerMemberSheetExtension", "QDesignerMetaDataBaseInterface",
        -            "QDesignerMetaDataBaseItemInterface",
        -            "QDesignerObjectInspectorInterface", "QDesignerPromotionInterface",
        -            "QDesignerPropertyEditorInterface",
        -            "QDesignerPropertySheetExtension", "QDesignerResourceBrowserInterface",
        -            "QDesignerTaskMenuExtension", "QDesignerWidgetBoxInterface",
        -            "QDesignerWidgetDataBaseInterface", "QDesignerWidgetDataBaseItemInterface",
        -            "QDesignerWidgetFactoryInterface", "QDesktopServices",
        -            "QDesktopWidget", "QDial", "QDialog", "QDialogButtonBox", "QDir",
        -            "QDirIterator", "QDirModel", "QDockWidget", "QDomAttr",
        -            "QDomCDATASection", "QDomCharacterData", "QDomComment",
        -            "QDomDocument", "QDomDocumentFragment", "QDomDocumentType",
        -            "QDomElement", "QDomEntity", "QDomEntityReference",
        -            "QDomImplementation", "QDomNamedNodeMap", "QDomNode",
        -            "QDomNodeList", "QDomNotation", "QDomProcessingInstruction",
        -            "QDomText", "QDoubleSpinBox", "QDoubleValidator", "QDrag",
        -            "QDragEnterEvent", "QDragLeaveEvent", "QDragMoveEvent",
        -            "QDragResponseEvent", "QDropEvent", "QDynamicPropertyChangeEvent",
        -            "QErrorMessage", "QEvent", "QEventLoop", "QEventSizeOfChecker",
        -            "QExplicitlySharedDataPointer", "QExtensionFactory",
        -            "QExtensionManager", "QFactoryInterface", "QFile", "QFileDialog",
        -            "QFileIconProvider", "QFileInfo", "QFileInfoList",
        -            "QFileInfoListIterator", "QFileOpenEvent", "QFileSystemModel",
        -            "QFileSystemWatcher", "QFlag", "QFlags", "QFocusEvent",
        -            "QFocusFrame", "QFont", "QFontComboBox", "QFontDatabase",
        -            "QFontDialog", "QFontInfo", "QFontMetrics", "QFontMetricsF",
        -            "QForeachContainer", "QForeachContainerBase", "QFormBuilder",
        -            "QFormLayout", "QFrame", "QFSFileEngine", "QFtp", "QFuture",
        -            "QFutureInterface", "QFutureInterfaceBase", "QFutureIterator",
        -            "QFutureSynchronizer", "QFutureWatcher", "QFutureWatcherBase",
        -            "QGenericArgument", "QGenericReturnArgument", "QGLColormap",
        -            "QGLContext", "QGLFormat", "QGLFramebufferObject", "QGlobalStatic",
        -            "QGlobalStaticDeleter", "QGLPixelBuffer", "QGLWidget", "QGradient",
        -            "QGradientStop", "QGradientStops", "QGraphicsEllipseItem",
        -            "QGraphicsGridLayout", "QGraphicsItem", "QGraphicsItemAnimation",
        -            "QGraphicsItemGroup", "QGraphicsLayout", "QGraphicsLayoutItem",
        -            "QGraphicsLinearLayout", "QGraphicsLineItem", "QGraphicsPathItem",
        -            "QGraphicsPixmapItem", "QGraphicsPolygonItem",
        -            "QGraphicsProxyWidget", "QGraphicsRectItem", "QGraphicsScene",
        -            "QGraphicsSceneContextMenuEvent", "QGraphicsSceneDragDropEvent",
        -            "QGraphicsSceneEvent", "QGraphicsSceneHelpEvent",
        -            "QGraphicsSceneHoverEvent", "QGraphicsSceneMouseEvent",
        -            "QGraphicsSceneMoveEvent", "QGraphicsSceneResizeEvent",
        -            "QGraphicsSceneWheelEvent", "QGraphicsSimpleTextItem",
        -            "QGraphicsSvgItem", "QGraphicsTextItem", "QGraphicsView",
        -            "QGraphicsWidget", "QGridLayout", "QGroupBox", "QGtkStyle", "QHash",
        -            "QHashData", "QHashDummyNode", "QHashDummyValue", "QHashIterator",
        -            "QHashNode", "QHBoxLayout", "QHeaderView", "QHelpContentItem",
        -            "QHelpContentModel", "QHelpContentWidget", "QHelpEngine",
        -            "QHelpEngineCore", "QHelpEvent", "QHelpGlobal", "QHelpIndexModel",
        -            "QHelpIndexWidget", "QHelpSearchEngine", "QHelpSearchQuery",
        -            "QHelpSearchQueryWidget", "QHelpSearchResultWidget", "QHideEvent",
        -            "QHostAddress", "QHostInfo", "QHoverEvent", "QHttp", "QHttpHeader",
        -            "QHttpRequestHeader", "QHttpResponseHeader", "QIBaseDriver",
        -            "QIBaseResult", "QIcon", "QIconDragEvent", "QIconEngine",
        -            "QIconEngineFactoryInterface", "QIconEngineFactoryInterfaceV2",
        -            "QIconEnginePlugin", "QIconEnginePluginV2", "QIconEngineV2",
        -            "QIconSet", "QImage", "QImageIOHandler",
        -            "QImageIOHandlerFactoryInterface", "QImageIOPlugin", "QImageReader",
        -            "QImageTextKeyLang", "QImageWriter", "QIncompatibleFlag",
        -            "QInputContext", "QInputContextFactory",
        -            "QInputContextFactoryInterface", "QInputContextPlugin",
        -            "QInputDialog", "QInputEvent", "QInputMethodEvent", "Q_INT16",
        -            "Q_INT32", "Q_INT64", "Q_INT8", "QInternal", "QIntForSize",
        -            "QIntForType", "QIntValidator", "QIODevice", "Q_IPV6ADDR",
        -            "QIPv6Address", "QItemDelegate", "QItemEditorCreator",
        -            "QItemEditorCreatorBase", "QItemEditorFactory", "QItemSelection",
        -            "QItemSelectionModel", "QItemSelectionRange", "QKeyEvent",
        -            "QKeySequence", "QLabel", "QLatin1Char", "QLatin1String", "QLayout",
        -            "QLayoutItem", "QLayoutIterator", "QLCDNumber", "QLibrary",
        -            "QLibraryInfo", "QLine", "QLinearGradient", "QLineEdit", "QLineF",
        -            "QLinkedList", "QLinkedListData", "QLinkedListIterator",
        -            "QLinkedListNode", "QList", "QListData", "QListIterator",
        -            "QListView", "QListWidget", "QListWidgetItem", "Q_LLONG", "QLocale",
        -            "QLocalServer", "QLocalSocket", "Q_LONG", "QMacCompatGLenum",
        -            "QMacCompatGLint", "QMacCompatGLuint", "QMacGLCompatTypes",
        -            "QMacMime", "QMacPasteboardMime", "QMainWindow", "QMap", "QMapData",
        -            "QMapIterator", "QMapNode", "QMapPayloadNode", "QMatrix",
        -            "QMdiArea", "QMdiSubWindow", "QMenu", "QMenuBar",
        -            "QMenubarUpdatedEvent", "QMenuItem", "QMessageBox",
        -            "QMetaClassInfo", "QMetaEnum", "QMetaMethod", "QMetaObject",
        -            "QMetaObjectExtraData", "QMetaProperty", "QMetaType", "QMetaTypeId",
        -            "QMetaTypeId2", "QMimeData", "QMimeSource", "QModelIndex",
        -            "QModelIndexList", "QMotifStyle", "QMouseEvent", "QMoveEvent",
        -            "QMovie", "QMultiHash", "QMultiMap", "QMutableFutureIterator",
        -            "QMutableHashIterator", "QMutableLinkedListIterator",
        -            "QMutableListIterator", "QMutableMapIterator",
        -            "QMutableSetIterator", "QMutableStringListIterator",
        -            "QMutableVectorIterator", "QMutex", "QMutexLocker", "QMYSQLDriver",
        -            "QMYSQLResult", "QNetworkAccessManager", "QNetworkAddressEntry",
        -            "QNetworkCacheMetaData", "QNetworkCookie", "QNetworkCookieJar",
        -            "QNetworkDiskCache", "QNetworkInterface", "QNetworkProxy",
        -            "QNetworkProxyFactory", "QNetworkProxyQuery", "QNetworkReply",
        -            "QNetworkRequest", "QNoDebug", "QNoImplicitBoolCast", "QObject",
        -            "QObjectCleanupHandler", "QObjectData", "QObjectList",
        -            "QObjectUserData", "QOCIDriver", "QOCIResult", "QODBCDriver",
        -            "QODBCResult", "QPageSetupDialog", "QPaintDevice", "QPaintEngine",
        -            "QPaintEngineState", "QPainter", "QPainterPath",
        -            "QPainterPathPrivate", "QPainterPathStroker", "QPaintEvent",
        -            "QPair", "QPalette", "QPen", "QPersistentModelIndex", "QPicture",
        -            "QPictureFormatInterface", "QPictureFormatPlugin", "QPictureIO",
        -            "Q_PID", "QPixmap", "QPixmapCache", "QPlainTextDocumentLayout",
        -            "QPlainTextEdit", "QPlastiqueStyle", "QPluginLoader", "QPoint",
        -            "QPointer", "QPointF", "QPolygon", "QPolygonF", "QPrintDialog",
        -            "QPrintEngine", "QPrinter", "QPrinterInfo", "QPrintPreviewDialog",
        -            "QPrintPreviewWidget", "QProcess", "QProgressBar",
        -            "QProgressDialog", "QProxyModel", "QPSQLDriver", "QPSQLResult",
        -            "QPushButton", "QQueue", "QRadialGradient", "QRadioButton",
        -            "QReadLocker", "QReadWriteLock", "QRect", "QRectF", "QRegExp",
        -            "QRegExpValidator", "QRegion", "QResizeEvent", "QResource",
        -            "QReturnArgument", "QRgb", "QRubberBand", "QRunnable",
        -            "QScriptable", "QScriptClass", "QScriptClassPropertyIterator",
        -            "QScriptContext", "QScriptContextInfo", "QScriptContextInfoList",
        -            "QScriptEngine", "QScriptEngineAgent", "QScriptEngineDebugger",
        -            "QScriptExtensionInterface", "QScriptExtensionPlugin",
        -            "QScriptString", "QScriptSyntaxCheckResult", "QScriptValue",
        -            "QScriptValueIterator", "QScriptValueList", "QScrollArea",
        -            "QScrollBar", "QSemaphore", "QSessionManager", "QSet",
        -            "QSetIterator", "QSettings", "QSharedData", "QSharedDataPointer",
        -            "QSharedMemory", "QSharedPointer", "QShortcut", "QShortcutEvent",
        -            "QShowEvent", "QSignalMapper", "QSignalSpy", "QSimpleXmlNodeModel",
        -            "QSize", "QSizeF", "QSizeGrip", "QSizePolicy", "QSlider",
        -            "QSocketNotifier", "QSortFilterProxyModel", "QSound",
        -            "QSourceLocation", "QSpacerItem", "QSpinBox", "QSplashScreen",
        -            "QSplitter", "QSplitterHandle", "QSpontaneKeyEvent", "QSqlDatabase",
        -            "QSqlDriver", "QSqlDriverCreator", "QSqlDriverCreatorBase",
        -            "QSqlDriverFactoryInterface", "QSqlDriverPlugin", "QSqlError",
        -            "QSqlField", "QSqlIndex", "QSQLite2Driver", "QSQLite2Result",
        -            "QSQLiteDriver", "QSQLiteResult", "QSqlQuery", "QSqlQueryModel",
        -            "QSqlRecord", "QSqlRelation", "QSqlRelationalDelegate",
        -            "QSqlRelationalTableModel", "QSqlResult", "QSqlTableModel", "QSsl",
        -            "QSslCertificate", "QSslCipher", "QSslConfiguration", "QSslError",
        -            "QSslKey", "QSslSocket", "QStack", "QStackedLayout",
        -            "QStackedWidget", "QStandardItem", "QStandardItemEditorCreator",
        -            "QStandardItemModel", "QStatusBar", "QStatusTipEvent",
        -            "QStdWString", "QString", "QStringList", "QStringListIterator",
        -            "QStringListModel", "QStringMatcher", "QStringRef", "QStyle",
        -            "QStyledItemDelegate", "QStyleFactory", "QStyleFactoryInterface",
        -            "QStyleHintReturn", "QStyleHintReturnMask",
        -            "QStyleHintReturnVariant", "QStyleOption", "QStyleOptionButton",
        -            "QStyleOptionComboBox", "QStyleOptionComplex",
        -            "QStyleOptionDockWidget", "QStyleOptionDockWidgetV2",
        -            "QStyleOptionFocusRect", "QStyleOptionFrame", "QStyleOptionFrameV2",
        -            "QStyleOptionFrameV3", "QStyleOptionGraphicsItem",
        -            "QStyleOptionGroupBox", "QStyleOptionHeader",
        -            "QStyleOptionMenuItem", "QStyleOptionProgressBar",
        -            "QStyleOptionProgressBarV2", "QStyleOptionQ3DockWindow",
        -            "QStyleOptionQ3ListView", "QStyleOptionQ3ListViewItem",
        -            "QStyleOptionRubberBand", "QStyleOptionSizeGrip",
        -            "QStyleOptionSlider", "QStyleOptionSpinBox", "QStyleOptionTab",
        -            "QStyleOptionTabBarBase", "QStyleOptionTabBarBaseV2",
        -            "QStyleOptionTabV2", "QStyleOptionTabV3",
        -            "QStyleOptionTabWidgetFrame", "QStyleOptionTitleBar",
        -            "QStyleOptionToolBar", "QStyleOptionToolBox",
        -            "QStyleOptionToolBoxV2", "QStyleOptionToolButton",
        -            "QStyleOptionViewItem", "QStyleOptionViewItemV2",
        -            "QStyleOptionViewItemV3", "QStyleOptionViewItemV4", "QStylePainter",
        -            "QStylePlugin", "QSvgGenerator", "QSvgRenderer", "QSvgWidget",
        -            "QSyntaxHighlighter", "QSysInfo", "QSystemLocale",
        -            "QSystemSemaphore", "QSystemTrayIcon", "Qt", "Qt3Support",
        -            "QTabBar", "QTabletEvent", "QTableView", "QTableWidget",
        -            "QTableWidgetItem", "QTableWidgetSelectionRange", "QTabWidget",
        -            "QtAlgorithms", "QtAssistant", "QtCleanUpFunction",
        -            "QtConcurrentFilter", "QtConcurrentMap", "QtConcurrentRun",
        -            "QtContainerFwd", "QtCore", "QTcpServer", "QTcpSocket", "QtDBus",
        -            "QtDebug", "QtDesigner", "QTDSDriver", "QTDSResult",
        -            "QTemporaryFile", "QtEndian", "QTest", "QTestAccessibility",
        -            "QTestAccessibilityEvent", "QTestData", "QTestDelayEvent",
        -            "QTestEvent", "QTestEventList", "QTestEventLoop",
        -            "QTestKeyClicksEvent", "QTestKeyEvent", "QTestMouseEvent",
        -            "QtEvents", "QTextBlock", "QTextBlockFormat", "QTextBlockGroup",
        -            "QTextBlockUserData", "QTextBoundaryFinder", "QTextBrowser",
        -            "QTextCharFormat", "QTextCodec", "QTextCodecFactoryInterface",
        -            "QTextCodecPlugin", "QTextCursor", "QTextDecoder", "QTextDocument",
        -            "QTextDocumentFragment", "QTextDocumentWriter", "QTextEdit",
        -            "QTextEncoder", "QTextFormat", "QTextFragment", "QTextFrame",
        -            "QTextFrameFormat", "QTextFrameLayoutData", "QTextImageFormat",
        -            "QTextInlineObject", "QTextIStream", "QTextItem", "QTextLayout",
        -            "QTextLength", "QTextLine", "QTextList", "QTextListFormat",
        -            "QTextObject", "QTextObjectInterface", "QTextOption",
        -            "QTextOStream", "QTextStream", "QTextStreamFunction",
        -            "QTextStreamManipulator", "QTextTable", "QTextTableCell",
        -            "QTextTableCellFormat", "QTextTableFormat", "QtGlobal", "QtGui",
        -            "QtHelp", "QThread", "QThreadPool", "QThreadStorage",
        -            "QThreadStorageData", "QTime", "QTimeEdit", "QTimeLine", "QTimer",
        -            "QTimerEvent", "QtMsgHandler", "QtNetwork", "QToolBar",
        -            "QToolBarChangeEvent", "QToolBox", "QToolButton", "QToolTip",
        -            "QtOpenGL", "QtPlugin", "QtPluginInstanceFunction", "QTransform",
        -            "QTranslator", "QTreeView", "QTreeWidget", "QTreeWidgetItem",
        -            "QTreeWidgetItemIterator", "QTS", "QtScript", "QtScriptTools",
        -            "QtSql", "QtSvg", "QtTest", "QtUiTools", "QtWebKit", "QtXml",
        -            "QtXmlPatterns", "QTypeInfo", "QUdpSocket", "QUiLoader",
        -            "QUintForSize", "QUintForType", "QUndoCommand", "QUndoGroup",
        -            "QUndoStack", "QUndoView", "QUnixPrintWidget", "QUpdateLaterEvent",
        -            "QUrl", "QUrlInfo", "QUuid", "QValidator", "QVariant",
        -            "QVariantComparisonHelper", "QVariantHash", "QVariantList",
        -            "QVariantMap", "QVarLengthArray", "QVBoxLayout", "QVector",
        -            "QVectorData", "QVectorIterator", "QVectorTypedData",
        -            "QWaitCondition", "QWeakPointer", "QWebDatabase", "QWebFrame",
        -            "QWebHistory", "QWebHistoryInterface", "QWebHistoryItem",
        -            "QWebHitTestResult", "QWebPage", "QWebPluginFactory",
        -            "QWebSecurityOrigin", "QWebSettings", "QWebView", "QWhatsThis",
        -            "QWhatsThisClickedEvent", "QWheelEvent", "QWidget", "QWidgetAction",
        -            "QWidgetData", "QWidgetItem", "QWidgetItemV2", "QWidgetList",
        -            "QWidgetMapper", "QWidgetSet", "QWindowsCEStyle", "QWindowsMime",
        -            "QWindowsMobileStyle", "QWindowsStyle", "QWindowStateChangeEvent",
        -            "QWindowsVistaStyle", "QWindowsXPStyle", "QWizard", "QWizardPage",
        -            "QWMatrix", "QWorkspace", "QWriteLocker", "QX11EmbedContainer",
        -            "QX11EmbedWidget", "QX11Info", "QXmlAttributes",
        -            "QXmlContentHandler", "QXmlDeclHandler", "QXmlDefaultHandler",
        -            "QXmlDTDHandler", "QXmlEntityResolver", "QXmlErrorHandler",
        -            "QXmlFormatter", "QXmlInputSource", "QXmlItem",
        -            "QXmlLexicalHandler", "QXmlLocator", "QXmlName", "QXmlNamePool",
        -            "QXmlNamespaceSupport", "QXmlNodeModelIndex", "QXmlParseException",
        -            "QXmlQuery", "QXmlReader", "QXmlResultItems", "QXmlSerializer",
        -            "QXmlSimpleReader", "QXmlStreamAttribute", "QXmlStreamAttributes",
        -            "QXmlStreamEntityDeclaration", "QXmlStreamEntityDeclarations",
        -            "QXmlStreamEntityResolver", "QXmlStreamNamespaceDeclaration",
        -            "QXmlStreamNamespaceDeclarations", "QXmlStreamNotationDeclaration",
        -            "QXmlStreamNotationDeclarations", "QXmlStreamReader",
        -            "QXmlStreamStringRef", "QXmlStreamWriter"
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', ',', ';', '|', '<', '>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight:bold;',
        -            2 => 'color: #0057AE;',
        -            3 => 'color: #2B74C7;',
        -            4 => 'color: #0057AE;',
        -            5 => 'color: #22aadd;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #888888;',
        -            2 => 'color: #006E28;',
        -            3 => 'color: #BF0303;',
        -            4 => 'color: #BF0303;',
        -            'MULTI' => 'color: #888888; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #660099; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold;',
        -            'HARD' => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #006E28;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #BF0303;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #B08000;',
        -            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #2B74C7;',
        -            2 => 'color: #2B74C7;',
        -            3 => 'color: #2B74C7;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #006E28;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => 'http://doc.qt.io/qt-5/{FNAMEL}.html'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::',
        -        3 => '->',
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?|^])",
        -            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
        -        ),
        -        'OOLANG' => array(
        -            'MATCH_AFTER' => '~?[a-zA-Z][a-zA-Z0-9_]*',
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/cpp-winapi.php b/vendor/easybook/geshi/geshi/cpp-winapi.php
        deleted file mode 100644
        index ddc70b6..0000000
        --- a/vendor/easybook/geshi/geshi/cpp-winapi.php
        +++ /dev/null
        @@ -1,836 +0,0 @@
        - 'C++ (WinAPI)',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Multiline-continued single-line comments
        -        1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //Multiline-continued preprocessor define
        -        2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //C++ 11 string literal extensions
        -        3 => '/(?:L|u8?|U)(?=")/',
        -        //C++ 11 string literal extensions (raw)
        -        4 => '/R"([^()\s\\\\]*)\((?:(?!\)\\1").)*\)\\1"/ms'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[abfnrtv\\\'\"?\n]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{2}#",
        -        //Hexadecimal Char Specs
        -        3 => "#\\\\u[\da-fA-F]{4}#",
        -        //Hexadecimal Char Specs
        -        4 => "#\\\\U[\da-fA-F]{8}#",
        -        //Octal Char Specs
        -        5 => "#\\\\[0-7]{1,3}#"
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'break', 'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
        -            'switch', 'throw', 'while'
        -            ),
        -        2 => array(
        -            'NULL', 'false', 'true', 'enum', 'errno', 'EDOM',
        -            'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
        -            'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
        -            'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
        -            'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
        -            'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
        -            'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
        -            'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
        -            'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
        -            'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
        -            'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
        -            'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
        -            'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
        -            'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
        -            'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class'
        -            ),
        -        3 => array(
        -            'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
        -            'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
        -            'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
        -            'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
        -            'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
        -            'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
        -            'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
        -            'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
        -            'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
        -            'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
        -            'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
        -            'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
        -            'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
        -            'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
        -            'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
        -            'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
        -            'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
        -            'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
        -            'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
        -            'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
        -            ),
        -        4 => array(
        -            'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
        -            'register', 'short', 'shortint', 'signed', 'static', 'struct',
        -            'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
        -            'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
        -            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
        -
        -            'int8', 'int16', 'int32', 'int64',
        -            'uint8', 'uint16', 'uint32', 'uint64',
        -
        -            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
        -            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
        -
        -            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
        -            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
        -
        -            'int8_t', 'int16_t', 'int32_t', 'int64_t',
        -            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
        -
        -            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
        -            ),
        -        // Public API
        -        5 => array(
        -            'AssignProcessToJobObject', 'CommandLineToArgvW', 'ConvertThreadToFiber',
        -            'CreateFiber', 'CreateJobObjectA', 'CreateJobObjectW', 'CreateProcessA',
        -            'CreateProcessAsUserA', 'CreateProcessAsUserW', 'CreateProcessW',
        -            'CreateRemoteThread', 'CreateThread', 'DeleteFiber', 'ExitProcess',
        -            'ExitThread', 'FreeEnvironmentStringsA', 'FreeEnvironmentStringsW',
        -            'GetCommandLineA', 'GetCommandLineW', 'GetCurrentProcess',
        -            'GetCurrentProcessId', 'GetCurrentThread', 'GetCurrentThreadId',
        -            'GetEnvironmentStringsA', 'GetEnvironmentStringsW',
        -            'GetEnvironmentVariableA', 'GetEnvironmentVariableW', 'GetExitCodeProcess',
        -            'GetExitCodeThread', 'GetGuiResources', 'GetPriorityClass',
        -            'GetProcessAffinityMask', 'GetProcessPriorityBoost',
        -            'GetProcessShutdownParameters', 'GetProcessTimes', 'GetProcessVersion',
        -            'GetProcessWorkingSetSize', 'GetStartupInfoA', 'GetStartupInfoW',
        -            'GetThreadPriority', 'GetThreadPriorityBoost', 'GetThreadTimes',
        -            'OpenJobObjectA', 'OpenJobObjectW', 'OpenProcess',
        -            'QueryInformationJobObject', 'ResumeThread', 'SetEnvironmentVariableA',
        -            'SetEnvironmentVariableW', 'SetInformationJobObject', 'SetPriorityClass',
        -            'SetProcessAffinityMask', 'SetProcessPriorityBoost',
        -            'SetProcessShutdownParameters', 'SetProcessWorkingSetSize',
        -            'SetThreadAffinityMask', 'SetThreadIdealProcessor', 'SetThreadPriority',
        -            'SetThreadPriorityBoost', 'Sleep', 'SleepEx', 'SuspendThread',
        -            'SwitchToFiber', 'SwitchToThread', 'TerminateJobObject', 'TerminateProcess',
        -            'TerminateThread', 'WaitForInputIdle', 'WinExec',
        -
        -            '_hread', '_hwrite', '_lclose', '_lcreat', '_llseek', '_lopen', '_lread',
        -            '_lwrite', 'AreFileApisANSI', 'CancelIo', 'CopyFileA', 'CopyFileW',
        -            'CreateDirectoryA', 'CreateDirectoryExA', 'CreateDirectoryExW',
        -            'CreateDirectoryW', 'CreateFileA', 'CreateFileW', 'DeleteFileA',
        -            'DeleteFileW', 'FindClose', 'FindCloseChangeNotification',
        -            'FindFirstChangeNotificationA', 'FindFirstChangeNotificationW',
        -            'FindFirstFileA', 'FindFirstFileW', 'FindNextFileA', 'FindNextFileW',
        -            'FlushFileBuffers', 'GetCurrentDirectoryA', 'GetCurrentDirectoryW',
        -            'GetDiskFreeSpaceA', 'GetDiskFreeSpaceExA', 'GetDiskFreeSpaceExW',
        -            'GetDiskFreeSpaceW', 'GetDriveTypeA', 'GetDriveTypeW', 'GetFileAttributesA',
        -            'GetFileAttributesExA', 'GetFileAttributesExW', 'GetFileAttributesW',
        -            'GetFileInformationByHandle', 'GetFileSize', 'GetFileType',
        -            'GetFullPathNameA', 'GetFullPathNameW', 'GetLogicalDrives',
        -            'GetLogicalDriveStringsA', 'GetLogicalDriveStringsW', 'GetLongPathNameA',
        -            'GetLongPathNameW', 'GetShortPathNameA', 'GetShortPathNameW',
        -            'GetTempFileNameA', 'GetTempFileNameW', 'GetTempPathA', 'GetTempPathW',
        -            'LockFile', 'MoveFileA', 'MoveFileW', 'MulDiv', 'OpenFile',
        -            'QueryDosDeviceA', 'QueryDosDeviceW', 'ReadFile', 'ReadFileEx',
        -            'RemoveDirectoryA', 'RemoveDirectoryW', 'SearchPathA', 'SearchPathW',
        -            'SetCurrentDirectoryA', 'SetCurrentDirectoryW', 'SetEndOfFile',
        -            'SetFileApisToANSI', 'SetFileApisToOEM', 'SetFileAttributesA',
        -            'SetFileAttributesW', 'SetFilePointer', 'SetHandleCount',
        -            'SetVolumeLabelA', 'SetVolumeLabelW', 'UnlockFile', 'WriteFile',
        -            'WriteFileEx',
        -
        -            'DeviceIoControl',
        -
        -            'GetModuleFileNameA', 'GetModuleFileNameW', 'GetProcAddress',
        -            'LoadLibraryA', 'LoadLibraryExA', 'LoadLibraryExW', 'LoadLibraryW',
        -            'LoadModule',
        -
        -            'GetPrivateProfileIntA', 'GetPrivateProfileIntW',
        -            'GetPrivateProfileSectionA', 'GetPrivateProfileSectionNamesA',
        -            'GetPrivateProfileSectionNamesW', 'GetPrivateProfileSectionW',
        -            'GetPrivateProfileStringA', 'GetPrivateProfileStringW',
        -            'GetPrivateProfileStructA', 'GetPrivateProfileStructW',
        -            'GetProfileIntA', 'GetProfileIntW', 'GetProfileSectionA',
        -            'GetProfileSectionW', 'GetProfileStringA', 'GetProfileStringW',
        -            'RegCloseKey', 'RegConnectRegistryA', 'RegConnectRegistryW',
        -            'RegCreateKeyA', 'RegCreateKeyExA', 'RegCreateKeyExW',
        -            'RegCreateKeyW', 'RegDeleteKeyA', 'RegDeleteKeyW', 'RegDeleteValueA',
        -            'RegDeleteValueW', 'RegEnumKeyA', 'RegEnumKeyExA', 'RegEnumKeyExW',
        -            'RegEnumKeyW', 'RegEnumValueA', 'RegEnumValueW', 'RegFlushKey',
        -            'RegGetKeySecurity', 'RegLoadKeyA', 'RegLoadKeyW',
        -            'RegNotifyChangeKeyValue', 'RegOpenKeyA', 'RegOpenKeyExA', 'RegOpenKeyExW',
        -            'RegOpenKeyW', 'RegOverridePredefKey', 'RegQueryInfoKeyA',
        -            'RegQueryInfoKeyW', 'RegQueryMultipleValuesA', 'RegQueryMultipleValuesW',
        -            'RegQueryValueA', 'RegQueryValueExA', 'RegQueryValueExW', 'RegQueryValueW',
        -            'RegReplaceKeyA', 'RegReplaceKeyW', 'RegRestoreKeyA', 'RegRestoreKeyW',
        -            'RegSaveKeyA', 'RegSaveKeyW', 'RegSetKeySecurity', 'RegSetValueA',
        -            'RegSetValueExA', 'RegSetValueExW', 'RegSetValueW', 'RegUnLoadKeyA',
        -            'RegUnLoadKeyW', 'WritePrivateProfileSectionA', 'WritePrivateProfileSectionW',
        -            'WritePrivateProfileStringA', 'WritePrivateProfileStringW',
        -            'WritePrivateProfileStructA', 'WritePrivateProfileStructW',
        -            'WriteProfileSectionA', 'WriteProfileSectionW', 'WriteProfileStringA',
        -            'WriteProfileStringW',
        -
        -            'AccessCheck', 'AccessCheckAndAuditAlarmA', 'AccessCheckAndAuditAlarmW',
        -            'AccessCheckByType', 'AccessCheckByTypeAndAuditAlarmA',
        -            'AccessCheckByTypeAndAuditAlarmW', 'AccessCheckByTypeResultList',
        -            'AccessCheckByTypeResultListAndAuditAlarmA', 'AccessCheckByTypeResultListAndAuditAlarmW',
        -            'AddAccessAllowedAce', 'AddAccessAllowedAceEx', 'AddAccessAllowedObjectAce',
        -            'AddAccessDeniedAce', 'AddAccessDeniedAceEx', 'AddAccessDeniedObjectAce',
        -            'AddAce', 'AddAuditAccessAce', 'AddAuditAccessAceEx', 'AddAuditAccessObjectAce',
        -            'AdjustTokenGroups', 'AdjustTokenPrivileges', 'AllocateAndInitializeSid',
        -            'AllocateLocallyUniqueId', 'AreAllAccessesGranted', 'AreAnyAccessesGranted',
        -            'BuildExplicitAccessWithNameA', 'BuildExplicitAccessWithNameW',
        -            'BuildImpersonateExplicitAccessWithNameA', 'BuildImpersonateExplicitAccessWithNameW',
        -            'BuildImpersonateTrusteeA', 'BuildImpersonateTrusteeW', 'BuildSecurityDescriptorA',
        -            'BuildSecurityDescriptorW', 'BuildTrusteeWithNameA', 'BuildTrusteeWithNameW',
        -            'BuildTrusteeWithSidA', 'BuildTrusteeWithSidW',
        -            'ConvertToAutoInheritPrivateObjectSecurity', 'CopySid', 'CreatePrivateObjectSecurity',
        -            'CreatePrivateObjectSecurityEx', 'CreateRestrictedToken', 'DeleteAce',
        -            'DestroyPrivateObjectSecurity', 'DuplicateToken', 'DuplicateTokenEx',
        -            'EqualPrefixSid', 'EqualSid', 'FindFirstFreeAce', 'FreeSid', 'GetAce',
        -            'GetAclInformation', 'GetAuditedPermissionsFromAclA', 'GetAuditedPermissionsFromAclW',
        -            'GetEffectiveRightsFromAclA', 'GetEffectiveRightsFromAclW',
        -            'GetExplicitEntriesFromAclA', 'GetExplicitEntriesFromAclW', 'GetFileSecurityA',
        -            'GetFileSecurityW', 'GetKernelObjectSecurity', 'GetLengthSid', 'GetMultipleTrusteeA',
        -            'GetMultipleTrusteeOperationA', 'GetMultipleTrusteeOperationW', 'GetMultipleTrusteeW',
        -            'GetNamedSecurityInfoA', 'GetNamedSecurityInfoW', 'GetPrivateObjectSecurity',
        -            'GetSecurityDescriptorControl', 'GetSecurityDescriptorDacl',
        -            'GetSecurityDescriptorGroup', 'GetSecurityDescriptorLength',
        -            'GetSecurityDescriptorOwner', 'GetSecurityDescriptorSacl', 'GetSecurityInfo',
        -            'GetSidIdentifierAuthority', 'GetSidLengthRequired', 'GetSidSubAuthority',
        -            'GetSidSubAuthorityCount', 'GetTokenInformation', 'GetTrusteeFormA',
        -            'GetTrusteeFormW', 'GetTrusteeNameA', 'GetTrusteeNameW', 'GetTrusteeTypeA',
        -            'GetTrusteeTypeW', 'GetUserObjectSecurity', 'ImpersonateLoggedOnUser',
        -            'ImpersonateNamedPipeClient', 'ImpersonateSelf', 'InitializeAcl',
        -            'InitializeSecurityDescriptor', 'InitializeSid', 'IsTokenRestricted', 'IsValidAcl',
        -            'IsValidSecurityDescriptor', 'IsValidSid', 'LogonUserA', 'LogonUserW',
        -            'LookupAccountNameA', 'LookupAccountNameW', 'LookupAccountSidA', 'LookupAccountSidW',
        -            'LookupPrivilegeDisplayNameA', 'LookupPrivilegeDisplayNameW', 'LookupPrivilegeNameA',
        -            'LookupPrivilegeNameW', 'LookupPrivilegeValueA', 'LookupPrivilegeValueW',
        -            'LookupSecurityDescriptorPartsA', 'LookupSecurityDescriptorPartsW', 'MakeAbsoluteSD',
        -            'MakeSelfRelativeSD', 'MapGenericMask', 'ObjectCloseAuditAlarmA',
        -            'ObjectCloseAuditAlarmW', 'ObjectDeleteAuditAlarmA', 'ObjectDeleteAuditAlarmW',
        -            'ObjectOpenAuditAlarmA', 'ObjectOpenAuditAlarmW', 'ObjectPrivilegeAuditAlarmA',
        -            'ObjectPrivilegeAuditAlarmW', 'OpenProcessToken', 'OpenThreadToken', 'PrivilegeCheck',
        -            'PrivilegedServiceAuditAlarmA', 'PrivilegedServiceAuditAlarmW', 'RevertToSelf',
        -            'SetAclInformation', 'SetEntriesInAclA', 'SetEntriesInAclW', 'SetFileSecurityA',
        -            'SetFileSecurityW', 'SetKernelObjectSecurity', 'SetNamedSecurityInfoA',
        -            'SetNamedSecurityInfoW', 'SetPrivateObjectSecurity', 'SetPrivateObjectSecurityEx',
        -            'SetSecurityDescriptorControl', 'SetSecurityDescriptorDacl',
        -            'SetSecurityDescriptorGroup', 'SetSecurityDescriptorOwner',
        -            'SetSecurityDescriptorSacl', 'SetSecurityInfo', 'SetThreadToken',
        -            'SetTokenInformation', 'SetUserObjectSecurity', 'ChangeServiceConfig2A',
        -            'ChangeServiceConfig2W', 'ChangeServiceConfigA', 'ChangeServiceConfigW',
        -            'CloseServiceHandle', 'ControlService', 'CreateServiceA', 'CreateServiceW',
        -            'DeleteService', 'EnumDependentServicesA', 'EnumDependentServicesW',
        -            'EnumServicesStatusA', 'EnumServicesStatusW', 'GetServiceDisplayNameA',
        -            'GetServiceDisplayNameW', 'GetServiceKeyNameA', 'GetServiceKeyNameW',
        -            'LockServiceDatabase', 'NotifyBootConfigStatus', 'OpenSCManagerA', 'OpenSCManagerW',
        -            'OpenServiceA', 'OpenServiceW', 'QueryServiceConfig2A', 'QueryServiceConfig2W',
        -            'QueryServiceConfigA', 'QueryServiceConfigW', 'QueryServiceLockStatusA',
        -            'QueryServiceLockStatusW', 'QueryServiceObjectSecurity', 'QueryServiceStatus',
        -            'RegisterServiceCtrlHandlerA', 'RegisterServiceCtrlHandlerW',
        -            'SetServiceObjectSecurity', 'SetServiceStatus', 'StartServiceA',
        -            'StartServiceCtrlDispatcherA', 'StartServiceCtrlDispatcherW', 'StartServiceW',
        -            'UnlockServiceDatabase',
        -
        -            'MultinetGetConnectionPerformanceA', 'MultinetGetConnectionPerformanceW',
        -            'NetAlertRaise', 'NetAlertRaiseEx', 'NetApiBufferAllocate', 'NetApiBufferFree',
        -            'NetApiBufferReallocate', 'NetApiBufferSize', 'NetConnectionEnum', 'NetFileClose',
        -            'NetFileGetInfo', 'NetGetAnyDCName', 'NetGetDCName', 'NetGetDisplayInformationIndex',
        -            'NetGroupAdd', 'NetGroupAddUser', 'NetGroupDel', 'NetGroupDelUser', 'NetGroupEnum',
        -            'NetGroupGetInfo', 'NetGroupGetUsers', 'NetGroupSetInfo', 'NetGroupSetUsers',
        -            'NetLocalGroupAdd', 'NetLocalGroupAddMember', 'NetLocalGroupAddMembers',
        -            'NetLocalGroupDel', 'NetLocalGroupDelMember', 'NetLocalGroupDelMembers',
        -            'NetLocalGroupEnum', 'NetLocalGroupGetInfo', 'NetLocalGroupGetMembers',
        -            'NetLocalGroupSetInfo', 'NetLocalGroupSetMembers', 'NetMessageBufferSend',
        -            'NetMessageNameAdd', 'NetMessageNameDel', 'NetMessageNameEnum',
        -            'NetMessageNameGetInfo', 'NetQueryDisplayInformation', 'NetRemoteComputerSupports',
        -            'NetRemoteTOd', 'NetReplExportDirAdd', 'NetReplExportDirDel', 'NetReplExportDirEnum',
        -            'NetReplExportDirGetInfo', 'NetReplExportDirLock', 'NetReplExportDirSetInfo',
        -            'NetReplExportDirUnlock', 'NetReplGetInfo', 'NetReplImportDirAdd',
        -            'NetReplImportDirDel', 'NetReplImportDirEnum', 'NetReplImportDirGetInfo',
        -            'NetReplImportDirLock', 'NetReplImportDirUnlock', 'NetReplSetInfo',
        -            'NetScheduleJobAdd', 'NetScheduleJobDel', 'NetScheduleJobEnum',
        -            'NetScheduleJobGetInfo', 'NetServerComputerNameAdd', 'NetServerComputerNameDel',
        -            'NetServerDiskEnum', 'NetServerEnum', 'NetServerEnumEx', 'NetServerGetInfo',
        -            'NetServerSetInfo', 'NetServerTransportAdd', 'NetServerTransportAddEx',
        -            'NetServerTransportDel', 'NetServerTransportEnum', 'NetSessionDel', 'NetSessionEnum',
        -            'NetSessionGetInfo', 'NetShareAdd', 'NetShareCheck', 'NetShareDel', 'NetShareEnum',
        -            'NetShareGetInfo', 'NetShareSetInfo', 'NetStatisticsGet', 'NetUseAdd', 'NetUseDel',
        -            'NetUseEnum', 'NetUseGetInfo', 'NetUserAdd', 'NetUserChangePassword', 'NetUserDel',
        -            'NetUserEnum', 'NetUserGetGroups', 'NetUserGetInfo', 'NetUserGetLocalGroups',
        -            'NetUserModalsGet', 'NetUserModalsSet', 'NetUserSetGroups', 'NetUserSetInfo',
        -            'NetWkstaGetInfo', 'NetWkstaSetInfo', 'NetWkstaTransportAdd', 'NetWkstaTransportDel',
        -            'NetWkstaTransportEnum', 'NetWkstaUserEnum', 'NetWkstaUserGetInfo',
        -            'NetWkstaUserSetInfo', 'WNetAddConnection2A', 'WNetAddConnection2W',
        -            'WNetAddConnection3A', 'WNetAddConnection3W', 'WNetAddConnectionA',
        -            'WNetAddConnectionW', 'WNetCancelConnection2A', 'WNetCancelConnection2W',
        -            'WNetCancelConnectionA', 'WNetCancelConnectionW', 'WNetCloseEnum',
        -            'WNetConnectionDialog', 'WNetConnectionDialog1A', 'WNetConnectionDialog1W',
        -            'WNetDisconnectDialog', 'WNetDisconnectDialog1A', 'WNetDisconnectDialog1W',
        -            'WNetEnumResourceA', 'WNetEnumResourceW', 'WNetGetConnectionA', 'WNetGetConnectionW',
        -            'WNetGetLastErrorA', 'WNetGetLastErrorW', 'WNetGetNetworkInformationA',
        -            'WNetGetNetworkInformationW', 'WNetGetProviderNameA', 'WNetGetProviderNameW',
        -            'WNetGetResourceInformationA', 'WNetGetResourceInformationW',
        -            'WNetGetResourceParentA', 'WNetGetResourceParentW', 'WNetGetUniversalNameA',
        -            'WNetGetUniversalNameW', 'WNetGetUserA', 'WNetGetUserW', 'WNetOpenEnumA',
        -            'WNetOpenEnumW', 'WNetUseConnectionA', 'WnetUseConnectionW',
        -
        -            'accept', 'bind', 'closesocket', 'connect', 'gethostbyaddr', 'gethostbyname',
        -            'gethostname', 'getpeername', 'getprotobyname', 'getprotobynumber', 'getservbyname',
        -            'getservbyport', 'getsockname', 'getsockopt', 'htonl', 'htons', 'inet_addr',
        -            'inet_ntoa', 'ioctlsocket', 'listen', 'ntohl', 'ntohs', 'recv', 'recvfrom', 'select',
        -            'send', 'sendto', 'setsockopt', 'shutdown', 'socket', 'WSAAccept',
        -            'WSAAddressToStringA', 'WSAAddressToStringW', 'WSAAsyncGetHostByAddr',
        -            'WSAAsyncGetHostByName', 'WSAAsyncGetProtoByName', 'WSAAsyncGetProtoByNumber',
        -            'WSAAsyncGetServByName', 'WSAAsyncGetServByPort', 'WSAAsyncSelect',
        -            'WSACancelAsyncRequest', 'WSACancelBlockingCall', 'WSACleanup', 'WSACloseEvent',
        -            'WSAConnect', 'WSACreateEvent', 'WSADuplicateSocketA', 'WSADuplicateSocketW',
        -            'WSAEnumNameSpaceProvidersA', 'WSAEnumNameSpaceProvidersW', 'WSAEnumNetworkEvents',
        -            'WSAEnumProtocolsA', 'WSAEnumProtocolsW', 'WSAEventSelect', 'WSAGetLastError',
        -            'WSAGetOverlappedResult', 'WSAGetQOSByName', 'WSAGetServiceClassInfoA',
        -            'WSAGetServiceClassInfoW', 'WSAGetServiceClassNameByClassIdA',
        -            'WSAGetServiceClassNameByClassIdW', 'WSAHtonl', 'WSAHtons', 'WSAInstallServiceClassA',
        -            'WSAInstallServiceClassW', 'WSAIoctl', 'WSAIsBlocking', 'WSAJoinLeaf',
        -            'WSALookupServiceBeginA', 'WSALookupServiceBeginW', 'WSALookupServiceEnd',
        -            'WSALookupServiceNextA', 'WSALookupServiceNextW', 'WSANtohl', 'WSANtohs',
        -            'WSAProviderConfigChange', 'WSARecv', 'WSARecvDisconnect', 'WSARecvFrom',
        -            'WSARemoveServiceClass', 'WSAResetEvent', 'WSASend', 'WSASendDisconnect', 'WSASendTo',
        -            'WSASetBlockingHook', 'WSASetEvent', 'WSASetLastError', 'WSASetServiceA',
        -            'WSASetServiceW', 'WSASocketA', 'WSASocketW', 'WSAStartup', 'WSAStringToAddressA',
        -            'WSAStringToAddressW', 'WSAUnhookBlockingHook', 'WSAWaitForMultipleEvents',
        -            'WSCDeinstallProvider', 'WSCEnableNSProvider', 'WSCEnumProtocols',
        -            'WSCGetProviderPath', 'WSCInstallNameSpace', 'WSCInstallProvider',
        -            'WSCUnInstallNameSpace',
        -
        -            'ContinueDebugEvent', 'DebugActiveProcess', 'DebugBreak', 'FatalExit',
        -            'FlushInstructionCache', 'GetThreadContext', 'GetThreadSelectorEntry',
        -            'IsDebuggerPresent', 'OutputDebugStringA', 'OutputDebugStringW', 'ReadProcessMemory',
        -            'SetDebugErrorLevel', 'SetThreadContext', 'WaitForDebugEvent', 'WriteProcessMemory',
        -
        -            'CloseHandle', 'DuplicateHandle', 'GetHandleInformation', 'SetHandleInformation',
        -
        -            'AdjustWindowRect', 'AdjustWindowRectEx', 'AllowSetForegroundWindow',
        -            'AnimateWindow', 'AnyPopup', 'ArrangeIconicWindows', 'BeginDeferWindowPos',
        -            'BringWindowToTop', 'CascadeWindows', 'ChildWindowFromPoint',
        -            'ChildWindowFromPointEx', 'CloseWindow', 'CreateWindowExA', 'CreateWindowExW',
        -            'DeferWindowPos', 'DestroyWindow', 'EndDeferWindowPos', 'EnumChildWindows',
        -            'EnumThreadWindows', 'EnumWindows', 'FindWindowA', 'FindWindowExA', 'FindWindowExW',
        -            'FindWindowW', 'GetAltTabInfoA', 'GetAltTabInfoW', 'GetAncestor', 'GetClientRect',
        -            'GetDesktopWindow', 'GetForegroundWindow', 'GetGUIThreadInfo', 'GetLastActivePopup',
        -            'GetLayout', 'GetParent', 'GetProcessDefaultLayout', 'GetTitleBarInf', 'GetTopWindow',
        -            'GetWindow', 'GetWindowInfo', 'GetWindowModuleFileNameA', 'GetWindowModuleFileNameW',
        -            'GetWindowPlacement', 'GetWindowRect', 'GetWindowTextA', 'GetWindowTextLengthA',
        -            'GetWindowTextLengthW', 'GetWindowTextW', 'GetWindowThreadProcessId', 'IsChild',
        -            'IsIconic', 'IsWindow', 'IsWindowUnicode', 'IsWindowVisible', 'IsZoomed',
        -            'LockSetForegroundWindow', 'MoveWindow', 'OpenIcon', 'RealChildWindowFromPoint',
        -            'RealGetWindowClassA', 'RealGetWindowClassW', 'SetForegroundWindow',
        -            'SetLayeredWindowAttributes', 'SetLayout', 'SetParent', 'SetProcessDefaultLayout',
        -            'SetWindowPlacement', 'SetWindowPos', 'SetWindowTextA', 'SetWindowTextW',
        -            'ShowOwnedPopups', 'ShowWindow', 'ShowWindowAsync', 'TileWindows',
        -            'UpdateLayeredWindow', 'WindowFromPoint',
        -
        -            'CreateDialogIndirectParamA', 'CreateDialogIndirectParamW', 'CreateDialogParamA',
        -            'CreateDialogParamW', 'DefDlgProcA', 'DefDlgProcW', 'DialogBoxIndirectParamA',
        -            'DialogBoxIndirectParamW', 'DialogBoxParamA', 'DialogBoxParamW', 'EndDialog',
        -            'GetDialogBaseUnits', 'GetDlgCtrlID', 'GetDlgItem', 'GetDlgItemInt',
        -            'GetDlgItemTextA', 'GetDlgItemTextW', 'GetNextDlgGroupItem', 'GetNextDlgTabItem',
        -            'IsDialogMessageA', 'IsDialogMessageW', 'MapDialogRect', 'MessageBoxA',
        -            'MessageBoxExA', 'MessageBoxExW', 'MessageBoxIndirectA', 'MessageBoxIndirectW',
        -            'MessageBoxW', 'SendDlgItemMessageA', 'SendDlgItemMessageW', 'SetDlgItemInt',
        -            'SetDlgItemTextA', 'SetDlgItemTextW',
        -
        -            'GetWriteWatch', 'GlobalMemoryStatus', 'GlobalMemoryStatusEx', 'IsBadCodePtr',
        -            'IsBadReadPtr', 'IsBadStringPtrA', 'IsBadStringPtrW', 'IsBadWritePtr',
        -            'ResetWriteWatch', 'AllocateUserPhysicalPages', 'FreeUserPhysicalPages',
        -            'MapUserPhysicalPages', 'MapUserPhysicalPagesScatter', 'GlobalAlloc', 'GlobalFlags',
        -            'GlobalFree', 'GlobalHandle', 'GlobalLock', 'GlobalReAlloc', 'GlobalSize',
        -            'GlobalUnlock', 'LocalAlloc', 'LocalFlags', 'LocalFree', 'LocalHandle', 'LocalLock',
        -            'LocalReAlloc', 'LocalSize', 'LocalUnlock', 'GetProcessHeap', 'GetProcessHeaps',
        -            'HeapAlloc', 'HeapCompact', 'HeapCreate', 'HeapDestroy', 'HeapFree', 'HeapLock',
        -            'HeapReAlloc', 'HeapSize', 'HeapUnlock', 'HeapValidate', 'HeapWalk', 'VirtualAlloc',
        -            'VirtualAllocEx', 'VirtualFree', 'VirtualFreeEx', 'VirtualLock', 'VirtualProtect',
        -            'VirtualProtectEx', 'VirtualQuery', 'VirtualQueryEx', 'VirtualUnlock',
        -            'GetFreeSpace', 'GlobalCompact', 'GlobalFix', 'GlobalUnfix', 'GlobalUnWire',
        -            'GlobalWire', 'IsBadHugeReadPtr', 'IsBadHugeWritePtr', 'LocalCompact', 'LocalShrink',
        -
        -            'GetClassInfoA', 'GetClassInfoW', 'GetClassInfoExA', 'GetClassInfoExW',
        -            'GetClassLongA', 'GetClassLongW', 'GetClassLongPtrA', 'GetClassLongPtrW',
        -            'RegisterClassA', 'RegisterClassW', 'RegisterClassExA', 'RegisterClassExW',
        -            'SetClassLongA', 'SetClassLongW', 'SetClassLongPtrA', 'SetClassLongPtrW',
        -            'SetWindowLongA', 'SetWindowLongW', 'SetWindowLongPtrA', 'SetWindowLongPtrW',
        -            'UnregisterClassA', 'UnregisterClassW', 'GetClassWord', 'GetWindowWord',
        -            'SetClassWord', 'SetWindowWord'
        -            ),
        -        // Native API
        -        6 => array(
        -            'CsrAllocateCaptureBuffer', 'CsrAllocateCapturePointer', 'CsrAllocateMessagePointer',
        -            'CsrCaptureMessageBuffer', 'CsrCaptureMessageString', 'CsrCaptureTimeout',
        -            'CsrClientCallServer', 'CsrClientConnectToServer', 'CsrFreeCaptureBuffer',
        -            'CsrIdentifyAlertableThread', 'CsrNewThread', 'CsrProbeForRead', 'CsrProbeForWrite',
        -            'CsrSetPriorityClass',
        -
        -            'LdrAccessResource', 'LdrDisableThreadCalloutsForDll', 'LdrEnumResources',
        -            'LdrFindEntryForAddress', 'LdrFindResource_U', 'LdrFindResourceDirectory_U',
        -            'LdrGetDllHandle', 'LdrGetProcedureAddress', 'LdrInitializeThunk', 'LdrLoadDll',
        -            'LdrProcessRelocationBlock', 'LdrQueryImageFileExecutionOptions',
        -            'LdrQueryProcessModuleInformation', 'LdrShutdownProcess', 'LdrShutdownThread',
        -            'LdrUnloadDll', 'LdrVerifyImageMatchesChecksum',
        -
        -            'NtAcceptConnectPort', 'ZwAcceptConnectPort', 'NtCompleteConnectPort',
        -            'ZwCompleteConnectPort', 'NtConnectPort', 'ZwConnectPort', 'NtCreatePort',
        -            'ZwCreatePort', 'NtImpersonateClientOfPort', 'ZwImpersonateClientOfPort',
        -            'NtListenPort', 'ZwListenPort', 'NtQueryInformationPort', 'ZwQueryInformationPort',
        -            'NtReadRequestData', 'ZwReadRequestData', 'NtReplyPort', 'ZwReplyPort',
        -            'NtReplyWaitReceivePort', 'ZwReplyWaitReceivePort', 'NtReplyWaitReplyPort',
        -            'ZwReplyWaitReplyPort', 'NtRequestPort', 'ZwRequestPort', 'NtRequestWaitReplyPort',
        -            'ZwRequestWaitReplyPort', 'NtSecureConnectPort', 'ZwSecureConnectPort',
        -            'NtWriteRequestData', 'ZwWriteRequestData',
        -
        -            'NtAccessCheck', 'ZwAccessCheck', 'NtAccessCheckAndAuditAlarm',
        -            'ZwAccessCheckAndAuditAlarm', 'NtAccessCheckByType', 'ZwAccessCheckByType',
        -            'NtAccessCheckByTypeAndAuditAlarm', 'ZwAccessCheckByTypeAndAuditAlarm',
        -            'NtAccessCheckByTypeResultList', 'ZwAccessCheckByTypeResultList',
        -            'NtAdjustGroupsToken', 'ZwAdjustGroupsToken', 'NtAdjustPrivilegesToken',
        -            'ZwAdjustPrivilegesToken', 'NtCloseObjectAuditAlarm', 'ZwCloseObjectAuditAlarm',
        -            'NtCreateToken', 'ZwCreateToken', 'NtDeleteObjectAuditAlarm',
        -            'ZwDeleteObjectAuditAlarm', 'NtDuplicateToken', 'ZwDuplicateToken',
        -            'NtFilterToken', 'ZwFilterToken', 'NtImpersonateThread', 'ZwImpersonateThread',
        -            'NtOpenObjectAuditAlarm', 'ZwOpenObjectAuditAlarm', 'NtOpenProcessToken',
        -            'ZwOpenProcessToken', 'NtOpenThreadToken', 'ZwOpenThreadToken', 'NtPrivilegeCheck',
        -            'ZwPrivilegeCheck', 'NtPrivilegedServiceAuditAlarm', 'ZwPrivilegedServiceAuditAlarm',
        -            'NtPrivilegeObjectAuditAlarm', 'ZwPrivilegeObjectAuditAlarm',
        -            'NtQueryInformationToken', 'ZwQueryInformationToken', 'NtQuerySecurityObject',
        -            'ZwQuerySecurityObject', 'NtSetInformationToken', 'ZwSetInformationToken',
        -            'NtSetSecurityObject', 'ZwSetSecurityObject',
        -
        -            'NtAddAtom', 'ZwAddAtom', 'NtDeleteAtom', 'ZwDeleteAtom', 'NtFindAtom', 'ZwFindAtom',
        -            'NtQueryInformationAtom', 'ZwQueryInformationAtom',
        -
        -            'NtAlertResumeThread', 'ZwAlertResumeThread', 'NtAlertThread', 'ZwAlertThread',
        -            'NtCreateProcess', 'ZwCreateProcess', 'NtCreateThread', 'ZwCreateThread',
        -            'NtCurrentTeb', 'NtDelayExecution', 'ZwDelayExecution', 'NtGetContextThread',
        -            'ZwGetContextThread', 'NtOpenProcess', 'ZwOpenProcess', 'NtOpenThread',
        -            'ZwOpenThread', 'NtQueryInformationProcess', 'ZwQueryInformationProcess',
        -            'NtQueryInformationThread', 'ZwQueryInformationThread', 'NtQueueApcThread',
        -            'ZwQueueApcThread', 'NtResumeThread', 'ZwResumeThread', 'NtSetContextThread',
        -            'ZwSetContextThread', 'NtSetHighWaitLowThread', 'ZwSetHighWaitLowThread',
        -            'NtSetInformationProcess', 'ZwSetInformationProcess', 'NtSetInformationThread',
        -            'ZwSetInformationThread', 'NtSetLowWaitHighThread', 'ZwSetLowWaitHighThread',
        -            'NtSuspendThread', 'ZwSuspendThread', 'NtTerminateProcess', 'ZwTerminateProcess',
        -            'NtTerminateThread', 'ZwTerminateThread', 'NtTestAlert', 'ZwTestAlert',
        -            'NtYieldExecution', 'ZwYieldExecution',
        -
        -            'NtAllocateVirtualMemory', 'ZwAllocateVirtualMemory', 'NtAllocateVirtualMemory64',
        -            'ZwAllocateVirtualMemory64', 'NtAreMappedFilesTheSame', 'ZwAreMappedFilesTheSame',
        -            'NtCreateSection', 'ZwCreateSection', 'NtExtendSection', 'ZwExtendSection',
        -            'NtFlushVirtualMemory', 'ZwFlushVirtualMemory', 'NtFreeVirtualMemory',
        -            'ZwFreeVirtualMemory', 'NtFreeVirtualMemory64', 'ZwFreeVirtualMemory64',
        -            'NtLockVirtualMemory', 'ZwLockVirtualMemory', 'NtMapViewOfSection',
        -            'ZwMapViewOfSection', 'NtMapViewOfVlmSection', 'ZwMapViewOfVlmSection',
        -            'NtOpenSection', 'ZwOpenSection', 'NtProtectVirtualMemory', 'ZwProtectVirtualMemory',
        -            'NtProtectVirtualMemory64', 'ZwProtectVirtualMemory64', 'NtQueryVirtualMemory',
        -            'ZwQueryVirtualMemory', 'NtQueryVirtualMemory64', 'ZwQueryVirtualMemory64',
        -            'NtReadVirtualMemory', 'ZwReadVirtualMemory', 'NtReadVirtualMemory64',
        -            'ZwReadVirtualMemory64', 'NtUnlockVirtualMemory', 'ZwUnlockVirtualMemory',
        -            'NtUnmapViewOfSection', 'ZwUnmapViewOfSection', 'NtUnmapViewOfVlmSection',
        -            'ZwUnmapViewOfVlmSection', 'NtWriteVirtualMemory', 'ZwWriteVirtualMemory',
        -            'NtWriteVirtualMemory64', 'ZwWriteVirtualMemory64',
        -
        -            'NtAssignProcessToJobObject', 'ZwAssignProcessToJobObject', 'NtCreateJobObject',
        -            'ZwCreateJobObject', 'NtOpenJobObject', 'ZwOpenJobObject',
        -            'NtQueryInformationJobObject', 'ZwQueryInformationJobObject',
        -            'NtSetInformationJobObject', 'ZwSetInformationJobObject', 'NtTerminateJobObject',
        -            'ZwTerminateJobObject',
        -
        -            'NtCancelIoFile', 'ZwCancelIoFile', 'NtCreateFile', 'ZwCreateFile',
        -            'NtCreateIoCompletion', 'ZwCreateIoCompletion', 'NtDeleteFile', 'ZwDeleteFile',
        -            'NtDeviceIoControlFile', 'ZwDeviceIoControlFile', 'NtFlushBuffersFile',
        -            'ZwFlushBuffersFile', 'NtFsControlFile', 'ZwFsControlFile', 'NtLockFile', 'ZwLockFile',
        -            'NtNotifyChangeDirectoryFile', 'ZwNotifyChangeDirectoryFile', 'NtOpenFile',
        -            'ZwOpenFile', 'NtOpenIoCompletion', 'ZwOpenIoCompletion', 'NtQueryAttributesFile',
        -            'ZwQueryAttributesFile', 'NtQueryDirectoryFile', 'ZwQueryDirectoryFile',
        -            'NtQueryEaFile', 'ZwQueryEaFile', 'NtQueryIoCompletion', 'ZwQueryIoCompletion',
        -            'NtQueryQuotaInformationFile', 'ZwQueryQuotaInformationFile',
        -            'NtQueryVolumeInformationFile', 'ZwQueryVolumeInformationFile', 'NtReadFile',
        -            'ZwReadFile', 'NtReadFile64', 'ZwReadFile64', 'NtReadFileScatter', 'ZwReadFileScatter',
        -            'NtRemoveIoCompletion', 'ZwRemoveIoCompletion', 'NtSetEaFile', 'ZwSetEaFile',
        -            'NtSetInformationFile', 'ZwSetInformationFile', 'NtSetIoCompletion',
        -            'ZwSetIoCompletion', 'NtSetQuotaInformationFile', 'ZwSetQuotaInformationFile',
        -            'NtSetVolumeInformationFile', 'ZwSetVolumeInformationFile', 'NtUnlockFile',
        -            'ZwUnlockFile', 'NtWriteFile', 'ZwWriteFile', 'NtWriteFile64','ZwWriteFile64',
        -            'NtWriteFileGather', 'ZwWriteFileGather', 'NtQueryFullAttributesFile',
        -            'ZwQueryFullAttributesFile', 'NtQueryInformationFile', 'ZwQueryInformationFile',
        -
        -            'RtlAbortRXact', 'RtlAbsoluteToSelfRelativeSD', 'RtlAcquirePebLock',
        -            'RtlAcquireResourceExclusive', 'RtlAcquireResourceShared', 'RtlAddAccessAllowedAce',
        -            'RtlAddAccessDeniedAce', 'RtlAddAce', 'RtlAddActionToRXact', 'RtlAddAtomToAtomTable',
        -            'RtlAddAttributeActionToRXact', 'RtlAddAuditAccessAce', 'RtlAddCompoundAce',
        -            'RtlAdjustPrivilege', 'RtlAllocateAndInitializeSid', 'RtlAllocateHandle',
        -            'RtlAllocateHeap', 'RtlAnsiCharToUnicodeChar', 'RtlAnsiStringToUnicodeSize',
        -            'RtlAnsiStringToUnicodeString', 'RtlAppendAsciizToString', 'RtlAppendStringToString',
        -            'RtlAppendUnicodeStringToString', 'RtlAppendUnicodeToString', 'RtlApplyRXact',
        -            'RtlApplyRXactNoFlush', 'RtlAreAllAccessesGranted', 'RtlAreAnyAccessesGranted',
        -            'RtlAreBitsClear', 'RtlAreBitsSet', 'RtlAssert', 'RtlCaptureStackBackTrace',
        -            'RtlCharToInteger', 'RtlCheckRegistryKey', 'RtlClearAllBits', 'RtlClearBits',
        -            'RtlClosePropertySet', 'RtlCompactHeap', 'RtlCompareMemory', 'RtlCompareMemoryUlong',
        -            'RtlCompareString', 'RtlCompareUnicodeString', 'RtlCompareVariants',
        -            'RtlCompressBuffer', 'RtlConsoleMultiByteToUnicodeN', 'RtlConvertExclusiveToShared',
        -            'RtlConvertLongToLargeInteger', 'RtlConvertPropertyToVariant',
        -            'RtlConvertSharedToExclusive', 'RtlConvertSidToUnicodeString',
        -            'RtlConvertUiListToApiList', 'RtlConvertUlongToLargeInteger',
        -            'RtlConvertVariantToProperty', 'RtlCopyLuid', 'RtlCopyLuidAndAttributesArray',
        -            'RtlCopySecurityDescriptor', 'RtlCopySid', 'RtlCopySidAndAttributesArray',
        -            'RtlCopyString', 'RtlCopyUnicodeString', 'RtlCreateAcl', 'RtlCreateAndSetSD',
        -            'RtlCreateAtomTable', 'RtlCreateEnvironment', 'RtlCreateHeap',
        -            'RtlCreateProcessParameters', 'RtlCreatePropertySet', 'RtlCreateQueryDebugBuffer',
        -            'RtlCreateRegistryKey', 'RtlCreateSecurityDescriptor', 'RtlCreateTagHeap',
        -            'RtlCreateUnicodeString', 'RtlCreateUnicodeStringFromAsciiz', 'RtlCreateUserProcess',
        -            'RtlCreateUserSecurityObject', 'RtlCreateUserThread', 'RtlCustomCPToUnicodeN',
        -            'RtlCutoverTimeToSystemTime', 'RtlDecompressBuffer', 'RtlDecompressFragment',
        -            'RtlDelete', 'RtlDeleteAce', 'RtlDeleteAtomFromAtomTable', 'RtlDeleteCriticalSection',
        -            'RtlDeleteElementGenericTable', 'RtlDeleteNoSplay', 'RtlDeleteRegistryValue',
        -            'RtlDeleteResource', 'RtlDeleteSecurityObject', 'RtlDeNormalizeProcessParams',
        -            'RtlDestroyAtomTable', 'RtlDestroyEnvironment', 'RtlDestroyHandleTable',
        -            'RtlDestroyHeap', 'RtlDestroyProcessParameters', 'RtlDestroyQueryDebugBuffer',
        -            'RtlDetermineDosPathNameType_U', 'RtlDoesFileExists_U', 'RtlDosPathNameToNtPathName_U',
        -            'RtlDosSearchPath_U', 'RtlDowncaseUnicodeString', 'RtlDumpResource',
        -            'RtlEmptyAtomTable', 'RtlEnlargedIntegerMultiply', 'RtlEnlargedUnsignedDivide',
        -            'RtlEnlargedUnsignedMultiply', 'RtlEnterCriticalSection', 'RtlEnumerateGenericTable',
        -            'RtlEnumerateGenericTableWithoutSplaying', 'RtlEnumerateProperties',
        -            'RtlEnumProcessHeaps', 'RtlEqualComputerName', 'RtlEqualDomainName', 'RtlEqualLuid',
        -            'RtlEqualPrefixSid', 'RtlEqualSid', 'RtlEqualString', 'RtlEqualUnicodeString',
        -            'RtlEraseUnicodeString', 'RtlExpandEnvironmentStrings_U', 'RtlExtendedIntegerMultiply',
        -            'RtlExtendedLargeIntegerDivide', 'RtlExtendedMagicDivide', 'RtlExtendHeap',
        -            'RtlFillMemory', 'RtlFillMemoryUlong', 'RtlFindClearBits', 'RtlFindClearBitsAndSet',
        -            'RtlFindLongestRunClear', 'RtlFindLongestRunSet', 'RtlFindMessage', 'RtlFindSetBits',
        -            'RtlFindSetBitsAndClear', 'RtlFirstFreeAce', 'RtlFlushPropertySet',
        -            'RtlFormatCurrentUserKeyPath', 'RtlFormatMessage', 'RtlFreeAnsiString',
        -            'RtlFreeHandle', 'RtlFreeHeap', 'RtlFreeOemString', 'RtlFreeSid',
        -            'RtlFreeUnicodeString', 'RtlFreeUserThreadStack', 'RtlGenerate8dot3Name', 'RtlGetAce',
        -            'RtlGetCallersAddress', 'RtlGetCompressionWorkSpaceSize',
        -            'RtlGetControlSecurityDescriptor', 'RtlGetCurrentDirectory_U',
        -            'RtlGetDaclSecurityDescriptor', 'RtlGetElementGenericTable', 'RtlGetFullPathName_U',
        -            'RtlGetGroupSecurityDescriptor', 'RtlGetLongestNtPathLength', 'RtlGetNtGlobalFlags',
        -            'RtlGetNtProductType', 'RtlGetOwnerSecurityDescriptor', 'RtlGetProcessHeaps',
        -            'RtlGetSaclSecurityDescriptor', 'RtlGetUserInfoHeap', 'RtlGuidToPropertySetName',
        -            'RtlIdentifierAuthoritySid', 'RtlImageDirectoryEntryToData', 'RtlImageNtHeader',
        -            'RtlImageRvaToSection', 'RtlImageRvaToVa', 'RtlImpersonateSelf', 'RtlInitAnsiString',
        -            'RtlInitCodePageTable', 'RtlInitializeAtomPackage', 'RtlInitializeBitMap',
        -            'RtlInitializeContext', 'RtlInitializeCriticalSection',
        -            'RtlInitializeCriticalSectionAndSpinCount', 'RtlInitializeGenericTable',
        -            'RtlInitializeHandleTable', 'RtlInitializeResource', 'RtlInitializeRXact',
        -            'RtlInitializeSid', 'RtlInitNlsTables', 'RtlInitString', 'RtlInitUnicodeString',
        -            'RtlInsertElementGenericTable', 'RtlIntegerToChar', 'RtlIntegerToUnicodeString',
        -            'RtlIsDosDeviceName_U', 'RtlIsGenericTableEmpty', 'RtlIsNameLegalDOS8Dot3',
        -            'RtlIsTextUnicode', 'RtlIsValidHandle', 'RtlIsValidIndexHandle', 'RtlLargeIntegerAdd',
        -            'RtlLargeIntegerArithmeticShift', 'RtlLargeIntegerDivide', 'RtlLargeIntegerNegate',
        -            'RtlLargeIntegerShiftLeft', 'RtlLargeIntegerShiftRight', 'RtlLargeIntegerSubtract',
        -            'RtlLargeIntegerToChar', 'RtlLeaveCriticalSection', 'RtlLengthRequiredSid',
        -            'RtlLengthSecurityDescriptor', 'RtlLengthSid', 'RtlLocalTimeToSystemTime',
        -            'RtlLockHeap', 'RtlLookupAtomInAtomTable', 'RtlLookupElementGenericTable',
        -            'RtlMakeSelfRelativeSD', 'RtlMapGenericMask', 'RtlMoveMemory',
        -            'RtlMultiByteToUnicodeN', 'RtlMultiByteToUnicodeSize', 'RtlNewInstanceSecurityObject',
        -            'RtlNewSecurityGrantedAccess', 'RtlNewSecurityObject', 'RtlNormalizeProcessParams',
        -            'RtlNtStatusToDosError', 'RtlNumberGenericTableElements', 'RtlNumberOfClearBits',
        -            'RtlNumberOfSetBits', 'RtlOemStringToUnicodeSize', 'RtlOemStringToUnicodeString',
        -            'RtlOemToUnicodeN', 'RtlOnMappedStreamEvent', 'RtlOpenCurrentUser',
        -            'RtlPcToFileHeader', 'RtlPinAtomInAtomTable', 'RtlpNtCreateKey',
        -            'RtlpNtEnumerateSubKey', 'RtlpNtMakeTemporaryKey', 'RtlpNtOpenKey',
        -            'RtlpNtQueryValueKey', 'RtlpNtSetValueKey', 'RtlPrefixString',
        -            'RtlPrefixUnicodeString', 'RtlPropertySetNameToGuid', 'RtlProtectHeap',
        -            'RtlpUnWaitCriticalSection', 'RtlpWaitForCriticalSection', 'RtlQueryAtomInAtomTable',
        -            'RtlQueryEnvironmentVariable_U', 'RtlQueryInformationAcl',
        -            'RtlQueryProcessBackTraceInformation', 'RtlQueryProcessDebugInformation',
        -            'RtlQueryProcessHeapInformation', 'RtlQueryProcessLockInformation',
        -            'RtlQueryProperties', 'RtlQueryPropertyNames', 'RtlQueryPropertySet',
        -            'RtlQueryRegistryValues', 'RtlQuerySecurityObject', 'RtlQueryTagHeap',
        -            'RtlQueryTimeZoneInformation', 'RtlRaiseException', 'RtlRaiseStatus', 'RtlRandom',
        -            'RtlReAllocateHeap', 'RtlRealPredecessor', 'RtlRealSuccessor', 'RtlReleasePebLock',
        -            'RtlReleaseResource', 'RtlRemoteCall', 'RtlResetRtlTranslations',
        -            'RtlRunDecodeUnicodeString', 'RtlRunEncodeUnicodeString', 'RtlSecondsSince1970ToTime',
        -            'RtlSecondsSince1980ToTime', 'RtlSelfRelativeToAbsoluteSD', 'RtlSetAllBits',
        -            'RtlSetAttributesSecurityDescriptor', 'RtlSetBits', 'RtlSetCriticalSectionSpinCount',
        -            'RtlSetCurrentDirectory_U', 'RtlSetCurrentEnvironment', 'RtlSetDaclSecurityDescriptor',
        -            'RtlSetEnvironmentVariable', 'RtlSetGroupSecurityDescriptor', 'RtlSetInformationAcl',
        -            'RtlSetOwnerSecurityDescriptor', 'RtlSetProperties', 'RtlSetPropertyNames',
        -            'RtlSetPropertySetClassId', 'RtlSetSaclSecurityDescriptor', 'RtlSetSecurityObject',
        -            'RtlSetTimeZoneInformation', 'RtlSetUnicodeCallouts', 'RtlSetUserFlagsHeap',
        -            'RtlSetUserValueHeap', 'RtlSizeHeap', 'RtlSplay', 'RtlStartRXact',
        -            'RtlSubAuthorityCountSid', 'RtlSubAuthoritySid', 'RtlSubtreePredecessor',
        -            'RtlSubtreeSuccessor', 'RtlSystemTimeToLocalTime', 'RtlTimeFieldsToTime',
        -            'RtlTimeToElapsedTimeFields', 'RtlTimeToSecondsSince1970', 'RtlTimeToSecondsSince1980',
        -            'RtlTimeToTimeFields', 'RtlTryEnterCriticalSection', 'RtlUnicodeStringToAnsiSize',
        -            'RtlUnicodeStringToAnsiString', 'RtlUnicodeStringToCountedOemString',
        -            'RtlUnicodeStringToInteger', 'RtlUnicodeStringToOemSize',
        -            'RtlUnicodeStringToOemString', 'RtlUnicodeToCustomCPN', 'RtlUnicodeToMultiByteN',
        -            'RtlUnicodeToMultiByteSize', 'RtlUnicodeToOemN', 'RtlUniform', 'RtlUnlockHeap',
        -            'RtlUnwind', 'RtlUpcaseUnicodeChar', 'RtlUpcaseUnicodeString',
        -            'RtlUpcaseUnicodeStringToAnsiString', 'RtlUpcaseUnicodeStringToCountedOemString',
        -            'RtlUpcaseUnicodeStringToOemString', 'RtlUpcaseUnicodeToCustomCPN',
        -            'RtlUpcaseUnicodeToMultiByteN', 'RtlUpcaseUnicodeToOemN', 'RtlUpperChar',
        -            'RtlUpperString', 'RtlUsageHeap', 'RtlValidAcl', 'RtlValidateHeap',
        -            'RtlValidateProcessHeaps', 'RtlValidSecurityDescriptor', 'RtlValidSid', 'RtlWalkHeap',
        -            'RtlWriteRegistryValue', 'RtlxAnsiStringToUnicodeSize', 'RtlxOemStringToUnicodeSize',
        -            'RtlxUnicodeStringToAnsiSize', 'RtlxUnicodeStringToOemSize', 'RtlZeroHeap',
        -            'RtlZeroMemory',
        -
        -            'NtCancelTimer', 'ZwCancelTimer', 'NtCreateTimer', 'ZwCreateTimer', 'NtGetTickCount',
        -            'ZwGetTickCount', 'NtOpenTimer', 'ZwOpenTimer', 'NtQueryPerformanceCounter',
        -            'ZwQueryPerformanceCounter', 'NtQuerySystemTime', 'ZwQuerySystemTime', 'NtQueryTimer',
        -            'ZwQueryTimer', 'NtQueryTimerResolution', 'ZwQueryTimerResolution', 'NtSetSystemTime',
        -            'ZwSetSystemTime', 'NtSetTimer', 'ZwSetTimer', 'NtSetTimerResolution',
        -            'ZwSetTimerResolution',
        -
        -            'NtClearEvent', 'ZwClearEvent', 'NtCreateEvent', 'ZwCreateEvent', 'NtCreateEventPair',
        -            'ZwCreateEventPair', 'NtCreateMutant', 'ZwCreateMutant', 'NtCreateSemaphore',
        -            'ZwCreateSemaphore', 'NtOpenEvent', 'ZwOpenEvent', 'NtOpenEventPair',
        -            'ZwOpenEventPair', 'NtOpenMutant', 'ZwOpenMutant', 'NtOpenSemaphore',
        -            'ZwOpenSemaphore', 'NtPulseEvent', 'ZwPulseEvent', 'NtQueryEvent', 'ZwQueryEvent',
        -            'NtQueryMutant', 'ZwQueryMutant', 'NtQuerySemaphore', 'ZwQuerySemaphore',
        -            'NtReleaseMutant', 'ZwReleaseMutant', 'NtReleaseProcessMutant',
        -            'ZwReleaseProcessMutant', 'NtReleaseSemaphore', 'ZwReleaseSemaphore',
        -            'NtReleaseThreadMutant', 'ZwReleaseThreadMutant', 'NtResetEvent', 'ZwResetEvent',
        -            'NtSetEvent', 'ZwSetEvent', 'NtSetHighEventPair', 'ZwSetHighEventPair',
        -            'NtSetHighWaitLowEventPair', 'ZwSetHighWaitLowEventPair', 'NtSetLowEventPair',
        -            'ZwSetLowEventPair', 'NtSetLowWaitHighEventPair', 'ZwSetLowWaitHighEventPair',
        -            'NtSignalAndWaitForSingleObject', 'ZwSignalAndWaitForSingleObject',
        -            'NtWaitForMultipleObjects', 'ZwWaitForMultipleObjects', 'NtWaitForSingleObject',
        -            'ZwWaitForSingleObject', 'NtWaitHighEventPair', 'ZwWaitHighEventPair',
        -            'NtWaitLowEventPair', 'ZwWaitLowEventPair',
        -
        -            'NtClose', 'ZwClose', 'NtCreateDirectoryObject', 'ZwCreateDirectoryObject',
        -            'NtCreateSymbolicLinkObject', 'ZwCreateSymbolicLinkObject',
        -            'NtDuplicateObject', 'ZwDuplicateObject', 'NtMakeTemporaryObject',
        -            'ZwMakeTemporaryObject', 'NtOpenDirectoryObject', 'ZwOpenDirectoryObject',
        -            'NtOpenSymbolicLinkObject', 'ZwOpenSymbolicLinkObject', 'NtQueryDirectoryObject',
        -            'ZwQueryDirectoryObject', 'NtQueryObject', 'ZwQueryObject',
        -            'NtQuerySymbolicLinkObject', 'ZwQuerySymbolicLinkObject', 'NtSetInformationObject',
        -            'ZwSetInformationObject',
        -
        -            'NtContinue', 'ZwContinue', 'NtRaiseException', 'ZwRaiseException',
        -            'NtRaiseHardError', 'ZwRaiseHardError', 'NtSetDefaultHardErrorPort',
        -            'ZwSetDefaultHardErrorPort',
        -
        -            'NtCreateChannel', 'ZwCreateChannel', 'NtListenChannel', 'ZwListenChannel',
        -            'NtOpenChannel', 'ZwOpenChannel', 'NtReplyWaitSendChannel', 'ZwReplyWaitSendChannel',
        -            'NtSendWaitReplyChannel', 'ZwSendWaitReplyChannel', 'NtSetContextChannel',
        -            'ZwSetContextChannel',
        -
        -            'NtCreateKey', 'ZwCreateKey', 'NtDeleteKey', 'ZwDeleteKey', 'NtDeleteValueKey',
        -            'ZwDeleteValueKey', 'NtEnumerateKey', 'ZwEnumerateKey', 'NtEnumerateValueKey',
        -            'ZwEnumerateValueKey', 'NtFlushKey', 'ZwFlushKey', 'NtInitializeRegistry',
        -            'ZwInitializeRegistry', 'NtLoadKey', 'ZwLoadKey', 'NtLoadKey2', 'ZwLoadKey2',
        -            'NtNotifyChangeKey', 'ZwNotifyChangeKey', 'NtOpenKey', 'ZwOpenKey', 'NtQueryKey',
        -            'ZwQueryKey', 'NtQueryMultipleValueKey', 'ZwQueryMultipleValueKey',
        -            'NtQueryMultiplValueKey', 'ZwQueryMultiplValueKey', 'NtQueryValueKey',
        -            'ZwQueryValueKey', 'NtReplaceKey', 'ZwReplaceKey', 'NtRestoreKey', 'ZwRestoreKey',
        -            'NtSaveKey', 'ZwSaveKey', 'NtSetInformationKey', 'ZwSetInformationKey',
        -            'NtSetValueKey', 'ZwSetValueKey', 'NtUnloadKey', 'ZwUnloadKey',
        -
        -            'NtCreateMailslotFile', 'ZwCreateMailslotFile', 'NtCreateNamedPipeFile',
        -            'ZwCreateNamedPipeFile', 'NtCreatePagingFile', 'ZwCreatePagingFile',
        -
        -            'NtCreateProfile', 'ZwCreateProfile', 'NtQueryIntervalProfile',
        -            'ZwQueryIntervalProfile', 'NtRegisterThreadTerminatePort',
        -            'ZwRegisterThreadTerminatePort', 'NtSetIntervalProfile', 'ZwSetIntervalProfile',
        -            'NtStartProfile', 'ZwStartProfile', 'NtStopProfile', 'ZwStopProfile',
        -            'NtSystemDebugControl', 'ZwSystemDebugControl',
        -
        -            'NtEnumerateBus', 'ZwEnumerateBus', 'NtFlushInstructionCache',
        -            'ZwFlushInstructionCache', 'NtFlushWriteBuffer', 'ZwFlushWriteBuffer',
        -            'NtSetLdtEntries', 'ZwSetLdtEntries',
        -
        -            'NtGetPlugPlayEvent', 'ZwGetPlugPlayEvent', 'NtPlugPlayControl', 'ZwPlugPlayControl',
        -
        -            'NtInitiatePowerAction', 'ZwInitiatePowerAction', 'NtPowerInformation',
        -            'ZwPowerInformation', 'NtRequestWakeupLatency', 'ZwRequestWakeupLatency',
        -            'NtSetSystemPowerState', 'ZwSetSystemPowerState', 'NtSetThreadExecutionState',
        -            'ZwSetThreadExecutionState',
        -
        -            'NtLoadDriver', 'ZwLoadDriver', 'NtRegisterNewDevice', 'ZwRegisterNewDevice',
        -            'NtUnloadDriver', 'ZwUnloadDriver',
        -
        -            'NtQueryDefaultLocale', 'ZwQueryDefaultLocale', 'NtQueryDefaultUILanguage',
        -            'ZwQueryDefaultUILanguage', 'NtQuerySystemEnvironmentValue',
        -            'ZwQuerySystemEnvironmentValue', 'NtSetDefaultLocale', 'ZwSetDefaultLocale',
        -            'NtSetDefaultUILanguage', 'ZwSetDefaultUILanguage', 'NtSetSystemEnvironmentValue',
        -            'ZwSetSystemEnvironmentValue',
        -
        -            'DbgBreakPoint', 'DbgPrint', 'DbgPrompt', 'DbgSsHandleKmApiMsg', 'DbgSsInitialize',
        -            'DbgUiConnectToDbg', 'DbgUiContinue', 'DbgUiWaitStateChange', 'DbgUserBreakPoint',
        -            'KiRaiseUserExceptionDispatcher', 'KiUserApcDispatcher', 'KiUserCallbackDispatcher',
        -            'KiUserExceptionDispatcher', 'NlsAnsiCodePage', 'NlsMbCodePageTag',
        -            'NlsMbOemCodePageTag', 'NtAllocateLocallyUniqueId', 'ZwAllocateLocallyUniqueId',
        -            'NtAllocateUuids', 'ZwAllocateUuids', 'NtCallbackReturn', 'ZwCallbackReturn',
        -            'NtDisplayString', 'ZwDisplayString', 'NtQueryOleDirectoryFile',
        -            'ZwQueryOleDirectoryFile', 'NtQuerySection', 'ZwQuerySection',
        -            'NtQuerySystemInformation', 'ZwQuerySystemInformation', 'NtSetSystemInformation',
        -            'ZwSetSystemInformation', 'NtShutdownSystem', 'ZwShutdownSystem', 'NtVdmControl',
        -            'ZwVdmControl', 'NtW32Call', 'ZwW32Call', 'PfxFindPrefix', 'PfxInitialize',
        -            'PfxInsertPrefix', 'PfxRemovePrefix', 'PropertyLengthAsVariant', 'RestoreEm87Context',
        -            'SaveEm87Context'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('(', ')', '{', '}', '[', ']'),
        -        1 => array('<', '>','='),
        -        2 => array('+', '-', '*', '/', '%'),
        -        3 => array('!', '^', '&', '|'),
        -        4 => array('?', ':', ';')
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #0000dd;',
        -            4 => 'color: #0000ff;',
        -            5 => 'color: #4000dd;',
        -            6 => 'color: #4000dd;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666;',
        -            2 => 'color: #339900;',
        -            3 => 'color: #FF0000;',
        -            4 => 'color: #FF0000;',
        -            'MULTI' => 'color: #ff0000; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #660099; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold;',
        -            'HARD' => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000dd;',
        -            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #007788;',
        -            2 => 'color: #007788;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;',
        -            1 => 'color: #000080;',
        -            2 => 'color: #000040;',
        -            3 => 'color: #000040;',
        -            4 => 'color: #008080;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => 'http://www.google.com/search?q={FNAMEL}+msdn.microsoft.com',
        -        6 => 'http://www.google.com/search?q={FNAMEL}+msdn.microsoft.com'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(? "(?![a-zA-Z0-9_\|%\\-])"
        -        )
        -    )
        -);
        diff --git a/vendor/easybook/geshi/geshi/cpp.php b/vendor/easybook/geshi/geshi/cpp.php
        deleted file mode 100644
        index d9290db..0000000
        --- a/vendor/easybook/geshi/geshi/cpp.php
        +++ /dev/null
        @@ -1,245 +0,0 @@
        - 'C++',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Multiline-continued single-line comments
        -        1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //Multiline-continued preprocessor define
        -        2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //C++ 11 string literal extensions
        -        3 => '/(?:L|u8?|U)(?=")/',
        -        //C++ 11 string literal extensions (raw)
        -        4 => '/R"([^()\s\\\\]*)\((?:(?!\)\\1").)*\)\\1"/ms'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[abfnrtv\\\'\"?\n]#",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{2}#",
        -        //Hexadecimal Char Specs
        -        3 => "#\\\\u[\da-fA-F]{4}#",
        -        //Hexadecimal Char Specs
        -        4 => "#\\\\U[\da-fA-F]{8}#",
        -        //Octal Char Specs
        -        5 => "#\\\\[0-7]{1,3}#"
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'break', 'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
        -            'switch', 'throw', 'while'
        -            ),
        -        2 => array(
        -            'NULL', 'false', 'true', 'enum', 'errno', 'EDOM',
        -            'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
        -            'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
        -            'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
        -            'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
        -            'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
        -            'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
        -            'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
        -            'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
        -            'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
        -            'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
        -            'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
        -            'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
        -            'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
        -            'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class'
        -            ),
        -        3 => array(
        -            'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
        -            'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
        -            'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
        -            'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
        -            'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
        -            'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
        -            'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
        -            'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
        -            'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
        -            'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
        -            'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
        -            'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
        -            'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
        -            'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
        -            'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
        -            'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
        -            'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
        -            'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
        -            'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
        -            'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
        -            ),
        -        4 => array(
        -            'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
        -            'register', 'short', 'shortint', 'signed', 'static', 'struct',
        -            'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
        -            'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
        -            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
        -
        -            'int8', 'int16', 'int32', 'int64',
        -            'uint8', 'uint16', 'uint32', 'uint64',
        -
        -            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
        -            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
        -
        -            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
        -            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
        -
        -            'int8_t', 'int16_t', 'int32_t', 'int64_t',
        -            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
        -
        -            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('(', ')', '{', '}', '[', ']'),
        -        1 => array('<', '>','='),
        -        2 => array('+', '-', '*', '/', '%'),
        -        3 => array('!', '^', '&', '|'),
        -        4 => array('?', ':', ';')
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #0000dd;',
        -            4 => 'color: #0000ff;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666;',
        -            2 => 'color: #339900;',
        -            3 => 'color: #FF0000;',
        -            4 => 'color: #FF0000;',
        -            'MULTI' => 'color: #ff0000; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #660099; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold;',
        -            'HARD' => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000dd;',
        -            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #007788;',
        -            2 => 'color: #007788;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;',
        -            1 => 'color: #000080;',
        -            2 => 'color: #000040;',
        -            3 => 'color: #000040;',
        -            4 => 'color: #008080;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(? "(?![a-zA-Z0-9_\|%\\-])"
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/csharp.php b/vendor/easybook/geshi/geshi/csharp.php
        deleted file mode 100644
        index b9294e3..0000000
        --- a/vendor/easybook/geshi/geshi/csharp.php
        +++ /dev/null
        @@ -1,259 +0,0 @@
        - 'C#',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Using and Namespace directives (basic support)
        -        //Please note that the alias syntax for using is not supported
        -        3 => '/(?:(?<=using[\\n\\s])|(?<=namespace[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*[a-zA-Z0-9_]+[\n\s]*(?=[;=])/i'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'HARDQUOTE' => array('@"', '"'),
        -    'HARDESCAPE' => array('"'),
        -    'HARDCHAR' => '"',
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'abstract', 'add', 'as', 'async', 'await', 'base',
        -            'break', 'by', 'case', 'catch', 'const', 'continue',
        -            'default', 'do', 'else', 'event', 'explicit', 'extern', 'false',
        -            'finally', 'fixed', 'for', 'foreach', 'from', 'get', 'goto', 'group', 'if',
        -            'implicit', 'in', 'into', 'internal', 'join', 'lock', 'namespace', 'null',
        -            'operator', 'out', 'override', 'params', 'partial', 'private',
        -            'protected', 'public', 'readonly', 'remove', 'ref', 'return', 'sealed',
        -            'select', 'set', 'stackalloc', 'static', 'switch', 'this', 'throw', 'true',
        -            'try', 'unsafe', 'using', 'var', 'value', 'virtual', 'volatile', 'where',
        -            'while', 'yield'
        -            ),
        -        2 => array(
        -            '#elif', '#endif', '#endregion', '#else', '#error', '#define', '#if',
        -            '#line', '#pragma', '#region', '#undef', '#warning'
        -            ),
        -        3 => array(
        -            'checked', 'is', 'new', 'nameof', 'sizeof', 'typeof', 'unchecked'
        -            ),
        -        4 => array(
        -            'bool', 'byte', 'char', 'class', 'decimal', 'delegate', 'double',
        -            'dynamic', 'enum', 'float', 'int', 'interface', 'long', 'object', 'sbyte',
        -            'short', 'string', 'struct', 'uint', 'ulong', 'ushort', 'void'
        -            ),
        -        5 => array(
        -            'Microsoft.Win32',
        -            'System',
        -            'System.CodeDOM',
        -            'System.CodeDOM.Compiler',
        -            'System.Collections',
        -            'System.Collections.Bases',
        -            'System.ComponentModel',
        -            'System.ComponentModel.Design',
        -            'System.ComponentModel.Design.CodeModel',
        -            'System.Configuration',
        -            'System.Configuration.Assemblies',
        -            'System.Configuration.Core',
        -            'System.Configuration.Install',
        -            'System.Configuration.Interceptors',
        -            'System.Configuration.Schema',
        -            'System.Configuration.Web',
        -            'System.Core',
        -            'System.Data',
        -            'System.Data.ADO',
        -            'System.Data.Design',
        -            'System.Data.Internal',
        -            'System.Data.SQL',
        -            'System.Data.SQLTypes',
        -            'System.Data.XML',
        -            'System.Data.XML.DOM',
        -            'System.Data.XML.XPath',
        -            'System.Data.XML.XSLT',
        -            'System.Diagnostics',
        -            'System.Diagnostics.SymbolStore',
        -            'System.DirectoryServices',
        -            'System.Drawing',
        -            'System.Drawing.Design',
        -            'System.Drawing.Drawing2D',
        -            'System.Drawing.Imaging',
        -            'System.Drawing.Printing',
        -            'System.Drawing.Text',
        -            'System.Globalization',
        -            'System.IO',
        -            'System.IO.IsolatedStorage',
        -            'System.Messaging',
        -            'System.Net',
        -            'System.Net.Sockets',
        -            'System.NewXml',
        -            'System.NewXml.XPath',
        -            'System.NewXml.Xsl',
        -            'System.Reflection',
        -            'System.Reflection.Emit',
        -            'System.Resources',
        -            'System.Runtime.InteropServices',
        -            'System.Runtime.InteropServices.Expando',
        -            'System.Runtime.Remoting',
        -            'System.Runtime.Serialization',
        -            'System.Runtime.Serialization.Formatters',
        -            'System.Runtime.Serialization.Formatters.Binary',
        -            'System.Security',
        -            'System.Security.Cryptography',
        -            'System.Security.Cryptography.X509Certificates',
        -            'System.Security.Permissions',
        -            'System.Security.Policy',
        -            'System.Security.Principal',
        -            'System.ServiceProcess',
        -            'System.Text',
        -            'System.Text.RegularExpressions',
        -            'System.Threading',
        -            'System.Timers',
        -            'System.Web',
        -            'System.Web.Caching',
        -            'System.Web.Configuration',
        -            'System.Web.Security',
        -            'System.Web.Services',
        -            'System.Web.Services.Description',
        -            'System.Web.Services.Discovery',
        -            'System.Web.Services.Protocols',
        -            'System.Web.UI',
        -            'System.Web.UI.Design',
        -            'System.Web.UI.Design.WebControls',
        -            'System.Web.UI.Design.WebControls.ListControls',
        -            'System.Web.UI.HtmlControls',
        -            'System.Web.UI.WebControls',
        -            'System.WinForms',
        -            'System.WinForms.ComponentModel',
        -            'System.WinForms.Design',
        -            'System.Xml',
        -            'System.Xml.Serialization',
        -            'System.Xml.Serialization.Code',
        -            'System.Xml.Serialization.Schema'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', ':', ';',
        -        '(', ')', '{', '}', '[', ']', '|', '.'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0600FF; font-weight: bold;',
        -            2 => 'color: #FF8000; font-weight: bold;',
        -            3 => 'color: #008000;',
        -            4 => 'color: #6666cc; font-weight: bold;',
        -            5 => 'color: #000000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008080; font-style: italic;',
        -            2 => 'color: #008080;',
        -            3 => 'color: #008080;',
        -            'MULTI' => 'color: #008080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #008080; font-weight: bold;',
        -            'HARD' => 'color: #008080; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #666666;',
        -            'HARD' => 'color: #666666;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0000FF;',
        -            2 => 'color: #0000FF;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.google.com/search?q={FNAMEL}+msdn.microsoft.com',
        -        4 => '',
        -        5 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?|^])",
        -            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_%\\-])"
        -        )
        -    )
        -);
        -
        -
        diff --git a/vendor/easybook/geshi/geshi/css.php b/vendor/easybook/geshi/geshi/css.php
        deleted file mode 100644
        index 6f923a8..0000000
        --- a/vendor/easybook/geshi/geshi/css.php
        +++ /dev/null
        @@ -1,237 +0,0 @@
        - 'CSS',
        -    'COMMENT_SINGLE' => array(1 => '@'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        2 => "/(?<=\\()\\s*(?:(?:[a-z0-9]+?:\\/\\/)?[a-z0-9_\\-\\.\\/:]+?)?[a-z]+?\\.[a-z]+?(\\?[^\)]+?)?\\s*?(?=\\))/i"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', "'"),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        //1 => "#\\\\[nfrtv\$\"\n\\\\]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\[\da-fA-F]{1,6}\s?#i",
        -        //Unicode Char Specs
        -        //3 => "#\\\\u[\da-fA-F]{1,8}#i",
        -        ),
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'align-items', 'align-self', 'align-content',
        -            'aqua', 'azimuth', 'background-attachment', 'background-color',
        -            'background-image', 'background-position', 'background-repeat',
        -            'background', 'black', 'blue', 'border-bottom-color',
        -            'border-radius', 'border-top-left-radius', 'border-top-right-radius',
        -            'border-bottom-right-radius', 'border-bottom-left-radius',
        -            'border-bottom-style', 'border-bottom-width', 'border-image-source',
        -            'border-image-slice', 'border-image-width', 'border-image-outset',
        -            'border-image-repeat', 'border-image', 'border-left-color',
        -            'border-left-style', 'border-left-width', 'border-right',
        -            'border-right-color', 'border-right-style', 'border-right-width',
        -            'border-top-color', 'border-top-style',
        -            'border-top-width','border-bottom', 'border-collapse',
        -            'border-left', 'border-width', 'border-color', 'border-spacing',
        -            'border-style', 'border-top', 'border', 'box-shadow',
        -            'break-after', 'break-before', 'break-inside', 'column-count',
        -            'column-fill', 'column-gap', 'column-rule', 'column-rule-color',
        -            'column-rule-style', 'column-rule-width', 'columns', 'column-span',
        -            'column-width', 'caption-side', 'clear',
        -            'clip', 'color', 'content', 'counter-increment', 'counter-reset',
        -            'cue-after', 'cue-before', 'cue', 'cursor', 'direction', 'display',
        -            'elevation', 'empty-cells', 'flex-direction', 'flex-grow',
        -            'flex-wrap', 'flex-shrink', 'flex-basis', 'flex-flow', 'flex',
        -
        -            'float', 'font-family', 'font-size',
        -            'font-size-adjust', 'font-stretch', 'font-style', 'font-variant',
        -            'font-weight', 'font', 'justify-content', 'line-height', 'letter-spacing',
        -            'list-style', 'list-style-image', 'list-style-position',
        -            'list-style-type', 'margin-bottom', 'margin-left', 'margin-right',
        -            'margin-top', 'margin', 'marker-offset', 'marks', 'max-height',
        -            'max-width', 'min-height', 'min-width', 'order', 'orphans', 'outline',
        -            'outline-color', 'outline-style', 'outline-width', 'overflow',
        -            'padding-bottom', 'padding-left', 'padding-right', 'padding-top',
        -            'padding', 'page', 'page-break-after', 'page-break-before',
        -            'page-break-inside', 'pause-after', 'pause-before', 'pause',
        -            'pitch', 'pitch-range', 'play-during', 'position', 'quotes',
        -            'richness', 'right', 'size', 'speak-header', 'speak-numeral',
        -            'speak-punctuation', 'speak', 'speech-rate', 'stress',
        -            'table-layout', 'text-align', 'text-decoration', 'text-indent',
        -            'text-shadow', 'text-transform', 'top', 'unicode-bidi',
        -            'vertical-align', 'visibility', 'voice-family', 'volume',
        -            'white-space', 'widows', 'width', 'word-spacing', 'z-index',
        -            'bottom', 'left', 'height'
        -            ),
        -        2 => array(
        -            'above', 'absolute', 'always', 'armenian', 'aural', 'auto',
        -            'avoid', 'baseline', 'behind', 'below', 'bidi-override', 'blink',
        -            'block', 'bold', 'bolder', 'both', 'capitalize', 'center-left',
        -            'center-right', 'center', 'circle', 'cjk-ideographic',
        -            'close-quote', 'collapse', 'column', 'column-reverse', 'condensed', 'continuous', 'crop',
        -            'crosshair', 'cross', 'cursive', 'dashed', 'decimal-leading-zero',
        -            'decimal', 'default', 'digits', 'disc', 'dotted', 'double',
        -            'ease-in', 'ease-out',
        -            'e-resize', 'embed', 'extra-condensed', 'extra-expanded',
        -            'expanded', 'fantasy', 'far-left', 'far-right', 'faster', 'fast',
        -            'fixed', 'flex-end', 'flex-start', 'fuchsia', 'georgian', 'gray', 'green', 'groove',
        -            'hebrew', 'help', 'hidden', 'hide', 'higher', 'high',
        -            'hiragana-iroha', 'hiragana', 'icon', 'inherit', 'inline-table',
        -            'inline', 'inset', 'inside', 'invert', 'italic', 'justify',
        -            'katakana-iroha', 'katakana', 'landscape', 'larger', 'large',
        -            'left-side', 'leftwards', 'level', 'lighter', 'lime',
        -            'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek',
        -            'lower-roman', 'lowercase', 'ltr', 'lower', 'low', 'maroon',
        -            'medium', 'message-box', 'middle', 'mix', 'monospace', 'n-resize',
        -            'narrower', 'navy', 'ne-resize', 'no-close-quote',
        -            'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap',
        -            'nw-resize', 'oblique', 'olive', 'once', 'open-quote', 'outset',
        -            'outside', 'overline', 'pointer', 'portrait', 'purple', 'px',
        -            'red', 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb',
        -            'ridge', 'right-side', 'rightwards', 'row', 'row-reverse', 's-resize', 'sans-serif',
        -            'scroll', 'se-resize', 'semi-condensed', 'semi-expanded',
        -            'separate', 'serif', 'show', 'silent', 'silver', 'slow', 'slower',
        -            'small-caps', 'small-caption', 'smaller', 'soft', 'solid',
        -            'space-around', 'space-between',
        -            'spell-out', 'square', 'static', 'status-bar', 'stretch', 'super',
        -            'sw-resize', 'table-caption', 'table-cell', 'table-column',
        -            'table-column-group', 'table-footer-group', 'table-header-group',
        -            'table-row', 'table-row-group', 'teal', 'text', 'text-bottom',
        -            'text-top', 'thick', 'thin', 'transparent', 'ultra-condensed',
        -            'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin',
        -            'upper-roman', 'uppercase', 'url', 'visible', 'w-resize', 'wait',
        -            'white', 'wider', 'wrap', 'wrap-reverse', 'x-fast', 'x-high', 'x-large', 'x-loud',
        -            'x-low', 'x-small', 'x-soft', 'xx-large', 'xx-small', 'yellow',
        -            'yes'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', ':', ';',
        -        '>', '+', '*', ',', '^', '='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #993333;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #a1a100;',
        -            2 => 'color: #ff0000; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            //1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #000099; font-weight: bold;'
        -            //3 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #00AA00;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #00AA00;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #cc00cc;',
        -            1 => 'color: #6666ff;',
        -            2 => 'color: #3333ff;',
        -            3 => 'color: #933;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //DOM Node ID
        -        0 => '\#[a-zA-Z0-9\-_]+(?:\\\\:[a-zA-Z0-9\-_]+)*',
        -        //CSS classname
        -        1 => '\.(?!\d)[a-zA-Z0-9\-_]+(?:\\\\:[a-zA-Z0-9\-_]+)*\b(?=[\{\.#\s,:].|<\|)',
        -        //CSS Pseudo classes
        -        //note: & is needed for > (i.e. > )
        -        2 => '(? '[+\-]?(\d+|(\d*\.\d+))(em|ex|pt|px|cm|in|%)',
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_AFTER' => '(?![\-a-zA-Z0-9_\|%\\-&\.])',
        -            'DISALLOWED_BEFORE' => '(? 'Cuesheet',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        //Single-Line Comments using REM command
        -        1 => "/(?<=\bREM\b).*?$/im",
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'CATALOG','CDTEXTFILE','FILE','FLAGS','INDEX','ISRC','PERFORMER',
        -            'POSTGAP','PREGAP','REM','SONGWRITER','TITLE','TRACK'
        -            ),
        -        2 => array(
        -            'AIFF', 'BINARY', 'MOTOROLA', 'MP3', 'WAVE'
        -            ),
        -        3 => array(
        -            '4CH', 'DCP', 'PRE', 'SCMS'
        -            ),
        -        4 => array(
        -            'AUDIO', 'CDG', 'MODE1/2048', 'MODE1/2336', 'MODE2/2336',
        -            'MODE2/2352', 'CDI/2336', 'CDI/2352'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #000066; font-weight: bold;',
        -            3 => 'color: #000066; font-weight: bold;',
        -            4 => 'color: #000066; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080;',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #006600;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000066;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'color: #000099;',
        -            2 => 'color: #009900;',
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://digitalx.org/cuesheetsyntax.php#{FNAMEL}',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        2 => '\b[A-Za-z0-9]{5}\d{7}\b',
        -        1 => '(?<=[\s:]|^)\d+(?=[\s:]|$)',
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 2,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => '(? '(?![\w\.])',
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/d.php b/vendor/easybook/geshi/geshi/d.php
        deleted file mode 100644
        index db5fbf0..0000000
        --- a/vendor/easybook/geshi/geshi/d.php
        +++ /dev/null
        @@ -1,251 +0,0 @@
        - 'D',
        -    'COMMENT_SINGLE' => array(2 => '///', 1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/', '/+' => '+/'),
        -    'COMMENT_REGEXP' => array(
        -        // doxygen comments
        -        3 => '#/\*\*(?![\*\/]).*\*/#sU',
        -        // raw strings
        -        4 => '#r"[^"]*"#s',
        -        // Script Style interpreter comment
        -        5 => "/\A#!(?=\\/).*?$/m"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', "'"),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[abfnrtv\\'\"?\n\\\\]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{2}#",
        -        //Hexadecimal Char Specs
        -        3 => "#\\\\u[\da-fA-F]{4}#",
        -        //Hexadecimal Char Specs
        -        4 => "#\\\\U[\da-fA-F]{8}#",
        -        //Octal Char Specs
        -        5 => "#\\\\[0-7]{1,3}#",
        -        //Named entity escapes
        -        /*6 => "#\\\\&(?:quot|amp|lt|gt|OElig|oelig|Scaron|scaron|Yuml|circ|tilde|".
        -            "ensp|emsp|thinsp|zwnj|zwj|lrm|rlm|ndash|mdash|lsquo|rsquo|sbquo|".
        -            "ldquo|rdquo|bdquo|dagger|Dagger|permil|lsaquo|rsaquo|euro|nbsp|".
        -            "iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|".
        -            "shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|".
        -            "sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|".
        -            "Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|".
        -            "Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|".
        -            "times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|".
        -            "aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|".
        -            "euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|".
        -            "otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|".
        -            "yuml|fnof|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|".
        -            "Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|".
        -            "Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|".
        -            "kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf|sigma|tau|upsilon|".
        -            "phi|chi|psi|omega|thetasym|upsih|piv|bull|hellip|prime|Prime|".
        -            "oline|frasl|weierp|image|real|trade|alefsym|larr|uarr|rarr|darr|".
        -            "harr|crarr|lArr|uArr|rArr|dArr|hArr|forall|part|exist|empty|".
        -            "nabla|isin|notin|ni|prod|sum|minus|lowast|radic|prop|infin|ang|".
        -            "and|or|cap|cup|int|there4|sim|cong|asymp|ne|equiv|le|ge|sub|sup|".
        -            "nsub|sube|supe|oplus|otimes|perp|sdot|lceil|rceil|lfloor|rfloor|".
        -            "lang|rang|loz|spades|clubs|hearts|diams);#",*/
        -        // optimized:
        -        6 => "#\\\\&(?:A(?:Elig|acute|circ|grave|lpha|ring|tilde|uml)|Beta|".
        -            "C(?:cedil|hi)|D(?:agger|elta)|E(?:TH|acute|circ|grave|psilon|ta|uml)|".
        -            "Gamma|I(?:acute|circ|grave|ota|uml)|Kappa|Lambda|Mu|N(?:tilde|u)|".
        -            "O(?:Elig|acute|circ|grave|m(?:ega|icron)|slash|tilde|uml)|".
        -            "P(?:hi|i|rime|si)|Rho|S(?:caron|igma)|T(?:HORN|au|heta)|".
        -            "U(?:acute|circ|grave|psilon|uml)|Xi|Y(?:acute|uml)|Zeta|".
        -            "a(?:acute|c(?:irc|ute)|elig|grave|l(?:efsym|pha)|mp|n[dg]|ring|".
        -            "symp|tilde|uml)|b(?:dquo|eta|rvbar|ull)|c(?:ap|cedil|e(?:dil|nt)|".
        -            "hi|irc|lubs|o(?:ng|py)|rarr|u(?:p|rren))|d(?:Arr|a(?:gger|rr)|".
        -            "e(?:g|lta)|i(?:ams|vide))|e(?:acute|circ|grave|m(?:pty|sp)|nsp|".
        -            "psilon|quiv|t[ah]|u(?:ml|ro)|xist)|f(?:nof|orall|ra(?:c(?:1[24]|34)|sl))|".
        -            "g(?:amma|e|t)|h(?:Arr|arr|e(?:arts|llip))|i(?:acute|circ|excl|grave|mage|".
        -            "n(?:fin|t)|ota|quest|sin|uml)|kappa|l(?:Arr|a(?:mbda|ng|quo|rr)|ceil|".
        -            "dquo|e|floor|o(?:wast|z)|rm|s(?:aquo|quo)|t)|m(?:acr|dash|".
        -            "i(?:cro|ddot|nus)|u)|n(?:abla|bsp|dash|e|i|ot(?:in)?|sub|tilde|u)|".
        -            "o(?:acute|circ|elig|grave|line|m(?:ega|icron)|plus|r(?:d[fm])?|".
        -            "slash|ti(?:lde|mes)|uml)|p(?:ar[at]|er(?:mil|p)|hi|iv?|lusmn|ound|".
        -            "r(?:ime|o[dp])|si)|quot|r(?:Arr|a(?:dic|ng|quo|rr)|ceil|dquo|e(?:al|g)|".
        -            "floor|ho|lm|s(?:aquo|quo))|s(?:bquo|caron|dot|ect|hy|i(?:gmaf?|m)|".
        -            "pades|u(?:be?|m|p[123e]?)|zlig)|t(?:au|h(?:e(?:re4|ta(?:sym)?)|insp|".
        -            "orn)|i(?:lde|mes)|rade)|u(?:Arr|a(?:cute|rr)|circ|grave|ml|".
        -            "psi(?:h|lon)|uml)|weierp|xi|y(?:acute|en|uml)|z(?:eta|w(?:j|nj)));#",
        -        ),
        -    'HARDQUOTE' => array('`', '`'),
        -    'HARDESCAPE' => array(),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -                'break', 'case', 'continue', 'do', 'else',
        -                'for', 'foreach', 'goto', 'if', 'return',
        -                'switch', 'while', 'foreach_reverse'
        -            ),
        -        2 => array(
        -                'alias', 'asm', 'assert', 'body', 'cast',
        -                'catch', 'default', 'delegate', 'delete',
        -                'extern', 'false', 'finally', 'function',
        -                'import', 'in', 'inout',
        -                'invariant', 'is', 'lazy', 'mixin', 'module', 'new',
        -                'null', 'out', 'pragma', 'ref', 'super', 'this',
        -                'throw', 'true', 'try', 'typeid',
        -                'typeof', 'union', 'with', 'scope'
        -            ),
        -        3 => array(
        -                'ClassInfo', 'Error', 'Exception',
        -                'Interface', 'Object', 'IMonitor',
        -                'OffsetTypeInfo', 'Throwable',
        -                'TypeInfo_Class', 'TypeInfo', '__traits',
        -                '__EOF__', '__FILE__', '__LINE__',
        -            ),
        -        4 => array(
        -                'abstract', 'align', 'auto', 'bit', 'bool',
        -                'byte', 'cdouble', 'cfloat', 'char',
        -                'class', 'const', 'creal', 'dchar', 'dstring', 'debug',
        -                'deprecated', 'double', 'enum', 'export',
        -                'final', 'float', 'idouble', 'ifloat', 'immutable', 'int',
        -                'interface', 'ireal', 'long', 'nothrow', 'override',
        -                'package', 'private', 'protected', 'ptrdiff_t',
        -                'public', 'real', 'short', 'shared', 'size_t',
        -                'static', 'string', 'struct', 'synchronized',
        -                'template', 'ubyte', 'ucent', 'uint',
        -                'ulong', 'unittest', 'ushort', 'version',
        -                'void', 'volatile', 'wchar', 'wstring',
        -                '__gshared', '@disable', '@property', 'pure', 'safe'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '?', '!', ';', ':', ',', '...', '..',
        -        '+', '-', '*', '/', '%', '&', '|', '^', '<', '>', '=', '~',
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #aaaadd; font-weight: bold;',
        -            4 => 'color: #993333;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #009933; font-style: italic;',
        -            3 => 'color: #009933; font-style: italic;',
        -            4 => 'color: #ff0000;',
        -            5 => 'color: #0040ff;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #660099; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold;',
        -            6 => 'color: #666699; font-weight: bold; font-style: italic;',
        -            'HARD' => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;',
        -            'HARD' => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000dd;',
        -            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/dart.php b/vendor/easybook/geshi/geshi/dart.php
        deleted file mode 100644
        index 932e13e..0000000
        --- a/vendor/easybook/geshi/geshi/dart.php
        +++ /dev/null
        @@ -1,159 +0,0 @@
        - 'Dart',
        -
        -    'COMMENT_SINGLE' => array('//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(),
        -
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[\\\\nrfbtv\'\"?\n]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{2}#",
        -        //Hexadecimal Char Specs
        -        3 => "#\\\\u[\da-fA-F]{4}#",
        -        4 => "#\\\\u\\{[\da-fA-F]*\\}#"
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE |
        -        GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'abstract', 'as', 'assert', 'break', 'case', 'catch', 'class',
        -            'const', 'continue', 'default', 'do', 'dynamic', 'else', 'export',
        -            'extends', 'external', 'factory', 'false', 'final', 'finally',
        -            'for', 'get', 'if', 'implements', 'import', 'in', 'is', 'library',
        -            'new', 'null', 'operator', 'part', 'return', 'set', 'static',
        -            'super', 'switch', 'this', 'throw', 'true', 'try', 'typedef', 'var',
        -            'while', 'with'
        -            ),
        -        2 => array(
        -            'double', 'bool', 'int', 'num', 'void'
        -            ),
        -        ),
        -
        -    'SYMBOLS' => array(
        -        0 => array('(', ')', '{', '}', '[', ']'),
        -        1 => array('+', '-', '*', '/', '%', '~'),
        -        2 => array('&', '|', '^'),
        -        3 => array('=', '!', '<', '>'),
        -        4 => array('?', ':'),
        -        5 => array('..'),
        -        6 => array(';', ',')
        -        ),
        -
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        ),
        -
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'font-weight: bold;',
        -            2 => 'color: #445588; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #999988; font-style: italic;',
        -            'MULTI' => 'color: #999988; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #660099; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold;',
        -            'HARD' => ''
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #d14;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #009999;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
        -            ),
        -        'BRACKETS' => array(''),
        -        'METHODS' => array(
        -            1 => 'color: #006633;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'font-weight: bold;',
        -            1 => 'font-weight: bold;',
        -            2 => 'font-weight: bold;',
        -            3 => 'font-weight: bold;',
        -            4 => 'font-weight: bold;',
        -            5 => 'font-weight: bold;',
        -            6 => 'font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/dcl.php b/vendor/easybook/geshi/geshi/dcl.php
        deleted file mode 100644
        index b041e04..0000000
        --- a/vendor/easybook/geshi/geshi/dcl.php
        +++ /dev/null
        @@ -1,191 +0,0 @@
        - 'DCL',
        -    'COMMENT_SINGLE' => array('$!', '!'),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        2 => '/(?<=\$)\s*sql\s+.*?(?:quit|exit);?\s*?$/sim' // do not highlight inline sql
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'HARDESCAPE' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        1 => "/''[a-zA-Z\\-_]+'/"
        -        ),
        -    'KEYWORDS' => array(
        -        1 => array( // commands
        -            'ACCOUNTING', 'ALLOCATE', 'ANALYZE', 'APPEND', 'ASSIGN', 'ATTACH', 'BACKUP',
        -            'CALL', 'CANCEL', 'CHECKSUM', 'CLOSE', 'CONNECT', 'CONTINUE', 'CONVERT',
        -            'COPY', 'CREATE', 'DEALLOCATE', 'DEASSIGN', 'DEBUG', 'DECK',
        -            'DECRYPT', 'DEFINE', 'DELETE', 'DEPOSIT', 'DIFFERENCES', 'DIRECTORY',
        -            'DISABLE',  'AUTOSTART', 'DISCONNECT', 'DISMOUNT', 'DUMP', 'EDIT', 'ENABLE',
        -            'ENCRYPT', 'ENDSUBROUTINE', 'EOD', 'EOJ', 'EXAMINE', 'EXCHANGE',
        -            'EXIT', 'FONT', 'GOSUB', 'GOTO', 'HELP', 'IF', 'THEN', 'ELSE', 'ENDIF', 'INITIALIZE', 'INQUIRE',
        -            'INSTALL', 'JAVA', 'JOB', 'LIBRARY', 'LICENSE', 'LINK', 'LOGIN', 'LOGOUT',
        -            'MACRO', 'MAIL', 'MERGE', 'MESSAGE', 'MONITOR', 'MOUNT', 'NCS', 'ON', 'OPEN',
        -            'PASSWORD', 'PATCH', 'PHONE', 'PIPE', 'PPPD', 'PRINT', 'PRODUCT', 'PURGE',
        -            'READ', 'RECALL', 'RENAME', 'REPLY', 'REQUEST', 'RETURN', 'RMU', 'RUN', 'RUNOFF',
        -            'SEARCH', 'SET', 'SET AUDIT', 'SET BOOTBLOCK', 'SET BROADCAST',
        -            'SET CACHE', 'SET CARD_READER', 'SET CLUSTER', 'SET COMMAND', 'SET CONTROL',
        -            'SET CPU', 'SET DAY', 'SET DEFAULT', 'SET DEVICE', 'SET DIRECTORY',
        -            'SET DISPLAY', 'SET ENTRY', 'SET FILE', 'SET HOST', 'SET IMAGE', 'SET KEY',
        -            'SET LOGINS', 'SET MAGTAPE', 'SET MESSAGE', 'SET NETWORK', 'SET ON', 'SET OUTPUT_RATE',
        -            'SET PASSWORD', 'SET PREFERRED_PATH', 'SET PREFIX', 'SET PRINTER', 'SET PROCESS',
        -            'SET PROMPT', 'SET PROTECTION', 'SET QUEUE', 'SET RESTART_VALUE',
        -            'SET RIGHTS_LIST', 'SET RMS_DEFAULT', 'SET ROOT', 'SET SECURITY',
        -            'SET SERVER ACME_SERVER', 'SET SERVER REGISTRY_SERVER', 'SET SERVER SECURITY_SERVER',
        -            'SET SHADOW', 'SET SYMBOL', 'SET TERMINAL', 'SET TIME', 'SET VERIFY',
        -            'SET VOLUME', 'SET WORKING_SET', 'SHOW', 'SHOW AUDIT',
        -            'SHOW BROADCAST', 'SHOW CLUSTER', 'SHOW CPU', 'SHOW DEFAULT', 'SHOW DEVICES',
        -            'SHOW DISPLAY', 'SHOW ENTRY', 'SHOW ERROR', 'SHOW FASTPATH', 'SHOW IMAGE',
        -            'SHOW INTRUSION', 'SHOW KEY', 'SHOW LICENSE', 'SHOW LOGICAL', 'SHOW MEMORY',
        -            'SHOW NETWORK', 'SHOW PRINTER', 'SHOW PROCESS', 'SHOW PROTECTION', 'SHOW QUEUE',
        -            'SHOW QUOTA', 'SHOW RMS_DEFAULT', 'SHOW ROOT', 'SHOW SECURITY',
        -            'SHOW SERVER ACME_SERVER', 'SHOW SERVER REGISTRY_SERVER', 'SHOW SHADOW',
        -            'SHOW STATUS', 'SHOW SYMBOL', 'SHOW SYSTEM', 'SHOW TERMINAL', 'SHOW TIME',
        -            'SHOW TRANSLATION', 'SHOW USERS', 'SHOW WORKING_SET', 'SHOW ZONE', 'SORT',
        -            'SPAWN', 'START', 'STOP', 'SUBMIT', 'SUBROUTINE', 'SYNCHRONIZE', 'TYPE',
        -            'UNLOCK', 'VIEW', 'WAIT', 'WRITE', 'XAUTH'
        -            ),
        -        2 => array( // lexical functions
        -            'F$CONTEXT', 'F$CSID', 'F$CUNITS', 'F$CVSI', 'F$CVTIME', 'F$CVUI',
        -            'F$DELTA_TIME', 'F$DEVICE', 'F$DIRECTORY', 'F$EDIT', 'F$ELEMENT',
        -            'F$ENVIRONMENT', 'F$EXTRACT', 'F$FAO', 'F$FID_TO_NAME', 'F$FILE_ATTRIBUTES',
        -            'F$GETDVI', 'F$GETENV', 'F$GETJPI', 'F$GETQUI', 'F$GETSYI', 'F$IDENTIFIER',
        -            'F$INTEGER', 'F$LENGTH', 'F$LICENSE', 'F$LOCATE', 'F$MATCH_WILD', 'F$MESSAGE',
        -            'F$MODE', 'F$MULTIPATH', 'F$PARSE', 'F$PID', 'F$PRIVILEGE', 'F$PROCESS',
        -            'F$SEARCH', 'F$SETPRV', 'F$STRING', 'F$TIME', 'F$TRNLNM', 'F$TYPE', 'F$UNIQUE',
        -            'F$USER', 'F$VERIFY'
        -            ),
        -        3 => array( // special variables etc
        -            'sql$database', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7', 'P8', 'P9',
        -            '$status', '$severity', 'sys$login', 'sys$system',
        -            'sys$input', 'sys$output', 'sys$pipe'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '@', '&', '|', '<', '>', '-',
        -        '.eqs.', '.eq.', '.lt.', '.lts.', '.gt.', '.gts.', '.ne.', '.nes.',
        -        '.le.', '.ge.', '.ges.', '.les.',
        -        '.EQS.', '.EQ.', '.LT.', '.LTS.', '.GT.', '.GTS.', '.NE.', '.NES.',
        -        '.LE.', '.GE.', '.GES.', '.LES.',
        -        '.and.', '.or.', '.not.',
        -        '.AND.', '.OR.', '.NOT.',
        -        '==', ':==', '=', ':='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #0066FF;',
        -            3 => 'color: #993300;'
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #666666; font-style: italic;',
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #9999FF; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #006666;',
        -            1 => 'color: #0099FF;',
        -            2 => 'color: red;',
        -            3 => 'color: #007800;',
        -            4 => 'color: #007800;',
        -            5 => 'color: #780078;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #7a0874; font-weight: bold;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0099FF;',                     // variables
        -            1 => 'color: #0000FF;',                     // qualifiers
        -            2 => 'color: #FF6600; font-weight: bold;'   // labels
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        // variables
        -        0 => "'[a-zA-Z_\\-$]+'",
        -        // qualifiers and parameters
        -        1 => "(?:\/[a-zA-Z_\/]+)[\s=]",
        -        // labels
        -        2 => '(?<=\$)\s*[a-zA-Z\-_]+:'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'COMMENTS' => array(
        -        ),
        -        'KEYWORDS' => array(
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/dcpu16.php b/vendor/easybook/geshi/geshi/dcpu16.php
        deleted file mode 100644
        index 2b55db0..0000000
        --- a/vendor/easybook/geshi/geshi/dcpu16.php
        +++ /dev/null
        @@ -1,130 +0,0 @@
        - 'DCPU-16 Assembly',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'NUMBERS' => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_HEX_PREFIX,
        -    'KEYWORDS' => array(
        -        /*CPU*/
        -        1 => array(
        -            'set','add','sub','mul','div','mod','shl','shr','and','bor','xor',
        -            'ife','ifn','ifg','ifb',
        -            'jsr'
        -            ),
        -        /*registers*/
        -        2 => array(
        -            'a','b','c','x','y','z','i','j',
        -            'pc','sp','o',
        -            'pop','peek','push' //Special cases with DCPU-16
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '[', ']', '+', '-', ','
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000088; font-weight:bold;',
        -            2 => 'color: #0000ff;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #adadad; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000088;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #7f007f;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #880000;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'REGEXPS' => array(
        -            2 => 'color: #993333;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://0x10c.com/doc/dcpu-16.txt',
        -        2 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Hex numbers
        -        //0 => '0[0-9a-fA-F]{1,32}[hH]',
        -        //Binary numbers
        -        //1 => '\%[01]{1,64}|[01]{1,64}[bB]?(?![^<]*>)',
        -        //Labels
        -        2 => '^:[_a-zA-Z][_a-zA-Z0-9]?(?=\s|$)'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(? "(?![a-zA-Z0-9_\|%\\-])"
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/dcs.php b/vendor/easybook/geshi/geshi/dcs.php
        deleted file mode 100644
        index 67b6cd4..0000000
        --- a/vendor/easybook/geshi/geshi/dcs.php
        +++ /dev/null
        @@ -1,181 +0,0 @@
        - 'DCS',
        -    'COMMENT_SINGLE' => array(
        -        1 => ';'
        -        ),
        -    'COMMENT_MULTI' => array(
        -        ),
        -    'COMMENT_REGEXP' => array(
        -        // Highlight embedded C code in a separate color:
        -        2 => '/\bINSERT_C_CODE\b.*?\bEND_C_CODE\b/ims'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array(
        -        '"'
        -        ),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => '',
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'abs', 'ascii_value', 'bit_value', 'blank_date', 'calc_unit_values', 'cm',
        -            'complete_months', 'complete_years', 'correct', 'create_input_file', 'cy',
        -            'date_convert', 'day', 'del_output_separator',
        -            'delete_existing_output_files', 'div', 'ex', 'exact_years', 'exp',
        -            'extract_date', 'failed_validation', 'file_number', 'first_record',
        -            'fract', 'fund_fac_a', 'fund_fac_b', 'fund_fac_c', 'fund_fac_d',
        -            'fund_fac_e', 'fund_fac_f', 'fund_fac_g', 'fund_fac_h', 'fund_fac_i',
        -            'fund_fac_j', 'fund_fac_k', 'fund_fac_l', 'fund_fac_m', 'fund_fac_n',
        -            'fund_fac_o', 'fund_fac_p', 'fund_fac_q', 'fund_fac_r', 'fund_fac_s',
        -            'fund_fac_t', 'fund_fac_u', 'fund_fac_v', 'fund_fac_w', 'fund_fac_x',
        -            'fund_fac_y', 'fund_fac_z', 'group', 'group_record',
        -            'input_file_date_time', 'input_file_extension', 'input_file_location',
        -            'input_file_name', 'int', 'invalid', 'last_record', 'leap_year', 'len',
        -            'ln', 'log', 'main_format_name', 'max', 'max_num_subrecords', 'message',
        -            'min', 'mod', 'month', 'months_add', 'months_sub', 'nearest_months',
        -            'nearest_years', 'next_record', 'nm', 'no_of_current_records',
        -            'no_of_records', 'numval', 'ny', 'output', 'output_array_as_constants',
        -            'output_file_path', 'output_record', 'pmdf_output', 'previous', 'rand',
        -            're_start', 'read_generic_table', 'read_generic_table_text',
        -            'read_input_footer', 'read_input_footer_text', 'read_input_header',
        -            'read_input_header_text', 'record_count', 'record_suppressed', 'round',
        -            'round_down', 'round_near', 'round_up', 'run_dcs_program', 'run_parameter',
        -            'run_parameter_text', 'set_main_record', 'set_num_subrecords',
        -            'sort_array', 'sort_current_records', 'sort_input', 'strval', 'substr',
        -            'summarise', 'summarise_record', 'summarise_units',
        -            'summarise_units_record', 'suppress_record', 'table_correct',
        -            'table_validate', 'terminate', 'time', 'today', 'trim', 'ubound', 'year',
        -            'years_add', 'years_sub'
        -            ),
        -        2 => array(
        -            'and', 'as', 'begin', 'boolean', 'byref', 'byval', 'call', 'case', 'date',
        -            'default', 'do', 'else', 'elseif', 'end_c_code', 'endfor', 'endfunction',
        -            'endif', 'endproc', 'endswitch', 'endwhile', 'eq',
        -            'explicit_declarations', 'false', 'for', 'from', 'function', 'ge', 'gt',
        -            'if', 'insert_c_code', 'integer', 'le', 'loop', 'lt', 'ne', 'not',
        -            'number', 'or', 'private', 'proc', 'public', 'quitloop', 'return',
        -            'short', 'step', 'switch', 'text', 'then', 'to', 'true', 'while'
        -            ),
        -        3 => array(
        -            // These keywords are not highlighted by the DCS IDE but we may as well
        -            // keep track of them anyway:
        -            'mp_file', 'odbc_file'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']',
        -        '=', '<', '>',
        -        '+', '-', '*', '/', '^',
        -        ':', ','
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: red;',
        -            2 => 'color: blue;',
        -            3 => 'color: black;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: black; background-color: silver;',
        -            // Colors for highlighting embedded C code:
        -            2 => 'color: maroon; background-color: pink;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: black;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: green;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: green;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: black;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/delphi.php b/vendor/easybook/geshi/geshi/delphi.php
        deleted file mode 100644
        index 34d0fd7..0000000
        --- a/vendor/easybook/geshi/geshi/delphi.php
        +++ /dev/null
        @@ -1,299 +0,0 @@
        - 'Delphi',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'),
        -    //Compiler directives
        -    'COMMENT_REGEXP' => array(2 => '/\\{\\$.*?}|\\(\\*\\$.*?\\*\\)/U'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'"),
        -    'ESCAPE_CHAR' => '',
        -
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'Abstract', 'And', 'Array', 'As', 'Asm', 'At', 'Begin', 'Case',
        -            'Class', 'Const', 'Constructor', 'Contains', 'Default', 'delayed', 'Destructor',
        -            'DispInterface', 'Div', 'Do', 'DownTo', 'Else', 'End', 'Except',
        -            'Export', 'Exports', 'External', 'File', 'Finalization', 'Finally', 'For',
        -            'Function', 'Generic', 'Goto', 'If', 'Implementation', 'In', 'Inherited',
        -            'Initialization', 'Inline', 'Interface', 'Is', 'Label', 'Library', 'Message',
        -            'Mod', 'Nil', 'Not', 'Object', 'Of', 'On', 'Or', 'Overload', 'Override',
        -            'Package', 'Packed', 'Private', 'Procedure', 'Program', 'Property',
        -            'Protected', 'Public', 'Published', 'Read', 'Raise', 'Record', 'Register',
        -            'Repeat', 'Requires', 'Resourcestring', 'Set', 'Shl', 'Shr', 'Specialize', 'Stored',
        -            'Then', 'ThreadVar', 'To', 'Try', 'Type', 'Unit', 'Until', 'Uses', 'Var',
        -            'Virtual', 'While', 'With', 'Write', 'Xor', 'assembler', 'far',
        -            'near', 'pascal', 'cdecl', 'safecall', 'stdcall', 'varargs'
        -            ),
        -        2 => array(
        -            'false', 'self', 'true',
        -            ),
        -        3 => array(
        -            'Abs', 'AcquireExceptionObject', 'Addr', 'AnsiToUtf8', 'Append', 'ArcTan',
        -            'Assert', 'AssignFile', 'Assigned', 'BeginThread', 'BlockRead',
        -            'BlockWrite', 'Break', 'ChDir', 'Chr', 'Close', 'CloseFile',
        -            'CompToCurrency', 'CompToDouble', 'Concat', 'Continue', 'Copy', 'Cos',
        -            'Dec', 'Delete', 'Dispose', 'DoubleToComp', 'EndThread', 'EnumModules',
        -            'EnumResourceModules', 'Eof', 'Eoln', 'Erase', 'ExceptAddr',
        -            'ExceptObject', 'Exclude', 'Exit', 'Exp', 'FilePos', 'FileSize',
        -            'FillChar', 'Finalize', 'FindClassHInstance', 'FindHInstance',
        -            'FindResourceHInstance', 'Flush', 'Frac', 'FreeMem', 'Get8087CW',
        -            'GetDir', 'GetLastError', 'GetMem', 'GetMemoryManager',
        -            'GetModuleFileName', 'GetVariantManager', 'Halt', 'Hi', 'High',
        -            'IOResult', 'Inc', 'Include', 'Initialize', 'Insert', 'Int',
        -            'IsMemoryManagerSet', 'IsVariantManagerSet', 'Length', 'Ln', 'Lo', 'Low',
        -            'MkDir', 'Move', 'New', 'Odd', 'OleStrToStrVar', 'OleStrToString', 'Ord',
        -            'PUCS4Chars', 'ParamCount', 'ParamStr', 'Pi', 'Pos', 'Pred', 'Ptr',
        -            'Random', 'Randomize', 'Read', 'ReadLn', 'ReallocMem',
        -            'ReleaseExceptionObject', 'Rename', 'Reset', 'Rewrite', 'RmDir', 'Round',
        -            'RunError', 'Seek', 'SeekEof', 'SeekEoln', 'Set8087CW', 'SetLength',
        -            'SetLineBreakStyle', 'SetMemoryManager', 'SetString', 'SetTextBuf',
        -            'SetVariantManager', 'Sin', 'SizeOf', 'Slice', 'Sqr', 'Sqrt', 'Str',
        -            'StringOfChar', 'StringToOleStr', 'StringToWideChar', 'Succ', 'Swap',
        -            'Trunc', 'Truncate', 'TypeInfo', 'UCS4StringToWideString', 'UTF8Decode',
        -            'UTF8Encode', 'UnicodeToUtf8', 'UniqueString', 'UpCase', 'Utf8ToAnsi',
        -            'Utf8ToUnicode', 'Val', 'VarArrayRedim', 'VarClear',
        -            'WideCharLenToStrVar', 'WideCharLenToString', 'WideCharToStrVar',
        -            'WideCharToString', 'WideStringToUCS4String', 'Write', 'WriteLn',
        -
        -            'Abort', 'AddExitProc', 'AddTerminateProc', 'AdjustLineBreaks', 'AllocMem',
        -            'AnsiCompareFileName', 'AnsiCompareStr', 'AnsiCompareText',
        -            'AnsiDequotedStr', 'AnsiExtractQuotedStr', 'AnsiLastChar',
        -            'AnsiLowerCase', 'AnsiLowerCaseFileName', 'AnsiPos', 'AnsiQuotedStr',
        -            'AnsiSameStr', 'AnsiSameText', 'AnsiStrComp', 'AnsiStrIComp',
        -            'AnsiStrLComp', 'AnsiStrLIComp', 'AnsiStrLastChar', 'AnsiStrLower',
        -            'AnsiStrPos', 'AnsiStrRScan', 'AnsiStrScan', 'AnsiStrUpper',
        -            'AnsiUpperCase', 'AnsiUpperCaseFileName', 'AppendStr', 'AssignStr',
        -            'Beep', 'BoolToStr', 'ByteToCharIndex', 'ByteToCharLen', 'ByteType',
        -            'CallTerminateProcs', 'ChangeFileExt', 'CharLength', 'CharToByteIndex',
        -            'CharToByteLen', 'CompareMem', 'CompareStr', 'CompareText', 'CreateDir',
        -            'CreateGUID', 'CurrToStr', 'CurrToStrF', 'CurrentYear', 'Date',
        -            'DateTimeToFileDate', 'DateTimeToStr', 'DateTimeToString',
        -            'DateTimeToSystemTime', 'DateTimeToTimeStamp', 'DateToStr', 'DayOfWeek',
        -            'DecodeDate', 'DecodeDateFully', 'DecodeTime', 'DeleteFile',
        -            'DirectoryExists', 'DiskFree', 'DiskSize', 'DisposeStr', 'EncodeDate',
        -            'EncodeTime', 'ExceptionErrorMessage', 'ExcludeTrailingBackslash',
        -            'ExcludeTrailingPathDelimiter', 'ExpandFileName', 'ExpandFileNameCase',
        -            'ExpandUNCFileName', 'ExtractFileDir', 'ExtractFileDrive',
        -            'ExtractFileExt', 'ExtractFileName', 'ExtractFilePath',
        -            'ExtractRelativePath', 'ExtractShortPathName', 'FileAge', 'FileClose',
        -            'FileCreate', 'FileDateToDateTime', 'FileExists', 'FileGetAttr',
        -            'FileGetDate', 'FileIsReadOnly', 'FileOpen', 'FileRead', 'FileSearch',
        -            'FileSeek', 'FileSetAttr', 'FileSetDate', 'FileSetReadOnly', 'FileWrite',
        -            'FinalizePackage', 'FindClose', 'FindCmdLineSwitch', 'FindFirst',
        -            'FindNext', 'FloatToCurr', 'FloatToDateTime', 'FloatToDecimal',
        -            'FloatToStr', 'FloatToStrF', 'FloatToText', 'FloatToTextFmt',
        -            'FmtLoadStr', 'FmtStr', 'ForceDirectories', 'Format', 'FormatBuf',
        -            'FormatCurr', 'FormatDateTime', 'FormatFloat', 'FreeAndNil',
        -            'GUIDToString', 'GetCurrentDir', 'GetEnvironmentVariable',
        -            'GetFileVersion', 'GetFormatSettings', 'GetLocaleFormatSettings',
        -            'GetModuleName', 'GetPackageDescription', 'GetPackageInfo', 'GetTime',
        -            'IncAMonth', 'IncMonth', 'IncludeTrailingBackslash',
        -            'IncludeTrailingPathDelimiter', 'InitializePackage', 'IntToHex',
        -            'IntToStr', 'InterlockedDecrement', 'InterlockedExchange',
        -            'InterlockedExchangeAdd', 'InterlockedIncrement', 'IsDelimiter',
        -            'IsEqualGUID', 'IsLeapYear', 'IsPathDelimiter', 'IsValidIdent',
        -            'Languages', 'LastDelimiter', 'LoadPackage', 'LoadStr', 'LowerCase',
        -            'MSecsToTimeStamp', 'NewStr', 'NextCharIndex', 'Now', 'OutOfMemoryError',
        -            'QuotedStr', 'RaiseLastOSError', 'RaiseLastWin32Error', 'RemoveDir',
        -            'RenameFile', 'ReplaceDate', 'ReplaceTime', 'SafeLoadLibrary',
        -            'SameFileName', 'SameText', 'SetCurrentDir', 'ShowException', 'Sleep',
        -            'StrAlloc', 'StrBufSize', 'StrByteType', 'StrCat', 'StrCharLength',
        -            'StrComp', 'StrCopy', 'StrDispose', 'StrECopy', 'StrEnd', 'StrFmt',
        -            'StrIComp', 'StrLCat', 'StrLComp', 'StrLCopy', 'StrLFmt', 'StrLIComp',
        -            'StrLen', 'StrLower', 'StrMove', 'StrNew', 'StrNextChar', 'StrPCopy',
        -            'StrPLCopy', 'StrPas', 'StrPos', 'StrRScan', 'StrScan', 'StrToBool',
        -            'StrToBoolDef', 'StrToCurr', 'StrToCurrDef', 'StrToDate', 'StrToDateDef',
        -            'StrToDateTime', 'StrToDateTimeDef', 'StrToFloat', 'StrToFloatDef',
        -            'StrToInt', 'StrToInt64', 'StrToInt64Def', 'StrToIntDef', 'StrToTime',
        -            'StrToTimeDef', 'StrUpper', 'StringReplace', 'StringToGUID', 'Supports',
        -            'SysErrorMessage', 'SystemTimeToDateTime', 'TextToFloat', 'Time',
        -            'TimeStampToDateTime', 'TimeStampToMSecs', 'TimeToStr', 'Trim',
        -            'TrimLeft', 'TrimRight', 'TryEncodeDate', 'TryEncodeTime',
        -            'TryFloatToCurr', 'TryFloatToDateTime', 'TryStrToBool', 'TryStrToCurr',
        -            'TryStrToDate', 'TryStrToDateTime', 'TryStrToFloat', 'TryStrToInt',
        -            'TryStrToInt64', 'TryStrToTime', 'UnloadPackage', 'UpperCase',
        -            'WideCompareStr', 'WideCompareText', 'WideFmtStr', 'WideFormat',
        -            'WideFormatBuf', 'WideLowerCase', 'WideSameStr', 'WideSameText',
        -            'WideUpperCase', 'Win32Check', 'WrapText',
        -
        -            'ActivateClassGroup', 'AllocateHwnd', 'BinToHex', 'CheckSynchronize',
        -            'CollectionsEqual', 'CountGenerations', 'DeallocateHwnd', 'EqualRect',
        -            'ExtractStrings', 'FindClass', 'FindGlobalComponent', 'GetClass',
        -            'GroupDescendantsWith', 'HexToBin', 'IdentToInt',
        -            'InitInheritedComponent', 'IntToIdent', 'InvalidPoint',
        -            'IsUniqueGlobalComponentName', 'LineStart', 'ObjectBinaryToText',
        -            'ObjectResourceToText', 'ObjectTextToBinary', 'ObjectTextToResource',
        -            'PointsEqual', 'ReadComponentRes', 'ReadComponentResEx',
        -            'ReadComponentResFile', 'Rect', 'RegisterClass', 'RegisterClassAlias',
        -            'RegisterClasses', 'RegisterComponents', 'RegisterIntegerConsts',
        -            'RegisterNoIcon', 'RegisterNonActiveX', 'SmallPoint', 'StartClassGroup',
        -            'TestStreamFormat', 'UnregisterClass', 'UnregisterClasses',
        -            'UnregisterIntegerConsts', 'UnregisterModuleClasses',
        -            'WriteComponentResFile',
        -
        -            'ArcCos', 'ArcCosh', 'ArcCot', 'ArcCotH', 'ArcCsc', 'ArcCscH', 'ArcSec',
        -            'ArcSecH', 'ArcSin', 'ArcSinh', 'ArcTan2', 'ArcTanh', 'Ceil',
        -            'CompareValue', 'Cosecant', 'Cosh', 'Cot', 'CotH', 'Cotan', 'Csc', 'CscH',
        -            'CycleToDeg', 'CycleToGrad', 'CycleToRad', 'DegToCycle', 'DegToGrad',
        -            'DegToRad', 'DivMod', 'DoubleDecliningBalance', 'EnsureRange', 'Floor',
        -            'Frexp', 'FutureValue', 'GetExceptionMask', 'GetPrecisionMode',
        -            'GetRoundMode', 'GradToCycle', 'GradToDeg', 'GradToRad', 'Hypot',
        -            'InRange', 'IntPower', 'InterestPayment', 'InterestRate',
        -            'InternalRateOfReturn', 'IsInfinite', 'IsNan', 'IsZero', 'Ldexp', 'LnXP1',
        -            'Log10', 'Log2', 'LogN', 'Max', 'MaxIntValue', 'MaxValue', 'Mean',
        -            'MeanAndStdDev', 'Min', 'MinIntValue', 'MinValue', 'MomentSkewKurtosis',
        -            'NetPresentValue', 'Norm', 'NumberOfPeriods', 'Payment', 'PeriodPayment',
        -            'Poly', 'PopnStdDev', 'PopnVariance', 'Power', 'PresentValue',
        -            'RadToCycle', 'RadToDeg', 'RadToGrad', 'RandG', 'RandomRange', 'RoundTo',
        -            'SLNDepreciation', 'SYDDepreciation', 'SameValue', 'Sec', 'SecH',
        -            'Secant', 'SetExceptionMask', 'SetPrecisionMode', 'SetRoundMode', 'Sign',
        -            'SimpleRoundTo', 'SinCos', 'Sinh', 'StdDev', 'Sum', 'SumInt',
        -            'SumOfSquares', 'SumsAndSquares', 'Tan', 'Tanh', 'TotalVariance',
        -            'Variance'
        -            ),
        -        4 => array(
        -            'AnsiChar', 'AnsiString', 'Bool', 'Boolean', 'Byte', 'ByteBool', 'Cardinal', 'Char',
        -            'Comp', 'Currency', 'DWORD', 'Double', 'Extended', 'Int64', 'Integer', 'IUnknown',
        -            'LongBool', 'LongInt', 'LongWord', 'PAnsiChar', 'PAnsiString', 'PBool', 'PBoolean', 'PByte',
        -            'PByteArray', 'PCardinal', 'PChar', 'PComp', 'PCurrency', 'PDWORD', 'PDate', 'PDateTime',
        -            'PDouble', 'PExtended', 'PInt64', 'PInteger', 'PLongInt', 'PLongWord', 'Pointer', 'PPointer',
        -            'PShortInt', 'PShortString', 'PSingle', 'PSmallInt', 'PString', 'PHandle', 'PVariant', 'PWord',
        -            'PWordArray', 'PWordBool', 'PWideChar', 'PWideString', 'Real', 'Real48', 'ShortInt', 'ShortString',
        -            'Single', 'SmallInt', 'String', 'TClass', 'TDate', 'TDateTime', 'TextFile', 'THandle',
        -            'TObject', 'TTime', 'Variant', 'WideChar', 'WideString', 'Word', 'WordBool'
        -            ),
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('(', ')', '[', ']'),
        -        1 => array('.', ',', ':', ';'),
        -        2 => array('@', '^'),
        -        3 => array('=', '+', '-', '*', '/')
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;',
        -            4 => 'color: #000066; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #008000; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #ff0000; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000066;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000cc;',
        -            1 => 'color: #ff0000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000066;',
        -            1 => 'color: #000066;',
        -            2 => 'color: #000066;',
        -            3 => 'color: #000066;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        //Hex numbers
        -        0 => '(? '\#(?:\$[0-9a-fA-F]{1,4}|\d{1,5})'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 2,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            3 => array(
        -                'DISALLOWED_AFTER' => '(?=\s*[(;])'
        -                )
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/diff.php b/vendor/easybook/geshi/geshi/diff.php
        deleted file mode 100644
        index 1c72be9..0000000
        --- a/vendor/easybook/geshi/geshi/diff.php
        +++ /dev/null
        @@ -1,195 +0,0 @@
        - 'Diff',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => ' ',
        -    'KEYWORDS' => array(
        -            1 => array(
        -                '\ No newline at end of file'
        -            ),
        -//            2 => array(
        -//                '***************' /* This only seems to works in some cases? */
        -//            ),
        -        ),
        -    'SYMBOLS' => array(
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        1 => false,
        -//        2 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #aaaaaa; font-style: italic;',
        -//            2 => 'color: #dd6611;',
        -            ),
        -        'COMMENTS' => array(
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => ''
        -            ),
        -        'STRINGS' => array(
        -            0 => ''
        -            ),
        -        'NUMBERS' => array(
        -            0 => ''
        -            ),
        -        'METHODS' => array(
        -            0 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            0 => ''
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #440088;',
        -            1 => 'color: #991111;',
        -            2 => 'color: #00b000;',
        -            3 => 'color: #888822;',
        -            4 => 'color: #888822;',
        -            5 => 'color: #0011dd;',
        -            6 => 'color: #440088;',
        -            7 => 'color: #991111;',
        -            8 => 'color: #00b000;',
        -            9 => 'color: #888822;',
        -            ),
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -//        2 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        0 => "[0-9,]+[acd][0-9,]+",
        -        //Removed lines
        -        1 => array(
        -            GESHI_SEARCH => '(^|(?<=\A\s))\\<.*$',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //Inserted lines
        -        2 => array(
        -            GESHI_SEARCH => '(^|(?<=\A\s))\\>.*$',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //Location line
        -        3 => array(
        -            GESHI_SEARCH => '(^|(?<=\A\s))-{3}\\s.*$',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //Inserted line
        -        4 => array(
        -            GESHI_SEARCH => '(^|(?<=\A\s))(\\+){3}\\s.*$',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //Modified line
        -        5 => array(
        -            GESHI_SEARCH => '(^|(?<=\A\s))\\!.*$',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //File specification
        -        6 => array(
        -            GESHI_SEARCH => '(^|(?<=\A\s))[\\@]{2}.*$',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //Removed line
        -        7 => array(
        -            GESHI_SEARCH => '(^|(?<=\A\s))\\-.*$',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //Inserted line
        -        8 => array(
        -            GESHI_SEARCH => '(^|(?<=\A\s))\\+.*$',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //File specification
        -        9 => array(
        -            GESHI_SEARCH => '(^|(?<=\A\s))(\\*){3}\\s.*$',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/div.php b/vendor/easybook/geshi/geshi/div.php
        deleted file mode 100644
        index fb8a72a..0000000
        --- a/vendor/easybook/geshi/geshi/div.php
        +++ /dev/null
        @@ -1,124 +0,0 @@
        - 'DIV',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'while','until','to','switch','step','return','repeat','loop','if','from','frame','for','end','elseif',
        -            'else','default','debug','continue','clone','case','break','begin'
        -            ),
        -        2 => array(
        -            'xor','whoami','type','sizeof','pointer','or','offset','not','neg','mod','id','dup','and','_ne','_lt',
        -            '_le','_gt','_ge','_eq'
        -            ),
        -        3 => array(
        -            'setup_program','program','process','private','local','import','global','function','const',
        -            'compiler_options'
        -            ),
        -        4 => array(
        -            'word','struct','string','int','byte'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(',')','[',']','=','+','-','*','/','!','%','^','&',':',';',',','<','>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0040b1;',
        -            2 => 'color: #000000;',
        -            3 => 'color: #000066; font-weight: bold;',
        -            4 => 'color: #993333;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #44aa44;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #202020;',
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #44aa44;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/dos.php b/vendor/easybook/geshi/geshi/dos.php
        deleted file mode 100644
        index f466a3c..0000000
        --- a/vendor/easybook/geshi/geshi/dos.php
        +++ /dev/null
        @@ -1,226 +0,0 @@
        - 'DOS',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    //DOS comment lines
        -    'COMMENT_REGEXP' => array(
        -        1 => "/^\s*@?REM\b.*$/mi",
        -        2 => "/^\s*::.*$/m",
        -        3 => "/\^./"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        /* Flow control keywords */
        -        1 => array(
        -            'if', 'else', 'goto', 'shift',
        -            'for', 'in', 'do',
        -            'call', 'exit'
        -            ),
        -        /* IF statement keywords */
        -        2 => array(
        -            'not', 'exist', 'errorlevel',
        -            'defined',
        -            'equ', 'neq', 'lss', 'leq', 'gtr', 'geq'
        -            ),
        -        /* Internal commands */
        -        3 => array(
        -            'cd', 'md', 'rd', 'chdir', 'mkdir', 'rmdir', 'dir',
        -            'del', 'copy', 'move', 'ren', 'rename',
        -            'echo',
        -            'setlocal', 'endlocal', 'set',
        -            'pause',
        -            'pushd', 'popd', 'title', 'verify'
        -            ),
        -        /* Special files */
        -        4 => array(
        -            'prn', 'nul', 'lpt3', 'lpt2', 'lpt1', 'con',
        -            'com4', 'com3', 'com2', 'com1', 'aux'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '@', '%', '!', '|', '<', '>', '&'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #00b100; font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #b1b100; font-weight: bold;',
        -            4 => 'color: #0000ff; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #b100b1; font-style: italic;',
        -            3 => 'color: #33cc33;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #ff0000; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #33cc33;',
        -            1 => 'color: #33cc33;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #b100b1; font-weight: bold;',
        -            1 => 'color: #448844;',
        -            2 => 'color: #448888;',
        -            3 => 'color: #448888;'
        -            )
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'URLS' => array(
        -        1 => 'http://www.ss64.com/nt/{FNAMEL}.html',
        -        2 => 'http://www.ss64.com/nt/{FNAMEL}.html',
        -        3 => 'http://www.ss64.com/nt/{FNAMEL}.html',
        -        4 => 'http://www.ss64.com/nt/{FNAMEL}.html'
        -        ),
        -    'REGEXPS' => array(
        -        /* Label */
        -        0 => array(
        -/*            GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((? '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((? '\\2',
        -            GESHI_MODIFIERS => 'si',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -        ),
        -        /* Variable assignement */
        -        1 => array(
        -/*            GESHI_SEARCH => '(SET[\s]+(?si:\/A[\s]+|\/P[\s]+|))([^=\s\n]+)([\s]*=)',*/
        -            GESHI_SEARCH => '(SET\s+(?si:\\/A\s+|\\/P\s+)?)([^=\n]+)(\s*=)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'si',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -        /* Arguments or variable evaluation */
        -        2 => array(
        -/*            GESHI_SEARCH => '(%)([\d*]|[^%\s]*(?=%))((? '(!(?:!(?=[a-z0-9]))?)([\d*]|(?:~[adfnpstxz]*(?:$\w+:)?)?[a-z0-9](?!\w)|[^!>\n]*(?=!))((?)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'si',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -        /* Arguments or variable evaluation */
        -        3 => array(
        -/*            GESHI_SEARCH => '(%)([\d*]|[^%\s]*(?=%))((? '(%(?:%(?=[a-z0-9]))?)([\d*]|(?:~[adfnpstxz]*(?:$\w+:)?)?[a-z0-9](?!\w)|[^%\n]*(?=%))((? '\\2',
        -            GESHI_MODIFIERS => 'si',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER,
        -            'NUMBERS' => GESHI_NEVER
        -            ),
        -        'KEYWORDS' => array(
        -            1 => array(
        -                'DISALLOWED_BEFORE' => '(? array(
        -                'DISALLOWED_BEFORE' => '(? array(
        -                'DISALLOWED_BEFORE' => '(? array(
        -                'DISALLOWED_BEFORE' => '(? 'dot',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'URL', 'arrowhead', 'arrowsize', 'arrowtail', 'bb', 'bgcolor', 'bottomlabel',
        -            'center', 'clusterrank', 'color', 'comment', 'constraint', 'decorate',
        -            'dir', 'distortion', 'fillcolor', 'fixedsize', 'fontcolor',
        -            'fontname', 'fontsize', 'group', 'headclip', 'headlabel', 'headport',
        -            'height', 'id', 'label', 'labelangle', 'labeldistance', 'labelfontcolor',
        -            'labelfontname', 'labelfontsize', 'layer', 'layers', 'margin', 'mclimit',
        -            'minlen', 'nodesep', 'nslimit', 'ordering', 'orientation', 'page',
        -            'pagedir', 'peripheries', 'port_label_distance', 'quantum', 'rank', 'rankdir',
        -            'ranksep', 'ratio', 'regular', 'rotate', 'samehead', 'sametail', 'searchsize',
        -            'shape', 'shapefile', 'showboxes', 'sides', 'size', 'skew', 'style',
        -            'tailclip', 'taillabel', 'tailport', 'toplabel', 'weight', 'width'
        -            ),
        -        2 => array(
        -            'node', 'graph', 'digraph', 'strict', 'edge', 'subgraph'
        -            ),
        -        3 => array(
        -            'Mcircle', 'Mdiamond', 'Mrecord', 'Msquare', 'auto', 'back', 'bold',
        -            'both', 'box', 'circle', 'compress', 'dashed', 'diamond', 'dot',
        -            'dotted', 'doublecircle', 'doubleoctagon', 'egg', 'ellipse', 'epsf',
        -            'false', 'fill', 'filled', 'forward', 'global', 'hexagon', 'house',
        -            'inv', 'invdot', 'invhouse', 'invis', 'invodot', 'invtrapezium',
        -            'invtriangle', 'local', 'max', 'min', 'none', 'normal', 'octagon',
        -            'odot', 'out', 'parallelogram', 'plaintext', 'polygon', 'record',
        -            'same', 'solid', 'trapezium', 'triangle', 'tripleoctagon', 'true'
        -            ),
        -        4 => array(
        -            'aliceblue', 'antiquewhite', 'aquamarine', 'azure', 'beige', 'bisque', 'black',
        -            'blanchedalmond', 'blue', 'blueviolet', 'brown', 'burlywood', 'cadetblue',
        -            'chartreuse', 'chocolate', 'coral', 'cornflowerblue', 'cornsilk', 'crimson',
        -            'cyan', 'darkgoldenrod', 'darkgreen', 'darkkhaki', 'darkolivegreen',
        -            'darkorange', 'darkorchid', 'darksalmon', 'darkseagreen', 'darkslateblue',
        -            'darkslategray', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue',
        -            'dimgray', 'dodgerblue', 'firebrick', 'forestgreen', 'gainsboro', 'ghostwhite',
        -            'gold', 'goldenrod', 'gray', 'green', 'greenyellow', 'honeydew', 'hotpink',
        -            'indianred', 'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush',
        -            'lawngreen', 'lemonchiffon', 'lightblue', 'lightcyan', 'lightgoldenrod',
        -            'lightgoldenrodyellow', 'lightgray', 'lightpink', 'lightsalmon',
        -            'lightseagreen', 'lightskyblue', 'lightslateblue', 'lightslategray',
        -            'lightyellow', 'limegreen', 'linen', 'magenta', 'maroon', 'mediumaquamarine',
        -            'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen',
        -            'mediumslateblue', 'mediumspringgreen', 'mediumturquoise', 'mediumvioletred',
        -            'midnightblue', 'mintcream', 'mistyrose', 'moccasin', 'navajowhite', 'navy',
        -            'navyblue', 'oldlace', 'olivedrab', 'oralwhite', 'orange', 'orangered',
        -            'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise', 'palevioletred',
        -            'papayawhip', 'peachpuff', 'peru', 'pink', 'plum', 'powderblue', 'purple',
        -            'red', 'rosybrown', 'royalblue', 'saddlebrown', 'salmon', 'salmon2', 'sandybrown',
        -            'seagreen', 'seashell', 'sienna', 'skyblue', 'slateblue', 'slategray', 'snow',
        -            'springgreen', 'steelblue', 'tan', 'thistle', 'tomato', 'turquoise', 'violet',
        -            'violetred', 'wheat', 'white', 'whitesmoke', 'yellow', 'yellowgreen'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '[', ']', '{', '}', '-', '+', '*', '/', '<', '>', '!', '~', '%', '&', '|', '='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000066;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #993333;',
        -            4 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #339933;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #af624d; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => true,
        -        2 => true,
        -        3 => true
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/e.php b/vendor/easybook/geshi/geshi/e.php
        deleted file mode 100644
        index aacc001..0000000
        --- a/vendor/easybook/geshi/geshi/e.php
        +++ /dev/null
        @@ -1,207 +0,0 @@
        - 'E',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array('/**' => '*/'), // Note: This is method doc, not a general comment syntax.
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -
        -    // FIXME: The escaping inside ` is actually doubling of any interior `, $, or @ -- backslash is NOT special
        -    'QUOTEMARKS' => array('\'', '"', '`'),
        -    'ESCAPE_CHAR' => '\\',
        -
        -    'KEYWORDS' => array(
        -        // builtin control structures
        -        1 => array(
        -            'accum', 'break', 'try', 'continue', 'if', 'while', 'for', 'switch'
        -            ),
        -
        -        // control structures subsidiary keywords
        -        2 => array(
        -            'catch', 'else', 'finally', 'in', 'exit'
        -            ),
        -
        -        // named operators
        -        3 => array(
        -            'fn', 'via'
        -            ),
        -
        -        // variable/function/object definers
        -        4 => array(
        -            'def', 'bind', 'var'
        -            ),
        -
        -        // object definition subsidiary keywords
        -        5 => array(
        -            'extends', 'as', 'implements', 'guards', 'match', 'to', 'method'
        -            ),
        -
        -        // builtin nouns in safeEnv
        -        6 => array(
        -            'null', 'false', 'true', 'throw', '__loop', '__makeList',
        -            '__makeMap', '__makeProtocolDesc', '__makeMessageDesc',
        -            '__makeParamDesc', 'any', 'void', 'boolean', '__makeOrderedSpace',
        -            'ValueGuard', '__MatchContext', 'require', '__makeVerbFacet', 'NaN',
        -            'Infinity', '__identityFunc', '__makeInt', '__makeFinalSlot',
        -            '__makeVarSlot', '__makeGuardedSlot', '__makeGuard', '__makeTwine',
        -            '__makeSourceSpan', '__auditedBy', 'Guard', 'near', 'pbc',
        -            'PassByCopy', 'DeepPassByCopy', 'Data', 'Persistent', 'DeepFrozen',
        -            'int', 'float64', 'char', 'String', 'Twine', 'TextWriter', 'List',
        -            'Map', 'nullOk', 'Tuple', '__Portrayal', 'notNull', 'vow', 'rcvr',
        -            'SturdyRef', 'simple__quasiParser', 'twine__quasiParser',
        -            'rx__quasiParser', 'e__quasiParser', 'epatt__quasiParser',
        -            'sml__quasiParser', 'term__quasiParser', 'traceln', '__equalizer',
        -            '__comparer', 'Ref', 'E', 'promiseAllFulfilled', 'EIO', 'help',
        -            'safeScope', '__eval', 'resource__uriGetter', 'type__uriGetter',
        -            'import__uriGetter', 'elib__uriGetter', 'elang__uriGetter',
        -            'opaque__uriGetter'
        -            ),
        -
        -        // builtin nouns in privilegedEnv
        -        7 => array(
        -            'file__uriGetter', 'fileURL__uriGetter', 'jar__uriGetter',
        -            'http__uriGetter', 'ftp__uriGetter', 'gopher__uriGetter',
        -            'news__uriGetter', 'cap__uriGetter', 'makeCommand', 'stdout',
        -            'stderr', 'stdin', 'print', 'println', 'interp', 'entropy', 'timer',
        -            'introducer', 'identityMgr', 'makeSturdyRef', 'timeMachine',
        -            'unsafe__uriGetter', 'currentVat', 'rune', 'awt__uriGetter',
        -            'swing__uriGetter', 'JPanel__quasiParser', 'swt__uriGetter',
        -            'currentDisplay', 'swtGrid__quasiParser', 'swtGrid`',
        -            'privilegedScope'
        -            ),
        -
        -        // reserved keywords
        -        8 => array(
        -            'abstract', 'an', 'assert', 'attribute', 'be', 'begin', 'behalf',
        -            'belief', 'believe', 'believes', 'case', 'class', 'const',
        -            'constructor', 'declare', 'default', 'define', 'defmacro',
        -            'delicate', 'deprecated', 'dispatch', 'do', 'encapsulate',
        -            'encapsulated', 'encapsulates', 'end', 'ensure', 'enum', 'eventual',
        -            'eventually', 'export', 'facet', 'forall', 'function', 'given',
        -            'hidden', 'hides', 'inline', 'is', 'know', 'knows', 'lambda', 'let',
        -            'methods', 'module', 'namespace', 'native', 'obeys', 'octet',
        -            'oneway', 'operator', 'package', 'private', 'protected', 'public',
        -            'raises', 'reliance', 'reliant', 'relies', 'rely', 'reveal', 'sake',
        -            'signed', 'static', 'struct', 'suchthat', 'supports', 'suspect',
        -            'suspects', 'synchronized', 'this', 'transient', 'truncatable',
        -            'typedef', 'unsigned', 'unum', 'uses', 'using', 'utf8', 'utf16',
        -            'virtual', 'volatile', 'wstring'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '%', '=', '<', '>', '!', '^', '&', '|', '?', ':', ';', ','
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #b1b100;',
        -            3 => 'color: #b1b100;',
        -            4 => 'color: #b1b100;',
        -            5 => 'color: #b1b100;',
        -            6 => 'color: #b1b100;',
        -            7 => 'color: #b1b100;',
        -            8 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(
        -        1 => 'http://wiki.erights.org/wiki/{FNAME}',
        -        2 => 'http://wiki.erights.org/wiki/{FNAME}',
        -        3 => 'http://wiki.erights.org/wiki/{FNAME}',
        -        4 => 'http://wiki.erights.org/wiki/{FNAME}',
        -        5 => 'http://wiki.erights.org/wiki/{FNAME}',
        -        6 => 'http://wiki.erights.org/wiki/{FNAME}',
        -        7 => 'http://wiki.erights.org/wiki/{FNAME}',
        -        8 => 'http://wiki.erights.org/wiki/{FNAME}'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '<-',
        -        3 => '::'
        -        ),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/ecmascript.php b/vendor/easybook/geshi/geshi/ecmascript.php
        deleted file mode 100644
        index cae1192..0000000
        --- a/vendor/easybook/geshi/geshi/ecmascript.php
        +++ /dev/null
        @@ -1,209 +0,0 @@
        - 'ECMAScript',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    // Regular Expression Literals
        -    'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{2}#",
        -        //Hexadecimal Char Specs
        -        3 => "#\\\\u[\da-fA-F]{4}#",
        -        //Hexadecimal Char Specs
        -        4 => "#\\\\U[\da-fA-F]{8}#",
        -        //Octal Char Specs
        -        5 => "#\\\\[0-7]{1,3}#"
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array( // Reserved literals
        -            'false', 'true',
        -            'null'
        -            ),
        -        2 => array( // Main keywords
        -            'break', 'case', 'catch', 'continue', 'default', 'delete', 'do', 'else',
        -            'finally', 'for', 'function', 'if', 'in', 'instanceof', 'new', 'return',
        -            'switch', 'this', 'throw', 'try', 'typeof', 'var', 'void', 'while',
        -            'with'
        -            ),
        -        3 => array( // Extra keywords or keywords reserved for future use
        -            'abstract', 'as', 'boolean', 'byte', 'char', 'class', 'const', 'debugger',
        -            'double', 'enum', 'export', 'extends', 'final', 'float', 'goto', 'implements',
        -            'import', 'int', 'interface', 'is', 'long', 'native', 'namespace', 'package',
        -            'private', 'protected', 'public', 'short', 'static', 'super', 'synchronized', 'throws',
        -            'transient', 'use', 'volatile'
        -            ),
        -        4 => array( // Operators
        -            'get', 'set'
        -            ),
        -        5 => array( // Built-in object classes
        -            'Array', 'Boolean', 'Date', 'EvalError', 'Error', 'Function', 'Math', 'Number',
        -            'Object', 'RangeError', 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError'
        -            ),
        -        6 => array( // Global properties
        -            'Infinity', 'NaN', 'undefined'
        -            ),
        -        7 => array( // Global methods
        -            'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent',
        -            'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt',
        -            // The escape and unescape functions do not work properly for non-ASCII characters and have been deprecated.
        -            // In JavaScript 1.5 and later, use encodeURI, decodeURI, encodeURIComponent, and decodeURIComponent.
        -            'escape', 'unescape'
        -            ),
        -        8 => array( // Function's arguments
        -            'arguments'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}',
        -        '+', '-', '*', '/', '%',
        -        '!', '.', '&', '|', '^',
        -        '<', '>', '=', '~',
        -        ',', ';', '?', ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #009999;',
        -            2 => 'color: #1500C8;',
        -            3 => 'color: #1500C8;',
        -            4 => 'color: #1500C8;',
        -            5 => 'color: #1500C8;',
        -            6 => 'color: #1500C8;',
        -            7 => 'color: #1500C8;',
        -            8 => 'color: #1500C8;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #CC0000;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #3366CC;',
        -            1 => 'color: #3366CC;',
        -            2 => 'color: #3366CC;',
        -            3 => 'color: #3366CC;',
        -            4 => 'color: #3366CC;',
        -            5 => 'color: #3366CC;',
        -            'HARD' => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #008800;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #9900FF;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF00FF;',
        -            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #FF00FF;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #FF00FF;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #FF00FF;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color: #FF00FF;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color: #FF00FF;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color: #FF00FF;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color: #FF00FF;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #660066;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => '',
        -        8 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/eiffel.php b/vendor/easybook/geshi/geshi/eiffel.php
        deleted file mode 100644
        index 807d23f..0000000
        --- a/vendor/easybook/geshi/geshi/eiffel.php
        +++ /dev/null
        @@ -1,393 +0,0 @@
        - 'Eiffel',
        -    'COMMENT_SINGLE' => array(1 => '--'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '%',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'separate',
        -            'invariant',
        -            'inherit',
        -            'indexing',
        -            'feature',
        -            'expanded',
        -            'deferred',
        -            'class'
        -            ),
        -        2 => array(
        -            'xor',
        -            'when',
        -            'variant',
        -            'until',
        -            'unique',
        -            'undefine',
        -            'then',
        -            'strip',
        -            'select',
        -            'retry',
        -            'rescue',
        -            'require',
        -            'rename',
        -            'reference',
        -            'redefine',
        -            'prefix',
        -            'or',
        -            'once',
        -            'old',
        -            'obsolete',
        -            'not',
        -            'loop',
        -            'local',
        -            'like',
        -            'is',
        -            'inspect',
        -            'infix',
        -            'include',
        -            'implies',
        -            'if',
        -            'frozen',
        -            'from',
        -            'external',
        -            'export',
        -            'ensure',
        -            'end',
        -            'elseif',
        -            'else',
        -            'do',
        -            'creation',
        -            'create',
        -            'check',
        -            'as',
        -            'and',
        -            'alias',
        -            'agent'
        -            ),
        -        3 => array(
        -            'Void',
        -            'True',
        -            'Result',
        -            'Precursor',
        -            'False',
        -            'Current'
        -            ),
        -        4 => array(
        -            'UNIX_SIGNALS',
        -            'UNIX_FILE_INFO',
        -            'UNBOUNDED',
        -            'TWO_WAY_TREE_CURSOR',
        -            'TWO_WAY_TREE',
        -            'TWO_WAY_SORTED_SET',
        -            'TWO_WAY_LIST',
        -            'TWO_WAY_CURSOR_TREE',
        -            'TWO_WAY_CIRCULAR',
        -            'TWO_WAY_CHAIN_ITERATOR',
        -            'TUPLE',
        -            'TREE',
        -            'TRAVERSABLE',
        -            'TO_SPECIAL',
        -            'THREAD_CONTROL',
        -            'THREAD_ATTRIBUTES',
        -            'THREAD',
        -            'TABLE',
        -            'SUBSET',
        -            'STRING_HANDLER',
        -            'STRING',
        -            'STREAM',
        -            'STORABLE',
        -            'STD_FILES',
        -            'STACK',
        -            'SPECIAL',
        -            'SORTED_TWO_WAY_LIST',
        -            'SORTED_STRUCT',
        -            'SORTED_LIST',
        -            'SINGLE_MATH',
        -            'SET',
        -            'SEQUENCE',
        -            'SEQ_STRING',
        -            'SEMAPHORE',
        -            'ROUTINE',
        -            'RESIZABLE',
        -            'RECURSIVE_TREE_CURSOR',
        -            'RECURSIVE_CURSOR_TREE',
        -            'REAL_REF',
        -            'REAL',
        -            'RAW_FILE',
        -            'RANDOM',
        -            'QUEUE',
        -            'PROXY',
        -            'PROFILING_SETTING',
        -            'PROCEDURE',
        -            'PRIORITY_QUEUE',
        -            'PRIMES',
        -            'PRECOMP',
        -            'POINTER_REF',
        -            'POINTER',
        -            'PLATFORM',
        -            'PLAIN_TEXT_FILE',
        -            'PATH_NAME',
        -            'PART_SORTED_TWO_WAY_LIST',
        -            'PART_SORTED_SET',
        -            'PART_SORTED_LIST',
        -            'PART_COMPARABLE',
        -            'OPERATING_ENVIRONMENT',
        -            'ONCE_CONTROL',
        -            'OBJECT_OWNER',
        -            'OBJECT_CONTROL',
        -            'NUMERIC',
        -            'NONE',
        -            'MUTEX',
        -            'MULTI_ARRAY_LIST',
        -            'MULTAR_LIST_CURSOR',
        -            'MEMORY',
        -            'MEM_INFO',
        -            'MEM_CONST',
        -            'MATH_CONST',
        -            'LIST',
        -            'LINKED_TREE_CURSOR',
        -            'LINKED_TREE',
        -            'LINKED_STACK',
        -            'LINKED_SET',
        -            'LINKED_QUEUE',
        -            'LINKED_PRIORITY_QUEUE',
        -            'LINKED_LIST_CURSOR',
        -            'LINKED_LIST',
        -            'LINKED_CURSOR_TREE',
        -            'LINKED_CIRCULAR',
        -            'LINKABLE',
        -            'LINEAR_ITERATOR',
        -            'LINEAR',
        -            'ITERATOR',
        -            'IO_MEDIUM',
        -            'INTERNAL',
        -            'INTEGER_REF',
        -            'INTEGER_INTERVAL',
        -            'INTEGER',
        -            'INFINITE',
        -            'INDEXABLE',
        -            'IDENTIFIED_CONTROLLER',
        -            'IDENTIFIED',
        -            'HIERARCHICAL',
        -            'HEAP_PRIORITY_QUEUE',
        -            'HASHABLE',
        -            'HASH_TABLE_CURSOR',
        -            'HASH_TABLE',
        -            'GENERAL',
        -            'GC_INFO',
        -            'FUNCTION',
        -            'FORMAT_INTEGER',
        -            'FORMAT_DOUBLE',
        -            'FIXED_TREE',
        -            'FIXED_LIST',
        -            'FIXED',
        -            'FINITE',
        -            'FILE_NAME',
        -            'FILE',
        -            'FIBONACCI',
        -            'EXECUTION_ENVIRONMENT',
        -            'EXCEPTIONS',
        -            'EXCEP_CONST',
        -            'DYNAMIC_TREE',
        -            'DYNAMIC_LIST',
        -            'DYNAMIC_CIRCULAR',
        -            'DYNAMIC_CHAIN',
        -            'DOUBLE_REF',
        -            'DOUBLE_MATH',
        -            'DOUBLE',
        -            'DISPENSER',
        -            'DIRECTORY_NAME',
        -            'DIRECTORY',
        -            'DECLARATOR',
        -            'DEBUG_OUTPUT',
        -            'CURSOR_TREE_ITERATOR',
        -            'CURSOR_TREE',
        -            'CURSOR_STRUCTURE',
        -            'CURSOR',
        -            'COUNTABLE_SEQUENCE',
        -            'COUNTABLE',
        -            'CONTAINER',
        -            'CONSOLE',
        -            'CONDITION_VARIABLE',
        -            'COMPARABLE_STRUCT',
        -            'COMPARABLE_SET',
        -            'COMPARABLE',
        -            'COMPACT_TREE_CURSOR',
        -            'COMPACT_CURSOR_TREE',
        -            'COLLECTION',
        -            'CIRCULAR_CURSOR',
        -            'CIRCULAR',
        -            'CHARACTER_REF',
        -            'CHARACTER',
        -            'CHAIN',
        -            'CELL',
        -            'BOX',
        -            'BOUNDED_STACK',
        -            'BOUNDED_QUEUE',
        -            'BOUNDED',
        -            'BOOLEAN_REF',
        -            'BOOLEAN',
        -            'BOOL_STRING',
        -            'BIT_REF',
        -            'BINARY_TREE',
        -            'BINARY_SEARCH_TREE_SET',
        -            'BINARY_SEARCH_TREE',
        -            'BILINEAR',
        -            'BI_LINKABLE',
        -            'BASIC_ROUTINES',
        -            'BAG',
        -            'ASCII',
        -            'ARRAYED_TREE',
        -            'ARRAYED_STACK',
        -            'ARRAYED_QUEUE',
        -            'ARRAYED_LIST_CURSOR',
        -            'ARRAYED_LIST',
        -            'ARRAYED_CIRCULAR',
        -            'ARRAY2',
        -            'ARRAY',
        -            'ARGUMENTS',
        -            'ANY',
        -            'ACTIVE'
        -            ),
        -        5 => array(
        -            'yes',
        -            'visible',
        -            'trace',
        -            'system',
        -            'root',
        -            'profile',
        -            'override_cluster',
        -            'object',
        -            'no',
        -            'multithreaded',
        -            'msil_generation_type',
        -            'line_generation',
        -            'library',
        -            'inlining_size',
        -            'inlining',
        -            'include_path',
        -            'il_verifiable',
        -            'exclude',
        -            'exception_trace',
        -            'dynamic_runtime',
        -            'dotnet_naming_convention',
        -            'disabled_debug',
        -            'default',
        -            'debug',
        -            'dead_code_removal',
        -            'console_application',
        -            'cluster',
        -            'cls_compliant',
        -            'check_vape',
        -            'assertion',
        -            'array_optimization',
        -            'all',
        -            'address_expression'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', '|', ':',
        -        '(', ')', '{', '}', '[', ']', '#'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => true,
        -        5 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0600FF; font-weight: bold;',
        -            2 => 'color: #0600FF; font-weight: bold;',
        -            3 => 'color: #800080;',
        -            4 => 'color: #800000',
        -            5 => 'color: #603000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000; font-style: italic;',
        -            'MULTI' => ''
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #005070; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0080A0;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #000060;',
        -            2 => 'color: #000050;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #600000;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => 'http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+{FNAMEL}&btnI=I%27m+Feeling+Lucky',
        -        5 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/email.php b/vendor/easybook/geshi/geshi/email.php
        deleted file mode 100644
        index 4d26c4f..0000000
        --- a/vendor/easybook/geshi/geshi/email.php
        +++ /dev/null
        @@ -1,221 +0,0 @@
        - 'eMail (mbox)',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'HTTP', 'SMTP', 'ASMTP', 'ESMTP'
        -            ),
        -        2 => array(
        -            'Authentication-Results','Comment','Content-Description','Content-Type',
        -            'Content-Disposition','Content-Transfer-Encoding','Delivered-To',
        -            'Dkim-Signature','Domainkey-Signature','In-Reply-To','Message-Id',
        -            'MIME-Version','OpenPGP','Received','Received-SPF','References',
        -            'Reply-To', 'Resend-From','Resend-To','Return-Path','User-Agent'
        -            ),
        -        3 => array(
        -            'Date','From','Sender','Subject','To','CC'
        -            ),
        -        4 => array(
        -            'by', 'for', 'from', 'id', 'with'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        ':', ';', '<', '>', '[', ']'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => false,
        -        3 => false,
        -        4 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000FF; font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #800000; font-weight: bold;',
        -            4 => 'font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => 'color: #000040;',
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #0000FF;',
        -            3 => 'color: #008000;',
        -            4 => 'color: #0000FF; font-weight: bold;',
        -            5 => 'font-weight: bold;',
        -            6 => 'color: #400080;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        // Non-Standard-Header
        -        1 => array(
        -            GESHI_SEARCH => "(?<=\A\x20|\n)x-[a-z0-9\-]*(?=\s*:|\s*<)",
        -            GESHI_REPLACE => "\\0",
        -            GESHI_MODIFIERS => "smi",
        -            GESHI_BEFORE => "",
        -            GESHI_AFTER => ""
        -            ),
        -        //Email-Adresses or Mail-IDs
        -        2 => array(
        -            GESHI_SEARCH => "\b(?\"?)[\w\.\-]+\k@(?!-)[\w\-]+(? "\\0",
        -            GESHI_MODIFIERS => "mi",
        -            GESHI_BEFORE => "",
        -            GESHI_AFTER => ""
        -            ),
        -        //Date values in RFC format
        -        3 => array(
        -            GESHI_SEARCH => "\b(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s+\d\d?\s+" .
        -                "(?:Jan|Feb|Mar|apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+" .
        -                "\d{4}\s+\d\d?:\d\d:\d\d\s+[+\-]\d{4}(?:\s+\(\w+\))?",
        -            GESHI_REPLACE => "\\0",
        -            GESHI_MODIFIERS => "mi",
        -            GESHI_BEFORE => "",
        -            GESHI_AFTER => ""
        -            ),
        -        //IP addresses
        -        4 => array(
        -            GESHI_SEARCH => "(?<=\s)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=\s)|".
        -                "(?<=\[)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=\])|".
        -                "(?<==)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=<)|".
        -
        -                "(?<=\s)(?:[a-f\d]{1,4}\:)+(?:[a-f\d]{0,4})?(?:\:[a-f\d]{1,4})+(?=\s)|".
        -                "(?<=\[)(?:[a-f\d]{1,4}\:)+(?:[a-f\d]{0,4})?(?:\:[a-f\d]{1,4})+(?=\])|".
        -                "(?<==)(?:[a-f\d]{1,4}\:)+(?:[a-f\d]{0,4})?(?:\:[a-f\d]{1,4})+(?=<)|".
        -
        -                "(?<=\s)\:(?:\:[a-f\d]{1,4})+(?=\s)|".
        -                "(?<=\[)\:(?:\:[a-f\d]{1,4})+(?=\])|".
        -                "(?<==)\:(?:\:[a-f\d]{1,4})+(?=<)|".
        -
        -                "(?<=\s)(?:[a-f\d]{1,4}\:)+\:(?=\s)|".
        -                "(?<=\[)(?:[a-f\d]{1,4}\:)+\:(?=\])|".
        -                "(?<==)(?:[a-f\d]{1,4}\:)+\:(?=<)",
        -            GESHI_REPLACE => "\\0",
        -            GESHI_MODIFIERS => "i",
        -            GESHI_BEFORE => "",
        -            GESHI_AFTER => ""
        -            ),
        -        //Field-Assignments
        -        5 => array(
        -            GESHI_SEARCH => "(?<=\s)[A-Z0-9\-\.]+(?==(?:$|\s$|[^\s=]))",
        -            GESHI_REPLACE => "\\0",
        -            GESHI_MODIFIERS => "mi",
        -            GESHI_BEFORE => "",
        -            GESHI_AFTER => ""
        -            ),
        -        //MIME type
        -        6 => array(
        -            GESHI_SEARCH => "(?<=\s)(?:audio|application|image|multipart|text|".
        -                "video|x-[a-z0-9\-]+)\/[a-z0-9][a-z0-9\-]*(?=\s|<|$)",
        -            GESHI_REPLACE => "\\0",
        -            GESHI_MODIFIERS => "m",
        -            GESHI_BEFORE => "",
        -            GESHI_AFTER => ""
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => "/(?P^)[A-Za-z][a-zA-Z0-9\-]*\s*:\s*(?:.|(?=\n\s)\n)*(?P$)/m"
        -    ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            2 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\A\x20|\n)',
        -                'DISALLOWED_AFTER' => '(?=\s*:)',
        -            ),
        -            3 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\A\x20|\n)',
        -                'DISALLOWED_AFTER' => '(?=\s*:)',
        -            ),
        -            4 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\s)',
        -                'DISALLOWED_AFTER' => '(?=\s|\b)',
        -            )
        -        ),
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER,
        -            'COMMENTS' => GESHI_NEVER,
        -            'NUMBERS' => GESHI_NEVER
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/epc.php b/vendor/easybook/geshi/geshi/epc.php
        deleted file mode 100644
        index 6519943..0000000
        --- a/vendor/easybook/geshi/geshi/epc.php
        +++ /dev/null
        @@ -1,153 +0,0 @@
        - 'EPC',
        -    'COMMENT_SINGLE' => array('//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //[Sections]
        -        //1 => "/^\\[.*\\]/"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(
        -        0 => '"',
        -        1 => '$'
        -        ),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'if', 'then', 'else', 'endif',
        -            'and', 'or', 'xor', 'hysteresis'
        -            ),
        -        2 => array(
        -            'read', 'write', 'event',
        -            'gettime', 'settime', 'getdate', 'setdate', 'gettimedate', 'settimedate',
        -            'hour', 'minute', 'second', 'changehour', 'changeminute', 'changesecond',
        -            'date', 'month', 'day', 'dayofweek', 'sun', 'azimuth', 'elevation',
        -            'sunrisehour', 'sunriseminute', 'sunsethour', 'sunsetminute',
        -            'wtime', 'htime', 'mtime', 'stime',
        -            'cwtime', 'chtime', 'cmtime', 'cstime',
        -            'delay', 'after', 'cycle',
        -            'readflash', 'writeflash',
        -            'abs', 'acos', 'asin', 'atan', 'cos', 'ceil', 'average', 'exp', 'floor',
        -            'log', 'max', 'min', 'mod', 'pow', 'sqrt', 'sin', 'tan', 'change', 'convert',
        -            'eval', 'systemstart', 'random', 'comobject', 'sleep', 'scene', 'storescene', 'callscene',
        -            'find', 'stringcast', 'stringset', 'stringformat', 'split', 'size',
        -            'readrs232'. 'sendrs232', 'address', 'readknx',
        -            'readudp', 'sendudp', 'connecttcp', 'closetcp', 'readtcp', 'sendtcp',
        -            'resolve', 'sendmail',
        -            'button', 'webbutton', 'chart', 'webchart', 'webdisplay', 'getslider', 'pshifter', 'mpshifter',
        -            'getpslider', 'mbutton', 'mbbutton', 'mchart', 'mpchart', 'mpbutton', 'pdisplay', 'pchart',
        -            'pbutton', 'setslider', 'setpslider', 'slider', 'pslider', 'page', 'line', 'header',
        -            'footer', 'none', 'plink', 'link', 'frame', 'dframe'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array(
        -            '%', 'b01',
        -            ),
        -        1 => array(
        -            '+', '-', '==', '>=', '=<',
        -            ),
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #e63ec3;',
        -            2 => 'color: #e63ec3;'
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #0000ff;'
        -            //1 => 'color: #ffa500;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            1 => 'color: #000099;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #8a0808;',
        -            1 => 'color: #6e6e6e;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0b610b;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #0b610b;',
        -            1 => 'color: #e63ec3;'
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'color: #0b610b;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        // Numbers, e.g. 255u08
        -        1 => "[0-9]*[subf][0136][12468]"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'COMMENTS' => array(
        -            'DISALLOWED_BEFORE' => '$'
        -        ),
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?  "(?![\.\-a-zA-Z0-9_%=\\/])"
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/erlang.php b/vendor/easybook/geshi/geshi/erlang.php
        deleted file mode 100644
        index d9e2e7e..0000000
        --- a/vendor/easybook/geshi/geshi/erlang.php
        +++ /dev/null
        @@ -1,440 +0,0 @@
        -'
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array(
        -    'LANG_NAME' => 'Erlang',
        -    'COMMENT_SINGLE' => array(1 => '%'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'HARDQUOTE' => array("'", "'"),
        -    'HARDESCAPE' => array("'", "\\"),
        -    'HARDCHAR' => "\\",
        -    'ESCAPE_CHAR' => '\\',
        -    'NUMBERS' => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        //Control flow keywrods
        -        1 => array(
        -            'after', 'andalso', 'begin', 'case', 'catch', 'end', 'fun', 'if',
        -            'of', 'orelse', 'receive', 'try', 'when', 'query'
        -            ),
        -        //Binary operators
        -        2 => array(
        -            'and', 'band', 'bnot', 'bor', 'bsl', 'bsr', 'bxor', 'div', 'not',
        -            'or', 'rem', 'xor'
        -            ),
        -        3 => array(
        -            'abs', 'alive', 'apply', 'atom_to_list', 'binary_to_list',
        -            'binary_to_term', 'concat_binary', 'date', 'disconnect_node',
        -            'element', 'erase', 'exit', 'float', 'float_to_list', 'get',
        -            'get_keys', 'group_leader', 'halt', 'hd', 'integer_to_list',
        -            'is_alive', 'length', 'link', 'list_to_atom', 'list_to_binary',
        -            'list_to_float', 'list_to_integer', 'list_to_pid', 'list_to_tuple',
        -            'load_module', 'make_ref', 'monitor_node', 'node', 'nodes', 'now',
        -            'open_port', 'pid_to_list', 'process_flag', 'process_info',
        -            'process', 'put', 'register', 'registered', 'round', 'self',
        -            'setelement', 'size', 'spawn', 'spawn_link', 'split_binary',
        -            'statistics', 'term_to_binary', 'throw', 'time', 'tl', 'trunc',
        -            'tuple_to_list', 'unlink', 'unregister', 'whereis'
        -            ),
        -        // Built-In Functions
        -        4 => array(
        -            'atom', 'binary', 'constant', 'function', 'integer', 'is_atom',
        -            'is_binary', 'is_constant', 'is_function', 'is_integer', 'is_list',
        -            'is_number', 'is_pid', 'is_reference', 'is_record', 'list',
        -            'number', 'pid', 'ports', 'port_close', 'port_info', 'reference'
        -            ),
        -        // Erlang/OTP internal modules (scary one)
        -        5 => array(
        -            'alarm_handler', 'any', 'app', 'application', 'appmon', 'appup',
        -            'array', 'asn1ct', 'asn1rt', 'auth', 'base64', 'beam_lib', 'c',
        -            'calendar', 'code', 'common_test_app', 'compile', 'config',
        -            'corba', 'corba_object', 'cosEventApp', 'CosEventChannelAdmin',
        -            'CosEventChannelAdmin_ConsumerAdmin',
        -            'CosEventChannelAdmin_EventChannel',
        -            'CosEventChannelAdmin_ProxyPullConsumer',
        -            'CosEventChannelAdmin_ProxyPullSupplier',
        -            'CosEventChannelAdmin_ProxyPushConsumer',
        -            'CosEventChannelAdmin_ProxyPushSupplier',
        -            'CosEventChannelAdmin_SupplierAdmin', 'CosEventDomainAdmin',
        -            'CosEventDomainAdmin_EventDomain',
        -            'CosEventDomainAdmin_EventDomainFactory',
        -            'cosEventDomainApp', 'CosFileTransfer_Directory',
        -            'CosFileTransfer_File', 'CosFileTransfer_FileIterator',
        -            'CosFileTransfer_FileTransferSession',
        -            'CosFileTransfer_VirtualFileSystem',
        -            'cosFileTransferApp', 'CosNaming', 'CosNaming_BindingIterator',
        -            'CosNaming_NamingContext', 'CosNaming_NamingContextExt',
        -            'CosNotification', 'CosNotification_AdminPropertiesAdmin',
        -            'CosNotification_QoSAdmin', 'cosNotificationApp',
        -            'CosNotifyChannelAdmin_ConsumerAdmin',
        -            'CosNotifyChannelAdmin_EventChannel',
        -            'CosNotifyChannelAdmin_EventChannelFactory',
        -            'CosNotifyChannelAdmin_ProxyConsumer',
        -            'CosNotifyChannelAdmin_ProxyPullConsumer',
        -            'CosNotifyChannelAdmin_ProxyPullSupplier',
        -            'CosNotifyChannelAdmin_ProxyPushConsumer',
        -            'CosNotifyChannelAdmin_ProxyPushSupplier',
        -            'CosNotifyChannelAdmin_ProxySupplier',
        -            'CosNotifyChannelAdmin_SequenceProxyPullConsumer',
        -            'CosNotifyChannelAdmin_SequenceProxyPullSupplier',
        -            'CosNotifyChannelAdmin_SequenceProxyPushConsumer',
        -            'CosNotifyChannelAdmin_SequenceProxyPushSupplier',
        -            'CosNotifyChannelAdmin_StructuredProxyPullConsumer',
        -            'CosNotifyChannelAdmin_StructuredProxyPullSupplier',
        -            'CosNotifyChannelAdmin_StructuredProxyPushConsumer',
        -            'CosNotifyChannelAdmin_StructuredProxyPushSupplier',
        -            'CosNotifyChannelAdmin_SupplierAdmin',
        -            'CosNotifyComm_NotifyPublish', 'CosNotifyComm_NotifySubscribe',
        -            'CosNotifyFilter_Filter', 'CosNotifyFilter_FilterAdmin',
        -            'CosNotifyFilter_FilterFactory', 'CosNotifyFilter_MappingFilter',
        -            'cosProperty', 'CosPropertyService_PropertiesIterator',
        -            'CosPropertyService_PropertyNamesIterator',
        -            'CosPropertyService_PropertySet',
        -            'CosPropertyService_PropertySetDef',
        -            'CosPropertyService_PropertySetDefFactory',
        -            'CosPropertyService_PropertySetFactory', 'cosTime',
        -            'CosTime_TimeService', 'CosTime_TIO', 'CosTime_UTO',
        -            'CosTimerEvent_TimerEventHandler',
        -            'CosTimerEvent_TimerEventService', 'cosTransactions',
        -            'CosTransactions_Control', 'CosTransactions_Coordinator',
        -            'CosTransactions_RecoveryCoordinator', 'CosTransactions_Resource',
        -            'CosTransactions_SubtransactionAwareResource',
        -            'CosTransactions_Terminator', 'CosTransactions_TransactionFactory',
        -            'cover', 'cprof', 'cpu_sup', 'crashdump', 'crypto', 'crypto_app',
        -            'ct', 'ct_cover', 'ct_ftp', 'ct_master', 'ct_rpc', 'ct_snmp',
        -            'ct_ssh', 'ct_telnet', 'dbg', 'debugger', 'dets', 'dialyzer',
        -            'dict', 'digraph', 'digraph_utils', 'disk_log', 'disksup',
        -            'docb_gen', 'docb_transform', 'docb_xml_check', 'docbuilder_app',
        -            'driver_entry', 'edoc', 'edoc_doclet', 'edoc_extract',
        -            'edoc_layout', 'edoc_lib', 'edoc_run', 'egd', 'ei', 'ei_connect',
        -            'epmd', 'epp', 'epp_dodger', 'eprof', 'erl', 'erl_boot_server',
        -            'erl_call', 'erl_comment_scan', 'erl_connect', 'erl_ddll',
        -            'erl_driver', 'erl_error', 'erl_eterm', 'erl_eval',
        -            'erl_expand_records', 'erl_format', 'erl_global', 'erl_id_trans',
        -            'erl_internal', 'erl_lint', 'erl_malloc', 'erl_marshal',
        -            'erl_parse', 'erl_pp', 'erl_prettypr', 'erl_prim_loader',
        -            'erl_prim_loader_stub', 'erl_recomment', 'erl_scan',
        -            'erl_set_memory_block', 'erl_syntax', 'erl_syntax_lib', 'erl_tar',
        -            'erl_tidy', 'erlang', 'erlang_mode', 'erlang_stub', 'erlc',
        -            'erlsrv', 'error_handler', 'error_logger', 'erts_alloc',
        -            'erts_alloc_config', 'escript', 'et', 'et_collector',
        -            'et_selector', 'et_viewer', 'etop', 'ets', 'eunit', 'file',
        -            'file_sorter', 'filelib', 'filename', 'fixed', 'fprof', 'ftp',
        -            'gb_sets', 'gb_trees', 'gen_event', 'gen_fsm', 'gen_sctp',
        -            'gen_server', 'gen_tcp', 'gen_udp', 'gl', 'global', 'global_group',
        -            'glu', 'gs', 'heart', 'http', 'httpd', 'httpd_conf',
        -            'httpd_socket', 'httpd_util', 'i', 'ic', 'ic_c_protocol',
        -            'ic_clib', 'igor', 'inet', 'inets', 'init', 'init_stub',
        -            'instrument', 'int', 'interceptors', 'inviso', 'inviso_as_lib',
        -            'inviso_lfm', 'inviso_lfm_tpfreader', 'inviso_rt',
        -            'inviso_rt_meta', 'io', 'io_lib', 'kernel_app', 'lib', 'lists',
        -            'lname', 'lname_component', 'log_mf_h', 'make', 'math', 'megaco',
        -            'megaco_codec_meas', 'megaco_codec_transform',
        -            'megaco_edist_compress', 'megaco_encoder', 'megaco_flex_scanner',
        -            'megaco_tcp', 'megaco_transport', 'megaco_udp', 'megaco_user',
        -            'memsup', 'mnesia', 'mnesia_frag_hash', 'mnesia_registry',
        -            'mod_alias', 'mod_auth', 'mod_esi', 'mod_security',
        -            'Module_Interface', 'ms_transform', 'net_adm', 'net_kernel',
        -            'new_ssl', 'nteventlog', 'observer_app', 'odbc', 'orber',
        -            'orber_acl', 'orber_diagnostics', 'orber_ifr', 'orber_tc',
        -            'orddict', 'ordsets', 'os', 'os_mon', 'os_mon_mib', 'os_sup',
        -            'otp_mib', 'overload', 'packages', 'percept', 'percept_profile',
        -            'pg', 'pg2', 'pman', 'pool', 'prettypr', 'proc_lib', 'proplists',
        -            'public_key', 'qlc', 'queue', 'random', 'rb', 're', 'regexp',
        -            'registry', 'rel', 'release_handler', 'reltool', 'relup', 'rpc',
        -            'run_erl', 'run_test', 'runtime_tools_app', 'sasl_app', 'script',
        -            'seq_trace', 'sets', 'shell', 'shell_default', 'slave', 'snmp',
        -            'snmp_app', 'snmp_community_mib', 'snmp_framework_mib',
        -            'snmp_generic', 'snmp_index', 'snmp_notification_mib', 'snmp_pdus',
        -            'snmp_standard_mib', 'snmp_target_mib', 'snmp_user_based_sm_mib',
        -            'snmp_view_based_acm_mib', 'snmpa', 'snmpa_conf', 'snmpa_error',
        -            'snmpa_error_io', 'snmpa_error_logger', 'snmpa_error_report',
        -            'snmpa_local_db', 'snmpa_mpd', 'snmpa_network_interface',
        -            'snmpa_network_interface_filter',
        -            'snmpa_notification_delivery_info_receiver',
        -            'snmpa_notification_filter', 'snmpa_supervisor', 'snmpc', 'snmpm',
        -            'snmpm_conf', 'snmpm_mpd', 'snmpm_network_interface', 'snmpm_user',
        -            'sofs', 'ssh', 'ssh_channel', 'ssh_connection', 'ssh_sftp',
        -            'ssh_sftpd', 'ssl', 'ssl_app', 'ssl_pkix', 'start', 'start_erl',
        -            'start_webtool', 'stdlib_app', 'string', 'supervisor',
        -            'supervisor_bridge', 'sys', 'systools', 'tags', 'test_server',
        -            'test_server_app', 'test_server_ctrl', 'tftp', 'timer', 'toolbar',
        -            'ttb', 'tv', 'unicode', 'unix_telnet', 'user', 'webtool', 'werl',
        -            'win32reg', 'wrap_log_reader', 'wx', 'wx_misc', 'wx_object',
        -            'wxAcceleratorEntry', 'wxAcceleratorTable', 'wxArtProvider',
        -            'wxAuiDockArt', 'wxAuiManager', 'wxAuiNotebook', 'wxAuiPaneInfo',
        -            'wxAuiTabArt', 'wxBitmap', 'wxBitmapButton', 'wxBitmapDataObject',
        -            'wxBoxSizer', 'wxBrush', 'wxBufferedDC', 'wxBufferedPaintDC',
        -            'wxButton', 'wxCalendarCtrl', 'wxCalendarDateAttr',
        -            'wxCalendarEvent', 'wxCaret', 'wxCheckBox', 'wxCheckListBox',
        -            'wxChildFocusEvent', 'wxChoice', 'wxClientDC', 'wxClipboard',
        -            'wxCloseEvent', 'wxColourData', 'wxColourDialog',
        -            'wxColourPickerCtrl', 'wxColourPickerEvent', 'wxComboBox',
        -            'wxCommandEvent', 'wxContextMenuEvent', 'wxControl',
        -            'wxControlWithItems', 'wxCursor', 'wxDataObject', 'wxDateEvent',
        -            'wxDatePickerCtrl', 'wxDC', 'wxDialog', 'wxDirDialog',
        -            'wxDirPickerCtrl', 'wxDisplayChangedEvent', 'wxEraseEvent',
        -            'wxEvent', 'wxEvtHandler', 'wxFileDataObject', 'wxFileDialog',
        -            'wxFileDirPickerEvent', 'wxFilePickerCtrl', 'wxFindReplaceData',
        -            'wxFindReplaceDialog', 'wxFlexGridSizer', 'wxFocusEvent', 'wxFont',
        -            'wxFontData', 'wxFontDialog', 'wxFontPickerCtrl',
        -            'wxFontPickerEvent', 'wxFrame', 'wxGauge', 'wxGBSizerItem',
        -            'wxGenericDirCtrl', 'wxGLCanvas', 'wxGraphicsBrush',
        -            'wxGraphicsContext', 'wxGraphicsFont', 'wxGraphicsMatrix',
        -            'wxGraphicsObject', 'wxGraphicsPath', 'wxGraphicsPen',
        -            'wxGraphicsRenderer', 'wxGrid', 'wxGridBagSizer', 'wxGridCellAttr',
        -            'wxGridCellEditor', 'wxGridCellRenderer', 'wxGridEvent',
        -            'wxGridSizer', 'wxHelpEvent', 'wxHtmlEasyPrinting', 'wxIcon',
        -            'wxIconBundle', 'wxIconizeEvent', 'wxIdleEvent', 'wxImage',
        -            'wxImageList', 'wxJoystickEvent', 'wxKeyEvent',
        -            'wxLayoutAlgorithm', 'wxListBox', 'wxListCtrl', 'wxListEvent',
        -            'wxListItem', 'wxListView', 'wxMask', 'wxMaximizeEvent',
        -            'wxMDIChildFrame', 'wxMDIClientWindow', 'wxMDIParentFrame',
        -            'wxMemoryDC', 'wxMenu', 'wxMenuBar', 'wxMenuEvent', 'wxMenuItem',
        -            'wxMessageDialog', 'wxMiniFrame', 'wxMirrorDC',
        -            'wxMouseCaptureChangedEvent', 'wxMouseEvent', 'wxMoveEvent',
        -            'wxMultiChoiceDialog', 'wxNavigationKeyEvent', 'wxNcPaintEvent',
        -            'wxNotebook', 'wxNotebookEvent', 'wxNotifyEvent',
        -            'wxPageSetupDialog', 'wxPageSetupDialogData', 'wxPaintDC',
        -            'wxPaintEvent', 'wxPalette', 'wxPaletteChangedEvent', 'wxPanel',
        -            'wxPasswordEntryDialog', 'wxPen', 'wxPickerBase', 'wxPostScriptDC',
        -            'wxPreviewCanvas', 'wxPreviewControlBar', 'wxPreviewFrame',
        -            'wxPrintData', 'wxPrintDialog', 'wxPrintDialogData', 'wxPrinter',
        -            'wxPrintout', 'wxPrintPreview', 'wxProgressDialog',
        -            'wxQueryNewPaletteEvent', 'wxRadioBox', 'wxRadioButton',
        -            'wxRegion', 'wxSashEvent', 'wxSashLayoutWindow', 'wxSashWindow',
        -            'wxScreenDC', 'wxScrollBar', 'wxScrolledWindow', 'wxScrollEvent',
        -            'wxScrollWinEvent', 'wxSetCursorEvent', 'wxShowEvent',
        -            'wxSingleChoiceDialog', 'wxSizeEvent', 'wxSizer', 'wxSizerFlags',
        -            'wxSizerItem', 'wxSlider', 'wxSpinButton', 'wxSpinCtrl',
        -            'wxSpinEvent', 'wxSplashScreen', 'wxSplitterEvent',
        -            'wxSplitterWindow', 'wxStaticBitmap', 'wxStaticBox',
        -            'wxStaticBoxSizer', 'wxStaticLine', 'wxStaticText', 'wxStatusBar',
        -            'wxStdDialogButtonSizer', 'wxStyledTextCtrl', 'wxStyledTextEvent',
        -            'wxSysColourChangedEvent', 'wxTextAttr', 'wxTextCtrl',
        -            'wxTextDataObject', 'wxTextEntryDialog', 'wxToggleButton',
        -            'wxToolBar', 'wxToolTip', 'wxTopLevelWindow', 'wxTreeCtrl',
        -            'wxTreeEvent', 'wxUpdateUIEvent', 'wxWindow', 'wxWindowCreateEvent',
        -            'wxWindowDC', 'wxWindowDestroyEvent', 'wxXmlResource', 'xmerl',
        -            'xmerl_eventp', 'xmerl_scan', 'xmerl_xpath', 'xmerl_xs',
        -            'xmerl_xsd', 'xref', 'yecc', 'zip', 'zlib', 'zlib_stub'
        -            ),
        -        // Binary modifiers
        -        6 => array(
        -            'big', 'binary', 'float', 'integer', 'little', 'signed', 'unit', 'unsigned'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('(', ')', '[', ']', '{', '}'),
        -        1 => array('->', ',', ';', '.'),
        -        2 => array('<<', '>>'),
        -        3 => array('=', '||', '-', '+', '*', '/', '++', '--', '!', '<', '>', '>=',
        -                    '=<', '==', '/=', '=:=', '=/=')
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #186895;',
        -            2 => 'color: #014ea4;',
        -            3 => 'color: #fa6fff;',
        -            4 => 'color: #fa6fff;',
        -            5 => 'color: #ff4e18;',
        -            6 => 'color: #9d4f37;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #109ab8;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff7800;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff9600;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #004866;',
        -            1 => 'color: #6bb810;',
        -            2 => 'color: #ee3800;',
        -            3 => 'color: #014ea4;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #6941fd;',
        -            1 => 'color: #d400ed;',
        -            2 => 'color: #5400b3;',
        -            3 => 'color: #ff3c00;',
        -            4 => 'color: #6941fd;',
        -            5 => 'color: #45b3e6;',
        -            6 => 'color: #ff9600;',
        -            7 => 'color: #d400ed;',
        -            8 => 'color: #ff9600;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => 'http://erlang.org/doc/man/{FNAME}.html',
        -        6 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '->',
        -        2 => ':'
        -        ),
        -    'REGEXPS' => array(
        -        //�Macro definitions
        -        0 => array(
        -            GESHI_SEARCH => '(-define\s*\()([a-zA-Z0-9_]+)(\(|,)',
        -            GESHI_REPLACE => '\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\1',
        -            GESHI_AFTER => '\3'
        -            ),
        -        // Record definitions
        -        1 => array(
        -            GESHI_SEARCH => '(-record\s*\()([a-zA-Z0-9_]+)(,)',
        -            GESHI_REPLACE => '\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\1',
        -            GESHI_AFTER => '\3'
        -            ),
        -        // Precompiler directives
        -        2 => array(
        -            GESHI_SEARCH => '(-)([a-z][a-zA-Z0-9_]*)(\()',
        -            GESHI_REPLACE => '\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\1',
        -            GESHI_AFTER => '\3'
        -            ),
        -        // Functions
        -        3 => array(
        -            GESHI_SEARCH => '([a-z]\w*|\'\w*\')(\s*\()',
        -            GESHI_REPLACE => '\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '\2'
        -            ),
        -        // Macros
        -        4 => array(
        -            GESHI_SEARCH => '(\?)([a-zA-Z0-9_]+)',
        -            GESHI_REPLACE => '\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\1',
        -            GESHI_AFTER => ''
        -            ),
        -        // Variables - With hack to avoid interfering wish GeSHi internals
        -        5 => array(
        -            GESHI_SEARCH => '([([{,<+*-\/=\s!]|<)(?!(?:PIPE|SEMI|DOT|NUM|REG3XP\d*)\W)([A-Z_]\w*)(?!\w)',
        -            GESHI_REPLACE => '\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\1',
        -            GESHI_AFTER => ''
        -            ),
        -        // ASCII�codes
        -        6 => '(\$[a-zA-Z0-9_])',
        -        // Records
        -        7 => array(
        -            GESHI_SEARCH => '(#)([a-z][a-zA-Z0-9_]*)(\.|\{)',
        -            GESHI_REPLACE => '\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\1',
        -            GESHI_AFTER => '\3'
        -            ),
        -        // Numbers with a different radix
        -        8 => '(?<=>)(#[a-zA-Z0-9]*)'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            3 => array(
        -                'DISALLOWED_BEFORE' => '(? ''//'(?=\s*\()'
        -            ),
        -            5 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\'|)',
        -                'DISALLOWED_AFTER' => '(?=(\'|):)'
        -            ),
        -            6 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\/|-)',
        -                'DISALLOWED_AFTER' => ''
        -            )
        -        )
        -    ),
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/euphoria.php b/vendor/easybook/geshi/geshi/euphoria.php
        deleted file mode 100644
        index 3a3cbfc..0000000
        --- a/vendor/easybook/geshi/geshi/euphoria.php
        +++ /dev/null
        @@ -1,139 +0,0 @@
        - (1.0.8.9)
        - *  -  First Release
        - *
        - * TODO (updated )
        - * -------------------------
        - * seperate the funtions from the procedures, and have a slight color change for each.
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'Euphoria',
        -    'COMMENT_SINGLE' => array(1 => '--'),
        -    'COMMENT_MULTI' => array(), //Euphoria doesn't support multi-line comments
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array( // keywords
        -            'and', 'by', 'constant', 'do', 'else', 'elsif', 'end', 'exit',
        -            'for', 'function', 'global', 'if', 'include', 'not', 'or',
        -            'procedure', 'return', 'then', 'to', 'type', 'while', 'with',
        -            'without', 'xor'
        -            ),
        -        2 => array( // built-ins
        -            'abort', 'and_bits', 'append', 'arctan', 'atom', 'c_func', 'call',
        -            'c_proc', 'call_func', 'call_proc', 'clear_screen', 'close', 'compare',
        -            'command_line', 'cos', 'date', 'equal', 'find', 'find_from', 'floor',
        -            'getc', 'getenv', 'gets', 'get_key', 'get_pixel', 'integer', 'length',
        -            'log', 'machine_func', 'machine_proc', 'match', 'match_from',
        -            'mem_copy', 'mem_set', 'not_bits', 'object', 'open', 'or_bits', 'peek',
        -            'peek4s', 'peek4u', 'pixel', 'platform', 'poke', 'poke4', 'position',
        -            'power', 'prepend', 'print', 'printf', 'profile', 'puts', 'rand',
        -            'remainder', 'repeat', 'routine_id', 'sequence', 'sin', 'sprintf',
        -            'sqrt', 'system', 'system_exec', 'tan', 'task_clock_stop',
        -            'task_clock_start', 'task_create', 'task_list', 'task_schedule',
        -            'task_self', 'task_status', 'task_suspend', 'task_yield', 'time',
        -            'trace', 'xor_bits'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array(
        -            '(', ')', '{', '}', '[', ']'
        -            ),
        -        1 => array(
        -            '+', '-', '*', '/', '=', '&', '^'
        -            ),
        -        2 => array(
        -            '&', '?', ','
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff; font-weight: bold;', // keywords
        -            2 => 'color: #cc33ff; font-weight: bold;', // builtins
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #ff0000; font-style: italic;',
        -            'MULTI' => '' // doesn't exist
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #009900; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #999900; font-weight: bold;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #00cc00;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc33cc; font-style: italic'
        -            ),
        -        'METHODS' => array( // Doesn't exist in Euphoria.  Everything is a function =)
        -            0 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #999900;', // brackets
        -            1 => 'color: #333333;', // operators
        -            2 => 'color: #333333; font-style: bold' // print+concat
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array( // Never included in scripts.
        -            )
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/ezt.php b/vendor/easybook/geshi/geshi/ezt.php
        deleted file mode 100644
        index 74d8d52..0000000
        --- a/vendor/easybook/geshi/geshi/ezt.php
        +++ /dev/null
        @@ -1,134 +0,0 @@
        - 'EZT',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'COMMENT_REGEXP' => array(
        -        // First character of the line is an asterisk. Rest of the line is spaces/null
        -        0 => '/\*(\s|\D)?(\n)/',
        -        // Asterisk followed by any character & then a non numeric character.
        -        // This is to prevent expressions such as 25 * 4 from being marked as a comment
        -        // Note: 25*4 - 100 will mark *4 - 100 as a comment. Pls. space out expressions
        -        // In any case, 25*4 will result in an Easytrieve error
        -        1 => '/\*.([^0-9\n])+.*(\n)/'
        -        ),
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'CONTROL','DEFINE','DISPLAY','DO','ELSE','END-DO','END-IF',
        -            'END-PROC','FILE','GET','GOTO','HEADING','IF','JOB','LINE',
        -            'PARM','PERFORM','POINT','PRINT','PROC','PUT','READ','RECORD',
        -            'REPORT','RETRIEVE','SEARCH','SELECT','SEQUENCE','SORT','STOP',
        -            'TITLE','WRITE'
        -            ),
        -        // Procedure Keywords (Names of specific procedures)
        -        2 => array (
        -            'AFTER-BREAK','AFTER-LINE','BEFORE-BREAK','BEFORE-LINE',
        -            'ENDPAGE','REPORT-INPUT','TERMINATION',
        -            ),
        -        // Macro names, Parameters
        -        3 => array (
        -            'COMPILE','CONCAT','DESC','GETDATE','MASK','PUNCH',
        -            'VALUE','SYNTAX','NEWPAGE','SKIP','COL','TALLY',
        -            'WITH'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(',')','=','&',',','*','>','<','%'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false
        -        //4 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #FF0000;',
        -            2 => 'color: #21A502;',
        -            3 => 'color: #FF00FF;'
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #0000FF; font-style: italic;',
        -            1 => 'color: #0000FF; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #FF7400;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #66CC66;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #736205;'
        -            ),
        -        'METHODS' => array(
        -            1 => '',
        -            2 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #FF7400;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #E01B6A;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        // We are trying to highlight Macro names here which preceded by %
        -        0 => '(%)([a-zA-Z0-9])+(\s|\n)'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        diff --git a/vendor/easybook/geshi/geshi/f1.php b/vendor/easybook/geshi/geshi/f1.php
        deleted file mode 100644
        index e35a07f..0000000
        --- a/vendor/easybook/geshi/geshi/f1.php
        +++ /dev/null
        @@ -1,150 +0,0 @@
        - 'Formula One',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('{' => '}'),
        -    'COMMENT_REGEXP' => array(
        -        //Nested Comments
        -        2 =>  "/(\{(?:\{.*\}|[^\{])*\})/m"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'",'"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[\\\\nrt\'\"?\n]#i",
        -        //Hexadecimal Char Specs (Utf16 codes, Unicode versions only)
        -        2 => "#\\\\u[\da-fA-F]{4}#",
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE |
        -        GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX_0O |
        -        GESHI_NUMBER_HEX_PREFIX |
        -        GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'pred','proc','subr','else','elsif','iff','if','then','false','true',
        -            'case','of','use','local','mod','end','list','file','all','one','max','min','rel',
        -            'external','Nil','_stdcall','_cdecl','_addressof','_pred','_file','_line'
        -            ),
        -        2 => array(
        -            'Ascii','Bin','I','L','P','R','S','U'
        -            ),
        -        3 => array(
        -            'Append','in','Dupl','Len','Print','_AllDifferent','_AllAscending',
        -            '_AllDescending','_Ascending','_Descending'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('(', ')', '[', ']'),
        -        1 => array('<', '>','='),
        -        2 => array('+', '-', '*', '/'),
        -        3 => array('&', '|'),
        -        4 => array(':', ';')
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #000080;',
        -            3 => 'color: #000080;',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000; font-style: italic;',
        -            2 => 'color: #008000; font-style: italic;',
        -            'MULTI' => 'color: #008000; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #009999; font-weight: bold;',
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #800000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;',
        -            1 => 'color: #000000;',
        -            2 => 'color: #000000;',
        -            3 => 'color: #000000;',
        -            4 => 'color: #000000;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.f1compiler.com/f1helponline/f1_runtime_library.html#{FNAME}'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/falcon.php b/vendor/easybook/geshi/geshi/falcon.php
        deleted file mode 100644
        index 4395775..0000000
        --- a/vendor/easybook/geshi/geshi/falcon.php
        +++ /dev/null
        @@ -1,217 +0,0 @@
        - (1.0.8.10)
        - *  -  First Release
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - * ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'Falcon',
        -    'COMMENT_SINGLE' => array( 1 => '//' ),
        -    'COMMENT_MULTI' => array( '/*' => '*/' ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array( "'", '"' ),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'break','case','catch','class','const','continue','def','default',
        -            'dropping','elif','else','end','enum','for','forfirst','forlast',
        -            'formiddle','from','function','global','if','init','innerfunc',
        -            'launch','loop','object','raise','return','select','state','static',
        -            'switch','try','while'
        -        ),
        -        2 => array(
        -            'false','nil','true',
        -        ),
        -        3 => array(
        -            'and','as','eq','fself','in','not','notin','or','provides','self','to'
        -        ),
        -        4 => array(
        -            'directive','export','import','load','macro'
        -        ),
        -        5 => array(
        -            'ArrayType','BooleanType','ClassMethodType','ClassType','DictionaryType',
        -            'FunctionType','MemBufType','MethodType','NilType','NumericType','ObjectType',
        -            'RangeType','StringType','LBindType'
        -        ),
        -        6 => array(
        -            "CurrentTime","IOStream","InputStream","MemBufFromPtr","OutputStream",
        -            "PageDict","ParseRFC2822","abs","acos","all",
        -            "allp","any","anyp","argd","argv",
        -            "arrayAdd","arrayBuffer","arrayCompact","arrayDel","arrayDelAll",
        -            "arrayFill","arrayFind","arrayHead","arrayIns","arrayMerge",
        -            "arrayNM","arrayRemove","arrayResize","arrayScan","arraySort",
        -            "arrayTail","asin","assert","atan","atan2",
        -            "attributes","baseClass","beginCritical","bless","brigade",
        -            "broadcast","cascade","ceil","choice","chr",
        -            "className","clone","combinations","compare","consume",
        -            "cos","deg2rad","deoob","derivedFrom","describe",
        -            "deserialize","dictBack","dictBest","dictClear","dictFill",
        -            "dictFind","dictFront","dictGet","dictKeys","dictMerge",
        -            "dictRemove","dictSet","dictValues","dirChange","dirCurrent",
        -            "dirMake","dirMakeLink","dirReadLink","dirRemove","dolist",
        -            "endCritical","epoch","eval","exit","exp",
        -            "factorial","fileChgroup","fileChmod","fileChown","fileCopy",
        -            "fileExt","fileMove","fileName","fileNameMerge","filePath",
        -            "fileRemove","fileType","fileUnit","filter","fint",
        -            "firstOf","floop","floor","fract","getAssert",
        -            "getEnviron","getProperty","getSlot","getSystemEncoding","getenv",
        -            "iff","include","input","inspect","int",
        -            "isBound","isCallable","isoob","lbind","len",
        -            "let","lit","log","map","max",
        -            "metaclass","min","numeric","oob","ord",
        -            "paramCount","paramIsRef","paramSet","parameter","passvp",
        -            "permutations","pow","print","printl","properties",
        -            "rad2deg","random","randomChoice","randomDice","randomGrab",
        -            "randomPick","randomSeed","randomWalk","readURI","reduce",
        -            "retract","round","seconds","serialize","set",
        -            "setProperty","setenv","sin","sleep","stdErr",
        -            "stdErrRaw","stdIn","stdInRaw","stdOut","stdOutRaw",
        -            "strBack","strBackFind","strBackTrim","strBuffer","strCmpIgnoreCase",
        -            "strEndsWith","strEscape","strEsq","strFill","strFind",
        -            "strFromMemBuf","strFront","strFrontTrim","strLower","strMerge",
        -            "strReplace","strReplicate","strSplit","strSplitTrimmed","strStartsWith",
        -            "strToMemBuf","strTrim","strUnescape","strUnesq","strUpper",
        -            "strWildcardMatch","subscribe","systemErrorDescription","tan","times",
        -            "toString","transcodeFrom","transcodeTo","typeOf","unsetenv",
        -            "unsubscribe","valof","vmFalconPath","vmIsMain","vmModuleName",
        -            "vmModuleVersionInfo","vmSearchPath","vmSystemType","vmVersionInfo","vmVersionName",
        -            "writeURI","xmap","yield","yieldOut"
        -        ),
        -        7 => array(
        -            "AccessError","Array","BOM","Base64","Class",
        -            "ClassMethod","CloneError","CmdlineParser","CodeError","Continuation",
        -            "Dictionary","Directory","Error","FileStat","Format",
        -            "Function","GarbagePointer","GenericError","Integer","InterruptedError",
        -            "IoError","Iterator","LateBinding","List","MathError",
        -            "MemoryBuffer","MessageError","Method","Numeric","Object",
        -            "ParamError","ParseError","Path","Range","Semaphore",
        -            "Sequence","Set","Stream","String","StringStream",
        -            "SyntaxError","Table","TableError","TimeStamp","TimeZone",
        -            "Tokenizer","TypeError","URI","VMSlot"
        -        ),
        -        8 => array(
        -            "args","scriptName","scriptPath"
        -        ),
        -        9 => array(
        -            "GC"
        -        ),
        -    ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => 'http://falconpl.org/project_docs/core/functions.html#typeOf',
        -        6 => 'http://falconpl.org/project_docs/core/functions.html#{FNAME}',
        -        7 => 'http://falconpl.org/project_docs/core/class_{FNAME}.html',
        -        8 => 'http://falconpl.org/project_docs/core/globals.html#{FNAME}',
        -        9 => 'http://falconpl.org/project_docs/core/object_{FNAME}.html)'
        -    ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true,
        -        9 => true
        -    ),
        -    'SYMBOLS' => array(
        -        '(',')','$','%','&','/','{','[',']','=','}','?','+','-','#','*','@',
        -        '<','>','|',',',':',';','\\','^'
        -    ),
        -    'REGEXPS' => array(
        -        0 => array(
        -            GESHI_SEARCH => '(\[)([a-zA-Z_]|\c{C})(?:[a-zA-Z0-9_]|\p{C})*(\])',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3',
        -
        -        ),
        -    ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array( ' '?>' )
        -    ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true
        -    ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000080;font-weight:bold;',
        -            2 => 'color: #800000;font-weight:bold;',
        -            3 => 'color: #800000;font-weight:bold;',
        -            4 => 'color: #000080;font-weight:bold;',
        -            5 => 'color: #000000;font-weight:bold;',
        -            6 => 'font-weight:bold;',
        -            7 => 'font-weight:bold;',
        -            8 => 'font-weight:bold;'
        -        ),
        -        'COMMENTS' => array(
        -            1 => 'color: #29B900;',
        -            'MULTI' => 'color: #008080'
        -        ),
        -        'STRINGS' => array(
        -            0 => 'color: #800000'
        -        ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000'
        -        ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #800000'
        -        ),
        -        'NUMBERS' => array(
        -            0 => 'color: #000000'
        -        ),
        -        'METHODS' => array(
        -            0 => 'color: #000000'
        -        ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #8B0513'
        -        ),
        -        'SCRIPT' => array(
        -            0 => ''
        -        ),
        -        'REGEXPS' => array(
        -            0 => 'color: #FF00FF'
        -        )
        -    ),
        -
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        '.'
        -    )
        -);
        diff --git a/vendor/easybook/geshi/geshi/fo.php b/vendor/easybook/geshi/geshi/fo.php
        deleted file mode 100644
        index c4b6d11..0000000
        --- a/vendor/easybook/geshi/geshi/fo.php
        +++ /dev/null
        @@ -1,326 +0,0 @@
        - 'FO (abas-ERP)',
        -    'COMMENT_SINGLE' => array(1 => '..'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        //Control Flow
        -        1 => array(
        -            /* see http://www.abas.de/sub_de/kunden/help/hd/html/9.html */
        -
        -            /* fo keywords, part 1: control flow */
        -            '.weiter', '.continue'
        -
        -            /* this language works with goto's only*/
        -            ),
        -
        -        //FO Keywords
        -        2 => array(
        -            /* fo keywords, part 2 */
        -            '.fo', '.formel', '.formula',
        -            '.zuweisen', '.assign',
        -            '.fehler', '.error',
        -            '.ende', '.end'
        -            ),
        -
        -        //Java Keywords
        -        3 => array(
        -            /* Java keywords, part 3: primitive data types */
        -            '.art', '.type',
        -            'integer', 'real', 'bool', 'text', 'datum', 'woche', 'termin', 'zeit',
        -            'mehr', 'MEHR'
        -            ),
        -
        -        //Reserved words in fo literals
        -        4 => array(
        -            /* other reserved words in fo literals */
        -            /* should be styled to look similar to numbers and Strings */
        -            'false', 'null', 'true',
        -            'OBJEKT',
        -            'VORGANG', 'PROCESS',
        -            'OFFEN', 'OPEN',
        -            'ABORT',
        -            'AN', 'ADDEDTO',
        -            'AUF', 'NEW',
        -            'BILDSCHIRM', 'TERMINAL',
        -            'PC',
        -            'MASKE', 'SCREEN',
        -            'ZEILE', 'LINE'
        -            ),
        -
        -        // interpreter settings
        -        5 => array (
        -            '..!INTERPRETER', 'DEBUG'
        -            ),
        -
        -        // database commands
        -        6 => array (
        -            '.hole', '.hol', '.select',
        -            '.lade', '.load',
        -            '.aktion', '.action',
        -            '.belegen', '.occupy',
        -            '.bringe', '.rewrite',
        -            '.dazu', '.add',
        -            '.löschen', '.delete',
        -            '.mache', '.make',
        -            '.merke', '.reserve',
        -            '.setze', '.set',
        -            'SPERREN', 'LOCK',
        -            'TEIL', 'PART',
        -            'KEINESPERRE',
        -            'AMASKE', 'ASCREEN',
        -            'BETRIEB', 'WORK-ORDER',
        -            'NUMERISCH', 'NUMERICAL',
        -            'VORSCHLAG', 'SUGGESTION',
        -            'OBLIGO', 'OUTSTANDING',
        -            'LISTE', 'LIST',
        -            'DRUCK', 'PRINT',
        -            'ÜBERNAHME', 'TAGEOVER',
        -            'ABLAGE', 'FILINGSYSTEM',
        -            'BDE', 'PDC',
        -            'BINDUNG', 'ALLOCATION',
        -            'BUCHUNG', 'ENTRY',
        -            'COLLI', 'SERIAL',
        -            'DATEI', 'FILE',
        -            'VERKAUF', 'SALES',
        -            'EINKAUF', 'PURCHASING',
        -            'EXEMPLAR', 'EXAMPLE',
        -            'FERTIGUNG', 'PRODUCTION',
        -            'FIFO',
        -            'GRUPPE', 'GROUP',
        -            'JAHR', 'YEAR',
        -            'JOURNAL',
        -            'KOPF', 'HEADER',
        -            'KOSTEN',
        -            'LIFO',
        -            'LMENGE', 'SQUANTITY',
        -            'LOHNFERTIGUNG', 'SUBCONTRACTING',
        -            'LPLATZ', 'LOCATION',
        -            'MBELEGUNG', 'MACHLOADING',
        -            'MONAT', 'MONTH', 'MZ',
        -            'NACHRICHT', 'MESSAGE',
        -            'PLAN', 'TARGET',
        -            'REGIONEN', 'REGIONS',
        -            'SERVICEANFRAGE', 'SERVICEREQUEST',
        -            'VERWENDUNG', 'APPLICATION',
        -            'WEITER', 'CONTINUE',
        -            'ABBRUCH', 'CANCEL',
        -            'ABLAGEKENNZEICHEN', 'FILLINGCODE',
        -            'ALLEIN', 'SINGLEUSER',
        -            'AUFZAEHLTYP', 'ENUMERATION-TYPE',
        -            'AUSGABE', 'OUTPUT',
        -            'DEZPUNKT', 'DECPOINT'
        -            ),
        -
        -        // output settings
        -        7 => array (
        -            '.absatz', '.para',
        -            '.blocksatz', '.justified',
        -            '.flattersatz', '.unjustified',
        -            '.format',
        -            '.box',
        -            '.drucken', '.print',
        -            '.gedruckt', '.printed',
        -            '.länge', '.length',
        -            '.links', '.left',
        -            '.rechts', '.right',
        -            '.oben', '.up',
        -            '.unten', '.down',
        -            '.seite', '.page',
        -            '.tabellensatz', '.tablerecord',
        -            '.trenner', '.separator',
        -            'ARCHIV'
        -            ),
        -
        -        // text commands
        -        8 => array (
        -            '.text',
        -            '.atext',
        -            '.println',
        -            '.uebersetzen', '.translate'
        -            ),
        -
        -        // I/O commands
        -        9 => array (
        -            '.aus', '.ausgabe', '.output',
        -            '.ein', '.eingabe', '.input',
        -            '.datei', '.file',
        -            '.lesen', '.read',
        -            '.sortiere', '.sort',
        -            '-ÖFFNEN', '-OPEN',
        -            '-TEST',
        -            '-LESEN', '-READ',
        -            'VON', 'FROM'
        -            ),
        -
        -        //system
        -        10 => array (
        -            '.browser',
        -            '.kommando', '.command',
        -            '.system', '.dde',
        -            '.editiere', '.edit',
        -            '.hilfe', '.help',
        -            '.kopieren', '.copy',
        -            '.pc.clip',
        -            '.pc.copy',
        -            '.pc.dll',
        -            '.pc.exec',
        -            '.pc.open',
        -            'DIAGNOSE', 'ERRORREPORT',
        -            'DOPPELPUNKT', 'COLON',
        -            'ERSETZUNG', 'REPLACEMENT',
        -            'WARTEN', 'PARALLEL'
        -            ),
        -
        -        //fibu/accounting specific commands
        -        11 => array (
        -            '.budget',
        -            '.chart',
        -            'VKZ',
        -            'KONTO', 'ACCOUNT',
        -            'AUSZUG', 'STATEMENT',
        -            'WAEHRUNG', 'CURRENCY',
        -            'WAEHRUNGSKURS', 'EXCHANGERATE',
        -            'AUSWAEHR', 'FORCURR',
        -            'BUCHUNGSKREIS', 'SET OF BOOKS'
        -            ),
        -
        -        // efop - extended flexible surface
        -        12 => array (
        -            '.cursor',
        -            '.farbe', '.colour',
        -            '.fenster', '.window',
        -            '.hinweis', '.note',
        -            '.menue', '.menu',
        -            '.schutz', '.protection',
        -            '.zeigen', '.view',
        -            '.zeile', '.line',
        -            'VORDERGRUND', 'FOREGROUND',
        -            'HINTERGRUND', 'BACKGROUND',
        -            'SOFORT', 'IMMEDIATELY',
        -            'AKTUALISIEREN', 'UPDATE',
        -            'FENSTERSCHLIESSEN', 'CLOSEWINDOWS'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('(', ')', '[', ']', '{', '}', '*', '&', '%', ';', '<', '>'),
        -        1 => array('?', '!')
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        /* all fo keywords are case sensitive, don't have to but I like this type of coding */
        -        1 => true, 2 => true, 3 => true, 4 => true,
        -        5 => true, 6 => true, 7 => true, 8 => true, 9 => true,
        -        10 => true, 11 => true, 12 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #006600; font-weight: bold;',
        -            4 => 'color: #006600; font-weight: bold;',
        -            5 => 'color: #003399; font-weight: bold;',
        -            6 => 'color: #003399; font-weight: bold;',
        -            7 => 'color: #003399; font-weight: bold;',
        -            8 => 'color: #003399; font-weight: bold;',
        -            9 => 'color: #003399; font-weight: bold;',
        -            10 => 'color: #003399; font-weight: bold;',
        -            11 => 'color: #003399; font-weight: bold;',
        -            12 => 'color: #003399; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            //2 => 'color: #006699;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006633;',
        -            2 => 'color: #006633;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;',
        -            1 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => '',
        -        8 => '',
        -        9 => '',
        -        10 => '',
        -        11 => '',
        -        12 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/fortran.php b/vendor/easybook/geshi/geshi/fortran.php
        deleted file mode 100644
        index a77b6e7..0000000
        --- a/vendor/easybook/geshi/geshi/fortran.php
        +++ /dev/null
        @@ -1,158 +0,0 @@
        -'Fortran',
        -    'COMMENT_SINGLE'=> array(1 =>'!',2=>'Cf2py'),
        -    'COMMENT_MULTI'=> array(),
        -    //Fortran Comments
        -    'COMMENT_REGEXP' => array(1 => '/^C.*?$/mi'),
        -    'CASE_KEYWORDS'=> GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS'=> array("'",'"'),
        -    'ESCAPE_CHAR'=>'\\',
        -    'KEYWORDS'=> array(
        -        1 => array(
        -            'allocate','block','call','case','contains','continue','cycle','deallocate',
        -            'default','do','else','elseif','elsewhere','end','enddo','endif','endwhere',
        -            'entry','exit','function','go','goto','if','interface','module','nullify','only',
        -            'operator','procedure','program','recursive','return','select','stop',
        -            'subroutine','then','to','where','while',
        -            'access','action','advance','blank','blocksize','carriagecontrol',
        -            'delim','direct','eor','err','exist','file','flen','fmt','form','formatted',
        -            'iostat','name','named','nextrec','nml','number','opened','pad','position',
        -            'readwrite','recl','sequential','status','unformatted','unit'
        -            ),
        -        2 => array(
        -            '.AND.','.EQ.','.EQV.','.GE.','.GT.','.LE.','.LT.','.NE.','.NEQV.','.NOT.',
        -            '.OR.','.TRUE.','.FALSE.'
        -            ),
        -        3 => array(
        -            'allocatable','character','common','complex','data','dimension','double',
        -            'equivalence','external','implicit','in','inout','integer','intent','intrinsic',
        -            'kind','logical','namelist','none','optional','out','parameter','pointer',
        -            'private','public','real','result','save','sequence','target','type','use'
        -            ),
        -        4 => array(
        -            'abs','achar','acos','adjustl','adjustr','aimag','aint','all','allocated',
        -            'anint','any','asin','atan','atan2','bit_size','break','btest','carg',
        -            'ceiling','char','cmplx','conjg','cos','cosh','cpu_time','count','cshift',
        -            'date_and_time','dble','digits','dim','dot_product','dprod dvchk',
        -            'eoshift','epsilon','error','exp','exponent','floor','flush','fraction',
        -            'getcl','huge','iachar','iand','ibclr','ibits','ibset','ichar','ieor','index',
        -            'int','intrup','invalop','ior','iostat_msg','ishft','ishftc','lbound',
        -            'len','len_trim','lge','lgt','lle','llt','log','log10','matmul','max','maxexponent',
        -            'maxloc','maxval','merge','min','minexponent','minloc','minval','mod','modulo',
        -            'mvbits','nbreak','ndperr','ndpexc','nearest','nint','not','offset','ovefl',
        -            'pack','precfill','precision','present','product','prompt','radix',
        -            'random_number','random_seed','range','repeat','reshape','rrspacing',
        -            'scale','scan','segment','selected_int_kind','selected_real_kind',
        -            'set_exponent','shape','sign','sin','sinh','size','spacing','spread','sqrt',
        -            'sum system','system_clock','tan','tanh','timer','tiny','transfer','transpose',
        -            'trim','ubound','undfl','unpack','val','verify'
        -            ),
        -        ),
        -    'SYMBOLS'=> array(
        -        '(',')','{','}','[',']','=','+','-','*','/','!','%','^','&',':'
        -        ),
        -    'CASE_SENSITIVE'=> array(
        -        GESHI_COMMENTS => true,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'STYLES'=> array(
        -        'KEYWORDS'=> array(
        -            1 =>'color: #b1b100;',
        -            2 =>'color: #000000; font-weight: bold;',
        -            3 =>'color: #000066;',
        -            4 =>'color: #993333;'
        -            ),
        -        'COMMENTS'=> array(
        -            1 =>'color: #666666; font-style: italic;',
        -            2 =>'color: #339933;',
        -            'MULTI'=>'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR'=> array(
        -            0 =>'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS'=> array(
        -            0 =>'color: #009900;'
        -            ),
        -        'STRINGS'=> array(
        -            0 =>'color: #ff0000;'
        -            ),
        -        'NUMBERS'=> array(
        -            0 =>'color: #cc66cc;'
        -            ),
        -        'METHODS'=> array(
        -            1 =>'color: #202020;',
        -            2 =>'color: #202020;'
        -            ),
        -        'SYMBOLS'=> array(
        -            0 =>'color: #339933;'
        -            ),
        -        'REGEXPS'=> array(
        -            ),
        -        'SCRIPT'=> array(
        -            )
        -        ),
        -    'URLS'=> array(
        -        1 =>'',
        -        2 =>'',
        -        3 =>'',
        -        4 =>''
        -        ),
        -    'OOLANG'=> true,
        -    'OBJECT_SPLITTERS'=> array(
        -        1 =>'.',
        -        2 =>'::'
        -        ),
        -    'REGEXPS'=> array(
        -        ),
        -    'STRICT_MODE_APPLIES'=> GESHI_NEVER,
        -    'SCRIPT_DELIMITERS'=> array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK'=> array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/freebasic.php b/vendor/easybook/geshi/geshi/freebasic.php
        deleted file mode 100644
        index c542644..0000000
        --- a/vendor/easybook/geshi/geshi/freebasic.php
        +++ /dev/null
        @@ -1,139 +0,0 @@
        - 'FreeBasic',
        -    'COMMENT_SINGLE' => array(1 => "'", 2 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            "append", "as", "asc", "asin", "asm", "atan2", "atn", "beep", "bin", "binary", "bit",
        -            "bitreset", "bitset", "bload", "bsave", "byref", "byte", "byval", "call",
        -            "callocate", "case", "cbyte", "cdbl", "cdecl", "chain", "chdir", "chr", "cint",
        -            "circle", "clear", "clng", "clngint", "close", "cls", "color", "command",
        -            "common", "cons", "const", "continue", "cos", "cshort", "csign", "csng",
        -            "csrlin", "cubyte", "cuint", "culngint", "cunsg", "curdir", "cushort", "custom",
        -            "cvd", "cvi", "cvl", "cvlongint", "cvs", "cvshort", "data", "date",
        -            "deallocate", "declare", "defbyte", "defdbl", "defined", "defint", "deflng",
        -            "deflngint", "defshort", "defsng", "defstr", "defubyte", "defuint",
        -            "defulngint", "defushort", "dim", "dir", "do", "double", "draw", "dylibload",
        -            "dylibsymbol", "else", "elseif", "end", "enum", "environ", 'environ$', "eof",
        -            "eqv", "erase", "err", "error", "exec", "exepath", "exit", "exp", "export",
        -            "extern", "field", "fix", "flip", "for", "fre", "freefile", "function", "get",
        -            "getjoystick", "getkey", "getmouse", "gosub", "goto", "hex", "hibyte", "hiword",
        -            "if", "iif", "imagecreate", "imagedestroy", "imp", "inkey", "inp", "input",
        -            "instr", "int", "integer", "is", "kill", "lbound", "lcase", "left", "len",
        -            "let", "lib", "line", "lobyte", "loc", "local", "locate", "lock", "lof", "log",
        -            "long", "longint", "loop", "loword", "lset", "ltrim", "mid", "mkd", "mkdir",
        -            "mki", "mkl", "mklongint", "mks", "mkshort", "mod", "multikey", "mutexcreate",
        -            "mutexdestroy", "mutexlock", "mutexunlock", "name", "next", "not", "oct", "on",
        -            "once", "open", "option", "or", "out", "output", "overload", "paint", "palette",
        -            "pascal", "pcopy", "peek", "peeki", "peeks", "pipe", "pmap", "point", "pointer",
        -            "poke", "pokei", "pokes", "pos", "preserve", "preset", "print", "private",
        -            "procptr", "pset", "ptr", "public", "put", "random", "randomize", "read",
        -            "reallocate", "redim", "rem", "reset", "restore", "resume",
        -            "return", "rgb", "rgba", "right", "rmdir", "rnd", "rset", "rtrim", "run",
        -            "sadd", "screen", "screencopy", "screeninfo", "screenlock", "screenptr",
        -            "screenres", "screenset", "screensync", "screenunlock", "seek", "statement",
        -            "selectcase", "setdate", "setenviron", "setmouse",
        -            "settime", "sgn", "shared", "shell", "shl", "short", "shr", "sin", "single",
        -            "sizeof", "sleep", "space", "spc", "sqr", "static", "stdcall", "step", "stop",
        -            "str", "string", "strptr", "sub", "swap", "system", "tab", "tan",
        -            "then", "threadcreate", "threadwait", "time", "timer", "to", "trans",
        -            "trim", "type", "ubound", "ubyte", "ucase", "uinteger", "ulongint", "union",
        -            "unlock", "unsigned", "until", "ushort", "using", "va_arg", "va_first",
        -            "va_next", "val", "val64", "valint", "varptr", "view", "viewprint", "wait",
        -            "wend", "while", "width", "window", "windowtitle", "with", "write", "xor",
        -            "zstring", "explicit", "escape", "true", "false"
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080;',
        -            2 => 'color: #339933;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/freeswitch.php b/vendor/easybook/geshi/geshi/freeswitch.php
        deleted file mode 100644
        index 5412e6d..0000000
        --- a/vendor/easybook/geshi/geshi/freeswitch.php
        +++ /dev/null
        @@ -1,166 +0,0 @@
        - 'FreeSWITCH',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(1 => "/^Comment:.*?$/m"),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -//        1 => array(
        -//            'Disallow', 'Request-rate', 'Robot-version',
        -//            'Sitemap', 'User-agent', 'Visit-time'
        -//            )
        -        ),
        -    'SYMBOLS' => array(
        -//        ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false
        -        ),
        -
        -//order is important. regexes will overwrite most things....
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -//            1 => 'color: #FF0000; font-weight: bold;',//red
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -//            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -//            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -//            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -//            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: firebrick; font-weight: bold;',
        -            1 => 'color: cornflowerblue; font-weight: bold;',
        -            2 => 'color: goldenrod; font-weight: bold;',
        -            3 => 'color: green; font-weight: bold;',
        -            4 => 'color: dimgrey; font-style: italic;',
        -            5 => 'color: green; font-weight: bold;',
        -            6 => 'color: firebrick; font-weight: bold;',
        -            7 => 'color: indigo; font-weight: italic;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -//        1 => 'http://www.robotstxt.org/wc/norobots.html'
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        0 => array(
        -            GESHI_SEARCH => '(^.*ERROR.*)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'im',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        1 => array(
        -            GESHI_SEARCH => '(^.*NOTICE.*)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'im',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        2 => array(
        -            GESHI_SEARCH => '(^.*DEBUG.*)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        3 => array(
        -            GESHI_SEARCH => '(^.*INFO.*|.*info\(.*|^Channel.*|^Caller.*|^variable.*)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        4 => array(
        -            GESHI_SEARCH => '(^Dialplan.*)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'im',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        5 => array(
        -            GESHI_SEARCH => '(Regex\ \(PASS\))',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        6 => array(
        -            GESHI_SEARCH => '(Regex\ \(FAIL\))',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        7 => array(
        -            GESHI_SEARCH => '(\d{7,15})',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/fsharp.php b/vendor/easybook/geshi/geshi/fsharp.php
        deleted file mode 100644
        index 5743e4e..0000000
        --- a/vendor/easybook/geshi/geshi/fsharp.php
        +++ /dev/null
        @@ -1,212 +0,0 @@
        - 'F#',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(3 => '/\(\*(?!\)).*?\*\)/s'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'HARDQUOTE' => array('@"', '"'),
        -    'HARDESCAPE' => array('"'),
        -    'HARDCHAR' => '"',
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        /* main F# keywords */
        -        /* section 3.4 */
        -        1 => array(
        -            'abstract', 'and', 'as', 'assert', 'base', 'begin', 'class', 'default', 'delegate', 'do', 'done',
        -            'downcast', 'downto', 'elif', 'else', 'end', 'exception', 'extern', 'false', 'finally', 'for',
        -            'fun', 'function', 'if', 'in', 'inherit', 'inline', 'interface', 'internal', 'lazy', 'let',
        -            'match', 'member', 'module', 'mutable', 'namespace', 'new', 'not', 'null', 'of', 'open', 'or',
        -            'override', 'private', 'public', 'rec', 'return', 'sig', 'static', 'struct', 'then', 'to',
        -            'true', 'try', 'type', 'upcast', 'use', 'val', 'void', 'when', 'while', 'with', 'yield',
        -            'asr', 'land', 'lor', 'lsl', 'lsr', 'lxor', 'mod',
        -            /* identifiers are reserved for future use by F# */
        -            'atomic', 'break', 'checked', 'component', 'const', 'constraint', 'constructor',
        -            'continue', 'eager', 'fixed', 'fori', 'functor', 'global', 'include', 'method', 'mixin',
        -            'object', 'parallel', 'params', 'process', 'protected', 'pure', 'sealed', 'tailcall',
        -            'trait', 'virtual', 'volatile',
        -            /* take monads into account */
        -            'let!', 'yield!'
        -            ),
        -        /* define names of main libraries in F# Core, so we can link to it
        -         * http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/namespaces.html
        -         */
        -        2 => array(
        -            'Array', 'Array2D', 'Array3D', 'Array4D', 'ComparisonIdentity', 'HashIdentity', 'List',
        -            'Map', 'Seq', 'SequenceExpressionHelpers', 'Set', 'CommonExtensions', 'Event',
        -            'ExtraTopLevelOperators', 'LanguagePrimitives', 'NumericLiterals', 'Operators',
        -            'OptimizedClosures', 'Option', 'String', 'NativePtr', 'Printf'
        -            ),
        -        /* 17.2 & 17.3 */
        -        3 => array(
        -            'abs', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'exp',
        -            'floor', 'log', 'log10', 'pown', 'round', 'sign', 'sin', 'sinh', 'sqrt',
        -            'tan', 'tanh',
        -            'ignore',
        -            'fst', 'snd',
        -            'stdin', 'stdout', 'stderr',
        -            'KeyValue',
        -            'max', 'min'
        -            ),
        -        /* Pervasives Types & Overloaded Conversion Functions */
        -        4 => array(
        -            'bool', 'byref', 'byte', 'char', 'decimal', 'double', 'exn', 'float', 'float32',
        -            'FuncConvert', 'ilsigptr', 'int', 'int16', 'int32', 'int64', 'int8',
        -            'nativeint', 'nativeptr', 'obj', 'option', 'ref', 'sbyte', 'single', 'string', 'uint16',
        -            'uint32', 'uint64', 'uint8', 'unativeint', 'unit',
        -            'enum',
        -            'async', 'seq', 'dict'
        -            ),
        -        /* 17.2 Exceptions */
        -        5 => array (
        -            'failwith', 'invalidArg', 'raise', 'rethrow'
        -            ),
        -        /* 3.3 Conditional compilation & 13.3 Compiler Directives + light / light off */
        -        6 => array(
        -            '(*IF-FSHARP', 'ENDIF-FSHARP*)', '(*F#', 'F#*)', '(*IF-OCAML', 'ENDIF-OCAML*)',
        -            '#light',
        -            '#if', '#else', '#endif', '#indent', '#nowarn', '#r', '#reference',
        -            '#I', '#Include', '#load', '#time', '#help', '#q', '#quit',
        -            ),
        -        /* 3.11 Pre-processor Declarations / Identifier Replacements */
        -        7 => array(
        -            '__SOURCE_DIRECTORY__', '__SOURCE_FILE__', '__LINE__'
        -            ),
        -        /* 17.2 Object Transformation Operators */
        -        8 => array(
        -            'box', 'hash', 'sizeof', 'typeof', 'typedefof', 'unbox'
        -            )
        -        ),
        -    /* 17.2 basic operators + the yield and yield! arrows */
        -    'SYMBOLS' => array(
        -        1 => array('+', '-', '/', '*', '**', '%', '~-'),
        -        2 => array('<', '<=', '>', '<=', '=', '<>'),
        -        3 => array('<<<', '>>>', '^^^', '&&&', '|||', '~~~'),
        -        4 => array('|>', '>>', '<|', '<<'),
        -        5 => array('!', '->', '->>'),
        -        6 => array('[',']','(',')','{','}', '[|', '|]', '(|', '|)'),
        -        7 => array(':=', ';', ';;')
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true, /* keywords */
        -        2 => true, /* modules */
        -        3 => true, /* pervasives functions */
        -        4 => true, /* types and overloaded conversion operators */
        -        5 => true, /* exceptions */
        -        6 => true, /* conditional compilation & compiler Directives */
        -        7 => true, /* pre-processor declarations / identifier replacements */
        -        8 => true  /* object transformation operators */
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            2 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            3 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            4 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            5 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            6 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            7 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            8 => 'color: #06c; font-weight: bold;' /* nice blue */
        -            ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #5d478b; font-style: italic;', /* light purple */
        -            1 => 'color: #5d478b; font-style: italic;',
        -            2 => 'color: #5d478b; font-style: italic;', /* light purple */
        -            3 => 'color: #5d478b; font-style: italic;' /* light purple */
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #6c6;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #3cb371;' /* nice green */
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #c6c;' /* pink */
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #060;' /* dark green */
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #a52a2a;' /* maroon */
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        /* some of keywords are Pervasives functions (land, lxor, asr, ...) */
        -        1 => '',
        -        2 => 'http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/namespaces.html',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => '',
        -        8 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?|^])",
        -            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/gambas.php b/vendor/easybook/geshi/geshi/gambas.php
        deleted file mode 100644
        index 295edd0..0000000
        --- a/vendor/easybook/geshi/geshi/gambas.php
        +++ /dev/null
        @@ -1,213 +0,0 @@
        - 'GAMBAS',
        -    'COMMENT_SINGLE' => array(1 => "'"),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        //keywords
        -        1 => array(
        -            'APPEND', 'AS', 'BREAK', 'BYREF', 'CASE', 'CATCH', 'CLASS', 'CLOSE', 'CONST', 'CONTINUE', 'COPY',
        -            'CREATE', 'DEBUG', 'DEC', 'DEFAULT', 'DIM', 'DO', 'EACH', 'ELSE', 'END', 'ENDIF', 'ERROR', 'EVENT', 'EXEC',
        -            'EXPORT', 'EXTERN', 'FALSE', 'FINALLY', 'FLUSH', 'FOR', 'FUNCTION', 'GOTO', 'IF', 'IN', 'INC', 'INHERITS',
        -            'INPUT', 'FROM', 'IS', 'KILL', 'LAST', 'LIBRARY', 'LIKE', 'LINE INPUT', 'LINK', 'LOCK', 'LOOP', 'ME',
        -            'MKDIR', 'MOVE', 'NEW', 'NEXT', 'NULL', 'OPEN', 'OPTIONAL', 'OUTPUT', 'PIPE', 'PRINT', 'PRIVATE',
        -            'PROCEDURE', 'PROPERTY', 'PUBLIC', 'QUIT', 'RAISE', 'RANDOMIZE', 'READ', 'REPEAT', 'RETURN', 'RMDIR',
        -            'SEEK', 'SELECT', 'SHELL', 'SLEEP', 'STATIC', 'STEP', 'STOP', 'SUB', 'SUPER', 'SWAP', 'THEN', 'TO',
        -            'TRUE', 'TRY', 'UNLOCK', 'UNTIL', 'WAIT', 'WATCH', 'WEND', 'WHILE', 'WITH', 'WRITE'
        -            ),
        -        //functions
        -        2 => array(
        -            'Abs', 'Access', 'Acos', 'Acosh', 'Alloc', 'Ang', 'Asc', 'ASin', 'ASinh', 'Asl', 'Asr', 'Assign', 'Atan',
        -            'ATan2', 'ATanh',
        -            'BChg', 'BClr', 'Bin', 'BSet', 'BTst',
        -            'CBool', 'Cbr', 'CByte', 'CDate', 'CFloat', 'Choose', 'Chr', 'CInt', 'CLong', 'Comp', 'Conv', 'Cos',
        -            'Cosh', 'CShort', 'CSng', 'CStr',
        -            'DateAdd', 'DateDiff', 'Day', 'DConv', 'Deg', 'DFree', 'Dir',
        -            'Eof', 'Eval', 'Exist', 'Exp', 'Exp10', 'Exp2', 'Expm',
        -            'Fix', 'Format', 'Frac', 'Free',
        -            'Hex', 'Hour', 'Hyp',
        -            'Iif', 'InStr', 'Int', 'IsAscii', 'IsBlank', 'IsBoolean', 'IsByte', 'IsDate', 'IsDigit', 'IsDir',
        -            'IsFloat', 'IsHexa', 'IsInteger', 'IsLCase', 'IsLetter', 'IsLong', 'IsNull', 'IsNumber', 'IsObject',
        -            'IsPunct', 'IsShort', 'IsSingle', 'IsSpace', 'IsString', 'IsUCase', 'IsVariant',
        -            'LCase', 'Left', 'Len', 'Lof', 'Log', 'Log10', 'Log2', 'Logp', 'Lsl', 'Lsr', 'LTrim',
        -            'Mag', 'Max', 'Mid', 'Min', 'Minute', 'Month', 'Now', 'Quote',
        -            'Rad', 'RDir', 'Realloc', 'Replace', 'Right', 'RInStr', 'Rnd', 'Rol', 'Ror', 'Round', 'RTrim',
        -            'Scan', 'SConv', 'Second', 'Seek', 'Sgn', 'Shl', 'Shr', 'Sin', 'Sinh', 'Space', 'Split', 'Sqr',
        -            'Stat', 'Str', 'StrPtr', 'Subst',
        -            'Tan', 'Tanh', 'Temp$', 'Time', 'Timer', 'Tr', 'Trim', 'TypeOf',
        -            'UCase', 'Unquote', 'Val', 'VarPtr', 'Week', 'WeekDay', 'Year'
        -            ),
        -        //string functions
        -        3 => array(
        -            'Bin$', 'Chr$', 'Conv$', 'DConv$', 'Format$', 'Hex$', 'LCase$', 'Left$', 'LTrim$', 'Mid$', 'Quote$',
        -            'Replace$', 'Right$', 'SConv$', 'Space$', 'Str$', 'String$', 'Subst$', 'Tr$', 'Trim$', 'UCase$',
        -            'Unquote$'
        -            ),
        -        //datatypes
        -        4 => array(
        -            'Boolean', 'Byte', 'Short', 'Integer', 'Long', 'Single', 'Float', 'Date', 'String', 'Variant', 'Object',
        -            'Pointer', 'File'
        -            ),
        -        //operators
        -        5 => array(
        -            'AND', 'DIV', 'MOD', 'NOT', 'OR', 'XOR'
        -            ),
        -        //objects/classes
        -        6 => array(
        -            'Application', 'Array', 'Byte[]', 'Collection', 'Component', 'Enum', 'Observer', 'Param', 'Process',
        -            'Stream', 'System', 'User', 'Chart', 'Compress', 'Crypt', 'Blob', 'Connection', 'DB', 'Database',
        -            'DatabaseUser', 'Field', 'Index', 'Result', 'ResultField', 'Table', 'DataBrowser', 'DataCombo',
        -            'DataControl', 'DataSource', 'DataView', 'Desktop', 'DesktopFile', 'Balloon', 'ColorButton',
        -            'ColorChooser', 'DateChooser', 'DirChooser', 'DirView', 'Expander', 'FileChooser', 'FileView',
        -            'FontChooser', 'InputBox', 'ListContainer', 'SidePanel', 'Stock', 'TableView', 'ToolPanel', 'ValueBox',
        -            'Wizard', 'Dialog', 'ToolBar', 'WorkSpace', 'DnsClient', 'SerialPort', 'ServerSocket', 'Socket',
        -            'UdpSocket', 'FtpClient', 'HttpClient', 'SmtpClient', 'Regexp', 'Action', 'Button', 'CheckBox',
        -            'ColumnView', 'ComboBox', 'Draw', 'Container', 'Control', 'Cursor', 'DrawingArea', 'Embedder',
        -            'Font', 'Form', 'Frame', 'GridView', 'HBox', 'HPanel', 'HSplit', 'IconView', 'Image', 'Key', 'Label',
        -            'Line', 'ListBox', 'ListView', 'Menu', 'Message', 'Mouse', 'MovieBox', 'Panel', 'Picture', 'PictureBox',
        -            'ProgressBar', 'RadioButton', 'ScrollBar', 'ScrollView', 'Separator', 'Slider', 'SpinBox', 'TabStrip',
        -            'TextArea', 'TextBox', 'TextLabel', 'ToggleButton', 'TrayIcon', 'TreeView', 'VBox', 'VPanel', 'VSplit',
        -            'Watcher', 'Window', 'Dial', 'Editor', 'LCDNumber', 'Printer', 'TextEdit', 'WebBrowser', 'GLarea',
        -            'Report', 'ReportCloner', 'ReportContainer', 'ReportControl', 'ReportDrawing', 'ReportField', 'ReportHBox',
        -            'ReportImage', 'ReportLabel', 'ReportSection', 'ReportSpecialField', 'ReportTextLabel', 'ReportVBox',
        -            'CDRom', 'Channel', 'Music', 'Sound', 'Settings', 'VideoDevice', 'Vb', 'CGI', 'HTML', 'Request', 'Response',
        -            'Session', 'XmlDocument', 'XmlNode', 'XmlReader', 'XmlReaderNodeType', 'XmlWriter', 'RpcArray', 'RpcClient',
        -            'RpcFunction', 'RpcServer', 'RpcStruct', 'RpcType', 'XmlRpc', 'Xslt'
        -            ),
        -        //constants
        -        7 => array(
        -            'Pi'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '&', '&=', '&/', '*', '*=', '+', '+=', '-', '-=', '//', '/', '/=', '=', '==', '\\', '\\=',
        -        '^', '^=', '[', ']', '{', '}', '<', '>', '<>', '<=', '>='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false,
        -        7 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0600FF; font-weight: bold;',          // Keywords
        -            2 => 'color: #8B1433;',                             // Functions
        -            3 => 'color: #8B1433;',                             // String Functions
        -            4 => 'color: #0600FF;',                             // Data Types
        -            5 => 'color: #1E90FF;',                             // Operators
        -            6 => 'color: #0600FF;',                             // Objects/Components
        -            7 => 'color: #0600FF;'                              // Constants
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #1A5B1A; font-style: italic;',
        -            'MULTI' => 'color: #1A5B1A; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #008080;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #612188;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #7E4B05;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF0000;',
        -            GESHI_NUMBER_INT_BASIC => 'color: #FF0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0000FF;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #6132B2;'
        -            ),
        -        'REGEXPS' => array(
        -            //3 => 'color: #8B1433;'  //fakes '$' colour matched by REGEXP
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://gambasdoc.org/help/lang/{FNAMEL}',
        -        2 => 'http://gambasdoc.org/help/lang/{FNAMEL}',
        -        3 => 'http://www.google.com/search?hl=en&q={FNAMEL}+site:http://gambasdoc.org/help/lang/&btnI=I%27m%20Feeling%20Lucky',
        -        4 => 'http://gambasdoc.org/help/lang/type/{FNAMEL}',
        -        5 => 'http://gambasdoc.org/help/lang/{FNAMEL}',
        -        6 => 'http://www.google.com/search?hl=en&q={FNAMEL}+site:http://gambasdoc.org/&btnI=I%27m%20Feeling%20Lucky',
        -        7 => 'http://gambasdoc.org/help/lang/{FNAMEL}'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 =>'.'
        -        ),
        -    'REGEXPS' => array(
        -        //3 => "\\$(?!\\w)"   //matches '$' at the end of Keyword
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            2 => array(
        -                'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\|%\\-&;\$])"
        -                )
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/gdb.php b/vendor/easybook/geshi/geshi/gdb.php
        deleted file mode 100644
        index 9f63d25..0000000
        --- a/vendor/easybook/geshi/geshi/gdb.php
        +++ /dev/null
        @@ -1,196 +0,0 @@
        - 'GDB',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        0 => array(
        -            'Application',
        -            'signal',
        -            ),
        -        1 => array(
        -            'Segmentation fault',
        -            '[KCrash Handler]',
        -            ),
        -        ),
        -    'NUMBERS' => false,
        -    'SYMBOLS' => array(
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        0 => true,
        -        1 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            0 => 'font-weight:bold;',
        -            1 => 'font-weight:bold; color: #ff0000;'
        -            ),
        -        'COMMENTS' => array(
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'font-weight:bold;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #933;'
        -            ),
        -        'NUMBERS' => array(
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #000066; font-weight:bold;',
        -            1 => 'color: #006600;',
        -            2 => 'color: #B07E00;',
        -            3 => 'color: #0057AE; text-style:italic;',
        -            4 => 'color: #0057AE; text-style:italic;',
        -            5 => 'color: #442886;',
        -            6 => 'color: #442886; font-weight:bold;',
        -            7 => 'color: #FF0000; font-weight:bold;',
        -            8 => 'color: #006E26;',
        -            9 => 'color: #555;',
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        0 => '',
        -        1 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //[Current Thread...], [KCrash Handler] etc.
        -        0 => array(
        -            GESHI_SEARCH => '^\[.+\]',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //stack number
        -        1 => array(
        -            GESHI_SEARCH => '^#\d+',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //Thread X (Thread...)
        -        2 => array(
        -            GESHI_SEARCH => '^Thread \d.+$',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //Files with linenumbers
        -        3 => array(
        -            GESHI_SEARCH => '(at\s+)(.+)(:\d+\s*)$',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -        //Libs without linenumbers
        -        4 => array(
        -            GESHI_SEARCH => '(from\s+)(.+)(\s*)$',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -        //Line numbers
        -        5 => array(
        -            GESHI_SEARCH => '(:)(\d+)(\s*)$',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -        //Location
        -        6 => array(
        -            GESHI_SEARCH => '(\s+)(in\s+)?([^ 0-9][^ ]*)([ \n]+\()',
        -            GESHI_REPLACE => '\\3',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1\\2',
        -            GESHI_AFTER => '\\4'
        -            ),
        -        // interesting parts: abort, qFatal, assertions, null ptrs, ...
        -        7 => array(
        -            GESHI_SEARCH => '\b((?:\*__GI_)?(?:__assert_fail|abort)|qFatal|0x0)\b([^\.]|$)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '\\2'
        -            ),
        -        // Namespace / Classes
        -        8 => array(
        -            GESHI_SEARCH => '\b(\w+)(::)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'U',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '\\2'
        -            ),
        -        // make ptr adresses and  uninteresting
        -        9 => '\b(?:0x[a-f0-9]{2,}|value\s+optimized\s+out)\b'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'NUMBERS' => false
        -            ),
        -        )
        -);
        -
        -// kate: replace-tabs on; indent-width 4;
        diff --git a/vendor/easybook/geshi/geshi/genero.php b/vendor/easybook/geshi/geshi/genero.php
        deleted file mode 100644
        index 2ab2485..0000000
        --- a/vendor/easybook/geshi/geshi/genero.php
        +++ /dev/null
        @@ -1,461 +0,0 @@
        - 'genero',
        -    'COMMENT_SINGLE' => array(1 => '--', 2 => '#'),
        -    'COMMENT_MULTI' => array('{' => '}'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            "ABSOLUTE",
        -            "ACCEPT",
        -            "ACTION",
        -            "ADD",
        -            "AFTER",
        -            "ALL",
        -            "ALTER",
        -            "AND",
        -            "ANY",
        -            "APPEND",
        -            "APPLICATION",
        -            "AS",
        -            "AT",
        -            "ATTRIBUTE",
        -            "ATTRIBUTES",
        -            "AUDIT",
        -            "AVG",
        -            "BEFORE",
        -            "BEGIN",
        -            "BETWEEN",
        -            "BORDER",
        -            "BOTTOM",
        -            "BREAKPOINT",
        -            "BUFFER",
        -            "BUFFERED",
        -            "BY",
        -            "CALL",
        -            "CANCEL",
        -            "CASE",
        -            "CENTURY",
        -            "CHANGE",
        -            "CHECK",
        -            "CLEAR",
        -            "CLIPPED",
        -            "CLOSE",
        -            "CLUSTER",
        -            "COLUMN",
        -            "COLUMNS",
        -            "COMMAND",
        -            "COMMENT",
        -            "COMMIT",
        -            "COMMITTED",
        -            "CONCURRENT ",
        -            "CONNECT",
        -            "CONNECTION",
        -            "CONSTANT",
        -            "CONSTRAINED",
        -            "CONSTRAINT",
        -            "CONSTRUCT",
        -            "CONTINUE",
        -            "CONTROL",
        -            "COUNT",
        -            "CREATE",
        -            "CROSS",
        -            "CURRENT",
        -            "DATABASE",
        -            "DBA",
        -            "DEC",
        -            "DECLARE",
        -            "DEFAULT",
        -            "DEFAULTS",
        -            "DEFER",
        -            "DEFINE",
        -            "DELETE",
        -            "DELIMITER",
        -            "DESCRIBE",
        -            "DESTINATION",
        -            "DIM",
        -            "DIALOG",
        -            "DIMENSION",
        -            "DIRTY",
        -            "DISCONNECT",
        -            "DISPLAY",
        -            "DISTINCT",
        -            "DORMANT",
        -            "DOWN",
        -            "DROP",
        -            "DYNAMIC",
        -            "ELSE",
        -            "END",
        -            "ERROR",
        -            "ESCAPE",
        -            "EVERY",
        -            "EXCLUSIVE",
        -            "EXECUTE",
        -            "EXISTS",
        -            "EXIT",
        -            "EXPLAIN",
        -            "EXTEND",
        -            "EXTENT",
        -            "EXTERNAL",
        -            "FETCH",
        -            "FGL_DRAWBOX",
        -            "FIELD",
        -            "FIELD_TOUCHED",
        -            "FILE",
        -            "FILL",
        -            "FINISH",
        -            "FIRST",
        -            "FLOAT",
        -            "FLUSH",
        -            "FOR",
        -            "FOREACH",
        -            "FORM",
        -            "FORMAT",
        -            "FOUND",
        -            "FRACTION",
        -            "FREE",
        -            "FROM",
        -            "FULL",
        -            "FUNCTION",
        -            "GET_FLDBUF",
        -            "GLOBALS",
        -            "GO",
        -            "GOTO",
        -            "GRANT",
        -            "GROUP",
        -            "HAVING",
        -            "HEADER",
        -            "HELP",
        -            "HIDE",
        -            "HOLD",
        -            "HOUR",
        -            "IDLE",
        -            "IF",
        -            "IMAGE",
        -            "IMMEDIATE",
        -            "IN",
        -            "INDEX",
        -            "INFIELD",
        -            "INITIALIZE",
        -            "INNER",
        -            "INPUT",
        -            "INSERT",
        -            "INTERRUPT",
        -            "INTERVAL",
        -            "INTO",
        -            "INVISIBLE",
        -            "IS",
        -            "ISOLATION",
        -            "JOIN",
        -            "KEEP",
        -            "KEY",
        -            "LABEL",
        -            "LAST",
        -            "LEFT",
        -            "LENGTH",
        -            "LET",
        -            "LIKE",
        -            "LINE",
        -            "LINENO",
        -            "LINES",
        -            "LOAD",
        -            "LOCATE",
        -            "LOCK",
        -            "LOG",
        -            "LSTR",
        -            "MAIN",
        -            "MARGIN",
        -            "MATCHES",
        -            "MAX",
        -            "MAXCOUNT",
        -            "MDY",
        -            "MEMORY",
        -            "MENU",
        -            "MESSAGE",
        -            "MIN",
        -            "MINUTE",
        -            "MOD",
        -            "MODE",
        -            "MODIFY",
        -            "MONEY",
        -            "NAME",
        -            "NEED",
        -            "NEXT",
        -            "NO",
        -            "NORMAL",
        -            "NOT",
        -            "NOTFOUND",
        -            "NULL",
        -            "NUMERIC",
        -            "OF",
        -            "ON",
        -            "OPEN",
        -            "OPTION",
        -            "OPTIONS",
        -            "OR",
        -            "ORDER",
        -            "OTHERWISE",
        -            "OUTER",
        -            "OUTPUT",
        -            "PAGE",
        -            "PAGENO",
        -            "PAUSE",
        -            "PERCENT",
        -            "PICTURE",
        -            "PIPE",
        -            "PRECISION",
        -            "PREPARE",
        -            "PREVIOUS",
        -            "PRINT",
        -            "PRINTER",
        -            "PRINTX",
        -            "PRIOR",
        -            "PRIVILEGES",
        -            "PROCEDURE",
        -            "PROGRAM",
        -            "PROMPT",
        -            "PUBLIC",
        -            "PUT",
        -            "QUIT",
        -            "READ",
        -            "REAL",
        -            "RECORD",
        -            "RECOVER",
        -            "RED ",
        -            "RELATIVE",
        -            "RENAME",
        -            "REOPTIMIZATION",
        -            "REPEATABLE",
        -            "REPORT",
        -            "RESOURCE",
        -            "RETURN",
        -            "RETURNING",
        -            "REVERSE",
        -            "REVOKE",
        -            "RIGHT",
        -            "ROLLBACK",
        -            "ROLLFORWARD",
        -            "ROW",
        -            "ROWS",
        -            "RUN",
        -            "SCHEMA",
        -            "SCREEN",
        -            "SCROLL",
        -            "SECOND",
        -            "SELECT",
        -            "SERIAL",
        -            "SET",
        -            "SFMT",
        -            "SHARE",
        -            "SHIFT",
        -            "SHOW",
        -            "SIGNAL ",
        -            "SIZE",
        -            "SKIP",
        -            "SLEEP",
        -            "SOME",
        -            "SPACE",
        -            "SPACES",
        -            "SQL",
        -            "SQLERRMESSAGE",
        -            "SQLERROR",
        -            "SQLSTATE",
        -            "STABILITY",
        -            "START",
        -            "STATISTICS",
        -            "STEP",
        -            "STOP",
        -            "STYLE",
        -            "SUM",
        -            "SYNONYM",
        -            "TABLE",
        -            "TEMP",
        -            "TERMINATE",
        -            "TEXT",
        -            "THEN",
        -            "THROUGH",
        -            "THRU",
        -            "TO",
        -            "TODAY",
        -            "TOP",
        -            "TRAILER",
        -            "TRANSACTION ",
        -            "UNBUFFERED",
        -            "UNCONSTRAINED",
        -            "UNDERLINE",
        -            "UNION",
        -            "UNIQUE",
        -            "UNITS",
        -            "UNLOAD",
        -            "UNLOCK",
        -            "UP",
        -            "UPDATE",
        -            "USE",
        -            "USER",
        -            "USING",
        -            "VALIDATE",
        -            "VALUE",
        -            "VALUES",
        -            "VARCHAR",
        -            "VIEW",
        -            "WAIT",
        -            "WAITING",
        -            "WARNING",
        -            "WHEN",
        -            "WHENEVER",
        -            "WHERE",
        -            "WHILE",
        -            "WINDOW",
        -            "WITH",
        -            "WITHOUT",
        -            "WORDWRAP",
        -            "WORK",
        -            "WRAP"
        -            ),
        -        2 => array(
        -            '&IFDEF', '&ENDIF'
        -            ),
        -        3 => array(
        -            "ARRAY",
        -            "BYTE",
        -            "CHAR",
        -            "CHARACTER",
        -            "CURSOR",
        -            "DATE",
        -            "DATETIME",
        -            "DECIMAL",
        -            "DOUBLE",
        -            "FALSE",
        -            "INT",
        -            "INTEGER",
        -            "SMALLFLOAT",
        -            "SMALLINT",
        -            "STRING",
        -            "TIME",
        -            "TRUE"
        -            ),
        -        4 => array(
        -            "BLACK",
        -            "BLINK",
        -            "BLUE",
        -            "BOLD",
        -            "ANSI",
        -            "ASC",
        -            "ASCENDING",
        -            "ASCII",
        -            "CYAN",
        -            "DESC",
        -            "DESCENDING",
        -            "GREEN",
        -            "MAGENTA",
        -            "OFF",
        -            "WHITE",
        -            "YELLOW",
        -            "YEAR",
        -            "DAY",
        -            "MONTH",
        -            "WEEKDAY"
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '+', '-', '*', '?', '=', '/', '%', '>', '<', '^', '!', '|', ':',
        -        '(', ')', '[', ']'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0600FF;',
        -            2 => 'color: #0000FF; font-weight: bold;',
        -            3 => 'color: #008000;',
        -            4 => 'color: #FF0000;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008080; font-style: italic;',
        -            2 => 'color: #008080;',
        -            'MULTI' => 'color: #008080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #008080; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #808080;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0000FF;',
        -            2 => 'color: #0000FF;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/genie.php b/vendor/easybook/geshi/geshi/genie.php
        deleted file mode 100644
        index 3bab1b7..0000000
        --- a/vendor/easybook/geshi/geshi/genie.php
        +++ /dev/null
        @@ -1,155 +0,0 @@
        - 'Genie',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Using and Namespace directives (basic support)
        -        //Please note that the alias syntax for using is not supported
        -        3 => '/(?:(?<=using[\\n\\s])|(?<=namespace[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*[a-zA-Z0-9_]+[\n\s]*(?=[;=])/i'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'HARDQUOTE' => array('@"', '"'),
        -    'HARDESCAPE' => array('""'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'and', 'as', 'abstract', 'break', 'case', 'cast', 'catch', 'const',
        -            'construct', 'continue', 'default', 'def', 'delete', 'div',
        -            'dynamic', 'do', 'downto', 'else', 'ensures', 'except', 'extern',
        -            'false', 'final', 'finally', 'for', 'foreach', 'get', 'if', 'in',
        -            'init', 'inline', 'internal', 'implements', 'lock', 'not', 'null',
        -            'of', 'or', 'otherwise', 'out', 'override', 'pass', 'raise',
        -            'raises', 'readonly', 'ref', 'requires', 'self', 'set', 'static',
        -            'super', 'switch', 'to', 'true', 'try', 'unless', 'uses', 'var', 'virtual',
        -            'volatile', 'void', 'when', 'while'
        -            ),
        -//        2 => array(
        -//            ),
        -        3 => array(
        -            'is', 'isa', 'new', 'owned', 'sizeof', 'typeof', 'unchecked',
        -            'unowned', 'weak'
        -            ),
        -        4 => array(
        -            'bool', 'byte', 'class', 'char', 'date', 'datetime', 'decimal', 'delegate',
        -            'double', 'enum', 'event', 'exception', 'float', 'int', 'interface',
        -            'long', 'object', 'prop', 'sbyte', 'short', 'single', 'string',
        -            'struct', 'ulong', 'ushort'
        -            ),
        -//        5 => array(
        -//            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', ':', ';',
        -        '(', ')', '{', '}', '[', ']', '|'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -//        2 => false,
        -        3 => false,
        -        4 => false,
        -//        5 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0600FF;',
        -//            2 => 'color: #FF8000; font-weight: bold;',
        -            3 => 'color: #008000;',
        -            4 => 'color: #FF0000;',
        -//            5 => 'color: #000000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008080; font-style: italic;',
        -//            2 => 'color: #008080;',
        -            3 => 'color: #008080;',
        -            'MULTI' => 'color: #008080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #008080; font-weight: bold;',
        -            'HARD' => 'color: #008080; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #666666;',
        -            'HARD' => 'color: #666666;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0000FF;',
        -            2 => 'color: #0000FF;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -//        2 => '',
        -        3 => '',
        -        4 => '',
        -//        5 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?|^])",
        -            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
        -        )
        -    )
        -);
        diff --git a/vendor/easybook/geshi/geshi/gettext.php b/vendor/easybook/geshi/geshi/gettext.php
        deleted file mode 100644
        index eb928bf..0000000
        --- a/vendor/easybook/geshi/geshi/gettext.php
        +++ /dev/null
        @@ -1,95 +0,0 @@
        - 'GNU Gettext',
        -    'COMMENT_SINGLE' => array('#:', '#.', '#,', '#|', '#'),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array('msgctxt', 'msgid_plural', 'msgid', 'msgstr'),
        -    ),
        -    'SYMBOLS' => array(),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -    ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;'
        -        ),
        -        'COMMENTS' => array(
        -            0 => 'color: #000099;',
        -            1 => 'color: #000099;',
        -            2 => 'color: #000099;',
        -            3 => 'color: #006666;',
        -            4 => 'color: #666666; font-style: italic;',
        -        ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -        ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -        ),
        -        'REGEXPS' => array(),
        -        'SYMBOLS' => array(),
        -        'NUMBERS' => array(
        -            0 => 'color: #000099;'
        -        ),
        -        'METHODS' => array(),
        -        'SCRIPT' => array(),
        -        'BRACKETS' => array(
        -            0 => 'color: #000099;'
        -        ),
        -    ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -);
        diff --git a/vendor/easybook/geshi/geshi/glsl.php b/vendor/easybook/geshi/geshi/glsl.php
        deleted file mode 100644
        index d254bb9..0000000
        --- a/vendor/easybook/geshi/geshi/glsl.php
        +++ /dev/null
        @@ -1,204 +0,0 @@
        - 'glSlang',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Multiline-continued single-line comments
        -        1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //Multiline-continued preprocessor define
        -        2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'if', 'else', 'for', 'while', 'do', 'break', 'continue', 'asm',
        -            'switch', 'case', 'default', 'return', 'discard',
        -            'namespace', 'using', 'sizeof', 'cast'
        -            ),
        -        2 => array(
        -            'const', 'uniform', 'attribute', 'centroid', 'varying', 'invariant',
        -            'in', 'out', 'inout', 'input', 'output', 'typedef', 'volatile',
        -            'public', 'static', 'extern', 'external', 'packed',
        -            'inline', 'noinline', 'noperspective', 'flat'
        -            ),
        -        3 => array(
        -            'void', 'bool', 'int', 'long', 'short', 'float', 'half', 'fixed',
        -            'unsigned', 'lowp', 'mediump', 'highp', 'precision',
        -            'vec2', 'vec3', 'vec4', 'bvec2', 'bvec3', 'bvec4',
        -            'dvec2', 'dvec3', 'dvec4', 'fvec2', 'fvec3', 'fvec4',
        -            'hvec2', 'hvec3', 'hvec4', 'ivec2', 'ivec3', 'ivec4',
        -            'mat2', 'mat3', 'mat4', 'mat2x2', 'mat3x2', 'mat4x2',
        -            'mat2x3', 'mat3x3', 'mat4x3', 'mat2x4', 'mat3x4', 'mat4x4',
        -            'sampler1D', 'sampler2D', 'sampler3D', 'samplerCube',
        -            'sampler1DShadow', 'sampler2DShadow',
        -            'struct', 'class', 'union', 'enum', 'interface', 'template'
        -            ),
        -        4 => array(
        -            'this', 'false', 'true'
        -            ),
        -        5 => array(
        -            'radians', 'degrees', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan',
        -            'pow', 'exp2', 'log2', 'sqrt', 'inversesqrt', 'abs', 'sign', 'ceil',
        -            'floor', 'fract', 'mod', 'min', 'max', 'clamp', 'mix', 'step',
        -            'smoothstep', 'length', 'distance', 'dot', 'cross', 'normalize',
        -            'ftransform', 'faceforward', 'reflect', 'matrixCompMult', 'equal',
        -            'lessThan', 'lessThanEqual', 'greaterThan', 'greaterThanEqual',
        -            'notEqual', 'any', 'all', 'not', 'texture1D', 'texture1DProj',
        -            'texture1DLod', 'texture1DProjLod', 'texture2D', 'texture2DProj',
        -            'texture2DLod', 'texture2DProjLod', 'texture3D', 'texture3DProj',
        -            'texture3DLod', 'texture3DProjLod', 'textureCube', 'textureCubeLod',
        -            'shadow1D', 'shadow1DProj', 'shadow1DLod', 'shadow1DProjLod',
        -            'shadow2D', 'shadow2DProj', 'shadow2DLod', 'shadow2DProjLod',
        -            'noise1', 'noise2', 'noise3', 'noise4'
        -            ),
        -        6 => array(
        -            'gl_Position', 'gl_PointSize', 'gl_ClipVertex', 'gl_FragColor',
        -            'gl_FragData', 'gl_FragDepth', 'gl_FragCoord', 'gl_FrontFacing',
        -            'gl_Color', 'gl_SecondaryColor', 'gl_Normal', 'gl_Vertex',
        -            'gl_MultiTexCoord0', 'gl_MultiTexCoord1', 'gl_MultiTexCoord2',
        -            'gl_MultiTexCoord3', 'gl_MultiTexCoord4', 'gl_MultiTexCoord5',
        -            'gl_MultiTexCoord6', 'gl_MultiTexCoord7', 'gl_FogCoord',
        -            'gl_MaxLights', 'gl_MaxClipPlanes', 'gl_MaxTextureUnits',
        -            'gl_MaxTextureCoords', 'gl_MaxVertexAttribs', 'gl_MaxVaryingFloats',
        -            'gl_MaxVertexUniformComponents', 'gl_MaxVertexTextureImageUnits',
        -            'gl_MaxCombinedTextureImageUnits', 'gl_MaxTextureImageUnits',
        -            'gl_MaxFragmentUniformComponents', 'gl_MaxDrawBuffers', 'gl_Point',
        -            'gl_ModelViewMatrix', 'gl_ProjectionMatrix', 'gl_FrontMaterial',
        -            'gl_ModelViewProjectionMatrix', 'gl_TextureMatrix', 'gl_ClipPlane',
        -            'gl_NormalMatrix', 'gl_ModelViewMatrixInverse', 'gl_BackMaterial',
        -            'gl_ProjectionMatrixInverse', 'gl_ModelViewProjectionMatrixInverse',
        -            'gl_TextureMatrixInverse', 'gl_ModelViewMatrixTranspose', 'gl_Fog',
        -            'gl_ProjectionMatrixTranspose', 'gl_NormalScale', 'gl_DepthRange',
        -            'gl_odelViewProjectionMatrixTranspose', 'gl_TextureMatrixTranspose',
        -            'gl_ModelViewMatrixInverseTranspose', 'gl_LightSource',
        -            'gl_ProjectionMatrixInverseTranspose', 'gl_LightModel',
        -            'gl_ModelViewProjectionMatrixInverseTranspose', 'gl_TexCoord',
        -            'gl_TextureMatrixInverseTranspose', 'gl_TextureEnvColor',
        -            'gl_FrontLightModelProduct', 'gl_BackLightModelProduct',
        -            'gl_FrontLightProduct', 'gl_BackLightProduct', 'gl_ObjectPlaneS',
        -            'gl_ObjectPlaneT', 'gl_ObjectPlaneR', 'gl_ObjectPlaneQ',
        -            'gl_EyePlaneS', 'gl_EyePlaneT', 'gl_EyePlaneR', 'gl_EyePlaneQ',
        -            'gl_FrontColor', 'gl_BackColor', 'gl_FrontSecondaryColor',
        -            'gl_BackSecondaryColor', 'gl_FogFragCoord', 'gl_PointCoord'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^',
        -        '&', '?', ':', '.', '|', ';', ',', '<', '>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #333399; font-weight: bold;',
        -            3 => 'color: #000066; font-weight: bold;',
        -            4 => 'color: #333399; font-weight: bold;',
        -            5 => 'color: #993333; font-weight: bold;',
        -            6 => 'color: #551111;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #009900;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000066;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000066;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'OOLANG' => array(
        -            'MATCH_BEFORE' => '',
        -            'MATCH_AFTER' => '[a-zA-Z_][a-zA-Z0-9_]*',
        -            'MATCH_SPACES' => '[\s]*'
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/gml.php b/vendor/easybook/geshi/geshi/gml.php
        deleted file mode 100644
        index 58387b3..0000000
        --- a/vendor/easybook/geshi/geshi/gml.php
        +++ /dev/null
        @@ -1,504 +0,0 @@
        -5 and KEYWORDS=>6 sections (actually, they were empty).
        - *     I was planning of using those for the GML functions available only in the
        - *     registered version of the program, but not anymore.
        - *
        - * 2005/06/26 (1.0.3)
        - *  -  First Release.
        - *
        - * TODO (updated 2005/11/11)
        - * -------------------------
        - *  -  Test it for a while and make the appropiate corrections.
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'GML',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'"),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        // language keywords
        -        1 => array(
        -            'break', 'continue', 'do', 'until', 'if', 'else',
        -            'exit', 'for', 'repeat', 'return', 'switch',
        -            'case', 'default', 'var', 'while', 'with', 'div', 'mod',
        -            // GML Language overview
        -            'self', 'other', 'all', 'noone', 'global',
        -            ),
        -        // modifiers and built-in variables
        -        2 => array(
        -            // Game play
        -            'x','y','xprevious','yprevious','xstart','ystart','hspeed','vspeed','direction','speed',
        -            'friction','gravity','gravity_direction',
        -            'path_index','path_position','path_positionprevious','path_speed','path_orientation',
        -            'path_endaction',
        -            'object_index','id','mask_index','solid','persistent','instance_count','instance_id',
        -            'room_speed','fps','current_time','current_year','current_month','current_day','current_weekday',
        -            'current_hour','current_minute','current_second','alarm','timeline_index','timeline_position',
        -            'timeline_speed',
        -            'room','room_first','room_last','room_width','room_height','room_caption','room_persistent',
        -            'score','lives','health','show_score','show_lives','show_health','caption_score','caption_lives',
        -            'caption_health',
        -            'event_type','event_number','event_object','event_action',
        -            'error_occurred','error_last',
        -            // User interaction
        -            'keyboard_lastkey','keyboard_key','keyboard_lastchar','keyboard_string',
        -            'mouse_x','mouse_y','mouse_button','mouse_lastbutton',
        -            // Game Graphics
        -            'sprite_index','sprite_width','sprite_height','sprite_xoffset','sprite_yoffset',
        -            'image_number','image_index','image_speed','image_xscale','image_yscale','image_angle',
        -            'image_alpha','image_blend','bbox_left','bbox_right','bbox_top','bbox_bottom',
        -            'background_color','background_showcolor','background_visible','background_foreground',
        -            'background_index','background_x','background_y','background_width','background_height',
        -            'background_htiled','background_vtiled','background_xscale','background_yscale',
        -            'background_hspeed','background_vspeed','background_blend','background_alpha',
        -            'background','left, top, width, height','depth','visible','xscale','yscale','blend','alpha',
        -            'view_enabled','view_current','view_visible','view_yview','view_wview','view_hview','view_xport',
        -            'view_yport','view_wport','view_hport','view_angle','view_hborder','view_vborder','view_hspeed',
        -            'view_vspeed','view_object',
        -            'transition_kind',
        -            // Files, registry and executing programs
        -            'game_id','working_directory','temp_directory',
        -            'secure_mode',
        -            // Creating particles
        -            'xmin', 'xmax', 'ymin', 'ymax','shape','distribution','particle type','number',
        -            'force','dist','kind','additive', 'parttype1', 'parttype2'
        -            ),
        -        // functions
        -        3 => array(
        -            // Computing things
        -            'random','choose','abs','sign','round','floor','ceil','frac','sqrt','sqr','power','exp','ln',
        -            'log2','log10','logn','sin','cos','tan','arcsin','arccos','arctan','arctan2','degtorad',
        -            'radtodeg','min','max','mean','median','point_distance','point_direction','lengthdir_x',
        -            'lengthdir_y','is_real','is_string',
        -            'chr','ord','real','string','string_format','string_length','string_pos','string_copy',
        -            'string_char_at','string_delete','string_insert','string_replace','string_replace_all',
        -            'string_count','string_lower','string_upper','string_repeat','string_letters','string_digits',
        -            'string_lettersdigits','clipboard_has_text','clipboard_get_text','clipboard_set_text',
        -            'date_current_datetime','date_current_date','date_current_time','date_create_datetime',
        -            'date_create_date','date_create_time','date_valid_datetime','date_valid_date','date_valid_time',
        -            'date_inc_year','date_inc_month','date_inc_week','date_inc_day','date_inc_hour',
        -            'date_inc_minute','date_inc_second','date_get_year','date_get_month','date_get_week',
        -            'date_get_day','date_get_hour', 'date_get_minute','date_get_second','date_get_weekday',
        -            'date_get_day_of_year','date_get_hour_of_year','date_get_minute_of_year',
        -            'date_get_second_of_year','date_year_span','date_month_span','date_week_span','date_day_span',
        -            'date_hour_span','date_minute_span','date_second_span','date_compare_datetime',
        -            'date_compare_date','date_compare_time','date_date_of','date_time_of','date_datetime_string',
        -            'date_date_string','date_time_string','date_days_in_month','date_days_in_year','date_leap_year',
        -            'date_is_today',
        -            // Game play
        -            'motion_set','motion_add','place_free','place_empty','place_meeting','place_snapped',
        -            'move_random','move_snap','move_wrap','move_towards_point','move_bounce_solid','move_bounce_all',
        -            'move_contact_solid','move_contact_all','move_outside_solid','move_outside_all',
        -            'distance_to_point','distance_to_object','position_empty','position_meeting',
        -            'path_start','path_end',
        -            'mp_linear_step','mp_linear_step_object','mp_potential_step','mp_potential_step_object',
        -            'mp_potential_settings','mp_linear_path','mp_linear_path_object', 'mp_potential_path',
        -            'mp_potential_path_object','mp_grid_create','mp_grid_destroy','mp_grid_clear_all',
        -            'mp_grid_clear_cell','mp_grid_clear_rectangle','mp_grid_add_cell','mp_grid_add_rectangle',
        -            'mp_grid_add_instances','mp_grid_path','mp_grid_draw',
        -            'collision_point','collision_rectangle','collision_circle','collision_ellipse','collision_line',
        -            'instance_find','instance_exists','instance_number','instance_position','instance_nearest',
        -            'instance_furthest','instance_place','instance_create','instance_copy','instance_destroy',
        -            'instance_change','position_destroy','position_change',
        -            'instance_deactivate_all','instance_deactivate_object','instance_deactivate_region',
        -            'instance_activate_all','instance_activate_object','instance_activate_region',
        -            'sleep',
        -            'room_goto','room_goto_previous','room_goto_next','room_restart','room_previous','room_next',
        -            'game_end','game_restart','game_save','game_load',
        -            'event_perform', 'event_perform_object','event_user','event_inherited',
        -            'show_debug_message','variable_global_exists','variable_local_exists','variable_global_get',
        -            'variable_global_array_get','variable_global_array2_get','variable_local_get',
        -            'variable_local_array_get','variable_local_array2_get','variable_global_set',
        -            'variable_global_array_set','variable_global_array2_set','variable_local_set',
        -            'variable_local_array_set','variable_local_array2_set','set_program_priority',
        -            // User interaction
        -            'keyboard_set_map','keyboard_get_map','keyboard_unset_map','keyboard_check',
        -            'keyboard_check_pressed','keyboard_check_released','keyboard_check_direct',
        -            'keyboard_get_numlock','keyboard_set_numlock','keyboard_key_press','keyboard_key_release',
        -            'keyboard_clear','io_clear','io_handle','keyboard_wait',
        -            'mouse_check_button','mouse_check_button_pressed','mouse_check_button_released','mouse_clear',
        -            'mouse_wait',
        -            'joystick_exists','joystick_name','joystick_axes','joystick_buttons','joystick_has_pov',
        -            'joystick_direction','joystick_check_button','joystick_xpos','joystick_ypos','joystick_zpos',
        -            'joystick_rpos','joystick_upos','joystick_vpos','joystick_pov',
        -            // Game Graphics
        -            'draw_sprite','draw_sprite_stretched','draw_sprite_tiled','draw_sprite_part','draw_background',
        -            'draw_background_stretched','draw_background_tiled','draw_background_part','draw_sprite_ext',
        -            'draw_sprite_stretched_ext','draw_sprite_tiled_ext','draw_sprite_part_ext','draw_sprite_general',
        -            'draw_background_ext','draw_background_stretched_ext','draw_background_tiled_ext',
        -            'draw_background_part_ext','draw_background_general',
        -            'draw_clear','draw_clear_alpha','draw_point','draw_line','draw_rectangle','draw_roundrect',
        -            'draw_triangle','draw_circle','draw_ellipse','draw_arrow','draw_button','draw_path',
        -            'draw_healthbar','draw_set_color','draw_set_alpha','draw_get_color','draw_get_alpha',
        -            'make_color_rgb','make_color_hsv','color_get_red','color_get_green','color_get_blue',
        -            'color_get_hue','color_get_saturation','color_get_value','merge_color','draw_getpixel',
        -            'screen_save','screen_save_part',
        -            'draw_set_font','draw_set_halign','draw_set_valign','draw_text','draw_text_ext','string_width',
        -            'string_height','string_width_ext','string_height_ext','draw_text_transformed',
        -            'draw_text_ext_transformed','draw_text_color','draw_text_ext_color',
        -            'draw_text_transformed_color','draw_text_ext_transformed_color',
        -            'draw_point_color','draw_line_color','draw_rectangle_color','draw_roundrect_color',
        -            'draw_triangle_color','draw_circle_color','draw_ellipse_color','draw_primitive_begin',
        -            'draw_vertex','draw_vertex_color','draw_primitive_end','sprite_get_texture',
        -            'background_get_texture','texture_preload','texture_set_priority',
        -            'texture_get_width','texture_get_height','draw_primitive_begin_texture','draw_vertex_texture',
        -            'draw_vertex_texture_color','texture_set_interpolation',
        -            'texture_set_blending','texture_set_repeat','draw_set_blend_mode','draw_set_blend_mode_ext',
        -            'surface_create','surface_free','surface_exists','surface_get_width','surface_get_height',
        -            'surface_get_texture','surface_set_target','surface_reset_target','surface_getpixel',
        -            'surface_save','surface_save_part','draw_surface','draw_surface_stretched','draw_surface_tiled',
        -            'draw_surface_part','draw_surface_ext','draw_surface_stretched_ext','draw_surface_tiled_ext',
        -            'draw_surface_part_ext','draw_surface_general','surface_copy','surface_copy_part',
        -            'tile_add','tile_delete','tile_exists','tile_get_x','tile_get_y','tile_get_left','tile_get_top',
        -            'tile_get_width','tile_get_height','tile_get_depth','tile_get_visible','tile_get_xscale',
        -            'tile_get_yscale','tile_get_background','tile_get_blend','tile_get_alpha','tile_set_position',
        -            'tile_set_region','tile_set_background','tile_set_visible','tile_set_depth','tile_set_scale',
        -            'tile_set_blend','tile_set_alpha','tile_layer_hide','tile_layer_show','tile_layer_delete',
        -            'tile_layer_shift','tile_layer_find','tile_layer_delete_at','tile_layer_depth',
        -            'display_get_width','display_get_height','display_get_colordepth','display_get_frequency',
        -            'display_set_size','display_set_colordepth','display_set_frequency','display_set_all',
        -            'display_test_all','display_reset','display_mouse_get_x','display_mouse_get_y','display_mouse_set',
        -            'window_set_visible','window_get_visible','window_set_fullscreen','window_get_fullscreen',
        -            'window_set_showborder','window_get_showborder','window_set_showicons','window_get_showicons',
        -            'window_set_stayontop','window_get_stayontop','window_set_sizeable','window_get_sizeable',
        -            'window_set_caption','window_get_caption','window_set_cursor', 'window_get_cursor',
        -            'window_set_color','window_get_color','window_set_region_scale','window_get_region_scale',
        -            'window_set_position','window_set_size','window_set_rectangle','window_center','window_default',
        -            'window_get_x','window_get_y','window_get_width','window_get_height','window_mouse_get_x',
        -            'window_mouse_get_y','window_mouse_set',
        -            'window_set_region_size','window_get_region_width','window_get_region_height',
        -            'window_view_mouse_get_x','window_view_mouse_get_y','window_view_mouse_set',
        -            'window_views_mouse_get_x','window_views_mouse_get_y','window_views_mouse_set',
        -            'screen_redraw','screen_refresh','set_automatic_draw','set_synchronization','screen_wait_vsync',
        -            // Sound and music)
        -            'sound_play','sound_loop','sound_stop','sound_stop_all','sound_isplaying','sound_volume',
        -            'sound_global_volume','sound_fade','sound_pan','sound_background_tempo','sound_set_search_directory',
        -            'sound_effect_set','sound_effect_chorus','sound_effect_echo',    'sound_effect_flanger',
        -            'sound_effect_gargle','sound_effect_reverb','sound_effect_compressor','sound_effect_equalizer',
        -            'sound_3d_set_sound_position','sound_3d_set_sound_velocity','sound_3d_set_sound_distance',
        -            'sound_3d_set_sound_cone',
        -            'cd_init','cd_present','cd_number','cd_playing','cd_paused','cd_track','cd_length',
        -            'cd_track_length','cd_position','cd_track_position','cd_play','cd_stop','cd_pause','cd_resume',
        -            'cd_set_position','cd_set_track_position','cd_open_door','cd_close_door','MCI_command',
        -            // Splash screens, highscores, and other pop-ups
        -            'show_text','show_image','show_video','show_info','load_info',
        -            'show_message','show_message_ext','show_question','get_integer','get_string',
        -            'message_background','message_alpha','message_button','message_text_font','message_button_font',
        -            'message_input_font','message_mouse_color','message_input_color','message_caption',
        -            'message_position','message_size','show_menu','show_menu_pos','get_color','get_open_filename',
        -            'get_save_filename','get_directory','get_directory_alt','show_error',
        -            'highscore_show','highscore_set_background','highscore_set_border','highscore_set_font',
        -            'highscore_set_colors','highscore_set_strings','highscore_show_ext','highscore_clear',
        -            'highscore_add','highscore_add_current','highscore_value','highscore_name','draw_highscore',
        -            // Resources
        -            'sprite_exists','sprite_get_name','sprite_get_number','sprite_get_width','sprite_get_height',
        -            'sprite_get_transparent','sprite_get_smooth','sprite_get_preload','sprite_get_xoffset',
        -            'sprite_get_yoffset','sprite_get_bbox_left','sprite_get_bbox_right','sprite_get_bbox_top',
        -            'sprite_get_bbox_bottom','sprite_get_bbox_mode','sprite_get_precise',
        -            'sound_exists','sound_get_name','sound_get_kind','sound_get_preload','sound_discard',
        -            'sound_restore',
        -            'background_exists','background_get_name','background_get_width','background_get_height',
        -            'background_get_transparent','background_get_smooth','background_get_preload',
        -            'font_exists','font_get_name','font_get_fontname','font_get_bold','font_get_italic',
        -            'font_get_first','font_get_last',
        -            'path_exists','path_get_name','path_get_length','path_get_kind','path_get_closed',
        -            'path_get_precision','path_get_number','path_get_point_x','path_get_point_y',
        -            'path_get_point_speed','path_get_x','path_get_y','path_get_speed',
        -            'script_exists','script_get_name','script_get_text',
        -            'timeline_exists','timeline_get_name',
        -            'object_exists','object_get_name','object_get_sprite','object_get_solid','object_get_visible',
        -            'object_get_depth','object_get_persistent','object_get_mask','object_get_parent',
        -            'object_is_ancestor',
        -            'room_exists','room_get_name',
        -            // Changing resources
        -            'sprite_set_offset','sprite_set_bbox_mode','sprite_set_bbox','sprite_set_precise',
        -            'sprite_duplicate','sprite_assign','sprite_merge','sprite_add','sprite_replace',
        -            'sprite_create_from_screen','sprite_add_from_screen','sprite_create_from_surface',
        -            'sprite_add_from_surface','sprite_delete','sprite_set_alpha_from_sprite',
        -            'sound_add','sound_replace','sound_delete',
        -            'background_duplicate','background_assign','background_add','background_replace',
        -            'background_create_color','background_create_gradient','background_create_from_screen',
        -            'background_create_from_surface','background_delete','background_set_alpha_from_background',
        -            'font_add','font_add_sprite','font_replace_sprite','font_delete',
        -            'path_set_kind','path_set_closed','path_set_precision','path_add','path_delete','path_duplicate',
        -            'path_assign','path_append','path_add_point','path_insert_point','path_change_point',
        -            'path_delete_point','path_clear_points','path_reverse','path_mirror','path_flip','path_rotate',
        -            'path_scale','path_shift',
        -            'execute_string','execute_file','script_execute',
        -            'timeline_add','timeline_delete','timeline_moment_add','timeline_moment_clear',
        -            'object_set_sprite','object_set_solid','object_set_visible','object_set_depth',
        -            'object_set_persistent','object_set_mask','object_set_parent','object_add','object_delete',
        -            'object_event_add','object_event_clear',
        -            'room_set_width','room_set_height','room_set_caption','room_set_persistent','room_set_code',
        -            'room_set_background_color','room_set_background','room_set_view','room_set_view_enabled',
        -            'room_add','room_duplicate','room_assign','room_instance_add','room_instance_clear',
        -            'room_tile_add','room_tile_add_ext','room_tile_clear',
        -            // Files, registry and executing programs
        -            'file_text_open_read','file_text_open_write','file_text_open_append','file_text_close',
        -            'file_text_write_string','file_text_write_real','file_text_writeln','file_text_read_string',
        -            'file_text_read_real','file_text_readln','file_text_eof','file_exists','file_delete',
        -            'file_rename','file_copy','directory_exists','directory_create','file_find_first',
        -            'file_find_next','file_find_close','file_attributes', 'filename_name','filename_path',
        -            'filename_dir','filename_drive','filename_ext','filename_change_ext','file_bin_open',
        -            'file_bin_rewrite','file_bin_close','file_bin_size','file_bin_position','file_bin_seek',
        -            'file_bin_write_byte','file_bin_read_byte','parameter_count','parameter_string',
        -            'environment_get_variable',
        -            'registry_write_string','registry_write_real','registry_read_string','registry_read_real',
        -            'registry_exists','registry_write_string_ext','registry_write_real_ext',
        -            'registry_read_string_ext','registry_read_real_ext','registry_exists_ext','registry_set_root',
        -            'ini_open','ini_close','ini_read_string','ini_read_real','ini_write_string','ini_write_real',
        -            'ini_key_exists','ini_section_exists','ini_key_delete','ini_section_delete',
        -            'execute_program','execute_shell',
        -            // Data structures
        -            'ds_stack_create','ds_stack_destroy','ds_stack_clear','ds_stack_size','ds_stack_empty',
        -            'ds_stack_push','ds_stack_pop','ds_stack_top',
        -            'ds_queue_create','ds_queue_destroy','ds_queue_clear','ds_queue_size','ds_queue_empty',
        -            'ds_queue_enqueue','ds_queue_dequeue','ds_queue_head','ds_queue_tail',
        -            'ds_list_create','ds_list_destroy','ds_list_clear','ds_list_size','ds_list_empty','ds_list_add',
        -            'ds_list_insert','ds_list_replace','ds_list_delete','ds_list_find_index','ds_list_find_value',
        -            'ds_list_sort',
        -            'ds_map_create','ds_map_destroy','ds_map_clear','ds_map_size','ds_map_empty','ds_map_add',
        -            'ds_map_replace','ds_map_delete','ds_map_exists','ds_map_find_value','ds_map_find_previous',
        -            'ds_map_find_next','ds_map_find_first','ds_map_find_last',
        -            'ds_priority_create','ds_priority_destroy','ds_priority_clear','ds_priority_size',
        -            'ds_priority_empty','ds_priority_add','ds_priority_change_priority','ds_priority_find_priority',
        -            'ds_priority_delete_value','ds_priority_delete_min','ds_priority_find_min',
        -            'ds_priority_delete_max','ds_priority_find_max',
        -            'ds_grid_create','ds_grid_destroy','ds_grid_resize','ds_grid_width','ds_grid_height',
        -            'ds_grid_clear','ds_grid_set','ds_grid_add','ds_grid_multiply','ds_grid_set_region',
        -            'ds_grid_add_region','ds_grid_multiply_region','ds_grid_set_disk','ds_grid_add_disk',
        -            'ds_grid_multiply_disk','ds_grid_get','ds_grid_get_sum','ds_grid_get_max','ds_grid_get_min',
        -            'ds_grid_get_mean','ds_grid_get_disk_sum','ds_grid_get_disk_min','ds_grid_get_disk_max',
        -            'ds_grid_get_disk_mean','ds_grid_value_exists','ds_grid_value_x','ds_grid_value_y',
        -            'ds_grid_value_disk_exists','ds_grid_value_disk_x','ds_grid_value_disk_y',
        -            // Creating particles
        -            'effect_create_below','effect_create_above','effect_clear',
        -            'part_type_create','part_type_destroy','part_type_exists','part_type_clear','part_type_shape',
        -            'part_type_sprite','part_type_size','part_type_scale',
        -            'part_type_orientation','part_type_color1','part_type_color2','part_type_color3',
        -            'part_type_color_mix','part_type_color_rgb','part_type_color_hsv',
        -            'part_type_alpha1','part_type_alpha2','part_type_alpha3','part_type_blend','part_type_life',
        -            'part_type_step','part_type_death','part_type_speed','part_type_direction','part_type_gravity',
        -            'part_system_create','part_system_destroy','part_system_exists','part_system_clear',
        -            'part_system_draw_order','part_system_depth','part_system_position',
        -            'part_system_automatic_update','part_system_automatic_draw','part_system_update',
        -            'part_system_drawit','part_particles_create','part_particles_create_color',
        -            'part_particles_clear','part_particles_count',
        -            'part_emitter_create','part_emitter_destroy','part_emitter_destroy_all','part_emitter_exists',
        -            'part_emitter_clear','part_emitter_region','part_emitter_burst','part_emitter_stream',
        -            'part_attractor_create','part_attractor_destroy','part_attractor_destroy_all',
        -            'part_attractor_exists','part_attractor_clear','part_attractor_position','part_attractor_force',
        -            'part_destroyer_create','part_destroyer_destroy','part_destroyer_destroy_all',
        -            'part_destroyer_exists','part_destroyer_clear','part_destroyer_region',
        -            'part_deflector_create','part_deflector_destroy','part_deflector_destroy_all',
        -            'part_deflector_exists','part_deflector_clear','part_deflector_region','part_deflector_kind',
        -            'part_deflector_friction',
        -            'part_changer_create','part_changer_destroy','part_changer_destroy_all','part_changer_exists',
        -            'part_changer_clear','part_changer_region','part_changer_types','part_changer_kind',
        -            // Multiplayer games
        -            'mplay_init_ipx','mplay_init_tcpip','mplay_init_modem','mplay_init_serial',
        -            'mplay_connect_status','mplay_end','mplay_ipaddress',
        -            'mplay_session_create','mplay_session_find','mplay_session_name','mplay_session_join',
        -            'mplay_session_mode','mplay_session_status','mplay_session_end',
        -            'mplay_player_find','mplay_player_name','mplay_player_id',
        -            'mplay_data_write','mplay_data_read','mplay_data_mode',
        -            'mplay_message_send','mplay_message_send_guaranteed','mplay_message_receive','mplay_message_id',
        -            'mplay_message_value','mplay_message_player','mplay_message_name','mplay_message_count',
        -            'mplay_message_clear',
        -            // Using DLL's
        -            'external_define','external_call','external_free','window_handle',
        -            // 3D Graphics
        -            'd3d_start','d3d_end','d3d_set_hidden','d3d_set_perspective',
        -            'd3d_set_depth',
        -            'd3d_primitive_begin','d3d_vertex','d3d_vertex_color','d3d_primitive_end',
        -            'd3d_primitive_begin_texture','d3d_vertex_texture','d3d_vertex_texture_color','d3d_set_culling',
        -            'd3d_draw_block','d3d_draw_cylinder','d3d_draw_cone','d3d_draw_ellipsoid','d3d_draw_wall',
        -            'd3d_draw_floor',
        -            'd3d_set_projection','d3d_set_projection_ext','d3d_set_projection_ortho',
        -            'd3d_set_projection_perspective',
        -            'd3d_transform_set_identity','d3d_transform_set_translation','d3d_transform_set_scaling',
        -            'd3d_transform_set_rotation_x','d3d_transform_set_rotation_y','d3d_transform_set_rotation_z',
        -            'd3d_transform_set_rotation_axis','d3d_transform_add_translation','d3d_transform_add_scaling',
        -            'd3d_transform_add_rotation_x','d3d_transform_add_rotation_y','d3d_transform_add_rotation_z',
        -            'd3d_transform_add_rotation_axis','d3d_transform_stack_clear','d3d_transform_stack_empty',
        -            'd3d_transform_stack_push','d3d_transform_stack_pop','d3d_transform_stack_top',
        -            'd3d_transform_stack_discard',
        -            'd3d_set_fog',
        -            'd3d_set_lighting','d3d_set_shading','d3d_light_define_direction','d3d_light_define_point',
        -            'd3d_light_enable','d3d_vertex_normal','d3d_vertex_normal_color','d3d_vertex_normal_texture',
        -            'd3d_vertex_normal_texture_color',
        -            'd3d_model_create','d3d_model_destroy','d3d_model_clear','d3d_model_save','d3d_model_load',
        -            'd3d_model_draw','d3d_model_primitive_begin','d3d_model_vertex','d3d_model_vertex_color',
        -            'd3d_model_vertex_texture','d3d_model_vertex_texture_color','d3d_model_vertex_normal',
        -            'd3d_model_vertex_normal_color','d3d_model_vertex_normal_texture',
        -            'd3d_model_vertex_normal_texture_color','d3d_model_primitive_end','d3d_model_block',
        -            'd3d_model_cylinder','d3d_model_cone','d3d_model_ellipsoid','d3d_model_wall','d3d_model_floor'
        -            ),
        -        // constants
        -        4 => array(
        -            'true', 'false', 'pi',
        -            'ev_destroy','ev_step','ev_alarm','ev_keyboard','ev_mouse','ev_collision','ev_other','ev_draw',
        -            'ev_keypress','ev_keyrelease','ev_left_button','ev_right_button','ev_middle_button',
        -            'ev_no_button','ev_left_press','ev_right_press','ev_middle_press','ev_left_release',
        -            'ev_right_release','ev_middle_release','ev_mouse_enter','ev_mouse_leave','ev_mouse_wheel_up',
        -            'ev_mouse_wheel_down','ev_global_left_button','ev_global_right_button','ev_global_middle_button',
        -            'ev_global_left_press','ev_global_right_press','ev_global_middle_press','ev_global_left_release',
        -            'ev_global_right_release','ev_global_middle_release','ev_joystick1_left','ev_joystick1_right',
        -            'ev_joystick1_up','ev_joystick1_down','ev_joystick1_button1','ev_joystick1_button2',
        -            'ev_joystick1_button3','ev_joystick1_button4','ev_joystick1_button5','ev_joystick1_button6',
        -            'ev_joystick1_button7','ev_joystick1_button8','ev_joystick2_left','ev_joystick2_right',
        -            'ev_joystick2_up','ev_joystick2_down','ev_joystick2_button1','ev_joystick2_button2',
        -            'ev_joystick2_button3','ev_joystick2_button4','ev_joystick2_button5','ev_joystick2_button6',
        -            'ev_joystick2_button7','ev_joystick2_button8',
        -            'ev_outside','ev_boundary','ev_game_start','ev_game_end','ev_room_start','ev_room_end',
        -            'ev_no_more_lives','ev_no_more_health','ev_animation_end','ev_end_of_path','ev_user0','ev_user1',
        -            'ev_user2','ev_user3','ev_user4','ev_user5','ev_user6','ev_user7','ev_user8','ev_user9',
        -            'ev_user10','ev_user11','ev_user12','ev_user13','ev_user14','ev_user15','ev_step_normal',
        -            'ev_step_begin','ev_step_end',
        -            'vk_nokey','vk_anykey','vk_left','vk_right','vk_up','vk_down','vk_enter','vk_escape','vk_space',
        -            'vk_shift','vk_control','vk_alt','vk_backspace','vk_tab','vk_home','vk_end','vk_delete',
        -            'vk_insert','vk_pageup','vk_pagedown','vk_pause','vk_printscreen',
        -            'vk_f1','vk_f2','vk_f3','vk_f4','vk_f5','vk_f6','vk_f7','vk_f8','vk_f9','vk_f10','vk_f11','vk_f12',
        -            'vk_numpad0','vk_numpad1','vk_numpad2','vk_numpad3','vk_numpad4','vk_numpad5','vk_numpad6',
        -            'vk_numpad7','vk_numpad8','vk_numpad9', 'vk_multiply','vk_divide','vk_add','vk_subtract',
        -            'vk_decimal','vk_lshift','vk_lcontrol','vk_lalt','vk_rshift','vk_rcontrol','vk_ralt',
        -            'c_aqua','c_black','c_blue','c_dkgray','c_fuchsia','c_gray','c_green','c_lime','c_ltgray',
        -            'c_maroon','c_navy','c_olive','c_purple','c_red','c_silver','c_teal','c_white','c_yellow',
        -            'fa_left', 'fa_center','fa_right','fa_top','fa_middle','fa_bottom',
        -            'pr_pointlist','pr_linelist','pr_linestrip','pr_trianglelist','pr_trianglestrip',
        -            'pr_trianglefan',
        -            'cr_none','cr_arrow','cr_cross','cr_beam','cr_size_nesw','cr_size_ns','cr_size_nwse',
        -            'cr_size_we','cr_uparrow','cr_hourglass','cr_drag','cr_nodrop','cr_hsplit','cr_vsplit',
        -            'cr_multidrag','cr_sqlwait','cr_no','cr_appstart','cr_help','cr_handpoint','cr_size_all',
        -            'se_chorus','se_echo','se_flanger','se_gargle','se_reverb','se_compressor','se_equalizer',
        -            'fa_readonly','fa_hidden','fa_sysfile','fa_volumeid','fa_directory','fa_archive',
        -            'pt_shape_pixel','pt_shape_disk','pt_shape_square','pt_shape_line','pt_shape_star',
        -            'pt_shape_circle','pt_shape_ring','pt_shape_sphere','pt_shape_flare','pt_shape_spark',
        -            'pt_shape_explosion','pt_shape_cloud','pt_shape_smoke','pt_shape_snow',
        -            'ps_shape_rectangle','ps_shape_ellipse ','ps_shape_diamond','ps_shape_line',
        -            'ps_distr_linear','ps_distr_gaussian','ps_force_constant','ps_force_linear','ps_force_quadratic',
        -            'ps_deflect_horizontal', 'ps_deflect_vertical',
        -            'ps_change_motion','ps_change_shape','ps_change_all'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']',
        -        '&&', '||', '^^', '&', '|', '^',
        -        '<', '<=', '==', '!=', '>', '>=', '=',
        -        '<<', '>>',
        -        '+=', '-=', '*=', '/=',
        -        '+', '-', '*', '/',
        -        '!', '~', ',', ';'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'font-weight: bold; color: #000000;',
        -            2 => 'font-weight: bold; color: #000000;',
        -            3 => 'color: navy;',
        -            4 => 'color: #663300;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'font-style: italic; color: green;',
        -            'MULTI' => 'font-style: italic; color: green;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;' //'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/gnuplot.php b/vendor/easybook/geshi/geshi/gnuplot.php
        deleted file mode 100644
        index 272ecfa..0000000
        --- a/vendor/easybook/geshi/geshi/gnuplot.php
        +++ /dev/null
        @@ -1,295 +0,0 @@
        - 'Gnuplot',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('`', '"', "'"),
        -    'ESCAPE_CHAR' => '\\',
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC |
        -        GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_SCI_SHORT |
        -        GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        // copy output of help command, indent properly and use this replace regexp:
        -        // ([a-z0-9_\-]+)(( )+|$)          =>     '\1',\3
        -
        -        // commands as found in `help commands`
        -        1 => array(
        -            'bind', 'call', 'cd', 'clear',
        -            'exit', 'fit', 'help', 'history',
        -            'if', 'load', 'lower', 'pause',
        -            'plot', 'print', 'pwd', 'quit',
        -            'raise', 'replot', 'reread', 'reset',
        -            'save', 'set', 'shell', 'show',
        -            'splot', 'system', 'test', 'unset',
        -            'update'
        -            ),
        -        2 => array(
        -            // set commands as returned by `help set`
        -            'angles', 'arrow', 'autoscale', 'bars',
        -            'bmargin', 'border', 'boxwidth', 'cbdata',
        -            'cbdtics', 'cblabel', 'cbmtics', 'cbrange',
        -            'cbtics', 'clabel', 'clip', 'cntrparam',
        -            'colorbox', 'contour', 'datafile', 'date_specifiers',
        -            'decimalsign', 'dgrid3d', 'dummy', 'encoding',
        -            'fontpath', 'format', 'grid',
        -            'hidden3d', 'historysize', 'isosamples', 'key',
        -            'label', 'lmargin', 'loadpath', 'locale',
        -            'log', 'logscale', 'macros', 'mapping',
        -            'margin', 'missing', 'mouse', 'multiplot',
        -            'mx2tics', 'mxtics', 'my2tics', 'mytics',
        -            'mztics', 'object', 'offsets', 'origin',
        -            'output', 'palette', 'parametric', 'pm3d',
        -            'pointsize', 'polar', 'rmargin',
        -            'rrange', 'samples', 'size', 'style',
        -            'surface', 'table', 'term', 'terminal',
        -            'termoption', 'tics', 'ticscale', 'ticslevel',
        -            'time_specifiers', 'timefmt', 'timestamp', 'title',
        -            'trange', 'urange', 'view',
        -            'vrange', 'x2data', 'x2dtics', 'x2label',
        -            'x2mtics', 'x2range', 'x2tics', 'x2zeroaxis',
        -            'xdata', 'xdtics', 'xlabel', 'xmtics',
        -            'xrange', 'xtics', 'xyplane', 'xzeroaxis',
        -            'y2data', 'y2dtics', 'y2label', 'y2mtics',
        -            'y2range', 'y2tics', 'y2zeroaxis', 'ydata',
        -            'ydtics', 'ylabel', 'ymtics', 'yrange',
        -            'ytics', 'yzeroaxis', 'zdata', 'zdtics',
        -            'zero', 'zeroaxis', 'zlabel', 'zmtics',
        -            'zrange', 'ztics', 'zzeroaxis',
        -            // same but with leading no
        -            'noangles', 'noarrow', 'noautoscale', 'nobars',
        -            'nobmargin', 'noborder', 'noboxwidth', 'nocbdata',
        -            'nocbdtics', 'nocblabel', 'nocbmtics', 'nocbrange',
        -            'nocbtics', 'noclabel', 'noclip', 'nocntrparam',
        -            'nocolorbox', 'nocontour', 'nodatafile', 'nodate_specifiers',
        -            'nodecimalsign', 'nodgrid3d', 'nodummy', 'noencoding',
        -            'nofit', 'nofontpath', 'noformat', 'nogrid',
        -            'nohidden3d', 'nohistorysize', 'noisosamples', 'nokey',
        -            'nolabel', 'nolmargin', 'noloadpath', 'nolocale',
        -            'nolog', 'nologscale', 'nomacros', 'nomapping',
        -            'nomargin', 'nomissing', 'nomouse', 'nomultiplot',
        -            'nomx2tics', 'nomxtics', 'nomy2tics', 'nomytics',
        -            'nomztics', 'noobject', 'nooffsets', 'noorigin',
        -            'nooutput', 'nopalette', 'noparametric', 'nopm3d',
        -            'nopointsize', 'nopolar', 'noprint', 'normargin',
        -            'norrange', 'nosamples', 'nosize', 'nostyle',
        -            'nosurface', 'notable', 'noterm', 'noterminal',
        -            'notermoption', 'notics', 'noticscale', 'noticslevel',
        -            'notime_specifiers', 'notimefmt', 'notimestamp', 'notitle',
        -            'notmargin', 'notrange', 'nourange', 'noview',
        -            'novrange', 'nox2data', 'nox2dtics', 'nox2label',
        -            'nox2mtics', 'nox2range', 'nox2tics', 'nox2zeroaxis',
        -            'noxdata', 'noxdtics', 'noxlabel', 'noxmtics',
        -            'noxrange', 'noxtics', 'noxyplane', 'noxzeroaxis',
        -            'noy2data', 'noy2dtics', 'noy2label', 'noy2mtics',
        -            'noy2range', 'noy2tics', 'noy2zeroaxis', 'noydata',
        -            'noydtics', 'noylabel', 'noymtics', 'noyrange',
        -            'noytics', 'noyzeroaxis', 'nozdata', 'nozdtics',
        -            'nozero', 'nozeroaxis', 'nozlabel', 'nozmtics',
        -            'nozrange', 'noztics', 'nozzeroaxis',
        -            ),
        -        3 => array(
        -            // predefined variables
        -            'pi', 'NaN', 'GNUTERM',
        -            'GPVAL_X_MIN', 'GPVAL_X_MAX', 'GPVAL_Y_MIN', 'GPVAL_Y_MAX',
        -            'GPVAL_TERM', 'GPVAL_TERMOPTIONS', 'GPVAL_OUTPUT',
        -            'GPVAL_VERSION', 'GPVAL_PATcHLEVEL', 'GPVAL_COMPILE_OPTIONS',
        -            'MOUSE_KEY', 'MOUSE_X', 'MOUSE_X2', 'MOUSE_Y', 'MOUSE_Y2',
        -            'MOUSE_BUTTON', 'MOUSE_SHIFT', 'MOUSE_ALT', 'MOUSE_CTRL'
        -            ),
        -        4 => array(
        -            // predefined functions `help functions`
        -            'abs', 'acos', 'acosh', 'arg',
        -            'asin', 'asinh', 'atan', 'atan2',
        -            'atanh', 'besj0', 'besj1', 'besy0',
        -            'besy1', 'ceil', 'column', 'cos',
        -            'cosh', 'defined', 'erf', 'erfc',
        -            'exists', 'exp', 'floor', 'gamma',
        -            'gprintf', 'ibeta', 'igamma', 'imag',
        -            'int', 'inverf', 'invnorm', 'lambertw',
        -            'lgamma', 'log10', 'norm',
        -            'rand', 'random', 'real', 'sgn',
        -            'sin', 'sinh', 'sprintf', 'sqrt',
        -            'stringcolumn', 'strlen', 'strstrt', 'substr',
        -            'tan', 'tanh', 'timecolumn',
        -            'tm_hour', 'tm_mday', 'tm_min', 'tm_mon',
        -            'tm_sec', 'tm_wday', 'tm_yday', 'tm_year',
        -            'valid', 'word', 'words',
        -            ),
        -        5 => array(
        -            // mixed arguments
        -            // there is no sane way to get these ones easily...
        -            'autofreq', 'x', 'y', 'z',
        -            'lt', 'linetype', 'lw', 'linewidth', 'ls', 'linestyle',
        -            'out', 'rotate by', 'screen',
        -            'enhanced', 'via',
        -            // `help set key`
        -            'on', 'off', 'default', 'inside', 'outside', 'tmargin',
        -            'at', 'left', 'right', 'center', 'top', 'bottom', 'vertical', 'horizontal', 'Left', 'Right',
        -            'noreverse', 'reverse', 'noinvert', 'invert', 'samplen', 'spacing', 'width', 'height',
        -            'noautotitle', 'autotitle', 'noenhanced', 'nobox', 'box',
        -
        -            // help set terminal postscript
        -            'landscape', 'portrait', 'eps', 'defaultplex', 'simplex', 'duplex',
        -            'fontfile', 'add', 'delete', 'nofontfiles', 'level1', 'leveldefault',
        -            'color', 'colour', 'monochrome', 'solid', 'dashed', 'dashlength', 'dl',
        -            'rounded', 'butt', 'palfuncparam', 'blacktext', 'colortext', 'colourtext',
        -            'font',
        -
        -            // help set terminal png
        -            'notransparent', 'transparent', 'nointerlace', 'interlace',
        -            'notruecolor', 'truecolor', 'tiny', 'small', 'medium', 'large', 'giant',
        -            'nocrop', 'crop',
        -
        -            // `help plot`
        -            'acsplines', 'bezier', 'binary', 'csplines',
        -            'every',
        -            'example', 'frequency', 'index', 'matrix',
        -            'ranges', 'sbezier', 'smooth',
        -            'special-filenames', 'thru',
        -            'unique', 'using', 'with',
        -
        -            // `help plotting styles`
        -            'boxerrorbars', 'boxes', 'boxxyerrorbars', 'candlesticks',
        -            'dots', 'errorbars', 'errorlines', 'filledcurves',
        -            'financebars', 'fsteps', 'histeps', 'histograms',
        -            'image', 'impulses', 'labels', 'lines',
        -            'linespoints', 'points', 'rgbimage', 'steps',
        -            'vectors', 'xerrorbars', 'xerrorlines', 'xyerrorbars',
        -            'xyerrorlines', 'yerrorbars', 'yerrorlines',
        -
        -
        -            // terminals `help terminals`
        -            'aed512', 'aed767', 'aifm', 'bitgraph',
        -            'cgm', 'corel', 'dumb', 'dxf',
        -            'eepic', 'emf', 'emtex', 'epslatex',
        -            'epson-180dpi', 'epson-60dpi', 'epson-lx800', 'fig',
        -            'gif', 'gpic', 'hp2623a', 'hp2648',
        -            'hp500c', 'hpdj', 'hpgl', 'hpljii',
        -            'hppj', 'imagen', 'jpeg', 'kc-tek40xx',
        -            'km-tek40xx', 'latex', 'mf', 'mif',
        -            'mp', 'nec-cp6', 'okidata', 'pbm',
        -            'pcl5', 'png', 'pop', 'postscript',
        -            'pslatex', 'pstex', 'pstricks', 'push',
        -            'qms', 'regis', 'selanar', 'starc',
        -            'svg', 'tandy-60dpi', 'tek40xx', 'tek410x',
        -            'texdraw', 'tgif', 'tkcanvas', 'tpic',
        -            'vttek', 'x11', 'xlib',
        -            )
        -        ),
        -    'REGEXPS' => array(
        -        //Variable assignment
        -        0 => "(?\w])([a-zA-Z_][a-zA-Z0-9_]*)\s*=",
        -        //Numbers with unit
        -        1 => "(?<=^|\s)([0-9]*\.?[0-9]+\s*cm)"
        -        ),
        -    'SYMBOLS' => array(
        -        '-', '+', '~', '!', '$',
        -        '*', '/', '%', '=', '<', '>', '&',
        -        '^', '|', '.', 'eq', 'ne', '?:', ':', '`', ','
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #990000;',
        -            3 => 'color: #550000;',
        -            4 => 'color: #7a0874;',
        -            5 => 'color: #448888;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #adadad; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight:bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000099; font-weight:bold;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;',
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #007800;',
        -            1 => 'color: #cc66cc;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => 'http://www.google.com/search?q=%22set+{FNAME}%22+site%3Ahttp%3A%2F%2Fwww.gnuplot.info%2Fdocs%2F&btnI=lucky',
        -        3 => '',
        -        4 => '',
        -        5 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            4 => array(
        -                'DISALLOWED_AFTER' =>  "(?![\.\-a-zA-Z0-9_%])"
        -            )
        -        )
        -    ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/go.php b/vendor/easybook/geshi/geshi/go.php
        deleted file mode 100644
        index 38f23c9..0000000
        --- a/vendor/easybook/geshi/geshi/go.php
        +++ /dev/null
        @@ -1,374 +0,0 @@
        - 'Go',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        # Raw strings (escapes and linebreaks ignored)
        -        2 => "#`[^`]*`#"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', "'"),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        1 => "#\\\\[abfnrtv\\\\\'\"]#",
        -        2 => "#\\\\[0-7]{3}#",
        -        3 => "#\\\\x[0-9a-fA-F]{2}#",
        -        4 => "#\\\\u[0-9a-fA-F]{4}#",
        -        5 => "#\\\\U[0-9a-fA-F]{8}#"
        -        ),
        -    'NUMBERS' => array(
        -        # integer literals (possibly imaginary)
        -        0 => '\b([1-9][0-9]*i?|0[0-7]*|0[xX][0-9a-f]+|0[0-9]*i)\b',
        -        # real floating point literals
        -        1 => '\b((?:\d+\.\d*(?:[Ee][+-]?\d+\b)?|\.\d+(?:[Ee][+-]?\d+)?|\d+[Ee][+-]?\d+)?)\b',
        -        # imaginary floating point literals
        -        2 => '\b((?:\d+\.\d*(?:[Ee][+-]?\d+)?|\.\d+(?:[Ee][+-]?\d+)?|\d+[Ee][+-]?\d+)?i)\b'
        -        ),
        -    'KEYWORDS' => array(
        -        # statements
        -        1 => array(
        -            'break', 'case', 'const', 'continue', 'default', 'defer', 'else',
        -            'fallthrough', 'for', 'go', 'goto', 'if', 'import', 'package',
        -            'range', 'return', 'select', 'switch', 'type', 'var'
        -            ),
        -        # literals
        -        2 => array(
        -            'nil', 'true', 'false'
        -            ),
        -        # built-in functions
        -        3 => array(
        -            'close', 'closed', 'len', 'cap', 'new', 'make', 'copy', 'cmplx',
        -            'real', 'imag', 'panic', 'recover', 'print', 'println'
        -            ),
        -        # built-in types
        -        4 => array(
        -            'chan', 'func', 'interface', 'map', 'struct', 'bool', 'uint8',
        -            'uint16', 'uint32', 'uint64', 'int8', 'int16', 'int32', 'int64',
        -            'float32', 'float64', 'complex64', 'complex128', 'byte', 'uint',
        -            'int', 'float', 'complex', 'uintptr', 'string'
        -            ),
        -        # library types
        -        5 => array(
        -            'aes.Cipher', 'aes.KeySizeError', 'ascii85.CorruptInputError', 'asn1.BitString',
        -            'asn1.RawValue', 'asn1.StructuralError', 'asn1.SyntaxError', 'ast.ChanDir',
        -            'ast.Comment', 'ast.CommentGroup', 'ast.Decl', 'ast.Expr', 'ast.Field',
        -            'ast.FieldList', 'ast.File', 'ast.Filter', 'ast.MergeMode', 'ast.Node',
        -            'ast.ObjKind', 'ast.Object', 'ast.Package', 'ast.Scope', 'ast.Stmt',
        -            'ast.Visitor', 'av.Color', 'av.Image', 'av.Window', 'base64.CorruptInputError',
        -            'base64.Encoding', 'big.Int', 'big.Word', 'bignum.Integer', 'bignum.Rational',
        -            'binary.ByteOrder', 'block.Cipher', 'block.EAXTagError', 'blowfish.Cipher',
        -            'blowfish.KeySizeError', 'bufio.BufSizeError', 'bufio.Error', 'bufio.ReadWriter',
        -            'bufio.Reader', 'bufio.Writer', 'bytes.Buffer', 'datafmt.Environment',
        -            'datafmt.Format', 'datafmt.Formatter', 'datafmt.FormatterMap', 'datafmt.State',
        -            'doc.Filter', 'doc.FuncDoc', 'doc.PackageDoc', 'doc.TypeDoc', 'doc.ValueDoc',
        -            'draw.Color', 'draw.Context', 'draw.Image', 'draw.Mouse', 'draw.Op',
        -            'draw.Point', 'draw.Rectangle', 'dwarf.AddrType', 'dwarf.ArrayType',
        -            'dwarf.Attr', 'dwarf.BasicType', 'dwarf.BoolType', 'dwarf.CharType',
        -            'dwarf.CommonType', 'dwarf.ComplexType', 'dwarf.Data', 'dwarf.DecodeError',
        -            'dwarf.DotDotDotType', 'dwarf.Entry', 'dwarf.EnumType', 'dwarf.EnumValue',
        -            'dwarf.Field', 'dwarf.FloatType', 'dwarf.FuncType', 'dwarf.IntType',
        -            'dwarf.Offset', 'dwarf.PtrType', 'dwarf.QualType', 'dwarf.Reader',
        -            'dwarf.StructField', 'dwarf.StructType', 'dwarf.Tag', 'dwarf.Type',
        -            'dwarf.TypedefType', 'dwarf.UcharType', 'dwarf.UintType', 'dwarf.VoidType',
        -            'elf.Class', 'elf.Data', 'elf.Dyn32', 'elf.Dyn64', 'elf.DynFlag', 'elf.DynTag',
        -            'elf.File', 'elf.FileHeader', 'elf.FormatError', 'elf.Header32', 'elf.Header64',
        -            'elf.Machine', 'elf.NType', 'elf.OSABI', 'elf.Prog', 'elf.Prog32', 'elf.Prog64',
        -            'elf.ProgFlag', 'elf.ProgHeader', 'elf.ProgType', 'elf.R_386', 'elf.R_ALPHA',
        -            'elf.R_ARM', 'elf.R_PPC', 'elf.R_SPARC', 'elf.R_X86_64', 'elf.Rel32',
        -            'elf.Rel64', 'elf.Rela32', 'elf.Rela64', 'elf.Section', 'elf.Section32',
        -            'elf.Section64', 'elf.SectionFlag', 'elf.SectionHeader', 'elf.SectionIndex',
        -            'elf.SectionType', 'elf.Sym32', 'elf.Sym64', 'elf.SymBind', 'elf.SymType',
        -            'elf.SymVis', 'elf.Symbol', 'elf.Type', 'elf.Version', 'eval.ArrayType',
        -            'eval.ArrayValue', 'eval.BoolValue', 'eval.BoundedType', 'eval.ChanType',
        -            'eval.Code', 'eval.Constant', 'eval.Def', 'eval.DivByZeroError',
        -            'eval.FloatValue', 'eval.Frame', 'eval.Func', 'eval.FuncDecl', 'eval.FuncType',
        -            'eval.FuncValue', 'eval.IMethod', 'eval.IdealFloatValue', 'eval.IdealIntValue',
        -            'eval.IndexError', 'eval.IntValue', 'eval.Interface', 'eval.InterfaceType',
        -            'eval.InterfaceValue', 'eval.KeyError', 'eval.Map', 'eval.MapType',
        -            'eval.MapValue', 'eval.Method', 'eval.MultiType', 'eval.NamedType',
        -            'eval.NegativeCapacityError', 'eval.NegativeLengthError', 'eval.NilPointerError',
        -            'eval.PtrType', 'eval.PtrValue', 'eval.RedefinitionError', 'eval.Scope',
        -            'eval.Slice', 'eval.SliceError', 'eval.SliceType', 'eval.SliceValue',
        -            'eval.StringValue', 'eval.StructField', 'eval.StructType', 'eval.StructValue',
        -            'eval.Thread', 'eval.Type', 'eval.UintValue', 'eval.Value', 'eval.Variable',
        -            'eval.World', 'exec.Cmd', 'expvar.Int', 'expvar.IntFunc', 'expvar.KeyValue',
        -            'expvar.Map', 'expvar.String', 'expvar.StringFunc', 'expvar.Var', 'flag.Flag',
        -            'flag.Value', 'flate.CorruptInputError', 'flate.InternalError',
        -            'flate.ReadError', 'flate.Reader', 'flate.WriteError', 'flate.WrongValueError',
        -            'fmt.Formatter', 'fmt.GoStringer', 'fmt.State', 'fmt.Stringer',
        -            'git85.CorruptInputError', 'gob.Decoder', 'gob.Encoder', 'gosym.DecodingError',
        -            'gosym.Func', 'gosym.LineTable', 'gosym.Obj', 'gosym.Sym', 'gosym.Table',
        -            'gosym.UnknownFileError', 'gosym.UnknownLineError', 'gzip.Deflater',
        -            'gzip.Header', 'gzip.Inflater', 'hash.Hash', 'hash.Hash32', 'hash.Hash64',
        -            'heap.Interface', 'hex.InvalidHexCharError', 'hex.OddLengthInputError',
        -            'http.ClientConn', 'http.Conn', 'http.Handler', 'http.HandlerFunc',
        -            'http.ProtocolError', 'http.Request', 'http.Response', 'http.ServeMux',
        -            'http.ServerConn', 'http.URL', 'http.URLError', 'http.URLEscapeError',
        -            'image.Alpha', 'image.AlphaColor', 'image.Color', 'image.ColorImage',
        -            'image.ColorModel', 'image.ColorModelFunc', 'image.Image', 'image.NRGBA',
        -            'image.NRGBA64', 'image.NRGBA64Color', 'image.NRGBAColor', 'image.Paletted',
        -            'image.RGBA', 'image.RGBA64', 'image.RGBA64Color', 'image.RGBAColor',
        -            'io.Closer', 'io.Error', 'io.PipeReader', 'io.PipeWriter', 'io.ReadByter',
        -            'io.ReadCloser', 'io.ReadSeeker', 'io.ReadWriteCloser', 'io.ReadWriteSeeker',
        -            'io.ReadWriter', 'io.Reader', 'io.ReaderAt', 'io.ReaderFrom', 'io.SectionReader',
        -            'io.Seeker', 'io.WriteCloser', 'io.WriteSeeker', 'io.Writer', 'io.WriterAt',
        -            'io.WriterTo', 'iterable.Func', 'iterable.Group', 'iterable.Grouper',
        -            'iterable.Injector', 'iterable.Iterable', 'jpeg.FormatError', 'jpeg.Reader',
        -            'jpeg.UnsupportedError', 'json.Decoder', 'json.Encoder',
        -            'json.InvalidUnmarshalError', 'json.Marshaler', 'json.MarshalerError',
        -            'json.SyntaxError', 'json.UnmarshalTypeError', 'json.Unmarshaler',
        -            'json.UnsupportedTypeError', 'list.Element', 'list.List', 'log.Logger',
        -            'macho.Cpu', 'macho.File', 'macho.FileHeader', 'macho.FormatError', 'macho.Load',
        -            'macho.LoadCmd', 'macho.Regs386', 'macho.RegsAMD64', 'macho.Section',
        -            'macho.Section32', 'macho.Section64', 'macho.SectionHeader', 'macho.Segment',
        -            'macho.Segment32', 'macho.Segment64', 'macho.SegmentHeader', 'macho.Thread',
        -            'macho.Type', 'net.Addr', 'net.AddrError', 'net.Conn', 'net.DNSConfigError',
        -            'net.DNSError', 'net.Error', 'net.InvalidAddrError', 'net.InvalidConnError',
        -            'net.Listener', 'net.OpError', 'net.PacketConn', 'net.TCPAddr', 'net.TCPConn',
        -            'net.TCPListener', 'net.UDPAddr', 'net.UDPConn', 'net.UnixAddr', 'net.UnixConn',
        -            'net.UnixListener', 'net.UnknownNetworkError', 'net.UnknownSocketError',
        -            'netchan.Dir', 'netchan.Exporter', 'netchan.Importer', 'nntp.Article',
        -            'nntp.Conn', 'nntp.Error', 'nntp.Group', 'nntp.ProtocolError', 'ogle.Arch',
        -            'ogle.ArchAlignedMultiple', 'ogle.ArchLSB', 'ogle.Breakpoint', 'ogle.Event',
        -            'ogle.EventAction', 'ogle.EventHandler', 'ogle.EventHook', 'ogle.FormatError',
        -            'ogle.Frame', 'ogle.Goroutine', 'ogle.GoroutineCreate', 'ogle.GoroutineExit',
        -            'ogle.NoCurrentGoroutine', 'ogle.NotOnStack', 'ogle.Process',
        -            'ogle.ProcessNotStopped', 'ogle.ReadOnlyError', 'ogle.RemoteMismatchError',
        -            'ogle.UnknownArchitecture', 'ogle.UnknownGoroutine', 'ogle.UsageError',
        -            'os.Errno', 'os.Error', 'os.ErrorString', 'os.File', 'os.FileInfo',
        -            'os.LinkError', 'os.PathError', 'os.SyscallError', 'os.Waitmsg', 'patch.Diff',
        -            'patch.File', 'patch.GitBinaryLiteral', 'patch.Op', 'patch.Set',
        -            'patch.SyntaxError', 'patch.TextChunk', 'patch.Verb', 'path.Visitor',
        -            'pdp1.HaltError', 'pdp1.LoopError', 'pdp1.Trapper', 'pdp1.UnknownInstrError',
        -            'pdp1.Word', 'pem.Block', 'png.FormatError', 'png.IDATDecodingError',
        -            'png.UnsupportedError', 'printer.Config', 'printer.HTMLTag', 'printer.Styler',
        -            'proc.Breakpoint', 'proc.Cause', 'proc.Process', 'proc.ProcessExited',
        -            'proc.Regs', 'proc.Signal', 'proc.Stopped', 'proc.Thread', 'proc.ThreadCreate',
        -            'proc.ThreadExit', 'proc.Word', 'quick.CheckEqualError', 'quick.CheckError',
        -            'quick.Config', 'quick.Generator', 'quick.SetupError', 'rand.Rand',
        -            'rand.Source', 'rand.Zipf', 'rc4.Cipher', 'rc4.KeySizeError',
        -            'reflect.ArrayOrSliceType', 'reflect.ArrayOrSliceValue', 'reflect.ArrayType',
        -            'reflect.ArrayValue', 'reflect.BoolType', 'reflect.BoolValue', 'reflect.ChanDir',
        -            'reflect.ChanType', 'reflect.ChanValue', 'reflect.Complex128Type',
        -            'reflect.Complex128Value', 'reflect.Complex64Type', 'reflect.Complex64Value',
        -            'reflect.ComplexType', 'reflect.ComplexValue', 'reflect.Float32Type',
        -            'reflect.Float32Value', 'reflect.Float64Type', 'reflect.Float64Value',
        -            'reflect.FloatType', 'reflect.FloatValue', 'reflect.FuncType',
        -            'reflect.FuncValue', 'reflect.Int16Type', 'reflect.Int16Value',
        -            'reflect.Int32Type', 'reflect.Int32Value', 'reflect.Int64Type',
        -            'reflect.Int64Value', 'reflect.Int8Type', 'reflect.Int8Value', 'reflect.IntType',
        -            'reflect.IntValue', 'reflect.InterfaceType', 'reflect.InterfaceValue',
        -            'reflect.MapType', 'reflect.MapValue', 'reflect.Method', 'reflect.PtrType',
        -            'reflect.PtrValue', 'reflect.SliceHeader', 'reflect.SliceType',
        -            'reflect.SliceValue', 'reflect.StringHeader', 'reflect.StringType',
        -            'reflect.StringValue', 'reflect.StructField', 'reflect.StructType',
        -            'reflect.StructValue', 'reflect.Type', 'reflect.Uint16Type',
        -            'reflect.Uint16Value', 'reflect.Uint32Type', 'reflect.Uint32Value',
        -            'reflect.Uint64Type', 'reflect.Uint64Value', 'reflect.Uint8Type',
        -            'reflect.Uint8Value', 'reflect.UintType', 'reflect.UintValue',
        -            'reflect.UintptrType', 'reflect.UintptrValue', 'reflect.UnsafePointerType',
        -            'reflect.UnsafePointerValue', 'reflect.Value', 'regexp.Error', 'regexp.Regexp',
        -            'ring.Ring', 'rpc.Call', 'rpc.Client', 'rpc.ClientCodec', 'rpc.InvalidRequest',
        -            'rpc.Request', 'rpc.Response', 'rpc.ServerCodec', 'rsa.DecryptionError',
        -            'rsa.MessageTooLongError', 'rsa.PKCS1v15Hash', 'rsa.PrivateKey', 'rsa.PublicKey',
        -            'rsa.VerificationError', 'runtime.ArrayType', 'runtime.BoolType',
        -            'runtime.ChanDir', 'runtime.ChanType', 'runtime.Complex128Type',
        -            'runtime.Complex64Type', 'runtime.ComplexType', 'runtime.Error',
        -            'runtime.Float32Type', 'runtime.Float64Type', 'runtime.FloatType',
        -            'runtime.Func', 'runtime.FuncType', 'runtime.Int16Type', 'runtime.Int32Type',
        -            'runtime.Int64Type', 'runtime.Int8Type', 'runtime.IntType',
        -            'runtime.InterfaceType', 'runtime.Itable', 'runtime.MapType',
        -            'runtime.MemProfileRecord', 'runtime.MemStatsType', 'runtime.PtrType',
        -            'runtime.SliceType', 'runtime.StringType', 'runtime.StructType', 'runtime.Type',
        -            'runtime.TypeAssertionError', 'runtime.Uint16Type', 'runtime.Uint32Type',
        -            'runtime.Uint64Type', 'runtime.Uint8Type', 'runtime.UintType',
        -            'runtime.UintptrType', 'runtime.UnsafePointerType', 'scanner.Error',
        -            'scanner.ErrorHandler', 'scanner.ErrorVector', 'scanner.Position',
        -            'scanner.Scanner', 'script.Close', 'script.Closed', 'script.Event',
        -            'script.ReceivedUnexpected', 'script.Recv', 'script.RecvMatch', 'script.Send',
        -            'script.SetupError', 'signal.Signal', 'signal.UnixSignal', 'sort.Interface',
        -            'srpc.Client', 'srpc.Errno', 'srpc.Handler', 'srpc.RPC', 'strconv.NumError',
        -            'strings.Reader', 'sync.Mutex', 'sync.RWMutex',
        -            'syscall.ByHandleFileInformation', 'syscall.Cmsghdr', 'syscall.Dirent',
        -            'syscall.EpollEvent', 'syscall.Fbootstraptransfer_t', 'syscall.FdSet',
        -            'syscall.Filetime', 'syscall.Flock_t', 'syscall.Fstore_t', 'syscall.Iovec',
        -            'syscall.Kevent_t', 'syscall.Linger', 'syscall.Log2phys_t', 'syscall.Msghdr',
        -            'syscall.Overlapped', 'syscall.PtraceRegs', 'syscall.Radvisory_t',
        -            'syscall.RawSockaddr', 'syscall.RawSockaddrAny', 'syscall.RawSockaddrInet4',
        -            'syscall.RawSockaddrInet6', 'syscall.RawSockaddrUnix', 'syscall.Rlimit',
        -            'syscall.Rusage', 'syscall.Sockaddr', 'syscall.SockaddrInet4',
        -            'syscall.SockaddrInet6', 'syscall.SockaddrUnix', 'syscall.Stat_t',
        -            'syscall.Statfs_t', 'syscall.Sysinfo_t', 'syscall.Time_t', 'syscall.Timespec',
        -            'syscall.Timeval', 'syscall.Timex', 'syscall.Tms', 'syscall.Ustat_t',
        -            'syscall.Utimbuf', 'syscall.Utsname', 'syscall.WaitStatus',
        -            'syscall.Win32finddata', 'syslog.Priority', 'syslog.Writer', 'tabwriter.Writer',
        -            'tar.Header', 'tar.Reader', 'tar.Writer', 'template.Error',
        -            'template.FormatterMap', 'template.Template', 'testing.Benchmark',
        -            'testing.Regexp', 'testing.Test', 'time.ParseError', 'time.Ticker', 'time.Time',
        -            'tls.CASet', 'tls.Certificate', 'tls.Config', 'tls.Conn', 'tls.ConnectionState',
        -            'tls.Listener', 'token.Position', 'token.Token', 'unicode.CaseRange',
        -            'unicode.Range', 'unsafe.ArbitraryType', 'vector.LessInterface',
        -            'websocket.Conn', 'websocket.Draft75Handler', 'websocket.Handler',
        -            'websocket.ProtocolError', 'websocket.WebSocketAddr', 'x509.Certificate',
        -            'x509.ConstraintViolationError', 'x509.KeyUsage', 'x509.Name',
        -            'x509.PublicKeyAlgorithm', 'x509.SignatureAlgorithm',
        -            'x509.UnhandledCriticalExtension', 'x509.UnsupportedAlgorithmError', 'xml.Attr',
        -            'xml.EndElement', 'xml.Name', 'xml.Parser', 'xml.ProcInst', 'xml.StartElement',
        -            'xml.SyntaxError', 'xml.Token', 'xml.UnmarshalError', 'xtea.Cipher',
        -            'xtea.KeySizeError'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        # delimiters
        -        1 => array(
        -            '(', ')', '{', '}', '[', ']', ',', ':', ';'
        -            ),
        -        # assignments
        -        2 => array(
        -            '<<=', '!=', '%=', '&=', '&^=', '*=', '+=', '-=', '/=', ':=', '>>=',
        -            '^=', '|=', '=', '++', '--'
        -            ),
        -        # operators
        -        3 => array(
        -            '<=', '<', '==', '>', '>=', '&&', '!', '||', '&', '&^', '|', '^',
        -            '>>', '<<', '*', '%', '+', '-', '.', '/', '<-'),
        -        # vararg
        -        4 => array(
        -            '...'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            # statements
        -            1 => 'color: #b1b100; font-weight: bold;',
        -            # literals
        -            2 => 'color: #000000; font-weight: bold;',
        -            # built-in functions
        -            3 => 'color: #000066;',
        -            # built-in types
        -            4 => 'color: #993333;',
        -            # library types
        -            5 => 'color: #003399;'
        -            ),
        -        'COMMENTS' => array(
        -            # single-line comments
        -            1 => 'color: #666666; font-style: italic;',
        -            # raw strings
        -            2 => 'color: #0000ff;',
        -            # multi-line comments
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            # simple escape
        -            1 => 'color: #000099; font-weight: bold;',
        -            # octal escape
        -            2 => 'color: #000099;',
        -            # hex escape
        -            3 => 'color: #000099;',
        -            # unicode escape
        -            4 => 'color: #000099;',
        -            # long unicode escape
        -            5 => 'color: #000099;'
        -            ),
        -        'BRACKETS' => array(
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;',
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            # delimiters
        -            1 => 'color: #339933;',
        -            # assignments
        -            2 => 'color: #339933;',
        -            # operators
        -            3 => 'color: #339933;',
        -            # vararg (highlighted as a keyword)
        -            4 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            # If CSS classes are enabled, these would be highlighted as numbers (nu0)
        -            # integer literals (possibly imaginary)
        -            //0 => 'color: #cc66cc;',
        -            # real floating point literals
        -            //1 => 'color: #cc66cc;',
        -            # imaginary floating point literals
        -            //2 => 'color: #cc66cc;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => 'http://golang.org/search?q={FNAME}'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(1 => '.'),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER, # handled by symbols
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/groovy.php b/vendor/easybook/geshi/geshi/groovy.php
        deleted file mode 100644
        index 021dc1f..0000000
        --- a/vendor/easybook/geshi/geshi/groovy.php
        +++ /dev/null
        @@ -1,1010 +0,0 @@
        - 'Groovy',
        -    'COMMENT_SINGLE' => array(1 => '//', 3 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Import and Package directives (Basic Support only)
        -        2 => '/(?:(?<=import[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'''", '"""', "'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'case', 'do', 'else', 'for', 'foreach', 'if', 'in', 'switch',
        -            'while',
        -            ),
        -        2 => array(
        -            'abstract', 'as', 'assert', 'break', 'catch', 'class', 'const',
        -            'continue', 'def', 'default', 'enum', 'extends',
        -            'false', 'final', 'finally', 'goto', 'implements', 'import',
        -            'instanceof', 'interface', 'native', 'new', 'null',
        -            'package', 'private', 'property', 'protected',
        -            'public', 'return', 'static', 'strictfp', 'super',
        -            'synchronized', 'this', 'throw', 'throws',
        -            'transient', 'true', 'try', 'volatile'
        -            ),
        -        3 => array(
        -            'AbstractAction', 'AbstractBorder', 'AbstractButton',
        -            'AbstractCellEditor', 'AbstractCollection',
        -            'AbstractColorChooserPanel', 'AbstractDocument',
        -            'AbstractDocument.AttributeContext',
        -            'AbstractDocument.Content',
        -            'AbstractDocument.ElementEdit',
        -            'AbstractLayoutCache',
        -            'AbstractLayoutCache.NodeDimensions', 'AbstractList',
        -            'AbstractListModel', 'AbstractMap',
        -            'AbstractMethodError', 'AbstractSequentialList',
        -            'AbstractSet', 'AbstractTableModel',
        -            'AbstractUndoableEdit', 'AbstractWriter',
        -            'AccessControlContext', 'AccessControlException',
        -            'AccessController', 'AccessException', 'Accessible',
        -            'AccessibleAction', 'AccessibleBundle',
        -            'AccessibleComponent', 'AccessibleContext',
        -            'AccessibleHyperlink', 'AccessibleHypertext',
        -            'AccessibleIcon', 'AccessibleObject',
        -            'AccessibleRelation', 'AccessibleRelationSet',
        -            'AccessibleResourceBundle', 'AccessibleRole',
        -            'AccessibleSelection', 'AccessibleState',
        -            'AccessibleStateSet', 'AccessibleTable',
        -            'AccessibleTableModelChange', 'AccessibleText',
        -            'AccessibleValue', 'Acl', 'AclEntry',
        -            'AclNotFoundException', 'Action', 'ActionEvent',
        -            'ActionListener', 'ActionMap', 'ActionMapUIResource',
        -            'Activatable', 'ActivateFailedException',
        -            'ActivationDesc', 'ActivationException',
        -            'ActivationGroup', 'ActivationGroupDesc',
        -            'ActivationGroupDesc.CommandEnvironment',
        -            'ActivationGroupID', 'ActivationID',
        -            'ActivationInstantiator', 'ActivationMonitor',
        -            'ActivationSystem', 'Activator', 'ActiveEvent',
        -            'Adjustable', 'AdjustmentEvent',
        -            'AdjustmentListener', 'Adler32', 'AffineTransform',
        -            'AffineTransformOp', 'AlgorithmParameterGenerator',
        -            'AlgorithmParameterGeneratorSpi',
        -            'AlgorithmParameters', 'AlgorithmParameterSpec',
        -            'AlgorithmParametersSpi', 'AllPermission',
        -            'AlphaComposite', 'AlreadyBound',
        -            'AlreadyBoundException', 'AlreadyBoundHelper',
        -            'AlreadyBoundHolder', 'AncestorEvent',
        -            'AncestorListener', 'Annotation', 'Any', 'AnyHolder',
        -            'AnySeqHelper', 'AnySeqHolder', 'Applet',
        -            'AppletContext', 'AppletInitializer', 'AppletStub',
        -            'ApplicationException', 'Arc2D', 'Arc2D.Double',
        -            'Arc2D.Float', 'Area', 'AreaAveragingScaleFilter',
        -            'ARG_IN', 'ARG_INOUT', 'ARG_OUT',
        -            'ArithmeticException', 'Array',
        -            'ArrayIndexOutOfBoundsException', 'ArrayList',
        -            'Arrays', 'ArrayStoreException', 'AsyncBoxView',
        -            'Attribute', 'AttributedCharacterIterator',
        -            'AttributedCharacterIterator.Attribute',
        -            'AttributedString', 'AttributeInUseException',
        -            'AttributeList', 'AttributeModificationException',
        -            'Attributes', 'Attributes.Name', 'AttributeSet',
        -            'AttributeSet.CharacterAttribute',
        -            'AttributeSet.ColorAttribute',
        -            'AttributeSet.FontAttribute',
        -            'AttributeSet.ParagraphAttribute', 'AudioClip',
        -            'AudioFileFormat', 'AudioFileFormat.Type',
        -            'AudioFileReader', 'AudioFileWriter', 'AudioFormat',
        -            'AudioFormat.Encoding', 'AudioInputStream',
        -            'AudioPermission', 'AudioSystem',
        -            'AuthenticationException',
        -            'AuthenticationNotSupportedException',
        -            'Authenticator', 'Autoscroll', 'AWTError',
        -            'AWTEvent', 'AWTEventListener',
        -            'AWTEventMulticaster', 'AWTException',
        -            'AWTPermission', 'BadKind', 'BadLocationException',
        -            'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION',
        -            'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE',
        -            'BAD_POLICY_VALUE', 'BAD_TYPECODE', 'BandCombineOp',
        -            'BandedSampleModel', 'BasicArrowButton',
        -            'BasicAttribute', 'BasicAttributes', 'BasicBorders',
        -            'BasicBorders.ButtonBorder',
        -            'BasicBorders.FieldBorder',
        -            'BasicBorders.MarginBorder',
        -            'BasicBorders.MenuBarBorder',
        -            'BasicBorders.RadioButtonBorder',
        -            'BasicBorders.SplitPaneBorder',
        -            'BasicBorders.ToggleButtonBorder',
        -            'BasicButtonListener', 'BasicButtonUI',
        -            'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI',
        -            'BasicColorChooserUI', 'BasicComboBoxEditor',
        -            'BasicComboBoxEditor.UIResource',
        -            'BasicComboBoxRenderer',
        -            'BasicComboBoxRenderer.UIResource',
        -            'BasicComboBoxUI', 'BasicComboPopup',
        -            'BasicDesktopIconUI', 'BasicDesktopPaneUI',
        -            'BasicDirectoryModel', 'BasicEditorPaneUI',
        -            'BasicFileChooserUI', 'BasicGraphicsUtils',
        -            'BasicHTML', 'BasicIconFactory',
        -            'BasicInternalFrameTitlePane',
        -            'BasicInternalFrameUI', 'BasicLabelUI',
        -            'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI',
        -            'BasicMenuItemUI', 'BasicMenuUI',
        -            'BasicOptionPaneUI',
        -            'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI',
        -            'BasicPasswordFieldUI', 'BasicPermission',
        -            'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI',
        -            'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI',
        -            'BasicRadioButtonUI', 'BasicRootPaneUI',
        -            'BasicScrollBarUI', 'BasicScrollPaneUI',
        -            'BasicSeparatorUI', 'BasicSliderUI',
        -            'BasicSplitPaneDivider', 'BasicSplitPaneUI',
        -            'BasicStroke', 'BasicTabbedPaneUI',
        -            'BasicTableHeaderUI', 'BasicTableUI',
        -            'BasicTextAreaUI', 'BasicTextFieldUI',
        -            'BasicTextPaneUI', 'BasicTextUI',
        -            'BasicTextUI.BasicCaret',
        -            'BasicTextUI.BasicHighlighter',
        -            'BasicToggleButtonUI', 'BasicToolBarSeparatorUI',
        -            'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI',
        -            'BasicViewportUI', 'BatchUpdateException',
        -            'BeanContext', 'BeanContextChild',
        -            'BeanContextChildComponentProxy',
        -            'BeanContextChildSupport',
        -            'BeanContextContainerProxy', 'BeanContextEvent',
        -            'BeanContextMembershipEvent',
        -            'BeanContextMembershipListener', 'BeanContextProxy',
        -            'BeanContextServiceAvailableEvent',
        -            'BeanContextServiceProvider',
        -            'BeanContextServiceProviderBeanInfo',
        -            'BeanContextServiceRevokedEvent',
        -            'BeanContextServiceRevokedListener',
        -            'BeanContextServices', 'BeanContextServicesListener',
        -            'BeanContextServicesSupport',
        -            'BeanContextServicesSupport.BCSSServiceProvider',
        -            'BeanContextSupport',
        -            'BeanContextSupport.BCSIterator', 'BeanDescriptor',
        -            'BeanInfo', 'Beans', 'BevelBorder', 'BigDecimal',
        -            'BigInteger', 'BinaryRefAddr', 'BindException',
        -            'Binding', 'BindingHelper', 'BindingHolder',
        -            'BindingIterator', 'BindingIteratorHelper',
        -            'BindingIteratorHolder', 'BindingIteratorOperations',
        -            'BindingListHelper', 'BindingListHolder',
        -            'BindingType', 'BindingTypeHelper',
        -            'BindingTypeHolder', 'BitSet', 'Blob', 'BlockView',
        -            'Book', 'Boolean', 'BooleanControl',
        -            'BooleanControl.Type', 'BooleanHolder',
        -            'BooleanSeqHelper', 'BooleanSeqHolder', 'Border',
        -            'BorderFactory', 'BorderLayout', 'BorderUIResource',
        -            'BorderUIResource.BevelBorderUIResource',
        -            'BorderUIResource.CompoundBorderUIResource',
        -            'BorderUIResource.EmptyBorderUIResource',
        -            'BorderUIResource.EtchedBorderUIResource',
        -            'BorderUIResource.LineBorderUIResource',
        -            'BorderUIResource.MatteBorderUIResource',
        -            'BorderUIResource.TitledBorderUIResource',
        -            'BoundedRangeModel', 'Bounds', 'Box', 'Box.Filler',
        -            'BoxedValueHelper', 'BoxLayout', 'BoxView',
        -            'BreakIterator', 'BufferedImage',
        -            'BufferedImageFilter', 'BufferedImageOp',
        -            'BufferedInputStream', 'BufferedOutputStream',
        -            'BufferedReader', 'BufferedWriter', 'Button',
        -            'ButtonGroup', 'ButtonModel', 'ButtonUI', 'Byte',
        -            'ByteArrayInputStream', 'ByteArrayOutputStream',
        -            'ByteHolder', 'ByteLookupTable', 'Calendar',
        -            'CallableStatement', 'CannotProceed',
        -            'CannotProceedException', 'CannotProceedHelper',
        -            'CannotProceedHolder', 'CannotRedoException',
        -            'CannotUndoException', 'Canvas', 'CardLayout',
        -            'Caret', 'CaretEvent', 'CaretListener', 'CellEditor',
        -            'CellEditorListener', 'CellRendererPane',
        -            'Certificate', 'Certificate.CertificateRep',
        -            'CertificateEncodingException',
        -            'CertificateException',
        -            'CertificateExpiredException', 'CertificateFactory',
        -            'CertificateFactorySpi',
        -            'CertificateNotYetValidException',
        -            'CertificateParsingException',
        -            'ChangedCharSetException', 'ChangeEvent',
        -            'ChangeListener', 'Character', 'Character.Subset',
        -            'Character.UnicodeBlock', 'CharacterIterator',
        -            'CharArrayReader', 'CharArrayWriter',
        -            'CharConversionException', 'CharHolder',
        -            'CharSeqHelper', 'CharSeqHolder', 'Checkbox',
        -            'CheckboxGroup', 'CheckboxMenuItem',
        -            'CheckedInputStream', 'CheckedOutputStream',
        -            'Checksum', 'Choice', 'ChoiceFormat', 'Class',
        -            'ClassCastException', 'ClassCircularityError',
        -            'ClassDesc', 'ClassFormatError', 'ClassLoader',
        -            'ClassNotFoundException', 'Clip', 'Clipboard',
        -            'ClipboardOwner', 'Clob', 'Cloneable',
        -            'CloneNotSupportedException', 'CMMException',
        -            'CodeSource', 'CollationElementIterator',
        -            'CollationKey', 'Collator', 'Collection',
        -            'Collections', 'Color',
        -            'ColorChooserComponentFactory', 'ColorChooserUI',
        -            'ColorConvertOp', 'ColorModel',
        -            'ColorSelectionModel', 'ColorSpace',
        -            'ColorUIResource', 'ComboBoxEditor', 'ComboBoxModel',
        -            'ComboBoxUI', 'ComboPopup', 'CommunicationException',
        -            'COMM_FAILURE', 'Comparable', 'Comparator',
        -            'Compiler', 'CompletionStatus',
        -            'CompletionStatusHelper', 'Component',
        -            'ComponentAdapter', 'ComponentColorModel',
        -            'ComponentEvent', 'ComponentInputMap',
        -            'ComponentInputMapUIResource', 'ComponentListener',
        -            'ComponentOrientation', 'ComponentSampleModel',
        -            'ComponentUI', 'ComponentView', 'Composite',
        -            'CompositeContext', 'CompositeName', 'CompositeView',
        -            'CompoundBorder', 'CompoundControl',
        -            'CompoundControl.Type', 'CompoundEdit',
        -            'CompoundName', 'ConcurrentModificationException',
        -            'ConfigurationException', 'ConnectException',
        -            'ConnectIOException', 'Connection', 'Constructor',
        -            'Container', 'ContainerAdapter', 'ContainerEvent',
        -            'ContainerListener', 'ContentHandler',
        -            'ContentHandlerFactory', 'ContentModel', 'Context',
        -            'ContextList', 'ContextNotEmptyException',
        -            'ContextualRenderedImageFactory', 'Control',
        -            'Control.Type', 'ControlFactory',
        -            'ControllerEventListener', 'ConvolveOp', 'CRC32',
        -            'CRL', 'CRLException', 'CropImageFilter', 'CSS',
        -            'CSS.Attribute', 'CTX_RESTRICT_SCOPE',
        -            'CubicCurve2D', 'CubicCurve2D.Double',
        -            'CubicCurve2D.Float', 'Current', 'CurrentHelper',
        -            'CurrentHolder', 'CurrentOperations', 'Cursor',
        -            'Customizer', 'CustomMarshal', 'CustomValue',
        -            'DatabaseMetaData', 'DataBuffer', 'DataBufferByte',
        -            'DataBufferInt', 'DataBufferShort',
        -            'DataBufferUShort', 'DataFlavor',
        -            'DataFormatException', 'DatagramPacket',
        -            'DatagramSocket', 'DatagramSocketImpl',
        -            'DatagramSocketImplFactory', 'DataInput',
        -            'DataInputStream', 'DataLine', 'DataLine.Info',
        -            'DataOutput', 'DataOutputStream', 'DataTruncation',
        -            'DATA_CONVERSION', 'Date', 'DateFormat',
        -            'DateFormatSymbols', 'DebugGraphics',
        -            'DecimalFormat', 'DecimalFormatSymbols',
        -            'DefaultBoundedRangeModel', 'DefaultButtonModel',
        -            'DefaultCaret', 'DefaultCellEditor',
        -            'DefaultColorSelectionModel', 'DefaultComboBoxModel',
        -            'DefaultDesktopManager', 'DefaultEditorKit',
        -            'DefaultEditorKit.BeepAction',
        -            'DefaultEditorKit.CopyAction',
        -            'DefaultEditorKit.CutAction',
        -            'DefaultEditorKit.DefaultKeyTypedAction',
        -            'DefaultEditorKit.InsertBreakAction',
        -            'DefaultEditorKit.InsertContentAction',
        -            'DefaultEditorKit.InsertTabAction',
        -            'DefaultEditorKit.PasteAction,',
        -            'DefaultFocusManager', 'DefaultHighlighter',
        -            'DefaultHighlighter.DefaultHighlightPainter',
        -            'DefaultListCellRenderer',
        -            'DefaultListCellRenderer.UIResource',
        -            'DefaultListModel', 'DefaultListSelectionModel',
        -            'DefaultMenuLayout', 'DefaultMetalTheme',
        -            'DefaultMutableTreeNode',
        -            'DefaultSingleSelectionModel',
        -            'DefaultStyledDocument',
        -            'DefaultStyledDocument.AttributeUndoableEdit',
        -            'DefaultStyledDocument.ElementSpec',
        -            'DefaultTableCellRenderer',
        -            'DefaultTableCellRenderer.UIResource',
        -            'DefaultTableColumnModel', 'DefaultTableModel',
        -            'DefaultTextUI', 'DefaultTreeCellEditor',
        -            'DefaultTreeCellRenderer', 'DefaultTreeModel',
        -            'DefaultTreeSelectionModel', 'DefinitionKind',
        -            'DefinitionKindHelper', 'Deflater',
        -            'DeflaterOutputStream', 'Delegate', 'DesignMode',
        -            'DesktopIconUI', 'DesktopManager', 'DesktopPaneUI',
        -            'DGC', 'Dialog', 'Dictionary', 'DigestException',
        -            'DigestInputStream', 'DigestOutputStream',
        -            'Dimension', 'Dimension2D', 'DimensionUIResource',
        -            'DirContext', 'DirectColorModel', 'DirectoryManager',
        -            'DirObjectFactory', 'DirStateFactory',
        -            'DirStateFactory.Result', 'DnDConstants', 'Document',
        -            'DocumentEvent', 'DocumentEvent.ElementChange',
        -            'DocumentEvent.EventType', 'DocumentListener',
        -            'DocumentParser', 'DomainCombiner', 'DomainManager',
        -            'DomainManagerOperations', 'Double', 'DoubleHolder',
        -            'DoubleSeqHelper', 'DoubleSeqHolder',
        -            'DragGestureEvent', 'DragGestureListener',
        -            'DragGestureRecognizer', 'DragSource',
        -            'DragSourceContext', 'DragSourceDragEvent',
        -            'DragSourceDropEvent', 'DragSourceEvent',
        -            'DragSourceListener', 'Driver', 'DriverManager',
        -            'DriverPropertyInfo', 'DropTarget',
        -            'DropTarget.DropTargetAutoScroller',
        -            'DropTargetContext', 'DropTargetDragEvent',
        -            'DropTargetDropEvent', 'DropTargetEvent',
        -            'DropTargetListener', 'DSAKey',
        -            'DSAKeyPairGenerator', 'DSAParameterSpec',
        -            'DSAParams', 'DSAPrivateKey', 'DSAPrivateKeySpec',
        -            'DSAPublicKey', 'DSAPublicKeySpec', 'DTD',
        -            'DTDConstants', 'DynamicImplementation', 'DynAny',
        -            'DynArray', 'DynEnum', 'DynFixed', 'DynSequence',
        -            'DynStruct', 'DynUnion', 'DynValue', 'EditorKit',
        -            'Element', 'ElementIterator', 'Ellipse2D',
        -            'Ellipse2D.Double', 'Ellipse2D.Float', 'EmptyBorder',
        -            'EmptyStackException', 'EncodedKeySpec', 'Entity',
        -            'EnumControl', 'EnumControl.Type', 'Enumeration',
        -            'Environment', 'EOFException', 'Error',
        -            'EtchedBorder', 'Event', 'EventContext',
        -            'EventDirContext', 'EventListener',
        -            'EventListenerList', 'EventObject', 'EventQueue',
        -            'EventSetDescriptor', 'Exception',
        -            'ExceptionInInitializerError', 'ExceptionList',
        -            'ExpandVetoException', 'ExportException',
        -            'ExtendedRequest', 'ExtendedResponse',
        -            'Externalizable', 'FeatureDescriptor', 'Field',
        -            'FieldNameHelper', 'FieldPosition', 'FieldView',
        -            'File', 'FileChooserUI', 'FileDescriptor',
        -            'FileDialog', 'FileFilter', 'FileInputStream',
        -            'FilenameFilter', 'FileNameMap',
        -            'FileNotFoundException', 'FileOutputStream',
        -            'FilePermission', 'FileReader', 'FileSystemView',
        -            'FileView', 'FileWriter', 'FilteredImageSource',
        -            'FilterInputStream', 'FilterOutputStream',
        -            'FilterReader', 'FilterWriter',
        -            'FixedHeightLayoutCache', 'FixedHolder',
        -            'FlatteningPathIterator', 'FlavorMap', 'Float',
        -            'FloatControl', 'FloatControl.Type', 'FloatHolder',
        -            'FloatSeqHelper', 'FloatSeqHolder', 'FlowLayout',
        -            'FlowView', 'FlowView.FlowStrategy', 'FocusAdapter',
        -            'FocusEvent', 'FocusListener', 'FocusManager',
        -            'Font', 'FontFormatException', 'FontMetrics',
        -            'FontRenderContext', 'FontUIResource', 'Format',
        -            'FormatConversionProvider', 'FormView', 'Frame',
        -            'FREE_MEM', 'GapContent', 'GeneralPath',
        -            'GeneralSecurityException', 'GlyphJustificationInfo',
        -            'GlyphMetrics', 'GlyphVector', 'GlyphView',
        -            'GlyphView.GlyphPainter', 'GradientPaint',
        -            'GraphicAttribute', 'Graphics', 'Graphics2D',
        -            'GraphicsConfigTemplate', 'GraphicsConfiguration',
        -            'GraphicsDevice', 'GraphicsEnvironment',
        -            'GrayFilter', 'GregorianCalendar',
        -            'GridBagConstraints', 'GridBagLayout', 'GridLayout',
        -            'Group', 'Guard', 'GuardedObject', 'GZIPInputStream',
        -            'GZIPOutputStream', 'HasControls', 'HashMap',
        -            'HashSet', 'Hashtable', 'HierarchyBoundsAdapter',
        -            'HierarchyBoundsListener', 'HierarchyEvent',
        -            'HierarchyListener', 'Highlighter',
        -            'Highlighter.Highlight',
        -            'Highlighter.HighlightPainter', 'HTML',
        -            'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag',
        -            'HTMLDocument', 'HTMLDocument.Iterator',
        -            'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory',
        -            'HTMLEditorKit.HTMLTextAction',
        -            'HTMLEditorKit.InsertHTMLTextAction',
        -            'HTMLEditorKit.LinkController',
        -            'HTMLEditorKit.Parser',
        -            'HTMLEditorKit.ParserCallback',
        -            'HTMLFrameHyperlinkEvent', 'HTMLWriter',
        -            'HttpURLConnection', 'HyperlinkEvent',
        -            'HyperlinkEvent.EventType', 'HyperlinkListener',
        -            'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray',
        -            'ICC_ProfileRGB', 'Icon', 'IconUIResource',
        -            'IconView', 'IdentifierHelper', 'Identity',
        -            'IdentityScope', 'IDLEntity', 'IDLType',
        -            'IDLTypeHelper', 'IDLTypeOperations',
        -            'IllegalAccessError', 'IllegalAccessException',
        -            'IllegalArgumentException',
        -            'IllegalComponentStateException',
        -            'IllegalMonitorStateException',
        -            'IllegalPathStateException', 'IllegalStateException',
        -            'IllegalThreadStateException', 'Image',
        -            'ImageConsumer', 'ImageFilter',
        -            'ImageGraphicAttribute', 'ImageIcon',
        -            'ImageObserver', 'ImageProducer',
        -            'ImagingOpException', 'IMP_LIMIT',
        -            'IncompatibleClassChangeError',
        -            'InconsistentTypeCode', 'IndexColorModel',
        -            'IndexedPropertyDescriptor',
        -            'IndexOutOfBoundsException', 'IndirectionException',
        -            'InetAddress', 'Inflater', 'InflaterInputStream',
        -            'InheritableThreadLocal', 'InitialContext',
        -            'InitialContextFactory',
        -            'InitialContextFactoryBuilder', 'InitialDirContext',
        -            'INITIALIZE', 'Initializer', 'InitialLdapContext',
        -            'InlineView', 'InputContext', 'InputEvent',
        -            'InputMap', 'InputMapUIResource', 'InputMethod',
        -            'InputMethodContext', 'InputMethodDescriptor',
        -            'InputMethodEvent', 'InputMethodHighlight',
        -            'InputMethodListener', 'InputMethodRequests',
        -            'InputStream', 'InputStreamReader', 'InputSubset',
        -            'InputVerifier', 'Insets', 'InsetsUIResource',
        -            'InstantiationError', 'InstantiationException',
        -            'Instrument', 'InsufficientResourcesException',
        -            'Integer', 'INTERNAL', 'InternalError',
        -            'InternalFrameAdapter', 'InternalFrameEvent',
        -            'InternalFrameListener', 'InternalFrameUI',
        -            'InterruptedException', 'InterruptedIOException',
        -            'InterruptedNamingException', 'INTF_REPOS',
        -            'IntHolder', 'IntrospectionException',
        -            'Introspector', 'Invalid',
        -            'InvalidAlgorithmParameterException',
        -            'InvalidAttributeIdentifierException',
        -            'InvalidAttributesException',
        -            'InvalidAttributeValueException',
        -            'InvalidClassException',
        -            'InvalidDnDOperationException',
        -            'InvalidKeyException', 'InvalidKeySpecException',
        -            'InvalidMidiDataException', 'InvalidName',
        -            'InvalidNameException', 'InvalidNameHelper',
        -            'InvalidNameHolder', 'InvalidObjectException',
        -            'InvalidParameterException',
        -            'InvalidParameterSpecException',
        -            'InvalidSearchControlsException',
        -            'InvalidSearchFilterException', 'InvalidSeq',
        -            'InvalidTransactionException', 'InvalidValue',
        -            'INVALID_TRANSACTION', 'InvocationEvent',
        -            'InvocationHandler', 'InvocationTargetException',
        -            'InvokeHandler', 'INV_FLAG', 'INV_IDENT',
        -            'INV_OBJREF', 'INV_POLICY', 'IOException',
        -            'IRObject', 'IRObjectOperations', 'IstringHelper',
        -            'ItemEvent', 'ItemListener', 'ItemSelectable',
        -            'Iterator', 'JApplet', 'JarEntry', 'JarException',
        -            'JarFile', 'JarInputStream', 'JarOutputStream',
        -            'JarURLConnection', 'JButton', 'JCheckBox',
        -            'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox',
        -            'JComboBox.KeySelectionManager', 'JComponent',
        -            'JDesktopPane', 'JDialog', 'JEditorPane',
        -            'JFileChooser', 'JFrame', 'JInternalFrame',
        -            'JInternalFrame.JDesktopIcon', 'JLabel',
        -            'JLayeredPane', 'JList', 'JMenu', 'JMenuBar',
        -            'JMenuItem', 'JobAttributes',
        -            'JobAttributes.DefaultSelectionType',
        -            'JobAttributes.DestinationType',
        -            'JobAttributes.DialogType',
        -            'JobAttributes.MultipleDocumentHandlingType',
        -            'JobAttributes.SidesType', 'JOptionPane', 'JPanel',
        -            'JPasswordField', 'JPopupMenu',
        -            'JPopupMenu.Separator', 'JProgressBar',
        -            'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane',
        -            'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider',
        -            'JSplitPane', 'JTabbedPane', 'JTable',
        -            'JTableHeader', 'JTextArea', 'JTextComponent',
        -            'JTextComponent.KeyBinding', 'JTextField',
        -            'JTextPane', 'JToggleButton',
        -            'JToggleButton.ToggleButtonModel', 'JToolBar',
        -            'JToolBar.Separator', 'JToolTip', 'JTree',
        -            'JTree.DynamicUtilTreeNode',
        -            'JTree.EmptySelectionModel', 'JViewport', 'JWindow',
        -            'Kernel', 'Key', 'KeyAdapter', 'KeyEvent',
        -            'KeyException', 'KeyFactory', 'KeyFactorySpi',
        -            'KeyListener', 'KeyManagementException', 'Keymap',
        -            'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi',
        -            'KeySpec', 'KeyStore', 'KeyStoreException',
        -            'KeyStoreSpi', 'KeyStroke', 'Label', 'LabelUI',
        -            'LabelView', 'LastOwnerException',
        -            'LayeredHighlighter',
        -            'LayeredHighlighter.LayerPainter', 'LayoutManager',
        -            'LayoutManager2', 'LayoutQueue', 'LdapContext',
        -            'LdapReferralException', 'Lease',
        -            'LimitExceededException', 'Line', 'Line.Info',
        -            'Line2D', 'Line2D.Double', 'Line2D.Float',
        -            'LineBorder', 'LineBreakMeasurer', 'LineEvent',
        -            'LineEvent.Type', 'LineListener', 'LineMetrics',
        -            'LineNumberInputStream', 'LineNumberReader',
        -            'LineUnavailableException', 'LinkageError',
        -            'LinkedList', 'LinkException', 'LinkLoopException',
        -            'LinkRef', 'List', 'ListCellRenderer',
        -            'ListDataEvent', 'ListDataListener', 'ListIterator',
        -            'ListModel', 'ListResourceBundle',
        -            'ListSelectionEvent', 'ListSelectionListener',
        -            'ListSelectionModel', 'ListUI', 'ListView',
        -            'LoaderHandler', 'Locale', 'LocateRegistry',
        -            'LogStream', 'Long', 'LongHolder',
        -            'LongLongSeqHelper', 'LongLongSeqHolder',
        -            'LongSeqHelper', 'LongSeqHolder', 'LookAndFeel',
        -            'LookupOp', 'LookupTable', 'MalformedLinkException',
        -            'MalformedURLException', 'Manifest', 'Map',
        -            'Map.Entry', 'MARSHAL', 'MarshalException',
        -            'MarshalledObject', 'Math', 'MatteBorder',
        -            'MediaTracker', 'Member', 'MemoryImageSource',
        -            'Menu', 'MenuBar', 'MenuBarUI', 'MenuComponent',
        -            'MenuContainer', 'MenuDragMouseEvent',
        -            'MenuDragMouseListener', 'MenuElement', 'MenuEvent',
        -            'MenuItem', 'MenuItemUI', 'MenuKeyEvent',
        -            'MenuKeyListener', 'MenuListener',
        -            'MenuSelectionManager', 'MenuShortcut',
        -            'MessageDigest', 'MessageDigestSpi', 'MessageFormat',
        -            'MetaEventListener', 'MetalBorders',
        -            'MetalBorders.ButtonBorder',
        -            'MetalBorders.Flush3DBorder',
        -            'MetalBorders.InternalFrameBorder',
        -            'MetalBorders.MenuBarBorder',
        -            'MetalBorders.MenuItemBorder',
        -            'MetalBorders.OptionDialogBorder',
        -            'MetalBorders.PaletteBorder',
        -            'MetalBorders.PopupMenuBorder',
        -            'MetalBorders.RolloverButtonBorder',
        -            'MetalBorders.ScrollPaneBorder',
        -            'MetalBorders.TableHeaderBorder',
        -            'MetalBorders.TextFieldBorder',
        -            'MetalBorders.ToggleButtonBorder',
        -            'MetalBorders.ToolBarBorder', 'MetalButtonUI',
        -            'MetalCheckBoxIcon', 'MetalCheckBoxUI',
        -            'MetalComboBoxButton', 'MetalComboBoxEditor',
        -            'MetalComboBoxEditor.UIResource',
        -            'MetalComboBoxIcon', 'MetalComboBoxUI',
        -            'MetalDesktopIconUI', 'MetalFileChooserUI',
        -            'MetalIconFactory', 'MetalIconFactory.FileIcon16',
        -            'MetalIconFactory.FolderIcon16',
        -            'MetalIconFactory.PaletteCloseIcon',
        -            'MetalIconFactory.TreeControlIcon',
        -            'MetalIconFactory.TreeFolderIcon',
        -            'MetalIconFactory.TreeLeafIcon',
        -            'MetalInternalFrameTitlePane',
        -            'MetalInternalFrameUI', 'MetalLabelUI',
        -            'MetalLookAndFeel', 'MetalPopupMenuSeparatorUI',
        -            'MetalProgressBarUI', 'MetalRadioButtonUI',
        -            'MetalScrollBarUI', 'MetalScrollButton',
        -            'MetalScrollPaneUI', 'MetalSeparatorUI',
        -            'MetalSliderUI', 'MetalSplitPaneUI',
        -            'MetalTabbedPaneUI', 'MetalTextFieldUI',
        -            'MetalTheme', 'MetalToggleButtonUI',
        -            'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI',
        -            'MetaMessage', 'Method', 'MethodDescriptor',
        -            'MidiChannel', 'MidiDevice', 'MidiDevice.Info',
        -            'MidiDeviceProvider', 'MidiEvent', 'MidiFileFormat',
        -            'MidiFileReader', 'MidiFileWriter', 'MidiMessage',
        -            'MidiSystem', 'MidiUnavailableException',
        -            'MimeTypeParseException', 'MinimalHTMLWriter',
        -            'MissingResourceException', 'Mixer', 'Mixer.Info',
        -            'MixerProvider', 'ModificationItem', 'Modifier',
        -            'MouseAdapter', 'MouseDragGestureRecognizer',
        -            'MouseEvent', 'MouseInputAdapter',
        -            'MouseInputListener', 'MouseListener',
        -            'MouseMotionAdapter', 'MouseMotionListener',
        -            'MultiButtonUI', 'MulticastSocket',
        -            'MultiColorChooserUI', 'MultiComboBoxUI',
        -            'MultiDesktopIconUI', 'MultiDesktopPaneUI',
        -            'MultiFileChooserUI', 'MultiInternalFrameUI',
        -            'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel',
        -            'MultiMenuBarUI', 'MultiMenuItemUI',
        -            'MultiOptionPaneUI', 'MultiPanelUI',
        -            'MultiPixelPackedSampleModel', 'MultipleMaster',
        -            'MultiPopupMenuUI', 'MultiProgressBarUI',
        -            'MultiScrollBarUI', 'MultiScrollPaneUI',
        -            'MultiSeparatorUI', 'MultiSliderUI',
        -            'MultiSplitPaneUI', 'MultiTabbedPaneUI',
        -            'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI',
        -            'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI',
        -            'MultiViewportUI', 'MutableAttributeSet',
        -            'MutableComboBoxModel', 'MutableTreeNode', 'Name',
        -            'NameAlreadyBoundException', 'NameClassPair',
        -            'NameComponent', 'NameComponentHelper',
        -            'NameComponentHolder', 'NamedValue', 'NameHelper',
        -            'NameHolder', 'NameNotFoundException', 'NameParser',
        -            'NamespaceChangeListener', 'NameValuePair',
        -            'NameValuePairHelper', 'Naming', 'NamingContext',
        -            'NamingContextHelper', 'NamingContextHolder',
        -            'NamingContextOperations', 'NamingEnumeration',
        -            'NamingEvent', 'NamingException',
        -            'NamingExceptionEvent', 'NamingListener',
        -            'NamingManager', 'NamingSecurityException',
        -            'NegativeArraySizeException', 'NetPermission',
        -            'NoClassDefFoundError', 'NoInitialContextException',
        -            'NoninvertibleTransformException',
        -            'NoPermissionException', 'NoRouteToHostException',
        -            'NoSuchAlgorithmException',
        -            'NoSuchAttributeException', 'NoSuchElementException',
        -            'NoSuchFieldError', 'NoSuchFieldException',
        -            'NoSuchMethodError', 'NoSuchMethodException',
        -            'NoSuchObjectException', 'NoSuchProviderException',
        -            'NotActiveException', 'NotBoundException',
        -            'NotContextException', 'NotEmpty', 'NotEmptyHelper',
        -            'NotEmptyHolder', 'NotFound', 'NotFoundHelper',
        -            'NotFoundHolder', 'NotFoundReason',
        -            'NotFoundReasonHelper', 'NotFoundReasonHolder',
        -            'NotOwnerException', 'NotSerializableException',
        -            'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION',
        -            'NO_RESOURCES', 'NO_RESPONSE',
        -            'NullPointerException', 'Number', 'NumberFormat',
        -            'NumberFormatException', 'NVList', 'Object',
        -            'ObjectChangeListener', 'ObjectFactory',
        -            'ObjectFactoryBuilder', 'ObjectHelper',
        -            'ObjectHolder', 'ObjectImpl', 'ObjectInput',
        -            'ObjectInputStream', 'ObjectInputStream.GetField',
        -            'ObjectInputValidation', 'ObjectOutput',
        -            'ObjectOutputStream', 'ObjectOutputStream.PutField',
        -            'ObjectStreamClass', 'ObjectStreamConstants',
        -            'ObjectStreamException', 'ObjectStreamField',
        -            'ObjectView', 'OBJECT_NOT_EXIST', 'ObjID',
        -            'OBJ_ADAPTER', 'Observable', 'Observer',
        -            'OctetSeqHelper', 'OctetSeqHolder', 'OMGVMCID',
        -            'OpenType', 'Operation',
        -            'OperationNotSupportedException', 'Option',
        -            'OptionalDataException', 'OptionPaneUI', 'ORB',
        -            'OutOfMemoryError', 'OutputStream',
        -            'OutputStreamWriter', 'OverlayLayout', 'Owner',
        -            'Package', 'PackedColorModel', 'Pageable',
        -            'PageAttributes', 'PageAttributes.ColorType',
        -            'PageAttributes.MediaType',
        -            'PageAttributes.OrientationRequestedType',
        -            'PageAttributes.OriginType',
        -            'PageAttributes.PrintQualityType', 'PageFormat',
        -            'Paint', 'PaintContext', 'PaintEvent', 'Panel',
        -            'PanelUI', 'Paper', 'ParagraphView',
        -            'ParameterBlock', 'ParameterDescriptor',
        -            'ParseException', 'ParsePosition', 'Parser',
        -            'ParserDelegator', 'PartialResultException',
        -            'PasswordAuthentication', 'PasswordView', 'Patch',
        -            'PathIterator', 'Permission', 'PermissionCollection',
        -            'Permissions', 'PERSIST_STORE', 'PhantomReference',
        -            'PipedInputStream', 'PipedOutputStream',
        -            'PipedReader', 'PipedWriter', 'PixelGrabber',
        -            'PixelInterleavedSampleModel', 'PKCS8EncodedKeySpec',
        -            'PlainDocument', 'PlainView', 'Point', 'Point2D',
        -            'Point2D.Double', 'Point2D.Float', 'Policy',
        -            'PolicyError', 'PolicyHelper', 'PolicyHolder',
        -            'PolicyListHelper', 'PolicyListHolder',
        -            'PolicyOperations', 'PolicyTypeHelper', 'Polygon',
        -            'PopupMenu', 'PopupMenuEvent', 'PopupMenuListener',
        -            'PopupMenuUI', 'Port', 'Port.Info',
        -            'PortableRemoteObject',
        -            'PortableRemoteObjectDelegate', 'Position',
        -            'Position.Bias', 'PreparedStatement', 'Principal',
        -            'PrincipalHolder', 'Printable',
        -            'PrinterAbortException', 'PrinterException',
        -            'PrinterGraphics', 'PrinterIOException',
        -            'PrinterJob', 'PrintGraphics', 'PrintJob',
        -            'PrintStream', 'PrintWriter', 'PrivateKey',
        -            'PRIVATE_MEMBER', 'PrivilegedAction',
        -            'PrivilegedActionException',
        -            'PrivilegedExceptionAction', 'Process',
        -            'ProfileDataException', 'ProgressBarUI',
        -            'ProgressMonitor', 'ProgressMonitorInputStream',
        -            'Properties', 'PropertyChangeEvent',
        -            'PropertyChangeListener', 'PropertyChangeSupport',
        -            'PropertyDescriptor', 'PropertyEditor',
        -            'PropertyEditorManager', 'PropertyEditorSupport',
        -            'PropertyPermission', 'PropertyResourceBundle',
        -            'PropertyVetoException', 'ProtectionDomain',
        -            'ProtocolException', 'Provider', 'ProviderException',
        -            'Proxy', 'PublicKey', 'PUBLIC_MEMBER',
        -            'PushbackInputStream', 'PushbackReader',
        -            'QuadCurve2D', 'QuadCurve2D.Double',
        -            'QuadCurve2D.Float', 'Random', 'RandomAccessFile',
        -            'Raster', 'RasterFormatException', 'RasterOp',
        -            'Reader', 'Receiver', 'Rectangle', 'Rectangle2D',
        -            'Rectangle2D.Double', 'Rectangle2D.Float',
        -            'RectangularShape', 'Ref', 'RefAddr', 'Reference',
        -            'Referenceable', 'ReferenceQueue',
        -            'ReferralException', 'ReflectPermission', 'Registry',
        -            'RegistryHandler', 'RemarshalException', 'Remote',
        -            'RemoteCall', 'RemoteException', 'RemoteObject',
        -            'RemoteRef', 'RemoteServer', 'RemoteStub',
        -            'RenderableImage', 'RenderableImageOp',
        -            'RenderableImageProducer', 'RenderContext',
        -            'RenderedImage', 'RenderedImageFactory', 'Renderer',
        -            'RenderingHints', 'RenderingHints.Key',
        -            'RepaintManager', 'ReplicateScaleFilter',
        -            'Repository', 'RepositoryIdHelper', 'Request',
        -            'RescaleOp', 'Resolver', 'ResolveResult',
        -            'ResourceBundle', 'ResponseHandler', 'ResultSet',
        -            'ResultSetMetaData', 'ReverbType', 'RGBImageFilter',
        -            'RMIClassLoader', 'RMIClientSocketFactory',
        -            'RMIFailureHandler', 'RMISecurityException',
        -            'RMISecurityManager', 'RMIServerSocketFactory',
        -            'RMISocketFactory', 'Robot', 'RootPaneContainer',
        -            'RootPaneUI', 'RoundRectangle2D',
        -            'RoundRectangle2D.Double', 'RoundRectangle2D.Float',
        -            'RowMapper', 'RSAKey', 'RSAKeyGenParameterSpec',
        -            'RSAPrivateCrtKey', 'RSAPrivateCrtKeySpec',
        -            'RSAPrivateKey', 'RSAPrivateKeySpec', 'RSAPublicKey',
        -            'RSAPublicKeySpec', 'RTFEditorKit',
        -            'RuleBasedCollator', 'Runnable', 'Runtime',
        -            'RunTime', 'RuntimeException', 'RunTimeOperations',
        -            'RuntimePermission', 'SampleModel',
        -            'SchemaViolationException', 'Scrollable',
        -            'Scrollbar', 'ScrollBarUI', 'ScrollPane',
        -            'ScrollPaneConstants', 'ScrollPaneLayout',
        -            'ScrollPaneLayout.UIResource', 'ScrollPaneUI',
        -            'SearchControls', 'SearchResult',
        -            'SecureClassLoader', 'SecureRandom',
        -            'SecureRandomSpi', 'Security', 'SecurityException',
        -            'SecurityManager', 'SecurityPermission', 'Segment',
        -            'SeparatorUI', 'Sequence', 'SequenceInputStream',
        -            'Sequencer', 'Sequencer.SyncMode', 'Serializable',
        -            'SerializablePermission', 'ServantObject',
        -            'ServerCloneException', 'ServerError',
        -            'ServerException', 'ServerNotActiveException',
        -            'ServerRef', 'ServerRequest',
        -            'ServerRuntimeException', 'ServerSocket',
        -            'ServiceDetail', 'ServiceDetailHelper',
        -            'ServiceInformation', 'ServiceInformationHelper',
        -            'ServiceInformationHolder',
        -            'ServiceUnavailableException', 'Set',
        -            'SetOverrideType', 'SetOverrideTypeHelper', 'Shape',
        -            'ShapeGraphicAttribute', 'Short', 'ShortHolder',
        -            'ShortLookupTable', 'ShortMessage', 'ShortSeqHelper',
        -            'ShortSeqHolder', 'Signature', 'SignatureException',
        -            'SignatureSpi', 'SignedObject', 'Signer',
        -            'SimpleAttributeSet', 'SimpleBeanInfo',
        -            'SimpleDateFormat', 'SimpleTimeZone',
        -            'SinglePixelPackedSampleModel',
        -            'SingleSelectionModel', 'SizeLimitExceededException',
        -            'SizeRequirements', 'SizeSequence', 'Skeleton',
        -            'SkeletonMismatchException',
        -            'SkeletonNotFoundException', 'SliderUI', 'Socket',
        -            'SocketException', 'SocketImpl', 'SocketImplFactory',
        -            'SocketOptions', 'SocketPermission',
        -            'SocketSecurityException', 'SoftBevelBorder',
        -            'SoftReference', 'SortedMap', 'SortedSet',
        -            'Soundbank', 'SoundbankReader', 'SoundbankResource',
        -            'SourceDataLine', 'SplitPaneUI', 'SQLData',
        -            'SQLException', 'SQLInput', 'SQLOutput',
        -            'SQLPermission', 'SQLWarning', 'Stack',
        -            'StackOverflowError', 'StateEdit', 'StateEditable',
        -            'StateFactory', 'Statement', 'Streamable',
        -            'StreamableValue', 'StreamCorruptedException',
        -            'StreamTokenizer', 'StrictMath', 'String',
        -            'StringBuffer', 'StringBufferInputStream',
        -            'StringCharacterIterator', 'StringContent',
        -            'StringHolder', 'StringIndexOutOfBoundsException',
        -            'StringReader', 'StringRefAddr', 'StringSelection',
        -            'StringTokenizer', 'StringValueHelper',
        -            'StringWriter', 'Stroke', 'Struct', 'StructMember',
        -            'StructMemberHelper', 'Stub', 'StubDelegate',
        -            'StubNotFoundException', 'Style', 'StyleConstants',
        -            'StyleConstants.CharacterConstants',
        -            'StyleConstants.ColorConstants',
        -            'StyleConstants.FontConstants',
        -            'StyleConstants.ParagraphConstants', 'StyleContext',
        -            'StyledDocument', 'StyledEditorKit',
        -            'StyledEditorKit.AlignmentAction',
        -            'StyledEditorKit.BoldAction',
        -            'StyledEditorKit.FontFamilyAction',
        -            'StyledEditorKit.FontSizeAction',
        -            'StyledEditorKit.ForegroundAction',
        -            'StyledEditorKit.ItalicAction',
        -            'StyledEditorKit.StyledTextAction',
        -            'StyledEditorKit.UnderlineAction', 'StyleSheet',
        -            'StyleSheet.BoxPainter', 'StyleSheet.ListPainter',
        -            'SwingConstants', 'SwingPropertyChangeSupport',
        -            'SwingUtilities', 'SyncFailedException',
        -            'Synthesizer', 'SysexMessage', 'System',
        -            'SystemColor', 'SystemException', 'SystemFlavorMap',
        -            'TabableView', 'TabbedPaneUI', 'TabExpander',
        -            'TableCellEditor', 'TableCellRenderer',
        -            'TableColumn', 'TableColumnModel',
        -            'TableColumnModelEvent', 'TableColumnModelListener',
        -            'TableHeaderUI', 'TableModel', 'TableModelEvent',
        -            'TableModelListener', 'TableUI', 'TableView',
        -            'TabSet', 'TabStop', 'TagElement', 'TargetDataLine',
        -            'TCKind', 'TextAction', 'TextArea', 'TextAttribute',
        -            'TextComponent', 'TextEvent', 'TextField',
        -            'TextHitInfo', 'TextLayout',
        -            'TextLayout.CaretPolicy', 'TextListener',
        -            'TextMeasurer', 'TextUI', 'TexturePaint', 'Thread',
        -            'ThreadDeath', 'ThreadGroup', 'ThreadLocal',
        -            'Throwable', 'Tie', 'TileObserver', 'Time',
        -            'TimeLimitExceededException', 'Timer', 'TimerTask',
        -            'Timestamp', 'TimeZone', 'TitledBorder', 'ToolBarUI',
        -            'Toolkit', 'ToolTipManager', 'ToolTipUI',
        -            'TooManyListenersException', 'Track',
        -            'TransactionRequiredException',
        -            'TransactionRolledbackException',
        -            'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK',
        -            'Transferable', 'TransformAttribute', 'TRANSIENT',
        -            'Transmitter', 'Transparency', 'TreeCellEditor',
        -            'TreeCellRenderer', 'TreeExpansionEvent',
        -            'TreeExpansionListener', 'TreeMap', 'TreeModel',
        -            'TreeModelEvent', 'TreeModelListener', 'TreeNode',
        -            'TreePath', 'TreeSelectionEvent',
        -            'TreeSelectionListener', 'TreeSelectionModel',
        -            'TreeSet', 'TreeUI', 'TreeWillExpandListener',
        -            'TypeCode', 'TypeCodeHolder', 'TypeMismatch',
        -            'Types', 'UID', 'UIDefaults',
        -            'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap',
        -            'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue',
        -            'UIManager', 'UIManager.LookAndFeelInfo',
        -            'UIResource', 'ULongLongSeqHelper',
        -            'ULongLongSeqHolder', 'ULongSeqHelper',
        -            'ULongSeqHolder', 'UndeclaredThrowableException',
        -            'UndoableEdit', 'UndoableEditEvent',
        -            'UndoableEditListener', 'UndoableEditSupport',
        -            'UndoManager', 'UnexpectedException',
        -            'UnicastRemoteObject', 'UnionMember',
        -            'UnionMemberHelper', 'UNKNOWN', 'UnknownError',
        -            'UnknownException', 'UnknownGroupException',
        -            'UnknownHostException', 'UnknownObjectException',
        -            'UnknownServiceException', 'UnknownUserException',
        -            'UnmarshalException', 'UnrecoverableKeyException',
        -            'Unreferenced', 'UnresolvedPermission',
        -            'UnsatisfiedLinkError', 'UnsolicitedNotification',
        -            'UnsolicitedNotificationEvent',
        -            'UnsolicitedNotificationListener',
        -            'UnsupportedAudioFileException',
        -            'UnsupportedClassVersionError',
        -            'UnsupportedEncodingException',
        -            'UnsupportedFlavorException',
        -            'UnsupportedLookAndFeelException',
        -            'UnsupportedOperationException',
        -            'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE',
        -            'URL', 'URLClassLoader', 'URLConnection',
        -            'URLDecoder', 'URLEncoder', 'URLStreamHandler',
        -            'URLStreamHandlerFactory', 'UserException',
        -            'UShortSeqHelper', 'UShortSeqHolder',
        -            'UTFDataFormatException', 'Util', 'UtilDelegate',
        -            'Utilities', 'ValueBase', 'ValueBaseHelper',
        -            'ValueBaseHolder', 'ValueFactory', 'ValueHandler',
        -            'ValueMember', 'ValueMemberHelper',
        -            'VariableHeightLayoutCache', 'Vector', 'VerifyError',
        -            'VersionSpecHelper', 'VetoableChangeListener',
        -            'VetoableChangeSupport', 'View', 'ViewFactory',
        -            'ViewportLayout', 'ViewportUI',
        -            'VirtualMachineError', 'Visibility',
        -            'VisibilityHelper', 'VMID', 'VM_ABSTRACT',
        -            'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE',
        -            'VoiceStatus', 'Void', 'WCharSeqHelper',
        -            'WCharSeqHolder', 'WeakHashMap', 'WeakReference',
        -            'Window', 'WindowAdapter', 'WindowConstants',
        -            'WindowEvent', 'WindowListener', 'WrappedPlainView',
        -            'WritableRaster', 'WritableRenderedImage',
        -            'WriteAbortedException', 'Writer',
        -            'WrongTransaction', 'WStringValueHelper',
        -            'X509Certificate', 'X509CRL', 'X509CRLEntry',
        -            'X509EncodedKeySpec', 'X509Extension', 'ZipEntry',
        -            'ZipException', 'ZipFile', 'ZipInputStream',
        -            'ZipOutputStream', 'ZoneView',
        -            '_BindingIteratorImplBase', '_BindingIteratorStub',
        -            '_IDLTypeStub', '_NamingContextImplBase',
        -            '_NamingContextStub', '_PolicyStub', '_Remote_Stub'
        -            ),
        -        4 => array(
        -            'boolean', 'byte', 'char', 'double', 'float', 'int', 'long',
        -            'short', 'void'
        -            ),
        -        5 => array(
        -            'allProperties', 'asImmutable', 'asSynchronized', 'collect',
        -            'count', 'each', 'eachProperty', 'eachPropertyName',
        -            'eachWithIndex', 'find', 'findAll', 'findIndexOf',
        -            'flatten', 'get', 'grep', 'inject', 'intersect',
        -            'join', 'max', 'min', 'pop', 'reverse',
        -            'reverseEach', 'size', 'sort', 'subMap', 'toList'
        -            ),
        -        6 => array(
        -            'center', 'contains', 'eachMatch', 'padLeft', 'padRight',
        -            'toCharacter', 'tokenize', 'toLong', 'toURL'
        -            ),
        -        7 => array(
        -            'append', 'eachByte', 'eachFile', 'eachFileRecurse', 'eachLine',
        -            'eachLines', 'encodeBase64', 'filterLine', 'getText',
        -            'splitEachLine', 'transformChar', 'transformLine',
        -            'withOutputStream', 'withPrintWriter', 'withReader',
        -            'withStream', 'withStreams', 'withWriter',
        -            'withWriterAppend', 'write', 'writeLine'
        -            ),
        -        8 => array(
        -            'dump', 'getLastMatcher', 'inspect', 'invokeMethod', 'print',
        -            'println', 'start', 'startDaemon', 'step', 'times',
        -            'upto', 'use'
        -            ),
        -        9 => array(
        -            'call', 'close', 'eachRow', 'execute', 'executeUpdate', 'Sql'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '|', '=',
        -        '=>', '||', '-', '+', '<<', '<<<', '&&'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => false,
        -        2 => false,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true,
        -        9 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #aaaadd; font-weight: bold;',
        -            4 => 'color: #993333;',
        -            5 => 'color: #663399;',
        -            6 => 'color: #CC0099;',
        -            7 => 'color: #FFCC33;',
        -            8 => 'color: #993399;',
        -            9 => 'color: #993399; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1=> 'color: #808080; font-style: italic;',
        -            2=> 'color: #a1a100;',
        -            3=> 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000ff;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAMEL}',
        -        2 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAMEL}',
        -        3 => 'http://www.google.de/search?as_q={FNAME}&num=100&hl=en&as_occt=url&as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F',
        -        4 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}',
        -        5 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}',
        -        6 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}',
        -        7 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}',
        -        8 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}',
        -        9 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        //Variables
        -        0 => '\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/gwbasic.php b/vendor/easybook/geshi/geshi/gwbasic.php
        deleted file mode 100644
        index a42b09b..0000000
        --- a/vendor/easybook/geshi/geshi/gwbasic.php
        +++ /dev/null
        @@ -1,152 +0,0 @@
        - 'GwBasic',
        -    'COMMENT_SINGLE' => array(1 => "'", 2=> "REM"),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -    /* Statements */
        -        1 => array('END','FOR','NEXT','DATA','INPUT','DIM','READ','LET',
        -            'GOTO','RUN','IF','RESTORE','GOSUB','RETURN','REM',
        -            'STOP','PRINT','CLEAR','LIST','NEW','ON','WAIT','DEF',
        -            'POKE','CONT','OUT','LPRINT','LLIST','WIDTH','ELSE',
        -            'TRON','TROFF','SWAP','ERASE','EDIT','ERROR','RESUME',
        -            'DELETE','AUTO','RENUM','DEFSTR','DEFINT','DEFSNG',
        -            'DEFDBL','LINE','WHILE','WEND','CALL','WRITE','OPTION',
        -            'RANDOMIZE','OPEN','CLOSE','LOAD','MERGE','SAVE',
        -            'COLOR','CLS','MOTOR','BSAVE','BLOAD','SOUND','BEEP',
        -            'PSET','PRESET','SCREEN','KEY','LOCATE','TO','THEN',
        -            'STEP','USR','FN','SPC','NOT','ERL','ERR','STRING',
        -            'USING','INSTR','VARPTR','CSRLIN','POINT','OFF',
        -            'FILES','FIELD','SYSTEM','NAME','LSET','RSET','KILL',
        -            'PUT','GET','RESET','COMMON','CHAIN','PAINT','COM',
        -            'CIRCLE','DRAW','PLAY','TIMER','IOCTL','CHDIR','MKDIR',
        -            'RMDIR','SHELL','VIEW','WINDOW','PMAP','PALETTE','LCOPY',
        -            'CALLS','PCOPY','LOCK','UNLOCK','RANDOM','APPEND',
        -            ),
        -        2 => array(
        -            /* Functions */
        -            'CVI','CVS','CVD','MKI','MKS','MKD','ENVIRON',
        -            'LEFT','RIGHT','MID','SGN','INT','ABS',
        -            'SQR','SIN','LOG','EXP','COS','TAN','ATN',
        -            'FRE','INP','POS','LEN','STR','VAL','ASC',
        -            'CHR','PEEK','SPACE','OCT','HEX','LPOS',
        -            'CINT','CSNG','CDBL','FIX','PEN','STICK',
        -            'STRIG','EOF','LOC','LOF'
        -            ),
        -        3 => array(
        -            /* alpha Operators */
        -            'AND','OR','XOR','EQV','IMP','MOD'
        -            ),
        -        4 => array(
        -            /* parameterless functions */
        -            'INKEY','DATE','TIME','ERDEV','RND'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array(
        -            '>','=','<','+','-','*','/','^','\\'
        -            ),
        -        1 => array(
        -            '?'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -            GESHI_COMMENTS => false,
        -            1 => false,
        -            2 => false,
        -            3 => false,
        -            4 => false
        -            ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #00a1a1;font-weight: bold',
        -            2 => 'color: #000066;font-weight: bold',
        -            3 => 'color: #00a166;font-weight: bold',
        -            4 => 'color: #0066a1;font-weight: bold'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080;',
        -            2 => 'color: #808080;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -        /* Same as KEYWORDS[3] (and, or, not...) */
        -            0 => 'color: #00a166;font-weight: bold',
        -            1 => 'color: #00a1a1;font-weight: bold',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'color: #708090'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        1 => '^[0-9]+ '
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/haskell.php b/vendor/easybook/geshi/geshi/haskell.php
        deleted file mode 100644
        index 4c7986d..0000000
        --- a/vendor/easybook/geshi/geshi/haskell.php
        +++ /dev/null
        @@ -1,201 +0,0 @@
        - 'Haskell',
        -    'COMMENT_SINGLE' => array( 1 => '--'),
        -    'COMMENT_MULTI' => array('{-' => '-}'),
        -    'COMMENT_REGEXP' => array(
        -        2 => "/-->/",
        -        3 => "/{-(?:(?R)|.)-}/s", //Nested Comments
        -        ),
        -    'CASE_KEYWORDS' => 0,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        /* main haskell keywords */
        -        1 => array(
        -            'as',
        -            'case', 'of', 'class', 'data', 'default',
        -            'deriving', 'do', 'forall', 'hiding', 'if', 'then',
        -            'else', 'import', 'infix', 'infixl', 'infixr',
        -            'instance', 'let', 'in', 'module', 'newtype',
        -            'qualified', 'type', 'where'
        -            ),
        -        /* define names of main librarys, so we can link to it */
        -        2 => array(
        -            'Foreign', 'Numeric', 'Prelude'
        -            ),
        -        /* just link to Prelude functions, cause it's the default opened library when starting Haskell */
        -        3 => array(
        -            'not', 'otherwise', 'maybe',
        -            'either', 'fst', 'snd', 'curry', 'uncurry',
        -            'compare',
        -            'max', 'min', 'succ', 'pred', 'toEnum', 'fromEnum',
        -            'enumFrom', 'enumFromThen', 'enumFromTo',
        -            'enumFromThenTo', 'minBound', 'maxBound',
        -            'negate', 'abs', 'signum',
        -            'fromInteger', 'toRational', 'quot', 'rem',
        -            'div', 'mod', 'quotRem', 'divMod', 'toInteger',
        -            'recip', 'fromRational', 'pi', 'exp',
        -            'log', 'sqrt', 'logBase', 'sin', 'cos',
        -            'tan', 'asin', 'acos', 'atan', 'sinh', 'cosh',
        -            'tanh', 'asinh', 'acosh', 'atanh',
        -            'properFraction', 'truncate', 'round', 'ceiling',
        -            'floor', 'floatRadix', 'floatDigits', 'floatRange',
        -            'decodeFloat', 'encodeFloat', 'exponent',
        -            'significand', 'scaleFloat', 'isNaN', 'isInfinite',
        -            'isDenomalized', 'isNegativeZero', 'isIEEE',
        -            'atan2', 'subtract', 'even', 'odd', 'gcd',
        -            'lcm', 'fromIntegral', 'realToFrac',
        -            'return', 'fail', 'fmap',
        -            'mapM', 'mapM_', 'sequence', 'sequence_',
        -            'id', 'const','flip',
        -            'until', 'asTypeOf', 'error', 'undefined',
        -            'seq','map','filter', 'head',
        -            'last', 'tail', 'init', 'null', 'length',
        -            'reverse', 'foldl', 'foldl1', 'foldr',
        -            'foldr1', 'and', 'or', 'any', 'all', 'sum',
        -            'product', 'concat', 'concatMap', 'maximum',
        -            'minimum', 'scanl', 'scanl1', 'scanr', 'scanr1',
        -            'iterate', 'repeat', 'cycle', 'take', 'drop',
        -            'splitAt', 'takeWhile', 'dropWhile', 'span',
        -            'break', 'elem', 'notElem', 'lookup', 'zip',
        -            'zip3', 'zipWith', 'zipWith3', 'unzip', 'unzip3',
        -            'lines', 'words', 'unlines',
        -            'unwords', 'showPrec', 'show', 'showList',
        -            'shows', 'showChar', 'showString', 'showParen',
        -            'readsPrec', 'readList', 'reads', 'readParen',
        -            'read', 'lex', 'putChar', 'putStr', 'putStrLn',
        -            'print', 'getChar', 'getLine', 'getContents',
        -            'interact', 'readFile', 'writeFile', 'appendFile',
        -            'readIO', 'readLn', 'ioError', 'userError', 'catch'
        -            ),
        -        /* here Prelude Types */
        -        4 => array (
        -            'Bool', 'Maybe', 'Either', 'Ord', 'Ordering',
        -            'Char', 'String', 'Eq', 'Enum', 'Bounded',
        -            'Int', 'Integer', 'Float', 'Double', 'Rational',
        -            'Num', 'Real', 'Integral', 'Fractional',
        -            'Floating', 'RealFrac', 'RealFloat', 'Monad',
        -            'Functor', 'Show', 'ShowS', 'Read', 'ReadS',
        -            'IO'
        -            ),
        -        /* finally Prelude Exceptions */
        -        5 => array (
        -            'IOError', 'IOException'
        -            )
        -        ),
        -    /* highlighting symbols is really important in Haskell */
        -    'SYMBOLS' => array(
        -        '|', '->', '<-', '@', '!', '::', '_', '~', '=', '?',
        -        '&&', '||', '==', '/=', '<', '<=', '>',
        -        '>=','+', '-', '*','/', '%', '**', '^', '^^',
        -        '>>=', '>>', '=<<',  '$', '.', ',', '$!',
        -        '++', '!!'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true, /* functions name are case seinsitive */
        -        3 => true, /* types name too */
        -        4 => true, /* finally exceptions too */
        -        5 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            2 => 'color: #06c; font-weight: bold;', /* blue as well */
        -            3 => 'font-weight: bold;', /* make the preduled functions bold */
        -            4 => 'color: #cccc00; font-weight: bold;', /* give types a different bg */
        -            5 => 'color: maroon;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #5d478b; font-style: italic;',
        -            2 => 'color: #339933; font-weight: bold;',
        -            3 => 'color: #5d478b; font-style: italic;', /* light purple */
        -            'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'background-color: #3cb371; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: green;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'background-color: #3cb371;' /* nice green */
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: red;' /* pink */
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #060;' /* dark green */
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933; font-weight: bold;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        /* some of keywords are Prelude functions */
        -        1 => '',
        -        /* link to the wanted library */
        -        2 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/{FNAME}.html',
        -        /* link to Prelude functions */
        -        3 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:{FNAME}',
        -        /* link to Prelude types */
        -        4 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:{FNAME}',
        -        /* link to Prelude exceptions */
        -        5 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:{FNAME}',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/haxe.php b/vendor/easybook/geshi/geshi/haxe.php
        deleted file mode 100644
        index 84c717e..0000000
        --- a/vendor/easybook/geshi/geshi/haxe.php
        +++ /dev/null
        @@ -1,160 +0,0 @@
        - 'Haxe',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Import and Package directives (Basic Support only)
        -        2 => '/(?:(?<=import[\\n\\s])|(?<=using[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
        -        // Haxe comments
        -        3 => '#/\*\*(?![\*\/]).*\*/#sU',
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            //http://haxe.org/ref/keywords
        -            'break', 'callback', 'case', 'cast', 'catch', 'class', 'continue', 'default', 'do', 'dynamic',
        -            'else', 'enum', 'extends', 'extern', /*'false',*/ 'for', 'function', 'here', 'if',
        -            'implements', 'import', 'in', 'inline', 'interface', 'never', 'new', /*'null',*/ 'override',
        -            'package', 'private', 'public', 'return', 'static', 'super', 'switch', 'this', 'throw',
        -            'trace', /*'true',*/ 'try', 'typedef', 'untyped', 'using', 'var', 'while',
        -            'macro', '$type',
        -            ),
        -        2 => array(
        -            //primitive values
        -            'null', 'false', 'true',
        -            ),
        -        3 => array(
        -            //global types
        -            'Array', 'ArrayAccess', /*'Bool',*/ 'Class', 'Date', 'DateTools', 'Dynamic',
        -            'EReg', 'Enum', 'EnumValue', /*'Float',*/ 'Hash', /*'Int',*/ 'IntHash', 'IntIter',
        -            'Iterable', 'Iterator', 'Lambda', 'List', 'Math', 'Null', 'Reflect', 'Std',
        -            /*'String',*/ 'StringBuf', 'StringTools', 'Sys', 'Type', /*'UInt',*/ 'ValueType',
        -            /*'Void',*/ 'Xml', 'XmlType',
        -            ),
        -        4 => array(
        -            //primitive types
        -            'Void', 'Bool', 'Int', 'Float', 'UInt', 'String',
        -            ),
        -        5 => array(
        -            //compiler switches
        -            "#if", "#elseif", "#else", "#end", "#error",
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        //http://haxe.org/manual/operators
        -        '++', '--',
        -        '%',
        -        '*', '/',
        -        '+', '-',
        -        '<<', '>>', '>>>',
        -        '|', '&', '^',
        -        '==', '!=', '>', '>=', '<', '<=',
        -        '...',
        -        '&&',
        -        '||',
        -        '?', ':',
        -        '=', '+=', '-=', '/=', '*=', '<<=', '>>=', '>>>=', '|=', '&=', '^=',
        -        '(', ')', '[', ']', '{', '}', ';',
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #6699cc; font-weight: bold;',
        -            2 => 'color: #000066; font-weight: bold;',
        -            3 => 'color: #03F; ',
        -            4 => 'color: #000033; font-weight: bold;',
        -            5 => 'color: #330000; font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #006699;',
        -            3 => 'color: #008000; font-style: italic; font-weight: bold;',
        -            3 => 'color: #008000; font-style: italic; font-weight: bold;',
        -            'MULTI' => 'color: #666666; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;',
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #FF0000;',
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006633;',
        -            2 => 'color: #006633;',
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;',
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/hicest.php b/vendor/easybook/geshi/geshi/hicest.php
        deleted file mode 100644
        index 2eead82..0000000
        --- a/vendor/easybook/geshi/geshi/hicest.php
        +++ /dev/null
        @@ -1,107 +0,0 @@
        - 'HicEst',
        -    'COMMENT_SINGLE' => array(1 => '!'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', '\''),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            '$cmd_line', 'abs', 'acos', 'alarm', 'alias', 'allocate', 'appendix', 'asin', 'atan', 'axis', 'beep',
        -            'call', 'ceiling', 'char', 'character', 'com', 'continue', 'cos', 'cosh', 'data', 'diffeq', 'dimension', 'dlg', 'dll',
        -            'do', 'edit', 'else', 'elseif', 'end', 'enddo', 'endif', 'exp', 'floor', 'function', 'fuz', 'goto', 'iand', 'ichar',
        -            'ieor', 'if', 'index', 'init', 'int', 'intpol', 'ior', 'key', 'len', 'len_trim', 'line', 'lock', 'log', 'max', 'maxloc',
        -            'min', 'minloc', 'mod', 'nint', 'not', 'open', 'pop', 'ran', 'read', 'real', 'return', 'rgb', 'roots', 'sign', 'sin',
        -            'sinh', 'solve', 'sort', 'subroutine', 'sum', 'system', 'tan', 'tanh', 'then', 'time', 'use', 'window', 'write', 'xeq'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '(', ')', '+', '-', '*', '/', '=', '<', '>', '!', '^', ':', ','
        -            ),
        -        2 => array(
        -            '$', '$$'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #ff0000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: #339933;',
        -            2 => 'color: #ff0000;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(1 => ''),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/hq9plus.php b/vendor/easybook/geshi/geshi/hq9plus.php
        deleted file mode 100644
        index 5b62589..0000000
        --- a/vendor/easybook/geshi/geshi/hq9plus.php
        +++ /dev/null
        @@ -1,102 +0,0 @@
        - 'HQ9+',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        ),
        -    'SYMBOLS' => array(
        -        'H', 'Q', '9', '+', 'h', 'q'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            ),
        -        'COMMENTS' => array(
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #a16000;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'KEYWORDS' => GESHI_NEVER,
        -            'COMMENTS' => GESHI_NEVER,
        -            'STRINGS' => GESHI_NEVER,
        -            'REGEXPS' => GESHI_NEVER,
        -            'NUMBERS' => GESHI_NEVER
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/html4strict.php b/vendor/easybook/geshi/geshi/html4strict.php
        deleted file mode 100644
        index 2fc5185..0000000
        --- a/vendor/easybook/geshi/geshi/html4strict.php
        +++ /dev/null
        @@ -1,189 +0,0 @@
        - 'HTML',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        2 => array(
        -            'a', 'abbr', 'acronym', 'address', 'applet', 'area',
        -            'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b',
        -            'caption', 'center', 'cite', 'code', 'colgroup', 'col',
        -            'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt',
        -            'em',
        -            'fieldset', 'font', 'form', 'frame', 'frameset',
        -            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html',
        -            'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
        -            'kbd',
        -            'label', 'legend', 'link', 'li',
        -            'map', 'meta',
        -            'noframes', 'noscript',
        -            'object', 'ol', 'optgroup', 'option',
        -            'param', 'pre', 'p',
        -            'q',
        -            'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's',
        -            'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt',
        -            'ul', 'u',
        -            'var',
        -            ),
        -        3 => array(
        -            'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
        -            'background', 'bgcolor', 'border',
        -            'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
        -            'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
        -            'enctype',
        -            'face', 'for', 'frame', 'frameborder',
        -            'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
        -            'id', 'ismap',
        -            'label', 'lang', 'language', 'link', 'longdesc',
        -            'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
        -            'name', 'nohref', 'noresize', 'noshade', 'nowrap',
        -            'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
        -            'profile', 'prompt',
        -            'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
        -            'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
        -            'tabindex', 'target', 'text', 'title', 'type',
        -            'usemap',
        -            'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
        -            'width'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '/', '='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            -2 => 'color: #404040;', // CDATA
        -            -1 => 'color: #808080; font-style: italic;', // comments
        -            0 => 'color: #00bbdd;',
        -            1 => 'color: #ddbb00;',
        -            2 => 'color: #009900;'
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        2 => 'http://december.com/html/4/element/{FNAMEL}.html',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
        -    'SCRIPT_DELIMITERS' => array(
        -        -2 => array(
        -            ' ']]>'
        -            ),
        -        -1 => array(
        -            ''
        -            ),
        -        0 => array(
        -            ' '>'
        -            ),
        -        1 => array(
        -            '&' => ';'
        -            ),
        -        2 => array(
        -            '<' => '>'
        -            )
        -    ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        -2 => false,
        -        -1 => false,
        -        0 => false,
        -        1 => false,
        -        2 => true
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            2 => array(
        -                'DISALLOWED_BEFORE' => '(?<=<|<\/)',
        -                'DISALLOWED_AFTER' => '(?=\s|\/|>)',
        -            )
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/html5.php b/vendor/easybook/geshi/geshi/html5.php
        deleted file mode 100644
        index 543156b..0000000
        --- a/vendor/easybook/geshi/geshi/html5.php
        +++ /dev/null
        @@ -1,211 +0,0 @@
        - 'HTML5',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        2 => array(
        -            'a', 'abbr', 'address', 'article', 'area', 'aside', 'audio',
        -
        -            'base', 'bdo', 'blockquote', 'body', 'br', 'button', 'b',
        -
        -            'caption', 'cite', 'code', 'colgroup', 'col', 'canvas', 'command', 'datalist', 'details',
        -
        -            'dd', 'del', 'dfn', 'div', 'dl', 'dt',
        -
        -            'em', 'embed',
        -
        -            'fieldset', 'form', 'figcaption', 'figure', 'footer',
        -
        -            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html', 'header', 'hgroup',
        -
        -            'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
        -
        -            'kbd', 'keygen',
        -
        -            'label', 'legend', 'link', 'li',
        -
        -            'map', 'meta', 'mark', 'meter',
        -
        -            'noscript', 'nav',
        -
        -            'object', 'ol', 'optgroup', 'option', 'output',
        -
        -            'param', 'pre', 'p', 'progress',
        -
        -            'q',
        -
        -            'rp', 'rt', 'ruby',
        -
        -            'samp', 'script', 'select', 'small', 'span', 'strong', 'style', 'sub', 'sup', 's', 'section', 'source', 'summary',
        -
        -            'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'time',
        -
        -            'ul',
        -
        -            'var', 'video',
        -
        -            'wbr',
        -            ),
        -        3 => array(
        -            'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis', 'autocomplete', 'autofocus',
        -            'background', 'bgcolor', 'border',
        -            'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords', 'contenteditable', 'contextmenu',
        -            'data', 'datetime', 'declare', 'defer', 'dir', 'disabled', 'draggable', 'dropzone',
        -            'enctype',
        -            'face', 'for', 'frame', 'frameborder', 'form', 'formaction', 'formenctype', 'formmethod', 'formnovalidate', 'formtarget',
        -            'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv', 'hidden',
        -            'id', 'ismap',
        -            'label', 'lang', 'language', 'link', 'longdesc',
        -            'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple', 'min', 'max',
        -            'name', 'nohref', 'noresize', 'noshade', 'nowrap', 'novalidate',
        -            'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onselect', 'onsubmit', 'onunload', 'onafterprint', 'onbeforeprint', 'onbeforeonload', 'onerror', 'onhaschange', 'onmessage', 'onoffline', 'ononline', 'onpagehide', 'onpageshow', 'onpopstate', 'onredo', 'onresize', 'onstorage', 'onundo', 'oncontextmenu', 'onformchange', 'onforminput', 'oninput', 'oninvalid', 'ondrag', 'ondragend', 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart', 'ondrop', 'onmousewheel', 'onscroll', 'oncanplay', 'oncanplaythrough', 'ondurationchange', 'onemptied', 'onended', 'onloadeddata', 'onloadedmetadata', 'onloadstart', 'onpause', 'onplay', 'onplaying', 'onprogress', 'onratechange', 'onreadystatechange', 'onseeked', 'onseeking', 'onstalled', 'onsuspend', 'ontimeupdate', 'onvolumechange', 'onwaiting',
        -            'profile', 'prompt', 'pattern', 'placeholder',
        -            'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules', 'required',
        -            'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary', 'spellcheck', 'step',
        -            'tabindex', 'target', 'text', 'title', 'type',
        -            'usemap',
        -            'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
        -            'width'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '/', '='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            -2 => 'color: #404040;', // CDATA
        -            -1 => 'color: #808080; font-style: italic;', // comments
        -            0 => 'color: #00bbdd;',
        -            1 => 'color: #ddbb00;',
        -            2 => 'color: #009900;'
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        2 => 'http://december.com/html/4/element/{FNAMEL}.html',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
        -    'SCRIPT_DELIMITERS' => array(
        -        -2 => array(
        -            ' ']]>'
        -            ),
        -        -1 => array(
        -            ''
        -            ),
        -        0 => array(
        -            ' '>'
        -            ),
        -        1 => array(
        -            '&' => ';'
        -            ),
        -        2 => array(
        -            '<' => '>'
        -            )
        -    ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        -2 => false,
        -        -1 => false,
        -        0 => false,
        -        1 => false,
        -        2 => true
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            2 => array(
        -                'DISALLOWED_BEFORE' => '(?<=<|<\/)',
        -                'DISALLOWED_AFTER' => '(?=\s|\/|>)',
        -            )
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/icon.php b/vendor/easybook/geshi/geshi/icon.php
        deleted file mode 100644
        index b93616d..0000000
        --- a/vendor/easybook/geshi/geshi/icon.php
        +++ /dev/null
        @@ -1,211 +0,0 @@
        - 'Icon',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', '\''),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'break', 'case', 'continue', 'create', 'default', 'do', 'else',
        -            'end', 'every', 'fail', 'for', 'if', 'import', 'initial',
        -            'initially', 'invocable', 'link', 'next', 'not', 'of', 'package',
        -            'procedure', 'record', 'repeat', 'return', 'switch', 'suspend',
        -            'then', 'to', 'until', 'while'
        -            ),
        -        2 => array(
        -            'global', 'local', 'static'
        -            ),
        -        3 => array(
        -            'allocated', 'ascii', 'clock', 'collections',
        -            'column', 'cset', 'current', 'date', 'dateline', 'digits',
        -            'dump', 'e', 'error', 'errornumber', 'errortext',
        -            'errorvalue', 'errout', 'eventcode', 'eventsource', 'eventvalue',
        -            'fail', 'features', 'file', 'host', 'input', 'lcase',
        -            'letters', 'level', 'line', 'main', 'now', 'null',
        -            'output', 'phi', 'pi', 'pos', 'progname', 'random',
        -            'regions', 'source', 'storage', 'subject', 'syserr', 'time',
        -            'trace', 'ucase', 'version', 'col', 'control', 'interval',
        -            'ldrag', 'lpress', 'lrelease', 'mdrag', 'meta', 'mpress',
        -            'mrelease', 'rdrag', 'resize', 'row', 'rpress', 'rrelease',
        -            'shift', 'window', 'x', 'y'
        -            ),
        -        4 => array(
        -            'abs', 'acos', 'any', 'args', 'asin', 'atan', 'bal', 'center', 'char',
        -            'chmod', 'close', 'cofail', 'collect', 'copy', 'cos', 'cset', 'ctime', 'delay', 'delete',
        -            'detab', 'display', 'dtor', 'entab', 'errorclear', 'event', 'eventmask', 'EvGet', 'exit',
        -            'exp', 'fetch', 'fieldnames', 'find', 'flock', 'flush', 'function', 'get', 'getch',
        -            'getche', 'getenv', 'gettimeofday', 'globalnames', 'gtime', 'iand', 'icom', 'image',
        -            'insert', 'integer', 'ior', 'ishift', 'ixor', 'key', 'left', 'list', 'load', 'loadfunc',
        -            'localnames', 'log', 'many', 'map', 'match', 'member', 'mkdir', 'move', 'name', 'numeric',
        -            'open', 'opmask', 'ord', 'paramnames', 'parent', 'pipe', 'pop', 'pos', 'proc', 'pull',
        -            'push', 'put', 'read', 'reads', 'real', 'receive', 'remove', 'rename', 'repl', 'reverse',
        -            'right', 'rmdir', 'rtod', 'runerr', 'seek', 'select', 'send', 'seq', 'serial', 'set',
        -            'setenv', 'sort', 'sortf', 'sql', 'sqrt', 'stat', 'stop', 'string', 'system', 'tab',
        -            'table', 'tan', 'trap', 'trim', 'truncate', 'type', 'upto', 'utime', 'variable', 'where',
        -            'write', 'writes'
        -            ),
        -        5 => array(
        -            'Active', 'Alert', 'Bg', 'Clip', 'Clone', 'Color', 'ColorValue',
        -            'CopyArea', 'Couple', 'DrawArc', 'DrawCircle', 'DrawCurve', 'DrawCylinder', 'DrawDisk',
        -            'DrawImage', 'DrawLine', 'DrawPoint', 'DrawPolygon', 'DrawRectangle', 'DrawSegment',
        -            'DrawSphere', 'DrawString', 'DrawTorus', 'EraseArea', 'Event', 'Fg', 'FillArc',
        -            'FillCircle', 'FillPolygon', 'FillRectangle', 'Font', 'FreeColor', 'GotoRC', 'GotoXY',
        -            'IdentifyMatrix', 'Lower', 'MatrixMode', 'NewColor', 'PaletteChars', 'PaletteColor',
        -            'PaletteKey', 'Pattern', 'Pending', 'Pixel', 'PopMatrix', 'PushMatrix', 'PushRotate',
        -            'PushScale', 'PushTranslate', 'QueryPointer', 'Raise', 'ReadImage', 'Refresh', 'Rotate',
        -            'Scale', 'Texcoord', 'TextWidth', 'Texture', 'Translate', 'Uncouple', 'WAttrib',
        -            'WDefault', 'WFlush', 'WindowContents', 'WriteImage', 'WSync'
        -            ),
        -        6 => array(
        -            'define', 'include', 'ifdef', 'ifndef', 'else', 'endif', 'error',
        -            'line', 'undef'
        -            ),
        -        7 => array(
        -            '_V9', '_AMIGA', '_ACORN', '_CMS', '_MACINTOSH', '_MSDOS_386',
        -            '_MS_WINDOWS_NT', '_MSDOS', '_MVS', '_OS2', '_POR', 'T', '_UNIX', '_POSIX', '_DBM',
        -            '_VMS', '_ASCII', '_EBCDIC', '_CO_EXPRESSIONS', '_CONSOLE_WINDOW', '_DYNAMIC_LOADING',
        -            '_EVENT_MONITOR', '_EXTERNAL_FUNCTIONS', '_KEYBOARD_FUNCTIONS', '_LARGE_INTEGERS',
        -            '_MULTITASKING', '_PIPES', '_RECORD_IO', '_SYSTEM_FUNCTION', '_MESSAGING', '_GRAPHICS',
        -            '_X_WINDOW_SYSTEM', '_MS_WINDOWS', '_WIN32', '_PRESENTATION_MGR', '_ARM_FUNCTIONS',
        -            '_DOS_FUNCTIONS'
        -            ),
        -        8 => array(
        -            'line'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '\\', '%', '=', '<', '>', '!', '^',
        -            '&', '|', '?', ':', ';', ',', '.', '~', '@'
        -            ),
        -        2 => array(
        -            '$(', '$)', '$<', '$>', '$'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #b1b100;',
        -            3 => 'color: #b1b100;',
        -            4 => 'color: #b1b100;',
        -            5 => 'color: #b1b100;',
        -            6 => 'color: #b1b100;',
        -            7 => 'color: #b1b100;',
        -            8 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: #339933;',
        -            2 => 'color: #b1b100;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => '',
        -        8 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(1 => '.'),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            3 => array(
        -                'DISALLOWED_BEFORE' => '(?<=&)'
        -                ),
        -            4 => array(
        -                'DISALLOWED_BEFORE' => "(? "(?![a-zA-Z0-9_\"\'])"
        -                ),
        -            6 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\$)'
        -                ),
        -            8 => array(
        -                'DISALLOWED_BEFORE' => '(?<=#)'
        -                )
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/idl.php b/vendor/easybook/geshi/geshi/idl.php
        deleted file mode 100644
        index a2b6f57..0000000
        --- a/vendor/easybook/geshi/geshi/idl.php
        +++ /dev/null
        @@ -1,121 +0,0 @@
        - 'Uno Idl',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'published', 'get', 'set', 'service', 'singleton', 'type', 'module', 'interface', 'struct',
        -            'const', 'constants', 'exception', 'enum', 'raises', 'typedef'
        -            ),
        -        2 => array(
        -            'bound', 'maybeambiguous', 'maybedefault', 'maybevoid', 'oneway', 'optional',
        -            'readonly', 'in', 'out', 'inout', 'attribute', 'transient', 'removable'
        -            ),
        -        3 => array(
        -            'True', 'False', 'TRUE', 'FALSE'
        -            ),
        -        4 => array(
        -            'string', 'long', 'byte', 'hyper', 'boolean', 'any', 'char', 'double',
        -            'void', 'sequence', 'unsigned'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', ';', '...'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #990078; font-weight: bold',
        -            2 => 'color: #36dd1c;',
        -            3 => 'color: #990078; font-weight: bold',
        -            4 => 'color: #0000ec;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #3f7f5f;',
        -            2 => 'color: #808080;',
        -            'MULTI' => 'color: #4080ff; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #666666; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #808080;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000dd;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/ini.php b/vendor/easybook/geshi/geshi/ini.php
        deleted file mode 100644
        index f0a8ede..0000000
        --- a/vendor/easybook/geshi/geshi/ini.php
        +++ /dev/null
        @@ -1,127 +0,0 @@
        - 'INI',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(0 => '/^\s*;.*?$/m'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        ),
        -    'SYMBOLS' => array(
        -        '[', ']', '='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => ''
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #933;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => ''
        -            ),
        -        'METHODS' => array(
        -            0 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000066; font-weight:bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #000066; font-weight:bold;',
        -            1 => 'color: #000099;',
        -            2 => 'color: #660066;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Section names
        -        0 => '\[.+\]',
        -        //Entry names
        -        1 => array(
        -            GESHI_SEARCH => '^(\s*)([a-zA-Z0-9_\-]+)(\s*=)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -        //Entry values
        -        2 => array(
        -            // Evil hackery to get around GeSHi bug: <>" and ; are added so s can be matched
        -            // Explicit match on variable names because if a comment is before the first < of the span
        -            // gets chewed up...
        -            GESHI_SEARCH => '([<>";a-zA-Z0-9_]+\s*)=(.*)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1=',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/inno.php b/vendor/easybook/geshi/geshi/inno.php
        deleted file mode 100644
        index 192054c..0000000
        --- a/vendor/easybook/geshi/geshi/inno.php
        +++ /dev/null
        @@ -1,210 +0,0 @@
        - 'Inno',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('(*' => '*)'),
        -    'CASE_KEYWORDS' => 0,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'Setup','Types','Components','Tasks','Dirs','Files','Icons','INI',
        -            'InstallDelete','Languages','Messages','CustomMessage',
        -            'LangOptions','Registry','RUN','UninstallDelete','UninstallRun',
        -            'app','win','sys','syswow64','src','sd','pf','pf32','pf64','cf',
        -            'cf32','cf64','tmp','fonts','dao','group','localappdata','sendto',
        -            'userappdata','commonappdata','userdesktop','commondesktop',
        -            'userdocs','commondocs','userfavorites','commonfavorites',
        -            'userprograms','commonprograms','userstartmenu','commonstartmenu',
        -            'userstartup','commonstartup','usertemplates','commontemplates'
        -            ),
        -        2 => array(
        -            'nil', 'false', 'true', 'var', 'type', 'const','And', 'Array', 'As', 'Begin', 'Case', 'Class', 'Constructor', 'Destructor', 'Div', 'Do', 'DownTo', 'Else',
        -            'End', 'Except', 'File', 'Finally', 'For', 'Function', 'Goto', 'If', 'Implementation', 'In', 'Inherited', 'Interface',
        -            'Is', 'Mod', 'Not', 'Object', 'Of', 'On', 'Or', 'Packed', 'Procedure', 'Property', 'Raise', 'Record',
        -            'Repeat', 'Set', 'Shl', 'Shr', 'Then', 'ThreadVar', 'To', 'Try', 'Unit', 'Until', 'Uses', 'While', 'With', 'Xor',
        -
        -            'HKCC','HKCR','HKCU','HKLM','HKU','alwaysoverwrite','alwaysskipifsameorolder','append',
        -            'binary','classic','closeonexit','comparetimestamp','confirmoverwrite',
        -            'createkeyifdoesntexist','createonlyiffileexists','createvalueifdoesntexist',
        -            'deleteafterinstall','deletekey','deletevalue','dirifempty','dontcloseonexit',
        -            'dontcopy','dontcreatekey','disablenouninstallwarning','dword','exclusive','expandsz',
        -            'external','files','filesandordirs','fixed','fontisnttruetype','ignoreversion','iscustom','isreadme',
        -            'modern','multisz','new','noerror','none','normal','nowait','onlyifdestfileexists',
        -            'onlyifdoesntexist','onlyifnewer','overwrite','overwritereadonly','postinstall',
        -            'preservestringtype','promptifolder','regserver','regtypelib','restart','restartreplace',
        -            'runhidden','runmaximized','runminimized','sharedfile','shellexec','showcheckbox',
        -            'skipifnotsilent','skipifsilent','silent','skipifdoesntexist',
        -            'skipifsourcedoesntexist','sortfilesbyextension','unchecked','uninsalwaysuninstall',
        -            'uninsclearvalue','uninsdeleteentry','uninsdeletekey','uninsdeletekeyifempty',
        -            'uninsdeletesection','uninsdeletesectionifempty','uninsdeletevalue',
        -            'uninsneveruninstall','useapppaths','verysilent','waituntilidle'
        -            ),
        -        3 => array(
        -            'Abs', 'Addr', 'AnsiCompareStr', 'AnsiCompareText', 'AnsiContainsStr', 'AnsiEndsStr', 'AnsiIndexStr', 'AnsiLeftStr',
        -            'AnsiLowerCase', 'AnsiMatchStr', 'AnsiMidStr', 'AnsiPos', 'AnsiReplaceStr', 'AnsiReverseString', 'AnsiRightStr',
        -            'AnsiStartsStr', 'AnsiUpperCase', 'ArcCos', 'ArcSin', 'ArcTan', 'Assigned', 'BeginThread', 'Bounds', 'CelsiusToFahrenheit',
        -            'ChangeFileExt', 'Chr', 'CompareStr', 'CompareText', 'Concat', 'Convert', 'Copy', 'Cos', 'CreateDir', 'CurrToStr',
        -            'CurrToStrF', 'Date', 'DateTimeToFileDate', 'DateTimeToStr', 'DateToStr', 'DayOfTheMonth', 'DayOfTheWeek', 'DayOfTheYear',
        -            'DayOfWeek', 'DaysBetween', 'DaysInAMonth', 'DaysInAYear', 'DaySpan', 'DegToRad', 'DeleteFile', 'DiskFree', 'DiskSize',
        -            'DupeString', 'EncodeDate', 'EncodeDateTime', 'EncodeTime', 'EndOfADay', 'EndOfAMonth', 'Eof', 'Eoln', 'Exp', 'ExtractFileDir',
        -            'ExtractFileDrive', 'ExtractFileExt', 'ExtractFileName', 'ExtractFilePath', 'FahrenheitToCelsius', 'FileAge',
        -            'FileDateToDateTime', 'FileExists', 'FilePos', 'FileSearch', 'FileSetDate', 'FileSize', 'FindClose', 'FindCmdLineSwitch',
        -            'FindFirst', 'FindNext', 'FloatToStr', 'FloatToStrF', 'Format', 'FormatCurr', 'FormatDateTime', 'FormatFloat', 'Frac',
        -            'GetCurrentDir', 'GetLastError', 'GetMem', 'High', 'IncDay', 'IncMinute', 'IncMonth', 'IncYear', 'InputBox',
        -            'InputQuery', 'Int', 'IntToHex', 'IntToStr', 'IOResult', 'IsInfinite', 'IsLeapYear', 'IsMultiThread', 'IsNaN',
        -            'LastDelimiter', 'Length', 'Ln', 'Lo', 'Log10', 'Low', 'LowerCase', 'Max', 'Mean', 'MessageDlg', 'MessageDlgPos',
        -            'MonthOfTheYear', 'Now', 'Odd', 'Ord', 'ParamCount', 'ParamStr', 'Pi', 'Point', 'PointsEqual', 'Pos', 'Pred',
        -            'Printer', 'PromptForFileName', 'PtInRect', 'RadToDeg', 'Random', 'RandomRange', 'RecodeDate', 'RecodeTime', 'Rect',
        -            'RemoveDir', 'RenameFile', 'Round', 'SeekEof', 'SeekEoln', 'SelectDirectory', 'SetCurrentDir', 'Sin', 'SizeOf',
        -            'Slice', 'Sqr', 'Sqrt', 'StringOfChar', 'StringReplace', 'StringToWideChar', 'StrToCurr', 'StrToDate', 'StrToDateTime',
        -            'StrToFloat', 'StrToInt', 'StrToInt64', 'StrToInt64Def', 'StrToIntDef', 'StrToTime', 'StuffString', 'Succ', 'Sum', 'Tan',
        -            'Time', 'TimeToStr', 'Tomorrow', 'Trunc', 'UpCase', 'UpperCase', 'VarType', 'WideCharToString', 'WrapText', 'Yesterday',
        -            'Append', 'AppendStr', 'Assign', 'AssignFile', 'AssignPrn', 'Beep', 'BlockRead', 'BlockWrite', 'Break',
        -            'ChDir', 'Close', 'CloseFile', 'Continue', 'DateTimeToString', 'Dec', 'DecodeDate', 'DecodeDateTime',
        -            'DecodeTime', 'Delete', 'Dispose', 'EndThread', 'Erase', 'Exclude', 'Exit', 'FillChar', 'Flush', 'FreeAndNil',
        -            'FreeMem', 'GetDir', 'GetLocaleFormatSettings', 'Halt', 'Inc', 'Include', 'Insert', 'MkDir', 'Move', 'New',
        -            'ProcessPath', 'Randomize', 'Read', 'ReadLn', 'ReallocMem', 'Rename', 'ReplaceDate', 'ReplaceTime',
        -            'Reset', 'ReWrite', 'RmDir', 'RunError', 'Seek', 'SetLength', 'SetString', 'ShowMessage', 'ShowMessageFmt',
        -            'ShowMessagePos', 'Str', 'Truncate', 'Val', 'Write', 'WriteLn',
        -
        -            'AdminPrivilegesRequired','AfterInstall','AllowCancelDuringInstall','AllowNoIcons','AllowRootDirectory','AllowUNCPath','AlwaysRestart','AlwaysShowComponentsList','AlwaysShowDirOnReadyPage','AlwaysShowGroupOnReadyPage ','AlwaysUsePersonalGroup','AppComments','AppContact','AppCopyright','AppendDefaultDirName',
        -            'AppendDefaultGroupName','AppId','AppModifyPath','AppMutex','AppName','AppPublisher',
        -            'AppPublisherURL','AppReadmeFile','AppSupportURL','AppUpdatesURL','AppVerName','AppVersion',
        -            'Attribs','BackColor','BackColor2','BackColorDirection','BackSolid','BeforeInstall',
        -            'ChangesAssociations','ChangesEnvironment','Check','CodeFile','Comment','Compression','CopyMode',
        -            'CreateAppDir','CreateUninstallRegKey','DefaultDirName','DefaultGroupName',
        -            'DefaultUserInfoName','DefaultUserInfoOrg','DefaultUserInfoSerial',
        -            'Description','DestDir','DestName','DirExistsWarning',
        -            'DisableDirPage','DisableFinishedPage',
        -            'DisableProgramGroupPage','DisableReadyMemo','DisableReadyPage',
        -            'DisableStartupPrompt','DiskClusterSize','DiskSliceSize','DiskSpaceMBLabel',
        -            'DiskSpanning','DontMergeDuplicateFiles','EnableDirDoesntExistWarning','Encryption',
        -            'Excludes','ExtraDiskSpaceRequired','Filename','Flags','FlatComponentsList','FontInstall',
        -            'GroupDescription','HotKey','IconFilename','IconIndex','InfoAfterFile','InfoBeforeFile',
        -            'InternalCompressLevel','Key','LanguageDetectionMethod',
        -            'LicenseFile','MergeDuplicateFiles','MessagesFile','MinVersion','Name',
        -            'OnlyBelowVersion','OutputBaseFilename','OutputManifestFile','OutputDir',
        -            'Parameters','Password','Permissions','PrivilegesRequired','ReserveBytes',
        -            'RestartIfNeededByRun','Root','RunOnceId','Section','SetupIconFile',
        -            'ShowComponentSizes','ShowLanguageDialog','ShowTasksTreeLines','SlicesPerDisk',
        -            'SolidCompression','Source','SourceDir','StatusMsg','Subkey',
        -            'TimeStampRounding','TimeStampsInUTC','TouchDate','TouchTime','Type',
        -            'UninstallDisplayIcon','UninstallDisplayName','UninstallFilesDir','UninstallIconFile',
        -            'UninstallLogMode','UninstallRestartComputer','UninstallStyle','Uninstallable',
        -            'UpdateUninstallLogAppName','UsePreviousAppDir','UsePreviousGroup',
        -            'UsePreviousTasks','UsePreviousSetupType','UsePreviousUserInfo',
        -            'UserInfoPage','UseSetupLdr','ValueData','ValueName','ValueType',
        -            'VersionInfoVersion','VersionInfoCompany','VersionInfoDescription','VersionInfoTextVersion',
        -            'WindowResizable','WindowShowCaption','WindowStartMaximized',
        -            'WindowVisible','WizardImageBackColor','WizardImageFile','WizardImageStretch','WizardSmallImageBackColor','WizardSmallImageFile','WizardStyle','WorkingDir'
        -            ),
        -        4 => array(
        -            'AnsiChar', 'AnsiString', 'Boolean', 'Byte', 'Cardinal', 'Char', 'Comp', 'Currency', 'Double', 'Extended',
        -            'Int64', 'Integer', 'LongInt', 'LongWord', 'PAnsiChar', 'PAnsiString', 'PChar', 'PCurrency', 'PDateTime',
        -            'PExtended', 'PInt64', 'Pointer', 'PShortString', 'PString', 'PVariant', 'PWideChar', 'PWideString',
        -            'Real', 'Real48', 'ShortInt', 'ShortString', 'Single', 'SmallInt', 'String', 'TBits', 'TConvType', 'TDateTime',
        -            'Text', 'TextFile', 'TFloatFormat', 'TFormatSettings', 'TList', 'TObject', 'TOpenDialog', 'TPoint',
        -            'TPrintDialog', 'TRect', 'TReplaceFlags', 'TSaveDialog', 'TSearchRec', 'TStringList', 'TSysCharSet',
        -            'TThreadFunc', 'Variant', 'WideChar', 'WideString', 'Word'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '@', '%', '&', '*', '|', '/', '<', '>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',/*bold Black*/
        -            2 => 'color: #000000;font-style: italic;',/*Black*/
        -            3 => 'color: #0000FF;',/*blue*/
        -            4 => 'color: #CC0000;'/*red*/
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #33FF00; font-style: italic;',
        -            'MULTI' => 'color: #33FF00; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000; font-weight: bold;',
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/intercal.php b/vendor/easybook/geshi/geshi/intercal.php
        deleted file mode 100644
        index afbeb10..0000000
        --- a/vendor/easybook/geshi/geshi/intercal.php
        +++ /dev/null
        @@ -1,121 +0,0 @@
        - 'INTERCAL',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        //Politeness
        -        1 => array(
        -            'DO', 'DOES', 'DONT', 'DON\'T', 'NOT', 'PLEASE', 'PLEASENT', 'PLEASEN\'T', 'MAYBE'
        -            ),
        -        //Statements
        -        2 => array(
        -            'STASH', 'RETRIEVE', 'NEXT', 'RESUME', 'FORGET', 'ABSTAIN', 'ABSTAINING',
        -            'COME', 'FROM', 'CALCULATING', 'REINSTATE', 'IGNORE', 'REMEMBER',
        -            'WRITE', 'IN', 'READ', 'OUT', 'GIVE', 'UP'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '.', ',', ':', ';', '#',
        -        '~', '$', '&', '?',
        -        '\'', '"', '<-'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000080; font-weight: bold;',
        -            2 => 'color: #000080; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'color: #808080; font-style: italic;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        1 => '^\(\d+\)'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'COMMENTS' => GESHI_NEVER,
        -            'STRINGS' => GESHI_NEVER,
        -            'NUMBERS' => GESHI_NEVER
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/io.php b/vendor/easybook/geshi/geshi/io.php
        deleted file mode 100644
        index d23984e..0000000
        --- a/vendor/easybook/geshi/geshi/io.php
        +++ /dev/null
        @@ -1,136 +0,0 @@
        - 'Io',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'and', 'break', 'else', 'elseif', 'exit', 'for', 'foreach', 'if', 'ifFalse', 'ifNil',
        -            'ifTrue', 'or', 'pass', 'raise', 'return', 'then', 'try', 'wait', 'while', 'yield'
        -            ),
        -        2 => array(
        -            'activate', 'activeCoroCount', 'asString', 'block', 'catch', 'clone', 'collectGarbage',
        -            'compileString', 'continue', 'do', 'doFile', 'doMessage', 'doString', 'forward',
        -            'getSlot', 'getenv', 'hasSlot', 'isActive', 'isNil', 'isResumable', 'list', 'message',
        -            'method', 'parent', 'pause', 'perform', 'performWithArgList', 'print', 'proto',
        -            'raiseResumable', 'removeSlot', 'resend', 'resume', 'schedulerSleepSeconds', 'self',
        -            'sender', 'setSchedulerSleepSeconds', 'setSlot', 'shallowCopy', 'slotNames', 'super',
        -            'system', 'thisBlock', 'thisContext', 'thisMessage', 'type', 'uniqueId', 'updateSlot',
        -            'write'
        -            ),
        -        3 => array(
        -            'Array', 'AudioDevice', 'AudioMixer', 'Block', 'Box', 'Buffer', 'CFunction', 'CGI',
        -            'Color', 'Curses', 'DBM', 'DNSResolver', 'DOConnection', 'DOProxy', 'DOServer',
        -            'Date', 'Directory', 'Duration', 'DynLib', 'Error', 'Exception', 'FFT', 'File',
        -            'Fnmatch', 'Font', 'Future', 'GL', 'GLE', 'GLScissor', 'GLU', 'GLUCylinder',
        -            'GLUQuadric', 'GLUSphere', 'GLUT', 'Host', 'Image', 'Importer', 'LinkList', 'List',
        -            'Lobby', 'Locals', 'MD5', 'MP3Decoder', 'MP3Encoder', 'Map', 'Message', 'Movie',
        -            'NULL', 'Nil', 'Nop', 'Notifiction', 'Number', 'Object', 'OpenGL', 'Point', 'Protos',
        -            'Regex', 'SGMLTag', 'SQLite', 'Server', 'ShowMessage', 'SleepyCat', 'SleepyCatCursor',
        -            'Socket', 'SocketManager', 'Sound', 'Soup', 'Store', 'String', 'Tree', 'UDPSender',
        -            'UDPReceiver', 'URL', 'User', 'Warning', 'WeakLink'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/ispfpanel.php b/vendor/easybook/geshi/geshi/ispfpanel.php
        deleted file mode 100644
        index c028978..0000000
        --- a/vendor/easybook/geshi/geshi/ispfpanel.php
        +++ /dev/null
        @@ -1,165 +0,0 @@
        - 'ISPF Panel',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        // Panel Definition Statements
        -        1 => array(
        -            ')CCSID',')PANEL',')ATTR',')ABC',')ABCINIT',')ABCPROC',')BODY',')MODEL',
        -            ')AREA',')INIT',')REINIT',')PROC',')FIELD',')HELP',')LIST',')PNTS',')END'
        -            ),
        -        // File-Tailoring Skeletons
        -        2 => array (
        -            ')DEFAULT',')BLANK', ')CM', ')DO', ')DOT', ')ELSE', ')ENDSEL',
        -            ')ENDDO', ')ENDDOT', ')IF', ')IM', ')ITERATE', ')LEAVE', ')NOP', ')SEL',
        -            ')SET', ')TB', ')TBA'
        -            ),
        -        // Control Variables
        -        3 => array (
        -            '.ALARM','.ATTR','.ATTRCHAR','.AUTOSEL','.CSRPOS','.CSRROW','.CURSOR','.HELP',
        -            '.HHELP','.KANA','.MSG','.NRET','.PFKEY','.RESP','.TRAIL','.ZVARS'
        -            ),
        -        // Keywords
        -        4 => array (
        -            'WINDOW','ALARM','ATTN','BARRIER','HILITE','CAPS',
        -            'CKBOX','CLEAR','CMD','COLOR','COMBO','CSRGRP','CUADYN',
        -            'SKIP','INTENS','AREA','EXTEND',
        -            'DESC','ASIS','VGET','VPUT','JUST','BATSCRD','BATSCRW',
        -            'BDBCS','BDISPMAX','BIT','BKGRND','BREDIMAX','PAD','PADC',
        -            'PAS','CHINESES','CHINESET','DANISH','DATAMOD','DDLIST',
        -            'DEPTH','DUMP','ENGLISH','ERROR','EXIT','EXPAND','FIELD',
        -            'FORMAT','FRENCH','GE','GERMAN','IMAGE','IND','TYPE',
        -            'ITALIAN','JAPANESE','KOREAN','LCOL','LEN','LIND','LISTBOX',
        -            'MODE','NEST','NOJUMP','NOKANA','NUMERIC','OUTLINE','PARM',
        -            'PGM','PORTUGESE','RADIO','RCOL','REP','RIND','ROWS',
        -            'SCALE','SCROLL','SFIHDR','SGERMAN','SIND','SPANISH',
        -            'UPPERENG','WIDTH'
        -            ),
        -        // Parameters
        -        5 => array (
        -            'ADDPOP','ALPHA','ALPHAB','DYNAMIC','SCRL',
        -            'CCSID','COMMAND','DSNAME','DSNAMEF','DSNAMEFM',
        -            'DSNAMEPQ','DSNAMEQ','EBCDIC','ENBLDUMP','ENUM',// 'EXTEND',
        -            'FI','FILEID','FRAME','GUI','GUISCRD','GUISCRW','HEX',
        -            'HIGH','IDATE','IN','INCLUDE','INPUT','ITIME','JDATE',
        -            'JSTD','KEYLIST','LANG','LEFT','LIST','LISTV','LISTVX',
        -            'LISTX','LMSG','LOGO','LOW','MIX','NAME','NAMEF','NB',
        -            'NEWAPPL','NEWPOOL','NOCHECK','NOLOGO','NON','NONBLANK',
        -            'NULLS','NUM','OFF','ON','OPT','OUT','OUTPUT','PANEL',
        -            /* 'PGM',*/'PICT','PICTN','POSITION','TBDISPL','PROFILE',
        -            'QUERY','RANGE','REVERSE','RIGHT','SHARED','SMSG',
        -            'STDDATE','STDTIME','TERMSTAT','TERMTRAC','TEST',
        -            'TESTX','TEXT','TRACE','TRACEX','USCORE','USER',
        -            'USERMOD','WSCMD','WSCMDV'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(',')','=','&',',','*','#','+','&','%','_','-','@','!'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false
        -        ),
        -    'STYLES' => array(
        -        'BKGROUND' => 'background-color: #000000; color: #00FFFF;',
        -        'KEYWORDS' => array(
        -            1 => 'color: #FF0000;',
        -            2 => 'color: #21A502;',
        -            3 => 'color: #FF00FF;',
        -            4 => 'color: #876C00;',
        -            5 => 'color: #00FF00;'
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #002EB8; font-style: italic;',
        -            //1 => 'color: #002EB8; font-style: italic;',
        -            //2 => 'color: #002EB8; font-style: italic;',
        -            'MULTI' => 'color: #002EB8; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #FF7400;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #700000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF6633;'
        -            ),
        -        'METHODS' => array(
        -            1 => '',
        -            2 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #FF7400;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #6B1F6B;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        // Variables Defined in the Panel
        -        0 => '&[a-zA-Z]{1,8}[0-9]{0,}',
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        diff --git a/vendor/easybook/geshi/geshi/j.php b/vendor/easybook/geshi/geshi/j.php
        deleted file mode 100644
        index fe8cb11..0000000
        --- a/vendor/easybook/geshi/geshi/j.php
        +++ /dev/null
        @@ -1,188 +0,0 @@
        - 'J',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        1 => '/(? '/(?<=\bNote\b).*?$\s+\)(?:(?!\n)\s)*$/sm',   //multiline comments in Note
        -        3 => "/'[^']*?$/m"                        //incomplete strings/open quotes
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'HARDQUOTE' => array("'", "'"),
        -    'HARDESCAPE' => array("'"),
        -    'HARDCHAR' => "'",
        -    'NUMBERS' => array(
        -        0 => '\b(?:_?\d+(?:\.\d+)?(?:x|[bejprx]_?[\da-z]+(?:\.[\da-z]+)?)?|__?)(?![\w\.\:])',
        -        ),
        -    'KEYWORDS' => array(
        -        //Control words
        -        1 => array(
        -            'assert.', 'break.', 'case.', 'catch.', 'catcht.', 'continue.', 'do.',
        -            'else.', 'elseif.', 'end.', 'fcase.', 'for.', 'goto.', 'if.', 'label.',
        -            'return.', 'select.', 'throw.', 'trap.', 'try.', 'while.', 'whilst.'
        -            ),
        -        //Arguments
        -        2 => array(
        -            'm', 'n', 'u', 'v', 'x', 'y'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        //Punctuation
        -        0 => array(
        -            '(', ')'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        //6 => true,
        -        //7 => true,
        -        //8 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff; font-weight: bold;',
        -            2 => 'color: #0000cc; font-weight: bold;',
        -            //6 => 'color: #000000; font-weight: bold;',
        -            //7 => 'color: #000000; font-weight: bold;',
        -            //8 => 'color: #000000; font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #666666; font-style: italic; font-weight: bold;',
        -            3 => 'color: #ff00ff; ',                      //open quote
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            'HARD' => 'font-weight: bold;',
        -            0 => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            'HARD' => 'color: #ff0000;',
        -            0 => 'color: #ff0000;',
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #009999; font-weight: bold;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #009900; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000ff; font-weight: bold;',   //for_xyz. - same as kw1
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '', //'http://www.jsoftware.com/help/dictionary/ctrl.htm',
        -        2 => '',
        -        //6 => '', //'http://www.jsoftware.com/jwiki/Vocabulary',
        -        //7 => '', //'http://www.jsoftware.com/jwiki/Vocabulary',
        -        //8 => '', //'http://www.jsoftware.com/jwiki/Vocabulary',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        0 => '\b(for|goto|label)_[a-zA-Z]\w*\.',   //for_xyz. - should be kw1
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER,
        -            ),
        -        'NUMBERS' => array(
        -            'PRECHECK_RX' => '#[\d_]#',            // underscore is valid number
        -            ),
        -        'KEYWORDS' => array(
        -            //Control words
        -            2 => array(
        -                'DISALLOWED_BEFORE' => '(? '(?![\w\.\:])',
        -                ),
        -            //Primtives starting with a symbol (except . or :)
        -            6 => array(
        -                'DISALLOWED_BEFORE' => '(?!K)',    // effect should be to allow anything
        -                'DISALLOWED_AFTER' => '(?=.*)',
        -                ),
        -            //Primtives starting with a letter
        -            7 => array(
        -                'DISALLOWED_BEFORE' => '(? '(?=.*)',
        -                ),
        -            //Primtives starting with symbol . or :
        -            8 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\s)',
        -                'DISALLOWED_AFTER' => '(?=.*)',
        -                ),
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/java.php b/vendor/easybook/geshi/geshi/java.php
        deleted file mode 100644
        index f384c4d..0000000
        --- a/vendor/easybook/geshi/geshi/java.php
        +++ /dev/null
        @@ -1,981 +0,0 @@
        - 'Java',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Import and Package directives (Basic Support only)
        -        2 => '/(?:(?<=import[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
        -        // javadoc comments
        -        3 => '#/\*\*(?![\*\/]).*\*/#sU'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'for', 'foreach', 'if', 'else', 'while', 'do',
        -            'switch', 'case',  'return', 'public',
        -            'private', 'protected', 'extends', 'break', 'class',
        -            'new', 'try', 'catch', 'throws', 'finally', 'implements',
        -            'interface', 'throw', 'final', 'native', 'synchronized', 'this',
        -            'abstract', 'transient', 'instanceof', 'assert', 'continue',
        -            'default', 'enum', 'package', 'static', 'strictfp', 'super',
        -            'volatile', 'const', 'goto', 'import'
        -            ),
        -        2 => array(
        -            'null', 'false', 'true'
        -            ),
        -        3 => array(
        -            'AbstractAction', 'AbstractBorder', 'AbstractButton',
        -            'AbstractCellEditor', 'AbstractCollection',
        -            'AbstractColorChooserPanel', 'AbstractDocument',
        -            'AbstractDocument.AttributeContext',
        -            'AbstractDocument.Content',
        -            'AbstractDocument.ElementEdit',
        -            'AbstractLayoutCache',
        -            'AbstractLayoutCache.NodeDimensions', 'AbstractList',
        -            'AbstractListModel', 'AbstractMap',
        -            'AbstractMethodError', 'AbstractSequentialList',
        -            'AbstractSet', 'AbstractTableModel',
        -            'AbstractUndoableEdit', 'AbstractWriter',
        -            'AccessControlContext', 'AccessControlException',
        -            'AccessController', 'AccessException', 'Accessible',
        -            'AccessibleAction', 'AccessibleBundle',
        -            'AccessibleComponent', 'AccessibleContext',
        -            'AccessibleHyperlink', 'AccessibleHypertext',
        -            'AccessibleIcon', 'AccessibleObject',
        -            'AccessibleRelation', 'AccessibleRelationSet',
        -            'AccessibleResourceBundle', 'AccessibleRole',
        -            'AccessibleSelection', 'AccessibleState',
        -            'AccessibleStateSet', 'AccessibleTable',
        -            'AccessibleTableModelChange', 'AccessibleText',
        -            'AccessibleValue', 'Acl', 'AclEntry',
        -            'AclNotFoundException', 'Action', 'ActionEvent',
        -            'ActionListener', 'ActionMap', 'ActionMapUIResource',
        -            'Activatable', 'ActivateFailedException',
        -            'ActivationDesc', 'ActivationException',
        -            'ActivationGroup', 'ActivationGroupDesc',
        -            'ActivationGroupDesc.CommandEnvironment',
        -            'ActivationGroupID', 'ActivationID',
        -            'ActivationInstantiator', 'ActivationMonitor',
        -            'ActivationSystem', 'Activator', 'ActiveEvent',
        -            'Adjustable', 'AdjustmentEvent',
        -            'AdjustmentListener', 'Adler32', 'AffineTransform',
        -            'AffineTransformOp', 'AlgorithmParameterGenerator',
        -            'AlgorithmParameterGeneratorSpi',
        -            'AlgorithmParameters', 'AlgorithmParameterSpec',
        -            'AlgorithmParametersSpi', 'AllPermission',
        -            'AlphaComposite', 'AlreadyBound',
        -            'AlreadyBoundException', 'AlreadyBoundHelper',
        -            'AlreadyBoundHolder', 'AncestorEvent',
        -            'AncestorListener', 'Annotation', 'Any', 'AnyHolder',
        -            'AnySeqHelper', 'AnySeqHolder', 'Applet',
        -            'AppletContext', 'AppletInitializer', 'AppletStub',
        -            'ApplicationException', 'Arc2D', 'Arc2D.Double',
        -            'Arc2D.Float', 'Area', 'AreaAveragingScaleFilter',
        -            'ARG_IN', 'ARG_INOUT', 'ARG_OUT',
        -            'ArithmeticException', 'Array',
        -            'ArrayIndexOutOfBoundsException', 'ArrayList',
        -            'Arrays', 'ArrayStoreException', 'AsyncBoxView',
        -            'Attribute', 'AttributedCharacterIterator',
        -            'AttributedCharacterIterator.Attribute',
        -            'AttributedString', 'AttributeInUseException',
        -            'AttributeList', 'AttributeModificationException',
        -            'Attributes', 'Attributes.Name', 'AttributeSet',
        -            'AttributeSet.CharacterAttribute',
        -            'AttributeSet.ColorAttribute',
        -            'AttributeSet.FontAttribute',
        -            'AttributeSet.ParagraphAttribute', 'AudioClip',
        -            'AudioFileFormat', 'AudioFileFormat.Type',
        -            'AudioFileReader', 'AudioFileWriter', 'AudioFormat',
        -            'AudioFormat.Encoding', 'AudioInputStream',
        -            'AudioPermission', 'AudioSystem',
        -            'AuthenticationException',
        -            'AuthenticationNotSupportedException',
        -            'Authenticator', 'Autoscroll', 'AWTError',
        -            'AWTEvent', 'AWTEventListener',
        -            'AWTEventMulticaster', 'AWTException',
        -            'AWTPermission', 'BadKind', 'BadLocationException',
        -            'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION',
        -            'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE',
        -            'BAD_POLICY_VALUE', 'BAD_TYPECODE', 'BandCombineOp',
        -            'BandedSampleModel', 'BasicArrowButton',
        -            'BasicAttribute', 'BasicAttributes', 'BasicBorders',
        -            'BasicBorders.ButtonBorder',
        -            'BasicBorders.FieldBorder',
        -            'BasicBorders.MarginBorder',
        -            'BasicBorders.MenuBarBorder',
        -            'BasicBorders.RadioButtonBorder',
        -            'BasicBorders.SplitPaneBorder',
        -            'BasicBorders.ToggleButtonBorder',
        -            'BasicButtonListener', 'BasicButtonUI',
        -            'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI',
        -            'BasicColorChooserUI', 'BasicComboBoxEditor',
        -            'BasicComboBoxEditor.UIResource',
        -            'BasicComboBoxRenderer',
        -            'BasicComboBoxRenderer.UIResource',
        -            'BasicComboBoxUI', 'BasicComboPopup',
        -            'BasicDesktopIconUI', 'BasicDesktopPaneUI',
        -            'BasicDirectoryModel', 'BasicEditorPaneUI',
        -            'BasicFileChooserUI', 'BasicGraphicsUtils',
        -            'BasicHTML', 'BasicIconFactory',
        -            'BasicInternalFrameTitlePane',
        -            'BasicInternalFrameUI', 'BasicLabelUI',
        -            'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI',
        -            'BasicMenuItemUI', 'BasicMenuUI',
        -            'BasicOptionPaneUI',
        -            'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI',
        -            'BasicPasswordFieldUI', 'BasicPermission',
        -            'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI',
        -            'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI',
        -            'BasicRadioButtonUI', 'BasicRootPaneUI',
        -            'BasicScrollBarUI', 'BasicScrollPaneUI',
        -            'BasicSeparatorUI', 'BasicSliderUI',
        -            'BasicSplitPaneDivider', 'BasicSplitPaneUI',
        -            'BasicStroke', 'BasicTabbedPaneUI',
        -            'BasicTableHeaderUI', 'BasicTableUI',
        -            'BasicTextAreaUI', 'BasicTextFieldUI',
        -            'BasicTextPaneUI', 'BasicTextUI',
        -            'BasicTextUI.BasicCaret',
        -            'BasicTextUI.BasicHighlighter',
        -            'BasicToggleButtonUI', 'BasicToolBarSeparatorUI',
        -            'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI',
        -            'BasicViewportUI', 'BatchUpdateException',
        -            'BeanContext', 'BeanContextChild',
        -            'BeanContextChildComponentProxy',
        -            'BeanContextChildSupport',
        -            'BeanContextContainerProxy', 'BeanContextEvent',
        -            'BeanContextMembershipEvent',
        -            'BeanContextMembershipListener', 'BeanContextProxy',
        -            'BeanContextServiceAvailableEvent',
        -            'BeanContextServiceProvider',
        -            'BeanContextServiceProviderBeanInfo',
        -            'BeanContextServiceRevokedEvent',
        -            'BeanContextServiceRevokedListener',
        -            'BeanContextServices', 'BeanContextServicesListener',
        -            'BeanContextServicesSupport',
        -            'BeanContextServicesSupport.BCSSServiceProvider',
        -            'BeanContextSupport',
        -            'BeanContextSupport.BCSIterator', 'BeanDescriptor',
        -            'BeanInfo', 'Beans', 'BevelBorder', 'BigDecimal',
        -            'BigInteger', 'BinaryRefAddr', 'BindException',
        -            'Binding', 'BindingHelper', 'BindingHolder',
        -            'BindingIterator', 'BindingIteratorHelper',
        -            'BindingIteratorHolder', 'BindingIteratorOperations',
        -            'BindingListHelper', 'BindingListHolder',
        -            'BindingType', 'BindingTypeHelper',
        -            'BindingTypeHolder', 'BitSet', 'Blob', 'BlockView',
        -            'Book', 'Boolean', 'BooleanControl',
        -            'BooleanControl.Type', 'BooleanHolder',
        -            'BooleanSeqHelper', 'BooleanSeqHolder', 'Border',
        -            'BorderFactory', 'BorderLayout', 'BorderUIResource',
        -            'BorderUIResource.BevelBorderUIResource',
        -            'BorderUIResource.CompoundBorderUIResource',
        -            'BorderUIResource.EmptyBorderUIResource',
        -            'BorderUIResource.EtchedBorderUIResource',
        -            'BorderUIResource.LineBorderUIResource',
        -            'BorderUIResource.MatteBorderUIResource',
        -            'BorderUIResource.TitledBorderUIResource',
        -            'BoundedRangeModel', 'Bounds', 'Box', 'Box.Filler',
        -            'BoxedValueHelper', 'BoxLayout', 'BoxView',
        -            'BreakIterator', 'BufferedImage',
        -            'BufferedImageFilter', 'BufferedImageOp',
        -            'BufferedInputStream', 'BufferedOutputStream',
        -            'BufferedReader', 'BufferedWriter', 'Button',
        -            'ButtonGroup', 'ButtonModel', 'ButtonUI', 'Byte',
        -            'ByteArrayInputStream', 'ByteArrayOutputStream',
        -            'ByteHolder', 'ByteLookupTable', 'Calendar',
        -            'CallableStatement', 'CannotProceed',
        -            'CannotProceedException', 'CannotProceedHelper',
        -            'CannotProceedHolder', 'CannotRedoException',
        -            'CannotUndoException', 'Canvas', 'CardLayout',
        -            'Caret', 'CaretEvent', 'CaretListener', 'CellEditor',
        -            'CellEditorListener', 'CellRendererPane',
        -            'Certificate', 'Certificate.CertificateRep',
        -            'CertificateEncodingException',
        -            'CertificateException',
        -            'CertificateExpiredException', 'CertificateFactory',
        -            'CertificateFactorySpi',
        -            'CertificateNotYetValidException',
        -            'CertificateParsingException',
        -            'ChangedCharSetException', 'ChangeEvent',
        -            'ChangeListener', 'Character', 'Character.Subset',
        -            'Character.UnicodeBlock', 'CharacterIterator',
        -            'CharArrayReader', 'CharArrayWriter',
        -            'CharConversionException', 'CharHolder',
        -            'CharSeqHelper', 'CharSeqHolder', 'Checkbox',
        -            'CheckboxGroup', 'CheckboxMenuItem',
        -            'CheckedInputStream', 'CheckedOutputStream',
        -            'Checksum', 'Choice', 'ChoiceFormat', 'Class',
        -            'ClassCastException', 'ClassCircularityError',
        -            'ClassDesc', 'ClassFormatError', 'ClassLoader',
        -            'ClassNotFoundException', 'Clip', 'Clipboard',
        -            'ClipboardOwner', 'Clob', 'Cloneable',
        -            'CloneNotSupportedException', 'CMMException',
        -            'CodeSource', 'CollationElementIterator',
        -            'CollationKey', 'Collator', 'Collection',
        -            'Collections', 'Color',
        -            'ColorChooserComponentFactory', 'ColorChooserUI',
        -            'ColorConvertOp', 'ColorModel',
        -            'ColorSelectionModel', 'ColorSpace',
        -            'ColorUIResource', 'ComboBoxEditor', 'ComboBoxModel',
        -            'ComboBoxUI', 'ComboPopup', 'CommunicationException',
        -            'COMM_FAILURE', 'Comparable', 'Comparator',
        -            'Compiler', 'CompletionStatus',
        -            'CompletionStatusHelper', 'Component',
        -            'ComponentAdapter', 'ComponentColorModel',
        -            'ComponentEvent', 'ComponentInputMap',
        -            'ComponentInputMapUIResource', 'ComponentListener',
        -            'ComponentOrientation', 'ComponentSampleModel',
        -            'ComponentUI', 'ComponentView', 'Composite',
        -            'CompositeContext', 'CompositeName', 'CompositeView',
        -            'CompoundBorder', 'CompoundControl',
        -            'CompoundControl.Type', 'CompoundEdit',
        -            'CompoundName', 'ConcurrentModificationException',
        -            'ConfigurationException', 'ConnectException',
        -            'ConnectIOException', 'Connection', 'Constructor', 'Container',
        -            'ContainerAdapter', 'ContainerEvent',
        -            'ContainerListener', 'ContentHandler',
        -            'ContentHandlerFactory', 'ContentModel', 'Context',
        -            'ContextList', 'ContextNotEmptyException',
        -            'ContextualRenderedImageFactory', 'Control',
        -            'Control.Type', 'ControlFactory',
        -            'ControllerEventListener', 'ConvolveOp', 'CRC32',
        -            'CRL', 'CRLException', 'CropImageFilter', 'CSS',
        -            'CSS.Attribute', 'CTX_RESTRICT_SCOPE',
        -            'CubicCurve2D', 'CubicCurve2D.Double',
        -            'CubicCurve2D.Float', 'Current', 'CurrentHelper',
        -            'CurrentHolder', 'CurrentOperations', 'Cursor',
        -            'Customizer', 'CustomMarshal', 'CustomValue',
        -            'DatabaseMetaData', 'DataBuffer', 'DataBufferByte',
        -            'DataBufferInt', 'DataBufferShort',
        -            'DataBufferUShort', 'DataFlavor',
        -            'DataFormatException', 'DatagramPacket',
        -            'DatagramSocket', 'DatagramSocketImpl',
        -            'DatagramSocketImplFactory', 'DataInput',
        -            'DataInputStream', 'DataLine', 'DataLine.Info',
        -            'DataOutput', 'DataOutputStream',
        -            'DataTruncation', 'DATA_CONVERSION', 'Date',
        -            'DateFormat', 'DateFormatSymbols', 'DebugGraphics',
        -            'DecimalFormat', 'DecimalFormatSymbols',
        -            'DefaultBoundedRangeModel', 'DefaultButtonModel',
        -            'DefaultCaret', 'DefaultCellEditor',
        -            'DefaultColorSelectionModel', 'DefaultComboBoxModel',
        -            'DefaultDesktopManager', 'DefaultEditorKit',
        -            'DefaultEditorKit.BeepAction',
        -            'DefaultEditorKit.CopyAction',
        -            'DefaultEditorKit.CutAction',
        -            'DefaultEditorKit.DefaultKeyTypedAction',
        -            'DefaultEditorKit.InsertBreakAction',
        -            'DefaultEditorKit.InsertContentAction',
        -            'DefaultEditorKit.InsertTabAction',
        -            'DefaultEditorKit.PasteAction,',
        -            'DefaultFocusManager', 'DefaultHighlighter',
        -            'DefaultHighlighter.DefaultHighlightPainter',
        -            'DefaultListCellRenderer',
        -            'DefaultListCellRenderer.UIResource',
        -            'DefaultListModel', 'DefaultListSelectionModel',
        -            'DefaultMenuLayout', 'DefaultMetalTheme',
        -            'DefaultMutableTreeNode',
        -            'DefaultSingleSelectionModel',
        -            'DefaultStyledDocument',
        -            'DefaultStyledDocument.AttributeUndoableEdit',
        -            'DefaultStyledDocument.ElementSpec',
        -            'DefaultTableCellRenderer',
        -            'DefaultTableCellRenderer.UIResource',
        -            'DefaultTableColumnModel', 'DefaultTableModel',
        -            'DefaultTextUI', 'DefaultTreeCellEditor',
        -            'DefaultTreeCellRenderer', 'DefaultTreeModel',
        -            'DefaultTreeSelectionModel', 'DefinitionKind',
        -            'DefinitionKindHelper', 'Deflater',
        -            'DeflaterOutputStream', 'Delegate', 'DesignMode',
        -            'DesktopIconUI', 'DesktopManager', 'DesktopPaneUI',
        -            'DGC', 'Dialog', 'Dictionary', 'DigestException',
        -            'DigestInputStream', 'DigestOutputStream',
        -            'Dimension', 'Dimension2D', 'DimensionUIResource',
        -            'DirContext', 'DirectColorModel', 'DirectoryManager',
        -            'DirObjectFactory', 'DirStateFactory',
        -            'DirStateFactory.Result', 'DnDConstants', 'Document',
        -            'DocumentEvent', 'DocumentEvent.ElementChange',
        -            'DocumentEvent.EventType', 'DocumentListener',
        -            'DocumentParser', 'DomainCombiner', 'DomainManager',
        -            'DomainManagerOperations', 'Double', 'DoubleHolder',
        -            'DoubleSeqHelper', 'DoubleSeqHolder',
        -            'DragGestureEvent', 'DragGestureListener',
        -            'DragGestureRecognizer', 'DragSource',
        -            'DragSourceContext', 'DragSourceDragEvent',
        -            'DragSourceDropEvent', 'DragSourceEvent',
        -            'DragSourceListener', 'Driver', 'DriverManager',
        -            'DriverPropertyInfo', 'DropTarget',
        -            'DropTarget.DropTargetAutoScroller',
        -            'DropTargetContext', 'DropTargetDragEvent',
        -            'DropTargetDropEvent', 'DropTargetEvent',
        -            'DropTargetListener', 'DSAKey',
        -            'DSAKeyPairGenerator', 'DSAParameterSpec',
        -            'DSAParams', 'DSAPrivateKey', 'DSAPrivateKeySpec',
        -            'DSAPublicKey', 'DSAPublicKeySpec', 'DTD',
        -            'DTDConstants', 'DynamicImplementation', 'DynAny',
        -            'DynArray', 'DynEnum', 'DynFixed', 'DynSequence',
        -            'DynStruct', 'DynUnion', 'DynValue', 'EditorKit',
        -            'Element', 'ElementIterator', 'Ellipse2D',
        -            'Ellipse2D.Double', 'Ellipse2D.Float', 'EmptyBorder',
        -            'EmptyStackException', 'EncodedKeySpec', 'Entity',
        -            'EnumControl', 'EnumControl.Type', 'Enumeration',
        -            'Environment', 'EOFException', 'Error',
        -            'EtchedBorder', 'Event', 'EventContext',
        -            'EventDirContext', 'EventListener',
        -            'EventListenerList', 'EventObject', 'EventQueue',
        -            'EventSetDescriptor', 'Exception',
        -            'ExceptionInInitializerError', 'ExceptionList',
        -            'ExpandVetoException', 'ExportException',
        -            'ExtendedRequest', 'ExtendedResponse',
        -            'Externalizable', 'FeatureDescriptor', 'Field',
        -            'FieldNameHelper', 'FieldPosition', 'FieldView',
        -            'File', 'FileChooserUI', 'FileDescriptor',
        -            'FileDialog', 'FileFilter',
        -            'FileInputStream', 'FilenameFilter', 'FileNameMap',
        -            'FileNotFoundException', 'FileOutputStream',
        -            'FilePermission', 'FileReader', 'FileSystemView',
        -            'FileView', 'FileWriter', 'FilteredImageSource',
        -            'FilterInputStream', 'FilterOutputStream',
        -            'FilterReader', 'FilterWriter',
        -            'FixedHeightLayoutCache', 'FixedHolder',
        -            'FlatteningPathIterator', 'FlavorMap', 'Float',
        -            'FloatControl', 'FloatControl.Type', 'FloatHolder',
        -            'FloatSeqHelper', 'FloatSeqHolder', 'FlowLayout',
        -            'FlowView', 'FlowView.FlowStrategy', 'FocusAdapter',
        -            'FocusEvent', 'FocusListener', 'FocusManager',
        -            'Font', 'FontFormatException', 'FontMetrics',
        -            'FontRenderContext', 'FontUIResource', 'Format',
        -            'FormatConversionProvider', 'FormView', 'Frame',
        -            'FREE_MEM', 'GapContent', 'GeneralPath',
        -            'GeneralSecurityException', 'GlyphJustificationInfo',
        -            'GlyphMetrics', 'GlyphVector', 'GlyphView',
        -            'GlyphView.GlyphPainter', 'GradientPaint',
        -            'GraphicAttribute', 'Graphics', 'Graphics2D',
        -            'GraphicsConfigTemplate', 'GraphicsConfiguration',
        -            'GraphicsDevice', 'GraphicsEnvironment',
        -            'GrayFilter', 'GregorianCalendar',
        -            'GridBagConstraints', 'GridBagLayout', 'GridLayout',
        -            'Group', 'Guard', 'GuardedObject', 'GZIPInputStream',
        -            'GZIPOutputStream', 'HasControls', 'HashMap',
        -            'HashSet', 'Hashtable', 'HierarchyBoundsAdapter',
        -            'HierarchyBoundsListener', 'HierarchyEvent',
        -            'HierarchyListener', 'Highlighter',
        -            'Highlighter.Highlight',
        -            'Highlighter.HighlightPainter', 'HTML',
        -            'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag',
        -            'HTMLDocument', 'HTMLDocument.Iterator',
        -            'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory',
        -            'HTMLEditorKit.HTMLTextAction',
        -            'HTMLEditorKit.InsertHTMLTextAction',
        -            'HTMLEditorKit.LinkController',
        -            'HTMLEditorKit.Parser',
        -            'HTMLEditorKit.ParserCallback',
        -            'HTMLFrameHyperlinkEvent', 'HTMLWriter',
        -            'HttpURLConnection', 'HyperlinkEvent',
        -            'HyperlinkEvent.EventType', 'HyperlinkListener',
        -            'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray',
        -            'ICC_ProfileRGB', 'Icon', 'IconUIResource',
        -            'IconView', 'IdentifierHelper', 'Identity',
        -            'IdentityScope', 'IDLEntity', 'IDLType',
        -            'IDLTypeHelper', 'IDLTypeOperations',
        -            'IllegalAccessError', 'IllegalAccessException',
        -            'IllegalArgumentException',
        -            'IllegalComponentStateException',
        -            'IllegalMonitorStateException',
        -            'IllegalPathStateException', 'IllegalStateException',
        -            'IllegalThreadStateException', 'Image',
        -            'ImageConsumer', 'ImageFilter',
        -            'ImageGraphicAttribute', 'ImageIcon',
        -            'ImageObserver', 'ImageProducer',
        -            'ImagingOpException', 'IMP_LIMIT',
        -            'IncompatibleClassChangeError',
        -            'InconsistentTypeCode', 'IndexColorModel',
        -            'IndexedPropertyDescriptor',
        -            'IndexOutOfBoundsException', 'IndirectionException',
        -            'InetAddress', 'Inflater', 'InflaterInputStream',
        -            'InheritableThreadLocal', 'InitialContext',
        -            'InitialContextFactory',
        -            'InitialContextFactoryBuilder', 'InitialDirContext',
        -            'INITIALIZE', 'Initializer', 'InitialLdapContext',
        -            'InlineView', 'InputContext', 'InputEvent',
        -            'InputMap', 'InputMapUIResource', 'InputMethod',
        -            'InputMethodContext', 'InputMethodDescriptor',
        -            'InputMethodEvent', 'InputMethodHighlight',
        -            'InputMethodListener', 'InputMethodRequests',
        -            'InputStream',
        -            'InputStreamReader', 'InputSubset', 'InputVerifier',
        -            'Insets', 'InsetsUIResource', 'InstantiationError',
        -            'InstantiationException', 'Instrument',
        -            'InsufficientResourcesException', 'Integer',
        -            'INTERNAL', 'InternalError', 'InternalFrameAdapter',
        -            'InternalFrameEvent', 'InternalFrameListener',
        -            'InternalFrameUI', 'InterruptedException',
        -            'InterruptedIOException',
        -            'InterruptedNamingException', 'INTF_REPOS',
        -            'IntHolder', 'IntrospectionException',
        -            'Introspector', 'Invalid',
        -            'InvalidAlgorithmParameterException',
        -            'InvalidAttributeIdentifierException',
        -            'InvalidAttributesException',
        -            'InvalidAttributeValueException',
        -            'InvalidClassException',
        -            'InvalidDnDOperationException',
        -            'InvalidKeyException', 'InvalidKeySpecException',
        -            'InvalidMidiDataException', 'InvalidName',
        -            'InvalidNameException',
        -            'InvalidNameHelper', 'InvalidNameHolder',
        -            'InvalidObjectException',
        -            'InvalidParameterException',
        -            'InvalidParameterSpecException',
        -            'InvalidSearchControlsException',
        -            'InvalidSearchFilterException', 'InvalidSeq',
        -            'InvalidTransactionException', 'InvalidValue',
        -            'INVALID_TRANSACTION', 'InvocationEvent',
        -            'InvocationHandler', 'InvocationTargetException',
        -            'InvokeHandler', 'INV_FLAG', 'INV_IDENT',
        -            'INV_OBJREF', 'INV_POLICY', 'IOException',
        -            'IRObject', 'IRObjectOperations', 'IstringHelper',
        -            'ItemEvent', 'ItemListener', 'ItemSelectable',
        -            'Iterator', 'JApplet', 'JarEntry', 'JarException',
        -            'JarFile', 'JarInputStream', 'JarOutputStream',
        -            'JarURLConnection', 'JButton', 'JCheckBox',
        -            'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox',
        -            'JComboBox.KeySelectionManager', 'JComponent',
        -            'JDesktopPane', 'JDialog', 'JEditorPane',
        -            'JFileChooser', 'JFrame', 'JInternalFrame',
        -            'JInternalFrame.JDesktopIcon', 'JLabel',
        -            'JLayeredPane', 'JList', 'JMenu', 'JMenuBar',
        -            'JMenuItem', 'JobAttributes',
        -            'JobAttributes.DefaultSelectionType',
        -            'JobAttributes.DestinationType',
        -            'JobAttributes.DialogType',
        -            'JobAttributes.MultipleDocumentHandlingType',
        -            'JobAttributes.SidesType', 'JOptionPane', 'JPanel',
        -            'JPasswordField', 'JPopupMenu',
        -            'JPopupMenu.Separator', 'JProgressBar',
        -            'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane',
        -            'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider',
        -            'JSplitPane', 'JTabbedPane', 'JTable',
        -            'JTableHeader', 'JTextArea', 'JTextComponent',
        -            'JTextComponent.KeyBinding', 'JTextField',
        -            'JTextPane', 'JToggleButton',
        -            'JToggleButton.ToggleButtonModel', 'JToolBar',
        -            'JToolBar.Separator', 'JToolTip', 'JTree',
        -            'JTree.DynamicUtilTreeNode',
        -            'JTree.EmptySelectionModel', 'JViewport', 'JWindow',
        -            'Kernel', 'Key', 'KeyAdapter', 'KeyEvent',
        -            'KeyException', 'KeyFactory', 'KeyFactorySpi',
        -            'KeyListener', 'KeyManagementException', 'Keymap',
        -            'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi',
        -            'KeySpec', 'KeyStore', 'KeyStoreException',
        -            'KeyStoreSpi', 'KeyStroke', 'Label', 'LabelUI',
        -            'LabelView', 'LastOwnerException',
        -            'LayeredHighlighter',
        -            'LayeredHighlighter.LayerPainter', 'LayoutManager',
        -            'LayoutManager2', 'LayoutQueue', 'LdapContext',
        -            'LdapReferralException', 'Lease',
        -            'LimitExceededException', 'Line', 'Line.Info',
        -            'Line2D', 'Line2D.Double', 'Line2D.Float',
        -            'LineBorder', 'LineBreakMeasurer', 'LineEvent',
        -            'LineEvent.Type', 'LineListener', 'LineMetrics',
        -            'LineNumberInputStream', 'LineNumberReader',
        -            'LineUnavailableException', 'LinkageError',
        -            'LinkedList', 'LinkException', 'LinkLoopException',
        -            'LinkRef', 'List', 'ListCellRenderer',
        -            'ListDataEvent', 'ListDataListener', 'ListIterator',
        -            'ListModel', 'ListResourceBundle',
        -            'ListSelectionEvent', 'ListSelectionListener',
        -            'ListSelectionModel', 'ListUI', 'ListView',
        -            'LoaderHandler', 'Locale', 'LocateRegistry',
        -            'LogStream', 'Long', 'LongHolder',
        -            'LongLongSeqHelper', 'LongLongSeqHolder',
        -            'LongSeqHelper', 'LongSeqHolder', 'LookAndFeel',
        -            'LookupOp', 'LookupTable', 'MalformedLinkException',
        -            'MalformedURLException', 'Manifest', 'Map',
        -            'Map.Entry', 'MARSHAL', 'MarshalException',
        -            'MarshalledObject', 'Math', 'MatteBorder',
        -            'MediaTracker', 'Member', 'MemoryImageSource',
        -            'Menu', 'MenuBar', 'MenuBarUI', 'MenuComponent',
        -            'MenuContainer', 'MenuDragMouseEvent',
        -            'MenuDragMouseListener', 'MenuElement', 'MenuEvent',
        -            'MenuItem', 'MenuItemUI', 'MenuKeyEvent',
        -            'MenuKeyListener', 'MenuListener',
        -            'MenuSelectionManager', 'MenuShortcut',
        -            'MessageDigest', 'MessageDigestSpi', 'MessageFormat',
        -            'MetaEventListener', 'MetalBorders',
        -            'MetalBorders.ButtonBorder',
        -            'MetalBorders.Flush3DBorder',
        -            'MetalBorders.InternalFrameBorder',
        -            'MetalBorders.MenuBarBorder',
        -            'MetalBorders.MenuItemBorder',
        -            'MetalBorders.OptionDialogBorder',
        -            'MetalBorders.PaletteBorder',
        -            'MetalBorders.PopupMenuBorder',
        -            'MetalBorders.RolloverButtonBorder',
        -            'MetalBorders.ScrollPaneBorder',
        -            'MetalBorders.TableHeaderBorder',
        -            'MetalBorders.TextFieldBorder',
        -            'MetalBorders.ToggleButtonBorder',
        -            'MetalBorders.ToolBarBorder', 'MetalButtonUI',
        -            'MetalCheckBoxIcon', 'MetalCheckBoxUI',
        -            'MetalComboBoxButton', 'MetalComboBoxEditor',
        -            'MetalComboBoxEditor.UIResource',
        -            'MetalComboBoxIcon', 'MetalComboBoxUI',
        -            'MetalDesktopIconUI', 'MetalFileChooserUI',
        -            'MetalIconFactory', 'MetalIconFactory.FileIcon16',
        -            'MetalIconFactory.FolderIcon16',
        -            'MetalIconFactory.PaletteCloseIcon',
        -            'MetalIconFactory.TreeControlIcon',
        -            'MetalIconFactory.TreeFolderIcon',
        -            'MetalIconFactory.TreeLeafIcon',
        -            'MetalInternalFrameTitlePane',
        -            'MetalInternalFrameUI', 'MetalLabelUI',
        -            'MetalLookAndFeel', 'MetalPopupMenuSeparatorUI',
        -            'MetalProgressBarUI', 'MetalRadioButtonUI',
        -            'MetalScrollBarUI', 'MetalScrollButton',
        -            'MetalScrollPaneUI', 'MetalSeparatorUI',
        -            'MetalSliderUI', 'MetalSplitPaneUI',
        -            'MetalTabbedPaneUI', 'MetalTextFieldUI',
        -            'MetalTheme', 'MetalToggleButtonUI',
        -            'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI',
        -            'MetaMessage', 'Method', 'MethodDescriptor',
        -            'MidiChannel', 'MidiDevice', 'MidiDevice.Info',
        -            'MidiDeviceProvider', 'MidiEvent', 'MidiFileFormat',
        -            'MidiFileReader', 'MidiFileWriter', 'MidiMessage',
        -            'MidiSystem', 'MidiUnavailableException',
        -            'MimeTypeParseException', 'MinimalHTMLWriter',
        -            'MissingResourceException', 'Mixer', 'Mixer.Info',
        -            'MixerProvider', 'ModificationItem', 'Modifier',
        -            'MouseAdapter', 'MouseDragGestureRecognizer',
        -            'MouseEvent', 'MouseInputAdapter',
        -            'MouseInputListener', 'MouseListener',
        -            'MouseMotionAdapter', 'MouseMotionListener',
        -            'MultiButtonUI', 'MulticastSocket',
        -            'MultiColorChooserUI', 'MultiComboBoxUI',
        -            'MultiDesktopIconUI', 'MultiDesktopPaneUI',
        -            'MultiFileChooserUI', 'MultiInternalFrameUI',
        -            'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel',
        -            'MultiMenuBarUI', 'MultiMenuItemUI',
        -            'MultiOptionPaneUI', 'MultiPanelUI',
        -            'MultiPixelPackedSampleModel', 'MultipleMaster',
        -            'MultiPopupMenuUI', 'MultiProgressBarUI',
        -            'MultiScrollBarUI', 'MultiScrollPaneUI',
        -            'MultiSeparatorUI', 'MultiSliderUI',
        -            'MultiSplitPaneUI', 'MultiTabbedPaneUI',
        -            'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI',
        -            'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI',
        -            'MultiViewportUI', 'MutableAttributeSet',
        -            'MutableComboBoxModel', 'MutableTreeNode', 'Name',
        -            'NameAlreadyBoundException', 'NameClassPair',
        -            'NameComponent', 'NameComponentHelper',
        -            'NameComponentHolder', 'NamedValue', 'NameHelper',
        -            'NameHolder', 'NameNotFoundException', 'NameParser',
        -            'NamespaceChangeListener', 'NameValuePair',
        -            'NameValuePairHelper', 'Naming', 'NamingContext',
        -            'NamingContextHelper', 'NamingContextHolder',
        -            'NamingContextOperations', 'NamingEnumeration',
        -            'NamingEvent', 'NamingException',
        -            'NamingExceptionEvent', 'NamingListener',
        -            'NamingManager', 'NamingSecurityException',
        -            'NegativeArraySizeException', 'NetPermission',
        -            'NoClassDefFoundError', 'NoInitialContextException',
        -            'NoninvertibleTransformException',
        -            'NoPermissionException', 'NoRouteToHostException',
        -            'NoSuchAlgorithmException',
        -            'NoSuchAttributeException', 'NoSuchElementException',
        -            'NoSuchFieldError', 'NoSuchFieldException',
        -            'NoSuchMethodError', 'NoSuchMethodException',
        -            'NoSuchObjectException', 'NoSuchProviderException',
        -            'NotActiveException', 'NotBoundException',
        -            'NotContextException', 'NotEmpty', 'NotEmptyHelper',
        -            'NotEmptyHolder', 'NotFound', 'NotFoundHelper',
        -            'NotFoundHolder', 'NotFoundReason',
        -            'NotFoundReasonHelper', 'NotFoundReasonHolder',
        -            'NotOwnerException', 'NotSerializableException',
        -            'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION',
        -            'NO_RESOURCES', 'NO_RESPONSE',
        -            'NullPointerException', 'Number', 'NumberFormat',
        -            'NumberFormatException', 'NVList', 'Object',
        -            'ObjectChangeListener', 'ObjectFactory',
        -            'ObjectFactoryBuilder', 'ObjectHelper',
        -            'ObjectHolder', 'ObjectImpl',
        -            'ObjectInput', 'ObjectInputStream',
        -            'ObjectInputStream.GetField',
        -            'ObjectInputValidation', 'ObjectOutput',
        -            'ObjectOutputStream', 'ObjectOutputStream.PutField',
        -            'ObjectStreamClass', 'ObjectStreamConstants',
        -            'ObjectStreamException', 'ObjectStreamField',
        -            'ObjectView', 'OBJECT_NOT_EXIST', 'ObjID',
        -            'OBJ_ADAPTER', 'Observable', 'Observer',
        -            'OctetSeqHelper', 'OctetSeqHolder', 'OMGVMCID',
        -            'OpenType', 'Operation',
        -            'OperationNotSupportedException', 'Option',
        -            'OptionalDataException', 'OptionPaneUI', 'ORB',
        -            'OutOfMemoryError', 'OutputStream',
        -            'OutputStreamWriter', 'OverlayLayout', 'Owner',
        -            'Package', 'PackedColorModel', 'Pageable',
        -            'PageAttributes', 'PageAttributes.ColorType',
        -            'PageAttributes.MediaType',
        -            'PageAttributes.OrientationRequestedType',
        -            'PageAttributes.OriginType',
        -            'PageAttributes.PrintQualityType', 'PageFormat',
        -            'Paint', 'PaintContext', 'PaintEvent', 'Panel',
        -            'PanelUI', 'Paper', 'ParagraphView',
        -            'ParameterBlock', 'ParameterDescriptor',
        -            'ParseException', 'ParsePosition', 'Parser',
        -            'ParserDelegator', 'PartialResultException',
        -            'PasswordAuthentication', 'PasswordView', 'Patch',
        -            'PathIterator', 'Permission',
        -            'PermissionCollection', 'Permissions',
        -            'PERSIST_STORE', 'PhantomReference',
        -            'PipedInputStream', 'PipedOutputStream',
        -            'PipedReader', 'PipedWriter', 'PixelGrabber',
        -            'PixelInterleavedSampleModel', 'PKCS8EncodedKeySpec',
        -            'PlainDocument', 'PlainView', 'Point', 'Point2D',
        -            'Point2D.Double', 'Point2D.Float', 'Policy',
        -            'PolicyError', 'PolicyHelper',
        -            'PolicyHolder', 'PolicyListHelper',
        -            'PolicyListHolder', 'PolicyOperations',
        -            'PolicyTypeHelper', 'Polygon', 'PopupMenu',
        -            'PopupMenuEvent', 'PopupMenuListener', 'PopupMenuUI',
        -            'Port', 'Port.Info', 'PortableRemoteObject',
        -            'PortableRemoteObjectDelegate', 'Position',
        -            'Position.Bias', 'PreparedStatement', 'Principal',
        -            'PrincipalHolder', 'Printable',
        -            'PrinterAbortException', 'PrinterException',
        -            'PrinterGraphics', 'PrinterIOException',
        -            'PrinterJob', 'PrintGraphics', 'PrintJob',
        -            'PrintStream', 'PrintWriter', 'PrivateKey',
        -            'PRIVATE_MEMBER', 'PrivilegedAction',
        -            'PrivilegedActionException',
        -            'PrivilegedExceptionAction', 'Process',
        -            'ProfileDataException', 'ProgressBarUI',
        -            'ProgressMonitor', 'ProgressMonitorInputStream',
        -            'Properties', 'PropertyChangeEvent',
        -            'PropertyChangeListener', 'PropertyChangeSupport',
        -            'PropertyDescriptor', 'PropertyEditor',
        -            'PropertyEditorManager', 'PropertyEditorSupport',
        -            'PropertyPermission', 'PropertyResourceBundle',
        -            'PropertyVetoException', 'ProtectionDomain',
        -            'ProtocolException', 'Provider', 'ProviderException',
        -            'Proxy', 'PublicKey', 'PUBLIC_MEMBER',
        -            'PushbackInputStream', 'PushbackReader',
        -            'QuadCurve2D', 'QuadCurve2D.Double',
        -            'QuadCurve2D.Float', 'Random', 'RandomAccessFile',
        -            'Raster', 'RasterFormatException', 'RasterOp',
        -            'Reader', 'Receiver', 'Rectangle', 'Rectangle2D',
        -            'Rectangle2D.Double', 'Rectangle2D.Float',
        -            'RectangularShape', 'Ref', 'RefAddr', 'Reference',
        -            'Referenceable', 'ReferenceQueue',
        -            'ReferralException', 'ReflectPermission', 'Registry',
        -            'RegistryHandler', 'RemarshalException', 'Remote',
        -            'RemoteCall', 'RemoteException', 'RemoteObject',
        -            'RemoteRef', 'RemoteServer', 'RemoteStub',
        -            'RenderableImage', 'RenderableImageOp',
        -            'RenderableImageProducer', 'RenderContext',
        -            'RenderedImage', 'RenderedImageFactory', 'Renderer',
        -            'RenderingHints', 'RenderingHints.Key',
        -            'RepaintManager', 'ReplicateScaleFilter',
        -            'Repository', 'RepositoryIdHelper', 'Request',
        -            'RescaleOp', 'Resolver', 'ResolveResult',
        -            'ResourceBundle', 'ResponseHandler', 'ResultSet',
        -            'ResultSetMetaData', 'ReverbType', 'RGBImageFilter',
        -            'RMIClassLoader', 'RMIClientSocketFactory',
        -            'RMIFailureHandler', 'RMISecurityException',
        -            'RMISecurityManager', 'RMIServerSocketFactory',
        -            'RMISocketFactory', 'Robot', 'RootPaneContainer',
        -            'RootPaneUI', 'RoundRectangle2D',
        -            'RoundRectangle2D.Double', 'RoundRectangle2D.Float',
        -            'RowMapper', 'RSAKey', 'RSAKeyGenParameterSpec',
        -            'RSAPrivateCrtKey', 'RSAPrivateCrtKeySpec',
        -            'RSAPrivateKey', 'RSAPrivateKeySpec', 'RSAPublicKey',
        -            'RSAPublicKeySpec', 'RTFEditorKit',
        -            'RuleBasedCollator', 'Runnable', 'RunTime',
        -            'Runtime', 'RuntimeException', 'RunTimeOperations',
        -            'RuntimePermission', 'SampleModel',
        -            'SchemaViolationException', 'Scrollable',
        -            'Scrollbar', 'ScrollBarUI', 'ScrollPane',
        -            'ScrollPaneConstants', 'ScrollPaneLayout',
        -            'ScrollPaneLayout.UIResource', 'ScrollPaneUI',
        -            'SearchControls', 'SearchResult',
        -            'SecureClassLoader', 'SecureRandom',
        -            'SecureRandomSpi', 'Security', 'SecurityException',
        -            'SecurityManager', 'SecurityPermission', 'Segment',
        -            'SeparatorUI', 'Sequence', 'SequenceInputStream',
        -            'Sequencer', 'Sequencer.SyncMode', 'Serializable',
        -            'SerializablePermission', 'ServantObject',
        -            'ServerCloneException', 'ServerError',
        -            'ServerException', 'ServerNotActiveException',
        -            'ServerRef', 'ServerRequest',
        -            'ServerRuntimeException', 'ServerSocket',
        -            'ServiceDetail', 'ServiceDetailHelper',
        -            'ServiceInformation', 'ServiceInformationHelper',
        -            'ServiceInformationHolder',
        -            'ServiceUnavailableException', 'Set',
        -            'SetOverrideType', 'SetOverrideTypeHelper', 'Shape',
        -            'ShapeGraphicAttribute', 'Short', 'ShortHolder',
        -            'ShortLookupTable', 'ShortMessage', 'ShortSeqHelper',
        -            'ShortSeqHolder', 'Signature', 'SignatureException',
        -            'SignatureSpi', 'SignedObject', 'Signer',
        -            'SimpleAttributeSet', 'SimpleBeanInfo',
        -            'SimpleDateFormat', 'SimpleTimeZone',
        -            'SinglePixelPackedSampleModel',
        -            'SingleSelectionModel', 'SizeLimitExceededException',
        -            'SizeRequirements', 'SizeSequence', 'Skeleton',
        -            'SkeletonMismatchException',
        -            'SkeletonNotFoundException', 'SliderUI', 'Socket',
        -            'SocketException', 'SocketImpl', 'SocketImplFactory',
        -            'SocketOptions', 'SocketPermission',
        -            'SocketSecurityException', 'SoftBevelBorder',
        -            'SoftReference', 'SortedMap', 'SortedSet',
        -            'Soundbank', 'SoundbankReader', 'SoundbankResource',
        -            'SourceDataLine', 'SplitPaneUI', 'SQLData',
        -            'SQLException', 'SQLInput', 'SQLOutput',
        -            'SQLPermission', 'SQLWarning', 'Stack',
        -            'StackOverflowError', 'StateEdit', 'StateEditable',
        -            'StateFactory', 'Statement', 'Streamable',
        -            'StreamableValue', 'StreamCorruptedException',
        -            'StreamTokenizer', 'StrictMath', 'String',
        -            'StringBuffer', 'StringBufferInputStream',
        -            'StringCharacterIterator', 'StringContent',
        -            'StringHolder', 'StringIndexOutOfBoundsException',
        -            'StringReader', 'StringRefAddr', 'StringSelection',
        -            'StringTokenizer', 'StringValueHelper',
        -            'StringWriter', 'Stroke', 'Struct', 'StructMember',
        -            'StructMemberHelper', 'Stub', 'StubDelegate',
        -            'StubNotFoundException', 'Style', 'StyleConstants',
        -            'StyleConstants.CharacterConstants',
        -            'StyleConstants.ColorConstants',
        -            'StyleConstants.FontConstants',
        -            'StyleConstants.ParagraphConstants', 'StyleContext',
        -            'StyledDocument', 'StyledEditorKit',
        -            'StyledEditorKit.AlignmentAction',
        -            'StyledEditorKit.BoldAction',
        -            'StyledEditorKit.FontFamilyAction',
        -            'StyledEditorKit.FontSizeAction',
        -            'StyledEditorKit.ForegroundAction',
        -            'StyledEditorKit.ItalicAction',
        -            'StyledEditorKit.StyledTextAction',
        -            'StyledEditorKit.UnderlineAction', 'StyleSheet',
        -            'StyleSheet.BoxPainter', 'StyleSheet.ListPainter',
        -            'SwingConstants', 'SwingPropertyChangeSupport',
        -            'SwingUtilities', 'SyncFailedException',
        -            'Synthesizer', 'SysexMessage', 'System',
        -            'SystemColor', 'SystemException', 'SystemFlavorMap',
        -            'TabableView', 'TabbedPaneUI', 'TabExpander',
        -            'TableCellEditor', 'TableCellRenderer',
        -            'TableColumn', 'TableColumnModel',
        -            'TableColumnModelEvent', 'TableColumnModelListener',
        -            'TableHeaderUI', 'TableModel', 'TableModelEvent',
        -            'TableModelListener', 'TableUI', 'TableView',
        -            'TabSet', 'TabStop', 'TagElement', 'TargetDataLine',
        -            'TCKind', 'TextAction', 'TextArea', 'TextAttribute',
        -            'TextComponent', 'TextEvent', 'TextField',
        -            'TextHitInfo', 'TextLayout',
        -            'TextLayout.CaretPolicy', 'TextListener',
        -            'TextMeasurer', 'TextUI', 'TexturePaint', 'Thread',
        -            'ThreadDeath', 'ThreadGroup', 'ThreadLocal',
        -            'Throwable', 'Tie', 'TileObserver', 'Time',
        -            'TimeLimitExceededException', 'Timer',
        -            'TimerTask', 'Timestamp', 'TimeZone', 'TitledBorder',
        -            'ToolBarUI', 'Toolkit', 'ToolTipManager',
        -            'ToolTipUI', 'TooManyListenersException', 'Track',
        -            'TransactionRequiredException',
        -            'TransactionRolledbackException',
        -            'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK',
        -            'Transferable', 'TransformAttribute', 'TRANSIENT',
        -            'Transmitter', 'Transparency', 'TreeCellEditor',
        -            'TreeCellRenderer', 'TreeExpansionEvent',
        -            'TreeExpansionListener', 'TreeMap', 'TreeModel',
        -            'TreeModelEvent', 'TreeModelListener', 'TreeNode',
        -            'TreePath', 'TreeSelectionEvent',
        -            'TreeSelectionListener', 'TreeSelectionModel',
        -            'TreeSet', 'TreeUI', 'TreeWillExpandListener',
        -            'TypeCode', 'TypeCodeHolder', 'TypeMismatch',
        -            'Types', 'UID', 'UIDefaults',
        -            'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap',
        -            'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue',
        -            'UIManager', 'UIManager.LookAndFeelInfo',
        -            'UIResource', 'ULongLongSeqHelper',
        -            'ULongLongSeqHolder', 'ULongSeqHelper',
        -            'ULongSeqHolder', 'UndeclaredThrowableException',
        -            'UndoableEdit', 'UndoableEditEvent',
        -            'UndoableEditListener', 'UndoableEditSupport',
        -            'UndoManager', 'UnexpectedException',
        -            'UnicastRemoteObject', 'UnionMember',
        -            'UnionMemberHelper', 'UNKNOWN', 'UnknownError',
        -            'UnknownException', 'UnknownGroupException',
        -            'UnknownHostException',
        -            'UnknownObjectException', 'UnknownServiceException',
        -            'UnknownUserException', 'UnmarshalException',
        -            'UnrecoverableKeyException', 'Unreferenced',
        -            'UnresolvedPermission', 'UnsatisfiedLinkError',
        -            'UnsolicitedNotification',
        -            'UnsolicitedNotificationEvent',
        -            'UnsolicitedNotificationListener',
        -            'UnsupportedAudioFileException',
        -            'UnsupportedClassVersionError',
        -            'UnsupportedEncodingException',
        -            'UnsupportedFlavorException',
        -            'UnsupportedLookAndFeelException',
        -            'UnsupportedOperationException',
        -            'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE',
        -            'URL', 'URLClassLoader', 'URLConnection',
        -            'URLDecoder', 'URLEncoder', 'URLStreamHandler',
        -            'URLStreamHandlerFactory', 'UserException',
        -            'UShortSeqHelper', 'UShortSeqHolder',
        -            'UTFDataFormatException', 'Util', 'UtilDelegate',
        -            'Utilities', 'ValueBase', 'ValueBaseHelper',
        -            'ValueBaseHolder', 'ValueFactory', 'ValueHandler',
        -            'ValueMember', 'ValueMemberHelper',
        -            'VariableHeightLayoutCache', 'Vector', 'VerifyError',
        -            'VersionSpecHelper', 'VetoableChangeListener',
        -            'VetoableChangeSupport', 'View', 'ViewFactory',
        -            'ViewportLayout', 'ViewportUI',
        -            'VirtualMachineError', 'Visibility',
        -            'VisibilityHelper', 'VMID', 'VM_ABSTRACT',
        -            'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE',
        -            'VoiceStatus', 'Void', 'WCharSeqHelper',
        -            'WCharSeqHolder', 'WeakHashMap', 'WeakReference',
        -            'Window', 'WindowAdapter', 'WindowConstants',
        -            'WindowEvent', 'WindowListener', 'WrappedPlainView',
        -            'WritableRaster', 'WritableRenderedImage',
        -            'WriteAbortedException', 'Writer',
        -            'WrongTransaction', 'WStringValueHelper',
        -            'X509Certificate', 'X509CRL', 'X509CRLEntry',
        -            'X509EncodedKeySpec', 'X509Extension', 'ZipEntry',
        -            'ZipException', 'ZipFile', 'ZipInputStream',
        -            'ZipOutputStream', 'ZoneView',
        -            '_BindingIteratorImplBase', '_BindingIteratorStub',
        -            '_IDLTypeStub', '_NamingContextImplBase',
        -            '_NamingContextStub', '_PolicyStub', '_Remote_Stub'
        -            ),
        -        4 => array(
        -            'void', 'double', 'int', 'boolean', 'byte', 'short', 'long', 'char', 'float'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}',
        -        '+', '-', '*', '/', '%',
        -        '!', '&', '|', '^',
        -        '<', '>', '=',
        -        '?', ':', ';',
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => true,
        -        4 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #000066; font-weight: bold;',
        -            3 => 'color: #003399;',
        -            4 => 'color: #000066; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #006699;',
        -            3 => 'color: #008000; font-style: italic; font-weight: bold;',
        -            3 => 'color: #008000; font-style: italic; font-weight: bold;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006633;',
        -            2 => 'color: #006633;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+{FNAMEL}',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/java5.php b/vendor/easybook/geshi/geshi/java5.php
        deleted file mode 100644
        index 5d74d98..0000000
        --- a/vendor/easybook/geshi/geshi/java5.php
        +++ /dev/null
        @@ -1,1035 +0,0 @@
        - 'Java(TM) 2 Platform Standard Edition 5.0',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Import and Package directives (Basic Support only)
        -        2 => '/(?:(?<=import[\\n\\s](?!static))|(?<=import[\\n\\s]static[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
        -        // javadoc comments
        -        3 => '#/\*\*(?![\*\/]).*\*/#sU'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            /* see the authoritative list of all 50 Java keywords at */
        -            /* http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#229308 */
        -
        -            /* java keywords, part 1: control flow */
        -            'case', 'default', 'do', 'else', 'for',
        -            'goto', 'if', 'switch', 'while'
        -
        -            /* IMO 'break', 'continue', 'return' and 'throw' */
        -                        /* should also be added to this group, as they   */
        -            /* also manage the control flow,                 */
        -            /* arguably 'try'/'catch'/'finally' as well      */
        -            ),
        -        2 => array(
        -            /* java keywords, part 2 */
        -
        -            'break', 'continue', 'return', 'throw',
        -            'try', 'catch', 'finally',
        -
        -            'abstract', 'assert', 'class', 'const', 'enum', 'extends',
        -            'final', 'implements', 'import', 'instanceof', 'interface',
        -            'native', 'new', 'package', 'private', 'protected',
        -            'public', 'static', 'strictfp', 'super', 'synchronized',
        -            'this', 'throws', 'transient', 'volatile'
        -            ),
        -        3 => array(
        -            /* Java keywords, part 3: primitive data types and 'void' */
        -            'boolean', 'byte', 'char', 'double',
        -            'float', 'int', 'long', 'short', 'void'
        -            ),
        -        4 => array(
        -            /* other reserved words in Java: literals */
        -            /* should be styled to look similar to numbers and Strings */
        -            'false', 'null', 'true'
        -            ),
        -        5 => array (
        -            'Applet', 'AppletContext', 'AppletStub', 'AudioClip'
        -            ),
        -        6 => array (
        -            'AWTError', 'AWTEvent', 'AWTEventMulticaster', 'AWTException', 'AWTKeyStroke', 'AWTPermission', 'ActiveEvent', 'Adjustable', 'AlphaComposite', 'BasicStroke', 'BorderLayout', 'BufferCapabilities', 'BufferCapabilities.FlipContents', 'Button', 'Canvas', 'CardLayout', 'Checkbox', 'CheckboxGroup', 'CheckboxMenuItem', 'Choice', 'Color', 'Component', 'ComponentOrientation', 'Composite', 'CompositeContext', 'Container', 'ContainerOrderFocusTraversalPolicy', 'Cursor', 'DefaultFocusTraversalPolicy', 'DefaultKeyboardFocusManager', 'Dialog', 'Dimension', 'DisplayMode', 'EventQueue', 'FileDialog', 'FlowLayout', 'FocusTraversalPolicy', 'Font', 'FontFormatException', 'FontMetrics', 'Frame', 'GradientPaint', 'Graphics', 'Graphics2D', 'GraphicsConfigTemplate', 'GraphicsConfiguration', 'GraphicsDevice', 'GraphicsEnvironment', 'GridBagConstraints', 'GridBagLayout', 'GridLayout', 'HeadlessException', 'IllegalComponentStateException', 'Image', 'ImageCapabilities', 'Insets', 'ItemSelectable', 'JobAttributes',
        -            'JobAttributes.DefaultSelectionType', 'JobAttributes.DestinationType', 'JobAttributes.DialogType', 'JobAttributes.MultipleDocumentHandlingType', 'JobAttributes.SidesType', 'KeyEventDispatcher', 'KeyEventPostProcessor', 'KeyboardFocusManager', 'Label', 'LayoutManager', 'LayoutManager2', 'MediaTracker', 'Menu', 'MenuBar', 'MenuComponent', 'MenuContainer', 'MenuItem', 'MenuShortcut', 'MouseInfo', 'PageAttributes', 'PageAttributes.ColorType', 'PageAttributes.MediaType', 'PageAttributes.OrientationRequestedType', 'PageAttributes.OriginType', 'PageAttributes.PrintQualityType', 'Paint', 'PaintContext', 'Panel', 'Point', 'PointerInfo', 'Polygon', 'PopupMenu', 'PrintGraphics', 'PrintJob', 'Rectangle', 'RenderingHints', 'RenderingHints.Key', 'Robot', 'ScrollPane', 'ScrollPaneAdjustable', 'Scrollbar', 'Shape', 'Stroke', 'SystemColor', 'TextArea', 'TextComponent', 'TextField', 'TexturePaint', 'Toolkit', 'Transparency', 'Window'
        -            ),
        -        7 => array (
        -            'CMMException', 'ColorSpace', 'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray', 'ICC_ProfileRGB', 'ProfileDataException'
        -            ),
        -        8 => array (
        -            'Clipboard', 'ClipboardOwner', 'DataFlavor', 'FlavorEvent', 'FlavorListener', 'FlavorMap', 'FlavorTable', 'MimeTypeParseException', 'StringSelection', 'SystemFlavorMap', 'Transferable', 'UnsupportedFlavorException'
        -            ),
        -        9 => array (
        -            'Autoscroll', 'DnDConstants', 'DragGestureEvent', 'DragGestureListener', 'DragGestureRecognizer', 'DragSource', 'DragSourceAdapter', 'DragSourceContext', 'DragSourceDragEvent', 'DragSourceDropEvent', 'DragSourceEvent', 'DragSourceListener', 'DragSourceMotionListener', 'DropTarget', 'DropTarget.DropTargetAutoScroller', 'DropTargetAdapter', 'DropTargetContext', 'DropTargetDragEvent', 'DropTargetDropEvent', 'DropTargetEvent', 'DropTargetListener', 'InvalidDnDOperationException', 'MouseDragGestureRecognizer'
        -            ),
        -        10 => array (
        -            'AWTEventListener', 'AWTEventListenerProxy', 'ActionEvent', 'ActionListener', 'AdjustmentEvent', 'AdjustmentListener', 'ComponentAdapter', 'ComponentEvent', 'ComponentListener', 'ContainerAdapter', 'ContainerEvent', 'ContainerListener', 'FocusAdapter', 'FocusEvent', 'FocusListener', 'HierarchyBoundsAdapter', 'HierarchyBoundsListener', 'HierarchyEvent', 'HierarchyListener', 'InputEvent', 'InputMethodEvent', 'InputMethodListener', 'InvocationEvent', 'ItemEvent', 'ItemListener', 'KeyAdapter', 'KeyEvent', 'KeyListener', 'MouseAdapter', 'MouseListener', 'MouseMotionAdapter', 'MouseMotionListener', 'MouseWheelEvent', 'MouseWheelListener', 'PaintEvent', 'TextEvent', 'TextListener', 'WindowAdapter', 'WindowEvent', 'WindowFocusListener', 'WindowListener', 'WindowStateListener'
        -            ),
        -        11 => array (
        -            'FontRenderContext', 'GlyphJustificationInfo', 'GlyphMetrics', 'GlyphVector', 'GraphicAttribute', 'ImageGraphicAttribute', 'LineBreakMeasurer', 'LineMetrics', 'MultipleMaster', 'NumericShaper', 'ShapeGraphicAttribute', 'TextAttribute', 'TextHitInfo', 'TextLayout', 'TextLayout.CaretPolicy', 'TextMeasurer', 'TransformAttribute'
        -            ),
        -        12 => array (
        -            'AffineTransform', 'Arc2D', 'Arc2D.Double', 'Arc2D.Float', 'Area', 'CubicCurve2D', 'CubicCurve2D.Double', 'CubicCurve2D.Float', 'Dimension2D', 'Ellipse2D', 'Ellipse2D.Double', 'Ellipse2D.Float', 'FlatteningPathIterator', 'GeneralPath', 'IllegalPathStateException', 'Line2D', 'Line2D.Double', 'Line2D.Float', 'NoninvertibleTransformException', 'PathIterator', 'Point2D', 'Point2D.Double', 'Point2D.Float', 'QuadCurve2D', 'QuadCurve2D.Double', 'QuadCurve2D.Float', 'Rectangle2D', 'Rectangle2D.Double', 'Rectangle2D.Float', 'RectangularShape', 'RoundRectangle2D', 'RoundRectangle2D.Double', 'RoundRectangle2D.Float'
        -            ),
        -        13 => array (
        -            'InputContext', 'InputMethodHighlight', 'InputMethodRequests', 'InputSubset'
        -            ),
        -        14 => array (
        -            'InputMethod', 'InputMethodContext', 'InputMethodDescriptor'
        -            ),
        -        15 => array (
        -            'AffineTransformOp', 'AreaAveragingScaleFilter', 'BandCombineOp', 'BandedSampleModel', 'BufferStrategy', 'BufferedImage', 'BufferedImageFilter', 'BufferedImageOp', 'ByteLookupTable', 'ColorConvertOp', 'ColorModel', 'ComponentColorModel', 'ComponentSampleModel', 'ConvolveOp', 'CropImageFilter', 'DataBuffer', 'DataBufferByte', 'DataBufferDouble', 'DataBufferFloat', 'DataBufferInt', 'DataBufferShort', 'DataBufferUShort', 'DirectColorModel', 'FilteredImageSource', 'ImageConsumer', 'ImageFilter', 'ImageObserver', 'ImageProducer', 'ImagingOpException', 'IndexColorModel', 'Kernel', 'LookupOp', 'LookupTable', 'MemoryImageSource', 'MultiPixelPackedSampleModel', 'PackedColorModel', 'PixelGrabber', 'PixelInterleavedSampleModel', 'RGBImageFilter', 'Raster', 'RasterFormatException', 'RasterOp', 'RenderedImage', 'ReplicateScaleFilter', 'RescaleOp', 'SampleModel', 'ShortLookupTable', 'SinglePixelPackedSampleModel', 'TileObserver', 'VolatileImage', 'WritableRaster', 'WritableRenderedImage'
        -            ),
        -        16 => array (
        -            'ContextualRenderedImageFactory', 'ParameterBlock', 'RenderContext', 'RenderableImage', 'RenderableImageOp', 'RenderableImageProducer', 'RenderedImageFactory'
        -            ),
        -        17 => array (
        -            'Book', 'PageFormat', 'Pageable', 'Paper', 'Printable', 'PrinterAbortException', 'PrinterException', 'PrinterGraphics', 'PrinterIOException', 'PrinterJob'
        -            ),
        -        18 => array (
        -            'AppletInitializer', 'BeanDescriptor', 'BeanInfo', 'Beans', 'Customizer', 'DefaultPersistenceDelegate', 'DesignMode', 'Encoder', 'EventHandler', 'EventSetDescriptor', 'ExceptionListener', 'Expression', 'FeatureDescriptor', 'IndexedPropertyChangeEvent', 'IndexedPropertyDescriptor', 'Introspector', 'MethodDescriptor', 'ParameterDescriptor', 'PersistenceDelegate', 'PropertyChangeEvent', 'PropertyChangeListener', 'PropertyChangeListenerProxy', 'PropertyChangeSupport', 'PropertyDescriptor', 'PropertyEditor', 'PropertyEditorManager', 'PropertyEditorSupport', 'PropertyVetoException', 'SimpleBeanInfo', 'VetoableChangeListener', 'VetoableChangeListenerProxy', 'VetoableChangeSupport', 'Visibility', 'XMLDecoder', 'XMLEncoder'
        -            ),
        -        19 => array (
        -            'BeanContext', 'BeanContextChild', 'BeanContextChildComponentProxy', 'BeanContextChildSupport', 'BeanContextContainerProxy', 'BeanContextEvent', 'BeanContextMembershipEvent', 'BeanContextMembershipListener', 'BeanContextProxy', 'BeanContextServiceAvailableEvent', 'BeanContextServiceProvider', 'BeanContextServiceProviderBeanInfo', 'BeanContextServiceRevokedEvent', 'BeanContextServiceRevokedListener', 'BeanContextServices', 'BeanContextServicesListener', 'BeanContextServicesSupport', 'BeanContextServicesSupport.BCSSServiceProvider', 'BeanContextSupport', 'BeanContextSupport.BCSIterator'
        -            ),
        -        20 => array (
        -            'BufferedInputStream', 'BufferedOutputStream', 'BufferedReader', 'BufferedWriter', 'ByteArrayInputStream', 'ByteArrayOutputStream', 'CharArrayReader', 'CharArrayWriter', 'CharConversionException', 'Closeable', 'DataInput', 'DataOutput', 'EOFException', 'Externalizable', 'File', 'FileDescriptor', 'FileInputStream', 'FileNotFoundException', 'FileOutputStream', 'FilePermission', 'FileReader', 'FileWriter', 'FilenameFilter', 'FilterInputStream', 'FilterOutputStream', 'FilterReader', 'FilterWriter', 'Flushable', 'IOException', 'InputStreamReader', 'InterruptedIOException', 'InvalidClassException', 'InvalidObjectException', 'LineNumberInputStream', 'LineNumberReader', 'NotActiveException', 'NotSerializableException', 'ObjectInput', 'ObjectInputStream', 'ObjectInputStream.GetField', 'ObjectInputValidation', 'ObjectOutput', 'ObjectOutputStream', 'ObjectOutputStream.PutField', 'ObjectStreamClass', 'ObjectStreamConstants', 'ObjectStreamException', 'ObjectStreamField', 'OptionalDataException', 'OutputStreamWriter',
        -            'PipedInputStream', 'PipedOutputStream', 'PipedReader', 'PipedWriter', 'PrintStream', 'PrintWriter', 'PushbackInputStream', 'PushbackReader', 'RandomAccessFile', 'Reader', 'SequenceInputStream', 'Serializable', 'SerializablePermission', 'StreamCorruptedException', 'StreamTokenizer', 'StringBufferInputStream', 'StringReader', 'StringWriter', 'SyncFailedException', 'UTFDataFormatException', 'UnsupportedEncodingException', 'WriteAbortedException', 'Writer'
        -            ),
        -        21 => array (
        -            'AbstractMethodError', 'Appendable', 'ArithmeticException', 'ArrayIndexOutOfBoundsException', 'ArrayStoreException', 'AssertionError', 'Boolean', 'Byte', 'CharSequence', 'Character', 'Character.Subset', 'Character.UnicodeBlock', 'Class', 'ClassCastException', 'ClassCircularityError', 'ClassFormatError', 'ClassLoader', 'ClassNotFoundException', 'CloneNotSupportedException', 'Cloneable', 'Comparable', 'Compiler', 'Deprecated', 'Double', 'Enum', 'EnumConstantNotPresentException', 'Error', 'Exception', 'ExceptionInInitializerError', 'Float', 'IllegalAccessError', 'IllegalAccessException', 'IllegalArgumentException', 'IllegalMonitorStateException', 'IllegalStateException', 'IllegalThreadStateException', 'IncompatibleClassChangeError', 'IndexOutOfBoundsException', 'InheritableThreadLocal', 'InstantiationError', 'InstantiationException', 'Integer', 'InternalError', 'InterruptedException', 'Iterable', 'LinkageError', 'Long', 'Math', 'NegativeArraySizeException', 'NoClassDefFoundError', 'NoSuchFieldError',
        -            'NoSuchFieldException', 'NoSuchMethodError', 'NoSuchMethodException', 'NullPointerException', 'Number', 'NumberFormatException', 'OutOfMemoryError', 'Override', 'Package', 'Process', 'ProcessBuilder', 'Readable', 'Runnable', 'Runtime', 'RuntimeException', 'RuntimePermission', 'SecurityException', 'SecurityManager', 'Short', 'StackOverflowError', 'StackTraceElement', 'StrictMath', 'String', 'StringBuffer', 'StringBuilder', 'StringIndexOutOfBoundsException', 'SuppressWarnings', 'System', 'Thread', 'Thread.State', 'Thread.UncaughtExceptionHandler', 'ThreadDeath', 'ThreadGroup', 'ThreadLocal', 'Throwable', 'TypeNotPresentException', 'UnknownError', 'UnsatisfiedLinkError', 'UnsupportedClassVersionError', 'UnsupportedOperationException', 'VerifyError', 'VirtualMachineError', 'Void'
        -            ),
        -        22 => array (
        -            'AnnotationFormatError', 'AnnotationTypeMismatchException', 'Documented', 'ElementType', 'IncompleteAnnotationException', 'Inherited', 'Retention', 'RetentionPolicy', 'Target'
        -            ),
        -        23 => array (
        -            'ClassDefinition', 'ClassFileTransformer', 'IllegalClassFormatException', 'Instrumentation', 'UnmodifiableClassException'
        -            ),
        -        24 => array (
        -            'ClassLoadingMXBean', 'CompilationMXBean', 'GarbageCollectorMXBean', 'ManagementFactory', 'ManagementPermission', 'MemoryMXBean', 'MemoryManagerMXBean', 'MemoryNotificationInfo', 'MemoryPoolMXBean', 'MemoryType', 'MemoryUsage', 'OperatingSystemMXBean', 'RuntimeMXBean', 'ThreadInfo', 'ThreadMXBean'
        -            ),
        -        25 => array (
        -            'PhantomReference', 'ReferenceQueue', 'SoftReference', 'WeakReference'
        -            ),
        -        26 => array (
        -            'AccessibleObject', 'AnnotatedElement', 'Constructor', 'Field', 'GenericArrayType', 'GenericDeclaration', 'GenericSignatureFormatError', 'InvocationHandler', 'InvocationTargetException', 'MalformedParameterizedTypeException', 'Member', 'Method', 'Modifier', 'ParameterizedType', 'ReflectPermission', 'Type', 'TypeVariable', 'UndeclaredThrowableException', 'WildcardType'
        -            ),
        -        27 => array (
        -            'BigDecimal', 'BigInteger', 'MathContext', 'RoundingMode'
        -            ),
        -        28 => array (
        -            'Authenticator', 'Authenticator.RequestorType', 'BindException', 'CacheRequest', 'CacheResponse', 'ContentHandlerFactory', 'CookieHandler', 'DatagramPacket', 'DatagramSocket', 'DatagramSocketImpl', 'DatagramSocketImplFactory', 'FileNameMap', 'HttpRetryException', 'HttpURLConnection', 'Inet4Address', 'Inet6Address', 'InetAddress', 'InetSocketAddress', 'JarURLConnection', 'MalformedURLException', 'MulticastSocket', 'NetPermission', 'NetworkInterface', 'NoRouteToHostException', 'PasswordAuthentication', 'PortUnreachableException', 'ProtocolException', 'Proxy.Type', 'ProxySelector', 'ResponseCache', 'SecureCacheResponse', 'ServerSocket', 'Socket', 'SocketAddress', 'SocketException', 'SocketImpl', 'SocketImplFactory', 'SocketOptions', 'SocketPermission', 'SocketTimeoutException', 'URI', 'URISyntaxException', 'URL', 'URLClassLoader', 'URLConnection', 'URLDecoder', 'URLEncoder', 'URLStreamHandler', 'URLStreamHandlerFactory', 'UnknownServiceException'
        -            ),
        -        29 => array (
        -            'Buffer', 'BufferOverflowException', 'BufferUnderflowException', 'ByteBuffer', 'ByteOrder', 'CharBuffer', 'DoubleBuffer', 'FloatBuffer', 'IntBuffer', 'InvalidMarkException', 'LongBuffer', 'MappedByteBuffer', 'ReadOnlyBufferException', 'ShortBuffer'
        -            ),
        -        30 => array (
        -            'AlreadyConnectedException', 'AsynchronousCloseException', 'ByteChannel', 'CancelledKeyException', 'Channel', 'Channels', 'ClosedByInterruptException', 'ClosedChannelException', 'ClosedSelectorException', 'ConnectionPendingException', 'DatagramChannel', 'FileChannel', 'FileChannel.MapMode', 'FileLock', 'FileLockInterruptionException', 'GatheringByteChannel', 'IllegalBlockingModeException', 'IllegalSelectorException', 'InterruptibleChannel', 'NoConnectionPendingException', 'NonReadableChannelException', 'NonWritableChannelException', 'NotYetBoundException', 'NotYetConnectedException', 'OverlappingFileLockException', 'Pipe', 'Pipe.SinkChannel', 'Pipe.SourceChannel', 'ReadableByteChannel', 'ScatteringByteChannel', 'SelectableChannel', 'SelectionKey', 'Selector', 'ServerSocketChannel', 'SocketChannel', 'UnresolvedAddressException', 'UnsupportedAddressTypeException', 'WritableByteChannel'
        -            ),
        -        31 => array (
        -            'AbstractInterruptibleChannel', 'AbstractSelectableChannel', 'AbstractSelectionKey', 'AbstractSelector', 'SelectorProvider'
        -            ),
        -        32 => array (
        -            'CharacterCodingException', 'Charset', 'CharsetDecoder', 'CharsetEncoder', 'CoderMalfunctionError', 'CoderResult', 'CodingErrorAction', 'IllegalCharsetNameException', 'MalformedInputException', 'UnmappableCharacterException', 'UnsupportedCharsetException'
        -            ),
        -        33 => array (
        -            'CharsetProvider'
        -            ),
        -        34 => array (
        -            'AccessException', 'AlreadyBoundException', 'ConnectIOException', 'MarshalException', 'MarshalledObject', 'Naming', 'NoSuchObjectException', 'NotBoundException', 'RMISecurityException', 'RMISecurityManager', 'Remote', 'RemoteException', 'ServerError', 'ServerException', 'ServerRuntimeException', 'StubNotFoundException', 'UnexpectedException', 'UnmarshalException'
        -            ),
        -        35 => array (
        -            'Activatable', 'ActivateFailedException', 'ActivationDesc', 'ActivationException', 'ActivationGroup', 'ActivationGroupDesc', 'ActivationGroupDesc.CommandEnvironment', 'ActivationGroupID', 'ActivationGroup_Stub', 'ActivationID', 'ActivationInstantiator', 'ActivationMonitor', 'ActivationSystem', 'Activator', 'UnknownGroupException', 'UnknownObjectException'
        -            ),
        -        36 => array (
        -            'DGC', 'Lease', 'VMID'
        -            ),
        -        37 => array (
        -            'LocateRegistry', 'Registry', 'RegistryHandler'
        -            ),
        -        38 => array (
        -            'ExportException', 'LoaderHandler', 'LogStream', 'ObjID', 'Operation', 'RMIClassLoader', 'RMIClassLoaderSpi', 'RMIClientSocketFactory', 'RMIFailureHandler', 'RMIServerSocketFactory', 'RMISocketFactory', 'RemoteCall', 'RemoteObject', 'RemoteObjectInvocationHandler', 'RemoteRef', 'RemoteServer', 'RemoteStub', 'ServerCloneException', 'ServerNotActiveException', 'ServerRef', 'Skeleton', 'SkeletonMismatchException', 'SkeletonNotFoundException', 'SocketSecurityException', 'UID', 'UnicastRemoteObject', 'Unreferenced'
        -            ),
        -        39 => array (
        -            'AccessControlContext', 'AccessControlException', 'AccessController', 'AlgorithmParameterGenerator', 'AlgorithmParameterGeneratorSpi', 'AlgorithmParameters', 'AlgorithmParametersSpi', 'AllPermission', 'AuthProvider', 'BasicPermission', 'CodeSigner', 'CodeSource', 'DigestException', 'DigestInputStream', 'DigestOutputStream', 'DomainCombiner', 'GeneralSecurityException', 'Guard', 'GuardedObject', 'Identity', 'IdentityScope', 'InvalidAlgorithmParameterException', 'InvalidParameterException', 'Key', 'KeyException', 'KeyFactory', 'KeyFactorySpi', 'KeyManagementException', 'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi', 'KeyRep', 'KeyRep.Type', 'KeyStore', 'KeyStore.Builder', 'KeyStore.CallbackHandlerProtection', 'KeyStore.Entry', 'KeyStore.LoadStoreParameter', 'KeyStore.PasswordProtection', 'KeyStore.PrivateKeyEntry', 'KeyStore.ProtectionParameter', 'KeyStore.SecretKeyEntry', 'KeyStore.TrustedCertificateEntry', 'KeyStoreException', 'KeyStoreSpi', 'MessageDigest', 'MessageDigestSpi',
        -            'NoSuchAlgorithmException', 'NoSuchProviderException', 'PermissionCollection', 'Permissions', 'PrivateKey', 'PrivilegedAction', 'PrivilegedActionException', 'PrivilegedExceptionAction', 'ProtectionDomain', 'Provider', 'Provider.Service', 'ProviderException', 'PublicKey', 'SecureClassLoader', 'SecureRandom', 'SecureRandomSpi', 'Security', 'SecurityPermission', 'Signature', 'SignatureException', 'SignatureSpi', 'SignedObject', 'Signer', 'UnrecoverableEntryException', 'UnrecoverableKeyException', 'UnresolvedPermission'
        -            ),
        -        40 => array (
        -            'Acl', 'AclEntry', 'AclNotFoundException', 'Group', 'LastOwnerException', 'NotOwnerException', 'Owner'
        -            ),
        -        41 => array (
        -            'CRL', 'CRLException', 'CRLSelector', 'CertPath', 'CertPath.CertPathRep', 'CertPathBuilder', 'CertPathBuilderException', 'CertPathBuilderResult', 'CertPathBuilderSpi', 'CertPathParameters', 'CertPathValidator', 'CertPathValidatorException', 'CertPathValidatorResult', 'CertPathValidatorSpi', 'CertSelector', 'CertStore', 'CertStoreException', 'CertStoreParameters', 'CertStoreSpi', 'Certificate.CertificateRep', 'CertificateFactory', 'CertificateFactorySpi', 'CollectionCertStoreParameters', 'LDAPCertStoreParameters', 'PKIXBuilderParameters', 'PKIXCertPathBuilderResult', 'PKIXCertPathChecker', 'PKIXCertPathValidatorResult', 'PKIXParameters', 'PolicyNode', 'PolicyQualifierInfo', 'TrustAnchor', 'X509CRL', 'X509CRLEntry', 'X509CRLSelector', 'X509CertSelector', 'X509Extension'
        -            ),
        -        42 => array (
        -            'DSAKey', 'DSAKeyPairGenerator', 'DSAParams', 'DSAPrivateKey', 'DSAPublicKey', 'ECKey', 'ECPrivateKey', 'ECPublicKey', 'RSAKey', 'RSAMultiPrimePrivateCrtKey', 'RSAPrivateCrtKey', 'RSAPrivateKey', 'RSAPublicKey'
        -            ),
        -        43 => array (
        -            'AlgorithmParameterSpec', 'DSAParameterSpec', 'DSAPrivateKeySpec', 'DSAPublicKeySpec', 'ECField', 'ECFieldF2m', 'ECFieldFp', 'ECGenParameterSpec', 'ECParameterSpec', 'ECPoint', 'ECPrivateKeySpec', 'ECPublicKeySpec', 'EllipticCurve', 'EncodedKeySpec', 'InvalidKeySpecException', 'InvalidParameterSpecException', 'KeySpec', 'MGF1ParameterSpec', 'PKCS8EncodedKeySpec', 'PSSParameterSpec', 'RSAKeyGenParameterSpec', 'RSAMultiPrimePrivateCrtKeySpec', 'RSAOtherPrimeInfo', 'RSAPrivateCrtKeySpec', 'RSAPrivateKeySpec', 'RSAPublicKeySpec', 'X509EncodedKeySpec'
        -            ),
        -        44 => array (
        -            'BatchUpdateException', 'Blob', 'CallableStatement', 'Clob', 'Connection', 'DataTruncation', 'DatabaseMetaData', 'Driver', 'DriverManager', 'DriverPropertyInfo', 'ParameterMetaData', 'PreparedStatement', 'Ref', 'ResultSet', 'ResultSetMetaData', 'SQLData', 'SQLException', 'SQLInput', 'SQLOutput', 'SQLPermission', 'SQLWarning', 'Savepoint', 'Struct', 'Time', 'Types'
        -            ),
        -        45 => array (
        -            'AttributedCharacterIterator', 'AttributedCharacterIterator.Attribute', 'AttributedString', 'Bidi', 'BreakIterator', 'CharacterIterator', 'ChoiceFormat', 'CollationElementIterator', 'CollationKey', 'Collator', 'DateFormat', 'DateFormat.Field', 'DateFormatSymbols', 'DecimalFormat', 'DecimalFormatSymbols', 'FieldPosition', 'Format', 'Format.Field', 'MessageFormat', 'MessageFormat.Field', 'NumberFormat', 'NumberFormat.Field', 'ParseException', 'ParsePosition', 'RuleBasedCollator', 'SimpleDateFormat', 'StringCharacterIterator'
        -            ),
        -        46 => array (
        -            'AbstractCollection', 'AbstractList', 'AbstractMap', 'AbstractQueue', 'AbstractSequentialList', 'AbstractSet', 'ArrayList', 'Arrays', 'BitSet', 'Calendar', 'Collection', 'Collections', 'Comparator', 'ConcurrentModificationException', 'Currency', 'Dictionary', 'DuplicateFormatFlagsException', 'EmptyStackException', 'EnumMap', 'EnumSet', 'Enumeration', 'EventListenerProxy', 'EventObject', 'FormatFlagsConversionMismatchException', 'Formattable', 'FormattableFlags', 'Formatter.BigDecimalLayoutForm', 'FormatterClosedException', 'GregorianCalendar', 'HashMap', 'HashSet', 'Hashtable', 'IdentityHashMap', 'IllegalFormatCodePointException', 'IllegalFormatConversionException', 'IllegalFormatException', 'IllegalFormatFlagsException', 'IllegalFormatPrecisionException', 'IllegalFormatWidthException', 'InputMismatchException', 'InvalidPropertiesFormatException', 'Iterator', 'LinkedHashMap', 'LinkedHashSet', 'LinkedList', 'ListIterator', 'ListResourceBundle', 'Locale', 'Map', 'Map.Entry', 'MissingFormatArgumentException',
        -            'MissingFormatWidthException', 'MissingResourceException', 'NoSuchElementException', 'Observable', 'Observer', 'PriorityQueue', 'Properties', 'PropertyPermission', 'PropertyResourceBundle', 'Queue', 'Random', 'RandomAccess', 'ResourceBundle', 'Scanner', 'Set', 'SimpleTimeZone', 'SortedMap', 'SortedSet', 'Stack', 'StringTokenizer', 'TimeZone', 'TimerTask', 'TooManyListenersException', 'TreeMap', 'TreeSet', 'UUID', 'UnknownFormatConversionException', 'UnknownFormatFlagsException', 'Vector', 'WeakHashMap'
        -            ),
        -        47 => array (
        -            'AbstractExecutorService', 'ArrayBlockingQueue', 'BlockingQueue', 'BrokenBarrierException', 'Callable', 'CancellationException', 'CompletionService', 'ConcurrentHashMap', 'ConcurrentLinkedQueue', 'ConcurrentMap', 'CopyOnWriteArrayList', 'CopyOnWriteArraySet', 'CountDownLatch', 'CyclicBarrier', 'DelayQueue', 'Delayed', 'Exchanger', 'ExecutionException', 'Executor', 'ExecutorCompletionService', 'ExecutorService', 'Executors', 'Future', 'FutureTask', 'LinkedBlockingQueue', 'PriorityBlockingQueue', 'RejectedExecutionException', 'RejectedExecutionHandler', 'ScheduledExecutorService', 'ScheduledFuture', 'ScheduledThreadPoolExecutor', 'Semaphore', 'SynchronousQueue', 'ThreadFactory', 'ThreadPoolExecutor', 'ThreadPoolExecutor.AbortPolicy', 'ThreadPoolExecutor.CallerRunsPolicy', 'ThreadPoolExecutor.DiscardOldestPolicy', 'ThreadPoolExecutor.DiscardPolicy', 'TimeUnit', 'TimeoutException'
        -            ),
        -        48 => array (
        -            'AtomicBoolean', 'AtomicInteger', 'AtomicIntegerArray', 'AtomicIntegerFieldUpdater', 'AtomicLong', 'AtomicLongArray', 'AtomicLongFieldUpdater', 'AtomicMarkableReference', 'AtomicReference', 'AtomicReferenceArray', 'AtomicReferenceFieldUpdater', 'AtomicStampedReference'
        -            ),
        -        49 => array (
        -            'AbstractQueuedSynchronizer', 'Condition', 'Lock', 'LockSupport', 'ReadWriteLock', 'ReentrantLock', 'ReentrantReadWriteLock', 'ReentrantReadWriteLock.ReadLock', 'ReentrantReadWriteLock.WriteLock'
        -            ),
        -        50 => array (
        -            'Attributes.Name', 'JarEntry', 'JarException', 'JarFile', 'JarInputStream', 'JarOutputStream', 'Manifest', 'Pack200', 'Pack200.Packer', 'Pack200.Unpacker'
        -            ),
        -        51 => array (
        -            'ConsoleHandler', 'ErrorManager', 'FileHandler', 'Filter', 'Handler', 'Level', 'LogManager', 'LogRecord', 'Logger', 'LoggingMXBean', 'LoggingPermission', 'MemoryHandler', 'SimpleFormatter', 'SocketHandler', 'StreamHandler', 'XMLFormatter'
        -            ),
        -        52 => array (
        -            'AbstractPreferences', 'BackingStoreException', 'InvalidPreferencesFormatException', 'NodeChangeEvent', 'NodeChangeListener', 'PreferenceChangeEvent', 'PreferenceChangeListener', 'Preferences', 'PreferencesFactory'
        -            ),
        -        53 => array (
        -            'MatchResult', 'Matcher', 'Pattern', 'PatternSyntaxException'
        -            ),
        -        54 => array (
        -            'Adler32', 'CRC32', 'CheckedInputStream', 'CheckedOutputStream', 'Checksum', 'DataFormatException', 'Deflater', 'DeflaterOutputStream', 'GZIPInputStream', 'GZIPOutputStream', 'Inflater', 'InflaterInputStream', 'ZipEntry', 'ZipException', 'ZipFile', 'ZipInputStream', 'ZipOutputStream'
        -            ),
        -        55 => array (
        -            'Accessible', 'AccessibleAction', 'AccessibleAttributeSequence', 'AccessibleBundle', 'AccessibleComponent', 'AccessibleContext', 'AccessibleEditableText', 'AccessibleExtendedComponent', 'AccessibleExtendedTable', 'AccessibleExtendedText', 'AccessibleHyperlink', 'AccessibleHypertext', 'AccessibleIcon', 'AccessibleKeyBinding', 'AccessibleRelation', 'AccessibleRelationSet', 'AccessibleResourceBundle', 'AccessibleRole', 'AccessibleSelection', 'AccessibleState', 'AccessibleStateSet', 'AccessibleStreamable', 'AccessibleTable', 'AccessibleTableModelChange', 'AccessibleText', 'AccessibleTextSequence', 'AccessibleValue'
        -            ),
        -        56 => array (
        -            'ActivityCompletedException', 'ActivityRequiredException', 'InvalidActivityException'
        -            ),
        -        57 => array (
        -            'BadPaddingException', 'Cipher', 'CipherInputStream', 'CipherOutputStream', 'CipherSpi', 'EncryptedPrivateKeyInfo', 'ExemptionMechanism', 'ExemptionMechanismException', 'ExemptionMechanismSpi', 'IllegalBlockSizeException', 'KeyAgreement', 'KeyAgreementSpi', 'KeyGenerator', 'KeyGeneratorSpi', 'Mac', 'MacSpi', 'NoSuchPaddingException', 'NullCipher', 'SealedObject', 'SecretKey', 'SecretKeyFactory', 'SecretKeyFactorySpi', 'ShortBufferException'
        -            ),
        -        58 => array (
        -            'DHKey', 'DHPrivateKey', 'DHPublicKey', 'PBEKey'
        -            ),
        -        59 => array (
        -            'DESKeySpec', 'DESedeKeySpec', 'DHGenParameterSpec', 'DHParameterSpec', 'DHPrivateKeySpec', 'DHPublicKeySpec', 'IvParameterSpec', 'OAEPParameterSpec', 'PBEKeySpec', 'PBEParameterSpec', 'PSource', 'PSource.PSpecified', 'RC2ParameterSpec', 'RC5ParameterSpec', 'SecretKeySpec'
        -            ),
        -        60 => array (
        -            'IIOException', 'IIOImage', 'IIOParam', 'IIOParamController', 'ImageIO', 'ImageReadParam', 'ImageReader', 'ImageTranscoder', 'ImageTypeSpecifier', 'ImageWriteParam', 'ImageWriter'
        -            ),
        -        61 => array (
        -            'IIOReadProgressListener', 'IIOReadUpdateListener', 'IIOReadWarningListener', 'IIOWriteProgressListener', 'IIOWriteWarningListener'
        -            ),
        -        62 => array (
        -            'IIOInvalidTreeException', 'IIOMetadata', 'IIOMetadataController', 'IIOMetadataFormat', 'IIOMetadataFormatImpl', 'IIOMetadataNode'
        -            ),
        -        63 => array (
        -            'BMPImageWriteParam'
        -            ),
        -        64 => array (
        -            'JPEGHuffmanTable', 'JPEGImageReadParam', 'JPEGImageWriteParam', 'JPEGQTable'
        -            ),
        -        65 => array (
        -            'IIORegistry', 'IIOServiceProvider', 'ImageInputStreamSpi', 'ImageOutputStreamSpi', 'ImageReaderSpi', 'ImageReaderWriterSpi', 'ImageTranscoderSpi', 'ImageWriterSpi', 'RegisterableService', 'ServiceRegistry', 'ServiceRegistry.Filter'
        -            ),
        -        66 => array (
        -            'FileCacheImageInputStream', 'FileCacheImageOutputStream', 'FileImageInputStream', 'FileImageOutputStream', 'IIOByteBuffer', 'ImageInputStream', 'ImageInputStreamImpl', 'ImageOutputStream', 'ImageOutputStreamImpl', 'MemoryCacheImageInputStream', 'MemoryCacheImageOutputStream'
        -            ),
        -        67 => array (
        -            'AttributeChangeNotification', 'AttributeChangeNotificationFilter', 'AttributeNotFoundException', 'AttributeValueExp', 'BadAttributeValueExpException', 'BadBinaryOpValueExpException', 'BadStringOperationException', 'Descriptor', 'DescriptorAccess', 'DynamicMBean', 'InstanceAlreadyExistsException', 'InstanceNotFoundException', 'InvalidApplicationException', 'JMException', 'JMRuntimeException', 'ListenerNotFoundException', 'MBeanAttributeInfo', 'MBeanConstructorInfo', 'MBeanException', 'MBeanFeatureInfo', 'MBeanInfo', 'MBeanNotificationInfo', 'MBeanOperationInfo', 'MBeanParameterInfo', 'MBeanPermission', 'MBeanRegistration', 'MBeanRegistrationException', 'MBeanServer', 'MBeanServerBuilder', 'MBeanServerConnection', 'MBeanServerDelegate', 'MBeanServerDelegateMBean', 'MBeanServerFactory', 'MBeanServerInvocationHandler', 'MBeanServerNotification', 'MBeanServerPermission', 'MBeanTrustPermission', 'MalformedObjectNameException', 'NotCompliantMBeanException', 'Notification', 'NotificationBroadcaster',
        -            'NotificationBroadcasterSupport', 'NotificationEmitter', 'NotificationFilter', 'NotificationFilterSupport', 'NotificationListener', 'ObjectInstance', 'ObjectName', 'OperationsException', 'PersistentMBean', 'Query', 'QueryEval', 'QueryExp', 'ReflectionException', 'RuntimeErrorException', 'RuntimeMBeanException', 'RuntimeOperationsException', 'ServiceNotFoundException', 'StandardMBean', 'StringValueExp', 'ValueExp'
        -            ),
        -        68 => array (
        -            'ClassLoaderRepository', 'MLet', 'MLetMBean', 'PrivateClassLoader', 'PrivateMLet'
        -            ),
        -        69 => array (
        -            'DescriptorSupport', 'InvalidTargetObjectTypeException', 'ModelMBean', 'ModelMBeanAttributeInfo', 'ModelMBeanConstructorInfo', 'ModelMBeanInfo', 'ModelMBeanInfoSupport', 'ModelMBeanNotificationBroadcaster', 'ModelMBeanNotificationInfo', 'ModelMBeanOperationInfo', 'RequiredModelMBean', 'XMLParseException'
        -            ),
        -        70 => array (
        -            'CounterMonitor', 'CounterMonitorMBean', 'GaugeMonitor', 'GaugeMonitorMBean', 'Monitor', 'MonitorMBean', 'MonitorNotification', 'MonitorSettingException', 'StringMonitor', 'StringMonitorMBean'
        -            ),
        -        71 => array (
        -            'ArrayType', 'CompositeData', 'CompositeDataSupport', 'CompositeType', 'InvalidOpenTypeException', 'KeyAlreadyExistsException', 'OpenDataException', 'OpenMBeanAttributeInfo', 'OpenMBeanAttributeInfoSupport', 'OpenMBeanConstructorInfo', 'OpenMBeanConstructorInfoSupport', 'OpenMBeanInfo', 'OpenMBeanInfoSupport', 'OpenMBeanOperationInfo', 'OpenMBeanOperationInfoSupport', 'OpenMBeanParameterInfo', 'OpenMBeanParameterInfoSupport', 'SimpleType', 'TabularData', 'TabularDataSupport', 'TabularType'
        -            ),
        -        72 => array (
        -            'InvalidRelationIdException', 'InvalidRelationServiceException', 'InvalidRelationTypeException', 'InvalidRoleInfoException', 'InvalidRoleValueException', 'MBeanServerNotificationFilter', 'Relation', 'RelationException', 'RelationNotFoundException', 'RelationNotification', 'RelationService', 'RelationServiceMBean', 'RelationServiceNotRegisteredException', 'RelationSupport', 'RelationSupportMBean', 'RelationType', 'RelationTypeNotFoundException', 'RelationTypeSupport', 'Role', 'RoleInfo', 'RoleInfoNotFoundException', 'RoleList', 'RoleNotFoundException', 'RoleResult', 'RoleStatus', 'RoleUnresolved', 'RoleUnresolvedList'
        -            ),
        -        73 => array (
        -            'JMXAuthenticator', 'JMXConnectionNotification', 'JMXConnector', 'JMXConnectorFactory', 'JMXConnectorProvider', 'JMXConnectorServer', 'JMXConnectorServerFactory', 'JMXConnectorServerMBean', 'JMXConnectorServerProvider', 'JMXPrincipal', 'JMXProviderException', 'JMXServerErrorException', 'JMXServiceURL', 'MBeanServerForwarder', 'NotificationResult', 'SubjectDelegationPermission', 'TargetedNotification'
        -            ),
        -        74 => array (
        -            'RMIConnection', 'RMIConnectionImpl', 'RMIConnectionImpl_Stub', 'RMIConnector', 'RMIConnectorServer', 'RMIIIOPServerImpl', 'RMIJRMPServerImpl', 'RMIServer', 'RMIServerImpl', 'RMIServerImpl_Stub'
        -            ),
        -        75 => array (
        -            'TimerAlarmClockNotification', 'TimerMBean', 'TimerNotification'
        -            ),
        -        76 => array (
        -            'AuthenticationNotSupportedException', 'BinaryRefAddr', 'CannotProceedException', 'CommunicationException', 'CompositeName', 'CompoundName', 'ConfigurationException', 'ContextNotEmptyException', 'InitialContext', 'InsufficientResourcesException', 'InterruptedNamingException', 'InvalidNameException', 'LimitExceededException', 'LinkException', 'LinkLoopException', 'LinkRef', 'MalformedLinkException', 'Name', 'NameAlreadyBoundException', 'NameClassPair', 'NameNotFoundException', 'NameParser', 'NamingEnumeration', 'NamingException', 'NamingSecurityException', 'NoInitialContextException', 'NoPermissionException', 'NotContextException', 'OperationNotSupportedException', 'PartialResultException', 'RefAddr', 'Referenceable', 'ReferralException', 'ServiceUnavailableException', 'SizeLimitExceededException', 'StringRefAddr', 'TimeLimitExceededException'
        -            ),
        -        77 => array (
        -            'AttributeInUseException', 'AttributeModificationException', 'BasicAttribute', 'BasicAttributes', 'DirContext', 'InitialDirContext', 'InvalidAttributeIdentifierException', 'InvalidAttributesException', 'InvalidSearchControlsException', 'InvalidSearchFilterException', 'ModificationItem', 'NoSuchAttributeException', 'SchemaViolationException', 'SearchControls', 'SearchResult'
        -            ),
        -        78 => array (
        -            'EventContext', 'EventDirContext', 'NamespaceChangeListener', 'NamingEvent', 'NamingExceptionEvent', 'NamingListener', 'ObjectChangeListener'
        -            ),
        -        79 => array (
        -            'BasicControl', 'ControlFactory', 'ExtendedRequest', 'ExtendedResponse', 'HasControls', 'InitialLdapContext', 'LdapContext', 'LdapName', 'LdapReferralException', 'ManageReferralControl', 'PagedResultsControl', 'PagedResultsResponseControl', 'Rdn', 'SortControl', 'SortKey', 'SortResponseControl', 'StartTlsRequest', 'StartTlsResponse', 'UnsolicitedNotification', 'UnsolicitedNotificationEvent', 'UnsolicitedNotificationListener'
        -            ),
        -        80 => array (
        -            'DirObjectFactory', 'DirStateFactory', 'DirStateFactory.Result', 'DirectoryManager', 'InitialContextFactory', 'InitialContextFactoryBuilder', 'NamingManager', 'ObjectFactory', 'ObjectFactoryBuilder', 'ResolveResult', 'Resolver', 'StateFactory'
        -            ),
        -        81 => array (
        -            'ServerSocketFactory', 'SocketFactory'
        -            ),
        -        82 => array (
        -            'CertPathTrustManagerParameters', 'HandshakeCompletedEvent', 'HandshakeCompletedListener', 'HostnameVerifier', 'HttpsURLConnection', 'KeyManager', 'KeyManagerFactory', 'KeyManagerFactorySpi', 'KeyStoreBuilderParameters', 'ManagerFactoryParameters', 'SSLContext', 'SSLContextSpi', 'SSLEngine', 'SSLEngineResult', 'SSLEngineResult.HandshakeStatus', 'SSLEngineResult.Status', 'SSLException', 'SSLHandshakeException', 'SSLKeyException', 'SSLPeerUnverifiedException', 'SSLPermission', 'SSLProtocolException', 'SSLServerSocket', 'SSLServerSocketFactory', 'SSLSession', 'SSLSessionBindingEvent', 'SSLSessionBindingListener', 'SSLSessionContext', 'SSLSocket', 'SSLSocketFactory', 'TrustManager', 'TrustManagerFactory', 'TrustManagerFactorySpi', 'X509ExtendedKeyManager', 'X509KeyManager', 'X509TrustManager'
        -            ),
        -        83 => array (
        -            'AttributeException', 'CancelablePrintJob', 'Doc', 'DocFlavor', 'DocFlavor.BYTE_ARRAY', 'DocFlavor.CHAR_ARRAY', 'DocFlavor.INPUT_STREAM', 'DocFlavor.READER', 'DocFlavor.SERVICE_FORMATTED', 'DocFlavor.STRING', 'DocFlavor.URL', 'DocPrintJob', 'FlavorException', 'MultiDoc', 'MultiDocPrintJob', 'MultiDocPrintService', 'PrintException', 'PrintService', 'PrintServiceLookup', 'ServiceUI', 'ServiceUIFactory', 'SimpleDoc', 'StreamPrintService', 'StreamPrintServiceFactory', 'URIException'
        -            ),
        -        84 => array (
        -            'AttributeSetUtilities', 'DateTimeSyntax', 'DocAttribute', 'DocAttributeSet', 'EnumSyntax', 'HashAttributeSet', 'HashDocAttributeSet', 'HashPrintJobAttributeSet', 'HashPrintRequestAttributeSet', 'HashPrintServiceAttributeSet', 'IntegerSyntax', 'PrintJobAttribute', 'PrintJobAttributeSet', 'PrintRequestAttribute', 'PrintRequestAttributeSet', 'PrintServiceAttribute', 'PrintServiceAttributeSet', 'ResolutionSyntax', 'SetOfIntegerSyntax', 'Size2DSyntax', 'SupportedValuesAttribute', 'TextSyntax', 'URISyntax', 'UnmodifiableSetException'
        -            ),
        -        85 => array (
        -            'Chromaticity', 'ColorSupported', 'Compression', 'Copies', 'CopiesSupported', 'DateTimeAtCompleted', 'DateTimeAtCreation', 'DateTimeAtProcessing', 'Destination', 'DocumentName', 'Fidelity', 'Finishings', 'JobHoldUntil', 'JobImpressions', 'JobImpressionsCompleted', 'JobImpressionsSupported', 'JobKOctets', 'JobKOctetsProcessed', 'JobKOctetsSupported', 'JobMediaSheets', 'JobMediaSheetsCompleted', 'JobMediaSheetsSupported', 'JobMessageFromOperator', 'JobName', 'JobOriginatingUserName', 'JobPriority', 'JobPrioritySupported', 'JobSheets', 'JobState', 'JobStateReason', 'JobStateReasons', 'Media', 'MediaName', 'MediaPrintableArea', 'MediaSize', 'MediaSize.Engineering', 'MediaSize.ISO', 'MediaSize.JIS', 'MediaSize.NA', 'MediaSize.Other', 'MediaSizeName', 'MediaTray', 'MultipleDocumentHandling', 'NumberOfDocuments', 'NumberOfInterveningJobs', 'NumberUp', 'NumberUpSupported', 'OrientationRequested', 'OutputDeviceAssigned', 'PDLOverrideSupported', 'PageRanges', 'PagesPerMinute', 'PagesPerMinuteColor',
        -            'PresentationDirection', 'PrintQuality', 'PrinterInfo', 'PrinterIsAcceptingJobs', 'PrinterLocation', 'PrinterMakeAndModel', 'PrinterMessageFromOperator', 'PrinterMoreInfo', 'PrinterMoreInfoManufacturer', 'PrinterName', 'PrinterResolution', 'PrinterState', 'PrinterStateReason', 'PrinterStateReasons', 'PrinterURI', 'QueuedJobCount', 'ReferenceUriSchemesSupported', 'RequestingUserName', 'Severity', 'SheetCollate', 'Sides'
        -            ),
        -        86 => array (
        -            'PrintEvent', 'PrintJobAdapter', 'PrintJobAttributeEvent', 'PrintJobAttributeListener', 'PrintJobEvent', 'PrintJobListener', 'PrintServiceAttributeEvent', 'PrintServiceAttributeListener'
        -            ),
        -        87 => array (
        -            'PortableRemoteObject'
        -            ),
        -        88 => array (
        -            'ClassDesc', 'PortableRemoteObjectDelegate', 'Stub', 'StubDelegate', 'Tie', 'Util', 'UtilDelegate', 'ValueHandler', 'ValueHandlerMultiFormat'
        -            ),
        -        89 => array (
        -            'SslRMIClientSocketFactory', 'SslRMIServerSocketFactory'
        -            ),
        -        90 => array (
        -            'AuthPermission', 'DestroyFailedException', 'Destroyable', 'PrivateCredentialPermission', 'RefreshFailedException', 'Refreshable', 'Subject', 'SubjectDomainCombiner'
        -            ),
        -        91 => array (
        -            'Callback', 'CallbackHandler', 'ChoiceCallback', 'ConfirmationCallback', 'LanguageCallback', 'NameCallback', 'PasswordCallback', 'TextInputCallback', 'TextOutputCallback', 'UnsupportedCallbackException'
        -            ),
        -        92 => array (
        -            'DelegationPermission', 'KerberosKey', 'KerberosPrincipal', 'KerberosTicket', 'ServicePermission'
        -            ),
        -        93 => array (
        -            'AccountException', 'AccountExpiredException', 'AccountLockedException', 'AccountNotFoundException', 'AppConfigurationEntry', 'AppConfigurationEntry.LoginModuleControlFlag', 'Configuration', 'CredentialException', 'CredentialExpiredException', 'CredentialNotFoundException', 'FailedLoginException', 'LoginContext', 'LoginException'
        -            ),
        -        94 => array (
        -            'LoginModule'
        -            ),
        -        95 => array (
        -            'X500Principal', 'X500PrivateCredential'
        -            ),
        -        96 => array (
        -            'AuthorizeCallback', 'RealmCallback', 'RealmChoiceCallback', 'Sasl', 'SaslClient', 'SaslClientFactory', 'SaslException', 'SaslServer', 'SaslServerFactory'
        -            ),
        -        97 => array (
        -            'ControllerEventListener', 'Instrument', 'InvalidMidiDataException', 'MetaEventListener', 'MetaMessage', 'MidiChannel', 'MidiDevice', 'MidiDevice.Info', 'MidiEvent', 'MidiFileFormat', 'MidiMessage', 'MidiSystem', 'MidiUnavailableException', 'Patch', 'Receiver', 'Sequence', 'Sequencer', 'Sequencer.SyncMode', 'ShortMessage', 'Soundbank', 'SoundbankResource', 'Synthesizer', 'SysexMessage', 'Track', 'Transmitter', 'VoiceStatus'
        -            ),
        -        98 => array (
        -            'MidiDeviceProvider', 'MidiFileReader', 'MidiFileWriter', 'SoundbankReader'
        -            ),
        -        99 => array (
        -            'AudioFileFormat', 'AudioFileFormat.Type', 'AudioFormat', 'AudioFormat.Encoding', 'AudioInputStream', 'AudioPermission', 'AudioSystem', 'BooleanControl', 'BooleanControl.Type', 'Clip', 'CompoundControl', 'CompoundControl.Type', 'Control.Type', 'DataLine', 'DataLine.Info', 'EnumControl', 'EnumControl.Type', 'FloatControl', 'FloatControl.Type', 'Line', 'Line.Info', 'LineEvent', 'LineEvent.Type', 'LineListener', 'LineUnavailableException', 'Mixer', 'Mixer.Info', 'Port', 'Port.Info', 'ReverbType', 'SourceDataLine', 'TargetDataLine', 'UnsupportedAudioFileException'
        -            ),
        -        100 => array (
        -            'AudioFileReader', 'AudioFileWriter', 'FormatConversionProvider', 'MixerProvider'
        -            ),
        -        101 => array (
        -            'ConnectionEvent', 'ConnectionEventListener', 'ConnectionPoolDataSource', 'DataSource', 'PooledConnection', 'RowSet', 'RowSetEvent', 'RowSetInternal', 'RowSetListener', 'RowSetMetaData', 'RowSetReader', 'RowSetWriter', 'XAConnection', 'XADataSource'
        -            ),
        -        102 => array (
        -            'BaseRowSet', 'CachedRowSet', 'FilteredRowSet', 'JdbcRowSet', 'JoinRowSet', 'Joinable', 'Predicate', 'RowSetMetaDataImpl', 'RowSetWarning', 'WebRowSet'
        -            ),
        -        103 => array (
        -            'SQLInputImpl', 'SQLOutputImpl', 'SerialArray', 'SerialBlob', 'SerialClob', 'SerialDatalink', 'SerialException', 'SerialJavaObject', 'SerialRef', 'SerialStruct'
        -            ),
        -        104 => array (
        -            'SyncFactory', 'SyncFactoryException', 'SyncProvider', 'SyncProviderException', 'SyncResolver', 'TransactionalWriter', 'XmlReader', 'XmlWriter'
        -            ),
        -        105 => array (
        -            'AbstractAction', 'AbstractButton', 'AbstractCellEditor', 'AbstractListModel', 'AbstractSpinnerModel', 'Action', 'ActionMap', 'BorderFactory', 'BoundedRangeModel', 'Box', 'Box.Filler', 'BoxLayout', 'ButtonGroup', 'ButtonModel', 'CellEditor', 'CellRendererPane', 'ComboBoxEditor', 'ComboBoxModel', 'ComponentInputMap', 'DebugGraphics', 'DefaultBoundedRangeModel', 'DefaultButtonModel', 'DefaultCellEditor', 'DefaultComboBoxModel', 'DefaultDesktopManager', 'DefaultFocusManager', 'DefaultListCellRenderer', 'DefaultListCellRenderer.UIResource', 'DefaultListModel', 'DefaultListSelectionModel', 'DefaultSingleSelectionModel', 'DesktopManager', 'FocusManager', 'GrayFilter', 'Icon', 'ImageIcon', 'InputMap', 'InputVerifier', 'InternalFrameFocusTraversalPolicy', 'JApplet', 'JButton', 'JCheckBox', 'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox', 'JComboBox.KeySelectionManager', 'JComponent', 'JDesktopPane', 'JDialog', 'JEditorPane', 'JFileChooser', 'JFormattedTextField', 'JFormattedTextField.AbstractFormatter',
        -            'JFormattedTextField.AbstractFormatterFactory', 'JFrame', 'JInternalFrame', 'JInternalFrame.JDesktopIcon', 'JLabel', 'JLayeredPane', 'JList', 'JMenu', 'JMenuBar', 'JMenuItem', 'JOptionPane', 'JPanel', 'JPasswordField', 'JPopupMenu', 'JPopupMenu.Separator', 'JProgressBar', 'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane', 'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider', 'JSpinner', 'JSpinner.DateEditor', 'JSpinner.DefaultEditor', 'JSpinner.ListEditor', 'JSpinner.NumberEditor', 'JSplitPane', 'JTabbedPane', 'JTable', 'JTable.PrintMode', 'JTextArea', 'JTextField', 'JTextPane', 'JToggleButton', 'JToggleButton.ToggleButtonModel', 'JToolBar', 'JToolBar.Separator', 'JToolTip', 'JTree', 'JTree.DynamicUtilTreeNode', 'JTree.EmptySelectionModel', 'JViewport', 'JWindow', 'KeyStroke', 'LayoutFocusTraversalPolicy', 'ListCellRenderer', 'ListModel', 'ListSelectionModel', 'LookAndFeel', 'MenuElement', 'MenuSelectionManager', 'MutableComboBoxModel', 'OverlayLayout', 'Popup', 'PopupFactory', 'ProgressMonitor',
        -            'ProgressMonitorInputStream', 'Renderer', 'RepaintManager', 'RootPaneContainer', 'ScrollPaneConstants', 'ScrollPaneLayout', 'ScrollPaneLayout.UIResource', 'Scrollable', 'SingleSelectionModel', 'SizeRequirements', 'SizeSequence', 'SortingFocusTraversalPolicy', 'SpinnerDateModel', 'SpinnerListModel', 'SpinnerModel', 'SpinnerNumberModel', 'Spring', 'SpringLayout', 'SpringLayout.Constraints', 'SwingConstants', 'SwingUtilities', 'ToolTipManager', 'TransferHandler', 'UIDefaults', 'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap', 'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue', 'UIManager', 'UIManager.LookAndFeelInfo', 'UnsupportedLookAndFeelException', 'ViewportLayout', 'WindowConstants'
        -            ),
        -        106 => array (
        -            'AbstractBorder', 'BevelBorder', 'Border', 'CompoundBorder', 'EmptyBorder', 'EtchedBorder', 'LineBorder', 'MatteBorder', 'SoftBevelBorder', 'TitledBorder'
        -            ),
        -        107 => array (
        -            'AbstractColorChooserPanel', 'ColorChooserComponentFactory', 'ColorSelectionModel', 'DefaultColorSelectionModel'
        -            ),
        -        108 => array (
        -            'AncestorEvent', 'AncestorListener', 'CaretEvent', 'CaretListener', 'CellEditorListener', 'ChangeEvent', 'ChangeListener', 'DocumentEvent.ElementChange', 'DocumentEvent.EventType', 'DocumentListener', 'EventListenerList', 'HyperlinkEvent', 'HyperlinkEvent.EventType', 'HyperlinkListener', 'InternalFrameAdapter', 'InternalFrameEvent', 'InternalFrameListener', 'ListDataEvent', 'ListDataListener', 'ListSelectionEvent', 'ListSelectionListener', 'MenuDragMouseEvent', 'MenuDragMouseListener', 'MenuEvent', 'MenuKeyEvent', 'MenuKeyListener', 'MenuListener', 'MouseInputAdapter', 'MouseInputListener', 'PopupMenuEvent', 'PopupMenuListener', 'SwingPropertyChangeSupport', 'TableColumnModelEvent', 'TableColumnModelListener', 'TableModelEvent', 'TableModelListener', 'TreeExpansionEvent', 'TreeExpansionListener', 'TreeModelEvent', 'TreeModelListener', 'TreeSelectionEvent', 'TreeSelectionListener', 'TreeWillExpandListener', 'UndoableEditEvent', 'UndoableEditListener'
        -            ),
        -        109 => array (
        -            'FileSystemView', 'FileView'
        -            ),
        -        110 => array (
        -            'ActionMapUIResource', 'BorderUIResource', 'BorderUIResource.BevelBorderUIResource', 'BorderUIResource.CompoundBorderUIResource', 'BorderUIResource.EmptyBorderUIResource', 'BorderUIResource.EtchedBorderUIResource', 'BorderUIResource.LineBorderUIResource', 'BorderUIResource.MatteBorderUIResource', 'BorderUIResource.TitledBorderUIResource', 'ButtonUI', 'ColorChooserUI', 'ColorUIResource', 'ComboBoxUI', 'ComponentInputMapUIResource', 'ComponentUI', 'DesktopIconUI', 'DesktopPaneUI', 'DimensionUIResource', 'FileChooserUI', 'FontUIResource', 'IconUIResource', 'InputMapUIResource', 'InsetsUIResource', 'InternalFrameUI', 'LabelUI', 'ListUI', 'MenuBarUI', 'MenuItemUI', 'OptionPaneUI', 'PanelUI', 'PopupMenuUI', 'ProgressBarUI', 'RootPaneUI', 'ScrollBarUI', 'ScrollPaneUI', 'SeparatorUI', 'SliderUI', 'SpinnerUI', 'SplitPaneUI', 'TabbedPaneUI', 'TableHeaderUI', 'TableUI', 'TextUI', 'ToolBarUI', 'ToolTipUI', 'TreeUI', 'UIResource', 'ViewportUI'
        -            ),
        -        111 => array (
        -            'BasicArrowButton', 'BasicBorders', 'BasicBorders.ButtonBorder', 'BasicBorders.FieldBorder', 'BasicBorders.MarginBorder', 'BasicBorders.MenuBarBorder', 'BasicBorders.RadioButtonBorder', 'BasicBorders.RolloverButtonBorder', 'BasicBorders.SplitPaneBorder', 'BasicBorders.ToggleButtonBorder', 'BasicButtonListener', 'BasicButtonUI', 'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI', 'BasicColorChooserUI', 'BasicComboBoxEditor', 'BasicComboBoxEditor.UIResource', 'BasicComboBoxRenderer', 'BasicComboBoxRenderer.UIResource', 'BasicComboBoxUI', 'BasicComboPopup', 'BasicDesktopIconUI', 'BasicDesktopPaneUI', 'BasicDirectoryModel', 'BasicEditorPaneUI', 'BasicFileChooserUI', 'BasicFormattedTextFieldUI', 'BasicGraphicsUtils', 'BasicHTML', 'BasicIconFactory', 'BasicInternalFrameTitlePane', 'BasicInternalFrameUI', 'BasicLabelUI', 'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI', 'BasicMenuItemUI', 'BasicMenuUI', 'BasicOptionPaneUI', 'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI', 'BasicPasswordFieldUI',
        -            'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI', 'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI', 'BasicRadioButtonUI', 'BasicRootPaneUI', 'BasicScrollBarUI', 'BasicScrollPaneUI', 'BasicSeparatorUI', 'BasicSliderUI', 'BasicSpinnerUI', 'BasicSplitPaneDivider', 'BasicSplitPaneUI', 'BasicTabbedPaneUI', 'BasicTableHeaderUI', 'BasicTableUI', 'BasicTextAreaUI', 'BasicTextFieldUI', 'BasicTextPaneUI', 'BasicTextUI', 'BasicTextUI.BasicCaret', 'BasicTextUI.BasicHighlighter', 'BasicToggleButtonUI', 'BasicToolBarSeparatorUI', 'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI', 'BasicViewportUI', 'ComboPopup', 'DefaultMenuLayout'
        -            ),
        -        112 => array (
        -            'DefaultMetalTheme', 'MetalBorders', 'MetalBorders.ButtonBorder', 'MetalBorders.Flush3DBorder', 'MetalBorders.InternalFrameBorder', 'MetalBorders.MenuBarBorder', 'MetalBorders.MenuItemBorder', 'MetalBorders.OptionDialogBorder', 'MetalBorders.PaletteBorder', 'MetalBorders.PopupMenuBorder', 'MetalBorders.RolloverButtonBorder', 'MetalBorders.ScrollPaneBorder', 'MetalBorders.TableHeaderBorder', 'MetalBorders.TextFieldBorder', 'MetalBorders.ToggleButtonBorder', 'MetalBorders.ToolBarBorder', 'MetalButtonUI', 'MetalCheckBoxIcon', 'MetalCheckBoxUI', 'MetalComboBoxButton', 'MetalComboBoxEditor', 'MetalComboBoxEditor.UIResource', 'MetalComboBoxIcon', 'MetalComboBoxUI', 'MetalDesktopIconUI', 'MetalFileChooserUI', 'MetalIconFactory', 'MetalIconFactory.FileIcon16', 'MetalIconFactory.FolderIcon16', 'MetalIconFactory.PaletteCloseIcon', 'MetalIconFactory.TreeControlIcon', 'MetalIconFactory.TreeFolderIcon', 'MetalIconFactory.TreeLeafIcon', 'MetalInternalFrameTitlePane', 'MetalInternalFrameUI', 'MetalLabelUI',
        -            'MetalLookAndFeel', 'MetalMenuBarUI', 'MetalPopupMenuSeparatorUI', 'MetalProgressBarUI', 'MetalRadioButtonUI', 'MetalRootPaneUI', 'MetalScrollBarUI', 'MetalScrollButton', 'MetalScrollPaneUI', 'MetalSeparatorUI', 'MetalSliderUI', 'MetalSplitPaneUI', 'MetalTabbedPaneUI', 'MetalTextFieldUI', 'MetalTheme', 'MetalToggleButtonUI', 'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI', 'OceanTheme'
        -            ),
        -        113 => array (
        -            'MultiButtonUI', 'MultiColorChooserUI', 'MultiComboBoxUI', 'MultiDesktopIconUI', 'MultiDesktopPaneUI', 'MultiFileChooserUI', 'MultiInternalFrameUI', 'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel', 'MultiMenuBarUI', 'MultiMenuItemUI', 'MultiOptionPaneUI', 'MultiPanelUI', 'MultiPopupMenuUI', 'MultiProgressBarUI', 'MultiRootPaneUI', 'MultiScrollBarUI', 'MultiScrollPaneUI', 'MultiSeparatorUI', 'MultiSliderUI', 'MultiSpinnerUI', 'MultiSplitPaneUI', 'MultiTabbedPaneUI', 'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI', 'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI', 'MultiViewportUI'
        -            ),
        -        114 => array (
        -            'ColorType', 'Region', 'SynthConstants', 'SynthContext', 'SynthGraphicsUtils', 'SynthLookAndFeel', 'SynthPainter', 'SynthStyle', 'SynthStyleFactory'
        -            ),
        -        115 => array (
        -            'AbstractTableModel', 'DefaultTableCellRenderer', 'DefaultTableCellRenderer.UIResource', 'DefaultTableColumnModel', 'DefaultTableModel', 'JTableHeader', 'TableCellEditor', 'TableCellRenderer', 'TableColumn', 'TableColumnModel', 'TableModel'
        -            ),
        -        116 => array (
        -            'AbstractDocument', 'AbstractDocument.AttributeContext', 'AbstractDocument.Content', 'AbstractDocument.ElementEdit', 'AbstractWriter', 'AsyncBoxView', 'AttributeSet.CharacterAttribute', 'AttributeSet.ColorAttribute', 'AttributeSet.FontAttribute', 'AttributeSet.ParagraphAttribute', 'BadLocationException', 'BoxView', 'Caret', 'ChangedCharSetException', 'ComponentView', 'CompositeView', 'DateFormatter', 'DefaultCaret', 'DefaultEditorKit', 'DefaultEditorKit.BeepAction', 'DefaultEditorKit.CopyAction', 'DefaultEditorKit.CutAction', 'DefaultEditorKit.DefaultKeyTypedAction', 'DefaultEditorKit.InsertBreakAction', 'DefaultEditorKit.InsertContentAction', 'DefaultEditorKit.InsertTabAction', 'DefaultEditorKit.PasteAction', 'DefaultFormatter', 'DefaultFormatterFactory', 'DefaultHighlighter', 'DefaultHighlighter.DefaultHighlightPainter', 'DefaultStyledDocument', 'DefaultStyledDocument.AttributeUndoableEdit', 'DefaultStyledDocument.ElementSpec', 'DefaultTextUI', 'DocumentFilter', 'DocumentFilter.FilterBypass',
        -            'EditorKit', 'ElementIterator', 'FieldView', 'FlowView', 'FlowView.FlowStrategy', 'GapContent', 'GlyphView', 'GlyphView.GlyphPainter', 'Highlighter', 'Highlighter.Highlight', 'Highlighter.HighlightPainter', 'IconView', 'InternationalFormatter', 'JTextComponent', 'JTextComponent.KeyBinding', 'Keymap', 'LabelView', 'LayeredHighlighter', 'LayeredHighlighter.LayerPainter', 'LayoutQueue', 'MaskFormatter', 'MutableAttributeSet', 'NavigationFilter', 'NavigationFilter.FilterBypass', 'NumberFormatter', 'PasswordView', 'PlainDocument', 'PlainView', 'Position', 'Position.Bias', 'Segment', 'SimpleAttributeSet', 'StringContent', 'Style', 'StyleConstants', 'StyleConstants.CharacterConstants', 'StyleConstants.ColorConstants', 'StyleConstants.FontConstants', 'StyleConstants.ParagraphConstants', 'StyleContext', 'StyledDocument', 'StyledEditorKit', 'StyledEditorKit.AlignmentAction', 'StyledEditorKit.BoldAction', 'StyledEditorKit.FontFamilyAction', 'StyledEditorKit.FontSizeAction', 'StyledEditorKit.ForegroundAction',
        -            'StyledEditorKit.ItalicAction', 'StyledEditorKit.StyledTextAction', 'StyledEditorKit.UnderlineAction', 'TabExpander', 'TabSet', 'TabStop', 'TabableView', 'TableView', 'TextAction', 'Utilities', 'View', 'ViewFactory', 'WrappedPlainView', 'ZoneView'
        -            ),
        -        117 => array (
        -            'BlockView', 'CSS', 'CSS.Attribute', 'FormSubmitEvent', 'FormSubmitEvent.MethodType', 'FormView', 'HTML', 'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag', 'HTMLDocument', 'HTMLDocument.Iterator', 'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory', 'HTMLEditorKit.HTMLTextAction', 'HTMLEditorKit.InsertHTMLTextAction', 'HTMLEditorKit.LinkController', 'HTMLEditorKit.Parser', 'HTMLEditorKit.ParserCallback', 'HTMLFrameHyperlinkEvent', 'HTMLWriter', 'ImageView', 'InlineView', 'ListView', 'MinimalHTMLWriter', 'ObjectView', 'Option', 'StyleSheet', 'StyleSheet.BoxPainter', 'StyleSheet.ListPainter'
        -            ),
        -        118 => array (
        -            'ContentModel', 'DTD', 'DTDConstants', 'DocumentParser', 'ParserDelegator', 'TagElement'
        -            ),
        -        119 => array (
        -            'RTFEditorKit'
        -            ),
        -        120 => array (
        -            'AbstractLayoutCache', 'AbstractLayoutCache.NodeDimensions', 'DefaultMutableTreeNode', 'DefaultTreeCellEditor', 'DefaultTreeCellRenderer', 'DefaultTreeModel', 'DefaultTreeSelectionModel', 'ExpandVetoException', 'FixedHeightLayoutCache', 'MutableTreeNode', 'RowMapper', 'TreeCellEditor', 'TreeCellRenderer', 'TreeModel', 'TreeNode', 'TreePath', 'TreeSelectionModel', 'VariableHeightLayoutCache'
        -            ),
        -        121 => array (
        -            'AbstractUndoableEdit', 'CannotRedoException', 'CannotUndoException', 'CompoundEdit', 'StateEdit', 'StateEditable', 'UndoManager', 'UndoableEdit', 'UndoableEditSupport'
        -            ),
        -        122 => array (
        -            'InvalidTransactionException', 'TransactionRequiredException', 'TransactionRolledbackException'
        -            ),
        -        123 => array (
        -            'XAException', 'XAResource', 'Xid'
        -            ),
        -        124 => array (
        -            'XMLConstants'
        -            ),
        -        125 => array (
        -            'DatatypeConfigurationException', 'DatatypeConstants', 'DatatypeConstants.Field', 'DatatypeFactory', 'Duration', 'XMLGregorianCalendar'
        -            ),
        -        126 => array (
        -            'NamespaceContext', 'QName'
        -            ),
        -        127 => array (
        -            'DocumentBuilder', 'DocumentBuilderFactory', 'FactoryConfigurationError', 'ParserConfigurationException', 'SAXParser', 'SAXParserFactory'
        -            ),
        -        128 => array (
        -            'ErrorListener', 'OutputKeys', 'Result', 'Source', 'SourceLocator', 'Templates', 'Transformer', 'TransformerConfigurationException', 'TransformerException', 'TransformerFactory', 'TransformerFactoryConfigurationError', 'URIResolver'
        -            ),
        -        129 => array (
        -            'DOMResult', 'DOMSource'
        -            ),
        -        130 => array (
        -            'SAXResult', 'SAXSource', 'SAXTransformerFactory', 'TemplatesHandler', 'TransformerHandler'
        -            ),
        -        131 => array (
        -            'StreamResult', 'StreamSource'
        -            ),
        -        132 => array (
        -            'Schema', 'SchemaFactory', 'SchemaFactoryLoader', 'TypeInfoProvider', 'Validator', 'ValidatorHandler'
        -            ),
        -        133 => array (
        -            'XPath', 'XPathConstants', 'XPathException', 'XPathExpression', 'XPathExpressionException', 'XPathFactory', 'XPathFactoryConfigurationException', 'XPathFunction', 'XPathFunctionException', 'XPathFunctionResolver', 'XPathVariableResolver'
        -            ),
        -        134 => array (
        -            'ChannelBinding', 'GSSContext', 'GSSCredential', 'GSSException', 'GSSManager', 'GSSName', 'MessageProp', 'Oid'
        -            ),
        -        135 => array (
        -            'ACTIVITY_COMPLETED', 'ACTIVITY_REQUIRED', 'ARG_IN', 'ARG_INOUT', 'ARG_OUT', 'Any', 'AnyHolder', 'AnySeqHolder', 'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION', 'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE', 'BAD_POLICY_VALUE', 'BAD_QOS', 'BAD_TYPECODE', 'BooleanHolder', 'BooleanSeqHelper', 'BooleanSeqHolder', 'ByteHolder', 'CODESET_INCOMPATIBLE', 'COMM_FAILURE', 'CTX_RESTRICT_SCOPE', 'CharHolder', 'CharSeqHelper', 'CharSeqHolder', 'CompletionStatus', 'CompletionStatusHelper', 'ContextList', 'CurrentHolder', 'CustomMarshal', 'DATA_CONVERSION', 'DefinitionKind', 'DefinitionKindHelper', 'DomainManager', 'DomainManagerOperations', 'DoubleHolder', 'DoubleSeqHelper', 'DoubleSeqHolder', 'Environment', 'ExceptionList', 'FREE_MEM', 'FixedHolder', 'FloatHolder', 'FloatSeqHelper', 'FloatSeqHolder', 'IDLType', 'IDLTypeHelper', 'IDLTypeOperations', 'IMP_LIMIT', 'INITIALIZE', 'INTERNAL', 'INTF_REPOS', 'INVALID_ACTIVITY', 'INVALID_TRANSACTION', 'INV_FLAG', 'INV_IDENT', 'INV_OBJREF', 'INV_POLICY', 'IRObject',
        -            'IRObjectOperations', 'IdentifierHelper', 'IntHolder', 'LocalObject', 'LongHolder', 'LongLongSeqHelper', 'LongLongSeqHolder', 'LongSeqHelper', 'LongSeqHolder', 'MARSHAL', 'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION', 'NO_RESOURCES', 'NO_RESPONSE', 'NVList', 'NamedValue', 'OBJECT_NOT_EXIST', 'OBJ_ADAPTER', 'OMGVMCID', 'ObjectHelper', 'ObjectHolder', 'OctetSeqHelper', 'OctetSeqHolder', 'PERSIST_STORE', 'PRIVATE_MEMBER', 'PUBLIC_MEMBER', 'ParameterMode', 'ParameterModeHelper', 'ParameterModeHolder', 'PolicyError', 'PolicyErrorCodeHelper', 'PolicyErrorHelper', 'PolicyErrorHolder', 'PolicyHelper', 'PolicyHolder', 'PolicyListHelper', 'PolicyListHolder', 'PolicyOperations', 'PolicyTypeHelper', 'PrincipalHolder', 'REBIND', 'RepositoryIdHelper', 'Request', 'ServerRequest', 'ServiceDetail', 'ServiceDetailHelper', 'ServiceInformation', 'ServiceInformationHelper', 'ServiceInformationHolder', 'SetOverrideType', 'SetOverrideTypeHelper', 'ShortHolder', 'ShortSeqHelper', 'ShortSeqHolder', 'StringHolder',
        -            'StringSeqHelper', 'StringSeqHolder', 'StringValueHelper', 'StructMember', 'StructMemberHelper', 'SystemException', 'TCKind', 'TIMEOUT', 'TRANSACTION_MODE', 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK', 'TRANSACTION_UNAVAILABLE', 'TRANSIENT', 'TypeCode', 'TypeCodeHolder', 'ULongLongSeqHelper', 'ULongLongSeqHolder', 'ULongSeqHelper', 'ULongSeqHolder', 'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE', 'UShortSeqHelper', 'UShortSeqHolder', 'UnionMember', 'UnionMemberHelper', 'UnknownUserException', 'UnknownUserExceptionHelper', 'UnknownUserExceptionHolder', 'UserException', 'VM_ABSTRACT', 'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE', 'ValueBaseHelper', 'ValueBaseHolder', 'ValueMember', 'ValueMemberHelper', 'VersionSpecHelper', 'VisibilityHelper', 'WCharSeqHelper', 'WCharSeqHolder', 'WStringSeqHelper', 'WStringSeqHolder', 'WStringValueHelper', 'WrongTransaction', 'WrongTransactionHelper', 'WrongTransactionHolder', '_IDLTypeStub', '_PolicyStub'
        -            ),
        -        136 => array (
        -            'Invalid', 'InvalidSeq'
        -            ),
        -        137 => array (
        -            'BadKind'
        -            ),
        -        138 => array (
        -            'ApplicationException', 'BoxedValueHelper', 'CustomValue', 'IDLEntity', 'IndirectionException', 'InvokeHandler', 'RemarshalException', 'ResponseHandler', 'ServantObject', 'Streamable', 'StreamableValue', 'UnknownException', 'ValueBase', 'ValueFactory', 'ValueInputStream', 'ValueOutputStream'
        -            ),
        -        139 => array (
        -            'BindingHelper', 'BindingHolder', 'BindingIterator', 'BindingIteratorHelper', 'BindingIteratorHolder', 'BindingIteratorOperations', 'BindingIteratorPOA', 'BindingListHelper', 'BindingListHolder', 'BindingType', 'BindingTypeHelper', 'BindingTypeHolder', 'IstringHelper', 'NameComponent', 'NameComponentHelper', 'NameComponentHolder', 'NameHelper', 'NameHolder', 'NamingContext', 'NamingContextExt', 'NamingContextExtHelper', 'NamingContextExtHolder', 'NamingContextExtOperations', 'NamingContextExtPOA', 'NamingContextHelper', 'NamingContextHolder', 'NamingContextOperations', 'NamingContextPOA', '_BindingIteratorImplBase', '_BindingIteratorStub', '_NamingContextExtStub', '_NamingContextImplBase', '_NamingContextStub'
        -            ),
        -        140 => array (
        -            'AddressHelper', 'InvalidAddress', 'InvalidAddressHelper', 'InvalidAddressHolder', 'StringNameHelper', 'URLStringHelper'
        -            ),
        -        141 => array (
        -            'AlreadyBound', 'AlreadyBoundHelper', 'AlreadyBoundHolder', 'CannotProceed', 'CannotProceedHelper', 'CannotProceedHolder', 'InvalidNameHolder', 'NotEmpty', 'NotEmptyHelper', 'NotEmptyHolder', 'NotFound', 'NotFoundHelper', 'NotFoundHolder', 'NotFoundReason', 'NotFoundReasonHelper', 'NotFoundReasonHolder'
        -            ),
        -        142 => array (
        -            'Parameter'
        -            ),
        -        143 => array (
        -            'DynAnyFactory', 'DynAnyFactoryHelper', 'DynAnyFactoryOperations', 'DynAnyHelper', 'DynAnyOperations', 'DynAnySeqHelper', 'DynArrayHelper', 'DynArrayOperations', 'DynEnumHelper', 'DynEnumOperations', 'DynFixedHelper', 'DynFixedOperations', 'DynSequenceHelper', 'DynSequenceOperations', 'DynStructHelper', 'DynStructOperations', 'DynUnionHelper', 'DynUnionOperations', 'DynValueBox', 'DynValueBoxOperations', 'DynValueCommon', 'DynValueCommonOperations', 'DynValueHelper', 'DynValueOperations', 'NameDynAnyPair', 'NameDynAnyPairHelper', 'NameDynAnyPairSeqHelper', 'NameValuePairSeqHelper', '_DynAnyFactoryStub', '_DynAnyStub', '_DynArrayStub', '_DynEnumStub', '_DynFixedStub', '_DynSequenceStub', '_DynStructStub', '_DynUnionStub', '_DynValueStub'
        -            ),
        -        144 => array (
        -            'InconsistentTypeCodeHelper'
        -            ),
        -        145 => array (
        -            'InvalidValueHelper'
        -            ),
        -        146 => array (
        -            'CodeSets', 'Codec', 'CodecFactory', 'CodecFactoryHelper', 'CodecFactoryOperations', 'CodecOperations', 'ComponentIdHelper', 'ENCODING_CDR_ENCAPS', 'Encoding', 'ExceptionDetailMessage', 'IOR', 'IORHelper', 'IORHolder', 'MultipleComponentProfileHelper', 'MultipleComponentProfileHolder', 'ProfileIdHelper', 'RMICustomMaxStreamFormat', 'ServiceContext', 'ServiceContextHelper', 'ServiceContextHolder', 'ServiceContextListHelper', 'ServiceContextListHolder', 'ServiceIdHelper', 'TAG_ALTERNATE_IIOP_ADDRESS', 'TAG_CODE_SETS', 'TAG_INTERNET_IOP', 'TAG_JAVA_CODEBASE', 'TAG_MULTIPLE_COMPONENTS', 'TAG_ORB_TYPE', 'TAG_POLICIES', 'TAG_RMI_CUSTOM_MAX_STREAM_FORMAT', 'TaggedComponent', 'TaggedComponentHelper', 'TaggedComponentHolder', 'TaggedProfile', 'TaggedProfileHelper', 'TaggedProfileHolder', 'TransactionService'
        -            ),
        -        147 => array (
        -            'UnknownEncoding', 'UnknownEncodingHelper'
        -            ),
        -        148 => array (
        -            'FormatMismatch', 'FormatMismatchHelper', 'InvalidTypeForEncoding', 'InvalidTypeForEncodingHelper'
        -            ),
        -        149 => array (
        -            'SYNC_WITH_TRANSPORT', 'SyncScopeHelper'
        -            ),
        -        150 => array (
        -            'ACTIVE', 'AdapterManagerIdHelper', 'AdapterNameHelper', 'AdapterStateHelper', 'ClientRequestInfo', 'ClientRequestInfoOperations', 'ClientRequestInterceptor', 'ClientRequestInterceptorOperations', 'DISCARDING', 'HOLDING', 'INACTIVE', 'IORInfo', 'IORInfoOperations', 'IORInterceptor', 'IORInterceptorOperations', 'IORInterceptor_3_0', 'IORInterceptor_3_0Helper', 'IORInterceptor_3_0Holder', 'IORInterceptor_3_0Operations', 'Interceptor', 'InterceptorOperations', 'InvalidSlot', 'InvalidSlotHelper', 'LOCATION_FORWARD', 'NON_EXISTENT', 'ORBIdHelper', 'ORBInitInfo', 'ORBInitInfoOperations', 'ORBInitializer', 'ORBInitializerOperations', 'ObjectReferenceFactory', 'ObjectReferenceFactoryHelper', 'ObjectReferenceFactoryHolder', 'ObjectReferenceTemplate', 'ObjectReferenceTemplateHelper', 'ObjectReferenceTemplateHolder', 'ObjectReferenceTemplateSeqHelper', 'ObjectReferenceTemplateSeqHolder', 'PolicyFactory', 'PolicyFactoryOperations', 'RequestInfo', 'RequestInfoOperations', 'SUCCESSFUL', 'SYSTEM_EXCEPTION',
        -            'ServerIdHelper', 'ServerRequestInfo', 'ServerRequestInfoOperations', 'ServerRequestInterceptor', 'ServerRequestInterceptorOperations', 'TRANSPORT_RETRY', 'USER_EXCEPTION'
        -            ),
        -        151 => array (
        -            'DuplicateName', 'DuplicateNameHelper'
        -            ),
        -        152 => array (
        -            'AdapterActivator', 'AdapterActivatorOperations', 'ID_ASSIGNMENT_POLICY_ID', 'ID_UNIQUENESS_POLICY_ID', 'IMPLICIT_ACTIVATION_POLICY_ID', 'IdAssignmentPolicy', 'IdAssignmentPolicyOperations', 'IdAssignmentPolicyValue', 'IdUniquenessPolicy', 'IdUniquenessPolicyOperations', 'IdUniquenessPolicyValue', 'ImplicitActivationPolicy', 'ImplicitActivationPolicyOperations', 'ImplicitActivationPolicyValue', 'LIFESPAN_POLICY_ID', 'LifespanPolicy', 'LifespanPolicyOperations', 'LifespanPolicyValue', 'POA', 'POAHelper', 'POAManager', 'POAManagerOperations', 'POAOperations', 'REQUEST_PROCESSING_POLICY_ID', 'RequestProcessingPolicy', 'RequestProcessingPolicyOperations', 'RequestProcessingPolicyValue', 'SERVANT_RETENTION_POLICY_ID', 'Servant', 'ServantActivator', 'ServantActivatorHelper', 'ServantActivatorOperations', 'ServantActivatorPOA', 'ServantLocator', 'ServantLocatorHelper', 'ServantLocatorOperations', 'ServantLocatorPOA', 'ServantManager', 'ServantManagerOperations', 'ServantRetentionPolicy',
        -            'ServantRetentionPolicyOperations', 'ServantRetentionPolicyValue', 'THREAD_POLICY_ID', 'ThreadPolicy', 'ThreadPolicyOperations', 'ThreadPolicyValue', '_ServantActivatorStub', '_ServantLocatorStub'
        -            ),
        -        153 => array (
        -            'NoContext', 'NoContextHelper'
        -            ),
        -        154 => array (
        -            'AdapterInactive', 'AdapterInactiveHelper', 'State'
        -            ),
        -        155 => array (
        -            'AdapterAlreadyExists', 'AdapterAlreadyExistsHelper', 'AdapterNonExistent', 'AdapterNonExistentHelper', 'InvalidPolicy', 'InvalidPolicyHelper', 'NoServant', 'NoServantHelper', 'ObjectAlreadyActive', 'ObjectAlreadyActiveHelper', 'ObjectNotActive', 'ObjectNotActiveHelper', 'ServantAlreadyActive', 'ServantAlreadyActiveHelper', 'ServantNotActive', 'ServantNotActiveHelper', 'WrongAdapter', 'WrongAdapterHelper', 'WrongPolicy', 'WrongPolicyHelper'
        -            ),
        -        156 => array (
        -            'CookieHolder'
        -            ),
        -        157 => array (
        -            'RunTime', 'RunTimeOperations'
        -            ),
        -        158 => array (
        -            '_Remote_Stub'
        -            ),
        -        159 => array (
        -            'Attr', 'CDATASection', 'CharacterData', 'Comment', 'DOMConfiguration', 'DOMError', 'DOMErrorHandler', 'DOMException', 'DOMImplementation', 'DOMImplementationList', 'DOMImplementationSource', 'DOMStringList', 'DocumentFragment', 'DocumentType', 'EntityReference', 'NameList', 'NamedNodeMap', 'Node', 'NodeList', 'Notation', 'ProcessingInstruction', 'Text', 'TypeInfo', 'UserDataHandler'
        -            ),
        -        160 => array (
        -            'DOMImplementationRegistry'
        -            ),
        -        161 => array (
        -            'EventException', 'EventTarget', 'MutationEvent', 'UIEvent'
        -            ),
        -        162 => array (
        -            'DOMImplementationLS', 'LSException', 'LSInput', 'LSLoadEvent', 'LSOutput', 'LSParser', 'LSParserFilter', 'LSProgressEvent', 'LSResourceResolver', 'LSSerializer', 'LSSerializerFilter'
        -            ),
        -        163 => array (
        -            'DTDHandler', 'DocumentHandler', 'EntityResolver', 'ErrorHandler', 'HandlerBase', 'InputSource', 'Locator', 'SAXException', 'SAXNotRecognizedException', 'SAXNotSupportedException', 'SAXParseException', 'XMLFilter', 'XMLReader'
        -            ),
        -        164 => array (
        -            'Attributes2', 'Attributes2Impl', 'DeclHandler', 'DefaultHandler2', 'EntityResolver2', 'LexicalHandler', 'Locator2', 'Locator2Impl'
        -            ),
        -        165 => array (
        -            'AttributeListImpl', 'AttributesImpl', 'DefaultHandler', 'LocatorImpl', 'NamespaceSupport', 'ParserAdapter', 'ParserFactory', 'XMLFilterImpl', 'XMLReaderAdapter', 'XMLReaderFactory'
        -            ),
        -        /* ambiguous class names (appear in more than one package) */
        -        166 => array (
        -            'Annotation', 'AnySeqHelper', 'Array', 'Attribute', 'AttributeList', 'AttributeSet', 'Attributes', 'AuthenticationException', 'Binding', 'Bounds', 'Certificate', 'CertificateEncodingException', 'CertificateException', 'CertificateExpiredException', 'CertificateNotYetValidException', 'CertificateParsingException', 'ConnectException', 'ContentHandler', 'Context', 'Control', 'Current', 'CurrentHelper', 'CurrentOperations', 'DOMLocator', 'DataInputStream', 'DataOutputStream', 'Date', 'DefaultLoaderRepository', 'Delegate', 'Document', 'DocumentEvent', 'DynAny', 'DynArray', 'DynEnum', 'DynFixed', 'DynSequence', 'DynStruct', 'DynUnion', 'DynValue', 'DynamicImplementation', 'Element', 'Entity', 'Event', 'EventListener', 'FieldNameHelper', 'FileFilter', 'Formatter', 'ForwardRequest', 'ForwardRequestHelper', 'InconsistentTypeCode', 'InputStream', 'IntrospectionException', 'InvalidAttributeValueException', 'InvalidKeyException', 'InvalidName', 'InvalidNameHelper', 'InvalidValue', 'List', 'MouseEvent',
        -            'NameValuePair', 'NameValuePairHelper', 'ORB', 'Object', 'ObjectIdHelper', 'ObjectImpl', 'OpenType', 'OutputStream', 'ParagraphView', 'Parser', 'Permission', 'Policy', 'Principal', 'Proxy', 'Reference', 'Statement', 'Timer', 'Timestamp', 'TypeMismatch', 'TypeMismatchHelper', 'UNKNOWN', 'UnknownHostException', 'X509Certificate'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        /* all Java keywords are case sensitive */
        -        1 => true, 2 => true, 3 => true, 4 => true,
        -        5 => true, 6 => true, 7 => true, 8 => true, 9 => true,
        -        10 => true, 11 => true, 12 => true, 13 => true, 14 => true,
        -        15 => true, 16 => true, 17 => true, 18 => true, 19 => true,
        -        20 => true, 21 => true, 22 => true, 23 => true, 24 => true,
        -        25 => true, 26 => true, 27 => true, 28 => true, 29 => true,
        -        30 => true, 31 => true, 32 => true, 33 => true, 34 => true,
        -        35 => true, 36 => true, 37 => true, 38 => true, 39 => true,
        -        40 => true, 41 => true, 42 => true, 43 => true, 44 => true,
        -        45 => true, 46 => true, 47 => true, 48 => true, 49 => true,
        -        50 => true, 51 => true, 52 => true, 53 => true, 54 => true,
        -        55 => true, 56 => true, 57 => true, 58 => true, 59 => true,
        -        60 => true, 61 => true, 62 => true, 63 => true, 64 => true,
        -        65 => true, 66 => true, 67 => true, 68 => true, 69 => true,
        -        70 => true, 71 => true, 72 => true, 73 => true, 74 => true,
        -        75 => true, 76 => true, 77 => true, 78 => true, 79 => true,
        -        80 => true, 81 => true, 82 => true, 83 => true, 84 => true,
        -        85 => true, 86 => true, 87 => true, 88 => true, 89 => true,
        -        90 => true, 91 => true, 92 => true, 93 => true, 94 => true,
        -        95 => true, 96 => true, 97 => true, 98 => true, 99 => true,
        -        100 => true, 101 => true, 102 => true, 103 => true, 104 => true,
        -        105 => true, 106 => true, 107 => true, 108 => true, 109 => true,
        -        110 => true, 111 => true, 112 => true, 113 => true, 114 => true,
        -        115 => true, 116 => true, 117 => true, 118 => true, 119 => true,
        -        120 => true, 121 => true, 122 => true, 123 => true, 124 => true,
        -        125 => true, 126 => true, 127 => true, 128 => true, 129 => true,
        -        130 => true, 131 => true, 132 => true, 133 => true, 134 => true,
        -        135 => true, 136 => true, 137 => true, 138 => true, 139 => true,
        -        140 => true, 141 => true, 142 => true, 143 => true, 144 => true,
        -        145 => true, 146 => true, 147 => true, 148 => true, 149 => true,
        -        150 => true, 151 => true, 152 => true, 153 => true, 154 => true,
        -        155 => true, 156 => true, 157 => true, 158 => true, 159 => true,
        -        160 => true, 161 => true, 162 => true, 163 => true, 164 => true,
        -        165 => true, 166 => true
        -    ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000;  font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #006600; font-weight: bold;',
        -            4 => 'color: #006600; font-weight: bold;',
        -            5 => 'color: #003399; font-weight: bold;',
        -            6 => 'color: #003399; font-weight: bold;',
        -            7 => 'color: #003399; font-weight: bold;',
        -            8 => 'color: #003399; font-weight: bold;',
        -            9 => 'color: #003399; font-weight: bold;',
        -            10 => 'color: #003399; font-weight: bold;',
        -            11 => 'color: #003399; font-weight: bold;',
        -            12 => 'color: #003399; font-weight: bold;',
        -            13 => 'color: #003399; font-weight: bold;',
        -            14 => 'color: #003399; font-weight: bold;',
        -            15 => 'color: #003399; font-weight: bold;',
        -            16 => 'color: #003399; font-weight: bold;',
        -            17 => 'color: #003399; font-weight: bold;',
        -            18 => 'color: #003399; font-weight: bold;',
        -            19 => 'color: #003399; font-weight: bold;',
        -            20 => 'color: #003399; font-weight: bold;',
        -            21 => 'color: #003399; font-weight: bold;',
        -            22 => 'color: #003399; font-weight: bold;',
        -            23 => 'color: #003399; font-weight: bold;',
        -            24 => 'color: #003399; font-weight: bold;',
        -            25 => 'color: #003399; font-weight: bold;',
        -            26 => 'color: #003399; font-weight: bold;',
        -            27 => 'color: #003399; font-weight: bold;',
        -            28 => 'color: #003399; font-weight: bold;',
        -            29 => 'color: #003399; font-weight: bold;',
        -            30 => 'color: #003399; font-weight: bold;',
        -            31 => 'color: #003399; font-weight: bold;',
        -            32 => 'color: #003399; font-weight: bold;',
        -            33 => 'color: #003399; font-weight: bold;',
        -            34 => 'color: #003399; font-weight: bold;',
        -            35 => 'color: #003399; font-weight: bold;',
        -            36 => 'color: #003399; font-weight: bold;',
        -            37 => 'color: #003399; font-weight: bold;',
        -            38 => 'color: #003399; font-weight: bold;',
        -            39 => 'color: #003399; font-weight: bold;',
        -            40 => 'color: #003399; font-weight: bold;',
        -            41 => 'color: #003399; font-weight: bold;',
        -            42 => 'color: #003399; font-weight: bold;',
        -            43 => 'color: #003399; font-weight: bold;',
        -            44 => 'color: #003399; font-weight: bold;',
        -            45 => 'color: #003399; font-weight: bold;',
        -            46 => 'color: #003399; font-weight: bold;',
        -            47 => 'color: #003399; font-weight: bold;',
        -            48 => 'color: #003399; font-weight: bold;',
        -            49 => 'color: #003399; font-weight: bold;',
        -            50 => 'color: #003399; font-weight: bold;',
        -            51 => 'color: #003399; font-weight: bold;',
        -            52 => 'color: #003399; font-weight: bold;',
        -            53 => 'color: #003399; font-weight: bold;',
        -            54 => 'color: #003399; font-weight: bold;',
        -            55 => 'color: #003399; font-weight: bold;',
        -            56 => 'color: #003399; font-weight: bold;',
        -            57 => 'color: #003399; font-weight: bold;',
        -            58 => 'color: #003399; font-weight: bold;',
        -            59 => 'color: #003399; font-weight: bold;',
        -            60 => 'color: #003399; font-weight: bold;',
        -            61 => 'color: #003399; font-weight: bold;',
        -            62 => 'color: #003399; font-weight: bold;',
        -            63 => 'color: #003399; font-weight: bold;',
        -            64 => 'color: #003399; font-weight: bold;',
        -            65 => 'color: #003399; font-weight: bold;',
        -            66 => 'color: #003399; font-weight: bold;',
        -            67 => 'color: #003399; font-weight: bold;',
        -            68 => 'color: #003399; font-weight: bold;',
        -            69 => 'color: #003399; font-weight: bold;',
        -            70 => 'color: #003399; font-weight: bold;',
        -            71 => 'color: #003399; font-weight: bold;',
        -            72 => 'color: #003399; font-weight: bold;',
        -            73 => 'color: #003399; font-weight: bold;',
        -            74 => 'color: #003399; font-weight: bold;',
        -            75 => 'color: #003399; font-weight: bold;',
        -            76 => 'color: #003399; font-weight: bold;',
        -            77 => 'color: #003399; font-weight: bold;',
        -            78 => 'color: #003399; font-weight: bold;',
        -            79 => 'color: #003399; font-weight: bold;',
        -            80 => 'color: #003399; font-weight: bold;',
        -            81 => 'color: #003399; font-weight: bold;',
        -            82 => 'color: #003399; font-weight: bold;',
        -            83 => 'color: #003399; font-weight: bold;',
        -            84 => 'color: #003399; font-weight: bold;',
        -            85 => 'color: #003399; font-weight: bold;',
        -            86 => 'color: #003399; font-weight: bold;',
        -            87 => 'color: #003399; font-weight: bold;',
        -            88 => 'color: #003399; font-weight: bold;',
        -            89 => 'color: #003399; font-weight: bold;',
        -            90 => 'color: #003399; font-weight: bold;',
        -            91 => 'color: #003399; font-weight: bold;',
        -            92 => 'color: #003399; font-weight: bold;',
        -            93 => 'color: #003399; font-weight: bold;',
        -            94 => 'color: #003399; font-weight: bold;',
        -            95 => 'color: #003399; font-weight: bold;',
        -            96 => 'color: #003399; font-weight: bold;',
        -            97 => 'color: #003399; font-weight: bold;',
        -            98 => 'color: #003399; font-weight: bold;',
        -            99 => 'color: #003399; font-weight: bold;',
        -            100 => 'color: #003399; font-weight: bold;',
        -            101 => 'color: #003399; font-weight: bold;',
        -            102 => 'color: #003399; font-weight: bold;',
        -            103 => 'color: #003399; font-weight: bold;',
        -            104 => 'color: #003399; font-weight: bold;',
        -            105 => 'color: #003399; font-weight: bold;',
        -            106 => 'color: #003399; font-weight: bold;',
        -            107 => 'color: #003399; font-weight: bold;',
        -            108 => 'color: #003399; font-weight: bold;',
        -            109 => 'color: #003399; font-weight: bold;',
        -            110 => 'color: #003399; font-weight: bold;',
        -            111 => 'color: #003399; font-weight: bold;',
        -            112 => 'color: #003399; font-weight: bold;',
        -            113 => 'color: #003399; font-weight: bold;',
        -            114 => 'color: #003399; font-weight: bold;',
        -            115 => 'color: #003399; font-weight: bold;',
        -            116 => 'color: #003399; font-weight: bold;',
        -            117 => 'color: #003399; font-weight: bold;',
        -            118 => 'color: #003399; font-weight: bold;',
        -            119 => 'color: #003399; font-weight: bold;',
        -            120 => 'color: #003399; font-weight: bold;',
        -            121 => 'color: #003399; font-weight: bold;',
        -            122 => 'color: #003399; font-weight: bold;',
        -            123 => 'color: #003399; font-weight: bold;',
        -            124 => 'color: #003399; font-weight: bold;',
        -            125 => 'color: #003399; font-weight: bold;',
        -            126 => 'color: #003399; font-weight: bold;',
        -            127 => 'color: #003399; font-weight: bold;',
        -            128 => 'color: #003399; font-weight: bold;',
        -            129 => 'color: #003399; font-weight: bold;',
        -            130 => 'color: #003399; font-weight: bold;',
        -            131 => 'color: #003399; font-weight: bold;',
        -            132 => 'color: #003399; font-weight: bold;',
        -            133 => 'color: #003399; font-weight: bold;',
        -            134 => 'color: #003399; font-weight: bold;',
        -            135 => 'color: #003399; font-weight: bold;',
        -            136 => 'color: #003399; font-weight: bold;',
        -            137 => 'color: #003399; font-weight: bold;',
        -            138 => 'color: #003399; font-weight: bold;',
        -            139 => 'color: #003399; font-weight: bold;',
        -            140 => 'color: #003399; font-weight: bold;',
        -            141 => 'color: #003399; font-weight: bold;',
        -            142 => 'color: #003399; font-weight: bold;',
        -            143 => 'color: #003399; font-weight: bold;',
        -            144 => 'color: #003399; font-weight: bold;',
        -            145 => 'color: #003399; font-weight: bold;',
        -            146 => 'color: #003399; font-weight: bold;',
        -            147 => 'color: #003399; font-weight: bold;',
        -            148 => 'color: #003399; font-weight: bold;',
        -            149 => 'color: #003399; font-weight: bold;',
        -            150 => 'color: #003399; font-weight: bold;',
        -            151 => 'color: #003399; font-weight: bold;',
        -            152 => 'color: #003399; font-weight: bold;',
        -            153 => 'color: #003399; font-weight: bold;',
        -            154 => 'color: #003399; font-weight: bold;',
        -            155 => 'color: #003399; font-weight: bold;',
        -            156 => 'color: #003399; font-weight: bold;',
        -            157 => 'color: #003399; font-weight: bold;',
        -            158 => 'color: #003399; font-weight: bold;',
        -            159 => 'color: #003399; font-weight: bold;',
        -            160 => 'color: #003399; font-weight: bold;',
        -            161 => 'color: #003399; font-weight: bold;',
        -            162 => 'color: #003399; font-weight: bold;',
        -            163 => 'color: #003399; font-weight: bold;',
        -            164 => 'color: #003399; font-weight: bold;',
        -            165 => 'color: #003399; font-weight: bold;',
        -            166 => 'color: #003399; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #006699;',
        -            3 => 'color: #008000; font-style: italic; font-weight: bold;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006633;',
        -            2 => 'color: #006633;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => 'http://docs.oracle.com/javase/7/docs/api/java/applet/{FNAME}.html',
        -        6 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/{FNAME}.html',
        -        7 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/color/{FNAME}.html',
        -        8 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/datatransfer/{FNAME}.html',
        -        9 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/dnd/{FNAME}.html',
        -        10 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/event/{FNAME}.html',
        -        11 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/font/{FNAME}.html',
        -        12 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/geom/{FNAME}.html',
        -        13 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/im/{FNAME}.html',
        -        14 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/im/spi/{FNAME}.html',
        -        15 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/image/{FNAME}.html',
        -        16 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/image/renderable/{FNAME}.html',
        -        17 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/print/{FNAME}.html',
        -        18 => 'http://docs.oracle.com/javase/7/docs/api/java/beans/{FNAME}.html',
        -        19 => 'http://docs.oracle.com/javase/7/docs/api/java/beans/beancontext/{FNAME}.html',
        -        20 => 'http://docs.oracle.com/javase/7/docs/api/java/io/{FNAME}.html',
        -        21 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/{FNAME}.html',
        -        22 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/{FNAME}.html',
        -        23 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/{FNAME}.html',
        -        24 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/management/{FNAME}.html',
        -        25 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/ref/{FNAME}.html',
        -        26 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/{FNAME}.html',
        -        27 => 'http://docs.oracle.com/javase/7/docs/api/java/math/{FNAME}.html',
        -        28 => 'http://docs.oracle.com/javase/7/docs/api/java/net/{FNAME}.html',
        -        29 => 'http://docs.oracle.com/javase/7/docs/api/java/nio/{FNAME}.html',
        -        30 => 'http://docs.oracle.com/javase/7/docs/api/java/nio/channels/{FNAME}.html',
        -        31 => 'http://docs.oracle.com/javase/7/docs/api/java/nio/channels/spi/{FNAME}.html',
        -        32 => 'http://docs.oracle.com/javase/7/docs/api/java/nio/charset/{FNAME}.html',
        -        33 => 'http://docs.oracle.com/javase/7/docs/api/java/nio/charset/spi/{FNAME}.html',
        -        34 => 'http://docs.oracle.com/javase/7/docs/api/java/rmi/{FNAME}.html',
        -        35 => 'http://docs.oracle.com/javase/7/docs/api/java/rmi/activation/{FNAME}.html',
        -        36 => 'http://docs.oracle.com/javase/7/docs/api/java/rmi/dgc/{FNAME}.html',
        -        37 => 'http://docs.oracle.com/javase/7/docs/api/java/rmi/registry/{FNAME}.html',
        -        38 => 'http://docs.oracle.com/javase/7/docs/api/java/rmi/server/{FNAME}.html',
        -        39 => 'http://docs.oracle.com/javase/7/docs/api/java/security/{FNAME}.html',
        -        40 => 'http://docs.oracle.com/javase/7/docs/api/java/security/acl/{FNAME}.html',
        -        41 => 'http://docs.oracle.com/javase/7/docs/api/java/security/cert/{FNAME}.html',
        -        42 => 'http://docs.oracle.com/javase/7/docs/api/java/security/interfaces/{FNAME}.html',
        -        43 => 'http://docs.oracle.com/javase/7/docs/api/java/security/spec/{FNAME}.html',
        -        44 => 'http://docs.oracle.com/javase/7/docs/api/java/sql/{FNAME}.html',
        -        45 => 'http://docs.oracle.com/javase/7/docs/api/java/text/{FNAME}.html',
        -        46 => 'http://docs.oracle.com/javase/7/docs/api/java/util/{FNAME}.html',
        -        47 => 'http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/{FNAME}.html',
        -        48 => 'http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/{FNAME}.html',
        -        49 => 'http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/{FNAME}.html',
        -        50 => 'http://docs.oracle.com/javase/7/docs/api/java/util/jar/{FNAME}.html',
        -        51 => 'http://docs.oracle.com/javase/7/docs/api/java/util/logging/{FNAME}.html',
        -        52 => 'http://docs.oracle.com/javase/7/docs/api/java/util/prefs/{FNAME}.html',
        -        53 => 'http://docs.oracle.com/javase/7/docs/api/java/util/regex/{FNAME}.html',
        -        54 => 'http://docs.oracle.com/javase/7/docs/api/java/util/zip/{FNAME}.html',
        -        55 => 'http://docs.oracle.com/javase/7/docs/api/javax/accessibility/{FNAME}.html',
        -        56 => 'http://docs.oracle.com/javase/7/docs/api/javax/activity/{FNAME}.html',
        -        57 => 'http://docs.oracle.com/javase/7/docs/api/javax/crypto/{FNAME}.html',
        -        58 => 'http://docs.oracle.com/javase/7/docs/api/javax/crypto/interfaces/{FNAME}.html',
        -        59 => 'http://docs.oracle.com/javase/7/docs/api/javax/crypto/spec/{FNAME}.html',
        -        60 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/{FNAME}.html',
        -        61 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/event/{FNAME}.html',
        -        62 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/metadata/{FNAME}.html',
        -        63 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/plugins/bmp/{FNAME}.html',
        -        64 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/plugins/jpeg/{FNAME}.html',
        -        65 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/spi/{FNAME}.html',
        -        66 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/stream/{FNAME}.html',
        -        67 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/{FNAME}.html',
        -        68 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/loading/{FNAME}.html',
        -        69 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/modelmbean/{FNAME}.html',
        -        70 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/monitor/{FNAME}.html',
        -        71 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/openmbean/{FNAME}.html',
        -        72 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/relation/{FNAME}.html',
        -        73 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/remote/{FNAME}.html',
        -        74 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/remote/rmi/{FNAME}.html',
        -        75 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/timer/{FNAME}.html',
        -        76 => 'http://docs.oracle.com/javase/7/docs/api/javax/naming/{FNAME}.html',
        -        77 => 'http://docs.oracle.com/javase/7/docs/api/javax/naming/directory/{FNAME}.html',
        -        78 => 'http://docs.oracle.com/javase/7/docs/api/javax/naming/event/{FNAME}.html',
        -        79 => 'http://docs.oracle.com/javase/7/docs/api/javax/naming/ldap/{FNAME}.html',
        -        80 => 'http://docs.oracle.com/javase/7/docs/api/javax/naming/spi/{FNAME}.html',
        -        81 => 'http://docs.oracle.com/javase/7/docs/api/javax/net/{FNAME}.html',
        -        82 => 'http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/{FNAME}.html',
        -        83 => 'http://docs.oracle.com/javase/7/docs/api/javax/print/{FNAME}.html',
        -        84 => 'http://docs.oracle.com/javase/7/docs/api/javax/print/attribute/{FNAME}.html',
        -        85 => 'http://docs.oracle.com/javase/7/docs/api/javax/print/attribute/standard/{FNAME}.html',
        -        86 => 'http://docs.oracle.com/javase/7/docs/api/javax/print/event/{FNAME}.html',
        -        87 => 'http://docs.oracle.com/javase/7/docs/api/javax/rmi/{FNAME}.html',
        -        88 => 'http://docs.oracle.com/javase/7/docs/api/javax/rmi/CORBA/{FNAME}.html',
        -        89 => 'http://docs.oracle.com/javase/7/docs/api/javax/rmi/ssl/{FNAME}.html',
        -        90 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/{FNAME}.html',
        -        91 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/{FNAME}.html',
        -        92 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/kerberos/{FNAME}.html',
        -        93 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/login/{FNAME}.html',
        -        94 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/spi/{FNAME}.html',
        -        95 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/x500/{FNAME}.html',
        -        96 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/{FNAME}.html',
        -        97 => 'http://docs.oracle.com/javase/7/docs/api/javax/sound/midi/{FNAME}.html',
        -        98 => 'http://docs.oracle.com/javase/7/docs/api/javax/sound/midi/spi/{FNAME}.html',
        -        99 => 'http://docs.oracle.com/javase/7/docs/api/javax/sound/sampled/{FNAME}.html',
        -        100 => 'http://docs.oracle.com/javase/7/docs/api/javax/sound/sampled/spi/{FNAME}.html',
        -        101 => 'http://docs.oracle.com/javase/7/docs/api/javax/sql/{FNAME}.html',
        -        102 => 'http://docs.oracle.com/javase/7/docs/api/javax/sql/rowset/{FNAME}.html',
        -        103 => 'http://docs.oracle.com/javase/7/docs/api/javax/sql/rowset/serial/{FNAME}.html',
        -        104 => 'http://docs.oracle.com/javase/7/docs/api/javax/sql/rowset/spi/{FNAME}.html',
        -        105 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/{FNAME}.html',
        -        106 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/border/{FNAME}.html',
        -        107 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/colorchooser/{FNAME}.html',
        -        108 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/event/{FNAME}.html',
        -        109 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/filechooser/{FNAME}.html',
        -        110 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/{FNAME}.html',
        -        111 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/basic/{FNAME}.html',
        -        112 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/metal/{FNAME}.html',
        -        113 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/multi/{FNAME}.html',
        -        114 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/synth/{FNAME}.html',
        -        115 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/table/{FNAME}.html',
        -        116 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/text/{FNAME}.html',
        -        117 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/text/html/{FNAME}.html',
        -        118 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/text/html/parser/{FNAME}.html',
        -        119 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/text/rtf/{FNAME}.html',
        -        120 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/tree/{FNAME}.html',
        -        121 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/undo/{FNAME}.html',
        -        122 => 'http://docs.oracle.com/javase/7/docs/api/javax/transaction/{FNAME}.html',
        -        123 => 'http://docs.oracle.com/javase/7/docs/api/javax/transaction/xa/{FNAME}.html',
        -        124 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/{FNAME}.html',
        -        125 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/datatype/{FNAME}.html',
        -        126 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/namespace/{FNAME}.html',
        -        127 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/parsers/{FNAME}.html',
        -        128 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/{FNAME}.html',
        -        129 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/dom/{FNAME}.html',
        -        130 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/sax/{FNAME}.html',
        -        131 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/stream/{FNAME}.html',
        -        132 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/validation/{FNAME}.html',
        -        133 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/xpath/{FNAME}.html',
        -        134 => 'http://docs.oracle.com/javase/7/docs/api/org/ietf/jgss/{FNAME}.html',
        -        135 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CORBA/{FNAME}.html',
        -        136 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CORBA/DynAnyPackage/{FNAME}.html',
        -        137 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CORBA/TypeCodePackage/{FNAME}.html',
        -        138 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CORBA/portable/{FNAME}.html',
        -        139 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CosNaming/{FNAME}.html',
        -        140 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CosNaming/NamingContextExtPackage/{FNAME}.html',
        -        141 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CosNaming/NamingContextPackage/{FNAME}.html',
        -        142 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/Dynamic/{FNAME}.html',
        -        143 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/DynamicAny/{FNAME}.html',
        -        144 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/DynamicAny/DynAnyFactoryPackage/{FNAME}.html',
        -        145 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/DynamicAny/DynAnyPackage/{FNAME}.html',
        -        146 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/IOP/{FNAME}.html',
        -        147 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/IOP/CodecFactoryPackage/{FNAME}.html',
        -        148 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/IOP/CodecPackage/{FNAME}.html',
        -        149 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/Messaging/{FNAME}.html',
        -        150 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableInterceptor/{FNAME}.html',
        -        151 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableInterceptor/ORBInitInfoPackage/{FNAME}.html',
        -        152 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableServer/{FNAME}.html',
        -        153 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableServer/CurrentPackage/{FNAME}.html',
        -        154 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableServer/POAManagerPackage/{FNAME}.html',
        -        155 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableServer/POAPackage/{FNAME}.html',
        -        156 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableServer/ServantLocatorPackage/{FNAME}.html',
        -        157 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/SendingContext/{FNAME}.html',
        -        158 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/stub/java/rmi/{FNAME}.html',
        -        159 => 'http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/{FNAME}.html',
        -        160 => 'http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/bootstrap/{FNAME}.html',
        -        161 => 'http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/events/{FNAME}.html',
        -        162 => 'http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/ls/{FNAME}.html',
        -        163 => 'http://docs.oracle.com/javase/7/docs/api/org/xml/sax/{FNAME}.html',
        -        164 => 'http://docs.oracle.com/javase/7/docs/api/org/xml/sax/ext/{FNAME}.html',
        -        165 => 'http://docs.oracle.com/javase/7/docs/api/org/xml/sax/helpers/{FNAME}.html',
        -        /* ambiguous class names (appear in more than one package) */
        -        166 => 'http://www.google.com/search?sitesearch=docs.oracle.com&q=allinurl%3Ajavase+docs+api+{FNAME}'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        /* Java does not use '::' */
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => '(?|^&"\'])',
        -            'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-;"\'])'
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/javascript.php b/vendor/easybook/geshi/geshi/javascript.php
        deleted file mode 100644
        index d2d854c..0000000
        --- a/vendor/easybook/geshi/geshi/javascript.php
        +++ /dev/null
        @@ -1,173 +0,0 @@
        - 'Javascript',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Regular Expressions
        -        2 => "/(?<=[\\s^])(s|tr|y)\\/(?!\*)(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])+(? GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            //reserved/keywords; also some non-reserved keywords
        -            'break','case','catch','const','continue',
        -            'default','delete','do',
        -            'else',
        -            'finally','for','function',
        -            'get','goto',
        -            'if','in','instanceof',
        -            'new',
        -            'prototype',
        -            'return',
        -            'set','static','switch',
        -            'this','throw','try','typeof',
        -            'var','void'
        -            ),
        -        2 => array(
        -            //reserved/non-keywords; metaconstants
        -            'false','null','true','undefined','NaN','Infinity'
        -            ),
        -        3 => array(
        -            //magic properties/functions
        -            '__proto__','__defineGetter__','__defineSetter__','hasOwnProperty','hasProperty'
        -            ),
        -        4 => array(
        -            //type constructors
        -            'Object', 'Function', 'Date', 'Math', 'String', 'Number', 'Boolean', 'Array'
        -            ),
        -        5 => array(
        -            //reserved, but invalid in language
        -            'abstract','boolean','byte','char','class','debugger','double','enum','export','extends',
        -            'final','float','implements','import','int','interface','long','native',
        -            'short','super','synchronized','throws','transient','volatile'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}',
        -        '+', '-', '*', '/', '%',
        -        '!', '@', '&', '|', '^',
        -        '<', '>', '=',
        -        ',', ';', '?', ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000066; font-weight: bold;',
        -            2 => 'color: #003366; font-weight: bold;',
        -            3 => 'color: #000066;',
        -            5 => 'color: #FF0000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #006600; font-style: italic;',
        -            2 => 'color: #009966; font-style: italic;',
        -            'MULTI' => 'color: #006600; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #3366CC;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #CC0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #660066;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => ''
        -    ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            ''
        -            ),
        -        1 => array(
        -            ''
        -            )
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => true
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/jcl.php b/vendor/easybook/geshi/geshi/jcl.php
        deleted file mode 100644
        index 7d9c548..0000000
        --- a/vendor/easybook/geshi/geshi/jcl.php
        +++ /dev/null
        @@ -1,155 +0,0 @@
        - 'JCL',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        // Comments identified using REGEX
        -        // Comments start with //* but should not be followed by % (TWS) or + (some JES3 stmts)
        -        3 => "\/\/\*[^%](.*?)(\n)"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'COMMAND', 'CNTL', 'DD', 'ENDCNTL', 'EXEC', 'IF', 'THEN', 'ELSE',
        -            'ENDIF', 'JCLLIB', 'JOB', 'OUTPUT', 'PEND',
        -            'PROC', 'SET', 'XMIT'
        -            ),
        -        2 => array (
        -            'PGM','CLASS','NOTIFY','MSGCLASS','DSN','KEYLEN','LABEL','LIKE',
        -            'RECFM','LRECL','DCB','DSORG','BLKSIZE','SPACE','STORCLAS',
        -            'DUMMY','DYNAM','AVGREC','BURST','DISP','UNIT','VOLUME',
        -            'MSGLEVEL','REGION'
        -            ),
        -        // Keywords set 3: DFSORT, ICETOOL
        -        3 => array (
        -            'ALTSEQ','DEBUG','END','INCLUDE','INREC','MERGE','MODS','OMIT',
        -            'OPTION','OUTFIL','OUTREC','RECORD','SORT','SUM',
        -            'COPY','COUNT','DEFAULTS','DISPLAY','MODE','OCCUR','RANGE',
        -            'SELECT','STATS','UNIQUE','VERIFY'
        -            ),
        -        // Keywords set 4: IDCAMS
        -        4 => array (
        -            'ALTER','BLDINDEX','CNVTCAT','DEFINE','ALIAS','ALTERNATEINDEX',
        -            'CLUSTER','GENERATIONDATAGROUP','GDG','NONVSAM','PAGESPACE','PATH',
        -            /* 'SPACE',*/'USERCATALOG','DELETE','EXAMINE','EXPORT','DISCONNECT',
        -            'EXPORTRA','IMPORT','CONNECT','IMPORTRA','LISTCAT','LISTCRA',
        -            'PRINT','REPRO','RESETCAT'//,'VERIFY'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(',')','=',',','>','<'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #FF0000;',
        -            2 => 'color: #21A502;',
        -            3 => 'color: #FF00FF;',
        -            4 => 'color: #876C00;'
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #0000FF;',
        -            //1 => 'color: #0000FF;',
        -            //2 => 'color: #0000FF;',
        -            3 => 'color: #0000FF;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #FF7400;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #66CC66;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #336633;'
        -            ),
        -        'METHODS' => array(
        -            1 => '',
        -            2 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #FF7400;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #6B1F6B;',
        -            1 => 'color: #6B1F6B;',
        -            2 => 'color: #6B1F6B;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        // JCL book at IBM Bookshelf is http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/handheld/Connected/BOOKS/IEA2B680/CONTENTS?SHELF=&DT=20080604022956#3.1
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        // The following regular expressions solves three purposes
        -        // - Identify Temp Variables in JCL (e.g. &&TEMP)
        -        // - Symbolic variables in JCL (e.g. &SYSUID)
        -        // - TWS OPC Variables (e.g. %OPC)
        -        // Thanks to Simon for pointing me to this
        -        0 => '&&[a-zA-Z]{1,8}[0-9]{0,}',
        -        1 => '&[a-zA-Z]{1,8}[0-9]{0,}',
        -        2 => '&|\?|%[a-zA-Z]{1,8}[0-9]{0,}'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        diff --git a/vendor/easybook/geshi/geshi/jquery.php b/vendor/easybook/geshi/geshi/jquery.php
        deleted file mode 100644
        index 17a6a21..0000000
        --- a/vendor/easybook/geshi/geshi/jquery.php
        +++ /dev/null
        @@ -1,237 +0,0 @@
        - 'jQuery',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    //Regular Expressions
        -    'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
        -            'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
        -            'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
        -            'while', 'write', 'with'
        -            ),
        -        2 => array(
        -            'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
        -            'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
        -            'protected', 'public', 'super', 'true', 'use', 'var'
        -            ),
        -        3 => array(
        -            // common functions for Window object
        -            'alert', 'back', 'close', 'confirm', 'forward', 'home',
        -            'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
        -            'onresize', 'onunload', 'open', 'print', 'prompt', 'status',
        -            //'blur', 'focus', 'scroll', // Duplicate with kw9
        -            //'stop', //Duplicate with kw10
        -            ),
        -        4 => array(
        -            // jQuery Core Functions
        -            'jQuery', 'each', 'size', 'length', 'selector', 'context', 'eq',
        -            'index', 'data', 'removeData', 'queue', 'dequeue', 'noConflict'
        -            //'get', //Duplicate with kw11
        -            ),
        -        5 => array(
        -            // jQuery Attribute Functions
        -            'attr', 'removeAttr', 'addClass', 'hasClass', 'removeClass', 'toggleClass',
        -            'html', 'text', 'val',
        -            ),
        -        6 => array(
        -            // jQuery Traversing Functions
        -            'filter', 'not', 'slice', 'add', 'children', 'closest',
        -            'contents', 'find', 'next', 'nextAll', 'parent', 'parents',
        -            'prev', 'prevAll', 'siblings', 'andSelf', 'end',
        -            //'is',  //Dup with kw1
        -            //'offsetParent', //Duplicate with kw8
        -            //'map', //Duplicate with kw12
        -            ),
        -        7 => array(
        -            // jQuery Manipulation Functions
        -            'append', 'appendTo', 'prepend', 'prependTo', 'after', 'before', 'insertAfter',
        -            'insertBefore', 'wrap', 'wrapAll', 'wrapInner', 'replaceWith', 'replaceAll',
        -            'empty', 'remove', 'clone',
        -            ),
        -        8 => array(
        -            // jQuery CSS Functions
        -            'css', 'offset', 'offsetParent', 'position', 'scrollTop', 'scrollLeft',
        -            'height', 'width', 'innerHeight', 'innerWidth', 'outerHeight', 'outerWidth',
        -            ),
        -        9 => array(
        -            // jQuery Events Functions
        -            'ready', 'bind', 'one', 'trigger', 'triggerHandler', 'unbind', 'live',
        -            'die', 'hover', 'blur', 'change', 'click', 'dblclick', 'error',
        -            'focus', 'keydown', 'keypress', 'keyup', 'mousedown', 'mouseenter',
        -            'mouseleave', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'resize',
        -            'scroll', 'select', 'submit', 'unload',
        -            //'toggle', //Duplicate with kw10
        -            //'load', //Duplicate with kw11
        -            ),
        -        10 => array(
        -            // jQuery Effects Functions
        -            'show', 'hide', 'toggle', 'slideDown', 'slideUp', 'slideToggle', 'fadeIn',
        -            'fadeOut', 'fadeTo', 'animate', 'stop',
        -            ),
        -        11 => array(
        -            // jQuery Ajax Functions
        -            'ajax', 'load', 'get', 'getJSON', 'getScript', 'post', 'ajaxComplete',
        -            'ajaxError', 'ajaxSend', 'ajaxStart', 'ajaxStop', 'ajaxSuccess', 'ajaxSetup',
        -            'serialize', 'serializeArray',
        -            ),
        -        12 => array(
        -            // jQuery Utility Functions
        -            'support', 'browser', 'version', 'boxModal', 'extend', 'grep', 'makeArray',
        -            'map', 'inArray', 'merge', 'unique', 'isArray', 'isFunction', 'trim',
        -            'param',
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array(
        -            '(', ')', '[', ']', '{', '}',
        -            '+', '-', '*', '/', '%',
        -            '!', '@', '&', '|', '^',
        -            '<', '>', '=',
        -            ',', ';', '?', ':'
        -            ),
        -        1 => array(
        -            '$'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false,
        -        7 => false,
        -        8 => false,
        -        9 => false,
        -        10 => false,
        -        11 => false,
        -        12 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000066; font-weight: bold;',
        -            2 => 'color: #003366; font-weight: bold;',
        -            3 => 'color: #000066;',
        -            4 => 'color: #000066;',
        -            5 => 'color: #000066;',
        -            6 => 'color: #000066;',
        -            7 => 'color: #000066;',
        -            8 => 'color: #000066;',
        -            9 => 'color: #000066;',
        -            10 => 'color: #000066;',
        -            11 => 'color: #000066;',
        -            12 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #006600; font-style: italic;',
        -            2 => 'color: #009966; font-style: italic;',
        -            'MULTI' => 'color: #006600; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #3366CC;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #CC0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #660066;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;',
        -            1 => 'color: #000066;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => 'http://docs.jquery.com/Core/{FNAME}',
        -        5 => 'http://docs.jquery.com/Attributes/{FNAME}',
        -        6 => 'http://docs.jquery.com/Traversing/{FNAME}',
        -        7 => 'http://docs.jquery.com/Manipulation/{FNAME}',
        -        8 => 'http://docs.jquery.com/CSS/{FNAME}',
        -        9 => 'http://docs.jquery.com/Events/{FNAME}',
        -        10 => 'http://docs.jquery.com/Effects/{FNAME}',
        -        11 => 'http://docs.jquery.com/Ajax/{FNAME}',
        -        12 => 'http://docs.jquery.com/Utilities/{FNAME}'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            ''
        -            ),
        -        1 => array(
        -            ''
        -            )
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => true
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/kixtart.php b/vendor/easybook/geshi/geshi/kixtart.php
        deleted file mode 100644
        index 42ffa42..0000000
        --- a/vendor/easybook/geshi/geshi/kixtart.php
        +++ /dev/null
        @@ -1,327 +0,0 @@
        - 'KiXtart',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'While', 'Loop',
        -            'Use',
        -            'Small',
        -            'Sleep',
        -            'Shell',
        -            'SetTime',
        -            'SetM',
        -            'SetL',
        -            'Set',
        -            'Select', 'Case',
        -            'Run',
        -            'Return',
        -            'Redim',
        -            'RD',
        -            'Quit',
        -            'Play',
        -            'Move',
        -            'MD',
        -            'Include',
        -            'If', 'Else', 'Endif',
        -            'GoTo',
        -            'GoSub',
        -            'Go',
        -            'Global',
        -            'GetS',
        -            'Get',
        -            'Function', 'Endfunction',
        -            'For', 'Next',
        -            'Each',
        -            'FlushKb',
        -            'Exit',
        -            'Do', 'Until',
        -            'Display',
        -            'Dim',
        -            'Del',
        -            'Debug',
        -            'Copy',
        -            'Cookie1',
        -            'Color',
        -            'CLS',
        -            'CD',
        -            'Call',
        -            'Break',
        -            'Big',
        -            'Beep',
        -            ),
        -        2 => array(
        -            '@Address',
        -            '@Build',
        -            '@Color',
        -            '@Comment',
        -            '@CPU',
        -            '@CRLF',
        -            '@CSD',
        -            '@CurDir',
        -            '@Date',
        -            '@Day',
        -            '@Domain',
        -            '@DOS',
        -            '@Error',
        -            '@FullName',
        -            '@HomeDir',
        -            '@HomeDrive',
        -            '@HomeShr',
        -            '@HostName',
        -            '@InWin',
        -            '@IPaddressX',
        -            '@KiX',
        -            '@LanRoot',
        -            '@LDomain',
        -            '@LDrive',
        -            '@LM',
        -            '@LogonMode',
        -            '@LongHomeDir',
        -            '@LServer',
        -            '@MaxPWAge',
        -            '@MDayNo',
        -            '@MHz',
        -            '@MonthNo',
        -            '@Month',
        -            '@MSecs',
        -            '@OnWoW64',
        -            '@PID',
        -            '@PrimaryGroup',
        -            '@Priv',
        -            '@ProductSuite',
        -            '@ProductType',
        -            '@PWAge',
        -            '@RAS',
        -            '@Result',
        -            '@RServer',
        -            '@ScriptDir',
        -            '@ScriptExe',
        -            '@ScriptName',
        -            '@SError',
        -            '@SID',
        -            '@Site',
        -            '@StartDir',
        -            '@SysLang',
        -            '@Ticks',
        -            '@Time',
        -            '@TsSession',
        -            '@UserID',
        -            '@UserLang',
        -            '@WDayNo',
        -            '@Wksta',
        -            '@WUserID',
        -            '@YDayNo',
        -            '@Year',
        -            ),
        -        3 => array(
        -            'WriteValue',
        -            'WriteProfileString',
        -            'WriteLine',
        -            'VarTypeName',
        -            'VarType',
        -            'Val',
        -            'UnloadHive',
        -            'UCase',
        -            'Ubound',
        -            'Trim',
        -            'Substr',
        -            'SRnd',
        -            'Split',
        -            'SidToName',
        -            'ShutDown',
        -            'ShowProgramGroup',
        -            'SetWallpaper',
        -            'SetTitle',
        -            'SetSystemState',
        -            'SetOption',
        -            'SetFocus',
        -            'SetFileAttr',
        -            'SetDefaultPrinter',
        -            'SetConsole',
        -            'SetAscii',
        -            'SendMessage',
        -            'SendKeys',
        -            'SaveKey',
        -            'RTrim',
        -            'Round',
        -            'Rnd',
        -            'Right',
        -            'RedirectOutput',
        -            'ReadValue',
        -            'ReadType',
        -            'ReadProfileString',
        -            'ReadLine',
        -            'Open',
        -            'MessageBox',
        -            'MemorySize',
        -            'LTrim',
        -            'Logoff',
        -            'LogEvent',
        -            'LoadKey',
        -            'LoadHive',
        -            'Len',
        -            'Left',
        -            'LCase',
        -            'KeyExist',
        -            'KbHit',
        -            'Join',
        -            'IsDeclared',
        -            'Int',
        -            'InStrRev',
        -            'InStr',
        -            'InGroup',
        -            'IIF',
        -            'GetObject',
        -            'GetFileVersion',
        -            'GetFileTime',
        -            'GetFileSize',
        -            'GetFileAttr',
        -            'GetDiskSpace',
        -            'FreeFileHandle',
        -            'FormatNumber',
        -            'Fix',
        -            'ExpandEnvironmentVars',
        -            'Exist',
        -            'Execute',
        -            'EnumValue',
        -            'EnumLocalGroup',
        -            'EnumKey',
        -            'EnumIpInfo',
        -            'EnumGroup',
        -            'Dir',
        -            'DelValue',
        -            'DelTree',
        -            'DelProgramItem',
        -            'DelProgramGroup',
        -            'DelPrinterConnection',
        -            'DelKey',
        -            'DecToHex',
        -            'CStr',
        -            'CreateObject',
        -            'CompareFileTimes',
        -            'Close',
        -            'ClearEventLog',
        -            'CInt',
        -            'Chr',
        -            'CDbl',
        -            'Box',
        -            'BackupEventLog',
        -            'At',
        -            'AScan',
        -            'Asc',
        -            'AddProgramItem',
        -            'AddProgramGroup',
        -            'AddPrinterConnection',
        -            'AddKey',
        -            'Abs'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '?', ':', '+', '-', '*', '/', '&', '|', '^', '~', '<', '>', '='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://www.kixtart.org/manual/Commands/{FNAMEL}.htm',
        -        2 => '',
        -        3 => 'http://www.kixtart.org/manual/Functions/{FNAMEL}.htm'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => true,
        -        2 => true,
        -        3 => true
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/klonec.php b/vendor/easybook/geshi/geshi/klonec.php
        deleted file mode 100644
        index 4831b13..0000000
        --- a/vendor/easybook/geshi/geshi/klonec.php
        +++ /dev/null
        @@ -1,280 +0,0 @@
        - 'KLone C',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),//#pour precede les include de C
        -    'COMMENT_MULTI' => array('/*' => '*/', '' ),//comentaires C et KLone suivi de ceux pour HTML
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(//mots-cles C
        -            'if', 'return', 'while', 'case', 'class', 'continue', 'default',
        -            'do', 'else', 'for', 'switch', 'goto',
        -            'null', 'break', 'true', 'enum', 'extern', 'inline', 'false'
        -            ),
        -        2 => array(//mots-cles KLone
        -            'out', 'request', 'response',
        -            ),
        -        3 => array(//fonctions C usuelles
        -            'printf', 'malloc', 'fopen', 'fclose', 'free', 'fputs', 'fgets', 'feof', 'fwrite',
        -            'perror', 'ferror', 'qsort', 'stats', 'sscanf', 'scanf',
        -            'strdup', 'strcpy', 'strcmp', 'strncpy', 'strcasecmp', 'cat', 'strcat', 'strstr',
        -            'strlen', 'strtof', 'strtod', 'strtok', 'towlower', 'towupper',
        -            'cd', 'system', 'exit', 'exec', 'fork', 'vfork', 'kill', 'signal', 'syslog',
        -            'usleep', 'utime', 'wait', 'waitpid', 'waitid',
        -            'ceil', 'eval', 'round', 'floor',
        -            'atoi', 'atol', 'abs', 'cos', 'sin', 'tan', 'acos', 'asin', 'atan', 'exp',
        -            'time', 'ctime', 'localtime', 'asctime', 'gmtime', 'difftime', 'date'
        -            ),
        -        4 => array(//fonctions KLone usuelles
        -            'request_get_cookies', 'request_get_cookie', 'request_get_args', 'request_get_arg',
        -            'request_io', 'request_get_uri', 'request_get_filename', 'request_get_query_string', 'request_get_path_info',
        -            'request_get_if_modified_since', 'request_get_http', 'request_get_client_request',
        -            'request_get_content_length', 'request_get_uploads', 'request_get_uploaded_file',
        -            'request_get_method', 'request_get_protocol', 'request_get_resolved_filename',
        -            'request_get_resolved_path_info', 'request_get_addr', 'request_get_peer_addr',
        -            'request_get_header', 'request_get_field', 'request_get_field_value',
        -            'response_set_content_encoding', 'response_disable_caching', 'response_enable_caching',
        -            'response_set_cookie', 'response_set_method', 'response_get_method',
        -            'response_print_header', 'response_set_field', 'response_del_field',
        -            'response_set_content_type', 'response_set_date', 'response_set_last_modified',
        -            'response_set_content_length', 'response_get_status', 'response_get_header',
        -            'response_io', 'response_redirect', 'response_set_status',
        -            'session_get_vars', 'session_get', 'session_set', 'session_age', 'session_clean', 'session_del',
        -            'io_type', 'io_pipe', 'io_dup', 'io_copy', 'io_seek', 'io_tell', 'io_close',
        -            'io_free', 'io_read', 'io_printf', 'io_flush', 'io_write', 'io_putc', 'io_getc',
        -            'io_get_until', 'io_gets', 'io_codec_add_head', 'io_codec_add_tail',
        -            'io_codecs_remove', 'io_name_set', 'io_name_get'
        -            ),
        -        5 => array(//types C
        -            'auto', 'char', 'const', 'double',  'float', 'int', 'long',
        -            'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
        -            'typedef', 'union', 'unsigned', 'void', 'volatile',
        -            'wchar_t', 'time_t', 'FILE'
        -            ),
        -        6 => array(//mots-cles HTML
        -            'a', 'abbr', 'acronym', 'address', 'applet',
        -
        -            'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b',
        -
        -            'caption', 'center', 'cite', 'code', 'colgroup', 'col',
        -
        -            'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt',
        -
        -            'em',
        -
        -            'fieldset', 'font', 'form', 'frame', 'frameset',
        -
        -            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html',
        -
        -            'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
        -
        -            'kbd',
        -
        -            'label', 'legend', 'link', 'li',
        -
        -            'map', 'meta',
        -
        -            'noframes', 'noscript',
        -
        -            'object', 'ol', 'optgroup', 'option',
        -
        -            'param', 'pre', 'p',
        -
        -            'q',
        -
        -            'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's',
        -
        -            'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt',
        -
        -            'ul', 'u',
        -
        -            'var',
        -            ),
        -        7 => array(//autres mots-cles HTML
        -            'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
        -            'background', 'bgcolor', 'border',
        -            'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
        -            'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
        -            'enctype',
        -            'face', 'for', 'frame', 'frameborder',
        -            'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
        -            'id', 'ismap',
        -            'label', 'lang', 'language', 'link', 'longdesc',
        -            'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
        -            'name', 'nohref', 'noresize', 'noshade', 'nowrap',
        -            'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
        -            'profile', 'prompt',
        -            'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
        -            'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
        -            'tabindex', 'target', 'text', 'title', 'type',
        -            'usemap',
        -            'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
        -            'width'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '<%=', '<%!', '<%', '%>'
        -            ),
        -        0 => array(
        -            '(', ')', '[', ']', '{', '}',
        -            '!', '%', '&', '|', '/',
        -            '<', '>',
        -            '=', '-', '+', '*',
        -            '.', ':', ',', ';', '^'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false,
        -        7 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100; font-weight: bold;',//pour les mots-cles C
        -            2 => 'color: #000000; font-weight: bold;',//pour les mots-cles KLone
        -            3 => 'color: #6600FF;',//pour les fonctions C
        -            4 => 'color: #6600FF;',//pour les fonctions Klone
        -            5 => 'color: #0099FF; font-weight: bold;',//pour les types C
        -            6 => 'color: #990099; font-weight: bold;',//pour les mots-cles HTML
        -            7 => 'color: #000066;'//pour les autres mots-cles HTML
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',//commentaire sur une ligne C et KLone
        -            2 => 'color: #339933;',//pour les #... en C
        -            'MULTI' => 'color: #808080; font-style: italic;'//commentaire sur plusieurs lignes C et KLone
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;',
        -            1 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array(
        -            0 => 'background-color:#ffccff; font-weight: bold; color:#000000;',
        -            1 => '',
        -            2 => '',
        -            3 => 'color: #00bbdd; font-weight: bold;',
        -            4 => 'color: #ddbb00;',
        -            5 => 'color: #009900;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
        -        4 => 'http://www.koanlogic.com/klone/api/html/globals.html',
        -        5 => '',
        -        6 => 'http://december.com/html/4/element/{FNAMEL}.html',
        -        7 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
        -    'SCRIPT_DELIMITERS' => array(
        -        //delimiteurs pour KLone
        -        0 => array(
        -            '<%=' => '%>'
        -            ),
        -        1 => array(
        -            '<%!' => '%>'
        -            ),
        -        2 => array(
        -            '<%' => '%>'
        -            ),
        -        //delimiteur pour HTML
        -        3 => array(
        -            ' '>'
        -            ),
        -        4 => array(
        -            '&' => ';'
        -            ),
        -        5 => array(
        -            '<' => '>'
        -            )
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => false,
        -        1 => true,
        -        2 => true,
        -        3 => false,
        -        4 => false,
        -        5 => true
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            6 => array(
        -                'DISALLOWED_BEFORE' => '(?<=<|<\/)',
        -                'DISALLOWED_AFTER' => '(?=\s|\/|>)',
        -            ),
        -            7 => array(
        -                'DISALLOWED_AFTER' => '(?=\s*=)',
        -            )
        -        )
        -    )
        -);
        diff --git a/vendor/easybook/geshi/geshi/klonecpp.php b/vendor/easybook/geshi/geshi/klonecpp.php
        deleted file mode 100644
        index d036820..0000000
        --- a/vendor/easybook/geshi/geshi/klonecpp.php
        +++ /dev/null
        @@ -1,308 +0,0 @@
        - 'KLone C++',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),//#pour precede les include de C
        -    'COMMENT_MULTI' => array('/*' => '*/', '' ),//comentaires C et KLone suivi de ceux pour HTML
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(//mots-cles C++
        -            'if', 'return', 'while', 'case', 'continue', 'default',
        -            'do', 'else', 'for', 'switch', 'goto',
        -            'break', 'true', 'enum', 'extern', 'inline', 'false',
        -            'errno', 'stdin', 'stdout', 'stderr',
        -            'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
        -            'try', 'catch', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
        -            'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class',
        -            'EDOM', 'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
        -            'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
        -            'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
        -            'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
        -            'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
        -            'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
        -            'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
        -            'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
        -            'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
        -            'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX',
        -            'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC'
        -            ),
        -        2 => array(//mots-cles KLone
        -            'out', 'request', 'response',
        -            ),
        -        3 => array(//fonctions C++ usuelles
        -            'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
        -            'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
        -            'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
        -            'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
        -            'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
        -            'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
        -            'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
        -            'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
        -            'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
        -            'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
        -            'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
        -            'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
        -            'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
        -            'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
        -            'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
        -            'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
        -            'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
        -            'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
        -            'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
        -            'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
        -            ),
        -        4 => array(//fonctions KLone usuelles
        -            'request_get_cookies', 'request_get_cookie', 'request_get_args', 'request_get_arg',
        -            'request_io', 'request_get_uri', 'request_get_filename', 'request_get_query_string', 'request_get_path_info',
        -            'request_get_if_modified_since', 'request_get_http', 'request_get_client_request',
        -            'request_get_content_length', 'request_get_uploads', 'request_get_uploaded_file',
        -            'request_get_method', 'request_get_protocol', 'request_get_resolved_filename',
        -            'request_get_resolved_path_info', 'request_get_addr', 'request_get_peer_addr',
        -            'request_get_header', 'request_get_field', 'request_get_field_value',
        -            'response_set_content_encoding', 'response_disable_caching', 'response_enable_caching',
        -            'response_set_cookie', 'response_set_method', 'response_get_method',
        -            'response_print_header', 'response_set_field', 'response_del_field',
        -            'response_set_content_type', 'response_set_date', 'response_set_last_modified',
        -            'response_set_content_length', 'response_get_status', 'response_get_header',
        -            'response_io', 'response_redirect', 'response_set_status',
        -            'session_get_vars', 'session_get', 'session_set', 'session_age', 'session_clean', 'session_del',
        -            'io_type', 'io_pipe', 'io_dup', 'io_copy', 'io_seek', 'io_tell', 'io_close',
        -            'io_free', 'io_read', 'io_printf', 'io_flush', 'io_write', 'io_putc', 'io_getc',
        -            'io_get_until', 'io_gets', 'io_codec_add_head', 'io_codec_add_tail',
        -            'io_codecs_remove', 'io_name_set', 'io_name_get'
        -            ),
        -        5 => array(//types C++
        -            'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
        -            'register', 'short', 'shortint', 'signed', 'static', 'struct',
        -            'typedef', 'union', 'unsigned', 'void', 'volatile', 'jmp_buf',
        -            'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
        -            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
        -            'string', 'wchar_t'
        -            ),
        -        6 => array(//mots-cles HTML
        -            'a', 'abbr', 'acronym', 'address', 'applet',
        -
        -            'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b',
        -
        -            'caption', 'center', 'cite', 'code', 'colgroup', 'col',
        -
        -            'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt',
        -
        -            'em',
        -
        -            'fieldset', 'font', 'form', 'frame', 'frameset',
        -
        -            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html',
        -
        -            'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
        -
        -            'kbd',
        -
        -            'label', 'legend', 'link', 'li',
        -
        -            'map', 'meta',
        -
        -            'noframes', 'noscript',
        -
        -            'object', 'ol', 'optgroup', 'option',
        -
        -            'param', 'pre', 'p',
        -
        -            'q',
        -
        -            'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's',
        -
        -            'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt',
        -
        -            'ul', 'u',
        -
        -            'var',
        -            ),
        -        7 => array(//autres mots-cles HTML
        -            'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
        -            'background', 'bgcolor', 'border',
        -            'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
        -            'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
        -            'enctype',
        -            'face', 'for', 'frame', 'frameborder',
        -            'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
        -            'id', 'ismap',
        -            'label', 'lang', 'language', 'link', 'longdesc',
        -            'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
        -            'name', 'nohref', 'noresize', 'noshade', 'nowrap',
        -            'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
        -            'profile', 'prompt',
        -            'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
        -            'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
        -            'tabindex', 'target', 'text', 'title', 'type',
        -            'usemap',
        -            'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
        -            'width'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '<%=', '<%!', '<%', '%>'
        -            ),
        -        0 => array(
        -            '(', ')', '[', ']', '{', '}',
        -            '!', '%', '&', '|', '/',
        -            '<', '>',
        -            '=', '-', '+', '*',
        -            '.', ':', ',', ';', '^'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false,
        -        7 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100; font-weight: bold;',//pour les mots-cles C++
        -            2 => 'color: #000000; font-weight: bold;',//pour les mots-cles KLone
        -            3 => 'color: #6600FF;',//pour les fonctions C++
        -            4 => 'color: #6600FF;',//pour les fonctions Klone
        -            5 => 'color: #0099FF; font-weight: bold;',//pour les types C++
        -            6 => 'color: #990099; font-weight: bold;',//pour les mots-cles HTML
        -            7 => 'color: #000066;'//pour les autres mots-cles HTML
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',//commentaire sur une ligne C++ et KLone
        -            2 => 'color: #339933;',//pour les #... en C++
        -            'MULTI' => 'color: #808080; font-style: italic;'//commentaire sur plusieurs lignes C++ et KLone
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;',
        -            1 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array(
        -            0 => 'background-color:#ffccff; font-weight: bold; color:#000000;',
        -            1 => '',
        -            2 => '',
        -            3 => 'color: #00bbdd; font-weight: bold;',
        -            4 => 'color: #ddbb00;',
        -            5 => 'color: #009900;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
        -        4 => 'http://www.koanlogic.com/klone/api/html/globals.html',
        -        5 => '',
        -        6 => 'http://december.com/html/4/element/{FNAMEL}.html',
        -        7 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
        -    'SCRIPT_DELIMITERS' => array(
        -        //delimiteurs pour KLone
        -        0 => array(
        -            '<%=' => '%>'
        -            ),
        -        1 => array(
        -            '<%!' => '%>'
        -            ),
        -        2 => array(
        -            '<%' => '%>'
        -            ),
        -        //delimiteur pour HTML
        -        3 => array(
        -            ' '>'
        -            ),
        -        4 => array(
        -            '&' => ';'
        -            ),
        -        5 => array(
        -            '<' => '>'
        -            )
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => false,
        -        1 => true,
        -        2 => true,
        -        3 => false,
        -        4 => false,
        -        5 => true
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            6 => array(
        -                'DISALLOWED_BEFORE' => '(?<=<|<\/)',
        -                'DISALLOWED_AFTER' => '(?=\s|\/|>)',
        -            ),
        -            7 => array(
        -                'DISALLOWED_AFTER' => '(?=\s*=)',
        -            )
        -        )
        -    )
        -);
        diff --git a/vendor/easybook/geshi/geshi/latex.php b/vendor/easybook/geshi/geshi/latex.php
        deleted file mode 100644
        index 6925a16..0000000
        --- a/vendor/easybook/geshi/geshi/latex.php
        +++ /dev/null
        @@ -1,222 +0,0 @@
        - 'LaTeX',
        -    'COMMENT_SINGLE' => array(
        -        1 => '%'
        -        ),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'addlinespace','and','address','appendix','author','backmatter',
        -            'bfseries','bibitem','bigskip','blindtext','caption','captionabove',
        -            'captionbelow','cdot','centering','chapter','cite','color',
        -            'colorbox','date','dedication','def','definecolor','documentclass',
        -            'edef','else','email','emph','eqref','extratitle','fbox','fi',
        -            'flushleft','flushright','footnote','frac','frontmatter',
        -            'graphicspath','hfil','hfill','hfilll','hline','hspace','huge','ifx','include',
        -            'includegraphics','infty','input','int','item','itemsep',
        -            'KOMAoption','KOMAoptions','label','LaTeX','left','let','limits',
        -            'listfiles','listoffigures','listoftables','lowertitleback',
        -            'mainmatter','makeatletter','makeatother','makebox','makeindex',
        -            'maketitle','mbox','mediumskip','newcommand','newenvironment',
        -            'newpage','nocite','nonumber','pagestyle','par','paragraph',
        -            'parbox','parident','parskip','partial','publishers','raggedleft',
        -            'raggedright','raisebox','ref','renewcommand','renewenvironment',
        -            'right','rule','section','setlength','sffamily','subject',
        -            'subparagraph','subsection','subsubsection','subtitle','sum',
        -            'table','tableofcontents','textbf','textcolor','textit',
        -            'textnormal','textsuperscript','texttt','textwidth','thanks','title',
        -            'titlehead','today','ttfamily','uppertitleback','urlstyle',
        -            'usepackage','vfil','vfill','vfilll','vspace'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        "&", "\\", "{", "}", "[", "]"
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        1 => true,
        -        GESHI_COMMENTS => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #800000;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #2C922C; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 =>  'color: #000000; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            ),
        -        'STRINGS' => array(
        -            0 =>  'color: #000000;'
        -            ),
        -        'NUMBERS' => array(
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 =>  'color: #E02020; '
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'color: #8020E0; font-weight: normal;',  // Math inner
        -            2 => 'color: #C08020; font-weight: normal;', // [Option]
        -            3 => 'color: #8020E0; font-weight: normal;', // Maths
        -            4 => 'color: #800000; font-weight: normal;', // Structure: Labels
        -            5 => 'color: #00008B; font-weight: bold;',  // Structure (\section{->x<-})
        -            6 => 'color: #800000; font-weight: normal;', // Structure (\section)
        -            7 => 'color: #0000D0; font-weight: normal;', // Environment \end or \begin{->x<-} (brighter blue)
        -            8 => 'color: #C00000; font-weight: normal;', // Structure \end or \begin
        -            9 => 'color: #2020C0; font-weight: normal;', // {...}
        -            10 => 'color: #800000; font-weight: normal;', // \%, \& etc.
        -            11 => 'color: #E00000; font-weight: normal;', // \@keyword
        -            12 => 'color: #800000; font-weight: normal;', // \keyword
        -        ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://www.golatex.de/wiki/index.php?title=%5C{FNAME}',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        // Math inner
        -        1 => array(
        -            GESHI_SEARCH => "(\\\\begin\\{(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|alignat|flalign)\\})(.*)(\\\\end\\{\\2\\})",
        -            GESHI_REPLACE => '\3',
        -            GESHI_MODIFIERS => 'Us',
        -            GESHI_BEFORE => '\1',
        -            GESHI_AFTER => '\4'
        -            ),
        -        // [options]
        -        2 => array(
        -            GESHI_SEARCH => "(?<=\[).*(?=\])",
        -            GESHI_REPLACE => '\0',
        -            GESHI_MODIFIERS => 'Us',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        // Math mode with $ ... $
        -        3 => array(
        -            GESHI_SEARCH => "\\$.+\\$",
        -            GESHI_REPLACE => '\0',
        -            GESHI_MODIFIERS => 'Us',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        // Structure: Label
        -        4 => "\\\\(?:label|pageref|ref|cite)(?=[^a-zA-Z])",
        -        // Structure: sections
        -        5 => array(
        -            GESHI_SEARCH => "(\\\\(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph|addpart|addchap|addsec)\*?\\{)(.*)(?=\\})",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'U',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        // Structure: sections
        -        6 => "\\\\(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph|addpart|addchap|addsec)\*?(?=[^a-zA-Z])",
        -        // environment \begin{} and \end{} (i.e. the things inside the {})
        -        7 => array(
        -            GESHI_SEARCH => "(\\\\(?:begin|end)\\{)(.*)(?=\\})",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'U',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        // Structure \begin and \end
        -        8 => "\\\\(?:end|begin)(?=[^a-zA-Z])",
        -        // {parameters}
        -        9 => array(
        -            GESHI_SEARCH => "(?<=\\{)(?!<\|!REG3XP5!>).*?(?=\\})",
        -            GESHI_REPLACE => '\0',
        -            GESHI_MODIFIERS => 'Us',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        // \%, \& usw.
        -        10 => "\\\\(?:[_$%]|&)",
        -        //  \@keywords
        -        11 => "(?)\\\\@[a-zA-Z]+\*?",
        -        // \keywords
        -        12 => "(?)\\\\[a-zA-Z]+\*?",
        -
        -// ---------------------------------------------
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'COMMENTS' => array(
        -            'DISALLOWED_BEFORE' => '\\'
        -        ),
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?<=\\\\)",
        -            'DISALLOWED_AFTER' => "(?![A-Za-z0-9])"
        -        ),
        -        'ENABLE_FLAGS' => array(
        -            'NUMBERS' => GESHI_NEVER,
        -            'BRACKETS' => GESHI_NEVER
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/lb.php b/vendor/easybook/geshi/geshi/lb.php
        deleted file mode 100644
        index 8746ad2..0000000
        --- a/vendor/easybook/geshi/geshi/lb.php
        +++ /dev/null
        @@ -1,161 +0,0 @@
        - 'Liberty BASIC',
        -    'COMMENT_SINGLE' => array(1 => '\''),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'and', 'append', 'as', 'beep', 'bmpbutton', 'bmpsave', 'boolean',
        -            'button', 'byref', 'call', 'callback', 'calldll', 'callfn', 'case',
        -            'checkbox', 'close', 'cls', 'colordialog', 'combobox', 'confirm',
        -            'cursor', 'data', 'dialog', 'dim', 'dll', 'do', 'double', 'dump',
        -            'dword', 'else', 'end', 'error', 'exit', 'field', 'filedialog',
        -            'files', 'fontdialog', 'for', 'function', 'get', 'gettrim',
        -            'global', 'gosub', 'goto', 'graphicbox', 'graphics', 'groupbox',
        -            'if', 'input', 'kill', 'let', 'line', 'listbox', 'loadbmp',
        -            'locate', 'long', 'loop', 'lprint', 'mainwin', 'maphandle', 'menu',
        -            'mod', 'name', 'next', 'nomainwin', 'none', 'notice', 'on',
        -            'oncomerror', 'or', 'open', 'out', 'output', 'password', 'playmidi',
        -            'playwave', 'popupmenu', 'print', 'printerdialog', 'prompt', 'ptr',
        -            'put', 'radiobutton', 'random', 'randomize', 'read', 'readjoystick',
        -            'redim', 'rem', 'restore', 'resume', 'return', 'run', 'scan',
        -            'seek', 'select', 'short', 'sort', 'statictext', 'stop', 'stopmidi',
        -            'struct', 'stylebits', 'sub', 'text', 'textbox', 'texteditor',
        -            'then', 'timer', 'titlebar', 'to', 'trace', 'ulong', 'unloadbmp',
        -            'until', 'ushort', 'void', 'wait', 'window', 'wend', 'while',
        -            'word', 'xor'
        -            ),
        -        2 => array(
        -            'abs', 'acs', 'asc', 'asn', 'atn', 'chr$', 'cos', 'date$',
        -            'dechex$', 'eof', 'eval', 'eval$', 'exp', 'hbmp', 'hexdec', 'hwnd',
        -            'inp', 'input$', 'inputto$', 'instr', 'int', 'left$', 'len', 'lof',
        -            'log', 'lower$', 'max', 'midipos', 'mid$', 'min', 'mkdir', 'not',
        -            'right$', 'rmdir', 'rnd', 'sin', 'space$', 'sqr', 'str$', 'tab',
        -            'tan', 'time$', 'trim$', 'txcount', 'upper$', 'using', 'val',
        -            'winstring', 'word$'
        -            ),
        -        3 => array(
        -            'BackgroundColor$', 'Com', 'ComboboxColor$', 'ComError', 'ComErrorNumber',
        -            'CommandLine$', 'ComPortNumber', 'DefaultDir$',
        -            'DisplayHeight', 'DisplayWidth', 'Drives$', 'Err', 'Err$',
        -            'ForegroundColor$', 'Inkey$', 'Joy1x', 'Joy1y', 'Joy1z',
        -            'Joy1button1', 'Joy1button2', 'Joy2x', 'Joy2y', 'Joy2z',
        -            'Joy2button1', 'Joy2button2', 'ListboxColor$', 'MouseX', 'MouseY', 'Platform$',
        -            'PrintCollate', 'PrintCopies', 'PrinterFont$', 'PrinterName$', 'StartupDir$',
        -            'TextboxColor$', 'TexteditorColor$', 'Version$', 'WindowHeight',
        -            'WindowWidth', 'UpperLeftX', 'UpperLeftY'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '(', ')', '[', ']', '+', '-', '*', '/', '%', '=', '<', '>', ':', ',', '#'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000FF;',
        -            2 => 'color: #AD0080;',
        -            3 => 'color: #008080;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF0000;',
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            2 => array(
        -                //In LB, the second keyword list is a list of built-in functions,
        -                //and their names should not be highlighted unless being used
        -                //as a function name.
        -                'DISALLOWED_AFTER' => '(?=\s*\()'
        -                )
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/ldif.php b/vendor/easybook/geshi/geshi/ldif.php
        deleted file mode 100644
        index c085683..0000000
        --- a/vendor/easybook/geshi/geshi/ldif.php
        +++ /dev/null
        @@ -1,115 +0,0 @@
        - 'LDIF',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        ),
        -    'SYMBOLS' => array(
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => ''
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #933;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => ''
        -            ),
        -        'METHODS' => array(
        -            0 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #000066; font-weight: bold;',
        -            1 => 'color: #FF0000;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        0 => array(
        -            GESHI_SEARCH => '([a-zA-Z0-9_]+):(.+)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ':\\2'
        -            ),
        -        1 => array(
        -            // Evil hackery to get around GeSHi bug: <>" and ; are added so s can be matched
        -            // Explicit match on variable names because if a comment is before the first < of the span
        -            // gets chewed up...
        -            GESHI_SEARCH => '([<>";a-zA-Z0-9_]+):(.+)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1:',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/lisp.php b/vendor/easybook/geshi/geshi/lisp.php
        deleted file mode 100644
        index a230191..0000000
        --- a/vendor/easybook/geshi/geshi/lisp.php
        +++ /dev/null
        @@ -1,147 +0,0 @@
        - 'Lisp',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array(';|' => '|;'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'not','defun','princ','when',
        -            'eval','apply','funcall','quote','identity','function',
        -            'complement','backquote','lambda','set','setq','setf',
        -            'defmacro','gensym','make','symbol','intern',
        -            'name','value','plist','get',
        -            'getf','putprop','remprop','hash','array','aref',
        -            'car','cdr','caar','cadr','cdar','cddr','caaar','caadr','cadar',
        -            'caddr','cdaar','cdadr','cddar','cdddr','caaaar','caaadr',
        -            'caadar','caaddr','cadaar','cadadr','caddar','cadddr',
        -            'cdaaar','cdaadr','cdadar','cdaddr','cddaar','cddadr',
        -            'cdddar','cddddr','cons','list','append','reverse','last','nth',
        -            'nthcdr','member','assoc','subst','sublis','nsubst',
        -            'nsublis','remove','length',
        -            'mapc','mapcar','mapl','maplist','mapcan','mapcon','rplaca',
        -            'rplacd','nconc','delete','atom','symbolp','numberp',
        -            'boundp','null','listp','consp','minusp','zerop','plusp',
        -            'evenp','oddp','eq','eql','equal','cond','case','and','or',
        -            'let','l','if','prog','prog1','prog2','progn','go','return',
        -            'do','dolist','dotimes','catch','throw','error','cerror','break',
        -            'continue','errset','baktrace','evalhook','truncate','float',
        -            'rem','min','max','abs','sin','cos','tan','expt','exp','sqrt',
        -            'random','logand','logior','logxor','lognot','bignums','logeqv',
        -            'lognand','lognor','logorc2','logtest','logbitp','logcount',
        -            'integer','nil','parse-integer','make-list','print','write'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']',
        -        '!', '%', '^', '&',
        -        ' + ',' - ',' * ',' / ',
        -        '=','<','>',
        -        '.',':',',',';',
        -        '|'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #555;',
        -            1 => 'color: #555;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        '::', ':'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => '(? array(
        -            'MATCH_AFTER' => '[a-zA-Z][a-zA-Z0-9_\-]*'
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/llvm.php b/vendor/easybook/geshi/geshi/llvm.php
        deleted file mode 100644
        index b0fbce7..0000000
        --- a/vendor/easybook/geshi/geshi/llvm.php
        +++ /dev/null
        @@ -1,384 +0,0 @@
        - 'LLVM Intermediate Representation',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array(),
        -    'HARDQUOTE' => array("\"", "\""),
        -    'HARDESCAPE' => array("\"", "\\"),
        -    'HARDCHAR' => "\\",
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        // 1 => "#\\\\[nfrtv\$\"\n\\\\]#i",
        -        //Hexadecimal Char Specs
        -        // 2 => "#\\\\x[\da-fA-F]{1,2}#i",
        -        //Octal Char Specs
        -        // 3 => "#\\\\[0-7]{1,3}#",
        -        //String Parsing of Variable Names
        -        // 4 => "#\\$[a-z0-9_]+(?:\\[[a-z0-9_]+\\]|->[a-z0-9_]+)?|(?:\\{\\$|\\$\\{)[a-z0-9_]+(?:\\[('?)[a-z0-9_]*\\1\\]|->[a-z0-9_]+)*\\}#i",
        -        //Experimental extension supporting cascaded {${$var}} syntax
        -        // 5 => "#\$[a-z0-9_]+(?:\[[a-z0-9_]+\]|->[a-z0-9_]+)?|(?:\{\$|\$\{)[a-z0-9_]+(?:\[('?)[a-z0-9_]*\\1\]|->[a-z0-9_]+)*\}|\{\$(?R)\}#i",
        -        //Format String support in ""-Strings
        -        // 6 => "#%(?:%|(?:\d+\\\\\\\$)?\\+?(?:\x20|0|'.)?-?(?:\d+|\\*)?(?:\.\d+)?[bcdefFosuxX])#"
        -        ),
        -    'NUMBERS' =>
        -    GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        0 => array(
        -            'to', 'nuw', 'nsw', 'align', 'inbounds', 'entry', 'return'
        -            ),
        -        //Terminator Instructions
        -        1 => array(
        -            'ret', 'br', 'switch', 'indirectbr', 'invoke', 'unwind', 'unreachable'
        -            ),
        -        //Binary Operations
        -        2 => array(
        -            'add', 'fadd', 'sub', 'fsub', 'mul', 'fmul', 'udiv', 'sdiv', 'fdiv', 'urem', 'frem', 'srem'
        -            ),
        -        //Bitwise Binary Operations
        -        3 => array(
        -            'shl', 'lshr', 'ashr', 'and', 'or', 'xor'
        -            ),
        -        //Vector Operations
        -        4 => array(
        -            'extractelement', 'insertelement', 'shufflevector'
        -            ),
        -        //Aggregate Operations
        -        5 => array(
        -            'extractvalue', 'insertvalue'
        -            ),
        -        //Memory Access and Addressing Operations
        -        6 => array(
        -            'alloca', 'load', 'store', 'getelementptr'
        -            ),
        -        //Conversion Operations
        -        7 => array(
        -            'trunc', 'zext', 'sext', 'fptrunc', 'fpext', 'fptoui', 'fptosi',
        -            'uitofp', 'sitofp', 'ptrtoint', 'inttoptr', 'bitcast'
        -            ),
        -        //Other Operations
        -        8 => array(
        -            'icmp', 'fcmp', 'phi', 'select', 'call', 'va_arg'
        -            ),
        -        //Linkage Types
        -        9 => array(
        -            'private', 'linker_private', 'linker_private_weak', 'linker_private_weak_def_auto',
        -            'internal', 'available_externally', 'linkonce', 'common', 'weak', 'appending',
        -            'extern_weak', 'linkonce_odr', 'weak_odr', 'externally visible', 'dllimport', 'dllexport',
        -            ),
        -        //Calling Conventions
        -        10 => array(
        -            'ccc', 'fastcc', 'coldcc', 'cc 10'
        -            ),
        -        //Named Types
        -        11 => array(
        -            'type'
        -            ),
        -        //Parameter Attributes
        -        12 => array(
        -            'zeroext', 'signext', 'inreg', 'byval', 'sret', 'noalias', 'nocapture', 'nest'
        -            ),
        -        //Function Attributes
        -        13 => array(
        -            'alignstack', 'alwaysinline', 'inlinehint', 'naked', 'noimplicitfloat', 'noinline', 'noredzone', 'noreturn',
        -            'nounwind', 'optsize', 'readnone', 'readonly', 'ssp', 'sspreq',
        -            ),
        -        //Module-Level Inline Assembly
        -        14 => array(
        -            'module asm'
        -            ),
        -        //Data Layout
        -        15 => array(
        -            'target datalayout'
        -            ),
        -        //Primitive Types
        -        16 => array(
        -            'x86mmx',
        -            'void',
        -            'label',
        -            'metadata',
        -            'opaque'
        -            ),
        -        //Floating Point Types
        -        17 => array(
        -            'float', 'double', 'fp128', 'x86_fp80', 'ppc_fp128',
        -            ),
        -        //Simple Constants
        -        18 => array(
        -            'false', 'true', 'null'
        -            ),
        -        //Global Variable and Function Addresses
        -        19 => array(
        -            'global', 'addrspace', 'constant', 'section'
        -            ),
        -        //Functions
        -        20 => array(
        -            'declare', 'define'
        -            ),
        -        //Complex Constants
        -        21 => array(
        -            'zeroinitializer'
        -            ),
        -        //Undefined Values
        -        22 => array(
        -            'undef'
        -            ),
        -        //Addresses of Basic Blocks
        -        23 => array(
        -            'blockaddress'
        -            ),
        -        //Visibility Styles
        -        24 => array(
        -            'default', 'hidden', 'protected'
        -            ),
        -        25 => array(
        -            'volatile'
        -            ),
        -        26 => array(
        -            'tail'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array(
        -            '(', ')', '[', ']', '{', '}',
        -            '!', '@', '%', '&', '|', '/',
        -            '<', '>',
        -            '=', '-', '+', '*',
        -            '.', ':', ',', ';'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true,
        -        9 => true,
        -        10 => true,
        -        11 => true,
        -        12 => true,
        -        13 => true,
        -        14 => true,
        -        15 => true,
        -        16 => true,
        -        17 => true,
        -        18 => true,
        -        19 => true,
        -        20 => true,
        -        21 => true,
        -        22 => true,
        -        23 => true,
        -        24 => true,
        -        25 => true,
        -        26 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            0 => 'color: #209090;',
        -            1 => 'color: #0000F0;',
        -            2 => 'color: #00F000; font-weight: bold;',
        -            3 => 'color: #F00000;',
        -            4 => 'color: #00F0F0; font-weight: bold;',
        -            5 => 'color: #F000F0; font-weight: bold;',
        -            6 => 'color: #403020; font-weight: bold;',
        -            7 => 'color: #909090; font-weight: bold;',
        -            8 => 'color: #009090; font-weight: bold;',
        -            9 => 'color: #900090; font-weight: bold;',
        -            10 => 'color: #909000; font-weight: bold;',
        -            11 => 'color: #000090; font-weight: bold;',
        -            12 => 'color: #900000; font-weight: bold;',
        -            13 => 'color: #009000; font-weight: bold;',
        -            14 => 'color: #F0F090; font-weight: bold;',
        -            15 => 'color: #F090F0; font-weight: bold;',
        -            16 => 'color: #90F0F0; font-weight: bold;',
        -            17 => 'color: #9090F0; font-weight: bold;',
        -            18 => 'color: #90F090; font-weight: bold;',
        -            19 => 'color: #F09090; font-weight: bold;',
        -            20 => 'color: #4040F0; font-weight: bold;',
        -            21 => 'color: #40F040; font-weight: bold;',
        -            22 => 'color: #F04040; font-weight: bold;',
        -            23 => 'color: #F0F040; font-weight: bold;',
        -            24 => 'color: #F040F0; font-weight: bold;',
        -            25 => 'color: #40F0F0; font-weight: bold;',
        -            26 => 'color: #904040; font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #006699; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold; font-style: italic;',
        -            6 => 'color: #009933; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;',
        -            'HARD' => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #004000;',
        -            2 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;',
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #007088;',
        -            1 => 'color: #007088;',
        -            // 2 => 'color: #000088;',
        -            3 => 'color: #700088;',
        -            4 => 'color: #010088;',
        -            // 5 => 'color: #610088;',
        -            // 6 => 'color: #616088;',
        -            // 7 => 'color: #616988;',
        -            // 8 => 'color: #616908;',
        -            9 => 'color: #6109F8;',
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => '',
        -            4 => '',
        -            5 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        0 => '',
        -        1 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
        -        2 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
        -        3 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
        -        4 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
        -        5 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
        -        6 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
        -        7 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
        -        8 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
        -        9 => 'http://llvm.org/docs/LangRef.html#linkage_{FNAME}',
        -        10 => 'http://llvm.org/docs/LangRef.html#callingconv',
        -        11 => 'http://llvm.org/docs/LangRef.html#namedtypes',
        -        12 => 'http://llvm.org/docs/LangRef.html#paramattrs',
        -        13 => 'http://llvm.org/docs/LangRef.html#fnattrs',
        -        14 => 'http://llvm.org/docs/LangRef.html#moduleasm',
        -        15 => 'http://llvm.org/docs/LangRef.html#datalayout',
        -        16 => 'http://llvm.org/docs/LangRef.html#t_{FNAME}',
        -        17 => 'http://llvm.org/docs/LangRef.html#t_floating',
        -        18 => 'http://llvm.org/docs/LangRef.html#simpleconstants',
        -        19 => 'http://llvm.org/docs/LangRef.html#globalvars',
        -        20 => 'http://llvm.org/docs/LangRef.html#functionstructure',
        -        21 => 'http://llvm.org/docs/LangRef.html#complexconstants',
        -        22 => 'http://llvm.org/docs/LangRef.html#undefvalues',
        -        23 => 'http://llvm.org/docs/LangRef.html#blockaddress',
        -        24 => 'http://llvm.org/docs/LangRef.html#visibility',
        -        25 => 'http://llvm.org/docs/LangRef.html#volatile',
        -        26 => 'http://llvm.org/docs/LangRef.html#i_call',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Variables
        -        0 => '%[-a-zA-Z$\._][-a-zA-Z$\._0-9]*',
        -        //Labels
        -        // 1 => '[-a-zA-Z$\._0-9]+:',
        -        1 => '(?]*<)',
        -        //Strings
        -        // 2 => '"[^"]+"',
        -        //Unnamed variable slots
        -        3 => '%[-]?[0-9]+',
        -        //Integer Types
        -        4 => array(
        -            GESHI_SEARCH => '(? '\\0',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        //Comments
        -        // 5 => ';.*',
        -        //Integer literals
        -        // 6 => '\\b[-]?[0-9]+\\b',
        -        //Floating point constants
        -        // 7 => '\\b[-+]?[0-9]+\.[0-9]*\([eE][-+]?[0-9]+\)?\\b',
        -        //Hex constants
        -        // 8 => '\\b0x[0-9A-Fa-f]+\\b',
        -        //Global variables
        -        9 => array(
        -            GESHI_SEARCH => '@[-a-zA-Z$\._][-a-zA-Z$\._0-9]*',
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true
        -        ),
        -    'SCRIPT_DELIMITERS' => array(),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/locobasic.php b/vendor/easybook/geshi/geshi/locobasic.php
        deleted file mode 100644
        index 47de30e..0000000
        --- a/vendor/easybook/geshi/geshi/locobasic.php
        +++ /dev/null
        @@ -1,129 +0,0 @@
        - 'Locomotive Basic',
        -    'COMMENT_SINGLE' => array(1 => "'", 2 => 'REM'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            "AFTER", "AND", "AUTO", "BORDER", "BREAK", "CALL", "CAT", "CHAIN",
        -            "CLEAR", "CLG", "CLS", "CLOSEIN", "CLOSEOUT", "CONT", "CURSOR",
        -            "DATA", "DEF", "DEFINT", "DEFREAL", "DEFSTR", "DEG", "DELETE",
        -            "DERR", "DI", "DIM", "DRAW", "DRAWR", "EDIT", "EI", "ELSE", "END",
        -            "ENV", "ENT", "EOF", "ERASE", "ERL", "ERR", "ERROR", "EVERY",
        -            "FILL", "FN", "FOR", "FRAME", "GOSUB", "GOTO", "GRAPHICS", "HIMEM",
        -            "IF", "INK", "INPUT", "KEY", "LET", "LINE", "LIST", "LOAD",
        -            "LOCATE", "MASK", "MEMORY", "MERGE", "MODE", "MOVE", "MOVER", "NEW",
        -            "NEXT", "NOT", "ON", "OPENIN", "OPENOUT", "OR", "ORIGIN", "PAPER",
        -            "PEEK", "PEN", "PLOT", "PLOTR", "POKE", "PRINT", "RAD", "RANDOMIZE",
        -            "READ", "RELEASE", "REMAIN", "RENUM", "RESTORE", "RESUME", "RETURN",
        -            "RUN", "SAVE", "SPEED", "SOUND", "SPC", "SQ", "STEP", "STOP", "SWAP",
        -            "SYMBOL", "TAB", "TAG", "TAGOFF", "TEST", "TESTR", "TIME", "TO",
        -            "THEN", "TRON", "TROFF", "USING", "WAIT", "WEND", "WHILE", "WIDTH",
        -            "WINDOW", "WRITE", "XOR", "ZONE"
        -            ),
        -        2 => array(
        -            "ABS", "ASC", "ATN", "BIN", "CHR", "CINT", "COPYCHR", "COS",
        -            "CREAL", "DEC", "FIX", "FRE", "EXP", "HEX", "INKEY", "INP", "INSTR",
        -            "INT", "JOY", "LEFT", "LEN", "LOG", "LOG10", "LOWER", "MAX", "MID",
        -            "MIN", "MOD", "OUT", "PI", "POS", "RIGHT", "RND", "ROUND", "SGN",
        -            "SIN", "SPACE", "SQR", "STR", "STRING", "TAN", "UNT", "UPPER",
        -            "VAL", "VPOS", "XPOS", "YPOS"
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000088; font-weight: bold;',
        -            2 => 'color: #AA00AA; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080;',
        -            2 => 'color: #808080;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #008800;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0044ff;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/logtalk.php b/vendor/easybook/geshi/geshi/logtalk.php
        deleted file mode 100644
        index da249eb..0000000
        --- a/vendor/easybook/geshi/geshi/logtalk.php
        +++ /dev/null
        @@ -1,344 +0,0 @@
        - 'Logtalk',
        -    'COMMENT_SINGLE' => array(1 => '%'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(2 => "/0'./sim"),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'"),
        -    'HARDQUOTE' => array('"', '"'),
        -    'HARDESCAPE' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]+\\\\#",
        -        //Octal Char Specs
        -        3 => "#\\\\[0-7]+\\\\#"
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC |
        -        GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX_0O |
        -        GESHI_NUMBER_HEX_PREFIX |
        -        GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        // Directives (with arguments)
        -        1 => array(
        -            // file directives
        -            'encoding', 'ensure_loaded',
        -            // flag directives
        -            'set_logtalk_flag', 'set_prolog_flag',
        -            // entity opening directives
        -            'category', 'object', 'protocol',
        -            // predicate scope directives
        -            'private', 'protected', 'public',
        -            // conditional compilation directives
        -            'elif', 'if',
        -            // entity directives
        -            'calls', 'initialization', 'op', 'uses',
        -            // predicate directives
        -            'alias', 'coinductive', 'discontiguous', 'dynamic', 'mode', 'info', 'meta_predicate', 'multifile', 'synchronized',
        -            // module directives
        -            'export', 'module', 'reexport', 'use_module'
        -            ),
        -        // Directives (no arguments)
        -        2 => array(
        -            // entity directives
        -            'dynamic',
        -            // multi-threading directives
        -            'synchronized', 'threaded',
        -            // entity closing directives
        -            'end_category', 'end_object', 'end_protocol',
        -            // conditional compilation directives
        -            'else', 'endif'
        -            ),
        -        // Entity relations
        -        3 => array(
        -            'complements', 'extends', 'imports', 'implements','instantiates', 'specializes'
        -            ),
        -        // Built-in predicates (with arguments)
        -        4 => array(
        -            // event handlers
        -            'after', 'before',
        -            // execution-context methods
        -            'parameter', 'self', 'sender', 'this',
        -            // predicate reflection
        -            'current_predicate', 'predicate_property',
        -            // DCGs and term expansion
        -            'expand_goal', 'expand_term', 'goal_expansion', 'phrase', 'term_expansion',
        -            // entity
        -            'abolish_category', 'abolish_object', 'abolish_protocol',
        -            'create_category', 'create_object', 'create_protocol',
        -            'current_category', 'current_object', 'current_protocol',
        -            'category_property', 'object_property', 'protocol_property',
        -            // entity relations
        -            'complements_object', 'conforms_to_protocol',
        -            'extends_category', 'extends_object', 'extends_protocol',
        -            'implements_protocol', 'imports_category',
        -            'instantiates_class', 'specializes_class',
        -            // events
        -            'abolish_events', 'current_event', 'define_events',
        -            // flags
        -            'current_logtalk_flag', 'set_logtalk_flag',
        -            'current_prolog_flag', 'set_prolog_flag',
        -            // compiling, loading, and library path
        -            'logtalk_compile', 'logtalk_library_path', 'logtalk_load',
        -            // database
        -            'abolish', 'asserta', 'assertz', 'clause', 'retract', 'retractall',
        -            // control
        -            'call', 'catch', 'ignore', 'once', 'throw',
        -            // all solutions predicates
        -            'bagof', 'findall', 'forall', 'setof',
        -            // multi-threading meta-predicates
        -            'threaded',
        -            'threaded_call', 'threaded_once', 'threaded_ignore', 'threaded_exit', 'threaded_peek',
        -            'threaded_wait', 'threaded_notify',
        -            // term unification
        -            'unify_with_occurs_check',
        -            // atomic term processing
        -            'atom_chars', 'atom_codes', 'atom_concat', 'atom_length',
        -            'number_chars', 'number_codes',
        -            'char_code',
        -            // term creation and decomposition
        -            'arg', 'copy_term', 'functor', 'numbervars',
        -            // term testing
        -            'atom', 'atomic', 'callable', 'compound', 'float', 'ground', 'integer', 'nonvar', 'number', 'sub_atom', 'var',
        -            // term comparison
        -            'compare',
        -            // stream selection and control
        -            'current_input', 'current_output', 'set_input', 'set_output',
        -            'open', 'close', 'flush_output', 'stream_property',
        -            'at_end_of_stream', 'set_stream_position',
        -            // character and byte input/output predicates
        -            'get_byte', 'get_char', 'get_code',
        -            'peek_byte', 'peek_char', 'peek_code',
        -            'put_byte', 'put_char', 'put_code',
        -            'nl',
        -            // term input/output predicates
        -            'current_op', 'op',
        -            'write', 'writeq', 'write_canonical', 'write_term',
        -            'read', 'read_term',
        -            'char_conversion', 'current_char_conversion',
        -            // hooks
        -            'halt',
        -            // sorting
        -            'keysort', 'sort'
        -            ),
        -        // Built-in predicates (no arguments)
        -        5 => array(
        -            // control
        -            'fail', 'repeat', 'true',
        -            // character and byte input/output predicates
        -            'nl',
        -            // implementation defined hooks functions
        -            'halt',
        -            // arithemtic evaluation
        -            'is',
        -            // stream selection and control
        -            'at_end_of_stream', 'flush_output'
        -            ),
        -        // Evaluable functors (with arguments)
        -        6 => array(
        -            'float_integer_part', 'float_fractional_part',
        -            'rem', 'mod', 'abs', 'sign', 'floor', 'truncate', 'round', 'ceiling',
        -            'cos', 'atan', 'exp', 'log', 'sin', 'sqrt'
        -            ),
        -        // Evaluable functors (no arguments)
        -        7 => array(
        -            'e', 'pi', 'mod', 'rem'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array(
        -            // external call
        -            '{', '}'
        -            ),
        -        1 => array(
        -            // arithemtic comparison
        -            '=:=', '=\=', '<', '=<', '>=', '>',
        -            // term comparison
        -            '<<', '>>', '/\\', '\\/', '\\',
        -            // bitwise functors
        -            '==', '\==', '@<', '@=<', '@>=', '@>',
        -            // evaluable functors
        -            '+', '-', '*', '/', '**',
        -            // logic and control
        -            '!', '\\+', ';',
        -            // message sending operators
        -            '::', '^^', ':',
        -            // grammar rule and conditional functors
        -            '-->', '->',
        -            // mode operators
        -            '@', '?',
        -            // term to list predicate
        -            '=..',
        -            // unification
        -            '=', '\\='
        -            ),
        -        2 => array(
        -            // clause and directive functors
        -            ':-'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #2e4dc9;',
        -            2 => 'color: #2e4dc9;',
        -            3 => 'color: #2e4dc9;',
        -            4 => 'color: #9d4f37;',
        -            5 => 'color: #9d4f37;',
        -            6 => 'color: #9d4f37;',
        -            7 => 'color: #9d4f37;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #430000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #60a0b0; font-style: italic;',
        -            2 => 'color: #430000;',
        -            'MULTI' => 'color: #60a0b0; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #9f0000; font-weight: bold;',
        -            1 => 'color: #9f0000; font-weight: bold;',
        -            2 => 'color: #9f0000; font-weight: bold;',
        -            3 => 'color: #9f0000; font-weight: bold;',
        -            'HARD' => '',
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #666666;font-weight: bold;',
        -            1 => 'color: #666666;font-weight: bold;',
        -            2 => 'color: #000000;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #9f0000;',
        -            'HARD' => 'color: #9f0000;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #848484;'
        -            ),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        // variables
        -        0 => '\b(?!(?:PIPE|SEMI|REG3XP\d*)[^a-zA-Z0-9_])[A-Z_][a-zA-Z0-9_]*(?![a-zA-Z0-9_])'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER
        -        ),
        -        'KEYWORDS' => array(
        -            1 => array(
        -                'DISALLOWED_BEFORE' => '(?<=:-\s)',
        -                'DISALLOWED_AFTER' => '(?=\()'
        -            ),
        -            2 => array(
        -                'DISALLOWED_BEFORE' => '(?<=:-\s)',
        -                'DISALLOWED_AFTER' => '(?=\.)'
        -            ),
        -            3 => array(
        -                'DISALLOWED_BEFORE' => '(?|^&\'"])',
        -                'DISALLOWED_AFTER' => '(?=\()'
        -            ),
        -            4 => array(
        -                'DISALLOWED_BEFORE' => '(?|^&\'"])',
        -                'DISALLOWED_AFTER' => '(?=\()'
        -            ),
        -            5 => array(
        -                'DISALLOWED_BEFORE' => '(?|^&\'"])',
        -                'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\'"])'
        -            ),
        -            6 => array(
        -                'DISALLOWED_BEFORE' => '(?|^&\'"])',
        -                'DISALLOWED_AFTER' => '(?=\()'
        -            ),
        -            7 => array(
        -                'DISALLOWED_BEFORE' => '(?|^&\'"])',
        -                'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\'"])'
        -            )
        -        )
        -    ),
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/lolcode.php b/vendor/easybook/geshi/geshi/lolcode.php
        deleted file mode 100644
        index c8e623a..0000000
        --- a/vendor/easybook/geshi/geshi/lolcode.php
        +++ /dev/null
        @@ -1,151 +0,0 @@
        - 'LOLcode',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        1 => "/\bBTW\b.*$/im",
        -        2 => "/(^|\b)(?:OBTW\b.+?\bTLDR|LOL\b.+?\/LOL)(\b|$)/si"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        1 => '/:[)>o":]/',
        -        2 => '/:\([\da-f]+\)/i',
        -        3 => '/:\{\w+\}/i',
        -        4 => '/:\[\w+\]/i',
        -        ),
        -    'KEYWORDS' => array(
        -        //Statements
        -        1 => array(
        -            'VISIBLE', 'HAI', 'KTHX', 'KTHXBYE', 'SMOOSH', 'GIMMEH', 'PLZ',
        -            'ON', 'INVISIBLE', 'R', 'ITZ', 'GTFO', 'COMPLAIN', 'GIMME',
        -
        -            'OPEN', 'FILE', 'I HAS A', 'AWSUM THX', 'O NOES', 'CAN', 'HAS', 'HAZ',
        -            'HOW DOES I', 'IF U SAY SO', 'FOUND YR', 'BORROW', 'OWN', 'ALONG',
        -            'WITH', 'WIT', 'LOOK', 'AT', 'AWSUM', 'THX'
        -            ),
        -        //Conditionals
        -        2 => array(
        -            'IZ', 'YARLY', 'NOWAI', 'WTF?', 'MEBBE', 'OMG', 'OMGWTF',
        -            'ORLY?', 'OF', 'NOPE', 'SO', 'IM', 'MAI',
        -
        -            'O RLY?', 'SUM', 'BOTH SAEM', 'DIFFRINT', 'BOTH', 'EITHER', 'WON',
        -            'DIFF', 'PRODUKT', 'QUOSHUNT', 'MOD', 'MKAY', 'OK', 'THING',
        -            'BIGNESS'
        -            ),
        -        //Repetition
        -        3 => array(
        -            'IN', 'OUTTA', 'LOOP', 'WHILE'
        -            ),
        -        //Operators \Math
        -        4 => array(
        -            'AN', 'AND', 'NOT', 'UP', 'YR', 'UPPIN', 'NERF', 'NERFIN', 'NERFZ',
        -            'SMASHING', 'UR', 'KINDA', 'LIKE', 'SAEM', 'BIG', 'SMALL',
        -            'BIGGR', 'SMALLR', 'BIGGER', 'SMALLER', 'GOOD', 'CUTE', 'THAN'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '.', ',', '?',
        -        '!!'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #008000;',
        -            2 => 'color: #000080;',
        -            3 => 'color: #000080;',
        -            4 => 'color: #800000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; style: italic;',
        -            2 => 'color: #666666; style: italic;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'SPACE_AS_WHITESPACE' => true
        -            )
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/lotusformulas.php b/vendor/easybook/geshi/geshi/lotusformulas.php
        deleted file mode 100644
        index 18d6f78..0000000
        --- a/vendor/easybook/geshi/geshi/lotusformulas.php
        +++ /dev/null
        @@ -1,316 +0,0 @@
        - 'Lotus Notes @Formulas',
        -    'COMMENT_SINGLE' => array(1 => "'"),
        -    'COMMENT_MULTI' => array('REM' => ';'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array (
        -            '[ZoomPreview]', '[WorkspaceStackReplicaIcons]',
        -            '[WorkspaceProperties]', '[WindowWorkspace]',
        -            '[WindowTile]', '[WindowRestore]', '[WindowNext]',
        -            '[WindowMinimizeAll]', '[WindowMinimize]', '[WindowMaximizeAll]',
        -            '[WindowMaximize]', '[WindowCascade]', '[ViewSwitchForm]',
        -            '[ViewShowUnread]', '[ViewShowServerNames]', '[ViewShowSearchBar]',
        -            '[ViewShowRuler]', '[ViewShowPageBreaks]', '[ViewShowOnlyUnread]',
        -            '[ViewShowOnlySelected]', '[ViewShowOnlySearchResults]',
        -            '[ViewShowOnlyCategories]', '[ViewShowObject]',
        -            '[ViewShowFieldHelp]', '[ViewRenamePerson]', '[ViewRefreshUnread]',
        -            '[ViewRefreshFields]', '[ViewNavigatorsNone]',
        -            '[ViewNavigatorsFolders]', '[ViewMoveName]', '[ViewHorizScrollbar]',
        -            '[ViewExpandWithChildren]', '[ViewExpandAll]', '[ViewExpand]',
        -            '[ViewCollapseAll]', '[ViewCollapse]', '[ViewChange]',
        -            '[ViewCertify]', '[ViewBesideFolders]', '[ViewBelowFolders]',
        -            '[ViewArrangeIcons]', '[V3EditPrevField]', '[V3EditNextField]',
        -            '[UserIDSwitch]', '[UserIDSetPassword]', '[UserIDMergeCopy]',
        -            '[UserIDInfo]', '[UserIDEncryptionKeys]', '[UserIDCreateSafeCopy]',
        -            '[UserIDClearPassword]', '[UserIDCertificates]',
        -            '[ToolsUserLogoff]', '[ToolsSpellCheck]', '[ToolsSmartIcons]',
        -            '[ToolsSetupUserSetup]', '[ToolsSetupPorts]', '[ToolsSetupMail]',
        -            '[ToolsSetupLocation]', '[ToolsScanUnreadSelected]',
        -            '[ToolsScanUnreadPreferred]', '[ToolsScanUnreadChoose]',
        -            '[ToolsRunMacro]', '[ToolsRunBackgroundMacros]', '[ToolsReplicate]',
        -            '[ToolsRefreshSelectedDocs]', '[ToolsRefreshAllDocs]',
        -            '[ToolsMarkSelectedUnread]', '[ToolsMarkSelectedRead]',
        -            '[ToolsMarkAllUnread]', '[ToolsMarkAllRead]', '[ToolsHangUp]',
        -            '[ToolsCategorize]', '[ToolsCall]', '[TextUnderline]',
        -            '[TextSpacingSingle]', '[TextSpacingOneAndaHalf]',
        -            '[TextSpacingDouble]', '[TextSetFontSize]', '[TextSetFontFace]',
        -            '[TextSetFontColor]', '[TextReduceFont]', '[TextPermanentPen]',
        -            '[TextParagraphStyles]', '[TextParagraph]', '[TextOutdent]',
        -            '[TextNumbers]', '[TextNormal]', '[TextItalic]', '[TextFont]',
        -            '[TextEnlargeFont]', '[TextCycleSpacing]', '[TextBullet]',
        -            '[TextBold]', '[TextAlignRight]', '[TextAlignNone]',
        -            '[TextAlignLeft]', '[TextAlignFull]', '[TextAlignCenter]',
        -            '[SwitchView]', '[SwitchForm]', '[StyleCycleKey]',
        -            '[SmartIconsNextSet]', '[SmartIconsFloating]', '[ShowProperties]',
        -            '[ShowHidePreviewPane]', '[ShowHideParentPreview]',
        -            '[ShowHideLinkPreview]', '[ShowHideIMContactList]',
        -            '[SetCurrentLocation]', '[SendInstantMessage]',
        -            '[SectionRemoveHeader]', '[SectionProperties]',
        -            '[SectionExpandAll]', '[SectionExpand]', '[SectionDefineEditors]',
        -            '[SectionCollapseAll]', '[SectionCollapse]', '[RunScheduledAgents]',
        -            '[RunAgent]', '[ReplicatorStop]', '[ReplicatorStart]',
        -            '[ReplicatorSendReceiveMail]', '[ReplicatorSendMail]',
        -            '[ReplicatorReplicateWithServer]', '[ReplicatorReplicateSelected]',
        -            '[ReplicatorReplicateNext]', '[ReplicatorReplicateHigh]',
        -            '[Replicator]', '[RenameDatabase]', '[RemoveFromFolder]',
        -            '[RemoteDebugLotusScript]', '[ReloadWindow]', '[RefreshWindow]',
        -            '[RefreshParentNote]', '[RefreshHideFormulas]', '[RefreshFrame]',
        -            '[PublishDatabase]', '[PictureProperties]', '[PasteBitmapAsObject]',
        -            '[PasteBitmapAsBackground]', '[OpenView]', '[OpenPage]',
        -            '[OpenNavigator]', '[OpenInNewWindow]', '[OpenHelpDocument]',
        -            '[OpenFrameset]', '[OpenDocument]', '[OpenCalendar]',
        -            '[ObjectProperties]', '[ObjectOpen]', '[ObjectDisplayAs]',
        -            '[NavPrevUnread]', '[NavPrevSelected]', '[NavPrevMain]',
        -            '[NavPrev]', '[NavNextUnread]', '[NavNextSelected]',
        -            '[NavNextMain]', '[NavNext]', '[NavigatorTest]',
        -            '[NavigatorProperties]', '[NavigateToBacklink]',
        -            '[NavigatePrevUnread]', '[NavigatePrevSelected]',
        -            '[NavigatePrevMain]', '[NavigatePrevHighlight]', '[NavigatePrev]',
        -            '[NavigateNextUnread]', '[NavigateNextSelected]',
        -            '[NavigateNextMain]', '[NavigateNextHighlight]', '[NavigateNext]',
        -            '[MoveToTrash]', '[MailSendPublicKey]', '[MailSendEncryptionKey]',
        -            '[MailSendCertificateRequest]', '[MailSend]', '[MailScanUnread]',
        -            '[MailRequestNewPublicKey]', '[MailRequestNewName]',
        -            '[MailRequestCrossCert]', '[MailOpen]', '[MailForwardAsAttachment]',
        -            '[MailForward]', '[MailComposeMemo]', '[MailAddress]',
        -            '[LayoutProperties]', '[LayoutElementSendToBack]',
        -            '[LayoutElementProperties]', '[LayoutElementBringToFront]',
        -            '[LayoutAddText]', '[LayoutAddGraphic]', '[InsertSubform]',
        -            '[HotspotProperties]', '[HotspotClear]', '[HelpUsingDatabase]',
        -            '[HelpAboutNotes]', '[HelpAboutDatabase]', '[GoUpLevel]',
        -            '[FormTestDocument]', '[FormActions]', '[FolderRename]',
        -            '[FolderProperties]', '[FolderMove]', '[FolderExpandWithChildren]',
        -            '[FolderExpandAll]', '[FolderExpand]', '[FolderDocuments]',
        -            '[FolderCustomize]', '[FolderCollapse]', '[Folder]',
        -            '[FindFreeTimeDialog]', '[FileSaveNewVersion]', '[FileSave]',
        -            '[FilePrintSetup]', '[FilePrint]', '[FilePageSetup]',
        -            '[FileOpenDBRepID]', '[FileOpenDatabase]', '[FileNewReplica]',
        -            '[FileNewDatabase]', '[FileImport]', '[FileFullTextUpdate]',
        -            '[FileFullTextInfo]', '[FileFullTextDelete]',
        -            '[FileFullTextCreate]', '[FileExport]', '[FileExit]',
        -            '[FileDatabaseUseServer]', '[FileDatabaseRemove]',
        -            '[FileDatabaseInfo]', '[FileDatabaseDelete]', '[FileDatabaseCopy]',
        -            '[FileDatabaseCompact]', '[FileDatabaseACL]', '[FileCloseWindow]',
        -            '[ExitNotes]', '[Execute]', '[ExchangeUnreadMarks]', '[EmptyTrash]',
        -            '[EditUp]', '[EditUntruncate]', '[EditUndo]', '[EditTop]',
        -            '[EditTableInsertRowColumn]', '[EditTableFormat]',
        -            '[EditTableDeleteRowColumn]', '[EditShowHideHiddenChars]',
        -            '[EditSelectByDate]', '[EditSelectAll]', '[EditRight]',
        -            '[EditRestoreDocument]', '[EditResizePicture]',
        -            '[EditQuoteSelection]', '[EditProfileDocument]', '[EditProfile]',
        -            '[EditPrevField]', '[EditPhoneNumbers]', '[EditPasteSpecial]',
        -            '[EditPaste]', '[EditOpenLink]', '[EditNextField]',
        -            '[EditMakeDocLink]', '[EditLocations]', '[EditLinks]', '[EditLeft]',
        -            '[EditInsertText]', '[EditInsertTable]', '[EditInsertPopup]',
        -            '[EditInsertPageBreak]', '[EditInsertObject]',
        -            '[EditInsertFileAttachment]', '[EditInsertButton]',
        -            '[EditIndentFirstLine]', '[EditIndent]', '[EditHorizScrollbar]',
        -            '[EditHeaderFooter]', '[EditGotoField]', '[EditFindNext]',
        -            '[EditFindInPreview]', '[EditFind]', '[EditEncryptionKeys]',
        -            '[EditDown]', '[EditDocument]', '[EditDetach]', '[EditDeselectAll]',
        -            '[EditCut]', '[EditCopy]', '[EditClear]', '[EditButton]',
        -            '[EditBottom]', '[DiscoverFolders]', '[Directories]',
        -            '[DialingRules]', '[DesignViewSelectFormula]', '[DesignViews]',
        -            '[DesignViewNewColumn]', '[DesignViewFormFormula]',
        -            '[DesignViewEditActions]', '[DesignViewColumnDef]',
        -            '[DesignViewAttributes]', '[DesignViewAppendColumn]',
        -            '[DesignSynopsis]', '[DesignSharedFields]', '[DesignReplace]',
        -            '[DesignRefresh]', '[DesignMacros]', '[DesignIcon]',
        -            '[DesignHelpUsingDocument]', '[DesignHelpAboutDocument]',
        -            '[DesignFormWindowTitle]', '[DesignFormUseField]',
        -            '[DesignFormShareField]', '[DesignForms]', '[DesignFormNewField]',
        -            '[DesignFormFieldDef]', '[DesignFormAttributes]',
        -            '[DesignDocumentInfo]', '[DebugLotusScript]',
        -            '[DatabaseReplSettings]', '[DatabaseDelete]', '[CreateView]',
        -            '[CreateTextbox]', '[CreateSubForm]', '[CreateSection]',
        -            '[CreateRectangularHotspot]', '[CreateRectangle]',
        -            '[CreatePolyline]', '[CreatePolygon]', '[CreateNavigator]',
        -            '[CreateLayoutRegion]', '[CreateForm]', '[CreateFolder]',
        -            '[CreateEllipse]', '[CreateControlledAccessSection]',
        -            '[CreateAgent]', '[CreateAction]', '[CopySelectedAsTable]',
        -            '[ComposeWithReference]', '[Compose]', '[CloseWindow]', '[Clear]',
        -            '[ChooseFolders]', '[CalendarGoTo]', '[CalendarFormat]',
        -            '[AttachmentView]', '[AttachmentProperties]', '[AttachmentLaunch]',
        -            '[AttachmentDetachAll]', '[AgentTestRun]', '[AgentSetServerName]',
        -            '[AgentRun]', '[AgentLog]', '[AgentEnableDisable]', '[AgentEdit]',
        -            '[AdminTraceConnection]', '[AdminStatisticsConfig]',
        -            '[AdminSendMailTrace]', '[AdminRemoteConsole]',
        -            '[AdminRegisterUser]', '[AdminRegisterServer]',
        -            '[AdminRegisterFromFile]', '[AdminOutgoingMail]',
        -            '[AdminOpenUsersView]', '[AdminOpenStatistics]',
        -            '[AdminOpenServersView]', '[AdminOpenServerLog]',
        -            '[AdminOpenGroupsView]', '[AdminOpenCertLog]', '[AdminOpenCatalog]',
        -            '[AdminOpenAddressBook]', '[AdminNewOrgUnit]',
        -            '[AdminNewOrganization]', '[Administration]',
        -            '[AdminIDFileSetPassword]', '[AdminIDFileExamine]',
        -            '[AdminIDFileClearPassword]', '[AdminDatabaseQuotas]',
        -            '[AdminDatabaseAnalysis]', '[AdminCrossCertifyKey]',
        -            '[AdminCrossCertifyIDFile]', '[AdminCreateGroup]', '[AdminCertify]',
        -            '[AddToIMContactList]', '[AddDatabaseRepID]', '[AddDatabase]',
        -            '[AddBookmark]'
        -            ),
        -        2 => array(
        -            'SELECT', 'FIELD', 'ENVIRONMENT', 'DEFAULT', '@Zone ', '@Yesterday',
        -            '@Yes', '@Year', '@Word', '@Wide', '@While', '@Weekday',
        -            '@WebDbName', '@ViewTitle', '@ViewShowThisUnread', '@Version',
        -            '@VerifyPassword', '@ValidateInternetAddress', '@V4UserAccess',
        -            '@V3UserName', '@V2If', '@UserRoles', '@UserPrivileges',
        -            '@UserNamesList', '@UserNameLanguage', '@UserName', '@UserAccess',
        -            '@UrlQueryString', '@URLOpen', '@URLHistory', '@URLGetHeader',
        -            '@URLEncode', '@URLDecode', '@UpperCase', '@UpdateFormulaContext',
        -            '@Unique', '@UndeleteDocument', '@Unavailable', '@True', '@Trim',
        -            '@Transform', '@ToTime', '@ToNumber', '@Tomorrow', '@Today',
        -            '@TimeZoneToText', '@TimeToTextInZone', '@TimeMerge', '@Time',
        -            '@ThisValue', '@ThisName', '@TextToTime', '@TextToNumber', '@Text',
        -            '@TemplateVersion', '@Tan', '@Sum', '@Success', '@Subset',
        -            '@StatusBar', '@Sqrt', '@Soundex', '@Sort', '@Sin', '@Sign',
        -            '@SetViewInfo', '@SetTargetFrame', '@SetProfileField',
        -            '@SetHTTPHeader', '@SetField', '@SetEnvironment', '@SetDocField',
        -            '@Set', '@ServerName', '@ServerAccess', '@Select', '@Second',
        -            '@Round', '@RightBack', '@Right', '@Return', '@Responses',
        -            '@ReplicaID', '@ReplaceSubstring', '@Replace', '@Repeat',
        -            '@RegQueryValue', '@RefreshECL', '@Random', '@ProperCase',
        -            '@Prompt', '@Power', '@PostedCommand', '@PolicyIsFieldLocked',
        -            '@Platform', '@PickList', '@Pi', '@PasswordQuality', '@Password',
        -            '@OrgDir', '@OptimizeMailAddress', '@OpenInNewWindow', '@Now',
        -            '@Nothing', '@NoteID', '@No', '@NewLine', '@Narrow', '@NameLookup',
        -            '@Name', '@Month', '@Modulo', '@Modified', '@Minute', '@Min',
        -            '@MiddleBack', '@Middle', '@Member', '@Max', '@Matches',
        -            '@MailSignPreference', '@MailSend', '@MailSavePreference',
        -            '@MailEncryptSentPreference', '@MailEncryptSavedPreference',
        -            '@MailDbName', '@LowerCase', '@Log', '@Locale', '@Ln', '@Like',
        -            '@Length', '@LeftBack', '@Left', '@LDAPServer', '@LaunchApp',
        -            '@LanguagePreference', '@Keywords', '@IsVirtualizedDirectory',
        -            '@IsValid', '@IsUsingJavaElement', '@IsUnavailable', '@IsTime',
        -            '@IsText', '@IsResponseDoc', '@IsNumber', '@IsNull', '@IsNotMember',
        -            '@IsNewDoc', '@IsModalHelp', '@IsMember', '@IsExpandable',
        -            '@IsError', '@IsEmbeddedInsideWCT', '@IsDocTruncated',
        -            '@IsDocBeingSaved', '@IsDocBeingRecalculated', '@IsDocBeingMailed',
        -            '@IsDocBeingLoaded', '@IsDocBeingEdited', '@IsDB2', '@IsCategory',
        -            '@IsAvailable', '@IsAppInstalled', '@IsAgentEnabled', '@Integer',
        -            '@InheritedDocumentUniqueID', '@Implode', '@IfError', '@If',
        -            '@Hour', '@HashPassword', '@HardDeleteDocument', '@GetViewInfo',
        -            '@GetProfileField', '@GetPortsList', '@GetIMContactListGroupNames',
        -            '@GetHTTPHeader', '@GetFocusTable', '@GetField', '@GetDocField',
        -            '@GetCurrentTimeZone', '@GetAddressBooks', '@FormLanguage', '@For',
        -            '@FontList', '@FloatEq', '@FileDir', '@False', '@Failure',
        -            '@Explode', '@Exp', '@Eval', '@Error', '@Environment', '@Ends',
        -            '@EnableAlarms', '@Elements', '@EditUserECL', '@EditECL',
        -            '@DoWhile', '@Domain', '@DocumentUniqueID', '@DocSiblings',
        -            '@DocParentNumber', '@DocOmmittedLength', '@DocNumber', '@DocMark',
        -            '@DocLock', '@DocLevel', '@DocLength', '@DocFields',
        -            '@DocDescendants', '@DocChildren', '@Do', '@DialogBox',
        -            '@DeleteField', '@DeleteDocument', '@DDETerminate', '@DDEPoke',
        -            '@DDEInitiate', '@DDEExecute', '@DbTitle', '@DbName', '@DbManager',
        -            '@DbLookup', '@DbExists', '@DbCommand', '@DbColumn', '@DB2Schema',
        -            '@Day', '@Date', '@Created', '@Count', '@Cos', '@Contains',
        -            '@ConfigFile', '@Compare', '@Command', '@ClientType',
        -            '@CheckFormulaSyntax', '@CheckAlarms', '@Char', '@Certificate',
        -            '@BusinessDays', '@BrowserInfo', '@Begins', '@Author',
        -            '@Attachments', '@AttachmentNames', '@AttachmentModifiedTimes',
        -            '@AttachmentLengths', '@ATan2', '@ATan', '@ASin', '@Ascii',
        -            '@AllDescendants', '@AllChildren', '@All', '@AdminECLIsLocked',
        -            '@Adjust', '@AddToFolder', '@ACos', '@Accessed', '@AbstractSimple',
        -            '@Abstract', '@Abs'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #800000;',
        -            2 => 'color: #0000FF;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #FF00FF;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF00FF;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0000AA;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 2
        -    );
        diff --git a/vendor/easybook/geshi/geshi/lotusscript.php b/vendor/easybook/geshi/geshi/lotusscript.php
        deleted file mode 100644
        index 5d8b6d5..0000000
        --- a/vendor/easybook/geshi/geshi/lotusscript.php
        +++ /dev/null
        @@ -1,189 +0,0 @@
        - 'LotusScript',
        -    'COMMENT_SINGLE' => array(1 => "'"),
        -    'COMMENT_MULTI' => array('%REM' => '%END REM'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"' , "|"),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array (
        -            'Yield', 'Year', 'Xor', 'Write', 'With', 'Width', 'While', 'Wend',
        -            'Weekday', 'VarType', 'Variant', 'Val', 'UString', 'UString$',
        -            'UseLSX', 'Use', 'Until', 'Unlock', 'Unicode', 'Uni', 'UChr',
        -            'UChr$', 'UCase', 'UCase$', 'UBound', 'TypeName', 'Type', 'TRUE',
        -            'Trim', 'Trim$', 'Today', 'To', 'TimeValue', 'TimeSerial', 'Timer',
        -            'TimeNumber', 'Time', 'Time$', 'Then', 'Text', 'Tan', 'Tab', 'Sub',
        -            'StrToken', 'StrToken$', 'StrRightBack', 'StrRightBack$',
        -            'StrRight', 'StrRight$', 'StrLeftBack', 'StrLeftBack$', 'StrLeft',
        -            'StrLeft$', 'String', 'String$', 'StrConv', 'StrCompare', 'StrComp',
        -            'Str', 'Str$', 'Stop', 'Step', 'Static', 'Sqr', 'Split', 'Spc',
        -            'Space', 'Space$', 'Sleep', 'Single', 'Sin', 'Shell', 'Shared',
        -            'Sgn', 'SetFileAttr', 'SetAttr', 'Set', 'SendKeys', 'Select',
        -            'Seek', 'Second', 'RTrim', 'RTrim$', 'RSet', 'Round', 'Rnd',
        -            'RmDir', 'RightC', 'RightC$', 'RightBP', 'RightBP$', 'RightB',
        -            'RightB$', 'Right', 'Right$', 'Return', 'Resume', 'Reset',
        -            'Replace', 'Remove', 'Rem', 'ReDim', 'Read', 'Randomize',
        -            'Random', 'Put', 'Public', 'Property', 'Private', 'Print',
        -            'Preserve', 'Pitch', 'PI', 'Output', 'Or', 'Option', 'Open', 'On',
        -            'Oct', 'Oct$', 'NULL', 'Now', 'NOTHING', 'Not', 'NoPitch', 'NoCase',
        -            'Next', 'New', 'Name', 'MsgBox', 'Month', 'Mod', 'MkDir', 'Minute',
        -            'MidC', 'MidC$', 'MidBP', 'MidBP$', 'MidB', 'MidB$', 'Mid', 'Mid$',
        -            'MessageBox', 'Me', 'LTrim', 'LTrim$', 'LSServer', 'LSI_Info',
        -            'LSet', 'Loop', 'Long', 'Log', 'LOF', 'Lock', 'LOC', 'LMBCS',
        -            'ListTag', 'List', 'Line', 'Like', 'Lib', 'Let', 'LenC', 'LenBP',
        -            'LenB', 'Len', 'LeftC', 'LeftC$', 'LeftBP', 'LeftBP$', 'LeftB',
        -            'LeftB$', 'Left', 'Left$', 'LCase', 'LCase$', 'LBound', 'Kill',
        -            'Join', 'IsUnknown', 'IsScalar', 'IsObject', 'IsNumeric', 'IsNull',
        -            'IsList', 'IsEmpty', 'IsElement', 'IsDate', 'IsArray', 'IsA', 'Is',
        -            'Integer', 'Int', 'InStrC', 'InStrBP', 'InStrB', 'InStr', 'InputBP',
        -            'InputBP$', 'InputBox', 'InputBox$', 'InputB', 'InputB$', 'Input',
        -            'Input$', 'In', 'IMSetMode', 'Implode', 'Implode$', 'Imp',
        -            'IMEStatus', 'If', 'Hour', 'Hex', 'Hex$', 'Goto', 'GoSub',
        -            'GetThreadInfo', 'GetFileAttr', 'GetAttr', 'Get', 'Function',
        -            'FullTrim', 'From', 'FreeFile', 'Fraction', 'Format', 'Format$',
        -            'ForAll', 'For', 'Fix', 'FileLen', 'FileDateTime', 'FileCopy',
        -            'FileAttr', 'FALSE', 'Explicit', 'Exp', 'Exit', 'Execute', 'Event',
        -            'Evaluate', 'Error', 'Error$', 'Err', 'Erl', 'Erase', 'Eqv', 'EOF',
        -            'Environ', 'Environ$', 'End', 'ElseIf', 'Else', 'Double', 'DoEvents',
        -            'Do', 'Dir', 'Dir$', 'Dim', 'DestroyLock', 'Delete', 'DefVar',
        -            'DefStr', 'DefSng', 'DefLng', 'DefInt', 'DefDbl', 'DefCur',
        -            'DefByte', 'DefBool', 'Declare', 'Day', 'DateValue', 'DateSerial',
        -            'DateNumber', 'Date', 'Date$', 'DataType', 'CVDate', 'CVar',
        -            'Currency', 'CurDrive', 'CurDrive$', 'CurDir', 'CurDir$', 'CStr',
        -            'CSng', 'CreateLock', 'Cos', 'Const', 'Compare', 'Command',
        -            'Command$', 'CodeUnlock', 'CodeLockCheck', 'CodeLock', 'Close',
        -            'CLng', 'Class', 'CInt', 'Chr', 'Chr$', 'ChDrive', 'ChDir', 'CDbl',
        -            'CDat', 'CCur', 'CByte', 'CBool', 'Case', 'Call', 'ByVal', 'Byte',
        -            'Boolean', 'Bind', 'Binary', 'Bin', 'Bin$', 'Beep', 'Base', 'Atn2',
        -            'Atn', 'ASin', 'Asc', 'As', 'ArrayUnique', 'ArrayReplace',
        -            'ArrayGetIndex', 'ArrayAppend', 'Append', 'AppActivate', 'Any',
        -            'And', 'Alias', 'ActivateApp', 'ACos', 'Access', 'Abs', '%Include',
        -            '%If', '%END', '%ElseIf', '%Else'
        -            ),
        -        2 => array (
        -            'NotesXSLTransformer', 'NotesXMLProcessor', 'NotesViewNavigator',
        -            'NotesViewEntryCollection', 'NotesViewEntry', 'NotesViewColumn',
        -            'NotesView', 'NotesUIWorkspace', 'NotesUIView', 'NotesUIScheduler',
        -            'NotesUIDocument', 'NotesUIDatabase', 'NotesTimer', 'NotesStream',
        -            'NotesSession', 'NotesSAXParser', 'NotesSAXException',
        -            'NotesSAXAttributeList', 'NotesRichTextTable', 'NotesRichTextTab',
        -            'NotesRichTextStyle', 'NotesRichTextSection', 'NotesRichTextRange',
        -            'NotesRichTextParagraphStyle', 'NotesRichTextNavigator',
        -            'NotesRichTextItem', 'NotesRichTextDocLink',
        -            'NotesReplicationEntry', 'NotesReplication', 'NotesRegistration',
        -            'NotesOutlineEntry', 'NotesOutline', 'NotesNoteCollection',
        -            'NotesNewsLetter', 'NotesName', 'NotesMIMEHeader',
        -            'NotesMIMEEntity', 'NotesLog', 'NotesItem', 'NotesInternational',
        -            'NotesForm', 'NotesEmbeddedObject', 'NotesDXLImporter',
        -            'NotesDXLExporter', 'NotesDOMXMLDeclNode', 'NotesDOMTextNode',
        -            'NotesDOMProcessingInstructionNode', 'NotesDOMParser',
        -            'NotesDOMNotationNode', 'NotesDOMNodeList', 'NotesDOMNode',
        -            'NotesDOMNamedNodeMap', 'NotesDOMEntityReferenceNode',
        -            'NotesDOMEntityNode', 'NotesDOMElementNode',
        -            'NotesDOMDocumentTypeNode', 'NotesDOMDocumentNode',
        -            'NotesDOMDocumentFragmentNode', 'NotesDOMCommentNode',
        -            'NotesDOMCharacterDataNote', 'NotesDOMCDATASectionNode',
        -            'NotesDOMAttributeNode', 'NotesDocumentCollection', 'NotesDocument',
        -            'NotesDbDirectory', 'NotesDateTime', 'NotesDateRange',
        -            'NotesDatabase', 'NotesColorObject', 'NotesAgent',
        -            'NotesAdministrationProcess', 'NotesACLEntry', 'NotesACL',
        -            'Navigator', 'Field', 'Button'
        -            )
        -        ) ,
        -    'SYMBOLS' => array(
        -        '(', ')'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000FF;',
        -            2 => 'color: #0000EE;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF00FF;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0000AA;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #006600;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 2
        -);
        diff --git a/vendor/easybook/geshi/geshi/lscript.php b/vendor/easybook/geshi/geshi/lscript.php
        deleted file mode 100644
        index 0f404f8..0000000
        --- a/vendor/easybook/geshi/geshi/lscript.php
        +++ /dev/null
        @@ -1,386 +0,0 @@
        - 'LScript',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -    //Yes, I'm aware these are out of order,
        -    //I had to rearrange and couldn't be bothered changing the numbers...
        -        7 => array(
        -            '@data', '@define', '@else', '@end', '@fpdepth', '@if', '@include',
        -            '@insert', '@library', '@localipc', '@name', '@save', '@script',
        -            '@sequence', '@version', '@warnings'
        -            ),
        -        1 => array(
        -            'break', 'case', 'continue', 'else', 'end', 'false', 'for',
        -            'foreach', 'if', 'return', 'switch', 'true', 'while',
        -            ),
        -        3 => array(
        -            'active', 'alertlevel', 'alpha', 'alphaprefix', 'animfilename', 'autokeycreate',
        -            'backdroptype', 'blue', 'boxthreshold', 'button',
        -            'channelsvisible', 'childrenvisible', 'compfg', 'compbg', 'compfgalpha',
        -            'coneangles', 'cosine', 'count', 'ctl', 'curFilename', 'curFrame',
        -            'currenttime', 'curTime', 'curType',
        -            'depth', 'diffshade', 'diffuse', 'dimensions', 'displayopts', 'dynamicupdate',
        -            'end', 'eta',
        -            'filename', 'flags', 'fogtype', 'fps', 'frame', 'frameend', 'frameheight',
        -            'framestart', 'framestep', 'framewidth',
        -            'generalopts', 'genus', 'geometry', 'gNorm', 'goal', 'green',
        -            'h', 'hasAlpha', 'height',
        -            'id', 'innerlimit', 'isColor',
        -            'keyCount', 'keys',
        -            'limiteregion', 'locked', 'luminous',
        -            'maxsamplesperpixel', 'minsamplesperpixel', 'mirror', 'motionx', 'motiony',
        -            'name', 'newFilename', 'newFrame', 'newTime', 'newType', 'null', 'numthreads',
        -            'objID', 'oPos', 'outerlimit', 'oXfrm',
        -            'parent', 'pixel', 'pixelaspect', 'point', 'points', 'pointcount', 'polNum',
        -            'polycount', 'polygon', 'polygons', 'postBehavior', 'preBehavior', 'previewend',
        -            'previewstart', 'previewstep',
        -            'range', 'rawblue', 'rawgreen', 'rawred', 'rayLength', 'raySource', 'red',
        -            'reflectblue', 'reflectgreen', 'reflectred', 'recursiondepth', 'renderend',
        -            'renderopts', 'renderstart', 'renderstep', 'rendertype', 'restlength',
        -            'rgbprefix', 'roughness',
        -            'selected', 'setColor', 'setPattern', 'shading', 'shadow', 'shadows',
        -            'shadowtype', 'size', 'source', 'special', 'specshade', 'specular',
        -            'spotsize', 'start', 'sx', 'sy', 'sz',
        -            'target', 'totallayers', 'totalpoints', 'totalpolygons', 'trans', 'transparency',
        -            'type',
        -            'value', 'view', 'visible', 'visibility',
        -            'w', 'width', 'wNorm', 'wPos', 'wXfrm',
        -            'x', 'xoffset',
        -            'y', 'yoffset',
        -            'z'
        -            ),
        -        4 => array(
        -            'addLayer', 'addParticle', 'alphaspot', 'ambient', 'asAsc', 'asBin',
        -            'asInt', 'asNum', 'asStr', 'asVec', 'attach', 'axislocks',
        -            'backdropColor', 'backdropRay', 'backdropSqueeze', 'bone', 'blurLength',
        -            'close', 'color', 'contains', 'copy', 'createKey',
        -            'deleteKey', 'detach', 'drawCircle', 'drawLine', 'drawPoint', 'drawText',
        -            'drawTriangle',
        -            'edit', 'eof', 'event',
        -            'firstChannel', 'firstLayer', 'firstSelect', 'focalLength', 'fogColor',
        -            'fogMaxAmount', 'fogMaxDist', 'fogMinAmount', 'fogMinDist',
        -            'fovAngles', 'fStop', 'firstChild', 'focalDistance',
        -            'get', 'getChannelGroup', 'getEnvelope', 'getForward', 'getKeyBias',
        -            'getKeyContinuity', 'getKeyCurve', 'getKeyHermite', 'getKeyTension',
        -            'getKeyTime', 'getKeyValue', 'getParticle', 'getPivot', 'getPosition',
        -            'getRight', 'getRotation', 'getSelect', 'getScaling', 'getTag', 'getTexture',
        -            'getUp', 'getValue', 'getWorldPosition', 'getWorldForward', 'getWorldRight',
        -            'getWorldRotation', 'getWorldUp', 'globalBlur', 'globalMask', 'globalResolution',
        -            'hasCCEnd', 'hasCCStart',
        -            'illuminate', 'indexOf', 'isAscii', 'isAlnum', 'isAlpha', 'isBone',
        -            'isCamera', 'isChannel', 'isChannelGroup', 'isCntrl', 'isCurve', 'isDigit',
        -            'isEnvelope', 'isImage', 'isInt', 'isLight', 'isLower', 'isMapped', 'isMesh',
        -            'isNil', 'isNum', 'IsOpen', 'isOriginal', 'isPrint', 'isPunct', 'isScene',
        -            'isSpace', 'isStr', 'isUpper', 'isValid', 'isVMap', 'isVec', 'isXDigit',
        -            'keyExists',
        -            'layer', 'layerName', 'layerVisible', 'limits', 'line', 'linecount', 'load', 'luma',
        -            'next', 'nextLayer', 'nextSelect', 'nextChannel', 'nextChild', 'nl',
        -            'offset', 'open',
        -            'pack', 'param', 'parse', 'paste', 'persist', 'polygonCount', 'position',
        -            'rayCast', 'rayTrace', 'read', 'readByte', 'readInt', 'readNumber',
        -            'readDouble', 'readShort', 'readString', 'readVector', 'reduce',
        -            'remParticle', 'renderCamera', 'reopen', 'replace', 'reset', 'restParam',
        -            'rewind', 'rgb', 'rgbambient', 'rgbcolor', 'rgbspot',
        -            'save', 'schemaPosition', 'select', 'set', 'setChannelGroup', 'setKeyBias',
        -            'setKeyContinuity', 'setKeyCurve',
        -            'setKeyHermite', 'setKeyTension', 'setKeyValue', 'setParticle', 'setPoints',
        -            'setTag', 'setValue', 'server', 'serverFlags', 'sortA', 'sortD', 'surface',
        -            'trunc',
        -            'write', 'writeln', 'writeByte', 'writeData', 'writeNumber', 'writeDouble',
        -            'writeShort', 'writeString', 'writeVector',
        -            'vertex', 'vertexCount',
        -            'zoomFactor'
        -            ),
        -        2 => array(
        -            'abs', 'acos', 'angle', 'append', 'ascii', 'asin', 'atan',
        -            'binary',
        -            'ceil', 'center', 'chdir', 'clearimage', 'cloned', 'comringattach',
        -            'comringdecode', 'comringdetach', 'comringencode', 'comringmsg', 'cos',
        -            'cosh', 'cot', 'cross2d', 'cross3d', 'csc', 'ctlstring', 'ctlinteger',
        -            'ctlnumber', 'ctlvector', 'ctldistance', 'ctlchoice', 'ctltext',
        -            'ctlcolor', 'ctlsurface', 'ctlfont', 'ctlpopup', 'ctledit', 'ctlpercent',
        -            'ctlangle', 'ctlrgb', 'ctlhsv', 'ctlcheckbox', 'ctlstate', 'ctlfilename',
        -            'ctlbutton', 'ctllistbox', 'ctlslider', 'ctlminislider', 'ctlsep', 'ctlimage',
        -            'ctltab', 'ctlallitems', 'ctlmeshitems', 'ctlcameraitems', 'ctllightitems',
        -            'ctlboneitems', 'ctlimageitems', 'ctlchannel', 'ctlviewport', 'Control_Management',
        -            'ctlpage', 'ctlgroup', 'ctlposition', 'ctlactive', 'ctlvisible', 'ctlalign',
        -            'ctlrefresh', 'ctlmenu', 'ctlinfo',
        -            'date', 'debug', 'deg', 'dot2d', 'dot3d', 'drawborder', 'drawbox', 'drawcircle',
        -            'drawelipse', 'drawerase', 'drawfillcircle', 'drawfillelipse', 'drawline',
        -            'drawpixel', 'drawtext', 'drawtextwidth', 'drawtextheight', 'dump',
        -            'error', 'exp', 'expose', 'extent',
        -            'fac', 'filecrc', 'filedelete', 'fileexists', 'filefind', 'filerename',
        -            'filestat', 'floor', 'format', 'frac', 'fullpath',
        -            'gamma', 'getdir', 'getenv', 'getfile', 'getfirstitem', 'getsep', 'getvalue',
        -            'globalrecall', 'globalstore',
        -            'hash', 'hex', 'hostBuild', 'hostVersion', 'hypot',
        -            'info', 'integer',
        -            'library', 'licenseId', 'lscriptVersion', 'load', 'loadimage', 'log', 'log10',
        -            'matchdirs', 'matchfiles', 'max', 'min', 'mkdir', 'mod', 'monend', 'moninit', 'monstep',
        -            'nil', 'normalize', 'number',
        -            'octal', 'overlayglyph',
        -            'parse', 'platform', 'pow',
        -            'rad', 'random', 'randu', 'range', 'read', 'readdouble', 'readInt', 'readNumber',
        -            'readShort', 'recall', 'regexp', 'reqabort', 'reqbegin', 'reqend', 'reqisopen',
        -            'reqkeyboard', 'reqopen', 'reqposition', 'reqpost', 'reqredraw',
        -            'reqsize', 'reqresize', 'requpdate', 'rmdir', 'round', 'runningUnder',
        -            'save', 'sec', 'select', 'selector', 'setdesc', 'setvalue', 'sin', 'sinh', 'size',
        -            'sizeof', 'sleep', 'spawn', 'split', 'sqrt', 'step', 'store', 'string', 'strleft',
        -            'strlower', 'strright', 'strsub', 'strupper',
        -            'tan', 'tanh', 'targetobject', 'terminate', 'text', 'time',
        -            'wait', 'warn', 'when', 'write', 'writeDouble', 'writeInt', 'writeNumber', 'writeShort',
        -            'var', 'vector', 'visitnodes', 'vmag',
        -            ),
        -        5 => array(
        -            'addcurve', 'addpoint', 'addpolygon', 'addquad', 'addtriangle', 'alignpols',
        -            'autoflex', 'axisdrill',
        -            'bend', 'bevel', 'boolean', 'boundingbox',
        -            'changepart', 'changesurface', 'close', 'closeall', 'cmdseq', 'copy', 'copysurface',
        -            'createsurface', 'cut',
        -            'deformregion', 'delete',
        -            'editbegin', 'editend', 'exit', 'extrude',
        -            'fixedflex', 'flip', 'fontclear', 'fontcount', 'fontindex', 'fontload',
        -            'fontname', 'fracsubdivide', 'freezecurves',
        -            'getdefaultsurface',
        -            'jitter',
        -            'lathe', 'layerName', 'layerVisible', 'lyrbg', 'lyrdata', 'lyrempty', 'lyremptybg',
        -            'lyremptyfg', 'lyrfg', 'lyrsetbg', 'lyrsetfg', 'lyrswap',
        -            'magnet', 'make4patch', 'makeball', 'makebox', 'makecone', 'makedisc',
        -            'maketesball', 'maketext', 'mergepoints', 'mergepols', 'meshedit', 'mirror',
        -            'morphpols', 'move',
        -            'new', 'nextsurface',
        -            'paste', 'pathclone', 'pathextrude', 'pixel', 'pointcount', 'pointinfo',
        -            'pointmove', 'pole', 'polycount', 'polyinfo', 'polynormal', 'polypointcount',
        -            'polypoints', 'polysurface',
        -            'quantize',
        -            'railclone', 'railextrude', 'redo', 'removepols', 'rempoint', 'rempoly',
        -            'renamesurface', 'revert', 'rotate',
        -            'scale', 'selhide', 'selinvert', 'selmode', 'selpoint', 'selpolygon', 'selunhide',
        -            'selectvmap', 'setlayername', 'setobject', 'setpivot', 'setsurface', 'shapebevel',
        -            'shear', 'skinpols', 'smooth', 'smoothcurves', 'smoothscale', 'smoothshift',
        -            'soliddrill', 'splitpols', 'subdivide', 'swaphidden',
        -            'taper', 'triple', 'toggleCCend', 'toggleCCstart', 'togglepatches', 'twist',
        -            'undo', 'undogroupend', 'undogroupbegin', 'unifypols', 'unweld',
        -            'vortex',
        -            'weldaverage', 'weldpoints'
        -            ),
        -        6 => array(
        -            'About', 'AboutOpenGL', 'AdaptiveSampling', 'AdaptiveThreshold',
        -            'AddAreaLight', 'AddBone', 'AddButton', 'AddCamera', 'AddChildBone',
        -            'AddDistantLight', 'AddEnvelope', 'AddLinearLight', 'AddNull',
        -            'AddPartigon', 'AddPlugins', 'AddPointLight', 'AddPosition',
        -            'AddRotation', 'AddScale', 'AddSpotlight', 'AddToSelection',
        -            'AdjustRegionTool', 'AffectCaustics', 'AffectDiffuse', 'AffectOpenGL',
        -            'AffectSpecular', 'AlertLevel', 'AmbientColor', 'AmbientIntensity',
        -            'Antialiasing', 'ApertureHeight', 'ApplyServer', 'AreaLight',
        -            'AutoConfirm', 'AutoFrameAdvance', 'AutoKey',
        -            'BackdropColor', 'BackView', 'BController', 'BLimits', 'BLurLength', 'BoneActive',
        -            'BoneFalloffType', 'BoneJointComp', 'BoneJointCompAmounts', 'BoneJointCompParent',
        -            'BoneLimitedRange', 'BoneMaxRange', 'BoneMinRange', 'BoneMuscleFlex',
        -            'BoneMuscleFlexAmounts', 'BoneMuscleFlexParent', 'BoneNormalization',
        -            'BoneRestLength', 'BoneRestPosition', 'BoneRestRotation', 'BoneSource',
        -            'BoneStrength', 'BoneStrengthMultiply', 'BoneWeightMapName', 'BoneWeightMapOnly',
        -            'BoneWeightShade', 'BoneXRay', 'BottomView', 'BoundingBoxThreshold',
        -            'BStiffness',
        -            'CacheCaustics', 'CacheRadiosity', 'CacheShadowMap',
        -            'CameraMask', 'CameraView', 'CameraZoomTool', 'CastShadow', 'CausticIntensity',
        -            'CenterItem', 'CenterMouse', 'ChangeTool', 'ClearAllBones', 'ClearAllCameras',
        -            'ClearAllLights', 'ClearAllObjects', 'ClearAudio', 'ClearScene', 'ClearSelected',
        -            'Clone', 'CommandHistory', 'CommandInput', 'Compositing', 'ConeAngleTool',
        -            'ContentDirectory', 'CreateKey',
        -            'DecreaseGrid', 'DeleteKey', 'DepthBufferAA', 'DepthOfField', 'DisplayOptions',
        -            'DistantLight', 'DrawAntialiasing', 'DrawBones', 'DrawChildBones', 'DynamicUpdate',
        -            'EditBones', 'EditCameras', 'EditKeys', 'EditLights',
        -            'EditMenus', 'EditObjects', 'EditPlugins', 'EditServer', 'EnableCaustics',
        -            'EnableDeformations', 'EnableIK', 'EnableLensFlares', 'EnableRadiosity', 'EnableServer',
        -            'EnableShadowMaps', 'EnableVIPER', 'EnableVolumetricLights', 'EnableXH',
        -            'EnableYP', 'EnableZB', 'EnahancedAA', 'ExcludeLight', 'ExcludeObject',
        -            'EyeSeparation',
        -            'FasterBones', 'FirstFrame', 'FirstItem', 'FitAll', 'FitSelected',
        -            'FlareIntensity', 'FlareOptions', 'FocalDistance', 'FogColor', 'FogMaxAmount',
        -            'FogMaxDistance', 'FogMinAmount', 'FogMinDistance', 'FogType', 'FractionalFrames',
        -            'FrameSize', 'FramesPerSecond', 'FrameStep', 'FreePreview', 'FrontView', 'FullTimeIK',
        -            'GeneralOptions', 'Generics', 'GlobalApertureHeight', 'GlobalBlurLength',
        -            'GlobalFrameSize', 'GlobalIllumination', 'GlobalMaskPosition', 'GlobalMotionBlur',
        -            'GlobalParticleBlur', 'GlobalPixelAspect', 'GlobalResolutionMulitplier', 'GoalItem',
        -            'GoalStrength', 'GoToFrame', 'GradientBackdrop', 'GraphEditor', 'GridSize', 'GroundColor',
        -            'HController', 'HideToolbar', 'HideWindows', 'HLimits', 'HStiffness',
        -            'ImageEditor', 'ImageProcessing', 'IncludeLight', 'IncludeObject', 'IncreaseGrid',
        -            'IndirectBounces', 'Item_SetWindowPos', 'ItemActive', 'ItemColor', 'ItemLock',
        -            'ItemProperties', 'ItemVisibilty',
        -            'KeepGoalWithinReach',
        -            'LastFrame', 'LastItem', 'LastPluginInterface', 'Layout_SetWindowPos',
        -            'Layout_SetWindowSize', 'LeftView', 'LensFlare', 'LensFStop', 'LightColor',
        -            'LightConeAngle', 'LightEdgeAngle', 'LightFalloffType', 'LightIntensity',
        -            'LightIntensityTool', 'LightQuality', 'LightRange', 'LightView', 'LimitB',
        -            'LimitDynamicRange', 'LimitedRegion', 'LimitH', 'LimitP', 'LinearLight',
        -            'LoadAudio', 'LoadFromScene', 'LoadMotion', 'LoadObject', 'LoadObjectLayer',
        -            'LoadPreview', 'LoadScene', 'LocalCoordinateSystem',
        -            'MakePreview', 'MaskColor', 'MaskPosition', 'MasterPlugins', 'MatchGoalOrientation',
        -            'MatteColor', 'MatteObject', 'MetaballResolution', 'Model', 'MorphAmount',
        -            'MorphAmountTool', 'MorphMTSE', 'MorphSurfaces', 'MorphTarget', 'MotionBlur',
        -            'MotionBlurDOFPreview', 'MotionOptions', 'MovePathTool', 'MovePivotTool', 'MoveTool',
        -            'NadirColor', 'NetRender', 'NextFrame', 'NextItem', 'NextKey', 'NextSibling',
        -            'NextViewLayout', 'NoiseReduction', 'Numeric',
        -            'ObjectDissolve',
        -            'ParentCoordinateSystem', 'ParentInPlace', 'ParentItem',
        -            'ParticleBlur', 'PathAlignLookAhead', 'PathAlignMaxLookSteps', 'PathAlignReliableDist',
        -            'Pause', 'PController', 'PerspectiveView',
        -            'PivotPosition', 'PivotRotation', 'PixelAspect', 'PlayAudio', 'PlayBackward',
        -            'PlayForward', 'PlayPreview', 'PLimits', 'PointLight', 'PolygonEdgeColor',
        -            'PolygonEdgeFlags', 'PolygonEdgeThickness', 'PolygonEdgeZScale', 'PolygonSize',
        -            'Position', 'Presets', 'PreviewFirstFrame', 'PreviewFrameStep', 'PreviewLastFrame',
        -            'PreviewOptions', 'PreviousFrame', 'PreviousItem', 'PreviousKey', 'PreviousSibling',
        -            'PreviousViewLayout', 'PStiffness',
        -            'Quit',
        -            'RadiosityIntensity', 'RadiosityTolerance', 'RadiosityType', 'RayRecursionLimit',
        -            'RayTraceReflection', 'RayTraceShadows',
        -            'RayTraceTransparency', 'ReceiveShadow', 'RecentContentDirs', 'RecentScenes',
        -            'ReconstructionFilter', 'RecordMaxAngles', 'RecordMinAngles', 'RecordPivotRotation',
        -            'RecordRestPosition', 'Redraw', 'RedrawNow', 'Refresh', 'RefreshNow', 'RegionPosition',
        -            'RemoveEnvelope', 'RemoveFromSelection', 'RemoveServer', 'Rename', 'RenderFrame',
        -            'RenderOptions', 'RenderScene', 'RenderSelected', 'RenderThreads',
        -            'ReplaceObjectLayer', 'ReplaceWithNull', 'ReplaceWithObject', 'Reset',
        -            'ResolutionMultiplier', 'RestLengthTool', 'RightView', 'RotatePivotTool',
        -            'RotateTool', 'Rotation',
        -            'SaveAllObjects', 'SaveCommandList', 'SaveCommandMessages',
        -            'SaveEndomorph', 'SaveLight', 'SaveLWSC1', 'SaveMotion', 'SaveObject', 'SaveObjectCopy',
        -            'SavePreview', 'SaveScene', 'SaveSceneAs', 'SaveSceneCopy', 'SaveTransformed',
        -            'SaveViewLayout', 'Scale', 'Scene_SetWindowPos', 'Scene_SetWindowSize',
        -            'SceneEditor', 'SchematicPosition', 'SchematicView', 'SelectAllBones',
        -            'SelectAllCameras', 'SelectAllLights', 'SelectAllObjects', 'SelectByName',
        -            'SelectChild', 'SelectItem', 'SelectParent', 'SelfShadow', 'ShadowColor',
        -            'ShadowExclusion', 'ShadowMapAngle', 'ShadowMapFitCone', 'ShadowMapFuzziness',
        -            'ShadowMapSize', 'ShadowType', 'ShowCages', 'ShowFieldChart', 'ShowHandles',
        -            'ShowIKChains', 'ShowMotionPaths', 'ShowSafeAreas', 'ShowTargetLines',
        -            'ShrinkEdgesWithDistance', 'SingleView', 'SizeTool', 'SkelegonsToBones', 'SkyColor',
        -            'Spotlight', 'SquashTool', 'Statistics', 'StatusMsg', 'Stereoscopic', 'StretchTool',
        -            'SubdivisionOrder', 'SubPatchLevel', 'SurfaceEditor', 'Synchronize',
        -            'TargetItem', 'TopView',
        -            'UnaffectedByFog', 'UnaffectedByIK', 'Undo', 'UnseenByAlphaChannel', 'UnseenByCamera',
        -            'UnseenByRays', 'UseGlobalResolution', 'UseGlobalBlur', 'UseGlobalMask',
        -            'UseMorphedPositions',
        -            'ViewLayout', 'VIPER', 'VolumetricLighting',
        -            'VolumetricLightingOptions', 'VolumetricRadiosity', 'Volumetrics',
        -            'WorldCoordinateSystem',
        -            'XYView', 'XZView',
        -            'ZenithColor', 'ZoomFactor', 'ZoomIn', 'ZoomInX2', 'ZoomOut', 'ZoomOutX2', 'ZYView',
        -            'Camera', 'Channel', 'ChannelGroup', 'Envelope', 'File', 'Glyph', 'Icon', 'Image',
        -            'Light', 'Mesh', 'Scene', 'Surface', 'VMap'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '=', '<', '>', '+', '-', '*', '/', '!', '%', '&', '@'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false,
        -        7 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #FF6820; font-weight: bold;', //LS_COMMANDS
        -            3 => 'color: #007F7F; font-weight: bold;', //LS_MEMBERS
        -            4 => 'color: #800080; font-weight: bold;', //LS_METHODS
        -            5 => 'color: #51BD95; font-weight: bold;', //LS_MODELER
        -            6 => 'color: #416F85; font-weight: bold;', //LS_GENERAL
        -            7 => 'color: #C92929; font-weight: bold;'  //LS_COMMANDS (cont)
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #7F7F7F;',
        -            'MULTI' => 'color: #7F7F7F;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #0040A0;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #00C800;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #6953AC;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #0040A0;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            3 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\.)'
        -                ),
        -            4 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\.)'
        -                )
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/lsl2.php b/vendor/easybook/geshi/geshi/lsl2.php
        deleted file mode 100644
        index dd0bcce..0000000
        --- a/vendor/easybook/geshi/geshi/lsl2.php
        +++ /dev/null
        @@ -1,1257 +0,0 @@
        - 'LSL2',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -// Generated by LSL2 Derived Files Generator. Database version: 0.0.20130627001; output module version: 0.0.20130619000
        -        1 => array( // flow control
        -            'do',
        -            'else',
        -            'for',
        -            'if',
        -            'jump',
        -            'return',
        -            'state',
        -            'while',
        -            ),
        -        2 => array( // manifest constants
        -            'ACTIVE',
        -            'AGENT',
        -            'AGENT_ALWAYS_RUN',
        -            'AGENT_ATTACHMENTS',
        -            'AGENT_AUTOPILOT',
        -            'AGENT_AWAY',
        -            'AGENT_BUSY',
        -            'AGENT_BY_LEGACY_NAME',
        -            'AGENT_BY_USERNAME',
        -            'AGENT_CROUCHING',
        -            'AGENT_FLYING',
        -            'AGENT_IN_AIR',
        -            'AGENT_LIST_PARCEL',
        -            'AGENT_LIST_PARCEL_OWNER',
        -            'AGENT_LIST_REGION',
        -            'AGENT_MOUSELOOK',
        -            'AGENT_ON_OBJECT',
        -            'AGENT_SCRIPTED',
        -            'AGENT_SITTING',
        -            'AGENT_TYPING',
        -            'AGENT_WALKING',
        -            'ALL_SIDES',
        -            'ANIM_ON',
        -            'ATTACH_AVATAR_CENTER',
        -            'ATTACH_BACK',
        -            'ATTACH_BELLY',
        -            'ATTACH_CHEST',
        -            'ATTACH_CHIN',
        -            'ATTACH_HEAD',
        -            'ATTACH_HUD_BOTTOM',
        -            'ATTACH_HUD_BOTTOM_LEFT',
        -            'ATTACH_HUD_BOTTOM_RIGHT',
        -            'ATTACH_HUD_CENTER_1',
        -            'ATTACH_HUD_CENTER_2',
        -            'ATTACH_HUD_TOP_CENTER',
        -            'ATTACH_HUD_TOP_LEFT',
        -            'ATTACH_HUD_TOP_RIGHT',
        -            'ATTACH_LEAR',
        -            'ATTACH_LEFT_PEC',
        -            'ATTACH_LEYE',
        -            'ATTACH_LFOOT',
        -            'ATTACH_LHAND',
        -            'ATTACH_LHIP',
        -            'ATTACH_LLARM',
        -            'ATTACH_LLLEG',
        -            'ATTACH_LSHOULDER',
        -            'ATTACH_LUARM',
        -            'ATTACH_LULEG',
        -            'ATTACH_MOUTH',
        -            'ATTACH_NECK',
        -            'ATTACH_NOSE',
        -            'ATTACH_PELVIS',
        -            'ATTACH_REAR',
        -            'ATTACH_REYE',
        -            'ATTACH_RFOOT',
        -            'ATTACH_RHAND',
        -            'ATTACH_RHIP',
        -            'ATTACH_RIGHT_PEC',
        -            'ATTACH_RLARM',
        -            'ATTACH_RLLEG',
        -            'ATTACH_RSHOULDER',
        -            'ATTACH_RUARM',
        -            'ATTACH_RULEG',
        -            'AVOID_CHARACTERS',
        -            'AVOID_DYNAMIC_OBSTACLES',
        -            'AVOID_NONE',
        -            'CAMERA_ACTIVE',
        -            'CAMERA_BEHINDNESS_ANGLE',
        -            'CAMERA_BEHINDNESS_LAG',
        -            'CAMERA_DISTANCE',
        -            'CAMERA_FOCUS',
        -            'CAMERA_FOCUS_LAG',
        -            'CAMERA_FOCUS_LOCKED',
        -            'CAMERA_FOCUS_OFFSET',
        -            'CAMERA_FOCUS_THRESHOLD',
        -            'CAMERA_PITCH',
        -            'CAMERA_POSITION',
        -            'CAMERA_POSITION_LAG',
        -            'CAMERA_POSITION_LOCKED',
        -            'CAMERA_POSITION_THRESHOLD',
        -            'CHANGED_ALLOWED_DROP',
        -            'CHANGED_COLOR',
        -            'CHANGED_INVENTORY',
        -            'CHANGED_LINK',
        -            'CHANGED_MEDIA',
        -            'CHANGED_OWNER',
        -            'CHANGED_REGION',
        -            'CHANGED_REGION_START',
        -            'CHANGED_SCALE',
        -            'CHANGED_SHAPE',
        -            'CHANGED_TELEPORT',
        -            'CHANGED_TEXTURE',
        -            'CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES',
        -            'CHARACTER_AVOIDANCE_MODE',
        -            'CHARACTER_CMD_JUMP',
        -            'CHARACTER_CMD_SMOOTH_STOP',
        -            'CHARACTER_CMD_STOP',
        -            'CHARACTER_DESIRED_SPEED',
        -            'CHARACTER_DESIRED_TURN_SPEED',
        -            'CHARACTER_LENGTH',
        -            'CHARACTER_MAX_ACCEL',
        -            'CHARACTER_MAX_DECEL',
        -            'CHARACTER_MAX_SPEED',
        -            'CHARACTER_MAX_TURN_RADIUS',
        -            'CHARACTER_ORIENTATION',
        -            'CHARACTER_RADIUS',
        -            'CHARACTER_STAY_WITHIN_PARCEL',
        -            'CHARACTER_TYPE',
        -            'CHARACTER_TYPE_A',
        -            'CHARACTER_TYPE_B',
        -            'CHARACTER_TYPE_C',
        -            'CHARACTER_TYPE_D',
        -            'CHARACTER_TYPE_NONE',
        -            'CLICK_ACTION_BUY',
        -            'CLICK_ACTION_NONE',
        -            'CLICK_ACTION_OPEN',
        -            'CLICK_ACTION_OPEN_MEDIA',
        -            'CLICK_ACTION_PAY',
        -            'CLICK_ACTION_PLAY',
        -            'CLICK_ACTION_SIT',
        -            'CLICK_ACTION_TOUCH',
        -            'CONTENT_TYPE_ATOM',
        -            'CONTENT_TYPE_FORM',
        -            'CONTENT_TYPE_HTML',
        -            'CONTENT_TYPE_JSON',
        -            'CONTENT_TYPE_LLSD',
        -            'CONTENT_TYPE_RSS',
        -            'CONTENT_TYPE_TEXT',
        -            'CONTENT_TYPE_XHTML',
        -            'CONTENT_TYPE_XML',
        -            'CONTROL_BACK',
        -            'CONTROL_DOWN',
        -            'CONTROL_FWD',
        -            'CONTROL_LBUTTON',
        -            'CONTROL_LEFT',
        -            'CONTROL_ML_LBUTTON',
        -            'CONTROL_RIGHT',
        -            'CONTROL_ROT_LEFT',
        -            'CONTROL_ROT_RIGHT',
        -            'CONTROL_UP',
        -            'DATA_BORN',
        -            'DATA_NAME',
        -            'DATA_ONLINE',
        -            'DATA_PAYINFO',
        -            'DATA_SIM_POS',
        -            'DATA_SIM_RATING',
        -            'DATA_SIM_STATUS',
        -            'DEBUG_CHANNEL',
        -            'DEG_TO_RAD',
        -            'DENSITY',
        -            'EOF',
        -            'ERR_GENERIC',
        -            'ERR_MALFORMED_PARAMS',
        -            'ERR_PARCEL_PERMISSIONS',
        -            'ERR_RUNTIME_PERMISSIONS',
        -            'ERR_THROTTLED',
        -            'ESTATE_ACCESS_ALLOWED_AGENT_ADD',
        -            'ESTATE_ACCESS_ALLOWED_AGENT_REMOVE',
        -            'ESTATE_ACCESS_ALLOWED_GROUP_ADD',
        -            'ESTATE_ACCESS_ALLOWED_GROUP_REMOVE',
        -            'ESTATE_ACCESS_BANNED_AGENT_ADD',
        -            'ESTATE_ACCESS_BANNED_AGENT_REMOVE',
        -            'FALSE',
        -            'FORCE_DIRECT_PATH',
        -            'FRICTION',
        -            'GCNP_RADIUS',
        -            'GCNP_STATIC',
        -            'GRAVITY_MULTIPLIER',
        -            'HORIZONTAL',
        -            'HTTP_BODY_MAXLENGTH',
        -            'HTTP_BODY_TRUNCATED',
        -            'HTTP_CUSTOM_HEADER',
        -            'HTTP_METHOD',
        -            'HTTP_MIMETYPE',
        -            'HTTP_PRAGMA_NO_CACHE',
        -            'HTTP_VERBOSE_THROTTLE',
        -            'HTTP_VERIFY_CERT',
        -            'INVENTORY_ALL',
        -            'INVENTORY_ANIMATION',
        -            'INVENTORY_BODYPART',
        -            'INVENTORY_CLOTHING',
        -            'INVENTORY_GESTURE',
        -            'INVENTORY_LANDMARK',
        -            'INVENTORY_NONE',
        -            'INVENTORY_NOTECARD',
        -            'INVENTORY_OBJECT',
        -            'INVENTORY_SCRIPT',
        -            'INVENTORY_SOUND',
        -            'INVENTORY_TEXTURE',
        -            'JSON_APPEND',
        -            'JSON_ARRAY',
        -            'JSON_FALSE',
        -            'JSON_INVALID',
        -            'JSON_NULL',
        -            'JSON_NUMBER',
        -            'JSON_OBJECT',
        -            'JSON_STRING',
        -            'JSON_TRUE',
        -            'KFM_CMD_PAUSE',
        -            'KFM_CMD_PLAY',
        -            'KFM_CMD_SET_MODE',
        -            'KFM_CMD_STOP',
        -            'KFM_COMMAND',
        -            'KFM_DATA',
        -            'KFM_FORWARD',
        -            'KFM_LOOP',
        -            'KFM_MODE',
        -            'KFM_PING_PONG',
        -            'KFM_REVERSE',
        -            'KFM_ROTATION',
        -            'KFM_TRANSLATION',
        -            'LAND_LARGE_BRUSH',
        -            'LAND_LEVEL',
        -            'LAND_LOWER',
        -            'LAND_MEDIUM_BRUSH',
        -            'LAND_NOISE',
        -            'LAND_RAISE',
        -            'LAND_REVERT',
        -            'LAND_SMALL_BRUSH',
        -            'LAND_SMOOTH',
        -            'LINK_ALL_CHILDREN',
        -            'LINK_ALL_OTHERS',
        -            'LINK_ROOT',
        -            'LINK_SET',
        -            'LINK_THIS',
        -            'LIST_STAT_GEOMETRIC_MEAN',
        -            'LIST_STAT_MAX',
        -            'LIST_STAT_MEAN',
        -            'LIST_STAT_MEDIAN',
        -            'LIST_STAT_MIN',
        -            'LIST_STAT_NUM_COUNT',
        -            'LIST_STAT_RANGE',
        -            'LIST_STAT_STD_DEV',
        -            'LIST_STAT_SUM',
        -            'LIST_STAT_SUM_SQUARES',
        -            'LOOP',
        -            'MASK_BASE',
        -            'MASK_EVERYONE',
        -            'MASK_GROUP',
        -            'MASK_NEXT',
        -            'MASK_OWNER',
        -            'NULL_KEY',
        -            'OBJECT_ATTACHED_POINT',
        -            'OBJECT_CHARACTER_TIME',
        -            'OBJECT_CREATOR',
        -            'OBJECT_DESC',
        -            'OBJECT_GROUP',
        -            'OBJECT_NAME',
        -            'OBJECT_OWNER',
        -            'OBJECT_PATHFINDING_TYPE',
        -            'OBJECT_PHANTOM',
        -            'OBJECT_PHYSICS',
        -            'OBJECT_PHYSICS_COST',
        -            'OBJECT_POS',
        -            'OBJECT_PRIM_EQUIVALENCE',
        -            'OBJECT_RETURN_PARCEL',
        -            'OBJECT_RETURN_PARCEL_OWNER',
        -            'OBJECT_RETURN_REGION',
        -            'OBJECT_ROOT',
        -            'OBJECT_ROT',
        -            'OBJECT_RUNNING_SCRIPT_COUNT',
        -            'OBJECT_SCRIPT_MEMORY',
        -            'OBJECT_SCRIPT_TIME',
        -            'OBJECT_SERVER_COST',
        -            'OBJECT_STREAMING_COST',
        -            'OBJECT_TEMP_ON_REZ',
        -            'OBJECT_TOTAL_SCRIPT_COUNT',
        -            'OBJECT_UNKNOWN_DETAIL',
        -            'OBJECT_VELOCITY',
        -            'OPT_AVATAR',
        -            'OPT_CHARACTER',
        -            'OPT_EXCLUSION_VOLUME',
        -            'OPT_LEGACY_LINKSET',
        -            'OPT_MATERIAL_VOLUME',
        -            'OPT_OTHER',
        -            'OPT_STATIC_OBSTACLE',
        -            'OPT_WALKABLE',
        -            'PARCEL_COUNT_GROUP',
        -            'PARCEL_COUNT_OTHER',
        -            'PARCEL_COUNT_OWNER',
        -            'PARCEL_COUNT_SELECTED',
        -            'PARCEL_COUNT_TEMP',
        -            'PARCEL_COUNT_TOTAL',
        -            'PARCEL_DETAILS_AREA',
        -            'PARCEL_DETAILS_DESC',
        -            'PARCEL_DETAILS_GROUP',
        -            'PARCEL_DETAILS_ID',
        -            'PARCEL_DETAILS_NAME',
        -            'PARCEL_DETAILS_OWNER',
        -            'PARCEL_DETAILS_SEE_AVATARS',
        -            'PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY',
        -            'PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS',
        -            'PARCEL_FLAG_ALLOW_CREATE_OBJECTS',
        -            'PARCEL_FLAG_ALLOW_DAMAGE',
        -            'PARCEL_FLAG_ALLOW_FLY',
        -            'PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY',
        -            'PARCEL_FLAG_ALLOW_GROUP_SCRIPTS',
        -            'PARCEL_FLAG_ALLOW_LANDMARK',
        -            'PARCEL_FLAG_ALLOW_SCRIPTS',
        -            'PARCEL_FLAG_ALLOW_TERRAFORM',
        -            'PARCEL_FLAG_LOCAL_SOUND_ONLY',
        -            'PARCEL_FLAG_RESTRICT_PUSHOBJECT',
        -            'PARCEL_FLAG_USE_ACCESS_GROUP',
        -            'PARCEL_FLAG_USE_ACCESS_LIST',
        -            'PARCEL_FLAG_USE_BAN_LIST',
        -            'PARCEL_FLAG_USE_LAND_PASS_LIST',
        -            'PARCEL_MEDIA_COMMAND_AGENT',
        -            'PARCEL_MEDIA_COMMAND_AUTO_ALIGN',
        -            'PARCEL_MEDIA_COMMAND_DESC',
        -            'PARCEL_MEDIA_COMMAND_LOOP',
        -            'PARCEL_MEDIA_COMMAND_LOOP_SET',
        -            'PARCEL_MEDIA_COMMAND_PAUSE',
        -            'PARCEL_MEDIA_COMMAND_PLAY',
        -            'PARCEL_MEDIA_COMMAND_SIZE',
        -            'PARCEL_MEDIA_COMMAND_STOP',
        -            'PARCEL_MEDIA_COMMAND_TEXTURE',
        -            'PARCEL_MEDIA_COMMAND_TIME',
        -            'PARCEL_MEDIA_COMMAND_TYPE',
        -            'PARCEL_MEDIA_COMMAND_UNLOAD',
        -            'PARCEL_MEDIA_COMMAND_URL',
        -            'PASSIVE',
        -            'PATROL_PAUSE_AT_WAYPOINTS',
        -            'PAYMENT_INFO_ON_FILE',
        -            'PAYMENT_INFO_USED',
        -            'PAY_DEFAULT',
        -            'PAY_HIDE',
        -            'PERMISSION_ATTACH',
        -            'PERMISSION_CHANGE_LINKS',
        -            'PERMISSION_CONTROL_CAMERA',
        -            'PERMISSION_DEBIT',
        -            'PERMISSION_OVERRIDE_ANIMATIONS',
        -            'PERMISSION_RETURN_OBJECTS',
        -            'PERMISSION_SILENT_ESTATE_MANAGEMENT',
        -            'PERMISSION_TAKE_CONTROLS',
        -            'PERMISSION_TELEPORT',
        -            'PERMISSION_TRACK_CAMERA',
        -            'PERMISSION_TRIGGER_ANIMATION',
        -            'PERM_ALL',
        -            'PERM_COPY',
        -            'PERM_MODIFY',
        -            'PERM_MOVE',
        -            'PERM_TRANSFER',
        -            'PI',
        -            'PING_PONG',
        -            'PI_BY_TWO',
        -            'PRIM_BUMP_BARK',
        -            'PRIM_BUMP_BLOBS',
        -            'PRIM_BUMP_BRICKS',
        -            'PRIM_BUMP_BRIGHT',
        -            'PRIM_BUMP_CHECKER',
        -            'PRIM_BUMP_CONCRETE',
        -            'PRIM_BUMP_DARK',
        -            'PRIM_BUMP_DISKS',
        -            'PRIM_BUMP_GRAVEL',
        -            'PRIM_BUMP_LARGETILE',
        -            'PRIM_BUMP_NONE',
        -            'PRIM_BUMP_SHINY',
        -            'PRIM_BUMP_SIDING',
        -            'PRIM_BUMP_STONE',
        -            'PRIM_BUMP_STUCCO',
        -            'PRIM_BUMP_SUCTION',
        -            'PRIM_BUMP_TILE',
        -            'PRIM_BUMP_WEAVE',
        -            'PRIM_BUMP_WOOD',
        -            'PRIM_COLOR',
        -            'PRIM_DESC',
        -            'PRIM_FLEXIBLE',
        -            'PRIM_FULLBRIGHT',
        -            'PRIM_GLOW',
        -            'PRIM_HOLE_CIRCLE',
        -            'PRIM_HOLE_DEFAULT',
        -            'PRIM_HOLE_SQUARE',
        -            'PRIM_HOLE_TRIANGLE',
        -            'PRIM_LINK_TARGET',
        -            'PRIM_MATERIAL',
        -            'PRIM_MATERIAL_FLESH',
        -            'PRIM_MATERIAL_GLASS',
        -            'PRIM_MATERIAL_METAL',
        -            'PRIM_MATERIAL_PLASTIC',
        -            'PRIM_MATERIAL_RUBBER',
        -            'PRIM_MATERIAL_STONE',
        -            'PRIM_MATERIAL_WOOD',
        -            'PRIM_MEDIA_ALT_IMAGE_ENABLE',
        -            'PRIM_MEDIA_AUTO_LOOP',
        -            'PRIM_MEDIA_AUTO_PLAY',
        -            'PRIM_MEDIA_AUTO_SCALE',
        -            'PRIM_MEDIA_AUTO_ZOOM',
        -            'PRIM_MEDIA_CONTROLS',
        -            'PRIM_MEDIA_CONTROLS_MINI',
        -            'PRIM_MEDIA_CONTROLS_STANDARD',
        -            'PRIM_MEDIA_CURRENT_URL',
        -            'PRIM_MEDIA_FIRST_CLICK_INTERACT',
        -            'PRIM_MEDIA_HEIGHT_PIXELS',
        -            'PRIM_MEDIA_HOME_URL',
        -            'PRIM_MEDIA_MAX_HEIGHT_PIXELS',
        -            'PRIM_MEDIA_MAX_URL_LENGTH',
        -            'PRIM_MEDIA_MAX_WHITELIST_COUNT',
        -            'PRIM_MEDIA_MAX_WHITELIST_SIZE',
        -            'PRIM_MEDIA_MAX_WIDTH_PIXELS',
        -            'PRIM_MEDIA_PARAM_MAX',
        -            'PRIM_MEDIA_PERMS_CONTROL',
        -            'PRIM_MEDIA_PERMS_INTERACT',
        -            'PRIM_MEDIA_PERM_ANYONE',
        -            'PRIM_MEDIA_PERM_GROUP',
        -            'PRIM_MEDIA_PERM_NONE',
        -            'PRIM_MEDIA_PERM_OWNER',
        -            'PRIM_MEDIA_WHITELIST',
        -            'PRIM_MEDIA_WHITELIST_ENABLE',
        -            'PRIM_MEDIA_WIDTH_PIXELS',
        -            'PRIM_NAME',
        -            'PRIM_OMEGA',
        -            'PRIM_PHANTOM',
        -            'PRIM_PHYSICS',
        -            'PRIM_PHYSICS_SHAPE_CONVEX',
        -            'PRIM_PHYSICS_SHAPE_NONE',
        -            'PRIM_PHYSICS_SHAPE_PRIM',
        -            'PRIM_PHYSICS_SHAPE_TYPE',
        -            'PRIM_POINT_LIGHT',
        -            'PRIM_POSITION',
        -            'PRIM_POS_LOCAL',
        -            'PRIM_ROTATION',
        -            'PRIM_ROT_LOCAL',
        -            'PRIM_SCULPT_FLAG_INVERT',
        -            'PRIM_SCULPT_FLAG_MIRROR',
        -            'PRIM_SCULPT_TYPE_CYLINDER',
        -            'PRIM_SCULPT_TYPE_MASK',
        -            'PRIM_SCULPT_TYPE_PLANE',
        -            'PRIM_SCULPT_TYPE_SPHERE',
        -            'PRIM_SCULPT_TYPE_TORUS',
        -            'PRIM_SHINY_HIGH',
        -            'PRIM_SHINY_LOW',
        -            'PRIM_SHINY_MEDIUM',
        -            'PRIM_SHINY_NONE',
        -            'PRIM_SIZE',
        -            'PRIM_SLICE',
        -            'PRIM_TEMP_ON_REZ',
        -            'PRIM_TEXGEN',
        -            'PRIM_TEXGEN_DEFAULT',
        -            'PRIM_TEXGEN_PLANAR',
        -            'PRIM_TEXT',
        -            'PRIM_TEXTURE',
        -            'PRIM_TYPE',
        -            'PRIM_TYPE_BOX',
        -            'PRIM_TYPE_CYLINDER',
        -            'PRIM_TYPE_PRISM',
        -            'PRIM_TYPE_RING',
        -            'PRIM_TYPE_SCULPT',
        -            'PRIM_TYPE_SPHERE',
        -            'PRIM_TYPE_TORUS',
        -            'PRIM_TYPE_TUBE',
        -            'PROFILE_NONE',
        -            'PROFILE_SCRIPT_MEMORY',
        -            'PSYS_PART_BOUNCE_MASK',
        -            'PSYS_PART_EMISSIVE_MASK',
        -            'PSYS_PART_END_ALPHA',
        -            'PSYS_PART_END_COLOR',
        -            'PSYS_PART_END_SCALE',
        -            'PSYS_PART_FLAGS',
        -            'PSYS_PART_FOLLOW_SRC_MASK',
        -            'PSYS_PART_FOLLOW_VELOCITY_MASK',
        -            'PSYS_PART_INTERP_COLOR_MASK',
        -            'PSYS_PART_INTERP_SCALE_MASK',
        -            'PSYS_PART_MAX_AGE',
        -            'PSYS_PART_START_ALPHA',
        -            'PSYS_PART_START_COLOR',
        -            'PSYS_PART_START_SCALE',
        -            'PSYS_PART_TARGET_LINEAR_MASK',
        -            'PSYS_PART_TARGET_POS_MASK',
        -            'PSYS_PART_WIND_MASK',
        -            'PSYS_SRC_ACCEL',
        -            'PSYS_SRC_ANGLE_BEGIN',
        -            'PSYS_SRC_ANGLE_END',
        -            'PSYS_SRC_BURST_PART_COUNT',
        -            'PSYS_SRC_BURST_RADIUS',
        -            'PSYS_SRC_BURST_RATE',
        -            'PSYS_SRC_BURST_SPEED_MAX',
        -            'PSYS_SRC_BURST_SPEED_MIN',
        -            'PSYS_SRC_MAX_AGE',
        -            'PSYS_SRC_OMEGA',
        -            'PSYS_SRC_PATTERN',
        -            'PSYS_SRC_PATTERN_ANGLE',
        -            'PSYS_SRC_PATTERN_ANGLE_CONE',
        -            'PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY',
        -            'PSYS_SRC_PATTERN_DROP',
        -            'PSYS_SRC_PATTERN_EXPLODE',
        -            'PSYS_SRC_TARGET_KEY',
        -            'PSYS_SRC_TEXTURE',
        -            'PUBLIC_CHANNEL',
        -            'PURSUIT_FUZZ_FACTOR',
        -            'PURSUIT_GOAL_TOLERANCE',
        -            'PURSUIT_INTERCEPT',
        -            'PURSUIT_OFFSET',
        -            'PU_EVADE_HIDDEN',
        -            'PU_EVADE_SPOTTED',
        -            'PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED',
        -            'PU_FAILURE_INVALID_GOAL',
        -            'PU_FAILURE_INVALID_START',
        -            'PU_FAILURE_NO_NAVMESH',
        -            'PU_FAILURE_NO_VALID_DESTINATION',
        -            'PU_FAILURE_OTHER',
        -            'PU_FAILURE_PARCEL_UNREACHABLE',
        -            'PU_FAILURE_TARGET_GONE',
        -            'PU_FAILURE_UNREACHABLE',
        -            'PU_GOAL_REACHED',
        -            'PU_SLOWDOWN_DISTANCE_REACHED',
        -            'RAD_TO_DEG',
        -            'RCERR_CAST_TIME_EXCEEDED',
        -            'RCERR_SIM_PERF_LOW',
        -            'RCERR_UNKNOWN',
        -            'RC_DATA_FLAGS',
        -            'RC_DETECT_PHANTOM',
        -            'RC_GET_LINK_NUM',
        -            'RC_GET_NORMAL',
        -            'RC_GET_ROOT_KEY',
        -            'RC_MAX_HITS',
        -            'RC_REJECT_AGENTS',
        -            'RC_REJECT_LAND',
        -            'RC_REJECT_NONPHYSICAL',
        -            'RC_REJECT_PHYSICAL',
        -            'RC_REJECT_TYPES',
        -            'REGION_FLAG_ALLOW_DAMAGE',
        -            'REGION_FLAG_ALLOW_DIRECT_TELEPORT',
        -            'REGION_FLAG_BLOCK_FLY',
        -            'REGION_FLAG_BLOCK_TERRAFORM',
        -            'REGION_FLAG_DISABLE_COLLISIONS',
        -            'REGION_FLAG_DISABLE_PHYSICS',
        -            'REGION_FLAG_FIXED_SUN',
        -            'REGION_FLAG_RESTRICT_PUSHOBJECT',
        -            'REGION_FLAG_SANDBOX',
        -            'REMOTE_DATA_CHANNEL',
        -            'REMOTE_DATA_REPLY',
        -            'REMOTE_DATA_REQUEST',
        -            'REQUIRE_LINE_OF_SIGHT',
        -            'RESTITUTION',
        -            'REVERSE',
        -            'ROTATE',
        -            'SCALE',
        -            'SCRIPTED',
        -            'SIM_STAT_PCT_CHARS_STEPPED',
        -            'SMOOTH',
        -            'SQRT2',
        -            'STATUS_BLOCK_GRAB',
        -            'STATUS_BLOCK_GRAB_OBJECT',
        -            'STATUS_BOUNDS_ERROR',
        -            'STATUS_CAST_SHADOWS',
        -            'STATUS_DIE_AT_EDGE',
        -            'STATUS_INTERNAL_ERROR',
        -            'STATUS_MALFORMED_PARAMS',
        -            'STATUS_NOT_FOUND',
        -            'STATUS_NOT_SUPPORTED',
        -            'STATUS_OK',
        -            'STATUS_PHANTOM',
        -            'STATUS_PHYSICS',
        -            'STATUS_RETURN_AT_EDGE',
        -            'STATUS_ROTATE_X',
        -            'STATUS_ROTATE_Y',
        -            'STATUS_ROTATE_Z',
        -            'STATUS_SANDBOX',
        -            'STATUS_TYPE_MISMATCH',
        -            'STATUS_WHITELIST_FAILED',
        -            'STRING_TRIM',
        -            'STRING_TRIM_HEAD',
        -            'STRING_TRIM_TAIL',
        -            'TEXTURE_BLANK',
        -            'TEXTURE_DEFAULT',
        -            'TEXTURE_MEDIA',
        -            'TEXTURE_PLYWOOD',
        -            'TEXTURE_TRANSPARENT',
        -            'TOUCH_INVALID_FACE',
        -            'TOUCH_INVALID_TEXCOORD',
        -            'TOUCH_INVALID_VECTOR',
        -            'TRAVERSAL_TYPE',
        -            'TRAVERSAL_TYPE_FAST',
        -            'TRAVERSAL_TYPE_NONE',
        -            'TRAVERSAL_TYPE_SLOW',
        -            'TRUE',
        -            'TWO_PI',
        -            'TYPE_FLOAT',
        -            'TYPE_INTEGER',
        -            'TYPE_INVALID',
        -            'TYPE_KEY',
        -            'TYPE_ROTATION',
        -            'TYPE_STRING',
        -            'TYPE_VECTOR',
        -            'URL_REQUEST_DENIED',
        -            'URL_REQUEST_GRANTED',
        -            'VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY',
        -            'VEHICLE_ANGULAR_DEFLECTION_TIMESCALE',
        -            'VEHICLE_ANGULAR_FRICTION_TIMESCALE',
        -            'VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE',
        -            'VEHICLE_ANGULAR_MOTOR_DIRECTION',
        -            'VEHICLE_ANGULAR_MOTOR_TIMESCALE',
        -            'VEHICLE_BANKING_EFFICIENCY',
        -            'VEHICLE_BANKING_MIX',
        -            'VEHICLE_BANKING_TIMESCALE',
        -            'VEHICLE_BUOYANCY',
        -            'VEHICLE_FLAG_CAMERA_DECOUPLED',
        -            'VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT',
        -            'VEHICLE_FLAG_HOVER_TERRAIN_ONLY',
        -            'VEHICLE_FLAG_HOVER_UP_ONLY',
        -            'VEHICLE_FLAG_HOVER_WATER_ONLY',
        -            'VEHICLE_FLAG_LIMIT_MOTOR_UP',
        -            'VEHICLE_FLAG_LIMIT_ROLL_ONLY',
        -            'VEHICLE_FLAG_MOUSELOOK_BANK',
        -            'VEHICLE_FLAG_MOUSELOOK_STEER',
        -            'VEHICLE_FLAG_NO_DEFLECTION_UP',
        -            'VEHICLE_HOVER_EFFICIENCY',
        -            'VEHICLE_HOVER_HEIGHT',
        -            'VEHICLE_HOVER_TIMESCALE',
        -            'VEHICLE_LINEAR_DEFLECTION_EFFICIENCY',
        -            'VEHICLE_LINEAR_DEFLECTION_TIMESCALE',
        -            'VEHICLE_LINEAR_FRICTION_TIMESCALE',
        -            'VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE',
        -            'VEHICLE_LINEAR_MOTOR_DIRECTION',
        -            'VEHICLE_LINEAR_MOTOR_OFFSET',
        -            'VEHICLE_LINEAR_MOTOR_TIMESCALE',
        -            'VEHICLE_REFERENCE_FRAME',
        -            'VEHICLE_TYPE_AIRPLANE',
        -            'VEHICLE_TYPE_BALLOON',
        -            'VEHICLE_TYPE_BOAT',
        -            'VEHICLE_TYPE_CAR',
        -            'VEHICLE_TYPE_NONE',
        -            'VEHICLE_TYPE_SLED',
        -            'VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY',
        -            'VEHICLE_VERTICAL_ATTRACTION_TIMESCALE',
        -            'VERTICAL',
        -            'WANDER_PAUSE_AT_WAYPOINTS',
        -            'ZERO_ROTATION',
        -            'ZERO_VECTOR',
        -            ),
        -        3 => array( // handlers
        -            'at_rot_target',
        -            'at_target',
        -            'attach',
        -            'changed',
        -            'collision',
        -            'collision_end',
        -            'collision_start',
        -            'control',
        -            'dataserver',
        -            'email',
        -            'http_request',
        -            'http_response',
        -            'land_collision',
        -            'land_collision_end',
        -            'land_collision_start',
        -            'link_message',
        -            'listen',
        -            'money',
        -            'moving_end',
        -            'moving_start',
        -            'no_sensor',
        -            'not_at_rot_target',
        -            'not_at_target',
        -            'object_rez',
        -            'on_rez',
        -            'path_update',
        -            'remote_data',
        -            'run_time_permissions',
        -            'sensor',
        -            'state_entry',
        -            'state_exit',
        -            'timer',
        -            'touch',
        -            'touch_end',
        -            'touch_start',
        -            'transaction_result',
        -            ),
        -        4 => array( // data types
        -            'float',
        -            'integer',
        -            'key',
        -            'list',
        -            'quaternion',
        -            'rotation',
        -            'string',
        -            'vector',
        -            ),
        -        5 => array( // library
        -            'default',
        -            'llAbs',
        -            'llAcos',
        -            'llAddToLandBanList',
        -            'llAddToLandPassList',
        -            'llAdjustSoundVolume',
        -            'llAllowInventoryDrop',
        -            'llAngleBetween',
        -            'llApplyImpulse',
        -            'llApplyRotationalImpulse',
        -            'llAsin',
        -            'llAtan2',
        -            'llAttachToAvatar',
        -            'llAttachToAvatarTemp',
        -            'llAvatarOnLinkSitTarget',
        -            'llAvatarOnSitTarget',
        -            'llAxes2Rot',
        -            'llAxisAngle2Rot',
        -            'llBase64ToInteger',
        -            'llBase64ToString',
        -            'llBreakAllLinks',
        -            'llBreakLink',
        -            'llCastRay',
        -            'llCeil',
        -            'llClearCameraParams',
        -            'llClearLinkMedia',
        -            'llClearPrimMedia',
        -            'llCloseRemoteDataChannel',
        -            'llCollisionFilter',
        -            'llCollisionSound',
        -            'llCos',
        -            'llCreateCharacter',
        -            'llCreateLink',
        -            'llCSV2List',
        -            'llDeleteCharacter',
        -            'llDeleteSubList',
        -            'llDeleteSubString',
        -            'llDetachFromAvatar',
        -            'llDetectedGrab',
        -            'llDetectedGroup',
        -            'llDetectedKey',
        -            'llDetectedLinkNumber',
        -            'llDetectedName',
        -            'llDetectedOwner',
        -            'llDetectedPos',
        -            'llDetectedRot',
        -            'llDetectedTouchBinormal',
        -            'llDetectedTouchFace',
        -            'llDetectedTouchNormal',
        -            'llDetectedTouchPos',
        -            'llDetectedTouchST',
        -            'llDetectedTouchUV',
        -            'llDetectedType',
        -            'llDetectedVel',
        -            'llDialog',
        -            'llDie',
        -            'llDumpList2String',
        -            'llEdgeOfWorld',
        -            'llEjectFromLand',
        -            'llEmail',
        -            'llEscapeURL',
        -            'llEuler2Rot',
        -            'llEvade',
        -            'llExecCharacterCmd',
        -            'llFabs',
        -            'llFleeFrom',
        -            'llFloor',
        -            'llForceMouselook',
        -            'llFrand',
        -            'llGenerateKey',
        -            'llGetAccel',
        -            'llGetAgentInfo',
        -            'llGetAgentLanguage',
        -            'llGetAgentList',
        -            'llGetAgentSize',
        -            'llGetAlpha',
        -            'llGetAndResetTime',
        -            'llGetAnimation',
        -            'llGetAnimationList',
        -            'llGetAnimationOverride',
        -            'llGetAttached',
        -            'llGetBoundingBox',
        -            'llGetCameraPos',
        -            'llGetCameraRot',
        -            'llGetCenterOfMass',
        -            'llGetClosestNavPoint',
        -            'llGetColor',
        -            'llGetCreator',
        -            'llGetDate',
        -            'llGetDisplayName',
        -            'llGetEnergy',
        -            'llGetEnv',
        -            'llGetForce',
        -            'llGetFreeMemory',
        -            'llGetFreeURLs',
        -            'llGetGeometricCenter',
        -            'llGetGMTclock',
        -            'llGetHTTPHeader',
        -            'llGetInventoryCreator',
        -            'llGetInventoryKey',
        -            'llGetInventoryName',
        -            'llGetInventoryNumber',
        -            'llGetInventoryPermMask',
        -            'llGetInventoryType',
        -            'llGetKey',
        -            'llGetLandOwnerAt',
        -            'llGetLinkKey',
        -            'llGetLinkMedia',
        -            'llGetLinkName',
        -            'llGetLinkNumber',
        -            'llGetLinkNumberOfSides',
        -            'llGetLinkPrimitiveParams',
        -            'llGetListEntryType',
        -            'llGetListLength',
        -            'llGetLocalPos',
        -            'llGetLocalRot',
        -            'llGetMass',
        -            'llGetMassMKS',
        -            'llGetMemoryLimit',
        -            'llGetNextEmail',
        -            'llGetNotecardLine',
        -            'llGetNumberOfNotecardLines',
        -            'llGetNumberOfPrims',
        -            'llGetNumberOfSides',
        -            'llGetObjectDesc',
        -            'llGetObjectDetails',
        -            'llGetObjectMass',
        -            'llGetObjectName',
        -            'llGetObjectPermMask',
        -            'llGetObjectPrimCount',
        -            'llGetOmega',
        -            'llGetOwner',
        -            'llGetOwnerKey',
        -            'llGetParcelDetails',
        -            'llGetParcelFlags',
        -            'llGetParcelMaxPrims',
        -            'llGetParcelMusicURL',
        -            'llGetParcelPrimCount',
        -            'llGetParcelPrimOwners',
        -            'llGetPermissions',
        -            'llGetPermissionsKey',
        -            'llGetPhysicsMaterial',
        -            'llGetPos',
        -            'llGetPrimitiveParams',
        -            'llGetPrimMediaParams',
        -            'llGetRegionAgentCount',
        -            'llGetRegionCorner',
        -            'llGetRegionFlags',
        -            'llGetRegionFPS',
        -            'llGetRegionName',
        -            'llGetRegionTimeDilation',
        -            'llGetRootPosition',
        -            'llGetRootRotation',
        -            'llGetRot',
        -            'llGetScale',
        -            'llGetScriptName',
        -            'llGetScriptState',
        -            'llGetSimStats',
        -            'llGetSimulatorHostname',
        -            'llGetSPMaxMemory',
        -            'llGetStartParameter',
        -            'llGetStaticPath',
        -            'llGetStatus',
        -            'llGetSubString',
        -            'llGetSunDirection',
        -            'llGetTexture',
        -            'llGetTextureOffset',
        -            'llGetTextureRot',
        -            'llGetTextureScale',
        -            'llGetTime',
        -            'llGetTimeOfDay',
        -            'llGetTimestamp',
        -            'llGetTorque',
        -            'llGetUnixTime',
        -            'llGetUsedMemory',
        -            'llGetUsername',
        -            'llGetVel',
        -            'llGetWallclock',
        -            'llGiveInventory',
        -            'llGiveInventoryList',
        -            'llGiveMoney',
        -            'llGround',
        -            'llGroundContour',
        -            'llGroundNormal',
        -            'llGroundRepel',
        -            'llGroundSlope',
        -            'llHTTPRequest',
        -            'llHTTPResponse',
        -            'llInsertString',
        -            'llInstantMessage',
        -            'llIntegerToBase64',
        -            'llJson2List',
        -            'llJsonGetValue',
        -            'llJsonSetValue',
        -            'llJsonValueType',
        -            'llKey2Name',
        -            'llLinkParticleSystem',
        -            'llLinkSitTarget',
        -            'llList2CSV',
        -            'llList2Float',
        -            'llList2Integer',
        -            'llList2Json',
        -            'llList2Key',
        -            'llList2List',
        -            'llList2ListStrided',
        -            'llList2Rot',
        -            'llList2String',
        -            'llList2Vector',
        -            'llListen',
        -            'llListenControl',
        -            'llListenRemove',
        -            'llListFindList',
        -            'llListInsertList',
        -            'llListRandomize',
        -            'llListReplaceList',
        -            'llListSort',
        -            'llListStatistics',
        -            'llLoadURL',
        -            'llLog',
        -            'llLog10',
        -            'llLookAt',
        -            'llLoopSound',
        -            'llLoopSoundMaster',
        -            'llLoopSoundSlave',
        -            'llManageEstateAccess',
        -            'llMapDestination',
        -            'llMD5String',
        -            'llMessageLinked',
        -            'llMinEventDelay',
        -            'llModifyLand',
        -            'llModPow',
        -            'llMoveToTarget',
        -            'llNavigateTo',
        -            'llOffsetTexture',
        -            'llOpenRemoteDataChannel',
        -            'llOverMyLand',
        -            'llOwnerSay',
        -            'llParcelMediaCommandList',
        -            'llParcelMediaQuery',
        -            'llParseString2List',
        -            'llParseStringKeepNulls',
        -            'llParticleSystem',
        -            'llPassCollisions',
        -            'llPassTouches',
        -            'llPatrolPoints',
        -            'llPlaySound',
        -            'llPlaySoundSlave',
        -            'llPow',
        -            'llPreloadSound',
        -            'llPursue',
        -            'llPushObject',
        -            'llRegionSay',
        -            'llRegionSayTo',
        -            'llReleaseControls',
        -            'llReleaseURL',
        -            'llRemoteDataReply',
        -            'llRemoteLoadScriptPin',
        -            'llRemoveFromLandBanList',
        -            'llRemoveFromLandPassList',
        -            'llRemoveInventory',
        -            'llRemoveVehicleFlags',
        -            'llRequestAgentData',
        -            'llRequestDisplayName',
        -            'llRequestInventoryData',
        -            'llRequestPermissions',
        -            'llRequestSecureURL',
        -            'llRequestSimulatorData',
        -            'llRequestURL',
        -            'llRequestUsername',
        -            'llResetAnimationOverride',
        -            'llResetLandBanList',
        -            'llResetLandPassList',
        -            'llResetOtherScript',
        -            'llResetScript',
        -            'llResetTime',
        -            'llReturnObjectsByID',
        -            'llReturnObjectsByOwner',
        -            'llRezAtRoot',
        -            'llRezObject',
        -            'llRot2Angle',
        -            'llRot2Axis',
        -            'llRot2Euler',
        -            'llRot2Fwd',
        -            'llRot2Left',
        -            'llRot2Up',
        -            'llRotateTexture',
        -            'llRotBetween',
        -            'llRotLookAt',
        -            'llRotTarget',
        -            'llRotTargetRemove',
        -            'llRound',
        -            'llSameGroup',
        -            'llSay',
        -            'llScaleTexture',
        -            'llScriptDanger',
        -            'llScriptProfiler',
        -            'llSendRemoteData',
        -            'llSensor',
        -            'llSensorRemove',
        -            'llSensorRepeat',
        -            'llSetAlpha',
        -            'llSetAngularVelocity',
        -            'llSetAnimationOverride',
        -            'llSetBuoyancy',
        -            'llSetCameraAtOffset',
        -            'llSetCameraEyeOffset',
        -            'llSetCameraParams',
        -            'llSetClickAction',
        -            'llSetColor',
        -            'llSetContentType',
        -            'llSetDamage',
        -            'llSetForce',
        -            'llSetForceAndTorque',
        -            'llSetHoverHeight',
        -            'llSetKeyframedMotion',
        -            'llSetLinkAlpha',
        -            'llSetLinkCamera',
        -            'llSetLinkColor',
        -            'llSetLinkMedia',
        -            'llSetLinkPrimitiveParams',
        -            'llSetLinkPrimitiveParamsFast',
        -            'llSetLinkTexture',
        -            'llSetLinkTextureAnim',
        -            'llSetLocalRot',
        -            'llSetMemoryLimit',
        -            'llSetObjectDesc',
        -            'llSetObjectName',
        -            'llSetParcelMusicURL',
        -            'llSetPayPrice',
        -            'llSetPhysicsMaterial',
        -            'llSetPos',
        -            'llSetPrimitiveParams',
        -            'llSetPrimMediaParams',
        -            'llSetRegionPos',
        -            'llSetRemoteScriptAccessPin',
        -            'llSetRot',
        -            'llSetScale',
        -            'llSetScriptState',
        -            'llSetSitText',
        -            'llSetSoundQueueing',
        -            'llSetSoundRadius',
        -            'llSetStatus',
        -            'llSetText',
        -            'llSetTexture',
        -            'llSetTextureAnim',
        -            'llSetTimerEvent',
        -            'llSetTorque',
        -            'llSetTouchText',
        -            'llSetVehicleFlags',
        -            'llSetVehicleFloatParam',
        -            'llSetVehicleRotationParam',
        -            'llSetVehicleType',
        -            'llSetVehicleVectorParam',
        -            'llSetVelocity',
        -            'llSHA1String',
        -            'llShout',
        -            'llSin',
        -            'llSitTarget',
        -            'llSleep',
        -            'llSqrt',
        -            'llStartAnimation',
        -            'llStopAnimation',
        -            'llStopHover',
        -            'llStopLookAt',
        -            'llStopMoveToTarget',
        -            'llStopSound',
        -            'llStringLength',
        -            'llStringToBase64',
        -            'llStringTrim',
        -            'llSubStringIndex',
        -            'llTakeControls',
        -            'llTan',
        -            'llTarget',
        -            'llTargetOmega',
        -            'llTargetRemove',
        -            'llTeleportAgent',
        -            'llTeleportAgentGlobalCoords',
        -            'llTeleportAgentHome',
        -            'llTextBox',
        -            'llToLower',
        -            'llToUpper',
        -            'llTransferLindenDollars',
        -            'llTriggerSound',
        -            'llTriggerSoundLimited',
        -            'llUnescapeURL',
        -            'llUnSit',
        -            'llUpdateCharacter',
        -            'llVecDist',
        -            'llVecMag',
        -            'llVecNorm',
        -            'llVolumeDetect',
        -            'llWanderWithin',
        -            'llWater',
        -            'llWhisper',
        -            'llWind',
        -            'llXorBase64',
        -            'print',
        -            ),
        -        6 => array( // deprecated
        -            'ATTACH_LPEC',
        -            'ATTACH_RPEC',
        -            'DATA_RATING',
        -            'PERMISSION_CHANGE_JOINTS',
        -            'PERMISSION_CHANGE_PERMISSIONS',
        -            'PERMISSION_RELEASE_OWNERSHIP',
        -            'PERMISSION_REMAP_CONTROLS',
        -            'PRIM_CAST_SHADOWS',
        -            'PRIM_MATERIAL_LIGHT',
        -            'PSYS_SRC_INNERANGLE',
        -            'PSYS_SRC_OBJ_REL_MASK',
        -            'PSYS_SRC_OUTERANGLE',
        -            'VEHICLE_FLAG_NO_FLY_UP',
        -            'llCloud',
        -            'llMakeExplosion',
        -            'llMakeFire',
        -            'llMakeFountain',
        -            'llMakeSmoke',
        -            'llRemoteDataSetRegion',
        -            'llSound',
        -            'llSoundPreload',
        -            'llXorBase64Strings',
        -            'llXorBase64StringsCorrect',
        -            ),
        -        7 => array( // unimplemented
        -            'event',
        -            'llCollisionSprite',
        -            'llPointAt',
        -            'llRefreshPrimURL',
        -            'llReleaseCamera',
        -            'llRemoteLoadScript',
        -            'llSetPrimURL',
        -            'llStopPointAt',
        -            'llTakeCamera',
        -            ),
        -        8 => array( // God mode
        -            'llGodLikeRezObject',
        -            'llSetInventoryPermMask',
        -            'llSetObjectPermMask',
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '{', '}', '(', ')', '[', ']',
        -        '=', '+', '-', '*', '/',
        -        '+=', '-=', '*=', '/=', '++', '--',
        -        '!', '%', '&', '|', '&&', '||',
        -        '==', '!=', '<', '>', '<=', '>=',
        -        '~', '<<', '>>', '^', ':',
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #000080;',
        -            3 => 'color: #008080;',
        -            4 => 'color: #228b22;',
        -            5 => 'color: #b22222;',
        -            6 => 'color: #8b0000; background-color: #ffff00;',
        -            7 => 'color: #8b0000; background-color: #fa8072;',
        -            8 => 'color: #000000; background-color: #ba55d3;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #ff7f50; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #006400;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://wiki.secondlife.com/wiki/{FNAME}',
        -        4 => 'http://wiki.secondlife.com/wiki/{FNAME}',
        -        5 => 'http://wiki.secondlife.com/wiki/{FNAME}',
        -        6 => 'http://wiki.secondlife.com/wiki/{FNAME}',
        -        7 => 'http://wiki.secondlife.com/wiki/{FNAME}',
        -        8 => 'http://wiki.secondlife.com/wiki/{FNAME}',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/lua.php b/vendor/easybook/geshi/geshi/lua.php
        deleted file mode 100644
        index 985cb8c..0000000
        --- a/vendor/easybook/geshi/geshi/lua.php
        +++ /dev/null
        @@ -1,175 +0,0 @@
        - 'Lua',
        -    'COMMENT_SINGLE' => array(1 => "--"),
        -    'COMMENT_MULTI' => array('--[[' => ']]'),
        -    'COMMENT_REGEXP' => array(2 => '/\[(=*)\[.*?\]\1\]/s'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[\\\\abfnrtv\'\"]#i",
        -        //Octal Char Specs
        -        2 => "#\\\\\\d{1,3}#"
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_HEX_PREFIX |
        -        GESHI_NUMBER_FLT_NONSCI | GESHI_NUMBER_FLT_NONSCI_F |
        -        GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'break','do','else','elseif','end','for','function','if',
        -            'local','repeat','return','then','until','while'
        -            ),
        -        2 => array(
        -            'and','in','not','or'
        -            ),
        -        3 => array(
        -            '_VERSION','assert','collectgarbage','dofile','error','gcinfo','loadfile','loadstring',
        -            'print','tonumber','tostring','type','unpack',
        -            '_ALERT','_ERRORMESSAGE','_INPUT','_PROMPT','_OUTPUT',
        -            '_STDERR','_STDIN','_STDOUT','call','dostring','foreach','foreachi','getn','globals','newtype',
        -            'rawget','rawset','require','sort','tinsert','tremove',
        -            'abs','acos','asin','atan','atan2','ceil','cos','deg','exp',
        -            'floor','format','frexp','gsub','ldexp','log','log10','max','min','mod','rad','random','randomseed',
        -            'sin','sqrt','strbyte','strchar','strfind','strlen','strlower','strrep','strsub','strupper','tan',
        -            'openfile','closefile','readfrom','writeto','appendto',
        -            'remove','rename','flush','seek','tmpfile','tmpname','read','write',
        -            'clock','date','difftime','execute','exit','getenv','setlocale','time',
        -            '_G','getfenv','getmetatable','ipairs','loadlib','next','pairs','pcall',
        -            'rawegal','setfenv','setmetatable','xpcall',
        -            'string.byte','string.char','string.dump','string.find','string.len',
        -            'string.lower','string.rep','string.sub','string.upper','string.format','string.gfind','string.gsub',
        -            'table.concat','table.foreach','table.foreachi','table.getn','table.sort','table.insert','table.remove','table.setn',
        -            'math.abs','math.acos','math.asin','math.atan','math.atan2','math.ceil','math.cos','math.deg','math.exp',
        -            'math.floor','math.frexp','math.ldexp','math.log','math.log10','math.max','math.min','math.mod',
        -            'math.pi','math.rad','math.random','math.randomseed','math.sin','math.sqrt','math.tan',
        -            'coroutine.create','coroutine.resume','coroutine.status',
        -            'coroutine.wrap','coroutine.yield',
        -            'io.close','io.flush','io.input','io.lines','io.open','io.output','io.read','io.tmpfile','io.type','io.write',
        -            'io.stdin','io.stdout','io.stderr',
        -            'os.clock','os.date','os.difftime','os.execute','os.exit','os.getenv','os.remove','os.rename',
        -            'os.setlocale','os.time','os.tmpname',
        -            'string','table','math','coroutine','io','os','debug'
        -            ),
        -        4 => array(
        -            'nil', 'false', 'true'
        -            ),
        -        5 => array(
        -            'Nil', 'Boolean', 'Number', 'String', 'Userdata', 'Thread', 'Table'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '+', '-', '*', '/', '%', '^', '#',
        -        '==', '~=', '<=', '>=', '<', '>', '=',
        -        '(', ')', '{', '}', '[', ']',
        -        ';', ':', ',', '.', '..', '...'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #aa9900; font-weight: bold;',
        -            2 => 'color: #aa9900; font-weight: bold;',
        -            3 => 'color: #0000aa;',
        -            4 => 'color: #aa9900;',
        -            5 => 'color: #aa9900;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #ff0000;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff6666;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #aa9900;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/m68k.php b/vendor/easybook/geshi/geshi/m68k.php
        deleted file mode 100644
        index 983c288..0000000
        --- a/vendor/easybook/geshi/geshi/m68k.php
        +++ /dev/null
        @@ -1,141 +0,0 @@
        - 'Motorola 68000 Assembler',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        /*CPU*/
        -        1 => array(
        -            'adc','add','ais','aix','and','asl','asr','bcc','bclr','bcs','beq',
        -            'bge','bgt','bhcc','bhcs','bhi','bhs','bih','bil','bit','ble','blo',
        -            'bls','blt','bmc','bmi','bms','bne','bpl','bra','brclr','brn',
        -            'brset','bset','bsr','cbeq','clc','cli','clr','cmp','com','cphx',
        -            'cpx','daa','dbnz','dec','div','eor','inc','jmp','jsr','lda','ldhx',
        -            'ldx','lsl','lsr','mov','mul','neg','nop','nsa','ora','psha','pshh',
        -            'pshx','pula','pulh','pulx','rol','ror','rsp','rti','rts','sbc',
        -            'sec','sei','sta','sthx','stop','stx','sub','swi','tap','tax','tpa',
        -            'tst','tsx','txa','txs','wait'
        -        ),
        -        /*registers*/
        -        2 => array(
        -            'a','h','x',
        -            'hx','sp'
        -            ),
        -        /*Directive*/
        -        3 => array(
        -            '#define','#endif','#else','#ifdef','#ifndef','#include','#undef',
        -            '.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        ','
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff; font-weight:bold;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #46aa03; font-weight:bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #adadad; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #7f007f;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #dd22dd;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #22bbff;',
        -            1 => 'color: #22bbff;',
        -            2 => 'color: #993333;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Hex numbers
        -        0 => '#?0[0-9a-fA-F]{1,32}[hH]',
        -        //Binary numbers
        -        1 => '\%[01]{1,64}[bB]',
        -        //Labels
        -        2 => '^[_a-zA-Z][_a-zA-Z0-9]*?\:'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 8
        -);
        diff --git a/vendor/easybook/geshi/geshi/magiksf.php b/vendor/easybook/geshi/geshi/magiksf.php
        deleted file mode 100644
        index 9aefbc6..0000000
        --- a/vendor/easybook/geshi/geshi/magiksf.php
        +++ /dev/null
        @@ -1,192 +0,0 @@
        - null,
        -    'LANG_NAME' => 'MagikSF',
        -    'COMMENT_SINGLE' => array(1 => '##', 2 => '#%', 3 => '#'),
        -    'COMMENT_MULTI' => array("_pragma(" => ")"),
        -    //Multiline-continued single-line comments
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            '_block', '_endblock', '_proc', '_endproc', '_loop', '_endloop',
        -            '_method', '_endmethod',
        -            '_protect', '_endprotect', '_protection', '_locking',
        -            '_continue',
        -            ),
        -        2 => array(
        -            '_self', '_thisthread', '_pragma', '_private', '_abstract',
        -            '_local', '_global', '_dynamic', '_package', '_constant',
        -            '_import', '_iter', '_lock', '_optional', '_recursive', '_super'
        -            ),
        -        3 => array(
        -            '_if', '_endif', '_then', '_else', '_elif', '_orif', '_andif', '_for', '_over',
        -            '_try', '_endtry', '_when', '_throw', '_catch', '_endcatch', '_handling',
        -            '_finally', '_loopbody', '_return', '_leave', '_with'
        -            ),
        -        4 => array(
        -            '_false', '_true', '_maybe', '_unset', '_no_way'
        -            ),
        -        5 => array(
        -            '_mod', '_div', '_or', '_and', '_cf', '_is', '_isnt', '_not', '_gather', '_scatter',
        -            '_allresults', '_clone', '_xor'
        -            ),
        -        6 => array(
        -            'def_slotted_exemplar', 'write_string', 'write', 'condition',
        -            'record_transaction', 'gis_program_manager', 'perform', 'define_shared_constant',
        -            'property_list', 'rope', 'def_property', 'def_mixin'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']',
        -        '+', '-', '*', '/', '**',
        -        '=', '<', '>', '<<', '>>',
        -        ',', '$',
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #ff3f3f;',
        -            3 => 'color: #3f7f3f; font-weight: bold;',
        -            4 => 'color: #cc66cc;',
        -            5 => 'color: #ff3fff; font-weight: bold;',
        -            6 => 'font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #339933; font-weight: bold;',
        -            2 => 'color: #993333;',
        -            3 => 'color: #339933;',
        -            'MULTI' => 'color: #7f7f7f; font-style: italic',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #ff3f3f;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #ff3f3f;'
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'color: #3f3fff;',
        -            2 => 'color: #3f3fff;',
        -            3 => 'color: #cc66cc;',
        -            4 => 'color: #7f3f7f; font-style: italic;',
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        1 => array(
        -            GESHI_SEARCH => '\b[a-zA-Z0-9_]+:', // package identifiers
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        2 => array(
        -            GESHI_SEARCH => ':(?:[a-zA-Z0-9!?_]+|(?:[].*?[]))*', //symbols
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        3 => array(
        -            GESHI_SEARCH => '%space|%tab|%newline|%.', //characters
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        4 => array(
        -            GESHI_SEARCH => '@(?:[a-zA-Z0-9!?_]+|(?:[].*?[]))*', //symbols
        -            GESHI_REPLACE => '\\0',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/make.php b/vendor/easybook/geshi/geshi/make.php
        deleted file mode 100644
        index 24dda4a..0000000
        --- a/vendor/easybook/geshi/geshi/make.php
        +++ /dev/null
        @@ -1,151 +0,0 @@
        -
        - * Copyright: (c) 2008 Neil Bird
        - * Release Version: 1.0.8.11
        - * Date Started: 2008/08/26
        - *
        - * make language file for GeSHi.
        - *
        - * (GNU make specific)
        - *
        - * CHANGES
        - * -------
        - * 2008/09/05 (1.0.0)
        - *  -  First Release
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'GNU make',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_REGEXP' => array(
        -        //Escaped String Starters
        -        2 => "/\\\\['\"]/siU"
        -        ),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            // core
        -            'ifeq', 'else', 'endif', 'ifneq', 'ifdef', 'ifndef',
        -            'include', 'vpath', 'export', 'unexport', 'override',
        -            'info', 'warning', 'error'
        -            ),
        -        2 => array(
        -            // macros, literals
        -            '.SUFFIXES', '.PHONY', '.DEFAULT', '.PRECIOUS', '.IGNORE', '.SILENT', '.EXPORT_ALL_VARIABLES', '.KEEP_STATE',
        -            '.LIBPATTERNS', '.NOTPARALLEL', '.DELETE_ON_ERROR', '.INTERMEDIATE', '.POSIX', '.SECONDARY'
        -            ),
        -        /*
        -        3 => array(
        -            // funcs - see regex
        -            //'subst', 'addprefix', 'addsuffix', 'basename', 'call', 'dir', 'error', 'eval', 'filter-out', 'filter',
        -            //'findstring', 'firstword', 'foreach', 'if', 'join', 'notdir', 'origin', 'patsubst', 'shell', 'sort', 'strip',
        -            //'suffix', 'warning', 'wildcard', 'word', 'wordlist', 'words'
        -            )*/
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}',
        -        '!', '@', '%', '&', '|', '/',
        -        '<', '>',
        -        '=', '-', '+', '*',
        -        '.', ':', ',', ';',
        -        '$'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        //3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #666622; font-weight: bold;',
        -            2 => 'color: #990000;',
        -            //3 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #339900; font-style: italic;',
        -            2 => 'color: #000099; font-weight: bold;',
        -            'MULTI' => ''
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(  # keep same as symbols so as to make ${} and $() equiv.
        -            0 => 'color: #004400;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #CC2200;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #CC2200;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #004400;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #000088; font-weight: bold;',
        -            1 => 'color: #0000CC; font-weight: bold;',
        -            2 => 'color: #000088;'
        -            ),
        -        'SCRIPT' => array(),
        -        'METHODS' => array()
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        //3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        //Simple variables
        -        0 => "\\$(?:[^{(&]|&(?:amp|lt|gt);)",
        -        //Complex variables/functions [built-ins]
        -        1 => array(
        -            GESHI_SEARCH => '(\\$[({])(subst|addprefix|addsuffix|basename|call|dir|error|eval|filter-out|filter,|findstring|firstword|foreach|if|join|notdir|origin|patsubst|shell|sort|strip,|suffix|warning|wildcard|word|wordlist|words)([ })])',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -            //Complex variables/functions [others]
        -        2 => array(
        -            GESHI_SEARCH => '(\\$[({])([A-Za-z_][A-Za-z_0-9]*)([ })])',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'TAB_WIDTH' => 8
        -// vim: set sw=4 sts=4 :
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/mapbasic.php b/vendor/easybook/geshi/geshi/mapbasic.php
        deleted file mode 100644
        index 4441d64..0000000
        --- a/vendor/easybook/geshi/geshi/mapbasic.php
        +++ /dev/null
        @@ -1,907 +0,0 @@
        - 'MapBasic',
        -    'COMMENT_SINGLE' => array(1 => "'"),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -/*
        -        1 - Statements + Clauses + Data Types + Logical Operators, Geographical Operators + SQL
        -        2 - Special Procedures
        -        3 - Functions
        -        4 - Constants
        -        5 - Extended keywords (case sensitive)
        -*/
        -        1 => array(
        -            'Add', 'Alias', 'All', 'Alter', 'And', 'Any', 'Application', 'Arc',
        -            'Area', 'As', 'AutoLabel', 'Bar', 'Beep', 'Begin', 'Bind',
        -            'Browse', 'Brush', 'BrushPicker', 'Button', 'ButtonPad',
        -            'ButtonPads', 'BY', 'Call', 'CancelButton', 'Cartographic', 'Case',
        -            'CharSet', 'Check', 'CheckBox', 'Clean', 'Close', 'Collection',
        -            'Column', 'Combine', 'Command', 'Commit', 'Connection',
        -            'ConnectionNumber', 'Contains', 'Continue', 'Control', 'CoordSys',
        -            'Create', 'Cutter', 'Date', 'Datum', 'DDEExecute', 'DDEPoke',
        -            'DDETerminate', 'DDETerminateAll', 'Declare', 'Default', 'Define',
        -            'Delete', 'Dialog', 'Digitizer', 'Dim', 'Disaggregate',
        -            'Disconnect', 'Distance', 'Do', 'Document', 'DocumentWindow',
        -            'Drag', 'Drop', 'EditText', 'Ellipse', 'Enclose', 'End', 'Entire',
        -            'Entirely', 'Erase', 'Error', 'Event', 'Exit', 'Export',
        -            'Farthest', 'Fetch', 'File', 'Find', 'Float', 'FME', 'Font',
        -            'FontPicker', 'For', 'Format', 'Frame', 'From', 'Function',
        -            'Geocode', 'Get', 'Global', 'Goto', 'Graph', 'Grid', 'GROUP',
        -            'GroupBox', 'Handler', 'If', 'Import', 'In', 'Include', 'Index',
        -            'Info', 'Input', 'Insert', 'Integer', 'Intersect', 'Intersects',
        -            'INTO', 'Isogram', 'Item', 'Kill', 'Layout', 'Legend', 'Line',
        -            'Link', 'ListBox', 'Logical', 'Loop', 'Map', 'Map3D', 'MapInfo',
        -            'MapInfoDialog', 'Menu', 'Merge', 'Metadata', 'Method', 'Mod',
        -            'Move', 'MultiListBox', 'MultiPoint', 'MWS', 'Nearest', 'Next',
        -            'NOSELECT', 'Not', 'Note', 'Object', 'Objects', 'Offset',
        -            'OKButton', 'OnError', 'Open', 'Or', 'ORDER', 'Overlay', 'Pack',
        -            'Paper', 'Part', 'Partly', 'Pen', 'PenPicker', 'Pline', 'Point',
        -            'PopupMenu', 'Preserve', 'Print', 'PrintWin', 'PrismMap',
        -            'Processing', 'Program', 'ProgressBar', 'ProgressBars', 'Put',
        -            'RadioGroup', 'Randomize', 'Ranges', 'Rect', 'ReDim',
        -            'Redistricter', 'Refresh', 'Region', 'Register', 'Relief',
        -            'Reload', 'Remove', 'Rename', 'Report', 'Reproject', 'Resolution',
        -            'Resume', 'Rollback', 'RoundRect', 'RowID', 'Run', 'Save', 'Seek',
        -            'Select', 'Selection', 'Server', 'Set', 'Shade', 'SmallInt',
        -            'Snap', 'Split', 'StaticText', 'StatusBar', 'Stop', 'String',
        -            'Style', 'Styles', 'Sub', 'Symbol', 'SymbolPicker', 'Symbols',
        -            'Table', 'Target', 'Terminate', 'Text', 'Then', 'Threshold',
        -            'Timeout', 'To', 'Transaction', 'Transform', 'Type', 'UnDim',
        -            'Units', 'Unlink', 'Update', 'Using', 'VALUES', 'Version',
        -            'Versioning', 'Wend', 'WFS', 'WHERE', 'While', 'Window', 'Within',
        -            'Workspace', 'Write'
        -            ),
        -        2 => array(
        -            'EndHandler', 'ForegroundTaskSwitchHandler', 'Main',
        -            'RemoteMapGenHandler', 'RemoteMsgHandler', 'SelChangedHandler',
        -            'ToolHandler', 'WinChangedHandler', 'WinClosedHandler',
        -            'WinFocusChangedHandler'
        -            ),
        -        3 => array(
        -            'Abs', 'Acos', 'ApplicationDirectory$', 'AreaOverlap', 'Asc',
        -            'Asin', 'Ask', 'Atn', 'Avg', 'Buffer', 'ButtonPadInfo',
        -            'CartesianArea', 'CartesianBuffer', 'CartesianConnectObjects',
        -            'CartesianDistance', 'CartesianObjectDistance',
        -            'CartesianObjectLen', 'CartesianOffset', 'CartesianOffsetXY',
        -            'CartesianPerimeter', 'Centroid', 'CentroidX', 'CentroidY',
        -            'ChooseProjection$', 'Chr$', 'ColumnInfo', 'CommandInfo',
        -            'ConnectObjects', 'ControlPointInfo', 'ConvertToPline',
        -            'ConvertToRegion', 'ConvexHull', 'CoordSysName$', 'Cos', 'Count',
        -            'CreateCircle', 'CreateLine', 'CreatePoint', 'CreateText',
        -            'CurDate', 'CurrentBorderPen', 'CurrentBrush', 'CurrentFont',
        -            'CurrentLinePen', 'CurrentPen', 'CurrentSymbol', 'DateWindow',
        -            'Day', 'DDEInitiate', 'DDERequest$', 'DeformatNumber$', 'EOF',
        -            'EOT', 'EPSGToCoordSysString$', 'Err', 'Error$', 'Exp',
        -            'ExtractNodes', 'FileAttr', 'FileExists', 'FileOpenDlg',
        -            'FileSaveAsDlg', 'Fix', 'Format$', 'FormatDate$', 'FormatNumber$',
        -            'FrontWindow', 'GeocodeInfo', 'GetFolderPath$', 'GetGridCellValue',
        -            'GetMetadata$', 'GetSeamlessSheet', 'GridTableInfo',
        -            'HomeDirectory$', 'InStr', 'Int', 'IntersectNodes',
        -            'IsGridCellNull', 'IsogramInfo', 'IsPenWidthPixels',
        -            'LabelFindByID', 'LabelFindFirst', 'LabelFindNext', 'LabelInfo',
        -            'LayerInfo', 'LCase$', 'Left$', 'LegendFrameInfo', 'LegendInfo',
        -            'LegendStyleInfo', 'Len', 'Like', 'LocateFile$', 'LOF', 'Log',
        -            'LTrim$', 'MakeBrush', 'MakeCustomSymbol', 'MakeFont',
        -            'MakeFontSymbol', 'MakePen', 'MakeSymbol', 'Map3DInfo',
        -            'MapperInfo', 'Max', 'Maximum', 'MBR', 'MenuItemInfoByHandler',
        -            'MenuItemInfoByID', 'MGRSToPoint', 'MICloseContent',
        -            'MICloseFtpConnection', 'MICloseFtpFileFind',
        -            'MICloseHttpConnection', 'MICloseHttpFile', 'MICloseSession',
        -            'MICreateSession', 'MICreateSessionFull', 'Mid$', 'MidByte$',
        -            'MIErrorDlg', 'MIFindFtpFile', 'MIFindNextFtpFile', 'MIGetContent',
        -            'MIGetContentBuffer', 'MIGetContentLen', 'MIGetContentString',
        -            'MIGetContentToFile', 'MIGetContentType',
        -            'MIGetCurrentFtpDirectory', 'MIGetErrorCode', 'MIGetErrorMessage',
        -            'MIGetFileURL', 'MIGetFtpConnection', 'MIGetFtpFile',
        -            'MIGetFtpFileFind', 'MIGetFtpFileName', 'MIGetHttpConnection',
        -            'MIIsFtpDirectory', 'MIIsFtpDots', 'Min', 'Minimum',
        -            'MIOpenRequest', 'MIOpenRequestFull', 'MIParseURL', 'MIPutFtpFile',
        -            'MIQueryInfo', 'MIQueryInfoStatusCode', 'MISaveContent',
        -            'MISendRequest', 'MISendSimpleRequest', 'MISetCurrentFtpDirectory',
        -            'MISetSessionTimeout', 'MIXmlAttributeListDestroy',
        -            'MIXmlDocumentCreate', 'MIXmlDocumentDestroy',
        -            'MIXmlDocumentGetNamespaces', 'MIXmlDocumentGetRootNode',
        -            'MIXmlDocumentLoad', 'MIXmlDocumentLoadXML',
        -            'MIXmlDocumentLoadXMLString', 'MIXmlDocumentSetProperty',
        -            'MIXmlGetAttributeList', 'MIXmlGetChildList',
        -            'MIXmlGetNextAttribute', 'MIXmlGetNextNode', 'MIXmlNodeDestroy',
        -            'MIXmlNodeGetAttributeValue', 'MIXmlNodeGetFirstChild',
        -            'MIXmlNodeGetName', 'MIXmlNodeGetParent', 'MIXmlNodeGetText',
        -            'MIXmlNodeGetValue', 'MIXmlNodeListDestroy', 'MIXmlSCDestroy',
        -            'MIXmlSCGetLength', 'MIXmlSCGetNamespace', 'MIXmlSelectNodes',
        -            'MIXmlSelectSingleNode', 'Month', 'NumAllWindows', 'NumberToDate',
        -            'NumCols', 'NumTables', 'NumWindows', 'ObjectDistance',
        -            'ObjectGeography', 'ObjectInfo', 'ObjectLen', 'ObjectNodeHasM',
        -            'ObjectNodeHasZ', 'ObjectNodeM', 'ObjectNodeX', 'ObjectNodeY',
        -            'ObjectNodeZ', 'OffsetXY', 'Overlap', 'OverlayNodes',
        -            'PathToDirectory$', 'PathToFileName$', 'PathToTableName$',
        -            'PenWidthToPoints', 'Perimeter', 'PointsToPenWidth',
        -            'PointToMGRS$', 'PrismMapInfo', 'ProgramDirectory$', 'Proper$',
        -            'ProportionOverlap', 'RasterTableInfo', 'ReadControlValue',
        -            'RegionInfo', 'RemoteQueryHandler', 'RGB', 'Right$', 'Rnd',
        -            'Rotate', 'RotateAtPoint', 'Round', 'RTrim$', 'SearchInfo',
        -            'SearchPoint', 'SearchRect', 'SelectionInfo', 'Server_ColumnInfo',
        -            'Server_Connect', 'Server_ConnectInfo', 'Server_DriverInfo',
        -            'Server_EOT', 'Server_Execute', 'Server_GetODBCHConn',
        -            'Server_GetODBCHStmt', 'Server_NumCols', 'Server_NumDrivers',
        -            'SessionInfo', 'Sgn', 'Sin', 'Space$', 'SphericalArea',
        -            'SphericalConnectObjects', 'SphericalDistance',
        -            'SphericalObjectDistance', 'SphericalObjectLen', 'SphericalOffset',
        -            'SphericalOffsetXY', 'SphericalPerimeter', 'Sqr', 'Str$',
        -            'String$', 'StringCompare', 'StringCompareIntl', 'StringToDate',
        -            'StyleAttr', 'Sum', 'SystemInfo', 'TableInfo', 'Tan',
        -            'TempFileName$', 'TextSize', 'Time', 'Timer', 'TriggerControl',
        -            'TrueFileName$', 'UBound', 'UCase$', 'UnitAbbr$', 'UnitName$',
        -            'Val', 'Weekday', 'WindowID', 'WindowInfo', 'WtAvg', 'Year'
        -            ),
        -        4 => array(
        -            'BLACK', 'BLUE', 'BRUSH_BACKCOLOR', 'BRUSH_FORECOLOR',
        -            'BRUSH_PATTERN', 'BTNPAD_INFO_FLOATING', 'BTNPAD_INFO_NBTNS',
        -            'BTNPAD_INFO_WIDTH', 'BTNPAD_INFO_WINID', 'BTNPAD_INFO_X',
        -            'BTNPAD_INFO_Y', 'CLS', 'CMD_INFO_CTRL', 'CMD_INFO_CUSTOM_OBJ',
        -            'CMD_INFO_DLG_DBL', 'CMD_INFO_DLG_OK', 'CMD_INFO_EDIT_ASK',
        -            'CMD_INFO_EDIT_DISCARD', 'CMD_INFO_EDIT_SAVE',
        -            'CMD_INFO_EDIT_STATUS', 'CMD_INFO_EDIT_TABLE', 'CMD_INFO_FIND_RC',
        -            'CMD_INFO_FIND_ROWID', 'CMD_INFO_HL_FILE_NAME',
        -            'CMD_INFO_HL_LAYER_ID', 'CMD_INFO_HL_ROWID',
        -            'CMD_INFO_HL_TABLE_NAME', 'CMD_INFO_HL_WINDOW_ID',
        -            'CMD_INFO_INTERRUPT', 'CMD_INFO_MENUITEM', 'CMD_INFO_MSG',
        -            'CMD_INFO_ROWID', 'CMD_INFO_SELTYPE', 'CMD_INFO_SHIFT',
        -            'CMD_INFO_STATUS', 'CMD_INFO_TASK_SWITCH', 'CMD_INFO_TOOLBTN',
        -            'CMD_INFO_WIN', 'CMD_INFO_X', 'CMD_INFO_X2', 'CMD_INFO_XCMD',
        -            'CMD_INFO_Y', 'CMD_INFO_Y2', 'COL_INFO_DECPLACES',
        -            'COL_INFO_EDITABLE', 'COL_INFO_INDEXED', 'COL_INFO_NAME',
        -            'COL_INFO_NUM', 'COL_INFO_TYPE', 'COL_INFO_WIDTH', 'COL_TYPE_CHAR',
        -            'COL_TYPE_DATE', 'COL_TYPE_DATETIME', 'COL_TYPE_DECIMAL',
        -            'COL_TYPE_FLOAT', 'COL_TYPE_GRAPHIC', 'COL_TYPE_INTEGER',
        -            'COL_TYPE_LOGICAL', 'COL_TYPE_SMALLINT', 'COL_TYPE_TIME', 'CYAN',
        -            'DATE_WIN_CURPROG', 'DATE_WIN_SESSION', 'DEG_2_RAD',
        -            'DICTIONARY_ADDRESS_ONLY', 'DICTIONARY_ALL',
        -            'DICTIONARY_PREFER_ADDRESS', 'DICTIONARY_PREFER_USER',
        -            'DICTIONARY_USER_ONLY', 'DM_CUSTOM_CIRCLE', 'DM_CUSTOM_ELLIPSE',
        -            'DM_CUSTOM_LINE', 'DM_CUSTOM_POINT', 'DM_CUSTOM_POLYGON',
        -            'DM_CUSTOM_POLYLINE', 'DM_CUSTOM_RECT', 'DMPAPER_10X11',
        -            'DMPAPER_10X14', 'DMPAPER_11X17', 'DMPAPER_12X11', 'DMPAPER_15X11',
        -            'DMPAPER_9X11', 'DMPAPER_A_PLUS', 'DMPAPER_A2', 'DMPAPER_A3',
        -            'DMPAPER_A3_EXTRA', 'DMPAPER_A3_EXTRA_TRANSVERSE',
        -            'DMPAPER_A3_ROTATED', 'DMPAPER_A3_TRANSVERSE', 'DMPAPER_A4',
        -            'DMPAPER_A4_EXTRA', 'DMPAPER_A4_PLUS', 'DMPAPER_A4_ROTATED',
        -            'DMPAPER_A4_TRANSVERSE', 'DMPAPER_A4SMALL', 'DMPAPER_A5',
        -            'DMPAPER_A5_EXTRA', 'DMPAPER_A5_ROTATED', 'DMPAPER_A5_TRANSVERSE',
        -            'DMPAPER_A6', 'DMPAPER_A6_ROTATED', 'DMPAPER_B_PLUS', 'DMPAPER_B4',
        -            'DMPAPER_B4_JIS_ROTATED', 'DMPAPER_B5', 'DMPAPER_B5_EXTRA',
        -            'DMPAPER_B5_JIS_ROTATED', 'DMPAPER_B5_TRANSVERSE',
        -            'DMPAPER_B6_JIS', 'DMPAPER_B6_JIS_ROTATED', 'DMPAPER_CSHEET',
        -            'DMPAPER_DBL_JAPANESE_POSTCARD',
        -            'DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED', 'DMPAPER_DSHEET',
        -            'DMPAPER_ENV_10', 'DMPAPER_ENV_11', 'DMPAPER_ENV_12',
        -            'DMPAPER_ENV_14', 'DMPAPER_ENV_9', 'DMPAPER_ENV_B4',
        -            'DMPAPER_ENV_B5', 'DMPAPER_ENV_B6', 'DMPAPER_ENV_C3',
        -            'DMPAPER_ENV_C4', 'DMPAPER_ENV_C5', 'DMPAPER_ENV_C6',
        -            'DMPAPER_ENV_C65', 'DMPAPER_ENV_DL', 'DMPAPER_ENV_INVITE',
        -            'DMPAPER_ENV_ITALY', 'DMPAPER_ENV_MONARCH', 'DMPAPER_ENV_PERSONAL',
        -            'DMPAPER_ESHEET', 'DMPAPER_EXECUTIVE',
        -            'DMPAPER_FANFOLD_LGL_GERMAN', 'DMPAPER_FANFOLD_STD_GERMAN',
        -            'DMPAPER_FANFOLD_US', 'DMPAPER_FIRST', 'DMPAPER_FOLIO',
        -            'DMPAPER_ISO_B4', 'DMPAPER_JAPANESE_POSTCARD',
        -            'DMPAPER_JAPANESE_POSTCARD_ROTATED', 'DMPAPER_JENV_CHOU3',
        -            'DMPAPER_JENV_CHOU3_ROTATED', 'DMPAPER_JENV_CHOU4',
        -            'DMPAPER_JENV_CHOU4_ROTATED', 'DMPAPER_JENV_KAKU2',
        -            'DMPAPER_JENV_KAKU2_ROTATED', 'DMPAPER_JENV_KAKU3',
        -            'DMPAPER_JENV_KAKU3_ROTATED', 'DMPAPER_JENV_YOU4',
        -            'DMPAPER_JENV_YOU4_ROTATED', 'DMPAPER_LEDGER', 'DMPAPER_LEGAL',
        -            'DMPAPER_LEGAL_EXTRA', 'DMPAPER_LETTER', 'DMPAPER_LETTER_EXTRA',
        -            'DMPAPER_LETTER_EXTRA_TRANSVERSE', 'DMPAPER_LETTER_PLUS',
        -            'DMPAPER_LETTER_ROTATED', 'DMPAPER_LETTER_TRANSVERSE',
        -            'DMPAPER_LETTERSMALL', 'DMPAPER_NOTE', 'DMPAPER_P16K',
        -            'DMPAPER_P16K_ROTATED', 'DMPAPER_P32K', 'DMPAPER_P32K_ROTATED',
        -            'DMPAPER_P32KBIG', 'DMPAPER_P32KBIG_ROTATED', 'DMPAPER_PENV_1',
        -            'DMPAPER_PENV_1_ROTATED', 'DMPAPER_PENV_10',
        -            'DMPAPER_PENV_10_ROTATED', 'DMPAPER_PENV_2',
        -            'DMPAPER_PENV_2_ROTATED', 'DMPAPER_PENV_3',
        -            'DMPAPER_PENV_3_ROTATED', 'DMPAPER_PENV_4',
        -            'DMPAPER_PENV_4_ROTATED', 'DMPAPER_PENV_5',
        -            'DMPAPER_PENV_5_ROTATED', 'DMPAPER_PENV_6',
        -            'DMPAPER_PENV_6_ROTATED', 'DMPAPER_PENV_7',
        -            'DMPAPER_PENV_7_ROTATED', 'DMPAPER_PENV_8',
        -            'DMPAPER_PENV_8_ROTATED', 'DMPAPER_PENV_9',
        -            'DMPAPER_PENV_9_ROTATED', 'DMPAPER_QUARTO', 'DMPAPER_RESERVED_48',
        -            'DMPAPER_RESERVED_49', 'DMPAPER_STATEMENT', 'DMPAPER_TABLOID',
        -            'DMPAPER_TABLOID_EXTRA', 'DMPAPER_USER', 'ERR_BAD_WINDOW',
        -            'ERR_BAD_WINDOW_NUM', 'ERR_CANT_ACCESS_FILE',
        -            'ERR_CANT_INITIATE_LINK', 'ERR_CMD_NOT_SUPPORTED',
        -            'ERR_FCN_ARG_RANGE', 'ERR_FCN_INVALID_FMT',
        -            'ERR_FCN_OBJ_FETCH_FAILED', 'ERR_FILEMGR_NOTOPEN',
        -            'ERR_FP_MATH_LIB_DOMAIN', 'ERR_FP_MATH_LIB_RANGE',
        -            'ERR_INVALID_CHANNEL', 'ERR_INVALID_READ_CONTROL',
        -            'ERR_INVALID_TRIG_CONTROL', 'ERR_NO_FIELD',
        -            'ERR_NO_RESPONSE_FROM_APP', 'ERR_NULL_SELECTION',
        -            'ERR_PROCESS_FAILED_IN_APP', 'ERR_TABLE_NOT_FOUND',
        -            'ERR_WANT_MAPPER_WIN', 'FALSE', 'FILE_ATTR_FILESIZE',
        -            'FILE_ATTR_MODE', 'FILTER_ALL_DIRECTIONS_1',
        -            'FILTER_ALL_DIRECTIONS_2', 'FILTER_DIAGONALLY',
        -            'FILTER_HORIZONTALLY', 'FILTER_VERTICALLY',
        -            'FILTER_VERTICALLY_AND_HORIZONTALLY', 'FOLDER_APPDATA',
        -            'FOLDER_COMMON_APPDATA', 'FOLDER_COMMON_DOCS',
        -            'FOLDER_LOCAL_APPDATA', 'FOLDER_MI_APPDATA',
        -            'FOLDER_MI_COMMON_APPDATA', 'FOLDER_MI_LOCAL_APPDATA',
        -            'FOLDER_MI_PREFERENCE', 'FOLDER_MYDOCS', 'FOLDER_MYPICS',
        -            'FONT_BACKCOLOR', 'FONT_FORECOLOR', 'FONT_NAME', 'FONT_POINTSIZE',
        -            'FONT_STYLE', 'FRAME_INFO_BORDER_PEN', 'FRAME_INFO_COLUMN',
        -            'FRAME_INFO_HEIGHT', 'FRAME_INFO_LABEL', 'FRAME_INFO_MAP_LAYER_ID',
        -            'FRAME_INFO_NUM_STYLES', 'FRAME_INFO_POS_X', 'FRAME_INFO_POS_Y',
        -            'FRAME_INFO_REFRESHABLE', 'FRAME_INFO_SUBTITLE',
        -            'FRAME_INFO_SUBTITLE_FONT', 'FRAME_INFO_TITLE',
        -            'FRAME_INFO_TITLE_FONT', 'FRAME_INFO_TYPE', 'FRAME_INFO_VISIBLE',
        -            'FRAME_INFO_WIDTH', 'FRAME_TYPE_STYLE', 'FRAME_TYPE_THEME',
        -            'GEO_CONTROL_POINT_X', 'GEO_CONTROL_POINT_Y', 'GEOCODE_BATCH_SIZE',
        -            'GEOCODE_COUNT_GEOCODED', 'GEOCODE_COUNT_NOTGEOCODED',
        -            'GEOCODE_COUNTRY_SUBDIVISION', 'GEOCODE_COUNTRY_SUBDIVISION2',
        -            'GEOCODE_DICTIONARY', 'GEOCODE_FALLBACK_GEOGRAPHIC',
        -            'GEOCODE_FALLBACK_POSTAL', 'GEOCODE_MAX_BATCH_SIZE',
        -            'GEOCODE_MIXED_CASE', 'GEOCODE_MUNICIPALITY',
        -            'GEOCODE_MUNICIPALITY2', 'GEOCODE_OFFSET_CENTER',
        -            'GEOCODE_OFFSET_CENTER_UNITS', 'GEOCODE_OFFSET_END',
        -            'GEOCODE_OFFSET_END_UNITS', 'GEOCODE_PASSTHROUGH',
        -            'GEOCODE_POSTAL_CODE', 'GEOCODE_RESULT_MARK_MULTIPLE',
        -            'GEOCODE_STREET_NAME', 'GEOCODE_STREET_NUMBER',
        -            'GEOCODE_UNABLE_TO_CONVERT_DATA', 'GREEN',
        -            'GRID_TAB_INFO_HAS_HILLSHADE', 'GRID_TAB_INFO_MAX_VALUE',
        -            'GRID_TAB_INFO_MIN_VALUE', 'HOTLINK_INFO_ENABLED',
        -            'HOTLINK_INFO_EXPR', 'HOTLINK_INFO_MODE', 'HOTLINK_INFO_RELATIVE',
        -            'HOTLINK_MODE_BOTH', 'HOTLINK_MODE_LABEL', 'HOTLINK_MODE_OBJ',
        -            'IMAGE_CLASS_BILEVEL', 'IMAGE_CLASS_GREYSCALE',
        -            'IMAGE_CLASS_PALETTE', 'IMAGE_CLASS_RGB', 'IMAGE_TYPE_GRID',
        -            'IMAGE_TYPE_RASTER', 'INCL_ALL', 'INCL_COMMON', 'INCL_CROSSINGS',
        -            'ISOGRAM_AMBIENT_SPEED_DIST_UNIT',
        -            'ISOGRAM_AMBIENT_SPEED_TIME_UNIT', 'ISOGRAM_BANDING',
        -            'ISOGRAM_BATCH_SIZE', 'ISOGRAM_DEFAULT_AMBIENT_SPEED',
        -            'ISOGRAM_MAJOR_POLYGON_ONLY', 'ISOGRAM_MAJOR_ROADS_ONLY',
        -            'ISOGRAM_MAX_BANDS', 'ISOGRAM_MAX_BATCH_SIZE',
        -            'ISOGRAM_MAX_DISTANCE', 'ISOGRAM_MAX_DISTANCE_UNITS',
        -            'ISOGRAM_MAX_OFFROAD_DIST', 'ISOGRAM_MAX_OFFROAD_DIST_UNITS',
        -            'ISOGRAM_MAX_TIME', 'ISOGRAM_MAX_TIME_UNITS',
        -            'ISOGRAM_POINTS_ONLY', 'ISOGRAM_PROPAGATION_FACTOR',
        -            'ISOGRAM_RECORDS_INSERTED', 'ISOGRAM_RECORDS_NOTINSERTED',
        -            'ISOGRAM_RETURN_HOLES', 'ISOGRAM_SIMPLIFICATION_FACTOR',
        -            'LABEL_INFO_ANCHORX', 'LABEL_INFO_ANCHORY', 'LABEL_INFO_DRAWN',
        -            'LABEL_INFO_EDIT', 'LABEL_INFO_EDIT_ANCHOR',
        -            'LABEL_INFO_EDIT_ANGLE', 'LABEL_INFO_EDIT_FONT',
        -            'LABEL_INFO_EDIT_OFFSET', 'LABEL_INFO_EDIT_PEN',
        -            'LABEL_INFO_EDIT_POSITION', 'LABEL_INFO_EDIT_TEXT',
        -            'LABEL_INFO_EDIT_TEXTARROW', 'LABEL_INFO_EDIT_TEXTLINE',
        -            'LABEL_INFO_EDIT_VISIBILITY', 'LABEL_INFO_OBJECT',
        -            'LABEL_INFO_OFFSET', 'LABEL_INFO_ORIENTATION',
        -            'LABEL_INFO_POSITION', 'LABEL_INFO_ROWID', 'LABEL_INFO_SELECT',
        -            'LABEL_INFO_TABLE', 'LAYER_INFO_ARROWS', 'LAYER_INFO_CENTROIDS',
        -            'LAYER_INFO_COSMETIC', 'LAYER_INFO_DISPLAY',
        -            'LAYER_INFO_DISPLAY_GLOBAL', 'LAYER_INFO_DISPLAY_GRAPHIC',
        -            'LAYER_INFO_DISPLAY_OFF', 'LAYER_INFO_DISPLAY_VALUE',
        -            'LAYER_INFO_EDITABLE', 'LAYER_INFO_HOTLINK_COUNT',
        -            'LAYER_INFO_HOTLINK_EXPR', 'LAYER_INFO_HOTLINK_MODE',
        -            'LAYER_INFO_HOTLINK_RELATIVE', 'LAYER_INFO_LABEL_ALPHA',
        -            'LAYER_INFO_LABEL_ORIENT_CURVED',
        -            'LAYER_INFO_LABEL_ORIENT_HORIZONTAL',
        -            'LAYER_INFO_LABEL_ORIENT_PARALLEL', 'LAYER_INFO_LAYER_ALPHA',
        -            'LAYER_INFO_LAYER_TRANSLUCENCY', 'LAYER_INFO_LBL_AUTODISPLAY',
        -            'LAYER_INFO_LBL_CURFONT', 'LAYER_INFO_LBL_DUPLICATES',
        -            'LAYER_INFO_LBL_EXPR', 'LAYER_INFO_LBL_FONT', 'LAYER_INFO_LBL_LT',
        -            'LAYER_INFO_LBL_LT_ARROW', 'LAYER_INFO_LBL_LT_NONE',
        -            'LAYER_INFO_LBL_LT_SIMPLE', 'LAYER_INFO_LBL_MAX',
        -            'LAYER_INFO_LBL_OFFSET', 'LAYER_INFO_LBL_ORIENTATION',
        -            'LAYER_INFO_LBL_OVERLAP', 'LAYER_INFO_LBL_PARALLEL',
        -            'LAYER_INFO_LBL_PARTIALSEGS', 'LAYER_INFO_LBL_POS',
        -            'LAYER_INFO_LBL_POS_BC', 'LAYER_INFO_LBL_POS_BL',
        -            'LAYER_INFO_LBL_POS_BR', 'LAYER_INFO_LBL_POS_CC',
        -            'LAYER_INFO_LBL_POS_CL', 'LAYER_INFO_LBL_POS_CR',
        -            'LAYER_INFO_LBL_POS_TC', 'LAYER_INFO_LBL_POS_TL',
        -            'LAYER_INFO_LBL_POS_TR', 'LAYER_INFO_LBL_VIS_OFF',
        -            'LAYER_INFO_LBL_VIS_ON', 'LAYER_INFO_LBL_VIS_ZOOM',
        -            'LAYER_INFO_LBL_VISIBILITY', 'LAYER_INFO_LBL_ZOOM_MAX',
        -            'LAYER_INFO_LBL_ZOOM_MIN', 'LAYER_INFO_NAME', 'LAYER_INFO_NODES',
        -            'LAYER_INFO_OVR_BRUSH', 'LAYER_INFO_OVR_FONT',
        -            'LAYER_INFO_OVR_LINE', 'LAYER_INFO_OVR_PEN',
        -            'LAYER_INFO_OVR_SYMBOL', 'LAYER_INFO_PATH',
        -            'LAYER_INFO_SELECTABLE', 'LAYER_INFO_TYPE',
        -            'LAYER_INFO_TYPE_COSMETIC', 'LAYER_INFO_TYPE_GRID',
        -            'LAYER_INFO_TYPE_IMAGE', 'LAYER_INFO_TYPE_NORMAL',
        -            'LAYER_INFO_TYPE_THEMATIC', 'LAYER_INFO_TYPE_WMS',
        -            'LAYER_INFO_ZOOM_LAYERED', 'LAYER_INFO_ZOOM_MAX',
        -            'LAYER_INFO_ZOOM_MIN', 'LEGEND_INFO_MAP_ID',
        -            'LEGEND_INFO_NUM_FRAMES', 'LEGEND_INFO_ORIENTATION',
        -            'LEGEND_INFO_STYLE_SAMPLE_SIZE', 'LEGEND_STYLE_INFO_FONT',
        -            'LEGEND_STYLE_INFO_OBJ', 'LEGEND_STYLE_INFO_TEXT',
        -            'LOCATE_ABB_FILE', 'LOCATE_CLR_FILE', 'LOCATE_CUSTSYMB_DIR',
        -            'LOCATE_DEF_WOR', 'LOCATE_FNT_FILE', 'LOCATE_GEOCODE_SERVERLIST',
        -            'LOCATE_GRAPH_DIR', 'LOCATE_LAYOUT_TEMPLATE_DIR',
        -            'LOCATE_MNU_FILE', 'LOCATE_PEN_FILE', 'LOCATE_PREF_FILE',
        -            'LOCATE_PRJ_FILE', 'LOCATE_ROUTING_SERVERLIST',
        -            'LOCATE_THMTMPLT_DIR', 'LOCATE_WFS_SERVERLIST',
        -            'LOCATE_WMS_SERVERLIST', 'M_3DMAP_CLONE_VIEW',
        -            'M_3DMAP_PREVIOUS_VIEW', 'M_3DMAP_PROPERTIES',
        -            'M_3DMAP_REFRESH_GRID_TEXTURE', 'M_3DMAP_VIEW_ENTIRE_GRID',
        -            'M_3DMAP_VIEWPOINT_CONTROL', 'M_3DMAP_WIREFRAME',
        -            'M_ANALYZE_CALC_STATISTICS', 'M_ANALYZE_CUSTOMIZE_LEGEND',
        -            'M_ANALYZE_FIND', 'M_ANALYZE_FIND_SELECTION',
        -            'M_ANALYZE_INVERTSELECT', 'M_ANALYZE_SELECT',
        -            'M_ANALYZE_SELECTALL', 'M_ANALYZE_SHADE', 'M_ANALYZE_SQLQUERY',
        -            'M_ANALYZE_UNSELECT', 'M_BROWSE_EDIT', 'M_BROWSE_GRID',
        -            'M_BROWSE_NEW_RECORD', 'M_BROWSE_OPTIONS', 'M_BROWSE_PICK_FIELDS',
        -            'M_DBMS_OPEN_ODBC', 'M_EDIT_CLEAR', 'M_EDIT_CLEAROBJ',
        -            'M_EDIT_COPY', 'M_EDIT_CUT', 'M_EDIT_GETINFO', 'M_EDIT_NEW_ROW',
        -            'M_EDIT_PASTE', 'M_EDIT_PREFERENCES', 'M_EDIT_PREFERENCES_COUNTRY',
        -            'M_EDIT_PREFERENCES_FILE', 'M_EDIT_PREFERENCES_IMAGE_PROC',
        -            'M_EDIT_PREFERENCES_LAYOUT', 'M_EDIT_PREFERENCES_LEGEND',
        -            'M_EDIT_PREFERENCES_MAP', 'M_EDIT_PREFERENCES_OUTPUT',
        -            'M_EDIT_PREFERENCES_PATH', 'M_EDIT_PREFERENCES_PRINTER',
        -            'M_EDIT_PREFERENCES_STYLES', 'M_EDIT_PREFERENCES_SYSTEM',
        -            'M_EDIT_PREFERENCES_WEBSERVICES', 'M_EDIT_RESHAPE', 'M_EDIT_UNDO',
        -            'M_FILE_ABOUT', 'M_FILE_ADD_WORKSPACE', 'M_FILE_CLOSE',
        -            'M_FILE_CLOSE_ALL', 'M_FILE_CLOSE_ODBC', 'M_FILE_EXIT',
        -            'M_FILE_HELP', 'M_FILE_NEW', 'M_FILE_OPEN', 'M_FILE_OPEN_ODBC',
        -            'M_FILE_OPEN_ODBC_CONN', 'M_FILE_OPEN_UNIVERSAL_DATA',
        -            'M_FILE_OPEN_WFS', 'M_FILE_OPEN_WMS', 'M_FILE_PAGE_SETUP',
        -            'M_FILE_PRINT', 'M_FILE_PRINT_SETUP', 'M_FILE_REVERT',
        -            'M_FILE_RUN', 'M_FILE_SAVE', 'M_FILE_SAVE_COPY_AS',
        -            'M_FILE_SAVE_QUERY', 'M_FILE_SAVE_WINDOW_AS',
        -            'M_FILE_SAVE_WORKSPACE', 'M_FORMAT_CUSTOM_COLORS',
        -            'M_FORMAT_PICK_FILL', 'M_FORMAT_PICK_FONT', 'M_FORMAT_PICK_LINE',
        -            'M_FORMAT_PICK_SYMBOL', 'M_GRAPH_3D_VIEWING_ANGLE',
        -            'M_GRAPH_FORMATING', 'M_GRAPH_GENERAL_OPTIONS',
        -            'M_GRAPH_GRID_SCALES', 'M_GRAPH_LABEL_AXIS',
        -            'M_GRAPH_SAVE_AS_TEMPLATE', 'M_GRAPH_SERIES',
        -            'M_GRAPH_SERIES_OPTIONS', 'M_GRAPH_TITLES', 'M_GRAPH_TYPE',
        -            'M_GRAPH_VALUE_AXIS', 'M_HELP_ABOUT', 'M_HELP_CHECK_FOR_UPDATE',
        -            'M_HELP_CONNECT_MIFORUM', 'M_HELP_CONTENTS',
        -            'M_HELP_CONTEXTSENSITIVE', 'M_HELP_HELPMODE',
        -            'M_HELP_MAPINFO_3DGRAPH_HELP', 'M_HELP_MAPINFO_CONNECT_SERVICES',
        -            'M_HELP_MAPINFO_WWW', 'M_HELP_MAPINFO_WWW_STORE',
        -            'M_HELP_MAPINFO_WWW_TUTORIAL', 'M_HELP_SEARCH',
        -            'M_HELP_TECHSUPPORT', 'M_HELP_USE_HELP', 'M_LAYOUT_ACTUAL',
        -            'M_LAYOUT_ALIGN', 'M_LAYOUT_AUTOSCROLL_ONOFF',
        -            'M_LAYOUT_BRING2FRONT', 'M_LAYOUT_CHANGE_VIEW',
        -            'M_LAYOUT_DISPLAYOPTIONS', 'M_LAYOUT_DROPSHADOWS',
        -            'M_LAYOUT_ENTIRE', 'M_LAYOUT_LAYOUT_SIZE', 'M_LAYOUT_PREVIOUS',
        -            'M_LAYOUT_SEND2BACK', 'M_LEGEND_ADD_FRAMES', 'M_LEGEND_DELETE',
        -            'M_LEGEND_PROPERTIES', 'M_LEGEND_REFRESH', 'M_MAP_AUTOLABEL',
        -            'M_MAP_AUTOSCROLL_ONOFF', 'M_MAP_CHANGE_VIEW',
        -            'M_MAP_CLEAR_COSMETIC', 'M_MAP_CLEAR_CUSTOM_LABELS',
        -            'M_MAP_CLIP_REGION_ONOFF', 'M_MAP_CLONE_MAPPER',
        -            'M_MAP_CREATE_3DMAP', 'M_MAP_CREATE_LEGEND',
        -            'M_MAP_CREATE_PRISMMAP', 'M_MAP_ENTIRE_LAYER',
        -            'M_MAP_LAYER_CONTROL', 'M_MAP_MODIFY_THEMATIC', 'M_MAP_OPTIONS',
        -            'M_MAP_PREVIOUS', 'M_MAP_PROJECTION', 'M_MAP_SAVE_COSMETIC',
        -            'M_MAP_SET_CLIP_REGION', 'M_MAP_SETUNITS', 'M_MAP_SETUPDIGITIZER',
        -            'M_MAP_THEMATIC', 'M_MAPBASIC_CLEAR', 'M_MAPBASIC_SAVECONTENTS',
        -            'M_OBJECTS_BREAKPOLY', 'M_OBJECTS_BUFFER',
        -            'M_OBJECTS_CHECK_REGIONS', 'M_OBJECTS_CLEAN',
        -            'M_OBJECTS_CLEAR_TARGET', 'M_OBJECTS_COMBINE',
        -            'M_OBJECTS_CONVEX_HULL', 'M_OBJECTS_CVT_PGON',
        -            'M_OBJECTS_CVT_PLINE', 'M_OBJECTS_DISAGG',
        -            'M_OBJECTS_DRIVE_REGION', 'M_OBJECTS_ENCLOSE', 'M_OBJECTS_ERASE',
        -            'M_OBJECTS_ERASE_OUT', 'M_OBJECTS_MERGE', 'M_OBJECTS_OFFSET',
        -            'M_OBJECTS_OVERLAY', 'M_OBJECTS_POLYLINE_SPLIT',
        -            'M_OBJECTS_POLYLINE_SPLIT_AT_NODE', 'M_OBJECTS_RESHAPE',
        -            'M_OBJECTS_ROTATE', 'M_OBJECTS_SET_TARGET', 'M_OBJECTS_SMOOTH',
        -            'M_OBJECTS_SNAP', 'M_OBJECTS_SPLIT', 'M_OBJECTS_UNSMOOTH',
        -            'M_OBJECTS_VORONOI', 'M_ORACLE_CREATE_WORKSPACE',
        -            'M_ORACLE_DELETE_WORKSPACE', 'M_ORACLE_MERGE_PARENT',
        -            'M_ORACLE_REFRESH_FROM_PARENT', 'M_ORACLE_VERSION_ENABLE_OFF',
        -            'M_ORACLE_VERSION_ENABLE_ON', 'M_QUERY_CALC_STATISTICS',
        -            'M_QUERY_FIND', 'M_QUERY_FIND_ADDRESS', 'M_QUERY_FIND_SELECTION',
        -            'M_QUERY_FIND_SELECTION_CURRENT_MAP', 'M_QUERY_INVERTSELECT',
        -            'M_QUERY_SELECT', 'M_QUERY_SELECTALL', 'M_QUERY_SQLQUERY',
        -            'M_QUERY_UNSELECT', 'M_REDISTRICT_ADD', 'M_REDISTRICT_ASSIGN',
        -            'M_REDISTRICT_DELETE', 'M_REDISTRICT_OPTIONS',
        -            'M_REDISTRICT_TARGET', 'M_SENDMAIL_CURRENTWINDOW',
        -            'M_SENDMAIL_WORKSPACE', 'M_TABLE_APPEND', 'M_TABLE_BUFFER',
        -            'M_TABLE_CHANGESYMBOL', 'M_TABLE_CREATE_POINTS', 'M_TABLE_DELETE',
        -            'M_TABLE_DRIVE_REGION', 'M_TABLE_EXPORT', 'M_TABLE_GEOCODE',
        -            'M_TABLE_IMPORT', 'M_TABLE_MAKEMAPPABLE',
        -            'M_TABLE_MERGE_USING_COLUMN', 'M_TABLE_MODIFY_STRUCTURE',
        -            'M_TABLE_PACK', 'M_TABLE_RASTER_REG', 'M_TABLE_RASTER_STYLE',
        -            'M_TABLE_REFRESH', 'M_TABLE_RENAME',
        -            'M_TABLE_UNIVERSAL_DATA_REFRESH', 'M_TABLE_UNLINK',
        -            'M_TABLE_UPDATE_COLUMN', 'M_TABLE_VORONOI', 'M_TABLE_WEB_GEOCODE',
        -            'M_TABLE_WFS_PROPS', 'M_TABLE_WFS_REFRESH', 'M_TABLE_WMS_PROPS',
        -            'M_TOOLS_ADD_NODE', 'M_TOOLS_ARC', 'M_TOOLS_CRYSTAL_REPORTS_NEW',
        -            'M_TOOLS_CRYSTAL_REPORTS_OPEN', 'M_TOOLS_DRAGWINDOW',
        -            'M_TOOLS_ELLIPSE', 'M_TOOLS_EXPAND', 'M_TOOLS_FRAME',
        -            'M_TOOLS_HOTLINK', 'M_TOOLS_LABELER', 'M_TOOLS_LINE',
        -            'M_TOOLS_MAPBASIC', 'M_TOOLS_PNT_QUERY', 'M_TOOLS_POINT',
        -            'M_TOOLS_POLYGON', 'M_TOOLS_POLYLINE', 'M_TOOLS_RASTER_REG',
        -            'M_TOOLS_RECENTER', 'M_TOOLS_RECTANGLE', 'M_TOOLS_ROUNDEDRECT',
        -            'M_TOOLS_RULER', 'M_TOOLS_RUN', 'M_TOOLS_SEARCH_BOUNDARY',
        -            'M_TOOLS_SEARCH_POLYGON', 'M_TOOLS_SEARCH_RADIUS',
        -            'M_TOOLS_SEARCH_RECT', 'M_TOOLS_SELECTOR', 'M_TOOLS_SHRINK',
        -            'M_TOOLS_TEXT', 'M_TOOLS_TOOL_MANAGER', 'M_WINDOW_ARRANGEICONS',
        -            'M_WINDOW_BROWSE', 'M_WINDOW_BUTTONPAD', 'M_WINDOW_CASCADE',
        -            'M_WINDOW_EXPORT_WINDOW', 'M_WINDOW_FIRST', 'M_WINDOW_GRAPH',
        -            'M_WINDOW_LAYOUT', 'M_WINDOW_LEGEND', 'M_WINDOW_MAP',
        -            'M_WINDOW_MAPBASIC', 'M_WINDOW_MORE', 'M_WINDOW_REDISTRICT',
        -            'M_WINDOW_REDRAW', 'M_WINDOW_STATISTICS', 'M_WINDOW_STATUSBAR',
        -            'M_WINDOW_TILE', 'M_WINDOW_TOOL_PALETTE', 'MAGENTA',
        -            'MAP3D_INFO_BACKGROUND', 'MAP3D_INFO_CAMERA_CLIP_FAR',
        -            'MAP3D_INFO_CAMERA_CLIP_NEAR', 'MAP3D_INFO_CAMERA_FOCAL_X',
        -            'MAP3D_INFO_CAMERA_FOCAL_Y', 'MAP3D_INFO_CAMERA_FOCAL_Z',
        -            'MAP3D_INFO_CAMERA_VPN_1', 'MAP3D_INFO_CAMERA_VPN_2',
        -            'MAP3D_INFO_CAMERA_VPN_3', 'MAP3D_INFO_CAMERA_VU_1',
        -            'MAP3D_INFO_CAMERA_VU_2', 'MAP3D_INFO_CAMERA_VU_3',
        -            'MAP3D_INFO_CAMERA_X', 'MAP3D_INFO_CAMERA_Y',
        -            'MAP3D_INFO_CAMERA_Z', 'MAP3D_INFO_LIGHT_COLOR',
        -            'MAP3D_INFO_LIGHT_X', 'MAP3D_INFO_LIGHT_Y', 'MAP3D_INFO_LIGHT_Z',
        -            'MAP3D_INFO_RESOLUTION_X', 'MAP3D_INFO_RESOLUTION_Y',
        -            'MAP3D_INFO_SCALE', 'MAP3D_INFO_UNITS', 'MAPPER_INFO_AREAUNITS',
        -            'MAPPER_INFO_CENTERX', 'MAPPER_INFO_CENTERY',
        -            'MAPPER_INFO_CLIP_DISPLAY_ALL', 'MAPPER_INFO_CLIP_DISPLAY_POLYOBJ',
        -            'MAPPER_INFO_CLIP_OVERLAY', 'MAPPER_INFO_CLIP_REGION',
        -            'MAPPER_INFO_CLIP_TYPE', 'MAPPER_INFO_COORDSYS_CLAUSE',
        -            'MAPPER_INFO_COORDSYS_CLAUSE_WITH_BOUNDS',
        -            'MAPPER_INFO_COORDSYS_NAME', 'MAPPER_INFO_DISPLAY',
        -            'MAPPER_INFO_DISPLAY_DECIMAL', 'MAPPER_INFO_DISPLAY_DEGMINSEC',
        -            'MAPPER_INFO_DISPLAY_DMS', 'MAPPER_INFO_DISPLAY_MGRS',
        -            'MAPPER_INFO_DISPLAY_POSITION', 'MAPPER_INFO_DISPLAY_SCALE',
        -            'MAPPER_INFO_DISPLAY_ZOOM', 'MAPPER_INFO_DIST_CALC_TYPE',
        -            'MAPPER_INFO_DIST_CARTESIAN', 'MAPPER_INFO_DIST_SPHERICAL',
        -            'MAPPER_INFO_DISTUNITS', 'MAPPER_INFO_EDIT_LAYER',
        -            'MAPPER_INFO_LAYERS', 'MAPPER_INFO_MAXX', 'MAPPER_INFO_MAXY',
        -            'MAPPER_INFO_MERGE_MAP', 'MAPPER_INFO_MINX', 'MAPPER_INFO_MINY',
        -            'MAPPER_INFO_MOVE_DUPLICATE_NODES', 'MAPPER_INFO_NUM_THEMATIC',
        -            'MAPPER_INFO_REPROJECTION', 'MAPPER_INFO_RESAMPLING',
        -            'MAPPER_INFO_SCALE', 'MAPPER_INFO_SCROLLBARS',
        -            'MAPPER_INFO_XYUNITS', 'MAPPER_INFO_ZOOM', 'MAX_STRING_LENGTH',
        -            'MENUITEM_INFO_ACCELERATOR', 'MENUITEM_INFO_CHECKABLE',
        -            'MENUITEM_INFO_CHECKED', 'MENUITEM_INFO_ENABLED',
        -            'MENUITEM_INFO_HANDLER', 'MENUITEM_INFO_HELPMSG',
        -            'MENUITEM_INFO_ID', 'MENUITEM_INFO_SHOWHIDEABLE',
        -            'MENUITEM_INFO_TEXT', 'MI_CURSOR_ARROW', 'MI_CURSOR_CHANGE_WIDTH',
        -            'MI_CURSOR_CROSSHAIR', 'MI_CURSOR_DRAG_OBJ',
        -            'MI_CURSOR_FINGER_LEFT', 'MI_CURSOR_FINGER_UP',
        -            'MI_CURSOR_GRABBER', 'MI_CURSOR_IBEAM', 'MI_CURSOR_IBEAM_CROSS',
        -            'MI_CURSOR_ZOOM_IN', 'MI_CURSOR_ZOOM_OUT', 'MI_ICON_ADD_NODE',
        -            'MI_ICON_ARC', 'MI_ICON_ARROW', 'MI_ICON_ARROW_1',
        -            'MI_ICON_ARROW_10', 'MI_ICON_ARROW_11', 'MI_ICON_ARROW_12',
        -            'MI_ICON_ARROW_13', 'MI_ICON_ARROW_14', 'MI_ICON_ARROW_15',
        -            'MI_ICON_ARROW_16', 'MI_ICON_ARROW_17', 'MI_ICON_ARROW_18',
        -            'MI_ICON_ARROW_19', 'MI_ICON_ARROW_2', 'MI_ICON_ARROW_20',
        -            'MI_ICON_ARROW_21', 'MI_ICON_ARROW_3', 'MI_ICON_ARROW_4',
        -            'MI_ICON_ARROW_5', 'MI_ICON_ARROW_6', 'MI_ICON_ARROW_7',
        -            'MI_ICON_ARROW_8', 'MI_ICON_ARROW_9', 'MI_ICON_CLIP_MODE',
        -            'MI_ICON_CLIP_REGION', 'MI_ICON_CLOSE_ALL',
        -            'MI_ICON_COMMUNICATION_1', 'MI_ICON_COMMUNICATION_10',
        -            'MI_ICON_COMMUNICATION_11', 'MI_ICON_COMMUNICATION_12',
        -            'MI_ICON_COMMUNICATION_2', 'MI_ICON_COMMUNICATION_3',
        -            'MI_ICON_COMMUNICATION_4', 'MI_ICON_COMMUNICATION_5',
        -            'MI_ICON_COMMUNICATION_6', 'MI_ICON_COMMUNICATION_7',
        -            'MI_ICON_COMMUNICATION_8', 'MI_ICON_COMMUNICATION_9',
        -            'MI_ICON_COMPASS_CIRCLE_TA', 'MI_ICON_COMPASS_CONTRACT',
        -            'MI_ICON_COMPASS_EXPAND', 'MI_ICON_COMPASS_POLY_TA',
        -            'MI_ICON_COMPASS_TAG', 'MI_ICON_COMPASS_UNTAG', 'MI_ICON_COPY',
        -            'MI_ICON_CROSSHAIR', 'MI_ICON_CUT', 'MI_ICON_DISTRICT_MANY',
        -            'MI_ICON_DISTRICT_SAME', 'MI_ICON_DRAG_HANDLE', 'MI_ICON_ELLIPSE',
        -            'MI_ICON_EMERGENCY_1', 'MI_ICON_EMERGENCY_10',
        -            'MI_ICON_EMERGENCY_11', 'MI_ICON_EMERGENCY_12',
        -            'MI_ICON_EMERGENCY_13', 'MI_ICON_EMERGENCY_14',
        -            'MI_ICON_EMERGENCY_15', 'MI_ICON_EMERGENCY_16',
        -            'MI_ICON_EMERGENCY_17', 'MI_ICON_EMERGENCY_18',
        -            'MI_ICON_EMERGENCY_2', 'MI_ICON_EMERGENCY_3',
        -            'MI_ICON_EMERGENCY_4', 'MI_ICON_EMERGENCY_5',
        -            'MI_ICON_EMERGENCY_6', 'MI_ICON_EMERGENCY_7',
        -            'MI_ICON_EMERGENCY_8', 'MI_ICON_EMERGENCY_9', 'MI_ICON_GRABBER',
        -            'MI_ICON_GRAPH_SELECT', 'MI_ICON_HELP', 'MI_ICON_HOT_LINK',
        -            'MI_ICON_INFO', 'MI_ICON_INVERTSELECT', 'MI_ICON_LABEL',
        -            'MI_ICON_LAYERS', 'MI_ICON_LEGEND', 'MI_ICON_LETTERS_A',
        -            'MI_ICON_LETTERS_B', 'MI_ICON_LETTERS_C', 'MI_ICON_LETTERS_D',
        -            'MI_ICON_LETTERS_E', 'MI_ICON_LETTERS_F', 'MI_ICON_LETTERS_G',
        -            'MI_ICON_LETTERS_H', 'MI_ICON_LETTERS_I', 'MI_ICON_LETTERS_J',
        -            'MI_ICON_LETTERS_K', 'MI_ICON_LETTERS_L', 'MI_ICON_LETTERS_M',
        -            'MI_ICON_LETTERS_N', 'MI_ICON_LETTERS_O', 'MI_ICON_LETTERS_P',
        -            'MI_ICON_LETTERS_Q', 'MI_ICON_LETTERS_R', 'MI_ICON_LETTERS_S',
        -            'MI_ICON_LETTERS_T', 'MI_ICON_LETTERS_U', 'MI_ICON_LETTERS_V',
        -            'MI_ICON_LETTERS_W', 'MI_ICON_LETTERS_X', 'MI_ICON_LETTERS_Y',
        -            'MI_ICON_LETTERS_Z', 'MI_ICON_LINE', 'MI_ICON_LINE_STYLE',
        -            'MI_ICON_MAPSYMB_1', 'MI_ICON_MAPSYMB_10', 'MI_ICON_MAPSYMB_11',
        -            'MI_ICON_MAPSYMB_12', 'MI_ICON_MAPSYMB_13', 'MI_ICON_MAPSYMB_14',
        -            'MI_ICON_MAPSYMB_15', 'MI_ICON_MAPSYMB_16', 'MI_ICON_MAPSYMB_17',
        -            'MI_ICON_MAPSYMB_18', 'MI_ICON_MAPSYMB_19', 'MI_ICON_MAPSYMB_2',
        -            'MI_ICON_MAPSYMB_20', 'MI_ICON_MAPSYMB_21', 'MI_ICON_MAPSYMB_22',
        -            'MI_ICON_MAPSYMB_23', 'MI_ICON_MAPSYMB_24', 'MI_ICON_MAPSYMB_25',
        -            'MI_ICON_MAPSYMB_26', 'MI_ICON_MAPSYMB_3', 'MI_ICON_MAPSYMB_4',
        -            'MI_ICON_MAPSYMB_5', 'MI_ICON_MAPSYMB_6', 'MI_ICON_MAPSYMB_7',
        -            'MI_ICON_MAPSYMB_8', 'MI_ICON_MAPSYMB_9', 'MI_ICON_MARITIME_1',
        -            'MI_ICON_MARITIME_10', 'MI_ICON_MARITIME_2', 'MI_ICON_MARITIME_3',
        -            'MI_ICON_MARITIME_4', 'MI_ICON_MARITIME_5', 'MI_ICON_MARITIME_6',
        -            'MI_ICON_MARITIME_7', 'MI_ICON_MARITIME_8', 'MI_ICON_MARITIME_9',
        -            'MI_ICON_MB_1', 'MI_ICON_MB_10', 'MI_ICON_MB_11', 'MI_ICON_MB_12',
        -            'MI_ICON_MB_13', 'MI_ICON_MB_14', 'MI_ICON_MB_2', 'MI_ICON_MB_3',
        -            'MI_ICON_MB_4', 'MI_ICON_MB_5', 'MI_ICON_MB_6', 'MI_ICON_MB_7',
        -            'MI_ICON_MB_8', 'MI_ICON_MB_9', 'MI_ICON_MISC_1',
        -            'MI_ICON_MISC_10', 'MI_ICON_MISC_11', 'MI_ICON_MISC_12',
        -            'MI_ICON_MISC_13', 'MI_ICON_MISC_14', 'MI_ICON_MISC_15',
        -            'MI_ICON_MISC_16', 'MI_ICON_MISC_17', 'MI_ICON_MISC_18',
        -            'MI_ICON_MISC_19', 'MI_ICON_MISC_2', 'MI_ICON_MISC_20',
        -            'MI_ICON_MISC_21', 'MI_ICON_MISC_22', 'MI_ICON_MISC_23',
        -            'MI_ICON_MISC_24', 'MI_ICON_MISC_25', 'MI_ICON_MISC_26',
        -            'MI_ICON_MISC_27', 'MI_ICON_MISC_28', 'MI_ICON_MISC_29',
        -            'MI_ICON_MISC_3', 'MI_ICON_MISC_30', 'MI_ICON_MISC_31',
        -            'MI_ICON_MISC_4', 'MI_ICON_MISC_5', 'MI_ICON_MISC_6',
        -            'MI_ICON_MISC_7', 'MI_ICON_MISC_8', 'MI_ICON_MISC_9',
        -            'MI_ICON_NEW_DOC', 'MI_ICON_NUMBERS_1', 'MI_ICON_NUMBERS_10',
        -            'MI_ICON_NUMBERS_11', 'MI_ICON_NUMBERS_12', 'MI_ICON_NUMBERS_13',
        -            'MI_ICON_NUMBERS_14', 'MI_ICON_NUMBERS_15', 'MI_ICON_NUMBERS_16',
        -            'MI_ICON_NUMBERS_17', 'MI_ICON_NUMBERS_18', 'MI_ICON_NUMBERS_19',
        -            'MI_ICON_NUMBERS_2', 'MI_ICON_NUMBERS_20', 'MI_ICON_NUMBERS_21',
        -            'MI_ICON_NUMBERS_22', 'MI_ICON_NUMBERS_23', 'MI_ICON_NUMBERS_24',
        -            'MI_ICON_NUMBERS_25', 'MI_ICON_NUMBERS_26', 'MI_ICON_NUMBERS_27',
        -            'MI_ICON_NUMBERS_28', 'MI_ICON_NUMBERS_29', 'MI_ICON_NUMBERS_3',
        -            'MI_ICON_NUMBERS_30', 'MI_ICON_NUMBERS_31', 'MI_ICON_NUMBERS_32',
        -            'MI_ICON_NUMBERS_4', 'MI_ICON_NUMBERS_5', 'MI_ICON_NUMBERS_6',
        -            'MI_ICON_NUMBERS_7', 'MI_ICON_NUMBERS_8', 'MI_ICON_NUMBERS_9',
        -            'MI_ICON_ODBC_DISCONNECT', 'MI_ICON_ODBC_MAPPABLE',
        -            'MI_ICON_ODBC_OPEN', 'MI_ICON_ODBC_REFRESH', 'MI_ICON_ODBC_SYMBOL',
        -            'MI_ICON_ODBC_UNLINK', 'MI_ICON_OPEN_FILE', 'MI_ICON_OPEN_WOR',
        -            'MI_ICON_OPENWFS', 'MI_ICON_OPENWMS', 'MI_ICON_PASTE',
        -            'MI_ICON_POLYGON', 'MI_ICON_POLYLINE', 'MI_ICON_PRINT',
        -            'MI_ICON_REALESTATE_1', 'MI_ICON_REALESTATE_10',
        -            'MI_ICON_REALESTATE_11', 'MI_ICON_REALESTATE_12',
        -            'MI_ICON_REALESTATE_13', 'MI_ICON_REALESTATE_14',
        -            'MI_ICON_REALESTATE_15', 'MI_ICON_REALESTATE_16',
        -            'MI_ICON_REALESTATE_17', 'MI_ICON_REALESTATE_18',
        -            'MI_ICON_REALESTATE_19', 'MI_ICON_REALESTATE_2',
        -            'MI_ICON_REALESTATE_20', 'MI_ICON_REALESTATE_21',
        -            'MI_ICON_REALESTATE_22', 'MI_ICON_REALESTATE_23',
        -            'MI_ICON_REALESTATE_3', 'MI_ICON_REALESTATE_4',
        -            'MI_ICON_REALESTATE_5', 'MI_ICON_REALESTATE_6',
        -            'MI_ICON_REALESTATE_7', 'MI_ICON_REALESTATE_8',
        -            'MI_ICON_REALESTATE_9', 'MI_ICON_RECT', 'MI_ICON_REGION_STYLE',
        -            'MI_ICON_RESHAPE', 'MI_ICON_ROUND_RECT', 'MI_ICON_RULER',
        -            'MI_ICON_RUN', 'MI_ICON_SAVE_FILE', 'MI_ICON_SAVE_WIN',
        -            'MI_ICON_SAVE_WOR', 'MI_ICON_SEARCH_BDY', 'MI_ICON_SEARCH_POLYGON',
        -            'MI_ICON_SEARCH_RADIUS', 'MI_ICON_SEARCH_RECT', 'MI_ICON_SIGNS_1',
        -            'MI_ICON_SIGNS_10', 'MI_ICON_SIGNS_11', 'MI_ICON_SIGNS_12',
        -            'MI_ICON_SIGNS_13', 'MI_ICON_SIGNS_14', 'MI_ICON_SIGNS_15',
        -            'MI_ICON_SIGNS_16', 'MI_ICON_SIGNS_17', 'MI_ICON_SIGNS_18',
        -            'MI_ICON_SIGNS_19', 'MI_ICON_SIGNS_2', 'MI_ICON_SIGNS_3',
        -            'MI_ICON_SIGNS_4', 'MI_ICON_SIGNS_5', 'MI_ICON_SIGNS_6',
        -            'MI_ICON_SIGNS_7', 'MI_ICON_SIGNS_8', 'MI_ICON_SIGNS_9',
        -            'MI_ICON_STATISTICS', 'MI_ICON_SYMBOL', 'MI_ICON_SYMBOL_STYLE',
        -            'MI_ICON_TEXT', 'MI_ICON_TEXT_STYLE', 'MI_ICON_TRANSPORT_1',
        -            'MI_ICON_TRANSPORT_10', 'MI_ICON_TRANSPORT_11',
        -            'MI_ICON_TRANSPORT_12', 'MI_ICON_TRANSPORT_13',
        -            'MI_ICON_TRANSPORT_14', 'MI_ICON_TRANSPORT_15',
        -            'MI_ICON_TRANSPORT_16', 'MI_ICON_TRANSPORT_17',
        -            'MI_ICON_TRANSPORT_18', 'MI_ICON_TRANSPORT_19',
        -            'MI_ICON_TRANSPORT_2', 'MI_ICON_TRANSPORT_20',
        -            'MI_ICON_TRANSPORT_21', 'MI_ICON_TRANSPORT_22',
        -            'MI_ICON_TRANSPORT_23', 'MI_ICON_TRANSPORT_24',
        -            'MI_ICON_TRANSPORT_25', 'MI_ICON_TRANSPORT_26',
        -            'MI_ICON_TRANSPORT_27', 'MI_ICON_TRANSPORT_3',
        -            'MI_ICON_TRANSPORT_4', 'MI_ICON_TRANSPORT_5',
        -            'MI_ICON_TRANSPORT_6', 'MI_ICON_TRANSPORT_7',
        -            'MI_ICON_TRANSPORT_8', 'MI_ICON_TRANSPORT_9', 'MI_ICON_UNDO',
        -            'MI_ICON_UNSELECT_ALL', 'MI_ICON_WINDOW_FRAME', 'MI_ICON_WRENCH',
        -            'MI_ICON_ZOOM_IN', 'MI_ICON_ZOOM_OUT', 'MI_ICON_ZOOM_QUESTION',
        -            'MI_ICONS_MAPS_1', 'MI_ICONS_MAPS_10', 'MI_ICONS_MAPS_11',
        -            'MI_ICONS_MAPS_12', 'MI_ICONS_MAPS_13', 'MI_ICONS_MAPS_14',
        -            'MI_ICONS_MAPS_15', 'MI_ICONS_MAPS_2', 'MI_ICONS_MAPS_3',
        -            'MI_ICONS_MAPS_4', 'MI_ICONS_MAPS_5', 'MI_ICONS_MAPS_6',
        -            'MI_ICONS_MAPS_7', 'MI_ICONS_MAPS_8', 'MI_ICONS_MAPS_9',
        -            'MIPLATFORM_HP', 'MIPLATFORM_MAC68K', 'MIPLATFORM_POWERMAC',
        -            'MIPLATFORM_SPECIAL', 'MIPLATFORM_SUN', 'MIPLATFORM_WIN16',
        -            'MIPLATFORM_WIN32', 'MODE_APPEND', 'MODE_BINARY', 'MODE_INPUT',
        -            'MODE_OUTPUT', 'MODE_RANDOM', 'OBJ_ARC', 'OBJ_ELLIPSE',
        -            'OBJ_FRAME', 'OBJ_GEO_ARCBEGANGLE', 'OBJ_GEO_ARCENDANGLE',
        -            'OBJ_GEO_CENTROID', 'OBJ_GEO_LINEBEGX', 'OBJ_GEO_LINEBEGY',
        -            'OBJ_GEO_LINEENDX', 'OBJ_GEO_LINEENDY', 'OBJ_GEO_MAXX',
        -            'OBJ_GEO_MAXY', 'OBJ_GEO_MINX', 'OBJ_GEO_MINY', 'OBJ_GEO_POINTM',
        -            'OBJ_GEO_POINTX', 'OBJ_GEO_POINTY', 'OBJ_GEO_POINTZ',
        -            'OBJ_GEO_ROUNDRADIUS', 'OBJ_GEO_TEXTANGLE', 'OBJ_GEO_TEXTLINEX',
        -            'OBJ_GEO_TEXTLINEY', 'OBJ_INFO_BRUSH', 'OBJ_INFO_FILLFRAME',
        -            'OBJ_INFO_FRAMETITLE', 'OBJ_INFO_FRAMEWIN', 'OBJ_INFO_HAS_M',
        -            'OBJ_INFO_HAS_Z', 'OBJ_INFO_MPOINT', 'OBJ_INFO_NONEMPTY',
        -            'OBJ_INFO_NPNTS', 'OBJ_INFO_NPOLYGONS', 'OBJ_INFO_PEN',
        -            'OBJ_INFO_PLINE', 'OBJ_INFO_REGION', 'OBJ_INFO_SMOOTH',
        -            'OBJ_INFO_SYMBOL', 'OBJ_INFO_TEXTARROW', 'OBJ_INFO_TEXTFONT',
        -            'OBJ_INFO_TEXTJUSTIFY', 'OBJ_INFO_TEXTSPACING',
        -            'OBJ_INFO_TEXTSTRING', 'OBJ_INFO_TYPE', 'OBJ_INFO_Z_UNIT',
        -            'OBJ_INFO_Z_UNIT_SET', 'OBJ_LINE', 'OBJ_PLINE', 'OBJ_POINT',
        -            'OBJ_RECT', 'OBJ_REGION', 'OBJ_ROUNDRECT', 'OBJ_TEXT',
        -            'OBJ_TYPE_ARC', 'OBJ_TYPE_COLLECTION', 'OBJ_TYPE_ELLIPSE',
        -            'OBJ_TYPE_FRAME', 'OBJ_TYPE_LINE', 'OBJ_TYPE_MPOINT',
        -            'OBJ_TYPE_PLINE', 'OBJ_TYPE_POINT', 'OBJ_TYPE_RECT',
        -            'OBJ_TYPE_REGION', 'OBJ_TYPE_ROUNDRECT', 'OBJ_TYPE_TEXT',
        -            'ORIENTATION_CUSTOM', 'ORIENTATION_LANDSCAPE',
        -            'ORIENTATION_PORTRAIT', 'PEN_COLOR', 'PEN_INDEX',
        -            'PEN_INTERLEAVED', 'PEN_PATTERN', 'PEN_WIDTH', 'PLATFORM_MAC',
        -            'PLATFORM_MOTIF', 'PLATFORM_SPECIAL', 'PLATFORM_WIN',
        -            'PLATFORM_X11', 'PLATFORM_XOL', 'PRISMMAP_INFO_BACKGROUND',
        -            'PRISMMAP_INFO_CAMERA_CLIP_FAR', 'PRISMMAP_INFO_CAMERA_CLIP_NEAR',
        -            'PRISMMAP_INFO_CAMERA_FOCAL_X', 'PRISMMAP_INFO_CAMERA_FOCAL_Y',
        -            'PRISMMAP_INFO_CAMERA_FOCAL_Z', 'PRISMMAP_INFO_CAMERA_VPN_1',
        -            'PRISMMAP_INFO_CAMERA_VPN_2', 'PRISMMAP_INFO_CAMERA_VPN_3',
        -            'PRISMMAP_INFO_CAMERA_VU_1', 'PRISMMAP_INFO_CAMERA_VU_2',
        -            'PRISMMAP_INFO_CAMERA_VU_3', 'PRISMMAP_INFO_CAMERA_X',
        -            'PRISMMAP_INFO_CAMERA_Y', 'PRISMMAP_INFO_CAMERA_Z',
        -            'PRISMMAP_INFO_INFOTIP_EXPR', 'PRISMMAP_INFO_LIGHT_COLOR',
        -            'PRISMMAP_INFO_LIGHT_X', 'PRISMMAP_INFO_LIGHT_Y',
        -            'PRISMMAP_INFO_LIGHT_Z', 'PRISMMAP_INFO_SCALE', 'RAD_2_DEG',
        -            'RASTER_CONTROL_POINT_X', 'RASTER_CONTROL_POINT_Y',
        -            'RASTER_TAB_INFO_ALPHA', 'RASTER_TAB_INFO_BITS_PER_PIXEL',
        -            'RASTER_TAB_INFO_BRIGHTNESS', 'RASTER_TAB_INFO_CONTRAST',
        -            'RASTER_TAB_INFO_DISPLAY_TRANSPARENT', 'RASTER_TAB_INFO_GREYSCALE',
        -            'RASTER_TAB_INFO_HEIGHT', 'RASTER_TAB_INFO_IMAGE_CLASS',
        -            'RASTER_TAB_INFO_IMAGE_NAME', 'RASTER_TAB_INFO_IMAGE_TYPE',
        -            'RASTER_TAB_INFO_NUM_CONTROL_POINTS',
        -            'RASTER_TAB_INFO_TRANSPARENT_COLOR', 'RASTER_TAB_INFO_WIDTH',
        -            'RED', 'REGION_INFO_IS_CLOCKWISE', 'SEARCH_INFO_ROW',
        -            'SEARCH_INFO_TABLE', 'SECONDS_PER_DAY', 'SEL_INFO_NROWS',
        -            'SEL_INFO_SELNAME', 'SEL_INFO_TABLENAME',
        -            'SESSION_INFO_AREA_UNITS', 'SESSION_INFO_COORDSYS_CLAUSE',
        -            'SESSION_INFO_DISTANCE_UNITS', 'SESSION_INFO_PAPER_UNITS',
        -            'SRV_COL_INFO_ALIAS', 'SRV_COL_INFO_NAME',
        -            'SRV_COL_INFO_PRECISION', 'SRV_COL_INFO_SCALE',
        -            'SRV_COL_INFO_STATUS', 'SRV_COL_INFO_TYPE', 'SRV_COL_INFO_VALUE',
        -            'SRV_COL_INFO_WIDTH', 'SRV_COL_TYPE_BIN_STRING',
        -            'SRV_COL_TYPE_CHAR', 'SRV_COL_TYPE_DATE', 'SRV_COL_TYPE_DECIMAL',
        -            'SRV_COL_TYPE_FIXED_LEN_STRING', 'SRV_COL_TYPE_FLOAT',
        -            'SRV_COL_TYPE_INTEGER', 'SRV_COL_TYPE_LOGICAL',
        -            'SRV_COL_TYPE_NONE', 'SRV_COL_TYPE_SMALLINT',
        -            'SRV_CONNECT_INFO_DB_NAME', 'SRV_CONNECT_INFO_DRIVER_NAME',
        -            'SRV_CONNECT_INFO_DS_NAME', 'SRV_CONNECT_INFO_QUOTE_CHAR',
        -            'SRV_CONNECT_INFO_SQL_USER_ID', 'SRV_DRV_DATA_SOURCE',
        -            'SRV_DRV_INFO_NAME', 'SRV_DRV_INFO_NAME_LIST', 'SRV_ERROR',
        -            'SRV_FETCH_FIRST', 'SRV_FETCH_LAST', 'SRV_FETCH_NEXT',
        -            'SRV_FETCH_PREV', 'SRV_INVALID_HANDLE', 'SRV_NEED_DATA',
        -            'SRV_NO_MORE_DATA', 'SRV_NULL_DATA', 'SRV_SUCCESS',
        -            'SRV_SUCCESS_WITH_INFO', 'SRV_TRUNCATED_DATA',
        -            'SRV_WM_HIST_NO_OVERWRITE', 'SRV_WM_HIST_NONE',
        -            'SRV_WM_HIST_OVERWRITE', 'STR_EQ', 'STR_GT', 'STR_LT',
        -            'STYLE_SAMPLE_SIZE_LARGE', 'STYLE_SAMPLE_SIZE_SMALL',
        -            'SWITCHING_INTO_MAPINFO', 'SWITCHING_OUT_OF_MAPINFO',
        -            'SYMBOL_ANGLE', 'SYMBOL_CODE', 'SYMBOL_COLOR',
        -            'SYMBOL_CUSTOM_NAME', 'SYMBOL_CUSTOM_STYLE', 'SYMBOL_FONT_NAME',
        -            'SYMBOL_FONT_STYLE', 'SYMBOL_KIND', 'SYMBOL_KIND_CUSTOM',
        -            'SYMBOL_KIND_FONT', 'SYMBOL_KIND_VECTOR', 'SYMBOL_POINTSIZE',
        -            'SYS_INFO_APPIDISPATCH', 'SYS_INFO_APPLICATIONWND',
        -            'SYS_INFO_APPVERSION', 'SYS_INFO_CHARSET',
        -            'SYS_INFO_COPYPROTECTED', 'SYS_INFO_DATE_FORMAT',
        -            'SYS_INFO_DDESTATUS', 'SYS_INFO_DIG_INSTALLED',
        -            'SYS_INFO_DIG_MODE', 'SYS_INFO_MAPINFOWND',
        -            'SYS_INFO_MDICLIENTWND', 'SYS_INFO_MIBUILD_NUMBER',
        -            'SYS_INFO_MIPLATFORM', 'SYS_INFO_MIVERSION',
        -            'SYS_INFO_NUMBER_FORMAT', 'SYS_INFO_PLATFORM',
        -            'SYS_INFO_PRODUCTLEVEL', 'SYS_INFO_RUNTIME',
        -            'TAB_GEO_CONTROL_POINT_X', 'TAB_GEO_CONTROL_POINT_Y',
        -            'TAB_INFO_BROWSER_LIST', 'TAB_INFO_COORDSYS_CLAUSE',
        -            'TAB_INFO_COORDSYS_CLAUSE_WITHOUT_BOUNDS',
        -            'TAB_INFO_COORDSYS_MAXX', 'TAB_INFO_COORDSYS_MAXY',
        -            'TAB_INFO_COORDSYS_MINX', 'TAB_INFO_COORDSYS_MINY',
        -            'TAB_INFO_COORDSYS_NAME', 'TAB_INFO_EDITED', 'TAB_INFO_FASTEDIT',
        -            'TAB_INFO_MAPPABLE', 'TAB_INFO_MAPPABLE_TABLE', 'TAB_INFO_MAXX',
        -            'TAB_INFO_MAXY', 'TAB_INFO_MINX', 'TAB_INFO_MINY', 'TAB_INFO_NAME',
        -            'TAB_INFO_NCOLS', 'TAB_INFO_NREFS', 'TAB_INFO_NROWS',
        -            'TAB_INFO_NUM', 'TAB_INFO_READONLY', 'TAB_INFO_SEAMLESS',
        -            'TAB_INFO_SUPPORT_MZ', 'TAB_INFO_TABFILE', 'TAB_INFO_TEMP',
        -            'TAB_INFO_THEME_METADATA', 'TAB_INFO_TYPE', 'TAB_INFO_UNDO',
        -            'TAB_INFO_USERBROWSE', 'TAB_INFO_USERCLOSE',
        -            'TAB_INFO_USERDISPLAYMAP', 'TAB_INFO_USEREDITABLE',
        -            'TAB_INFO_USERMAP', 'TAB_INFO_USERREMOVEMAP', 'TAB_INFO_Z_UNIT',
        -            'TAB_INFO_Z_UNIT_SET', 'TAB_TYPE_BASE', 'TAB_TYPE_FME',
        -            'TAB_TYPE_IMAGE', 'TAB_TYPE_LINKED', 'TAB_TYPE_RESULT',
        -            'TAB_TYPE_VIEW', 'TAB_TYPE_WFS', 'TAB_TYPE_WMS', 'TRUE', 'WHITE',
        -            'WIN_3DMAP', 'WIN_BROWSER', 'WIN_BUTTONPAD', 'WIN_CART_LEGEND',
        -            'WIN_GRAPH', 'WIN_HELP', 'WIN_INFO', 'WIN_INFO_AUTOSCROLL',
        -            'WIN_INFO_CLONEWINDOW', 'WIN_INFO_ENHANCED_RENDERING',
        -            'WIN_INFO_EXPORT_ANTIALIASING', 'WIN_INFO_EXPORT_BORDER',
        -            'WIN_INFO_EXPORT_DITHER', 'WIN_INFO_EXPORT_FILTER',
        -            'WIN_INFO_EXPORT_MASKSIZE', 'WIN_INFO_EXPORT_THRESHOLD',
        -            'WIN_INFO_EXPORT_TRANSPRASTER', 'WIN_INFO_EXPORT_TRANSPVECTOR',
        -            'WIN_INFO_EXPORT_TRUECOLOR', 'WIN_INFO_HEIGHT',
        -            'WIN_INFO_LEGENDS_MAP', 'WIN_INFO_NAME', 'WIN_INFO_OPEN',
        -            'WIN_INFO_PRINTER_BORDER', 'WIN_INFO_PRINTER_BOTTOMMARGIN',
        -            'WIN_INFO_PRINTER_COPIES', 'WIN_INFO_PRINTER_DITHER',
        -            'WIN_INFO_PRINTER_LEFTMARGIN', 'WIN_INFO_PRINTER_METHOD',
        -            'WIN_INFO_PRINTER_NAME', 'WIN_INFO_PRINTER_ORIENT',
        -            'WIN_INFO_PRINTER_PAPERSIZE', 'WIN_INFO_PRINTER_RIGHTMARGIN',
        -            'WIN_INFO_PRINTER_SCALE_PATTERNS', 'WIN_INFO_PRINTER_TOPMARGIN',
        -            'WIN_INFO_PRINTER_TRANSPRASTER', 'WIN_INFO_PRINTER_TRANSPVECTOR',
        -            'WIN_INFO_PRINTER_TRUECOLOR', 'WIN_INFO_SMARTPAN',
        -            'WIN_INFO_SMOOTH_IMAGE', 'WIN_INFO_SMOOTH_TEXT',
        -            'WIN_INFO_SMOOTH_VECTOR', 'WIN_INFO_SNAPMODE',
        -            'WIN_INFO_SNAPTHRESHOLD', 'WIN_INFO_STATE',
        -            'WIN_INFO_SYSMENUCLOSE', 'WIN_INFO_TABLE', 'WIN_INFO_TOPMOST',
        -            'WIN_INFO_TYPE', 'WIN_INFO_WIDTH', 'WIN_INFO_WINDOWID',
        -            'WIN_INFO_WND', 'WIN_INFO_WORKSPACE', 'WIN_INFO_X', 'WIN_INFO_Y',
        -            'WIN_LAYOUT', 'WIN_LEGEND', 'WIN_MAPBASIC', 'WIN_MAPINFO',
        -            'WIN_MAPPER', 'WIN_MESSAGE', 'WIN_PENPICKER',
        -            'WIN_PRINTER_LANDSCAPE', 'WIN_PRINTER_PORTRAIT', 'WIN_RULER',
        -            'WIN_STATE_MAXIMIZED', 'WIN_STATE_MINIMIZED', 'WIN_STATE_NORMAL',
        -            'WIN_STATISTICS', 'WIN_STYLE_CHILD', 'WIN_STYLE_POPUP',
        -            'WIN_STYLE_POPUP_FULLCAPTION', 'WIN_STYLE_STANDARD',
        -            'WIN_SYMBOLPICKER', 'WIN_TOOLBAR', 'WIN_TOOLPICKER', 'YELLOW'
        -            ),
        -        5 => array(
        -            'Abbrs', 'Above', 'Access', 'Active', 'Address', 'Advanced',
        -            'Affine', 'Align', 'Alpha', 'alpha_value', 'Always', 'Angle',
        -            'Animate', 'Antialiasing', 'Append', 'Apply', 'ApplyUpdates',
        -            'Arrow', 'Ascending', 'ASCII', 'At', 'AttributeData', 'Auto',
        -            'Autoflip', 'Autokey', 'Automatic', 'Autoscroll', 'Axis',
        -            'Background', 'Banding', 'Batch', 'Behind', 'Below', 'Bend',
        -            'Binary', 'Blocks', 'Border', 'BorderPen', 'Bottom', 'Bounds',
        -            'ByteOrder', 'ByVal', 'Calling', 'Camera', 'Candidates',
        -            'Cartesian', 'Cell', 'Center', 'Change', 'Char', 'Circle',
        -            'Clipping', 'CloseMatchesOnly', 'ClosestAddr', 'Color', 'Columns',
        -            'Contents', 'ControlPoints', 'Copies', 'Copyright', 'Counter',
        -            'Country', 'CountrySecondarySubdivision', 'CountrySubdivision',
        -            'Cross', 'CubicConvolution', 'Cull', 'Cursor', 'Custom', 'Data',
        -            'DBF', 'DDE', 'Decimal', 'DecimalPlaces', 'DefaultAmbientSpeed',
        -            'DefaultPropagationFactor', 'DeformatNumber', 'Delimiter',
        -            'Density', 'DenyWrite', 'Descending', 'Destroy', 'Device',
        -            'Dictionary', 'DInfo', 'Disable', 'DiscardUpdates', 'Display',
        -            'Dither', 'DrawMode', 'DropKey', 'Droplines', 'Duplicates',
        -            'Dynamic', 'Earth', 'East', 'EditLayerPopup', 'Elevation', 'Else',
        -            'ElseIf', 'Emf', 'Enable', 'Envinsa', 'ErrorDiffusion', 'Extents',
        -            'Fallback', 'FastEdit', 'FillFrame', 'Filter', 'First', 'Fit',
        -            'Fixed', 'FocalPoint', 'Footnote', 'Force', 'FromMapCatalog',
        -            'Front', 'Gap', 'Geographic', 'Geography', 'Graduated', 'Graphic',
        -            'Gutter', 'Half', 'Halftone', 'Handles', 'Height', 'Help',
        -            'HelpMsg', 'Hide', 'Hierarchical', 'HIGHLOW', 'History', 'Icon',
        -            'ID', 'Ignore', 'Image', 'Inflect', 'Inset', 'Inside',
        -            'Interactive', 'Internal', 'Interpolate', 'IntersectingStreet',
        -            'Justify', 'Key', 'Label', 'Labels', 'Landscape', 'Large', 'Last',
        -            'Layer', 'Left', 'Lib', 'Light', 'LinePen', 'Lines', 'Linestyle',
        -            'Longitude', 'LOWHIGH', 'Major', 'MajorPolygonOnly',
        -            'MajorRoadsOnly', 'MapBounds', 'MapMarker', 'MapString', 'Margins',
        -            'MarkMultiple', 'MaskSize', 'Match', 'MaxOffRoadDistance',
        -            'Message', 'MICODE', 'Minor', 'MixedCase', 'Mode', 'ModifierKeys',
        -            'Modify', 'Multiple', 'MultiPolygonRgns', 'Municipality',
        -            'MunicipalitySubdivision', 'Name', 'NATIVE', 'NearestNeighbor',
        -            'NoCollision', 'Node', 'Nodes', 'NoIndex', 'None', 'Nonearth',
        -            'NoRefresh', 'Normalized', 'North', 'Number', 'ObjectType', 'ODBC',
        -            'Off', 'OK', 'OLE', 'On', 'Options', 'Orientation', 'OtherBdy',
        -            'Output', 'Outside', 'Overlapped', 'Overwrite', 'Pagebreaks',
        -            'Pan', 'Papersize', 'Parent', 'PassThrough', 'Password',
        -            'Patterns', 'Per', 'Percent', 'Percentage', 'Permanent',
        -            'PersistentCache', 'Pie', 'Pitch', 'Placename', 'PointsOnly',
        -            'PolyObj', 'Portrait', 'Position', 'PostalCode', 'Prefer',
        -            'Preferences', 'Prev', 'Printer', 'Projection', 'PushButton',
        -            'Quantile', 'Query', 'Random', 'Range', 'Raster', 'Read',
        -            'ReadOnly', 'Rec', 'Redraw', 'Refine', 'Regionstyle', 'RemoveData',
        -            'Replace', 'Reprojection', 'Resampling', 'Restore', 'ResultCode',
        -            'ReturnHoles', 'Right', 'Roll', 'ROP', 'Rotated', 'Row', 'Ruler',
        -            'Scale', 'ScrollBars', 'Seamless', 'SecondaryPostalCode',
        -            'SelfInt', 'Separator', 'Series', 'Service', 'SetKey',
        -            'SetTraverse', 'Shades', 'Show', 'Simple', 'SimplificationFactor',
        -            'Size', 'Small', 'Smart', 'Smooth', 'South', 'Spacing',
        -            'SPATIALWARE', 'Spherical', 'Square', 'Stacked', 'Step', 'Store',
        -            'Street', 'StreetName', 'StreetNumber', 'StyleType', 'Subtitle',
        -            'SysMenuClose', 'Thin', 'Tick', 'Title', 'TitleAxisY',
        -            'TitleGroup', 'Titles', 'TitleSeries', 'ToggleButton', 'Tolerance',
        -            'ToolbarPosition', 'ToolButton', 'Toolkit', 'Top', 'Translucency',
        -            'translucency_percent', 'Transparency', 'Transparent', 'Traverse',
        -            'TrueColor', 'Uncheck', 'Undo', 'Union', 'Unit', 'Until', 'URL',
        -            'Use', 'User', 'UserBrowse', 'UserClose', 'UserDisplayMap',
        -            'UserEdit', 'UserMap', 'UserRemoveMap', 'Value', 'Variable',
        -            'Vary', 'Vector', 'Versioned', 'View', 'ViewDisplayPopup',
        -            'VisibleOnly', 'VMDefault', 'VMGrid', 'VMRaster', 'Voronoi',
        -            'Warnings', 'Wedge', 'West', 'Width', 'With', 'XY', 'XYINDEX',
        -            'Yaw', 'Zoom'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -            //Numeric/String Operators + Comparison Operators
        -            '(', ')', '[', ']', '+', '-', '*', '/', '\\', '^', '&',
        -            '=', '<', '>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff;',        //Statements + Clauses + Data Types + Logical Operators, Geographical Operators + SQL
        -            2 => 'color: #2391af;',        //Special Procedures
        -            3 => 'color: #2391af;',        //Functions
        -            4 => 'color: #c635cb;',        //Constants
        -            5 => 'color: #0000ff;'         //Extended keywords (case sensitive)
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000;',
        -            'MULTI' => 'color: #008000;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #a31515;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #12198b;',            //Table Attributes
        -            1 => 'color: #2391af;'             //Data Types
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -            //Table Attribute
        -            0 => "[\\.]{1}[a-zA-Z0-9_]+",
        -            //Data Type
        -            1 => "(?xi) \\s+ as \\s+ (Alias|Brush|Date|Float|Font|Integer|Logical|Object|Pen|SmallInt|String|Symbol)"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/matlab.php b/vendor/easybook/geshi/geshi/matlab.php
        deleted file mode 100644
        index e228a08..0000000
        --- a/vendor/easybook/geshi/geshi/matlab.php
        +++ /dev/null
        @@ -1,226 +0,0 @@
        - 'Matlab M',
        -    'COMMENT_SINGLE' => array(1 => '%'),
        -    'COMMENT_MULTI' => array(),
        -    //Matlab Strings
        -    'COMMENT_REGEXP' => array(
        -        2 => "/(? GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'break', 'case', 'catch', 'continue', 'elseif', 'else', 'end', 'for',
        -            'function', 'global', 'if', 'otherwise', 'persistent', 'return',
        -            'switch', 'try', 'while'
        -            ),
        -        2 => array(
        -            'all','any','exist','is','logical','mislocked',
        -
        -            'abs','acos','acosh','acot','acoth','acsc','acsch','airy','angle',
        -            'ans','area','asec','asech','asin','asinh','atan','atan2','atanh',
        -            'auread','autumn','auwrite','axes','axis','balance','bar','bar3',
        -            'bar3h','barh','besselh','besseli','besselj','besselk','Bessely',
        -            'beta','betainc','betaln','bicg','bicgstab','bin2dec','bitand',
        -            'bitcmp','bitget','bitmax','bitor','bitset','bitshift','bitxor',
        -            'blkdiag','bone','box','brighten','builtin','bwcontr','calendar',
        -            'camdolly','camlight','camlookat','camorbit','campan','campos',
        -            'camproj','camroll','camtarget','camup','camva','camzoom','capture',
        -            'cart2pol','cart2sph','cat','caxis','cdf2rdf','ceil','cell',
        -            'cell2struct','celldisp','cellfun','cellplot','cellstr','cgs',
        -            'char','chol','cholinc','cholupdate','cla','clabel','class','clc',
        -            'clf','clg','clock','close','colmmd','colorbar','colorcube',
        -            'colordef','colormap','colperm','comet','comet3','compan','compass',
        -            'complex','computer','cond','condeig','condest','coneplot','conj',
        -            'contour','contourc','contourf','contourslice','contrast','conv',
        -            'conv2','convhull','cool','copper','copyobj','corrcoef','cos',
        -            'cosh','cot','coth','cov','cplxpair','cputime','cross','csc','csch',
        -            'cumprod','cumsum','cumtrapz','cylinder','daspect','date','datenum',
        -            'datestr','datetick','datevec','dbclear','dbcont','dbdown',
        -            'dblquad','dbmex','dbquit','dbstack','dbstatus','dbstep','dbstop',
        -            'dbtype','dbup','deblank','dec2bin','dec2hex','deconv','del2',
        -            'delaunay','det','diag','dialog','diff','diffuse','dlmread',
        -            'dlmwrite','dmperm','double','dragrect','drawnow','dsearch','eig',
        -            'eigs','ellipj','ellipke','eomday','eps','erf','erfc','erfcx',
        -            'erfiny','error','errorbar','errordlg','etime','eval','evalc',
        -            'evalin','exp','expint','expm','eye','ezcontour','ezcontourf',
        -            'ezmesh','ezmeshc','ezplot','ezplot3','ezpolar','ezsurf','ezsurfc',
        -            'factor','factorial','fclose','feather','feof','ferror','feval',
        -            'fft','fft2','fftshift','fgetl','fgets','fieldnames','figure',
        -            'fill','fill3','filter','filter2','find','findfigs','findobj',
        -            'findstr','fix','flag','flipdim','fliplr','flipud','floor','flops',
        -            'fmin','fmins','fopen','fplot','fprintf','fread','frewind','fscanf',
        -            'fseek','ftell','full','funm','fwrite','fzero','gallery','gamma',
        -            'gammainc','gammaln','gca','gcbo','gcd','gcf','gco','get',
        -            'getfield','ginput','gmres','gradient','gray','graymon','grid',
        -            'griddata','gsvd','gtext','hadamard','hankel','hdf','helpdlg',
        -            'hess','hex2dec','hex2num','hidden','hilb','hist','hold','hot',
        -            'hsv','hsv2rgb','i','ifft','ifft2','ifftn','ifftshift','imag',
        -            'image','imfinfo','imread','imwrite','ind2sub','Inf','inferiorto',
        -            'inline','inpolygon','input','inputdlg','inputname','int16',
        -            'int2str','int32','int8','interp1','interp2','interp3','interpft',
        -            'interpn','intersect','inv','invhilb','ipermute','isa','ishandle',
        -            'ismember','isocaps','isonormals','isosurface','j','jet','keyboard',
        -            'lcm','legend','legendre','light','lighting','lightingangle',
        -            'lin2mu','line','lines','linspace','listdlg','loadobj','log',
        -            'log10','log2','loglog','logm','logspace','lower','lscov','lu',
        -            'luinc','magic','mat2str','material','max','mean','median','menu',
        -            'menuedit','mesh','meshc','meshgrid','min','mod','msgbox','mu2lin',
        -            'NaN','nargchk','nargin','nargout','nchoosek','ndgrid','ndims',
        -            'newplot','nextpow2','nnls','nnz','nonzeros','norm','normest','now',
        -            'null','num2cell','num2str','nzmax','ode113,','ode15s,','ode23s,',
        -            'ode23t,','ode23tb','ode45,','odefile','odeget','odeset','ones',
        -            'orient','orth','pagedlg','pareto','pascal','patch','pause',
        -            'pbaspect','pcg','pcolor','peaks','perms','permute','pi','pie',
        -            'pie3','pinv','plot','plot3','plotmatrix','plotyy','pol2cart',
        -            'polar','poly','polyarea','polyder','polyeig','polyfit','polyval',
        -            'polyvalm','pow2','primes','print','printdlg','printopt','prism',
        -            'prod','propedit','qmr','qr','qrdelete','qrinsert','qrupdate',
        -            'quad','questdlg','quiver','quiver3','qz','rand','randn','randperm',
        -            'rank','rat','rats','rbbox','rcond','real','realmax','realmin',
        -            'rectangle','reducepatch','reducevolume','refresh','rem','repmat',
        -            'reset','reshape','residue','rgb2hsv','rgbplot','ribbon','rmfield',
        -            'roots','rose','rot90','rotate','rotate3d','round','rref',
        -            'rrefmovie','rsf2csf','saveobj','scatter','scatter3','schur',
        -            'script','sec','sech','selectmoveresize','semilogx','semilogy',
        -            'set','setdiff','setfield','setxor','shading','shg','shiftdim',
        -            'shrinkfaces','sign','sin','single','sinh','slice','smooth3','sort',
        -            'sortrows','sound','soundsc','spalloc','sparse','spconvert',
        -            'spdiags','specular','speye','spfun','sph2cart','sphere','spinmap',
        -            'spline','spones','spparms','sprand','sprandn','sprandsym','spring',
        -            'sprintf','sqrt','sqrtm','squeeze','sscanf','stairs','std','stem',
        -            'stem3','str2double','str2num','strcat','strcmp','strcmpi',
        -            'stream2','stream3','streamline','strings','strjust','strmatch',
        -            'strncmp','strrep','strtok','struct','struct2cell','strvcat',
        -            'sub2ind','subplot','subspace','subvolume','sum','summer',
        -            'superiorto','surf','surf2patch','surface','surfc','surfl',
        -            'surfnorm','svd','svds','symmmd','symrcm','symvar','tan','tanh',
        -            'texlabel','text Create','textread','textwrap','tic','title','toc',
        -            'toeplitz','trace','trapz','tril','trimesh','trisurf','triu',
        -            'tsearch','uicontext Create','uicontextmenu','uicontrol',
        -            'uigetfile','uimenu','uint32','uint8','uiputfile','uiresume',
        -            'uisetcolor','uisetfont','uiwait Used','union','unique','unwrap',
        -            'upper','var','varargin','varargout','vectorize','view','viewmtx',
        -            'voronoi','waitbar','waitforbuttonpress','warndlg','warning',
        -            'waterfall','wavread','wavwrite','weekday','whitebg','wilkinson',
        -            'winter','wk1read','wk1write','xlabel','xlim','ylabel','ylim',
        -            'zeros','zlabel','zlim','zoom',
        -            //'[Keywords 6]',
        -            'addpath','cd','clear','copyfile','delete','diary','dir','disp',
        -            'doc','docopt','echo','edit','fileparts','format','fullfile','help',
        -            'helpdesk','helpwin','home','inmem','lasterr','lastwarn','length',
        -            'load','lookfor','ls','matlabrc','matlabroot','mkdir','mlock',
        -            'more','munlock','open','openvar','pack','partialpath','path',
        -            'pathtool','profile','profreport','pwd','quit','rmpath','save',
        -            'saveas','size','tempdir','tempname','type','ver','version','web',
        -            'what','whatsnew','which','who','whos','workspace'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '...'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        //3 => false,
        -        //4 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000FF;',
        -            2 => 'color: #0000FF;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #228B22;',
        -            2 => 'color:#A020F0;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #080;'
        -            ),
        -        'STRINGS' => array(
        -            //0 => 'color: #A020F0;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #33f;'
        -            ),
        -        'METHODS' => array(
        -            1 => '',
        -            2 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #080;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #33f;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => 'http://www.mathworks.com/access/helpdesk/help/techdoc/ref/{FNAMEL}.html'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        //Complex numbers
        -        0 => '(?html)'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/mirc.php b/vendor/easybook/geshi/geshi/mirc.php
        deleted file mode 100644
        index 3de6d09..0000000
        --- a/vendor/easybook/geshi/geshi/mirc.php
        +++ /dev/null
        @@ -1,170 +0,0 @@
        - 'mIRC Scripting',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'alias', 'menu', 'dialog',
        -            ),
        -        2 => array(
        -            'if', 'elseif', 'else', 'while', 'return', 'goto', 'var'
        -            ),
        -        3 => array(
        -            'action','ajinvite','amsg','ame','anick','aop','auser',
        -            'avoice','auto','autojoin','away','background','ban','beep',
        -            'channel','clear','clearall','clipboard','close','closemsg','color',
        -            'copy','creq','ctcp','ctcpreply','ctcps','dcc','dde','ddeserver',
        -            'debug','describe','disable','disconnect','dlevel','dll','dns',
        -            'dqwindow','ebeeps','echo','editbox','emailaddr','enable','events',
        -            'exit','filter','findtext','finger','flash','flood','flush',
        -            'flushini','font','fsend','fserve','fullname','ghide','gload',
        -            'gmove','gopts','gplay','gpoint','gqreq','groups','gshow','gsize',
        -            'gstop','gtalk','gunload','guser','help','hop','ignore','invite',
        -            'join','kick','linesep','links','list','load','loadbuf','localinfo',
        -            'log','me','mdi','mkdir','mnick','mode','msg','names','nick','noop',
        -            'notice','notify','omsg','onotice','part','partall','pdcc',
        -            'perform','ping','play','pop','protect','pvoice','qmsg','qme',
        -            'query','queryrn','quit','raw','remini','remote','remove','rename',
        -            'enwin','resetidle','rlevel','rmdir','run','ruser','save','savebuf',
        -            'saveini','say','server','showmirc','sline','sound','speak','splay',
        -            'sreq','strip','time',
        -            //'timer[N/name]', //Handled as a regular expression below ...
        -            'timers','timestamp','titlebar','tnick','tokenize','topic','ulist',
        -            'unload','updatenl','url','uwho','window','winhelp','write',
        -            'writeini','who','whois','whowas'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '/'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #994444;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #990000; font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #FF0000;',
        -            ),
        -        'STRINGS' => array(
        -            ),
        -        'NUMBERS' => array(
        -            0 => '',
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #FF0000;',
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #000099;',
        -            1 => 'color: #990000;',
        -            2 => 'color: #000099;',
        -            3 => 'color: #888800;',
        -            4 => 'color: #888800;',
        -            5 => 'color: #000099;',
        -            6 => 'color: #990000; font-weight: bold;',
        -            7 => 'color: #990000; font-weight: bold;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.mirc.com/{FNAMEL}'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array('.'),
        -    'REGEXPS' => array(
        -        //Variable names
        -        0 => '\$[a-zA-Z0-9]+',
        -        //Variable names
        -        1 => '(%|&)[\w\x80-\xFE]+',
        -        //Client to Client Protocol handling
        -        2 => '(on|ctcp) (!|@|&)?(\d|\*):[a-zA-Z]+:',
        -        /*4 => array(
        -            GESHI_SEARCH => '((on|ctcp) (!|@|&)?(\d|\*):(Action|Active|Agent|AppActive|Ban|Chat|Close|Connect|Ctcp|CtcpReply|DccServer|DeHelp|DeOp|DeVoice|Dialog|Dns|Error|Exit|FileRcvd|FileSent|GetFail|Help|Hotlink|Input|Invite|Join|KeyDown|KeyUp|Kick|Load|Logon|MidiEnd|Mode|Mp3End|Nick|NoSound|Notice|Notify|Op|Open|Part|Ping|Pong|PlayEnd|Quit|Raw|RawMode|SendFail|Serv|ServerMode|ServerOp|Signal|Snotice|Start|Text|Topic|UnBan|Unload|Unotify|User|Mode|Voice|Wallops|WaveEnd):)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),*/
        -        //Channel names
        -        3 => '(#|@)[a-zA-Z0-9]+',
        -        4 => '-[a-z\d]+',
        -        //Raw protocol handling
        -        5 => 'raw (\d|\*):',
        -        //Timer handling
        -        6 => '(?|:|\/)\/timer(?!s\b)[0-9a-zA-Z_]+',
        -        // /...
        -        7 => '(?|:|\/|\w)\/[a-zA-Z][a-zA-Z0-9]*(?!>)'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'NUMBERS' => GESHI_NEVER
        -            ),
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => '(? 'MMIX',
        -    'COMMENT_SINGLE' => array(1 => ';', 2 => '%'),
        -    'COMMENT_MULTI' => array(),
        -    //Line address prefix suppression
        -    'COMMENT_REGEXP' => array(
        -        3 => "/^\s*(?!\s)[^\w].*$/m",
        -        4 => "/^\s*[0-9a-f]{12,16}+(?:\s+[0-9a-f]+(?:\.{3}[0-9a-f]{2,})?)?:/mi"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'NUMBERS' => array(
        -        1 => '(? '#[\da-fA-F]+',
        -        3 => '\$\d+'
        -        ),
        -    'KEYWORDS' => array(
        -        /*CPU*/
        -        1 => array(
        -            '16ADDU','2ADDU','4ADDU','8ADDU','ADD','ADDU','AND','ANDN','ANDNH',
        -            'ANDNL','ANDNMH','ANDNML','BDIF','BEV','BN','BNN','BNP','BNZ','BOD',
        -            'BP','BZ','CMP','CMPU','CSEV','CSN','CSNN','CSNP','CSNZ','CSOD',
        -            'CSP','CSWAP','CSZ','DIV','DIVU','FADD','FCMP','FCMPE','FDIV',
        -            'FEQL','FEQLE','FINT','FIX','FIXU','FLOT','FLOTU','FMUL','FREM',
        -            'FSQRT','FSUB','FUN','FUNE','GET','GETA','GO','INCH','INCL','INCMH',
        -            'INCML','JMP','LDA','LDB','LDBU','LDHT','LDO','LDOU','LDSF','LDT',
        -            'LDTU','LDUNC','LDVTS','LDW','LDWU','MOR','MUL','MULU','MUX','MXOR',
        -            'NAND','NEG','NEGU','NOR','NXOR','ODIF','OR','ORH','ORL','ORMH',
        -            'ORML','ORN','PBEV','PBN','PBNN','PBNP','PBNZ','PBOD','PBP','PBZ',
        -            'POP','PREGO','PRELD','PREST','PUSHGO','PUSHJ','PUT','RESUME','SADD',
        -            'SAVE','SETH','SETL','SETMH','SETML','SFLOT','SFLOTU','SL','SLU',
        -            'SR','SRU','STB','STBU','STCO','STHT','STO','STOU','STSF','STT',
        -            'STTU','STUNC','STW','STWU','SUB','SUBU','SWYM','SYNC','SYNCD',
        -            'SYNCID','TDIF','TRAP','TRIP','UNSAVE','WDIF','XOR','ZSEV','ZSN',
        -            'ZSNN','ZSNP','ZSNZ','ZSOD','ZSP','ZSZ'
        -            ),
        -        2 => array(
        -            'BSPEC','BYTE','ESPEC','GREG','IS','LOC','LOCAL','OCTA',
        -            'PREFIX','SET','TETRA','WYDE'
        -            ),
        -        /*registers*/
        -        3 => array(
        -            'rA','rB','rC','rD','rE','rF','rG','rH','rI','rJ','rK','rL','rM',
        -            'rN','rO','rP','rQ','rR','rS','rT','rU','rV','rW','rX','rY','rZ',
        -            'rBB','rTT','rWW','rXX','rYY','rZZ'
        -            ),
        -//        /*Directive*/
        -//        4 => array(
        -//            ),
        -//        /*Operands*/
        -//        5 => array(
        -//            )
        -        ),
        -    'SYMBOLS' => array(
        -        '[', ']', '(', ')',
        -        '+', '-', '*', '/', '%',
        -        '.', ',', ';', ':',
        -        '<<','>>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => false,
        -        3 => true,
        -//        4 => false,
        -//        5 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #00007f; font-weight: bold;',
        -            2 => 'color: #0000ff; font-weight: bold;',
        -            3 => 'color: #00007f;',
        -//            4 => 'color: #000000; font-weight: bold;',
        -//            5 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #666666; font-style: italic;',
        -            3 => 'color: #666666; font-style: italic;',
        -            4 => 'color: #adadad; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900; font-weight: bold;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #7f007f;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000ff;',
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #00007f;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -//            0 => 'color: #0000ff;',
        -//            1 => 'color: #0000ff;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -//        4 => '',
        -//        5 => ''
        -        ),
        -/*
        -    'NUMBERS' =>
        -        GESHI_NUMBER_BIN_PREFIX_PERCENT |
        -        GESHI_NUMBER_BIN_SUFFIX |
        -        GESHI_NUMBER_HEX_PREFIX |
        -        GESHI_NUMBER_HEX_SUFFIX |
        -        GESHI_NUMBER_OCT_SUFFIX |
        -        GESHI_NUMBER_INT_BASIC |
        -        GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F |
        -        GESHI_NUMBER_FLT_SCI_ZERO,
        -*/
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Hex numbers
        -//        0 => /*  */ "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))(?:[0-9][0-9a-fA-F]{0,31}[hH]|0x[0-9a-fA-F]{1,32})(?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))",
        -        //Binary numbers
        -//        1 => "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))[01]{1,64}[bB](?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 8,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?|^])",
        -            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%])"
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/modula2.php b/vendor/easybook/geshi/geshi/modula2.php
        deleted file mode 100644
        index 3b7ae8a..0000000
        --- a/vendor/easybook/geshi/geshi/modula2.php
        +++ /dev/null
        @@ -1,135 +0,0 @@
        - 'Modula-2',
        -    'COMMENT_MULTI' => array('(*' => '*)'),
        -    'COMMENT_SINGLE' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'HARDQUOTE' => array("'", "'"),
        -    'HARDESCAPE' => array("''"),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array( /* reserved words */
        -            'AND', 'ARRAY', 'BEGIN', 'BY', 'CASE', 'CONST', 'DEFINITION',
        -            'DIV', 'DO', 'ELSE', 'ELSIF', 'END', 'EXIT', 'EXPORT', 'FOR',
        -            'FROM', 'IF', 'IMPLEMENTATION', 'IMPORT', 'IN', 'LOOP', 'MOD',
        -            'MODULE', 'NOT', 'OF', 'OR', 'POINTER', 'PROCEDURE', 'QUALIFIED',
        -            'RECORD', 'REPEAT', 'RETURN', 'SET', 'THEN', 'TO', 'TYPE',
        -            'UNTIL', 'VAR', 'WHILE', 'WITH'
        -            ),
        -        2 => array( /* pervasive constants */
        -            'NIL', 'FALSE', 'TRUE',
        -            ),
        -        3 => array( /* pervasive types */
        -            'BITSET', 'CAP', 'CHR', 'DEC', 'DISPOSE', 'EXCL', 'FLOAT',
        -            'HALT', 'HIGH', 'INC', 'INCL', 'MAX', 'MIN', 'NEW', 'ODD', 'ORD',
        -            'SIZE', 'TRUNC', 'VAL'
        -            ),
        -        4 => array( /* pervasive functions and macros */
        -            'ABS', 'BOOLEAN', 'CARDINAL', 'CHAR', 'INTEGER',
        -            'LONGCARD', 'LONGINT', 'LONGREAL', 'PROC', 'REAL'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        ',', ':', '=', '+', '-', '*', '/', '#', '~'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;',
        -            4 => 'color: #000066; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;',
        -            'HARD' => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0066ee;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => ''
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/modula3.php b/vendor/easybook/geshi/geshi/modula3.php
        deleted file mode 100644
        index 7f6e015..0000000
        --- a/vendor/easybook/geshi/geshi/modula3.php
        +++ /dev/null
        @@ -1,134 +0,0 @@
        - 'Modula-3',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array('(*' => '*)'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'HARDQUOTE' => array("'", "'"),
        -    'HARDESCAPE' => array("''"),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'AND', 'ANY', 'ARRAY', 'AS', 'BEGIN', 'BITS', 'BRANDED', 'BY', 'CASE',
        -            'CONST', 'DIV', 'DO', 'ELSE', 'ELSIF', 'END', 'EVAL', 'EXCEPT', 'EXCEPTION',
        -            'EXIT', 'EXPORTS', 'FINALLY', 'FOR', 'FROM', 'GENERIC', 'IF', 'IMPORT', 'IN',
        -            'INTERFACE', 'LOCK', 'LOOP', 'METHODS', 'MOD', 'MODULE', 'NOT', 'OBJECT', 'OF',
        -            'OR', 'OVERRIDES', 'PROCEDURE', 'RAISE', 'RAISES', 'READONLY', 'RECORD', 'REF',
        -            'REPEAT', 'RETURN', 'REVEAL', 'ROOT', 'SET', 'THEN', 'TO', 'TRY', 'TYPE', 'TYPECASE',
        -            'UNSAFE', 'UNTIL', 'UNTRACED', 'VALUE', 'VAR', 'WHILE', 'WITH'
        -            ),
        -        2 => array(
        -            'NIL', 'NULL', 'FALSE', 'TRUE',
        -            ),
        -        3 => array(
        -            'ABS','ADR','ADRSIZE','BITSIZE','BYTESIZE','CEILING','DEC','DISPOSE',
        -            'EXTENDED','FIRST','FLOAT','FLOOR','INC','ISTYPE','LAST','LOOPHOLE','MAX','MIN',
        -            'NARROW','NEW','NUMBER','ORD','ROUND','SUBARRAY','TRUNC','TYPECODE', 'VAL'
        -            ),
        -        4 => array(
        -            'ADDRESS', 'BOOLEAN', 'CARDINAL', 'CHAR', 'INTEGER',
        -            'LONGREAL', 'MUTEX', 'REAL', 'REFANY', 'TEXT'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        ',', ':', '=', '+', '-', '*', '/', '#'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;',
        -            4 => 'color: #000066; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;',
        -            'HARD' => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0066ee;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/mpasm.php b/vendor/easybook/geshi/geshi/mpasm.php
        deleted file mode 100644
        index a0e1ef8..0000000
        --- a/vendor/easybook/geshi/geshi/mpasm.php
        +++ /dev/null
        @@ -1,162 +0,0 @@
        - 'Microchip Assembler',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        /*Directive Language*/
        -        4 => array(
        -            'CONSTANT', '#DEFINE', 'END', 'EQU', 'ERROR', 'ERROR-LEVEL', '#INCLUDE', 'LIST',
        -            'MESSG', 'NOLIST', 'ORG', 'PAGE', 'PROCESSOR', 'RADIX', 'SET', 'SPACE', 'SUBTITLE',
        -            'TITLE', '#UNDEFINE', 'VARIABLE', 'ELSE', 'ENDIF', 'ENDW', 'IF', 'IFDEF', 'IFNDEF',
        -            'WHILE', '__BADRAM', 'CBLOCK', '__CONFIG', 'DA', 'DATA', 'DB', 'DE', 'DT', 'DW',
        -            'ENDC', 'FILL', '__IDLOCS', '__MAXRAM', 'RES', 'ENDM', 'EXITM', 'EXPAND', 'LOCAL',
        -            'MACRO', 'NOEXPAND', 'BANKISEL', 'BANKSEL', 'CODE', 'EXTERN', 'GLOBAL', 'IDATA',
        -            'PAGESEL', 'UDATA', 'UDATA_ACS', 'UDATA_OVR', 'UDATA_SHR'
        -            ),
        -        /* 12&14-bit Specific Instruction Set*/
        -        1 => array(
        -            'andlw', 'call', 'clrwdt', 'goto', 'iorlw', 'movlw', 'option', 'retlw', 'sleep',
        -            'tris', 'xorlw', 'addwf', 'andwf', 'clrf', 'clrw', 'comf', 'decf', 'decfsz', 'incf',
        -            'incfsz', 'iorwf', 'movf', 'nop', 'rlf', 'rrf', 'subwf', 'swapf', 'xorwf',
        -            'bcf', 'bsf', 'btfsc', 'btfss',
        -            'addlw', 'retfie', 'return', 'sublw', 'addcf', 'adddcf', 'b', 'bc', 'bdc',
        -            'bnc', 'bndc', 'bnz', 'bz', 'clrc', 'clrdc', 'clrz', 'lcall', 'lgoto', 'movfw',
        -            'negf', 'setc', 'setdc', 'setz', 'skpc', 'skpdc', 'skpnc', 'skpndc', 'skpnz', 'skpz',
        -            'subcf', 'subdcf', 'tstf'
        -            ),
        -        /* 16-bit Specific Instructiob Set */
        -        2 => array (
        -            'movfp', 'movlb', 'movlp', 'movpf', 'movwf', 'tablrd', 'tablwt', 'tlrd', 'tlwt',
        -            'addwfc', 'daw', 'mullw', 'negw', 'rlcf', 'rlncf', 'rrcf', 'rrncf', 'setf', 'subwfb',
        -            'btg', 'cpfseq', 'cpfsgt', 'cpfslt', 'dcfsnz', 'infsnz', 'tstfsz', 'lfsr', 'bnn',
        -            'bnov', 'bra', 'pop', 'push', 'rcall', 'reset'
        -            ),
        -        /* Registers */
        -        3 => array(
        -            'INDF', 'TMR0', 'PCL', 'STATUS', 'FSR', 'PORTA', 'PORTB', 'PORTC', 'PORTD', 'PORTE',
        -            'PCLATH', 'INTCON', 'PIR1', 'PIR2', 'TMR1L', 'TMR1H', 'T1CON', 'TMR2', 'T2CON', 'TMR2L',
        -            'TMR2H', 'TMR0H', 'TMR0L', 'SSPBUF', 'SSPCON', 'CCPR1L', 'CCPR1H', 'CCP1CON', 'RCSTA',
        -            'TXREG', 'RCREG', 'CCPR2L', 'CCPR2H', 'CCP2CON', 'OPTION', 'TRISA', 'TRISB', 'TRISC',
        -            'TRISD', 'TRISE', 'PIE2', 'PIE1', 'PR2', 'SSPADD', 'SSPSTAT', 'TXSTA', 'SPBRG'
        -            ),
        -        /*Operands*/
        -        5 => array(
        -            'high','low'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '[', ']', '(', ')'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #00007f;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #007f00;',
        -            4 => 'color: #46aa03; font-weight:bold;',
        -            5 => 'color: #7f0000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #adadad; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #7f007f;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #ff0000;',
        -            1 => 'color: #ff0000;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Hex numbers
        -        0 => '[0-9a-fA-F]{1,32}[hH]',
        -        //Binary numbers
        -        1 => '[01]{1,64}[bB]'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/mxml.php b/vendor/easybook/geshi/geshi/mxml.php
        deleted file mode 100644
        index 60dfe5f..0000000
        --- a/vendor/easybook/geshi/geshi/mxml.php
        +++ /dev/null
        @@ -1,143 +0,0 @@
        - 'MXML',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(''),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        ),
        -    'SYMBOLS' => array(
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => 'color: #00bbdd;',
        -            1 => 'color: #ddbb00;',
        -            2 => 'color: #339933;',
        -            3 => 'color: #000000;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'font-weight: bold; color: black;',
        -            1 => 'color: #7400FF;',
        -            2 => 'color: #7400FF;'
        -            )
        -        ),
        -    'URLS' => array(
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        // xml declaration
        -        0 => array(
        -            GESHI_SEARCH => '(<[\/?|(\?xml)]?[a-z0-9_\-:]*(\?>))',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        // opening tags
        -        1 => array(
        -            GESHI_SEARCH => '(<\/?[a-z]+:[a-z]+)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        // closing tags
        -        2 => array(
        -            GESHI_SEARCH => '(\/?>)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            ' '>'
        -            ),
        -        1 => array(
        -            '&' => ';'
        -            ),
        -        2 => array(
        -            //' ']]>'
        -            '' => ''
        -            ),
        -        3 => array(
        -            '<' => '>'
        -            )
        -    ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => false,
        -        1 => false,
        -        2 => false,
        -        3 => true
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/mysql.php b/vendor/easybook/geshi/geshi/mysql.php
        deleted file mode 100644
        index d21f96a..0000000
        --- a/vendor/easybook/geshi/geshi/mysql.php
        +++ /dev/null
        @@ -1,474 +0,0 @@
        - 'MySQL',
        -    //'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'),    // '--' MUST be folowed by whitespace,not necessarily a space
        -    'COMMENT_SINGLE' => array(
        -        1 =>'-- ',
        -        2 => '#'
        -        ),
        -    'COMMENT_REGEXP' => array(
        -        1 => "/(?:--\s).*?$/",                          // double dash followed by any whitespace
        -        ),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,            // @@@ would be nice if this could be defined per group!
        -    'QUOTEMARKS' => array("'", '"', '`'),
        -    'ESCAPE_CHAR' => '\\',                              // by default only, can be specified
        -    'ESCAPE_REGEXP' => array(
        -        1 => "/[_%]/",                                  // search wildcards
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC |
        -        GESHI_NUMBER_OCT_PREFIX |
        -        GESHI_NUMBER_HEX_PREFIX |
        -        GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_SCI_SHORT |
        -        GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            // Mix: statement keywords and keywords that don't fit in any other
        -            // category, or have multiple usage/meanings
        -            'ACTION','ADD','AFTER','ALGORITHM','ALL','ALTER','ANALYZE','ANY',
        -            'ASC','AS','BDB','BEGIN','BERKELEYDB','BINARY','BTREE','CALL',
        -            'CASCADED','CASCADE','CHAIN','CHANGE','CHECK','COLUMNS','COLUMN',
        -            'COMMENT','COMMIT','COMMITTED','CONSTRAINT','CONTAINS SQL',
        -            'CONSISTENT','CONVERT','CREATE','CROSS','DATA','DATABASES',
        -            'DECLARE','DEFINER','DELAYED','DELETE','DESCRIBE','DESC',
        -            'DETERMINISTIC','DISABLE','DISCARD','DISTINCTROW','DISTINCT','DO',
        -            'DROP','DUMPFILE','DUPLICATE KEY','ENABLE','ENCLOSED BY','ENGINE',
        -            'ERRORS','ESCAPED BY','EXISTS','EXPLAIN','EXTENDED','FIELDS',
        -            'FIRST','FOR EACH ROW','FORCE','FOREIGN KEY','FROM','FULL',
        -            'FUNCTION','GLOBAL','GRANT','GROUP BY','HANDLER','HASH','HAVING',
        -            'HELP','HIGH_PRIORITY','IF NOT EXISTS','IGNORE','IMPORT','INDEX',
        -            'INFILE','INNER','INNODB','INOUT','INTO','INVOKER',
        -            'ISOLATION LEVEL','JOIN','KEYS','KEY','KILL','LANGUAGE SQL','LAST',
        -            'LIMIT','LINES','LOAD','LOCAL','LOCK','LOW_PRIORITY',
        -            'MASTER_SERVER_ID','MATCH','MERGE','MIDDLEINT','MODIFIES SQL DATA',
        -            'MODIFY','MRG_MYISAM','NATURAL','NEXT','NO SQL','NO','ON',
        -            'OPTIMIZE','OPTIONALLY','OPTION','ORDER BY','OUTER','OUTFILE','OUT',
        -            'PARTIAL','PARTITION','PREV','PRIMARY KEY','PRIVILEGES','PROCEDURE',
        -            'PURGE','QUICK','READS SQL DATA','READ','REFERENCES','RELEASE',
        -            'RENAME','REORGANIZE','REPEATABLE','REQUIRE','RESTRICT','RETURNS',
        -            'REVOKE','ROLLBACK','ROUTINE','RTREE','SAVEPOINT','SELECT',
        -            'SERIALIZABLE','SESSION','SET','SHARE MODE','SHOW','SIMPLE',
        -            'SNAPSHOT','SOME','SONAME','SQL SECURITY','SQL_BIG_RESULT',
        -            'SQL_BUFFER_RESULT','SQL_CACHE','SQL_CALC_FOUND_ROWS',
        -            'SQL_NO_CACHE','SQL_SMALL_RESULT','SSL','START','STARTING BY',
        -            'STATUS','STRAIGHT_JOIN','STRIPED','TABLESPACE','TABLES','TABLE',
        -            'TEMPORARY','TEMPTABLE','TERMINATED BY','TO','TRANSACTIONS',
        -            'TRANSACTION','TRIGGER','TYPES','TYPE','UNCOMMITTED','UNDEFINED',
        -            'UNION','UNLOCK_TABLES','UPDATE','USAGE','USE','USER_RESOURCES',
        -            'USING','VALUES','VALUE','VIEW','WARNINGS','WHERE','WITH ROLLUP',
        -            'WITH','WORK','WRITE',
        -            ),
        -        2 => array(     //No ( must follow
        -            // Mix: statement keywords distinguished from functions by the same name
        -            "CURRENT_USER", "DATABASE", "IN", "INSERT", "DEFAULT", "REPLACE", "SCHEMA", "TRUNCATE"
        -            ),
        -        3 => array(
        -            // Values (Constants)
        -            'FALSE','NULL','TRUE',
        -            ),
        -        4 => array(
        -            // Column Data Types
        -            'BIGINT','BIT','BLOB','BOOLEAN','BOOL','CHARACTER VARYING',
        -            'CHAR VARYING','DATETIME','DECIMAL','DEC','DOUBLE PRECISION',
        -            'DOUBLE','ENUM','FIXED','FLOAT','GEOMETRYCOLLECTION','GEOMETRY',
        -            'INTEGER','INT','LINESTRING','LONGBLOB','LONGTEXT','MEDIUMBLOB',
        -            'MEDIUMINT','MEDIUMTEXT','MULTIPOINT','MULTILINESTRING',
        -            'MULTIPOLYGON','NATIONAL CHARACTER','NATIONAL CHARACTER VARYING',
        -            'NATIONAL CHAR VARYING','NATIONAL VARCHAR','NCHAR VARCHAR','NCHAR',
        -            'NUMERIC','POINT','POLYGON','REAL','SERIAL',
        -            'SMALLINT','TEXT','TIMESTAMP','TINYBLOB','TINYINT',
        -            'TINYTEXT','VARBINARY','VARCHARACTER','VARCHAR',
        -            ),
        -        5 => array(     //No ( must follow
        -            // Column data types distinguished from functions by the same name
        -            "CHAR", "DATE", "TIME"
        -            ),
        -        6 => array(
        -            // Table, Column & Index Attributes
        -            'AUTO_INCREMENT','AVG_ROW_LENGTH','BOTH','CHECKSUM','CONNECTION',
        -            'DATA DIRECTORY','DEFAULT NULL','DELAY_KEY_WRITE','FULLTEXT',
        -            'INDEX DIRECTORY','INSERT_METHOD','LEADING','MAX_ROWS','MIN_ROWS',
        -            'NOT NULL','PACK_KEYS','ROW_FORMAT','SERIAL DEFAULT VALUE','SIGNED',
        -            'SPATIAL','TRAILING','UNIQUE','UNSIGNED','ZEROFILL'
        -            ),
        -        7 => array(     //No ( must follow
        -            // Column attribute distinguished from function by the same name
        -            "CHARSET"
        -            ),
        -        8 => array(
        -            // Date and Time Unit Specifiers
        -            'DAY_HOUR','DAY_MICROSECOND','DAY_MINUTE','DAY_SECOND',
        -            'HOUR_MICROSECOND','HOUR_MINUTE','HOUR_SECOND',
        -            'MINUTE_MICROSECOND','MINUTE_SECOND',
        -            'SECOND_MICROSECOND','YEAR_MONTH'
        -            ),
        -        9 => array(     //No ( must follow
        -            // Date-time unit specifiers distinguished from functions by the same name
        -            "DAY", "HOUR", "MICROSECOND", "MINUTE", "MONTH", "QUARTER", "SECOND", "WEEK", "YEAR"
        -            ),
        -        10 => array(
        -            // Operators (see also Symbols)
        -            'AND','BETWEEN','CHARACTER SET','COLLATE','DIV','IS NOT NULL',
        -            'IS NOT','IS NULL','IS','LIKE','NOT','OFFSET','OR','REGEXP','RLIKE',
        -            'SOUNDS LIKE','XOR'
        -            ),
        -        11 => array(     //No ( must follow
        -            // Operator distinghuished from function by the same name
        -            "INTERVAL"
        -            ),
        -        12 => array(
        -            // Control Flow (functions)
        -            'CASE','ELSE','END','IFNULL','IF','NULLIF','THEN','WHEN',
        -            ),
        -        13 => array(
        -            // String Functions
        -            'ASCII','BIN','BIT_LENGTH','CHAR_LENGTH','CHARACTER_LENGTH',
        -            'CONCAT_WS','CONCAT','ELT','EXPORT_SET','FIELD',
        -            'FIND_IN_SET','FORMAT','HEX','INSTR','LCASE','LEFT','LENGTH',
        -            'LOAD_FILE','LOCATE','LOWER','LPAD','LTRIM','MAKE_SET','MID',
        -            'OCTET_LENGTH','ORD','POSITION','QUOTE','REPEAT','REVERSE',
        -            'RIGHT','RPAD','RTRIM','SOUNDEX','SPACE','STRCMP','SUBSTRING_INDEX',
        -            'SUBSTRING','TRIM','UCASE','UNHEX','UPPER',
        -            ),
        -        14 => array(     //A ( must follow
        -            // String functions distinguished from other keywords by the same name
        -            "INSERT", "REPLACE", "CHAR"
        -            ),
        -        15 => array(
        -            // Numeric Functions
        -            'ABS','ACOS','ASIN','ATAN2','ATAN','CEILING','CEIL',
        -            'CONV','COS','COT','CRC32','DEGREES','EXP','FLOOR','LN','LOG10',
        -            'LOG2','LOG','MOD','OCT','PI','POWER','POW','RADIANS','RAND',
        -            'ROUND','SIGN','SIN','SQRT','TAN',
        -            ),
        -        16 => array(     //A ( must follow
        -            // Numeric function distinguished from other keyword by the same name
        -            "TRUNCATE"
        -            ),
        -        17 => array(
        -            // Date and Time Functions
        -            'ADDDATE','ADDTIME','CONVERT_TZ','CURDATE','CURRENT_DATE',
        -            'CURRENT_TIME','CURRENT_TIMESTAMP','CURTIME','DATE_ADD',
        -            'DATE_FORMAT','DATE_SUB','DATEDIFF','DAYNAME','DAYOFMONTH',
        -            'DAYOFWEEK','DAYOFYEAR','EXTRACT','FROM_DAYS','FROM_UNIXTIME',
        -            'GET_FORMAT','LAST_DAY','LOCALTIME','LOCALTIMESTAMP','MAKEDATE',
        -            'MAKETIME','MONTHNAME','NOW','PERIOD_ADD',
        -            'PERIOD_DIFF','SEC_TO_TIME','STR_TO_DATE','SUBDATE','SUBTIME',
        -            'SYSDATE','TIME_FORMAT','TIME_TO_SEC',
        -            'TIMESTAMPADD','TIMESTAMPDIFF','TO_DAYS',
        -            'UNIX_TIMESTAMP','UTC_DATE','UTC_TIME','UTC_TIMESTAMP','WEEKDAY',
        -            'WEEKOFYEAR','YEARWEEK',
        -            ),
        -        18 => array(     //A ( must follow
        -            // Date-time functions distinguished from other keywords by the same name
        -            "DATE", "DAY", "HOUR", "MICROSECOND", "MINUTE", "MONTH", "QUARTER",
        -            "SECOND", "TIME", "WEEK", "YEAR"
        -            ),
        -        19 => array(
        -            // Comparison Functions
        -            'COALESCE','GREATEST','ISNULL','LEAST',
        -            ),
        -        20 => array(     //A ( must follow
        -            // Comparison functions distinguished from other keywords by the same name
        -            "IN", "INTERVAL"
        -            ),
        -        21 => array(
        -            // Encryption and Compression Functions
        -            'AES_DECRYPT','AES_ENCRYPT','COMPRESS','DECODE','DES_DECRYPT',
        -            'DES_ENCRYPT','ENCODE','ENCRYPT','MD5','OLD_PASSWORD','PASSWORD',
        -            'SHA1','SHA','UNCOMPRESS','UNCOMPRESSED_LENGTH',
        -            ),
        -        22 => array(
        -            // GROUP BY (aggregate) Functions
        -            'AVG','BIT_AND','BIT_OR','BIT_XOR','COUNT','GROUP_CONCAT',
        -            'MAX','MIN','STDDEV_POP','STDDEV_SAMP','STDDEV','STD','SUM',
        -            'VAR_POP','VAR_SAMP','VARIANCE',
        -            ),
        -        23 => array(
        -            // Information Functions
        -            'BENCHMARK','COERCIBILITY','COLLATION','CONNECTION_ID',
        -            'FOUND_ROWS','LAST_INSERT_ID','ROW_COUNT',
        -            'SESSION_USER','SYSTEM_USER','USER','VERSION',
        -            ),
        -        24 => array(     //A ( must follow
        -            // Information functions distinguished from other keywords by the same name
        -            "CURRENT_USER", "DATABASE", "SCHEMA", "CHARSET"
        -            ),
        -        25 => array(
        -            // Miscellaneous Functions
        -            'ExtractValue','BIT_COUNT','GET_LOCK','INET_ATON','INET_NTOA',
        -            'IS_FREE_LOCK','IS_USED_LOCK','MASTER_POS_WAIT','NAME_CONST',
        -            'RELEASE_LOCK','SLEEP','UpdateXML','UUID',
        -            ),
        -        26 => array(     //A ( must follow
        -            // Miscellaneous function distinguished from other keyword by the same name
        -            "DEFAULT"
        -            ),
        -        27 => array(
        -            // Geometry Functions
        -            'Area','AsBinary','AsText','AsWKB','AsWKT','Boundary','Buffer',
        -            'Centroid','Contains','ConvexHull','Crosses',
        -            'Difference','Dimension','Disjoint','Distance',
        -            'EndPoint','Envelope','Equals','ExteriorRing',
        -            'GLength','GeomCollFromText','GeomCollFromWKB','GeomFromText',
        -            'GeomFromWKB','GeometryCollectionFromText',
        -            'GeometryCollectionFromWKB','GeometryFromText','GeometryFromWKB',
        -            'GeometryN','GeometryType',
        -            'InteriorRingN','Intersection','Intersects','IsClosed','IsEmpty',
        -            'IsRing','IsSimple',
        -            'LineFromText','LineFromWKB','LineStringFromText',
        -            'LineStringFromWKB',
        -            'MBRContains','MBRDisjoint','MBREqual','MBRIntersects',
        -            'MBROverlaps','MBRTouches','MBRWithin','MLineFromText',
        -            'MLineFromWKB','MPointFromText','MPointFromWKB','MPolyFromText',
        -            'MPolyFromWKB','MultiLineStringFromText','MultiLineStringFromWKB',
        -            'MultiPointFromText','MultiPointFromWKB','MultiPolygonFromText',
        -            'MultiPolygonFromWKB',
        -            'NumGeometries','NumInteriorRings','NumPoints',
        -            'Overlaps',
        -            'PointFromText','PointFromWKB','PointN','PointOnSurface',
        -            'PolyFromText','PolyFromWKB','PolygonFromText','PolygonFromWKB',
        -            'Related','SRID','StartPoint','SymDifference',
        -            'Touches',
        -            'Union',
        -            'Within',
        -            'X',
        -            'Y',
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            /* Operators */
        -            '=', ':=',                                      // assignment operators
        -            '||', '&&', '!',                                // locical operators
        -            '=', '<=>', '>=', '>', '<=', '<', '<>', '!=',   // comparison operators
        -            '|', '&', '^', '~', '<<', '>>',                 // bitwise operators
        -            '-', '+', '*', '/', '%',                        // numerical operators
        -            ),
        -        2 => array(
        -            /* Other syntactical symbols */
        -            '(', ')',
        -            ',', ';',
        -            ),
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false,
        -        7 => false,
        -        8 => false,
        -        9 => false,
        -        10 => false,
        -        11 => false,
        -        12 => false,
        -        13 => false,
        -        13 => false,
        -        14 => false,
        -        15 => false,
        -        16 => false,
        -        17 => false,
        -        18 => false,
        -        19 => false,
        -        20 => false,
        -        21 => false,
        -        22 => false,
        -        23 => false,
        -        24 => false,
        -        25 => false,
        -        26 => false,
        -        27 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #990099; font-weight: bold;',      // mix
        -            2 => 'color: #990099; font-weight: bold;',      // mix
        -            3 => 'color: #9900FF; font-weight: bold;',      // constants
        -            4 => 'color: #999900; font-weight: bold;',      // column data types
        -            5 => 'color: #999900; font-weight: bold;',      // column data types
        -            6 => 'color: #FF9900; font-weight: bold;',      // attributes
        -            7 => 'color: #FF9900; font-weight: bold;',      // attributes
        -            8 => 'color: #9900FF; font-weight: bold;',      // date-time units
        -            9 => 'color: #9900FF; font-weight: bold;',      // date-time units
        -
        -            10 => 'color: #CC0099; font-weight: bold;',      // operators
        -            11 => 'color: #CC0099; font-weight: bold;',      // operators
        -
        -            12 => 'color: #009900;',     // control flow (functions)
        -            13 => 'color: #000099;',     // string functions
        -            14 => 'color: #000099;',     // string functions
        -            15 => 'color: #000099;',     // numeric functions
        -            16 => 'color: #000099;',     // numeric functions
        -            17 => 'color: #000099;',     // date-time functions
        -            18 => 'color: #000099;',     // date-time functions
        -            19 => 'color: #000099;',     // comparison functions
        -            20 => 'color: #000099;',     // comparison functions
        -            21 => 'color: #000099;',     // encryption functions
        -            22 => 'color: #000099;',     // aggregate functions
        -            23 => 'color: #000099;',     // information functions
        -            24 => 'color: #000099;',     // information functions
        -            25 => 'color: #000099;',     // miscellaneous functions
        -            26 => 'color: #000099;',     // miscellaneous functions
        -            27 => 'color: #00CC00;',     // geometry functions
        -            ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #808000; font-style: italic;',
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #004000; font-weight: bold;',
        -            1 => 'color: #008080; font-weight: bold;'       // search wildcards
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #FF00FF;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #008080;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: #CC0099;',         // operators
        -            2 => 'color: #000033;',         // syntax
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}',
        -        2 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}',
        -        3 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}',
        -        4 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}',
        -        5 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}',
        -        6 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}',
        -        7 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}',
        -        8 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}',
        -        9 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}',
        -
        -        10 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/non-typed-operators.html',
        -        11 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/non-typed-operators.html',
        -
        -        12 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/control-flow-functions.html',
        -        13 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/string-functions.html',
        -        14 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/string-functions.html',
        -        15 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/numeric-functions.html',
        -        16 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/numeric-functions.html',
        -        17 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/date-and-time-functions.html',
        -        18 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/date-and-time-functions.html',
        -        19 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/comparison-operators.html',
        -        20 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/comparison-operators.html',
        -        21 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/encryption-functions.html',
        -        22 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/group-by-functions-and-modifiers.html',
        -        23 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/information-functions.html',
        -        24 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/information-functions.html',
        -        25 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/func-op-summary-ref.html',
        -        26 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/func-op-summary-ref.html',
        -        27 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/analysing-spatial-information.html',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            2 => array(
        -                'DISALLOWED_AFTER' => '(?![\(\w])'
        -                ),
        -            5 => array(
        -                'DISALLOWED_AFTER' => '(?![\(\w])'
        -                ),
        -            7 => array(
        -                'DISALLOWED_AFTER' => '(?![\(\w])'
        -                ),
        -            9 => array(
        -                'DISALLOWED_AFTER' => '(?![\(\w])'
        -                ),
        -            11 => array(
        -                'DISALLOWED_AFTER' => '(?![\(\w])'
        -                ),
        -
        -            14 => array(
        -                'DISALLOWED_AFTER' => '(?=\()'
        -                ),
        -            16 => array(
        -                'DISALLOWED_AFTER' => '(?=\()'
        -                ),
        -            18 => array(
        -                'DISALLOWED_AFTER' => '(?=\()'
        -                ),
        -            20 => array(
        -                'DISALLOWED_AFTER' => '(?=\()'
        -                ),
        -            24 => array(
        -                'DISALLOWED_AFTER' => '(?=\()'
        -                ),
        -            26 => array(
        -                'DISALLOWED_AFTER' => '(?=\()'
        -                )
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/nagios.php b/vendor/easybook/geshi/geshi/nagios.php
        deleted file mode 100644
        index 4725431..0000000
        --- a/vendor/easybook/geshi/geshi/nagios.php
        +++ /dev/null
        @@ -1,223 +0,0 @@
        -
        - * Copyright: (c) 2012 Albéric de Pertat (https://github.com/adepertat/geshi-nagios)
        - * Release Version: 1.0.8.11
        - * Date Started: 2012/01/19
        - *
        - * Nagios language file for GeSHi.
        - *
        - * CHANGES
        - * -------
        - * 2012/01/19 (1.0.0)
        - *  -  First Release
        - *
        - * TODO (updated 2012/01/19)
        - * -------------------------
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array(
        -    'LANG_NAME' => 'Nagios',
        -    'COMMENT_SINGLE' => array(1 => ';', 2 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'HARDQUOTE' => array("'", "'"),
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\'',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'define'
        -            ),
        -        2 => array(
        -            'command', 'contact', 'contactgroup', 'host', 'hostdependency',
        -            'hostescalation', 'hostextinfo', 'hostgroup', 'service',
        -            'servicedependency', 'serviceescalation',
        -            'serviceextinfo', 'servicegroup', 'timeperiod'
        -            ),
        -        3 => array(
        -            'active_checks_enabled', 'passive_checks_enabled', 'alias',
        -            'display_name', 'host_name', 'address', 'hostgroups', 'parents',
        -            'hostgroup_members', 'members', 'service_description',
        -            'servicegroups', 'is_volatile', 'servicegroup_name',
        -            'servicegroup_members', 'contact_name', 'contactgroups', 'email',
        -            'pager', 'can_submit_commands', 'contactgroup_name',
        -            'contactgroup_members', 'host_notifications_enabled',
        -            'service_notifications_enabled', 'host_notification_period',
        -            'service_notification_period', 'host_notification_options',
        -            'service_notification_options', 'host_notification_commands',
        -            'service_notification_commands', 'check_command',
        -            'check_freshness', 'check_interval', 'check_period', 'contacts',
        -            'contact_groups', 'event_handler', 'event_handler_enabled',
        -            'flap_detection_enabled', 'flap_detection_options',
        -            'freshness_threshold', 'initial_state', 'low_flap_threshold',
        -            'high_flap_threshold', 'max_check_attempts',
        -            'notification_interval', 'first_notification_delay',
        -            'notification_period', 'notification_options',
        -            'notifications_enabled', 'stalking_options', 'notes', 'notes_url',
        -            'action_url', 'icon_image', 'icon_image_alt', 'vrml_image',
        -            'statusmap_image', '2d_coords', '3d_coords', 'obsess_over_host',
        -            'obsess_over_hostver_service', 'process_perf_data',
        -            'retain_status_information', 'retain_nonstatus_information',
        -            'retry_interval', 'register', 'use', 'name', 'timeperiod_name',
        -            'exclude', 'command_name', 'command_line', 'dependent_host_name',
        -            'dependent_hostgroup_name', 'dependent_service_description',
        -            'inherits_parent', 'execution_failure_criteria',
        -            'notification_failure_criteria', 'dependency_period',
        -            'first_notification', 'last_notification', 'escalation_period',
        -            'escalation_options'
        -            ),
        -        4 => array(
        -            'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday',
        -            'sunday', 'january', 'february', 'march', 'april', 'may', 'june',
        -            'july', 'august', 'september', 'october', 'november', 'december',
        -            'day'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array(
        -            '{', '}', ',', '+'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'font-weight:bold;color:#FFDCA8;',
        -            2 => 'font-weight:bold;color #FFA858;',
        -            3 => 'font-weight:bold;color:#00C0C0;',
        -            4 => 'font-weight:bold;color:#C0C0FF;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'font-weight:bold;color:#000000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => ''
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #AAAAAA; font-style: italic;',
        -            1 => 'color: #AAAAAA; font-style: italic;',
        -            2 => 'color: #AAAAAA; font-style: italic;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #660066;',
        -            'HARD' => 'color: #660066;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'font-weight:bold;color:#808080;',
        -            1 => 'font-weight:bold;color:#000080;',
        -            2 => 'font-weight:bold;color:red;',
        -            3 => 'font-weight:bold;color:#808000;',
        -            4 => 'font-weight:bold;color:blue;',
        -            5 => 'font-weight:bold;color:#C0FFC0;',
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            )
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '\\'
        -        ),
        -    'REGEXPS' => array(
        -        // Custom macros
        -        0 => array(
        -            GESHI_SEARCH => '(\$[a-zA-Z_]+\$)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '',
        -            ),
        -        // Custom macro definitions
        -        1 => array(
        -            GESHI_SEARCH => '(\A|\s)(_[a-zA-Z_]+)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '',
        -            ),
        -        // $USERxx$
        -        2 => array(
        -            GESHI_SEARCH => '(\$USER[0-9]+\$)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '',
        -            ),
        -        // $ARGxx$
        -        3 => array(
        -            GESHI_SEARCH => '(\$ARG[1-9]\$)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '',
        -            ),
        -        // register 0
        -        4 => array(
        -            GESHI_SEARCH => '(\bregister[\\x20\\t]+[01])',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '',
        -            ),
        -        // use
        -        5 => array(
        -            GESHI_SEARCH => '(use[\\x20\\t]+[^\\x20\\t]+)([\\x20\\t]*[$;#])',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '',
        -            ),
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => false
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'NUMBERS' => GESHI_NEVER
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/netrexx.php b/vendor/easybook/geshi/geshi/netrexx.php
        deleted file mode 100644
        index b038aa4..0000000
        --- a/vendor/easybook/geshi/geshi/netrexx.php
        +++ /dev/null
        @@ -1,161 +0,0 @@
        - 'NetRexx',
        -    'COMMENT_SINGLE' => array(1 => '--'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'class', 'do', 'exit', 'if', 'import', 'iterate', 'leave',
        -            'loop', 'nop', 'numeric', 'package', 'parse', 'properties',
        -            'return', 'say', 'select', 'signal', 'trace'
        -            ),
        -        2 => array(
        -            'abstract', 'adapter', 'all', 'ask', 'binary', 'case',
        -            'constant', 'dependent', 'deprecated', 'extends', 'final',
        -            'implements', 'inheritable', 'interface', 'label', 'methods',
        -            'native', 'off', 'private', 'protect', 'public', 'results',
        -            'returns', 'shared', 'signals', 'source', 'static',
        -            'transient', 'unused', 'uses', 'version', 'volatile'
        -            ),
        -        3 => array(
        -            'catch', 'else', 'end', 'finally', 'otherwise', 'then', 'when'
        -            ),
        -        4 => array(
        -            'rc', 'result', 'self', 'sigl', 'super'
        -            ),
        -        5 => array(
        -            'placeholderforoorexxdirectives'
        -            ),
        -        6 => array(
        -            'abbrev', 'abs', 'b2x', 'c2d', 'c2x', 'center', 'centre',
        -            'changestr', 'compare', 'copies', 'copyindexed', 'countstr',
        -            'd2c', 'd2x', 'datatype', 'delstr', 'delword', 'exists',
        -            'formword', 'hashcode', 'insert', 'lastpos', 'left', 'lower',
        -            'max', 'min', 'noteq', 'noteqs', 'opadd', 'opand', 'opcc',
        -            'opccblank', 'opdiv', 'opdivi', 'opeq', 'opeqs', 'opgt',
        -            'opgteq', 'opgteqs', 'opgts', 'oplt', 'oplteq', 'oplteqs',
        -            'oplts', 'opminus', 'opmult', 'opnot', 'opor', 'opplus',
        -            'oppow', 'oprem', 'opsub', 'opxor', 'overlay', 'pos position',
        -            'reverse', 'right', 'sequence', 'setdigits', 'setform',
        -            'sign', 'space', 'strip', 'substr', 'subword', 'toboolean',
        -            'tobyte', 'tochar', 'todouble', 'tofloat', 'toint', 'tolong',
        -            'toshort', 'tostring', 'translate', 'trunc', 'upper',
        -            'verify', 'word', 'wordindex', 'wordlength', 'wordpos',
        -            'words', 'x2b', 'x2c', 'x2d'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '<', '>', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':',
        -        '<', '>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #ff0000; font-weight: bold;',
        -            3 => 'color: #00ff00; font-weight: bold;',
        -            4 => 'color: #0000ff; font-weight: bold;',
        -            5 => 'color: #880088; font-weight: bold;',
        -            6 => 'color: #888800; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666;',
        -            'MULTI' => 'color: #808080;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/newlisp.php b/vendor/easybook/geshi/geshi/newlisp.php
        deleted file mode 100644
        index 2e06474..0000000
        --- a/vendor/easybook/geshi/geshi/newlisp.php
        +++ /dev/null
        @@ -1,190 +0,0 @@
        - 'newlisp',
        -    'COMMENT_SINGLE' => array(1 => ';', 2 => '#'),
        -    'COMMENT_MULTI' => array('[text]' => '[/text]', '{' => '}'), // also used for strings
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'NUMBERS' => GESHI_NUMBER_INT_BASIC |  GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'TAB_WIDTH' => 2,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'NaN?','abort','abs','acos','acosh','add','address','amb','and',
        -            'append','append-file','apply','args','array','array-list','array?',
        -            'asin','asinh','assoc','atan','atan2','atanh','atom?','base64-dec',
        -            'base64-enc','bayes-query','bayes-train','begin','beta','betai',
        -            'bind','binomial','bits','callback','case','catch','ceil',
        -            'change-dir','char','chop','clean','close','command-event','cond',
        -            'cons','constant','context','context?','copy','copy-file','cos',
        -            'cosh','count','cpymem','crc32','crit-chi2','crit-z','current-line',
        -            'curry','date','date-value','debug','dec','def-new','default',
        -            'define','define-macro','delete','delete-file','delete-url',
        -            'destroy','det','device','difference','directory','directory?',
        -            'div','do-until','do-while','doargs','dolist','dostring','dotimes',
        -            'dotree','dump','dup','empty?','encrypt','ends-with','env','erf',
        -            'error-event','estack','eval','eval-string','exec','exists','exit',
        -            'exp','expand','explode','factor','fft','file-info','file?',
        -            'filter','find','find-all','first','flat','float','float?','floor',
        -            'flt','for','for-all','fork','format','fv','gammai','gammaln','gcd',
        -            'get-char','get-float','get-int','get-long','get-string','get-url',
        -            'global','global?','if','if-not','ifft','import','inc','index',
        -            'inf?','int','integer','integer?','intersect','invert','irr','join',
        -            'lambda','lambda?','last','last-error','legal?','length','let',
        -            'letex','letn','list','list?','load','local','log','lookup',
        -            'lower-case','macro?','main-args','make-dir','map','mat','match',
        -            'max','member','min','mod','mul','multiply','name','net-accept',
        -            'net-close','net-connect','net-error','net-eval','net-interface',
        -            'net-listen','net-local','net-lookup','net-peek','net-peer',
        -            'net-ping','net-receive','net-receive-from','net-receive-udp',
        -            'net-select','net-send','net-send-to','net-send-udp','net-service',
        -            'net-sessions','new','nil','nil?','normal','not','now','nper','npv',
        -            'nth','null?','number?','open','or','pack','parse','parse-date',
        -            'peek','pipe','pmt','pop','pop-assoc','post-url','pow',
        -            'pretty-print','primitive?','print','println','prob-chi2','prob-z',
        -            'process','prompt-event','protected?','push','put-url','pv','quote',
        -            'quote?','rand','random','randomize','read-buffer','read-char',
        -            'read-expr','read-file','read-key','read-line','read-utf8',
        -            'real-path','receive','ref','ref-all','regex','regex-comp',
        -            'remove-dir','rename-file','replace','reset','rest','reverse',
        -            'rotate','round','save','search','seed','seek','select','semaphore',
        -            'send','sequence','series','set','set-locale','set-ref',
        -            'set-ref-all','setf','setq','sgn','share','signal','silent','sin',
        -            'sinh','sleep','slice','sort','source','spawn','sqrt','starts-with',
        -            'string','string?','sub','swap','sym','symbol?','symbols','sync',
        -            'sys-error','sys-info','tan','tanh','throw','throw-error','time',
        -            'time-of-day','timer','title-case','trace','trace-highlight',
        -            'transpose','trim','true','true?','unicode','unify','unique',
        -            'unless','unpack','until','upper-case','utf8','utf8len','uuid',
        -            'wait-pid','when','while','write-buffer','write-char','write-file',
        -            'write-line','xfer-event','xml-error','xml-parse','xml-type-tags',
        -            'zero?'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array(
        -            '(', ')','\''
        -            ),
        -        1 => array(
        -            '!','!=','$','%','&','*','+','-','/',':',
        -            '<','<<','<=','=','>','>=','>>','^','|'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000AA;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #00aa00; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #777700;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #AA0000;',
        -            1 => 'color: #0000AA;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #00aa00;',
        -            1 => 'color: #00aa00;',
        -            2 => 'color: #00aa00;',
        -            3 => 'color: #00aa00;',
        -            4 => 'color: #00aa00;',
        -            5 => 'color: #AA0000;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://www.newlisp.org/downloads/newlisp_manual.html#{FNAME}'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(':'),
        -    'REGEXPS' => array(
        -        // tags in newlispdoc
        -        0 => "\s+@\S*?\s+",
        -        // dollar sign symbols
        -        1 => "[\\$]\w*",
        -        // curly-braced string literals
        -        2 => "{[^{}]*?}",
        -        // [text] multi-line strings
        -        3 => "(?s)\[text\].*\[\/text\](?-s)",
        -        // [code] multi-line blocks
        -        4 => "(?s)\[code\].*\[\/code\](?-s)",
        -        // variable references
        -        5 => "'[\w\-]+"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'OOLANG' => array(
        -            'MATCH_AFTER' => '[a-zA-Z][a-zA-Z0-9_\-]*'
        -            ),
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => '(?<=[^\w\-])',
        -            )
        -        ),
        -
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/nginx.php b/vendor/easybook/geshi/geshi/nginx.php
        deleted file mode 100644
        index 0d4fe3b..0000000
        --- a/vendor/easybook/geshi/geshi/nginx.php
        +++ /dev/null
        @@ -1,868 +0,0 @@
        - 'nginx',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array( // core module
        -            // http://wiki.nginx.org/CoreModule
        -            // http://nginx.org/en/docs/ngx_core_module.html
        -            'daemon',
        -            'debug_points',
        -            'env',
        -            'error_log',
        -            'events',
        -            'include',
        -            'lock_file',
        -            'master_process',
        -            'pcre_jit',
        -            'pid',
        -            'ssl_engine',
        -            'timer_resolution',
        -            'user',
        -            'worker_cpu_affinity',
        -            'worker_priority',
        -            'worker_processes',
        -            'worker_rlimit_core',
        -            'worker_rlimit_nofile',
        -            'worker_rlimit_sigpending',
        -            'working_directory',
        -            // see EventsModule due to organization of wiki
        -            //'accept_mutex',
        -            //'accept_mutex_delay',
        -            //'debug_connection',
        -            //'multi_accept',
        -            //'use',
        -            //'worker_connections',
        -            ),
        -        2 => array( // events module
        -            // http://wiki.nginx.org/EventsModule
        -            // http://nginx.org/en/docs/ngx_core_module.html
        -            'accept_mutex',
        -            'accept_mutex_delay',
        -            'debug_connection',
        -            'devpoll_changes',
        -            'devpoll_events',
        -            'kqueue_changes',
        -            'kqueue_events',
        -            'epoll_events',
        -            'multi_accept',
        -            'rtsig_signo',
        -            'rtsig_overflow_events',
        -            'rtsig_overflow_test',
        -            'rtsig_overflow_threshold',
        -            'use',
        -            'worker_connections',
        -            ),
        -        3 => array( // http module
        -            // http://wiki.nginx.org/HttpCoreModule
        -            // http://nginx.org/en/docs/http/ngx_http_core_module.html
        -            'aio',
        -            'alias',
        -            'chunked_transfer_encoding',
        -            'client_body_buffer_size',
        -            'client_body_in_file_only',
        -            'client_body_in_single_buffer',
        -            'client_body_temp_path',
        -            'client_body_timeout',
        -            'client_header_buffer_size',
        -            'client_header_timeout',
        -            'client_max_body_size',
        -            'connection_pool_size',
        -            'default_type',
        -            'directio',
        -            'directio_alignment',
        -            'disable_symlinks',
        -            'error_page',
        -            'etag',
        -            'http',
        -            'if_modified_since',
        -            'ignore_invalid_headers',
        -            'internal',
        -            'keepalive_disable',
        -            'keepalive_requests',
        -            'keepalive_timeout',
        -            'large_client_header_buffers',
        -            'limit_except',
        -            'limit_rate',
        -            'limit_rate_after',
        -            'lingering_close',
        -            'lingering_time',
        -            'lingering_timeout',
        -            'listen',
        -            'location',
        -            'log_not_found',
        -            'log_subrequest',
        -            'max_ranges',
        -            'merge_slashes',
        -            'msie_padding',
        -            'msie_refresh',
        -            'open_file_cache',
        -            'open_file_cache_errors',
        -            'open_file_cache_min_uses',
        -            'open_file_cache_valid',
        -            'optimize_server_names',
        -            'port_in_redirect',
        -            'postpone_output',
        -            'read_ahead',
        -            'recursive_error_pages',
        -            'request_pool_size',
        -            'reset_timedout_connection',
        -            'resolver',
        -            'resolver_timeout',
        -            'root',
        -            'satisfy',
        -            'satisfy_any',
        -            'send_lowat',
        -            'send_timeout',
        -            'sendfile',
        -            'sendfile_max_chunk',
        -            'server',
        -            'server_name',
        -            'server_name_in_redirect',
        -            'server_names_hash_bucket_size',
        -            'server_names_hash_max_size',
        -            'server_tokens',
        -            'tcp_nodelay',
        -            'tcp_nopush',
        -            'try_files',
        -            'types',
        -            'types_hash_bucket_size',
        -            'types_hash_max_size',
        -            'underscores_in_headers',
        -            'variables_hash_bucket_size',
        -            'variables_hash_max_size',
        -            ),
        -        4 => array( // upstream module
        -            // http://wiki.nginx.org/HttpUpstreamModule
        -            // http://nginx.org/en/docs/http/ngx_http_upstream_module.html
        -            'ip_hash',
        -            'keepalive',
        -            'least_conn',
        -            // Use the documentation from the core module since every conf will have at least one of those.
        -            //'server',
        -            'upstream',
        -            ),
        -        5 => array( // access module
        -            // http://wiki.nginx.org/HttpAccessModule
        -            // http://nginx.org/en/docs/http/ngx_http_access_module.html
        -            'deny',
        -            'allow',
        -            ),
        -        6 => array( // auth basic module
        -            // http://wiki.nginx.org/HttpAuthBasicModule
        -            // http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html
        -            'auth_basic',
        -            'auth_basic_user_file'
        -            ),
        -        7 => array( // auto index module
        -            // http://wiki.nginx.org/HttpAutoindexModule
        -            // http://nginx.org/en/docs/http/ngx_http_autoindex_module.html
        -            'autoindex',
        -            'autoindex_exact_size',
        -            'autoindex_localtime',
        -            ),
        -        8 => array( // browser module
        -            // http://wiki.nginx.org/HttpBrowserModule
        -            // http://nginx.org/en/docs/http/ngx_http_browser_module.html
        -            'ancient_browser',
        -            'ancient_browser_value',
        -            'modern_browser',
        -            'modern_browser_value',
        -            ),
        -        9 => array( // charset module
        -            // http://wiki.nginx.org/HttpCharsetModule
        -            // http://nginx.org/en/docs/http/ngx_http_charset_module.html
        -            'charset',
        -            'charset_map',
        -            'charset_types',
        -            'override_charset',
        -            'source_charset',
        -            ),
        -        10 => array( // empty gif module
        -            // http://wiki.nginx.org/HttpEmptyGifModule
        -            // http://nginx.org/en/docs/http/ngx_http_empty_gif_module.html
        -            'empty_gif',
        -            ),
        -        11 => array( // fastcgi module
        -            // http://wiki.nginx.org/HttpFastcgiModule
        -            // http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html
        -            'fastcgi_bind',
        -            'fastcgi_buffer_size',
        -            'fastcgi_buffers',
        -            'fastcgi_busy_buffers_size',
        -            'fastcgi_cache',
        -            'fastcgi_cache_bypass',
        -            'fastcgi_cache_key',
        -            'fastcgi_cache_lock',
        -            'fastcgi_cache_lock_timeout',
        -            'fastcgi_cache_methods',
        -            'fastcgi_cache_min_uses',
        -            'fastcgi_cache_path',
        -            'fastcgi_cache_use_stale',
        -            'fastcgi_cache_valid',
        -            'fastcgi_connect_timeout',
        -            'fastcgi_hide_header',
        -            'fastcgi_ignore_client_abort',
        -            'fastcgi_ignore_headers',
        -            'fastcgi_index',
        -            'fastcgi_intercept_errors',
        -            'fastcgi_keep_conn',
        -            'fastcgi_max_temp_file_size',
        -            'fastcgi_next_upstream',
        -            'fastcgi_no_cache',
        -            'fastcgi_param',
        -            'fastcgi_pass',
        -            'fastcgi_pass_header',
        -            'fastcgi_pass_request_body',
        -            'fastcgi_pass_request_headers',
        -            'fastcgi_read_timeout',
        -            'fastcgi_redirect_errors',
        -            'fastcgi_send_timeout',
        -            'fastcgi_split_path_info',
        -            'fastcgi_store',
        -            'fastcgi_store_access',
        -            'fastcgi_temp_file_write_size',
        -            'fastcgi_temp_path',
        -            ),
        -        12 => array( // geo module
        -            // http://wiki.nginx.org/HttpGeoModule
        -            // http://nginx.org/en/docs/http/ngx_http_geo_module.html
        -            'geo'
        -            ),
        -        13 => array( // gzip module
        -            // http://wiki.nginx.org/HttpGzipModule
        -            // http://nginx.org/en/docs/http/ngx_http_gzip_module.html
        -            'gzip',
        -            'gzip_buffers',
        -            'gzip_comp_level',
        -            'gzip_disable',
        -            'gzip_min_length',
        -            'gzip_http_version',
        -            'gzip_proxied',
        -            'gzip_types',
        -            'gzip_vary',
        -            ),
        -        14 => array( // headers module
        -            // http://wiki.nginx.org/HttpHeadersModule
        -            // http://nginx.org/en/docs/http/ngx_http_headers_module.html
        -            'add_header',
        -            'expires',
        -            ),
        -        15 => array( // index module
        -            // http://wiki.nginx.org/HttpIndexModule
        -            // http://nginx.org/en/docs/http/ngx_http_index_module.html
        -            'index',
        -            ),
        -        16 => array( // limit requests module
        -            // http://wiki.nginx.org/HttpLimitReqModule
        -            // http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
        -            'limit_req',
        -            'limit_req_log_level',
        -            'limit_req_zone',
        -            ),
        -        17 => array( // referer module
        -            // http://wiki.nginx.org/HttpRefererModule
        -            // http://nginx.org/en/docs/http/ngx_http_referer_module.html
        -            'referer_hash_bucket_size',
        -            'referer_hash_max_size',
        -            'valid_referers',
        -            ),
        -        18 => array( // limit zone module
        -            // deprecated in 1.1.8
        -            // http://wiki.nginx.org/HttpLimitZoneModule
        -            'limit_zone',
        -            // Covered by documentation for ngx_http_limit_conn_module
        -            //'limit_conn',
        -            ),
        -        19 => array( // limit connection module
        -            // http://wiki.nginx.org/HttpLimitConnModule
        -            // http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html
        -            'limit_conn',
        -            'limit_conn_zone',
        -            'limit_conn_log_level',
        -            ),
        -        20 => array( // log module
        -            // http://wiki.nginx.org/HttpLogModule
        -            // http://nginx.org/en/docs/http/ngx_http_log_module.html
        -            'access_log',
        -            'log_format',
        -            // Appears to be deprecated
        -            'log_format_combined',
        -            'open_log_file_cache',
        -            ),
        -        21 => array( // map module
        -            // http://wiki.nginx.org/HttpMapModule
        -            // http://nginx.org/en/docs/http/ngx_http_map_module.html
        -            'map',
        -            'map_hash_max_size',
        -            'map_hash_bucket_size',
        -            ),
        -        22 => array( // memcached module
        -            // http://wiki.nginx.org/HttpMemcachedModule
        -            // http://nginx.org/en/docs/http/ngx_http_memcached_module.html
        -            'memcached_buffer_size',
        -            'memcached_connect_timeout',
        -            'memcached_next_upstream',
        -            'memcached_pass',
        -            'memcached_read_timeout',
        -            'memcached_send_timeout',
        -            ),
        -        23 => array( // proxy module
        -            // http://wiki.nginx.org/HttpProxyModule
        -            // http://nginx.org/en/docs/http/ngx_http_proxy_module.html
        -            'proxy_bind',
        -            'proxy_buffer_size',
        -            'proxy_buffering',
        -            'proxy_buffers',
        -            'proxy_busy_buffers_size',
        -            'proxy_cache',
        -            'proxy_cache_bypass',
        -            'proxy_cache_key',
        -            'proxy_cache_lock',
        -            'proxy_cache_lock_timeout',
        -            'proxy_cache_methods',
        -            'proxy_cache_min_uses',
        -            'proxy_cache_path',
        -            'proxy_cache_use_stale',
        -            'proxy_cache_valid',
        -            'proxy_connect_timeout',
        -            'proxy_cookie_domain',
        -            'proxy_cookie_path',
        -            'proxy_headers_hash_bucket_size',
        -            'proxy_headers_hash_max_size',
        -            'proxy_hide_header',
        -            'proxy_http_version',
        -            'proxy_ignore_client_abort',
        -            'proxy_ignore_headers',
        -            'proxy_intercept_errors',
        -            'proxy_max_temp_file_size',
        -            'proxy_method',
        -            'proxy_next_upstream',
        -            'proxy_no_cache',
        -            'proxy_pass',
        -            'proxy_pass_header',
        -            'proxy_pass_request_body',
        -            'proxy_pass_request_headers',
        -            'proxy_redirect',
        -            'proxy_read_timeout',
        -            'proxy_redirect_errors',
        -            'proxy_send_lowat',
        -            'proxy_send_timeout',
        -            'proxy_set_body',
        -            'proxy_set_header',
        -            'proxy_ssl_session_reuse',
        -            'proxy_store',
        -            'proxy_store_access',
        -            'proxy_temp_file_write_size',
        -            'proxy_temp_path',
        -            'proxy_upstream_fail_timeout',
        -            'proxy_upstream_max_fails',
        -            ),
        -        24 => array( // rewrite module
        -            // http://wiki.nginx.org/HttpRewriteModule
        -            // http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
        -            'break',
        -            'if',
        -            'return',
        -            'rewrite',
        -            'rewrite_log',
        -            'set',
        -            'uninitialized_variable_warn',
        -            ),
        -        25 => array( // ssi module
        -            // http://wiki.nginx.org/HttpSsiModule
        -            // http://nginx.org/en/docs/http/ngx_http_ssi_module.html
        -            'ssi',
        -            'ssi_silent_errors',
        -            'ssi_types',
        -            'ssi_value_length',
        -            ),
        -        26 => array( // user id module
        -            // http://wiki.nginx.org/HttpUseridModule
        -            // http://nginx.org/en/docs/http/ngx_http_userid_module.html
        -            'userid',
        -            'userid_domain',
        -            'userid_expires',
        -            'userid_name',
        -            'userid_p3p',
        -            'userid_path',
        -            'userid_service',
        -            ),
        -        27 => array( // addition module
        -            // http://wiki.nginx.org/HttpAdditionModule
        -            // http://nginx.org/en/docs/http/ngx_http_addition_module.html
        -            'add_before_body',
        -            'add_after_body',
        -            'addition_types',
        -            ),
        -        28 => array( // embedded Perl module
        -            // http://wiki.nginx.org/HttpPerlModule
        -            // http://nginx.org/en/docs/http/ngx_http_perl_module.html
        -            'perl',
        -            'perl_modules',
        -            'perl_require',
        -            'perl_set',
        -            ),
        -        29 => array( // flash video files module
        -            // http://wiki.nginx.org/HttpFlvModule
        -            // http://nginx.org/en/docs/http/ngx_http_flv_module.html
        -            'flv',
        -            ),
        -        30 => array( // gzip precompression module
        -            // http://wiki.nginx.org/HttpGzipStaticModule
        -            // http://nginx.org/en/docs/http/ngx_http_gzip_static_module.html
        -            'gzip_static',
        -            // Removed to remove duplication with ngx_http_gzip_module
        -            //'gzip_http_version',
        -            //'gzip_proxied',
        -            //'gzip_disable',
        -            //'gzip_vary',
        -            ),
        -        31 => array( // random index module
        -            // http://wiki.nginx.org/HttpRandomIndexModule
        -            // http://nginx.org/en/docs/http/ngx_http_random_index_module.html
        -            'random_index',
        -            ),
        -        32 => array( // real ip module
        -            // http://wiki.nginx.org/HttpRealipModule
        -            // http://nginx.org/en/docs/http/ngx_http_realip_module.html
        -            'set_real_ip_from',
        -            'real_ip_header',
        -            'real_ip_recursive',
        -            ),
        -        33 => array( // https module
        -            // http://wiki.nginx.org/HttpSslModule
        -            // http://nginx.org/en/docs/http/ngx_http_ssl_module.html
        -            'ssl',
        -            'ssl_certificate',
        -            'ssl_certificate_key',
        -            'ssl_ciphers',
        -            'ssl_client_certificate',
        -            'ssl_crl',
        -            'ssl_dhparam',
        -            // Use the documentation for the core module since it links to the
        -            // original properly
        -            //'ssl_engine',
        -            'ssl_prefer_server_ciphers',
        -            'ssl_protocols',
        -            'ssl_session_cache',
        -            'ssl_session_timeout',
        -            'ssl_verify_client',
        -            'ssl_verify_depth',
        -            ),
        -        34 => array( // status module
        -            // http://wiki.nginx.org/HttpStubStatusModule
        -            'stub_status',
        -            ),
        -        35 => array( // substitution module
        -            // http://wiki.nginx.org/HttpSubModule
        -            // http://nginx.org/en/docs/http/ngx_http_sub_module.html
        -            'sub_filter',
        -            'sub_filter_once',
        -            'sub_filter_types',
        -            ),
        -        36 => array( // NginxHttpDavModule
        -            // http://wiki.nginx.org/HttpDavModule
        -            // http://nginx.org/en/docs/http/ngx_http_dav_module.html
        -            'dav_access',
        -            'dav_methods',
        -            'create_full_put_path',
        -            'min_delete_depth',
        -            ),
        -        37 => array( // Google performance tools module
        -            // http://wiki.nginx.org/GooglePerftoolsModule
        -            'google_perftools_profiles',
        -            ),
        -        38 => array( // xslt module
        -            // http://wiki.nginx.org/HttpXsltModule
        -            // http://nginx.org/en/docs/http/ngx_http_xslt_module.html
        -            'xslt_entities',
        -            'xslt_param',
        -            'xslt_string_param',
        -            'xslt_stylesheet',
        -            'xslt_types',
        -            ),
        -        39 => array( // uWSGI module
        -            // http://wiki.nginx.org/HttpUwsgiModule
        -            'uwsgi_bind',
        -            'uwsgi_buffer_size',
        -            'uwsgi_buffering',
        -            'uwsgi_buffers',
        -            'uwsgi_busy_buffers_size',
        -            'uwsgi_cache',
        -            'uwsgi_cache_bypass',
        -            'uwsgi_cache_key',
        -            'uwsgi_cache_lock',
        -            'uwsgi_cache_lock_timeout',
        -            'uwsgi_cache_methods',
        -            'uwsgi_cache_min_uses',
        -            'uwsgi_cache_path',
        -            'uwsgi_cache_use_stale',
        -            'uwsgi_cache_valid',
        -            'uwsgi_connect_timeout',
        -            'uwsgi_hide_header',
        -            'uwsgi_ignore_client_abort',
        -            'uwsgi_ignore_headers',
        -            'uwsgi_intercept_errors',
        -            'uwsgi_max_temp_file_size',
        -            'uwsgi_modifier',
        -            'uwsgi_next_upstream',
        -            'uwsgi_no_cache',
        -            'uwsgi_param',
        -            'uwsgi_pass',
        -            'uwsgi_pass_header',
        -            'uwsgi_pass_request_body',
        -            'uwsgi_pass_request_headers',
        -            'uwsgi_read_timeout',
        -            'uwsgi_send_timeout',
        -            'uwsgi_store',
        -            'uwsgi_store_access',
        -            'uwsgi_string',
        -            'uwsgi_temp_file_write_size',
        -            'uwsgi_temp_path',
        -            ),
        -        40 => array( // SCGI module
        -            // http://wiki.nginx.org/HttpScgiModule
        -            // Note: These directives were pulled from nginx 1.2.3
        -            //       ngx_http_scgi_module.c source file.
        -            'scgi_bind',
        -            'scgi_buffering',
        -            'scgi_buffers',
        -            'scgi_buffer_size',
        -            'scgi_busy_buffers_size',
        -            'scgi_cache',
        -            'scgi_cache_bypass',
        -            'scgi_cache_key',
        -            'scgi_cache_lock',
        -            'scgi_cache_lock_timeout',
        -            'scgi_cache_methods',
        -            'scgi_cache_min_uses',
        -            'scgi_cache_path',
        -            'scgi_cache_use_stale',
        -            'scgi_cache_valid',
        -            'scgi_connect_timeout',
        -            'scgi_hide_header',
        -            'scgi_ignore_client_abort',
        -            'scgi_ignore_headers',
        -            'scgi_intercept_errors',
        -            'scgi_max_temp_file_size',
        -            'scgi_next_upstream',
        -            'scgi_no_cache',
        -            'scgi_param',
        -            'scgi_pass',
        -            'scgi_pass_header',
        -            'scgi_pass_request_body',
        -            'scgi_pass_request_headers',
        -            'scgi_read_timeout',
        -            'scgi_send_timeout',
        -            'scgi_store',
        -            'scgi_store_access',
        -            'scgi_temp_file_write_size',
        -            'scgi_temp_path',
        -            ),
        -        41 => array( // split clients module
        -            // http://wiki.nginx.org/HttpSplitClientsModule
        -            // http://nginx.org/en/docs/http/ngx_http_split_clients_module.html
        -            'split_clients',
        -            ),
        -        42 => array( // X-Accel module
        -            // http://wiki.nginx.org/X-accel
        -            'X-Accel-Redirect',
        -            'X-Accel-Buffering',
        -            'X-Accel-Charset',
        -            'X-Accel-Expires',
        -            'X-Accel-Limit-Rate',
        -            ),
        -        43 => array( // degradation module
        -            // http://wiki.nginx.org/HttpDegradationModule
        -            'degradation',
        -            'degrade',
        -            ),
        -        44 => array( // GeoIP module
        -            // http://wiki.nginx.org/HttpGeoipModule
        -            // http://nginx.org/en/docs/http/ngx_http_geoip_module.html
        -            'geoip_country',
        -            'geoip_city',
        -            'geoip_proxy',
        -            'geoip_proxy_recursive',
        -            ),
        -        45 => array( // Image filter module
        -            // http://wiki.nginx.org/HttpImageFilterModule
        -            // http://nginx.org/en/docs/http/ngx_http_image_filter_module.html
        -            'image_filter',
        -            'image_filter_buffer',
        -            'image_filter_jpeg_quality',
        -            'image_filter_sharpen',
        -            'image_filter_transparency',
        -            ),
        -        46 => array( // MP4 module
        -            // http://wiki.nginx.org/HttpMp4Module
        -            // http://nginx.org/en/docs/http/ngx_http_mp4_module.html
        -            'mp4',
        -            'mp4_buffer_size',
        -            'mp4_max_buffer_size',
        -            ),
        -        47 => array( // Secure Link module
        -            // http://wiki.nginx.org/HttpSecureLinkModule
        -            // http://nginx.org/en/docs/http/ngx_http_secure_link_module.html
        -            'secure_link',
        -            'secure_link_md',
        -            'secure_link_secret',
        -            ),
        -        48 => array( // Mail Core module
        -            // http://wiki.nginx.org/MailCoreModule
        -            'auth',
        -            'imap_capabilities',
        -            'imap_client_buffer',
        -            'pop_auth',
        -            'pop_capabilities',
        -            'protocol',
        -            'smtp_auth',
        -            'smtp_capabilities',
        -            'so_keepalive',
        -            'timeout',
        -            // Removed to prioritize documentation for core module
        -            //'listen',
        -            //'server',
        -            //'server_name',
        -            ),
        -        49 => array( // Mail Auth module
        -            // http://wiki.nginx.org/MailAuthModule
        -            'auth_http',
        -            'auth_http_header',
        -            'auth_http_timeout',
        -            ),
        -        50 => array( // Mail Proxy module
        -            // http://wiki.nginx.org/MailProxyModule
        -            'proxy',
        -            'proxy_buffer',
        -            'proxy_pass_error_message',
        -            'proxy_timeout',
        -            'xclient',
        -            ),
        -        51 => array( // Mail SSL module
        -            // http://wiki.nginx.org/MailSslModule
        -            // Removed to prioritize documentation for http
        -            //'ssl',
        -            //'ssl_certificate',
        -            //'ssl_certificate_key',
        -            //'ssl_ciphers',
        -            //'ssl_prefer_server_ciphers',
        -            //'ssl_protocols',
        -            //'ssl_session_cache',
        -            //'ssl_session_timeout',
        -            'starttls',
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '=', '~', ';'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true,
        -        9 => true,
        -        10 => true,
        -        11 => true,
        -        12 => true,
        -        13 => true,
        -        14 => true,
        -        15 => true,
        -        16 => true,
        -        17 => true,
        -        18 => true,
        -        19 => true,
        -        20 => true,
        -        21 => true,
        -        22 => true,
        -        23 => true,
        -        24 => true,
        -        25 => true,
        -        26 => true,
        -        27 => true,
        -        28 => true,
        -        29 => true,
        -        30 => true,
        -        31 => true,
        -        32 => true,
        -        33 => true,
        -        34 => true,
        -        35 => true,
        -        36 => true,
        -        37 => true,
        -        38 => true,
        -        39 => true,
        -        40 => true,
        -        41 => true,
        -        42 => true,
        -        43 => true,
        -        44 => true,
        -        45 => true,
        -        46 => true,
        -        47 => true,
        -        48 => true,
        -        49 => true,
        -        50 => true,
        -        51 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;',
        -            4 => 'color: #993333;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #000066;',
        -            4 => 'color: #000000; font-weight: bold;',
        -        ),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(
        -        1 => 'http://wiki.nginx.org/CoreModule#{FNAME}',
        -        2 => 'http://wiki.nginx.org/NginxHttpEventsModule#{FNAME}',
        -        3 => 'http://wiki.nginx.org/NginxHttpCoreModule#{FNAME}',
        -        4 => 'http://wiki.nginx.org/NginxHttpUpstreamModule#{FNAME}',
        -        5 => 'http://wiki.nginx.org/NginxHttpAccessModule#{FNAME}',
        -        6 => 'http://wiki.nginx.org/NginxHttpAuthBasicModule#{FNAME}',
        -        7 => 'http://wiki.nginx.org/NginxHttpAutoIndexModule#{FNAME}',
        -        8 => 'http://wiki.nginx.org/NginxHttpBrowserModule#{FNAME}',
        -        9 => 'http://wiki.nginx.org/NginxHttpCharsetModule#{FNAME}',
        -        10 => 'http://wiki.nginx.org/NginxHttpEmptyGifModule#{FNAME}',
        -        11 => 'http://wiki.nginx.org/NginxHttpFcgiModule#{FNAME}',
        -        12 => 'http://wiki.nginx.org/NginxHttpGeoModule#{FNAME}',
        -        13 => 'http://wiki.nginx.org/NginxHttpGzipModule#{FNAME}',
        -        14 => 'http://wiki.nginx.org/NginxHttpHeadersModule#{FNAME}',
        -        15 => 'http://wiki.nginx.org/NginxHttpIndexModule#{FNAME}',
        -        16 => 'http://wiki.nginx.org/HttpLimitReqModule#{FNAME}',
        -        17 => 'http://wiki.nginx.org/NginxHttpRefererModule#{FNAME}',
        -        18 => 'http://wiki.nginx.org/NginxHttpLimitZoneModule#{FNAME}',
        -        19 => 'http://wiki.nginx.org/HttpLimitConnModule#{FNAME}',
        -        20 => 'http://wiki.nginx.org/NginxHttpLogModule#{FNAME}',
        -        21 => 'http://wiki.nginx.org/NginxHttpMapModule#{FNAME}',
        -        22 => 'http://wiki.nginx.org/NginxHttpMemcachedModule#{FNAME}',
        -        23 => 'http://wiki.nginx.org/NginxHttpProxyModule#{FNAME}',
        -        24 => 'http://wiki.nginx.org/NginxHttpRewriteModule#{FNAME}',
        -        25 => 'http://wiki.nginx.org/NginxHttpSsiModule#{FNAME}',
        -        26 => 'http://wiki.nginx.org/NginxHttpUserIdModule#{FNAME}',
        -        27 => 'http://wiki.nginx.org/NginxHttpAdditionModule#{FNAME}',
        -        28 => 'http://wiki.nginx.org/NginxHttpEmbeddedPerlModule#{FNAME}',
        -        29 => 'http://wiki.nginx.org/NginxHttpFlvStreamModule#{FNAME}',
        -        30 => 'http://wiki.nginx.org/NginxHttpGzipStaticModule#{FNAME}',
        -        31 => 'http://wiki.nginx.org/NginxHttpRandomIndexModule#{FNAME}',
        -        32 => 'http://wiki.nginx.org/NginxHttpRealIpModule#{FNAME}',
        -        33 => 'http://wiki.nginx.org/NginxHttpSslModule#{FNAME}',
        -        34 => 'http://wiki.nginx.org/NginxHttpStubStatusModule#{FNAME}',
        -        35 => 'http://wiki.nginx.org/NginxHttpSubModule#{FNAME}',
        -        36 => 'http://wiki.nginx.org/NginxHttpDavModule#{FNAME}',
        -        37 => 'http://wiki.nginx.org/NginxHttpGooglePerfToolsModule#{FNAME}',
        -        38 => 'http://wiki.nginx.org/NginxHttpXsltModule#{FNAME}',
        -        39 => 'http://wiki.nginx.org/NginxHttpUwsgiModule#{FNAME}',
        -        40 => 'http://wiki.nginx.org/HttpScgiModule',
        -        41 => 'http://wiki.nginx.org/HttpSplitClientsModule#{FNAME}',
        -        42 => 'http://wiki.nginx.org/X-accel#{FNAME}',
        -        43 => 'http://wiki.nginx.org/HttpDegradationModule#{FNAME}',
        -        44 => 'http://wiki.nginx.org/HttpGeoipModule#{FNAME}',
        -        45 => 'http://wiki.nginx.org/HttpImageFilterModule#{FNAME}',
        -        46 => 'http://wiki.nginx.org/HttpMp4Module#{FNAME}',
        -        47 => 'http://wiki.nginx.org/HttpSecureLinkModule#{FNAME}',
        -        48 => 'http://wiki.nginx.org/MailCoreModule#{FNAME}',
        -        49 => 'http://wiki.nginx.org/MailAuthModule#{FNAME}',
        -        50 => 'http://wiki.nginx.org/MailProxyModule#{FNAME}',
        -        51 => 'http://wiki.nginx.org/MailSslModule#{FNAME}',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
        -        4 => '<[a-zA-Z_][a-zA-Z0-9_]*>',
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        diff --git a/vendor/easybook/geshi/geshi/nsis.php b/vendor/easybook/geshi/geshi/nsis.php
        deleted file mode 100644
        index 29ba952..0000000
        --- a/vendor/easybook/geshi/geshi/nsis.php
        +++ /dev/null
        @@ -1,349 +0,0 @@
        - 'NSIS',
        -    'COMMENT_SINGLE' => array(1 => ';', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'",'"','`'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            '!appendfile', '!addIncludeDir', '!addplugindir', '!cd', '!define', '!delfile', '!echo', '!else',
        -            '!endif', '!error', '!execute', '!ifdef', '!ifmacrodef', '!ifmacrondef', '!ifndef', '!include',
        -            '!insertmacro', '!macro', '!macroend', '!packhdr', '!tempfile', '!system', '!undef', '!verbose',
        -            '!warning'
        -            ),
        -        2 => array(
        -            'AddBrandingImage', 'AllowRootDirInstall', 'AutoCloseWindow', 'BGFont',
        -            'BGGradient', 'BrandingText', 'Caption', 'ChangeUI', 'CheckBitmap', 'CompletedText', 'ComponentText',
        -            'CRCCheck', 'DetailsButtonText', 'DirShow', 'DirText', 'DirVar', 'DirVerify', 'FileErrorText',
        -            'Function', 'FunctionEnd', 'Icon', 'InstallButtonText', 'InstallColors', 'InstallDir',
        -            'InstallDirRegKey', 'InstProgressFlags', 'InstType', 'LangString', 'LangStringUP', 'LicenseBkColor',
        -            'LicenseData', 'LicenseForceSelection', 'LicenseLangString', 'LicenseText', 'LoadLanguageFile',
        -            'MiscButtonText', 'Name', 'OutFile', 'Page', 'PageEx', 'PageExEnd', 'Section',
        -            'SectionEnd', 'SectionGroup', 'SectionGroupEnd', 'SetCompressor', 'SetFont', 'ShowInstDetails',
        -            'ShowUninstDetails', 'SilentInstall', 'SilentUnInstall', 'SpaceTexts', 'SubCaption', 'SubSection',
        -            'SubSectionEnd', 'UninstallButtonText', 'UninstallCaption', 'UninstallIcon', 'UninstallSubCaption',
        -            'UninstallText', 'UninstPage', 'Var', 'VIAddVersionKey', 'VIProductVersion', 'WindowIcon', 'XPStyle'
        -            ),
        -        3 => array(
        -            'AddSize', 'AllowSkipFiles', 'FileBufSize', 'GetInstDirError', 'PageCallbacks',
        -            'SectionIn', 'SetCompress', 'SetCompressionLevel', 'SetCompressorDictSize',
        -            'SetDatablockOptimize', 'SetDateSave', 'SetOverwrite', 'SetPluginUnload'
        -            ),
        -        4 => array(
        -            'Abort', 'BringToFront', 'Call', 'CallInstDLL', 'ClearErrors', 'CopyFiles','CreateDirectory',
        -            'CreateFont', 'CreateShortCut', 'Delete', 'DeleteINISec', 'DeleteINIStr', 'DeleteRegKey',
        -            'DeleteRegValue', 'DetailPrint', 'EnableWindow', 'EnumRegKey', 'EnumRegValue', 'Exch', 'Exec',
        -            'ExecShell', 'ExecWait', 'ExpandEnvStrings', 'File', 'FileClose', 'FileOpen', 'FileRead',
        -            'FileReadByte', 'FileSeek', 'FileWrite', 'FileWriteByte', 'FindClose', 'FindFirst', 'FindNext',
        -            'FindWindow', 'FlushINI', 'GetCurInstType', 'GetCurrentAddress', 'GetDlgItem', 'GetDLLVersion',
        -            'GetDLLVersionLocal', 'GetErrorLevel', 'GetFileTime', 'GetFileTimeLocal', 'GetFullPathName',
        -            'GetFunctionAddress', 'GetLabelAddress', 'GetTempFileName', 'GetWindowText', 'Goto', 'HideWindow',
        -            'IfAbort', 'IfErrors', 'IfFileExists', 'IfRebootFlag', 'IfSilent', 'InitPluginsDir', 'InstTypeGetText',
        -            'InstTypeSetText', 'IntCmp', 'IntCmpU', 'IntFmt', 'IntOp', 'IsWindow', 'LockWindow', 'LogSet', 'LogText',
        -            'MessageBox', 'Nop', 'Pop', 'Push', 'Quit', 'ReadEnvStr', 'ReadIniStr', 'ReadRegDWORD', 'ReadRegStr',
        -            'Reboot', 'RegDLL', 'Rename', 'ReserveFile', 'Return', 'RMDir', 'SearchPath', 'SectionGetFlags',
        -            'SectionGetInstTypes', 'SectionGetSize', 'SectionGetText', 'SectionSetFlags', 'SectionSetInstTypes',
        -            'SectionSetSize', 'SectionSetText', 'SendMessage', 'SetAutoClose', 'SetBrandingImage', 'SetCtlColors',
        -            'SetCurInstType', 'SetDetailsPrint', 'SetDetailsView', 'SetErrorLevel', 'SetErrors', 'SetFileAttributes',
        -            'SetOutPath', 'SetRebootFlag', 'SetShellVarContext', 'SetSilent', 'ShowWindow', 'Sleep', 'StrCmp',
        -            'StrCpy', 'StrLen', 'UnRegDLL', 'WriteINIStr', 'WriteRegBin', 'WriteRegDWORD', 'WriteRegExpandStr',
        -            'WriteRegStr', 'WriteUninstaller'
        -            ),
        -        5 => array(
        -            'all', 'alwaysoff', 'ARCHIVE', 'auto', 'both', 'bzip2', 'checkbox', 'components', 'current',
        -            'custom', 'directory', 'false', 'FILE_ATTRIBUTE_ARCHIVE', 'FILE_ATTRIBUTE_HIDDEN', 'FILE_ATTRIBUTE_NORMAL',
        -            'FILE_ATTRIBUTE_OFFLINE', 'FILE_ATTRIBUTE_READONLY', 'FILE_ATTRIBUTE_SYSTEM,TEMPORARY',
        -            'FILE_ATTRIBUTE_TEMPORARY', 'force', 'HIDDEN', 'hide', 'HKCC', 'HKCR', 'HKCU', 'HKDD', 'HKEY_CLASSES_ROOT',
        -            'HKEY_CURRENT_CONFIG', 'HKEY_CURRENT_USER', 'HKEY_DYN_DATA', 'HKEY_LOCAL_MACHINE', 'HKEY_PERFORMANCE_DATA',
        -            'HKEY_USERS', 'HKLM', 'HKPD', 'HKU', 'IDABORT', 'IDCANCEL', 'IDIGNORE', 'IDNO', 'IDOK', 'IDRETRY', 'IDYES',
        -            'ifdiff', 'ifnewer', 'instfiles', 'lastused', 'leave', 'license', 'listonly', 'lzma', 'manual',
        -            'MB_ABORTRETRYIGNORE', 'MB_DEFBUTTON1', 'MB_DEFBUTTON2', 'MB_DEFBUTTON3', 'MB_DEFBUTTON4',
        -            'MB_ICONEXCLAMATION', 'MB_ICONINFORMATION', 'MB_ICONQUESTION', 'MB_ICONSTOP', 'MB_OK', 'MB_OKCANCEL',
        -            'MB_RETRYCANCEL', 'MB_RIGHT', 'MB_SETFOREGROUND', 'MB_TOPMOST', 'MB_YESNO', 'MB_YESNOCANCEL', 'nevershow',
        -            'none', 'normal', 'off', 'OFFLINE', 'on', 'radiobuttons', 'READONLY', 'RO', 'SHCTX', 'SHELL_CONTEXT', 'show',
        -            'silent', 'silentlog', 'SW_HIDE', 'SW_SHOWMAXIMIZED', 'SW_SHOWMINIMIZED', 'SW_SHOWNORMAL', 'SYSTEM',
        -            'textonly', 'true', 'try', 'uninstConfirm', 'zlib'
        -            ),
        -        6 => array(
        -            '/a', '/components', '/COMPONENTSONLYONCUSTOM', '/CUSTOMSTRING', '/e', '/FILESONLY', '/FINAL', '/gray', '/GLOBAL',
        -            '/ifempty', '/IMGID', '/ITALIC', '/lang', '/NOCUSTOM', '/nonfatal', '/NOUNLOAD', '/oname', '/r', '/REBOOTOK',
        -            '/RESIZETOFIT', '/SOLID', '/SD', '/SHORT', '/silent', '/STRIKE', '/TIMEOUT', '/TRIMCENTER', '/TRIMLEFT',
        -            '/TRIMRIGHT', '/UNDERLINE', '/windows', '/x'
        -            ),
        -        7 => array(
        -            '.onGUIEnd', '.onGUIInit', '.onInit', '.onInstFailed', '.onInstSuccess', '.onMouseOverSection',
        -            '.onRebootFailed', '.onSelChange', '.onUserAbort', '.onVerifyInstDir', 'un.onGUIEnd', 'un.onGUIInit',
        -            'un.onInit', 'un.onRebootFailed', 'un.onUninstFailed', 'un.onUninstSuccess', 'un.onUserAbort'
        -            ),
        -        8 => array(
        -            'MUI.nsh', '"${NSISDIR}\Contrib\Modern UI\System.nsh"', 'MUI_SYSVERSION', 'MUI_ICON', 'MUI_UNICON',
        -            'MUI_HEADERIMAGE', 'MUI_HEADERIMAGE_BITMAP', 'MUI_HEADERIMAGE_BITMAP_NOSTRETCH', 'MUI_HEADERIMAGE_BITMAP_RTL',
        -            'MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH', 'MUI_HEADERIMAGE_UNBITMAP', 'MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH',
        -            'MUI_HEADERIMAGE_UNBITMAP_RTL', 'MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH', 'MUI_HEADERIMAGE_RIGHT', 'MUI_BGCOLOR',
        -            'MUI_UI', 'MUI_UI_HEADERIMAGE', 'MUI_UI_HEADERIMAGE_RIGHT', 'MUI_UI_COMPONENTSPAGE_SMALLDESC',
        -            'MUI_UI_COMPONENTSPAGE_NODESC', 'MUI_WELCOMEFINISHPAGE_BITMAP', 'MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH',
        -            'MUI_WELCOMEFINISHPAGE_INI', 'MUI_UNWELCOMEFINISHPAGE_BITMAP', 'MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH',
        -            'MUI_UNWELCOMEFINISHPAGE_INI', 'MUI_LICENSEPAGE_BGCOLOR', 'MUI_COMPONENTSPAGE_CHECKBITMAP',
        -            'MUI_COMPONENTSPAGE_SMALLDESC', 'MUI_COMPONENTSPAGE_NODESC', 'MUI_INSTFILESPAGE_COLORS',
        -            'MUI_INSTFILESPAGE_PROGRESSBAR', 'MUI_FINISHPAGE_NOAUTOCLOSE', 'MUI_UNFINISHPAGE_NOAUTOCLOSE',
        -            'MUI_ABORTWARNING', 'MUI_ABORTWARNING_TEXT', 'MUI_UNABORTWARNING', 'MUI_UNABORTWARNING_TEXT',
        -            'MUI_PAGE_WELCOME', 'MUI_PAGE_LICENSE', 'MUI_PAGE_COMPONENTS', 'MUI_PAGE_DIRECTORY',
        -            'MUI_PAGE_STARTMENU', 'MUI_PAGE_INSTFILES', 'MUI_PAGE_FINISH', 'MUI_UNPAGE_WELCOME',
        -            'MUI_UNPAGE_CONFIRM', 'MUI_UNPAGE_LICENSE', 'MUI_UNPAGE_COMPONENTS', 'MUI_UNPAGE_DIRECTORY',
        -            'MUI_UNPAGE_INSTFILES', 'MUI_UNPAGE_FINISH', 'MUI_PAGE_HEADER_TEXT', 'MUI_PAGE_HEADER_SUBTEXT',
        -            'MUI_WELCOMEPAGE_TITLE', 'MUI_WELCOMEPAGE_TITLE_3LINES', 'MUI_WELCOMEPAGE_TEXT',
        -            'MUI_LICENSEPAGE_TEXT_TOP', 'MUI_LICENSEPAGE_TEXT_BOTTOM', 'MUI_LICENSEPAGE_BUTTON',
        -            'MUI_LICENSEPAGE_CHECKBOX', 'MUI_LICENSEPAGE_CHECKBOX_TEXT', 'MUI_LICENSEPAGE_RADIOBUTTONS',
        -            'MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT', 'MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE',
        -            'MUI_COMPONENTSPAGE_TEXT_TOP', 'MUI_COMPONENTSPAGE_TEXT_COMPLIST', 'MUI_COMPONENTSPAGE_TEXT_INSTTYPE',
        -            'MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE', 'MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO',
        -            'MUI_DIRECTORYPAGE_TEXT_TOP', 'MUI_DIRECTORYPAGE_TEXT_DESTINATION', 'MUI_DIRECTORYPAGE_VARIABLE',
        -            'MUI_DIRECTORYPAGE_VERIFYONLEAVE', 'MUI_STARTMENU_WRITE_BEGIN', 'MUI_STARTMENU_WRITE_END',
        -            'MUI_STARTMENUPAGE_TEXT_TOP', 'MUI_STARTMENUPAGE_TEXT_CHECKBOX', 'MUI_STARTMENUPAGE_DEFAULTFOLDER',
        -            'MUI_STARTMENUPAGE_NODISABLE', 'MUI_STARTMENUPAGE_REGISTRY_ROOT', 'MUI_STARTMENUPAGE_REGISTRY_KEY',
        -            'MUI_STARTMENUPAGE_REGISTRY_VALUENAME', 'MUI_INSTFILESPAGE_FINISHHEADER_TEXT',
        -            'MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT', 'MUI_INSTFILESPAGE_ABORTHEADER_TEXT',
        -            'MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT', 'MUI_FINISHPAGE_TITLE', 'MUI_FINISHPAGE_TITLE_3LINES',
        -            'MUI_FINISHPAGE_TEXT', 'MUI_FINISHPAGE_TEXT_LARGE', 'MUI_FINISHPAGE_BUTTON',
        -            'MUI_FINISHPAGE_TEXT_REBOOT', 'MUI_FINISHPAGE_TEXT_REBOOTNOW', 'MUI_FINISHPAGE_TEXT_REBOOTLATER',
        -            'MUI_FINISHPAGE_RUN', 'MUI_FINISHPAGE_RUN_TEXT', 'MUI_FINISHPAGE_RUN_PARAMETERS',
        -            'MUI_FINISHPAGE_RUN_NOTCHECKED', 'MUI_FINISHPAGE_RUN_FUNCTION', 'MUI_FINISHPAGE_SHOWREADME',
        -            'MUI_FINISHPAGE_SHOWREADME_TEXT', 'MUI_FINISHPAGE_SHOWREADME_NOTCHECKED',
        -            'MUI_FINISHPAGE_SHOWREADME_FUNCTION', 'MUI_FINISHPAGE_LINK', 'MUI_FINISHPAGE_LINK_LOCATION',
        -            'MUI_FINISHPAGE_LINK_COLOR', 'MUI_FINISHPAGE_NOREBOOTSUPPORT', 'MUI_UNCONFIRMPAGE_TEXT_TOP',
        -            'MUI_UNCONFIRMPAGE_TEXT_LOCATION', 'MUI_LANGUAGE', 'MUI_LANGDLL_DISPLAY',
        -            'MUI_LANGDLL_REGISTRY_ROOT', 'MUI_LANGDLL_REGISTRY_KEY', 'MUI_LANGDLL_REGISTRY_VALUENAME',
        -            'MUI_LANGDLL_WINDOWTITLE', 'MUI_LANGDLL_INFO', 'MUI_LANGDLL_ALWAYSSHOW',
        -            'MUI_RESERVEFILE_INSTALLOPTIONS', 'MUI_RESERVEFILE_LANGDLL', 'MUI_FUNCTION_DESCRIPTION_BEGIN',
        -            'MUI_DESCRIPTION_TEXT', 'MUI_FUNCTION_DESCRIPTION_END', 'MUI_INSTALLOPTIONS_EXTRACT',
        -            'MUI_INSTALLOPTIONS_EXTRACT_AS', 'MUI_HEADER_TEXT', 'MUI_INSTALLOPTIONS_DISPLAY',
        -            'MUI_INSTALLOPTIONS_INITDIALOG', 'MUI_INSTALLOPTIONS_SHOW',
        -            'MUI_INSTALLOPTIONS_DISPLAY_RETURN', 'MUI_INSTALLOPTIONS_SHOW_RETURN',
        -            'MUI_INSTALLOPTIONS_READ', 'MUI_INSTALLOPTIONS_WRITE',
        -            'MUI_CUSTOMFUNCTION_GUIINIT', 'MUI_CUSTOMFUNCTION_UNGUIINIT',
        -            'MUI_CUSTOMFUNCTION_ABORT', 'MUI_CUSTOMFUNCTION_UNABORT',
        -            'MUI_PAGE_CUSTOMFUNCTION_PRE', 'MUI_PAGE_CUSTOMFUNCTION_SHOW', 'MUI_PAGE_CUSTOMFUNCTION_LEAVE',
        -            'MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT'
        -            ),
        -        9 => array(
        -            'LogicLib.nsh', '${LOGICLIB}', 'LOGICLIB_STRCMP', 'LOGICLIB_INT64CMP', 'LOGICLIB_SECTIONCMP', '${If}', '${Unless}',
        -            '${ElseIf}', '${ElseUnless}', '${Else}', '${EndIf}', '${EndUnless}', '${AndIf}', '${AndUnless}',
        -            '${OrIf}', '${OrUnless}', '${IfThen}', '${IfCmd}', '${Select}', '${Case2}', '${Case3}',
        -            '${Case4}', '${Case5}', '${CaseElse}', '${Default}', '${EndSelect}', '${Switch}',
        -            '${Case}', '${EndSwitch}', '${Do}', '${DoWhile}', '${UntilWhile}', '${Continue}', '${Break}',
        -            '${Loop}', '${LoopWhile}', '${LoopUntil}', '${While}', '${ExitWhile}', '${EndWhile}', '${For}',
        -            '${ForEach}', '${ExitFor}', '${Next}', '${Abort}', '${Errors}', '${RebootFlag}', '${Silent}',
        -            '${FileExists}', '${Cmd}', '${SectionIsSelected}', '${SectionIsSectionGroup}',
        -            '${SectionIsSectionGroupEnd}', '${SectionIsBold}', '${SectionIsReadOnly}',
        -            '${SectionIsExpanded}', '${SectionIsPartiallySelected}'
        -            ),
        -        10 => array(
        -            'StrFunc.nsh', '${STRFUNC}', '${StrCase}', '${StrClb}', '${StrIOToNSIS}', '${StrLoc}', '${StrNSISToIO}', '${StrRep}',
        -            '${StrSort}', '${StrStr}', '${StrStrAdv}', '${StrTok}', '${StrTrimNewLines}'
        -            ),
        -        11 => array(
        -            'UpgradeDLL.nsh', 'UPGRADEDLL_INCLUDED', 'UpgradeDLL'
        -            ),
        -        12 => array(
        -            'Sections.nsh', 'SECTIONS_INCLUDED', '${SF_SELECTED}', '${SF_SECGRP}', '${SF_SUBSEC}', '${SF_SECGRPEND}',
        -            '${SF_SUBSECEND}', '${SF_BOLD}', '${SF_RO}', '${SF_EXPAND}', '${SF_PSELECTED}', '${SF_TOGGLED}',
        -            '${SF_NAMECHG}', '${SECTION_OFF}', 'SelectSection', 'UnselectSection', 'ReverseSection',
        -            'StartRadioButtons', 'RadioButton', 'EndRadioButtons', '${INSTTYPE_0}', '${INSTTYPE_1}', '${INSTTYPE_2}',
        -            '${INSTTYPE_3}', '${INSTTYPE_4}', '${INSTTYPE_5}', '${INSTTYPE_6}', '${INSTTYPE_7}', '${INSTTYPE_8}',
        -            '${INSTTYPE_9}', '${INSTTYPE_10}', '${INSTTYPE_11}', '${INSTTYPE_12}', '${INSTTYPE_13}', '${INSTTYPE_14}',
        -            '${INSTTYPE_15}', '${INSTTYPE_16}', '${INSTTYPE_17}', '${INSTTYPE_18}', '${INSTTYPE_19}', '${INSTTYPE_20}',
        -            '${INSTTYPE_21}', '${INSTTYPE_22}', '${INSTTYPE_23}', '${INSTTYPE_24}', '${INSTTYPE_25}', '${INSTTYPE_26}',
        -            '${INSTTYPE_27}', '${INSTTYPE_28}', '${INSTTYPE_29}', '${INSTTYPE_30}', '${INSTTYPE_31}', '${INSTTYPE_32}',
        -            'SetSectionInInstType', 'ClearSectionInInstType', 'SetSectionFlag', 'ClearSectionFlag', 'SectionFlagIsSet'
        -            ),
        -        13 => array(
        -            'Colors.nsh', 'WHITE', 'BLACK', 'YELLOW', 'RED', 'GREEN', 'BLUE', 'MAGENTA', 'CYAN', 'rgb2hex'
        -            ),
        -        14 => array(
        -            'FileFunc.nsh', '${Locate}', '${GetSize}', '${DriveSpace}', '${GetDrives}', '${GetTime}', '${GetFileAttributes}', '${GetFileVersion}', '${GetExeName}', '${GetExePath}', '${GetParameters}', '${GetOptions}', '${GetRoot}', '${GetParent}', '${GetFileName}', '${GetBaseName}', '${GetFileExt}', '${BannerTrimPath}', '${DirState}', '${RefreshShellIcons}'
        -            ),
        -        15 => array(
        -            'TextFunc.nsh', '${LineFind}', '${LineRead}', '${FileReadFromEnd}', '${LineSum}', '${FileJoin}', '${TextCompare}', '${ConfigRead}', '${ConfigWrite}', '${FileRecode}', '${TrimNewLines}'
        -            ),
        -        16 => array(
        -            'WordFunc.nsh', '${WordFind}', '${WordFind2X}', '${WordFind3X}', '${WordReplace}', '${WordAdd}', '${WordInsert}', '${StrFilter}', '${VersionCompare}', '${VersionConvert}'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false,
        -        7 => false,
        -        8 => false,
        -        9 => false,
        -        10 => false,
        -        11 => false,
        -        12 => false,
        -        13 => false,
        -        14 => false,
        -        15 => false,
        -        16 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000066; font-weight:bold;',
        -            2 => 'color: #000066;',
        -            3 => 'color: #003366;',
        -            4 => 'color: #000099;',
        -            5 => 'color: #ff6600;',
        -            6 => 'color: #ff6600;',
        -            7 => 'color: #006600;',
        -            8 => 'color: #006600;',
        -            9 => 'color: #006600;',
        -            10 => 'color: #006600;',
        -            11 => 'color: #006600;',
        -            12 => 'color: #006600;',
        -            13 => 'color: #006600;',
        -            14 => 'color: #006600;',
        -            15 => 'color: #006600;',
        -            16 => 'color: #006600;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #660066; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => ''
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #660066;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => ''
        -            ),
        -        'METHODS' => array(
        -            0 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            0 => ''
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #660000;',
        -            1 => 'color: #660000;',
        -            2 => 'color: #660000;',
        -            3 => 'color: #660000;',
        -            4 => 'color: #660000;',
        -            5 => 'color: #660000;',
        -            6 => 'color: #660000;',
        -            7 => 'color: #000099;',
        -            8 => 'color: #003399;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => '',
        -        8 => '',
        -        9 => '',
        -        10 => '',
        -        11 => '',
        -        12 => '',
        -        13 => '',
        -        14 => '',
        -        15 => '',
        -        16 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        0 => '\$\$',
        -        1 => '\$\\r',
        -        2 => '\$\\n',
        -        3 => '\$\\t',
        -        4 => '\$[a-zA-Z0-9_]+',
        -        5 => '\$\{.{1,256}\}',
        -        6 => '\$\\\(.{1,256}\\\)',
        -        7 => array(
        -            GESHI_SEARCH => '([^:\/\\\*\?\"\<\>(?:)\s]*?)(::)([^:\/\\\*\?\"\<\>(?:)\s]*?)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '\\2\\3'
        -            ),
        -        8 => array(
        -            GESHI_SEARCH => '([^:\/\\\*\?\"\<\>(?:)\s]*?)(::)([^:\/\\\*\?\"\<\>(?:)]*?\s)',
        -            GESHI_REPLACE => '\\3',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1\\2',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/oberon2.php b/vendor/easybook/geshi/geshi/oberon2.php
        deleted file mode 100644
        index 777bc8d..0000000
        --- a/vendor/easybook/geshi/geshi/oberon2.php
        +++ /dev/null
        @@ -1,134 +0,0 @@
        - 'Oberon-2',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array('(*' => '*)'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'HARDQUOTE' => array("'", "'"),
        -    'HARDESCAPE' => array("''"),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'ARRAY', 'BEGIN', 'BY', 'CASE',
        -            'CONST', 'DIV', 'DO', 'ELSE', 'ELSIF', 'END',
        -            'EXIT', 'FOR', 'IF', 'IMPORT', 'IN', 'IS',
        -            'LOOP', 'MOD', 'MODULE', 'OF',
        -            'OR', 'POINTER', 'PROCEDURE', 'RECORD',
        -            'REPEAT', 'RETURN', 'THEN', 'TO',
        -            'TYPE', 'UNTIL', 'VAR', 'WHILE', 'WITH'
        -            ),
        -        2 => array(
        -            'NIL', 'FALSE', 'TRUE',
        -            ),
        -        3 => array(
        -            'ABS', 'ASH', 'ASSERT', 'CAP', 'CHR', 'COPY', 'DEC',
        -            'ENTIER', 'EXCL', 'HALT', 'INC', 'INCL', 'LEN',
        -            'LONG', 'MAX', 'MIN', 'NEW', 'ODD', 'ORD', 'SHORT', 'SIZE'
        -            ),
        -        4 => array(
        -            'BOOLEAN', 'CHAR', 'SHORTINT', 'LONGINT',
        -            'INTEGER', 'LONGREAL', 'REAL', 'SET', 'PTR'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        ',', ':', '=', '+', '-', '*', '/', '#', '~'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;',
        -            4 => 'color: #000066; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;',
        -            'HARD' => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0066ee;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/objc.php b/vendor/easybook/geshi/geshi/objc.php
        deleted file mode 100644
        index 52576c1..0000000
        --- a/vendor/easybook/geshi/geshi/objc.php
        +++ /dev/null
        @@ -1,356 +0,0 @@
        - 'Objective-C',
        -    'COMMENT_SINGLE' => array(
        -        //Compiler directives
        -        1 => '#',
        -        //Single line C-Comments
        -        2 => '//'
        -        ),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Multiline Continuation for single-line comment
        -        2 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //Pseudo-Highlighting of the @-sign before strings
        -        3 => "/@(?=\")/"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', "'"),
        -    'ESCAPE_CHAR' => '\\',
        -
        -    'KEYWORDS' => array(
        -        // Objective-C keywords
        -        1 => array(
        -            'while', 'switch', 'return', 'in', 'if', 'goto', 'foreach', 'for',
        -            'else', 'do', 'default', 'continue', 'case', '@try', '@throw',
        -            '@synthesize', '@synchronized', '@selector', '@public', '@protocol',
        -            '@protected', '@property', '@private', '@interface',
        -            '@implementation', '@finally', '@end', '@encode', '@defs', '@class',
        -            '@catch'
        -            ),
        -        // Macros and constants
        -        2 => array(
        -            'YES', 'USHRT_MAX', 'ULONG_MAX', 'UINT_MAX', 'UCHAR_MAX', 'true',
        -            'TMP_MAX', 'stdout', 'stdin', 'stderr', 'SIGTERM', 'SIGSEGV',
        -            'SIGINT', 'SIGILL', 'SIG_IGN', 'SIGFPE', 'SIG_ERR', 'SIG_DFL',
        -            'SIGABRT', 'SHRT_MIN', 'SHRT_MAX', 'SEEK_SET', 'SEEK_END',
        -            'SEEK_CUR', 'SCHAR_MIN', 'SCHAR_MAX', 'RAND_MAX', 'NULL',
        -            'NO', 'nil', 'Nil', 'L_tmpnam', 'LONG_MIN', 'LONG_MAX',
        -            'LDBL_MIN_EXP', 'LDBL_MIN', 'LDBL_MAX_EXP', 'LDBL_MAX',
        -            'LDBL_MANT_DIG', 'LDBL_EPSILON', 'LDBL_DIG', 'INT_MIN', 'INT_MAX',
        -            'HUGE_VAL', 'FOPEN_MAX', 'FLT_ROUNDS', 'FLT_RADIX', 'FLT_MIN_EXP',
        -            'FLT_MIN', 'FLT_MAX_EXP', 'FLT_MAX', 'FLT_MANT_DIG', 'FLT_EPSILON',
        -            'FLT_DIG', 'FILENAME_MAX', 'false', 'EXIT_SUCCESS', 'EXIT_FAILURE',
        -            'errno', 'ERANGE', 'EOF', 'enum', 'EDOM', 'DBL_MIN_EXP', 'DBL_MIN',
        -            'DBL_MAX_EXP', 'DBL_MAX', 'DBL_MANT_DIG', 'DBL_EPSILON', 'DBL_DIG',
        -            'CLOCKS_PER_SEC', 'CHAR_MIN', 'CHAR_MAX', 'CHAR_BIT', 'BUFSIZ',
        -            'break'
        -            ),
        -        // C standard library functions
        -        3 => array(
        -            'vsprintf', 'vprintf', 'vfprintf', 'va_start', 'va_end', 'va_arg',
        -            'ungetc', 'toupper', 'tolower', 'tmpname', 'tmpfile', 'time',
        -            'tanh', 'tan', 'system', 'strxfrm', 'strtoul', 'strtol', 'strtok',
        -            'strtod', 'strstr', 'strspn', 'strrchr', 'strpbrk', 'strncpy',
        -            'strncmp', 'strncat', 'strlen', 'strftime', 'strerror', 'strcspn',
        -            'strcpy', 'strcoll', 'strcmp', 'strchr', 'strcat', 'sscanf',
        -            'srand', 'sqrt', 'sprintf', 'snprintf', 'sizeof', 'sinh', 'sin',
        -            'setvbuf', 'setjmp', 'setbuf', 'scanf', 'rewind', 'rename',
        -            'remove', 'realloc', 'rand', 'qsort', 'puts', 'putchar', 'putc',
        -            'printf', 'pow', 'perror', 'offsetof', 'modf', 'mktime', 'memset',
        -            'memmove', 'memcpy', 'memcmp', 'memchr', 'malloc', 'longjmp',
        -            'log10', 'log', 'localtime', 'ldiv', 'ldexp', 'labs', 'isxdigit',
        -            'isupper', 'isspace', 'ispunct', 'isprint', 'islower',
        -            'isgraph', 'isdigit', 'iscntrl', 'isalpha', 'isalnum', 'gmtime',
        -            'gets', 'getenv', 'getchar', 'getc', 'fwrite', 'ftell', 'fsetpos',
        -            'fseek', 'fscanf', 'frexp', 'freopen', 'free', 'fread', 'fputs',
        -            'fputc', 'fprintf', 'fopen', 'fmod', 'floor', 'fgets', 'fgetpos',
        -            'fgetc', 'fflush', 'ferror', 'feof', 'fclose', 'fabs', 'exp',
        -            'exit', 'div', 'difftime', 'ctime', 'cosh', 'cos', 'clock',
        -            'clearerr', 'ceil', 'calloc', 'bsearch', 'atol', 'atoi', 'atof',
        -            'atexit', 'atan2', 'atan', 'assert', 'asin', 'asctime', 'acos',
        -            'abs', 'abort'
        -            ),
        -        // Data types (C, Objective-C, Cocoa)
        -        4 => array(
        -            'volatile', 'void', 'va_list', 'unsigned', 'union', 'typedef', 'tm',
        -            'time_t', 'struct', 'string', 'static', 'size_t',
        -            'signed', 'signal', 'short', 'SEL', 'register', 'raise',
        -            'ptrdiff_t', 'NSZone', 'NSRect', 'NSRange', 'NSPoint', 'long',
        -            'ldiv_t', 'jmp_buf', 'int', 'IMP', 'id', 'fpos_t', 'float', 'FILE',
        -            'extern', 'double', 'div_t', 'const', 'clock_t', 'Class', 'char',
        -            'BOOL', 'auto'
        -            ),
        -        // Foundation classes
        -        5 => array(
        -            'NSXMLParser', 'NSXMLNode', 'NSXMLElement', 'NSXMLDTDNode',
        -            'NSXMLDTD', 'NSXMLDocument', 'NSWhoseSpecifier',
        -            'NSValueTransformer', 'NSValue', 'NSUserDefaults', 'NSURLResponse',
        -            'NSURLRequest', 'NSURLProtocol', 'NSURLProtectionSpace',
        -            'NSURLHandle', 'NSURLDownload', 'NSURLCredentialStorage',
        -            'NSURLCredential', 'NSURLConnection', 'NSURLCache',
        -            'NSURLAuthenticationChallenge', 'NSURL', 'NSUniqueIDSpecifier',
        -            'NSUndoManager', 'NSUnarchiver', 'NSTimeZone', 'NSTimer',
        -            'NSThread', 'NSTask', 'NSString', 'NSStream', 'NSSpellServer',
        -            'NSSpecifierTest', 'NSSortDescriptor', 'NSSocketPortNameServer',
        -            'NSSocketPort', 'NSSetCommand', 'NSSet', 'NSSerializer',
        -            'NSScriptWhoseTest', 'NSScriptSuiteRegistry',
        -            'NSScriptObjectSpecifier', 'NSScriptExecutionContext',
        -            'NSScriptCommandDescription', 'NSScriptCommand',
        -            'NSScriptCoercionHandler', 'NSScriptClassDescription', 'NSScanner',
        -            'NSRunLoop', 'NSRelativeSpecifier', 'NSRecursiveLock',
        -            'NSRangeSpecifier', 'NSRandomSpecifier', 'NSQuitCommand', 'NSProxy',
        -            'NSProtocolChecker', 'NSPropertySpecifier',
        -            'NSPropertyListSerialization', 'NSProcessInfo', 'NSPredicate',
        -            'NSPositionalSpecifier', 'NSPortNameServer', 'NSPortMessage',
        -            'NSPortCoder', 'NSPort', 'NSPointerFunctions', 'NSPointerArray',
        -            'NSPipe', 'NSOutputStream', 'NSOperationQueue', 'NSOperation',
        -            'NSObject', 'NSNumberFormatter', 'NSNumber', 'NSNull',
        -            'NSNotificationQueue', 'NSNotificationCenter', 'NSNotification',
        -            'NSNetServiceBrowser', 'NSNetService', 'NSNameSpecifier',
        -            'NSMutableURLRequest', 'NSMutableString', 'NSMutableSet',
        -            'NSMutableIndexSet', 'NSMutableDictionary', 'NSMutableData',
        -            'NSMutableCharacterSet', 'NSMutableAttributedString',
        -            'NSMutableArray', 'NSMoveCommand', 'NSMiddleSpecifier',
        -            'NSMethodSignature', 'NSMetadataQueryResultGroup',
        -            'NSMetadataQueryAttributeValueTuple', 'NSMetadataQuery',
        -            'NSMetadataItem', 'NSMessagePortNameServer', 'NSMessagePort',
        -            'NSMapTable', 'NSMachPort', 'NSMachBootstrapServer',
        -            'NSLogicalTest', 'NSLock', 'NSLocale', 'NSKeyedUnarchiver',
        -            'NSKeyedArchiver', 'NSInvocationOperation', 'NSInvocation',
        -            'NSInputStream', 'NSIndexSpecifier', 'NSIndexSet', 'NSIndexPath',
        -            'NSHTTPURLResponse', 'NSHTTPCookieStorage', 'NSHTTPCookie',
        -            'NSHost', 'NSHashTable', 'NSGetCommand', 'NSGarbageCollector',
        -            'NSFormatter', 'NSFileManager', 'NSFileHandle', 'NSExpression',
        -            'NSExistsCommand', 'NSException', 'NSError', 'NSEnumerator',
        -            'NSDistributedNotificationCenter', 'NSDistributedLock',
        -            'NSDistantObjectRequest', 'NSDistantObject',
        -            'NSDirectoryEnumerator', 'NSDictionary', 'NSDeserializer',
        -            'NSDeleteCommand', 'NSDecimalNumberHandler', 'NSDecimalNumber',
        -            'NSDateFormatter', 'NSDateComponents', 'NSDate', 'NSData',
        -            'NSCreateCommand', 'NSCountedSet', 'NSCountCommand', 'NSConnection',
        -            'NSConditionLock', 'NSCondition', 'NSCompoundPredicate',
        -            'NSComparisonPredicate', 'NSCoder', 'NSCloseCommand',
        -            'NSCloneCommand', 'NSClassDescription', 'NSCharacterSet',
        -            'NSCalendarDate', 'NSCalendar', 'NSCachedURLResponse', 'NSBundle',
        -            'NSAutoreleasePool', 'NSAttributedString', 'NSAssertionHandler',
        -            'NSArray', 'NSArchiver', 'NSAppleScript', 'NSAppleEventManager',
        -            'NSAppleEventDescriptor', 'NSAffineTransform'
        -            ),
        -        // Foundation protocols
        -        6 => array(
        -            'NSURLProtocolClient', 'NSURLHandleClient', 'NSURLClient',
        -            'NSURLAuthenticationChallengeSender', 'NSScriptObjectSpecifiers',
        -            'NSScriptKeyValueCoding', 'NSScriptingComparisonMethods',
        -            'NSObjCTypeSerializationCallBack', 'NSMutableCopying',
        -            'NSLocking', 'NSKeyValueObserving', 'NSKeyValueCoding',
        -            'NSFastEnumeration', 'NSErrorRecoveryAttempting',
        -            'NSDecimalNumberBehaviors', 'NSCopying', 'NSComparisonMethods',
        -            'NSCoding'
        -            ),
        -        // AppKit classes
        -        7 => array(
        -            'NSWorkspace', 'NSWindowController', 'NSWindow', 'NSViewController',
        -            'NSViewAnimation', 'NSView', 'NSUserDefaultsController',
        -            'NSTypesetter', 'NSTreeNode', 'NSTreeController', 'NSTrackingArea',
        -            'NSToolbarItemGroup', 'NSToolbarItem', 'NSToolbar',
        -            'NSTokenFieldCell', 'NSTokenField', 'NSTextView',
        -            'NSTextTableBlock', 'NSTextTable', 'NSTextTab', 'NSTextStorage',
        -            'NSTextList', 'NSTextFieldCell', 'NSTextField', 'NSTextContainer',
        -            'NSTextBlock', 'NSTextAttachmentCell', 'NSTextAttachment', 'NSText',
        -            'NSTabViewItem', 'NSTabView', 'NSTableView', 'NSTableHeaderView',
        -            'NSTableHeaderCell', 'NSTableColumn', 'NSStepperCell', 'NSStepper',
        -            'NSStatusItem', 'NSStatusBar', 'NSSplitView', 'NSSpellChecker',
        -            'NSSpeechSynthesizer', 'NSSpeechRecognizer', 'NSSound',
        -            'NSSliderCell', 'NSSlider', 'NSSimpleHorizontalTypesetter',
        -            'NSShadow', 'NSSegmentedControl', 'NSSegmentedCell',
        -            'NSSecureTextFieldCell', 'NSSecureTextField', 'NSSearchFieldCell',
        -            'NSSearchField', 'NSScrollView', 'NSScroller', 'NSScreen',
        -            'NSSavePanel', 'NSRulerView', 'NSRulerMarker', 'NSRuleEditor',
        -            'NSResponder', 'NSQuickDrawView', 'NSProgressIndicator',
        -            'NSPrintPanel', 'NSPrintOperation', 'NSPrintInfo', 'NSPrinter',
        -            'NSPredicateEditorRowTemplate', 'NSPredicateEditor',
        -            'NSPopUpButtonCell', 'NSPopUpButton', 'NSPICTImageRep',
        -            'NSPersistentDocument', 'NSPDFImageRep', 'NSPathControl',
        -            'NSPathComponentCell', 'NSPathCell', 'NSPasteboard',
        -            'NSParagraphStyle', 'NSPanel', 'NSPageLayout', 'NSOutlineView',
        -            'NSOpenPanel', 'NSOpenGLView', 'NSOpenGLPixelFormat',
        -            'NSOpenGLPixelBuffer', 'NSOpenGLContext', 'NSObjectController',
        -            'NSNibOutletConnector', 'NSNibControlConnector', 'NSNibConnector',
        -            'NSNib', 'NSMutableParagraphStyle', 'NSMovieView', 'NSMovie',
        -            'NSMenuView', 'NSMenuItemCell', 'NSMenuItem', 'NSMenu', 'NSMatrix',
        -            'NSLevelIndicatorCell', 'NSLevelIndicator', 'NSLayoutManager',
        -            'NSInputServer', 'NSInputManager', 'NSImageView', 'NSImageRep',
        -            'NSImageCell', 'NSImage', 'NSHelpManager', 'NSGraphicsContext',
        -            'NSGradient', 'NSGlyphInfo', 'NSGlyphGenerator', 'NSFormCell',
        -            'NSForm', 'NSFontPanel', 'NSFontManager', 'NSFontDescriptor',
        -            'NSFont', 'NSFileWrapper', 'NSEvent', 'NSEPSImageRep', 'NSDrawer',
        -            'NSDocumentController', 'NSDocument', 'NSDockTile',
        -            'NSDictionaryController', 'NSDatePickerCell', 'NSDatePicker',
        -            'NSCustomImageRep', 'NSCursor', 'NSController', 'NSControl',
        -            'NSComboBoxCell', 'NSComboBox', 'NSColorWell', 'NSColorSpace',
        -            'NSColorPicker', 'NSColorPanel', 'NSColorList', 'NSColor',
        -            'NSCollectionViewItem', 'NSCollectionView', 'NSClipView',
        -            'NSCIImageRep', 'NSCell', 'NSCachedImageRep', 'NSButtonCell',
        -            'NSButton', 'NSBrowserCell', 'NSBrowser', 'NSBox',
        -            'NSBitmapImageRep', 'NSBezierPath', 'NSATSTypesetter',
        -            'NSArrayController', 'NSApplication', 'NSAnimationContext',
        -            'NSAnimation', 'NSAlert', 'NSActionCell'
        -            ),
        -        // AppKit protocols
        -        8 => array(
        -            'NSWindowScripting', 'NSValidatedUserInterfaceItem',
        -            'NSUserInterfaceValidations', 'NSToolTipOwner',
        -            'NSToolbarItemValidation', 'NSTextInput',
        -            'NSTableDataSource', 'NSServicesRequests',
        -            'NSPrintPanelAccessorizing', 'NSPlaceholders',
        -            'NSPathControlDelegate', 'NSPathCellDelegate',
        -            'NSOutlineViewDataSource', 'NSNibAwaking', 'NSMenuValidation',
        -            'NSKeyValueBindingCreation', 'NSInputServiceProvider',
        -            'NSInputServerMouseTracker', 'NSIgnoreMisspelledWords',
        -            'NSGlyphStorage', 'NSFontPanelValidation', 'NSEditorRegistration',
        -            'NSEditor', 'NSDraggingSource', 'NSDraggingInfo',
        -            'NSDraggingDestination', 'NSDictionaryControllerKeyValuePair',
        -            'NSComboBoxDataSource', 'NSComboBoxCellDataSource',
        -            'NSColorPickingDefault', 'NSColorPickingCustom', 'NSChangeSpelling',
        -            'NSAnimatablePropertyContainer', 'NSAccessibility'
        -            ),
        -        // CoreData classes
        -        9 => array(
        -            'NSRelationshipDescription', 'NSPropertyMapping',
        -            'NSPropertyDescription', 'NSPersistentStoreCoordinator',
        -            'NSPersistentStore', 'NSMigrationManager', 'NSMappingModel',
        -            'NSManagedObjectModel', 'NSManagedObjectID',
        -            'NSManagedObjectContext', 'NSManagedObject',
        -            'NSFetchRequestExpression', 'NSFetchRequest',
        -            'NSFetchedPropertyDescription', 'NSEntityMigrationPolicy',
        -            'NSEntityMapping', 'NSEntityDescription', 'NSAttributeDescription',
        -            'NSAtomicStoreCacheNode', 'NSAtomicStore'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true,
        -        9 => true
        -        ),
        -    // Define the colors for the groups listed above
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #a61390;', // Objective-C keywords
        -            2 => 'color: #a61390;', // Macros and constants
        -            3 => 'color: #a61390;', // C standard library functions
        -            4 => 'color: #a61390;', // data types
        -            5 => 'color: #400080;', // Foundation classes
        -            6 => 'color: #2a6f76;', // Foundation protocols
        -            7 => 'color: #400080;', // AppKit classes
        -            8 => 'color: #2a6f76;', // AppKit protocols
        -            9 => 'color: #400080;' // CoreData classes
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #6e371a;', // Preprocessor directives
        -            2 => 'color: #11740a; font-style: italic;', // Normal C single-line comments
        -            3 => 'color: #bf1d1a;', // Q-sign in front of Strings
        -            'MULTI' => 'color: #11740a; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #2400d9;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #002200;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #bf1d1a;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #2400d9;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #002200;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
        -        4 => '',
        -        5 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/{FNAME}_Class/',
        -        6 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Protocols/{FNAME}_Protocol/',
        -        7 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/{FNAME}_Class/',
        -        8 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/{FNAME}_Protocol/',
        -        9 => 'http://developer.apple.com/documentation/Cocoa/Reference/CoreDataFramework/Classes/{FNAME}_Class/'
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/objeck.php b/vendor/easybook/geshi/geshi/objeck.php
        deleted file mode 100644
        index d0e3ae4..0000000
        --- a/vendor/easybook/geshi/geshi/objeck.php
        +++ /dev/null
        @@ -1,115 +0,0 @@
        - 'Objeck Programming Language',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array('#~' => '~#'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'virtual', 'if', 'else', 'do', 'while', 'use', 'bundle', 'native',
        -            'static', 'public', 'private', 'class', 'function', 'method',
        -            'select', 'other', 'enum', 'for', 'each', 'label', 'return', 'from'
        -            ),
        -        2 => array(
        -            'Byte', 'Int', 'Nil', 'Float', 'Char', 'Bool', 'String'
        -            ),
        -        3 => array(
        -            'true', 'false'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '%', '=', '<', '>', '&', '|', ':', ';', ',', '+=', '-=', '*=', '/=',
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #b1b100;',
        -            3 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '->'
        -        ),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/ocaml-brief.php b/vendor/easybook/geshi/geshi/ocaml-brief.php
        deleted file mode 100644
        index c5fee2f..0000000
        --- a/vendor/easybook/geshi/geshi/ocaml-brief.php
        +++ /dev/null
        @@ -1,110 +0,0 @@
        - 'OCaml (brief)',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array('(*' => '*)'),
        -    'CASE_KEYWORDS' => 0,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => "",
        -    'KEYWORDS' => array(
        -        /* main OCaml keywords */
        -        1 => array(
        -            'and', 'as', 'asr', 'begin', 'class', 'closed', 'constraint', 'do', 'done', 'downto', 'else',
        -            'end', 'exception', 'external', 'failwith', 'false', 'flush', 'for', 'fun', 'function', 'functor',
        -            'if', 'in', 'include', 'inherit',  'incr', 'land', 'let', 'load', 'los', 'lsl', 'lsr', 'lxor',
        -            'match', 'method', 'mod', 'module', 'mutable', 'new', 'not', 'of', 'open', 'option', 'or', 'parser',
        -            'private', 'ref', 'rec', 'raise', 'regexp', 'sig', 'struct', 'stdout', 'stdin', 'stderr', 'then',
        -            'to', 'true', 'try', 'type', 'val', 'virtual', 'when', 'while', 'with'
        -            )
        -        ),
        -    /* highlighting symbols is really important in OCaml */
        -    'SYMBOLS' => array(
        -        ';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+',
        -        '>', '<', '(', ')', '[', ']', '&', '|', '#', "'"
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #06c; font-weight: bold;' /* nice blue */
        -            ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #6c6;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #3cb371;' /* nice green */
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #c6c;' /* pink */
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #060;' /* dark green */
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #a52a2a;' /* maroon */
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/ocaml.php b/vendor/easybook/geshi/geshi/ocaml.php
        deleted file mode 100644
        index 6d63b0d..0000000
        --- a/vendor/easybook/geshi/geshi/ocaml.php
        +++ /dev/null
        @@ -1,186 +0,0 @@
        - 'OCaml',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array('(*' => '*)'),
        -    'COMMENT_REGEXP' => array(1 => '/\(\*(?:(?R)|.)+?\*\)/s'),
        -    'CASE_KEYWORDS' => 0,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => "",
        -    'KEYWORDS' => array(
        -        /* main OCaml keywords */
        -        1 => array(
        -            'and', 'as', 'asr', 'begin', 'class', 'closed', 'constraint', 'do', 'done', 'downto', 'else',
        -            'end', 'exception', 'external', 'failwith', 'false', 'for', 'fun', 'function', 'functor',
        -            'if', 'in', 'include', 'inherit',  'incr', 'land', 'let', 'load', 'los', 'lsl', 'lsr', 'lxor',
        -            'match', 'method', 'mod', 'module', 'mutable', 'new', 'not', 'of', 'open', 'option', 'or', 'parser',
        -            'private', 'ref', 'rec', 'raise', 'regexp', 'sig', 'struct', 'stdout', 'stdin', 'stderr', 'then',
        -            'to', 'true', 'try', 'type', 'val', 'virtual', 'when', 'while', 'with'
        -            ),
        -        /* define names of main librarys, so we can link to it */
        -        2 => array(
        -            'Arg', 'Arith_status', 'Array', //'Array1', 'Array2', 'Array3',
        -            'ArrayLabels', 'Big_int', 'Bigarray', 'Buffer', 'Callback',
        -            'CamlinternalLazy', 'CamlinternalMod', 'CamlinternalOO', 'Char',
        -            'Complex', 'Condition', 'Dbm', 'Digest', 'Dynlink', 'Event',
        -            'Filename', 'Format', 'Gc', 'Genlex', 'Graphics', 'GraphicsX11',
        -            'Hashtbl', 'Int32', 'Int64', 'Lazy', 'Lexing', 'List', 'ListLabels',
        -            'Map', 'Marshal', 'MoreLabels', 'Mutex', 'Nativeint', 'Num', 'Obj',
        -            'Oo', 'Parsing', 'Pervasives', 'Printexc', 'Printf', 'Queue',
        -            'Random', 'Scanf', 'Set', 'Sort', 'Stack', 'StdLabels', 'Str',
        -            'Stream', 'String', 'StringLabels', 'Sys', 'Thread', 'ThreadUnix',
        -            'Tk', 'Unix', 'UnixLabels', 'Weak'
        -            ),
        -        /* just link to the Pervasives functions library, cause it's the default opened library when starting OCaml */
        -        3 => array(
        -            'abs', 'abs_float', 'acos', 'asin', 'at_exit', 'atan', 'atan2',
        -            'bool_of_string', 'ceil', 'char_of_int', 'classify_float',
        -            'close_in', 'close_in_noerr', 'close_out', 'close_out_noerr',
        -            'compare', 'cos', 'cosh', 'decr', 'epsilon_float', 'exit', 'exp',
        -            'float', 'float_of_int', 'float_of_string', 'floor', 'flush',
        -            'flush_all', 'format_of_string', 'frexp', 'fst', 'ignore',
        -            'in_channel_length', 'infinity', 'input', 'input_binary_int',
        -            'input_byte', 'input_char', 'input_line', 'input_value',
        -            'int_of_char', 'int_of_float', 'int_of_string', 'invalid_arg',
        -            'ldexp', 'log', 'log10', 'max', 'max_float', 'max_int', 'min',
        -            'min_float', 'min_int', 'mod_float', 'modf', 'nan', 'open_in',
        -            'open_in_bin', 'open_in_gen', 'open_out', 'open_out_bin',
        -            'open_out_gen', 'out_channel_length', 'output', 'output_binary_int',
        -            'output_byte', 'output_char', 'output_string', 'output_value',
        -            'pos_in', 'pos_out',  'pred', 'prerr_char', 'prerr_endline',
        -            'prerr_float', 'prerr_int', 'prerr_newline', 'prerr_string',
        -            'print_char', 'print_endline', 'print_float', 'print_int',
        -            'print_newline', 'print_string', 'read_float', 'read_int',
        -            'read_line', 'really_input', 'seek_in', 'seek_out',
        -            'set_binary_mode_in', 'set_binary_mode_out', 'sin', 'sinh', 'snd',
        -            'sqrt', 'string_of_bool', 'string_of_float', 'string_of_format',
        -            'string_of_int', 'succ', 'tan', 'tanh', 'truncate'
        -            ),
        -        /* here Pervasives Types */
        -        4 => array (
        -            'array','bool','char','exn','file_descr','format','fpclass',
        -            'in_channel','int','int32','int64','list','nativeint','open_flag',
        -            'out_channel','string','Sys_error','unit'
        -            ),
        -        /* finally Pervasives Exceptions */
        -        5 => array (
        -            'Exit', 'Invalid_Argument', 'Failure', 'Division_by_zero'
        -            )
        -        ),
        -    /* highlighting symbols is really important in OCaml */
        -    'SYMBOLS' => array(
        -        '+.', '-.', '*.', '/.', '[<', '>]',
        -        ';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+',
        -        '>', '<', '(', ')', '[', ']', '&', '|', '#', "'",
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => true, /* functions name are case sensitive */
        -        3 => true, /* types name too */
        -        4 => true, /* pervasives types */
        -        5 => true  /* pervasives exceptions */
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            2 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            3 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            4 => 'color: #06c; font-weight: bold;', /* nice blue */
        -            5 => 'color: #06c; font-weight: bold;' /* nice blue */
        -            ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #5d478b; font-style: italic;', /* light purple */
        -            1 => 'color: #5d478b; font-style: italic;' /* light purple */
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #a52a2a;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #3cb371;' /* nice green */
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #c6c;' /* pink */
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #060;' /* dark green */
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'font-weight:bold; color:#339933;',
        -            2 => 'font-weight:bold; color:#993399;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #a52a2a;' /* maroon */
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        /* some of keywords are Pervasives functions (land, lxor, asr, ...) */
        -        1 => '',
        -        /* link to the wanted library */
        -        2 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/{FNAME}.html',
        -        /* link to Pervasives functions */
        -        3 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#VAL{FNAME}',
        -        /* link to Pervasives type */
        -        4 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#TYPE{FNAME}',
        -        /* link to Pervasives exceptions */
        -        5 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#EXCEPTION{FNAME}'
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        1 => '~\w+',
        -        2 => '`(?=(?-i:[a-z]))\w*',
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/octave.php b/vendor/easybook/geshi/geshi/octave.php
        deleted file mode 100644
        index 7bab9b1..0000000
        --- a/vendor/easybook/geshi/geshi/octave.php
        +++ /dev/null
        @@ -1,513 +0,0 @@
        - 'GNU Octave',
        -    'COMMENT_SINGLE' => array(1 => '#', 2 => '%'),
        -    // we can't use COMMENT_MULTI since start and end of block comments need to
        -    // be alone on the line (optionally, with whitespace). See COMMENT_REGEXP
        -    'COMMENT_MULTI' => array(),
        -    // we can't use QUOTEMARKS, not even HARDQUOTE, see COMMENT_REGEXP
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'COMMENT_REGEXP' => array(
        -        // Single quote strings: we can't use QUOTEMARKS here since new
        -        // lines will break the string. Plus, single quote strings do not even
        -        // allow for continuation markers, only double quote strings allow it.
        -        // Also, to do not misdetect the transpose operator ' as the start of a
        -        // string we assert to not follow a variable name (letters, digits and
        -        // underscores) or a closing bracket (round, square or curly) or a dot
        -        // (to form the array transpose operator ".'" ).
        -        3 => "/(? '/"(.|(\.\.\.|\\\)(\s)*?\n)*?(? "/^\s*?[%#]{\s*?$.*?^\s*?[%#]}\s*?$/ms",
        -        // Packaging system: comes here so that pkg can also be used in the
        -        // function form. The list of pkg commands is optional to the match so
        -        // that at least pkg is highlighted if new commands are implemented
        -        6 => "/\bpkg(?!\s*\()\s+((un)?install|update|(un)?load|list|(global|local)_list|describe|prefix|(re)?build)?\b/",
        -        // Function handles
        -        7 => "/@([a-z_][a-z1-9_]*)?/i",
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC |
        -        GESHI_NUMBER_OCT_PREFIX |
        -        GESHI_NUMBER_HEX_PREFIX |
        -        GESHI_NUMBER_FLT_SCI_ZERO,
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'KEYWORDS' => array(
        -        // Data types
        -        1 => array(
        -            'cell', 'char', 'double', 'uint8', 'uint16', 'uint32', 'uint64',
        -            'int8','int16', 'int32', 'int64', 'logical', 'single', 'struct'
        -            ),
        -        // Storage type
        -        2 => array(
        -            'global', 'persistent', 'static'
        -            ),
        -        // Internal variable
        -        3 => array(
        -            'ans'
        -            ),
        -        // Reserved words
        -        4 => array(
        -            'break', 'case', 'catch', 'continue', 'do', 'else', 'elseif', 'end',
        -            'end_try_catch', 'end_unwind_protect', 'endfor', 'endfunction',
        -            'endif', 'endparfor', 'endswitch', 'endwhile', 'for', 'function',
        -            'if', 'otherwise', 'parfor', 'return',
        -            'switch', 'try', 'until', 'unwind_protect',
        -            'unwind_protect_cleanup', 'varargin', 'varargout', 'while'
        -            ),
        -        // Built in
        -        5 => array(
        -            'P_tmpdir', 'abs', 'acos', 'acosh',
        -            'add_input_event_hook', 'addlistener', 'addpath', 'addproperty',
        -            'all', 'allow_noninteger_range_as_index', 'and', 'angle', 'any',
        -            'arg', 'argnames', 'argv', 'asin', 'asinh', 'assignin', 'atan',
        -            'atan2', 'atanh', 'atexit', 'autoload', 'available_graphics_toolkits',
        -            'beep_on_error', 'bitand', 'bitmax', 'bitor', 'bitshift', 'bitxor',
        -            'builtin', 'canonicalize_file_name', 'cat', 'cbrt', 'cd', 'ceil',
        -            'cell2struct', 'cellstr', 'chdir', 'class', 'clc',
        -            'clear', 'columns', 'command_line_path', 'completion_append_char',
        -            'completion_matches', 'complex', 'confirm_recursive_rmdir', 'conj',
        -            'cos', 'cosh', 'cputime', 'crash_dumps_octave_core', 'ctranspose',
        -            'cumprod', 'cumsum', 'dbclear', 'dbcont', 'dbdown', 'dbnext',
        -            'dbquit', 'dbstack', 'dbstatus', 'dbstep', 'dbstop', 'dbtype', 'dbup',
        -            'dbwhere', 'debug_on_error', 'debug_on_interrupt', 'debug_on_warning',
        -            'default_save_options', 'dellistener', 'diag', 'diary', 'diff',
        -            'disp', 'do_braindead_shortcircuit_evaluation', 'do_string_escapes',
        -            'doc_cache_file', 'drawnow', 'dup2', 'echo',
        -            'echo_executing_commands', 'edit_history','eq', 'erf', 'erfc',
        -            'erfcx', 'erfinv', 'errno', 'errno_list', 'error', 'eval', 'evalin',
        -            'exec', 'exist', 'exit', 'exp', 'expm1', 'eye', 'fclear',
        -            'fclose', 'fcntl', 'fdisp', 'feof', 'ferror', 'feval', 'fflush',
        -            'fgetl', 'fgets', 'fieldnames', 'file_in_loadpath', 'file_in_path',
        -            'filemarker', 'filesep', 'find_dir_in_path', 'finite', 'fix',
        -            'fixed_point_format', 'floor', 'fmod', 'fnmatch', 'fopen', 'fork',
        -            'format', 'formula', 'fprintf', 'fputs', 'fread', 'freport',
        -            'frewind', 'fscanf', 'fseek', 'fskipl', 'ftell', 'full', 'func2str',
        -            'functions', 'fwrite', 'gamma', 'gammaln', 'ge', 'genpath', 'get',
        -            'get_help_text', 'get_help_text_from_file', 'getegid', 'getenv',
        -            'geteuid', 'getgid', 'gethostname', 'getpgrp', 'getpid', 'getppid',
        -            'getuid', 'glob', 'gt', 'history', 'history_control', 'history_file',
        -            'history_size', 'history_timestamp_format_string', 'home', 'horzcat',
        -            'hypot', 'ifelse', 'ignore_function_time_stamp', 'imag',
        -            'inferiorto', 'info_file', 'info_program', 'inline', 'input',
        -            'intmax', 'intmin', 'ipermute',
        -            'is_absolute_filename', 'is_dq_string', 'is_function_handle',
        -            'is_rooted_relative_filename', 'is_sq_string', 'isalnum', 'isalpha',
        -            'isargout', 'isascii', 'isbool', 'iscell', 'iscellstr', 'ischar',
        -            'iscntrl', 'iscomplex', 'isdebugmode', 'isdigit', 'isempty',
        -            'isfield', 'isfinite', 'isfloat', 'isglobal', 'isgraph', 'ishandle',
        -            'isieee', 'isindex', 'isinf', 'isinteger', 'iskeyword', 'islogical',
        -            'islower', 'ismatrix', 'ismethod', 'isna', 'isnan', 'isnull',
        -            'isnumeric', 'isobject', 'isprint', 'ispunct', 'isreal', 'issorted',
        -            'isspace', 'issparse', 'isstruct', 'isupper', 'isvarname', 'isxdigit',
        -            'kbhit', 'keyboard', 'kill', 'lasterr', 'lasterror', 'lastwarn',
        -            'ldivide', 'le', 'length', 'lgamma', 'link', 'linspace',
        -            'list_in_columns', 'load', 'loaded_graphics_toolkits', 'log', 'log10',
        -            'log1p', 'log2', 'lower', 'lstat', 'lt',
        -            'make_absolute_filename', 'makeinfo_program', 'max_recursion_depth',
        -            'merge', 'methods', 'mfilename', 'minus', 'mislocked',
        -            'missing_function_hook', 'mkdir', 'mkfifo', 'mkstemp', 'mldivide',
        -            'mlock', 'mod', 'more', 'mpower', 'mrdivide', 'mtimes', 'munlock',
        -            'nargin', 'nargout', 'native_float_format', 'ndims', 'ne',
        -            'nfields', 'nnz', 'norm', 'not', 'nth_element', 'numel', 'nzmax',
        -            'octave_config_info', 'octave_core_file_limit',
        -            'octave_core_file_name', 'octave_core_file_options',
        -            'octave_tmp_file_name', 'onCleanup', 'ones',
        -            'optimize_subsasgn_calls', 'or', 'output_max_field_width',
        -            'output_precision', 'page_output_immediately', 'page_screen_output',
        -            'path', 'pathsep', 'pause', 'pclose', 'permute', 'pipe', 'plus',
        -            'popen', 'popen2', 'power', 'print_empty_dimensions',
        -            'print_struct_array_contents', 'printf', 'prod',
        -            'program_invocation_name', 'program_name', 'putenv', 'puts', 'pwd',
        -            'quit', 'rats', 'rdivide', 're_read_readline_init_file',
        -            'read_readline_init_file', 'readdir', 'readlink', 'real', 'realmax',
        -            'realmin', 'register_graphics_toolkit', 'rehash', 'rem',
        -            'remove_input_event_hook', 'rename', 'repelems', 'reset', 'reshape',
        -            'resize', 'restoredefaultpath', 'rethrow', 'rmdir', 'rmfield',
        -            'rmpath', 'round', 'roundb', 'rows', 'run_history', 'save',
        -            'save_header_format_string', 'save_precision', 'saving_history',
        -            'scanf', 'set', 'setenv', 'sighup_dumps_octave_core', 'sign',
        -            'sigterm_dumps_octave_core', 'silent_functions', 'sin',
        -            'sinh', 'size', 'size_equal', 'sizemax', 'sizeof', 'sleep', 'sort',
        -            'source', 'spalloc', 'sparse', 'sparse_auto_mutate',
        -            'split_long_rows', 'sprintf', 'sqrt', 'squeeze', 'sscanf', 'stat',
        -            'stderr', 'stdin', 'stdout', 'str2func', 'strcmp', 'strcmpi',
        -            'string_fill_char', 'strncmp', 'strncmpi', 'struct2cell',
        -            'struct_levels_to_print', 'strvcat', 'subsasgn', 'subsref', 'sum',
        -            'sumsq', 'superiorto', 'suppress_verbose_help_message', 'symlink',
        -            'system', 'tan', 'tanh', 'terminal_size', 'tic', 'tilde_expand',
        -            'times', 'tmpfile', 'tmpnam', 'toascii', 'toc', 'tolower', 'toupper',
        -            'transpose', 'typeinfo',
        -            'umask', 'uminus', 'uname', 'undo_string_escapes', 'unlink',
        -            'uplus', 'upper', 'usage', 'usleep', 'vec', 'vectorize', 'vertcat',
        -            'waitfor', 'waitpid', 'warning', 'warranty', 'who', 'whos',
        -            'whos_line_format', 'yes_or_no', 'zeros'
        -            ),
        -        // Octave functions
        -        6 => array(
        -            'accumarray', 'accumdim', 'acosd', 'acot', 'acotd', 'acoth', 'acsc',
        -            'acscd', 'acsch', 'addpref', 'addtodate', 'allchild', 'amd',
        -            'ancestor', 'anova', 'arch_fit', 'arch_rnd', 'arch_test',
        -            'area', 'arma_rnd', 'asctime', 'asec', 'asecd', 'asech', 'asind',
        -            'assert', 'atand', 'autoreg_matrix', 'autumn',
        -            'axes', 'axis', 'balance', 'bar', 'barh', 'bartlett', 'bartlett_test',
        -            'base2dec', 'beep', 'bessel', 'besselj', 'beta', 'betacdf',
        -            'betainc', 'betainv', 'betaln', 'betapdf', 'betarnd', 'bicg',
        -            'bicgstab', 'bicubic', 'bin2dec', 'bincoeff', 'binocdf', 'binoinv',
        -            'binopdf', 'binornd', 'bitcmp', 'bitget', 'bitset', 'blackman',
        -            'blanks', 'blkdiag', 'bone', 'box', 'brighten', 'bsxfun',
        -            'bug_report', 'bunzip2', 'bzip2', 'calendar', 'cart2pol', 'cart2sph',
        -            'cast', 'cauchy_cdf', 'cauchy_inv', 'cauchy_pdf', 'cauchy_rnd',
        -            'caxis', 'ccolamd', 'cell2mat', 'celldisp', 'cellfun',
        -            'center', 'cgs', 'chi2cdf', 'chi2inv', 'chi2pdf', 'chi2rnd',
        -            'chisquare_test_homogeneity', 'chisquare_test_independence', 'chol',
        -            'chop', 'circshift', 'cla', 'clabel', 'clf', 'clock',
        -            'cloglog', 'close', 'closereq', 'colamd', 'colloc', 'colon',
        -            'colorbar', 'colormap', 'colperm', 'colstyle', 'comet', 'comet3',
        -            'comma', 'common_size', 'commutation_matrix', 'compan',
        -            'compare_versions', 'compass', 'computer', 'cond', 'condest',
        -            'contour', 'contour3', 'contourc', 'contourf', 'contrast', 'conv',
        -            'conv2', 'convhull', 'convhulln', 'cool', 'copper', 'copyfile',
        -            'cor_test', 'corr', 'cosd', 'cot', 'cotd', 'coth', 'cov',
        -            'cplxpair', 'cross', 'csc', 'cscd', 'csch', 'cstrcat',
        -            'csvread', 'csvwrite', 'ctime', 'cumtrapz', 'curl', 'cylinder',
        -            'daspect', 'daspk', 'dasrt', 'dassl', 'date', 'datenum', 'datestr',
        -            'datetick', 'datevec', 'dblquad', 'deal', 'deblank', 'debug',
        -            'dec2base', 'dec2bin', 'dec2hex', 'deconv', 'del2', 'delaunay',
        -            'delaunay3', 'delaunayn', 'delete', 'demo', 'det', 'detrend',
        -            'diffpara', 'diffuse', 'dir', 'discrete_cdf', 'discrete_inv',
        -            'discrete_pdf', 'discrete_rnd', 'display', 'divergence',
        -            'dlmread', 'dlmwrite', 'dmperm', 'doc', 'dos', 'dot', 'dsearch',
        -            'dsearchn', 'dump_prefs', 'duplication_matrix', 'durbinlevinson',
        -            'edit', 'eig', 'eigs', 'ellipsoid', 'empirical_cdf', 'empirical_inv',
        -            'empirical_pdf', 'empirical_rnd', 'eomday', 'errorbar',
        -            'etime', 'etreeplot', 'example', 'expcdf', 'expinv', 'expm', 'exppdf',
        -            'exprnd', 'ezcontour', 'ezcontourf', 'ezmesh', 'ezmeshc', 'ezplot',
        -            'ezplot3', 'ezpolar', 'ezsurf', 'ezsurfc', 'f_test_regression',
        -            'fact', 'factor', 'factorial', 'fail', 'fcdf', 'feather', 'fft',
        -            'fft2', 'fftconv', 'fftfilt', 'fftn', 'fftshift', 'fftw', 'figure',
        -            'fileattrib', 'fileparts', 'fileread', 'fill', 'filter', 'filter2',
        -            'find', 'findall', 'findobj', 'findstr', 'finv', 'flag', 'flipdim',
        -            'fliplr', 'flipud', 'fminbnd', 'fminunc', 'fpdf', 'fplot',
        -            'fractdiff', 'freqz', 'freqz_plot', 'frnd', 'fsolve',
        -            'fullfile', 'fzero', 'gamcdf', 'gaminv', 'gammainc',
        -            'gampdf', 'gamrnd', 'gca', 'gcbf', 'gcbo', 'gcd', 'gcf',
        -            'gen_doc_cache', 'genvarname', 'geocdf', 'geoinv', 'geopdf', 'geornd',
        -            'get_first_help_sentence', 'getappdata', 'getfield', 'getgrent',
        -            'getpref', 'getpwent', 'getrusage', 'ginput', 'givens', 'glpk',
        -            'gls', 'gmap40', 'gmres', 'gnuplot_binary', 'gplot',
        -            'gradient', 'graphics_toolkit', 'gray', 'gray2ind', 'grid',
        -            'griddata', 'griddata3', 'griddatan', 'gtext', 'guidata',
        -            'guihandles', 'gunzip', 'gzip', 'hadamard', 'hamming', 'hankel',
        -            'hanning', 'help', 'hess', 'hex2dec', 'hex2num', 'hggroup', 'hidden',
        -            'hilb', 'hist', 'histc', 'hold', 'hot', 'hotelling_test',
        -            'hotelling_test_2', 'housh', 'hsv', 'hsv2rgb', 'hurst', 'hygecdf',
        -            'hygeinv', 'hygepdf', 'hygernd', 'idivide', 'ifftshift', 'image',
        -            'imagesc', 'imfinfo', 'imread', 'imshow', 'imwrite', 'ind2gray',
        -            'ind2rgb', 'index', 'info', 'inpolygon', 'inputname', 'int2str',
        -            'interp1', 'interp1q', 'interp2', 'interp3', 'interpft', 'interpn',
        -            'intersect', 'inv', 'invhilb', 'iqr',
        -            'is_leap_year', 'is_valid_file_id',
        -            'isa', 'isappdata', 'iscolumn', 'isdefinite', 'isdeployed', 'isdir',
        -            'isequal', 'isequalwithequalnans', 'isfigure', 'ishermitian',
        -            'ishghandle', 'ishold', 'isletter', 'ismac', 'ismember', 'isocolors',
        -            'isonormals', 'isosurface', 'ispc', 'ispref', 'isprime', 'isprop',
        -            'isrow', 'isscalar', 'issquare', 'isstrprop', 'issymmetric',
        -            'isunix', 'isvector', 'jet', 'kendall', 'kolmogorov_smirnov_cdf',
        -            'kolmogorov_smirnov_test', 'kolmogorov_smirnov_test_2', 'kron',
        -            'kruskal_wallis_test', 'krylov', 'kurtosis', 'laplace_cdf',
        -            'laplace_inv', 'laplace_pdf', 'laplace_rnd', 'lcm', 'legend',
        -            'legendre', 'license', 'lin2mu', 'line', 'linkprop', 'list_primes',
        -            'loadaudio', 'loadobj', 'logistic_cdf', 'logistic_inv',
        -            'logistic_pdf', 'logistic_regression', 'logistic_rnd', 'logit',
        -            'loglog', 'loglogerr', 'logm', 'logncdf', 'logninv', 'lognpdf',
        -            'lognrnd', 'logspace', 'lookfor', 'lookup', 'ls', 'ls_command',
        -            'lsode', 'lsqnonneg', 'lu', 'luinc', 'magic', 'mahalanobis', 'manova',
        -            'mat2str', 'matlabroot', 'matrix_type', 'max', 'mcnemar_test',
        -            'md5sum', 'mean', 'meansq', 'median', 'menu', 'mesh', 'meshc',
        -            'meshgrid', 'meshz', 'mex', 'mexext', 'mgorth', 'mkoctfile', 'mkpp',
        -            'mode', 'moment', 'movefile', 'mpoles', 'mu2lin', 'namelengthmax',
        -            'nargchk', 'narginchk', 'nargoutchk', 'nbincdf', 'nbininv', 'nbinpdf',
        -            'nbinrnd', 'nchoosek', 'ndgrid', 'newplot', 'news', 'nextpow2',
        -            'nonzeros', 'normcdf', 'normest', 'norminv', 'normpdf', 'normrnd',
        -            'now', 'nproc', 'nthargout', 'nthroot', 'ntsc2rgb', 'null', 'num2str',
        -            'ocean', 'ols', 'onenormest', 'optimget', 'optimset', 'orderfields',
        -            'orient', 'orth', 'pack', 'paren', 'pareto', 'parseparams', 'pascal',
        -            'patch', 'pathdef', 'pbaspect', 'pcg', 'pchip', 'pcolor', 'pcr',
        -            'peaks', 'periodogram', 'perl', 'perms', 'pie', 'pie3',
        -            'pink', 'pinv', 'pkg', 'planerot', 'playaudio', 'plot', 'plot3',
        -            'plotmatrix', 'plotyy', 'poisscdf', 'poissinv', 'poisspdf',
        -            'poissrnd', 'pol2cart', 'polar', 'poly', 'polyaffine', 'polyarea',
        -            'polyder', 'polyfit', 'polygcd', 'polyint', 'polyout',
        -            'polyreduce', 'polyval', 'polyvalm', 'postpad', 'pow2', 'powerset',
        -            'ppder', 'ppint', 'ppjumps', 'ppplot', 'ppval', 'pqpnonneg',
        -            'prctile', 'prepad', 'primes', 'print', 'printAllBuiltins',
        -            'print_usage', 'prism', 'probit', 'profexplore', 'profile',
        -            'profshow', 'prop_test_2', 'python', 'qp', 'qqplot', 'qr', 'quad',
        -            'quadcc', 'quadgk', 'quadl', 'quadv', 'quantile', 'quiver', 'quiver3',
        -            'qz', 'qzhess', 'rainbow', 'rand', 'randi', 'range', 'rank', 'ranks',
        -            'rat', 'rcond', 'reallog', 'realpow', 'realsqrt', 'record',
        -            'rectangle', 'rectint', 'recycle', 'refresh', 'refreshdata', 'regexp',
        -            'regexptranslate', 'repmat', 'residue', 'rgb2hsv',
        -            'rgb2ind', 'rgb2ntsc', 'ribbon', 'rindex', 'rmappdata', 'rmpref',
        -            'roots', 'rose', 'rosser', 'rot90', 'rotdim', 'rref', 'run',
        -            'run_count', 'run_test', 'rundemos', 'runlength', 'runtests',
        -            'saveas', 'saveaudio', 'saveobj', 'savepath', 'scatter',
        -            'scatter3', 'schur', 'sec', 'secd', 'sech', 'semicolon', 'semilogx',
        -            'semilogxerr', 'semilogy', 'semilogyerr', 'setappdata', 'setaudio',
        -            'setdiff', 'setfield', 'setpref', 'setxor', 'shading',
        -            'shg', 'shift', 'shiftdim', 'sign_test', 'sinc', 'sind',
        -            'sinetone', 'sinewave', 'skewness', 'slice', 'sombrero', 'sortrows',
        -            'spaugment', 'spconvert', 'spdiags', 'spearman', 'spectral_adf',
        -            'spectral_xdf', 'specular', 'speed', 'spencer', 'speye', 'spfun',
        -            'sph2cart', 'sphere', 'spinmap', 'spline', 'spones', 'spparms',
        -            'sprand', 'sprandn', 'sprandsym', 'spring', 'spstats', 'spy', 'sqp',
        -            'sqrtm', 'stairs', 'statistics', 'std', 'stdnormal_cdf',
        -            'stdnormal_inv', 'stdnormal_pdf', 'stdnormal_rnd', 'stem', 'stem3',
        -            'stft', 'str2double', 'str2num', 'strcat', 'strchr',
        -            'strfind', 'strjust', 'strmatch', 'strread', 'strsplit', 'strtok',
        -            'strtrim', 'strtrunc', 'structfun', 'sub2ind',
        -            'subplot', 'subsindex', 'subspace', 'substr', 'substruct', 'summer',
        -            'surf', 'surface', 'surfc', 'surfl', 'surfnorm', 'svd', 'svds',
        -            'swapbytes', 'syl', 'symbfact', 'symrcm',
        -            'symvar', 'synthesis', 't_test', 't_test_2', 't_test_regression',
        -            'table', 'tand', 'tar', 'tcdf', 'tempdir', 'tempname', 'test', 'text',
        -            'textread', 'textscan', 'time', 'tinv', 'title', 'toeplitz', 'tpdf',
        -            'trace', 'trapz', 'treelayout', 'treeplot', 'tril', 'trimesh',
        -            'triplequad', 'triplot', 'trisurf', 'trnd', 'tsearch', 'tsearchn',
        -            'type', 'typecast', 'u_test', 'uicontextmenu', 'uicontrol',
        -            'uigetdir', 'uigetfile', 'uimenu', 'uipanel', 'uipushtool',
        -            'uiputfile', 'uiresume', 'uitoggletool', 'uitoolbar', 'uiwait',
        -            'unidcdf', 'unidinv', 'unidpdf', 'unidrnd', 'unifcdf', 'unifinv',
        -            'unifpdf', 'unifrnd', 'unimplemented', 'union', 'unique', 'unix',
        -            'unmkpp', 'unpack', 'untabify', 'untar', 'unwrap', 'unzip',
        -            'urlwrite', 'usejava', 'validatestring', 'vander', 'var',
        -            'var_test', 'vech', 'ver', 'version', 'view', 'voronoi', 'voronoin',
        -            'waitbar', 'waitforbuttonpress', 'warning_ids', 'wavread', 'wavwrite',
        -            'wblcdf', 'wblinv', 'wblpdf', 'wblrnd', 'weekday',
        -            'welch_test', 'what', 'which',
        -            'white', 'whitebg', 'wienrnd', 'wilcoxon_test', 'wilkinson', 'winter',
        -            'xlabel', 'xlim', 'xor', 'ylabel', 'ylim', 'yulewalker', 'z_test',
        -            'z_test_2', 'zip', 'zlabel', 'zlim', 'zscore', 'airy', 'arrayfun',
        -            'besselh', 'besseli', 'besselk', 'bessely', 'bitpack', 'bitunpack',
        -            'blkmm', 'cellindexmat', 'cellslices', 'chol2inv', 'choldelete',
        -            'cholinsert', 'cholinv', 'cholshift', 'cholupdate', 'convn',
        -            'csymamd', 'cummax', 'cummin', 'daspk_options', 'dasrt_options',
        -            'dassl_options', 'endgrent', 'endpwent', 'etree', 'getgrgid',
        -            'getgrnam', 'getpwnam', 'getpwuid', 'gmtime', 'gui_mode', 'ifft',
        -            'ifft2', 'ifftn', 'ind2sub', 'inverse', 'localtime', 'lsode_options',
        -            'luupdate', 'mat2cell', 'min', 'mktime', 'mouse_wheel_zoom',
        -            'num2cell', 'num2hex', 'qrdelete', 'qrinsert', 'qrshift', 'qrupdate',
        -            'quad_options', 'rande', 'randg', 'randn', 'randp', 'randperm',
        -            'regexpi', 'regexprep', 'rsf2csf', 'setgrent', 'setpwent', 'sprank',
        -            'strftime', 'strptime', 'strrep', 'svd_driver', 'symamd', 'triu',
        -            'urlread'
        -            ),
        -        // Private builtin
        -        7 => array(
        -            '__accumarray_max__', '__accumarray_min__', '__accumarray_sum__',
        -            '__accumdim_sum__', '__builtins__', '__calc_dimensions__',
        -            '__current_scope__', '__display_tokens__', '__dump_symtab_info__',
        -            '__end__', '__get__', '__go_axes__', '__go_axes_init__',
        -            '__go_delete__', '__go_execute_callback__', '__go_figure__',
        -            '__go_figure_handles__', '__go_handles__', '__go_hggroup__',
        -            '__go_image__', '__go_line__', '__go_patch__', '__go_surface__',
        -            '__go_text__', '__go_uicontextmenu__', '__go_uicontrol__',
        -            '__go_uimenu__', '__go_uipanel__', '__go_uipushtool__',
        -            '__go_uitoggletool__', '__go_uitoolbar__', '__gud_mode__',
        -            '__image_pixel_size__', '__is_handle_visible__', '__isa_parent__',
        -            '__keywords__', '__lexer_debug_flag__', '__list_functions__',
        -            '__operators__', '__parent_classes__', '__parser_debug_flag__',
        -            '__pathorig__', '__profiler_data__', '__profiler_enable__',
        -            '__profiler_reset__', '__request_drawnow__', '__sort_rows_idx__',
        -            '__token_count__', '__varval__', '__version_info__', '__which__'
        -        ),
        -        // Private Octave functions
        -        8 => array(
        -            '__all_opts__', '__contourc__', '__delaunayn__', '__dispatch__',
        -            '__dsearchn__', '__finish__', '__fltk_uigetfile__',
        -            '__glpk__', '__gnuplot_drawnow__', '__init_fltk__',
        -            '__init_gnuplot__', '__lin_interpn__', '__magick_read__',
        -            '__makeinfo__', '__pchip_deriv__', '__plt_get_axis_arg__', '__qp__',
        -            '__voronoi__', '__fltk_maxtime__', '__fltk_redraw__', '__ftp__',
        -            '__ftp_ascii__', '__ftp_binary__', '__ftp_close__', '__ftp_cwd__',
        -            '__ftp_delete__', '__ftp_dir__', '__ftp_mget__', '__ftp_mkdir__',
        -            '__ftp_mode__', '__ftp_mput__', '__ftp_pwd__', '__ftp_rename__',
        -            '__ftp_rmdir__', '__magick_finfo__', '__magick_format_list__',
        -            '__magick_write__'
        -            ),
        -        // Builtin Global Variables
        -        9 => array(
        -            'EDITOR', 'EXEC_PATH', 'F_DUPFD', 'F_GETFD', 'F_GETFL', 'F_SETFD',
        -            'F_SETFL', 'IMAGE_PATH', 'OCTAVE_HOME',
        -            'OCTAVE_VERSION', 'O_APPEND', 'O_ASYNC', 'O_CREAT', 'O_EXCL',
        -            'O_NONBLOCK', 'O_RDONLY', 'O_RDWR', 'O_SYNC', 'O_TRUNC', 'O_WRONLY',
        -            'PAGER', 'PAGER_FLAGS', 'PS1', 'PS2', 'PS4', 'SEEK_CUR', 'SEEK_END',
        -            'SEEK_SET', 'SIG', 'S_ISBLK', 'S_ISCHR', 'S_ISDIR', 'S_ISFIFO',
        -            'S_ISLNK', 'S_ISREG', 'S_ISSOCK', 'WCONTINUE', 'WCOREDUMP',
        -            'WEXITSTATUS', 'WIFCONTINUED', 'WIFEXITED', 'WIFSIGNALED',
        -            'WIFSTOPPED', 'WNOHANG', 'WSTOPSIG', 'WTERMSIG', 'WUNTRACED'
        -            ),
        -        // Constant functions
        -        10 => array (
        -            'e', 'eps', 'inf', 'Inf', 'nan', 'NaN', 'NA', 'pi', 'i', 'I', 'j',
        -            'J', 'true', 'false'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        // Comparison & logical
        -        0 => array(
        -            '!', '!=', '&', '&&','|', '||', '~', '~=',
        -            '<', '<=', '==', '>', '>='
        -            ),
        -        // Aritmethical
        -        1 => array(
        -            '*', '**', '+', '++', '-', '--', '/', "\\","'"
        -            ),
        -        // Elementwise arithmetical
        -        2 => array(
        -            '.*', '.**','./', '.^', '^',".\\",".'"
        -            ),
        -        // Arithmetical & assignation
        -        3 => array(
        -            '*=','+=','-=','/=','\=','**=','^=',
        -            '.*=','.+=','.-=','./=','.\=','.**=','.^=','='
        -            ),
        -        // Indexer
        -        4 => array(
        -            ':'
        -            ),
        -        // Delimiters
        -        5 => array(
        -            ',', '...', ';'
        -            ),
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true,
        -        9 => true,
        -        10 => true,
        -        ),
        -    'URLS' => array(
        -        1 => 'http://octave.sourceforge.net/octave/function/{FNAME}.html',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => 'http://octave.sourceforge.net/octave/function/{FNAME}.html',
        -        6 => 'http://octave.sourceforge.net/octave/function/{FNAME}.html',
        -        7 => '',
        -        8 => '',
        -        9 => 'http://octave.sourceforge.net/octave/function/{FNAME}.html',
        -        10 => 'http://octave.sourceforge.net/octave/function/{FNAME}.html',
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        ),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'STYLES' => array(
        -        'COMMENTS' => array(
        -            1 => 'color: #0000FF; font-style: italic;', // single quote strings
        -            2 => 'color: #0000FF; font-style: italic;', // double quote strings
        -            3 => 'color: #FF00FF; font-style: italic;', // single quote strings
        -            4 => 'color: #FF00FF; font-style: italic;', // double quote strings
        -            5 => 'color: #0000FF; font-style: italic;', // block comments
        -            6 => 'color: #996600; font-weight:bold;',   // packaging system
        -            7 => 'color: #006600; font-weight:bold;',   // function handles
        -            'MULTI' => 'color: #0000FF; font-style: italic;',
        -            ),
        -        'KEYWORDS' => array(
        -            1 => 'color: #2E8B57; font-weight:bold;',   // Data types
        -            2 => 'color: #2E8B57;',                     // Storage type
        -            3 => 'color: #0000FF; font-weight:bold;',   // Internal variable
        -            4 => 'color: #990000; font-weight:bold;',   // Reserved words
        -            5 => 'color: #008A8C; font-weight:bold;',   // Built-in
        -            6 => 'color: #008A8C;',                     // Octave functions
        -            9 => 'color: #000000; font-weight:bold;',   // Builtin Global Variables
        -            10 => 'color: #008A8C; font-weight:bold;',  // Constant functions
        -            ),
        -        'ESCAPE_CHAR' => array(),
        -        'BRACKETS' => array(
        -            0 => 'color: #080;',
        -            ),
        -        'STRINGS' => array(
        -            // strings were specified on the COMMENT_REGEXP section
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            ),
        -        'METHODS' => array(),
        -        'SYMBOLS' => array(
        -            0 => 'color: #FF9696; font-weight:bold;',   // Comparison & logical
        -            1 => 'color: #CC0000; font-weight:bold;',   // Aritmethical
        -            2 => 'color: #993333; font-weight:bold;',   // Elementwise arithmetical
        -            3 => 'color: #FF0000; font-weight:bold;',   // Arithmetical & assignation
        -            4 => 'color: #33F;',                        // Indexer
        -            5 => 'color: #33F;',                        // Delimiters
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array(),
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/oobas.php b/vendor/easybook/geshi/geshi/oobas.php
        deleted file mode 100644
        index 25c345b..0000000
        --- a/vendor/easybook/geshi/geshi/oobas.php
        +++ /dev/null
        @@ -1,133 +0,0 @@
        - 'OpenOffice.org Basic',
        -    'COMMENT_SINGLE' => array(1 => "'"),
        -    'COMMENT_MULTI' => array(),
        -    //Single-Line comments using REM keyword
        -    'COMMENT_REGEXP' => array(2 => '/\bREM.*?$/i'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'dim','private','public','global','as','if','redim','true','set','byval',
        -            'false','bool','double','integer','long','object','single','variant',
        -            'msgbox','print','inputbox','green','blue','red','qbcolor',
        -            'rgb','open','close','reset','freefile','get','input','line',
        -            'put','write','loc','seek','eof','lof','chdir','chdrive',
        -            'curdir','dir','fileattr','filecopy','filedatetime','fileexists',
        -            'filelen','getattr','kill','mkdir','name','rmdir','setattr',
        -            'dateserial','datevalue','day','month','weekday','year','cdatetoiso',
        -            'cdatefromiso','hour','minute','second','timeserial','timevalue',
        -            'date','now','time','timer','erl','err','error','on','goto','resume',
        -            'and','eqv','imp','not','or','xor','mod','atn','cos','sin','tan','log',
        -            'exp','rnd','randomize','sqr','fix','int','abs','sgn','hex','oct',
        -            'it','then','else','select','case','iif','do','loop','for','next','to',
        -            'while','wend','gosub','return','call','choose','declare',
        -            'end','exit','freelibrary','function','rem','stop','sub','switch','with',
        -            'cbool','cdate','cdbl','cint','clng','const','csng','cstr','defbool',
        -            'defdate','defdbl','defint','deflng','asc','chr','str','val','cbyte',
        -            'space','string','format','lcase','left','lset','ltrim','mid','right',
        -            'rset','rtrim','trim','ucase','split','join','converttourl','convertfromurl',
        -            'instr','len','strcomp','beep','shell','wait','getsystemticks','environ',
        -            'getsolarversion','getguitype','twipsperpixelx','twipsperpixely',
        -            'createunostruct','createunoservice','getprocessservicemanager',
        -            'createunodialog','createunolistener','createunovalue','thiscomponent',
        -            'globalscope'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080;',
        -            2 => 'color: #808080;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/oorexx.php b/vendor/easybook/geshi/geshi/oorexx.php
        deleted file mode 100644
        index 15cdd92..0000000
        --- a/vendor/easybook/geshi/geshi/oorexx.php
        +++ /dev/null
        @@ -1,169 +0,0 @@
        - 'ooRexx',
        -    'COMMENT_SINGLE' => array(1 => '--'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'address', 'arg', 'attribute', 'call', 'constant', 'do',
        -            'drop', 'exit', 'if',
        -            'interpret', 'iterate', 'leave', 'loop', 'nop', 'numeric',
        -            'parse', 'procedure', 'pull', 'push', 'queue',
        -            'raise', 'reply', 'return', 'say', 'select', 'signal',
        -            'use'
        -            ),
        -        2 => array(
        -            'abstract', 'any', 'arguments', 'array', 'by',
        -            'continue', 'digits', 'engineering', 'error',
        -            'expose', 'external', 'failure', 'for', 'forever',
        -            'forward', 'get', 'guard', 'guarded', 'halt',
        -            'inherit', 'library', 'lostdigits', 'message',
        -            'metaclass', 'mixinclass', 'name', 'nomethod', 'nostring',
        -            'notready', 'novalue', 'off', 'on', 'options', 'over',
        -            'private', 'protected', 'public', 'scientific', 'set',
        -            'source', 'subclass', 'syntax', 'to', 'unguarded',
        -            'unprotected', 'until', 'user',
        -            'version', 'while', 'with'
        -            ),
        -        3 => array(
        -            'else', 'end', 'otherwise', 'then', 'when'
        -            ),
        -        4 => array(
        -            'rc', 'result', 'self', 'sigl', 'super'
        -            ),
        -        5 => array(
        -            '::attribute', '::class', '::constant', '::method',
        -            '::optins', '::requires', '::routine'
        -            ),
        -        6 => array(
        -            'abbrev', 'abs', 'beep', 'bitand', 'bitor',
        -            'bitxor', 'b2x', 'center', 'centre', 'changestr', 'charin',
        -            'charout', 'chars', 'compare', 'condition', 'copies',
        -            'countstr', 'c2d', 'c2x', 'datatype', 'date', 'delstr',
        -            'delword', 'directory', 'd2c', 'd2x', 'endlocal',
        -            'errortext', 'filespec', 'form', 'format', 'fuzz', 'insert',
        -            'lastpos', 'left', 'length', 'linein', 'lineout', 'lines',
        -            'lower', 'max', 'min', 'overlay', 'pos', 'qualify', 'queued',
        -            'random', 'reverse', 'right', 'rxfuncadd', 'rxfuncdrop',
        -            'rxfuncquery', 'rxqueue', 'setlocal', 'sign', 'sourceline',
        -            'space', 'stream', 'strip', 'substr', 'subword', 'symbol',
        -            'time', 'trace', 'translate', 'trunc', 'upper', 'userid',
        -            'value', 'var', 'verify', 'word', 'wordindex', 'wordlength',
        -            'wordpos', 'words', 'xrange', 'x2b', 'x2c', 'x2d'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '<', '>', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':',
        -        '<', '>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #ff0000; font-weight: bold;',
        -            3 => 'color: #00ff00; font-weight: bold;',
        -            4 => 'color: #0000ff; font-weight: bold;',
        -            5 => 'color: #880088; font-weight: bold;',
        -            6 => 'color: #888800; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666;',
        -            'MULTI' => 'color: #808080;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/oracle11.php b/vendor/easybook/geshi/geshi/oracle11.php
        deleted file mode 100644
        index 97b147f..0000000
        --- a/vendor/easybook/geshi/geshi/oracle11.php
        +++ /dev/null
        @@ -1,612 +0,0 @@
        - 'Oracle 11 SQL',
        -    'COMMENT_SINGLE' => array(1 => '--'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array("'", '"', '`'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -//Put your package names here - e.g. select distinct ''''|| lower(name) || ''',' from user_source;
        -//        6 => array(
        -//            ),
        -
        -//Put your table names here - e.g. select distinct ''''|| lower(table_name) || ''',' from user_tables;
        -//        5 => array(
        -//            ),
        -
        -//Put your view names here - e.g. select distinct ''''|| lower(view_name) || ''',' from user_views;
        -//        4 => array(
        -//            ),
        -
        -//Put your table field names here - e.g. select distinct ''''|| lower(column_name) || ''',' from user_tab_columns;
        -//        3 => array(
        -//            ),
        -
        -        //Put ORACLE reserved keywords here (11i).  I like mine uppercase.
        -        1 => array(
        -            'ABS',
        -            'ACCESS',
        -            'ACOS',
        -            'ADD',
        -            'ADD_MONTHS',
        -            'ALL',
        -            'ALTER',
        -            'ANALYZE',
        -            'AND',
        -            'ANY',
        -            'APPENDCHILDXML',
        -            'ARRAY',
        -            'AS',
        -            'ASC',
        -            'ASCII',
        -            'ASCIISTR',
        -            'ASIN',
        -            'ASSOCIATE',
        -            'AT',
        -            'ATAN',
        -            'ATAN2',
        -            'AUDIT',
        -            'AUTHID',
        -            'AVG',
        -            'BEGIN',
        -            'BETWEEN',
        -            'BFILENAME',
        -            'BIN_TO_NUM',
        -            'BINARY_INTEGER',
        -            'BITAND',
        -            'BODY',
        -            'BOOLEAN',
        -            'BULK',
        -            'BY',
        -            'CALL',
        -            'CARDINALITY',
        -            'CASCADE',
        -            'CASE',
        -            'CAST',
        -            'CEIL',
        -            'CHAR',
        -            'CHAR_BASE',
        -            'CHARTOROWID',
        -            'CHECK',
        -            'CHR',
        -            'CLOSE',
        -            'CLUSTER',
        -            'CLUSTER_ID',
        -            'CLUSTER_PROBABILITY',
        -            'CLUSTER_SET',
        -            'COALESCE',
        -            'COLLECT',
        -            'COLUMN',
        -            'COMMENT',
        -            'COMMIT',
        -            'COMPOSE',
        -            'COMPRESS',
        -            'CONCAT',
        -            'CONNECT',
        -            'CONSTANT',
        -            'CONSTRAINT',
        -            'CONSTRAINTS',
        -            'CONTEXT',
        -            'CONTROLFILE',
        -            'CONVERT',
        -            'CORR',
        -            'CORR_K',
        -            'CORR_S',
        -            'COS',
        -            'COSH',
        -            'COST',
        -            'COUNT',
        -            'COVAR_POP',
        -            'COVAR_SAMP',
        -            'CREATE',
        -            'CUBE_TABLE',
        -            'CUME_DIST',
        -            'CURRENT',
        -            'CURRENT_DATE',
        -            'CURRENT_TIMESTAMP',
        -            'CURRVAL',
        -            'CURSOR',
        -            'CV',
        -            'DATABASE',
        -            'DATAOBJ_TO_PARTITION',
        -            'DATE',
        -            'DAY',
        -            'DBTIMEZONE',
        -            'DECIMAL',
        -            'DECLARE',
        -            'DECODE',
        -            'DECOMPOSE',
        -            'DEFAULT',
        -            'DELETE',
        -            'DELETEXML',
        -            'DENSE_RANK',
        -            'DEPTH',
        -            'DEREF',
        -            'DESC',
        -            'DIMENSION',
        -            'DIRECTORY',
        -            'DISASSOCIATE',
        -            'DISTINCT',
        -            'DO',
        -            'DROP',
        -            'DUMP',
        -            'ELSE',
        -            'ELSIF',
        -            'EMPTY_BLOB',
        -            'EMPTY_CLOB',
        -            'END',
        -            'EXCEPTION',
        -            'EXCLUSIVE',
        -            'EXEC',
        -            'EXECUTE',
        -            'EXISTS',
        -            'EXISTSNODE',
        -            'EXIT',
        -            'EXP',
        -            'EXPLAIN',
        -            'EXTENDS',
        -            'EXTRACT',
        -            'EXTRACTVALUE',
        -            'FALSE',
        -            'FEATURE_ID',
        -            'FEATURE_SET',
        -            'FEATURE_VALUE',
        -            'FETCH',
        -            'FILE',
        -            'FIRST',
        -            'FIRST_VALUE',
        -            'FLOAT',
        -            'FLOOR',
        -            'FOR',
        -            'FORALL',
        -            'FROM',
        -            'FROM_TZ',
        -            'FUNCTION',
        -            'GOTO',
        -            'GRANT',
        -            'GREATEST',
        -            'GROUP',
        -            'GROUP_ID',
        -            'GROUPING',
        -            'GROUPING_ID',
        -            'HAVING',
        -            'HEAP',
        -            'HEXTORAW',
        -            'HOUR',
        -            'IDENTIFIED',
        -            'IF',
        -            'IMMEDIATE',
        -            'IN',
        -            'INCREMENT',
        -            'INDEX',
        -            'INDEXTYPE',
        -            'INDICATOR',
        -            'INITCAP',
        -            'INITIAL',
        -            'INSERT',
        -            'INSERTCHILDXML',
        -            'INSERTXMLBEFORE',
        -            'INSTR',
        -            'INSTRB',
        -            'INTEGER',
        -            'INTERFACE',
        -            'INTERSECT',
        -            'INTERVAL',
        -            'INTO',
        -            'IS',
        -            'ISOLATION',
        -            'ITERATION_NUMBER',
        -            'JAVA',
        -            'KEY',
        -            'LAG',
        -            'LAST',
        -            'LAST_DAY',
        -            'LAST_VALUE',
        -            'LEAD',
        -            'LEAST',
        -            'LENGTH',
        -            'LENGTHB',
        -            'LEVEL',
        -            'LIBRARY',
        -            'LIKE',
        -            'LIMITED',
        -            'LINK',
        -            'LN',
        -            'LNNVL',
        -            'LOCALTIMESTAMP',
        -            'LOCK',
        -            'LOG',
        -            'LONG',
        -            'LOOP',
        -            'LOWER',
        -            'LPAD',
        -            'LTRIM',
        -            'MAKE_REF',
        -            'MATERIALIZED',
        -            'MAX',
        -            'MAXEXTENTS',
        -            'MEDIAN',
        -            'MIN',
        -            'MINUS',
        -            'MINUTE',
        -            'MLSLABEL',
        -            'MOD',
        -            'MODE',
        -            'MODIFY',
        -            'MONTH',
        -            'MONTHS_BETWEEN',
        -            'NANVL',
        -            'NATURAL',
        -            'NATURALN',
        -            'NCHR',
        -            'NEW',
        -            'NEW_TIME',
        -            'NEXT_DAY',
        -            'NEXTVAL',
        -            'NLS_CHARSET_DECL_LEN',
        -            'NLS_CHARSET_ID',
        -            'NLS_CHARSET_NAME',
        -            'NLS_INITCAP',
        -            'NLS_LOWER',
        -            'NLS_UPPER',
        -            'NLSSORT',
        -            'NOAUDIT',
        -            'NOCOMPRESS',
        -            'NOCOPY',
        -            'NOT',
        -            'NOWAIT',
        -            'NTILE',
        -            'NULL',
        -            'NULLIF',
        -            'NUMBER',
        -            'NUMBER_BASE',
        -            'NUMTODSINTERVAL',
        -            'NUMTOYMINTERVAL',
        -            'NVL',
        -            'NVL2',
        -            'OCIROWID',
        -            'OF',
        -            'OFFLINE',
        -            'ON',
        -            'ONLINE',
        -            'OPAQUE',
        -            'OPEN',
        -            'OPERATOR',
        -            'OPTION',
        -            'OR',
        -            'ORA_HASH',
        -            'ORDER',
        -            'ORGANIZATION',
        -            'OTHERS',
        -            'OUT',
        -            'OUTLINE',
        -            'PACKAGE',
        -            'PARTITION',
        -            'PATH',
        -            'PCTFREE',
        -            'PERCENT_RANK',
        -            'PERCENTILE_CONT',
        -            'PERCENTILE_DISC',
        -            'PLAN',
        -            'PLS_INTEGER',
        -            'POSITIVE',
        -            'POSITIVEN',
        -            'POWER',
        -            'POWERMULTISET',
        -            'POWERMULTISET_BY_CARDINALITY',
        -            'PRAGMA',
        -            'PREDICTION',
        -            'PREDICTION_BOUNDS',
        -            'PREDICTION_COST',
        -            'PREDICTION_DETAILS',
        -            'PREDICTION_PROBABILITY',
        -            'PREDICTION_SET',
        -            'PRESENTNNV',
        -            'PRESENTV',
        -            'PREVIOUS',
        -            'PRIMARY',
        -            'PRIOR',
        -            'PRIVATE',
        -            'PRIVILEGES',
        -            'PROCEDURE',
        -            'PROFILE',
        -            'PUBLIC',
        -            'RAISE',
        -            'RANGE',
        -            'RANK',
        -            'RATIO_TO_REPORT',
        -            'RAW',
        -            'RAWTOHEX',
        -            'RAWTONHEX',
        -            'REAL',
        -            'RECORD',
        -            'REF',
        -            'REFTOHEX',
        -            'REGEXP_COUNT',
        -            'REGEXP_INSTR',
        -            'REGEXP_REPLACE',
        -            'REGEXP_SUBSTR',
        -            'REGR_AVGX',
        -            'REGR_AVGY',
        -            'REGR_COUNT',
        -            'REGR_INTERCEPT',
        -            'REGR_R2',
        -            'REGR_SLOPE',
        -            'REGR_SXX',
        -            'REGR_SXY',
        -            'REGR_SYY',
        -            'RELEASE',
        -            'REMAINDER',
        -            'RENAME',
        -            'REPLACE',
        -            'RESOURCE',
        -            'RETURN',
        -            'RETURNING',
        -            'REVERSE',
        -            'REVOKE',
        -            'ROLE',
        -            'ROLLBACK',
        -            'ROUND',
        -            'ROW',
        -            'ROW_NUMBER',
        -            'ROWID',
        -            'ROWIDTOCHAR',
        -            'ROWIDTONCHAR',
        -            'ROWNUM',
        -            'ROWS',
        -            'ROWTYPE',
        -            'RPAD',
        -            'RTRIM',
        -            'SAVEPOINT',
        -            'SCHEMA',
        -            'SCN_TO_TIMESTAMP',
        -            'SECOND',
        -            'SEGMENT',
        -            'SELECT',
        -            'SEPERATE',
        -            'SEQUENCE',
        -            'SESSION',
        -            'SESSIONTIMEZONE',
        -            'SET',
        -            'SHARE',
        -            'SIGN',
        -            'SIN',
        -            'SINH',
        -            'SIZE',
        -            'SMALLINT',
        -            'SOUNDEX',
        -            'SPACE',
        -            'SQL',
        -            'SQLCODE',
        -            'SQLERRM',
        -            'SQRT',
        -            'START',
        -            'STATISTICS',
        -            'STATS_BINOMIAL_TEST',
        -            'STATS_CROSSTAB',
        -            'STATS_F_TEST',
        -            'STATS_KS_TEST',
        -            'STATS_MODE',
        -            'STATS_MW_TEST',
        -            'STATS_ONE_WAY_ANOVA',
        -            'STATS_T_TEST_INDEP',
        -            'STATS_T_TEST_INDEPU',
        -            'STATS_T_TEST_ONE',
        -            'STATS_T_TEST_PAIRED',
        -            'STATS_WSR_TEST',
        -            'STDDEV',
        -            'STDDEV_POP',
        -            'STDDEV_SAMP',
        -            'STOP',
        -            'SUBSTR',
        -            'SUBSTRB',
        -            'SUBTYPE',
        -            'SUCCESSFUL',
        -            'SUM',
        -            'SYNONYM',
        -            'SYS_CONNECT_BY_PATH',
        -            'SYS_CONTEXT',
        -            'SYS_DBURIGEN',
        -            'SYS_EXTRACT_UTC',
        -            'SYS_GUID',
        -            'SYS_TYPEID',
        -            'SYS_XMLAGG',
        -            'SYS_XMLGEN',
        -            'SYSDATE',
        -            'SYSTEM',
        -            'SYSTIMESTAMP',
        -            'TABLE',
        -            'TABLESPACE',
        -            'TAN',
        -            'TANH',
        -            'TEMPORARY',
        -            'THEN',
        -            'TIME',
        -            'TIMESTAMP',
        -            'TIMESTAMP_TO_SCN',
        -            'TIMEZONE_ABBR',
        -            'TIMEZONE_HOUR',
        -            'TIMEZONE_MINUTE',
        -            'TIMEZONE_REGION',
        -            'TIMING',
        -            'TO',
        -            'TO_BINARY_DOUBLE',
        -            'TO_BINARY_FLOAT',
        -            'TO_CHAR',
        -            'TO_CLOB',
        -            'TO_DATE',
        -            'TO_DSINTERVAL',
        -            'TO_LOB',
        -            'TO_MULTI_BYTE',
        -            'TO_NCHAR',
        -            'TO_NCLOB',
        -            'TO_NUMBER',
        -            'TO_SINGLE_BYTE',
        -            'TO_TIMESTAMP',
        -            'TO_TIMESTAMP_TZ',
        -            'TO_YMINTERVAL',
        -            'TRANSACTION',
        -            'TRANSLATE',
        -            'TREAT',
        -            'TRIGGER',
        -            'TRIM',
        -            'TRUE',
        -            'TRUNC',
        -            'TRUNCATE',
        -            'TYPE',
        -            'TZ_OFFSET',
        -            'UI',
        -            'UID',
        -            'UNION',
        -            'UNIQUE',
        -            'UNISTR',
        -            'UPDATE',
        -            'UPDATEXML',
        -            'UPPER',
        -            'USE',
        -            'USER',
        -            'USERENV',
        -            'USING',
        -            'VALIDATE',
        -            'VALUE',
        -            'VALUES',
        -            'VAR_POP',
        -            'VAR_SAMP',
        -            'VARCHAR',
        -            'VARCHAR2',
        -            'VARIANCE',
        -            'VIEW',
        -            'VSIZE',
        -            'WHEN',
        -            'WHENEVER',
        -            'WHERE',
        -            'WHILE',
        -            'WIDTH_BUCKET',
        -            'WITH',
        -            'WORK',
        -            'WRITE',
        -            'XMLAGG',
        -            'XMLCAST',
        -            'XMLCDATA',
        -            'XMLCOLATTVAL',
        -            'XMLCOMMENT',
        -            'XMLCONCAT',
        -            'XMLDIFF',
        -            'XMLELEMENT',
        -            'XMLEXISTS',
        -            'XMLFOREST',
        -            'XMLPARSE',
        -            'XMLPATCH',
        -            'XMLPI',
        -            'XMLQUERY',
        -            'XMLROOT',
        -            'XMLSEQUENCE',
        -            'XMLSERIALIZE',
        -            'XMLTABLE',
        -            'XMLTRANSFORM',
        -            'YEAR',
        -            'ZONE'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '=', '<', '>', '|', '+', '-', '*', '/', ','
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -//        3 => false,
        -//        4 => false,
        -//        5 => false,
        -//        6 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #993333; font-weight: bold; text-transform: uppercase;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #ff0000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -//        3 => '',
        -//        4 => '',
        -//        5 => '',
        -//        6 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/oracle8.php b/vendor/easybook/geshi/geshi/oracle8.php
        deleted file mode 100644
        index b493908..0000000
        --- a/vendor/easybook/geshi/geshi/oracle8.php
        +++ /dev/null
        @@ -1,494 +0,0 @@
        - 'Oracle 8 SQL',
        -    'COMMENT_SINGLE' => array(1 => '--'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array("'", '"', '`'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -//Put your package names here - e.g. select distinct ''''|| lower(name) || ''',' from user_source;
        -//        6 => array(
        -//            ),
        -
        -//Put your table names here - e.g. select distinct ''''|| lower(table_name) || ''',' from user_tables;
        -//        5 => array(
        -//            ),
        -
        -//Put your view names here - e.g. select distinct ''''|| lower(view_name) || ''',' from user_views;
        -//        4 => array(
        -//            ),
        -
        -//Put your table field names here - e.g. select distinct ''''|| lower(column_name) || ''',' from user_tab_columns;
        -//        3 => array(
        -//            ),
        -
        -//Put ORACLE reserved keywords here (8.1.7).  I like mine uppercase.
        -        1 => array(
        -            'ABS',
        -            'ACCESS',
        -            'ACOS',
        -            'ADD',
        -            'ADD_MONTHS',
        -            'ALL',
        -            'ALTER',
        -            'ANALYZE',
        -            'AND',
        -            'ANY',
        -            'ARRAY',
        -            'AS',
        -            'ASC',
        -            'ASCII',
        -            'ASIN',
        -            'ASSOCIATE',
        -            'AT',
        -            'ATAN',
        -            'ATAN2',
        -            'AUDIT',
        -            'AUTHID',
        -            'AVG',
        -            'BEGIN',
        -            'BETWEEN',
        -            'BFILENAME',
        -            'BINARY_INTEGER',
        -            'BITAND',
        -            'BODY',
        -            'BOOLEAN',
        -            'BULK',
        -            'BY',
        -            'CALL',
        -            'CASCADE',
        -            'CASE',
        -            'CEIL',
        -            'CHAR',
        -            'CHAR_BASE',
        -            'CHARTOROWID',
        -            'CHECK',
        -            'CHR',
        -            'CLOSE',
        -            'CLUSTER',
        -            'COALESCE',
        -            'COLLECT',
        -            'COLUMN',
        -            'COMMENT',
        -            'COMMIT',
        -            'COMPRESS',
        -            'CONCAT',
        -            'CONNECT',
        -            'CONSTANT',
        -            'CONSTRAINT',
        -            'CONSTRAINTS',
        -            'CONTEXT',
        -            'CONTROLFILE',
        -            'CONVERT',
        -            'CORR',
        -            'COS',
        -            'COSH',
        -            'COST',
        -            'COUNT',
        -            'COVAR_POP',
        -            'COVAR_SAMP',
        -            'CREATE',
        -            'CUME_DIST',
        -            'CURRENT',
        -            'CURRVAL',
        -            'CURSOR',
        -            'DATABASE',
        -            'DATE',
        -            'DAY',
        -            'DECIMAL',
        -            'DECLARE',
        -            'DECODE',
        -            'DEFAULT',
        -            'DELETE',
        -            'DENSE_RANK',
        -            'DEREF',
        -            'DESC',
        -            'DIMENSION',
        -            'DIRECTORY',
        -            'DISASSOCIATE',
        -            'DISTINCT',
        -            'DO',
        -            'DROP',
        -            'DUMP',
        -            'ELSE',
        -            'ELSIF',
        -            'EMPTY_BLOB',
        -            'EMPTY_CLOB',
        -            'END',
        -            'EXCEPTION',
        -            'EXCLUSIVE',
        -            'EXEC',
        -            'EXECUTE',
        -            'EXISTS',
        -            'EXIT',
        -            'EXP',
        -            'EXPLAIN',
        -            'EXTENDS',
        -            'EXTRACT',
        -            'FALSE',
        -            'FETCH',
        -            'FILE',
        -            'FIRST_VALUE',
        -            'FLOAT',
        -            'FLOOR',
        -            'FOR',
        -            'FORALL',
        -            'FROM',
        -            'FUNCTION',
        -            'GOTO',
        -            'GRANT',
        -            'GREATEST',
        -            'GROUP',
        -            'GROUPING',
        -            'HAVING',
        -            'HEAP',
        -            'HEXTORAW',
        -            'HOUR',
        -            'IDENTIFIED',
        -            'IF',
        -            'IMMEDIATE',
        -            'IN',
        -            'INCREMENT',
        -            'INDEX',
        -            'INDEXTYPE',
        -            'INDICATOR',
        -            'INITCAP',
        -            'INITIAL',
        -            'INSERT',
        -            'INSTR',
        -            'INSTRB',
        -            'INTEGER',
        -            'INTERFACE',
        -            'INTERSECT',
        -            'INTERVAL',
        -            'INTO',
        -            'IS',
        -            'ISOLATION',
        -            'JAVA',
        -            'KEY',
        -            'LAG',
        -            'LAST_DAY',
        -            'LAST_VALUE',
        -            'LEAD',
        -            'LEAST',
        -            'LENGTH',
        -            'LENGTHB',
        -            'LEVEL',
        -            'LIBRARY',
        -            'LIKE',
        -            'LIMITED',
        -            'LINK',
        -            'LN',
        -            'LOCK',
        -            'LOG',
        -            'LONG',
        -            'LOOP',
        -            'LOWER',
        -            'LPAD',
        -            'LTRIM',
        -            'MAKE_REF',
        -            'MATERIALIZED',
        -            'MAX',
        -            'MAXEXTENTS',
        -            'MIN',
        -            'MINUS',
        -            'MINUTE',
        -            'MLSLABEL',
        -            'MOD',
        -            'MODE',
        -            'MODIFY',
        -            'MONTH',
        -            'MONTHS_BETWEEN',
        -            'NATURAL',
        -            'NATURALN',
        -            'NEW',
        -            'NEW_TIME',
        -            'NEXT_DAY',
        -            'NEXTVAL',
        -            'NLS_CHARSET_DECL_LEN',
        -            'NLS_CHARSET_ID',
        -            'NLS_CHARSET_NAME',
        -            'NLS_INITCAP',
        -            'NLS_LOWER',
        -            'NLS_UPPER',
        -            'NLSSORT',
        -            'NOAUDIT',
        -            'NOCOMPRESS',
        -            'NOCOPY',
        -            'NOT',
        -            'NOWAIT',
        -            'NTILE',
        -            'NULL',
        -            'NULLIF',
        -            'NUMBER',
        -            'NUMBER_BASE',
        -            'NUMTODSINTERVAL',
        -            'NUMTOYMINTERVAL',
        -            'NVL',
        -            'NVL2',
        -            'OCIROWID',
        -            'OF',
        -            'OFFLINE',
        -            'ON',
        -            'ONLINE',
        -            'OPAQUE',
        -            'OPEN',
        -            'OPERATOR',
        -            'OPTION',
        -            'OR',
        -            'ORDER',
        -            'ORGANIZATION',
        -            'OTHERS',
        -            'OUT',
        -            'OUTLINE',
        -            'PACKAGE',
        -            'PARTITION',
        -            'PCTFREE',
        -            'PERCENT_RANK',
        -            'PLAN',
        -            'PLS_INTEGER',
        -            'POSITIVE',
        -            'POSITIVEN',
        -            'POWER',
        -            'PRAGMA',
        -            'PRIMARY',
        -            'PRIOR',
        -            'PRIVATE',
        -            'PRIVILEGES',
        -            'PROCEDURE',
        -            'PROFILE',
        -            'PUBLIC',
        -            'RAISE',
        -            'RANGE',
        -            'RANK',
        -            'RATIO_TO_REPORT',
        -            'RAW',
        -            'RAWTOHEX',
        -            'REAL',
        -            'RECORD',
        -            'REF',
        -            'REFTOHEX',
        -            'REGR_AVGX',
        -            'REGR_AVGY',
        -            'REGR_COUNT',
        -            'REGR_INTERCEPT',
        -            'REGR_R2',
        -            'REGR_SLOPE',
        -            'REGR_SXX',
        -            'REGR_SXY',
        -            'REGR_SYY',
        -            'RELEASE',
        -            'RENAME',
        -            'REPLACE',
        -            'RESOURCE',
        -            'RETURN',
        -            'RETURNING',
        -            'REVERSE',
        -            'REVOKE',
        -            'ROLE',
        -            'ROLLBACK',
        -            'ROUND',
        -            'ROW',
        -            'ROW_NUMBER',
        -            'ROWID',
        -            'ROWIDTOCHAR',
        -            'ROWNUM',
        -            'ROWS',
        -            'ROWTYPE',
        -            'RPAD',
        -            'RTRIM',
        -            'SAVEPOINT',
        -            'SCHEMA',
        -            'SECOND',
        -            'SEGMENT',
        -            'SELECT',
        -            'SEPERATE',
        -            'SEQUENCE',
        -            'SESSION',
        -            'SET',
        -            'SHARE',
        -            'SIGN',
        -            'SIN',
        -            'SINH',
        -            'SIZE',
        -            'SMALLINT',
        -            'SOUNDEX',
        -            'SPACE',
        -            'SQL',
        -            'SQLCODE',
        -            'SQLERRM',
        -            'SQRT',
        -            'START',
        -            'STATISTICS',
        -            'STDDEV',
        -            'STDDEV_POP',
        -            'STDDEV_SAMP',
        -            'STOP',
        -            'SUBSTR',
        -            'SUBSTRB',
        -            'SUBTYPE',
        -            'SUCCESSFUL',
        -            'SUM',
        -            'SYNONYM',
        -            'SYS_CONTEXT',
        -            'SYS_GUID',
        -            'SYSDATE',
        -            'SYSTEM',
        -            'TABLE',
        -            'TABLESPACE',
        -            'TAN',
        -            'TANH',
        -            'TEMPORARY',
        -            'THEN',
        -            'TIME',
        -            'TIMESTAMP',
        -            'TIMEZONE_ABBR',
        -            'TIMEZONE_HOUR',
        -            'TIMEZONE_MINUTE',
        -            'TIMEZONE_REGION',
        -            'TIMING',
        -            'TO',
        -            'TO_CHAR',
        -            'TO_DATE',
        -            'TO_LOB',
        -            'TO_MULTI_BYTE',
        -            'TO_NUMBER',
        -            'TO_SINGLE_BYTE',
        -            'TRANSACTION',
        -            'TRANSLATE',
        -            'TRIGGER',
        -            'TRIM',
        -            'TRUE',
        -            'TRUNC',
        -            'TRUNCATE',
        -            'TYPE',
        -            'UI',
        -            'UID',
        -            'UNION',
        -            'UNIQUE',
        -            'UPDATE',
        -            'UPPER',
        -            'USE',
        -            'USER',
        -            'USERENV',
        -            'USING',
        -            'VALIDATE',
        -            'VALUE',
        -            'VALUES',
        -            'VAR_POP',
        -            'VAR_SAMP',
        -            'VARCHAR',
        -            'VARCHAR2',
        -            'VARIANCE',
        -            'VIEW',
        -            'VSIZE',
        -            'WHEN',
        -            'WHENEVER',
        -            'WHERE',
        -            'WHILE',
        -            'WITH',
        -            'WORK',
        -            'WRITE',
        -            'YEAR',
        -            'ZONE'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '=', '<', '>', '|', '+', '-', '*', '/', ','
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -//        3 => false,
        -//        4 => false,
        -//        5 => false,
        -//        6 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #993333; font-weight: bold; text-transform: uppercase;'
        -//Add the styles for groups 3-6 here when used
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #ff0000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -//        3 => '',
        -//        4 => '',
        -//        5 => '',
        -//        6 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/oxygene.php b/vendor/easybook/geshi/geshi/oxygene.php
        deleted file mode 100644
        index dc3bbb3..0000000
        --- a/vendor/easybook/geshi/geshi/oxygene.php
        +++ /dev/null
        @@ -1,153 +0,0 @@
        - 'Oxygene (Delphi Prism)',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'),
        -    //Compiler directives
        -    'COMMENT_REGEXP' => array(2 => '/{\\$.*?}|\\(\\*\\$.*?\\*\\)/U'),
        -    'CASE_KEYWORDS' => 0,
        -    'QUOTEMARKS' => array("'"),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'and',   'begin', 'case', 'const',  'div', 'do', 'downto', 'else',
        -            'end',  'for',  'function', 'if', 'in', 'mod', 'not', 'of', 'or',
        -            'procedure', 'repeat', 'record', 'set', 'shl', 'shr', 'then', 'to',
        -            'type', 'until', 'uses', 'var','while', 'with', 'xor', 'exit', 'break',
        -            'class', 'constructor', 'inherited', 'private', 'public', 'protected',
        -            'property', 'As', 'Is', 'Unit', 'Continue', 'Try', 'Except', 'Forward',
        -            'Interface','Implementation', 'nil', 'out', 'loop', 'namespace', 'true',
        -            'false', 'new', 'ensure', 'require', 'on', 'event', 'delegate', 'method',
        -            'raise', 'assembly', 'module', 'using','locking', 'old', 'invariants', 'operator',
        -            'self', 'async', 'finalizer', 'where', 'yield', 'nullable', 'Future',
        -            'From',  'Finally', 'dynamic'
        -            ),
        -        2 => array(
        -            'override', 'virtual', 'External', 'read', 'add', 'remove','final', 'abstract',
        -            'empty', 'global', 'locked', 'sealed', 'reintroduce', 'implements', 'each',
        -            'default', 'partial', 'finalize', 'enum', 'flags', 'result', 'readonly', 'unsafe',
        -            'pinned', 'matching', 'static', 'has', 'step', 'iterator', 'inline', 'nested',
        -            'Implies', 'Select', 'Order', 'By', 'Desc', 'Asc', 'Group', 'Join', 'Take',
        -            'Skip', 'Concat', 'Union', 'Reverse', 'Distinct', 'Into', 'Equals', 'params',
        -            'sequence', 'index', 'notify', 'Parallel', 'create', 'array', 'Queryable', 'Aspect',
        -            'volatile', 'write'
        -            ),
        -        3 => array(
        -            'chr', 'ord', 'inc', 'dec', 'assert', 'iff', 'assigned','futureAssigned', 'length', 'low', 'high', 'typeOf', 'sizeOf', 'disposeAndNil', 'Coalesce', 'unquote'
        -            ),
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -//        4 => false,
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('(', ')', '[', ']'),
        -        1 => array('.', ',', ':', ';'),
        -        2 => array('@', '^'),
        -        3 => array('=', '+', '-', '*', '/')
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;',
        -//            4 => 'color: #000066; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #008000; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #ff0000; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000066;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #000000;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #9ac;',
        -            1 => 'color: #ff0000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000066;',
        -            1 => 'color: #000066;',
        -            2 => 'color: #000066;',
        -            3 => 'color: #000066;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -//        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        //Hex numbers
        -        0 => '\$[0-9a-fA-F]+',
        -        //Characters
        -        1 => '\#\$?[0-9]{1,3}'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 2
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/oz.php b/vendor/easybook/geshi/geshi/oz.php
        deleted file mode 100644
        index 2bdb785..0000000
        --- a/vendor/easybook/geshi/geshi/oz.php
        +++ /dev/null
        @@ -1,143 +0,0 @@
        - 'OZ',
        -    'COMMENT_SINGLE' => array(1 => '%'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"','\''),
        -    'ESCAPE_CHAR' => '\\',
        -    'NUMBERS' => array(),
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'declare','local','in','end','proc','fun','functor','require','prepare',
        -            'import','export','define','at','case','then','else','of','elseof',
        -            'elsecase','if','elseif','class','from','prop','attr','feat','meth',
        -            'self','true','false','unit','div','mod','andthen','orelse','cond','or',
        -            'dis','choice','not','thread','try','catch','finally','raise','lock',
        -            'skip','fail','for','do'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true
        -        ),
        -    'SYMBOLS' => array(
        -        '@', '!', '|', '<-', ':=', '<', '>', '=<', '>=', '<=', '#', '~', '.',
        -        '*', '-', '+', '/', '<:', '>:', '=:', '=<:', '>=:', '\\=', '\\=:', ',',
        -        '!!', '...', '==', '::', ':::'
        -        ),
        -    'STYLES' => array(
        -        'REGEXPS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #00a030;',
        -            3 => 'color: #bc8f8f;',
        -            4 => 'color: #0000ff;',
        -            5 => 'color: #a020f0;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #bc8f8f;'
        -            ),
        -        'KEYWORDS' => array(
        -            1 => 'color: #a020f0;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #B22222;',
        -            'MULTI' => 'color: #B22222;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #bc8f8f;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #a020f0;'
        -            ),
        -        'BRACKETS' => array(),
        -        'NUMBERS' => array(),
        -        'METHODS' => array(),
        -        'SCRIPT' => array()
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'REGEXPS' => array(
        -        // function and procedure definition
        -        1 => array(
        -            GESHI_SEARCH => "(proc|fun)([^{}\n\)]*)(\\{)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)",
        -            GESHI_REPLACE => '\4',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\1\2\3',
        -            GESHI_AFTER => ''
        -            ),
        -        // class definition
        -        2 => array(
        -            GESHI_SEARCH => "(class)([^A-Z\$]*)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)",
        -            GESHI_REPLACE => '\3\4',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\1\2',
        -            GESHI_AFTER => ''
        -            ),
        -        // single character
        -        3 => array(
        -            GESHI_SEARCH => "&.",
        -            GESHI_REPLACE => '\0',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        // method definition
        -        4 => array(
        -            GESHI_SEARCH => "(meth)([^a-zA-Z]+)([a-zA-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9]*)",
        -            GESHI_REPLACE => '\3',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\1\2',
        -            GESHI_AFTER => ''
        -            ),
        -        // highlight "[]"
        -        // ([] is actually a keyword, but that causes problems in validation; putting it into symbols doesn't work.)
        -        5 => array(
        -            GESHI_SEARCH => "\[\]",
        -            GESHI_REPLACE => '\0',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/parasail.php b/vendor/easybook/geshi/geshi/parasail.php
        deleted file mode 100644
        index be00c86..0000000
        --- a/vendor/easybook/geshi/geshi/parasail.php
        +++ /dev/null
        @@ -1,132 +0,0 @@
        - 'ParaSail',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('{' => '}'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'all', 'block', 'case', 'continue', 'each',
        -            'else', 'elsif', 'exit', 'for',
        -            'forward', 'if', 'loop', 'return', 'reverse', 'some',
        -            'then', 'until', 'while', 'with'
        -            ),
        -        2 => array(
        -            'abs', 'and','in', 'mod', 'not', 'null', 'or', 'rem', 'xor'
        -            ),
        -        3 => array(
        -            'abstract', 'class',
        -            'concurrent', 'const', 
        -            'end', 'extends', 'exports', 
        -            'func', 'global', 'implements', 'import',
        -            'interface', 'is', 'lambda', 'locked', 
        -            'new', 'of', 'op', 'optional',
        -            'private', 'queued', 'ref',
        -            'separate', 'type', 'var',
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '<', '>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #00007f;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #46aa03; font-weight:bold;',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #adadad; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #7f007f;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/parigp.php b/vendor/easybook/geshi/geshi/parigp.php
        deleted file mode 100644
        index 1a5d4a7..0000000
        --- a/vendor/easybook/geshi/geshi/parigp.php
        +++ /dev/null
        @@ -1,293 +0,0 @@
        - 'PARI/GP',
        -    'COMMENT_SINGLE' => array(1 => '\\\\'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'NUMBERS' => array(
        -        # Integers
        -        1 => GESHI_NUMBER_INT_BASIC,
        -        # Reals
        -        2 => GESHI_NUMBER_FLT_SCI_ZERO
        -        ),
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'abs','acos','acosh','addhelp','addprimes','agm','alarm','algdep',
        -            'alias','allocatemem','apply','arg','asin','asinh','atan','atanh',
        -            'bernfrac','bernpol','bernreal','bernvec','besselh1','besselh2',
        -            'besseli','besselj','besseljh','besselk','besseln','bestappr',
        -            'bestapprPade','bezout','bezoutres','bigomega','binary','binomial',
        -            'bitand','bitneg','bitnegimply','bitor','bittest','bitxor',
        -            'bnfcertify','bnfcompress','bnfdecodemodule','bnfinit',
        -            'bnfisintnorm','bnfisnorm','bnfisprincipal','bnfissunit',
        -            'bnfisunit','bnfnarrow','bnfsignunit','bnfsunit','bnrclassno',
        -            'bnrclassnolist','bnrconductor','bnrconductorofchar','bnrdisc',
        -            'bnrdisclist','bnrinit','bnrisconductor','bnrisprincipal','bnrL1',
        -            'bnrrootnumber','bnrstark','break','breakpoint','Catalan','ceil',
        -            'centerlift','charpoly','chinese','cmp','Col','component','concat',
        -            'conj','conjvec','content','contfrac','contfracpnqn','core',
        -            'coredisc','cos','cosh','cotan','dbg_down','dbg_err','dbg_up',
        -            'dbg_x','default','denominator','deriv','derivnum','diffop',
        -            'digits','dilog','dirdiv','direuler','dirmul','dirzetak','divisors',
        -            'divrem','eint1','elladd','ellak','ellan','ellanalyticrank','ellap',
        -            'ellbil','ellcard','ellchangecurve','ellchangepoint',
        -            'ellconvertname','elldivpol','elleisnum','elleta','ellffinit',
        -            'ellfromj','ellgenerators','ellglobalred','ellgroup','ellheegner',
        -            'ellheight','ellheightmatrix','ellidentify','ellinit',
        -            'ellisoncurve','ellj','ellL1','elllocalred','elllog','elllseries',
        -            'ellminimalmodel','ellmodulareqn','ellmul','ellneg','ellorder',
        -            'ellordinate','ellpointtoz','ellrootno','ellsearch','ellsigma',
        -            'ellsub','elltaniyama','elltatepairing','elltors','ellweilpairing',
        -            'ellwp','ellzeta','ellztopoint','erfc','errname','error','eta','Euler',
        -            'eulerphi','eval','exp','extern','externstr','factor','factorback',
        -            'factorcantor','factorff','factorial','factorint','factormod',
        -            'factornf','factorpadic','ffgen','ffinit','fflog','ffnbirred',
        -            'fforder','ffprimroot','fibonacci','floor','for','forcomposite','fordiv','forell',
        -            'forprime','forqfvec','forstep','forsubgroup','forvec','frac','galoisexport',
        -            'galoisfixedfield','galoisgetpol','galoisidentify','galoisinit',
        -            'galoisisabelian','galoisisnormal','galoispermtopol',
        -            'galoissubcyclo','galoissubfields','galoissubgroups','gamma',
        -            'gammah','gcd','getenv','getheap','getrand','getstack','gettime',
        -            'global','hammingweight','hilbert','hyperu','I','idealadd',
        -            'idealaddtoone','idealappr','idealchinese','idealcoprime',
        -            'idealdiv','idealfactor','idealfactorback','idealfrobenius',
        -            'idealhnf','idealintersect','idealinv','ideallist','ideallistarch',
        -            'ideallog','idealmin','idealmul','idealnorm','idealnumden',
        -            'idealpow','idealprimedec','idealramgroups','idealred','idealstar',
        -            'idealtwoelt','idealval','if','iferr','iferrname','imag','incgam','incgamc','input',
        -            'install','intcirc','intformal','intfouriercos','intfourierexp',
        -            'intfouriersin','intfuncinit','intlaplaceinv','intmellininv',
        -            'intmellininvshort','intnum','intnuminit','intnuminitgen',
        -            'intnumromb','intnumstep','isfundamental','ispolygonal','ispower','ispowerful',
        -            'isprime','isprimepower','ispseudoprime','issquare','issquarefree','istotient',
        -            'kill','kronecker','lcm','length','lex','lift','lindep','List',
        -            'listcreate','listinsert','listkill','listpop','listput','listsort',
        -            'lngamma','local','log','Mat','matadjoint','matalgtobasis',
        -            'matbasistoalg','matcompanion','matconcat','matcontent','matdet','matdetint',
        -            'matdiagonal','mateigen','matfrobenius','mathess','mathilbert',
        -            'mathnf','mathnfmod','mathnfmodid','matid','matimage',
        -            'matimagecompl','matindexrank','matintersect','matinverseimage',
        -            'matisdiagonal','matker','matkerint','matmuldiagonal',
        -            'matmultodiagonal','matpascal','matrank','matrix','matrixqz',
        -            'matsize','matsnf','matsolve','matsolvemod','matsupplement',
        -            'mattranspose','max','min','minpoly','Mod','modreverse','moebius',
        -            'my','newtonpoly','next','nextprime','nfalgtobasis','nfbasis',
        -            'nfbasistoalg','nfdetint','nfdisc','nfeltadd','nfeltdiv',
        -            'nfeltdiveuc','nfeltdivmodpr','nfeltdivrem','nfeltmod','nfeltmul',
        -            'nfeltmulmodpr','nfeltnorm','nfeltpow','nfeltpowmodpr',
        -            'nfeltreduce','nfeltreducemodpr','nfelttrace','nfeltval','nffactor',
        -            'nffactorback','nffactormod','nfgaloisapply','nfgaloisconj',
        -            'nfhilbert','nfhnf','nfhnfmod','nfinit','nfisideal','nfisincl',
        -            'nfisisom','nfkermodpr','nfmodprinit','nfnewprec','nfroots',
        -            'nfrootsof1','nfsnf','nfsolvemodpr','nfsubfields','norm','norml2',
        -            'numbpart','numdiv','numerator','numtoperm','O','omega','padicappr',
        -            'padicfields','padicprec','partitions','permtonum','Pi','plot',
        -            'plotbox','plotclip','plotcolor','plotcopy','plotcursor','plotdraw',
        -            'ploth','plothraw','plothsizes','plotinit','plotkill','plotlines',
        -            'plotlinetype','plotmove','plotpoints','plotpointsize',
        -            'plotpointtype','plotrbox','plotrecth','plotrecthraw','plotrline',
        -            'plotrmove','plotrpoint','plotscale','plotstring','Pol',
        -            'polchebyshev','polcoeff','polcompositum','polcyclo','polcyclofactors','poldegree',
        -            'poldisc','poldiscreduced','polgalois','polgraeffe','polhensellift',
        -            'polhermite','polinterpolate','poliscyclo','poliscycloprod',
        -            'polisirreducible','pollead','pollegendre','polrecip','polred',
        -            'polredabs','polredbest','polredord','polresultant','Polrev','polroots',
        -            'polrootsff','polrootsmod','polrootspadic','polsturm','polsubcyclo',
        -            'polsylvestermatrix','polsym','poltchebi','poltschirnhaus',
        -            'polylog','polzagier','precision','precprime','prime','primepi',
        -            'primes','print','print1','printf','printsep','printtex','prod','prodeuler',
        -            'prodinf','psdraw','psi','psploth','psplothraw','Qfb','qfbclassno',
        -            'qfbcompraw','qfbhclassno','qfbnucomp','qfbnupow','qfbpowraw',
        -            'qfbprimeform','qfbred','qfbsolve','qfgaussred','qfjacobi','qflll',
        -            'qflllgram','qfminim','qfperfection','qfrep','qfsign',
        -            'quadclassunit','quaddisc','quadgen','quadhilbert','quadpoly',
        -            'quadray','quadregulator','quadunit','quit','random','randomprime','read',
        -            'readvec','real','removeprimes','return','rnfalgtobasis','rnfbasis',
        -            'rnfbasistoalg','rnfcharpoly','rnfconductor','rnfdedekind','rnfdet',
        -            'rnfdisc','rnfeltabstorel','rnfeltdown','rnfeltreltoabs','rnfeltup',
        -            'rnfequation','rnfhnfbasis','rnfidealabstorel','rnfidealdown',
        -            'rnfidealhnf','rnfidealmul','rnfidealnormabs','rnfidealnormrel',
        -            'rnfidealreltoabs','rnfidealtwoelt','rnfidealup','rnfinit',
        -            'rnfisabelian','rnfisfree','rnfisnorm','rnfisnorminit','rnfkummer',
        -            'rnflllgram','rnfnormgroup','rnfpolred','rnfpolredabs',
        -            'rnfpseudobasis','rnfsteinitz','round','select','Ser','serconvol',
        -            'serlaplace','serreverse','Set','setbinop','setintersect',
        -            'setisset','setminus','setrand','setsearch','setunion','shift',
        -            'shiftmul','sigma','sign','simplify','sin','sinh','sizebyte',
        -            'sizedigit','solve','sqr','sqrt','sqrtint','sqrtn','sqrtnint','stirling','Str',
        -            'Strchr','Strexpand','Strprintf','Strtex','subgrouplist','subst',
        -            'substpol','substvec','sum','sumalt','sumdedekind','sumdiv','sumdivmult','sumdigits',
        -            'sumformal','suminf','sumnum','sumnumalt','sumnuminit','sumpos','system','tan',
        -            'tanh','taylor','teichmuller','theta','thetanullk','thue',
        -            'thueinit','trace','trap','truncate','type','until','valuation',
        -            'variable','Vec','vecextract','vecmax','vecmin','Vecrev',
        -            'vecsearch','Vecsmall','vecsort','vector','vectorsmall','vectorv',
        -            'version','warning','weber','whatnow','while','write','write1',
        -            'writebin','writetex','zeta','zetak','zetakinit','zncoppersmith',
        -            'znlog','znorder','znprimroot','znstar'
        -            ),
        -
        -        2 => array(
        -            'void','bool','negbool','small','int',/*'real',*/'mp','var','lg','pol',
        -            'vecsmall','vec','list','str','genstr','gen','typ'
        -            ),
        -
        -        3 => array(
        -            'TeXstyle','breakloop','colors','compatible','datadir','debug',
        -            'debugfiles','debugmem','echo','factor_add_primes','factor_proven',
        -            'format','graphcolormap','graphcolors','help','histfile','histsize',
        -            'lines','linewrap',/*'log',*/'logfile','new_galois_format','output',
        -            'parisize','path','prettyprinter','primelimit','prompt_cont',
        -            'prompt','psfile','readline','realprecision','recover','secure',
        -            'seriesprecision',/*'simplify',*/'sopath','strictmatch','timer'
        -            ),
        -
        -        4 => array(
        -            '"e_ARCH"','"e_BUG"','"e_FILE"','"e_IMPL"','"e_PACKAGE"','"e_DIM"',
        -            '"e_FLAG"','"e_NOTFUNC"','"e_OP"','"e_TYPE"','"e_TYPE2"',
        -            '"e_PRIORITY"','"e_VAR"','"e_DOMAIN"','"e_MAXPRIME"','"e_MEM"',
        -            '"e_OVERFLOW"','"e_PREC"','"e_STACK"','"e_ALARM"','"e_USER"',
        -            '"e_CONSTPOL"','"e_COPRIME"','"e_INV"','"e_IRREDPOL"','"e_MISC"',
        -            '"e_MODULUS"','"e_NEGVAL"','"e_PRIME"','"e_ROOTS0"','"e_SQRTN"'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '(',')','{','}','[',']','+','-','*','/','%','=','<','>','!','^','&','|','?',';',':',',','\\','\''
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #e07022;',
        -            3 => 'color: #00d2d2;',
        -            4 => 'color: #00d2d2;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000;',
        -            'MULTI' => 'color: #008000;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #111111; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #002222;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #800080;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #666666;',
        -            1 => 'color: #666666;',
        -            2 => 'color: #666666;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #e07022',    # Should be the same as keyword group 2
        -            1 => 'color: #555555',
        -            2 => 'color: #0000ff'     # Should be the same as keyword group 1
        -            ),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        0 => array( # types marked on variables
        -            GESHI_SEARCH => '(? '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '"',
        -            GESHI_AFTER => '"'
        -            ),
        -        1 => array( # literal variables
        -            GESHI_SEARCH => '(? '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        2 => array( # member functions
        -            GESHI_SEARCH => '(?<=[.])(a[1-6]|b[2-8]|c[4-6]|area|bid|bnf|clgp|cyc|diff|disc|[efjp]|fu|gen|index|mod|nf|no|omega|pol|reg|roots|sign|r[12]|t2|tate|tu|zk|zkst)\b',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        2 => array(
        -            '[a-zA-Z][a-zA-Z0-9_]*:' => ''
        -            ),
        -        3 => array(
        -            'default(' => ''
        -            ),
        -        4 => array(
        -            'iferrname(' => ''
        -            ),
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        diff --git a/vendor/easybook/geshi/geshi/pascal.php b/vendor/easybook/geshi/geshi/pascal.php
        deleted file mode 100644
        index 43e6437..0000000
        --- a/vendor/easybook/geshi/geshi/pascal.php
        +++ /dev/null
        @@ -1,164 +0,0 @@
        - 'Pascal',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'),
        -    //Compiler directives
        -    'COMMENT_REGEXP' => array(2 => '/\\{\\$.*?}|\\(\\*\\$.*?\\*\\)/U'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'"),
        -    'ESCAPE_CHAR' => '',
        -
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'absolute','asm','assembler','begin','break','case','catch','cdecl',
        -            'const','constructor','default','destructor','div','do','downto',
        -            'else','end','except','export','exports','external','far',
        -            'finalization','finally','for','forward','function','goto','if',
        -            'implementation','in','index','inherited','initialization','inline',
        -            'interface','interrupt','label','library','mod','name','not','of',
        -            'or','overload','override','private','procedure','program',
        -            'property','protected','public','published','raise','repeat',
        -            'resourcestring','shl','shr','stdcall','stored','switch','then',
        -            'to','try','type','unit','until','uses','var','while','with','xor'
        -            ),
        -        2 => array(
        -            'nil', 'false', 'true',
        -            ),
        -        3 => array(
        -            'abs','and','arc','arctan','blockread','blockwrite','chr','dispose',
        -            'cos','eof','eoln','exp','get','ln','new','odd','ord','ordinal',
        -            'pred','read','readln','sin','sqrt','succ','write','writeln'
        -            ),
        -        4 => array(
        -            'ansistring','array','boolean','byte','bytebool','char','file',
        -            'integer','longbool','longint','object','packed','pointer','real',
        -            'record','set','shortint','smallint','string','union','word'
        -            ),
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('(', ')', '[', ']'),
        -        1 => array('.', ',', ':', ';'),
        -        2 => array('@', '^'),
        -        3 => array('=', '+', '-', '*', '/')
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;',
        -            4 => 'color: #000066; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #008000; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #ff0000; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;',
        -            //'HARD' => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000cc;',
        -            1 => 'color: #ff0000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000066;',
        -            1 => 'color: #000066;',
        -            2 => 'color: #000066;',
        -            3 => 'color: #000066;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        //Hex numbers
        -        0 => '\$[0-9a-fA-F]+',
        -        //Characters
        -        1 => '\#(?:\$[0-9a-fA-F]{1,2}|\d{1,3})'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/pcre.php b/vendor/easybook/geshi/geshi/pcre.php
        deleted file mode 100644
        index 14d6982..0000000
        --- a/vendor/easybook/geshi/geshi/pcre.php
        +++ /dev/null
        @@ -1,187 +0,0 @@
        - 'PCRE',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(
        -        ),
        -    'COMMENT_REGEXP' => array(
        -        // Non-matching groups
        -        1 => "/(?<=\()\?(?::|(?=\())/",
        -
        -        // Modifier groups
        -        2 => "/(?<=\()\?[cdegimopsuxUX\-]+(?::|(?=\)))/",
        -
        -        // Look-Aheads
        -        3 => "/(?<=\()\?[!=]/",
        -
        -        // Look-Behinds
        -        4 => "/(?<=\()\?<[!=]/",
        -
        -        // Forward Matching
        -        5 => "/(?<=\()\?>/",
        -
        -        // Recursive Matching
        -        6 => "/(?<=\()\?R(?=\))/",
        -
        -        // Named Subpattern
        -        7 => "/(?<=\()\?(?:P?<\w+>|\d+(?=\))|P[=>]\w+(?=\)))/",
        -
        -        // Back Reference
        -        8 => "/\\\\(?:[1-9]\d?|g\d+|g\{(?:-?\d+|\w+)\}|k<\w+>|k'\w+'|k\{\w+\})/",
        -
        -        // Byte sequence: Octal
        -        9 => "/\\\\[0-7]{2,3}/",
        -
        -        // Byte sequence: Hex
        -        10 => "/\\\\x[0-9a-fA-F]{2}/",
        -
        -        // Byte sequence: Hex
        -        11 => "/\\\\u[0-9a-fA-F]{4}/",
        -
        -        // Byte sequence: Hex
        -        12 => "/\\\\U[0-9a-fA-F]{8}/",
        -
        -        // Byte sequence: Unicode
        -        13 => "/\\\\[pP]\{[^}\n]+\}/",
        -
        -        // One-Char Escapes
        -        14 => "/\\\\[abdefnrstvwzABCDGSWXZ\\\\\\.\[\]\(\)\{\}\^\\\$\?\+\*]/",
        -
        -        // Byte sequence: Control-X sequence
        -        15 => "/\\\\c./",
        -
        -        // Quantifier
        -        16 => "/\{(?:\d+,?|\d*,\d+)\}/",
        -
        -        // Comment Subpattern
        -        17 => "/(?<=\()\?#[^\)]*/",
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('.'),
        -        1 => array('(', ')'),
        -        2 => array('[', ']', '|'),
        -        3 => array('^', '$'),
        -        4 => array('?', '+', '*'),
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #993333; font-weight: bold;',
        -            2 => 'color: #cc3300; font-weight: bold;',
        -            3 => 'color: #cc0066; font-weight: bold;',
        -            4 => 'color: #cc0066; font-weight: bold;',
        -            5 => 'color: #cc6600; font-weight: bold;',
        -            6 => 'color: #cc00cc; font-weight: bold;',
        -            7 => 'color: #cc9900; font-weight: bold; font-style: italic;',
        -            8 => 'color: #cc9900; font-style: italic;',
        -            9 => 'color: #669933; font-style: italic;',
        -            10 => 'color: #339933; font-style: italic;',
        -            11 => 'color: #339966; font-style: italic;',
        -            12 => 'color: #339999; font-style: italic;',
        -            13 => 'color: #663399; font-style: italic;',
        -            14 => 'color: #999933; font-style: italic;',
        -            15 => 'color: #993399; font-style: italic;',
        -            16 => 'color: #333399; font-style: italic;',
        -            17 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;',
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #333399; font-weight: bold;',
        -            1 => 'color: #993333; font-weight: bold;',
        -            2 => 'color: #339933; font-weight: bold;',
        -            3 => 'color: #333399; font-weight: bold;',
        -            4 => 'color: #333399; font-style: italic;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER,
        -            'NUMBERS' => GESHI_NEVER
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/per.php b/vendor/easybook/geshi/geshi/per.php
        deleted file mode 100644
        index c3b5d15..0000000
        --- a/vendor/easybook/geshi/geshi/per.php
        +++ /dev/null
        @@ -1,300 +0,0 @@
        - 'per',
        -    'COMMENT_SINGLE' => array(1 => '--', 2 => '#'),
        -    'COMMENT_MULTI' => array('{' => '}'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            "ACCELERATOR",
        -            "ACCELERATOR2",
        -            "ACTION",
        -            "ALT",
        -            "AND",
        -            "AUTO",
        -            "AUTONEXT",
        -            "AUTOSCALE",
        -            "BETWEEN",
        -            "BOTH",
        -            "BUTTON",
        -            "BUTTONEDIT",
        -            "BUTTONTEXTHIDDEN",
        -            "BY",
        -            "BYTE",
        -            "CANVAS",
        -            "CENTER",
        -            "CHECKBOX",
        -            "CLASS",
        -            "COLOR",
        -            "COLUMNS",
        -            "COMBOBOX",
        -            "COMMAND",
        -            "COMMENT",
        -            "COMMENTS",
        -            "COMPACT",
        -            "COMPRESS",
        -            "CONFIG",
        -            "CONTROL",
        -            "CURRENT",
        -            "DATABASE",
        -            "DATEEDIT",
        -            "DEC",
        -            "DEFAULT",
        -            "DEFAULTS",
        -            "DELIMITERS",
        -            "DISPLAY",
        -            "DISPLAYONLY",
        -            "DOWNSHIFT",
        -            "DYNAMIC",
        -            "EDIT",
        -            "FIXED",
        -            "FOLDER",
        -            "FONTPITCH",
        -            "FORMAT",
        -            "FORMONLY",
        -            "GRID",
        -            "GRIDCHILDRENINPARENT",
        -            "GROUP",
        -            "HBOX",
        -            "HEIGHT",
        -            "HIDDEN",
        -            "HORIZONTAL",
        -            "INCLUDE",
        -            "INITIAL",
        -            "INITIALIZER",
        -            "INPUT",
        -            "INSTRUCTIONS",
        -            "INTERVAL",
        -            "INVISIBLE",
        -            "IS",
        -            "ITEM",
        -            "ITEMS",
        -            "JUSTIFY",
        -            "KEY",
        -            "KEYS",
        -            "LABEL",
        -            "LEFT",
        -            "LIKE",
        -            "LINES",
        -            "MATCHES",
        -            "NAME",
        -            "NOENTRY",
        -            "NONCOMPRESS",
        -            "NORMAL",
        -            "NOT",
        -            "NOUPDATE",
        -            "OPTIONS",
        -            "OR",
        -            "ORIENTATION",
        -            "PACKED",
        -            "PAGE",
        -            "PICTURE",
        -            "PIXELHEIGHT",
        -            "PIXELS",
        -            "PIXELWIDTH",
        -            "POINTS",
        -            "PROGRAM",
        -            "PROGRESSBAR",
        -            "QUERYCLEAR",
        -            "QUERYEDITABLE",
        -            "RADIOGROUP",
        -            "RECORD",
        -            "REQUIRED",
        -            "REVERSE",
        -            "RIGHT",
        -            "SAMPLE",
        -            "SCREEN",
        -            "SCROLL",
        -            "SCROLLBARS",
        -            "SCROLLGRID",
        -            "SECOND",
        -            "SEPARATOR",
        -            "SHIFT",
        -            "SIZE",
        -            "SIZEPOLICY",
        -            "SMALLFLOAT",
        -            "SMALLINT",
        -            "SPACING",
        -            "STRETCH",
        -            "STYLE",
        -            "TABINDEX",
        -            "TABLE",
        -            "TAG",
        -            "TEXT",
        -            "TEXTEDIT",
        -            "THROUGH",
        -            "THRU",
        -            "TITLE",
        -            "TO",
        -            "TOOLBAR",
        -            "TOPMENU",
        -            "TYPE",
        -            "UNHIDABLE",
        -            "UNHIDABLECOLUMNS",
        -            "UNMOVABLE",
        -            "UNMOVABLECOLUMNS",
        -            "UNSIZABLE",
        -            "UNSIZABLECOLUMNS",
        -            "UNSORTABLE",
        -            "UNSORTABLECOLUMNS",
        -            "UPSHIFT",
        -            "USER",
        -            "VALIDATE",
        -            "VALUECHECKED",
        -            "VALUEMAX",
        -            "VALUEMIN",
        -            "VALUEUNCHECKED",
        -            "VARCHAR",
        -            "VARIABLE",
        -            "VBOX",
        -            "VERIFY",
        -            "VERSION",
        -            "VERTICAL",
        -            "TIMESTAMP",
        -            "WANTCOLUMNSANCHORED", /* to be removed! */
        -            "WANTFIXEDPAGESIZE",
        -            "WANTNORETURNS",
        -            "WANTTABS",
        -            "WHERE",
        -            "WIDGET",
        -            "WIDTH",
        -            "WINDOWSTYLE",
        -            "WITHOUT",
        -            "WORDWRAP",
        -            "X",
        -            "Y",
        -            "ZEROFILL",
        -            "SCHEMA",
        -            "ATTRIBUTES",
        -            "TABLES",
        -            "LAYOUT",
        -            "END"
        -            ),
        -        2 => array(
        -            "YEAR",
        -            "BLACK",
        -            "BLINK",
        -            "BLUE",
        -            "YELLOW",
        -            "WHITE",
        -            "UNDERLINE",
        -            "CENTURY",
        -            "FRACTION",
        -            "CHAR",
        -            "CHARACTER",
        -            "CHARACTERS",
        -            "CYAN",
        -            "DATE",
        -            "DATETIME",
        -            "DAY",
        -            "DECIMAL",
        -            "FALSE",
        -            "FLOAT",
        -            "GREEN",
        -            "HOUR",
        -            "INT",
        -            "INTEGER",
        -            "MAGENTA",
        -            "MINUTE",
        -            "MONEY",
        -            "NONE",
        -            "NULL",
        -            "REAL",
        -            "RED",
        -            "TRUE",
        -            "TODAY",
        -            "MONTH",
        -            "IMAGE"
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '+', '-', '*', '?', '=', '/', '%', '>', '<', '^', '!', '|', ':',
        -        '(', ')', '[', ']'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0600FF;',
        -            2 => 'color: #0000FF; font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008080; font-style: italic;',
        -            2 => 'color: #008080;',
        -            'MULTI' => 'color: green'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #008080; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #808080;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0000FF;',
        -            2 => 'color: #0000FF;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/perl.php b/vendor/easybook/geshi/geshi/perl.php
        deleted file mode 100644
        index c3c3233..0000000
        --- a/vendor/easybook/geshi/geshi/perl.php
        +++ /dev/null
        @@ -1,218 +0,0 @@
        - 'Perl',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(
        -        '=back' => '=cut',
        -        '=head' => '=cut',
        -        '=item' => '=cut',
        -        '=over' => '=cut',
        -        '=begin' => '=cut',
        -        '=end' => '=cut',
        -        '=for' => '=cut',
        -        '=encoding' => '=cut',
        -        '=pod' => '=cut'
        -        ),
        -    'COMMENT_REGEXP' => array(
        -        //Regular expressions
        -        2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
        -        //Regular expression match variables
        -        3 => '/\$\d+/',
        -        //Heredoc
        -        4 => '/<<\s*?([\'"]?)([a-zA-Z0-9]+)\1;[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
        -        //Predefined variables
        -        5 => '/\$(\^[a-zA-Z]?|[\*\$`\'&_\.,+\-~:;\\\\\/"\|%=\?!@#<>\(\)\[\]])(?!\w)|@[_+\-]|%[!]|\$(?=\{)/',
        -        ),
        -    'NUMBERS' => array(
        -        // Includes rules for decimal, octal (0777), hexidecimal (0xDEADBEEF),
        -        // binary (0b101010) numbers, amended to work with underscores (since
        -        // Perl allows you to use underscores in number literals)
        -        0 => '(?:(? GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"','`'),
        -    'HARDQUOTE' => array("'", "'"),            // An optional 2-element array defining the beginning and end of a hard-quoted string
        -    'HARDESCAPE' => array('\\\'',),
        -        // Things that must still be escaped inside a hard-quoted string
        -        // If HARDQUOTE is defined, HARDESCAPE must be defined
        -        // This will not work unless the first character of each element is either in the
        -        // QUOTEMARKS array or is the ESCAPE_CHAR
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'case', 'do', 'else', 'elsif', 'for', 'if', 'then', 'until', 'while', 'foreach', 'my',
        -            'xor', 'or', 'and', 'unless', 'next', 'last', 'redo', 'not', 'our',
        -            'reset', 'continue', 'cmp', 'ne', 'eq', 'lt', 'gt', 'le', 'ge',
        -            ),
        -        2 => array(
        -            'use', 'sub', 'new', '__END__', '__DATA__', '__DIE__', '__WARN__', 'BEGIN',
        -            'STDIN', 'STDOUT', 'STDERR', 'ARGV', 'ARGVOUT'
        -            ),
        -        3 => array(
        -            'abs', 'accept', 'alarm', 'atan2', 'bind', 'binmode', 'bless',
        -            'caller', 'chdir', 'chmod', 'chomp', 'chop', 'chown', 'chr',
        -            'chroot', 'close', 'closedir', 'connect', 'cos',
        -            'crypt', 'dbmclose', 'dbmopen', 'defined', 'delete', 'die',
        -            'dump', 'each', 'endgrent', 'endhostent', 'endnetent', 'endprotoent',
        -            'endpwent', 'endservent', 'eof', 'eval', 'exec', 'exists', 'exit',
        -            'exp', 'fcntl', 'fileno', 'flock', 'fork', 'format', 'formline',
        -            'getc', 'getgrent', 'getgrgid', 'getgrnam', 'gethostbyaddr',
        -            'gethostbyname', 'gethostent', 'getlogin', 'getnetbyaddr', 'getnetbyname',
        -            'getnetent', 'getpeername', 'getpgrp', 'getppid', 'getpriority',
        -            'getprotobyname', 'getprotobynumber', 'getprotoent', 'getpwent',
        -            'getpwnam', 'getpwuid', 'getservbyname', 'getservbyport', 'getservent',
        -            'getsockname', 'getsockopt', 'given', 'glob', 'gmtime', 'goto', 'grep',
        -            'hex', 'import', 'index', 'int', 'ioctl', 'join', 'keys', 'kill',
        -            'lc', 'lcfirst', 'length', 'link', 'listen', 'local',
        -            'localtime', 'log', 'lstat', 'm', 'map', 'mkdir', 'msgctl', 'msgget',
        -            'msgrcv', 'msgsnd', 'no', 'oct', 'open', 'opendir',
        -            'ord', 'pack', 'package', 'pipe', 'pop', 'pos', 'print',
        -            'printf', 'prototype', 'push', 'qq', 'qr', 'quotemeta', 'qw',
        -            'qx', 'q', 'rand', 'read', 'readdir', 'readline', 'readlink', 'readpipe',
        -            'recv', 'ref', 'rename', 'require', 'return',
        -            'reverse', 'rewinddir', 'rindex', 'rmdir', 's', 'say', 'scalar', 'seek',
        -            'seekdir', 'select', 'semctl', 'semget', 'semop', 'send', 'setgrent',
        -            'sethostent', 'setnetent', 'setpgrp', 'setpriority', 'setprotoent',
        -            'setpwent', 'setservent', 'setsockopt', 'shift', 'shmctl', 'shmget',
        -            'shmread', 'shmwrite', 'shutdown', 'sin', 'sleep', 'socket', 'socketpair',
        -            'sort', 'splice', 'split', 'sprintf', 'sqrt', 'srand', 'stat', 'state',
        -            'study', 'substr', 'symlink', 'syscall', 'sysopen', 'sysread',
        -            'sysseek', 'system', 'syswrite', 'tell', 'telldir', 'tie', 'tied',
        -            'time', 'times', 'tr', 'truncate', 'uc', 'ucfirst', 'umask', 'undef',
        -            'unlink', 'unpack', 'unshift', 'untie', 'utime', 'values',
        -            'vec', 'wait', 'waitpid', 'wantarray', 'warn', 'when', 'write', 'y'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '<', '>', '=',
        -        '!', '@', '~', '&', '|', '^',
        -        '+','-', '*', '/', '%',
        -        ',', ';', '?', '.', ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #009966; font-style: italic;',
        -            3 => 'color: #0000ff;',
        -            4 => 'color: #cc0000; font-style: italic;',
        -            5 => 'color: #0000ff;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;',
        -            'HARD' => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000ff;',
        -            4 => 'color: #009999;',
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://perldoc.perl.org/functions/{FNAMEL}.html'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '->',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        //Variable
        -        0 => '(?:\$[\$#]?|\\\\(?:[@%*]?|\\\\*\$|&)|%[$]?|@[$]?|\*[$]?|&[$]?)[a-zA-Z_][a-zA-Z0-9_]*',
        -        //File Descriptor
        -        4 => '<[a-zA-Z_][a-zA-Z0-9_]*>',
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'COMMENTS' => array(
        -            'DISALLOWED_BEFORE' => '$'
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/perl6.php b/vendor/easybook/geshi/geshi/perl6.php
        deleted file mode 100644
        index f2f65e8..0000000
        --- a/vendor/easybook/geshi/geshi/perl6.php
        +++ /dev/null
        @@ -1,196 +0,0 @@
        - 'Perl 6',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array('=begin' => '=end'),
        -    'COMMENT_REGEXP' => array(
        -        //Regular expressions
        -        2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
        -        //Regular expression match variables
        -        3 => '/\$\d+/',
        -        //Heredoc
        -        4 => '/<<\s*?([\'"]?)([a-zA-Z0-9]+)\1;[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
        -        //Beastly hack to finish highlighting each POD block
        -        5 => '((?<==end) .+)'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'HARDQUOTE' => array("'", "'"),            // An optional 2-element array defining the beginning and end of a hard-quoted string
        -    'HARDESCAPE' => array('\\\''),
        -        // Things that must still be escaped inside a hard-quoted string
        -        // If HARDQUOTE is defined, HARDESCAPE must be defined
        -        // This will not work unless the first character of each element is either in the
        -        // QUOTEMARKS array or is the ESCAPE_CHAR
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'do', 'else', 'elsif', 'for', 'if', 'then', 'until',
        -            'while', 'loop', 'repeat', 'my', 'xor', 'or', 'and',
        -            'unless', 'next', 'last', 'redo', 'not', 'our', 'let',
        -            'temp', 'state', 'enum', 'constant', 'continue', 'cmp',
        -            'ne', 'eq', 'lt', 'gt', 'le', 'ge', 'leg', 'div', 'X',
        -            'Z', 'x', 'xx', 'given', 'when', 'default', 'has',
        -            'returns', 'of', 'is', 'does', 'where', 'subset', 'but',
        -            'True', 'False', 'return', 'die', 'fail'
        -            ),
        -        2 => array(
        -            'use', 'sub', 'multi', 'method', 'submethod', 'proto',
        -            'class', 'role', 'grammar', 'regex', 'token', 'rule',
        -            'new', 'BEGIN', 'END', 'CHECK', 'INIT', 'START', 'FIRST',
        -            'ENTER', 'LEAVE', 'KEEP', 'UNDO', 'NEXT', 'LAST', 'PRE',
        -            'POST', 'CATCH', 'CONTROL', 'BUILD'
        -            ),
        -        3 => array(
        -            'all', 'any', 'cat', 'classify', 'defined', 'grep', 'first',
        -            'keys', 'kv', 'join', 'map', 'max', 'min', 'none', 'one', 'pairs',
        -            'print', 'printf', 'roundrobin', 'pick', 'reduce', 'reverse', 'say',
        -            'shape', 'sort', 'srand', 'undefine', 'uri', 'values', 'warn', 'zip',
        -
        -            # Container
        -            'rotate', 'comb', 'end', 'elems', 'delete',
        -            'exists', 'pop', 'push', 'shift', 'splice',
        -            'unshift', 'invert', 'decode',
        -
        -            # Numeric
        -            'succ', 'pred', 'abs', 'exp', 'log',
        -            'log10', 'rand', 'roots', 'cis', 'unpolar', 'i', 'floor',
        -            'ceiling', 'round', 'truncate', 'sign', 'sqrt',
        -            'polar', 're', 'im', 'I', 'atan2', 'nude',
        -            'denominator', 'numerator',
        -
        -            # Str
        -            'p5chop', 'chop', 'p5chomp', 'chomp', 'lc', 'lcfirst',
        -            'uc', 'ucfirst', 'normalize', 'samecase', 'sameaccent',
        -            'capitalize', 'length', 'chars', 'graphs', 'codes',
        -            'bytes', 'encode', 'index', 'pack', 'quotemeta', 'rindex',
        -            'split', 'words', 'flip', 'sprintf', 'fmt',
        -            'substr', 'trim', 'unpack', 'match', 'subst', 'trans'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '<', '>', '=',
        -        '!', '@', '~', '&', '|', '^',
        -        '+','-', '*', '/', '%',
        -        ',', ';', '?', '.', ':',
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #009966; font-style: italic;',
        -            3 => 'color: #0000ff;',
        -            4 => 'color: #cc0000; font-style: italic;',
        -            5 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;',
        -            'HARD' => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000ff;',
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        //Variable
        -        0 => '(?:[$@%]|&)(?:(?:[\^:*?!~]|<)?[a-zA-Z_][a-zA-Z0-9_]*|(?=\.))'
        -        # We treat the . twigil specially so the name can be highlighted as an
        -        # object field (via OBJECT_SPLITTERS).
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'COMMENTS' => array(
        -            'DISALLOWED_BEFORE' => '$'
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/pf.php b/vendor/easybook/geshi/geshi/pf.php
        deleted file mode 100644
        index 06fad73..0000000
        --- a/vendor/easybook/geshi/geshi/pf.php
        +++ /dev/null
        @@ -1,177 +0,0 @@
        - 'OpenBSD Packet Filter',
        -    'COMMENT_SINGLE' => array('#'),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        1 => "/\\$\\{[^\\n\\}]*?\\}/i",
        -        2 => '/<<-?\s*?(\'?)([a-zA-Z0-9]+)\1\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
        -        3 => "/\\\\['\"]/siU"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'HARDQUOTE' => array("'", "'"),
        -    'HARDESCAPE' => array("\'"),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        1 => "#\\\\[nfrtv\\$\\\"\n]#i",
        -        2 => "#\\$[a-z_][a-z0-9_]*#i",
        -        3 => "/\\$\\{[^\\n\\}]*?\\}/i",
        -        4 => "/\\$\\([^\\n\\)]*?\\)/i",
        -        5 => "/`[^`]*`/"
        -        ),
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'pass'
        -        ),
        -        2 => array(
        -            'block'
        -            ),
        -        3 => array(
        -            'quick','keep','state','antispoof','table','persist','file','scrub',
        -            'set','skip','flags','on'
        -            ),
        -        4 => array(
        -            'in','out','proto'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`','='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #009900; font-weight: bold;',
        -            2 => 'color: #990000; font-weight: bold;',
        -            3 => 'color: #7a0874;',
        -            4 => 'color: #336699;'
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #666666; font-style: italic;',
        -            1 => 'color: #800000;',
        -            2 => 'color: #cc0000; font-style: italic;',
        -            3 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #007800;',
        -            3 => 'color: #007800;',
        -            4 => 'color: #007800;',
        -            5 => 'color: #780078;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #7a0874; font-weight: bold;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #CC0000;',
        -            'HARD' => 'color: #CC0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff00cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #007800;',
        -            1 => 'color: #007800;',
        -            2 => 'color: #007800;',
        -            4 => 'color: #007800;',
        -            5 => 'color: #660033;',
        -            6 => 'color: #000099; font-weight: bold;',
        -            7 => 'color: #0000ff;',
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Variables (will be handled by comment_regexps)
        -        0 => "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*?\\}",
        -        //Variables without braces
        -        1 => "\\$[a-zA-Z_][a-zA-Z0-9_]*",
        -        //Variable assignment
        -        2 => "(? "\\$[*#\$\\-\\?!]",
        -        //Parameters of commands
        -        5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|$)",
        -        //IPs
        -        6 => "([0-9]{1,3}\.){3}[0-9]{1,3}",
        -        //Tables
        -        7 => "(<(.*)>)"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -    ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'COMMENTS' => array(
        -            'DISALLOWED_BEFORE' => '$'
        -        ),
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?  "(?![\.\-a-zA-Z0-9_%\\/])"
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/php-brief.php b/vendor/easybook/geshi/geshi/php-brief.php
        deleted file mode 100644
        index c88e7cb..0000000
        --- a/vendor/easybook/geshi/geshi/php-brief.php
        +++ /dev/null
        @@ -1,221 +0,0 @@
        - 'PHP (brief)',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    //Heredoc and Nowdoc syntax
        -    'COMMENT_REGEXP' => array(3 => '/<<<\s*?(\'?)([a-zA-Z0-9]+)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'HARDQUOTE' => array("'", "'"),
        -    'HARDESCAPE' => array("\'"),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC |  GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |
        -        GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'include', 'require', 'include_once', 'require_once',
        -            'for', 'as', 'foreach', 'if', 'elseif', 'else', 'while', 'do', 'endwhile', 'endif', 'switch', 'case', 'endswitch',
        -            'return', 'break'
        -            ),
        -        2 => array(
        -            'null', '__LINE__', '__FILE__',
        -            'false', '<?php',
        -            'true', 'var', 'default',
        -            'function', 'class', 'new', '&new', 'public', 'private', 'interface', 'extends',
        -            'const', 'self'
        -            ),
        -        3 => array(
        -            'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined',
        -            'trigger_error', 'user_error', 'set_error_handler', 'restore_error_handler', 'get_declared_classes', 'get_loaded_extensions',
        -            'extension_loaded', 'get_extension_funcs', 'debug_backtrace',
        -            'constant', 'bin2hex', 'sleep', 'usleep', 'time', 'mktime', 'gmmktime', 'strftime', 'gmstrftime', 'strtotime', 'date', 'gmdate', 'getdate', 'localtime', 'checkdate', 'flush', 'wordwrap', 'htmlspecialchars', 'htmlentities', 'html_entity_decode', 'md5', 'md5_file', 'crc32', 'getimagesize', 'image_type_to_mime_type', 'phpinfo', 'phpversion', 'phpcredits', 'strnatcmp', 'strnatcasecmp', 'substr_count', 'strspn', 'strcspn', 'strtok', 'strtoupper', 'strtolower', 'strpos', 'strrpos', 'strrev', 'hebrev', 'hebrevc', 'nl2br', 'basename', 'dirname', 'pathinfo', 'stripslashes', 'stripcslashes', 'strstr', 'stristr', 'strrchr', 'str_shuffle', 'str_word_count', 'strcoll', 'substr', 'substr_replace', 'quotemeta', 'ucfirst', 'ucwords', 'strtr', 'addslashes', 'addcslashes', 'rtrim', 'str_replace', 'str_repeat', 'count_chars', 'chunk_split', 'trim', 'ltrim', 'strip_tags', 'similar_text', 'explode', 'implode', 'setlocale', 'localeconv',
        -            'parse_str', 'str_pad', 'chop', 'strchr', 'sprintf', 'printf', 'vprintf', 'vsprintf', 'sscanf', 'fscanf', 'parse_url', 'urlencode', 'urldecode', 'rawurlencode', 'rawurldecode', 'readlink', 'linkinfo', 'link', 'unlink', 'exec', 'system', 'escapeshellcmd', 'escapeshellarg', 'passthru', 'shell_exec', 'proc_open', 'proc_close', 'rand', 'srand', 'getrandmax', 'mt_rand', 'mt_srand', 'mt_getrandmax', 'base64_decode', 'base64_encode', 'abs', 'ceil', 'floor', 'round', 'is_finite', 'is_nan', 'is_infinite', 'bindec', 'hexdec', 'octdec', 'decbin', 'decoct', 'dechex', 'base_convert', 'number_format', 'fmod', 'ip2long', 'long2ip', 'getenv', 'putenv', 'getopt', 'microtime', 'gettimeofday', 'getrusage', 'uniqid', 'quoted_printable_decode', 'set_time_limit', 'get_cfg_var', 'magic_quotes_runtime', 'set_magic_quotes_runtime', 'get_magic_quotes_gpc', 'get_magic_quotes_runtime',
        -            'import_request_variables', 'error_log', 'serialize', 'unserialize', 'memory_get_usage', 'var_dump', 'var_export', 'debug_zval_dump', 'print_r','highlight_file', 'show_source', 'highlight_string', 'ini_get', 'ini_get_all', 'ini_set', 'ini_alter', 'ini_restore', 'get_include_path', 'set_include_path', 'restore_include_path', 'setcookie', 'header', 'headers_sent', 'connection_aborted', 'connection_status', 'ignore_user_abort', 'parse_ini_file', 'is_uploaded_file', 'move_uploaded_file', 'intval', 'floatval', 'doubleval', 'strval', 'gettype', 'settype', 'is_null', 'is_resource', 'is_bool', 'is_long', 'is_float', 'is_int', 'is_integer', 'is_double', 'is_real', 'is_numeric', 'is_string', 'is_array', 'is_object', 'is_scalar',
        -            'ereg', 'ereg_replace', 'eregi', 'eregi_replace', 'split', 'spliti', 'join', 'sql_regcase', 'dl', 'pclose', 'popen', 'readfile', 'rewind', 'rmdir', 'umask', 'fclose', 'feof', 'fgetc', 'fgets', 'fgetss', 'fread', 'fopen', 'fpassthru', 'ftruncate', 'fstat', 'fseek', 'ftell', 'fflush', 'fwrite', 'fputs', 'mkdir', 'rename', 'copy', 'tempnam', 'tmpfile', 'file', 'file_get_contents', 'stream_select', 'stream_context_create', 'stream_context_set_params', 'stream_context_set_option', 'stream_context_get_options', 'stream_filter_prepend', 'stream_filter_append', 'fgetcsv', 'flock', 'get_meta_tags', 'stream_set_write_buffer', 'set_file_buffer', 'set_socket_blocking', 'stream_set_blocking', 'socket_set_blocking', 'stream_get_meta_data', 'stream_register_wrapper', 'stream_wrapper_register', 'stream_set_timeout', 'socket_set_timeout', 'socket_get_status', 'realpath', 'fnmatch', 'fsockopen', 'pfsockopen', 'pack', 'unpack', 'get_browser', 'crypt', 'opendir', 'closedir', 'chdir', 'getcwd', 'rewinddir', 'readdir', 'dir', 'glob', 'fileatime', 'filectime', 'filegroup', 'fileinode', 'filemtime', 'fileowner', 'fileperms', 'filesize', 'filetype', 'file_exists', 'is_writable', 'is_writeable', 'is_readable', 'is_executable', 'is_file', 'is_dir', 'is_link', 'stat', 'lstat', 'chown',
        -            'touch', 'clearstatcache', 'mail', 'ob_start', 'ob_flush', 'ob_clean', 'ob_end_flush', 'ob_end_clean', 'ob_get_flush', 'ob_get_clean', 'ob_get_length', 'ob_get_level', 'ob_get_status', 'ob_get_contents', 'ob_implicit_flush', 'ob_list_handlers', 'ksort', 'krsort', 'natsort', 'natcasesort', 'asort', 'arsort', 'sort', 'rsort', 'usort', 'uasort', 'uksort', 'shuffle', 'array_walk', 'count', 'end', 'prev', 'next', 'reset', 'current', 'key', 'min', 'max', 'in_array', 'array_search', 'extract', 'compact', 'array_fill', 'range', 'array_multisort', 'array_push', 'array_pop', 'array_shift', 'array_unshift', 'array_splice', 'array_slice', 'array_merge', 'array_merge_recursive', 'array_keys', 'array_values', 'array_count_values', 'array_reverse', 'array_reduce', 'array_pad', 'array_flip', 'array_change_key_case', 'array_rand', 'array_unique', 'array_intersect', 'array_intersect_assoc', 'array_diff', 'array_diff_assoc', 'array_sum', 'array_filter', 'array_map', 'array_chunk', 'array_key_exists', 'pos', 'sizeof', 'key_exists', 'assert', 'assert_options', 'version_compare', 'ftok', 'str_rot13', 'aggregate',
        -            'session_name', 'session_module_name', 'session_save_path', 'session_id', 'session_regenerate_id', 'session_decode', 'session_register', 'session_unregister', 'session_is_registered', 'session_encode',
        -            'session_start', 'session_destroy', 'session_unset', 'session_set_save_handler', 'session_cache_limiter', 'session_cache_expire', 'session_set_cookie_params', 'session_get_cookie_params', 'session_write_close', 'preg_match', 'preg_match_all', 'preg_replace', 'preg_replace_callback', 'preg_split', 'preg_quote', 'preg_grep', 'overload', 'ctype_alnum', 'ctype_alpha', 'ctype_cntrl', 'ctype_digit', 'ctype_lower', 'ctype_graph', 'ctype_print', 'ctype_punct', 'ctype_space', 'ctype_upper', 'ctype_xdigit', 'virtual', 'apache_request_headers', 'apache_note', 'apache_lookup_uri', 'apache_child_terminate', 'apache_setenv', 'apache_response_headers', 'apache_get_version', 'getallheaders', 'mysql_connect', 'mysql_pconnect', 'mysql_close', 'mysql_select_db', 'mysql_create_db', 'mysql_drop_db', 'mysql_query', 'mysql_unbuffered_query', 'mysql_db_query', 'mysql_list_dbs', 'mysql_list_tables', 'mysql_list_fields', 'mysql_list_processes', 'mysql_error', 'mysql_errno', 'mysql_affected_rows', 'mysql_insert_id', 'mysql_result', 'mysql_num_rows', 'mysql_num_fields', 'mysql_fetch_row', 'mysql_fetch_array', 'mysql_fetch_assoc', 'mysql_fetch_object', 'mysql_data_seek', 'mysql_fetch_lengths', 'mysql_fetch_field', 'mysql_field_seek', 'mysql_free_result', 'mysql_field_name', 'mysql_field_table', 'mysql_field_len', 'mysql_field_type', 'mysql_field_flags', 'mysql_escape_string', 'mysql_real_escape_string', 'mysql_stat',
        -            'mysql_thread_id', 'mysql_client_encoding', 'mysql_get_client_info', 'mysql_get_host_info', 'mysql_get_proto_info', 'mysql_get_server_info', 'mysql_info', 'mysql', 'mysql_fieldname', 'mysql_fieldtable', 'mysql_fieldlen', 'mysql_fieldtype', 'mysql_fieldflags', 'mysql_selectdb', 'mysql_createdb', 'mysql_dropdb', 'mysql_freeresult', 'mysql_numfields', 'mysql_numrows', 'mysql_listdbs', 'mysql_listtables', 'mysql_listfields', 'mysql_db_name', 'mysql_dbname', 'mysql_tablename', 'mysql_table_name', 'pg_connect', 'pg_pconnect', 'pg_close', 'pg_connection_status', 'pg_connection_busy', 'pg_connection_reset', 'pg_host', 'pg_dbname', 'pg_port', 'pg_tty', 'pg_options', 'pg_ping', 'pg_query', 'pg_send_query', 'pg_cancel_query', 'pg_fetch_result', 'pg_fetch_row', 'pg_fetch_assoc', 'pg_fetch_array', 'pg_fetch_object', 'pg_fetch_all', 'pg_affected_rows', 'pg_get_result', 'pg_result_seek', 'pg_result_status', 'pg_free_result', 'pg_last_oid', 'pg_num_rows', 'pg_num_fields', 'pg_field_name', 'pg_field_num', 'pg_field_size', 'pg_field_type', 'pg_field_prtlen', 'pg_field_is_null', 'pg_get_notify', 'pg_get_pid', 'pg_result_error', 'pg_last_error', 'pg_last_notice', 'pg_put_line', 'pg_end_copy', 'pg_copy_to', 'pg_copy_from',
        -            'pg_trace', 'pg_untrace', 'pg_lo_create', 'pg_lo_unlink', 'pg_lo_open', 'pg_lo_close', 'pg_lo_read', 'pg_lo_write', 'pg_lo_read_all', 'pg_lo_import', 'pg_lo_export', 'pg_lo_seek', 'pg_lo_tell', 'pg_escape_string', 'pg_escape_bytea', 'pg_unescape_bytea', 'pg_client_encoding', 'pg_set_client_encoding', 'pg_meta_data', 'pg_convert', 'pg_insert', 'pg_update', 'pg_delete', 'pg_select', 'pg_exec', 'pg_getlastoid', 'pg_cmdtuples', 'pg_errormessage', 'pg_numrows', 'pg_numfields', 'pg_fieldname', 'pg_fieldsize', 'pg_fieldtype', 'pg_fieldnum', 'pg_fieldprtlen', 'pg_fieldisnull', 'pg_freeresult', 'pg_result', 'pg_loreadall', 'pg_locreate', 'pg_lounlink', 'pg_loopen', 'pg_loclose', 'pg_loread', 'pg_lowrite', 'pg_loimport', 'pg_loexport',
        -            'echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '<%', '<%=', '%>', ''
        -            ),
        -        0 => array(
        -            '(', ')', '[', ']', '{', '}',
        -            '!', '@', '%', '&', '|', '/',
        -            '<', '>',
        -            '=', '-', '+', '*',
        -            '.', ':', ',', ';'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #990000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #666666; font-style: italic;',
        -            3 => 'color: #0000cc; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;',
        -            'HARD' => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #004000;',
        -            2 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;',
        -            1 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => '',
        -            4 => '',
        -            5 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.php.net/{FNAMEL}'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '->',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        //Variables
        -        0 => "[\\$]+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            ' '?>'
        -            ),
        -        1 => array(
        -            ' '?>'
        -            ),
        -        2 => array(
        -            '<%' => '%>'
        -            ),
        -        3 => array(
        -            ''
        -            ),
        -        4 => "/(?P<\\?(?>php\b)?)(?:".
        -            "(?>[^\"'?\\/<]+)|".
        -            "\\?(?!>)|".
        -            "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|".
        -            "(?>\"(?>[^\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|".
        -            "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|".
        -            "\\/\\/(?>.*?$)|".
        -            "\\/(?=[^*\\/])|".
        -            "<(?!<<)|".
        -            "<<<(?P\w+)\s.*?\s\k".
        -            ")*(?P\\?>|\Z)/sm",
        -        5 => "/(?P<%)(?:".
        -            "(?>[^\"'%\\/<]+)|".
        -            "%(?!>)|".
        -            "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|".
        -            "(?>\"(?>[^\\\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|".
        -            "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|".
        -            "\\/\\/(?>.*?$)|".
        -            "\\/(?=[^*\\/])|".
        -            "<(?!<<)|".
        -            "<<<(?P\w+)\s.*?\s\k".
        -            ")*(?P%>)/sm"
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/php.php b/vendor/easybook/geshi/geshi/php.php
        deleted file mode 100644
        index 7b5c16e..0000000
        --- a/vendor/easybook/geshi/geshi/php.php
        +++ /dev/null
        @@ -1,1115 +0,0 @@
        - 'PHP',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Heredoc and Nowdoc syntax
        -        3 => '/<<<\s*?(\'?)([a-zA-Z0-9]+?)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
        -        // phpdoc comments
        -        4 => '#/\*\*(?![\*\/]).*\*/#sU',
        -        // Advanced # handling
        -        2 => "/#.*?(?:(?=\?\>)|^)/smi"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[nfrtv\$\"\n\\\\]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{1,2}#i",
        -        //Octal Char Specs
        -        3 => "#\\\\[0-7]{1,3}#",
        -        //String Parsing of Variable Names
        -        4 => "#\\$[a-z0-9_]+(?:\\[[a-z0-9_]+\\]|->[a-z0-9_]+)?|(?:\\{\\$|\\$\\{)[a-z0-9_]+(?:\\[('?)[a-z0-9_]*\\1\\]|->[a-z0-9_]+)*\\}#i",
        -        //Experimental extension supporting cascaded {${$var}} syntax
        -        5 => "#\$[a-z0-9_]+(?:\[[a-z0-9_]+\]|->[a-z0-9_]+)?|(?:\{\$|\$\{)[a-z0-9_]+(?:\[('?)[a-z0-9_]*\\1\]|->[a-z0-9_]+)*\}|\{\$(?R)\}#i",
        -        //Format String support in ""-Strings
        -        6 => "#%(?:%|(?:\d+\\\\\\\$)?\\+?(?:\x20|0|'.)?-?(?:\d+|\\*)?(?:\.\d+)?[bcdefFosuxX])#"
        -        ),
        -    'HARDQUOTE' => array("'", "'"),
        -    'HARDESCAPE' => array("'", "\\"),
        -    'HARDCHAR' => "\\",
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |
        -        GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'as','break','case','continue','default','do','else','elseif',
        -            'endfor','endforeach','endif','endswitch','endwhile','for',
        -            'foreach','if','include','include_once','require','require_once',
        -            'return','switch','throw','while',
        -
        -            'echo','print'
        -            ),
        -        2 => array(
        -            '&new','</script>','<?php','<script language',
        -            'abstract','class','const','declare','extends','function','global',
        -            'interface','namespace','new','private','protected','public','self',
        -            'use','var'
        -            ),
        -        3 => array(
        -            'abs','acos','acosh','addcslashes','addslashes','aggregate',
        -            'aggregate_methods','aggregate_methods_by_list',
        -            'aggregate_methods_by_regexp','aggregate_properties',
        -            'aggregate_properties_by_list','aggregate_properties_by_regexp',
        -            'aggregation_info','apache_child_terminate','apache_get_modules',
        -            'apache_get_version','apache_getenv','apache_lookup_uri',
        -            'apache_note','apache_request_headers','apache_response_headers',
        -            'apache_setenv','array','array_change_key_case','array_chunk',
        -            'array_combine','array_count_values','array_diff',
        -            'array_diff_assoc','array_diff_key','array_diff_uassoc',
        -            'array_diff_ukey','array_fill','array_fill_keys','array_filter',
        -            'array_flip','array_intersect','array_intersect_assoc',
        -            'array_intersect_key','array_intersect_uassoc',
        -            'array_intersect_ukey','array_key_exists','array_keys','array_map',
        -            'array_merge','array_merge_recursive','array_multisort','array_pad',
        -            'array_pop','array_product','array_push','array_rand',
        -            'array_reduce','array_reverse','array_search','array_shift',
        -            'array_slice','array_splice','array_sum','array_udiff',
        -            'array_udiff_assoc','array_udiff_uassoc','array_uintersect',
        -            'array_uintersect_assoc','array_uintersect_uassoc','array_unique',
        -            'array_unshift','array_values','array_walk','array_walk_recursive',
        -            'arsort','asin','asinh','asort','assert','assert_options','atan',
        -            'atan2','atanh','base_convert','base64_decode','base64_encode',
        -            'basename','bcadd','bccomp','bcdiv','bcmod','bcmul',
        -            'bcompiler_load','bcompiler_load_exe','bcompiler_parse_class',
        -            'bcompiler_read','bcompiler_write_class','bcompiler_write_constant',
        -            'bcompiler_write_exe_footer','bcompiler_write_file',
        -            'bcompiler_write_footer','bcompiler_write_function',
        -            'bcompiler_write_functions_from_file','bcompiler_write_header',
        -            'bcompiler_write_included_filename','bcpow','bcpowmod','bcscale',
        -            'bcsqrt','bcsub','bin2hex','bindec','bindtextdomain',
        -            'bind_textdomain_codeset','bitset_empty','bitset_equal',
        -            'bitset_excl','bitset_fill','bitset_from_array','bitset_from_hash',
        -            'bitset_from_string','bitset_in','bitset_incl',
        -            'bitset_intersection','bitset_invert','bitset_is_empty',
        -            'bitset_subset','bitset_to_array','bitset_to_hash',
        -            'bitset_to_string','bitset_union','blenc_encrypt','bzclose',
        -            'bzcompress','bzdecompress','bzerrno','bzerror','bzerrstr',
        -            'bzflush','bzopen','bzread','bzwrite','cal_days_in_month',
        -            'cal_from_jd','cal_info','cal_to_jd','call_user_func',
        -            'call_user_func_array','call_user_method','call_user_method_array',
        -            'ceil','chdir','checkdate','checkdnsrr','chgrp','chmod','chop',
        -            'chown','chr','chunk_split','class_exists','class_implements',
        -            'class_parents','classkit_aggregate_methods',
        -            'classkit_doc_comments','classkit_import','classkit_method_add',
        -            'classkit_method_copy','classkit_method_redefine',
        -            'classkit_method_remove','classkit_method_rename','clearstatcache',
        -            'closedir','closelog','com_create_guid','com_event_sink',
        -            'com_get_active_object','com_load_typelib','com_message_pump',
        -            'com_print_typeinfo','compact','confirm_phpdoc_compiled',
        -            'connection_aborted','connection_status','constant',
        -            'convert_cyr_string','convert_uudecode','convert_uuencode','copy',
        -            'cos','cosh','count','count_chars','cpdf_add_annotation',
        -            'cpdf_add_outline','cpdf_arc','cpdf_begin_text','cpdf_circle',
        -            'cpdf_clip','cpdf_close','cpdf_closepath',
        -            'cpdf_closepath_fill_stroke','cpdf_closepath_stroke',
        -            'cpdf_continue_text','cpdf_curveto','cpdf_end_text','cpdf_fill',
        -            'cpdf_fill_stroke','cpdf_finalize','cpdf_finalize_page',
        -            'cpdf_global_set_document_limits','cpdf_import_jpeg','cpdf_lineto',
        -            'cpdf_moveto','cpdf_newpath','cpdf_open','cpdf_output_buffer',
        -            'cpdf_page_init','cpdf_rect','cpdf_restore','cpdf_rlineto',
        -            'cpdf_rmoveto','cpdf_rotate','cpdf_rotate_text','cpdf_save',
        -            'cpdf_save_to_file','cpdf_scale','cpdf_set_action_url',
        -            'cpdf_set_char_spacing','cpdf_set_creator','cpdf_set_current_page',
        -            'cpdf_set_font','cpdf_set_font_directories',
        -            'cpdf_set_font_map_file','cpdf_set_horiz_scaling',
        -            'cpdf_set_keywords','cpdf_set_leading','cpdf_set_page_animation',
        -            'cpdf_set_subject','cpdf_set_text_matrix','cpdf_set_text_pos',
        -            'cpdf_set_text_rendering','cpdf_set_text_rise','cpdf_set_title',
        -            'cpdf_set_viewer_preferences','cpdf_set_word_spacing',
        -            'cpdf_setdash','cpdf_setflat','cpdf_setgray','cpdf_setgray_fill',
        -            'cpdf_setgray_stroke','cpdf_setlinecap','cpdf_setlinejoin',
        -            'cpdf_setlinewidth','cpdf_setmiterlimit','cpdf_setrgbcolor',
        -            'cpdf_setrgbcolor_fill','cpdf_setrgbcolor_stroke','cpdf_show',
        -            'cpdf_show_xy','cpdf_stringwidth','cpdf_stroke','cpdf_text',
        -            'cpdf_translate','crack_check','crack_closedict',
        -            'crack_getlastmessage','crack_opendict','crc32','create_function',
        -            'crypt','ctype_alnum','ctype_alpha','ctype_cntrl','ctype_digit',
        -            'ctype_graph','ctype_lower','ctype_print','ctype_punct',
        -            'ctype_space','ctype_upper','ctype_xdigit','curl_close',
        -            'curl_copy_handle','curl_errno','curl_error','curl_exec',
        -            'curl_getinfo','curl_init','curl_multi_add_handle',
        -            'curl_multi_close','curl_multi_exec','curl_multi_getcontent',
        -            'curl_multi_info_read','curl_multi_init','curl_multi_remove_handle',
        -            'curl_multi_select','curl_setopt','curl_setopt_array',
        -            'curl_version','current','cvsclient_connect','cvsclient_log',
        -            'cvsclient_login','cvsclient_retrieve','date','date_create',
        -            'date_date_set','date_default_timezone_get',
        -            'date_default_timezone_set','date_format','date_isodate_set',
        -            'date_modify','date_offset_get','date_parse','date_sun_info',
        -            'date_sunrise','date_sunset','date_time_set','date_timezone_get',
        -            'date_timezone_set','db_id_list','dba_close','dba_delete',
        -            'dba_exists','dba_fetch','dba_firstkey','dba_handlers','dba_insert',
        -            'dba_key_split','dba_list','dba_nextkey','dba_open','dba_optimize',
        -            'dba_popen','dba_replace','dba_sync','dbase_add_record',
        -            'dbase_close','dbase_create','dbase_delete_record',
        -            'dbase_get_header_info','dbase_get_record',
        -            'dbase_get_record_with_names','dbase_numfields','dbase_numrecords',
        -            'dbase_open','dbase_pack','dbase_replace_record',
        -            'dbg_get_all_contexts','dbg_get_all_module_names',
        -            'dbg_get_all_source_lines','dbg_get_context_name',
        -            'dbg_get_module_name','dbg_get_profiler_results',
        -            'dbg_get_source_context','dblist','dbmclose','dbmdelete',
        -            'dbmexists','dbmfetch','dbmfirstkey','dbminsert','dbmnextkey',
        -            'dbmopen','dbmreplace','dbx_close','dbx_compare','dbx_connect',
        -            'dbx_error','dbx_escape_string','dbx_fetch_row','dbx_query',
        -            'dbx_sort','dcgettext','dcngettext','deaggregate','debug_backtrace',
        -            'debug_zval_dump','debugbreak','decbin','dechex','decoct','define',
        -            'defined','define_syslog_variables','deg2rad','dgettext','die',
        -            'dio_close','dio_open','dio_read','dio_seek','dio_stat','dio_write',
        -            'dir','dirname','disk_free_space','disk_total_space',
        -            'diskfreespace','dl','dngettext','docblock_token_name',
        -            'docblock_tokenize','dom_import_simplexml','domxml_add_root',
        -            'domxml_attributes','domxml_children','domxml_doc_add_root',
        -            'domxml_doc_document_element','domxml_doc_get_element_by_id',
        -            'domxml_doc_get_elements_by_tagname','domxml_doc_get_root',
        -            'domxml_doc_set_root','domxml_doc_validate','domxml_doc_xinclude',
        -            'domxml_dump_mem','domxml_dump_mem_file','domxml_dump_node',
        -            'domxml_dumpmem','domxml_elem_get_attribute',
        -            'domxml_elem_set_attribute','domxml_get_attribute','domxml_getattr',
        -            'domxml_html_dump_mem','domxml_new_child','domxml_new_doc',
        -            'domxml_new_xmldoc','domxml_node','domxml_node_add_namespace',
        -            'domxml_node_attributes','domxml_node_children',
        -            'domxml_node_get_content','domxml_node_has_attributes',
        -            'domxml_node_new_child','domxml_node_set_content',
        -            'domxml_node_set_namespace','domxml_node_unlink_node',
        -            'domxml_open_file','domxml_open_mem','domxml_parser',
        -            'domxml_parser_add_chunk','domxml_parser_cdata_section',
        -            'domxml_parser_characters','domxml_parser_comment',
        -            'domxml_parser_end','domxml_parser_end_document',
        -            'domxml_parser_end_element','domxml_parser_entity_reference',
        -            'domxml_parser_get_document','domxml_parser_namespace_decl',
        -            'domxml_parser_processing_instruction',
        -            'domxml_parser_start_document','domxml_parser_start_element',
        -            'domxml_root','domxml_set_attribute','domxml_setattr',
        -            'domxml_substitute_entities_default','domxml_unlink_node',
        -            'domxml_version','domxml_xmltree','doubleval','each','easter_date',
        -            'easter_days','empty','end','ereg','ereg_replace','eregi',
        -            'eregi_replace','error_get_last','error_log','error_reporting',
        -            'escapeshellarg','escapeshellcmd','eval','event_deschedule',
        -            'event_dispatch','event_free','event_handle_signal',
        -            'event_have_events','event_init','event_new','event_pending',
        -            'event_priority_set','event_schedule','event_set','event_timeout',
        -            'exec','exif_imagetype','exif_read_data','exif_tagname',
        -            'exif_thumbnail','exit','exp','explode','expm1','extension_loaded',
        -            'extract','ezmlm_hash','fbird_add_user','fbird_affected_rows',
        -            'fbird_backup','fbird_blob_add','fbird_blob_cancel',
        -            'fbird_blob_close','fbird_blob_create','fbird_blob_echo',
        -            'fbird_blob_get','fbird_blob_import','fbird_blob_info',
        -            'fbird_blob_open','fbird_close','fbird_commit','fbird_commit_ret',
        -            'fbird_connect','fbird_db_info','fbird_delete_user','fbird_drop_db',
        -            'fbird_errcode','fbird_errmsg','fbird_execute','fbird_fetch_assoc',
        -            'fbird_fetch_object','fbird_fetch_row','fbird_field_info',
        -            'fbird_free_event_handler','fbird_free_query','fbird_free_result',
        -            'fbird_gen_id','fbird_maintain_db','fbird_modify_user',
        -            'fbird_name_result','fbird_num_fields','fbird_num_params',
        -            'fbird_param_info','fbird_pconnect','fbird_prepare','fbird_query',
        -            'fbird_restore','fbird_rollback','fbird_rollback_ret',
        -            'fbird_server_info','fbird_service_attach','fbird_service_detach',
        -            'fbird_set_event_handler','fbird_trans','fbird_wait_event','fclose',
        -            'fdf_add_doc_javascript','fdf_add_template','fdf_close',
        -            'fdf_create','fdf_enum_values','fdf_errno','fdf_error','fdf_get_ap',
        -            'fdf_get_attachment','fdf_get_encoding','fdf_get_file',
        -            'fdf_get_flags','fdf_get_opt','fdf_get_status','fdf_get_value',
        -            'fdf_get_version','fdf_header','fdf_next_field_name','fdf_open',
        -            'fdf_open_string','fdf_remove_item','fdf_save','fdf_save_string',
        -            'fdf_set_ap','fdf_set_encoding','fdf_set_file','fdf_set_flags',
        -            'fdf_set_javascript_action','fdf_set_on_import_javascript',
        -            'fdf_set_opt','fdf_set_status','fdf_set_submit_form_action',
        -            'fdf_set_target_frame','fdf_set_value','fdf_set_version','feof',
        -            'fflush','fgetc','fgetcsv','fgets','fgetss','file','file_exists',
        -            'file_get_contents','file_put_contents','fileatime','filectime',
        -            'filegroup','fileinode','filemtime','fileowner','fileperms',
        -            'filepro','filepro_fieldcount','filepro_fieldname',
        -            'filepro_fieldtype','filepro_fieldwidth','filepro_retrieve',
        -            'filepro_rowcount','filesize','filetype','filter_has_var',
        -            'filter_id','filter_input','filter_input_array','filter_list',
        -            'filter_var','filter_var_array','finfo_buffer','finfo_close',
        -            'finfo_file','finfo_open','finfo_set_flags','floatval','flock',
        -            'floor','flush','fmod','fnmatch','fopen','fpassthru','fprintf',
        -            'fputcsv','fputs','fread','frenchtojd','fribidi_charset_info',
        -            'fribidi_get_charsets','fribidi_log2vis','fscanf','fseek',
        -            'fsockopen','fstat','ftell','ftok','ftp_alloc','ftp_cdup',
        -            'ftp_chdir','ftp_chmod','ftp_close','ftp_connect','ftp_delete',
        -            'ftp_exec','ftp_fget','ftp_fput','ftp_get','ftp_get_option',
        -            'ftp_login','ftp_mdtm','ftp_mkdir','ftp_nb_continue','ftp_nb_fget',
        -            'ftp_nb_fput','ftp_nb_get','ftp_nb_put','ftp_nlist','ftp_pasv',
        -            'ftp_put','ftp_pwd','ftp_quit','ftp_raw','ftp_rawlist','ftp_rename',
        -            'ftp_rmdir','ftp_set_option','ftp_site','ftp_size',
        -            'ftp_ssl_connect','ftp_systype','ftruncate','function_exists',
        -            'func_get_arg','func_get_args','func_num_args','fwrite','gd_info',
        -            'getallheaders','getcwd','getdate','getenv','gethostbyaddr',
        -            'gethostbyname','gethostbynamel','getimagesize','getlastmod',
        -            'getmxrr','getmygid','getmyinode','getmypid','getmyuid','getopt',
        -            'getprotobyname','getprotobynumber','getrandmax','getrusage',
        -            'getservbyname','getservbyport','gettext','gettimeofday','gettype',
        -            'get_browser','get_cfg_var','get_class','get_class_methods',
        -            'get_class_vars','get_current_user','get_declared_classes',
        -            'get_defined_constants','get_defined_functions','get_defined_vars',
        -            'get_extension_funcs','get_headers','get_html_translation_table',
        -            'get_included_files','get_include_path','get_loaded_extensions',
        -            'get_magic_quotes_gpc','get_magic_quotes_runtime','get_meta_tags',
        -            'get_object_vars','get_parent_class','get_required_files',
        -            'get_resource_type','glob','gmdate','gmmktime','gmp_abs','gmp_add',
        -            'gmp_and','gmp_clrbit','gmp_cmp','gmp_com','gmp_div','gmp_div_q',
        -            'gmp_div_qr','gmp_div_r','gmp_divexact','gmp_fact','gmp_gcd',
        -            'gmp_gcdext','gmp_hamdist','gmp_init','gmp_intval','gmp_invert',
        -            'gmp_jacobi','gmp_legendre','gmp_mod','gmp_mul','gmp_neg',
        -            'gmp_nextprime','gmp_or','gmp_perfect_square','gmp_popcount',
        -            'gmp_pow','gmp_powm','gmp_prob_prime','gmp_random','gmp_scan0',
        -            'gmp_scan1','gmp_setbit','gmp_sign','gmp_sqrt','gmp_sqrtrem',
        -            'gmp_strval','gmp_sub','gmp_xor','gmstrftime','gopher_parsedir',
        -            'gregoriantojd','gzclose','gzcompress','gzdeflate','gzencode',
        -            'gzeof','gzfile','gzgetc','gzgets','gzgetss','gzinflate','gzopen',
        -            'gzpassthru','gzputs','gzread','gzrewind','gzseek','gztell',
        -            'gzuncompress','gzwrite','hash','hash_algos','hash_file',
        -            'hash_final','hash_hmac','hash_hmac_file','hash_init','hash_update',
        -            'hash_update_file','hash_update_stream','header','headers_list',
        -            'headers_sent','hebrev','hebrevc','hexdec','highlight_file',
        -            'highlight_string','html_doc','html_doc_file','html_entity_decode',
        -            'htmlentities','htmlspecialchars','htmlspecialchars_decode',
        -            'http_build_cookie','http_build_query','http_build_str',
        -            'http_build_url','http_cache_etag','http_cache_last_modified',
        -            'http_chunked_decode','http_date','http_deflate','http_get',
        -            'http_get_request_body','http_get_request_body_stream',
        -            'http_get_request_headers','http_head','http_inflate',
        -            'http_match_etag','http_match_modified','http_match_request_header',
        -            'http_negotiate_charset','http_negotiate_content_type',
        -            'http_negotiate_language','http_parse_cookie','http_parse_headers',
        -            'http_parse_message','http_parse_params',
        -            'http_persistent_handles_clean','http_persistent_handles_count',
        -            'http_persistent_handles_ident','http_post_data','http_post_fields',
        -            'http_put_data','http_put_file','http_put_stream','http_redirect',
        -            'http_request','http_request_body_encode',
        -            'http_request_method_exists','http_request_method_name',
        -            'http_request_method_register','http_request_method_unregister',
        -            'http_send_content_disposition','http_send_content_type',
        -            'http_send_data','http_send_file','http_send_last_modified',
        -            'http_send_status','http_send_stream','http_support',
        -            'http_throttle','hypot','i18n_convert','i18n_discover_encoding',
        -            'i18n_http_input','i18n_http_output','i18n_internal_encoding',
        -            'i18n_ja_jp_hantozen','i18n_mime_header_decode',
        -            'i18n_mime_header_encode','ibase_add_user','ibase_affected_rows',
        -            'ibase_backup','ibase_blob_add','ibase_blob_cancel',
        -            'ibase_blob_close','ibase_blob_create','ibase_blob_echo',
        -            'ibase_blob_get','ibase_blob_import','ibase_blob_info',
        -            'ibase_blob_open','ibase_close','ibase_commit','ibase_commit_ret',
        -            'ibase_connect','ibase_db_info','ibase_delete_user','ibase_drop_db',
        -            'ibase_errcode','ibase_errmsg','ibase_execute','ibase_fetch_assoc',
        -            'ibase_fetch_object','ibase_fetch_row','ibase_field_info',
        -            'ibase_free_event_handler','ibase_free_query','ibase_free_result',
        -            'ibase_gen_id','ibase_maintain_db','ibase_modify_user',
        -            'ibase_name_result','ibase_num_fields','ibase_num_params',
        -            'ibase_param_info','ibase_pconnect','ibase_prepare','ibase_query',
        -            'ibase_restore','ibase_rollback','ibase_rollback_ret',
        -            'ibase_server_info','ibase_service_attach','ibase_service_detach',
        -            'ibase_set_event_handler','ibase_trans','ibase_wait_event','iconv',
        -            'iconv_get_encoding','iconv_mime_decode',
        -            'iconv_mime_decode_headers','iconv_mime_encode',
        -            'iconv_set_encoding','iconv_strlen','iconv_strpos','iconv_strrpos',
        -            'iconv_substr','id3_get_frame_long_name','id3_get_frame_short_name',
        -            'id3_get_genre_id','id3_get_genre_list','id3_get_genre_name',
        -            'id3_get_tag','id3_get_version','id3_remove_tag','id3_set_tag',
        -            'idate','ignore_user_abort','image_type_to_extension',
        -            'image_type_to_mime_type','image2wbmp','imagealphablending',
        -            'imageantialias','imagearc','imagechar','imagecharup',
        -            'imagecolorallocate','imagecolorallocatealpha','imagecolorat',
        -            'imagecolorclosest','imagecolorclosestalpha','imagecolordeallocate',
        -            'imagecolorexact','imagecolorexactalpha','imagecolormatch',
        -            'imagecolorresolve','imagecolorresolvealpha','imagecolorset',
        -            'imagecolorsforindex','imagecolorstotal','imagecolortransparent',
        -            'imageconvolution','imagecopy','imagecopymerge',
        -            'imagecopymergegray','imagecopyresampled','imagecopyresized',
        -            'imagecreate','imagecreatefromgd','imagecreatefromgd2',
        -            'imagecreatefromgd2part','imagecreatefromgif','imagecreatefromjpeg',
        -            'imagecreatefrompng','imagecreatefromstring','imagecreatefromwbmp',
        -            'imagecreatefromxbm','imagecreatetruecolor','imagedashedline',
        -            'imagedestroy','imageellipse','imagefill','imagefilledarc',
        -            'imagefilledellipse','imagefilledpolygon','imagefilledrectangle',
        -            'imagefilltoborder','imagefilter','imagefontheight',
        -            'imagefontwidth','imageftbbox','imagefttext','imagegammacorrect',
        -            'imagegd','imagegd2','imagegif','imagegrabscreen','imagegrabwindow',
        -            'imageinterlace','imageistruecolor','imagejpeg','imagelayereffect',
        -            'imageline','imageloadfont','imagepalettecopy','imagepng',
        -            'imagepolygon','imagepsbbox','imagepsencodefont',
        -            'imagepsextendfont','imagepsfreefont','imagepsloadfont',
        -            'imagepsslantfont','imagepstext','imagerectangle','imagerotate',
        -            'imagesavealpha','imagesetbrush','imagesetpixel','imagesetstyle',
        -            'imagesetthickness','imagesettile','imagestring','imagestringup',
        -            'imagesx','imagesy','imagetruecolortopalette','imagettfbbox',
        -            'imagettftext','imagetypes','imagewbmp','imagexbm','imap_8bit',
        -            'imap_alerts','imap_append','imap_base64','imap_binary','imap_body',
        -            'imap_bodystruct','imap_check','imap_clearflag_full','imap_close',
        -            'imap_create','imap_createmailbox','imap_delete',
        -            'imap_deletemailbox','imap_errors','imap_expunge',
        -            'imap_fetch_overview','imap_fetchbody','imap_fetchheader',
        -            'imap_fetchstructure','imap_fetchtext','imap_get_quota',
        -            'imap_get_quotaroot','imap_getacl','imap_getmailboxes',
        -            'imap_getsubscribed','imap_header','imap_headerinfo','imap_headers',
        -            'imap_last_error','imap_list','imap_listmailbox',
        -            'imap_listsubscribed','imap_lsub','imap_mail','imap_mail_compose',
        -            'imap_mail_copy','imap_mail_move','imap_mailboxmsginfo',
        -            'imap_mime_header_decode','imap_msgno','imap_num_msg',
        -            'imap_num_recent','imap_open','imap_ping','imap_qprint',
        -            'imap_rename','imap_renamemailbox','imap_reopen',
        -            'imap_rfc822_parse_adrlist','imap_rfc822_parse_headers',
        -            'imap_rfc822_write_address','imap_savebody','imap_scan',
        -            'imap_scanmailbox','imap_search','imap_set_quota','imap_setacl',
        -            'imap_setflag_full','imap_sort','imap_status','imap_subscribe',
        -            'imap_thread','imap_timeout','imap_uid','imap_undelete',
        -            'imap_unsubscribe','imap_utf7_decode','imap_utf7_encode',
        -            'imap_utf8','implode','import_request_variables','in_array',
        -            'ini_alter','ini_get','ini_get_all','ini_restore','ini_set',
        -            'intval','ip2long','iptcembed','iptcparse','isset','is_a',
        -            'is_array','is_bool','is_callable','is_dir','is_double',
        -            'is_executable','is_file','is_finite','is_float','is_infinite',
        -            'is_int','is_integer','is_link','is_long','is_nan','is_null',
        -            'is_numeric','is_object','is_readable','is_real','is_resource',
        -            'is_scalar','is_soap_fault','is_string','is_subclass_of',
        -            'is_uploaded_file','is_writable','is_writeable','iterator_apply',
        -            'iterator_count','iterator_to_array','java_last_exception_clear',
        -            'java_last_exception_get','jddayofweek','jdmonthname','jdtofrench',
        -            'jdtogregorian','jdtojewish','jdtojulian','jdtounix','jewishtojd',
        -            'join','jpeg2wbmp','json_decode','json_encode','juliantojd','key',
        -            'key_exists','krsort','ksort','lcg_value','ldap_add','ldap_bind',
        -            'ldap_close','ldap_compare','ldap_connect','ldap_count_entries',
        -            'ldap_delete','ldap_dn2ufn','ldap_err2str','ldap_errno',
        -            'ldap_error','ldap_explode_dn','ldap_first_attribute',
        -            'ldap_first_entry','ldap_first_reference','ldap_free_result',
        -            'ldap_get_attributes','ldap_get_dn','ldap_get_entries',
        -            'ldap_get_option','ldap_get_values','ldap_get_values_len',
        -            'ldap_list','ldap_mod_add','ldap_mod_del','ldap_mod_replace',
        -            'ldap_modify','ldap_next_attribute','ldap_next_entry',
        -            'ldap_next_reference','ldap_parse_reference','ldap_parse_result',
        -            'ldap_read','ldap_rename','ldap_search','ldap_set_option',
        -            'ldap_sort','ldap_start_tls','ldap_unbind','levenshtein',
        -            'libxml_clear_errors','libxml_get_errors','libxml_get_last_error',
        -            'libxml_set_streams_context','libxml_use_internal_errors','link',
        -            'linkinfo','list','localeconv','localtime','log','log1p','log10',
        -            'long2ip','lstat','ltrim','lzf_compress','lzf_decompress',
        -            'lzf_optimized_for','magic_quotes_runtime','mail','max','mbereg',
        -            'mberegi','mberegi_replace','mbereg_match','mbereg_replace',
        -            'mbereg_search','mbereg_search_getpos','mbereg_search_getregs',
        -            'mbereg_search_init','mbereg_search_pos','mbereg_search_regs',
        -            'mbereg_search_setpos','mbregex_encoding','mbsplit','mbstrcut',
        -            'mbstrlen','mbstrpos','mbstrrpos','mbsubstr','mb_check_encoding',
        -            'mb_convert_case','mb_convert_encoding','mb_convert_kana',
        -            'mb_convert_variables','mb_decode_mimeheader',
        -            'mb_decode_numericentity','mb_detect_encoding','mb_detect_order',
        -            'mb_encode_mimeheader','mb_encode_numericentity','mb_ereg',
        -            'mb_eregi','mb_eregi_replace','mb_ereg_match','mb_ereg_replace',
        -            'mb_ereg_search','mb_ereg_search_getpos','mb_ereg_search_getregs',
        -            'mb_ereg_search_init','mb_ereg_search_pos','mb_ereg_search_regs',
        -            'mb_ereg_search_setpos','mb_get_info','mb_http_input',
        -            'mb_http_output','mb_internal_encoding','mb_language',
        -            'mb_list_encodings','mb_output_handler','mb_parse_str',
        -            'mb_preferred_mime_name','mb_regex_encoding','mb_regex_set_options',
        -            'mb_send_mail','mb_split','mb_strcut','mb_strimwidth','mb_stripos',
        -            'mb_stristr','mb_strlen','mb_strpos','mb_strrchr','mb_strrichr',
        -            'mb_strripos','mb_strrpos','mb_strstr','mb_strtolower',
        -            'mb_strtoupper','mb_strwidth','mb_substitute_character','mb_substr',
        -            'mb_substr_count','mcrypt_cbc','mcrypt_cfb','mcrypt_create_iv',
        -            'mcrypt_decrypt','mcrypt_ecb','mcrypt_enc_get_algorithms_name',
        -            'mcrypt_enc_get_block_size','mcrypt_enc_get_iv_size',
        -            'mcrypt_enc_get_key_size','mcrypt_enc_get_modes_name',
        -            'mcrypt_enc_get_supported_key_sizes',
        -            'mcrypt_enc_is_block_algorithm',
        -            'mcrypt_enc_is_block_algorithm_mode','mcrypt_enc_is_block_mode',
        -            'mcrypt_enc_self_test','mcrypt_encrypt','mcrypt_generic',
        -            'mcrypt_generic_deinit','mcrypt_generic_end','mcrypt_generic_init',
        -            'mcrypt_get_block_size','mcrypt_get_cipher_name',
        -            'mcrypt_get_iv_size','mcrypt_get_key_size','mcrypt_list_algorithms',
        -            'mcrypt_list_modes','mcrypt_module_close',
        -            'mcrypt_module_get_algo_block_size',
        -            'mcrypt_module_get_algo_key_size',
        -            'mcrypt_module_get_supported_key_sizes',
        -            'mcrypt_module_is_block_algorithm',
        -            'mcrypt_module_is_block_algorithm_mode',
        -            'mcrypt_module_is_block_mode','mcrypt_module_open',
        -            'mcrypt_module_self_test','mcrypt_ofb','md5','md5_file',
        -            'mdecrypt_generic','memcache_add','memcache_add_server',
        -            'memcache_close','memcache_connect','memcache_debug',
        -            'memcache_decrement','memcache_delete','memcache_flush',
        -            'memcache_get','memcache_get_extended_stats',
        -            'memcache_get_server_status','memcache_get_stats',
        -            'memcache_get_version','memcache_increment','memcache_pconnect',
        -            'memcache_replace','memcache_set','memcache_set_compress_threshold',
        -            'memcache_set_server_params','memory_get_peak_usage',
        -            'memory_get_usage','metaphone','mhash','mhash_count',
        -            'mhash_get_block_size','mhash_get_hash_name','mhash_keygen_s2k',
        -            'method_exists','microtime','mime_content_type','min',
        -            'ming_keypress','ming_setcubicthreshold','ming_setscale',
        -            'ming_useconstants','ming_useswfversion','mkdir','mktime',
        -            'money_format','move_uploaded_file','msql','msql_affected_rows',
        -            'msql_close','msql_connect','msql_create_db','msql_createdb',
        -            'msql_data_seek','msql_db_query','msql_dbname','msql_drop_db',
        -            'msql_dropdb','msql_error','msql_fetch_array','msql_fetch_field',
        -            'msql_fetch_object','msql_fetch_row','msql_field_flags',
        -            'msql_field_len','msql_field_name','msql_field_seek',
        -            'msql_field_table','msql_field_type','msql_fieldflags',
        -            'msql_fieldlen','msql_fieldname','msql_fieldtable','msql_fieldtype',
        -            'msql_free_result','msql_freeresult','msql_list_dbs',
        -            'msql_list_fields','msql_list_tables','msql_listdbs',
        -            'msql_listfields','msql_listtables','msql_num_fields',
        -            'msql_num_rows','msql_numfields','msql_numrows','msql_pconnect',
        -            'msql_query','msql_regcase','msql_result','msql_select_db',
        -            'msql_selectdb','msql_tablename','mssql_bind','mssql_close',
        -            'mssql_connect','mssql_data_seek','mssql_execute',
        -            'mssql_fetch_array','mssql_fetch_assoc','mssql_fetch_batch',
        -            'mssql_fetch_field','mssql_fetch_object','mssql_fetch_row',
        -            'mssql_field_length','mssql_field_name','mssql_field_seek',
        -            'mssql_field_type','mssql_free_result','mssql_free_statement',
        -            'mssql_get_last_message','mssql_guid_string','mssql_init',
        -            'mssql_min_error_severity','mssql_min_message_severity',
        -            'mssql_next_result','mssql_num_fields','mssql_num_rows',
        -            'mssql_pconnect','mssql_query','mssql_result','mssql_rows_affected',
        -            'mssql_select_db','mt_getrandmax','mt_rand','mt_srand','mysql',
        -            'mysql_affected_rows','mysql_client_encoding','mysql_close',
        -            'mysql_connect','mysql_createdb','mysql_create_db',
        -            'mysql_data_seek','mysql_dbname','mysql_db_name','mysql_db_query',
        -            'mysql_dropdb','mysql_drop_db','mysql_errno','mysql_error',
        -            'mysql_escape_string','mysql_fetch_array','mysql_fetch_assoc',
        -            'mysql_fetch_field','mysql_fetch_lengths','mysql_fetch_object',
        -            'mysql_fetch_row','mysql_fieldflags','mysql_fieldlen',
        -            'mysql_fieldname','mysql_fieldtable','mysql_fieldtype',
        -            'mysql_field_flags','mysql_field_len','mysql_field_name',
        -            'mysql_field_seek','mysql_field_table','mysql_field_type',
        -            'mysql_freeresult','mysql_free_result','mysql_get_client_info',
        -            'mysql_get_host_info','mysql_get_proto_info',
        -            'mysql_get_server_info','mysql_info','mysql_insert_id',
        -            'mysql_listdbs','mysql_listfields','mysql_listtables',
        -            'mysql_list_dbs','mysql_list_fields','mysql_list_processes',
        -            'mysql_list_tables','mysql_numfields','mysql_numrows',
        -            'mysql_num_fields','mysql_num_rows','mysql_pconnect','mysql_ping',
        -            'mysql_query','mysql_real_escape_string','mysql_result',
        -            'mysql_selectdb','mysql_select_db','mysql_set_charset','mysql_stat',
        -            'mysql_tablename','mysql_table_name','mysql_thread_id',
        -            'mysql_unbuffered_query','mysqli_affected_rows','mysqli_autocommit',
        -            'mysqli_bind_param','mysqli_bind_result','mysqli_change_user',
        -            'mysqli_character_set_name','mysqli_client_encoding','mysqli_close',
        -            'mysqli_commit','mysqli_connect','mysqli_connect_errno',
        -            'mysqli_connect_error','mysqli_data_seek','mysqli_debug',
        -            'mysqli_disable_reads_from_master','mysqli_disable_rpl_parse',
        -            'mysqli_dump_debug_info','mysqli_embedded_server_end',
        -            'mysqli_embedded_server_start','mysqli_enable_reads_from_master',
        -            'mysqli_enable_rpl_parse','mysqli_errno','mysqli_error',
        -            'mysqli_escape_string','mysqli_execute','mysqli_fetch',
        -            'mysqli_fetch_array','mysqli_fetch_assoc','mysqli_fetch_field',
        -            'mysqli_fetch_field_direct','mysqli_fetch_fields',
        -            'mysqli_fetch_lengths','mysqli_fetch_object','mysqli_fetch_row',
        -            'mysqli_field_count','mysqli_field_seek','mysqli_field_tell',
        -            'mysqli_free_result','mysqli_get_charset','mysqli_get_client_info',
        -            'mysqli_get_client_version','mysqli_get_host_info',
        -            'mysqli_get_metadata','mysqli_get_proto_info',
        -            'mysqli_get_server_info','mysqli_get_server_version',
        -            'mysqli_get_warnings','mysqli_info','mysqli_init',
        -            'mysqli_insert_id','mysqli_kill','mysqli_master_query',
        -            'mysqli_more_results','mysqli_multi_query','mysqli_next_result',
        -            'mysqli_num_fields','mysqli_num_rows','mysqli_options',
        -            'mysqli_param_count','mysqli_ping','mysqli_prepare','mysqli_query',
        -            'mysqli_real_connect','mysqli_real_escape_string',
        -            'mysqli_real_query','mysqli_report','mysqli_rollback',
        -            'mysqli_rpl_parse_enabled','mysqli_rpl_probe',
        -            'mysqli_rpl_query_type','mysqli_select_db','mysqli_send_long_data',
        -            'mysqli_send_query','mysqli_set_charset',
        -            'mysqli_set_local_infile_default','mysqli_set_local_infile_handler',
        -            'mysqli_set_opt','mysqli_slave_query','mysqli_sqlstate',
        -            'mysqli_ssl_set','mysqli_stat','mysqli_stmt_affected_rows',
        -            'mysqli_stmt_attr_get','mysqli_stmt_attr_set',
        -            'mysqli_stmt_bind_param','mysqli_stmt_bind_result',
        -            'mysqli_stmt_close','mysqli_stmt_data_seek','mysqli_stmt_errno',
        -            'mysqli_stmt_error','mysqli_stmt_execute','mysqli_stmt_fetch',
        -            'mysqli_stmt_field_count','mysqli_stmt_free_result',
        -            'mysqli_stmt_get_warnings','mysqli_stmt_init',
        -            'mysqli_stmt_insert_id','mysqli_stmt_num_rows',
        -            'mysqli_stmt_param_count','mysqli_stmt_prepare','mysqli_stmt_reset',
        -            'mysqli_stmt_result_metadata','mysqli_stmt_send_long_data',
        -            'mysqli_stmt_sqlstate','mysqli_stmt_store_result',
        -            'mysqli_store_result','mysqli_thread_id','mysqli_thread_safe',
        -            'mysqli_use_result','mysqli_warning_count','natcasesort','natsort',
        -            'new_xmldoc','next','ngettext','nl2br','nl_langinfo',
        -            'ntuser_getdomaincontroller','ntuser_getusergroups',
        -            'ntuser_getuserinfo','ntuser_getuserlist','number_format',
        -            'ob_clean','ob_deflatehandler','ob_end_clean','ob_end_flush',
        -            'ob_etaghandler','ob_flush','ob_get_clean','ob_get_contents',
        -            'ob_get_flush','ob_get_length','ob_get_level','ob_get_status',
        -            'ob_gzhandler','ob_iconv_handler','ob_implicit_flush',
        -            'ob_inflatehandler','ob_list_handlers','ob_start','ob_tidyhandler',
        -            'octdec','odbc_autocommit','odbc_binmode','odbc_close',
        -            'odbc_close_all','odbc_columnprivileges','odbc_columns',
        -            'odbc_commit','odbc_connect','odbc_cursor','odbc_data_source',
        -            'odbc_do','odbc_error','odbc_errormsg','odbc_exec','odbc_execute',
        -            'odbc_fetch_array','odbc_fetch_into','odbc_fetch_object',
        -            'odbc_fetch_row','odbc_field_len','odbc_field_name',
        -            'odbc_field_num','odbc_field_precision','odbc_field_scale',
        -            'odbc_field_type','odbc_foreignkeys','odbc_free_result',
        -            'odbc_gettypeinfo','odbc_longreadlen','odbc_next_result',
        -            'odbc_num_fields','odbc_num_rows','odbc_pconnect','odbc_prepare',
        -            'odbc_primarykeys','odbc_procedurecolumns','odbc_procedures',
        -            'odbc_result','odbc_result_all','odbc_rollback','odbc_setoption',
        -            'odbc_specialcolumns','odbc_statistics','odbc_tableprivileges',
        -            'odbc_tables','opendir','openlog','openssl_csr_export',
        -            'openssl_csr_export_to_file','openssl_csr_get_public_key',
        -            'openssl_csr_get_subject','openssl_csr_new','openssl_csr_sign',
        -            'openssl_error_string','openssl_free_key','openssl_get_privatekey',
        -            'openssl_get_publickey','openssl_open','openssl_pkcs12_export',
        -            'openssl_pkcs12_export_to_file','openssl_pkcs12_read',
        -            'openssl_pkcs7_decrypt','openssl_pkcs7_encrypt',
        -            'openssl_pkcs7_sign','openssl_pkcs7_verify','openssl_pkey_export',
        -            'openssl_pkey_export_to_file','openssl_pkey_free',
        -            'openssl_pkey_get_details','openssl_pkey_get_private',
        -            'openssl_pkey_get_public','openssl_pkey_new',
        -            'openssl_private_decrypt','openssl_private_encrypt',
        -            'openssl_public_decrypt','openssl_public_encrypt','openssl_seal',
        -            'openssl_sign','openssl_verify','openssl_x509_checkpurpose',
        -            'openssl_x509_check_private_key','openssl_x509_export',
        -            'openssl_x509_export_to_file','openssl_x509_free',
        -            'openssl_x509_parse','openssl_x509_read','ord',
        -            'output_add_rewrite_var','output_reset_rewrite_vars','overload',
        -            'outputdebugstring','pack','parse_ini_file','parse_str','parse_url',
        -            'parsekit_compile_file','parsekit_compile_string',
        -            'parsekit_func_arginfo','parsekit_opcode_flags',
        -            'parsekit_opcode_name','passthru','pathinfo','pclose',
        -            'pdf_add_bookmark','pdf_add_launchlink','pdf_add_locallink',
        -            'pdf_add_nameddest','pdf_add_note','pdf_add_pdflink',
        -            'pdf_add_thumbnail','pdf_add_weblink','pdf_arc','pdf_arcn',
        -            'pdf_attach_file','pdf_begin_font','pdf_begin_glyph',
        -            'pdf_begin_page','pdf_begin_pattern','pdf_begin_template',
        -            'pdf_circle','pdf_clip','pdf_close','pdf_close_image',
        -            'pdf_close_pdi','pdf_close_pdi_page','pdf_closepath',
        -            'pdf_closepath_fill_stroke','pdf_closepath_stroke','pdf_concat',
        -            'pdf_continue_text','pdf_create_gstate','pdf_create_pvf',
        -            'pdf_curveto','pdf_delete','pdf_delete_pvf','pdf_encoding_set_char',
        -            'pdf_end_font','pdf_end_glyph','pdf_end_page','pdf_end_pattern',
        -            'pdf_end_template','pdf_endpath','pdf_fill','pdf_fill_imageblock',
        -            'pdf_fill_pdfblock','pdf_fill_stroke','pdf_fill_textblock',
        -            'pdf_findfont','pdf_fit_image','pdf_fit_pdi_page',
        -            'pdf_fit_textline','pdf_get_apiname','pdf_get_buffer',
        -            'pdf_get_errmsg','pdf_get_errnum','pdf_get_parameter',
        -            'pdf_get_pdi_parameter','pdf_get_pdi_value','pdf_get_value',
        -            'pdf_initgraphics','pdf_lineto','pdf_load_font',
        -            'pdf_load_iccprofile','pdf_load_image','pdf_makespotcolor',
        -            'pdf_moveto','pdf_new','pdf_open_ccitt','pdf_open_file',
        -            'pdf_open_image','pdf_open_image_file','pdf_open_pdi',
        -            'pdf_open_pdi_page','pdf_place_image','pdf_place_pdi_page',
        -            'pdf_process_pdi','pdf_rect','pdf_restore','pdf_rotate','pdf_save',
        -            'pdf_scale','pdf_set_border_color','pdf_set_border_dash',
        -            'pdf_set_border_style','pdf_set_gstate','pdf_set_info',
        -            'pdf_set_parameter','pdf_set_text_pos','pdf_set_value',
        -            'pdf_setcolor','pdf_setdash','pdf_setdashpattern','pdf_setflat',
        -            'pdf_setfont','pdf_setlinecap','pdf_setlinejoin','pdf_setlinewidth',
        -            'pdf_setmatrix','pdf_setmiterlimit','pdf_setpolydash','pdf_shading',
        -            'pdf_shading_pattern','pdf_shfill','pdf_show','pdf_show_boxed',
        -            'pdf_show_xy','pdf_skew','pdf_stringwidth','pdf_stroke',
        -            'pdf_translate','pdo_drivers','pfsockopen','pg_affected_rows',
        -            'pg_cancel_query','pg_clientencoding','pg_client_encoding',
        -            'pg_close','pg_cmdtuples','pg_connect','pg_connection_busy',
        -            'pg_connection_reset','pg_connection_status','pg_convert',
        -            'pg_copy_from','pg_copy_to','pg_dbname','pg_delete','pg_end_copy',
        -            'pg_errormessage','pg_escape_bytea','pg_escape_string','pg_exec',
        -            'pg_execute','pg_fetch_all','pg_fetch_all_columns','pg_fetch_array',
        -            'pg_fetch_assoc','pg_fetch_object','pg_fetch_result','pg_fetch_row',
        -            'pg_fieldisnull','pg_fieldname','pg_fieldnum','pg_fieldprtlen',
        -            'pg_fieldsize','pg_fieldtype','pg_field_is_null','pg_field_name',
        -            'pg_field_num','pg_field_prtlen','pg_field_size','pg_field_table',
        -            'pg_field_type','pg_field_type_oid','pg_free_result',
        -            'pg_freeresult','pg_get_notify','pg_get_pid','pg_get_result',
        -            'pg_getlastoid','pg_host','pg_insert','pg_last_error',
        -            'pg_last_notice','pg_last_oid','pg_loclose','pg_locreate',
        -            'pg_loexport','pg_loimport','pg_loopen','pg_loread','pg_loreadall',
        -            'pg_lounlink','pg_lowrite','pg_lo_close','pg_lo_create',
        -            'pg_lo_export','pg_lo_import','pg_lo_open','pg_lo_read',
        -            'pg_lo_read_all','pg_lo_seek','pg_lo_tell','pg_lo_unlink',
        -            'pg_lo_write','pg_meta_data','pg_numfields','pg_numrows',
        -            'pg_num_fields','pg_num_rows','pg_options','pg_parameter_status',
        -            'pg_pconnect','pg_ping','pg_port','pg_prepare','pg_put_line',
        -            'pg_query','pg_query_params','pg_result','pg_result_error',
        -            'pg_result_error_field','pg_result_seek','pg_result_status',
        -            'pg_select','pg_send_execute','pg_send_prepare','pg_send_query',
        -            'pg_send_query_params','pg_set_client_encoding',
        -            'pg_set_error_verbosity','pg_setclientencoding','pg_trace',
        -            'pg_transaction_status','pg_tty','pg_unescape_bytea','pg_untrace',
        -            'pg_update','pg_version','php_egg_logo_guid','php_ini_loaded_file',
        -            'php_ini_scanned_files','php_logo_guid','php_real_logo_guid',
        -            'php_sapi_name','php_strip_whitespace','php_uname','phpcredits',
        -            'phpdoc_xml_from_string','phpinfo','phpversion','pi','png2wbmp',
        -            'pop3_close','pop3_delete_message','pop3_get_account_size',
        -            'pop3_get_message','pop3_get_message_count',
        -            'pop3_get_message_header','pop3_get_message_ids',
        -            'pop3_get_message_size','pop3_get_message_sizes','pop3_open',
        -            'pop3_undelete','popen','pos','posix_ctermid','posix_errno',
        -            'posix_getcwd','posix_getegid','posix_geteuid','posix_getgid',
        -            'posix_getgrgid','posix_getgrnam','posix_getgroups',
        -            'posix_getlogin','posix_getpgid','posix_getpgrp','posix_getpid',
        -            'posix_getppid','posix_getpwnam','posix_getpwuid','posix_getrlimit',
        -            'posix_getsid','posix_getuid','posix_get_last_error','posix_isatty',
        -            'posix_kill','posix_mkfifo','posix_setegid','posix_seteuid',
        -            'posix_setgid','posix_setpgid','posix_setsid','posix_setuid',
        -            'posix_strerror','posix_times','posix_ttyname','posix_uname','pow',
        -            'preg_grep','preg_last_error','preg_match','preg_match_all',
        -            'preg_quote','preg_replace','preg_replace_callback','preg_split',
        -            'prev','print_r','printf','proc_close','proc_get_status',
        -            'proc_open','proc_terminate','putenv','quoted_printable_decode',
        -            'quotemeta','rad2deg','radius_acct_open','radius_add_server',
        -            'radius_auth_open','radius_close','radius_config',
        -            'radius_create_request','radius_cvt_addr','radius_cvt_int',
        -            'radius_cvt_string','radius_demangle','radius_demangle_mppe_key',
        -            'radius_get_attr','radius_get_vendor_attr','radius_put_addr',
        -            'radius_put_attr','radius_put_int','radius_put_string',
        -            'radius_put_vendor_addr','radius_put_vendor_attr',
        -            'radius_put_vendor_int','radius_put_vendor_string',
        -            'radius_request_authenticator','radius_send_request',
        -            'radius_server_secret','radius_strerror','rand','range',
        -            'rawurldecode','rawurlencode','read_exif_data','readdir','readfile',
        -            'readgzfile','readlink','realpath','reg_close_key','reg_create_key',
        -            'reg_enum_key','reg_enum_value','reg_get_value','reg_open_key',
        -            'reg_set_value','register_shutdown_function',
        -            'register_tick_function','rename','res_close','res_get','res_list',
        -            'res_list_type','res_open','res_set','reset',
        -            'restore_error_handler','restore_include_path','rewind','rewinddir',
        -            'rmdir','round','rsort','rtrim','runkit_class_adopt',
        -            'runkit_class_emancipate','runkit_constant_add',
        -            'runkit_constant_redefine','runkit_constant_remove',
        -            'runkit_default_property_add','runkit_function_add',
        -            'runkit_function_copy','runkit_function_redefine',
        -            'runkit_function_remove','runkit_function_rename','runkit_import',
        -            'runkit_lint','runkit_lint_file','runkit_method_add',
        -            'runkit_method_copy','runkit_method_redefine',
        -            'runkit_method_remove','runkit_method_rename','runkit_object_id',
        -            'runkit_return_value_used','runkit_sandbox_output_handler',
        -            'runkit_superglobals','runkit_zval_inspect','scandir','sem_acquire',
        -            'sem_get','sem_release','sem_remove','serialize',
        -            'session_cache_expire','session_cache_limiter','session_commit',
        -            'session_decode','session_destroy','session_encode',
        -            'session_get_cookie_params','session_id','session_is_registered',
        -            'session_module_name','session_name','session_regenerate_id',
        -            'session_register','session_save_path','session_set_cookie_params',
        -            'session_set_save_handler','session_start','session_unregister',
        -            'session_unset','session_write_close','set_content',
        -            'set_error_handler','set_file_buffer','set_include_path',
        -            'set_magic_quotes_runtime','set_socket_blocking','set_time_limit',
        -            'setcookie','setlocale','setrawcookie','settype','sha1','sha1_file',
        -            'shell_exec','shmop_close','shmop_delete','shmop_open','shmop_read',
        -            'shmop_size','shmop_write','shm_attach','shm_detach','shm_get_var',
        -            'shm_put_var','shm_remove','shm_remove_var','show_source','shuffle',
        -            'similar_text','simplexml_import_dom','simplexml_load_file',
        -            'simplexml_load_string','sin','sinh','sizeof','sleep','smtp_close',
        -            'smtp_cmd_data','smtp_cmd_mail','smtp_cmd_rcpt','smtp_connect',
        -            'snmp_get_quick_print','snmp_get_valueretrieval','snmp_read_mib',
        -            'snmp_set_quick_print','snmp_set_valueretrieval','snmp2_get',
        -            'snmp2_getnext','snmp2_real_walk','snmp2_set','snmp2_walk',
        -            'snmp3_get','snmp3_getnext','snmp3_real_walk','snmp3_set',
        -            'snmp3_walk','snmpget','snmpgetnext','snmprealwalk','snmpset',
        -            'snmpwalk','snmpwalkoid','socket_accept','socket_bind',
        -            'socket_clear_error','socket_close','socket_connect',
        -            'socket_create','socket_create_listen','socket_create_pair',
        -            'socket_getopt','socket_getpeername','socket_getsockname',
        -            'socket_get_option','socket_get_status','socket_iovec_add',
        -            'socket_iovec_alloc','socket_iovec_delete','socket_iovec_fetch',
        -            'socket_iovec_free','socket_iovec_set','socket_last_error',
        -            'socket_listen','socket_read','socket_readv','socket_recv',
        -            'socket_recvfrom','socket_recvmsg','socket_select','socket_send',
        -            'socket_sendmsg','socket_sendto','socket_setopt','socket_set_block',
        -            'socket_set_blocking','socket_set_nonblock','socket_set_option',
        -            'socket_set_timeout','socket_shutdown','socket_strerror',
        -            'socket_write','socket_writev','sort','soundex','spl_autoload',
        -            'spl_autoload_call','spl_autoload_extensions',
        -            'spl_autoload_functions','spl_autoload_register',
        -            'spl_autoload_unregister','spl_classes','spl_object_hash','split',
        -            'spliti','sprintf','sql_regcase','sqlite_array_query',
        -            'sqlite_busy_timeout','sqlite_changes','sqlite_close',
        -            'sqlite_column','sqlite_create_aggregate','sqlite_create_function',
        -            'sqlite_current','sqlite_error_string','sqlite_escape_string',
        -            'sqlite_exec','sqlite_factory','sqlite_fetch_all',
        -            'sqlite_fetch_array','sqlite_fetch_column_types',
        -            'sqlite_fetch_object','sqlite_fetch_single','sqlite_fetch_string',
        -            'sqlite_field_name','sqlite_has_more','sqlite_has_prev',
        -            'sqlite_last_error','sqlite_last_insert_rowid','sqlite_libencoding',
        -            'sqlite_libversion','sqlite_next','sqlite_num_fields',
        -            'sqlite_num_rows','sqlite_open','sqlite_popen','sqlite_prev',
        -            'sqlite_query','sqlite_rewind','sqlite_seek','sqlite_single_query',
        -            'sqlite_udf_decode_binary','sqlite_udf_encode_binary',
        -            'sqlite_unbuffered_query','sqlite_valid','sqrt','srand','sscanf',
        -            'ssh2_auth_hostbased_file','ssh2_auth_none','ssh2_auth_password',
        -            'ssh2_auth_pubkey_file','ssh2_connect','ssh2_exec',
        -            'ssh2_fetch_stream','ssh2_fingerprint','ssh2_forward_accept',
        -            'ssh2_forward_listen','ssh2_methods_negotiated','ssh2_poll',
        -            'ssh2_publickey_add','ssh2_publickey_init','ssh2_publickey_list',
        -            'ssh2_publickey_remove','ssh2_scp_recv','ssh2_scp_send','ssh2_sftp',
        -            'ssh2_sftp_lstat','ssh2_sftp_mkdir','ssh2_sftp_readlink',
        -            'ssh2_sftp_realpath','ssh2_sftp_rename','ssh2_sftp_rmdir',
        -            'ssh2_sftp_stat','ssh2_sftp_symlink','ssh2_sftp_unlink',
        -            'ssh2_shell','ssh2_tunnel','stat','stats_absolute_deviation',
        -            'stats_cdf_beta','stats_cdf_binomial','stats_cdf_cauchy',
        -            'stats_cdf_chisquare','stats_cdf_exponential','stats_cdf_f',
        -            'stats_cdf_gamma','stats_cdf_laplace','stats_cdf_logistic',
        -            'stats_cdf_negative_binomial','stats_cdf_noncentral_chisquare',
        -            'stats_cdf_noncentral_f','stats_cdf_noncentral_t',
        -            'stats_cdf_normal','stats_cdf_poisson','stats_cdf_t',
        -            'stats_cdf_uniform','stats_cdf_weibull','stats_covariance',
        -            'stats_dens_beta','stats_dens_cauchy','stats_dens_chisquare',
        -            'stats_dens_exponential','stats_dens_f','stats_dens_gamma',
        -            'stats_dens_laplace','stats_dens_logistic','stats_dens_normal',
        -            'stats_dens_pmf_binomial','stats_dens_pmf_hypergeometric',
        -            'stats_dens_pmf_negative_binomial','stats_dens_pmf_poisson',
        -            'stats_dens_t','stats_dens_uniform','stats_dens_weibull',
        -            'stats_harmonic_mean','stats_kurtosis','stats_rand_gen_beta',
        -            'stats_rand_gen_chisquare','stats_rand_gen_exponential',
        -            'stats_rand_gen_f','stats_rand_gen_funiform','stats_rand_gen_gamma',
        -            'stats_rand_gen_ipoisson','stats_rand_gen_iuniform',
        -            'stats_rand_gen_noncenral_f','stats_rand_gen_noncentral_chisquare',
        -            'stats_rand_gen_noncentral_t','stats_rand_gen_normal',
        -            'stats_rand_gen_t','stats_rand_getsd','stats_rand_ibinomial',
        -            'stats_rand_ibinomial_negative','stats_rand_ignlgi',
        -            'stats_rand_phrase_to_seeds','stats_rand_ranf','stats_rand_setall',
        -            'stats_skew','stats_standard_deviation','stats_stat_binomial_coef',
        -            'stats_stat_correlation','stats_stat_factorial',
        -            'stats_stat_independent_t','stats_stat_innerproduct',
        -            'stats_stat_paired_t','stats_stat_percentile','stats_stat_powersum',
        -            'stats_variance','strcasecmp','strchr','strcmp','strcoll','strcspn',
        -            'stream_bucket_append','stream_bucket_make_writeable',
        -            'stream_bucket_new','stream_bucket_prepend','stream_context_create',
        -            'stream_context_get_default','stream_context_get_options',
        -            'stream_context_set_default','stream_context_set_option',
        -            'stream_context_set_params','stream_copy_to_stream',
        -            'stream_encoding','stream_filter_append','stream_filter_prepend',
        -            'stream_filter_register','stream_filter_remove',
        -            'stream_get_contents','stream_get_filters','stream_get_line',
        -            'stream_get_meta_data','stream_get_transports',
        -            'stream_get_wrappers','stream_is_local',
        -            'stream_notification_callback','stream_register_wrapper',
        -            'stream_resolve_include_path','stream_select','stream_set_blocking',
        -            'stream_set_timeout','stream_set_write_buffer',
        -            'stream_socket_accept','stream_socket_client',
        -            'stream_socket_enable_crypto','stream_socket_get_name',
        -            'stream_socket_pair','stream_socket_recvfrom',
        -            'stream_socket_sendto','stream_socket_server',
        -            'stream_socket_shutdown','stream_supports_lock',
        -            'stream_wrapper_register','stream_wrapper_restore',
        -            'stream_wrapper_unregister','strftime','stripcslashes','stripos',
        -            'stripslashes','strip_tags','stristr','strlen','strnatcasecmp',
        -            'strnatcmp','strpbrk','strncasecmp','strncmp','strpos','strrchr',
        -            'strrev','strripos','strrpos','strspn','strstr','strtok',
        -            'strtolower','strtotime','strtoupper','strtr','strval',
        -            'str_ireplace','str_pad','str_repeat','str_replace','str_rot13',
        -            'str_split','str_shuffle','str_word_count','substr',
        -            'substr_compare','substr_count','substr_replace','svn_add',
        -            'svn_auth_get_parameter','svn_auth_set_parameter','svn_cat',
        -            'svn_checkout','svn_cleanup','svn_client_version','svn_commit',
        -            'svn_diff','svn_export','svn_fs_abort_txn','svn_fs_apply_text',
        -            'svn_fs_begin_txn2','svn_fs_change_node_prop','svn_fs_check_path',
        -            'svn_fs_contents_changed','svn_fs_copy','svn_fs_delete',
        -            'svn_fs_dir_entries','svn_fs_file_contents','svn_fs_file_length',
        -            'svn_fs_is_dir','svn_fs_is_file','svn_fs_make_dir',
        -            'svn_fs_make_file','svn_fs_node_created_rev','svn_fs_node_prop',
        -            'svn_fs_props_changed','svn_fs_revision_prop',
        -            'svn_fs_revision_root','svn_fs_txn_root','svn_fs_youngest_rev',
        -            'svn_import','svn_info','svn_log','svn_ls','svn_repos_create',
        -            'svn_repos_fs','svn_repos_fs_begin_txn_for_commit',
        -            'svn_repos_fs_commit_txn','svn_repos_hotcopy','svn_repos_open',
        -            'svn_repos_recover','svn_status','svn_update','symlink',
        -            'sys_get_temp_dir','syslog','system','tan','tanh','tempnam',
        -            'textdomain','thread_get','thread_include','thread_lock',
        -            'thread_lock_try','thread_mutex_destroy','thread_mutex_init',
        -            'thread_set','thread_start','thread_unlock','tidy_access_count',
        -            'tidy_clean_repair','tidy_config_count','tidy_diagnose',
        -            'tidy_error_count','tidy_get_body','tidy_get_config',
        -            'tidy_get_error_buffer','tidy_get_head','tidy_get_html',
        -            'tidy_get_html_ver','tidy_get_output','tidy_get_release',
        -            'tidy_get_root','tidy_get_status','tidy_getopt','tidy_is_xhtml',
        -            'tidy_is_xml','tidy_parse_file','tidy_parse_string',
        -            'tidy_repair_file','tidy_repair_string','tidy_warning_count','time',
        -            'timezone_abbreviations_list','timezone_identifiers_list',
        -            'timezone_name_from_abbr','timezone_name_get','timezone_offset_get',
        -            'timezone_open','timezone_transitions_get','tmpfile',
        -            'token_get_all','token_name','touch','trigger_error',
        -            'transliterate','transliterate_filters_get','trim','uasort',
        -            'ucfirst','ucwords','uksort','umask','uniqid','unixtojd','unlink',
        -            'unpack','unregister_tick_function','unserialize','unset',
        -            'urldecode','urlencode','user_error','use_soap_error_handler',
        -            'usleep','usort','utf8_decode','utf8_encode','var_dump',
        -            'var_export','variant_abs','variant_add','variant_and',
        -            'variant_cast','variant_cat','variant_cmp',
        -            'variant_date_from_timestamp','variant_date_to_timestamp',
        -            'variant_div','variant_eqv','variant_fix','variant_get_type',
        -            'variant_idiv','variant_imp','variant_int','variant_mod',
        -            'variant_mul','variant_neg','variant_not','variant_or',
        -            'variant_pow','variant_round','variant_set','variant_set_type',
        -            'variant_sub','variant_xor','version_compare','virtual','vfprintf',
        -            'vprintf','vsprintf','wddx_add_vars','wddx_deserialize',
        -            'wddx_packet_end','wddx_packet_start','wddx_serialize_value',
        -            'wddx_serialize_vars','win_beep','win_browse_file',
        -            'win_browse_folder','win_create_link','win_message_box',
        -            'win_play_wav','win_shell_execute','win32_create_service',
        -            'win32_delete_service','win32_get_last_control_message',
        -            'win32_ps_list_procs','win32_ps_stat_mem','win32_ps_stat_proc',
        -            'win32_query_service_status','win32_scheduler_delete_task',
        -            'win32_scheduler_enum_tasks','win32_scheduler_get_task_info',
        -            'win32_scheduler_run','win32_scheduler_set_task_info',
        -            'win32_set_service_status','win32_start_service',
        -            'win32_start_service_ctrl_dispatcher','win32_stop_service',
        -            'wordwrap','xml_error_string','xml_get_current_byte_index',
        -            'xml_get_current_column_number','xml_get_current_line_number',
        -            'xml_get_error_code','xml_parse','xml_parser_create',
        -            'xml_parser_create_ns','xml_parser_free','xml_parser_get_option',
        -            'xml_parser_set_option','xml_parse_into_struct',
        -            'xml_set_character_data_handler','xml_set_default_handler',
        -            'xml_set_element_handler','xml_set_end_namespace_decl_handler',
        -            'xml_set_external_entity_ref_handler',
        -            'xml_set_notation_decl_handler','xml_set_object',
        -            'xml_set_processing_instruction_handler',
        -            'xml_set_start_namespace_decl_handler',
        -            'xml_set_unparsed_entity_decl_handler','xmldoc','xmldocfile',
        -            'xmlrpc_decode','xmlrpc_decode_request','xmlrpc_encode',
        -            'xmlrpc_encode_request','xmlrpc_get_type','xmlrpc_is_fault',
        -            'xmlrpc_parse_method_descriptions',
        -            'xmlrpc_server_add_introspection_data','xmlrpc_server_call_method',
        -            'xmlrpc_server_create','xmlrpc_server_destroy',
        -            'xmlrpc_server_register_introspection_callback',
        -            'xmlrpc_server_register_method','xmlrpc_set_type','xmltree',
        -            'xmlwriter_end_attribute','xmlwriter_end_cdata',
        -            'xmlwriter_end_comment','xmlwriter_end_document',
        -            'xmlwriter_end_dtd','xmlwriter_end_dtd_attlist',
        -            'xmlwriter_end_dtd_element','xmlwriter_end_dtd_entity',
        -            'xmlwriter_end_element','xmlwriter_end_pi','xmlwriter_flush',
        -            'xmlwriter_full_end_element','xmlwriter_open_memory',
        -            'xmlwriter_open_uri','xmlwriter_output_memory',
        -            'xmlwriter_set_indent','xmlwriter_set_indent_string',
        -            'xmlwriter_start_attribute','xmlwriter_start_attribute_ns',
        -            'xmlwriter_start_cdata','xmlwriter_start_comment',
        -            'xmlwriter_start_document','xmlwriter_start_dtd',
        -            'xmlwriter_start_dtd_attlist','xmlwriter_start_dtd_element',
        -            'xmlwriter_start_dtd_entity','xmlwriter_start_element',
        -            'xmlwriter_start_element_ns','xmlwriter_start_pi','xmlwriter_text',
        -            'xmlwriter_write_attribute','xmlwriter_write_attribute_ns',
        -            'xmlwriter_write_cdata','xmlwriter_write_comment',
        -            'xmlwriter_write_dtd','xmlwriter_write_dtd_attlist',
        -            'xmlwriter_write_dtd_element','xmlwriter_write_dtd_entity',
        -            'xmlwriter_write_element','xmlwriter_write_element_ns',
        -            'xmlwriter_write_pi','xmlwriter_write_raw','xpath_eval',
        -            'xpath_eval_expression','xpath_new_context','xpath_register_ns',
        -            'xpath_register_ns_auto','xptr_eval','xptr_new_context','yp_all',
        -            'yp_cat','yp_errno','yp_err_string','yp_first',
        -            'yp_get_default_domain','yp_master','yp_match','yp_next','yp_order',
        -            'zend_current_obfuscation_level','zend_get_cfg_var','zend_get_id',
        -            'zend_loader_current_file','zend_loader_enabled',
        -            'zend_loader_file_encoded','zend_loader_file_licensed',
        -            'zend_loader_install_license','zend_loader_version',
        -            'zend_logo_guid','zend_match_hostmasks','zend_obfuscate_class_name',
        -            'zend_obfuscate_function_name','zend_optimizer_version',
        -            'zend_runtime_obfuscate','zend_version','zip_close',
        -            'zip_entry_close','zip_entry_compressedsize',
        -            'zip_entry_compressionmethod','zip_entry_filesize','zip_entry_name',
        -            'zip_entry_open','zip_entry_read','zip_open','zip_read',
        -            'zlib_get_coding_type'
        -            ),
        -        4 => array(
        -            'DEFAULT_INCLUDE_PATH', 'DIRECTORY_SEPARATOR', 'E_ALL',
        -            'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_CORE_ERROR',
        -            'E_CORE_WARNING', 'E_ERROR', 'E_NOTICE', 'E_PARSE', 'E_STRICT',
        -            'E_USER_ERROR', 'E_USER_NOTICE', 'E_USER_WARNING', 'E_WARNING',
        -            'ENT_COMPAT','ENT_QUOTES','ENT_NOQUOTES',
        -            'false', 'null', 'PEAR_EXTENSION_DIR', 'PEAR_INSTALL_DIR',
        -            'PHP_BINDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_DATADIR',
        -            'PHP_EXTENSION_DIR', 'PHP_LIBDIR',
        -            'PHP_LOCALSTATEDIR', 'PHP_OS',
        -            'PHP_OUTPUT_HANDLER_CONT', 'PHP_OUTPUT_HANDLER_END',
        -            'PHP_OUTPUT_HANDLER_START', 'PHP_SYSCONFDIR',
        -            'PHP_VERSION', 'true', '__CLASS__', '__FILE__', '__FUNCTION__',
        -            '__LINE__', '__METHOD__'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '<'.'%', '<'.'%=', '%'.'>', '<'.'?', '<'.'?=', '?'.'>'
        -            ),
        -        0 => array(
        -            '(', ')', '[', ']', '{', '}',
        -            '!', '@', '%', '&', '|', '/',
        -            '<', '>',
        -            '=', '-', '+', '*',
        -            '.', ':', ',', ';'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #990000;',
        -            4 => 'color: #009900; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #666666; font-style: italic;',
        -            3 => 'color: #0000cc; font-style: italic;',
        -            4 => 'color: #009933; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #006699; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold; font-style: italic;',
        -            6 => 'color: #009933; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;',
        -            'HARD' => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #004000;',
        -            2 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;',
        -            1 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #000088;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => '',
        -            4 => '',
        -            5 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.php.net/{FNAMEL}',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '->',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        //Variables
        -        0 => "[\\$]+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            '<'.'?php' => '?'.'>'
        -            ),
        -        1 => array(
        -            '<'.'?' => '?'.'>'
        -            ),
        -        2 => array(
        -            '<'.'%' => '%'.'>'
        -            ),
        -        3 => array(
        -            ''
        -            ),
        -        4 => "/(?P<\\?(?>php\b)?)(?:".
        -            "(?>[^\"'?\\/<]+)|".
        -            "\\?(?!>)|".
        -            "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|".
        -            "(?>\"(?>[^\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|".
        -            "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|".
        -            "\\/\\/(?>.*?(?:\\?>|$))|".
        -            "#(?>.*?(?:\\?>|$))|".
        -            "\\/(?=[^*\\/])|".
        -            "<(?!<<)|".
        -            "<<<(?P\w+)\s.*?\s\k".
        -            ")*?(?P\\?>|\Z)/sm",
        -        5 => "/(?P<%)(?:".
        -            "(?>[^\"'%\\/<]+)|".
        -            "%(?!>)|".
        -            "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|".
        -            "(?>\"(?>[^\\\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|".
        -            "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|".
        -            "\\/\\/(?>.*?(?:%>|$))|".
        -            "#(?>.*?(?:%>|$))|".
        -            "\\/(?=[^*\\/])|".
        -            "<(?!<<)|".
        -            "<<<(?P\w+)\s.*?\s\k".
        -            ")*?(?P%>|\Z)/sm",
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/pic16.php b/vendor/easybook/geshi/geshi/pic16.php
        deleted file mode 100644
        index 2e28f17..0000000
        --- a/vendor/easybook/geshi/geshi/pic16.php
        +++ /dev/null
        @@ -1,139 +0,0 @@
        - 'PIC16',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        /*Instructions*/
        -        1 => array(
        -            'addcf','adddcf','addlw','addwf','andlw','andwf','bc','bcf','bdc',
        -            'bnc','bndc','bnz','bsf','btfsc','btfss','bz','call','clrc','clrdc',
        -            'clrf','clrw','clrwdt','clrz','comf','decf','goto','incf','incfsz',
        -            'iorlw','iorwf','lcall','lgoto','movf','movfw','movlw','movwf',
        -            'option','negf','nop','retfie','retlw','return','rlf','rrf','setc',
        -            'setdc','setz','skpc','skpdc','skpnc','skpndc','skpnz','skpz',
        -            'sleep','subcf','subdcf','sublw','subwf','swapf','tris','tstf',
        -            'xorlw','xorwf'
        -            ),
        -        /*Registers*/
        -        2 => array(
        -            'INDF','TMR0','OPTION','PCL','STATUS','FSR','PORTA','PORTB','PORTC',
        -            'PORTD','PORTE','PORTF','TRISA','TRISB','TRISC','TRISD','TRISE',
        -            'TRISF','PCLATH','INTCON','PIR1','PIE1','PCON','CMCON','VRCON',
        -            'F','W'
        -            ),
        -        /*Directives*/
        -        3 => array(
        -            '_BADRAM','BANKISEL','BANKSEL','CBLOCK','CODE','_CONFIG','CONSTANT',
        -            'DA','DATA','DB','DE','#DEFINE','DT','DW','ELSE','END','ENDC',
        -            'ENDIF','ENDM','ENDW','EQU','ERROR','ERRORLEVEL','EXITM','EXPAND',
        -            'EXTERN','FILL','GLOBAL','IDATA','_IDLOCS','IF','IFDEF','IFNDEF',
        -            'INCLUDE','#INCLUDE','LIST','LOCAL','MACRO','_MAXRAM','MESSG',
        -            'NOEXPAND','NOLIST','ORG','PAGE','PAGESEL','PROCESSOR','RADIX',
        -            'RES','SET','SPACE','SUBTITLE','TITLE','UDATA','UDATA_ACS',
        -            'UDATA_OVR','UDATA_SHR','#UNDEFINE','VARIABLE','WHILE',
        -            'D','H','O','B','A'
        -            ),
        -        ),
        -    'SYMBOLS' => array('=','.',',',':'),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000a0; font-weight: bold;',
        -            2 => 'color: #aa3300; font-weight: bold;',
        -            3 => 'color: #0000ff;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #00a000;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff7700;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff7700;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #7777ff;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC |
        -        GESHI_NUMBER_BIN_SUFFIX |
        -        GESHI_NUMBER_HEX_PREFIX |
        -        GESHI_NUMBER_HEX_SUFFIX,
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "a-zA-Z0-9\$_\|\#>|^",
        -            'DISALLOWED_AFTER' => "a-zA-Z0-9_<\|%"
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/pike.php b/vendor/easybook/geshi/geshi/pike.php
        deleted file mode 100644
        index dcc5309..0000000
        --- a/vendor/easybook/geshi/geshi/pike.php
        +++ /dev/null
        @@ -1,101 +0,0 @@
        - 'Pike',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'goto', 'break', 'continue', 'return', 'case', 'default', 'if',
        -            'else', 'switch', 'while', 'foreach', 'do', 'for', 'gauge',
        -            'destruct', 'lambda', 'inherit', 'import', 'typeof', 'catch',
        -            'inline', 'nomask', 'private', 'protected', 'public', 'static'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '%', '=', '!', '&', '|', '?', ';'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(1 => ''),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(1 => '.'),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        diff --git a/vendor/easybook/geshi/geshi/pixelbender.php b/vendor/easybook/geshi/geshi/pixelbender.php
        deleted file mode 100644
        index 6a2c8de..0000000
        --- a/vendor/easybook/geshi/geshi/pixelbender.php
        +++ /dev/null
        @@ -1,174 +0,0 @@
        - 'Pixel Bender 1.0',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'languageVersion', 'kernel'
        -            ),
        -        2 => array(
        -            'import', 'parameter', 'dependent', 'const', 'input', 'output',
        -            'evaluatePixel', 'evaluateDependents', 'needed', 'changed', 'generated'
        -            ),
        -        3 => array(
        -            'bool', 'bool2', 'bool3', 'bool4', 'int', 'int2', 'int3', 'int4',
        -            'float', 'float2', 'float3', 'float4', 'float2x2', 'float3x3', 'float4x4',
        -            'pixel2', 'pixel3', 'pixel4', 'region', 'image1', 'image2', 'image3', 'image4',
        -            'imageRef', 'void'
        -            ),
        -        4 => array(
        -            'in', 'out', 'inout', 'if', 'else', 'for', 'while', 'do', 'break',
        -            'continue', 'return'
        -            ),
        -        5 => array(
        -            'radians', 'degrees', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'pow',
        -            'exp', 'exp2', 'log', 'log2', 'sqrt', 'inverseSqrt', 'abs', 'sign', 'floor',
        -            'ceil', 'fract', 'mod', 'min', 'max', 'step', 'clamp', 'mix', 'smoothStep',
        -            'length', 'distance', 'dot', 'cross', 'normalize', 'matrixCompMult', 'lessThan',
        -            'lessThanEqual', 'greaterThan', 'greaterThanEqual', 'equal', 'notEqual', 'any',
        -            'all', 'not', 'nowhere', 'everywhere', 'transform', 'union', 'intersect',
        -            'outset', 'inset', 'bounds', 'isEmpty', 'sample', 'sampleLinear', 'sampleNearest',
        -            'outCoord', 'dod', 'pixelSize', 'pixelAspectRatio'
        -            ),
        -        6 => array(
        -            'namespace', 'vendor', 'version', 'minValue', 'maxValue', 'defaultValue', 'description'
        -            ),
        -        7 => array(
        -            '#if', '#endif', '#ifdef', '#elif', 'defined', '#define',
        -            'AIF_ATI', 'AIF_NVIDIA', 'AIF_FLASH_TARGET'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '!', '%', '&', '|', '+', '-', '*', '/', '=', '<', '>', '?', ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0033ff;',
        -            2 => 'color: #0033ff; font-weight: bold;',
        -            3 => 'color: #0033ff;',
        -            4 => 'color: #9900cc; font-weight: bold;',
        -            5 => 'color: #333333;',
        -            6 => 'color: #666666;',
        -            7 => 'color: #990000;',
        -        ),
        -        'COMMENTS' => array(
        -            1 => 'color: #009900;',
        -            'MULTI' => 'color: #3f5fbf;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #990000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #000000; font-weight:bold;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #000000;',
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array('.'),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/pli.php b/vendor/easybook/geshi/geshi/pli.php
        deleted file mode 100644
        index 292da5b..0000000
        --- a/vendor/easybook/geshi/geshi/pli.php
        +++ /dev/null
        @@ -1,199 +0,0 @@
        - 'PL/I',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', '\''),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'abnormal', 'abs', 'acos', 'acosf', 'add', 'addbuff', 'addr',
        -            'addrdata', 'alias', 'aligned', 'all', 'alloc', 'allocate',
        -            'allocation', 'allocn', 'allocsize', 'any', 'anycondition', 'area',
        -            'ascii', 'asin', 'asinf', 'asm', 'asmtdli', 'assembler',
        -            'assignable', 'atan', 'atand', 'atanf', 'atanh', 'attach',
        -            'attention', 'attn', 'auto', 'automatic', 'availablearea',
        -            'backwards', 'based', 'begin', 'bigendian', 'bin', 'binary',
        -            'binaryvalue', 'bind', 'binvalue', 'bit', 'bitloc', 'bitlocation',
        -            'bkwd', 'blksize', 'bool', 'buf', 'buffered', 'buffers', 'bufnd',
        -            'bufni', 'bufoff', 'bufsp', 'builtin', 'bx', 'by', 'byaddr', 'byte',
        -            'byvalue', 'b4', 'call', 'cast', 'cds', 'ceil', 'center',
        -            'centerleft', 'centerright', 'centre', 'centreleft', 'centreright',
        -            'char', 'character', 'charg', 'chargraphic', 'charval', 'check',
        -            'checkstg', 'close', 'cmpat', 'cobol', 'col', 'collate', 'column',
        -            'comment', 'compare', 'compiledate', 'compiletime', 'completion',
        -            'complex', 'cond', 'condition', 'conjg', 'conn', 'connected',
        -            'consecutive', 'controlled', 'conv', 'conversion', 'copy', 'cos',
        -            'cosd', 'cosf', 'cosh', 'count', 'counter', 'cpln', 'cplx', 'cs',
        -            'cstg', 'ctl', 'ctlasa', 'ctl360', 'currentsize', 'currentstorage',
        -            'data', 'datafield', 'date', 'datetime', 'days', 'daystodate',
        -            'daystosecs', 'db', 'dcl', 'dec', 'decimal', 'declare', 'def',
        -            'default', 'define', 'defined', 'delay', 'delete', 'descriptor',
        -            'descriptors', 'detach', 'dft', 'dim', 'dimacross', 'dimension',
        -            'direct', 'display', 'divide', 'do', 'downthru', 'edit', 'else',
        -            'empty', 'end', 'endfile', 'endpage', 'entry', 'entryaddr', 'env',
        -            'environment', 'epsilon', 'erf', 'erfc', 'error', 'event', 'excl',
        -            'exclusive', 'exit', 'exp', 'expf', 'exponent', 'exports', 'ext',
        -            'external', 'fb', 'fbs', 'fetch', 'file', 'fileddint', 'fileddtest',
        -            'fileddword', 'fileid', 'fileopen', 'fileread', 'fileseek',
        -            'filetell', 'filewrite', 'finish', 'first', 'fixed', 'fixedbin',
        -            'fixeddec', 'fixedoverflow', 'float', 'floatbin', 'floatdec',
        -            'floor', 'flush', 'fofl', 'format', 'fortran', 'free', 'from',
        -            'fromalien', 'fs', 'gamma', 'generic', 'genkey', 'get', 'getenv',
        -            'go', 'goto', 'graphic', 'gx', 'handle', 'hbound', 'hex', 'hexadec',
        -            'heximage', 'high', 'huge', 'iand', 'ieee', 'ieor', 'if', 'ignore',
        -            'imag', 'in', 'index', 'indexarea', 'indexed', 'init', 'initial',
        -            'inline', 'inonly', 'inot', 'inout', 'input', 'int', 'inter',
        -            'internal', 'into', 'invalidop', 'ior', 'irred', 'irreducible',
        -            'isfinite', 'isigned', 'isinf', 'isll', 'ismain', 'isnan',
        -            'isnormal', 'isrl', 'iszero', 'iunsigned', 'key', 'keyed',
        -            'keyfrom', 'keylength', 'keyloc', 'keyto', 'label', 'last',
        -            'lbound', 'leave', 'left', 'length', 'like', 'limited', 'line',
        -            'lineno', 'linesize', 'linkage', 'list', 'littleendian', 'loc',
        -            'locate', 'location', 'log', 'logf', 'loggamma', 'log10', 'log10f',
        -            'log2', 'low', 'lowercase', 'lower2', 'maccol', 'maclmar',
        -            'macname', 'macrmar', 'main', 'max', 'maxexp', 'maxlength',
        -            'memconvert', 'memcu12', 'memcu14', 'memcu21', 'memcu24', 'memcu41',
        -            'memcu42', 'memindex', 'memsearch', 'memsearchr', 'memverify',
        -            'memverifyr', 'min', 'minexp', 'mod', 'mpstr', 'multiply', 'name',
        -            'native', 'ncp', 'new', 'nocharg', 'nochargraphic', 'nocheck',
        -            'nocmpat', 'noconv', 'noconversion', 'nodescriptor', 'noexecops',
        -            'nofixedoverflow', 'nofofl', 'noinline', 'nolock', 'nomap',
        -            'nomapin', 'nomapout', 'nonasgn', 'nonassignable', 'nonconnected',
        -            'nonnative', 'noofl', 'nooverflow', 'norescan', 'normal', 'nosize',
        -            'nostrg', 'nostringrange', 'nostringsize', 'nostrz', 'nosubrg',
        -            'nosubscriptrange', 'noufl', 'nounderflow', 'nowrite', 'nozdiv',
        -            'nozerodivide', 'null', 'offset', 'offsetadd', 'offsetdiff',
        -            'offsetsubtract', 'offsetvalue', 'ofl', 'omitted', 'on', 'onarea',
        -            'onchar', 'oncode', 'oncondcond', 'oncondid', 'oncount', 'onfile',
        -            'ongsource', 'onkey', 'online', 'onloc', 'onoffset', 'onsource',
        -            'onsubcode', 'onwchar', 'onwsource', 'open', 'optional', 'options',
        -            'order', 'ordinal', 'ordinalname', 'ordinalpred', 'ordinalsucc',
        -            'other', 'otherwise', 'outonly', 'output', 'overflow', 'package',
        -            'packagename', 'page', 'pageno', 'pagesize', 'parameter', 'parmset',
        -            'password', 'pending', 'pic', 'picspec', 'picture', 'places',
        -            'pliascii', 'plicanc', 'plickpt', 'plidelete', 'plidump',
        -            'pliebcdic', 'plifill', 'plifree', 'plimove', 'pliover', 'plirest',
        -            'pliretc', 'pliretv', 'plisaxa', 'plisaxb', 'plisaxc', 'plisaxd',
        -            'plisrta', 'plisrtb', 'plisrtc', 'plisrtd', 'plitdli', 'plitran11',
        -            'plitran12', 'plitran21', 'plitran22', 'pointer', 'pointeradd',
        -            'pointerdiff', 'pointersubtract', 'pointervalue', 'poly', 'pos',
        -            'position', 'prec', 'precision', 'pred', 'present', 'print',
        -            'priority', 'proc', 'procedure', 'procedurename', 'procname',
        -            'prod', 'ptr', 'ptradd', 'ptrdiff', 'ptrsubtract', 'ptrvalue',
        -            'put', 'putenv', 'quote', 'radix', 'raise2', 'random', 'range',
        -            'rank', 'read', 'real', 'record', 'recsize', 'recursive', 'red',
        -            'reducible', 'reentrant', 'refer', 'regional', 'reg12', 'release',
        -            'rem', 'reorder', 'repattern', 'repeat', 'replaceby2', 'reply',
        -            'reread', 'rescan', 'reserved', 'reserves', 'resignal', 'respec',
        -            'retcode', 'return', 'returns', 'reuse', 'reverse', 'revert',
        -            'rewrite', 'right', 'round', 'rounddec', 'samekey', 'scalarvarying',
        -            'scale', 'search', 'searchr', 'secs', 'secstodate', 'secstodays',
        -            'select', 'seql', 'sequential', 'serialize4', 'set', 'sign',
        -            'signal', 'signed', 'sin', 'sind', 'sinf', 'sinh', 'sis', 'size',
        -            'skip', 'snap', 'sourcefile', 'sourceline', 'sqrt', 'sqrtf',
        -            'stackaddr', 'statement', 'static', 'status', 'stg', 'stmt', 'stop',
        -            'storage', 'stream', 'strg', 'string', 'stringrange', 'stringsize',
        -            'structure', 'strz', 'subrg', 'subscriptrange', 'substr',
        -            'subtract', 'succ', 'sum', 'suppress', 'sysin', 'sysnull',
        -            'sysparm', 'sysprint', 'system', 'sysversion', 'tally', 'tan',
        -            'tand', 'tanf', 'tanh', 'task', 'then', 'thread', 'threadid',
        -            'time', 'tiny', 'title', 'to', 'total', 'tpk', 'tpm', 'transient',
        -            'translate', 'transmit', 'trim', 'trkofl', 'trunc', 'type', 'ufl',
        -            'ulength', 'ulength16', 'ulength8', 'unal', 'unaligned',
        -            'unallocated', 'unbuf', 'unbuffered', 'undefinedfile', 'underflow',
        -            'undf', 'unlock', 'unsigned', 'unspec', 'until', 'update', 'upos',
        -            'uppercase', 'upthru', 'usubstr', 'usurrogate', 'uvalid', 'uwidth',
        -            'valid', 'validdate', 'value', 'var', 'varglist', 'vargsize',
        -            'variable', 'varying', 'varyingz', 'vb', 'vbs', 'verify', 'verifyr',
        -            'vs', 'vsam', 'wait', 'wchar', 'wcharval', 'weekday', 'when',
        -            'whigh', 'while', 'widechar', 'wlow', 'write', 'xmlchar', 'y4date',
        -            'y4julian', 'y4year', 'zdiv', 'zerodivide'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '+', '-', '*', '/', '=', '<', '>', '&', '^', '|', ':', '(', ')', ';', ','
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(1 => ''),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(1 => '.'),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/plsql.php b/vendor/easybook/geshi/geshi/plsql.php
        deleted file mode 100644
        index 58f7c90..0000000
        --- a/vendor/easybook/geshi/geshi/plsql.php
        +++ /dev/null
        @@ -1,254 +0,0 @@
        -
        - * Copyright: (c) 2006 Victor Engmark (http://l0b0.net/)
        - * Release Version: 1.0.8.11
        - * Date Started: 2006/10/26
        - *
        - * Oracle 9.2 PL/SQL language file for GeSHi.
        - * Formatting is based on the default setup of TOAD 8.6.
        - *
        - * CHANGES
        - * -------
        - * 2006/10/27 (1.0.0)
        - *    -    First Release
        - *
        - * TODO (updated 2006/10/27)
        - * -------------------------
        - * * Add < and > to brackets
        - * * Remove symbols which are also comment delimiters / quote marks?
        - *
        - *************************************************************************************
        - *
        - *         This file is part of GeSHi.
        - *
        - *     GeSHi is free software; you can redistribute it and/or modify
        - *     it under the terms of the GNU General Public License as published by
        - *     the Free Software Foundation; either version 2 of the License, or
        - *     (at your option) any later version.
        - *
        - *     GeSHi is distributed in the hope that it will be useful,
        - *     but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the
        - *     GNU General Public License for more details.
        - *
        - *     You should have received a copy of the GNU General Public License
        - *     along with GeSHi; if not, write to the Free Software
        - *     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA    02111-1307    USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'PL/SQL',
        -    'COMMENT_SINGLE' => array(1 =>'--'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2930
        -    'COMMENT_MULTI' => array('/*' => '*/'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2950
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array("'", '"'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        //PL/SQL reserved keywords (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/f_words.htm#LNPLS019)
        -        1 => array('ZONE', 'YEAR', 'WRITE', 'WORK', 'WITH', 'WHILE', 'WHERE',
        -        'WHENEVER', 'WHEN', 'VIEW', 'VARCHAR2', 'VARCHAR', 'VALUES',
        -        'VALIDATE', 'USE', 'UPDATE', 'UNIQUE', 'UNION', 'TYPE', 'TRUE',
        -        'TRIGGER', 'TO', 'TIMEZONE_REGION', 'TIMEZONE_MINUTE', 'TIMEZONE_HOUR',
        -        'TIMEZONE_ABBR', 'TIMESTAMP', 'TIME', 'THEN', 'TABLE', 'SYNONYM',
        -        'SUCCESSFUL', 'SUBTYPE', 'START', 'SQLERRM', 'SQLCODE', 'SQL', 'SPACE',
        -        'SMALLINT', 'SHARE', 'SET', 'SEPARATE', 'SELECT', 'SECOND',
        -        'SAVEPOINT', 'ROWTYPE', 'ROWNUM', 'ROWID', 'ROW', 'ROLLBACK',
        -        'REVERSE', 'RETURN', 'RELEASE', 'RECORD', 'REAL', 'RAW', 'RANGE',
        -        'RAISE', 'PUBLIC', 'PROCEDURE', 'PRIVATE', 'PRIOR', 'PRAGMA',
        -        'POSITIVEN', 'POSITIVE', 'PLS_INTEGER', 'PCTFREE', 'PARTITION',
        -        'PACKAGE', 'OUT', 'OTHERS', 'ORGANIZATION', 'ORDER', 'OR', 'OPTION',
        -        'OPERATOR', 'OPEN', 'OPAQUE', 'ON', 'OF', 'OCIROWID', 'NUMBER_BASE',
        -        'NUMBER', 'NULL', 'NOWAIT', 'NOT', 'NOCOPY', 'NEXTVAL', 'NEW',
        -        'NATURALN', 'NATURAL', 'MONTH', 'MODE', 'MLSLABEL', 'MINUTE', 'MINUS',
        -        'LOOP', 'LONG', 'LOCK', 'LIMITED', 'LIKE', 'LEVEL', 'JAVA',
        -        'ISOLATION', 'IS', 'INTO', 'INTERVAL', 'INTERSECT', 'INTERFACE',
        -        'INTEGER', 'INSERT', 'INDICATOR', 'INDEX', 'IN', 'IMMEDIATE', 'IF',
        -        'HOUR', 'HEAP', 'HAVING', 'GROUP', 'GOTO', 'FUNCTION', 'FROM',
        -        'FORALL', 'FOR', 'FLOAT', 'FETCH', 'FALSE', 'EXTENDS', 'EXIT',
        -        'EXISTS', 'EXECUTE', 'EXCLUSIVE', 'EXCEPTION', 'END', 'ELSIF', 'ELSE',
        -        'DROP', 'DO', 'DISTINCT', 'DESC', 'DELETE', 'DEFAULT', 'DECLARE',
        -        'DECIMAL', 'DAY', 'DATE', 'CURSOR', 'CURRVAL', 'CURRENT', 'CREATE',
        -        'CONSTANT', 'CONNECT', 'COMPRESS', 'COMMIT', 'COMMENT', 'COLLECT',
        -        'CLUSTER', 'CLOSE', 'CHECK', 'CHAR_BASE', 'CHAR', 'CASE', 'BY', 'BULK',
        -        'BOOLEAN', 'BODY', 'BINARY_INTEGER', 'BETWEEN', 'BEGIN', 'AUTHID',
        -        'AT', 'ASC', 'AS', 'ARRAY', 'ANY', 'AND', 'ALTER', 'ALL'),
        -        //SQL functions (http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/toc.htm & http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/functions101a.htm#85925)
        -        2 => array('XMLTRANSFORM', 'XMLSEQUENCE', 'XMLFOREST', 'XMLELEMENT',
        -        'XMLCONCAT', 'XMLCOLATTVAL', 'XMLAGG', 'WIDTH_BUCKET', 'VSIZE',
        -        'VARIANCE', 'VAR_SAMP', 'VAR_POP', 'VALUE', 'USERENV', 'USER', 'UPPER',
        -        'UPDATEXML', 'UNISTR', 'UID', 'TZ_OFFSET', 'TRUNC', 'TRIM', 'TREAT',
        -        'TRANSLATE', 'TO_YMINTERVAL', 'TO_TIMESTAMP_TZ', 'TO_TIMESTAMP',
        -        'TO_SINGLE_BYTE', 'TO_NUMBER', 'TO_NCLOB', 'TO_NCHAR', 'TO_MULTI_BYTE',
        -        'TO_LOB', 'TO_DSINTERVAL', 'TO_DATE', 'TO_CLOB', 'TO_CHAR', 'TANH',
        -        'TAN', 'SYSTIMESTAMP', 'SYSDATE', 'SYS_XMLGEN', 'SYS_XMLAGG',
        -        'SYS_TYPEID', 'SYS_GUID', 'SYS_EXTRACT_UTC', 'SYS_DBURIGEN',
        -        'SYS_CONTEXT', 'SYS_CONNECT_BY_PATH', 'SUM', 'SUBSTR', 'STDDEV_SAMP',
        -        'STDDEV_POP', 'STDDEV', 'SQRT', 'SOUNDEX', 'SINH', 'SIN', 'SIGN',
        -        'SESSIONTIMEZONE', 'RTRIM', 'RPAD', 'ROWIDTONCHAR', 'ROWIDTOCHAR',
        -        'ROW_NUMBER', 'ROUND', 'REPLACE', 'REGR_SYY', 'REGR_SXY', 'REGR_SXX',
        -        'REGR_SLOPE', 'REGR_R2', 'REGR_INTERCEPT', 'REGR_COUNT', 'REGR_AVGY',
        -        'REGR_AVGX', 'REFTOHEX', 'REF', 'RAWTONHEX', 'RAWTOHEX',
        -        'RATIO_TO_REPORT', 'RANK', 'POWER', 'PERCENTILE_DISC',
        -        'PERCENTILE_CONT', 'PERCENT_RANK', 'PATH', 'NVL2', 'NVL',
        -        'NUMTOYMINTERVAL', 'NUMTODSINTERVAL', 'NULLIF', 'NTILE', 'NLSSORT',
        -        'NLS_UPPER', 'NLS_LOWER', 'NLS_INITCAP', 'NLS_CHARSET_NAME',
        -        'NLS_CHARSET_ID', 'NLS_CHARSET_DECL_LEN', 'NEXT_DAY', 'NEW_TIME',
        -        'NCHR', 'MONTHS_BETWEEN', 'MOD', 'MIN', 'MAX', 'MAKE_REF', 'LTRIM',
        -        'LPAD', 'LOWER', 'LOG', 'LOCALTIMESTAMP', 'LN', 'LENGTH', 'LEAST',
        -        'LEAD', 'LAST_VALUE', 'LAST_DAY', 'LAST', 'LAG', 'INSTR', 'INITCAP',
        -        'HEXTORAW', 'GROUPING_ID', 'GROUPING', 'GROUP_ID', 'GREATEST',
        -        'FROM_TZ', 'FLOOR', 'FIRST_VALUE', 'FIRST', 'EXTRACTVALUE', 'EXTRACT',
        -        'EXP', 'EXISTSNODE', 'EMPTY_CLOB', 'EMPTY_BLOB', 'DUMP', 'DEREF',
        -        'DEPTH', 'DENSE_RANK', 'DECOMPOSE', 'DECODE', 'DBTIMEZONE',
        -        'CURRENT_TIMESTAMP', 'CURRENT_DATE', 'CUME_DIST', 'COVAR_SAMP',
        -        'COVAR_POP', 'COUNT', 'COSH', 'COS', 'CORR', 'CONVERT', 'CONCAT',
        -        'COMPOSE', 'COALESCE', 'CHR', 'CHARTOROWID', 'CEIL', 'CAST', 'BITAND',
        -        'BIN_TO_NUM', 'BFILENAME', 'AVG', 'ATAN2', 'ATAN', 'ASIN', 'ASCIISTR',
        -        'ASCII', 'ADD_MONTHS', 'ACOS', 'ABS'),
        -        //PL/SQL packages (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96612/intro2.htm#1025672)
        -        3 => array('UTL_URL', 'UTL_TCP', 'UTL_SMTP', 'UTL_REF', 'UTL_RAW',
        -        'UTL_PG', 'UTL_INADDR', 'UTL_HTTP', 'UTL_FILE', 'UTL_ENCODE',
        -        'UTL_COLL', 'SDO_UTIL', 'SDO_TUNE', 'SDO_MIGRATE', 'SDO_LRS',
        -        'SDO_GEOM', 'SDO_CS', 'DMBS_XMLQUERY', 'DMBS_FLASHBACK',
        -        'DMBS_DEFER_SYS', 'DEBUG_EXTPROC', 'DBMS_XSLPROCESSOR', 'DBMS_XPLAN',
        -        'DBMS_XMLSCHEMA', 'DBMS_XMLSAVE', 'DBMS_XMLPARSER', 'DBMS_XMLGEN',
        -        'DBMS_XMLDOM', 'DBMS_XDBT', 'DBMS_XDB_VERSION', 'DBMS_XDB', 'DBMS_WM',
        -        'DBMS_UTILITY', 'DBMS_TYPES', 'DBMS_TTS', 'DBMS_TRANSFORM',
        -        'DBMS_TRANSACTION', 'DBMS_TRACE', 'DBMS_STRM_A', 'DBMS_STRM',
        -        'DBMS_STORAGE_MAP', 'DBMS_STATS', 'DBMS_SQL', 'DBMS_SPACE_ADMIN',
        -        'DBMS_SPACE', 'DBMS_SHARED_POOL', 'DBMS_SESSION', 'DBMS_RULE_ADM',
        -        'DBMS_RULE', 'DBMS_ROWID', 'DBMS_RLS', 'DBMS_RESUMABLE',
        -        'DBMS_RESOURCE_MANAGER_PRIVS', 'DBMS_RESOURCE_MANAGER', 'DBMS_REPUTIL',
        -        'DBMS_REPCAT_RGT', 'DBMS_REPCAT_INSTATIATE', 'DBMS_REPCAT_ADMIN',
        -        'DBMS_REPCAT', 'DBMS_REPAIR', 'DBMS_REFRESH', 'DBMS_REDEFINITION',
        -        'DBMS_RECTIFIER_DIFF', 'DBMS_RANDOM', 'DBMS_PROPAGATION_ADM',
        -        'DBMS_PROFILER', 'DBMS_PIPE', 'DBMS_PCLXUTIL', 'DBMS_OUTPUT',
        -        'DBMS_OUTLN_EDIT', 'DBMS_OUTLN', 'DBMS_ORACLE_TRACE_USER',
        -        'DBMS_ORACLE_TRACE_AGENT', 'DBMS_OLAP', 'DBMS_OFFLINE_SNAPSHOT',
        -        'DBMS_OFFLINE_OG', 'DBMS_ODCI', 'DBMS_OBFUSCATION_TOOLKIT',
        -        'DBMS_MVIEW', 'DBMS_MGWMSG', 'DBMS_MGWADM', 'DBMS_METADATA',
        -        'DBMS_LOGSTDBY', 'DBMS_LOGMNR_D', 'DBMS_LOGMNR_CDC_SUBSCRIBE',
        -        'DBMS_LOGMNR_CDC_PUBLISH', 'DBMS_LOGMNR', 'DBMS_LOCK', 'DBMS_LOB',
        -        'DBMS_LIBCACHE', 'DBMS_LDAP', 'DBMS_JOB', 'DBMS_IOT',
        -        'DBMS_HS_PASSTHROUGH', 'DBMS_FGA', 'DBMS_DISTRIBUTED_TRUST_ADMIN',
        -        'DBMS_DESCRIBE', 'DBMS_DEFER_QUERY', 'DBMS_DEFER', 'DBMS_DEBUG',
        -        'DBMS_DDL', 'DBMS_CAPTURE_ADM', 'DBMS_AW', 'DBMS_AQELM', 'DBMS_AQADM',
        -        'DBMS_AQ', 'DBMS_APPLY_ADM', 'DBMS_APPLICATION_INFO', 'DBMS_ALERT',
        -        'CWM2_OLAP_AW_ACCESS'),
        -        //PL/SQL predefined exceptions (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/07_errs.htm#784)
        -        4 => array('ZERO_DIVIDE', 'VALUE_ERROR', 'TOO_MANY_ROWS',
        -        'TIMEOUT_ON_RESOURCE', 'SYS_INVALID_ROWID', 'SUBSCRIPT_OUTSIDE_LIMIT',
        -        'SUBSCRIPT_BEYOND_COUNT', 'STORAGE_ERROR', 'SELF_IS_NULL',
        -        'ROWTYPE_MISMATCH', 'PROGRAM_ERROR', 'NOT_LOGGED_ON', 'NO_DATA_FOUND',
        -        'LOGIN_DENIED', 'INVALID_NUMBER', 'INVALID_CURSOR', 'DUP_VAL_ON_INDEX',
        -        'CURSOR_ALREADY_OPEN', 'COLLECTION_IS_NULL', 'CASE_NOT_FOUND',
        -        'ACCESS_INTO_NULL'),
        -        //Static data dictionary views (http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96536/ch2.htm)
        -        5 => array('USER_REPSITES', 'USER_REPSCHEMA',
        -        'USER_REPRESOLUTION_STATISTICS', 'USER_REPRESOLUTION_METHOD',
        -        'USER_REPRESOLUTION', 'USER_REPRESOL_STATS_CONTROL', 'USER_REPPROP',
        -        'USER_REPPRIORITY_GROUP', 'USER_REPPRIORITY',
        -        'USER_REPPARAMETER_COLUMN', 'USER_REPOBJECT', 'USER_REPKEY_COLUMNS',
        -        'USER_REPGROUPED_COLUMN', 'USER_REPGROUP_PRIVILEGES', 'USER_REPGROUP',
        -        'USER_REPGENOBJECTS', 'USER_REPGENERATED', 'USER_REPFLAVORS',
        -        'USER_REPFLAVOR_OBJECTS', 'USER_REPFLAVOR_COLUMNS', 'USER_REPDDL',
        -        'USER_REPCONFLICT', 'USER_REPCOLUMN_GROUP', 'USER_REPCOLUMN',
        -        'USER_REPCATLOG', 'USER_REPCAT_USER_PARM_VALUES',
        -        'USER_REPCAT_USER_AUTHORIZATIONS', 'USER_REPCAT_TEMPLATE_SITES',
        -        'USER_REPCAT_TEMPLATE_PARMS', 'USER_REPCAT_TEMPLATE_OBJECTS',
        -        'USER_REPCAT_REFRESH_TEMPLATES', 'USER_REPCAT', 'USER_REPAUDIT_COLUMN',
        -        'USER_REPAUDIT_ATTRIBUTE', 'DBA_REPSITES_NEW', 'DBA_REPSITES',
        -        'DBA_REPSCHEMA', 'DBA_REPRESOLUTION_STATISTICS',
        -        'DBA_REPRESOLUTION_METHOD', 'DBA_REPRESOLUTION',
        -        'DBA_REPRESOL_STATS_CONTROL', 'DBA_REPPROP', 'DBA_REPPRIORITY_GROUP',
        -        'DBA_REPPRIORITY', 'DBA_REPPARAMETER_COLUMN', 'DBA_REPOBJECT',
        -        'DBA_REPKEY_COLUMNS', 'DBA_REPGROUPED_COLUMN',
        -        'DBA_REPGROUP_PRIVILEGES', 'DBA_REPGROUP', 'DBA_REPGENOBJECTS',
        -        'DBA_REPGENERATED', 'DBA_REPFLAVORS', 'DBA_REPFLAVOR_OBJECTS',
        -        'DBA_REPFLAVOR_COLUMNS', 'DBA_REPEXTENSIONS', 'DBA_REPDDL',
        -        'DBA_REPCONFLICT', 'DBA_REPCOLUMN_GROUP', 'DBA_REPCOLUMN',
        -        'DBA_REPCATLOG', 'DBA_REPCAT_USER_PARM_VALUES',
        -        'DBA_REPCAT_USER_AUTHORIZATIONS', 'DBA_REPCAT_TEMPLATE_SITES',
        -        'DBA_REPCAT_TEMPLATE_PARMS', 'DBA_REPCAT_TEMPLATE_OBJECTS',
        -        'DBA_REPCAT_REFRESH_TEMPLATES', 'DBA_REPCAT_EXCEPTIONS', 'DBA_REPCAT',
        -        'DBA_REPAUDIT_COLUMN', 'DBA_REPAUDIT_ATTRIBUTE', 'ALL_REPSITES',
        -        'ALL_REPSCHEMA', 'ALL_REPRESOLUTION_STATISTICS',
        -        'ALL_REPRESOLUTION_METHOD', 'ALL_REPRESOLUTION',
        -        'ALL_REPRESOL_STATS_CONTROL', 'ALL_REPPROP', 'ALL_REPPRIORITY_GROUP',
        -        'ALL_REPPRIORITY', 'ALL_REPPARAMETER_COLUMN', 'ALL_REPOBJECT',
        -        'ALL_REPKEY_COLUMNS', 'ALL_REPGROUPED_COLUMN',
        -        'ALL_REPGROUP_PRIVILEGES', 'ALL_REPGROUP', 'ALL_REPGENOBJECTS',
        -        'ALL_REPGENERATED', 'ALL_REPFLAVORS', 'ALL_REPFLAVOR_OBJECTS',
        -        'ALL_REPFLAVOR_COLUMNS', 'ALL_REPDDL', 'ALL_REPCONFLICT',
        -        'ALL_REPCOLUMN_GROUP', 'ALL_REPCOLUMN', 'ALL_REPCATLOG',
        -        'ALL_REPCAT_USER_PARM_VALUES', 'ALL_REPCAT_USER_AUTHORIZATIONS',
        -        'ALL_REPCAT_TEMPLATE_SITES', 'ALL_REPCAT_TEMPLATE_PARMS',
        -        'ALL_REPCAT_TEMPLATE_OBJECTS', 'ALL_REPCAT_REFRESH_TEMPLATES',
        -        'ALL_REPCAT', 'ALL_REPAUDIT_COLUMN', 'ALL_REPAUDIT_ATTRIBUTE')
        -        ),
        -    'SYMBOLS' => array(
        -        //PL/SQL delimiters (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2732)
        -        '+', '%', "'", '.', '/', '(', ')', ':', ',', '*', '"', '=', '<', '>', '@', ';', '-', ':=', '=>', '||', '**', '<<', '>>', '/*', '*/', '..', '<>', '!=', '~=', '^=', '<=', '>='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #00F;',
        -            2 => 'color: #000;',
        -            3 => 'color: #00F;',
        -            4 => 'color: #F00;',
        -            5 => 'color: #800;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #080; font-style: italic;',
        -            'MULTI' => 'color: #080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #00F;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #F00;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #800;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #0F0;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #00F;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            0 => 'color: #0F0;'
        -            )
        -        ),
        -        'URLS' => array(
        -            1 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
        -            2 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
        -            3 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
        -            4 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
        -            5 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}'
        -            ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        diff --git a/vendor/easybook/geshi/geshi/postgresql.php b/vendor/easybook/geshi/geshi/postgresql.php
        deleted file mode 100644
        index c12e0e6..0000000
        --- a/vendor/easybook/geshi/geshi/postgresql.php
        +++ /dev/null
        @@ -1,287 +0,0 @@
        - 2010-05-03
        - * Copyright: (c) 2007 Christophe Chauvet (http://kryskool.org/), Nigel McNie (http://qbnz.com/highlighter)
        - * Release Version: 1.0.8.11
        - * Date Started: 2007/07/20
        - *
        - * PostgreSQL language file for GeSHi.
        - *
        - * CHANGES
        - * -------
        - * 2007/07/20 (1.0.0)
        - *  -  First Release
        - *
        - * TODO (updated 2007/07/20)
        - * -------------------------
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'PostgreSQL',
        -    'COMMENT_SINGLE' => array(1 => '--'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"', '`'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        //Put PostgreSQL reserved keywords here.  I like mine uppercase.
        -        1 => array(
        -            'ABORT','ABSOLUTE','ACCESS','ACTION','ADD','ADMIN','AFTER',
        -            'AGGREGATE','ALL','ALSO','ALTER','ALWAYS','ANALYSE','ANALYZE','AND',
        -            'ANY','AS','ASC,','ASSERTION','ASSIGNMENT','ASYMMETRIC','AT',
        -            'AUTHORIZATION','BACKWARD','BEFORE','BEGIN','BETWEEN','BOTH','BY',
        -            'CACHE','CALLED','CASCADE','CASCADED','CASE','CAST','CATALOG',
        -            'CHAIN','CHARACTERISTICS','CHECK','CHECKPOINT','CLASS','CLOSE',
        -            'CLUSTER','COALESCE','COLLATE','COLUMN','COMMENT','COMMIT',
        -            'COMMITTED','CONCURRENTLY','CONFIGURATION','CONNECTION',
        -            'CONSTRAINT','CONSTRAINTS','CONTENT','CONTINUE','CONVERSION','COPY',
        -            'COST','CREATE','CREATEDB','CREATEROLE','CREATEUSER','CROSS','CSV',
        -            'CURRENT','CURRENT_CATALOG','CURRENT_DATE','CURRENT_ROLE',
        -            'CURRENT_SCHEMA','CURRENT_TIME','CURRENT_TIMESTAMP','CURRENT_USER',
        -            'CURSOR','CYCLE','DATA','DATABASE','DAY','DEALLOCATE','DEC',
        -            'DECLARE','DEFAULT','DEFAULTS','DEFERRABLE','DEFERRED','DEFINER',
        -            'DELETE','DELIMITER','DELIMITERS','DESC','DICTIONARY','DISABLE',
        -            'DISCARD','DISTINCT','DO','DOCUMENT','DOMAIN','DOUBLE','DROP',
        -            'EACH','ELSE','ENABLE','ENCODING','ENCRYPTED','END','ESCAPE',
        -            'EXCEPT','EXCLUDING','EXCLUSIVE','EXECUTE','EXISTS','EXPLAIN',
        -            'EXTERNAL','EXTRACT','FALSE','FAMILY','FETCH','FIRST','FOLLOWING',
        -            'FOR','FORCE','FOREIGN','FORWARD','FREEZE','FROM','FULL','FUNCTION',
        -            'GLOBAL','GRANT','GRANTED','GREATEST','GROUP','HANDLER','HAVING',
        -            'HEADER','HOLD','HOUR','IDENTITY','IF','ILIKE','IMMEDIATE',
        -            'IMMUTABLE','IMPLICIT','IN','INCLUDING','INCREMENT','INDEX',
        -            'INDEXES','INHERIT','INHERITS','INITIALLY','INNER','INOUT','INPUT',
        -            'INSENSITIVE','INSERT','INSTEAD','INTERSECT','INTO','INVOKER','IS',
        -            'ISNULL','ISOLATION','JOIN','KEY','LANCOMPILER','LANGUAGE','LARGE',
        -            'LAST','LC_COLLATE','LC_CTYPE','LEADING','LEAST','LEFT','LEVEL',
        -            'LIKE','LIMIT','LISTEN','LOAD','LOCAL','LOCALTIME','LOCALTIMESTAMP',
        -            'LOCATION','LOCK','LOGIN','LOOP','MAPPING','MATCH','MAXVALUE',
        -            'MINUTE','MINVALUE','MODE','MONTH','MOVE','NAME','NAMES','NATIONAL',
        -            'NATURAL','NEW','NEXT','NO','NOCREATEDB','NOCREATEROLE',
        -            'NOCREATEUSER','NOINHERIT','NOLOGIN','NONE','NOSUPERUSER','NOT',
        -            'NOTHING','NOTIFY','NOTNULL','NOWAIT','NULL','NULLIF','NULLS',
        -            'NUMERIC','OBJECT','OF','OFF','OFFSET','OIDS','OLD','ON','ONLY',
        -            'OPERATOR','OPTION','OPTIONS','OR','ORDER','OUT','OUTER','OVER',
        -            'OVERLAPS','OVERLAY','OWNED','OWNER','PARSER','PARTIAL','PARTITION',
        -            'PASSWORD','PLACING','PLANS','POSITION','PRECEDING','PRECISION',
        -            'PREPARE','PREPARED','PRESERVE','PRIMARY','PRIOR','PRIVILEGES',
        -            'PROCEDURAL','PROCEDURE','QUOTE','RANGE','READ','REASSIGN',
        -            'RECHECK','RECURSIVE','REFERENCES','REINDEX','RELATIVE','RELEASE',
        -            'RENAME','REPEATABLE','REPLACE','REPLICA','RESET','RESTART',
        -            'RESTRICT','RETURN','RETURNING','RETURNS','REVOKE','RIGHT','ROLE',
        -            'ROLLBACK','ROW','ROWS','RULE','SAVEPOINT','SCHEMA','SCROLL',
        -            'SEARCH','SECOND',
        -            'SECURITY','SELECT','SEQUENCE','SERIALIZABLE','SERVER','SESSION',
        -            'SESSION_USER','SET','SETOF','SHARE','SHOW','SIMILAR','SIMPLE',
        -            'SOME','STABLE','STANDALONE','START','STATEMENT','STATISTICS',
        -            'STDIN','STDOUT','STORAGE','STRICT','STRIP','SUPERUSER',
        -            'SYMMETRIC','SYSID','SYSTEM','TABLE','TABLESPACE','TEMP','TEMPLATE',
        -            'TEMPORARY','THEN','TO','TRAILING','TRANSACTION','TREAT','TRIGGER',
        -            'TRUE','TRUNCATE','TRUSTED','TYPE','UNBOUNDED','UNCOMMITTED',
        -            'UNENCRYPTED','UNION','UNIQUE','UNKNOWN','UNLISTEN','UNTIL',
        -            'UPDATE','USER','USING','VACUUM','VALID','VALIDATOR','VALUE',
        -            'VALUES','VARIADIC','VERBOSE','VERSION','VIEW','VOLATILE','WHEN',
        -            'WHERE','WHILE','WHITESPACE','WINDOW','WITH','WITHOUT','WORK','WRAPPER',
        -            'WRITE','XMLATTRIBUTES','XMLCONCAT','XMLELEMENT','XMLFOREST',
        -            'XMLPARSE','XMLPI','XMLROOT','XMLSERIALIZE','YEAR','YES','ZONE'
        -            ),
        -
        -        //Put functions here
        -        3 => array(
        -            // mathematical functions
        -            'ABS','CBRT','CEIL','CEILING','DEGREES','DIV','EXP','FLOOR','LN',
        -            'LOG','MOD','PI','POWER','RADIANS','RANDOM','ROUND','SETSEED',
        -            'SIGN','SQRT','TRUNC','WIDTH_BUCKET',
        -            // trigonometric functions
        -            'ACOS','ASIN','ATAN','ATAN2','COS','COT','SIN','TAN',
        -            // string functions
        -            'BIT_LENGTH','CHAR_LENGTH','CHARACTER_LENGTH','LOWER',
        -            'OCTET_LENGTH','POSITION','SUBSTRING','TRIM','UPPER',
        -            // other string functions
        -            'ASCII','BTRIM','CHR','CONVERT','CONVERT_FROM','CONVERT_TO',
        -            'DECODE','ENCODE','INITCAP','LENGTH','LPAD','LTRIM','MD5',
        -            'PG_CLIENT_ENCODING','QUOTE_IDENT','QUOTE_LITERAL','QUOTE_NULLABLE',
        -            'REGEXP_MATCHES','REGEXP_REPLACE','REGEXP_SPLIT_TO_ARRAY',
        -            'REGEXP_SPLIT_TO_TABLE','REPEAT','RPAD','RTRIM','SPLIT_PART',
        -            'STRPOS','SUBSTR','TO_ASCII','TO_HEX','TRANSLATE',
        -            // binary string functions
        -            'GET_BIT','GET_BYTE','SET_BIT','SET_BYTE',
        -            // data type formatting functions
        -            'TO_CHAR','TO_DATE','TO_NUMBER','TO_TIMESTAMP',
        -            // date/time functions
        -            'AGE','CLOCK_TIMESTAMP','DATE_PART','DATE_TRUNC','EXTRACT',
        -            'ISFINITE','JUSTIFY_DAYS','JUSTIFY_HOURS','JUSTIFY_INTERVAL','NOW',
        -            'STATEMENT_TIMESTAMP','TIMEOFDAY','TRANSACTION_TIMESTAMP',
        -            // enum support functions
        -            'ENUM_FIRST','ENUM_LAST','ENUM_RANGE',
        -            // geometric functions
        -            'AREA','CENTER','DIAMETER','HEIGHT','ISCLOSED','ISOPEN','NPOINTS',
        -            'PCLOSE','POPEN','RADIUS','WIDTH',
        -            'BOX','CIRCLE','LSEG','PATH','POINT','POLYGON',
        -            // cidr and inet functions
        -            'ABBREV','BROADCAST','FAMILY','HOST','HOSTMASK','MASKLEN','NETMASK',
        -            'NETWORK','SET_MASKLEN',
        -            // text search functions
        -            'TO_TSVECTOR','SETWEIGHT','STRIP','TO_TSQUERY','PLAINTO_TSQUERY',
        -            'NUMNODE','QUERYTREE','TS_RANK','TS_RANK_CD','TS_HEADLINE',
        -            'TS_REWRITE','GET_CURRENT_TS_CONFIG','TSVECTOR_UPDATE_TRIGGER',
        -            'TSVECTOR_UPDATE_TRIGGER_COLUMN',
        -            'TS_DEBUG','TS_LEXISE','TS_PARSE','TS_TOKEN_TYPE','TS_STAT',
        -            // XML functions
        -            'XMLCOMMENT','XMLCONCAT','XMLELEMENT','XMLFOREST','XMLPI','XMLROOT',
        -            'XMLAGG','XPATH','TABLE_TO_XMLSCHEMA','QUERY_TO_XMLSCHEMA',
        -            'CURSOR_TO_XMLSCHEMA','TABLE_TO_XML_AND_XMLSCHEMA',
        -            'QUERY_TO_XML_AND_XMLSCHEMA','SCHEMA_TO_XML','SCHEMA_TO_XMLSCHEMA',
        -            'SCHEMA_TO_XML_AND_XMLSCHEMA','DATABASE_TO_XML',
        -            'DATABASE_TO_XMLSCHEMA','DATABASE_TO_XML_AND_XMLSCHEMA',
        -            // sequence manipulating functions
        -            'CURRVAL','LASTVAL','NEXTVAL','SETVAL',
        -            // conditional expressions
        -            'COALESCE','NULLIF','GREATEST','LEAST',
        -            // array functions
        -            'ARRAY_APPEND','ARRAY_CAT','ARRAY_NDIMS','ARRAY_DIMS','ARRAY_FILL',
        -            'ARRAY_LENGTH','ARRAY_LOWER','ARRAY_PREPEND','ARRAY_TO_STRING',
        -            'ARRAY_UPPER','STRING_TO_ARRAY','UNNEST',
        -            // aggregate functions
        -            'ARRAY_AGG','AVG','BIT_AND','BIT_OR','BOOL_AND','BOOL_OR','COUNT',
        -            'EVERY','MAX','MIN','STRING_AGG','SUM',
        -            // statistic aggregate functions
        -            'CORR','COVAR_POP','COVAR_SAMP','REGR_AVGX','REGR_AVGY',
        -            'REGR_COUNT','REGR_INTERCEPT','REGR_R2','REGR_SLOPE','REGR_SXX',
        -            'REGR_SXY','REGR_SYY','STDDEV','STDDEV_POP','STDDEV_SAMP',
        -            'VARIANCE','VAR_POP','VAR_SAMP',
        -            // window functions
        -            'ROW_NUMBER','RANK','DENSE_RANK','PERCENT_RANK','CUME_DIST','NTILE',
        -            'LAG','LEAD','FIRST_VALUE','LAST_VALUE','NTH_VALUE',
        -            // set returning functions
        -            'GENERATE_SERIES','GENERATE_SUBSCRIPTS'
        -            // system information functions not currently included
        -            ),
        -
        -        //Put your postgresql var
        -        4 => array(
        -            'client_encoding',
        -            'standard_conforming_strings'
        -            ),
        -
        -        //Put your data types here
        -        5 => array(
        -            'ARRAY','ABSTIME','BIGINT','BIGSERIAL','BINARY','BIT','BIT VARYING',
        -            'BOOLEAN','BOX','BYTEA','CHAR','CHARACTER','CHARACTER VARYING',
        -            'CIDR','CIRCLE','DATE','DECIMAL','DOUBLE PRECISION','ENUM','FLOAT',
        -            'INET','INT','INTEGER','INTERVAL','NCHAR','REAL','SMALLINT','TEXT',
        -            'TIME','TIMESTAMP','VARCHAR','XML',
        -            ),
        -
        -        //        //Put your package names here
        -        //        6 => array(
        -        //            ),
        -
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '=', '<', '>', '|'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            // regular keywords
        -            1 => 'color: #000000; font-weight: bold; text-transform: uppercase;',
        -            // inbuilt functions
        -            3 => 'color: #333399; font-weight: bold; text-transform: uppercase;',
        -            // postgresql var(?)
        -            4 => 'color: #993333; font-weight: bold; text-transform: uppercase;',
        -            // data types
        -            5 => 'color: #993333; font-weight: bold; text-transform: uppercase;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #ff0000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        3 => '',
        -        4 => 'http://paste.postgresql.fr/wiki/desc.php?def={FNAME}',
        -        5 => '',
        -        ),
        -
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            1 => array(
        -                'DISALLOWED_AFTER' => '(?![\(\w])'
        -                ),
        -
        -            3 => array(
        -                'DISALLOWED_AFTER' => '(?=\()'
        -                ),
        -
        -            4 => array(
        -                'DISALLOWED_AFTER' => '(?![\(\w])'
        -                ),
        -
        -            5 => array(
        -                'DISALLOWED_AFTER' => '(?![\(\w])'
        -                ),
        -            )
        -        )
        -
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/povray.php b/vendor/easybook/geshi/geshi/povray.php
        deleted file mode 100644
        index 83411b6..0000000
        --- a/vendor/easybook/geshi/geshi/povray.php
        +++ /dev/null
        @@ -1,199 +0,0 @@
        - 'POVRAY',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'yes', 'wrinkles', 'wood', 'width', 'waves', 'water_level', 'warp', 'vturbulence',
        -            'vstr', 'vrotate', 'vnormalize', 'vlength', 'vcross', 'vaxis_rotate', 'variance', 'v_steps',
        -            'uv_mapping', 'utf8', 'use_index', 'use_colour', 'use_color', 'use_alpha', 'up', 'undef',
        -            'ultra_wide_angle', 'u_steps', 'type', 'turbulence', 'turb_depth', 'ttf', 'true', 'triangle_wave',
        -            'translate', 'transform', 'trace', 'toroidal', 'tolerance', 'tiles', 'tile2', 'tightness',
        -            'tiff', 'threshold', 'thickness', 'tga', 'texture_map', 'target', 'sys', 'sum',
        -            'substr', 'sturm', 'strupr', 'strlwr', 'strength', 'str', 'statistics', 'sqr',
        -            'spotted', 'spotlight', 'split_union', 'spline', 'spiral2', 'spiral1', 'spherical', 'specular',
        -            'spacing', 'solid', 'smooth', 'slope', 'slice', 'sky', 'size', 'sine_wave',
        -            'shadowless', 'scattering', 'scallop_wave', 'scale', 'save_file', 'samples', 'roughness', 'rotate',
        -            'ripples', 'right', 'rgbt', 'rgbft', 'rgbf', 'rgb', 'repeat', 'render',
        -            'refraction', 'reflection_exponent', 'recursion_limit', 'reciprocal', 'ratio', 'ramp_wave', 'radius', 'radial',
        -            'quilted', 'quick_colour', 'quick_color', 'quaternion', 'quadratic_spline', 'pwr', 'projected_through', 'prod',
        -            'pretrace_start', 'pretrace_end', 'precompute', 'precision', 'ppm', 'pow', 'pot', 'poly_wave',
        -            'point_at', 'png', 'planar', 'pigment_pattern', 'pi', 'phong_size', 'phong', 'phase',
        -            'pgm', 'perspective', 'pattern', 'pass_through', 'parallel', 'panoramic', 'orthographic', 'orientation',
        -            'orient', 'open', 'onion', 'once', 'on', 'omnimax', 'omega', 'offset',
        -            'off', 'octaves', 'number_of_waves', 'noise_generator', 'no_shadow', 'no_reflection', 'no_image', 'no_bump_scale',
        -            'no', 'nearest_count', 'natural_spline', 'mortar', 'minimum_reuse', 'min_extent', 'metric', 'method',
        -            'metallic', 'media_interaction', 'media_attenuation', 'media', 'max_trace_level', 'max_trace', 'max_sample', 'max_iteration',
        -            'max_intersections', 'max_gradient', 'max_extent', 'matrix', 'material_map', 'marble', 'map_type', 'mandel',
        -            'major_radius', 'magnet', 'low_error_factor', 'look_at', 'location', 'load_file', 'linear_sweep', 'linear_spline',
        -            'leopard', 'lambda', 'julia', 'jpeg', 'jitter', 'irid_wavelength', 'ior', 'inverse',
        -            'intervals', 'interpolate', 'internal', 'inside_vector', 'inside', 'initial_frame', 'initial_clock', 'image_width',
        -            'image_pattern', 'image_height', 'iff', 'hypercomplex', 'hollow', 'hierarchy', 'hf_gray_16', 'hexagon',
        -            'gray_threshold', 'granite', 'gradient', 'global_lights', 'gif', 'gather', 'fresnel', 'frequency',
        -            'frame_number', 'form', 'fog_type', 'fog_offset', 'fog_alt', 'focal_point', 'flip', 'flatness',
        -            'fisheye', 'final_frame', 'final_clock', 'false', 'falloff_angle', 'falloff', 'fade_power', 'fade_distance',
        -            'fade_colour', 'fade_color', 'facets', 'extinction', 'exterior', 'exponent', 'expand_thresholds', 'evaluate',
        -            'error_bound', 'emission', 'eccentricity', 'double_illuminate', 'distance', 'dist_exp', 'dispersion_samples', 'dispersion',
        -            'direction', 'diffuse', 'df3', 'dents', 'density_map', 'density_file', 'density', 'cylindrical',
        -            'cutaway_textures', 'cubic_wave', 'cubic_spline', 'cube', 'crand', 'crackle', 'count', 'coords',
        -            'control1', 'control0', 'conserve_energy', 'conic_sweep', 'confidence', 'concat', 'composite', 'component',
        -            'colour_map', 'colour', 'color', 'collect', 'clock_on', 'clock_delta', 'clock', 'circular',
        -            'chr', 'checker', 'charset', 'cells', 'caustics', 'bumps', 'bump_size', 'brilliance',
        -            'brightness', 'brick_size', 'brick', 'bozo', 'boxed', 'blur_samples', 'black_hole', 'bezier_spline',
        -            'b_spline', 'average', 'autostop', 'assumed_gamma', 'ascii', 'array', 'area_light', 'arc_angle',
        -            'append', 'aperture', 'angle', 'ambient_light', 'ambient', 'always_sample', 'altitude', 'alpha',
        -            'all_intersections', 'all', 'agate_turb', 'agate', 'adc_bailout', 'adaptive', 'accuracy', 'absorption',
        -            'aa_threshold', 'aa_level', 'reflection'
        -            ),
        -        2 => array(
        -            'abs', 'acos', 'acosh', 'asc', 'asin', 'asinh', 'atan', 'atanh',
        -            'atan2', 'ceil', 'cos', 'cosh', 'defined', 'degrees', 'dimensions', 'dimension_size',
        -            'div', 'exp', 'file_exists', 'floor', 'int', 'ln', 'log', 'max',
        -            'min', 'mod', 'pov', 'radians', 'rand', 'seed', 'select', 'sin',
        -            'sinh', 'sqrt', 'strcmp', 'strlen', 'tan', 'tanh', 'val', 'vdot',
        -            'vlenght',
        -            ),
        -        3 => array (
        -            'x', 'y', 'z', 't', 'u', 'v', 'red', 'blue',
        -            'green', 'filter', 'transmit', 'gray', 'e',
        -            ),
        -        4 => array (
        -            'camera', 'background', 'fog', 'sky_sphere', 'rainbow', 'global_settings', 'radiosity', 'photon',
        -            'object', 'blob', 'sphere', 'cylinder', 'box', 'cone', 'height_field', 'julia_fractal',
        -            'lathe', 'prism', 'sphere_sweep', 'superellipsoid', 'sor', 'text', 'torus', 'bicubic_patch',
        -            'disc', 'mesh', 'triangle', 'smooth_triangle', 'mesh2', 'vertex_vectors', 'normal_vectors', 'uv_vectors',
        -            'texture_list', 'face_indices', 'normal_indices', 'uv_indices', 'texture', 'polygon', 'plane', 'poly',
        -            'cubic', 'quartic', 'quadric', 'isosurface', 'function', 'contained_by', 'parametric', 'pigment',
        -            'union', 'intersection', 'difference', 'merge', 'light_source', 'looks_like', 'light_group', 'clipped_by',
        -            'bounded_by', 'interior', 'material', 'interior_texture', 'normal', 'finish', 'color_map', 'pigment_map',
        -            'image_map', 'bump_map', 'slope_map', 'normal_map', 'irid', 'photons',
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '!',
        -        '@', '%', '&', '*', '|', '/', '<',
        -        '>', '+', '-', '.', '=', '<=', '>=',
        -        '!=',
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #a63123;',
        -            2 => 'color: #2312bc;',
        -            3 => 'color: #cc1122; font-weight: bold;',
        -            4 => 'color: #116688; font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -//            2 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66aa;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #6666cc; font-weight: bold;',
        -            1 => 'color: #66cc66; font-weight: bold;',
        -            2 => 'color: #66cc66; font-weight: bold;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        # normal hash lines
        -        0 => '\#(?!(include|declare|local|fopen|fclose|read|write|default|version|if|else|end|ifdef|ifndef|switch|case|range|break|while|debug|error|warning|macro) )[[:word:]]*',
        -        # syntax functions hash thingis
        -        1 => "\#(include|declare|local|fopen|fclose|read|write|default|version|if|else|end|ifdef|ifndef|switch|case|range|break|while|debug|error|warning|macro)",
        -        2 => array(
        -            GESHI_SEARCH  => "([a-zA-Z]+)(\n)(.*)(\n)(\\1;?)",
        -            GESHI_REPLACE => '\3',
        -            GESHI_BEFORE => '\1\2',
        -            GESHI_AFTER => '\4\5',
        -            GESHI_MODIFIERS => 'siU'
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => true,
        -        2 => true,
        -        3 => true
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/powerbuilder.php b/vendor/easybook/geshi/geshi/powerbuilder.php
        deleted file mode 100644
        index a055953..0000000
        --- a/vendor/easybook/geshi/geshi/powerbuilder.php
        +++ /dev/null
        @@ -1,417 +0,0 @@
        - 'PowerBuilder',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '~',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'alias', 'and', 'autoinstantiate', 'call',
        -            'case', 'catch', 'choose', 'close', 'commit', 'connect',
        -            'constant', 'continue', 'create', 'cursor', 'declare',
        -            'delete', 'describe', 'descriptor', 'destroy', 'disconnect',
        -            'do', 'dynamic', 'else', 'elseif', 'end', 'enumerated',
        -            'event', 'execute', 'exit', 'external', 'false', 'fetch',
        -            'first', 'for', 'forward', 'from', 'function', 'global',
        -            'goto', 'halt', 'if', 'immediate', 'indirect', 'insert',
        -            'into', 'intrinsic', 'is', 'last', 'library', 'loop', 'next',
        -            'not', 'of', 'on', 'open', 'or', 'parent', 'post', 'prepare',
        -            'prior', 'private', 'privateread', 'privatewrite', 'procedure',
        -            'protected', 'protectedread', 'protectedwrite', 'prototypes',
        -            'public', 'readonly', 'ref', 'return', 'rollback', 'rpcfunc',
        -            'select', 'selectblob', 'shared', 'static', 'step', 'subroutine',
        -            'super', 'system', 'systemread', 'systemwrite', 'then', 'this',
        -            'to', 'trigger', 'true', 'try', 'type', 'until', 'update', 'updateblob',
        -            'using', 'variables', 'where', 'while', 'with', 'within'
        -            ),
        -        2 => array (
        -            'blob', 'boolean', 'char', 'character', 'date', 'datetime',
        -            'dec', 'decimal',
        -            'double', 'int', 'integer', 'long', 'real', 'string', 'time',
        -            'uint', 'ulong', 'unsignedint', 'unsignedinteger', 'unsignedlong'
        -            ),
        -        3 => array (
        -            'abortretryignore!', 'actbegin!', 'acterror!', 'actesql!',
        -            'actgarbagecollect!', 'activate!', 'activatemanually!',
        -            'activateondoubleclick!',
        -            'activateongetfocus!', 'actline!', 'actobjectcreate!', 'actobjectdestroy!',
        -            'actprofile!', 'actroutine!', 'acttrace!', 'actual!',
        -            'actuser!', 'adoresultset!', 'adtdate!', 'adtdatetime!',
        -            'adtdefault!', 'adtdouble!', 'adttext!', 'adttime!',
        -            'aix!', 'alignatbottom!', 'alignatleft!', 'alignatright!',
        -            'alignattop!', 'all!', 'allowpartialchanges!', 'alpha!',
        -            'ansi!', 'any!', 'anycase!', 'anyfont!',
        -            'append!', 'application!', 'arabiccharset!', 'area3d!',
        -            'areagraph!', 'arraybounds!', 'arrow!', 'ascending!',
        -            'asstatement!', 'atbottom!', 'atleft!', 'atright!',
        -            'attop!', 'autosize!', 'background!', 'balticcharset!',
        -            'bar3dgraph!', 'bar3dobjgraph!', 'bargraph!', 'barstack3dobjgraph!',
        -            'barstackgraph!', 'bdiagonal!', 'beam!', 'begin!',
        -            'begindrag!', 'beginlabeledit!', 'beginrightdrag!', 'behind!',
        -            'blob!', 'bold!', 'boolean!', 'bottom!',
        -            'boundedarray!', 'box!', 'byreferenceargument!', 'byvalueargument!',
        -            'cancel!', 'cascade!', 'cascaded!', 'category!',
        -            'center!', 'character!', 'charsetansi!', 'charsetansiarabic!',
        -            'charsetansihebrew!', 'charsetdbcsjapanese!', 'charsetunicode!', 'checkbox!',
        -            'child!', 'childtreeitem!', 'chinesebig5!', 'classdefinition!',
        -            'classdefinitionobject!', 'classorstructuretype!', 'clicked!', 'clip!',
        -            'clipboard!', 'clipformatbitmap!', 'clipformatdib!', 'clipformatdif!',
        -            'clipformatenhmetafile!', 'clipformathdrop!', 'clipformatlocale!',
        -            'clipformatmetafilepict!',
        -            'clipformatoemtext!', 'clipformatpalette!', 'clipformatpendata!', 'clipformatriff!',
        -            'clipformatsylk!', 'clipformattext!', 'clipformattiff!', 'clipformatunicodetext!',
        -            'clipformatwave!', 'clock!', 'close!', 'closequery!',
        -            'col3dgraph!', 'col3dobjgraph!', 'colgraph!',
        -            'colstack3dobjgraph!', 'colstackgraph!', 'columnclick!', 'commandbutton!',
        -            'connection!', 'connectioninfo!', 'connectobject!', 'connectprivilege!',
        -            'connectwithadminprivilege!', 'constructor!', 'containsany!', 'containsembeddedonly!',
        -            'containslinkedonly!', 'contextinformation!', 'contextkeyword!', 'continuous!',
        -            'corbaobject!', 'corbaunion!', 'cplusplus!', 'cross!',
        -            'csv!', 'cumulative!', 'cumulativepercent!', 'currenttreeitem!',
        -            'customvisual!', 'dash!', 'dashdot!', 'dashdotdot!',
        -            'data!', 'datachange!', 'datamodified!', 'datastore!',
        -            'datawindow!', 'datawindowchild!', 'date!', 'datemask!',
        -            'datetime!', 'datetimemask!', 'dbase2!', 'dbase3!',
        -            'dberror!', 'deactivate!', 'decimal!', 'decimalmask!',
        -            'decorative!', 'default!', 'defaultcharset!', 'delete!',
        -            'deleteallitems!', 'deleteitem!', 'descending!', 'desktop!',
        -            'destructor!', 'detail!', 'diamond!', 'dif!',
        -            'dirall!', 'dirapplication!', 'dirdatawindow!', 'directionall!',
        -            'directiondown!', 'directionleft!', 'directionright!', 'directionup!',
        -            'dirfunction!', 'dirmenu!', 'dirpipeline!', 'dirproject!',
        -            'dirquery!', 'dirstructure!', 'diruserobject!', 'dirwindow!',
        -            'displayasactivexdocument!', 'displayascontent!', 'displayasicon!', 'dot!',
        -            'double!', 'doubleclicked!', 'dragdrop!', 'dragenter!',
        -            'dragleave!', 'dragobject!', 'dragwithin!', 'drawobject!',
        -            'dropdownlistbox!', 'dropdownpicturelistbox!', 'drophighlighttreeitem!', 'dwobject!',
        -            'dynamicdescriptionarea!', 'dynamicstagingarea!', 'easteuropecharset!', 'editchanged!',
        -            'editmask!', 'editmenu!', 'end!', 'endlabeledit!',
        -            'enterprise!', 'enterpriseonlyfeature!', 'enumeratedtype!', 'enumerationdefinition!',
        -            'enumerationitemdefinition!', 'environment!', 'error!', 'errorlogging!',
        -            'eventnotexisterror!', 'eventwrongprototypeerror!', 'excel!', 'excel5!',
        -            'exceptionfail!', 'exceptionignore!', 'exceptionretry!',
        -            'exceptionsubstitutereturnvalue!',
        -            'exclamation!', 'exclude!', 'exportapplication!', 'exportdatawindow!',
        -            'exportfunction!', 'exportmenu!', 'exportpipeline!', 'exportproject!',
        -            'exportquery!', 'exportstructure!', 'exportuserobject!', 'exportwindow!',
        -            'externalvisual!', 'extobject!', 'failonanyconflict!', 'fdiagonal!',
        -            'featurenotsupportederror!', 'filealreadyopenerror!', 'filecloseerror!',
        -            'fileexists!',
        -            'fileinvalidformaterror!', 'filemenu!', 'filenotopenerror!', 'filenotseterror!',
        -            'filereaderror!', 'filetyperichtext!', 'filetypetext!', 'filewriteerror!',
        -            'filter!', 'first!', 'firstvisibletreeitem!', 'fixed!',
        -            'floating!', 'focusrect!', 'footer!', 'foreground!',
        -            'frombeginning!', 'fromcurrent!', 'fromend!', 'functionobject!',
        -            'gb231charset!', 'getfocus!', 'graph!', 'graphicobject!',
        -            'graxis!', 'grdispattr!', 'greekcharset!', 'groupbox!',
        -            'hand!', 'hangeul!', 'header!', 'hebrewcharset!',
        -            'helpmenu!', 'hide!', 'horizontal!', 'hotlinkalarm!',
        -            'hourglass!', 'hppa!', 'hprogressbar!', 'hpux!',
        -            'hscrollbar!', 'hticksonboth!', 'hticksonbottom!', 'hticksonneither!',
        -            'hticksontop!', 'htmltable!', 'htrackbar!', 'i286!',
        -            'i386!', 'i486!', 'icon!', 'icons!',
        -            'idle!', 'importdatawindow!', 'indent!', 'index!',
        -            'inet!', 'information!', 'inplace!', 'inputfieldselected!',
        -            'insertitem!', 'inside!', 'integer!', 'internetresult!',
        -            'italic!', 'itemchanged!', 'itemchanging!', 'itemcollapsed!',
        -            'itemcollapsing!', 'itemerror!', 'itemexpanded!', 'itemexpanding!',
        -            'itemfocuschanged!', 'itempopulate!', 'jaguarorb!', 'johabcharset!',
        -            'justify!', 'key!', 'key0!', 'key1!',
        -            'key2!', 'key3!', 'key4!', 'key5!',
        -            'key6!', 'key7!', 'key8!', 'key9!',
        -            'keya!', 'keyadd!', 'keyalt!', 'keyapps!',
        -            'keyb!', 'keyback!', 'keybackquote!', 'keybackslash!',
        -            'keyc!', 'keycapslock!', 'keycomma!', 'keycontrol!',
        -            'keyd!', 'keydash!', 'keydecimal!', 'keydelete!',
        -            'keydivide!', 'keydownarrow!', 'keye!', 'keyend!',
        -            'keyenter!', 'keyequal!', 'keyescape!', 'keyf!',
        -            'keyf1!', 'keyf10!', 'keyf11!', 'keyf12!',
        -            'keyf2!', 'keyf3!', 'keyf4!', 'keyf5!',
        -            'keyf6!', 'keyf7!', 'keyf8!', 'keyf9!',
        -            'keyg!', 'keyh!', 'keyhome!', 'keyi!',
        -            'keyinsert!', 'keyj!', 'keyk!', 'keyl!',
        -            'keyleftarrow!', 'keyleftbracket!', 'keyleftbutton!', 'keyleftwindows!',
        -            'keym!', 'keymiddlebutton!', 'keymultiply!', 'keyn!',
        -            'keynull!', 'keynumlock!', 'keynumpad0!', 'keynumpad1!',
        -            'keynumpad2!', 'keynumpad3!', 'keynumpad4!', 'keynumpad5!',
        -            'keynumpad6!', 'keynumpad7!', 'keynumpad8!', 'keynumpad9!',
        -            'keyo!', 'keyp!', 'keypagedown!', 'keypageup!',
        -            'keypause!', 'keyperiod!', 'keyprintscreen!', 'keyq!',
        -            'keyquote!', 'keyr!', 'keyrightarrow!', 'keyrightbracket!',
        -            'keyrightbutton!', 'keyrightwindows!', 'keys!', 'keyscrolllock!',
        -            'keysemicolon!', 'keyshift!', 'keyslash!', 'keyspacebar!',
        -            'keysubtract!', 'keyt!', 'keytab!', 'keyu!',
        -            'keyuparrow!', 'keyv!', 'keyw!', 'keyword!',
        -            'keyx!', 'keyy!', 'keyz!', 'languageafrikaans!',
        -            'languagealbanian!', 'languagearabicalgeria!', 'languagearabicbahrain!',
        -            'languagearabicegypt!',
        -            'languagearabiciraq!', 'languagearabicjordan!', 'languagearabickuwait!',
        -            'languagearabiclebanon!',
        -            'languagearabiclibya!', 'languagearabicmorocco!', 'languagearabicoman!',
        -            'languagearabicqatar!',
        -            'languagearabicsaudiarabia!', 'languagearabicsyria!', 'languagearabictunisia!',
        -            'languagearabicuae!',
        -            'languagearabicyemen!', 'languagebasque!', 'languagebulgarian!', 'languagebyelorussian!',
        -            'languagecatalan!', 'languagechinese!', 'languagechinesehongkong!', 'languagechinesesimplified!',
        -            'languagechinesesingapore!', 'languagechinesetraditional!', 'languagecroatian!', 'languageczech!',
        -            'languagedanish!', 'languagedutch!', 'languagedutchbelgian!', 'languagedutchneutral!',
        -            'languageenglish!', 'languageenglishaustralian!', 'languageenglishcanadian!',
        -            'languageenglishirish!',
        -            'languageenglishnewzealand!', 'languageenglishsouthafrica!', 'languageenglishuk!',
        -            'languageenglishus!',
        -            'languageestonian!', 'languagefaeroese!', 'languagefarsi!', 'languagefinnish!',
        -            'languagefrench!', 'languagefrenchbelgian!', 'languagefrenchcanadian!', 'languagefrenchluxembourg!',
        -            'languagefrenchneutral!', 'languagefrenchswiss!', 'languagegerman!', 'languagegermanaustrian!',
        -            'languagegermanliechtenstein!', 'languagegermanluxembourg!', 'languagegermanneutral!',
        -            'languagegermanswiss!',
        -            'languagegreek!', 'languagehebrew!', 'languagehindi!', 'languagehungarian!',
        -            'languageicelandic!', 'languageindonesian!', 'languageitalian!', 'languageitalianneutral!',
        -            'languageitalianswiss!', 'languagejapanese!', 'languagekorean!', 'languagekoreanjohab!',
        -            'languagelatvian!', 'languagelithuanian!', 'languagemacedonian!', 'languagemaltese!',
        -            'languageneutral!', 'languagenorwegian!', 'languagenorwegianbokmal!', 'languagenorwegiannynorsk!',
        -            'languagepolish!', 'languageportuguese!', 'languageportuguese_brazilian!',
        -            'languageportugueseneutral!',
        -            'languagerhaetoromanic!', 'languageromanian!', 'languageromanianmoldavia!', 'languagerussian!',
        -            'languagerussianmoldavia!', 'languagesami!', 'languageserbian!', 'languageslovak!',
        -            'languageslovenian!', 'languagesorbian!', 'languagesortnative!', 'languagesortunicode!',
        -            'languagespanish!', 'languagespanishcastilian!', 'languagespanishmexican!', 'languagespanishmodern!',
        -            'languagesutu!', 'languageswedish!', 'languagesystemdefault!', 'languagethai!',
        -            'languagetsonga!', 'languagetswana!', 'languageturkish!', 'languageukrainian!',
        -            'languageurdu!', 'languageuserdefault!', 'languagevenda!', 'languagexhosa!',
        -            'languagezulu!', 'last!', 'layer!', 'layered!',
        -            'Left!', 'leftmargin!', 'line!', 'line3d!',
        -            'linear!', 'linecolor!', 'linedown!', 'linegraph!',
        -            'lineleft!', 'linemode!', 'lineright!', 'lineup!',
        -            'linkupdateautomatic!', 'linkupdatemanual!', 'listbox!', 'listview!',
        -            'listviewitem!', 'listviewlargeicon!', 'listviewlist!', 'listviewreport!',
        -            'listviewsmallicon!', 'lockread!', 'lockreadwrite!', 'lockwrite!',
        -            'log10!', 'loge!', 'long!', 'losefocus!',
        -            'lower!', 'lowered!', 'm68000!', 'm68020!',
        -            'm68030!', 'm68040!', 'maccharset!', 'macintosh!',
        -            'mailattach!', 'mailbcc!', 'mailbodyasfile!', 'mailcc!',
        -            'maildownload!', 'mailentiremessage!', 'mailenvelopeonly!', 'mailfiledescription!',
        -            'mailmessage!', 'mailnewsession!', 'mailnewsessionwithdownload!', 'mailole!',
        -            'mailolestatic!', 'mailoriginator!', 'mailrecipient!', 'mailreturnaccessdenied!',
        -            'mailreturnattachmentnotfound!', 'mailreturnattachmentopenfailure!',
        -            'mailreturnattachmentwritefailure!', 'mailreturndiskfull!',
        -            'mailreturnfailure!', 'mailreturninsufficientmemory!', 'mailreturninvalidmessage!',
        -            'mailreturnloginfailure!',
        -            'mailreturnmessageinuse!', 'mailreturnnomessages!', 'mailreturnsuccess!', 'mailreturntexttoolarge!',
        -            'mailreturntoomanyfiles!', 'mailreturntoomanyrecipients!', 'mailreturntoomanysessions!',
        -            'mailreturnunknownrecipient!',
        -            'mailreturnuserabort!', 'mailsession!', 'mailsuppressattachments!', 'mailto!',
        -            'main!', 'maximized!', 'mdi!', 'mdiclient!',
        -            'mdihelp!', 'menu!', 'menucascade!', 'menuitemtypeabout!',
        -            'menuitemtypeexit!', 'menuitemtypehelp!', 'menuitemtypenormal!', 'merge!',
        -            'message!', 'minimized!', 'mips!', 'modelexistserror!',
        -            'modelnotexistserror!', 'modern!', 'modified!', 'mousedown!',
        -            'mousemove!', 'mouseup!', 'moved!', 'multiline!',
        -            'multilineedit!', 'mutexcreateerror!', 'new!', 'newmodified!',
        -            'next!', 'nexttreeitem!', 'nextvisibletreeitem!', 'noborder!',
        -            'noconnectprivilege!', 'nolegend!', 'none!', 'nonvisualobject!',
        -            'normal!', 'nosymbol!', 'notic!', 'notmodified!',
        -            'notopmost!', 'notype!', 'numericmask!', 'objhandle!',
        -            'oem!', 'off!', 'offsite!', 'ok!',
        -            'okcancel!', 'olecontrol!', 'olecustomcontrol!', 'oleobject!',
        -            'olestorage!', 'olestream!', 'oletxnobject!', 'omcontrol!',
        -            'omcustomcontrol!', 'omembeddedcontrol!', 'omobject!', 'omstorage!',
        -            'omstream!', 'open!', 'orb!', 'original!',
        -            'osf1!', 'other!', 'outside!', 'oval!',
        -            'pagedown!', 'pageleft!', 'pageright!', 'pageup!',
        -            'parenttreeitem!', 'pbtocppobject!', 'pentium!', 'percentage!',
        -            'picture!', 'picturebutton!', 'picturehyperlink!', 'picturelistbox!',
        -            'pictureselected!', 'pie3d!', 'piegraph!', 'pipeend!',
        -            'pipeline!', 'pipemeter!', 'pipestart!', 'popup!',
        -            'powerobject!', 'powerpc!', 'powerrs!', 'ppc601!',
        -            'ppc603!', 'ppc604!', 'previewdelete!', 'previewfunctionreselectrow!',
        -            'previewfunctionretrieve!', 'previewfunctionupdate!', 'previewinsert!', 'previewselect!',
        -            'previewupdate!', 'previoustreeitem!', 'previousvisibletreeitem!', 'primary!',
        -            'printend!', 'printfooter!', 'printheader!', 'printpage!',
        -            'printstart!', 'prior!', 'private!', 'process!',
        -            'profilecall!', 'profileclass!', 'profileline!', 'profileroutine!',
        -            'profiling!', 'protected!', 'psreport!', 'public!',
        -            'question!', 'radiobutton!', 'raised!', 'rbuttondown!',
        -            'rbuttonup!', 'read!', 'readonlyargument!', 'real!',
        -            'rectangle!', 'regbinary!', 'regexpandstring!', 'reglink!',
        -            'regmultistring!', 'regstring!', 'regulong!', 'regulongbigendian!',
        -            'remoteexec!', 'remotehotlinkstart!', 'remotehotlinkstop!', 'remoteobject!',
        -            'remoterequest!', 'remotesend!', 'rename!', 'replace!',
        -            'resize!', 'resizeborder!', 'response!', 'resultset!',
        -            'resultsets!', 'retrieveend!', 'retrieverow!', 'retrievestart!',
        -            'retrycancel!', 'richtextedit!', 'Right!', 'rightclicked!',
        -            'rightdoubleclicked!', 'rightmargin!', 'rnddays!', 'rnddefault!',
        -            'rndhours!', 'rndmicroseconds!', 'rndminutes!', 'rndmonths!',
        -            'rndnumber!', 'rndseconds!', 'rndyears!', 'roman!',
        -            'roottreeitem!', 'roundrectangle!', 'routineesql!', 'routineevent!',
        -            'routinefunction!', 'routinegarbagecollection!', 'routineobjectcreation!',
        -            'routineobjectdestruction!',
        -            'routineroot!', 'rowfocuschanged!', 'russiancharset!', 'save!',
        -            'scalartype!', 'scattergraph!', 'script!', 'scriptdefinition!',
        -            'scriptevent!', 'scriptfunction!', 'scrollhorizontal!', 'scrollvertical!',
        -            'selected!', 'selectionchanged!', 'selectionchanging!', 'series!',
        -            'service!', 'shade!', 'shadowbox!', 'shared!',
        -            'sharedobjectcreateinstanceerror!', 'sharedobjectcreatepbsessionerror!',
        -            'sharedobjectexistserror!', 'sharedobjectnotexistserror!',
        -            'shiftjis!', 'show!', 'simpletype!', 'simpletypedefinition!',
        -            'singlelineedit!', 'size!', 'sizenesw!', 'sizens!',
        -            'sizenwse!', 'sizewe!', 'sol2!', 'solid!',
        -            'sort!', 'sourcepblerror!', 'spacing1!', 'spacing15!',
        -            'spacing2!', 'sparc!', 'sqlinsert!', 'sqlpreview!',
        -            'square!', 'sslcallback!', 'sslserviceprovider!', 'statichyperlink!',
        -            'statictext!', 'stgdenynone!', 'stgdenyread!', 'stgdenywrite!',
        -            'stgexclusive!', 'stgread!', 'stgreadwrite!', 'stgwrite!',
        -            'stopsign!', 'straddle!', 'streammode!', 'stretch!',
        -            'strikeout!', 'string!', 'stringmask!', 'structure!',
        -            'stylebox!', 'stylelowered!', 'styleraised!', 'styleshadowbox!',
        -            'subscript!', 'success!', 'superscript!', 'swiss!',
        -            'sylk!', 'symbol!', 'symbolhollowbox!', 'symbolhollowcircle!',
        -            'symbolhollowdiamond!', 'symbolhollowdownarrow!', 'symbolhollowuparrow!', 'symbolplus!',
        -            'symbolsolidbox!', 'symbolsolidcircle!', 'symbolsoliddiamond!', 'symbolsoliddownarrow!',
        -            'symbolsoliduparrow!', 'symbolstar!', 'symbolx!', 'system!',
        -            'systemerror!', 'systemfunctions!', 'systemkey!', 'tab!',
        -            'tabsonbottom!', 'tabsonbottomandtop!', 'tabsonleft!', 'tabsonleftandright!',
        -            'tabsonright!', 'tabsonrightandleft!', 'tabsontop!', 'tabsontopandbottom!',
        -            'text!', 'thaicharset!', 'thread!', 'tile!',
        -            'tilehorizontal!', 'time!', 'timemask!', 'timer!',
        -            'timernone!', 'timing!', 'tobottom!', 'toolbarmoved!',
        -            'top!', 'topic!', 'topmost!', 'totop!',
        -            'traceactivitynode!', 'traceatomic!', 'tracebeginend!', 'traceerror!',
        -            'traceesql!', 'tracefile!', 'tracegarbagecollect!', 'tracegeneralerror!',
        -            'tracein!', 'traceline!', 'tracenomorenodes!', 'tracenotstartederror!',
        -            'traceobject!', 'traceout!', 'traceroutine!', 'tracestartederror!',
        -            'tracetree!', 'tracetreeerror!', 'tracetreeesql!', 'tracetreegarbagecollect!',
        -            'tracetreeline!', 'tracetreenode!', 'tracetreeobject!', 'tracetreeroutine!',
        -            'tracetreeuser!', 'traceuser!', 'transaction!', 'transactionserver!',
        -            'transparent!', 'transport!', 'treeview!', 'treeviewitem!',
        -            'turkishcharset!', 'typeboolean!', 'typecategory!', 'typecategoryaxis!',
        -            'typecategorylabel!', 'typedata!', 'typedate!', 'typedatetime!',
        -            'typedecimal!', 'typedefinition!', 'typedouble!', 'typegraph!',
        -            'typeinteger!', 'typelegend!', 'typelong!', 'typereal!',
        -            'typeseries!', 'typeseriesaxis!', 'typeserieslabel!', 'typestring!',
        -            'typetime!', 'typetitle!', 'typeuint!', 'typeulong!',
        -            'typeunknown!', 'typevalueaxis!', 'typevaluelabel!', 'ultrasparc!',
        -            'unboundedarray!', 'underline!', 'underlined!', 'unsignedinteger!',
        -            'unsignedlong!', 'unsorted!', 'uparrow!', 'updateend!',
        -            'updatestart!', 'upper!', 'userdefinedsort!', 'userobject!',
        -            'variable!', 'variableargument!', 'variablecardinalitydefinition!', 'variabledefinition!',
        -            'variableglobal!', 'variableinstance!', 'variablelocal!', 'variableshared!',
        -            'varlistargument!', 'vbxvisual!', 'vcenter!', 'vertical!',
        -            'vietnamesecharset!', 'viewchange!', 'vprogressbar!', 'vscrollbar!',
        -            'vticksonboth!', 'vticksonleft!', 'vticksonneither!', 'vticksonright!',
        -            'vtrackbar!', 'window!', 'windowmenu!', 'windowobject!',
        -            'windows!', 'windowsnt!', 'wk1!', 'wks!',
        -            'wmf!', 'write!', 'xpixelstounits!', 'xunitstopixels!',
        -            'xvalue!', 'yesno!', 'yesnocancel!', 'ypixelstounits!',
        -            'yunitstopixels!',
        -            'yvalue!',
        -            'zoom!'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -            0 => array('(', ')', '[', ']', '{', '}'),
        -            1 => array('|'),
        -            2 => array('+', '-', '*', '/'),
        -            3 => array('=', '<', '>', '^')
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #008000; font-weight: bold;',
        -            2 => 'color: #990099; font-weight: bold;',
        -            3 => 'color: #330099; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #0000ff; font-weight: bold;',
        -            'MULTI' => 'color: #0000ff; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #800000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #330099; font-weight: bold;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;',
        -            1 => 'color: #ffff00; background-color:#993300; font-weight: bold',
        -            2 => 'color: #000000;',
        -            3 => 'color: #000000;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #800000; font-weight: bold;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/powershell.php b/vendor/easybook/geshi/geshi/powershell.php
        deleted file mode 100644
        index f1842cf..0000000
        --- a/vendor/easybook/geshi/geshi/powershell.php
        +++ /dev/null
        @@ -1,276 +0,0 @@
        - 'PowerShell',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array('<#' => '#>'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '`',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            // Cmdlets
        -            'Add-Content', 'Add-History', 'Add-Member', 'Add-PSSnapin', 'Clear-Content', 'Clear-Item',
        -            'Clear-ItemProperty', 'Clear-Variable', 'Compare-Object', 'ConvertFrom-SecureString',
        -            'Convert-Path', 'ConvertTo-Html', 'ConvertTo-SecureString', 'Copy-Item', 'Copy-ItemProperty',
        -            'Export-Alias', 'Export-Clixml', 'Export-Console', 'Export-Csv', 'ForEach-Object',
        -            'Format-Custom', 'Format-List', 'Format-Table', 'Format-Wide', 'Get-Acl', 'Get-Alias',
        -            'Get-AuthenticodeSignature', 'Get-ChildItem', 'Get-Command', 'Get-Content', 'Get-Credential',
        -            'Get-Culture', 'Get-Date', 'Get-EventLog', 'Get-ExecutionPolicy', 'Get-Help', 'Get-History',
        -            'Get-Host', 'Get-Item', 'Get-ItemProperty', 'Get-Location', 'Get-Member',
        -            'Get-PfxCertificate', 'Get-Process', 'Get-PSDrive', 'Get-PSProvider', 'Get-PSSnapin',
        -            'Get-Service', 'Get-TraceSource', 'Get-UICulture', 'Get-Unique', 'Get-Variable',
        -            'Get-WmiObject', 'Group-Object', 'Import-Alias', 'Import-Clixml', 'Import-Csv',
        -            'Invoke-Expression', 'Invoke-History', 'Invoke-Item', 'Join-Path', 'Measure-Command',
        -            'Measure-Object', 'Move-Item', 'Move-ItemProperty', 'New-Alias', 'New-Item',
        -            'New-ItemProperty', 'New-Object', 'New-PSDrive', 'New-Service', 'New-TimeSpan',
        -            'New-Variable', 'Out-Default', 'Out-File', 'Out-Host', 'Out-Null', 'Out-Printer',
        -            'Out-String', 'Pop-Location', 'Push-Location', 'Read-Host', 'Remove-Item',
        -            'Remove-ItemProperty', 'Remove-PSDrive', 'Remove-PSSnapin', 'Remove-Variable', 'Rename-Item',
        -            'Rename-ItemProperty', 'Resolve-Path', 'Restart-Service', 'Resume-Service', 'Select-Object',
        -            'Select-String', 'Set-Acl', 'Set-Alias', 'Set-AuthenticodeSignature', 'Set-Content',
        -            'Set-Date', 'Set-ExecutionPolicy', 'Set-Item', 'Set-ItemProperty', 'Set-Location',
        -            'Set-PSDebug', 'Set-Service', 'Set-TraceSource', 'Set-Variable', 'Sort-Object', 'Split-Path',
        -            'Start-Service', 'Start-Sleep', 'Start-Transcript', 'Stop-Process', 'Stop-Service',
        -            'Stop-Transcript', 'Suspend-Service', 'Tee-Object', 'Test-Path', 'Trace-Command',
        -            'Update-FormatData', 'Update-TypeData', 'Where-Object', 'Write-Debug', 'Write-Error',
        -            'Write-Host', 'Write-Output', 'Write-Progress', 'Write-Verbose', 'Write-Warning'
        -            ),
        -        2 => array(
        -            // Aliases
        -            'ac', 'asnp', 'clc', 'cli', 'clp', 'clv', 'cpi', 'cpp', 'cvpa', 'diff', 'epal', 'epcsv', 'fc',
        -            'fl', 'ft', 'fw', 'gal', 'gc', 'gci', 'gcm', 'gdr', 'ghy', 'gi', 'gl', 'gm',
        -            'gp', 'gps', 'group', 'gsv', 'gsnp', 'gu', 'gv', 'gwmi', 'iex', 'ihy', 'ii', 'ipal', 'ipcsv',
        -            'mi', 'mp', 'nal', 'ndr', 'ni', 'nv', 'oh', 'rdr', 'ri', 'rni', 'rnp', 'rp', 'rsnp', 'rv',
        -            'rvpa', 'sal', 'sasv', 'sc', 'select', 'si', 'sl', 'sleep', 'sort', 'sp', 'spps', 'spsv', 'sv',
        -            'tee', 'write', 'cat', 'cd', 'clear', 'cp', 'h', 'history', 'kill', 'lp', 'ls',
        -            'mount', 'mv', 'popd', 'ps', 'pushd', 'pwd', 'r', 'rm', 'rmdir', 'echo', 'cls', 'chdir',
        -            'copy', 'del', 'dir', 'erase', 'move', 'rd', 'ren', 'set', 'type'
        -            ),
        -        3 => array(
        -            // Reserved words
        -            'break', 'continue', 'do', 'for', 'foreach', 'while', 'if', 'switch', 'until', 'where',
        -            'function', 'filter', 'else', 'elseif', 'in', 'return', 'param', 'throw', 'trap'
        -            ),
        -        4 => array(
        -            // Operators
        -            '-eq', '-ne', '-gt', '-ge', '-lt', '-le', '-ieq', '-ine', '-igt', '-ige', '-ilt', '-ile',
        -            '-ceq', '-cne', '-cgt', '-cge', '-clt', '-cle', '-like', '-notlike', '-match', '-notmatch',
        -            '-ilike', '-inotlike', '-imatch', '-inotmatch', '-clike', '-cnotlike', '-cmatch', '-cnotmatch',
        -            '-contains', '-notcontains', '-icontains', '-inotcontains', '-ccontains', '-cnotcontains',
        -            '-isnot', '-is', '-as', '-replace', '-ireplace', '-creplace', '-and', '-or', '-band', '-bor',
        -            '-not', '-bnot', '-f', '-casesensitive', '-exact', '-file', '-regex', '-wildcard'
        -            ),
        -        5 => array(
        -            // Options
        -            '-Year', '-Wrap', '-Word', '-Width', '-WhatIf', '-Wait', '-View', '-Verbose', '-Verb',
        -            '-Variable', '-ValueOnly', '-Value', '-Unique', '-UFormat', '-TypeName', '-Trace', '-TotalCount',
        -            '-Title', '-TimestampServer', '-TargetObject', '-Syntax', '-SyncWindow', '-Sum', '-String',
        -            '-Strict', '-Stream', '-Step', '-Status', '-Static', '-StartupType', '-Start', '-StackName',
        -            '-Stack', '-SourceId', '-SimpleMatch', '-ShowError', '-Separator', '-SecureString', '-SecureKey',
        -            '-SecondValue', '-SecondsRemaining', '-Seconds', '-Second', '-Scope', '-Root', '-Role',
        -            '-Resolve', '-RemoveListener', '-RemoveFileListener', '-Registered', '-ReferenceObject',
        -            '-Recurse', '-RecommendedAction', '-ReadCount', '-Quiet', '-Query', '-Qualifier', '-PSSnapin',
        -            '-PSProvider', '-PSHost', '-PSDrive', '-PropertyType', '-Property', '-Prompt', '-Process',
        -            '-PrependPath', '-PercentComplete', '-Pattern', '-PathType', '-Path', '-PassThru', '-ParentId',
        -            '-Parent', '-Parameter', '-Paging', '-OutVariable', '-OutBuffer', '-Option', '-OnType', '-Off',
        -            '-Object', '-Noun', '-NoTypeInformation', '-NoQualifier', '-NoNewline', '-NoElement',
        -            '-NoClobber', '-NewName', '-Newest', '-Namespace', '-Name', '-Month', '-Minutes', '-Minute',
        -            '-Minimum', '-Milliseconds', '-Message', '-MemberType', '-Maximum', '-LogName', '-LiteralPath',
        -            '-LiteralName', '-ListenerOption', '-List', '-Line', '-Leaf', '-Last', '-Key', '-ItemType',
        -            '-IsValid', '-IsAbsolute', '-InputObject', '-IncludeEqual', '-IncludeChain', '-Include',
        -            '-IgnoreWhiteSpace', '-Id', '-Hours', '-Hour', '-HideTableHeaders', '-Head', '-GroupBy',
        -            '-Functionality', '-Full', '-Format', '-ForegroundColor', '-Force', '-First', '-FilterScript',
        -            '-Filter', '-FilePath', '-Expression', '-ExpandProperty', '-Expand', '-ExecutionPolicy',
        -            '-ExcludeProperty', '-ExcludeDifferent', '-Exclude', '-Exception', '-Examples', '-ErrorVariable',
        -            '-ErrorRecord', '-ErrorId', '-ErrorAction', '-End', '-Encoding', '-DisplayName', '-DisplayHint',
        -            '-DisplayError', '-DifferenceObject', '-Detailed', '-Destination', '-Description', '-Descending',
        -            '-Depth', '-DependsOn', '-Delimiter', '-Debugger', '-Debug', '-Days', '-Day', '-Date',
        -            '-CurrentOperation', '-Culture', '-Credential', '-Count', '-Container', '-Confirm',
        -            '-ComputerName', '-Component', '-Completed', '-ComObject', '-CommandType', '-Command',
        -            '-Column', '-Class', '-ChildPath', '-Character', '-Certificate', '-CategoryTargetType',
        -            '-CategoryTargetName', '-CategoryReason', '-CategoryActivity', '-Category', '-CaseSensitive',
        -            '-Body', '-BinaryPathName', '-Begin', '-BackgroundColor', '-Average', '-AutoSize', '-Audit',
        -            '-AsString', '-AsSecureString', '-AsPlainText', '-As', '-ArgumentList', '-AppendPath', '-Append',
        -            '-Adjust', '-Activity', '-AclObject'
        -            ),
        -        6 => array(
        -            '_','args','DebugPreference','Error','ErrorActionPreference',
        -            'foreach','Home','Host','Input','LASTEXITCODE','MaximumAliasCount',
        -            'MaximumDriveCount','MaximumFunctionCount','MaximumHistoryCount',
        -            'MaximumVariableCount','OFS','PsHome',
        -            'ReportErrorShowExceptionClass','ReportErrorShowInnerException',
        -            'ReportErrorShowSource','ReportErrorShowStackTrace',
        -            'ShouldProcessPreference','ShouldProcessReturnPreference',
        -            'StackTrace','VerbosePreference','WarningPreference','PWD'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '=', '<', '>', '@', '|', '&', ',', '?',
        -        '+=', '-=', '*=', '/=', '%=', '*', '/', '%', '!', '+', '-', '++', '--'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #008080; font-weight: bold;',
        -            2 => 'color: #008080; font-weight: bold;',
        -            3 => 'color: #0000FF;',
        -            4 => 'color: #FF0000;',
        -            5 => 'color: #008080; font-style: italic;',
        -            6 => 'color: #000080;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000;',
        -            'MULTI' => 'color: #008000;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #008080; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #800000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #804000;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: pink;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: pink;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #800080;',
        -            3 => 'color: #008080;',
        -            4 => 'color: #008080;',
        -            5 => 'color: #800000;',
        -            6 => 'color: #000080;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => 'about:blank',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        // special after pipe
        -        3 => array(
        -            GESHI_SEARCH => '(\[)(int|long|string|char|bool|byte|double|decimal|float|single|regex|array|xml|scriptblock|switch|hashtable|type|ref|psobject|wmi|wmisearcher|wmiclass|object)((\[.*\])?\])',
        -            GESHI_REPLACE => '\2',
        -            GESHI_MODIFIERS => 'si',
        -            GESHI_BEFORE => '\1',
        -            GESHI_AFTER => '\3'
        -            ),
        -        // Classes
        -        4 => array(
        -            GESHI_SEARCH => '(\[)(System\.Reflection\.Assembly|System\.Net\.CredentialCache|Microsoft\.SharePoint\.SPFileLevel|Microsoft\.SharePoint\.Publishing\.PublishingWeb|Microsoft\.SharePoint\.Publishing|Microsoft\.SharePoint\.SPWeb)(\])',
        -            GESHI_REPLACE => '\2',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '\1',
        -            GESHI_AFTER => '\3'
        -            ),
        -        // Members
        -        // There's about a hundred million of these, add the ones you need as you need them
        -        5 => array (
        -            GESHI_SEARCH => '(::)(ReflectionOnlyLoadFrom|ReflectionOnlyLoad|ReferenceEquals|LoadWithPartialName|LoadFrom|LoadFile|Load|GetExecutingAssembly|GetEntryAssembly|GetCallingAssembly|GetAssembly|Equals|DefaultNetworkCredentials|DefaultCredentials|CreateQualifiedName|Checkout|Draft|Published|IsPublishingWeb)',
        -            GESHI_REPLACE => '\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\1',
        -            GESHI_AFTER => ''
        -            ),
        -        // Special variables
        -        6 => array(
        -            GESHI_SEARCH => '(\$)(\$[_\^]?|\?)(?!\w)',
        -            GESHI_REPLACE => '\1\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        // variables
        -        //BenBE: Please note that changes here and in Keyword group 6 have to be synchronized in order to work properly.
        -        //This Regexp must only match, if keyword group 6 doesn't. If this assumption fails
        -        //Highlighting of the keywords will be incomplete or incorrect!
        -        0 => "(?)[\\\$](\w+)(?=[^|\w])",
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            4 => array(
        -                'DISALLOWED_AFTER' => '(?![a-zA-Z])',
        -                'DISALLOWED_BEFORE' => ''
        -                ),
        -            6 => array(
        -                'DISALLOWED_BEFORE' => '(?)\$'
        -                )
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/proftpd.php b/vendor/easybook/geshi/geshi/proftpd.php
        deleted file mode 100644
        index bd00fef..0000000
        --- a/vendor/easybook/geshi/geshi/proftpd.php
        +++ /dev/null
        @@ -1,373 +0,0 @@
        - 'ProFTPd configuration',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        /*keywords*/
        -        1 => array(
        -            //mod_auth
        -            'AccessDenyMsg', 'AccessGrantMsg', 'AnonRejectePasswords',
        -            'AnonRequirePassword', 'AuthAliasOnly', 'AuthUsingAlias',
        -            'CreateHome', 'DefaultChdir', 'DefaultRoot', 'GroupPassword',
        -            'LoginPasswordPrompt', 'MaxClients', 'MaxClientsPerClass',
        -            'MaxClientsPerHost', 'MaxClientsPerUser', 'MaxConnectionsPerHost',
        -            'MaxHostsPerUser', 'MaxLoginAttempts', 'RequireValidShell',
        -            'RootLogin', 'RootRevoke', 'TimeoutLogin', 'TimeoutSession',
        -            'UseFtpUsers', 'UserAlias', 'UserDirRoot', 'UserPassword',
        -
        -            //mod_auth_file
        -            'AuthGroupFile', 'AuthUserFile',
        -
        -            //mod_auth_pam
        -            'AuthPAM', 'AuthPAMConfig',
        -
        -            //mod_auth_unix
        -            'PersistentPasswd',
        -
        -            //mod_ban
        -            'BanControlsACLs', 'BanEngine', 'BanLog', 'BanMessage', 'BanOnEvent',
        -            'BanTable',
        -
        -            //mod_cap
        -            'CapabilitiesEngine', 'CapabilitiesSet',
        -
        -            //mod_core
        -            'Allow', 'AllowAll', 'AllowClass', 'AllowFilter',
        -            'AllowForeignAddress', 'AllowGroup', 'AllowOverride',
        -            'AllowRetrieveRestart', 'AllowStoreRestart', 'AllowUser',
        -            'AnonymousGroup', 'AuthOrder', 'Bind', 'CDPath', 'Class', 'Classes',
        -            'CommandBufferSize', 'DebugLevel', 'DefaultAddress',
        -            'DefaultServer', 'DefaultTransferMode', 'DeferWelcome', 'Define',
        -            'Deny', 'DenyAll', 'DenyClass', 'DenyFilter', 'DenyGroup',
        -            'DenyUser', 'DisplayChdir', 'DisplayConnect', 'DisplayFirstChdir',
        -            'DisplayGoAway', 'DisplayLogin', 'DisplayQuit', 'From', 'Group',
        -            'GroupOwner', 'HideFiles', 'HideGroup', 'HideNoAccess', 'HideUser',
        -            'IdentLookups', 'IgnoreHidden', 'Include', 'MasqueradeAddress',
        -            'MaxConnectionRate', 'MaxInstances', 'MultilineRFC2228', 'Order',
        -            'PassivePorts', 'PathAllowFilter', 'PathDenyFilter', 'PidFile',
        -            'Port', 'RLimitCPU', 'RLimitMemory', 'RLimitOpenFiles', 'Satisfy',
        -            'ScoreboardFile', 'ServerAdmin', 'ServerIdent', 'ServerName',
        -            'ServerType', 'SetEnv', 'SocketBindTight', 'SocketOptions',
        -            'SyslogFacility', 'SyslogLevel', 'tcpBackLog', 'tcpNoDelay',
        -            'TimeoutIdle', 'TimeoutLinger', 'TimesGMT', 'TransferLog', 'Umask',
        -            'UnsetEnv', 'UseIPv6', 'User', 'UseReverseDNS', 'UserOwner',
        -            'UseUTF8', 'WtmpLog',
        -
        -            //mod_ctrls_admin
        -            'AdminControlsACLs', 'AdminControlsEngine',
        -
        -            //mod_delay
        -            'DelayEngine', 'DelayTable',
        -
        -            //mod_dynmasq
        -            'DynMasqRefresh',
        -
        -            //mod_exec
        -            'ExecBeforeCommand', 'ExecEngine', 'ExecEnviron', 'ExecLog',
        -            'ExecOnCommand', 'ExecOnConnect', 'ExecOnError', 'ExecOnEvent',
        -            'ExecOnExit', 'ExecOnRestart', 'ExecOptions', 'ExecTimeout',
        -
        -            //mod_ldap
        -            'LDAPAliasDereference', 'LDAPAttr', 'LDAPAuthBinds',
        -            'LDAPDefaultAuthScheme', 'LDAPDefaultGID', 'LDAPDefaultUID',
        -            'LDAPDNInfo', 'LDAPDoAuth', 'LDAPDoGIDLookups',
        -            'LDAPDoQuotaLookups', 'LDAPDoUIDLookups',
        -            'LDAPForceGeneratedHomedir', 'LDAPForceHomedirOnDemand',
        -            'LDAPGenerateHomedir', 'LDAPGenerateHomedirPrefix',
        -            'LDAPGenerateHomedirPrefixNoUsername', 'LDAPHomedirOnDemand',
        -            'LDAPHomedirOnDemandPrefix', 'LDAPHomedirOnDemandPrefixNoUsername',
        -            'LDAPHomedirOnDemandSuffix', 'LDAPNegativeCache',
        -            'LDAPProtocolVersion', 'LDAPQueryTimeout', 'LDAPSearchScope',
        -            'LDAPServer',
        -
        -            //mod_load
        -            'MaxLoad',
        -
        -            //mod_log
        -            'AllowLogSymlinks', 'ExtendedLog', 'LogFormat', 'ServerLog',
        -            'SystemLog',
        -
        -            //mod_ls'
        -            'DirFakeGroup', 'DirFakeMode', 'DirFakeUser', 'ListOptions',
        -            'ShowSymlinks', 'UseGlobbing',
        -
        -            //mod_quotatab
        -            'QuotaDirectoryTally', 'QuotaDisplayUnits', 'QuotaEngine',
        -            'QuotaExcludeFilter', 'QuotaLimitTable', 'QuotaLock', 'QuotaLog',
        -            'QuotaOptions', 'QuotaShowQuotas', 'QuotaTallyTable',
        -
        -            //mod_quotatab_file
        -
        -            //mod_quotatab_ldap
        -
        -            //mod_quotatab_sql
        -
        -            //mod_radius
        -            'RadiusAcctServer', 'RadiusAuthServer', 'RadiusEngine',
        -            'RadiusGroupInfo', 'RadiusLog', 'RadiusNASIdentifier',
        -            'RadiusQuotaInfo', 'RadiusRealm', 'RadiusUserInfo', 'RadiusVendor',
        -
        -            //mod_ratio
        -            'AnonRatio', 'ByteRatioErrMsg', 'CwdRatioMsg', 'FileRatioErrMsg',
        -            'GroupRatio', 'HostRatio', 'LeechRatioMsg', 'RatioFile', 'Ratios',
        -            'RatioTempFile', 'SaveRatios', 'UserRatio',
        -
        -            //mod_readme
        -            'DisplayReadme',
        -
        -            //mod_rewrite
        -            'RewriteCondition', 'RewriteEngine', 'RewriteLock', 'RewriteLog',
        -            'RewriteMap', 'RewriteRule',
        -
        -            //mod_sftp
        -            'SFTPAcceptEnv', 'SFTPAuthMethods', 'SFTPAuthorizedHostKeys',
        -            'SFTPAuthorizedUserKeys', 'SFTPCiphers', 'SFTPClientMatch',
        -            'SFTPCompression', 'SFTPCryptoDevice', 'SFTPDHParamFile',
        -            'SFTPDigests', 'SFTPDisplayBanner', 'SFTPEngine', 'SFTPExtensions',
        -            'SFTPHostKey', 'SFTPKeyBlacklist', 'SFTPKeyExchanges', 'SFTPLog',
        -            'SFTPMaxChannels', 'SFTPOptions', 'SFTPPassPhraseProvider',
        -            'SFTPRekey', 'SFTPTrafficPolicy',
        -
        -            //mod_sftp_pam
        -            'SFTPPAMEngine', 'SFTPPAMOptions', 'SFTPPAMServiceName',
        -
        -            //mod_sftp_sql
        -
        -            //mod_shaper
        -            'ShaperAll', 'ShaperControlsACLs', 'ShaperEngine', 'ShaperLog',
        -            'ShaperSession', 'ShaperTable',
        -
        -            //mod_sql
        -            'SQLAuthenticate', 'SQLAuthTypes', 'SQLBackend', 'SQLConnectInfo',
        -            'SQLDefaultGID', 'SQLDefaultHomedir', 'SQLDefaultUID', 'SQLEngine',
        -            'SQLGroupInfo', 'SQLGroupWhereClause', 'SQLHomedirOnDemand',
        -            'SQLLog', 'SQLLogFile', 'SQLMinID', 'SQLMinUserGID',
        -            'SQLMinUserUID', 'SQLNamedQuery', 'SQLNegativeCache', 'SQLOptions',
        -            'SQLRatios', 'SQLRatioStats', 'SQLShowInfo', 'SQLUserInfo',
        -            'SQLUserWhereClause',
        -
        -            //mod_sql_passwd
        -            'SQLPasswordEncoding', 'SQLPasswordEngine', 'SQLPasswordSaltFile',
        -            'SQLPasswordUserSalt',
        -
        -            //mod_tls
        -            'TLSCACertificateFile', 'TLSCACertificatePath',
        -            'TLSCARevocationFile', 'TLSCARevocationPath',
        -            'TLSCertificateChainFile', 'TLSCipherSuite', 'TLSControlsACLs',
        -            'TLSCryptoDevice', 'TLSDHParamFile', 'TLSDSACertificateFile',
        -            'TLSDSACertificateKeyFile', 'TLSEngine', 'TLSLog', 'TLSOptions',
        -            'TLSPKCS12File', 'TLSPassPhraseProvider', 'TLSProtocol',
        -            'TLSRandomSeed', 'TLSRenegotiate', 'TLSRequired',
        -            'TLSRSACertificateFile', 'TLSRSACertificateKeyFile',
        -            'TLSSessionCache', 'TLSTimeoutHandshake', 'TLSVerifyClient',
        -            'TLSVerifyDepth', 'TLSVerifyOrder',
        -
        -            //mod_tls_shmcache
        -
        -            //mod_unique_id
        -            'UniqueIDEngine',
        -
        -            //mod_wrap
        -            'TCPAccessFiles', 'TCPAccessSyslogLevels', 'TCPGroupAccessFiles',
        -            'TCPServiceName', 'TCPUserAccessFiles',
        -
        -            //mod_wrap2
        -            'WrapAllowMsg', 'WrapDenyMsg', 'WrapEngine', 'WrapGroupTables',
        -            'WrapLog', 'WrapServiceName', 'WrapTables', 'WrapUserTables',
        -
        -            //mod_wrap2_file
        -
        -            //mod_wrap2_sql
        -
        -            //mod_xfer
        -            'AllowOverwrite', 'DeleteAbortedStores', 'DisplayFileTransfer',
        -            'HiddenStor', 'HiddenStores', 'MaxRetrieveFileSize',
        -            'MaxStoreFileSize', 'StoreUniquePrefix', 'TimeoutNoTransfer',
        -            'TimeoutStalled', 'TransferRate', 'UseSendfile',
        -
        -            //unknown
        -            'ScoreboardPath', 'ScoreboardScrub'
        -            ),
        -        /*keywords 3*/
        -        3 => array(
        -            //mod_core
        -            'Anonymous',
        -            'Class',
        -            'Directory',
        -            'IfDefine',
        -            'IfModule',
        -            'Limit',
        -            'VirtualHost',
        -
        -            //mod_ifsession
        -            'IfClass', 'IfGroup', 'IfUser',
        -
        -            //mod_version
        -            'IfVersion'
        -            ),
        -        /*permissions*/
        -        4 => array(
        -            //mod_core
        -            'ALL',
        -            'CDUP',
        -            'CMD',
        -            'CWD',
        -            'DELE',
        -            'DIRS',
        -            'LOGIN',
        -            'MKD',
        -            'READ',
        -            'RETR',
        -            'RMD',
        -            'RNFR',
        -            'RNTO',
        -            'STOR',
        -            'WRITE',
        -            'XCWD',
        -            'XMKD',
        -            'XRMD',
        -
        -            //mod_copy
        -            'SITE_CPFR', 'SITE_CPTO',
        -
        -            //mod_quotatab
        -            'SITE_QUOTA',
        -
        -            //mod_site
        -            'SITE_HELP', 'SITE_CHMOD', 'SITE_CHGRP',
        -
        -            //mod_site_misc
        -            'SITE_MKDIR', 'SITE_RMDIR', 'SITE_SYMLINK', 'SITE_UTIME',
        -            ),
        -        /*keywords 2*/
        -        2 => array(
        -            'all','on','off','yes','no',
        -            'standalone', 'inetd',
        -            'default', 'auth', 'write',
        -            'internet', 'local', 'limit', 'ip',
        -            'from'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '+', '-'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #00007f;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #000000; font-weight:bold;',
        -            4 => 'color: #000080; font-weight:bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #adadad; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #7f007f;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://www.google.com/search?hl=en&q={FNAMEL}+site:www.proftpd.org+inurl:docs&btnI=I%27m%20Feeling%20Lucky',
        -        2 => '',
        -        3 => 'http://www.google.com/search?hl=en&q={FNAMEL}+site:www.proftpd.org+inurl:docs&btnI=I%27m%20Feeling%20Lucky',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER,
        -            'SYMBOLS' => GESHI_NEVER
        -        ),
        -        'KEYWORDS' => array(
        -            2 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\s)(? '(?!\+)(?!\w)',
        -            ),
        -            3 => array(
        -                'DISALLOWED_BEFORE' => '(?<=<|<\/)',
        -                'DISALLOWED_AFTER' => '(?=\s|\/|>)',
        -            ),
        -            4 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\s)(? '(?!\+)(?=\/|(?:\s+\w+)*\s*>)',
        -            )
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/progress.php b/vendor/easybook/geshi/geshi/progress.php
        deleted file mode 100644
        index 50a8a6d..0000000
        --- a/vendor/easybook/geshi/geshi/progress.php
        +++ /dev/null
        @@ -1,484 +0,0 @@
        - 'Progress',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array (
        -        1 => array(
        -            'ACCUMULATE','APPLY','ASSIGN','BELL','QUERY',
        -            'BUFFER-COMPARE','BUFFER-COPY','CALL','CASE',
        -            'CHOOSE','CLASS','CLOSE QUERY','each','WHERE',
        -            'CLOSE STORED-PROCEDURE','COLOR','COMPILE','CONNECT',
        -            'CONSTRUCTOR','COPY-LOB','CREATE','CREATE ALIAS',
        -            'CREATE BROWSE','CREATE BUFFER','CREATE CALL','CREATE CLIENT-PRINCIPAL',
        -            'CREATE DATABASE','CREATE DATASET','CREATE DATA-SOURCE','CREATE QUERY',
        -            'CREATE SAX-attributeS','CREATE SAX-READER','CREATE SAX-WRITER','CREATE SERVER',
        -            'CREATE SERVER-SOCKET','CREATE SOAP-HEADER','CREATE SOAP-HEADER-ENTRYREF','CREATE SOCKET',
        -            'CREATE TEMP-TABLE','CREATE WIDGET','CREATE widget-POOL','CREATE X-DOCUMENT',
        -            'CREATE X-NODEREF','CURRENT-LANGUAGE','CURRENT-VALUE','DDE ADVISE',
        -            'DDE EXECUTE','DDE GET','DDE INITIATE','DDE REQUEST',
        -            'DDE SEND','DDE TERMINATE','DEFINE BROWSE','DEFINE BUFFER','DEFINE',
        -            'DEFINE BUTTON','DEFINE DATASET','DEFINE DATA-SOURCE','DEFINE FRAME','DEF','VAR',
        -            'DEFINE IMAGE','DEFINE MENU','DEFINE PARAMETER','DEFINE property','PARAM',
        -            'DEFINE QUERY','DEFINE RECTANGLE','DEFINE STREAM','DEFINE SUB-MENU',
        -            'DEFINE TEMP-TABLE','DEFINE WORKFILE','DEFINE WORK-TABLE',
        -            'DELETE','DELETE ALIAS','DELETE object','DELETE PROCEDURE',
        -            'DELETE widget','DELETE widget-POOL','DESTRUCTOR','DICTIONARY',
        -            'DISABLE','DISABLE TRIGGERS','DISCONNECT','DISPLAY',
        -            'DO','DOS','DOWN','DYNAMIC-CURRENT-VALUE',
        -            'ELSE','EMPTY TEMP-TABLE','ENABLE','END',
        -            'ENTRY','FIND','AND',
        -            'FIX-CODEPAGE','FOR','FORM','FRAME-VALUE',
        -            'GET','GET-KEY-VALUE','HIDE','IF',
        -            'IMPORT','INPUT CLEAR','INPUT CLOSE','INPUT FROM','input',
        -            'INPUT THROUGH','INPUT-OUTPUT CLOSE','INPUT-OUTPUT THROUGH',
        -            'INTERFACE','LEAVE','BREAK',
        -            'LOAD-PICTURE','MESSAGE','method','NEXT','prev',
        -            'NEXT-PROMPT','ON','OPEN QUERY','OS-APPEND',
        -            'OS-COMMAND','OS-COPY','OS-CREATE-DIR','OS-DELETE',
        -            'OS-RENAME','OUTPUT CLOSE','OUTPUT THROUGH','OUTPUT TO',
        -            'OVERLAY','PAGE','PAUSE','PROCEDURE',
        -            'PROCESS EVENTS','PROMPT-FOR','PROMSGS','PROPATH',
        -            'PUBLISH','PUT','PUT CURSOR','PUT SCREEN',
        -            'PUT-BITS','PUT-BYTE','PUT-BYTES','PUT-DOUBLE',
        -            'PUT-FLOAT','PUT-INT64','PUT-KEY-VALUE','PUT-LONG',
        -            'PUT-SHORT','PUT-STRING','PUT-UNSIGNED-LONG','PUT-UNSIGNED-SHORT',
        -            'QUIT','RAW-TRANSFER','READKEY','RELEASE',
        -            'RELEASE EXTERNAL','RELEASE object','REPEAT','REPOSITION',
        -            'RUN','RUN STORED-PROCEDURE','RUN SUPER',
        -            'SAVE CACHE','SCROLL','SEEK','SET',
        -            'SET-BYTE-ORDER','SET-POINTER-VALUE','SET-SIZE','SHOW-STATS',
        -            'STATUS','STOP','SUBSCRIBE','SUBSTRING',
        -            'system-DIALOG COLOR','system-DIALOG FONT','system-DIALOG GET-DIR','system-DIALOG GET-FILE',
        -            'system-DIALOG PRINTER-SETUP','system-HELP','THEN','THIS-object',
        -            'TRANSACTION-MODE AUTOMATIC','TRIGGER PROCEDURE','UNDERLINE','UNDO',
        -            'UNIX','UNLOAD','UNSUBSCRIBE','UP','STRING',
        -            'UPDATE','USE','USING','substr','SKIP','CLOSE',
        -            'VIEW','WAIT-FOR','MODULO','NE','AVAIL',
        -            'NOT','OR','&GLOBAL-DEFINE','&IF','UNFORMATTED','NO-PAUSE',
        -            '&THEN','&ELSEIF','&ELSE','&ENDIF','OPEN','NO-WAIT',
        -            '&MESSAGE','&SCOPED-DEFINE','&UNDEFINE','DEFINED',
        -            'BROWSE','BUTTON','COMBO-BOX','CONTROL-FRAME',
        -            'DIALOG-BOX','EDITOR','FIELD-GROUP','FILL-IN',
        -            'FRAME','IMAGE','LITERAL','MENU',
        -            'MENU-ITEM','RADIO-SET','RECTANGLE','SELECTION-LIST',
        -            'SLIDER','SUB-MENU','TEXT','TOGGLE-BOX',
        -            'WINDOW','WITH','AT','OF','EDITING','ON ENDKEY','output',
        -            'ON ERROR','ON QUIT','ON STOP','PRESELECT',
        -            'QUERY-TUNING','SIZE','Trigger','VIEW-AS','ALERT-BOX',
        -            'Buffer','Data-relation','ProDataSet','SAX-attributes',
        -            'SAX-reader','SAX-writer','Server socket','SOAP-fault',
        -            'SOAP-header','SOAP-header-entryref','Socket','Temp-table',
        -            'X-noderef','Height','Left','Top','TO',
        -            'Width','ACTIVE-WINDOW','AUDIT-CONTROL','FIRST','LAST',
        -            'AUDIT-POLICY','CLIPBOARD','CODEBASE-LOCATOR','COLOR-TABLE',
        -            'COMPILER','COM-SELF','DEBUGGER','DEFAULT-WINDOW',
        -            'ERROR-STATUS','FILE-INFO','FOCUS','FONT-TABLE',
        -            'LAST-EVENT','LOG-MANAGER','RCODE-INFO','SECURITY-POLICY',
        -            'SELF','SESSION','SOURCE-PROCEDURE','TARGET-PROCEDURE','NO-LOCK','NO-error',
        -            'THIS-PROCEDURE','WEB-CONTEXT','FUNCTION','RETURNS','NO-UNDO'
        -            ),
        -        2 => array(
        -            'ACCEPT-CHANGES','ACCEPT-ROW-CHANGES','ADD-BUFFER','ADD-CALC-COLUMN',
        -            'ADD-COLUMNS-FROM','ADD-EVENTS-PROCEDURE','ADD-FIELDS-FROM','ADD-FIRST',
        -            'ADD-HEADER-ENTRY','ADD-INDEX-FIELD','ADD-LAST','ADD-LIKE-COLUMN',
        -            'ADD-LIKE-FIELD','ADD-LIKE-INDEX','ADD-NEW-FIELD','ADD-NEW-INDEX',
        -            'ADD-RELATION','ADD-SCHEMA-LOCATION','ADD-SOURCE-BUFFER','ADD-SUPER-PROCEDURE',
        -            'APPEND-CHILD','APPLY-CALLBACK','ATTACH-DATA-SOURCE','AUTHENTICATION-FAILED',
        -            'BEGIN-EVENT-GROUP','BUFFER-CREATE',
        -            'BUFFER-DELETE','BUFFER-RELEASE','BUFFER-VALIDATE',
        -            'CANCEL-BREAK','CANCEL-REQUESTS','CLEAR','CLEAR-APPL-CONTEXT',
        -            'CLEAR-LOG','CLEAR-SELECTION','CLEAR-SORT-ARROWS','CLONE-NODE',
        -            'CLOSE-LOG','CONNECTED','CONVERT-TO-OFFSET',
        -            'COPY-DATASET','COPY-SAX-attributeS','COPY-TEMP-TABLE','CREATE-LIKE',
        -            'CREATE-NODE','CREATE-NODE-NAMESPACE','CREATE-RESULT-LIST-ENTRY','DEBUG',
        -            'DECLARE-NAMESPACE','DELETE-CHAR','DELETE-CURRENT-ROW',
        -            'DELETE-HEADER-ENTRY','DELETE-LINE','DELETE-NODE','DELETE-RESULT-LIST-ENTRY',
        -            'DELETE-SELECTED-ROW','DELETE-SELECTED-ROWS','DESELECT-FOCUSED-ROW','DESELECT-ROWS',
        -            'DESELECT-SELECTED-ROW','DETACH-DATA-SOURCE','DISABLE-CONNECTIONS',
        -            'DISABLE-DUMP-TRIGGERS','DISABLE-LOAD-TRIGGERS','DISPLAY-MESSAGE',
        -            'DUMP-LOGGING-NOW','EDIT-CLEAR','EDIT-COPY','EDIT-CUT',
        -            'EDIT-PASTE','EDIT-UNDO','EMPTY-DATASET','EMPTY-TEMP-TABLE',
        -            'ENABLE-CONNECTIONS','ENABLE-EVENTS','ENCRYPT-AUDIT-MAC-KEY',
        -            'END-DOCUMENT','END-ELEMENT','END-EVENT-GROUP','END-FILE-DROP',
        -            'EXPORT','EXPORT-PRINCIPAL','FETCH-SELECTED-ROW',
        -            'FILL','FIND-BY-ROWID','FIND-CURRENT','FIND-FIRST',
        -            'FIND-LAST','FIND-UNIQUE','GET-attribute','GET-attribute-NODE',
        -            'GET-BINARY-DATA','GET-BLUE-VALUE','GET-BROWSE-COLUMN','GET-BUFFER-HANDLE',
        -            'GET-BYTES-AVAILABLE','GET-CALLBACK-PROC-CONTEXT','GET-CALLBACK-PROC-NAME','GET-CGI-LIST',
        -            'GET-CGI-LONG-VALUE','GET-CGI-VALUE','GET-CHANGES','GET-CHILD',
        -            'GET-CHILD-RELATION','GET-CONFIG-VALUE','GET-CURRENT','GET-DATASET-BUFFER',
        -            'GET-DOCUMENT-ELEMENT','GET-DROPPED-FILE','GET-DYNAMIC','GET-ERROR-COLUMN ',
        -            'GET-ERROR-ROW ','GET-FILE-NAME ','GET-FILE-OFFSET ','GET-FIRST',
        -            'GET-GREEN-VALUE','GET-HEADER-ENTRY','GET-INDEX-BY-NAMESPACE-NAME','GET-INDEX-BY-QNAME',
        -            'GET-ITERATION','GET-LAST','GET-LOCALNAME-BY-INDEX','GET-MESSAGE',
        -            'GET-NEXT','GET-NODE','GET-NUMBER','GET-PARENT',
        -            'GET-PREV','GET-PRINTERS','GET-property','GET-QNAME-BY-INDEX',
        -            'GET-RED-VALUE','GET-RELATION','GET-REPOSITIONED-ROW','GET-RGB-VALUE',
        -            'GET-SELECTED-widget','GET-SERIALIZED','GET-SIGNATURE','GET-SOCKET-OPTION',
        -            'GET-SOURCE-BUFFER','GET-TAB-ITEM','GET-TEXT-HEIGHT-CHARS','GET-TEXT-HEIGHT-PIXELS',
        -            'GET-TEXT-WIDTH-CHARS','GET-TEXT-WIDTH-PIXELS','GET-TOP-BUFFER','GET-TYPE-BY-INDEX',
        -            'GET-TYPE-BY-NAMESPACE-NAME','GET-TYPE-BY-QNAME','GET-URI-BY-INDEX','GET-VALUE-BY-INDEX',
        -            'GET-VALUE-BY-NAMESPACE-NAME','GET-VALUE-BY-QNAME','GET-WAIT-STATE','IMPORT-NODE',
        -            'IMPORT-PRINCIPAL','INCREMENT-EXCLUSIVE-ID','INITIALIZE-DOCUMENT-TYPE',
        -            'INITIATE','INSERT','INSERT-attribute','INSERT-BACKTAB',
        -            'INSERT-BEFORE','INSERT-FILE','INSERT-ROW','INSERT-STRING',
        -            'INSERT-TAB','INVOKE','IS-ROW-SELECTED','IS-SELECTED',
        -            'LIST-property-NAMES','LOAD','LoadControls','LOAD-DOMAINS',
        -            'LOAD-ICON','LOAD-IMAGE','LOAD-IMAGE-DOWN','LOAD-IMAGE-INSENSITIVE',
        -            'LOAD-IMAGE-UP','LOAD-MOUSE-POINTER','LOAD-SMALL-ICON','LOCK-REGISTRATION',
        -            'LOG-AUDIT-EVENT','LOGOUT','LONGCHAR-TO-NODE-VALUE','LOOKUP',
        -            'MEMPTR-TO-NODE-VALUE','MERGE-CHANGES','MERGE-ROW-CHANGES','MOVE-AFTER-TAB-ITEM',
        -            'MOVE-BEFORE-TAB-ITEM','MOVE-COLUMN','MOVE-TO-BOTTOM','MOVE-TO-EOF',
        -            'MOVE-TO-TOP','NODE-VALUE-TO-LONGCHAR','NODE-VALUE-TO-MEMPTR','NORMALIZE',
        -            'QUERY-CLOSE','QUERY-OPEN','QUERY-PREPARE',
        -            'READ','READ-FILE','READ-XML','READ-XMLSCHEMA',
        -            'REFRESH','REFRESH-AUDIT-POLICY','REGISTER-DOMAIN','REJECT-CHANGES',
        -            'REJECT-ROW-CHANGES','REMOVE-attribute','REMOVE-CHILD','REMOVE-EVENTS-PROCEDURE',
        -            'REMOVE-SUPER-PROCEDURE','REPLACE','REPLACE-CHILD','REPLACE-SELECTION-TEXT',
        -            'REPOSITION-BACKWARD','REPOSITION-FORWARD','REPOSITION-TO-ROW','REPOSITION-TO-ROWID',
        -            'RESET','SAVE','SAVE-FILE','SAVE-ROW-CHANGES',
        -            'SAX-PARSE','SAX-PARSE-FIRST','SAX-PARSE-NEXT','SCROLL-TO-CURRENT-ROW',
        -            'SCROLL-TO-ITEM','SCROLL-TO-SELECTED-ROW','SEAL','SEARCH',
        -            'SELECT-ALL','SELECT-FOCUSED-ROW','SELECT-NEXT-ROW','SELECT-PREV-ROW',
        -            'SELECT-ROW','SET-ACTOR','SET-APPL-CONTEXT','SET-attribute',
        -            'SET-attribute-NODE','SET-BLUE-VALUE','SET-BREAK','SET-BUFFERS',
        -            'SET-CALLBACK','SET-CALLBACK-PROCEDURE','SET-CLIENT','SET-COMMIT',
        -            'SET-CONNECT-PROCEDURE','SET-DYNAMIC','SET-GREEN-VALUE','SET-INPUT-SOURCE',
        -            'SET-MUST-UNDERSTAND','SET-NODE','SET-NUMERIC-FORMAT','SET-OUTPUT-DESTINATION',
        -            'SET-PARAMETER','SET-property','SET-READ-RESPONSE-PROCEDURE','SET-RED-VALUE',
        -            'SET-REPOSITIONED-ROW','SET-RGB-VALUE','SET-ROLLBACK','SET-SELECTION',
        -            'SET-SERIALIZED','SET-SOCKET-OPTION','SET-SORT-ARROW','SET-WAIT-STATE',
        -            'START-DOCUMENT','START-ELEMENT','STOP-PARSING','SYNCHRONIZE',
        -            'TEMP-TABLE-PREPARE','UPDATE-attribute','URL-DECODE','URL-ENCODE',
        -            'VALIDATE','VALIDATE-SEAL','WRITE','WRITE-CDATA','USE-INDEX',
        -            'WRITE-CHARACTERS','WRITE-COMMENT','WRITE-DATA-ELEMENT','WRITE-EMPTY-ELEMENT',
        -            'WRITE-ENTITY-REF','WRITE-EXTERNAL-DTD','WRITE-FRAGMENT','WRITE-MESSAGE',
        -            'WRITE-PROCESSING-INSTRUCTION','WRITE-XML','WRITE-XMLSCHEMA','FALSE','true'
        -            ),
        -        3 => array(
        -            'ABSOLUTE','ACCUM','ADD-INTERVAL','ALIAS','mod',
        -            'AMBIGUOUS','ASC','AUDIT-ENABLED','AVAILABLE',
        -            'BASE64-DECODE','BASE64-ENCODE','CAN-DO','CAN-FIND',
        -            'CAN-QUERY','CAN-SET','CAPS','CAST','OS-DIR',
        -            'CHR','CODEPAGE-CONVERT','COMPARE',
        -            'COUNT-OF','CURRENT-CHANGED','CURRENT-RESULT-ROW','DATASERVERS',
        -            'DATA-SOURCE-MODIFIED','DATETIME','DATETIME-TZ',
        -            'DAY','DBCODEPAGE','DBCOLLATION','DBNAME',
        -            'DBPARAM','DBRESTRICTIONS','DBTASKID','DBTYPE',
        -            'DBVERSION','DECIMAL','DECRYPT','DYNAMIC-function',
        -            'DYNAMIC-NEXT-VALUE','ENCODE','ENCRYPT','ENTERED',
        -            'ERROR','ETIME','EXP','ENDKEY','END-error',
        -            'FIRST-OF','FRAME-DB','FRAME-DOWN',
        -            'FRAME-FIELD','FRAME-FILE','FRAME-INDEX','FRAME-LINE',
        -            'GATEWAYS','GENERATE-PBE-KEY','GENERATE-PBE-SALT','GENERATE-RANDOM-KEY',
        -            'GENERATE-UUID','GET-BITS','GET-BYTE','GET-BYTE-ORDER',
        -            'GET-BYTES','GET-CODEPAGE','GET-CODEPAGES','GET-COLLATION',
        -            'GET-COLLATIONS','GET-DOUBLE','GET-FLOAT','GET-INT64',
        -            'GET-LONG','GET-POINTER-VALUE','GET-SHORT','GET-SIZE',
        -            'GET-STRING','GET-UNSIGNED-LONG','GET-UNSIGNED-SHORT','GO-PENDING',
        -            'GUID','HEX-DECODE','INDEX',
        -            'INT64','INTEGER','INTERVAL','IS-ATTR-SPACE',
        -            'IS-CODEPAGE-FIXED','IS-COLUMN-CODEPAGE','IS-LEAD-BYTE','ISO-DATE',
        -            'KBLABEL','KEYCODE','KEYFUNCTION','KEYLABEL',
        -            'KEYWORD','KEYWORD-ALL','LASTKEY',
        -            'LAST-OF','LC','LDBNAME','LEFT-TRIM',
        -            'LIBRARY','LINE-COUNTER','LIST-EVENTS','LIST-QUERY-ATTRS',
        -            'LIST-SET-ATTRS','LIST-widgetS','LOCKED',
        -            'LOGICAL','MAXIMUM','MD5-DIGEST',
        -            'MEMBER','MESSAGE-LINES','MINIMUM','MONTH',
        -            'MTIME','NEW','NEXT-VALUE','SHARED',
        -            'NOT ENTERED','NOW','NUM-ALIASES','NUM-DBS',
        -            'NUM-ENTRIES','NUM-RESULTS','OPSYS','OS-DRIVES',
        -            'OS-ERROR','OS-GETENV','PAGE-NUMBER','PAGE-SIZE',
        -            'PDBNAME','PROC-HANDLE','PROC-STATUS','PROGRAM-NAME',
        -            'PROGRESS','PROVERSION','QUERY-OFF-END','QUOTER',
        -            'RANDOM','RAW','RECID','REJECTED',
        -            'RETRY','RETURN-VALUE','RGB-VALUE',
        -            'RIGHT-TRIM','R-INDEX','ROUND','ROWID','LENGTH',
        -            'SDBNAME','SET-DB-CLIENT','SETUSERID',
        -            'SHA1-DIGEST','SQRT','SUBSTITUTE','VARIABLE',
        -            'SUPER','TERMINAL','TIME','TIMEZONE','external',
        -            'TODAY','TO-ROWID','TRIM','TRUNCATE','return',
        -            'TYPE-OF','USERID','VALID-EVENT','VALID-HANDLE',
        -            'VALID-object','WEEKDAY','YEAR','BEGINS','VALUE',
        -            'EQ','GE','GT','LE','LT','MATCHES','AS','BY','LIKE'
        -            ),
        -        4 => array(
        -            'ACCELERATOR','ACTIVE','ACTOR','ADM-DATA',
        -            'AFTER-BUFFER','AFTER-ROWID','AFTER-TABLE','ALLOW-COLUMN-SEARCHING',
        -            'ALWAYS-ON-TOP','APPL-ALERT-BOXES','APPL-CONTEXT-ID','APPSERVER-INFO',
        -            'APPSERVER-PASSWORD','APPSERVER-USERID','ASYNCHRONOUS','ASYNC-REQUEST-COUNT',
        -            'ASYNC-REQUEST-HANDLE','ATTACHED-PAIRLIST','attribute-NAMES','ATTR-SPACE',
        -            'AUDIT-EVENT-CONTEXT','AUTO-COMPLETION','AUTO-DELETE','AUTO-DELETE-XML',
        -            'AUTO-END-KEY','AUTO-GO','AUTO-INDENT','AUTO-RESIZE',
        -            'AUTO-RETURN','AUTO-SYNCHRONIZE','AUTO-VALIDATE','AUTO-ZAP',
        -            'AVAILABLE-FORMATS','BACKGROUND','BASE-ADE','BASIC-LOGGING',
        -            'BATCH-MODE','BATCH-SIZE','BEFORE-BUFFER','BEFORE-ROWID',
        -            'BEFORE-TABLE','BGCOLOR','BLANK','BLOCK-ITERATION-DISPLAY',
        -            'BORDER-BOTTOM-CHARS','BORDER-BOTTOM-PIXELS','BORDER-LEFT-CHARS','BORDER-LEFT-PIXELS',
        -            'BORDER-RIGHT-CHARS','BORDER-RIGHT-PIXELS','BORDER-TOP-CHARS','BORDER-TOP-PIXELS',
        -            'BOX','BOX-SELECTABLE','BUFFER-CHARS','BUFFER-FIELD',
        -            'BUFFER-HANDLE','BUFFER-LINES','BUFFER-NAME','BUFFER-VALUE',
        -            'BYTES-READ','BYTES-WRITTEN','CACHE','CALL-NAME',
        -            'CALL-TYPE','CANCEL-BUTTON','CANCELLED','CAN-CREATE',
        -            'CAN-DELETE','CAN-READ','CAN-WRITE','CAREFUL-PAINT',
        -            'CASE-SENSITIVE','CENTERED','CHARSET','CHECKED',
        -            'CHILD-BUFFER','CHILD-NUM','CLASS-TYPE','CLIENT-CONNECTION-ID',
        -            'CLIENT-TTY','CLIENT-TYPE','CLIENT-WORKSTATION','CODE',
        -            'CODEPAGE','COLUMN','COLUMN-BGCOLOR','COLUMN-DCOLOR',
        -            'COLUMN-FGCOLOR','COLUMN-FONT','COLUMN-LABEL','COLUMN-MOVABLE',
        -            'COLUMN-PFCOLOR','COLUMN-READ-ONLY','COLUMN-RESIZABLE','COLUMN-SCROLLING',
        -            'COM-HANDLE','COMPLETE','CONFIG-NAME','CONTEXT-HELP',
        -            'CONTEXT-HELP-FILE','CONTEXT-HELP-ID','CONTROL-BOX','CONVERT-3D-COLORS',
        -            'CPCASE','CPCOLL','CPINTERNAL','CPLOG',
        -            'CPPRINT','CPRCODEIN','CPRCODEOUT','CPSTREAM',
        -            'CPTERM','CRC-VALUE','CURRENT-COLUMN','CURRENT-ENVIRONMENT',
        -            'CURRENT-ITERATION','CURRENT-ROW-MODIFIED','CURRENT-WINDOW','CURSOR-CHAR',
        -            'CURSOR-LINE','CURSOR-OFFSET','DATA-ENTRY-RETURN','DATASET',
        -            'DATA-SOURCE','DATA-SOURCE-COMPLETE-MAP','DATA-TYPE','DATE-FORMAT',
        -            'DB-REFERENCES','DCOLOR','DDE-ERROR','DDE-ID',
        -            'DDE-ITEM','DDE-NAME','DDE-TOPIC','DEBLANK',
        -            'DEBUG-ALERT','DECIMALS','DEFAULT','DEFAULT-BUFFER-HANDLE',
        -            'DEFAULT-BUTTON','DEFAULT-COMMIT','DELIMITER','DISABLE-AUTO-ZAP',
        -            'DISPLAY-TIMEZONE','DISPLAY-TYPE','DOMAIN-DESCRIPTION','DOMAIN-NAME',
        -            'DOMAIN-TYPE','DRAG-ENABLED','DROP-TARGET','DYNAMIC',
        -            'EDGE-CHARS','EDGE-PIXELS','EDIT-CAN-PASTE','EDIT-CAN-UNDO',
        -            'EMPTY','ENCODING','ENCRYPTION-SALT','END-USER-PROMPT',
        -            'ENTRY-TYPES-LIST','ERROR-COLUMN','ERROR-object-DETAIL','ERROR-ROW',
        -            'ERROR-STRING','EVENT-GROUP-ID','EVENT-PROCEDURE','EVENT-PROCEDURE-CONTEXT',
        -            'EVENT-TYPE','EXCLUSIVE-ID','EXECUTION-LOG','EXPAND',
        -            'EXPANDABLE','FGCOLOR','FILE-CREATE-DATE','FILE-CREATE-TIME',
        -            'FILE-MOD-DATE','FILE-MOD-TIME','FILE-NAME','FILE-OFFSET',
        -            'FILE-SIZE','FILE-TYPE','FILLED','FILL-MODE',
        -            'FILL-WHERE-STRING','FIRST-ASYNC-REQUEST','FIRST-BUFFER','FIRST-CHILD',
        -            'FIRST-COLUMN','FIRST-DATASET','FIRST-DATA-SOURCE','FIRST-object',
        -            'FIRST-PROCEDURE','FIRST-QUERY','FIRST-SERVER','FIRST-SERVER-SOCKET',
        -            'FIRST-SOCKET','FIRST-TAB-ITEM','FIT-LAST-COLUMN','FLAT-BUTTON',
        -            'FOCUSED-ROW','FOCUSED-ROW-SELECTED','FONT','FOREGROUND',
        -            'FORMAT','FORMATTED','FORM-INPUT','FORM-LONG-INPUT',
        -            'FORWARD-ONLY','FRAGMENT','FRAME-COL','FRAME-NAME',
        -            'FRAME-ROW','FRAME-SPACING','FRAME-X','FRAME-Y',
        -            'FREQUENCY','FULL-HEIGHT-CHARS','FULL-HEIGHT-PIXELS','FULL-PATHNAME',
        -            'FULL-WIDTH-CHARS','FULL-WIDTH-PIXELS','GRAPHIC-EDGE',
        -            'GRID-FACTOR-HORIZONTAL','GRID-FACTOR-VERTICAL','GRID-SNAP','GRID-UNIT-HEIGHT-CHARS',
        -            'GRID-UNIT-HEIGHT-PIXELS','GRID-UNIT-WIDTH-CHARS','GRID-UNIT-WIDTH-PIXELS','GRID-VISIBLE',
        -            'GROUP-BOX','HANDLE','HANDLER','HAS-LOBS',
        -            'HAS-RECORDS','HEIGHT-CHARS','HEIGHT-PIXELS','HELP',
        -            'HIDDEN','HORIZONTAL','HTML-CHARSET','HTML-END-OF-LINE',
        -            'HTML-END-OF-PAGE','HTML-FRAME-BEGIN','HTML-FRAME-END','HTML-HEADER-BEGIN',
        -            'HTML-HEADER-END','HTML-TITLE-BEGIN','HTML-TITLE-END','HWND',
        -            'ICFPARAMETER','ICON','IGNORE-CURRENT-MODIFIED','IMAGE-DOWN',
        -            'IMAGE-INSENSITIVE','IMAGE-UP','IMMEDIATE-DISPLAY','INDEX-INFORMATION',
        -            'IN-HANDLE','INHERIT-BGCOLOR','INHERIT-FGCOLOR','INITIAL','INIT',
        -            'INNER-CHARS','INNER-LINES','INPUT-VALUE','INSTANTIATING-PROCEDURE',
        -            'INTERNAL-ENTRIES','IS-CLASS','IS-OPEN','IS-PARAMETER-SET',
        -            'IS-XML','ITEMS-PER-ROW','KEEP-CONNECTION-OPEN','KEEP-FRAME-Z-ORDER',
        -            'KEEP-SECURITY-CACHE','KEY','KEYS','LABEL',
        -            'LABEL-BGCOLOR','LABEL-DCOLOR','LABEL-FGCOLOR','LABEL-FONT',
        -            'LABELS','LANGUAGES','LARGE','LARGE-TO-SMALL',
        -            'LAST-ASYNC-REQUEST','LAST-BATCH','LAST-CHILD','LAST-object',
        -            'LAST-PROCEDURE','LAST-SERVER','LAST-SERVER-SOCKET','LAST-SOCKET',
        -            'LAST-TAB-ITEM','LINE','LIST-ITEM-PAIRS','LIST-ITEMS',
        -            'LITERAL-QUESTION','LOCAL-HOST','LOCAL-NAME','LOCAL-PORT',
        -            'LOCATOR-COLUMN-NUMBER','LOCATOR-LINE-NUMBER','LOCATOR-PUBLIC-ID','LOCATOR-system-ID',
        -            'LOCATOR-TYPE','LOG-ENTRY-TYPES','LOGFILE-NAME','LOGGING-LEVEL',
        -            'LOGIN-EXPIRATION-TIMESTAMP','LOGIN-HOST','LOGIN-STATE','LOG-THRESHOLD',
        -            'MANDATORY','MANUAL-HIGHLIGHT','MAX-BUTTON','MAX-CHARS',
        -            'MAX-DATA-GUESS','MAX-HEIGHT-CHARS','MAX-HEIGHT-PIXELS','MAX-VALUE',
        -            'MAX-WIDTH-CHARS','MAX-WIDTH-PIXELS','MD5-VALUE','MENU-BAR',
        -            'MENU-KEY','MENU-MOUSE','MERGE-BY-FIELD','MESSAGE-AREA',
        -            'MESSAGE-AREA-FONT','MIN-BUTTON','MIN-COLUMN-WIDTH-CHARS','MIN-COLUMN-WIDTH-PIXELS',
        -            'MIN-HEIGHT-CHARS','MIN-HEIGHT-PIXELS','MIN-SCHEMA-MARSHAL','MIN-VALUE',
        -            'MIN-WIDTH-CHARS','MIN-WIDTH-PIXELS','MODIFIED','MOUSE-POINTER',
        -            'MOVABLE','MULTI-COMPILE','MULTIPLE','MULTITASKING-INTERVAL',
        -            'MUST-UNDERSTAND','NAME','NAMESPACE-PREFIX','NAMESPACE-URI',
        -            'NEEDS-APPSERVER-PROMPT','NEEDS-PROMPT','NESTED','NEW-ROW',
        -            'NEXT-COLUMN','NEXT-ROWID','NEXT-SIBLING','NEXT-TAB-ITEM', 'NO-BOX',
        -            'NO-CURRENT-VALUE','NODE-VALUE','NO-EMPTY-SPACE','NO-FOCUS',
        -            'NONAMESPACE-SCHEMA-LOCATION','NO-SCHEMA-MARSHAL','NO-VALIDATE','NUM-BUFFERS',
        -            'NUM-BUTTONS','NUM-CHILD-RELATIONS','NUM-CHILDREN','NUM-COLUMNS',
        -            'NUM-DROPPED-FILES','NUMERIC-DECIMAL-POINT','NUMERIC-FORMAT','NUMERIC-SEPARATOR',
        -            'NUM-FIELDS','NUM-FORMATS','NUM-HEADER-ENTRIES','NUM-ITEMS',
        -            'NUM-ITERATIONS','NUM-LINES','NUM-LOCKED-COLUMNS','NUM-LOG-FILES',
        -            'NUM-MESSAGES','NUM-PARAMETERS','NUM-REFERENCES','NUM-RELATIONS',
        -            'NUM-REPLACED','NUM-SELECTED-ROWS','NUM-SELECTED-WIDGETS','NUM-SOURCE-BUFFERS',
        -            'NUM-TABS','NUM-TOP-BUFFERS','NUM-TO-RETAIN','NUM-VISIBLE-COLUMNS',
        -            'ON-FRAME-BORDER','ORIGIN-HANDLE','ORIGIN-ROWID','OWNER',
        -            'OWNER-DOCUMENT','PAGE-BOTTOM','PAGE-TOP','PARAMETER',
        -            'PARENT','PARENT-BUFFER','PARENT-RELATION','PARSE-STATUS',
        -            'PASSWORD-FIELD','PATHNAME','PBE-HASH-ALGORITHM','PBE-KEY-ROUNDS',
        -            'PERSISTENT','PERSISTENT-CACHE-DISABLED','PERSISTENT-PROCEDURE','PFCOLOR',
        -            'PIXELS-PER-COLUMN','PIXELS-PER-ROW','POPUP-MENU','POPUP-ONLY',
        -            'POSITION','PREFER-DATASET','PREPARED','PREPARE-STRING',
        -            'PREV-COLUMN','PREV-SIBLING','PREV-TAB-ITEM','PRIMARY',
        -            'PRINTER-CONTROL-HANDLE','PRINTER-HDC','PRINTER-NAME','PRINTER-PORT',
        -            'PRIVATE-DATA','PROCEDURE-NAME','PROGRESS-SOURCE','PROXY',
        -            'PROXY-PASSWORD','PROXY-USERID','PUBLIC-ID','PUBLISHED-EVENTS',
        -            'RADIO-BUTTONS','READ-ONLY','RECORD-LENGTH',
        -            'REFRESHABLE','RELATION-FIELDS','RELATIONS-ACTIVE','REMOTE',
        -            'REMOTE-HOST','REMOTE-PORT','RESIZABLE','RESIZE',
        -            'RESTART-ROWID','RETAIN-SHAPE','RETURN-INSERTED','RETURN-VALUE-DATA-TYPE',
        -            'ROLES','ROUNDED','COL','ROW','ROW-HEIGHT-CHARS',
        -            'ROW-HEIGHT-PIXELS','ROW-MARKERS','ROW-RESIZABLE','ROW-STATE',
        -            'SAVE-WHERE-STRING','SCHEMA-CHANGE','SCHEMA-LOCATION','SCHEMA-MARSHAL',
        -            'SCHEMA-PATH','SCREEN-LINES','SCREEN-VALUE','SCROLLABLE',
        -            'SCROLLBAR-HORIZONTAL','SCROLL-BARS','SCROLLBAR-VERTICAL','SEAL-TIMESTAMP',
        -            'SELECTABLE','SELECTED','SELECTION-END','SELECTION-START',
        -            'SELECTION-TEXT','SENSITIVE','SEPARATOR-FGCOLOR','SEPARATORS',
        -            'SERVER','SERVER-CONNECTION-BOUND','SERVER-CONNECTION-BOUND-REQUEST','SERVER-CONNECTION-CONTEXT',
        -            'SERVER-CONNECTION-ID','SERVER-OPERATING-MODE','SESSION-END','SESSION-ID',
        -            'SHOW-IN-TASKBAR','SIDE-LABEL-HANDLE','SIDE-LABELS','SKIP-DELETED-RECORD',
        -            'SMALL-ICON','SMALL-TITLE','SOAP-FAULT-ACTOR','SOAP-FAULT-CODE',
        -            'SOAP-FAULT-DETAIL','SOAP-FAULT-STRING','SORT','SORT-ASCENDING',
        -            'SORT-NUMBER','SSL-SERVER-NAME','STANDALONE','STARTUP-PARAMETERS',
        -            'STATE-DETAIL','STATUS-AREA','STATUS-AREA-FONT','STOPPED',
        -            'STREAM','STRETCH-TO-FIT','STRICT','STRING-VALUE',
        -            'SUBTYPE','SUPER-PROCEDURES','SUPPRESS-NAMESPACE-PROCESSING','SUPPRESS-WARNINGS',
        -            'SYMMETRIC-ENCRYPTION-ALGORITHM','SYMMETRIC-ENCRYPTION-IV','SYMMETRIC-ENCRYPTION-KEY','SYMMETRIC-SUPPORT',
        -            'system-ALERT-BOXES','system-ID','TABLE','TABLE-CRC-LIST',
        -            'TABLE-HANDLE','TABLE-LIST','TABLE-NUMBER','TAB-POSITION',
        -            'TAB-STOP','TEMP-DIRECTORY','TEXT-SELECTED','THREE-D',
        -            'TIC-MARKS','TIME-SOURCE','TITLE','TITLE-BGCOLOR','FIELD',
        -            'TITLE-DCOLOR','TITLE-FGCOLOR','TITLE-FONT','TOOLTIP',
        -            'TOOLTIPS','TOP-ONLY','TRACKING-CHANGES','TRANSACTION',
        -            'TRANS-INIT-PROCEDURE','TRANSPARENT','TYPE','UNIQUE-ID',
        -            'UNIQUE-MATCH','URL','URL-PASSWORD','URL-USERID','EXTENT',
        -            'USER-ID','V6DISPLAY','VALIDATE-EXPRESSION','VALIDATE-MESSAGE',
        -            'VALIDATE-XML','VALIDATION-ENABLED','VIEW-FIRST-COLUMN-ON-REOPEN',
        -            'VIRTUAL-HEIGHT-CHARS','VIRTUAL-HEIGHT-PIXELS','VIRTUAL-WIDTH-CHARS','VIRTUAL-WIDTH-PIXELS',
        -            'VISIBLE','WARNING','WHERE-STRING','widget-ENTER','DATE',
        -            'widget-LEAVE','WIDTH-CHARS','WIDTH-PIXELS','WINDOW-STATE',
        -            'WINDOW-system','WORD-WRAP','WORK-AREA-HEIGHT-PIXELS','WORK-AREA-WIDTH-PIXELS',
        -            'WORK-AREA-X','WORK-AREA-Y','WRITE-STATUS','X','widget-Handle',
        -            'X-DOCUMENT','XML-DATA-TYPE','XML-NODE-TYPE','XML-SCHEMA-PATH',
        -            'XML-SUPPRESS-NAMESPACE-PROCESSING','Y','YEAR-OFFSET','CHARACTER',
        -            'LONGCHAR','MEMPTR','CHAR','DEC','INT','LOG','DECI','INTE','LOGI','long'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}',
        -        '<', '>', '=',
        -        '+', '-', '*', '/',
        -        '!', '@', '%', '|', '$',
        -        ':', '.', ';', ',',
        -        '?', '<=','<>','>=', '\\'
        -        ),
        -    'CASE_SENSITIVE' => array (
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array (
        -        'KEYWORDS' => array (
        -            1 => 'color: #0000ff; font-weight: bold;',
        -            2 => 'color: #1D16B2;',
        -            3 => 'color: #993333;',
        -            4 => 'color: #0000ff;'
        -            ),
        -        'COMMENTS' => array (
        -//            1 => 'color: #808080; font-style: italic;',
        -//            2 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array (
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array (
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array (
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array (
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array (
        -            0 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array (
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array (
        -            ),
        -        'SCRIPT' => array (
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        0 => ':'
        -        ),
        -    'REGEXPS' => array (
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array (
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array (
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?  "(?![\-a-zA-Z0-9_%])",
        -            1 => array(
        -                'SPACE_AS_WHITESPACE' => true
        -                ),
        -            2 => array(
        -                'SPACE_AS_WHITESPACE' => true
        -                )
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/prolog.php b/vendor/easybook/geshi/geshi/prolog.php
        deleted file mode 100644
        index 2ebaac3..0000000
        --- a/vendor/easybook/geshi/geshi/prolog.php
        +++ /dev/null
        @@ -1,142 +0,0 @@
        - 'Prolog',
        -    'COMMENT_SINGLE' => array(1 => '%'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'HARDQUOTE' => array("'", "'"),
        -    'HARDESCAPE' => array("\'"),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'abolish','abs','arg','asserta','assertz','at_end_of_stream','atan',
        -            'atom','atom_chars','atom_codes','atom_concat','atom_length',
        -            'atomic','bagof','call','catch','ceiling','char_code',
        -            'char_conversion','clause','close','compound','consult','copy_term',
        -            'cos','current_char_conversion','current_input','current_op',
        -            'current_output','current_predicate','current_prolog_flag',
        -            'discontiguous','dynamic','ensure_loaded','exp','fail','findall',
        -            'float','float_fractional_part','float_integer_part','floor',
        -            'flush_output','functor','get_byte','get_char','get_code','halt',
        -            'include','initialization','integer','is','listing','log','mod',
        -            'multifile','nl','nonvar','notrace','number','number_chars',
        -            'number_codes','once','op','open','peek_byte','peek_char',
        -            'peek_code','put_byte','put_char','put_code','read','read_term',
        -            'rem','repeat','retract','round','set_input','set_output',
        -            'set_prolog_flag','set_stream_position','setof','sign','sin','sqrt',
        -            'stream_property','sub_atom','throw','trace','true','truncate',
        -            'unify_with_occurs_check','univ','var','write','write_canonical',
        -            'write_term','writeq'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('(', ')', '[', ']', '{', '}',),
        -        1 => array('?-', ':-', '=:='),
        -        2 => array('\-', '\+', '\*', '\/'),
        -        3 => array('-', '+', '*', '/'),
        -        4 => array('.', ':', ',', ';'),
        -        5 => array('!', '@', '&', '|'),
        -        6 => array('<', '>', '=')
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #990000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;',
        -            'HARD' => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #800080;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;',
        -            1 => 'color: #339933;',
        -            2 => 'color: #339933;',
        -            3 => 'color: #339933;',
        -            4 => 'color: #339933;',
        -            5 => 'color: #339933;',
        -            6 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #008080;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://pauillac.inria.fr/~deransar/prolog/bips.html'
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Variables
        -        0 => "(? GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/properties.php b/vendor/easybook/geshi/geshi/properties.php
        deleted file mode 100644
        index e592795..0000000
        --- a/vendor/easybook/geshi/geshi/properties.php
        +++ /dev/null
        @@ -1,126 +0,0 @@
        - 'PROPERTIES',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        /* Common used variables */
        -        1 => array(
        -            '${user.home}'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '[', ']', '='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => ''
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #933;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => ''
        -            ),
        -        'METHODS' => array(
        -            0 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #000080; font-weight:bold;',
        -            1 => 'color: #008000; font-weight:bold;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Entry names
        -        0 => array(
        -            GESHI_SEARCH => '^(\s*)([.a-zA-Z0-9_\-]+)(\s*=)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -        //Entry values
        -        1 => array(
        -            // Evil hackery to get around GeSHi bug: <>" and ; are added so s can be matched
        -            // Explicit match on variable names because if a comment is before the first < of the span
        -            // gets chewed up...
        -            GESHI_SEARCH => '([<>";a-zA-Z0-9_]+\s*)=(.*)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1=',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/providex.php b/vendor/easybook/geshi/geshi/providex.php
        deleted file mode 100644
        index 1a7b08b..0000000
        --- a/vendor/easybook/geshi/geshi/providex.php
        +++ /dev/null
        @@ -1,297 +0,0 @@
        - 'ProvideX',
        -    'COMMENT_SINGLE' => array(1 => '!'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        // Single-Line Comments using REM command
        -        2 => "/\bREM\b.*?$/i"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            // Directives
        -            '*break', '*continue', '*end', '*escape', '*next', '*proceed',
        -            '*retry', '*return', '*same', 'accept', 'add index', 'addr',
        -            'auto', 'begin', 'break', 'button', 'bye', 'call', 'case',
        -            'chart', 'check_box', 'class', 'clear', 'clip_board', 'close',
        -            'continue', 'control', 'create required', 'create table',
        -            'cwdir', 'data', 'day_format', 'def', 'default', 'defctl',
        -            'defprt', 'deftty', 'delete required', 'dictionary', 'dim', 'direct',
        -            'directory', 'disable', 'drop', 'drop_box', 'dump', 'edit',
        -            'else', 'enable', 'end switch', 'end', 'end_if', 'endtrace',
        -            'enter', 'erase', 'error_handler', 'escape', 'event', 'execute',
        -            'exit', 'exitto', 'extract', 'file', 'find', 'floating point',
        -            'for', 'function', 'get_file_box', 'gosub', 'goto', 'grid',
        -            'h_scrollbar', 'hide', 'if', 'index', 'indexed', 'input',
        -            'insert', 'invoke', 'iolist', 'keyed', 'let', 'like',
        -            'line_switch', 'list', 'list_box', 'load', 'local', 'lock',
        -            'long_form', 'menu_bar', 'merge', 'message_lib', 'mnemonic',
        -            'msgbox', 'multi_line', 'multi_media', 'next', 'object', 'obtain',
        -            'on', 'open', 'password', 'perform', 'pop', 'popup_menu',
        -            'precision', 'prefix', 'preinput', 'print', 'process', 'program',
        -            'property', 'purge', 'quit', 'radio_button', 'randomize',
        -            'read', 'record', 'redim', 'refile', 'release', 'rem', 'remove',
        -            'rename', 'renumber', 'repeat', 'reset', 'restore', 'retry',
        -            'return', 'round', 'run', 'save', 'select', 'serial', 'server',
        -            'set_focus', 'set_nbf', 'set_param', 'setctl', 'setday', 'setdev',
        -            'setdrive', 'seterr', 'setesc', 'setfid', 'setmouse', 'settime',
        -            'settrace', 'short_form', 'show', 'sort', 'start', 'static',
        -            'step', 'stop', 'switch', 'system_help', 'system_jrnl', 'table',
        -            'then', 'to', 'translate', 'tristate_box', 'unlock', 'until',
        -            'update', 'user_lex', 'v_scrollbar', 'vardrop_box', 'varlist_box',
        -            'via', 'video_palette', 'wait', 'wend', 'while', 'winprt_setup',
        -            'with', 'write'
        -            ),
        -        2 => array(
        -            // System Functions
        -            '@x', '@y', 'abs', 'acs', 'and', 'arg', 'asc', 'asn', 'ath',
        -            'atn', 'bin', 'bsz', 'chg', 'chr', 'cmp', 'cos', 'cpl',
        -            'crc', 'cse', 'ctl', 'cvs', 'dec', 'dir', 'dll', 'dsk',
        -            'dte', 'env', 'ept', 'err', 'evn', 'evs', 'exp', 'ffn',
        -            'fib', 'fid', 'fin', 'fpt', 'gap', 'gbl', 'gep', 'hsa',
        -            'hsh', 'hta', 'hwn', 'i3e', 'ind', 'int', 'iol', 'ior',
        -            'jul', 'jst', 'kec', 'kef', 'kel', 'ken', 'kep', 'key',
        -            'kgn', 'lcs', 'len', 'lno', 'log', 'lrc', 'lst', 'max',
        -            'mem', 'mid', 'min', 'mnm', 'mod', 'msg', 'msk', 'mxc',
        -            'mxl', 'new', 'not', 'nul', 'num', 'obj', 'opt', 'pad',
        -            'pck', 'pfx', 'pgm', 'pos', 'prc', 'prm', 'pth', 'pub',
        -            'rcd', 'rdx', 'rec', 'ref', 'rnd', 'rno', 'sep', 'sgn',
        -            'sin', 'sqr', 'srt', 'ssz', 'stk', 'stp', 'str', 'sub',
        -            'swp', 'sys', 'tan', 'tbl', 'tcb', 'tmr', 'trx', 'tsk',
        -            'txh', 'txw', 'ucp', 'ucs', 'upk', 'vin', 'vis', 'xeq',
        -            'xfa', 'xor', '_obj'
        -            ),
        -        3 => array(
        -            // System Variables
        -            // Vars that are duplicates of functions
        -            // 'ctl', 'err', 'pfx', 'prm', 'rnd', 'sep', 'sys',
        -            'bkg', 'chn', 'day', 'dlm', 'dsz', 'eom', 'ers', 'esc',
        -            'gfn', 'gid', 'hfn', 'hlp', 'hwd', 'lfa', 'lfo', 'lip',
        -            'lpg', 'lwd', 'mse', 'msl', 'nar', 'nid', 'pgn', 'psz',
        -            'quo', 'ret', 'sid', 'ssn', 'tim', 'tme', 'tms', 'tsm',
        -            'uid', 'unt', 'who'
        -
        -            ),
        -        4 => array(
        -            // Nomads Variables
        -            '%Flmaint_Lib$', '%Flmaint_Msg$', '%Nomads_Activation_Ok',
        -            '%Nomads_Auto_Qry', '%Nomads_Disable_Debug',
        -            '%Nomads_Disable_Trace', '%Nomads_Fkey_Handler$',
        -            '%Nomads_Fkey_Tbl$', '%Nomads_Notest', '%Nomads_Onexit$',
        -            '%Nomads_Post_Display', '%Nomads_Pre_Display$',
        -            '%Nomads_Process$', '%Nomads_Trace_File$',
        -            '%Nomad_Actv_Folder_Colors$', '%Nomad_Automation_Enabled',
        -            '%Nomad_Auto_Close', '%Nomad_Center_Wdw', '%Nomad_Concurrent_Wdw',
        -            '%Nomad_Custom_Define', '%Nomad_Custom_Dir$',
        -            '%Nomad_Custom_Genmtc', '%Nomad_Custom_Skip_Definition',
        -            '%Nomad_Def_Sfx$', '%Nomad_Enter_Tab', '%Nomad_Esc_Sel',
        -            '%Nomad_Isjavx', '%Nomad_Iswindx', '%Nomad_Iswindx$',
        -            '%Nomad_Menu$', '%Nomad_Menu_Leftedge_Clr$',
        -            '%Nomad_Menu_Textbackground_Clr$', '%Nomad_Mln_Sep$',
        -            '%Nomad_Msgmnt$', '%Nomad_Noplusw', '%Nomad_No_Customize',
        -            '%Nomad_Object_Persistence', '%Nomad_Object_Resize',
        -            '%Nomad_Open_Load', '%Nomad_Override_Font$',
        -            '%Nomad_Palette_Loaded', '%Nomad_Panel_Info_Force',
        -            '%Nomad_Panel_Info_Prog$', '%Nomad_Pnl_Def_Colour$',
        -            '%Nomad_Pnl_Def_Font$', '%Nomad_Prg_Cache', '%Nomad_Qry_Attr$',
        -            '%Nomad_Qry_Btn$', '%Nomad_Qry_Clear_Start', '%Nomad_Qry_Tip$',
        -            '%Nomad_Qry_Wide', '%Nomad_Query_Clear_Status', '%Nomad_Query_Kno',
        -            '%Nomad_Query_No_Gray', '%Nomad_Query_Odb_Ignore',
        -            '%Nomad_Query_Retkno', '%Nomad_Query_Sbar_Max',
        -            '%Nomad_Relative_Wdw', '%Nomad_Save_Qry_Path', '%Nomad_Script_Fn',
        -            '%Nomad_Script_Log', '%Nomad_Script_Wdw',
        -            '%Nomad_Skip_Change_Logic', '%Nomad_Skip_Onselect_Logic',
        -            '%Nomad_Stk$', '%Nomad_Tab_Dir', '%Nomad_Timeout',
        -            '%Nomad_Turbo_Off', '%Nomad_Visual_Effect',
        -            '%Nomad_Visual_Override', '%Nomad_Win_Ver', '%Nomad_Xchar',
        -            '%Nomad_Xmax', '%Nomad_Ychar', '%Nomad_Ymax', '%Scr_Def_Attr$',
        -            '%Scr_Def_H_Fl$', '%Scr_Def_H_Id$', '%Scr_Lib', '%Scr_Lib$',
        -            '%Z__Usr_Sec$', 'Alternate_Panel$', 'Alternate_Panel_Type$',
        -            'Arg_1$', 'Arg_10$', 'Arg_11$', 'Arg_12$', 'Arg_13$', 'Arg_14$',
        -            'Arg_15$', 'Arg_16$', 'Arg_17$', 'Arg_18$', 'Arg_19$', 'Arg_2$',
        -            'Arg_20$', 'Arg_3$', 'Arg_4$', 'Arg_5$', 'Arg_6$', 'Arg_7$',
        -            'Arg_8$', 'Arg_9$', 'Change_Flg', 'Cmd_Str$', 'Default_Prog$',
        -            'Disp_Cmd$', 'Entire_Record$', 'Exit_Cmd$', 'Fldr_Default_Prog$',
        -            'Folder_Id$', 'Id', 'Id$', 'Ignore_Exit', 'Initialize_Flg',
        -            'Init_Text$', 'Init_Val$', 'Main_Scrn_K$', 'Mnu_Ln$',
        -            'Next_Folder', 'Next_Id', 'Next_Id$', 'No_Flush', 'Prime_Key$',
        -            'Prior_Val', 'Prior_Val$', 'Qry_Val$', 'Refresh_Flg',
        -            'Replacement_Folder$', 'Replacement_Lib$', 'Replacement_Scrn$',
        -            'Scrn_Id$', 'Scrn_K$', 'Scrn_Lib$', 'Tab_Table$', '_Eom$'
        -            ),
        -        5 => array(
        -            // Mnemonics
        -            "'!w'", "'*c'", "'*h'", "'*i'", "'*o'", "'*r'", "'*x'",
        -            "'+b'", "'+d'", "'+e'", "'+f'", "'+i'", "'+n'",
        -            "'+p'", "'+s'", "'+t'", "'+u'", "'+v'", "'+w'", "'+x'",
        -            "'+z'", "'-b'", "'-d'", "'-e'", "'-f'", "'-i'",
        -            "'-n'", "'-p'", "'-s'", "'-t'", "'-u'", "'-v'", "'-w'",
        -            "'-x'", "'-z'", "'2d'", "'3d'", "'4d'", "'@@'", "'ab'",
        -            "'arc'", "'at'", "'backgr'", "'bb'", "'be'", "'beep'",
        -            "'bg'", "'bi'", "'bj'", "'bk'", "'black'", "'blue'",
        -            "'bm'", "'bo'", "'box'", "'br'", "'bs'", "'bt'", "'bu'",
        -            "'bw'", "'bx'", "'caption'", "'ce'", "'cf'", "'ch'",
        -            "'ci'", "'circle'", "'cl'", "'colour'", "'cp'", "'cpi'",
        -            "'cr'", "'cs'", "'cursor'", "'cyan''_cyan'", "'dc'",
        -            "'default'", "'df'", "'dialogue'", "'dn'", "'do'",
        -            "'drop'", "'eb'", "'ee'", "'ef'", "'eg'", "'ei'", "'ej'",
        -            "'el'", "'em'", "'eo'", "'ep'", "'er'", "'es'", "'et'",
        -            "'eu'", "'ew'", "'ff'", "'fill'", "'fl'", "'font'",
        -            "'frame'", "'gd'", "'ge'", "'gf'", "'goto'", "'green'",
        -            "'gs'", "'hide'", "'ic'", "'image'", "'jc'",
        -            "'jd'", "'jl'", "'jn'", "'jr'", "'js'", "'l6'", "'l8'",
        -            "'lc'", "'ld'", "'lf'", "'li'", "'line'", "'lm'",
        -            "'lpi'", "'lt'", "'magenta'", "'maxsize'", "'me'",
        -            "'message'", "'minsize'", "'mn'", "'mode'",
        -            "'move'", "'mp'", "'ms'", "'ni'", "'offset'", "'option'",
        -            "'pe'", "'pen'", "'picture'", "'pie'", "'pm'", "'polygon'",
        -            "'pop'", "'ps'", "'push'", "'rb'", "'rc'", "'rectangle'",
        -            "'red'", "'rl'", "'rm'", "'rp'", "'rs'", "'rt'", "'sb'",
        -            "'scroll'", "'sd'", "'se'", "'sf'", "'show'", "'size'",
        -            "'sl'", "'sn'", "'sp'", "'sr'", "'swap'", "'sx'", "'text'",
        -            "'textwdw'", "'tr'", "'tw'", "'uc'", "'up'", "'vt'", "'wa'",
        -            "'wc'", "'wd'", "'wg'", "'white'", "'window'", "'wm'",
        -            "'wp'", "'wr'", "'wrap'", "'ws'", "'wx'", "'xp'", "'yellow'",
        -            "'zx'", "'_black'", "'_blue'", "'_colour'", "'_green'",
        -            "'_magenta'", "'_red'", "'_white'", "'_yellow'"
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('+', '-', '*', '/', '^', '|'),
        -        1 => array('++', '--', '+=', '-=', '*=', '/=', '^=', '|='),
        -        2 => array('<', '>', '='),
        -        3 => array('(', ')', '[', ']', '{', '}'),
        -        4 => array(',', '@', ';', '\\')
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: navy;', // Directives
        -            2 => 'color: blue;', // System Functions
        -            3 => 'color: blue;', // System Variables
        -            4 => 'color: #6A5ACD; font-style: italic;', // Nomads Global Variables
        -            5 => 'color: #BDB76B;', // Mnemonics
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008080; font-style: italic;',
        -            2 => 'color: #008080;',
        -            'MULTI' => 'color: #008080; font-style: italic;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000066;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: green;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #00008B;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;',
        -            1 => 'color: #000099;',
        -            2 => 'color: #000099;',
        -            3 => 'color: #0000C9;',
        -            4 => 'color: #000099;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'color: #006400; font-weight: bold',
        -            2 => 'color: #6A5ACD;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://www.allbasic.info./wiki/index.php/PX:Directive_{FNAME}',
        -        2 => 'http://www.allbasic.info./wiki/index.php/PX:System_function_{FNAME}',
        -        3 => 'http://www.allbasic.info./wiki/index.php/PX:System_variable_{FNAME}',
        -        4 => 'http://www.allbasic.info./wiki/index.php/PX:Nomads_{FNAME}',
        -        5 => 'http://www.allbasic.info./wiki/index.php/PX:Mnemonic_{FNAMEU}'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => "'"
        -        ),
        -    'REGEXPS' => array(
        -        1 => array(
        -            // Line Labels
        -            GESHI_SEARCH => '([[:space:]])([a-zA-Z_][a-zA-Z0-9_]+)(:)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -        2 => array(
        -            // Global String Variables
        -            GESHI_SEARCH => '(\%)([a-zA-Z_][a-zA-Z0-9_]+)(\$)',
        -            GESHI_REPLACE => '\\1\\2\\3',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'NUMBERS' => GESHI_NEVER
        -            )
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/purebasic.php b/vendor/easybook/geshi/geshi/purebasic.php
        deleted file mode 100644
        index 1bd4e79..0000000
        --- a/vendor/easybook/geshi/geshi/purebasic.php
        +++ /dev/null
        @@ -1,302 +0,0 @@
        - 'PureBasic',
        -    'COMMENT_SINGLE' => array( 1 => ";"  ),
        -    'COMMENT_MULTI' => array( ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            // Keywords
        -            'And', 'As', 'Break', 'CallDebugger', 'Case', 'CompilerCase', 'CompilerDefault', 'CompilerElse', 'CompilerEndIf', 'CompilerEndSelect',
        -            'CompilerError', 'CompilerIf', 'CompilerSelect', 'Continue', 'Data', 'DataSection', 'EndDataSection', 'Debug', 'DebugLevel', 'Declare',
        -            'DeclareCDLL', 'DeclareDLL', 'Default', 'Define', 'Dim', 'DisableASM', 'DisableDebugger', 'DisableExplicit', 'Else', 'ElseIf', 'EnableASM',
        -            'EnableDebugger', 'EnableExplicit', 'End', 'EndEnumeration', 'EndIf', 'EndImport', 'EndInterface', 'EndMacro', 'EndProcedure',
        -            'EndSelect', 'EndStructure', 'EndStructureUnion', 'EndWith', 'Enumeration', 'Extends', 'FakeReturn', 'For', 'Next', 'ForEach',
        -            'ForEver', 'Global', 'Gosub', 'Goto', 'If', 'Import', 'ImportC', 'IncludeBinary', 'IncludeFile', 'IncludePath', 'Interface', 'Macro',
        -            'NewList', 'Not', 'Or', 'Procedure', 'ProcedureC', 'ProcedureCDLL', 'ProcedureDLL', 'ProcedureReturn', 'Protected', 'Prototype',
        -            'PrototypeC', 'Read', 'ReDim', 'Repeat', 'Until', 'Restore', 'Return', 'Select', 'Shared', 'Static', 'Step', 'Structure', 'StructureUnion',
        -            'Swap', 'To', 'Wend', 'While', 'With', 'XIncludeFile', 'XOr'
        -            ),
        -        2 => array(
        -            // All Functions
        -            'Abs', 'ACos', 'Add3DArchive', 'AddBillboard', 'AddDate', 'AddElement', 'AddGadgetColumn', 'AddGadgetItem',
        -            'AddKeyboardShortcut', 'AddMaterialLayer', 'AddPackFile', 'AddPackMemory', 'AddStatusBarField', 'AddSysTrayIcon',
        -            'AllocateMemory', 'AmbientColor', 'AnimateEntity', 'Asc', 'ASin', 'ATan', 'AudioCDLength', 'AudioCDName', 'AudioCDStatus',
        -            'AudioCDTrackLength', 'AudioCDTracks', 'AudioCDTrackSeconds', 'AvailableProgramOutput', 'AvailableScreenMemory',
        -            'BackColor', 'Base64Decoder', 'Base64Encoder', 'BillboardGroupLocate', 'BillboardGroupMaterial', 'BillboardGroupX',
        -            'BillboardGroupY', 'BillboardGroupZ', 'BillboardHeight', 'BillboardLocate', 'BillboardWidth', 'BillboardX', 'BillboardY', 'BillboardZ',
        -            'Bin', 'BinQ', 'Blue', 'Box', 'ButtonGadget', 'ButtonImageGadget', 'CalendarGadget', 'CallCFunction', 'CallCFunctionFast',
        -            'CallFunction', 'CallFunctionFast', 'CameraBackColor', 'CameraFOV', 'CameraLocate', 'CameraLookAt', 'CameraProjection',
        -            'CameraRange', 'CameraRenderMode', 'CameraX', 'CameraY', 'CameraZ', 'CatchImage', 'CatchSound', 'CatchSprite',
        -            'CatchXML', 'ChangeAlphaIntensity', 'ChangeCurrentElement', 'ChangeGamma', 'ChangeListIconGadgetDisplay',
        -            'ChangeSysTrayIcon', 'CheckBoxGadget', 'CheckEntityCollision', 'CheckFilename', 'ChildXMLNode', 'Chr', 'Circle',
        -            'ClearBillboards', 'ClearClipboard', 'ClearConsole', 'ClearError', 'ClearGadgetItemList', 'ClearList', 'ClearScreen', 'ClipSprite',
        -            'CloseConsole', 'CloseDatabase', 'CloseFile', 'CloseGadgetList', 'CloseHelp', 'CloseLibrary', 'CloseNetworkConnection',
        -            'CloseNetworkServer', 'ClosePack', 'ClosePreferences', 'CloseProgram', 'CloseScreen', 'CloseSubMenu', 'CloseWindow',
        -            'ColorRequester', 'ComboBoxGadget', 'CompareMemory', 'CompareMemoryString', 'ConnectionID', 'ConsoleColor',
        -            'ConsoleCursor', 'ConsoleError', 'ConsoleLocate', 'ConsoleTitle', 'ContainerGadget', 'CopyDirectory', 'CopyEntity',
        -            'CopyFile', 'CopyImage', 'CopyLight', 'CopyMaterial', 'CopyMemory', 'CopyMemoryString', 'CopyMesh', 'CopySprite',
        -            'CopyTexture', 'CopyXMLNode', 'Cos', 'CountBillboards', 'CountGadgetItems', 'CountLibraryFunctions', 'CountList',
        -            'CountMaterialLayers', 'CountProgramParameters', 'CountRenderedTriangles', 'CountString', 'CRC32Fingerprint',
        -            'CreateBillboardGroup', 'CreateCamera', 'CreateDirectory', 'CreateEntity', 'CreateFile', 'CreateGadgetList',
        -            'CreateImage', 'CreateLight', 'CreateMaterial', 'CreateMenu', 'CreateMesh', 'CreateMutex', 'CreateNetworkServer',
        -            'CreatePack', 'CreatePalette', 'CreateParticleEmitter', 'CreatePopupMenu', 'CreatePreferences', 'CreateSprite',
        -            'CreateSprite3D', 'CreateStatusBar', 'CreateTerrain', 'CreateTexture', 'CreateThread', 'CreateToolBar', 'CreateXML',
        -            'CreateXMLNode', 'DatabaseColumnName', 'DatabaseColumns', 'DatabaseColumnType', 'DatabaseDriverDescription',
        -            'DatabaseDriverName', 'DatabaseError', 'DatabaseQuery', 'DatabaseUpdate', 'Date', 'DateGadget', 'Day', 'DayOfWeek',
        -            'DayOfYear', 'DefaultPrinter', 'Defined', 'Delay', 'DeleteDirectory', 'DeleteElement', 'DeleteFile', 'DeleteXMLNode',
        -            'DESFingerprint', 'DesktopDepth', 'DesktopFrequency', 'DesktopHeight', 'DesktopMouseX', 'DesktopMouseY', 'DesktopName',
        -            'DesktopWidth', 'DirectoryEntryAttributes', 'DirectoryEntryDate', 'DirectoryEntryName', 'DirectoryEntrySize',
        -            'DirectoryEntryType', 'DisableGadget', 'DisableMaterialLighting', 'DisableMenuItem', 'DisableToolBarButton', 'DisableWindow',
        -            'DisASMCommand', 'DisplayAlphaSprite', 'DisplayPalette', 'DisplayPopupMenu', 'DisplayRGBFilter', 'DisplayShadowSprite',
        -            'DisplaySolidSprite', 'DisplaySprite', 'DisplaySprite3D', 'DisplayTranslucentSprite', 'DisplayTransparentSprite', 'DragFiles',
        -            'DragImage', 'DragOSFormats', 'DragPrivate', 'DragText', 'DrawAlphaImage', 'DrawImage', 'DrawingBuffer',
        -            'DrawingBufferPitch', 'DrawingBufferPixelFormat', 'DrawingFont', 'DrawingMode', 'DrawText', 'EditorGadget',
        -            'egrid_AddColumn', 'egrid_AddRows', 'egrid_AppendCells', 'egrid_ClearRows', 'egrid_CopyCells',
        -            'egrid_CreateCellCallback', 'egrid_CreateGrid', 'egrid_DeleteCells', 'egrid_FastDeleteCells', 'egrid_FreeGrid',
        -            'egrid_GetCellSelection', 'egrid_GetCellText', 'egrid_GetColumnOrderArray', 'egrid_HasSelectedCellChanged', 'egrid_Height',
        -            'egrid_HideEdit', 'egrid_HideGrid', 'egrid_MakeCellVisible', 'egrid_NumberOfColumns', 'egrid_NumberOfRows',
        -            'egrid_PasteCells', 'egrid_Register', 'egrid_RemoveCellCallback', 'egrid_RemoveColumn', 'egrid_RemoveRow', 'egrid_Resize',
        -            'egrid_SelectCell', 'egrid_SelectedColumn', 'egrid_SelectedRow', 'egrid_SetCellSelection', 'egrid_SetCellText',
        -            'egrid_SetColumnOrderArray', 'egrid_SetHeaderFont', 'egrid_SetHeaderHeight', 'egrid_SetOption', 'egrid_Width', 'egrid_x',
        -            'egrid_y', 'EjectAudioCD', 'ElapsedMilliseconds', 'Ellipse', 'EnableGadgetDrop', 'EnableGraphicalConsole',
        -            'EnableWindowDrop', 'EnableWorldCollisions', 'EnableWorldPhysics', 'Engine3DFrameRate', 'EntityAngleX',
        -            'EntityAnimationLength', 'EntityLocate', 'EntityMaterial', 'EntityMesh', 'EntityPhysicBody', 'EntityRenderMode',
        -            'EntityX', 'EntityY', 'EntityZ', 'EnvironmentVariableName', 'EnvironmentVariableValue', 'Eof', 'EventClient',
        -            'EventDropAction', 'EventDropBuffer', 'EventDropFiles', 'EventDropImage', 'EventDropPrivate', 'EventDropSize',
        -            'EventDropText', 'EventDropType', 'EventDropX', 'EventDropY', 'EventGadget', 'EventlParam', 'EventMenu', 'EventServer',
        -            'EventType', 'EventWindow', 'EventwParam', 'ExamineDatabaseDrivers', 'ExamineDesktops', 'ExamineDirectory',
        -            'ExamineEnvironmentVariables', 'ExamineIPAddresses', 'ExamineJoystick', 'ExamineKeyboard', 'ExamineLibraryFunctions',
        -            'ExamineMouse', 'ExaminePreferenceGroups', 'ExaminePreferenceKeys', 'ExamineScreenModes', 'ExamineWorldCollisions',
        -            'ExamineXMLAttributes', 'ExplorerComboGadget', 'ExplorerListGadget', 'ExplorerTreeGadget', 'ExportXML',
        -            'ExportXMLSize', 'FileBuffersSize', 'FileID', 'FileSeek', 'FileSize', 'FillArea', 'FindString', 'FinishDirectory',
        -            'FirstDatabaseRow', 'FirstElement', 'FirstWorldCollisionEntity', 'FlipBuffers', 'FlushFileBuffers', 'Fog', 'FontID',
        -            'FontRequester', 'FormatDate', 'FormatXML', 'Frame3DGadget', 'FreeBillboardGroup', 'FreeCamera', 'FreeEntity',
        -            'FreeFont', 'FreeGadget', 'FreeImage', 'FreeLight', 'FreeMaterial', 'FreeMemory', 'FreeMenu', 'FreeMesh',
        -            'FreeModule', 'FreeMovie', 'FreeMutex', 'FreePalette', 'FreeParticleEmitter', 'FreeSound', 'FreeSprite',
        -            'FreeSprite3D', 'FreeStatusBar', 'FreeTexture', 'FreeToolBar', 'FreeXML', 'FrontColor', 'GadgetHeight', 'GadgetID',
        -            'GadgetItemID', 'GadgetToolTip', 'GadgetType', 'GadgetWidth', 'GadgetX', 'GadgetY', 'GetActiveGadget',
        -            'GetActiveWindow', 'GetClientIP', 'GetClientPort', 'GetClipboardImage', 'GetClipboardText', 'GetCurrentDirectory',
        -            'GetCurrentEIP', 'GetDatabaseDouble', 'GetDatabaseFloat', 'GetDatabaseLong', 'GetDatabaseQuad', 'GetDatabaseString',
        -            'GetDisASMString', 'GetEntityAnimationTime', 'GetEntityFriction', 'GetEntityMass', 'GetEnvironmentVariable',
        -            'GetErrorAddress', 'GetErrorCounter', 'GetErrorDescription', 'GetErrorDLL', 'GetErrorLineNR', 'GetErrorModuleName',
        -            'GetErrorNumber', 'GetErrorRegister', 'GetExtensionPart', 'GetFileAttributes', 'GetFileDate', 'GetFilePart', 'GetFunction',
        -            'GetFunctionEntry', 'GetGadgetAttribute', 'GetGadgetColor', 'GetGadgetData', 'GetGadgetFont',
        -            'GetGadgetItemAttribute', 'GetGadgetItemColor', 'GetGadgetItemData', 'GetGadgetItemState', 'GetGadgetItemText',
        -            'GetGadgetState', 'GetGadgetText', 'GetHomeDirectory', 'GetMenuItemState', 'GetMenuItemText', 'GetMenuTitleText',
        -            'GetModulePosition', 'GetModuleRow', 'GetPaletteColor', 'GetPathPart', 'GetTemporaryDirectory',
        -            'GetToolBarButtonState', 'GetWindowColor', 'GetWindowState', 'GetWindowTitle', 'GetXMLAttribute', 'GetXMLEncoding',
        -            'GetXMLNodeName', 'GetXMLNodeOffset', 'GetXMLNodeText', 'GetXMLStandalone', 'GoToEIP', 'GrabImage', 'GrabSprite',
        -            'Green', 'Hex', 'HexQ', 'HideBillboardGroup', 'HideEntity', 'HideGadget', 'HideLight', 'HideMenu', 'HideParticleEmitter',
        -            'HideWindow', 'Hostname', 'Hour', 'HyperLinkGadget', 'ImageDepth', 'ImageGadget', 'ImageHeight', 'ImageID',
        -            'ImageOutput', 'ImageWidth', 'InitAudioCD', 'InitEngine3D', 'InitJoystick', 'InitKeyboard', 'InitMouse', 'InitMovie',
        -            'InitNetwork', 'InitPalette', 'InitScintilla', 'InitSound', 'InitSprite', 'InitSprite3D', 'Inkey', 'Input', 'InputRequester',
        -            'InsertElement', 'Int', 'IntQ', 'IPAddressField', 'IPAddressGadget', 'IPString', 'IsBillboardGroup', 'IsCamera', 'IsDatabase',
        -            'IsDirectory', 'IsEntity', 'IsFile', 'IsFont', 'IsGadget', 'IsImage', 'IsLibrary', 'IsLight', 'IsMaterial', 'IsMenu', 'IsMesh',
        -            'IsModule', 'IsMovie', 'IsPalette', 'IsParticleEmitter', 'IsProgram', 'IsScreenActive', 'IsSound', 'IsSprite', 'IsSprite3D',
        -            'IsStatusBar', 'IsSysTrayIcon', 'IsTexture', 'IsThread', 'IsToolBar', 'IsWindow', 'IsXML', 'JoystickAxisX', 'JoystickAxisY',
        -            'JoystickButton', 'KeyboardInkey', 'KeyboardMode', 'KeyboardPushed', 'KeyboardReleased', 'KillProgram', 'KillThread',
        -            'LastElement', 'LCase', 'Left', 'Len', 'LibraryFunctionAddress', 'LibraryFunctionName', 'LibraryID', 'LightColor',
        -            'LightLocate', 'LightSpecularColor', 'Line', 'LineXY', 'ListIconGadget', 'ListIndex', 'ListViewGadget', 'LoadFont',
        -            'LoadImage', 'LoadMesh', 'LoadModule', 'LoadMovie', 'LoadPalette', 'LoadSound', 'LoadSprite', 'LoadTexture',
        -            'LoadWorld', 'LoadXML', 'Loc', 'LockMutex', 'Lof', 'Log', 'Log10', 'LSet', 'LTrim', 'MainXMLNode', 'MakeIPAddress',
        -            'MaterialAmbientColor', 'MaterialBlendingMode', 'MaterialDiffuseColor', 'MaterialFilteringMode', 'MaterialID',
        -            'MaterialShadingMode', 'MaterialSpecularColor', 'MD5FileFingerprint', 'MD5Fingerprint', 'MDIGadget', 'MemorySize',
        -            'MemoryStringLength', 'MenuBar', 'MenuHeight', 'MenuID', 'MenuItem', 'MenuTitle', 'MeshID', 'MessageRequester',
        -            'Mid', 'Minute', 'ModuleVolume', 'Month', 'MouseButton', 'MouseDeltaX', 'MouseDeltaY', 'MouseLocate', 'MouseWheel',
        -            'MouseX', 'MouseY', 'MoveBillboard', 'MoveBillboardGroup', 'MoveCamera', 'MoveEntity', 'MoveLight', 'MoveMemory',
        -            'MoveParticleEmitter', 'MoveXMLNode', 'MovieAudio', 'MovieHeight', 'MovieInfo', 'MovieLength', 'MovieSeek',
        -            'MovieStatus', 'MovieWidth', 'NetworkClientEvent', 'NetworkServerEvent', 'NewPrinterPage', 'NextDatabaseDriver',
        -            'NextDatabaseRow', 'NextDirectoryEntry', 'NextElement', 'NextEnvironmentVariable', 'NextIPAddress',
        -            'NextLibraryFunction', 'NextPackFile', 'NextPreferenceGroup', 'NextPreferenceKey', 'NextScreenMode',
        -            'NextSelectedFileName', 'NextWorldCollision', 'NextXMLAttribute', 'NextXMLNode', 'OffsetOf', 'OnErrorExit',
        -            'OnErrorGosub', 'OnErrorGoto', 'OnErrorResume', 'OpenComPort', 'OpenConsole', 'OpenDatabase',
        -            'OpenDatabaseRequester', 'OpenFile', 'OpenFileRequester', 'OpenGadgetList', 'OpenHelp', 'OpenLibrary',
        -            'OpenNetworkConnection', 'OpenPack', 'OpenPreferences', 'OpenScreen', 'OpenSubMenu', 'OpenWindow',
        -            'OpenWindowedScreen', 'OptionGadget', 'OSVersion', 'PackerCallback', 'PackFileSize', 'PackMemory', 'PanelGadget',
        -            'ParentXMLNode', 'Parse3DScripts', 'ParseDate', 'ParticleColorFader', 'ParticleColorRange', 'ParticleEmissionRate',
        -            'ParticleEmitterDirection', 'ParticleEmitterLocate', 'ParticleEmitterX', 'ParticleEmitterY', 'ParticleEmitterZ',
        -            'ParticleMaterial', 'ParticleSize', 'ParticleTimeToLive', 'ParticleVelocity', 'PathRequester', 'PauseAudioCD',
        -            'PauseMovie', 'PauseThread', 'PeekB', 'PeekC', 'PeekD', 'PeekF', 'PeekL', 'PeekQ', 'PeekS', 'PeekW', 'PlayAudioCD',
        -            'PlayModule', 'PlayMovie', 'PlaySound', 'Plot', 'Point', 'PokeB', 'PokeC', 'PokeD', 'PokeF', 'PokeL', 'PokeQ', 'PokeS',
        -            'PokeW', 'Pow', 'PreferenceComment', 'PreferenceGroup', 'PreferenceGroupName', 'PreferenceKeyName',
        -            'PreferenceKeyValue', 'PreviousDatabaseRow', 'PreviousElement', 'PreviousXMLNode', 'Print', 'PrinterOutput',
        -            'PrinterPageHeight', 'PrinterPageWidth', 'PrintN', 'PrintRequester', 'ProgramExitCode', 'ProgramFilename',
        -            'ProgramID', 'ProgramParameter', 'ProgramRunning', 'ProgressBarGadget', 'Random', 'RandomSeed', 'RawKey',
        -            'ReadByte', 'ReadCharacter', 'ReadConsoleData', 'ReadData', 'ReadDouble', 'ReadFile', 'ReadFloat', 'ReadLong',
        -            'ReadPreferenceDouble', 'ReadPreferenceFloat', 'ReadPreferenceLong', 'ReadPreferenceQuad',
        -            'ReadPreferenceString', 'ReadProgramData', 'ReadProgramError', 'ReadProgramString', 'ReadQuad', 'ReadString',
        -            'ReadStringFormat', 'ReadWord', 'ReAllocateMemory', 'ReceiveNetworkData', 'ReceiveNetworkFile', 'Red',
        -            'Reg_DeleteEmptyKey', 'Reg_DeleteKey', 'Reg_DeleteValue', 'Reg_GetErrorMsg', 'Reg_GetErrorNr',
        -            'Reg_GetValueTyp', 'Reg_ListSubKey', 'Reg_ListSubValue', 'Reg_ReadBinary', 'Reg_ReadExpandString',
        -            'Reg_ReadLong', 'Reg_ReadMultiLineString', 'Reg_ReadQuad', 'Reg_ReadString', 'Reg_WriteBinary',
        -            'Reg_WriteExpandString', 'Reg_WriteLong', 'Reg_WriteMultiLineString', 'Reg_WriteQuad', 'Reg_WriteString',
        -            'ReleaseMouse', 'RemoveBillboard', 'RemoveEnvironmentVariable', 'RemoveGadgetColumn', 'RemoveGadgetItem',
        -            'RemoveKeyboardShortcut', 'RemoveMaterialLayer', 'RemovePreferenceGroup', 'RemovePreferenceKey',
        -            'RemoveString', 'RemoveSysTrayIcon', 'RemoveXMLAttribute', 'RenameFile', 'RenderMovieFrame', 'RenderWorld',
        -            'ReplaceString', 'ResetList', 'ResizeBillboard', 'ResizeEntity', 'ResizeGadget', 'ResizeImage', 'ResizeMovie',
        -            'ResizeParticleEmitter', 'ResizeWindow', 'ResolveXMLAttributeName', 'ResolveXMLNodeName', 'ResumeAudioCD',
        -            'ResumeMovie', 'ResumeThread', 'RGB', 'Right', 'RootXMLNode', 'RotateBillboardGroup', 'RotateCamera',
        -            'RotateEntity', 'RotateMaterial', 'RotateSprite3D', 'Round', 'RSet', 'RTrim', 'RunProgram', 'SaveFileRequester',
        -            'SaveImage', 'SaveSprite', 'SaveXML', 'ScaleEntity', 'ScaleMaterial', 'ScintillaGadget', 'ScintillaSendMessage',
        -            'ScreenID', 'ScreenModeDepth', 'ScreenModeHeight', 'ScreenModeRefreshRate', 'ScreenModeWidth',
        -            'ScreenOutput', 'ScrollAreaGadget', 'ScrollBarGadget', 'ScrollMaterial', 'Second', 'SecondWorldCollisionEntity',
        -            'SelectedFilePattern', 'SelectedFontColor', 'SelectedFontName', 'SelectedFontSize', 'SelectedFontStyle',
        -            'SelectElement', 'SendNetworkData', 'SendNetworkFile', 'SendNetworkString', 'SetActiveGadget',
        -            'SetActiveWindow', 'SetClipboardImage', 'SetClipboardText', 'SetCurrentDirectory', 'SetDragCallback',
        -            'SetDropCallback', 'SetEntityAnimationTime', 'SetEntityFriction', 'SetEntityMass', 'SetEnvironmentVariable',
        -            'SetErrorNumber', 'SetFileAttributes', 'SetFileDate', 'SetFrameRate', 'SetGadgetAttribute', 'SetGadgetColor',
        -            'SetGadgetData', 'SetGadgetFont', 'SetGadgetItemAttribute', 'SetGadgetItemColor', 'SetGadgetItemData',
        -            'SetGadgetItemState', 'SetGadgetItemText', 'SetGadgetState', 'SetGadgetText', 'SetMenuItemState',
        -            'SetMenuItemText', 'SetMenuTitleText', 'SetMeshData', 'SetModulePosition', 'SetPaletteColor', 'SetRefreshRate',
        -            'SetToolBarButtonState', 'SetWindowCallback', 'SetWindowColor', 'SetWindowState', 'SetWindowTitle',
        -            'SetXMLAttribute', 'SetXMLEncoding', 'SetXMLNodeName', 'SetXMLNodeOffset', 'SetXMLNodeText',
        -            'SetXMLStandalone', 'Sin', 'SizeOf', 'SkyBox', 'SkyDome', 'SmartWindowRefresh', 'SortArray', 'SortList',
        -            'SortStructuredArray', 'SortStructuredList', 'SoundFrequency', 'SoundPan', 'SoundVolume', 'Space',
        -            'SpinGadget', 'SplitterGadget', 'Sprite3DBlendingMode', 'Sprite3DQuality', 'SpriteCollision', 'SpriteDepth',
        -            'SpriteHeight', 'SpriteID', 'SpriteOutput', 'SpritePixelCollision', 'SpriteWidth', 'Sqr', 'Start3D', 'StartDrawing',
        -            'StartPrinting', 'StartSpecialFX', 'StatusBarHeight', 'StatusBarIcon', 'StatusBarID', 'StatusBarText',
        -            'StickyWindow', 'Stop3D', 'StopAudioCD', 'StopDrawing', 'StopModule', 'StopMovie', 'StopPrinting',
        -            'StopSound', 'StopSpecialFX', 'Str', 'StrD', 'StrF', 'StringByteLength', 'StringField', 'StringGadget', 'StrQ',
        -            'StrU', 'Subsystem', 'SwapElements', 'SysTrayIconToolTip', 'Tan', 'TerrainHeight', 'TextGadget', 'TextHeight',
        -            'TextureHeight', 'TextureID', 'TextureOutput', 'TextureWidth', 'TextWidth', 'ThreadID', 'ThreadPriority',
        -            'ToolBarHeight', 'ToolBarID', 'ToolBarImageButton', 'ToolBarSeparator', 'ToolBarStandardButton',
        -            'ToolBarToolTip', 'TrackBarGadget', 'TransformSprite3D', 'TransparentSpriteColor', 'TreeGadget', 'Trim',
        -            'TruncateFile', 'TryLockMutex', 'UCase', 'UnlockMutex', 'UnpackMemory', 'UseAudioCD', 'UseBuffer',
        -            'UseGadgetList', 'UseJPEGImageDecoder', 'UseJPEGImageEncoder', 'UseODBCDatabase', 'UseOGGSoundDecoder',
        -            'UsePNGImageDecoder', 'UsePNGImageEncoder', 'UseTGAImageDecoder', 'UseTIFFImageDecoder', 'Val', 'ValD',
        -            'ValF', 'ValQ', 'WaitProgram', 'WaitThread', 'WaitWindowEvent', 'WebGadget', 'WebGadgetPath', 'WindowEvent',
        -            'WindowHeight', 'WindowID', 'WindowMouseX', 'WindowMouseY', 'WindowOutput', 'WindowWidth', 'WindowX',
        -            'WindowY', 'WorldGravity', 'WorldShadows', 'WriteByte', 'WriteCharacter', 'WriteConsoleData', 'WriteData',
        -            'WriteDouble', 'WriteFloat', 'WriteLong', 'WritePreferenceDouble', 'WritePreferenceFloat', 'WritePreferenceLong',
        -            'WritePreferenceQuad', 'WritePreferenceString', 'WriteProgramData', 'WriteProgramString', 'WriteProgramStringN',
        -            'WriteQuad', 'WriteString', 'WriteStringFormat', 'WriteStringN', 'WriteWord', 'XMLAttributeName', 'XMLAttributeValue',
        -            'XMLChildCount', 'XMLError', 'XMLErrorLine', 'XMLErrorPosition', 'XMLNodeFromID', 'XMLNodeFromPath', 'XMLNodePath',
        -            'XMLNodeType', 'XMLStatus', 'Year', 'ZoomSprite3D'
        -            ),
        -        3 => array(
        -            // some ASM instructions
        -            'AAA', 'AAD', 'AAM', 'AAS', 'ADC', 'ADD', 'AND', 'ARPL', 'BOUND', 'BSF', 'BSR', 'BSWAP', 'BT', 'BTC', 'BTR',
        -            'BTS', 'CALL', 'CBW', 'CDQ', 'CLC', 'CLD', 'CLI', 'CLTS', 'CMC', 'CMP', 'CMPS', 'CMPXCHG', 'CWD', 'CWDE',
        -            'DAA', 'DAS', 'DB', 'DD', 'DEC', 'DIV', 'DW', 'ENTER', 'ESC', 'F2XM1', 'FABS', 'FADD', 'FCHS', 'FCLEX',
        -            'FCOM', 'FDIV', 'FDIVR', 'FFREE', 'FINCSTP', 'FINIT', 'FLD', 'FLD1', 'FLDCW', 'FMUL', 'FNOP', 'FPATAN',
        -            'FPREM', 'FRNDINT', 'FSAVE', 'FSCALE', 'FSETPM', 'FSIN', 'FSQRT', 'FST', 'FSTENV', 'FSTSW', 'FSUB',
        -            'FSUBR', 'FTST', 'FUCOM', 'FWAIT', 'FXAM', 'FXCH', 'FXTRACT', 'FYL2X', 'FYL2XP1', 'HLT', 'IDIV', 'IMUL',
        -            'IN', 'INC', 'INS', 'INT', 'INTO', 'INVLPG', 'IRET', 'IRETD', 'JA', 'JAE', 'JB', 'JBE', 'JC', 'JCXZ', 'JE', 'JECXZ',
        -            'JG', 'JGE', 'JL', 'JLE', 'JMP', 'JNA', 'JNAE', 'JNB', 'JNBE', 'JNC', 'JNE', 'JNG', 'JNGE', 'JNL', 'JNLE', 'JNO', 'JNP',
        -            'JNS', 'JNZ', 'JO', 'JP', 'JPE', 'JPO', 'JS', 'JZ', 'LAHF', 'LAR', 'LDS', 'LEA', 'LEAVE', 'LES', 'LFS', 'LGDT', 'LGS',
        -            'LIDT', 'LLDT', 'LMSW', 'LOCK', 'LODS', 'LOOP', 'LOOPE', 'LOOPNE', 'LOOPNZ', 'LOOPZ', 'LSL', 'LSS', 'LTR',
        -            'MOV', 'MOVS', 'MOVSX', 'MOVZX', 'MUL', 'NEG', 'NOP', 'NOT', 'OR', 'OUT', 'OUTS', 'POP', 'POPA', 'POPAD',
        -            'POPF', 'POPFD', 'PUSH', 'PUSHA', 'PUSHAD', 'PUSHF', 'PUSHFD', 'RCL', 'RCR', 'REP', 'REPE', 'REPNE',
        -            'REPNZ', 'REPZ', 'RET', 'RETF', 'ROL', 'ROR', 'SAHF', 'SAL', 'SAR', 'SBB', 'SCAS', 'SETAE', 'SETB', 'SETBE',
        -            'SETC', 'SETE', 'SETG', 'SETGE', 'SETL', 'SETLE', 'SETNA', 'SETNAE', 'SETNB', 'SETNC', 'SETNE', 'SETNG',
        -            'SETNGE', 'SETNL', 'SETNLE', 'SETNO', 'SETNP', 'SETNS', 'SETNZ', 'SETO', 'SETP', 'SETPE', 'SETPO',
        -            'SETS', 'SETZ', 'SGDT', 'SHL', 'SHLD', 'SHR', 'SHRD', 'SIDT', 'SLDT', 'SMSW', 'STC', 'STD', 'STI',
        -            'STOS', 'STR', 'SUB', 'TEST', 'VERR', 'VERW', 'WAIT', 'WBINVD', 'XCHG', 'XLAT', 'XLATB', 'XOR'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '+', '-', '*', '/', '\\', '>', '<', '=', '<=', '>=', '&', '|', '!', '~', '<>', '>>', '<<', '%'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000066; font-weight: bold;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #000fff;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #ff0000; font-style: italic;',
        -            'MULTI' => 'color: #ff0000; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000066;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #CC0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000066;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '\\'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => false,
        -        1 => false
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/pycon.php b/vendor/easybook/geshi/geshi/pycon.php
        deleted file mode 100644
        index a215912..0000000
        --- a/vendor/easybook/geshi/geshi/pycon.php
        +++ /dev/null
        @@ -1,63 +0,0 @@
        ->>).*?$(?:\n\.\.\..*?$)*($)/m';
        -$language_data['HIGHLIGHT_STRICT_BLOCK'][-1] = true;
        -
        -$language_data['STYLES']['SCRIPT'][-1] = 'color: #222222;';
        -
        -if(!isset($language_data['COMMENT_REGEXP'])) {
        -    $language_data['COMMENT_REGEXP'] = array();
        -}
        -
        -$language_data['COMMENT_REGEXP'][-1] = '/(?:^|\A\s)(?:>>>|\.\.\.)/m';
        -$language_data['STYLES']['COMMENTS'][-1] = 'color: #444444;';
        -
        diff --git a/vendor/easybook/geshi/geshi/pys60.php b/vendor/easybook/geshi/geshi/pys60.php
        deleted file mode 100644
        index 865b59a..0000000
        --- a/vendor/easybook/geshi/geshi/pys60.php
        +++ /dev/null
        @@ -1,271 +0,0 @@
        - 'Python for S60',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', "'", '"""',"'''",'""','""'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -
        -        /*
        -         ** Set 1: reserved words
        -         ** http://python.org/doc/current/ref/keywords.html
        -         */
        -        1 => array(
        -            'and', 'del', 'for', 'is', 'raise', 'assert', 'elif', 'from', 'lambda', 'return', 'break',
        -            'else', 'global', 'not', 'try', 'class', 'except', 'if', 'or', 'while', 'continue', 'exec',
        -            'import', 'pass', 'yield', 'def', 'finally', 'in', 'print', "<<", ">>", "as"
        -            ),
        -
        -        /*
        -         ** Set 2: builtins
        -         ** http://python.org/doc/current/lib/built-in-funcs.html
        -         */
        -        2 => array(
        -            '__import__', 'abs', 'basestring', 'bool', 'callable', 'chr', 'classmethod', 'cmp',
        -            'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile',
        -            'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help',
        -            'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'list', 'locals',
        -            'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'range',
        -            'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',
        -            'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode',
        -            'vars', 'xrange', 'zip',
        -            // Built-in constants: http://python.org/doc/current/lib/node35.html
        -            'False', 'True', 'None', 'NotImplemented', 'Ellipsis',
        -            // Built-in Exceptions: http://python.org/doc/current/lib/module-exceptions.html
        -            'Exception', 'StandardError', 'ArithmeticError', 'LookupError', 'EnvironmentError',
        -            'AssertionError', 'AttributeError', 'EOFError', 'FloatingPointError', 'IOError',
        -            'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'MemoryError', 'NameError',
        -            'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError',
        -            'StopIteration', 'SyntaxError', 'SystemError', 'SystemExit', 'TypeError',
        -            'UnboundlocalError', 'UnicodeError', 'UnicodeEncodeError', 'UnicodeDecodeError',
        -            'UnicodeTranslateError', 'ValueError', 'WindowsError', 'ZeroDivisionError', 'Warning',
        -            'UserWarning', 'DeprecationWarning', 'PendingDeprecationWarning', 'SyntaxWarning',
        -            'RuntimeWarning', 'FutureWarning',
        -            //Symbian Errors
        -            "SymbianError", "KernelError",
        -            // self: this is a common python convention (but not a reserved word)
        -            'self'
        -            ),
        -
        -        /*
        -         ** Set 3: standard library
        -         ** http://python.org/doc/current/lib/modindex.html
        -         */
        -        3 => array(
        -            '__builtin__', '__future__', '__main__', '_winreg', 'aifc', 'AL', 'al', 'anydbm',
        -            'array', 'asynchat', 'asyncore', 'atexit', 'audioop', 'base64', 'BaseHTTPServer',
        -            'Bastion', 'binascii', 'binhex', 'bisect', 'bsddb', 'bz2', 'calendar', 'cd', 'cgi',
        -            'CGIHTTPServer', 'cgitb', 'chunk', 'cmath', 'cmd', 'code', 'codecs', 'codeop',
        -            'collections', 'colorsys', 'commands', 'compileall', 'compiler',
        -            'ConfigParser', 'Cookie', 'cookielib', 'copy', 'copy_reg', 'cPickle', 'crypt',
        -            'cStringIO', 'csv', 'curses', 'datetime', 'dbhash', 'dbm', 'decimal', 'DEVICE',
        -            'difflib', 'dircache', 'dis', 'distutils', 'dl', 'doctest', 'DocXMLRPCServer', 'dumbdbm',
        -            'dummy_thread', 'dummy_threading', 'email', 'encodings', 'errno', 'exceptions', 'fcntl',
        -            'filecmp', 'fileinput', 'FL', 'fl', 'flp', 'fm', 'fnmatch', 'formatter', 'fpectl',
        -            'fpformat', 'ftplib', 'gc', 'gdbm', 'getopt', 'getpass', 'gettext', 'GL', 'gl', 'glob',
        -            'gopherlib', 'grp', 'gzip', 'heapq', 'hmac', 'hotshot', 'htmlentitydefs', 'htmllib',
        -            'HTMLParser', 'httplib', 'imageop', 'imaplib', 'imgfile', 'imghdr', 'imp', 'inspect',
        -            'itertools', 'jpeg', 'keyword', 'linecache', 'locale', 'logging', 'mailbox', 'mailcap',
        -            'marshal', 'math', 'md5', 'mhlib', 'mimetools', 'mimetypes', 'MimeWriter', 'mimify',
        -            'mmap', 'msvcrt', 'multifile', 'mutex', 'netrc', 'new', 'nis', 'nntplib', 'operator',
        -            'optparse', 'os', 'ossaudiodev', 'parser', 'pdb', 'pickle', 'pickletools', 'pipes',
        -            'pkgutil', 'platform', 'popen2', 'poplib', 'posix', 'posixfile', 'pprint', 'profile',
        -            'pstats', 'pty', 'pwd', 'py_compile', 'pyclbr', 'pydoc', 'Queue', 'quopri', 'random',
        -            're', 'readline', 'resource', 'rexec', 'rgbimg', 'rlcompleter',
        -            'robotparser', 'sched', 'ScrolledText', 'select', 'sets', 'sgmllib', 'sha', 'shelve',
        -            'shlex', 'shutil', 'signal', 'SimpleHTTPServer', 'SimpleXMLRPCServer', 'site', 'smtpd',
        -            'smtplib', 'sndhdr', 'socket', 'SocketServer', 'stat', 'statcache', 'statvfs', 'string',
        -            'StringIO', 'stringprep', 'struct', 'subprocess', 'sunau', 'SUNAUDIODEV', 'sunaudiodev',
        -            'symbol', 'sys', 'syslog', 'tabnanny', 'tarfile', 'telnetlib', 'tempfile', 'termios',
        -            'test', 'textwrap', 'thread', 'threading', 'time', 'timeit', 'Tix', 'Tkinter', 'token',
        -            'tokenize', 'traceback', 'tty', 'turtle', 'types', 'unicodedata', 'unittest', 'urllib2',
        -            'urllib', 'urlparse', 'user', 'UserDict', 'UserList', 'UserString', 'uu', 'warnings',
        -            'wave', 'weakref', 'webbrowser', 'whichdb', 'whrandom', 'winsound', 'xdrlib', 'xml',
        -            'xmllib', 'xmlrpclib', 'zipfile', 'zipimport', 'zlib', "os.path", "sys.path",
        -
        -            //PythonS60 Standard Library
        -            //http://pys60.garage.maemo.org/doc/s60/
        -            //These are the standard modules in the archive
        -
        -            "appuifw", "globalui","e32", "telephone", "aosocket", "btsocket",
        -            "sysinfo","camera","graphics","keycapture","key_codes","topwindow", "gles",
        -            "glcanvas","sensor", "audio","messaging", "inbox","location","positioning",
        -            "contacts", "e32calendar", "e32db","e32dbm","logs","scriptext",
        -            "series60_console",
        -
        -            //These are external but very often usable modules
        -
        -            "appuifw2","ArchetypeUI","elementtree","lightblue",
        -            "activaprofile","Adjustor","akntextutils","aosocketnativenew",
        -            "appreciation","applicationmanager","appswitch","atextit","bt_teror","btconsole",
        -            "btswitch","cElementTree","cenrep","cerealizer","cl_gui","clipboard",
        -            "clipboard_CHN","debugger","decompile2",
        -            "dir_iter","download","easydb","ECenrep","Edit_find","efeature","elocation","envy",
        -            "EProfile","erestart","error","esyagent","Execwap","exprofile","fastcamera",
        -            "feature","fgimage","filebrowser","firmware","fold","fonts","fraction","FTP",
        -            "ftplibnew","fy_manager","fy_menu","gles_utils","gps_location","hack",
        -            "HTML2TXT","iapconnect","icon_image","image_decoder",
        -            "ini","interactive_console","inting","key_modifiers","key_tricks","keypress",
        -            "landmarks","lite_fm","locationacq","locationrequestor",
        -            "logo","markupbase","mbm","mbm2","minidb","miniinfo","MISC",
        -            "misty","Msg","ntpath","odict","Paintbox","pathinfo","pexif","pickcolor",
        -            "powlite_fm","powlite_fm2","powlite_fm3","powlite_fme","prgbar","prodb",
        -            "profileengine","progressbar","progressbartw","progressnotes",
        -            "ProgressBarTW2","proshivka","py_upload","pyConnection","PyFileMan",
        -            "pykeylock","PyPyc","pyqq","pys60crypto","pys60usb","rfc822",
        -            "RUSOS","scmk","scrollpage","SISFIELDS","SISFIELD","sisfile",
        -            "SISINFO","sisreader","Sistools","smidi","smsreject","speechy","sre_compile",
        -            "sre_constants","sre_parse","sre","sysagent","syslang","TextMan",
        -            "textrenderer","TextWrap","topwind","tsocket","uikludge","uikludges","uitricks",
        -            "walkfile","wallpaper","wfm_lite",
        -            "wif_keys","wif","window","wlanmgmt","wlantools","wt_color","wt_requesters",
        -            "zhkey",
        -
        -            //These are recent additions
        -            "miffile"
        -            ),
        -
        -        /*
        -         ** Set 4: special methods
        -         ** http://python.org/doc/current/ref/specialnames.html
        -         */
        -        4 => array(
        -            ///*
        -            //// Iterator types: http://python.org/doc/current/lib/typeiter.html
        -            //'__iter__', 'next',
        -            //// String types: http://python.org/doc/current/lib/string-methods.html
        -            //'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs',
        -            //'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle',
        -            //'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust',
        -            //'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
        -            //'translate', 'upper', 'zfill',
        -            // */
        -
        -            // Basic customization: http://python.org/doc/current/ref/customization.html
        -            '__new__', '__init__', '__del__', '__repr__', '__str__',
        -            '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__cmp__', '__rcmp__',
        -            '__hash__', '__nonzero__', '__unicode__', '__dict__',
        -            // Attribute access: http://python.org/doc/current/ref/attribute-access.html
        -            '__setattr__', '__delattr__', '__getattr__', '__getattribute__', '__get__', '__set__',
        -            '__delete__', '__slots__',
        -            // Class creation, callable objects
        -            '__metaclass__', '__call__',
        -            // Container types: http://python.org/doc/current/ref/sequence-types.html
        -            '__len__', '__getitem__', '__setitem__', '__delitem__', '__iter__', '__contains__',
        -            '__getslice__', '__setslice__', '__delslice__',
        -            // Numeric types: http://python.org/doc/current/ref/numeric-types.html
        -            '__abs__','__add__','__and__','__coerce__','__div__','__divmod__','__float__',
        -            '__hex__','__iadd__','__isub__','__imod__','__idiv__','__ipow__','__iand__',
        -            '__ior__','__ixor__', '__ilshift__','__irshift__','__invert__','__int__',
        -            '__long__','__lshift__',
        -            '__mod__','__mul__','__neg__','__oct__','__or__','__pos__','__pow__',
        -            '__radd__','__rdiv__','__rdivmod__','__rmod__','__rpow__','__rlshift__','__rrshift__',
        -            '__rshift__','__rsub__','__rmul__','__rand__','__rxor__','__ror__',
        -            '__sub__','__xor__'
        -            )
        -
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '`'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #006000;font-weight:bold;',   // Reserved
        -            2 => 'color: #800950;font-size:105%',                  // Built-ins + self
        -            3 => 'color: #003399;font-size:106%',                  // Standard lib
        -            4 => 'color: #0000cd;'                  // Special methods
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style:italic;font-size:92%',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #930; font-weight: bold;font-size:105%'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: maroon;font-size:102%;padding:2px'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #666;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #2356F8;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: navy;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66ccFF;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/python.php b/vendor/easybook/geshi/geshi/python.php
        deleted file mode 100644
        index b534dfc..0000000
        --- a/vendor/easybook/geshi/geshi/python.php
        +++ /dev/null
        @@ -1,243 +0,0 @@
        - 'Python',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    //Longest quotemarks ALWAYS first
        -    'QUOTEMARKS' => array('"""', "'''", '"', "'"),
        -    'ESCAPE_CHAR' => '\\',
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX_0O | GESHI_NUMBER_HEX_PREFIX |
        -        GESHI_NUMBER_FLT_NONSCI | GESHI_NUMBER_FLT_NONSCI_F |
        -        GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -
        -        /*
        -        ** Set 1: reserved words
        -        ** http://python.org/doc/current/ref/keywords.html
        -        */
        -        1 => array(
        -            'and', 'del', 'for', 'is', 'raise', 'assert', 'elif', 'from', 'lambda', 'return', 'break',
        -            'else', 'global', 'not', 'try', 'class', 'except', 'if', 'or', 'while', 'continue', 'exec',
        -            'import', 'pass', 'yield', 'def', 'finally', 'in', 'print', 'with', 'as', 'nonlocal'
        -            ),
        -
        -        /*
        -        ** Set 2: builtins
        -        ** http://python.org/doc/current/lib/built-in-funcs.html
        -        */
        -        2 => array(
        -            '__import__', 'abs', 'basestring', 'bool', 'callable', 'chr', 'classmethod', 'cmp',
        -            'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile',
        -            'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help',
        -            'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'list', 'locals',
        -            'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'range',
        -            'raw_input', 'reduce', 'reload', 'reversed', 'round', 'set', 'setattr', 'slice',
        -            'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode',
        -            'vars', 'xrange', 'zip',
        -            // Built-in constants: http://python.org/doc/current/lib/node35.html
        -            'False', 'True', 'None', 'NotImplemented', 'Ellipsis',
        -            // Built-in Exceptions: http://python.org/doc/current/lib/module-exceptions.html
        -            'Exception', 'StandardError', 'ArithmeticError', 'LookupError', 'EnvironmentError',
        -            'AssertionError', 'AttributeError', 'EOFError', 'FloatingPointError', 'IOError',
        -            'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'MemoryError', 'NameError',
        -            'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError',
        -            'StopIteration', 'SyntaxError', 'SystemError', 'SystemExit', 'TypeError',
        -            'UnboundlocalError', 'UnicodeError', 'UnicodeEncodeError', 'UnicodeDecodeError',
        -            'UnicodeTranslateError', 'ValueError', 'WindowsError', 'ZeroDivisionError', 'Warning',
        -            'UserWarning', 'DeprecationWarning', 'PendingDeprecationWarning', 'SyntaxWarning',
        -            'RuntimeWarning', 'FutureWarning',
        -            // self: this is a common python convention (but not a reserved word)
        -            'self',
        -            // other
        -            'any', 'all'
        -            ),
        -
        -        /*
        -        ** Set 3: standard library
        -        ** http://python.org/doc/current/lib/modindex.html
        -        */
        -        3 => array(
        -            '__builtin__', '__future__', '__main__', '_winreg', 'aifc', 'AL', 'al', 'anydbm',
        -            'array', 'asynchat', 'asyncore', 'atexit', 'audioop', 'base64', 'BaseHTTPServer',
        -            'Bastion', 'binascii', 'binhex', 'bisect', 'bsddb', 'bz2', 'calendar', 'cd', 'cgi',
        -            'CGIHTTPServer', 'cgitb', 'chunk', 'cmath', 'cmd', 'code', 'codecs', 'codeop',
        -            'collections', 'colorsys', 'commands', 'compileall', 'compiler',
        -            'ConfigParser', 'Cookie', 'cookielib', 'copy', 'copy_reg', 'cPickle', 'crypt',
        -            'cStringIO', 'csv', 'curses', 'datetime', 'dbhash', 'dbm', 'decimal', 'DEVICE',
        -            'difflib', 'dircache', 'dis', 'distutils', 'dl', 'doctest', 'DocXMLRPCServer', 'dumbdbm',
        -            'dummy_thread', 'dummy_threading', 'email', 'encodings', 'errno', 'exceptions', 'fcntl',
        -            'filecmp', 'fileinput', 'FL', 'fl', 'flp', 'fm', 'fnmatch', 'formatter', 'fpectl',
        -            'fpformat', 'ftplib', 'gc', 'gdbm', 'getopt', 'getpass', 'gettext', 'GL', 'gl', 'glob',
        -            'gopherlib', 'grp', 'gzip', 'heapq', 'hmac', 'hotshot', 'htmlentitydefs', 'htmllib',
        -            'HTMLParser', 'httplib', 'imageop', 'imaplib', 'imgfile', 'imghdr', 'imp', 'inspect',
        -            'itertools', 'jpeg', 'keyword', 'linecache', 'locale', 'logging', 'mailbox', 'mailcap',
        -            'marshal', 'math', 'md5', 'mhlib', 'mimetools', 'mimetypes', 'MimeWriter', 'mimify',
        -            'mmap', 'msvcrt', 'multifile', 'mutex', 'netrc', 'new', 'nis', 'nntplib', 'operator',
        -            'optparse', 'os', 'ossaudiodev', 'parser', 'pdb', 'pickle', 'pickletools', 'pipes',
        -            'pkgutil', 'platform', 'popen2', 'poplib', 'posix', 'posixfile', 'pprint', 'profile',
        -            'pstats', 'pty', 'pwd', 'py_compile', 'pyclbr', 'pydoc', 'Queue', 'quopri', 'random',
        -            're', 'readline', 'repr', 'resource', 'rexec', 'rfc822', 'rgbimg', 'rlcompleter',
        -            'robotparser', 'sched', 'ScrolledText', 'select', 'sets', 'sgmllib', 'sha', 'shelve',
        -            'shlex', 'shutil', 'signal', 'SimpleHTTPServer', 'SimpleXMLRPCServer', 'site', 'smtpd',
        -            'smtplib', 'sndhdr', 'socket', 'SocketServer', 'stat', 'statcache', 'statvfs', 'string',
        -            'StringIO', 'stringprep', 'struct', 'subprocess', 'sunau', 'SUNAUDIODEV', 'sunaudiodev',
        -            'symbol', 'sys', 'syslog', 'tabnanny', 'tarfile', 'telnetlib', 'tempfile', 'termios',
        -            'test', 'textwrap', 'thread', 'threading', 'time', 'timeit', 'Tix', 'Tkinter', 'token',
        -            'tokenize', 'traceback', 'tty', 'turtle', 'types', 'unicodedata', 'unittest', 'urllib2',
        -            'urllib', 'urlparse', 'user', 'UserDict', 'UserList', 'UserString', 'uu', 'warnings',
        -            'wave', 'weakref', 'webbrowser', 'whichdb', 'whrandom', 'winsound', 'xdrlib', 'xml',
        -            'xmllib', 'xmlrpclib', 'zipfile', 'zipimport', 'zlib',
        -            // Python 3.0
        -            'bytes', 'bytearray'
        -            ),
        -
        -        /*
        -        ** Set 4: special methods
        -        ** http://python.org/doc/current/ref/specialnames.html
        -        */
        -        4 => array(
        -            /*
        -            // Iterator types: http://python.org/doc/current/lib/typeiter.html
        -            '__iter__', 'next',
        -            // String types: http://python.org/doc/current/lib/string-methods.html
        -            'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs',
        -            'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle',
        -            'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust',
        -            'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
        -            'translate', 'upper', 'zfill',
        -            */
        -            // Basic customization: http://python.org/doc/current/ref/customization.html
        -            '__new__', '__init__', '__del__', '__repr__', '__str__',
        -            '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__cmp__', '__rcmp__',
        -            '__hash__', '__nonzero__', '__unicode__', '__dict__',
        -            // Attribute access: http://python.org/doc/current/ref/attribute-access.html
        -            '__setattr__', '__delattr__', '__getattr__', '__getattribute__', '__get__', '__set__',
        -            '__delete__', '__slots__',
        -            // Class creation, callable objects
        -            '__metaclass__', '__call__',
        -            // Container types: http://python.org/doc/current/ref/sequence-types.html
        -            '__len__', '__getitem__', '__setitem__', '__delitem__', '__iter__', '__contains__',
        -            '__getslice__', '__setslice__', '__delslice__',
        -            // Numeric types: http://python.org/doc/current/ref/numeric-types.html
        -            '__abs__','__add__','__and__','__coerce__','__div__','__divmod__','__float__',
        -            '__hex__','__iadd__','__isub__','__imod__','__idiv__','__ipow__','__iand__',
        -            '__ior__','__ixor__', '__ilshift__','__irshift__','__invert__','__int__',
        -            '__long__','__lshift__',
        -            '__mod__','__mul__','__neg__','__oct__','__or__','__pos__','__pow__',
        -            '__radd__','__rdiv__','__rdivmod__','__rmod__','__rpow__','__rlshift__','__rrshift__',
        -            '__rshift__','__rsub__','__rmul__','__rand__','__rxor__','__ror__',
        -            '__sub__','__xor__'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '<', '>', '=', '!', '<=', '>=',             //·comparison·operators
        -        '~', '@',                                   //·unary·operators
        -        ';', ','                                    //·statement·separator
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #ff7700;font-weight:bold;',    // Reserved
        -            2 => 'color: #008000;',                        // Built-ins + self
        -            3 => 'color: #dc143c;',                        // Standard lib
        -            4 => 'color: #0000cd;'                        // Special methods
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: black;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #483d8b;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff4500;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: black;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/q.php b/vendor/easybook/geshi/geshi/q.php
        deleted file mode 100644
        index c1ea9aa..0000000
        --- a/vendor/easybook/geshi/geshi/q.php
        +++ /dev/null
        @@ -1,148 +0,0 @@
        -)
        - * -------------------------
        - *  - Fix the handling of single line comments
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME'                 => 'q/kdb+',
        -    'COMMENT_SINGLE'            => array(1 => '//'),
        -    'COMMENT_MULTI'             => array(),
        -    'COMMENT_REGEXP'            => array(
        -        2 => '/ \s\/.*/',         # This needs to get fixed up, since it won't catch some instances
        -        # Multi line comments (Moved from REGEXPS)
        -        3 => '/^\/\s*?\n.*?\n\\\s*?\n/smi'
        -        ),
        -    'CASE_KEYWORDS'             => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS'                => array('"'),
        -    'ESCAPE_CHAR'               => '\\',
        -    'OOLANG'                    => false,
        -    'OBJECT_SPLITTERS'          => array(),
        -    'STRICT_MODE_APPLIES'       => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS'         => array(),
        -    'HIGHLIGHT_STRICT_BLOCK'    => array(),
        -    'TAB_WIDTH'                 => 4,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'abs', 'acos', 'all', 'and', 'any', 'asc', 'asin', 'asof', 'atan', 'attr', 'avg', 'avgs', 'bin', 'ceiling',
        -            'cols', 'cor', 'cos', 'count', 'cov', 'cross', 'cut', 'deltas', 'desc', 'dev', 'differ', 'distinct',
        -            'div', 'each', 'enlist', 'eval', 'except', 'exec', 'exit', 'exp', 'fills', 'first', 'flip', 'floor',
        -            'fkeys', 'get', 'getenv', 'group', 'gtime', 'hclose', 'hcount', 'hdel', 'hopen', 'hsym', 'iasc', 'idesc',
        -            'in', 'insert', 'inter', 'inv', 'joins', 'key', 'keys', 'last', 'like', 'load', 'log', 'lower',
        -            'lsq', 'ltime', 'ltrim', 'mavg', 'max', 'maxs', 'mcount', 'md5', 'mdev', 'med', 'meta', 'min', 'mins',
        -            'mmax', 'mmin', 'mmu', 'mod', 'msum', 'neg', 'next', 'not', 'null', 'or', 'over', 'parse', 'peach',
        -            'plist', 'prd', 'prds', 'prev', 'rand', 'rank', 'ratios', 'raze', 'read0', 'read1', 'reciprocal',
        -            'reverse', 'rload', 'rotate', 'rsave', 'rtrim', 'save', 'scan', 'set', 'setenv', 'show', 'signum',
        -            'sin', 'sqrt', 'ss', 'ssr', 'string', 'sublist', 'sum', 'sums', 'sv', 'system', 'tables', 'tan', 'til', 'trim',
        -            'txf', 'type', 'ungroup', 'union', 'upper', 'upsert', 'value', 'var', 'view', 'views', 'vs',
        -            'wavg', 'within', 'wsum', 'xasc', 'xbar', 'xcol', 'xcols', 'xdesc', 'xexp', 'xgroup', 'xkey',
        -            'xlog', 'xprev', 'xrank'
        -            ),
        -        # kdb database template keywords
        -        2 => array(
        -            'aj', 'by', 'delete', 'fby', 'from', 'ij', 'lj', 'pj', 'select', 'uj', 'update', 'where', 'wj',
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '?', '#', ',', '_', '@', '.', '^', '~', '$', '!', '\\', '\\', '/:', '\:', "'", "':", '::', '+', '-', '%', '*'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #009900; font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #666666; font-style: italic;',
        -            3 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #660099; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold;',
        -            'HARD' => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #990000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000dd;',
        -            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            2   => 'color: #999900;',
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'REGEXPS' => array(
        -        # Symbols
        -        2 => '`[^\s"]*',
        -        ),
        -    'URLS'  => array(
        -        1   => '',
        -        2   => '',
        -        ),
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/qbasic.php b/vendor/easybook/geshi/geshi/qbasic.php
        deleted file mode 100644
        index b805d29..0000000
        --- a/vendor/easybook/geshi/geshi/qbasic.php
        +++ /dev/null
        @@ -1,161 +0,0 @@
        - 'QBasic/QuickBASIC',
        -    'COMMENT_SINGLE' => array(1 => "'"),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        //Single-Line Comments using REM command
        -        2 => "/\bREM.*?$/i",
        -        //Line numbers
        -        3 => "/^\s*\d+/im"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT |
        -        GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'DO', 'LOOP', 'WHILE', 'WEND', 'THEN', 'ELSE', 'ELSEIF', 'IF',
        -            'FOR', 'TO', 'NEXT', 'STEP', 'GOTO', 'GOSUB', 'CALL', 'CALLS',
        -            'SUB', 'FUNCTION', 'RETURN', 'RESUME', 'SELECT', 'CASE', 'UNTIL'
        -            ),
        -        3 => array(
        -            'ABS', 'ABSOLUTE', 'ACCESS', 'ALIAS', 'AND', 'ANY', 'APPEND', 'AS', 'ASC', 'ATN',
        -            'BASE', 'BEEP', 'BINARY', 'BLOAD', 'BSAVE', 'BYVAL',
        -            'CDBL', 'CDECL', 'CHAIN', 'CHDIR', 'CHR$', 'CINT', 'CIRCLE', 'CLEAR',
        -            'CLNG', 'CLOSE', 'CLS', 'COM', 'COMMAND$', 'COMMON', 'CONST', 'COS', 'CSNG',
        -            'CSRLIN', 'CVD', 'CVDMBF', 'CVI', 'CVL', 'CVS', 'CVSMDF', 'DATA', 'DATE$',
        -            'DECLARE', 'DEF', 'FN', 'SEG', 'DEFDBL', 'DEFINT', 'DEFLNG', 'DEFSNG', 'DEFSTR',
        -            'DIM', 'DOUBLE', 'DRAW', 'END', 'ENVIRON', 'ENVIRON$', 'EOF', 'EQV', 'ERASE',
        -            'ERDEV', 'ERDEV$', 'ERL', 'ERR', 'ERROR', 'EXIT', 'EXP', 'FIELD', 'FILEATTR',
        -            'FILES', 'FIX', 'FRE', 'FREEFILE', 'GET', 'HEX$', 'IMP', 'INKEY$',
        -            'INP', 'INPUT', 'INPUT$', 'INSTR', 'INT', 'INTEGER', 'IOCTL', 'IOCTL$', 'IS',
        -            'KEY', 'KILL', 'LBOUND', 'LCASE$', 'LEFT$', 'LEN', 'LET', 'LINE', 'LIST', 'LOC',
        -            'LOCAL', 'LOCATE', 'LOCK', 'LOF', 'LOG', 'LONG', 'LPOS', 'LPRINT',
        -            'LSET', 'LTRIM$', 'MID$', 'MKD$', 'MKDIR', 'MKDMBF$', 'MKI$', 'MKL$',
        -            'MKS$', 'MKSMBF$', 'MOD', 'NAME', 'NOT', 'OCT$', 'OFF', 'ON', 'PEN', 'PLAY',
        -            'OPEN', 'OPTION', 'OR', 'OUT', 'OUTPUT',
        -            'PAINT', 'PALETTE', 'PCOPY', 'PEEK', 'PMAP', 'POINT', 'POKE', 'POS', 'PRESET',
        -            'PRINT', 'PSET', 'PUT', 'RANDOM', 'RANDOMIZE', 'READ', 'REDIM', 'RESET',
        -            'RESTORE', 'RIGHT$', 'RMDIR', 'RND', 'RSET', 'RTRIM$', 'RUN', 'SADD', 'SCREEN',
        -            'SEEK', 'SETMEM', 'SGN', 'SHARED', 'SHELL', 'SIGNAL', 'SIN', 'SINGLE', 'SLEEP',
        -            'SOUND', 'SPACE$', 'SPC', 'SQR', 'STATIC', 'STICK', 'STOP', 'STR$', 'STRIG',
        -            'STRING', 'STRING$', 'SWAP', 'SYSTEM', 'TAB', 'TAN', 'TIME$', 'TIMER',
        -            'TROFF', 'TRON', 'TYPE', 'UBOUND', 'UCASE$', 'UEVENT', 'UNLOCK', 'USING', 'VAL',
        -            'VARPTR', 'VARPTR$', 'VARSEG', 'VIEW', 'WAIT', 'WIDTH', 'WINDOW', 'WRITE', 'XOR'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', ',', '+', '-', '*', '/', '=', '<', '>', '^'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        3 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #a1a100;',
        -            3 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080;',
        -            2 => 'color: #808080;',
        -            3 => 'color: #8080C0;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'color: #cc66cc;',
        -            2 => 'color: #339933;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        3 => 'http://www.qbasicnews.com/qboho/qck{FNAMEL}.shtml'
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        1 => '&(?:H[0-9a-fA-F]+|O[0-7]+)(?!\w)',
        -        2 => '#[0-9]+(?!\w)'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 8
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/racket.php b/vendor/easybook/geshi/geshi/racket.php
        deleted file mode 100644
        index c0d931b..0000000
        --- a/vendor/easybook/geshi/geshi/racket.php
        +++ /dev/null
        @@ -1,964 +0,0 @@
        - 'Racket',
        -    'COMMENT_SINGLE' => array(
        -        1 => ';',
        -        ),
        -    'COMMENT_MULTI' => array(
        -        '#|' => '|#',
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"',
        -        ),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'abort-current-continuation', 'abs', 'absolute-path?', 'acos', 'add1',
        -            'alarm-evt', 'always-evt', 'andmap', 'angle', 'append',
        -            'arithmetic-shift', 'arity-at-least-value', 'arity-at-least?',
        -            'asin', 'assf', 'assoc', 'assq', 'assv', 'atan', 'banner',
        -            'bitwise-and', 'bitwise-bit-field', 'bitwise-bit-set?',
        -            'bitwise-ior', 'bitwise-not', 'bitwise-xor', 'boolean?',
        -            'bound-identifier=?', 'box', 'box-cas!', 'box-immutable', 'box?',
        -            'break-enabled', 'break-thread', 'build-list', 'build-path',
        -            'build-path/convention-type', 'build-string', 'build-vector',
        -            'byte-pregexp', 'byte-pregexp?', 'byte-ready?', 'byte-regexp',
        -            'byte-regexp?', 'byte?', 'bytes', 'bytes>?', 'bytes<?',
        -            'bytes->immutable-bytes', 'bytes->list', 'bytes->path',
        -            'bytes->path-element', 'bytes->string/latin-1',
        -            'bytes->string/locale', 'bytes->string/utf-8',
        -            'bytes-append', 'bytes-close-converter', 'bytes-convert',
        -            'bytes-convert-end', 'bytes-converter?', 'bytes-copy',
        -            'bytes-copy!', 'bytes-fill!', 'bytes-length',
        -            'bytes-open-converter', 'bytes-ref', 'bytes-set!',
        -            'bytes-utf-8-index', 'bytes-utf-8-length', 'bytes-utf-8-ref',
        -            'bytes=?', 'bytes?', 'caaaar', 'caaadr', 'caaar', 'caadar',
        -            'caaddr', 'caadr', 'caar', 'cadaar', 'cadadr', 'cadar', 'caddar',
        -            'cadddr', 'caddr', 'cadr', 'call-in-nested-thread',
        -            'call-with-break-parameterization',
        -            'call-with-composable-continuation',
        -            'call-with-continuation-barrier', 'call-with-continuation-prompt',
        -            'call-with-current-continuation', 'call-with-escape-continuation',
        -            'call-with-exception-handler',
        -            'call-with-immediate-continuation-mark',
        -            'call-with-parameterization', 'call-with-semaphore',
        -            'call-with-semaphore/enable-break', 'call-with-values', 'call/cc',
        -            'call/ec', 'car', 'cdaaar', 'cdaadr', 'cdaar', 'cdadar', 'cdaddr',
        -            'cdadr', 'cdar', 'cddaar', 'cddadr', 'cddar', 'cdddar', 'cddddr',
        -            'cdddr', 'cddr', 'cdr', 'ceiling', 'channel-get', 'channel-put',
        -            'channel-put-evt', 'channel-put-evt?', 'channel-try-get',
        -            'channel?', 'chaperone-box', 'chaperone-continuation-mark-key',
        -            'chaperone-evt', 'chaperone-hash', 'chaperone-of?',
        -            'chaperone-procedure', 'chaperone-prompt-tag', 'chaperone-struct',
        -            'chaperone-struct-type', 'chaperone-vector', 'chaperone?',
        -            'char>=?', 'char>?', 'char<=?', 'char<?',
        -            'char->integer', 'char-alphabetic?', 'char-blank?',
        -            'char-ci>=?', 'char-ci>?', 'char-ci<=?', 'char-ci<?',
        -            'char-ci=?', 'char-downcase', 'char-foldcase',
        -            'char-general-category', 'char-graphic?', 'char-iso-control?',
        -            'char-lower-case?', 'char-numeric?', 'char-punctuation?',
        -            'char-ready?', 'char-symbolic?', 'char-title-case?',
        -            'char-titlecase', 'char-upcase', 'char-upper-case?',
        -            'char-utf-8-length', 'char-whitespace?', 'char=?', 'char?',
        -            'check-duplicate-identifier',
        -            'checked-procedure-check-and-extract', 'choice-evt',
        -            'cleanse-path', 'close-input-port', 'close-output-port',
        -            'collect-garbage', 'collection-file-path', 'collection-path',
        -            'compile', 'compile-allow-set!-undefined',
        -            'compile-context-preservation-enabled',
        -            'compile-enforce-module-constants', 'compile-syntax',
        -            'compiled-expression?', 'compiled-module-expression?',
        -            'complete-path?', 'complex?', 'compose', 'compose1', 'cons',
        -            'continuation-mark-key?', 'continuation-mark-set->context',
        -            'continuation-mark-set->list',
        -            'continuation-mark-set->list*', 'continuation-mark-set-first',
        -            'continuation-mark-set?', 'continuation-marks',
        -            'continuation-prompt-available?', 'continuation-prompt-tag?',
        -            'continuation?', 'copy-file', 'cos',
        -            'current-break-parameterization', 'current-code-inspector',
        -            'current-command-line-arguments', 'current-compile',
        -            'current-compiled-file-roots', 'current-continuation-marks',
        -            'current-custodian', 'current-directory', 'current-drive',
        -            'current-error-port', 'current-eval',
        -            'current-evt-pseudo-random-generator', 'current-gc-milliseconds',
        -            'current-get-interaction-input-port',
        -            'current-inexact-milliseconds', 'current-input-port',
        -            'current-inspector', 'current-library-collection-paths',
        -            'current-load', 'current-load-extension',
        -            'current-load-relative-directory', 'current-load/use-compiled',
        -            'current-locale', 'current-logger', 'current-memory-use',
        -            'current-milliseconds', 'current-module-declare-name',
        -            'current-module-declare-source', 'current-module-name-resolver',
        -            'current-namespace', 'current-output-port',
        -            'current-parameterization', 'current-preserved-thread-cell-values',
        -            'current-print', 'current-process-milliseconds',
        -            'current-prompt-read', 'current-pseudo-random-generator',
        -            'current-read-interaction', 'current-reader-guard',
        -            'current-readtable', 'current-seconds', 'current-security-guard',
        -            'current-subprocess-custodian-mode', 'current-thread',
        -            'current-thread-group', 'current-thread-initial-stack-size',
        -            'current-write-relative-directory', 'custodian-box-value',
        -            'custodian-box?', 'custodian-limit-memory',
        -            'custodian-managed-list', 'custodian-memory-accounting-available?',
        -            'custodian-require-memory', 'custodian-shutdown-all', 'custodian?',
        -            'custom-print-quotable-accessor', 'custom-print-quotable?',
        -            'custom-write-accessor', 'custom-write?', 'date*-nanosecond',
        -            'date*-time-zone-name', 'date*?', 'date-day', 'date-dst?',
        -            'date-hour', 'date-minute', 'date-month', 'date-second',
        -            'date-time-zone-offset', 'date-week-day', 'date-year',
        -            'date-year-day', 'date?', 'datum->syntax',
        -            'datum-intern-literal', 'default-continuation-prompt-tag',
        -            'delete-directory', 'delete-file', 'denominator',
        -            'directory-exists?', 'directory-list', 'display', 'displayln',
        -            'double-flonum?', 'dump-memory-stats', 'dynamic-require',
        -            'dynamic-require-for-syntax', 'dynamic-wind', 'eof', 'eof-object?',
        -            'ephemeron-value', 'ephemeron?', 'eprintf', 'eq-hash-code', 'eq?',
        -            'equal-hash-code', 'equal-secondary-hash-code', 'equal?',
        -            'equal?/recur', 'eqv-hash-code', 'eqv?', 'error',
        -            'error-display-handler', 'error-escape-handler',
        -            'error-print-context-length', 'error-print-source-location',
        -            'error-print-width', 'error-value->string-handler', 'eval',
        -            'eval-jit-enabled', 'eval-syntax', 'even?', 'evt?',
        -            'exact->inexact', 'exact-integer?',
        -            'exact-nonnegative-integer?', 'exact-positive-integer?', 'exact?',
        -            'executable-yield-handler', 'exit', 'exit-handler',
        -            'exn-continuation-marks', 'exn-message', 'exn:break-continuation',
        -            'exn:break:hang-up?', 'exn:break:terminate?', 'exn:break?',
        -            'exn:fail:contract:arity?', 'exn:fail:contract:continuation?',
        -            'exn:fail:contract:divide-by-zero?',
        -            'exn:fail:contract:non-fixnum-result?',
        -            'exn:fail:contract:variable-id', 'exn:fail:contract:variable?',
        -            'exn:fail:contract?', 'exn:fail:filesystem:errno-errno',
        -            'exn:fail:filesystem:errno?', 'exn:fail:filesystem:exists?',
        -            'exn:fail:filesystem:version?', 'exn:fail:filesystem?',
        -            'exn:fail:network:errno-errno', 'exn:fail:network:errno?',
        -            'exn:fail:network?', 'exn:fail:out-of-memory?',
        -            'exn:fail:read-srclocs', 'exn:fail:read:eof?',
        -            'exn:fail:read:non-char?', 'exn:fail:read?',
        -            'exn:fail:syntax-exprs', 'exn:fail:syntax:unbound?',
        -            'exn:fail:syntax?', 'exn:fail:unsupported?', 'exn:fail:user?',
        -            'exn:fail?', 'exn:srclocs-accessor', 'exn:srclocs?', 'exn?', 'exp',
        -            'expand', 'expand-once', 'expand-syntax', 'expand-syntax-once',
        -            'expand-syntax-to-top-form', 'expand-to-top-form',
        -            'expand-user-path', 'expt', 'file-exists?',
        -            'file-or-directory-identity', 'file-or-directory-modify-seconds',
        -            'file-or-directory-permissions', 'file-position', 'file-position*',
        -            'file-size', 'file-stream-buffer-mode', 'file-stream-port?',
        -            'filesystem-root-list', 'filter', 'find-executable-path',
        -            'find-library-collection-paths', 'find-system-path', 'findf',
        -            'fixnum?', 'floating-point-bytes->real', 'flonum?', 'floor',
        -            'flush-output', 'foldl', 'foldr', 'for-each', 'format', 'fprintf',
        -            'free-identifier=?', 'free-label-identifier=?',
        -            'free-template-identifier=?', 'free-transformer-identifier=?',
        -            'gcd', 'generate-temporaries', 'gensym', 'get-output-bytes',
        -            'get-output-string', 'getenv', 'global-port-print-handler',
        -            'guard-evt', 'handle-evt', 'handle-evt?', 'hash', 'hash->list',
        -            'hash-copy', 'hash-count', 'hash-eq?', 'hash-equal?', 'hash-eqv?',
        -            'hash-for-each', 'hash-has-key?', 'hash-iterate-first',
        -            'hash-iterate-key', 'hash-iterate-next', 'hash-iterate-value',
        -            'hash-keys', 'hash-map', 'hash-placeholder?', 'hash-ref',
        -            'hash-ref!', 'hash-remove', 'hash-remove!', 'hash-set',
        -            'hash-set!', 'hash-set*', 'hash-set*!', 'hash-update',
        -            'hash-update!', 'hash-values', 'hash-weak?', 'hash?', 'hasheq',
        -            'hasheqv', 'identifier-binding', 'identifier-label-binding',
        -            'identifier-prune-lexical-context',
        -            'identifier-prune-to-source-module',
        -            'identifier-remove-from-definition-context',
        -            'identifier-template-binding', 'identifier-transformer-binding',
        -            'identifier?', 'imag-part', 'immutable?', 'impersonate-box',
        -            'impersonate-continuation-mark-key', 'impersonate-hash',
        -            'impersonate-procedure', 'impersonate-prompt-tag',
        -            'impersonate-struct', 'impersonate-vector', 'impersonator-of?',
        -            'impersonator-prop:application-mark',
        -            'impersonator-property-accessor-procedure?',
        -            'impersonator-property?', 'impersonator?', 'in-cycle',
        -            'in-directory', 'in-hash', 'in-hash-keys', 'in-hash-pairs',
        -            'in-hash-values', 'in-parallel', 'in-sequences',
        -            'in-values*-sequence', 'in-values-sequence', 'inexact->exact',
        -            'inexact-real?', 'inexact?', 'input-port?', 'inspector?',
        -            'integer->char', 'integer->integer-bytes',
        -            'integer-bytes->integer', 'integer-length', 'integer-sqrt',
        -            'integer-sqrt/remainder', 'integer?',
        -            'internal-definition-context-seal', 'internal-definition-context?',
        -            'keyword<?', 'keyword->string', 'keyword-apply', 'keyword?',
        -            'kill-thread', 'lcm', 'length', 'liberal-define-context?',
        -            'link-exists?', 'list', 'list*', 'list->bytes',
        -            'list->string', 'list->vector', 'list-ref', 'list-tail',
        -            'list?', 'load', 'load-extension', 'load-on-demand-enabled',
        -            'load-relative', 'load-relative-extension', 'load/cd',
        -            'load/use-compiled', 'local-expand', 'local-expand/capture-lifts',
        -            'local-transformer-expand',
        -            'local-transformer-expand/capture-lifts', 'locale-string-encoding',
        -            'log', 'log-level?', 'log-max-level', 'log-message',
        -            'log-receiver?', 'logger-name', 'logger?', 'magnitude',
        -            'make-arity-at-least', 'make-base-empty-namespace',
        -            'make-base-namespace', 'make-bytes', 'make-channel',
        -            'make-continuation-mark-key', 'make-continuation-prompt-tag',
        -            'make-custodian', 'make-custodian-box', 'make-date', 'make-date*',
        -            'make-derived-parameter', 'make-directory', 'make-do-sequence',
        -            'make-empty-namespace', 'make-ephemeron', 'make-exn',
        -            'make-exn:break', 'make-exn:break:hang-up',
        -            'make-exn:break:terminate', 'make-exn:fail',
        -            'make-exn:fail:contract', 'make-exn:fail:contract:arity',
        -            'make-exn:fail:contract:continuation',
        -            'make-exn:fail:contract:divide-by-zero',
        -            'make-exn:fail:contract:non-fixnum-result',
        -            'make-exn:fail:contract:variable', 'make-exn:fail:filesystem',
        -            'make-exn:fail:filesystem:errno',
        -            'make-exn:fail:filesystem:exists',
        -            'make-exn:fail:filesystem:version', 'make-exn:fail:network',
        -            'make-exn:fail:network:errno', 'make-exn:fail:out-of-memory',
        -            'make-exn:fail:read', 'make-exn:fail:read:eof',
        -            'make-exn:fail:read:non-char', 'make-exn:fail:syntax',
        -            'make-exn:fail:syntax:unbound', 'make-exn:fail:unsupported',
        -            'make-exn:fail:user', 'make-file-or-directory-link', 'make-hash',
        -            'make-hash-placeholder', 'make-hasheq', 'make-hasheq-placeholder',
        -            'make-hasheqv', 'make-hasheqv-placeholder', 'make-immutable-hash',
        -            'make-immutable-hasheq', 'make-immutable-hasheqv',
        -            'make-impersonator-property', 'make-input-port', 'make-inspector',
        -            'make-keyword-procedure', 'make-known-char-range-list',
        -            'make-log-receiver', 'make-logger', 'make-output-port',
        -            'make-parameter', 'make-phantom-bytes', 'make-pipe',
        -            'make-placeholder', 'make-polar', 'make-prefab-struct',
        -            'make-pseudo-random-generator', 'make-reader-graph',
        -            'make-readtable', 'make-rectangular', 'make-rename-transformer',
        -            'make-resolved-module-path', 'make-security-guard',
        -            'make-semaphore', 'make-set!-transformer', 'make-shared-bytes',
        -            'make-sibling-inspector', 'make-special-comment', 'make-srcloc',
        -            'make-string', 'make-struct-field-accessor',
        -            'make-struct-field-mutator', 'make-struct-type',
        -            'make-struct-type-property', 'make-syntax-delta-introducer',
        -            'make-syntax-introducer', 'make-thread-cell', 'make-thread-group',
        -            'make-vector', 'make-weak-box', 'make-weak-hash',
        -            'make-weak-hasheq', 'make-weak-hasheqv', 'make-will-executor',
        -            'map', 'max', 'mcar', 'mcdr', 'mcons', 'member', 'memf', 'memq',
        -            'memv', 'min', 'module->exports', 'module->imports',
        -            'module->language-info', 'module->namespace',
        -            'module-compiled-exports', 'module-compiled-imports',
        -            'module-compiled-language-info', 'module-compiled-name',
        -            'module-compiled-submodules', 'module-declared?',
        -            'module-path-index-join', 'module-path-index-resolve',
        -            'module-path-index-split', 'module-path-index-submodule',
        -            'module-path-index?', 'module-path?', 'module-predefined?',
        -            'module-provide-protected?', 'modulo', 'mpair?', 'nack-guard-evt',
        -            'namespace-anchor->empty-namespace',
        -            'namespace-anchor->namespace', 'namespace-anchor?',
        -            'namespace-attach-module', 'namespace-attach-module-declaration',
        -            'namespace-base-phase', 'namespace-mapped-symbols',
        -            'namespace-module-identifier', 'namespace-module-registry',
        -            'namespace-require', 'namespace-require/constant',
        -            'namespace-require/copy', 'namespace-require/expansion-time',
        -            'namespace-set-variable-value!', 'namespace-symbol->identifier',
        -            'namespace-syntax-introduce', 'namespace-undefine-variable!',
        -            'namespace-unprotect-module', 'namespace-variable-value',
        -            'namespace?', 'negative?', 'never-evt', 'newline',
        -            'normal-case-path', 'not', 'null', 'null?', 'number->string',
        -            'number?', 'numerator', 'object-name', 'odd?', 'open-input-bytes',
        -            'open-input-string', 'open-output-bytes', 'open-output-string',
        -            'ormap', 'output-port?', 'pair?', 'parameter-procedure=?',
        -            'parameter?', 'parameterization?', 'path->bytes',
        -            'path->complete-path', 'path->directory-path',
        -            'path->string', 'path-add-suffix', 'path-convention-type',
        -            'path-element->bytes', 'path-element->string',
        -            'path-for-some-system?', 'path-list-string->path-list',
        -            'path-replace-suffix', 'path-string?', 'path?', 'peek-byte',
        -            'peek-byte-or-special', 'peek-bytes', 'peek-bytes!',
        -            'peek-bytes-avail!', 'peek-bytes-avail!*',
        -            'peek-bytes-avail!/enable-break', 'peek-char',
        -            'peek-char-or-special', 'peek-string', 'peek-string!',
        -            'phantom-bytes?', 'pipe-content-length', 'placeholder-get',
        -            'placeholder-set!', 'placeholder?', 'poll-guard-evt',
        -            'port-closed-evt', 'port-closed?', 'port-commit-peeked',
        -            'port-count-lines!', 'port-count-lines-enabled',
        -            'port-display-handler', 'port-file-identity', 'port-file-unlock',
        -            'port-next-location', 'port-print-handler', 'port-progress-evt',
        -            'port-provides-progress-evts?', 'port-read-handler',
        -            'port-try-file-lock?', 'port-write-handler', 'port-writes-atomic?',
        -            'port-writes-special?', 'port?', 'positive?',
        -            'prefab-key->struct-type', 'prefab-key?', 'prefab-struct-key',
        -            'pregexp', 'pregexp?', 'primitive-closure?',
        -            'primitive-result-arity', 'primitive?', 'print',
        -            'print-as-expression', 'print-boolean-long-form', 'print-box',
        -            'print-graph', 'print-hash-table', 'print-mpair-curly-braces',
        -            'print-pair-curly-braces', 'print-reader-abbreviations',
        -            'print-struct', 'print-syntax-width', 'print-unreadable',
        -            'print-vector-length', 'printf', 'procedure->method',
        -            'procedure-arity', 'procedure-arity-includes?', 'procedure-arity?',
        -            'procedure-closure-contents-eq?', 'procedure-extract-target',
        -            'procedure-keywords', 'procedure-reduce-arity',
        -            'procedure-reduce-keyword-arity', 'procedure-rename',
        -            'procedure-struct-type?', 'procedure?', 'progress-evt?',
        -            'prop:arity-string', 'prop:checked-procedure',
        -            'prop:custom-print-quotable', 'prop:custom-write',
        -            'prop:equal+hash', 'prop:evt', 'prop:exn:srclocs',
        -            'prop:impersonator-of', 'prop:input-port',
        -            'prop:liberal-define-context', 'prop:output-port',
        -            'prop:procedure', 'prop:rename-transformer', 'prop:sequence',
        -            'prop:set!-transformer', 'pseudo-random-generator->vector',
        -            'pseudo-random-generator-vector?', 'pseudo-random-generator?',
        -            'putenv', 'quotient', 'quotient/remainder', 'raise',
        -            'raise-argument-error', 'raise-arguments-error',
        -            'raise-arity-error', 'raise-mismatch-error', 'raise-range-error',
        -            'raise-result-error', 'raise-syntax-error', 'raise-type-error',
        -            'raise-user-error', 'random', 'random-seed', 'rational?',
        -            'rationalize', 'read', 'read-accept-bar-quote', 'read-accept-box',
        -            'read-accept-compiled', 'read-accept-dot', 'read-accept-graph',
        -            'read-accept-infix-dot', 'read-accept-lang',
        -            'read-accept-quasiquote', 'read-accept-reader', 'read-byte',
        -            'read-byte-or-special', 'read-bytes', 'read-bytes!',
        -            'read-bytes-avail!', 'read-bytes-avail!*',
        -            'read-bytes-avail!/enable-break', 'read-bytes-line',
        -            'read-case-sensitive', 'read-char', 'read-char-or-special',
        -            'read-curly-brace-as-paren', 'read-decimal-as-inexact',
        -            'read-eval-print-loop', 'read-language', 'read-line',
        -            'read-on-demand-source', 'read-square-bracket-as-paren',
        -            'read-string', 'read-string!', 'read-syntax',
        -            'read-syntax/recursive', 'read/recursive', 'readtable-mapping',
        -            'readtable?', 'real->decimal-string', 'real->double-flonum',
        -            'real->floating-point-bytes', 'real->single-flonum',
        -            'real-part', 'real?', 'regexp', 'regexp-match',
        -            'regexp-match-exact?', 'regexp-match-peek',
        -            'regexp-match-peek-immediate', 'regexp-match-peek-positions',
        -            'regexp-match-peek-positions-immediate',
        -            'regexp-match-peek-positions-immediate/end',
        -            'regexp-match-peek-positions/end', 'regexp-match-positions',
        -            'regexp-match-positions/end', 'regexp-match/end', 'regexp-match?',
        -            'regexp-max-lookbehind', 'regexp-quote', 'regexp-replace',
        -            'regexp-replace*', 'regexp-replace-quote', 'regexp-replaces',
        -            'regexp-split', 'regexp-try-match', 'regexp?', 'relative-path?',
        -            'remainder', 'remove', 'remove*', 'remq', 'remq*', 'remv', 'remv*',
        -            'rename-file-or-directory', 'rename-transformer-target',
        -            'rename-transformer?', 'reroot-path', 'resolve-path',
        -            'resolved-module-path-name', 'resolved-module-path?', 'reverse',
        -            'round', 'seconds->date', 'security-guard?',
        -            'semaphore-peek-evt', 'semaphore-peek-evt?', 'semaphore-post',
        -            'semaphore-try-wait?', 'semaphore-wait',
        -            'semaphore-wait/enable-break', 'semaphore?', 'sequence->stream',
        -            'sequence-generate', 'sequence-generate*', 'sequence?',
        -            'set!-transformer-procedure', 'set!-transformer?', 'set-box!',
        -            'set-mcar!', 'set-mcdr!', 'set-phantom-bytes!',
        -            'set-port-next-location!', 'shared-bytes', 'shell-execute',
        -            'simplify-path', 'sin', 'single-flonum?', 'sleep',
        -            'special-comment-value', 'special-comment?', 'split-path', 'sqrt',
        -            'srcloc-column', 'srcloc-line', 'srcloc-position', 'srcloc-source',
        -            'srcloc-span', 'srcloc?', 'stop-after', 'stop-before', 'string',
        -            'string>=?', 'string>?', 'string<=?', 'string<?',
        -            'string->bytes/latin-1', 'string->bytes/locale',
        -            'string->bytes/utf-8', 'string->immutable-string',
        -            'string->keyword', 'string->list', 'string->number',
        -            'string->path', 'string->path-element', 'string->symbol',
        -            'string->uninterned-symbol', 'string->unreadable-symbol',
        -            'string-append', 'string-ci>=?', 'string-ci>?',
        -            'string-ci<=?', 'string-ci<?', 'string-ci=?', 'string-copy',
        -            'string-copy!', 'string-downcase', 'string-fill!',
        -            'string-foldcase', 'string-length', 'string-locale>?',
        -            'string-locale<?', 'string-locale-ci>?',
        -            'string-locale-ci<?', 'string-locale-ci=?',
        -            'string-locale-downcase', 'string-locale-upcase',
        -            'string-locale=?', 'string-normalize-nfc', 'string-normalize-nfd',
        -            'string-normalize-nfkc', 'string-normalize-nfkd', 'string-ref',
        -            'string-set!', 'string-titlecase', 'string-upcase',
        -            'string-utf-8-length', 'string=?', 'string?', 'struct->vector',
        -            'struct-accessor-procedure?', 'struct-constructor-procedure?',
        -            'struct-info', 'struct-mutator-procedure?',
        -            'struct-predicate-procedure?', 'struct-type-info',
        -            'struct-type-make-constructor', 'struct-type-make-predicate',
        -            'struct-type-property-accessor-procedure?',
        -            'struct-type-property?', 'struct-type?', 'struct:arity-at-least',
        -            'struct:date', 'struct:date*', 'struct:exn', 'struct:exn:break',
        -            'struct:exn:break:hang-up', 'struct:exn:break:terminate',
        -            'struct:exn:fail', 'struct:exn:fail:contract',
        -            'struct:exn:fail:contract:arity',
        -            'struct:exn:fail:contract:continuation',
        -            'struct:exn:fail:contract:divide-by-zero',
        -            'struct:exn:fail:contract:non-fixnum-result',
        -            'struct:exn:fail:contract:variable', 'struct:exn:fail:filesystem',
        -            'struct:exn:fail:filesystem:errno',
        -            'struct:exn:fail:filesystem:exists',
        -            'struct:exn:fail:filesystem:version', 'struct:exn:fail:network',
        -            'struct:exn:fail:network:errno', 'struct:exn:fail:out-of-memory',
        -            'struct:exn:fail:read', 'struct:exn:fail:read:eof',
        -            'struct:exn:fail:read:non-char', 'struct:exn:fail:syntax',
        -            'struct:exn:fail:syntax:unbound', 'struct:exn:fail:unsupported',
        -            'struct:exn:fail:user', 'struct:srcloc', 'struct?', 'sub1',
        -            'subbytes', 'subprocess', 'subprocess-group-enabled',
        -            'subprocess-kill', 'subprocess-pid', 'subprocess-status',
        -            'subprocess-wait', 'subprocess?', 'substring', 'symbol->string',
        -            'symbol-interned?', 'symbol-unreadable?', 'symbol?', 'sync',
        -            'sync/enable-break', 'sync/timeout', 'sync/timeout/enable-break',
        -            'syntax->datum', 'syntax->list', 'syntax-arm',
        -            'syntax-column', 'syntax-disarm', 'syntax-e', 'syntax-line',
        -            'syntax-local-bind-syntaxes', 'syntax-local-certifier',
        -            'syntax-local-context', 'syntax-local-expand-expression',
        -            'syntax-local-get-shadower', 'syntax-local-introduce',
        -            'syntax-local-lift-context', 'syntax-local-lift-expression',
        -            'syntax-local-lift-module-end-declaration',
        -            'syntax-local-lift-provide', 'syntax-local-lift-require',
        -            'syntax-local-lift-values-expression',
        -            'syntax-local-make-definition-context',
        -            'syntax-local-make-delta-introducer',
        -            'syntax-local-module-defined-identifiers',
        -            'syntax-local-module-exports',
        -            'syntax-local-module-required-identifiers', 'syntax-local-name',
        -            'syntax-local-phase-level', 'syntax-local-submodules',
        -            'syntax-local-transforming-module-provides?', 'syntax-local-value',
        -            'syntax-local-value/immediate', 'syntax-original?',
        -            'syntax-position', 'syntax-property',
        -            'syntax-property-symbol-keys', 'syntax-protect', 'syntax-rearm',
        -            'syntax-recertify', 'syntax-shift-phase-level', 'syntax-source',
        -            'syntax-source-module', 'syntax-span', 'syntax-taint',
        -            'syntax-tainted?', 'syntax-track-origin',
        -            'syntax-transforming-module-expression?', 'syntax-transforming?',
        -            'syntax?', 'system-big-endian?', 'system-idle-evt',
        -            'system-language+country', 'system-library-subpath',
        -            'system-path-convention-type', 'system-type', 'tan',
        -            'terminal-port?', 'thread', 'thread-cell-ref', 'thread-cell-set!',
        -            'thread-cell-values?', 'thread-cell?', 'thread-dead-evt',
        -            'thread-dead?', 'thread-group?', 'thread-receive',
        -            'thread-receive-evt', 'thread-resume', 'thread-resume-evt',
        -            'thread-rewind-receive', 'thread-running?', 'thread-send',
        -            'thread-suspend', 'thread-suspend-evt', 'thread-try-receive',
        -            'thread-wait', 'thread/suspend-to-kill', 'thread?', 'time-apply',
        -            'truncate', 'unbox', 'uncaught-exception-handler',
        -            'use-collection-link-paths', 'use-compiled-file-paths',
        -            'use-user-specific-search-paths', 'values',
        -            'variable-reference->empty-namespace',
        -            'variable-reference->module-base-phase',
        -            'variable-reference->module-declaration-inspector',
        -            'variable-reference->module-path-index',
        -            'variable-reference->module-source',
        -            'variable-reference->namespace', 'variable-reference->phase',
        -            'variable-reference->resolved-module-path',
        -            'variable-reference-constant?', 'variable-reference?', 'vector',
        -            'vector->immutable-vector', 'vector->list',
        -            'vector->pseudo-random-generator',
        -            'vector->pseudo-random-generator!', 'vector->values',
        -            'vector-copy!', 'vector-fill!', 'vector-immutable',
        -            'vector-length', 'vector-ref', 'vector-set!',
        -            'vector-set-performance-stats!', 'vector?', 'version', 'void',
        -            'void?', 'weak-box-value', 'weak-box?', 'will-execute',
        -            'will-executor?', 'will-register', 'will-try-execute', 'wrap-evt',
        -            'write', 'write-byte', 'write-bytes', 'write-bytes-avail',
        -            'write-bytes-avail*', 'write-bytes-avail-evt',
        -            'write-bytes-avail/enable-break', 'write-char', 'write-special',
        -            'write-special-avail*', 'write-special-evt', 'write-string',
        -            'zero?',
        -            ),
        -
        -        2 => array(
        -            '#%app', '#%datum', '#%expression', '#%module-begin', '#%plain-app',
        -            '#%plain-lambda', '#%plain-module-begin', '#%provide', '#%require',
        -            '#%stratified-body', '#%top', '#%top-interaction',
        -            '#%variable-reference', ':do-in', 'all-defined-out',
        -            'all-from-out', 'and', 'apply', 'arity-at-least', 'begin',
        -            'begin-for-syntax', 'begin0', 'call-with-input-file',
        -            'call-with-input-file*', 'call-with-output-file',
        -            'call-with-output-file*', 'case', 'case-lambda', 'combine-in',
        -            'combine-out', 'cond', 'date', 'date*', 'define',
        -            'define-for-syntax', 'define-logger', 'define-namespace-anchor',
        -            'define-sequence-syntax', 'define-struct', 'define-struct/derived',
        -            'define-syntax', 'define-syntax-rule', 'define-syntaxes',
        -            'define-values', 'define-values-for-syntax', 'do', 'else',
        -            'except-in', 'except-out', 'exn', 'exn:break', 'exn:break:hang-up',
        -            'exn:break:terminate', 'exn:fail', 'exn:fail:contract',
        -            'exn:fail:contract:arity', 'exn:fail:contract:continuation',
        -            'exn:fail:contract:divide-by-zero',
        -            'exn:fail:contract:non-fixnum-result',
        -            'exn:fail:contract:variable', 'exn:fail:filesystem',
        -            'exn:fail:filesystem:errno', 'exn:fail:filesystem:exists',
        -            'exn:fail:filesystem:version', 'exn:fail:network',
        -            'exn:fail:network:errno', 'exn:fail:out-of-memory',
        -            'exn:fail:read', 'exn:fail:read:eof', 'exn:fail:read:non-char',
        -            'exn:fail:syntax', 'exn:fail:syntax:unbound',
        -            'exn:fail:unsupported', 'exn:fail:user', 'file', 'for', 'for*',
        -            'for*/and', 'for*/first', 'for*/fold', 'for*/fold/derived',
        -            'for*/hash', 'for*/hasheq', 'for*/hasheqv', 'for*/last',
        -            'for*/list', 'for*/lists', 'for*/or', 'for*/product', 'for*/sum',
        -            'for*/vector', 'for-label', 'for-meta', 'for-syntax',
        -            'for-template', 'for/and', 'for/first', 'for/fold',
        -            'for/fold/derived', 'for/hash', 'for/hasheq', 'for/hasheqv',
        -            'for/last', 'for/list', 'for/lists', 'for/or', 'for/product',
        -            'for/sum', 'for/vector', 'gen:custom-write', 'gen:equal+hash',
        -            'if', 'in-bytes', 'in-bytes-lines', 'in-indexed',
        -            'in-input-port-bytes', 'in-input-port-chars', 'in-lines',
        -            'in-list', 'in-mlist', 'in-naturals', 'in-port', 'in-producer',
        -            'in-range', 'in-string', 'in-value', 'in-vector', 'lambda', 'let',
        -            'let*', 'let*-values', 'let-syntax', 'let-syntaxes', 'let-values',
        -            'let/cc', 'let/ec', 'letrec', 'letrec-syntax', 'letrec-syntaxes',
        -            'letrec-syntaxes+values', 'letrec-values', 'lib', 'local-require',
        -            'log-debug', 'log-error', 'log-fatal', 'log-info', 'log-warning',
        -            'module', 'module*', 'module+', 'only-in', 'only-meta-in',
        -            'open-input-file', 'open-input-output-file', 'open-output-file',
        -            'or', 'parameterize', 'parameterize*', 'parameterize-break',
        -            'planet', 'prefix-in', 'prefix-out', 'protect-out', 'provide',
        -            'quasiquote', 'quasisyntax', 'quasisyntax/loc', 'quote',
        -            'quote-syntax', 'quote-syntax/prune', 'regexp-match*',
        -            'regexp-match-peek-positions*', 'regexp-match-positions*',
        -            'relative-in', 'rename-in', 'rename-out', 'require', 'set!',
        -            'set!-values', 'sort', 'srcloc', 'struct', 'struct-copy',
        -            'struct-field-index', 'struct-out', 'submod', 'syntax',
        -            'syntax-case', 'syntax-case*', 'syntax-id-rules', 'syntax-rules',
        -            'syntax/loc', 'time', 'unless', 'unquote', 'unquote-splicing',
        -            'unsyntax', 'unsyntax-splicing', 'when', 'with-continuation-mark',
        -            'with-handlers', 'with-handlers*', 'with-input-from-file',
        -            'with-output-to-file', 'with-syntax', '?',
        -            ),
        -
        -        3 => array(
        -            '>/c', '</c', 'append*', 'append-map', 'argmax', 'argmin',
        -            'bad-number-of-results', 'base->-doms/c', 'base->-rngs/c',
        -            'base->?', 'blame-add-unknown-context', 'blame-context',
        -            'blame-contract', 'blame-fmt->-string', 'blame-negative',
        -            'blame-original?', 'blame-positive', 'blame-replace-negative',
        -            'blame-source', 'blame-swap', 'blame-swapped?', 'blame-value',
        -            'blame?', 'boolean=?', 'build-chaperone-contract-property',
        -            'build-compound-type-name', 'build-contract-property',
        -            'build-flat-contract-property', 'bytes-append*', 'bytes-join',
        -            'bytes-no-nuls?', 'call-with-input-bytes',
        -            'call-with-input-string', 'call-with-output-bytes',
        -            'call-with-output-string', 'chaperone-contract-property?',
        -            'chaperone-contract?', 'class->interface', 'class-info',
        -            'class?', 'coerce-chaperone-contract',
        -            'coerce-chaperone-contracts', 'coerce-contract',
        -            'coerce-contract/f', 'coerce-contracts', 'coerce-flat-contract',
        -            'coerce-flat-contracts', 'conjugate', 'cons?', 'const',
        -            'contract-first-order', 'contract-first-order-passes?',
        -            'contract-name', 'contract-proc', 'contract-projection',
        -            'contract-property?', 'contract-random-generate',
        -            'contract-stronger?', 'contract-struct-exercise',
        -            'contract-struct-generate', 'contract?', 'convert-stream',
        -            'copy-directory/files', 'copy-port', 'cosh', 'count',
        -            'current-blame-format', 'current-future', 'curry', 'curryr',
        -            'degrees->radians', 'delete-directory/files',
        -            'deserialize-info:set-v0', 'dict-iter-contract',
        -            'dict-key-contract', 'dict-value-contract', 'drop', 'drop-right',
        -            'dup-input-port', 'dup-output-port', 'dynamic-get-field',
        -            'dynamic-send', 'dynamic-set-field!', 'eighth', 'empty',
        -            'empty-sequence', 'empty-stream', 'empty?', 'env-stash',
        -            'eq-contract-val', 'eq-contract?', 'equal<%>',
        -            'equal-contract-val', 'equal-contract?', 'exact-ceiling',
        -            'exact-floor', 'exact-round', 'exact-truncate',
        -            'exn:fail:contract:blame-object', 'exn:fail:contract:blame?',
        -            'exn:fail:object?', 'exn:misc:match?', 'explode-path',
        -            'externalizable<%>', 'false', 'false/c', 'false?',
        -            'field-names', 'fifth', 'file-name-from-path',
        -            'filename-extension', 'filter-map', 'filter-not',
        -            'filter-read-input-port', 'find-files', 'first', 'flat-contract',
        -            'flat-contract-predicate', 'flat-contract-property?',
        -            'flat-contract?', 'flat-named-contract', 'flatten', 'fold-files',
        -            'force', 'fourth', 'fsemaphore-count', 'fsemaphore-post',
        -            'fsemaphore-try-wait?', 'fsemaphore-wait', 'fsemaphore?', 'future',
        -            'future?', 'futures-enabled?', 'generate-ctc-fail?',
        -            'generate-env', 'generate-member-key', 'generate/choose',
        -            'generate/direct', 'generic?', 'group-execute-bit',
        -            'group-read-bit', 'group-write-bit', 'has-contract?', 'identity',
        -            'impersonator-contract?', 'impersonator-prop:contracted',
        -            'implementation?', 'implementation?/c', 'in-dict', 'in-dict-keys',
        -            'in-dict-pairs', 'in-dict-values', 'infinite?',
        -            'input-port-append', 'instanceof/c', 'interface->method-names',
        -            'interface-extension?', 'interface?', 'is-a?', 'is-a?/c', 'last',
        -            'last-pair', 'list->set', 'list->seteq', 'list->seteqv',
        -            'make-chaperone-contract', 'make-contract', 'make-custom-hash',
        -            'make-directory*', 'make-exn:fail:contract:blame',
        -            'make-exn:fail:object', 'make-flat-contract', 'make-fsemaphore',
        -            'make-generate-ctc-fail', 'make-generic',
        -            'make-immutable-custom-hash', 'make-input-port/read-to-peek',
        -            'make-limited-input-port', 'make-list', 'make-lock-file-name',
        -            'make-mixin-contract', 'make-none/c', 'make-pipe-with-specials',
        -            'make-primitive-class', 'make-proj-contract',
        -            'make-tentative-pretty-print-output-port', 'make-weak-custom-hash',
        -            'match-equality-test', 'matches-arity-exactly?',
        -            'member-name-key-hash-code', 'member-name-key=?',
        -            'member-name-key?', 'merge-input', 'method-in-interface?',
        -            'mixin-contract', 'n->th', 'nan?', 'natural-number/c', 'negate',
        -            'new-?/c', 'new-?/c', 'ninth', 'normalize-path', 'object%',
        -            'object->vector', 'object-info', 'object-interface',
        -            'object-method-arity-includes?', 'object=?', 'object?',
        -            'open-output-nowhere', 'order-of-magnitude', 'other-execute-bit',
        -            'other-read-bit', 'other-write-bit', 'parse-command-line',
        -            'partition', 'path-element?', 'path-only', 'pathlist-closure',
        -            'pi', 'pi.f', 'place-break', 'place-channel', 'place-channel-get',
        -            'place-channel-put', 'place-channel-put/get', 'place-channel?',
        -            'place-dead-evt', 'place-enabled?', 'place-kill',
        -            'place-message-allowed?', 'place-sleep', 'place-wait', 'place?',
        -            'port->bytes', 'port->list', 'port->string',
        -            'predicate/c', 'preferences-lock-file-mode', 'pretty-display',
        -            'pretty-format', 'pretty-print',
        -            'pretty-print-.-symbol-without-bars',
        -            'pretty-print-abbreviate-read-macros', 'pretty-print-columns',
        -            'pretty-print-current-style-table', 'pretty-print-depth',
        -            'pretty-print-exact-as-decimal', 'pretty-print-extend-style-table',
        -            'pretty-print-handler', 'pretty-print-newline',
        -            'pretty-print-post-print-hook', 'pretty-print-pre-print-hook',
        -            'pretty-print-print-hook', 'pretty-print-print-line',
        -            'pretty-print-remap-stylable', 'pretty-print-show-inexactness',
        -            'pretty-print-size-hook', 'pretty-print-style-table?',
        -            'pretty-printing', 'pretty-write', 'printable<%>',
        -            'printable/c', 'process', 'process*', 'process*/ports',
        -            'process/ports', 'processor-count', 'promise-forced?',
        -            'promise-running?', 'promise?', 'prop:chaperone-contract',
        -            'prop:contract', 'prop:contracted', 'prop:dict',
        -            'prop:flat-contract', 'prop:opt-chaperone-contract',
        -            'prop:opt-chaperone-contract-get-test',
        -            'prop:opt-chaperone-contract?', 'prop:stream', 'proper-subset?',
        -            'put-preferences', 'radians->degrees', 'raise-blame-error',
        -            'raise-contract-error', 'range', 'reencode-input-port',
        -            'reencode-output-port', 'relocate-input-port',
        -            'relocate-output-port', 'rest', 'second', 'sequence->list',
        -            'sequence-add-between', 'sequence-andmap', 'sequence-append',
        -            'sequence-count', 'sequence-filter', 'sequence-fold',
        -            'sequence-for-each', 'sequence-length', 'sequence-map',
        -            'sequence-ormap', 'sequence-ref', 'sequence-tail', 'set',
        -            'set->list', 'set-add', 'set-count', 'set-empty?', 'set-eq?',
        -            'set-equal?', 'set-eqv?', 'set-first', 'set-for-each',
        -            'set-intersect', 'set-map', 'set-member?', 'set-remove',
        -            'set-rest', 'set-subtract', 'set-symmetric-difference',
        -            'set-union', 'set/c', 'set=?', 'set?', 'seteq', 'seteqv',
        -            'seventh', 'sgn', 'shuffle', 'simple-form-path', 'sinh', 'sixth',
        -            'skip-projection-wrapper?', 'some-system-path->string',
        -            'special-filter-input-port', 'split-at', 'split-at-right', 'sqr',
        -            'stream->list', 'stream-add-between', 'stream-andmap',
        -            'stream-append', 'stream-count', 'stream-empty?', 'stream-filter',
        -            'stream-first', 'stream-fold', 'stream-for-each', 'stream-length',
        -            'stream-map', 'stream-ormap', 'stream-ref', 'stream-rest',
        -            'stream-tail', 'stream?', 'string->some-system-path',
        -            'string-append*', 'string-no-nuls?', 'struct-type-property/c',
        -            'struct:exn:fail:contract:blame', 'struct:exn:fail:object',
        -            'subclass?', 'subclass?/c', 'subset?', 'symbol=?', 'system',
        -            'system*', 'system*/exit-code', 'system/exit-code', 'take',
        -            'take-right', 'tanh', 'tcp-abandon-port', 'tcp-accept',
        -            'tcp-accept-evt', 'tcp-accept-ready?', 'tcp-accept/enable-break',
        -            'tcp-addresses', 'tcp-close', 'tcp-connect',
        -            'tcp-connect/enable-break', 'tcp-listen', 'tcp-listener?',
        -            'tcp-port?', 'tentative-pretty-print-port-cancel',
        -            'tentative-pretty-print-port-transfer', 'tenth',
        -            'the-unsupplied-arg', 'third', 'touch', 'transplant-input-port',
        -            'transplant-output-port', 'true', 'udp-addresses', 'udp-bind!',
        -            'udp-bound?', 'udp-close', 'udp-connect!', 'udp-connected?',
        -            'udp-open-socket', 'udp-receive!', 'udp-receive!*',
        -            'udp-receive!-evt', 'udp-receive!/enable-break',
        -            'udp-receive-ready-evt', 'udp-send', 'udp-send*', 'udp-send-evt',
        -            'udp-send-ready-evt', 'udp-send-to', 'udp-send-to*',
        -            'udp-send-to-evt', 'udp-send-to/enable-break',
        -            'udp-send/enable-break', 'udp?', 'unit?', 'unsupplied-arg?',
        -            'user-execute-bit', 'user-read-bit', 'user-write-bit',
        -            'value-contract', 'vector-append', 'vector-argmax',
        -            'vector-argmin', 'vector-copy', 'vector-count', 'vector-drop',
        -            'vector-drop-right', 'vector-filter', 'vector-filter-not',
        -            'vector-map', 'vector-map!', 'vector-member', 'vector-memq',
        -            'vector-memv', 'vector-set*!', 'vector-split-at',
        -            'vector-split-at-right', 'vector-take', 'vector-take-right',
        -            'with-input-from-bytes', 'with-input-from-string',
        -            'with-output-to-bytes', 'with-output-to-string', 'would-be-future',
        -            'writable<%>', 'xor',
        -            ),
        -        4 => array(
        -            '>=/c', '<=/c', '->*m', '->d', '->dm', '->i', '->m',
        -            '=/c', 'absent', 'abstract', 'add-between', 'and/c', 'any',
        -            'any/c', 'augment', 'augment*', 'augment-final', 'augment-final*',
        -            'augride', 'augride*', 'between/c', 'blame-add-context',
        -            'box-immutable/c', 'box/c', 'call-with-file-lock/timeout',
        -            'case->', 'case->m', 'class', 'class*',
        -            'class-field-accessor', 'class-field-mutator', 'class/c',
        -            'class/derived', 'command-line', 'compound-unit',
        -            'compound-unit/infer', 'cons/c', 'continuation-mark-key/c',
        -            'contract', 'contract-out', 'contract-struct', 'contracted',
        -            'current-contract-region', 'define-compound-unit',
        -            'define-compound-unit/infer', 'define-contract-struct',
        -            'define-local-member-name', 'define-match-expander',
        -            'define-member-name', 'define-opt/c', 'define-serializable-class',
        -            'define-serializable-class*', 'define-signature',
        -            'define-signature-form', 'define-struct/contract', 'define-unit',
        -            'define-unit-binding', 'define-unit-from-context',
        -            'define-unit/contract', 'define-unit/new-import-export',
        -            'define-unit/s', 'define-values-for-export',
        -            'define-values/invoke-unit', 'define-values/invoke-unit/infer',
        -            'define/augment', 'define/augment-final', 'define/augride',
        -            'define/contract', 'define/final-prop', 'define/match',
        -            'define/overment', 'define/override', 'define/override-final',
        -            'define/private', 'define/public', 'define/public-final',
        -            'define/pubment', 'define/subexpression-pos-prop', 'delay',
        -            'delay/idle', 'delay/name', 'delay/strict', 'delay/sync',
        -            'delay/thread', 'dict->list', 'dict-can-functional-set?',
        -            'dict-can-remove-keys?', 'dict-count', 'dict-for-each',
        -            'dict-has-key?', 'dict-iterate-first', 'dict-iterate-key',
        -            'dict-iterate-next', 'dict-iterate-value', 'dict-keys', 'dict-map',
        -            'dict-mutable?', 'dict-ref', 'dict-ref!', 'dict-remove',
        -            'dict-remove!', 'dict-set', 'dict-set!', 'dict-set*', 'dict-set*!',
        -            'dict-update', 'dict-update!', 'dict-values', 'dict?',
        -            'display-lines', 'display-lines-to-file', 'display-to-file',
        -            'dynamic-place', 'dynamic-place*', 'eof-evt', 'except',
        -            'exn:fail:contract:blame', 'exn:fail:object', 'export', 'extends',
        -            'field', 'field-bound?', 'file->bytes', 'file->bytes-lines',
        -            'file->lines', 'file->list', 'file->string',
        -            'file->value', 'find-relative-path', 'flat-murec-contract',
        -            'flat-rec-contract', 'for*/set', 'for*/seteq', 'for*/seteqv',
        -            'for/set', 'for/seteq', 'for/seteqv', 'gen:dict', 'gen:stream',
        -            'generic', 'get-field', 'get-preference', 'hash/c', 'implies',
        -            'import', 'in-set', 'in-stream', 'include',
        -            'include-at/relative-to', 'include-at/relative-to/reader',
        -            'include/reader', 'inherit', 'inherit-field', 'inherit/inner',
        -            'inherit/super', 'init', 'init-depend', 'init-field', 'init-rest',
        -            'inner', 'inspect', 'instantiate', 'integer-in', 'interface',
        -            'interface*', 'invoke-unit', 'invoke-unit/infer', 'lazy', 'link',
        -            'list/c', 'listof', 'local', 'make-handle-get-preference-locked',
        -            'make-object', 'make-temporary-file', 'match', 'match*',
        -            'match*/derived', 'match-define', 'match-define-values',
        -            'match-lambda', 'match-lambda*', 'match-lambda**', 'match-let',
        -            'match-let*', 'match-let*-values', 'match-let-values',
        -            'match-letrec', 'match/derived', 'match/values', 'member-name-key',
        -            'method-contract?', 'mixin', 'nand', 'new', 'non-empty-listof',
        -            'none/c', 'nor', 'not/c', 'object-contract', 'object/c',
        -            'one-of/c', 'only', 'open', 'opt/c', 'or/c', 'overment',
        -            'overment*', 'override', 'override*', 'override-final',
        -            'override-final*', 'parameter/c', 'parametric->/c',
        -            'peek-bytes!-evt', 'peek-bytes-avail!-evt', 'peek-bytes-evt',
        -            'peek-string!-evt', 'peek-string-evt', 'peeking-input-port',
        -            'place', 'place*', 'port->bytes-lines', 'port->lines',
        -            'prefix', 'private', 'private*', 'procedure-arity-includes/c',
        -            'promise/c', 'prompt-tag/c', 'prop:dict/contract',
        -            'provide-signature-elements', 'provide/contract', 'public',
        -            'public*', 'public-final', 'public-final*', 'pubment', 'pubment*',
        -            'read-bytes!-evt', 'read-bytes-avail!-evt', 'read-bytes-evt',
        -            'read-bytes-line-evt', 'read-line-evt', 'read-string!-evt',
        -            'read-string-evt', 'real-in', 'recursive-contract',
        -            'regexp-match-evt', 'remove-duplicates', 'rename', 'rename-inner',
        -            'rename-super', 'send', 'send*', 'send+', 'send-generic',
        -            'send/apply', 'send/keyword-apply', 'set-field!', 'shared',
        -            'stream', 'stream-cons', 'string-join', 'string-len/c',
        -            'string-normalize-spaces', 'string-replace', 'string-split',
        -            'string-trim', 'struct*', 'struct/c', 'struct/ctc', 'struct/dc',
        -            'super', 'super-instantiate', 'super-make-object', 'super-new',
        -            'symbols', 'syntax/c', 'tag', 'this', 'this%', 'thunk', 'thunk*',
        -            'unconstrained-domain->', 'unit', 'unit-from-context', 'unit/c',
        -            'unit/new-import-export', 'unit/s', 'vector-immutable/c',
        -            'vector-immutableof', 'vector/c', 'vectorof', 'with-contract',
        -            'with-method', 'write-to-file', '~.a', '~.s', '~.v', '~a', '~e',
        -            '~r', '~s', '~v',
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array(
        -            '>', '>=', '<', '<=', '*', '+', '-', '->', '->*', '...', '/',
        -            '=', '=>', '==', '_', '#fl', '#fx', '#s', '#', '#f', '#F',
        -            '#false', '#t', '#T', '#true', '#lang', '#reader', '.', '\'', '#`',
        -            '#,@', '#,', '#\'', '`', '@', ',', '#%', '#$', '#&', '#~', '#rx',
        -            '#px', '#<<', '#;', '#hash', '#',
        -            ),
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'NUMBERS' => array(
        -        1 => '(((#x#e)|(#e#x)|(#x#i)|(#i#x)|(#x))((((((((((((-)|(\+)))?(((('.
        -            '(([0-9])+)?(\.)?(([0-9a-fA-F])+(#)*)))|(((([0-9a-fA-F])+(#)*)'.
        -            '(\.)?(#)*))|(((([0-9a-fA-F])+(#)*)\\/(([0-9a-fA-F])+(#)*))))('.
        -            '([sl]((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan'.
        -            '\.))[0f])))))?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-9a-fA-F])+'.
        -            '(#)*)))|(((([0-9a-fA-F])+(#)*)(\.)?(#)*))|(((([0-9a-fA-F])+(#'.
        -            ')*)\\/(([0-9a-fA-F])+(#)*))))(([sl]((((-)|(\+)))?([0-9])+)))?'.
        -            '))|((((inf\.)|(nan\.))[0f])))i))|((((((((-)|(\+)))?(((((([0-9'.
        -            '])+)?(\.)?(([0-9a-fA-F])+(#)*)))|(((([0-9a-fA-F])+(#)*)(\.)?('.
        -            '#)*))|(((([0-9a-fA-F])+(#)*)\\/(([0-9a-fA-F])+(#)*))))(([sl]('.
        -            '(((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0'.
        -            'f]))))@((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-9a-fA-F])+(#)'.
        -            '*)))|(((([0-9a-fA-F])+(#)*)(\.)?(#)*))|(((([0-9a-fA-F])+(#)*)'.
        -            '\\/(([0-9a-fA-F])+(#)*))))(([sl]((((-)|(\+)))?([0-9])+)))?)))'.
        -            '|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))))))|((((((-)|(\+)))?('.
        -            '([0-9])+\\/([0-9])+))((-)|(\+))(([0-9])+\\/([0-9])+)i))|((((('.
        -            '-)|(\+)))?(([0-9])+\\/([0-9])+)))|(((((((-)|(\+)))?(((((([0-9'.
        -            '])+)?(\.)?(([0-9a-fA-F])+(#)*)))|(((([0-9a-fA-F])+(#)*)(\.)?('.
        -            '#)*))|(((([0-9a-fA-F])+(#)*)\\/(([0-9a-fA-F])+(#)*))))(([sl]('.
        -            '(((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0'.
        -            'f])))))|(((((-)|(\+)))?([0-9])+))))',
        -        2 => '(((#o#e)|(#e#o)|(#o#i)|(#i#o)|(#o))((((((((((((-)|(\+)))?(((('.
        -            '(([0-9])+)?(\.)?(([0-7])+(#)*)))|(((([0-7])+(#)*)(\.)?(#)*))|'.
        -            '(((([0-7])+(#)*)\\/(([0-7])+(#)*))))(((([sl])|([def]))((((-)|'.
        -            '(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))'.
        -            ')?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-7])+(#)*)))|(((([0-7])'.
        -            '+(#)*)(\.)?(#)*))|(((([0-7])+(#)*)\\/(([0-7])+(#)*))))(((([sl'.
        -            '])|([def]))((((-)|(\+)))?([0-9])+)))?))|((((inf\.)|(nan\.))[0'.
        -            'f])))i))|((((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-7])+(#)*)'.
        -            '))|(((([0-7])+(#)*)(\.)?(#)*))|(((([0-7])+(#)*)\\/(([0-7])+(#'.
        -            ')*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|'.
        -            '(\+))(((inf\.)|(nan\.))[0f]))))@((((((-)|(\+)))?(((((([0-9])+'.
        -            ')?(\.)?(([0-7])+(#)*)))|(((([0-7])+(#)*)(\.)?(#)*))|(((([0-7]'.
        -            ')+(#)*)\\/(([0-7])+(#)*))))(((([sl])|([def]))((((-)|(\+)))?(['.
        -            '0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))))))|(((('.
        -            '((-)|(\+)))?(([0-9])+\\/([0-9])+))((-)|(\+))(([0-9])+\\/([0-9'.
        -            '])+)i))|(((((-)|(\+)))?(([0-9])+\\/([0-9])+)))|(((((((-)|(\+)'.
        -            '))?(((((([0-9])+)?(\.)?(([0-7])+(#)*)))|(((([0-7])+(#)*)(\.)?'.
        -            '(#)*))|(((([0-7])+(#)*)\\/(([0-7])+(#)*))))(((([sl])|([def]))'.
        -            '((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))['.
        -            '0f])))))|(((((-)|(\+)))?([0-9])+))))',
        -        3 => '(((#b#e)|(#e#b)|(#b#i)|(#i#b)|(#b))((((((((((((-)|(\+)))?(((('.
        -            '(([0-9])+)?(\.)?(([0-1])+(#)*)))|(((([0-1])+(#)*)(\.)?(#)*))|'.
        -            '(((([0-1])+(#)*)\\/(([0-1])+(#)*))))(((([sl])|([def]))((((-)|'.
        -            '(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))'.
        -            ')?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-1])+(#)*)))|(((([0-1])'.
        -            '+(#)*)(\.)?(#)*))|(((([0-1])+(#)*)\\/(([0-1])+(#)*))))(((([sl'.
        -            '])|([def]))((((-)|(\+)))?([0-9])+)))?))|((((inf\.)|(nan\.))[0'.
        -            'f])))i))|((((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-1])+(#)*)'.
        -            '))|(((([0-1])+(#)*)(\.)?(#)*))|(((([0-1])+(#)*)\\/(([0-1])+(#'.
        -            ')*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|'.
        -            '(\+))(((inf\.)|(nan\.))[0f]))))@((((((-)|(\+)))?(((((([0-9])+'.
        -            ')?(\.)?(([0-1])+(#)*)))|(((([0-1])+(#)*)(\.)?(#)*))|(((([0-1]'.
        -            ')+(#)*)\\/(([0-1])+(#)*))))(((([sl])|([def]))((((-)|(\+)))?(['.
        -            '0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))))))|(((('.
        -            '((-)|(\+)))?(([0-9])+\\/([0-9])+))((-)|(\+))(([0-9])+\\/([0-9'.
        -            '])+)i))|(((((-)|(\+)))?(([0-9])+\\/([0-9])+)))|(((((((-)|(\+)'.
        -            '))?(((((([0-9])+)?(\.)?(([0-1])+(#)*)))|(((([0-1])+(#)*)(\.)?'.
        -            '(#)*))|(((([0-1])+(#)*)\\/(([0-1])+(#)*))))(((([sl])|([def]))'.
        -            '((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))['.
        -            '0f])))))|(((((-)|(\+)))?([0-9])+))))',
        -        4 => '((((#d#e)|(#e#d)|(#d#i)|(#i#d)|(#e)|(#i)|(#d)))?((((((((((((-'.
        -            ')|(\+)))?(((((([0-9])+)?(\.)?(([0-9])+(#)*)))|(((([0-9])+(#)*'.
        -            ')(\.)?(#)*))|(((([0-9])+(#)*)\\/(([0-9])+(#)*))))(((([sl])|(['.
        -            'def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(na'.
        -            'n\.))[0f])))))?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-9])+(#)*)'.
        -            '))|(((([0-9])+(#)*)(\.)?(#)*))|(((([0-9])+(#)*)\\/(([0-9])+(#'.
        -            ')*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)))?))|((((inf'.
        -            '\.)|(nan\.))[0f])))i))|((((((((-)|(\+)))?(((((([0-9])+)?(\.)?'.
        -            '(([0-9])+(#)*)))|(((([0-9])+(#)*)(\.)?(#)*))|(((([0-9])+(#)*)'.
        -            '\\/(([0-9])+(#)*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)'.
        -            '))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))@((((((-)|(\+)))'.
        -            '?(((((([0-9])+)?(\.)?(([0-9])+(#)*)))|(((([0-9])+(#)*)(\.)?(#'.
        -            ')*))|(((([0-9])+(#)*)\\/(([0-9])+(#)*))))(((([sl])|([def]))(('.
        -            '((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f'.
        -            ']))))))))|((((((-)|(\+)))?(([0-9])+\\/([0-9])+))((-)|(\+))((['.
        -            '0-9])+\\/([0-9])+)i))|(((((-)|(\+)))?(([0-9])+\\/([0-9])+)))|'.
        -            '(((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-9])+(#)*)))|(((([0-'.
        -            '9])+(#)*)(\.)?(#)*))|(((([0-9])+(#)*)\\/(([0-9])+(#)*))))(((('.
        -            '[sl])|([def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((in'.
        -            'f\.)|(nan\.))[0f])))))|(((((-)|(\+)))?([0-9])+))))',
        -            ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: blue;',
        -            2 => 'color: rgb(34, 34, 139);',
        -            3 => 'color: blue;',
        -            4 => 'color: rgb(34, 34, 139);',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: rgb(194, 116, 31);',
        -            'MULTI' => 'color: rgb(194, 116, 31);',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: rgb(132, 60,36);',
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: rgb(34, 139, 34);',
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: rgb(34, 139, 34);',
        -            1 => 'color: rgb(34, 139, 34);',
        -            2 => 'color: rgb(34, 139, 34);',
        -            3 => 'color: rgb(34, 139, 34);',
        -            4 => 'color: rgb(34, 139, 34);',
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #202020;',
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: rgb(132, 60,36);',
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'color: rgb(34, 139, 34);',
        -            2 => 'color: rgb(132, 60,36);',
        -            3 => 'color: rgb(34, 139, 34);',
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        ),
        -    'URLS' => array(
        -        1 => 'http://docs.racket-lang.org/reference/',
        -        2 => 'http://docs.racket-lang.org/reference/',
        -        3 => 'http://docs.racket-lang.org/reference/',
        -        4 => 'http://docs.racket-lang.org/reference/',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        1 => '#\\\\(nul|null|backspace|tab|newline|linefeed|vtab|page|retur'.
        -            'n|space|rubout|([0-7]{1,3})|(u[[:xdigit:]]{1,4})|(U[[:xdigit:'.
        -            ']]{1,6})|[a-z])',
        -        2 => '#:[^[:space:]()[\\]{}",\']+',
        -        3 => '\'((\\\\ )|([^[:space:]()[\\]{}",\']))+',
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => '[[:space:]()[\\]{}",\']',
        -            ),
        -        'ENABLE_FLAGS' => array(
        -            'SYMBOLS' => GESHI_MAYBE,
        -            'BRACKETS' => GESHI_MAYBE,
        -            'REGEXPS' => GESHI_MAYBE,
        -            'ESCAPE_CHAR' => GESHI_MAYBE,
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/rails.php b/vendor/easybook/geshi/geshi/rails.php
        deleted file mode 100644
        index d41bd9a..0000000
        --- a/vendor/easybook/geshi/geshi/rails.php
        +++ /dev/null
        @@ -1,404 +0,0 @@
        - 'Rails',
        -    'COMMENT_SINGLE' => array(1 => "#"),
        -    'COMMENT_MULTI' => array("=begin" => "=end"),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', '`','\''),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'alias', 'and', 'begin', 'break', 'case', 'class',
        -            'def', 'defined', 'do', 'else', 'elsif', 'end',
        -            'ensure', 'for', 'if', 'in', 'module', 'while',
        -            'next', 'not', 'or', 'redo', 'rescue', 'yield',
        -            'retry', 'super', 'then', 'undef', 'unless',
        -            'until', 'when', 'BEGIN', 'END', 'include'
        -            ),
        -        2 => array(
        -            '__FILE__', '__LINE__', 'false', 'nil', 'self', 'true',
        -            'return'
        -            ),
        -        3 => array(
        -            'Array', 'Float', 'Integer', 'String', 'at_exit',
        -            'autoload', 'binding', 'caller', 'catch', 'chop', 'chop!',
        -            'chomp', 'chomp!', 'eval', 'exec', 'exit', 'exit!', 'fail',
        -            'fork', 'format', 'gets', 'global_variables', 'gsub', 'gsub!',
        -            'iterator?', 'lambda', 'load', 'local_variables', 'loop',
        -            'open', 'p', 'print', 'printf', 'proc', 'putc', 'puts',
        -            'raise', 'rand', 'readline', 'readlines', 'require', 'select',
        -            'sleep', 'split', 'sprintf', 'srand', 'sub', 'sub!', 'syscall',
        -            'system', 'trace_var', 'trap', 'untrace_var'
        -            ),
        -        4 => array(
        -            'Abbrev', 'ArgumentError', 'Base64', 'Benchmark',
        -            'Benchmark::Tms', 'Bignum', 'Binding', 'CGI', 'CGI::Cookie',
        -            'CGI::HtmlExtension', 'CGI::QueryExtension',
        -            'CGI::Session', 'CGI::Session::FileStore',
        -            'CGI::Session::MemoryStore', 'Class', 'Comparable', 'Complex',
        -            'ConditionVariable', 'Continuation', 'Data',
        -            'Date', 'DateTime', 'Delegator', 'Dir', 'EOFError', 'ERB',
        -            'ERB::Util', 'Enumerable', 'Enumerable::Enumerator', 'Errno',
        -            'Exception', 'FalseClass', 'File',
        -            'File::Constants', 'File::Stat', 'FileTest', 'FileUtils',
        -            'FileUtils::DryRun', 'FileUtils::NoWrite',
        -            'FileUtils::StreamUtils_', 'FileUtils::Verbose', 'Find',
        -            'Fixnum', 'FloatDomainError', 'Forwardable', 'GC', 'Generator',
        -            'Hash', 'IO', 'IOError', 'Iconv', 'Iconv::BrokenLibrary',
        -            'Iconv::Failure', 'Iconv::IllegalSequence',
        -            'Iconv::InvalidCharacter', 'Iconv::InvalidEncoding',
        -            'Iconv::OutOfRange', 'IndexError', 'Interrupt', 'Kernel',
        -            'LoadError', 'LocalJumpError', 'Logger', 'Logger::Application',
        -            'Logger::Error', 'Logger::Formatter', 'Logger::LogDevice',
        -            'Logger::LogDevice::LogDeviceMutex', 'Logger::Severity',
        -            'Logger::ShiftingError', 'Marshal', 'MatchData',
        -            'Math', 'Matrix', 'Method', 'Module', 'Mutex', 'NameError',
        -            'NameError::message', 'NilClass', 'NoMemoryError',
        -            'NoMethodError', 'NotImplementedError', 'Numeric', 'Object',
        -            'ObjectSpace', 'Observable', 'PStore', 'PStore::Error',
        -            'Pathname', 'Precision', 'Proc', 'Process', 'Process::GID',
        -            'Process::Status', 'Process::Sys', 'Process::UID', 'Queue',
        -            'Range', 'RangeError', 'Rational', 'Regexp', 'RegexpError',
        -            'RuntimeError', 'ScriptError', 'SecurityError', 'Set',
        -            'Shellwords', 'Signal', 'SignalException', 'SimpleDelegator',
        -            'SingleForwardable', 'Singleton', 'SingletonClassMethods',
        -            'SizedQueue', 'SortedSet', 'StandardError', 'StringIO',
        -            'StringScanner', 'StringScanner::Error', 'Struct', 'Symbol',
        -            'SyncEnumerator', 'SyntaxError', 'SystemCallError',
        -            'SystemExit', 'SystemStackError', 'Tempfile',
        -            'Test::Unit::TestCase', 'Test::Unit', 'Test', 'Thread',
        -            'ThreadError', 'ThreadGroup',
        -            'ThreadsWait', 'Time', 'TrueClass', 'TypeError', 'URI',
        -            'URI::BadURIError', 'URI::Error', 'URI::Escape', 'URI::FTP',
        -            'URI::Generic', 'URI::HTTP', 'URI::HTTPS',
        -            'URI::InvalidComponentError', 'URI::InvalidURIError',
        -            'URI::LDAP', 'URI::MailTo', 'URI::REGEXP',
        -            'URI::REGEXP::PATTERN', 'UnboundMethod', 'Vector', 'YAML',
        -            'ZeroDivisionError', 'Zlib',
        -            'Zlib::BufError', 'Zlib::DataError', 'Zlib::Deflate',
        -            'Zlib::Error', 'Zlib::GzipFile', 'Zlib::GzipFile::CRCError',
        -            'Zlib::GzipFile::Error', 'Zlib::GzipFile::LengthError',
        -            'Zlib::GzipFile::NoFooter', 'Zlib::GzipReader',
        -            'Zlib::GzipWriter', 'Zlib::Inflate', 'Zlib::MemError',
        -            'Zlib::NeedDict', 'Zlib::StreamEnd', 'Zlib::StreamError',
        -            'Zlib::VersionError',
        -            'Zlib::ZStream',
        -            'ActionController::AbstractRequest',
        -            'ActionController::Assertions::DomAssertions',
        -            'ActionController::Assertions::ModelAssertions',
        -            'ActionController::Assertions::ResponseAssertions',
        -            'ActionController::Assertions::RoutingAssertions',
        -            'ActionController::Assertions::SelectorAssertions',
        -            'ActionController::Assertions::TagAssertions',
        -            'ActionController::Base',
        -            'ActionController::Benchmarking::ClassMethods',
        -            'ActionController::Caching',
        -            'ActionController::Caching::Actions',
        -            'ActionController::Caching::Actions::ActionCachePath',
        -            'ActionController::Caching::Fragments',
        -            'ActionController::Caching::Pages',
        -            'ActionController::Caching::Pages::ClassMethods',
        -            'ActionController::Caching::Sweeping',
        -            'ActionController::Components',
        -            'ActionController::Components::ClassMethods',
        -            'ActionController::Components::InstanceMethods',
        -            'ActionController::Cookies',
        -            'ActionController::Filters::ClassMethods',
        -            'ActionController::Flash',
        -            'ActionController::Flash::FlashHash',
        -            'ActionController::Helpers::ClassMethods',
        -            'ActionController::Integration::Session',
        -            'ActionController::IntegrationTest',
        -            'ActionController::Layout::ClassMethods',
        -            'ActionController::Macros',
        -            'ActionController::Macros::AutoComplete::ClassMethods',
        -            'ActionController::Macros::InPlaceEditing::ClassMethods',
        -            'ActionController::MimeResponds::InstanceMethods',
        -            'ActionController::Pagination',
        -            'ActionController::Pagination::ClassMethods',
        -            'ActionController::Pagination::Paginator',
        -            'ActionController::Pagination::Paginator::Page',
        -            'ActionController::Pagination::Paginator::Window',
        -            'ActionController::Rescue', 'ActionController::Resources',
        -            'ActionController::Routing',
        -            'ActionController::Scaffolding::ClassMethods',
        -            'ActionController::SessionManagement::ClassMethods',
        -            'ActionController::Streaming', 'ActionController::TestProcess',
        -            'ActionController::TestUploadedFile',
        -            'ActionController::UrlWriter',
        -            'ActionController::Verification::ClassMethods',
        -            'ActionMailer::Base', 'ActionView::Base',
        -            'ActionView::Helpers::ActiveRecordHelper',
        -            'ActionView::Helpers::AssetTagHelper',
        -            'ActionView::Helpers::BenchmarkHelper',
        -            'ActionView::Helpers::CacheHelper',
        -            'ActionView::Helpers::CaptureHelper',
        -            'ActionView::Helpers::DateHelper',
        -            'ActionView::Helpers::DebugHelper',
        -            'ActionView::Helpers::FormHelper',
        -            'ActionView::Helpers::FormOptionsHelper',
        -            'ActionView::Helpers::FormTagHelper',
        -            'ActionView::Helpers::JavaScriptHelper',
        -            'ActionView::Helpers::JavaScriptMacrosHelper',
        -            'ActionView::Helpers::NumberHelper',
        -            'ActionView::Helpers::PaginationHelper',
        -            'ActionView::Helpers::PrototypeHelper',
        -            'ActionView::Helpers::PrototypeHelper::JavaScriptGenerator::GeneratorMethods',
        -            'ActionView::Helpers::ScriptaculousHelper',
        -            'ActionView::Helpers::TagHelper',
        -            'ActionView::Helpers::TextHelper',
        -            'ActionView::Helpers::UrlHelper', 'ActionView::Partials',
        -            'ActionWebService::API::Method', 'ActionWebService::Base',
        -            'ActionWebService::Client::Soap',
        -            'ActionWebService::Client::XmlRpc',
        -            'ActionWebService::Container::ActionController::ClassMethods',
        -            'ActionWebService::Container::Delegated::ClassMethods',
        -            'ActionWebService::Container::Direct::ClassMethods',
        -            'ActionWebService::Invocation::ClassMethods',
        -            'ActionWebService::Scaffolding::ClassMethods',
        -            'ActionWebService::SignatureTypes', 'ActionWebService::Struct',
        -            'ActiveRecord::Acts::List::ClassMethods',
        -            'ActiveRecord::Acts::List::InstanceMethods',
        -            'ActiveRecord::Acts::NestedSet::ClassMethods',
        -            'ActiveRecord::Acts::NestedSet::InstanceMethods',
        -            'ActiveRecord::Acts::Tree::ClassMethods',
        -            'ActiveRecord::Acts::Tree::InstanceMethods',
        -            'ActiveRecord::Aggregations::ClassMethods',
        -            'ActiveRecord::Associations::ClassMethods',
        -            'ActiveRecord::AttributeMethods::ClassMethods',
        -            'ActiveRecord::Base',
        -            'ActiveRecord::Calculations::ClassMethods',
        -            'ActiveRecord::Callbacks',
        -            'ActiveRecord::ConnectionAdapters::AbstractAdapter',
        -            'ActiveRecord::ConnectionAdapters::Column',
        -            'ActiveRecord::ConnectionAdapters::DB2Adapter',
        -            'ActiveRecord::ConnectionAdapters::DatabaseStatements',
        -            'ActiveRecord::ConnectionAdapters::FirebirdAdapter',
        -            'ActiveRecord::ConnectionAdapters::FrontBaseAdapter',
        -            'ActiveRecord::ConnectionAdapters::MysqlAdapter',
        -            'ActiveRecord::ConnectionAdapters::OpenBaseAdapter',
        -            'ActiveRecord::ConnectionAdapters::OracleAdapter',
        -            'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter',
        -            'ActiveRecord::ConnectionAdapters::Quoting',
        -            'ActiveRecord::ConnectionAdapters::SQLServerAdapter',
        -            'ActiveRecord::ConnectionAdapters::SQLiteAdapter',
        -            'ActiveRecord::ConnectionAdapters::SchemaStatements',
        -            'ActiveRecord::ConnectionAdapters::SybaseAdapter::ColumnWithIdentity',
        -            'ActiveRecord::ConnectionAdapters::SybaseAdapterContext',
        -            'ActiveRecord::ConnectionAdapters::TableDefinition',
        -            'ActiveRecord::Errors', 'ActiveRecord::Locking',
        -            'ActiveRecord::Locking::Optimistic',
        -            'ActiveRecord::Locking::Optimistic::ClassMethods',
        -            'ActiveRecord::Locking::Pessimistic',
        -            'ActiveRecord::Migration', 'ActiveRecord::Observer',
        -            'ActiveRecord::Observing::ClassMethods',
        -            'ActiveRecord::Reflection::ClassMethods',
        -            'ActiveRecord::Reflection::MacroReflection',
        -            'ActiveRecord::Schema', 'ActiveRecord::Timestamp',
        -            'ActiveRecord::Transactions::ClassMethods',
        -            'ActiveRecord::Validations',
        -            'ActiveRecord::Validations::ClassMethods',
        -            'ActiveRecord::XmlSerialization',
        -            'ActiveSupport::CachingTools::HashCaching',
        -            'ActiveSupport::CoreExtensions::Array::Conversions',
        -            'ActiveSupport::CoreExtensions::Array::Grouping',
        -            'ActiveSupport::CoreExtensions::Date::Conversions',
        -            'ActiveSupport::CoreExtensions::Hash::Conversions',
        -            'ActiveSupport::CoreExtensions::Hash::Conversions::ClassMethods',
        -            'ActiveSupport::CoreExtensions::Hash::Diff',
        -            'ActiveSupport::CoreExtensions::Hash::Keys',
        -            'ActiveSupport::CoreExtensions::Hash::ReverseMerge',
        -            'ActiveSupport::CoreExtensions::Integer::EvenOdd',
        -            'ActiveSupport::CoreExtensions::Integer::Inflections',
        -            'ActiveSupport::CoreExtensions::Numeric::Bytes',
        -            'ActiveSupport::CoreExtensions::Numeric::Time',
        -            'ActiveSupport::CoreExtensions::Pathname::CleanWithin',
        -            'ActiveSupport::CoreExtensions::Range::Conversions',
        -            'ActiveSupport::CoreExtensions::String::Access',
        -            'ActiveSupport::CoreExtensions::String::Conversions',
        -            'ActiveSupport::CoreExtensions::String::Inflections',
        -            'ActiveSupport::CoreExtensions::String::Iterators',
        -            'ActiveSupport::CoreExtensions::String::StartsEndsWith',
        -            'ActiveSupport::CoreExtensions::String::Unicode',
        -            'ActiveSupport::CoreExtensions::Time::Calculations',
        -            'ActiveSupport::CoreExtensions::Time::Calculations::ClassMethods',
        -            'ActiveSupport::CoreExtensions::Time::Conversions',
        -            'ActiveSupport::Multibyte::Chars',
        -            'ActiveSupport::Multibyte::Handlers::UTF8Handler',
        -            'Breakpoint', 'Builder::BlankSlate', 'Builder::XmlMarkup',
        -            'Fixtures',
        -            'HTML::Selector', 'HashWithIndifferentAccess', 'Inflector',
        -            'Inflector::Inflections', 'Mime', 'Mime::Type',
        -            'OCI8AutoRecover', 'TimeZone', 'XmlSimple'
        -            ),
        -        5 => array(
        -            'image_tag', 'link_to', 'link_to_remote', 'javascript_include_tag',
        -            'assert_equal', 'assert_not_equal', 'before_filter',
        -            'after_filter', 'render', 'redirect_to', 'hide_action',
        -            'render_to_string', 'url_for', 'controller_name',
        -            'controller_class_name', 'controller_path', 'session',
        -            'render_component', 'render_component_as_string', 'cookie',
        -            'layout', 'flash', 'auto_complete_for', 'in_place_editor_for',
        -            'respond_to', 'paginate', 'current_page', 'each', 'first',
        -            'first_page', 'last_page', 'last', 'length', 'new', 'page_count',
        -            'previous', 'scaffold', 'send_data',
        -            'send_file', 'deliver', 'receive', 'error_messages_for',
        -            'error_message_on', 'form', 'input', 'stylesheet_link_tag',
        -            'stylesheet_path', 'content_for', 'select_date', 'ago',
        -            'month', 'day', 'check_box', 'fields_for', 'file_field',
        -            'form_for', 'hidden_field', 'text_area', 'password_field',
        -            'collection_select', 'options_for_select',
        -            'options_from_collection_for_select', 'file_field_tag',
        -            'form_for_tag', 'hidden_field_tag', 'text_area_tag',
        -            'password_field_tag', 'link_to_function', 'javascript_tag',
        -            'human_size', 'number_to_currency', 'pagination_links',
        -            'form_remote_tag', 'form_remote_for',
        -            'submit_to_remote', 'remote_function', 'observe_form',
        -            'observe_field', 'remote_form_for', 'options_for_ajax', 'alert',
        -            'call', 'assign', 'show', 'hide', 'insert_html', 'sortable',
        -            'toggle', 'visual_effect', 'replace', 'replace_html', 'remove',
        -            'save', 'save!', 'draggable', 'drop_receiving', 'literal',
        -            'draggable_element', 'drop_receiving_element', 'sortable_element',
        -            'content_tag', 'tag', 'link_to_image', 'link_to_if',
        -            'link_to_unless', 'mail_to', 'link_image_to', 'button_to',
        -            'current_page?', 'act_as_list', 'act_as_nested', 'act_as_tree',
        -            'has_many', 'has_one', 'belongs_to', 'has_many_and_belogns_to',
        -            'delete', 'destroy', 'destroy_all', 'clone', 'deep_clone', 'copy',
        -            'update', 'table_name', 'primary_key', 'sum', 'maximun', 'minimum',
        -            'count', 'size', 'after_save', 'after_create', 'before_save',
        -            'before_create', 'add_to_base', 'errors', 'add', 'validate',
        -            'validates_presence_of', 'validates_numericality_of',
        -            'validates_uniqueness_of', 'validates_length_of',
        -            'validates_format_of', 'validates_size_of', 'to_a', 'to_s',
        -            'to_xml', 'to_i'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '%', '&', '*', '|', '/', '<', '>',
        -        '+', '-', '=>', '<<'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color:#9966CC; font-weight:bold;',
        -            2 => 'color:#0000FF; font-weight:bold;',
        -            3 => 'color:#CC0066; font-weight:bold;',
        -            4 => 'color:#CC00FF; font-weight:bold;',
        -            5 => 'color:#5A0A0A; font-weight:bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color:#008000; font-style:italic;',
        -                    'MULTI' => 'color:#000080; font-style:italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color:#000099;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color:#006600; font-weight:bold;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color:#996600;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color:#006666;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color:#9900CC;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color:#006600; font-weight:bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color:#ff6633; font-weight:bold;',
        -            1 => 'color:#0066ff; font-weight:bold;',
        -            2 => 'color:#6666ff; font-weight:bold;',
        -            3 => 'color:#ff3333; font-weight:bold;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        0 => array(
        -            GESHI_SEARCH => "([[:space:]])(\\$[a-zA-Z_][a-zA-Z0-9_]*)",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        1 => array(
        -            GESHI_SEARCH => "([[:space:]])(@[a-zA-Z_][a-zA-Z0-9_]*)",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*", //Static OOP References
        -        3 => array(
        -            GESHI_SEARCH => "([[:space:]]|\[|\()(:[a-zA-Z_][a-zA-Z0-9_]*)",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            '<%' => '%>'
        -            )
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/rbs.php b/vendor/easybook/geshi/geshi/rbs.php
        deleted file mode 100644
        index 02c2fcf..0000000
        --- a/vendor/easybook/geshi/geshi/rbs.php
        +++ /dev/null
        @@ -1,224 +0,0 @@
        - 'RBScript',
        -    'COMMENT_SINGLE' => array( 1 => '//', 2 => "'" ),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        3 => '/REM\s.*$/im',
        -        4 => '/&b[01]+/',
        -        5 => '/&o[0-7]+/',
        -        6 => '/&h[a-f0-9]+/i',
        -        7 => '/&c[a-f0-9]+/i',
        -        8 => '/&u[a-f0-9]+/i',
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'Int8', 'Int16', 'Int32', 'Int64', 'Uint8', 'Uint16', 'Uint32', 'Uint64', 'Byte', 'Integer',
        -            'Single', 'Double', 'Boolean', 'String', 'Color', 'Object', 'Variant'
        -            ),
        -        2 => array(
        -            'Private', 'Public', 'Protected',
        -            'Sub', 'Function', 'Delegate', 'Exception',
        -            ),
        -        3 => array(
        -            'IsA',
        -            'And', 'Or', 'Not', 'Xor',
        -            'If', 'Then', 'Else', 'ElseIf',
        -            'Select', 'Case',
        -            'For', 'Each', 'In', 'To', 'Step', 'Next',
        -            'Do', 'Loop', 'Until',
        -            'While', 'Wend',
        -            'Continue', 'Exit', 'Goto', 'End',
        -            ),
        -        4 => array(
        -            'Const', 'Static',
        -            'Dim', 'As', 'Redim',
        -            'Me', 'Self', 'Super', 'Extends', 'Implements',
        -            'ByRef', 'ByVal', 'Assigns', 'ParamArray',
        -            'Mod',
        -            'Raise',
        -            ),
        -        5 => array(
        -            'False', 'True', 'Nil'
        -            ),
        -        6 => array(
        -            'Abs',
        -            'Acos',
        -            'Asc',
        -            'AscB',
        -            'Asin',
        -            'Atan',
        -            'Atan2',
        -            'CDbl',
        -            'Ceil',
        -            'Chr',
        -            'ChrB',
        -            'CMY',
        -            'Cos',
        -            'CountFields',
        -            'CStr',
        -            'Exp',
        -            'Floor',
        -            'Format',
        -            'Hex',
        -            'HSV',
        -            'InStr',
        -            'InStrB',
        -            'Left',
        -            'LeftB',
        -            'Len',
        -            'LenB',
        -            'Log',
        -            'Lowercase',
        -            'LTrim',
        -            'Max',
        -            'Microseconds',
        -            'Mid',
        -            'MidB',
        -            'Min',
        -            'NthField',
        -            'Oct',
        -            'Pow',
        -            'Replace',
        -            'ReplaceB',
        -            'ReplaceAll',
        -            'ReplaceAllB',
        -            'RGB',
        -            'Right',
        -            'RightB',
        -            'Rnd',
        -            'Round',
        -            'RTrim',
        -            'Sin',
        -            'Sqrt',
        -            'Str',
        -            'StrComp',
        -            'Tan',
        -            'Ticks',
        -            'Titlecase',
        -            'Trim',
        -            'UBound',
        -            'Uppercase',
        -            'Val',
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -            '+', '-', '*', '/', '\\', '^', '<', '>', '=', '<>', '&'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #F660AB; font-weight: bold;',
        -            2 => 'color: #E56717; font-weight: bold;',
        -            3 => 'color: #8D38C9; font-weight: bold;',
        -            4 => 'color: #151B8D; font-weight: bold;',
        -            5 => 'color: #00C2FF; font-weight: bold;',
        -            6 => 'color: #3EA99F; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000;',
        -            2 => 'color: #008000;',
        -            3 => 'color: #008000;',
        -
        -            4 => 'color: #800000;',
        -            5 => 'color: #800000;',
        -            6 => 'color: #800000;',
        -            7 => 'color: #800000;',
        -            8 => 'color: #800000;',
        -            ),
        -        'BRACKETS' => array(
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #800000;'
        -            ),
        -        'NUMBERS' => array(
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #800000; font-weight: bold;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER,
        -            'SYMBOLS' => GESHI_NEVER,
        -            'NUMBERS' => GESHI_NEVER
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/rebol.php b/vendor/easybook/geshi/geshi/rebol.php
        deleted file mode 100644
        index 12d4b9e..0000000
        --- a/vendor/easybook/geshi/geshi/rebol.php
        +++ /dev/null
        @@ -1,195 +0,0 @@
        - 'REBOL',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array('rebol [' => ']', 'comment [' => ']'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'binary!','block!','char!','date!','decimal!','email!','file!',
        -            'hash!','integer!','issue!','list!','logic!','money!','none!',
        -            'object!','paren!','pair!','path!','string!','tag!','time!',
        -            'tuple!','url!',
        -            ),
        -        2 => array(
        -            'all','any','attempt','break','catch','compose','disarm','dispatch',
        -            'do','do-events','does','either','else','exit','for','forall',
        -            'foreach','forever','forskip','func','function','halt','has','if',
        -            'launch','loop','next','quit','reduce','remove-each','repeat',
        -            'return','secure','switch','throw','try','until','wait','while',
        -            ),
        -        3 => array(
        -            'about','abs','absolute','add','alert','alias','alter','and',
        -            'any-block?','any-function?','any-string?','any-type?','any-word?',
        -            'append','arccosine','arcsine','arctangent','array','as-pair',
        -            'ask','at','back','binary?','bind','bitset?','block?','brightness?',
        -            'browse','build-tag','caret-to-offset','center-face','change',
        -            'change-dir','char?','charset','checksum','choose','clean-path',
        -            'clear','clear-fields','close','comment','complement','component?',
        -            'compress','confirm','connected?','construct','context','copy',
        -            'cosine','datatype?','date?','debase','decimal?','decode-cgi',
        -            'decompress','dehex','delete','detab','difference','dir?','dirize',
        -            'divide','dump-face','dump-obj','echo','email?','empty?','enbase',
        -            'entab','equal?','error?','even?','event?','exclude','exists?',
        -            'exp','extract','fifth','file?','find','first','flash','focus',
        -            'form','found?','fourth','free','function?','get','get-modes',
        -            'get-word?','greater-or-equal?','greater?','hash?','head','head?',
        -            'help','hide','hide-popup','image?','import-email','in',
        -            'in-window?','index?','info?','inform','input','input?','insert',
        -            'integer?','intersect','issue?','join','last','layout','length?',
        -            'lesser-or-equal?','lesser?','library?','license','link?',
        -            'list-dir','list?','lit-path?','lit-word?','load','load-image',
        -            'log-10','log-2','log-e','logic?','lowercase','make','make-dir',
        -            'make-face','max','maximum','maximum-of','min','minimum',
        -            'minimum-of','modified?','mold','money?','multiply','native?',
        -            'negate','negative?','none?','not','not-equal?','now','number?',
        -            'object?','odd?','offset-to-caret','offset?','op?','open','or',
        -            'pair?','paren?','parse','parse-xml','path?','pick','poke','port?',
        -            'positive?','power','prin','print','probe','protect',
        -            'protect-system','query','random','read','read-io','recycle',
        -            'refinement?','reform','rejoin','remainder','remold','remove',
        -            'rename',
        -            //'repeat',
        -            'repend','replace','request','request-color','request-date',
        -            'request-download','request-file','request-list','request-pass',
        -            'request-text','resend','reverse','routine?','same?','save',
        -            'script?','second','select','send','series?','set','set-modes',
        -            'set-net','set-path?','set-word?','show','show-popup','sign?',
        -            'sine','size-text','size?','skip','sort','source','span?',
        -            'split-path','square-root','strict-equal?','strict-not-equal?',
        -            'string?','struct?','stylize','subtract','suffix?','tag?','tail',
        -            'tail?','tangent','third','time?','to','to-binary','to-bitset',
        -            'to-block','to-char','to-date','to-decimal','to-email','to-file',
        -            'to-get-word','to-hash','to-hex','to-idate','to-image','to-integer',
        -            'to-issue','to-list','to-lit-path','to-lit-word','to-local-file',
        -            'to-logic','to-money','to-pair','to-paren','to-path',
        -            'to-rebol-file','to-refinement','to-set-path','to-set-word',
        -            'to-string','to-tag','to-time','to-tuple','to-url','to-word',
        -            'trace','trim','tuple?','type?','unfocus','union','unique',
        -            'unprotect','unset','unset?','unview','update','upgrade',
        -            'uppercase','url?','usage','use','value?','view','viewed?','what',
        -            'what-dir','within?','word?','write','write-io','xor','zero?',
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -//            2 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -//        2 => 'includes/dico_rebol.php?word={FNAME}',
        -//        3 => 'includes/dico_rebol.php?word={FNAME}'
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*",
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/reg.php b/vendor/easybook/geshi/geshi/reg.php
        deleted file mode 100644
        index 2034d5a..0000000
        --- a/vendor/easybook/geshi/geshi/reg.php
        +++ /dev/null
        @@ -1,231 +0,0 @@
        - 'Microsoft Registry',
        -    'COMMENT_SINGLE' => array(1 =>';'),
        -    'COMMENT_MULTI' => array( ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -//        1 => array(),
        -//        2 => array(),
        -        /* Registry Key Constants Not Used */
        -        3 => array(
        -            'HKEY_LOCAL_MACHINE',
        -            'HKEY_CLASSES_ROOT',
        -            'HKEY_CURRENT_USER',
        -            'HKEY_USERS',
        -            'HKEY_CURRENT_CONFIG',
        -            'HKEY_DYN_DATA',
        -            'HKLM', 'HKCR', 'HKCU', 'HKU', 'HKCC', 'HKDD'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -//        1 => false,
        -//        2 => false,
        -        3 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -//            1 => 'color: #00CCFF;',
        -//            2 => 'color: #0000FF;',
        -            3 => 'color: #800000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #009900;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'NUMBERS' => array(
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #00CCFF;',
        -            1 => 'color: #0000FF;',
        -            2 => '',
        -            3 => 'color: #0000FF;',
        -            4 => 'color: #0000FF;',
        -            5 => '',
        -            6 => '',
        -            7 => '',
        -            8 => 'color: #FF6600;',
        -            )
        -        ),
        -    'URLS' => array(
        -//        1 => '',
        -//        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        // Highlight Key Delimiters
        -        0 => array(
        -            GESHI_SEARCH => '((^|\\n)\\s*)(\\\\\\[(.*)\\\\\\])(\\s*(\\n|$))',
        -            GESHI_REPLACE => '\\3',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\5'
        -//            GESHI_CLASS => 'kw1'
        -            ),
        -        // Highlight File Format Header Version 5
        -        1 => array(
        -            GESHI_SEARCH => '(^\s*)(Windows Registry Editor Version \d+\.\d+)(\s*$)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3',
        -            GESHI_CLASS => 'geshi_registry_header'
        -            ),
        -        // Highlight File Format Header Version 4
        -        2 => array(
        -            GESHI_SEARCH => '(^\\s*)(REGEDIT\s?\d+)(\s*$)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3',
        -            GESHI_CLASS => 'geshi_registry_header'
        -            ),
        -        // Highlight dword: 32 bit integer values
        -        3 => array(
        -            GESHI_SEARCH => '(=\s*)(dword:[0-9a-fA-F]{8})(\s*$)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -//            GESHI_CLASS => 'kw2'
        -            ),
        -        // Highlight variable names
        -        4 => array(
        -            GESHI_SEARCH => '(^\s*)(\".*?\")(\s*=)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3',
        -            GESHI_CLASS => 'geshi_variable'
        -            ),
        -        // Highlight String Values
        -        5 => array(
        -            GESHI_SEARCH => '(=\s*)(\".*?\")(\s*$)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3',
        -            GESHI_CLASS => 'st0'
        -            ),
        -        // Highlight Hexadecimal Values (Single-Line and Multi-Line)
        -        6 => array(
        -            GESHI_SEARCH => '(=\s*\n?\s*)(hex:[0-9a-fA-F]{2}(,(\\\s*\n\s*)?[0-9a-fA-F]{2})*)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '',
        -            GESHI_CLASS => 'kw2'
        -            ),
        -        // Highlight Default Variable
        -        7 => array(
        -            GESHI_SEARCH => '(^\s*)(@)(\s*=)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'm',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3',
        -            GESHI_CLASS => 'geshi_variable'
        -            ),
        -        // Highlight GUID's found anywhere.
        -        8 => array(
        -            GESHI_SEARCH => '(\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\})',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '',
        -            GESHI_CLASS => 'geshi_guid'
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'NUMBERS' => GESHI_NEVER,
        -        )
        -    )
        -);
        diff --git a/vendor/easybook/geshi/geshi/rexx.php b/vendor/easybook/geshi/geshi/rexx.php
        deleted file mode 100644
        index 1189ac5..0000000
        --- a/vendor/easybook/geshi/geshi/rexx.php
        +++ /dev/null
        @@ -1,160 +0,0 @@
        - 'rexx',
        -    'COMMENT_SINGLE' => array(1 => '--'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'address', 'arg', 'attribute', 'call', 'constant', 'do',
        -            'drop', 'exit', 'forward', 'if',
        -            'interpret', 'iterate', 'leave', 'loop', 'nop', 'numeric',
        -            'options', 'parse', 'procedure', 'pull', 'push', 'queue',
        -            'raise', 'return', 'say', 'select', 'signal', 'trace'
        -            ),
        -        2 => array(
        -            'by', 'digits', 'engineering', 'error', 'expose',
        -            'failure', 'for', 'forever', 'form', 'fuzz', 'halt',
        -            'name', 'novalue', 'off', 'on', 'over', 'scientific', 'source',
        -            'syntax', 'to', 'until', 'upper', 'version',
        -            'while', 'with'
        -            ),
        -        3 => array(
        -            'else', 'end', 'otherwise', 'then', 'when'
        -            ),
        -        4 => array(
        -            'rc', 'result', 'sigl'
        -            ),
        -        5 => array(
        -            'placeholderforoorexxdirectives'
        -            ),
        -        6 => array(
        -            'abbrev', 'abs', 'beep', 'bitand', 'bitor',
        -            'bitxor', 'b2x', 'center', 'centre', 'changestr', 'charin',
        -            'charout', 'chars', 'compare', 'condition', 'copies',
        -            'countstr', 'c2d', 'c2x', 'datatype', 'date', 'delstr',
        -            'delword', 'directory', 'd2c', 'd2x', 'endlocal',
        -            'errortext', 'filespec', 'format', 'insert',
        -            'lastpos', 'left', 'length', 'linein', 'lineout', 'lines',
        -            'lower', 'max', 'min', 'overlay', 'pos', 'queued', 'random',
        -            'reverse', 'right', 'rxfuncadd', 'rxfuncdrop', 'rxfuncquery',
        -            'rxqueue', 'setlocal', 'sign', 'sourceline', 'space',
        -            'stream', 'strip', 'substr', 'subword', 'symbol', 'time',
        -            'translate', 'trunc', 'userid', 'value',
        -            'var', 'verify', 'word', 'wordindex', 'wordlength', 'wordpos',
        -            'words', 'xrange', 'x2b', 'x2c', 'x2d'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '<', '>', '=', '+', '-', '*', '**', '/', '|', '%', '^', '&', ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #ff0000; font-weight: bold;',
        -            3 => 'color: #00ff00; font-weight: bold;',
        -            4 => 'color: #0000ff; font-weight: bold;',
        -            5 => 'color: #880088; font-weight: bold;',
        -            6 => 'color: #888800; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666;',
        -            'MULTI' => 'color: #808080;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/robots.php b/vendor/easybook/geshi/geshi/robots.php
        deleted file mode 100644
        index ff05c09..0000000
        --- a/vendor/easybook/geshi/geshi/robots.php
        +++ /dev/null
        @@ -1,99 +0,0 @@
        - 'robots.txt',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(1 => "/^Comment:.*?/m"),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'Allow', 'Crawl-delay', 'Disallow', 'Request-rate', 'Robot-version',
        -            'Sitemap', 'User-agent', 'Visit-time'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://www.robotstxt.org/wc/norobots.html'
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/rpmspec.php b/vendor/easybook/geshi/geshi/rpmspec.php
        deleted file mode 100644
        index 43c8a92..0000000
        --- a/vendor/easybook/geshi/geshi/rpmspec.php
        +++ /dev/null
        @@ -1,132 +0,0 @@
        - 'RPM Specification File',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'QUOTEMARKS' => array('"','`'),
        -    'ESCAPE_CHAR' => '\\',
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        ),
        -    'KEYWORDS' => array(
        -        ),
        -    'SYMBOLS' => array(
        -        '<', '>', '=',
        -        '!', '@', '~', '&', '|', '^',
        -        '+','-', '*', '/', '%',
        -        ',', ';', '?', '.', ':'
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;',
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #009999;',
        -            3 => 'color: #000000; font-weight: bold;',
        -            4 => 'color: #ff6600; font-style: italic;',
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'REGEXPS' => array(
        -        1 => array(
        -            // search for generic macros
        -            GESHI_SEARCH => '(%{?[a-zA-Z0-9_]+}?)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '',
        -            ),
        -        2 => array(
        -            // search for special macros
        -            GESHI_SEARCH => '(%(?:define|patch\d*|mklibname|mkrel|configure\S+|makeinstall\S+|make_session|make|defattr|config|doc|setup))',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '',
        -            ),
        -        3 => array (
        -            // special definitions
        -            GESHI_SEARCH => '((?:summary|license|buildroot|buildrequires|provides|version|release|source\d*|group|buildarch|autoreqprov|provides|obsoletes|vendor|distribution|suggests|autoreq|autoprov|conflicts|name|url|requires|patch\d*):)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '',
        -            ),
        -        4 => array (
        -            // section delimiting words
        -            GESHI_SEARCH => '(%(?:description|package|prep|build|install|clean|postun|preun|post|pre|files|changelog))',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '',
        -            ),
        -        ),
        -    'URLS' => array(),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/rsplus.php b/vendor/easybook/geshi/geshi/rsplus.php
        deleted file mode 100644
        index 944a567..0000000
        --- a/vendor/easybook/geshi/geshi/rsplus.php
        +++ /dev/null
        @@ -1,482 +0,0 @@
        - 'R / S+',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', "'"),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'else','global','in', 'otherwise','persistent',
        -            ),
        -        2 => array( // base package
        -            '$.package_version', '$<-', '$<-.data.frame', 'abbreviate', 'abs', 'acos', 'acosh', 'addNA', 'addTaskCallback',
        -            'agrep', 'alist', 'all', 'all.equal', 'all.equal.character', 'all.equal.default', 'all.equal.factor',
        -            'all.equal.formula', 'all.equal.language', 'all.equal.list', 'all.equal.numeric', 'all.equal.POSIXct',
        -            'all.equal.raw', 'all.names', 'all.vars', 'any', 'aperm', 'append', 'apply', 'Arg', 'args', 'array', 'as.array',
        -            'as.array.default', 'as.call', 'as.character', 'as.character.condition', 'as.character.Date', 'as.character.default',
        -            'as.character.error', 'as.character.factor', 'as.character.hexmode', 'as.character.numeric_version', 'as.character.octmode',
        -            'as.character.POSIXt', 'as.character.srcref', 'as.complex', 'as.data.frame', 'as.data.frame.array', 'as.data.frame.AsIs',
        -            'as.data.frame.character', 'as.data.frame.complex', 'as.data.frame.data.frame', 'as.data.frame.Date', 'as.data.frame.default',
        -            'as.data.frame.difftime', 'as.data.frame.factor', 'as.data.frame.integer', 'as.data.frame.list', 'as.data.frame.logical',
        -            'as.data.frame.matrix', 'as.data.frame.model.matrix', 'as.data.frame.numeric', 'as.data.frame.numeric_version',
        -            'as.data.frame.ordered', 'as.data.frame.POSIXct', 'as.data.frame.POSIXlt', 'as.data.frame.raw', 'as.data.frame.table',
        -            'as.data.frame.ts', 'as.data.frame.vector', 'as.Date', 'as.Date.character', 'as.Date.date', 'as.Date.dates',
        -            'as.Date.default', 'as.Date.factor', 'as.Date.numeric', 'as.Date.POSIXct', 'as.Date.POSIXlt', 'as.difftime', 'as.double',
        -            'as.double.difftime', 'as.double.POSIXlt', 'as.environment', 'as.expression', 'as.expression.default', 'as.factor',
        -            'as.function', 'as.function.default', 'as.hexmode', 'as.integer', 'as.list', 'as.list.data.frame', 'as.list.default',
        -            'as.list.environment', 'as.list.factor', 'as.list.function', 'as.list.numeric_version', 'as.logical', 'as.matrix',
        -            'as.matrix.data.frame', 'as.matrix.default', 'as.matrix.noquote', 'as.matrix.POSIXlt', 'as.name', 'as.null', 'as.null.default',
        -            'as.numeric', 'as.numeric_version', 'as.octmode', 'as.ordered', 'as.package_version', 'as.pairlist', 'as.POSIXct',
        -            'as.POSIXct.date', 'as.POSIXct.Date', 'as.POSIXct.dates', 'as.POSIXct.default', 'as.POSIXct.numeric', 'as.POSIXct.POSIXlt',
        -            'as.POSIXlt', 'as.POSIXlt.character', 'as.POSIXlt.date', 'as.POSIXlt.Date', 'as.POSIXlt.dates', 'as.POSIXlt.default',
        -            'as.POSIXlt.factor', 'as.POSIXlt.numeric', 'as.POSIXlt.POSIXct', 'as.qr', 'as.raw', 'as.real', 'as.single',
        -            'as.single.default', 'as.symbol', 'as.table', 'as.table.default', 'as.vector', 'as.vector.factor', 'asin', 'asinh',
        -            'asNamespace', 'asS4', 'assign', 'atan', 'atan2', 'atanh', 'attach', 'attachNamespace', 'attr', 'attr.all.equal',
        -            'attr<-', 'attributes', 'attributes<-', 'autoload', 'autoloader', 'backsolve', 'baseenv', 'basename', 'besselI',
        -            'besselJ', 'besselK', 'besselY', 'beta', 'bindingIsActive', 'bindingIsLocked', 'bindtextdomain', 'body', 'body<-',
        -            'bquote', 'break', 'browser', 'builtins', 'by', 'by.data.frame', 'by.default', 'bzfile', 'c', 'c.Date', 'c.noquote',
        -            'c.numeric_version', 'c.POSIXct', 'c.POSIXlt', 'call', 'callCC', 'capabilities', 'casefold', 'cat', 'category',
        -            'cbind', 'cbind.data.frame', 'ceiling', 'char.expand', 'character', 'charmatch', 'charToRaw', 'chartr', 'check_tzones',
        -            'chol', 'chol.default', 'chol2inv', 'choose', 'class', 'class<-', 'close', 'close.connection', 'close.srcfile',
        -            'closeAllConnections', 'codes', 'codes.factor', 'codes.ordered', 'codes<-', 'col', 'colMeans', 'colnames',
        -            'colnames<-', 'colSums', 'commandArgs', 'comment', 'comment<-', 'complex', 'computeRestarts', 'conditionCall',
        -            'conditionCall.condition', 'conditionMessage', 'conditionMessage.condition', 'conflicts', 'Conj', 'contributors',
        -            'cos', 'cosh', 'crossprod', 'Cstack_info', 'cummax', 'cummin', 'cumprod', 'cumsum', 'cut', 'cut.Date', 'cut.default',
        -            'cut.POSIXt', 'data.class', 'data.frame', 'data.matrix', 'date', 'debug', 'default.stringsAsFactors', 'delay',
        -            'delayedAssign', 'deparse', 'det', 'detach', 'determinant', 'determinant.matrix', 'dget', 'diag', 'diag<-', 'diff',
        -            'diff.Date', 'diff.default', 'diff.POSIXt', 'difftime', 'digamma', 'dim', 'dim.data.frame', 'dim<-', 'dimnames',
        -            'dimnames.data.frame', 'dimnames<-', 'dimnames<-.data.frame', 'dir', 'dir.create', 'dirname', 'do.call', 'double',
        -            'dput', 'dQuote', 'drop', 'dump', 'duplicated', 'duplicated.array', 'duplicated.data.frame', 'duplicated.default',
        -            'duplicated.matrix', 'duplicated.numeric_version', 'duplicated.POSIXlt', 'dyn.load', 'dyn.unload', 'eapply', 'eigen',
        -            'emptyenv', 'encodeString', 'Encoding', 'Encoding<-', 'env.profile', 'environment', 'environment<-', 'environmentIsLocked',
        -            'environmentName', 'eval', 'eval.parent', 'evalq', 'exists', 'exp', 'expand.grid', 'expm1', 'expression', 'F', 'factor',
        -            'factorial', 'fifo', 'file', 'file.access', 'file.append', 'file.choose', 'file.copy', 'file.create', 'file.exists',
        -            'file.info', 'file.path', 'file.remove', 'file.rename', 'file.show', 'file.symlink', 'Filter', 'Find', 'findInterval',
        -            'findPackageEnv', 'findRestart', 'floor', 'flush', 'flush.connection', 'for', 'force', 'formals', 'formals<-',
        -            'format', 'format.AsIs', 'format.char', 'format.data.frame', 'format.Date', 'format.default', 'format.difftime',
        -            'format.factor', 'format.hexmode', 'format.info', 'format.octmode', 'format.POSIXct', 'format.POSIXlt',
        -            'format.pval', 'formatC', 'formatDL', 'forwardsolve', 'function', 'gamma', 'gammaCody', 'gc', 'gc.time',
        -            'gcinfo', 'gctorture', 'get', 'getAllConnections', 'getCallingDLL', 'getCallingDLLe', 'getCConverterDescriptions',
        -            'getCConverterStatus', 'getConnection', 'getDLLRegisteredRoutines', 'getDLLRegisteredRoutines.character',
        -            'getDLLRegisteredRoutines.DLLInfo', 'getenv', 'geterrmessage', 'getExportedValue', 'getHook', 'getLoadedDLLs',
        -            'getNamespace', 'getNamespaceExports', 'getNamespaceImports', 'getNamespaceInfo', 'getNamespaceName',
        -            'getNamespaceUsers', 'getNamespaceVersion', 'getNativeSymbolInfo', 'getNumCConverters', 'getOption', 'getRversion',
        -            'getSrcLines', 'getTaskCallbackNames', 'gettext', 'gettextf', 'getwd', 'gl', 'globalenv', 'gregexpr', 'grep',
        -            'grepl', 'gsub', 'gzcon', 'gzfile', 'httpclient', 'I', 'iconv', 'iconvlist', 'icuSetCollate', 'identical', 'identity',
        -            'if', 'ifelse', 'Im', 'importIntoEnv', 'inherits', 'integer', 'interaction', 'interactive', 'intersect', 'intToBits',
        -            'intToUtf8', 'inverse.rle', 'invisible', 'invokeRestart', 'invokeRestartInteractively', 'is.array', 'is.atomic',
        -            'is.call', 'is.character', 'is.complex', 'is.data.frame', 'is.double', 'is.element', 'is.environment',
        -            'is.expression', 'is.factor', 'is.finite', 'is.function', 'is.infinite', 'is.integer', 'is.language',
        -            'is.list', 'is.loaded', 'is.logical', 'is.matrix', 'is.na', 'is.na.data.frame', 'is.na.POSIXlt', 'is.na<-',
        -            'is.na<-.default', 'is.na<-.factor', 'is.name', 'is.nan', 'is.null', 'is.numeric', 'is.numeric_version',
        -            'is.numeric.Date', 'is.numeric.POSIXt', 'is.object', 'is.ordered', 'is.package_version', 'is.pairlist', 'is.primitive',
        -            'is.qr', 'is.R', 'is.raw', 'is.real', 'is.recursive', 'is.single', 'is.symbol', 'is.table', 'is.unsorted', 'is.vector',
        -            'isBaseNamespace', 'isdebugged', 'isIncomplete', 'isNamespace', 'ISOdate', 'ISOdatetime', 'isOpen', 'isRestart', 'isS4',
        -            'isSeekable', 'isSymmetric', 'isSymmetric.matrix', 'isTRUE', 'jitter', 'julian', 'julian.Date', 'julian.POSIXt', 'kappa',
        -            'kappa.default', 'kappa.lm', 'kappa.qr', 'kappa.tri', 'kronecker', 'l10n_info', 'La.chol', 'La.chol2inv', 'La.eigen',
        -            'La.svd', 'labels', 'labels.default', 'lapply', 'lazyLoad', 'lazyLoadDBfetch', 'lbeta', 'lchoose', 'length', 'length<-',
        -            'length<-.factor', 'letters', 'LETTERS', 'levels', 'levels.default', 'levels<-', 'levels<-.factor', 'lfactorial', 'lgamma',
        -            'library', 'library.dynam', 'library.dynam.unload', 'licence', 'license', 'list', 'list.files', 'load', 'loadedNamespaces',
        -            'loadingNamespaceInfo', 'loadNamespace', 'loadURL', 'local', 'lockBinding', 'lockEnvironment', 'log', 'log10', 'log1p', 'log2',
        -            'logb', 'logical', 'lower.tri', 'ls', 'machine', 'Machine', 'make.names', 'make.unique', 'makeActiveBinding', 'manglePackageName',
        -            'Map', 'mapply', 'margin.table', 'mat.or.vec', 'match', 'match.arg', 'match.call', 'match.fun', 'Math.data.frame', 'Math.Date',
        -            'Math.difftime', 'Math.factor', 'Math.POSIXt', 'matrix', 'max', 'max.col', 'mean', 'mean.data.frame', 'mean.Date', 'mean.default',
        -            'mean.difftime', 'mean.POSIXct', 'mean.POSIXlt', 'mem.limits', 'memory.profile', 'merge', 'merge.data.frame', 'merge.default',
        -            'message', 'mget', 'min', 'missing', 'Mod', 'mode', 'mode<-', 'month.abb', 'month.name', 'months', 'months.Date',
        -            'months.POSIXt', 'mostattributes<-', 'names', 'names<-', 'namespaceExport', 'namespaceImport', 'namespaceImportClasses',
        -            'namespaceImportFrom', 'namespaceImportMethods', 'nargs', 'nchar', 'ncol', 'NCOL', 'Negate', 'new.env', 'next', 'NextMethod',
        -            'ngettext', 'nlevels', 'noquote', 'nrow', 'NROW', 'numeric', 'numeric_version', 'nzchar', 'objects', 'oldClass',
        -            'oldClass<-', 'on.exit', 'open', 'open.connection', 'open.srcfile', 'open.srcfilecopy', 'Ops.data.frame', 'Ops.Date',
        -            'Ops.difftime', 'Ops.factor', 'Ops.numeric_version', 'Ops.ordered', 'Ops.POSIXt', 'options', 'order', 'ordered',
        -            'outer', 'package_version', 'package.description', 'packageEvent', 'packageHasNamespace', 'packageStartupMessage',
        -            'packBits', 'pairlist', 'parent.env', 'parent.env<-', 'parent.frame', 'parse', 'parse.dcf', 'parseNamespaceFile',
        -            'paste', 'path.expand', 'pentagamma', 'pi', 'pipe', 'Platform', 'pmatch', 'pmax', 'pmax.int', 'pmin', 'pmin.int',
        -            'polyroot', 'pos.to.env', 'Position', 'pretty', 'prettyNum', 'print', 'print.AsIs', 'print.atomic', 'print.by',
        -            'print.condition', 'print.connection', 'print.data.frame', 'print.Date', 'print.default', 'print.difftime',
        -            'print.DLLInfo', 'print.DLLInfoList', 'print.DLLRegisteredRoutines', 'print.factor', 'print.hexmode', 'print.libraryIQR',
        -            'print.listof', 'print.NativeRoutineList', 'print.noquote', 'print.numeric_version', 'print.octmode', 'print.packageInfo',
        -            'print.POSIXct', 'print.POSIXlt', 'print.proc_time', 'print.restart', 'print.rle', 'print.simple.list',
        -            'print.srcfile', 'print.srcref', 'print.summary.table', 'print.table', 'print.warnings', 'printNoClass',
        -            'prmatrix', 'proc.time', 'prod', 'prop.table', 'provide', 'psigamma', 'pushBack', 'pushBackLength', 'q', 'qr',
        -            'qr.coef', 'qr.default', 'qr.fitted', 'qr.Q', 'qr.qty', 'qr.qy', 'qr.R', 'qr.resid', 'qr.solve', 'qr.X', 'quarters',
        -            'quarters.Date', 'quarters.POSIXt', 'quit', 'quote', 'R_system_version', 'R.home', 'R.version', 'R.Version',
        -            'R.version.string', 'range', 'range.default', 'rank', 'rapply', 'raw', 'rawConnection', 'rawConnectionValue',
        -            'rawShift', 'rawToBits', 'rawToChar', 'rbind', 'rbind.data.frame', 'rcond', 'Re', 'read.dcf', 'read.table.url',
        -            'readBin', 'readChar', 'readline', 'readLines', 'real', 'Recall', 'Reduce', 'reg.finalizer', 'regexpr',
        -            'registerS3method', 'registerS3methods', 'remove', 'removeCConverter', 'removeTaskCallback', 'rep', 'rep.Date',
        -            'rep.factor', 'rep.int', 'rep.numeric_version', 'rep.POSIXct', 'rep.POSIXlt', 'repeat', 'replace', 'replicate',
        -            'require', 'restart', 'restartDescription', 'restartFormals', 'retracemem', 'return', 'rev', 'rev.default', 'rle',
        -            'rm', 'RNGkind', 'RNGversion', 'round', 'round.Date', 'round.difftime', 'round.POSIXt', 'row', 'row.names',
        -            'row.names.data.frame', 'row.names.default', 'row.names<-', 'row.names<-.data.frame', 'row.names<-.default',
        -            'rowMeans', 'rownames', 'rownames<-', 'rowsum', 'rowsum.data.frame', 'rowsum.default', 'rowSums', 'sample',
        -            'sample.int', 'sapply', 'save', 'save.image', 'saveNamespaceImage', 'scale', 'scale.default', 'scan', 'scan.url',
        -            'search', 'searchpaths', 'seek', 'seek.connection', 'seq', 'seq_along', 'seq_len', 'seq.Date', 'seq.default',
        -            'seq.int', 'seq.POSIXt', 'sequence', 'serialize', 'set.seed', 'setCConverterStatus', 'setdiff', 'setequal',
        -            'setHook', 'setNamespaceInfo', 'setSessionTimeLimit', 'setTimeLimit', 'setwd', 'showConnections', 'shQuote',
        -            'sign', 'signalCondition', 'signif', 'simpleCondition', 'simpleError', 'simpleMessage', 'simpleWarning', 'sin',
        -            'single', 'sinh', 'sink', 'sink.number', 'slice.index', 'socketConnection', 'socketSelect', 'solve', 'solve.default',
        -            'solve.qr', 'sort', 'sort.default', 'sort.int', 'sort.list', 'sort.POSIXlt', 'source', 'source.url', 'split',
        -            'split.data.frame', 'split.Date', 'split.default', 'split.POSIXct', 'split<-', 'split<-.data.frame', 'split<-.default',
        -            'sprintf', 'sqrt', 'sQuote', 'srcfile', 'srcfilecopy', 'srcref', 'standardGeneric', 'stderr', 'stdin', 'stdout',
        -            'stop', 'stopifnot', 'storage.mode', 'storage.mode<-', 'strftime', 'strptime', 'strsplit', 'strtrim', 'structure',
        -            'strwrap', 'sub', 'subset', 'subset.data.frame', 'subset.default', 'subset.matrix', 'substitute', 'substr',
        -            'substr<-', 'substring', 'substring<-', 'sum', 'summary', 'summary.connection', 'summary.data.frame',
        -            'Summary.data.frame', 'summary.Date', 'Summary.Date', 'summary.default', 'Summary.difftime',
        -            'summary.factor', 'Summary.factor', 'summary.matrix', 'Summary.numeric_version', 'summary.POSIXct',
        -            'Summary.POSIXct', 'summary.POSIXlt', 'Summary.POSIXlt', 'summary.table', 'suppressMessages',
        -            'suppressPackageStartupMessages', 'suppressWarnings', 'svd', 'sweep', 'switch', 'symbol.C',
        -            'symbol.For', 'sys.call', 'sys.calls', 'Sys.chmod', 'Sys.Date', 'sys.frame', 'sys.frames',
        -            'sys.function', 'Sys.getenv', 'Sys.getlocale', 'Sys.getpid', 'Sys.glob', 'Sys.info', 'sys.load.image',
        -            'Sys.localeconv', 'sys.nframe', 'sys.on.exit', 'sys.parent', 'sys.parents', 'Sys.putenv',
        -            'sys.save.image', 'Sys.setenv', 'Sys.setlocale', 'Sys.sleep', 'sys.source', 'sys.status',
        -            'Sys.time', 'Sys.timezone', 'Sys.umask', 'Sys.unsetenv', 'Sys.which', 'system', 'system.file',
        -            'system.time', 't', 'T', 't.data.frame', 't.default', 'table', 'tabulate', 'tan', 'tanh', 'tapply',
        -            'taskCallbackManager', 'tcrossprod', 'tempdir', 'tempfile', 'testPlatformEquivalence', 'tetragamma',
        -            'textConnection', 'textConnectionValue', 'tolower', 'topenv', 'toString', 'toString.default', 'toupper',
        -            'trace', 'traceback', 'tracemem', 'tracingState', 'transform', 'transform.data.frame', 'transform.default',
        -            'trigamma', 'trunc', 'trunc.Date', 'trunc.POSIXt', 'truncate', 'truncate.connection', 'try', 'tryCatch',
        -            'typeof', 'unclass', 'undebug', 'union', 'unique', 'unique.array', 'unique.data.frame', 'unique.default',
        -            'unique.matrix', 'unique.numeric_version', 'unique.POSIXlt', 'units', 'units.difftime', 'units<-',
        -            'units<-.difftime', 'unix', 'unix.time', 'unlink', 'unlist', 'unloadNamespace', 'unlockBinding',
        -            'unname', 'unserialize', 'unsplit', 'untrace', 'untracemem', 'unz', 'upper.tri', 'url', 'UseMethod',
        -            'utf8ToInt', 'vector', 'Vectorize', 'version', 'Version', 'warning', 'warnings', 'weekdays',
        -            'weekdays.Date', 'weekdays.POSIXt', 'which', 'which.max', 'which.min', 'while', 'with',
        -            'with.default', 'withCallingHandlers', 'within', 'within.data.frame', 'within.list', 'withRestarts',
        -            'withVisible', 'write', 'write.dcf', 'write.table0', 'writeBin', 'writeChar', 'writeLines', 'xor',
        -            'xpdrows.data.frame', 'xtfrm', 'xtfrm.Date', 'xtfrm.default', 'xtfrm.factor', 'xtfrm.numeric_version',
        -            'xtfrm.POSIXct', 'xtfrm.POSIXlt', 'xtfrm.Surv', 'zapsmall',
        -            ),
        -        3 => array( // Datasets
        -            'ability.cov', 'airmiles', 'AirPassengers', 'airquality',
        -            'anscombe', 'attenu', 'attitude', 'austres', 'beaver1',
        -            'beaver2', 'BJsales', 'BJsales.lead', 'BOD', 'cars',
        -            'ChickWeight', 'chickwts', 'co2', 'crimtab',
        -            'discoveries', 'DNase', 'esoph', 'euro', 'euro.cross',
        -            'eurodist', 'EuStockMarkets', 'faithful', 'fdeaths',
        -            'Formaldehyde', 'freeny', 'freeny.x', 'freeny.y',
        -            'HairEyeColor', 'Harman23.cor', 'Harman74.cor', 'Indometh',
        -            'infert', 'InsectSprays', 'iris', 'iris3', 'islands',
        -            'JohnsonJohnson', 'LakeHuron', 'ldeaths', 'lh', 'LifeCycleSavings',
        -            'Loblolly', 'longley', 'lynx', 'mdeaths', 'morley', 'mtcars',
        -            'nhtemp', 'Nile', 'nottem', 'occupationalStatus', 'Orange',
        -            'OrchardSprays', 'PlantGrowth', 'precip', 'presidents',
        -            'pressure', 'Puromycin', 'quakes', 'randu', 'rivers', 'rock',
        -            'Seatbelts', 'sleep', 'stack.loss', 'stack.x', 'stackloss',
        -            'state.abb', 'state.area', 'state.center', 'state.division',
        -            'state.name', 'state.region', 'state.x77', 'sunspot.month',
        -            'sunspot.year', 'sunspots', 'swiss', 'Theoph', 'Titanic', 'ToothGrowth',
        -            'treering', 'trees', 'UCBAdmissions', 'UKDriverDeaths', 'UKgas',
        -            'USAccDeaths', 'USArrests', 'USJudgeRatings', 'USPersonalExpenditure',
        -            'uspop', 'VADeaths', 'volcano', 'warpbreaks', 'women', 'WorldPhones',
        -            'WWWusage',
        -            ),
        -        4 => array( // graphics package
        -            'abline', 'arrows', 'assocplot', 'axis', 'Axis', 'axis.Date', 'axis.POSIXct',
        -            'axTicks', 'barplot', 'barplot.default', 'box', 'boxplot', 'boxplot.default',
        -            'boxplot.matrix', 'bxp', 'cdplot', 'clip', 'close.screen', 'co.intervals',
        -            'contour', 'contour.default', 'coplot', 'curve', 'dotchart', 'erase.screen',
        -            'filled.contour', 'fourfoldplot', 'frame', 'grconvertX', 'grconvertY', 'grid',
        -            'hist', 'hist.default', 'identify', 'image', 'image.default', 'layout',
        -            'layout.show', 'lcm', 'legend', 'lines', 'lines.default', 'locator', 'matlines',
        -            'matplot', 'matpoints', 'mosaicplot', 'mtext', 'pairs', 'pairs.default',
        -            'panel.smooth', 'par', 'persp', 'pie', 'piechart', 'plot', 'plot.default',
        -            'plot.design', 'plot.new', 'plot.window', 'plot.xy', 'points', 'points.default',
        -            'polygon', 'rect', 'rug', 'screen', 'segments', 'smoothScatter', 'spineplot',
        -            'split.screen', 'stars', 'stem', 'strheight', 'stripchart', 'strwidth', 'sunflowerplot',
        -            'symbols', 'text', 'text.default', 'title', 'xinch', 'xspline', 'xyinch', 'yinch',
        -            ),
        -        5 => array( // grDevices pkg
        -            'as.graphicsAnnot', 'bitmap', 'blues9', 'bmp', 'boxplot.stats', 'cairo_pdf', 'cairo_ps', 'check.options',
        -            'chull', 'CIDFont', 'cm', 'cm.colors', 'col2rgb', 'colorConverter', 'colorRamp', 'colorRampPalette',
        -            'colors', 'colorspaces', 'colours', 'contourLines', 'convertColor', 'densCols', 'dev.control', 'dev.copy',
        -            'dev.copy2eps', 'dev.copy2pdf', 'dev.cur', 'dev.interactive', 'dev.list', 'dev.new', 'dev.next', 'dev.off',
        -            'dev.prev', 'dev.print', 'dev.set', 'dev.size', 'dev2bitmap', 'devAskNewPage', 'deviceIsInteractive',
        -            'embedFonts', 'extendrange', 'getGraphicsEvent', 'graphics.off', 'gray', 'gray.colors', 'grey', 'grey.colors',
        -            'hcl', 'heat.colors', 'Hershey', 'hsv', 'jpeg', 'make.rgb', 'n2mfrow', 'nclass.FD', 'nclass.scott',
        -            'nclass.Sturges', 'palette', 'pdf', 'pdf.options', 'pdfFonts', 'pictex', 'png', 'postscript', 'postscriptFont',
        -            'postscriptFonts', 'ps.options', 'quartz', 'quartz.options', 'quartzFont', 'quartzFonts', 'rainbow',
        -            'recordGraphics', 'recordPlot', 'replayPlot', 'rgb', 'rgb2hsv', 'savePlot', 'setEPS', 'setPS', 'svg',
        -            'terrain.colors', 'tiff', 'topo.colors', 'trans3d', 'Type1Font', 'x11', 'X11', 'X11.options', 'X11Font',
        -            'X11Fonts', 'xfig', 'xy.coords', 'xyTable', 'xyz.coords',
        -            ),
        -        6 => array( // methods package
        -            'addNextMethod', 'allGenerics', 'allNames', 'Arith', 'as', 'as<-',
        -            'asMethodDefinition', 'assignClassDef', 'assignMethodsMetaData', 'balanceMethodsList',
        -            'cacheGenericsMetaData', 'cacheMetaData', 'cacheMethod', 'callGeneric',
        -            'callNextMethod', 'canCoerce', 'cbind2', 'checkSlotAssignment', 'classesToAM',
        -            'classMetaName', 'coerce', 'coerce<-', 'Compare', 'completeClassDefinition',
        -            'completeExtends', 'completeSubclasses', 'Complex', 'conformMethod', 'defaultDumpName',
        -            'defaultPrototype', 'doPrimitiveMethod', 'dumpMethod', 'dumpMethods', 'el', 'el<-',
        -            'elNamed', 'elNamed<-', 'empty.dump', 'emptyMethodsList', 'existsFunction', 'existsMethod',
        -            'extends', 'finalDefaultMethod', 'findClass', 'findFunction', 'findMethod', 'findMethods',
        -            'findMethodSignatures', 'findUnique', 'fixPre1.8', 'formalArgs', 'functionBody',
        -            'functionBody<-', 'generic.skeleton', 'getAccess', 'getAllMethods', 'getAllSuperClasses',
        -            'getClass', 'getClassDef', 'getClasses', 'getClassName', 'getClassPackage', 'getDataPart',
        -            'getExtends', 'getFunction', 'getGeneric', 'getGenerics', 'getGroup', 'getGroupMembers',
        -            'getMethod', 'getMethods', 'getMethodsForDispatch', 'getMethodsMetaData', 'getPackageName',
        -            'getProperties', 'getPrototype', 'getSlots', 'getSubclasses', 'getValidity', 'getVirtual',
        -            'hasArg', 'hasMethod', 'hasMethods', 'implicitGeneric', 'initialize', 'insertMethod', 'is',
        -            'isClass', 'isClassDef', 'isClassUnion', 'isGeneric', 'isGrammarSymbol', 'isGroup',
        -            'isSealedClass', 'isSealedMethod', 'isVirtualClass', 'isXS3Class', 'languageEl', 'languageEl<-',
        -            'linearizeMlist', 'listFromMethods', 'listFromMlist', 'loadMethod', 'Logic',
        -            'makeClassRepresentation', 'makeExtends', 'makeGeneric', 'makeMethodsList',
        -            'makePrototypeFromClassDef', 'makeStandardGeneric', 'matchSignature', 'Math', 'Math2', 'mergeMethods',
        -            'metaNameUndo', 'method.skeleton', 'MethodAddCoerce', 'methodSignatureMatrix', 'MethodsList',
        -            'MethodsListSelect', 'methodsPackageMetaName', 'missingArg', 'mlistMetaName', 'new', 'newBasic',
        -            'newClassRepresentation', 'newEmptyObject', 'Ops', 'packageSlot', 'packageSlot<-', 'possibleExtends',
        -            'prohibitGeneric', 'promptClass', 'promptMethods', 'prototype', 'Quote', 'rbind2',
        -            'reconcilePropertiesAndPrototype', 'registerImplicitGenerics', 'rematchDefinition',
        -            'removeClass', 'removeGeneric', 'removeMethod', 'removeMethods', 'removeMethodsObject', 'representation',
        -            'requireMethods', 'resetClass', 'resetGeneric', 'S3Class', 'S3Class<-', 'S3Part', 'S3Part<-', 'sealClass',
        -            'seemsS4Object', 'selectMethod', 'selectSuperClasses', 'sessionData', 'setAs', 'setClass', 'setClassUnion',
        -            'setDataPart', 'setGeneric', 'setGenericImplicit', 'setGroupGeneric', 'setIs', 'setMethod', 'setOldClass',
        -            'setPackageName', 'setPrimitiveMethods', 'setReplaceMethod', 'setValidity', 'show', 'showClass', 'showDefault',
        -            'showExtends', 'showMethods', 'showMlist', 'signature', 'SignatureMethod', 'sigToEnv', 'slot', 'slot<-',
        -            'slotNames', 'slotsFromS3', 'substituteDirect', 'substituteFunctionArgs', 'Summary', 'superClassDepth',
        -            'testInheritedMethods', 'testVirtual', 'traceOff', 'traceOn', 'tryNew', 'trySilent', 'unRematchDefinition',
        -            'validObject', 'validSlotNames',
        -            ),
        -        7 => array( // stats pkg
        -            'acf', 'acf2AR', 'add.scope', 'add1', 'addmargins', 'aggregate',
        -            'aggregate.data.frame', 'aggregate.default', 'aggregate.ts', 'AIC',
        -            'alias', 'anova', 'anova.glm', 'anova.glmlist', 'anova.lm', 'anova.lmlist',
        -            'anova.mlm', 'anovalist.lm', 'ansari.test', 'aov', 'approx', 'approxfun',
        -            'ar', 'ar.burg', 'ar.mle', 'ar.ols', 'ar.yw', 'arima', 'arima.sim',
        -            'arima0', 'arima0.diag', 'ARMAacf', 'ARMAtoMA', 'as.dendrogram', 'as.dist',
        -            'as.formula', 'as.hclust', 'as.stepfun', 'as.ts', 'asOneSidedFormula', 'ave',
        -            'bandwidth.kernel', 'bartlett.test', 'binom.test', 'binomial', 'biplot',
        -            'Box.test', 'bw.bcv', 'bw.nrd', 'bw.nrd0', 'bw.SJ', 'bw.ucv', 'C', 'cancor',
        -            'case.names', 'ccf', 'chisq.test', 'clearNames', 'cmdscale', 'coef', 'coefficients',
        -            'complete.cases', 'confint', 'confint.default', 'constrOptim', 'contr.helmert',
        -            'contr.poly', 'contr.SAS', 'contr.sum', 'contr.treatment', 'contrasts', 'contrasts<-',
        -            'convolve', 'cooks.distance', 'cophenetic', 'cor', 'cor.test', 'cov', 'cov.wt',
        -            'cov2cor', 'covratio', 'cpgram', 'cutree', 'cycle', 'D', 'dbeta', 'dbinom', 'dcauchy',
        -            'dchisq', 'decompose', 'delete.response', 'deltat', 'dendrapply', 'density', 'density.default',
        -            'deriv', 'deriv.default', 'deriv.formula', 'deriv3', 'deriv3.default', 'deriv3.formula',
        -            'deviance', 'dexp', 'df', 'df.kernel', 'df.residual', 'dfbeta', 'dfbetas', 'dffits',
        -            'dgamma', 'dgeom', 'dhyper', 'diff.ts', 'diffinv', 'dist', 'dlnorm', 'dlogis',
        -            'dmultinom', 'dnbinom', 'dnorm', 'dpois', 'drop.scope', 'drop.terms', 'drop1',
        -            'dsignrank', 'dt', 'dummy.coef', 'dunif', 'dweibull', 'dwilcox', 'ecdf', 'eff.aovlist',
        -            'effects', 'embed', 'end', 'estVar', 'expand.model.frame', 'extractAIC', 'factanal',
        -            'factor.scope', 'family', 'fft', 'filter', 'fisher.test', 'fitted', 'fitted.values',
        -            'fivenum', 'fligner.test', 'formula', 'frequency', 'friedman.test', 'ftable', 'Gamma',
        -            'gaussian', 'get_all_vars', 'getInitial', 'glm', 'glm.control', 'glm.fit', 'glm.fit.null',
        -            'hasTsp', 'hat', 'hatvalues', 'hatvalues.lm', 'hclust', 'heatmap', 'HoltWinters', 'influence',
        -            'influence.measures', 'integrate', 'interaction.plot', 'inverse.gaussian', 'IQR',
        -            'is.empty.model', 'is.leaf', 'is.mts', 'is.stepfun', 'is.ts', 'is.tskernel', 'isoreg',
        -            'KalmanForecast', 'KalmanLike', 'KalmanRun', 'KalmanSmooth', 'kernapply', 'kernel', 'kmeans',
        -            'knots', 'kruskal.test', 'ks.test', 'ksmooth', 'lag', 'lag.plot', 'line', 'lines.ts', 'lm',
        -            'lm.fit', 'lm.fit.null', 'lm.influence', 'lm.wfit', 'lm.wfit.null', 'loadings', 'loess',
        -            'loess.control', 'loess.smooth', 'logLik', 'loglin', 'lowess', 'ls.diag', 'ls.print', 'lsfit',
        -            'mad', 'mahalanobis', 'make.link', 'makeARIMA', 'makepredictcall', 'manova', 'mantelhaen.test',
        -            'mauchley.test', 'mauchly.test', 'mcnemar.test', 'median', 'median.default', 'medpolish',
        -            'model.extract', 'model.frame', 'model.frame.aovlist', 'model.frame.default', 'model.frame.glm',
        -            'model.frame.lm', 'model.matrix', 'model.matrix.default', 'model.matrix.lm', 'model.offset',
        -            'model.response', 'model.tables', 'model.weights', 'monthplot', 'mood.test', 'mvfft', 'na.action',
        -            'na.contiguous', 'na.exclude', 'na.fail', 'na.omit', 'na.pass', 'napredict', 'naprint', 'naresid',
        -            'nextn', 'nlm', 'nlminb', 'nls', 'nls.control', 'NLSstAsymptotic', 'NLSstClosestX', 'NLSstLfAsymptote',
        -            'NLSstRtAsymptote', 'numericDeriv', 'offset', 'oneway.test', 'optim', 'optimise', 'optimize',
        -            'order.dendrogram', 'p.adjust', 'p.adjust.methods', 'pacf', 'pairwise.prop.test', 'pairwise.t.test',
        -            'pairwise.table', 'pairwise.wilcox.test', 'pbeta', 'pbinom', 'pbirthday', 'pcauchy', 'pchisq', 'pexp',
        -            'pf', 'pgamma', 'pgeom', 'phyper', 'plclust', 'plnorm', 'plogis', 'plot.density', 'plot.ecdf', 'plot.lm',
        -            'plot.mlm', 'plot.spec', 'plot.spec.coherency', 'plot.spec.phase', 'plot.stepfun', 'plot.ts', 'plot.TukeyHSD',
        -            'pnbinom', 'pnorm', 'poisson', 'poisson.test', 'poly', 'polym', 'power', 'power.anova.test', 'power.prop.test',
        -            'power.t.test', 'PP.test', 'ppoints', 'ppois', 'ppr', 'prcomp', 'predict', 'predict.glm', 'predict.lm',
        -            'predict.mlm', 'predict.poly', 'preplot', 'princomp', 'print.anova', 'print.coefmat', 'print.density',
        -            'print.family', 'print.formula', 'print.ftable', 'print.glm', 'print.infl', 'print.integrate', 'print.lm',
        -            'print.logLik', 'print.terms', 'print.ts', 'printCoefmat', 'profile', 'proj', 'promax', 'prop.test',
        -            'prop.trend.test', 'psignrank', 'pt', 'ptukey', 'punif', 'pweibull', 'pwilcox', 'qbeta', 'qbinom',
        -            'qbirthday', 'qcauchy', 'qchisq', 'qexp', 'qf', 'qgamma', 'qgeom', 'qhyper', 'qlnorm', 'qlogis',
        -            'qnbinom', 'qnorm', 'qpois', 'qqline', 'qqnorm', 'qqnorm.default', 'qqplot', 'qsignrank', 'qt',
        -            'qtukey', 'quade.test', 'quantile', 'quantile.default', 'quasi', 'quasibinomial', 'quasipoisson',
        -            'qunif', 'qweibull', 'qwilcox', 'r2dtable', 'rbeta', 'rbinom', 'rcauchy', 'rchisq', 'read.ftable',
        -            'rect.hclust', 'reformulate', 'relevel', 'reorder', 'replications', 'reshape', 'reshapeLong', 'reshapeWide',
        -            'resid', 'residuals', 'residuals.default', 'residuals.glm', 'residuals.lm', 'rexp', 'rf', 'rgamma', 'rgeom',
        -            'rhyper', 'rlnorm', 'rlogis', 'rmultinom', 'rnbinom', 'rnorm', 'rpois', 'rsignrank', 'rstandard', 'rstandard.glm',
        -            'rstandard.lm', 'rstudent', 'rstudent.glm', 'rstudent.lm', 'rt', 'runif', 'runmed', 'rweibull', 'rwilcox',
        -            'scatter.smooth', 'screeplot', 'sd', 'se.contrast', 'selfStart', 'setNames', 'shapiro.test', 'simulate',
        -            'smooth', 'smooth.spline', 'smoothEnds', 'sortedXyData', 'spec.ar', 'spec.pgram', 'spec.taper', 'spectrum',
        -            'spline', 'splinefun', 'splinefunH', 'SSasymp', 'SSasympOff', 'SSasympOrig', 'SSbiexp', 'SSD', 'SSfol',
        -            'SSfpl', 'SSgompertz', 'SSlogis', 'SSmicmen', 'SSweibull', 'start', 'stat.anova', 'step', 'stepfun', 'stl',
        -            'StructTS', 'summary.aov', 'summary.aovlist', 'summary.glm', 'summary.infl', 'summary.lm', 'summary.manova',
        -            'summary.mlm', 'summary.stepfun', 'supsmu', 'symnum', 't.test', 'termplot', 'terms', 'terms.aovlist',
        -            'terms.default', 'terms.formula', 'terms.terms', 'time', 'toeplitz', 'ts', 'ts.intersect', 'ts.plot',
        -            'ts.union', 'tsdiag', 'tsp', 'tsp<-', 'tsSmooth', 'TukeyHSD', 'TukeyHSD.aov', 'uniroot', 'update',
        -            'update.default', 'update.formula', 'var', 'var.test', 'variable.names', 'varimax', 'vcov', 'weighted.mean',
        -            'weighted.residuals', 'weights', 'wilcox.test', 'window', 'window<-', 'write.ftable', 'xtabs',
        -            ),
        -        8 => array( // utils pkg
        -            'alarm', 'apropos', 'argsAnywhere', 'as.person', 'as.personList', 'as.relistable', 'as.roman',
        -            'assignInNamespace', 'available.packages', 'browseEnv', 'browseURL', 'browseVignettes', 'bug.report',
        -            'capture.output', 'checkCRAN', 'chooseCRANmirror', 'citation', 'citEntry', 'citFooter', 'citHeader',
        -            'close.socket', 'combn', 'compareVersion', 'contrib.url', 'count.fields', 'CRAN.packages', 'data',
        -            'data.entry', 'dataentry', 'de', 'de.ncols', 'de.restore', 'de.setup', 'debugger', 'demo', 'download.file',
        -            'download.packages', 'dump.frames', 'edit', 'emacs', 'example', 'file_test', 'file.edit', 'find', 'fix',
        -            'fixInNamespace', 'flush.console', 'formatOL', 'formatUL', 'getAnywhere', 'getCRANmirrors', 'getFromNamespace',
        -            'getS3method', 'getTxtProgressBar', 'glob2rx', 'head', 'head.matrix', 'help', 'help.request', 'help.search',
        -            'help.start', 'history', 'index.search', 'install.packages', 'installed.packages', 'is.relistable',
        -            'limitedLabels', 'loadhistory', 'localeToCharset', 'ls.str', 'lsf.str', 'make.packages.html', 'make.socket',
        -            'makeRweaveLatexCodeRunner', 'memory.limit', 'memory.size', 'menu', 'methods', 'mirror2html', 'modifyList',
        -            'new.packages', 'normalizePath', 'nsl', 'object.size', 'old.packages', 'package.contents', 'package.skeleton',
        -            'packageDescription', 'packageStatus', 'page', 'person', 'personList', 'pico', 'prompt', 'promptData',
        -            'promptPackage', 'rc.getOption', 'rc.options', 'rc.settings', 'rc.status', 'read.csv', 'read.csv2', 'read.delim',
        -            'read.delim2', 'read.DIF', 'read.fortran', 'read.fwf', 'read.socket', 'read.table', 'readCitationFile', 'recover',
        -            'relist', 'remove.packages', 'Rprof', 'Rprofmem', 'RShowDoc', 'RSiteSearch', 'rtags', 'Rtangle', 'RtangleSetup',
        -            'RtangleWritedoc', 'RweaveChunkPrefix', 'RweaveEvalWithOpt', 'RweaveLatex', 'RweaveLatexFinish', 'RweaveLatexOptions',
        -            'RweaveLatexSetup', 'RweaveLatexWritedoc', 'RweaveTryStop', 'savehistory', 'select.list', 'sessionInfo',
        -            'setRepositories', 'setTxtProgressBar', 'stack', 'Stangle', 'str', 'strOptions', 'summaryRprof', 'Sweave',
        -            'SweaveHooks', 'SweaveSyntaxLatex', 'SweaveSyntaxNoweb', 'SweaveSyntConv', 'tail', 'tail.matrix', 'timestamp',
        -            'toBibtex', 'toLatex', 'txtProgressBar', 'type.convert', 'unstack', 'unzip', 'update.packages', 'update.packageStatus',
        -            'upgrade', 'url.show', 'URLdecode', 'URLencode', 'vi', 'View', 'vignette', 'write.csv', 'write.csv2', 'write.socket',
        -            'write.table', 'wsbrowser', 'xedit', 'xemacs', 'zip.file.extract',
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|','<-','->',
        -        '^', '-', ':', '::', ':::', '!', '!=', '*', '?',
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000FF; font-weight: bold;',
        -            2 => 'color: #0000FF; font-weight: bold;',
        -            3 => 'color: #CC9900; font-weight: bold;',
        -            4 => 'color: #0000FF; font-weight: bold;',
        -            5 => 'color: #0000FF; font-weight: bold;',
        -            6 => 'color: #0000FF; font-weight: bold;',
        -            7 => 'color: #0000FF; font-weight: bold;',
        -            8 => 'color: #0000FF; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #228B22;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #080;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => '',
        -            2 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #080;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color:#A020F0;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => 'http://stat.ethz.ch/R-manual/R-devel/library/base/html/{FNAME}.html', // Base Package
        -        3 => 'http://stat.ethz.ch/R-manual/R-devel/library/datasets/html/{FNAME}.html', // Datasets
        -        4 => 'http://stat.ethz.ch/R-manual/R-devel/library/graphics/html/{FNAME}.html', // Graphics Package
        -        5 => 'http://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/{FNAME}.html', // grDevices
        -        6 => 'http://stat.ethz.ch/R-manual/R-devel/library/methods/html/{FNAME}.html', // methods
        -        7 => 'http://stat.ethz.ch/R-manual/R-devel/library/stats/html/{FNAME}.html', // stats
        -        8 => 'http://stat.ethz.ch/R-manual/R-devel/library/utils/html/{FNAME}.html' // utils
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        0 => array(
        -            GESHI_SEARCH => "([^\w])'([^\\n\\r']*)'",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => "\\1'",
        -            GESHI_AFTER => "'"
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?|^&\\.])(? "(?![a-zA-Z0-9_\|%\\-&;\\.])"
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/ruby.php b/vendor/easybook/geshi/geshi/ruby.php
        deleted file mode 100644
        index baa0319..0000000
        --- a/vendor/easybook/geshi/geshi/ruby.php
        +++ /dev/null
        @@ -1,230 +0,0 @@
        - 'Ruby',
        -    'COMMENT_SINGLE' => array(1 => "#"),
        -    'COMMENT_MULTI' => array("=begin" => "=end"),
        -    'COMMENT_REGEXP' => array(
        -        //Heredoc
        -        4 => '/<<\s*?(\w+)\\n.*?\\n\\1(?![a-zA-Z0-9])/si',
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', '`','\''),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -                'alias', 'and', 'begin', 'break', 'case', 'class',
        -                'def', 'defined', 'do', 'else', 'elsif', 'end',
        -                'ensure', 'for', 'if', 'in', 'module', 'while',
        -                'next', 'not', 'or', 'redo', 'rescue', 'yield',
        -                'retry', 'super', 'then', 'undef', 'unless',
        -                'until', 'when', 'include'
        -            ),
        -        2 => array(
        -                '__FILE__', '__LINE__', 'false', 'nil', 'self', 'true',
        -                'return'
        -            ),
        -        3 => array(
        -                'Array', 'Float', 'Integer', 'String', 'at_exit',
        -                'autoload', 'binding', 'caller', 'catch', 'chop', 'chop!',
        -                'chomp', 'chomp!', 'eval', 'exec', 'exit', 'exit!', 'fail',
        -                'fork', 'format', 'gets', 'global_variables', 'gsub', 'gsub!',
        -                'iterator?', 'lambda', 'load', 'local_variables', 'loop',
        -                'open', 'p', 'print', 'printf', 'proc', 'putc', 'puts',
        -                'raise', 'rand', 'readline', 'readlines', 'require', 'select',
        -                'sleep', 'split', 'sprintf', 'srand', 'sub', 'sub!', 'syscall',
        -                'system', 'trace_var', 'trap', 'untrace_var'
        -            ),
        -        4 => array(
        -                'Abbrev', 'ArgumentError', 'Base64', 'Benchmark',
        -                'Benchmark::Tms', 'Bignum', 'Binding', 'CGI', 'CGI::Cookie',
        -                'CGI::HtmlExtension', 'CGI::QueryExtension',
        -                'CGI::Session', 'CGI::Session::FileStore',
        -                'CGI::Session::MemoryStore', 'Class', 'Comparable', 'Complex',
        -                'ConditionVariable', 'Continuation', 'Data',
        -                'Date', 'DateTime', 'Delegator', 'Dir', 'EOFError', 'ERB',
        -                'ERB::Util', 'Enumerable', 'Enumerable::Enumerator', 'Errno',
        -                'Exception', 'FalseClass', 'File',
        -                'File::Constants', 'File::Stat', 'FileTest', 'FileUtils',
        -                'FileUtils::DryRun', 'FileUtils::NoWrite',
        -                'FileUtils::StreamUtils_', 'FileUtils::Verbose', 'Find',
        -                'Fixnum', 'FloatDomainError', 'Forwardable', 'GC', 'Generator',
        -                'Hash', 'IO', 'IOError', 'Iconv', 'Iconv::BrokenLibrary',
        -                'Iconv::Failure', 'Iconv::IllegalSequence',
        -                'Iconv::InvalidCharacter', 'Iconv::InvalidEncoding',
        -                'Iconv::OutOfRange', 'IndexError', 'Interrupt', 'Kernel',
        -                'LoadError', 'LocalJumpError', 'Logger', 'Logger::Application',
        -                'Logger::Error', 'Logger::Formatter', 'Logger::LogDevice',
        -                'Logger::LogDevice::LogDeviceMutex', 'Logger::Severity',
        -                'Logger::ShiftingError', 'Marshal', 'MatchData',
        -                'Math', 'Matrix', 'Method', 'Module', 'Mutex', 'NameError',
        -                'NameError::message', 'NilClass', 'NoMemoryError',
        -                'NoMethodError', 'NotImplementedError', 'Numeric', 'Object',
        -                'ObjectSpace', 'Observable', 'PStore', 'PStore::Error',
        -                'Pathname', 'Precision', 'Proc', 'Process', 'Process::GID',
        -                'Process::Status', 'Process::Sys', 'Process::UID', 'Queue',
        -                'Range', 'RangeError', 'Rational', 'Regexp', 'RegexpError',
        -                'RuntimeError', 'ScriptError', 'SecurityError', 'Set',
        -                'Shellwords', 'Signal', 'SignalException', 'SimpleDelegator',
        -                'SingleForwardable', 'Singleton', 'SingletonClassMethods',
        -                'SizedQueue', 'SortedSet', 'StandardError', 'StringIO',
        -                'StringScanner', 'StringScanner::Error', 'Struct', 'Symbol',
        -                'SyncEnumerator', 'SyntaxError', 'SystemCallError',
        -                'SystemExit', 'SystemStackError', 'Tempfile',
        -                'Test::Unit::TestCase', 'Test::Unit', 'Test', 'Thread',
        -                'ThreadError', 'ThreadGroup',
        -                'ThreadsWait', 'Time', 'TrueClass', 'TypeError', 'URI',
        -                'URI::BadURIError', 'URI::Error', 'URI::Escape', 'URI::FTP',
        -                'URI::Generic', 'URI::HTTP', 'URI::HTTPS',
        -                'URI::InvalidComponentError', 'URI::InvalidURIError',
        -                'URI::LDAP', 'URI::MailTo', 'URI::REGEXP',
        -                'URI::REGEXP::PATTERN', 'UnboundMethod', 'Vector', 'YAML',
        -                'ZeroDivisionError', 'Zlib',
        -                'Zlib::BufError', 'Zlib::DataError', 'Zlib::Deflate',
        -                'Zlib::Error', 'Zlib::GzipFile', 'Zlib::GzipFile::CRCError',
        -                'Zlib::GzipFile::Error', 'Zlib::GzipFile::LengthError',
        -                'Zlib::GzipFile::NoFooter', 'Zlib::GzipReader',
        -                'Zlib::GzipWriter', 'Zlib::Inflate', 'Zlib::MemError',
        -                'Zlib::NeedDict', 'Zlib::StreamEnd', 'Zlib::StreamError',
        -                'Zlib::VersionError',
        -                'Zlib::ZStream',
        -                'HTML::Selector', 'HashWithIndifferentAccess', 'Inflector',
        -                'Inflector::Inflections', 'Mime', 'Mime::Type',
        -                'OCI8AutoRecover', 'TimeZone', 'XmlSimple'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '%', '&', '*', '|', '/', '<', '>',
        -        '+', '-', '=>', '<<'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color:#9966CC; font-weight:bold;',
        -            2 => 'color:#0000FF; font-weight:bold;',
        -            3 => 'color:#CC0066; font-weight:bold;',
        -            4 => 'color:#CC00FF; font-weight:bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color:#008000; font-style:italic;',
        -            4 => 'color: #cc0000; font-style: italic;',
        -            'MULTI' => 'color:#000080; font-style:italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color:#000099;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color:#006600; font-weight:bold;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color:#996600;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color:#006666;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color:#9900CC;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color:#006600; font-weight:bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color:#ff6633; font-weight:bold;',
        -            1 => 'color:#0066ff; font-weight:bold;',
        -            2 => 'color:#6666ff; font-weight:bold;',
        -            3 => 'color:#ff3333; font-weight:bold;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        0 => array(//Variables
        -            GESHI_SEARCH => "([[:space:]])(\\$[a-zA-Z_][a-zA-Z0-9_]*)",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        1 => array(//Arrays
        -            GESHI_SEARCH => "([[:space:]])(@[a-zA-Z_][a-zA-Z0-9_]*)",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*",//Static OOP symbols
        -        3 => array(
        -            GESHI_SEARCH => "([[:space:]]|\[|\()(:[a-zA-Z_][a-zA-Z0-9_]*)",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            '<%' => '%>'
        -            )
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        ),
        -    'TAB_WIDTH' => 2
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/rust.php b/vendor/easybook/geshi/geshi/rust.php
        deleted file mode 100644
        index 07ba51a..0000000
        --- a/vendor/easybook/geshi/geshi/rust.php
        +++ /dev/null
        @@ -1,228 +0,0 @@
        - 'Rust',
        -
        -    'COMMENT_SINGLE' => array('//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(),
        -
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[\\\\nrt\'\"?\n]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{2}#",
        -        //Hexadecimal Char Specs
        -        3 => "#\\\\u[\da-fA-F]{4}#",
        -        //Hexadecimal Char Specs
        -        4 => "#\\\\U[\da-fA-F]{8}#",
        -        //Octal Char Specs
        -        5 => "#\\\\[0-7]{1,3}#"
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -
        -    'KEYWORDS' => array(
        -        // Keywords
        -        1 => array(
        -            'alt', 'as', 'assert', 'break', 'const', 'continue', 'copy', 'do',
        -            'else', 'enum', 'extern', 'fn', 'for', 'if',
        -            'impl', 'in', 'let', 'log', 'loop', 'match', 'mod', 'mut', 'of',
        -            'priv', 'pub', 'ref', 'return', 'self', 'static', 'struct', 'super',
        -            'to', 'trait', 'type', 'unsafe', 'use', 'with', 'while'
        -            ),
        -        // Boolean values
        -        2 => array( 'true', 'false' ),
        -        // Structs and built-in types
        -        3 => array(
        -            'u8', 'i8',
        -            'u16', 'i16',
        -            'u32', 'i32',
        -            'u64', 'i64',
        -            'f32', 'f64',
        -            'int', 'uint',
        -            'float',
        -            'bool',
        -            'str', 'char',
        -            'Argument', 'AsyncWatcher', 'BorrowRecord', 'BufReader',
        -            'BufWriter', 'BufferedReader', 'BufferedStream', 'BufferedWriter',
        -            'ByRef', 'ByteIterator', 'CFile', 'CString', 'CStringIterator',
        -            'Cell', 'Chain', 'Chan', 'ChanOne', 'CharIterator',
        -            'CharOffsetIterator', 'CharRange', 'CharSplitIterator',
        -            'CharSplitNIterator', 'ChunkIter', 'Condition', 'ConnectRequest',
        -            'Coroutine', 'Counter', 'CrateMap', 'Cycle', 'DeflateWriter',
        -            'Display', 'ElementSwaps', 'Enumerate', 'Exp', 'Exp1', 'FileDesc',
        -            'FileReader', 'FileStat', 'FileStream', 'FileWriter', 'Filter',
        -            'FilterMap', 'FlatMap', 'FormatSpec', 'Formatter', 'FsRequest',
        -            'Fuse', 'GarbageCollector', 'GetAddrInfoRequest', 'Handle',
        -            'HashMap', 'HashMapIterator', 'HashMapMoveIterator',
        -            'HashMapMutIterator', 'HashSet', 'HashSetIterator',
        -            'HashSetMoveIterator', 'Hint', 'IdleWatcher', 'InflateReader',
        -            'Info', 'Inspect', 'Invert', 'IoError', 'Isaac64Rng', 'IsaacRng',
        -            'LineBufferedWriter', 'Listener', 'LocalHeap', 'LocalStorage',
        -            'Loop', 'Map', 'MatchesIndexIterator', 'MemReader', 'MemWriter',
        -            'MemoryMap', 'ModEntry', 'MoveIterator', 'MovePtrAdaptor',
        -            'MoveRevIterator', 'NoOpRunnable', 'NonCopyable', 'Normal',
        -            'OSRng', 'OptionIterator', 'Parser', 'Path', 'Peekable',
        -            'Permutations', 'Pipe', 'PipeStream', 'PluralArm', 'Port',
        -            'PortOne', 'Process', 'ProcessConfig', 'ProcessOptions',
        -            'ProcessOutput', 'RC', 'RSplitIterator', 'RandSample', 'Range',
        -            'RangeInclusive', 'RangeStep', 'RangeStepInclusive', 'Rc', 'RcMut',
        -            'ReaderRng', 'Repeat', 'ReprVisitor', 'RequestData',
        -            'ReseedWithDefault', 'ReseedingRng', 'Scan', 'SchedOpts',
        -            'SelectArm', 'SharedChan', 'SharedPort', 'SignalWatcher',
        -            'SipState', 'Skip', 'SkipWhile', 'SocketAddr', 'SplitIterator',
        -            'StackPool', 'StackSegment', 'StandardNormal', 'StdErrLogger',
        -            'StdIn', 'StdOut', 'StdReader', 'StdRng', 'StdWriter',
        -            'StrSplitIterator', 'StreamWatcher', 'TTY', 'Take', 'TakeWhile',
        -            'Task', 'TaskBuilder', 'TaskOpts', 'TcpAcceptor', 'TcpListener',
        -            'TcpStream', 'TcpWatcher', 'Timer', 'TimerWatcher', 'TrieMap',
        -            'TrieMapIterator', 'TrieSet', 'TrieSetIterator', 'Tube',
        -            'UdpSendRequest', 'UdpSocket', 'UdpStream', 'UdpWatcher', 'Unfold',
        -            'UnixAcceptor', 'UnixListener', 'UnixStream', 'Unwinder',
        -            'UvAddrInfo', 'UvError', 'UvEventLoop', 'UvFileStream',
        -            'UvIoFactory', 'UvPausibleIdleCallback', 'UvPipeStream',
        -            'UvProcess', 'UvRemoteCallback', 'UvSignal', 'UvTTY',
        -            'UvTcpAcceptor', 'UvTcpListener', 'UvTcpStream', 'UvTimer',
        -            'UvUdpSocket', 'UvUnboundPipe', 'UvUnixAcceptor', 'UvUnixListener',
        -            'VecIterator', 'VecMutIterator', 'Weighted', 'WeightedChoice',
        -            'WindowIter', 'WriteRequest', 'XorShiftRng', 'Zip', 'addrinfo',
        -            'uv_buf_t', 'uv_err_data', 'uv_process_options_t', 'uv_stat_t',
        -            'uv_stdio_container_t', 'uv_timespec_t'
        -            ),
        -        // Enums
        -        4 => array(
        -            'Alignment', 'Count', 'Either', 'ExponentFormat', 'FPCategory',
        -            'FileAccess', 'FileMode', 'Flag', 'IoErrorKind', 'IpAddr',
        -            'KeyValue', 'MapError', 'MapOption', 'MemoryMapKind', 'Method',
        -            'NullByteResolution', 'Option', 'Ordering', 'PathPrefix', 'Piece',
        -            'PluralKeyword', 'Position', 'Protocol', 'Result', 'SchedHome',
        -            'SchedMode', 'SeekStyle', 'SendStr', 'SignFormat',
        -            'SignificantDigits', 'Signum', 'SocketType', 'StdioContainer',
        -            'TaskResult', 'TaskType', 'UvSocketAddr', 'Void', 'uv_handle_type',
        -            'uv_membership', 'uv_req_type'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']',
        -        '+', '-', '*', '/', '%',
        -        '&', '|', '^', '!', '<', '>', '~', '@',
        -        ':',
        -        ';', ',',
        -        '='
        -        ),
        -
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true
        -        ),
        -
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #708;',
        -            2 => 'color: #219;',
        -            3 => 'color: #05a;',
        -            4 => 'color: #800;'
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #a50; font-style: italic;',
        -            'MULTI' => 'color: #a50; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #660099; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold;',
        -            'HARD' => ''
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #a11;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000dd;',
        -            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
        -            ),
        -        'BRACKETS' => array(''),
        -        'METHODS' => array(
        -            1 => 'color: #164;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => ''
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/sas.php b/vendor/easybook/geshi/geshi/sas.php
        deleted file mode 100644
        index faf16ff..0000000
        --- a/vendor/easybook/geshi/geshi/sas.php
        +++ /dev/null
        @@ -1,289 +0,0 @@
        - 'SAS',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array('/*' => '*/', '*' => ';'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            '_ALL_','_CHARACTER_','_INFILE_','_N_','_NULL_','_NUMERIC_',
        -            '_WEBOUT_'
        -            ),
        -        2 => array(
        -            '%BQUOTE','%CMPRES','%COMPSTOR','%DATATYP','%DISPLAY','%DO','%ELSE',
        -            '%END','%EVAL','%GLOBAL','%GOTO','%IF','%INDEX','%INPUT','%KEYDEF',
        -            '%LABEL','%LEFT','%LENGTH','%LET','%LOCAL','%LOWCASE','%MACRO',
        -            '%MEND','%NRBQUOTE','%NRQUOTE','%NRSTR','%PUT','%QCMPRES','%QLEFT',
        -            '%QLOWCASE','%QSCAN','%QSUBSTR','%QSYSFUNC','%QTRIM','%QUOTE',
        -            '%QUPCASE','%SCAN','%STR','%SUBSTR','%SUPERQ','%SYSCALL',
        -            '%SYSEVALF','%SYSEXEC','%SYSFUNC','%SYSGET','%SYSLPUT','%SYSPROD',
        -            '%SYSRC','%SYSRPUT','%THEN','%TO','%TRIM','%UNQUOTE','%UNTIL',
        -            '%UPCASE','%VERIFY','%WHILE','%WINDOW'
        -            ),
        -        3 => array(
        -            'ABS','ADDR','AIRY','ARCOS','ARSIN','ATAN','ATTRC','ATTRN','BAND',
        -            'BETAINV','BLSHIFT','BNOT','BOR','BRSHIFT','BXOR','BYTE','CDF',
        -            'CEIL','CEXIST','CINV','CLOSE','CNONCT','COLLATE','COMPBL',
        -            'COMPOUND','COMPRESS','COSH','COS','CSS','CUROBS','CV','DACCDBSL',
        -            'DACCDB','DACCSL','DACCSYD','DACCTAB','DAIRY','DATETIME','DATEJUL',
        -            'DATEPART','DATE','DAY','DCLOSE','DEPDBSL','DEPDB','DEPSL','DEPSYD',
        -            'DEPTAB','DEQUOTE','DHMS','DIF','DIGAMMA','DIM','DINFO','DNUM',
        -            'DOPEN','DOPTNAME','DOPTNUM','DREAD','DROPNOTE','DSNAME','ERFC',
        -            'ERF','EXIST','EXP','FAPPEND','FCLOSE','FCOL','FDELETE','FETCHOBS',
        -            'FETCH','FEXIST','FGET','FILEEXIST','FILENAME','FILEREF','FINFO',
        -            'FINV','FIPNAMEL','FIPNAME','FIPSTATE','FLOOR','FNONCT','FNOTE',
        -            'FOPEN','FOPTNAME','FOPTNUM','FPOINT','FPOS','FPUT','FREAD',
        -            'FREWIND','FRLEN','FSEP','FUZZ','FWRITE','GAMINV','GAMMA',
        -            'GETOPTION','GETVARC','GETVARN','HBOUND','HMS','HOSTHELP','HOUR',
        -            'IBESSEL','INDEXW','INDEXC','INDEX','INPUTN','INPUTC','INPUT',
        -            'INTRR','INTCK','INTNX','INT','IRR','JBESSEL','JULDATE','KURTOSIS',
        -            'LAG','LBOUND','LEFT','LENGTH','LGAMMA','LIBNAME','LIBREF','LOG10',
        -            'LOG2','LOGPDF','LOGPMF','LOGSDF','LOG','LOWCASE','MAX','MDY',
        -            'MEAN','MINUTE','MIN','MOD','MONTH','MOPEN','MORT','NETPV','NMISS',
        -            'NORMAL','NPV','N','OPEN','ORDINAL','PATHNAME','PDF','PEEKC','PEEK',
        -            'PMF','POINT','POISSON','POKE','PROBBETA','PROBBNML','PROBCHI',
        -            'PROBF','PROBGAM','PROBHYPR','PROBIT','PROBNEGB','PROBNORM','PROBT',
        -            'PUTN','PUTC','PUT','QTR','QUOTE','RANBIN','RANCAU','RANEXP',
        -            'RANGAM','RANGE','RANK','RANNOR','RANPOI','RANTBL','RANTRI',
        -            'RANUNI','REPEAT','RESOLVE','REVERSE','REWIND','RIGHT','ROUND',
        -            'SAVING','SCAN','SDF','SECOND','SIGN','SINH','SIN','SKEWNESS',
        -            'SOUNDEX','SPEDIS','SQRT','STDERR','STD','STFIPS','STNAME',
        -            'STNAMEL','SUBSTR','SUM','SYMGET','SYSGET','SYSMSG','SYSPROD',
        -            'SYSRC','SYSTEM','TANH','TAN','TIMEPART','TIME','TINV','TNONCT',
        -            'TODAY','TRANSLATE','TRANWRD','TRIGAMMA','TRIMN','TRIM','TRUNC',
        -            'UNIFORM','UPCASE','USS','VARFMT','VARINFMT','VARLABEL','VARLEN',
        -            'VARNAME','VARNUM','VARRAYX','VARRAY','VARTYPE','VAR','VERIFY',
        -            'VFORMATX','VFORMATDX','VFORMATD','VFORMATNX','VFORMATN',
        -            'VFORMATWX','VFORMATW','VFORMAT','VINARRAYX','VINARRAY',
        -            'VINFORMATX','VINFORMATDX','VINFORMATD','VINFORMATNX','VINFORMATN',
        -            'VINFORMATWX','VINFORMATW','VINFORMAT','VLABELX','VLABEL',
        -            'VLENGTHX','VLENGTH','VNAMEX','VNAME','VTYPEX','VTYPE','WEEKDAY',
        -            'YEAR','YYQ','ZIPFIPS','ZIPNAME','ZIPNAMEL','ZIPSTATE'
        -            ),
        -        4 => array(
        -            'ABORT','ADD','ALTER','AND','ARRAY','AS','ATTRIB','BY','CALL',
        -            'CARDS4','CASCADE','CATNAME','CHECK','CONTINUE','CREATE',
        -            'DATALINES4','DELETE','DESCRIBE','DISPLAY','DISTINCT','DM','DROP',
        -            'ENDSAS','FILE','FOOTNOTE','FOREIGN','FORMAT','FROM',
        -            'GOTO','GROUP','HAVING','IN','INFILE','INFORMAT',
        -            'INSERT','INTO','KEEP','KEY','LABEL','LEAVE',
        -            'LIKE','LINK','LIST','LOSTCARD','MERGE','MESSAGE','MISSING',
        -            'MODIFY','MSGTYPE','NOT','NULL','ON','OPTIONS','OR','ORDER',
        -            'OUTPUT','PAGE','PRIMARY','REDIRECT','REFERENCES','REMOVE',
        -            'RENAME','REPLACE','RESET','RESTRICT','RETAIN','RETURN','SELECT',
        -            'SET','SKIP','STARTSAS','STOP','SYSTASK','TABLE','TITLE','UNIQUE',
        -            'UPDATE','VALIDATE','VIEW','WAITSAS','WHERE','WINDOW','X'
        -            ),
        -        5 => array(
        -            'DO','ELSE','END','IF','THEN','UNTIL','WHILE'
        -            ),
        -        6 => array(
        -            'RUN','QUIT','DATA'
        -            ),
        -        7 => array(
        -            'ERROR'
        -            ),
        -        8 => array(
        -            'WARNING'
        -            ),
        -        9 => array(
        -            'NOTE'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false,
        -        7 => false,
        -        8 => false,
        -        9 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #0000ff;',
        -            4 => 'color: #0000ff;',
        -            5 => 'color: #0000ff;',
        -            6 => 'color: #000080; font-weight: bold;',
        -            7 => 'color: #ff0000;',
        -            8 => 'color: #00ff00;',
        -            9 => 'color: #0000ff;'
        -            ),
        -        'COMMENTS' => array(
        -//            1 => 'color: #006400; font-style: italic;',
        -            'MULTI' => 'color: #006400; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #a020f0;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #2e8b57; font-weight: bold;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => ''
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000ff; font-weight: bold;',
        -            1 => 'color: #000080; font-weight: bold;',
        -            2 => 'color: #006400; font-style: italic;',
        -            3 => 'color: #006400; font-style: italic;',
        -            4 => 'color: #006400; font-style: italic;',
        -            5 => 'color: #ff0000; font-weight: bold;',
        -            6 => 'color: #00ff00; font-style: italic;',
        -            7 => 'color: #0000ff; font-style: normal;',
        -            8 => 'color: #b218b2; font-weight: bold;',
        -            9 => 'color: #b218b2; font-weight: bold;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => '',
        -        8 => '',
        -        9 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        0 => "&[a-zA-Z_][a-zA-Z0-9_]*",
        -        1 => array(//Procedures
        -            GESHI_SEARCH => '(^\\s*)(PROC \\w+)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'im',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        2 => array(
        -            GESHI_SEARCH => '(^\\s*)(\\*.*;)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'im',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        3 => array(
        -            GESHI_SEARCH => '(.*;\\s*)(\\*.*;)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'im',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        4 => array(
        -            GESHI_SEARCH => '(^\\s*)(%\\*.*;)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'im',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        5 => array(//Error messages
        -            GESHI_SEARCH => '(^ERROR.*)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'im',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        6 => array(//Warning messages
        -            GESHI_SEARCH => '(^WARNING.*)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'im',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        7 => array(//Notice messages
        -            GESHI_SEARCH => '(^NOTE.*)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'im',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        8 => array(
        -            GESHI_SEARCH => '(^\\s*)(CARDS.*)(^\\s*;\\s*$)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'sim',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -        9 => array(
        -            GESHI_SEARCH => '(^\\s*)(DATALINES.*)(^\\s*;\\s*$)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'sim',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/sass.php b/vendor/easybook/geshi/geshi/sass.php
        deleted file mode 100644
        index 286f4bf..0000000
        --- a/vendor/easybook/geshi/geshi/sass.php
        +++ /dev/null
        @@ -1,248 +0,0 @@
        - 'Sass',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', "'"),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        // properties
        -        1 => array(
        -            'azimuth', 'background-attachment', 'background-color',
        -            'background-image', 'background-position', 'background-repeat',
        -            'background', 'border-bottom-color', 'border-radius',
        -            'border-top-left-radius', 'border-top-right-radius',
        -            'border-bottom-right-radius', 'border-bottom-left-radius',
        -            'border-bottom-style', 'border-bottom-width', 'border-left-color',
        -            'border-left-style', 'border-left-width', 'border-right',
        -            'border-right-color', 'border-right-style', 'border-right-width',
        -            'border-top-color', 'border-top-style',
        -            'border-top-width','border-bottom', 'border-collapse',
        -            'border-left', 'border-width', 'border-color', 'border-spacing',
        -            'border-style', 'border-top', 'border', 'box-shadow', 'caption-side', 'clear',
        -            'clip', 'color', 'content', 'counter-increment', 'counter-reset',
        -            'cue-after', 'cue-before', 'cue', 'cursor', 'direction', 'display',
        -            'elevation', 'empty-cells', 'float', 'font-family', 'font-size',
        -            'font-size-adjust', 'font-stretch', 'font-style', 'font-variant',
        -            'font-weight', 'font', 'line-height', 'letter-spacing',
        -            'list-style', 'list-style-image', 'list-style-position',
        -            'list-style-type', 'margin-bottom', 'margin-left', 'margin-right',
        -            'margin-top', 'margin', 'marker-offset', 'marks', 'max-height',
        -            'max-width', 'min-height', 'min-width', 'orphans', 'outline',
        -            'outline-color', 'outline-style', 'outline-width', 'overflow',
        -            'padding-bottom', 'padding-left', 'padding-right', 'padding-top',
        -            'padding', 'page', 'page-break-after', 'page-break-before',
        -            'page-break-inside', 'pause-after', 'pause-before', 'pause',
        -            'pitch', 'pitch-range', 'play-during', 'position', 'quotes',
        -            'richness', 'right', 'size', 'speak-header', 'speak-numeral',
        -            'speak-punctuation', 'speak', 'speech-rate', 'stress',
        -            'table-layout', 'text-align', 'text-decoration', 'text-indent',
        -            'text-shadow', 'text-transform', 'top', 'unicode-bidi',
        -            'vertical-align', 'visibility', 'voice-family', 'volume',
        -            'white-space', 'widows', 'width', 'word-spacing', 'z-index',
        -            'bottom', 'left', 'height',
        -            // media queries
        -            'screen', 'orientation', 'min-device-width', 'max-device-width',
        -            ),
        -        // reserved words for values
        -        2 => array(
        -            // colors
        -            'aqua', 'black', 'blue', 'fuchsia', 'gray', 'green', 'lime',
        -            'maroon', 'navy', 'olive', 'orange', 'purple', 'red', 'silver',
        -            'teal', 'white', 'yellow',
        -            // media queries
        -            'landscape', 'portrait', 
        -            // other
        -            'above', 'absolute', 'always', 'armenian', 'aural', 'auto',
        -            'avoid', 'baseline', 'behind', 'below', 'bidi-override', 'blink',
        -            'block', 'bold', 'bolder', 'both', 'capitalize', 'center-left',
        -            'center-right', 'center', 'circle', 'cjk-ideographic',
        -            'close-quote', 'collapse', 'condensed', 'continuous', 'crop',
        -            'crosshair', 'cross', 'cursive', 'dashed', 'decimal-leading-zero',
        -            'decimal', 'default', 'digits', 'disc', 'dotted', 'double',
        -            'e-resize', 'embed', 'extra-condensed', 'extra-expanded',
        -            'expanded', 'fantasy', 'far-left', 'far-right', 'faster', 'fast',
        -            'fixed',  'georgian', 'groove', 'hebrew', 'help', 'hidden',
        -            'hide', 'higher', 'high', 'hiragana-iroha', 'hiragana', 'icon',
        -            'inherit', 'inline-table', 'inline', 'inline-block', 'inset', 'inside',
        -            'invert', 'italic', 'justify', 'katakana-iroha', 'katakana', 'landscape',
        -            'larger', 'large', 'left-side', 'leftwards', 'level', 'lighter', 
        -            'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek',
        -            'lower-roman', 'lowercase', 'ltr', 'lower', 'low', 
        -            'medium', 'message-box', 'middle', 'mix', 'monospace', 'n-resize',
        -            'narrower', 'ne-resize', 'no-close-quote',
        -            'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap',
        -            'nw-resize', 'oblique', 'once', 'open-quote', 'outset',
        -            'outside', 'overline', 'pointer', 'portrait', 'px',
        -             'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb',
        -            'ridge', 'right-side', 'rightwards', 's-resize', 'sans-serif',
        -            'scroll', 'se-resize', 'semi-condensed', 'semi-expanded',
        -            'separate', 'serif', 'show', 'silent',  'slow', 'slower',
        -            'small-caps', 'small-caption', 'smaller', 'soft', 'solid',
        -            'spell-out', 'square', 'static', 'status-bar', 'super',
        -            'sw-resize', 'table-caption', 'table-cell', 'table-column',
        -            'table-column-group', 'table-footer-group', 'table-header-group',
        -            'table-row', 'table-row-group',  'text', 'text-bottom',
        -            'text-top', 'thick', 'thin', 'transparent', 'ultra-condensed',
        -            'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin',
        -            'upper-roman', 'uppercase', 'url', 'visible', 'w-resize', 'wait',
        -             'wider', 'x-fast', 'x-high', 'x-large', 'x-loud', 'x-low',
        -             'x-small', 'x-soft', 'xx-large', 'xx-small', 'yellow', 'yes'
        -            ),
        -        // directives
        -        3 => array(
        -            '@at-root', '@charset', '@content', '@debug', '@each', '@else', '@elseif',
        -            '@else if', '@extend', '@font-face', '@for', '@function', '@if',
        -            '@import', '@include', '@media', '@mixin', '@namespace', '@page',
        -            '@return', '@warn', '@while', 
        -            ),
        -        // built-in Sass functions
        -        4 => array(
        -            'rgb', 'rgba', 'red', 'green', 'blue', 'mix',
        -            'hsl', 'hsla', 'hue', 'saturation', 'lightness', 'adjust-hue',
        -            'lighten', 'darken', 'saturate', 'desaturate', 'grayscale',
        -            'complement', 'invert',
        -            'alpha', 'rgba', 'opacify', 'transparentize',
        -            'adjust-color', 'scale-color', 'change-color', 'ie-hex-str',
        -            'unquote', 'quote', 'str-length', 'str-insert', 'str-index',
        -            'str-slice', 'to-upper-case', 'to-lower-case',
        -            'percentage', 'round', 'ceil', 'floor', 'abs', 'min', 'max', 'random',
        -            'length', 'nth', 'join', 'append', 'zip', 'index', 'list-separator',
        -            'map-get', 'map-merge', 'map-remove', 'map-keys', 'map-values',
        -            'map-has-key', 'keywords',
        -            'feature-exists', 'variable-exists', 'global-variable-exists',
        -            'function-exists', 'mixin-exists', 'inspect', 'type-of', 'unit',
        -            'unitless', 'comparable', 'call',
        -            'if', 'unique-id',
        -            ),
        -        // reserved words
        -        5 => array(
        -            '!important', '!default', '!optional', 'true', 'false', 'with',
        -            'without', 'null', 'from', 'through', 'to', 'in', 'and', 'or',
        -            'only', 'not',
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', ':', ';',
        -        '>', '+', '*', ',', '^', '=',
        -        '&', '~', '!', '%', '?', '...',
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #993333;',
        -            3 => 'color: #990000;',
        -            4 => 'color: #000000; font-weight: bold;',
        -            5 => 'color: #009900;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #006600; font-style: italic;',
        -            'MULTI' => 'color: #006600; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #00AA00;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #00AA00;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #cc00cc;',
        -            1 => 'color: #6666ff;',
        -            2 => 'color: #3333ff;',
        -            3 => 'color: #933;',
        -            4 => 'color: #ff6633;',
        -            5 => 'color: #0066ff;',
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        // Variables
        -        0 => "[$][a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*",
        -        // Hexadecimal colors
        -        1 => "\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})",
        -        // CSS Pseudo classes
        -        // note: & is needed for > (i.e. > )
        -        2 => "(? "[+\-]?(\d+|(\d*\.\d+))(em|ex|pt|px|cm|in|%)",
        -        // Interpolation
        -        4 => "(\#\{.*\})",
        -        // Browser prefixed properties
        -        5 => "(\-(moz|ms|o|webkit)\-[a-z\-]*)",
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 2,
        -);
        diff --git a/vendor/easybook/geshi/geshi/scala.php b/vendor/easybook/geshi/geshi/scala.php
        deleted file mode 100644
        index 681c197..0000000
        --- a/vendor/easybook/geshi/geshi/scala.php
        +++ /dev/null
        @@ -1,137 +0,0 @@
        - 'Scala',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(2 => "/\\'(?!\w\\'|\\\\)\w+(?=\s)/"),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'",'"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[nfrtv\$\"\n\\\\]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{1,2}#i",
        -        //Hexadecimal Char Specs (unicode)
        -        3 => "#\\\\u[\da-fA-F]{1,4}#",
        -        //Hexadecimal Char Specs (Extended Unicode)
        -        4 => "#\\\\U[\da-fA-F]{1,8}#",
        -        ),
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'abstract', 'case', 'catch', 'class', 'def',
        -            'do', 'else', 'extends', 'false', 'final',
        -            'finally', 'for', 'forSome', 'if', 'implicit',
        -            'import', 'match', 'new', 'null', 'object',
        -            'override', 'package', 'private', 'protected', 'requires',
        -            'return', 'sealed', 'super', 'this', 'throw',
        -            'trait', 'try', 'true', 'type', 'val',
        -            'var', 'while', 'with', 'yield'
        -            ),
        -        2 => array(
        -            'void', 'double', 'int', 'boolean', 'byte', 'short', 'long', 'char', 'float'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?',
        -        '_', ':', '=', '=>', '<<:',
        -        '<%', '>:', '#', '@'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff; font-weight: bold;',
        -            2 => 'color: #9999cc; font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000; font-style: italic;',
        -            2 => 'color: #CC66FF;',
        -            'MULTI' => 'color: #00ff00; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #6666ff; font-weight: bold;',
        -            1 => 'color: #6666ff; font-weight: bold;',
        -            2 => 'color: #5555ff; font-weight: bold;',
        -            3 => 'color: #4444ff; font-weight: bold;',
        -            4 => 'color: #3333ff; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #F78811;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #6666FF;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #F78811;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #000000;',
        -            2 => 'color: #000000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000080;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://scala-lang.org',
        -        2 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/scheme.php b/vendor/easybook/geshi/geshi/scheme.php
        deleted file mode 100644
        index 5987084..0000000
        --- a/vendor/easybook/geshi/geshi/scheme.php
        +++ /dev/null
        @@ -1,168 +0,0 @@
        - 'Scheme',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array('#|' => '|#'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'abs', 'acos', 'and', 'angle', 'append', 'appply', 'approximate',
        -            'asin', 'assoc', 'assq', 'assv', 'atan',
        -
        -            'begin', 'boolean?', 'bound-identifier=?',
        -
        -            'caar', 'caddr', 'cadr', 'call-with-current-continuation',
        -            'call-with-input-file', 'call-with-output-file', 'call/cc', 'car',
        -            'case', 'catch', 'cdddar', 'cddddr', 'cdr', 'ceiling', 'char->integer',
        -            'char-alphabetic?', 'char-ci<=?', 'char-ci=?',
        -            'char-ci>?', 'char-ci=?', 'char-downcase', 'char-lower-case?',
        -            'char-numeric', 'char-ready', 'char-ready?', 'char-upcase',
        -            'char-upper-case?', 'char-whitespace?', 'char<=?', 'char=?', 'char>?', 'char?', 'close-input-port', 'close-output-port',
        -            'complex?', 'cond', 'cons', 'construct-identifier', 'cos',
        -            'current-input-port', 'current-output-port',
        -
        -            'd', 'define', 'define-syntax', 'delay', 'denominator', 'display', 'do',
        -
        -            'e', 'eof-object?', 'eq?', 'equal?', 'eqv?', 'even?', 'exact->inexact',
        -            'exact?', 'exp', 'expt', 'else',
        -
        -            'f', 'floor', 'for-each', 'force', 'free-identifer=?',
        -
        -            'gcd', 'gen-counter', 'gen-loser', 'generate-identifier',
        -
        -            'identifier->symbol', 'identifier', 'if', 'imag-part', 'inexact->exact',
        -            'inexact?', 'input-port?', 'integer->char', 'integer?', 'integrate-system',
        -
        -            'l', 'lambda', 'last-pair', 'lcm', 'length', 'let', 'let*', 'letrec',
        -            'list', 'list->string', 'list->vector', 'list-ref', 'list-tail', 'list?',
        -            'load', 'log',
        -
        -            'magnitude', 'make-polar', 'make-promise', 'make-rectangular',
        -            'make-string', 'make-vector', 'map', 'map-streams', 'max', 'member',
        -            'memq', 'memv', 'min', 'modulo',
        -
        -            'negative', 'newline', 'nil', 'not', 'null?', 'number->string', 'number?',
        -            'numerator',
        -
        -            'odd?', 'open-input-file', 'open-output-file', 'or', 'output-port',
        -
        -            'pair?', 'peek-char', 'positive?', 'procedure?',
        -
        -            'quasiquote', 'quote', 'quotient',
        -
        -            'rational', 'rationalize', 'read', 'read-char', 'real-part', 'real?',
        -            'remainder', 'return', 'reverse',
        -
        -            's', 'sequence', 'set!', 'set-char!', 'set-cdr!', 'sin', 'sqrt', 'string',
        -            'string->list', 'string->number', 'string->symbol', 'string-append',
        -            'string-ci<=?', 'string-ci=?',
        -            'string-ci>?', 'string-copy', 'string-fill!', 'string-length',
        -            'string-ref', 'string-set!', 'string<=?', 'string=?', 'string>?', 'string?', 'substring', 'symbol->string',
        -            'symbol?', 'syntax', 'syntax-rules',
        -
        -            't', 'tan', 'template', 'transcript-off', 'transcript-on', 'truncate',
        -
        -            'unquote', 'unquote-splicing', 'unwrap-syntax',
        -
        -            'vector', 'vector->list', 'vector-fill!', 'vector-length', 'vector-ref',
        -            'vector-set!', 'vector?',
        -
        -            'with-input-from-file', 'with-output-to-file', 'write', 'write-char',
        -
        -            'zero?'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/scilab.php b/vendor/easybook/geshi/geshi/scilab.php
        deleted file mode 100644
        index ebd1637..0000000
        --- a/vendor/easybook/geshi/geshi/scilab.php
        +++ /dev/null
        @@ -1,294 +0,0 @@
        - 'SciLab',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        2 => "/(?<=\)|\]|\w)'/"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'HARDQUOTE' => array("'", "'"),
        -    'HARDESCAPE' => array(),
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'if', 'else', 'elseif', 'end', 'select', 'case', 'for', 'while', 'break'
        -            ),
        -        2 => array(
        -            'STDIN', 'STDOUT', 'STDERR',
        -            '%i', '%pi', '%e', '%eps', '%nan', '%inf', '%s', '%t', '%f',
        -            'usual', 'polynomial', 'boolean', 'character', 'function', 'rational', 'state-space',
        -            'sparse', 'boolean sparse', 'list', 'tlist', 'library', 'endfunction'
        -            ),
        -        3 => array(
        -            '%asn', '%helps', '%k', '%sn', 'abcd', 'abinv', 'abort', 'about', 'About_M2SCI_tools',
        -            'abs', 'acos', 'acosh', 'acoshm', 'acosm', 'AdCommunications', 'add_demo', 'add_edge',
        -            'add_help_chapter', 'add_node', 'add_palette', 'addcolor', 'addf', 'addinter', 'addmenu',
        -            'adj_lists', 'adj2sp', 'aff2ab', 'alufunctions', 'amell', 'analpf', 'analyze', 'and',
        -            'ans', 'apropos', 'arc_graph', 'arc_number', 'arc_properties', 'argn', 'arhnk', 'arl2',
        -            'arma', 'arma2p', 'armac', 'armax', 'armax1', 'arsimul', 'artest', 'articul', 'ascii',
        -            'asciimat', 'asin', 'asinh', 'asinhm', 'asinm', 'assignation', 'atan', 'atanh', 'atanhm',
        -            'atanm', 'augment', 'auread', 'auwrite', 'axes_properties', 'axis_properties', 'backslash',
        -            'balanc', 'balreal', 'bandwr', 'banner','bar', 'barh', 'barhomogenize', 'basename', 'bdiag',
        -            'beep', 'besselh', 'besseli', 'besselj', 'besselk', 'bessely', 'best_match', 'beta','bezout',
        -            'bifish', 'bilin', 'binomial', 'black', 'bloc2exp', 'bloc2ss', 'bode', 'bool2s',
        -            'boucle', 'brackets', 'browsevar', 'bsplin3val', 'bstap', 'buttmag', 'buttondialog',
        -            'bvode', 'bvodeS', 'c_link', 'cainv', 'calendar', 'calerf', 'calfrq', 'call', 'canon', 'casc',
        -            'cat', 'catch', 'ccontrg', 'cd', 'cdfbet', 'cdfbin', 'cdfchi', 'cdfchn', 'cdff', 'cdffnc',
        -            'cdfgam', 'cdfnbn', 'cdfnor', 'cdfpoi', 'cdft', 'ceil', 'cell', 'cell2mat', 'cellstr', 'center',
        -            'cepstrum', 'chain_struct', 'chaintest', 'champ', 'champ_properties', 'champ1', 'char', 'chart',
        -            'chartooem', 'chdir', 'cheb1mag', 'cheb2mag', 'check_graph', 'chepol', 'chfact', 'chol', 'chsolve',
        -            'circuit', 'classmarkov', 'clc', 'clean', 'clear', 'clear_pixmap', 'clearfun', 'clearglobal','clf',
        -            'clipboard', 'close', 'cls2dls', 'cmb_lin', 'cmndred', 'cmoment', 'code2str', 'coeff', 'coff', 'coffg',
        -            'colcomp', 'colcompr', 'colinout', 'colon', 'color', 'color_list', 'colorbar', 'colordef', 'colormap',
        -            'colregul', 'comma', 'comments', 'comp', 'companion', 'comparison', 'Compound_properties', 'con_nodes',
        -            'cond', 'config', 'configure_msvc', 'conj', 'connex', 'console', 'cont_frm', 'cont_mat', 'Contents',
        -            'continue', 'contour', 'contour2d', 'contour2di', 'contourf', 'contr', 'contract_edge', 'contrss',
        -            'convex_hull', 'convol', 'convstr', 'copfac', 'copy', 'corr', 'correl', 'cos', 'cosh', 'coshm',
        -            'cosm', 'cotg', 'coth', 'cothm', 'covar', 'create_palette', 'cshep2d', 'csim', 'cspect', 'Cste',
        -            'ctr_gram', 'cumprod', 'cumsum', 'cycle_basis', 'czt', 'dasrt', 'dassl', 'datafit', 'date', 'datenum',
        -            'datevec', 'dbphi', 'dcf', 'ddp', 'debug', 'dec2hex', 'deff', 'definedfields', 'degree', 'delbpt',
        -            'delete', 'delete_arcs', 'delete_nodes', 'delip', 'delmenu', 'demoplay', 'denom', 'derivat', 'derivative',
        -            'des2ss', 'des2tf', 'det', 'determ', 'detr', 'detrend', 'dft', 'dhinf', 'dhnorm', 'diag', 'diary',
        -            'diff', 'diophant', 'dir', 'dirname', 'disp', 'dispbpt', 'dispfiles', 'dlgamma', 'dnaupd', 'do', 'dot',
        -            'double', 'dragrect', 'draw', 'drawaxis', 'drawlater', 'drawnow', 'driver', 'dsaupd', 'dscr',
        -            'dsearch', 'dsimul', 'dt_ility', 'dtsi', 'edge_number', 'edit', 'edit_curv', 'edit_error',
        -            'edit_graph', 'edit_graph_menus', 'editvar', 'eigenmarkov', 'ell1mag',
        -            'empty', 'emptystr', 'eqfir', 'eqiir', 'equal', 'Equal', 'equil', 'equil1',
        -            'ereduc', 'erf', 'erfc', 'erfcx', 'errbar', 'errcatch', 'errclear', 'error', 'error_table', 'etime',
        -            'eval', 'eval_cshep2d', 'eval3d', 'eval3dp', 'evans', 'evstr', 'excel2sci', 'exec', 'execstr', 'exists',
        -            'exit', 'exp', 'expm', 'external', 'extraction', 'eye', 'fac3d', 'factorial', 'factors', 'faurre', 'fchamp',
        -            'fcontour', 'fcontour2d', 'fec', 'fec_properties', 'feedback', 'feval', 'ffilt', 'fft', 'fft2', 'fftshift',
        -            'fgrayplot', 'figure', 'figure_properties', 'figure_style', 'file', 'fileinfo', 'fileparts', 'filter', 'find',
        -            'find_freq', 'find_path', 'findABCD', 'findAC', 'findBD', 'findBDK', 'findm', 'findmsvccompiler', 'findobj',
        -            'findR', 'findx0BD', 'firstnonsingleton', 'fit_dat', 'fix', 'floor', 'flts', 'foo', 'format',
        -            'formatman', 'fort', 'fourplan', 'fplot2d', 'fplot3d', 'fplot3d1', 'fprintf', 'fprintfMat', 'frep2tf',
        -            'freq', 'freson', 'frexp', 'frfit', 'frmag', 'fscanf', 'fscanfMat', 'fsfirlin', 'fsolve', 'fspecg',
        -            'fstabst', 'fstair', 'ftest', 'ftuneq', 'full', 'fullfile', 'fullrf', 'fullrfk', 'fun2string', 'Funcall',
        -            'funcprot', 'functions', 'funptr', 'fusee', 'G_make', 'g_margin', 'gainplot', 'gamitg',
        -            'gamma', 'gammaln', 'gca', 'gcare', 'gcd', 'gce', 'gcf', 'gda', 'gdf', 'gen_net', 'genfac3d', 'genlib',
        -            'genmarkov', 'geom3d', 'geomean', 'get', 'get_contents_infer', 'get_function_path', 'getcolor', 'getcwd',
        -            'getd', 'getdate', 'getenv', 'getf', 'getfield', 'getfont', 'gethistory', 'getio', 'getlinestyle',
        -            'getlongpathname', 'getmark', 'getmemory', 'getos', 'getpid', 'getscilabkeywords', 'getshell',
        -            'getshortpathname', 'getsymbol', 'getvalue', 'getversion', 'gfare', 'gfrancis', 'girth', 'givens',
        -            'glever', 'glist', 'global', 'GlobalProperty', 'glue', 'gmres', 'gpeche', 'gr_menu', 'graduate', 'grand',
        -            'graph_2_mat', 'graph_center', 'graph_complement', 'graph_diameter', 'graph_power', 'graph_simp', 'graph_sum',
        -            'graph_union', 'graphic', 'Graphics', 'graphics_entities', 'graph-list', 'graycolormap', 'grayplot',
        -            'grayplot_properties', 'graypolarplot', 'great', 'grep', 'group', 'gschur', 'gsort', 'gspec', 'gstacksize',
        -            'gtild', 'h_cl', 'h_inf', 'h_inf_st', 'h_norm', 'h2norm', 'halt', 'hamilton', 'hank', 'hankelsv', 'harmean',
        -            'hat', 'havewindow', 'head_comments', 'help', 'help_skeleton', 'hermit', 'hess', 'hex2dec', 'hilb', 'hinf',
        -            'hist3d', 'histplot', 'horner', 'host', 'hotcolormap', 'householder', 'hrmt', 'hsv2rgb', 'hsvcolormap',
        -            'htrianr', 'hypermat', 'hypermatrices', 'iconvert', 'ieee', 'ifft', 'iir', 'iirgroup', 'iirlp',
        -            'ilib_build', 'ilib_compile', 'ilib_for_link', 'ilib_gen_gateway', 'ilib_gen_loader', 'ilib_gen_Make',
        -            'im_inv', 'imag', 'impl', 'imrep2ss', 'imult', 'ind2sub', 'Infer', 'inistate', 'input', 'insertion', 'int',
        -            'int16', 'int2d', 'int32', 'int3d', 'int8', 'intc', 'intdec', 'integrate', 'interp', 'interp1', 'interp2d',
        -            'interp3d', 'interpln', 'intersci', 'intersect', 'intg', 'intl', 'intppty', 'intsplin', 'inttrap', 'inttype',
        -            'inv', 'inv_coeff', 'invr', 'invsyslin', 'iqr', 'is_connex', 'iscellstr', 'isdef', 'isdir', 'isempty',
        -            'isequal', 'isequalbitwise', 'iserror', 'isglobal', 'isinf', 'isnan', 'isoview', 'isreal', 'javasci',
        -            'jetcolormap', 'jmat', 'justify', 'kalm', 'karmarkar', 'kernel', 'keyboard', 'knapsack', 'kpure', 'krac2',
        -            'kron', 'kroneck', 'label_properties', 'labostat', 'LANGUAGE', 'lasterror', 'lattn', 'lattp', 'lcf', 'lcm',
        -            'lcmdiag', 'ldiv', 'ldivf', 'leastsq', 'left', 'legend', 'legend_properties', 'legendre', 'legends', 'length',
        -            'leqr', 'less', 'lev', 'levin', 'lex_sort', 'lft', 'lgfft', 'lib', 'lin', 'lin2mu', 'lindquist',
        -            'line_graph', 'linear_interpn', 'lines', 'LineSpec', 'linf', 'linfn', 'link', 'linmeq', 'linpro', 'linsolve',
        -            'linspace', 'listfiles', 'listvarinfile', 'lmisolver', 'lmitool', 'load', 'load_graph', 'loadhistory',
        -            'loadmatfile', 'loadplots', 'loadwave', 'locate', 'log', 'log10', 'log1p', 'log2', 'logm', 'logspace',
        -            'lotest', 'lqe', 'lqg', 'lqg_ltr', 'lqg2stan', 'lqr', 'ls', 'lsq', 'lsq_splin', 'lsqrsolve', 'lsslist',
        -            'lstcat', 'lstsize', 'ltitr', 'lu', 'ludel', 'lufact', 'luget', 'lusolve', 'lyap', 'm_circle', 'm2scideclare',
        -            'macglov', 'macr2lst', 'macr2tree', 'macro', 'macrovar', 'mad', 'make_graph', 'make_index', 'makecell', 'man',
        -            'manedit', 'mapsound', 'markp2ss', 'mat_2_graph', 'matfile2sci', 'Matlab-Scilab_character_strings', 'Matplot',
        -            'Matplot_properties', 'Matplot1', 'matrices', 'matrix', 'max', 'max_cap_path', 'max_clique', 'max_flow',
        -            'maxi', 'mcisendstring', 'mclearerr', 'mclose', 'mdelete', 'mean', 'meanf', 'median', 'menus', 'meof',
        -            'merror', 'mese', 'mesh', 'mesh2d', 'meshgrid', 'mfft', 'mfile2sci', 'mfprintf', 'mfscanf', 'mget', 'mgeti',
        -            'mgetl', 'mgetstr', 'milk_drop', 'min', 'min_lcost_cflow', 'min_lcost_flow1', 'min_lcost_flow2',
        -            'min_qcost_flow', 'min_weight_tree', 'mine', 'mini', 'minreal', 'minss', 'minus', 'mkdir', 'mlist', 'mode',
        -            'modulo', 'moment', 'mopen', 'move', 'mprintf', 'mps2linpro', 'mput', 'mputl', 'mputstr', 'mrfit', 'mscanf',
        -            'msd', 'mseek', 'msprintf', 'msscanf', 'mstr2sci', 'mtell', 'mtlb_0', 'mtlb_a', 'mtlb_all', 'mtlb_any',
        -            'mtlb_axis', 'mtlb_beta', 'mtlb_box', 'mtlb_close', 'mtlb_colordef', 'mtlb_conv', 'mtlb_cumprod', 'mtlb_cumsum',
        -            'mtlb_dec2hex', 'mtlb_delete', 'mtlb_diag', 'mtlb_diff', 'mtlb_dir', 'mtlb_double', 'mtlb_e', 'mtlb_echo',
        -            'mtlb_eig', 'mtlb_eval', 'mtlb_exist', 'mtlb_eye', 'mtlb_false', 'mtlb_fft', 'mtlb_fftshift', 'mtlb_find',
        -            'mtlb_findstr', 'mtlb_fliplr', 'mtlb_fopen', 'mtlb_format', 'mtlb_fprintf', 'mtlb_fread', 'mtlb_fscanf',
        -            'mtlb_full', 'mtlb_fwrite', 'mtlb_grid', 'mtlb_hold', 'mtlb_i', 'mtlb_ifft', 'mtlb_imp', 'mtlb_int16',
        -            'mtlb_int32', 'mtlb_int8', 'mtlb_is', 'mtlb_isa', 'mtlb_isfield', 'mtlb_isletter', 'mtlb_isspace', 'mtlb_l',
        -            'mtlb_legendre', 'mtlb_linspace', 'mtlb_load', 'mtlb_logic', 'mtlb_logical', 'mtlb_lower', 'mtlb_max',
        -            'mtlb_min', 'mtlb_mode', 'mtlb_more', 'mtlb_num2str', 'mtlb_ones', 'mtlb_plot', 'mtlb_prod', 'mtlb_rand',
        -            'mtlb_randn', 'mtlb_rcond', 'mtlb_realmax', 'mtlb_realmin', 'mtlb_repmat', 'mtlb_s', 'mtlb_save',
        -            'mtlb_setstr', 'mtlb_size', 'mtlb_sort', 'mtlb_sparse', 'mtlb_strcmp', 'mtlb_strcmpi', 'mtlb_strfind',
        -            'mtlb_strrep', 'mtlb_sum', 'mtlb_t', 'mtlb_toeplitz', 'mtlb_tril', 'mtlb_triu', 'mtlb_true', 'mtlb_uint16',
        -            'mtlb_uint32', 'mtlb_uint8', 'mtlb_upper', 'mtlb_zeros', 'mu2lin', 'mucomp', 'mulf', 'mvvacov', 'name2rgb',
        -            'names', 'nancumsum', 'nand2mean', 'nanmax', 'nanmean', 'nanmeanf', 'nanmedian', 'nanmin', 'nanstdev',
        -            'nansum', 'narsimul', 'NDcost', 'ndgrid', 'ndims', 'nearfloat', 'nehari', 'neighbors', 'netclose', 'netwindow',
        -            'netwindows', 'new', 'newaxes', 'newest', 'newfun', 'nextpow2', 'nf3d', 'nfreq', 'nlev', 'nnz', 'node_number',
        -            'nodes_2_path', 'nodes_degrees', 'noisegen', 'norm', 'not', 'null', 'number_properties', 'numdiff', 'numer',
        -            'nyquist', 'object_editor', 'obs_gram', 'obscont', 'obscont1', 'observer', 'obsv_mat', 'obsvss', 'ode',
        -            'ode_discrete', 'ode_optional_output', 'ode_root', 'odedc', 'odeoptions', 'oemtochar', 'old_style',
        -            'oldbesseli', 'oldbesselj', 'oldbesselk', 'oldbessely', 'oldload', 'oldplot', 'oldsave', 'ones',
        -            'Operation', 'optim', 'or', 'orth', 'overloading', 'p_margin', 'param3d', 'param3d_properties',
        -            'param3d1', 'paramfplot2d', 'parents', 'parrot', 'part', 'path_2_nodes', 'pathconvert', 'pause', 'pbig',
        -            'pca', 'pcg', 'pdiv', 'pen2ea', 'pencan', 'penlaur', 'percent', 'perctl', 'perfect_match', 'perl',
        -            'perms', 'permute', 'pertrans', 'pfss', 'phasemag', 'phc', 'pie', 'pinv', 'pipe_network', 'playsnd', 'plot',
        -            'plot_graph', 'plot2d', 'plot2d_old_version', 'plot2d1', 'plot2d2', 'plot2d3', 'plot2d4', 'plot3d',
        -            'plot3d_old_version', 'plot3d1', 'plot3d2', 'plot3d3', 'plotframe', 'plotprofile', 'plus', 'plzr',
        -            'pmodulo', 'pol2des', 'pol2str', 'pol2tex', 'polar', 'polarplot', 'polfact', 'poly', 'polyline_properties',
        -            'portr3d', 'portrait', 'power', 'ppol', 'prbs_a', 'predecessors', 'predef', 'print', 'printf',
        -            'printf_conversion', 'printing', 'printsetupbox', 'prod', 'profile', 'progressionbar', 'proj', 'projsl',
        -            'projspec', 'psmall', 'pspect', 'pvm', 'pvm_addhosts', 'pvm_barrier', 'pvm_bcast', 'pvm_bufinfo', 'pvm_config',
        -            'pvm_delhosts', 'pvm_error', 'pvm_exit', 'pvm_f772sci', 'pvm_get_timer', 'pvm_getinst', 'pvm_gettid',
        -            'pvm_gsize', 'pvm_halt', 'pvm_joingroup', 'pvm_kill', 'pvm_lvgroup', 'pvm_mytid', 'pvm_parent', 'pvm_probe',
        -            'pvm_recv', 'pvm_reduce', 'pvm_sci2f77', 'pvm_send', 'pvm_set_timer', 'pvm_spawn', 'pvm_spawn_independent',
        -            'pvm_start', 'pvm_tasks', 'pvm_tidtohost', 'pvmd3', 'pwd', 'qassign', 'qld', 'qmr', 'qr', 'quapro', 'quart',
        -            'quaskro', 'quit', 'quote', 'rand', 'randpencil', 'range', 'rank', 'rankqr', 'rat',  'rcond',
        -            'rdivf', 'read', 'read4b', 'readb', 'readc_', 'readmps', 'readxls', 'real', 'realtime', 'realtimeinit',
        -            'rectangle_properties', 'recur', 'reglin', 'regress', 'remez', 'remezb', 'repfreq', 'replot', 'resethistory',
        -            'residu', 'resume', 'return', 'rgb2name', 'ric_desc', 'ricc', 'riccati', 'rlist', 'rmdir', 'roots', 'rotate',
        -            'round', 'routh_t', 'rowcomp', 'rowcompr', 'rowinout', 'rowregul', 'rowshuff', 'rpem', 'rref', 'rtitr',
        -            'rubberbox', 'salesman', 'sample', 'samplef', 'samwr', 'save', 'save_format', 'save_graph', 'savehistory',
        -            'savematfile', 'savewave', 'sca', 'scaling', 'scanf', 'scanf_conversion', 'scf', 'schur', 'sci_files',
        -            'sci2exp', 'sci2for', 'sci2map', 'sciargs', 'SciComplex', 'SciComplexArray', 'SciDouble', 'SciDoubleArray',
        -            'scilab', 'Scilab', 'ScilabEval', 'scilink', 'scipad', 'SciString', 'SciStringArray', 'sd2sci', 'sda', 'sdf',
        -            'secto3d', 'segs_properties', 'semi', 'semicolon', 'semidef', 'sensi', 'set', 'set_posfig_dim',
        -            'setbpt', 'setdiff', 'setenv', 'seteventhandler', 'setfield', 'sethomedirectory', 'setlanguage', 'setmenu',
        -            'sfact', 'Sfgrayplot', 'Sgrayplot', 'sgrid', 'shortest_path', 'show_arcs', 'show_graph', 'show_nodes',
        -            'show_pixmap', 'showprofile', 'sident', 'sign', 'Signal', 'signm', 'simp', 'simp_mode', 'sin', 'sinc',
        -            'sincd', 'sinh', 'sinhm', 'sinm', 'size', 'slash', 'sleep', 'sm2des', 'sm2ss', 'smooth', 'solve',
        -            'sorder', 'sort', 'sound', 'soundsec', 'sp2adj', 'spaninter', 'spanplus', 'spantwo', 'spchol',
        -            'spcompack', 'spec', 'specfact', 'speye', 'spget', 'splin', 'splin2d', 'splin3d', 'split_edge', 'spones',
        -            'sprand', 'sprintf', 'spzeros', 'sqroot', 'sqrt', 'sqrtm', 'square', 'squarewave', 'srfaur', 'srkf', 'ss2des',
        -            'ss2ss', 'ss2tf', 'sscanf', 'sskf', 'ssprint', 'ssrand', 'st_deviation', 'st_ility', 'stabil', 'stacksize',
        -            'star', 'startup', 'stdev', 'stdevf', 'str2code', 'strange', 'strcat', 'strindex', 'string', 'stringbox',
        -            'strings', 'stripblanks', 'strong_con_nodes', 'strong_connex', 'strsplit', 'strsubst', 'struct', 'sub2ind',
        -            'subf', 'subgraph', 'subplot', 'successors', 'sum', 'supernode', 'surf', 'surface_properties', 'sva',
        -            'svd', 'svplot', 'sylm', 'sylv', 'symbols', 'sysconv', 'sysdiag', 'sysfact', 'syslin', 'syssize', 'system',
        -            'systems', 'systmat', 'tabul', 'tan', 'tangent', 'tanh', 'tanhm', 'tanm', 'TCL_CreateSlave', 'TCL_DeleteInterp',
        -            'TCL_EvalFile', 'TCL_EvalStr', 'TCL_ExistInterp', 'TCL_ExistVar', 'TCL_GetVar', 'TCL_GetVersion', 'TCL_SetVar',
        -            'TCL_UnsetVar', 'TCL_UpVar', 'tdinit', 'testmatrix', 'texprint', 'text_properties', 'tf2des', 'tf2ss', 'then',
        -            'thrownan', 'tic', 'tilda', 'time_id', 'timer', 'title', 'titlepage', 'TK_EvalFile', 'TK_EvalStr', 'tk_getdir',
        -            'tk_getfile', 'TK_GetVar', 'tk_savefile', 'TK_SetVar',  'toc', 'toeplitz', 'tohome', 'tokenpos',
        -            'tokens', 'toolbar', 'toprint', 'trace', 'trans', 'trans_closure', 'translatepaths', 'tree2code', 'trfmod',
        -            'trianfml', 'tril', 'trimmean', 'trisolve', 'triu', 'try', 'trzeros', 'twinkle', 'type', 'Type', 'typename',
        -            'typeof', 'ui_observer', 'uicontrol', 'uimenu', 'uint16', 'uint32', 'uint8', 'ulink', 'unglue', 'union',
        -            'unique', 'unix', 'unix_g', 'unix_s', 'unix_w', 'unix_x', 'unobs', 'unsetmenu', 'unzoom', 'user', 'varargin',
        -            'varargout', 'Variable', 'variance', 'variancef', 'varn', 'vectorfind', 'waitbar', 'warning', 'wavread',
        -            'wavwrite', 'wcenter', 'wfir', 'what', 'where', 'whereami', 'whereis', 'who', 'who_user', 'whos',
        -            'wiener', 'wigner', 'winclose', 'window', 'winlist', 'winopen', 'winqueryreg', 'winsid', 'with_atlas',
        -            'with_gtk', 'with_javasci', 'with_pvm', 'with_texmacs', 'with_tk', 'writb', 'write', 'write4b', 'x_choices',
        -            'x_choose', 'x_dialog', 'x_matrix', 'x_mdialog', 'x_message', 'x_message_modeless', 'xarc', 'xarcs', 'xarrows',
        -            'xaxis', 'xbasc', 'xbasimp', 'xbasr', 'xchange', 'xclea', 'xclear', 'xclick', 'xclip', 'xdel', 'xend',
        -            'xfarc', 'xfarcs', 'xfpoly', 'xfpolys', 'xfrect', 'xget', 'xgetech', 'xgetfile', 'xgetmouse', 'xgraduate',
        -            'xgrid', 'xinfo', 'xinit', 'xlfont', 'xload', 'xls_open', 'xls_read', 'xmltohtml', 'xname', 'xnumb', 'xpause',
        -            'xpoly', 'xpolys', 'xrect', 'xrects', 'xrpoly', 'xs2bmp', 'xs2emf', 'xs2eps', 'xs2fig', 'xs2gif', 'xs2ppm',
        -            'xs2ps', 'xsave', 'xsegs', 'xselect', 'xset', 'xsetech', 'xsetm', 'xstring', 'xstringb', 'xstringl', 'xtape',
        -            'xtitle', 'yulewalk', 'zeropen', 'zeros', 'zgrid', 'zoom_rect', 'zpbutt', 'zpch1', 'zpch2', 'zpell'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '<', '>', '=',
        -        '!', '@', '~', '&', '|',
        -        '+','-', '*', '/', '%',
        -        ',', ';', '?', ':', "'"
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => '',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;',
        -            'HARD' => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;',
        -            2 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000ff;',
        -            4 => 'color: #009999;',
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm',
        -        2 => 'http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm',
        -        3 => 'http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '->',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        //Variable
        -        0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
        -        //File Descriptor
        -        4 => '<[a-zA-Z_][a-zA-Z0-9_]*>',
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/scl.php b/vendor/easybook/geshi/geshi/scl.php
        deleted file mode 100644
        index 6b0e494..0000000
        --- a/vendor/easybook/geshi/geshi/scl.php
        +++ /dev/null
        @@ -1,148 +0,0 @@
        -
        - * ---------------------------------
        - * Author: Leonhard Hsch (leonhard.hoesch@siemens.com)
        - * Copyright: (c) 2008 by Leonhard Hsch (siemens.de)
        - * Release Version: 1.0.8.12
        - * Date Started: 2012/09/25
        - *
        - * SCL language file for GeSHi.
        - *
        - * A SCL langauge file.
        - *
        - * CHANGES
        - * -------
        - *  ()
        - *  -  First Release
        - *
        - * TODO (updated )
        - * -------------------------
        - * 
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'SCL',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('(*' => '*)'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array("'"),
        -    'ESCAPE_CHAR' => '$',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'AND','ANY','ARRAY','AT','BEGIN','BLOCK_DB','BLOCK_FB','BLOCK_FC','BLOCK_SDB',
        -            'BLOCK_SFB','BLOCK_SFC','BOOL','BY','BYTE','CASE','CHAR','CONST','CONTINUE','COUNTER',
        -            'DATA_BLOCK','DATE','DATE_AND_TIME','DINT','DIV','DO','DT','DWORD','ELSE','ELSIF',
        -            'EN','END_CASE','END_CONST','END_DATA_BLOCK','END_FOR','END_FUNCTION',
        -            'END_FUNCTION_BLOCK','END_IF','END_LABEL','END_TYPE','END_ORGANIZATION_BLOCK',
        -            'END_REPEAT','END_STRUCT','END_VAR','END_WHILE','ENO','EXIT','FALSE','FOR','FUNCTION',
        -            'FUNCTION_BLOCK','GOTO','IF','INT','LABEL','MOD','NIL','NOT','OF','OK','OR',
        -            'ORGANIZATION_BLOCK','POINTER','PROGRAM','REAL','REPEAT','RETURN','S5TIME','STRING',
        -            'STRUCT','THEN','TIME','TIMER','TIME_OF_DAY','TO','TOD','TRUE','TYPE','VAR',
        -            'VAR_TEMP','UNTIL','VAR_INPUT','VAR_IN_OUT','VAR_OUTPUT','VOID','WHILE','WORD','XOR'
        -            ),
        -        2 =>array(
        -            'UBLKMOV','FILL','CREAT_DB','DEL_DB','TEST_DB','COMPRESS','REPL_VAL','CREA_DBL','READ_DBL',
        -            'WRIT_DBL','CREA_DB','RE_TRIGR','STP','WAIT','MP_ALM','CiR','PROTECT','SET_CLK','READ_CLK',
        -            'SNC_RTCB','SET_CLKS','RTM','SET_RTM','CTRL_RTM','READ_RTM','TIME_TCK','RD_DPARM',
        -            'RD_DPARA','WR_PARM','WR_DPARM','PARM_MOD','WR_REC','RD_REC','RD_DPAR','RDREC','WRREC','RALRM',
        -            'SALRM','RCVREC','PRVREC','SET_TINT','CAN_TINT','ACT_TINT','QRY_TINT','SRT_DINT','QRY_DINT',
        -            'CAN_DINT','MSK_FLT','DMSK_FLT','READ_ERR','DIS_IRT','EN_IRT','DIS_AIRT','EN_AIRT','RD_SINFO',
        -            'RDSYSST','WR_USMSG','OB_RT','C_DIAG','DP_TOPOL','UPDAT_PI','UPDAT_PO','SYNC_PI','SYNC_PO',
        -            'SET','RSET','DRUM','GADR_LGC','LGC_GADR','RD_LGADR','GEO_LOG','LOG_GEO','DP_PRAL','DPSYC_FR',
        -            'D_ACT_DP','DPNRM_DG','DPRD_DAT','DPWR_DAT','PN_IN','PN_OUT','PN_DP','WWW','IP_CONF','GETIO',
        -            'SETIO','GETIO_PART','SETIO_PART','GD_SND','GD_RCV','USEND','URCV','BSEND','BRCV','PUT','GET',
        -            'PRINT','START','STOP','RESUME','STATUS','USTATUS','CONTROL','C_CNTRL','X_SEND','X_RCV',
        -            'X_GET','X_PUT','X_ABORT','I_GET','I_PUT','I_ABORT','TCON','TDISCON','TSEND','TRCV','TUSEND',
        -            'TURCV','NOTIFY','NOTIFY_8P','ALARM','ALARM_8P','ALARM_8','AR_SEND','DIS_MSG','EN_MSG',
        -            'ALARM_SQ','ALARM_S','ALARM_SC','ALARM_DQ','LARM_D','READ_SI','DEL_SI','TP','TON','TOF','CTU',
        -            'CTD','CTUD','CONT_C','CONT_S','PULSEGEN','Analog','DIGITAL','COUNT','FREQUENC','PULSE',
        -            'SEND_PTP','RECV_PTP','RES_RECV','SEND_RK','FETCH_RK','SERVE_RK','H_CTRL','state'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '.', '"', '|', ';', ',', '=>', '>=', '<=', ':=', '=', '<', '>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #ff6f00;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #009600; font-style: italic;',
        -            'MULTI' => 'color: #009600; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => ''
        -        ),
        -    'NUMBERS' => GESHI_NUMBER_INT_BASIC,
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '',
        -        2 => ''
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            ' '!!11?>'
        -            ),
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => false,
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/sdlbasic.php b/vendor/easybook/geshi/geshi/sdlbasic.php
        deleted file mode 100644
        index b95003f..0000000
        --- a/vendor/easybook/geshi/geshi/sdlbasic.php
        +++ /dev/null
        @@ -1,163 +0,0 @@
        - 'sdlBasic',
        -    'COMMENT_SINGLE' => array(1 => "'", 2 => "rem", 3 => "!", 4 => "#"),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'const', 'option', 'explicit', 'qbasic', 'include', 'argc',
        -            'argv', 'command', 'command$', 'run', 'shell', 'os', 'declare',
        -            'sub', 'function', 'return', 'while', 'wend', 'exit', 'end',
        -            'continue', 'if', 'then', 'else', 'elseif',
        -            'select', 'case', 'for', 'each', 'step',
        -            'next', 'to', 'dim', 'shared', 'common', 'lbound', 'bound',
        -            'erase', 'asc', 'chr', 'chr$', 'insert', 'insert$', 'instr', 'lcase',
        -            'lcase$', 'left', 'left$', 'len', 'length', 'ltrim', 'ltrim$', 'mid',
        -            'mid$', 'replace', 'replace$', 'replacesubstr', 'replacesubstr$',
        -            'reverse', 'reverse$', 'right', 'right$', 'rinstr', 'rtrim', 'rtrim$',
        -            'space', 'space$', 'str', 'str$', 'strf', 'strf$', 'string', 'string$',
        -            'tally', 'trim', 'trim$', 'typeof', 'typeof$', 'ucase', 'ucase$', 'val',
        -            'abs', 'acos', 'andbit', 'asin', 'atan', 'bitwiseand', 'bitwiseor',
        -            'bitwisexor', 'cos', 'exp', 'fix', 'floor', 'frac', 'hex', 'hex$', 'int',
        -            'log', 'min', 'max', 'orbit', 'randomize', 'rnd', 'round', 'sgn', 'sin',
        -            'sqr', 'tan', 'xorbit', 'open', 'as', 'file', 'input', 'close', 'output',
        -            'append', 'eof', 'fileexists', 'filecopy', 'filemove', 'filerename',
        -            'freefile', 'kill', 'loc', 'lof', 'readbyte', 'rename', 'seek',
        -            'writebyte', 'chdir', 'dir', 'dir$', 'direxists', 'dirfirst', 'dirnext',
        -            'mkdir', 'rmdir', 'print', 'date', 'date$', 'time', 'time$', 'ticks',
        -            'data', 'read', 'reservebank', 'freebank', 'copybank', 'loadbank',
        -            'savebank', 'setbank', 'sizebank', 'poke', 'doke', 'loke', 'peek', 'deek',
        -            'leek', 'memcopy', 'setdisplay', 'setcaption', 'caption', 'displaywidth',
        -            'displayheight', 'displaybpp', 'screen', 'directscreen', 'screenopen',
        -            'screenclose', 'screenclone', 'screencopy', 'screenfade', 'screenfadein',
        -            'screencrossfade', 'screenalpha', 'screenlock', 'screenunlock',
        -            'screenrect', 'xscreenrect', 'yscreenrect', 'wscreenrect', 'hscreenrect',
        -            'flagscreenrect', 'screenwidth', 'screenheight', 'offset', 'xoffset',
        -            'yoffset', 'cls', 'screenswap', 'autoback', 'setautoback',
        -            'dualplayfield', 'waitvbl', 'fps', 'rgb', 'enablepalette', 'color',
        -            'palette', 'colorcycling', 'ink', 'point', 'dot', 'plot', 'line', 'box',
        -            'bar', 'circle', 'fillcircle', 'ellipse', 'fillellipse', 'paint',
        -            'loadimage', 'saveimage', 'loadsound', 'savesound', 'loadmusic',
        -            'hotspot', 'setcolorkey', 'imageexists', 'imagewidth', 'imageheight',
        -            'deleteimage', 'copyimage', 'setalpha', 'zoomimage', 'rotateimage',
        -            'rotozoomimage', 'blt', 'pastebob', 'pasteicon', 'grab', 'spriteclip',
        -            'sprite', 'deletesprite', 'xsprite', 'ysprite', 'spritewidth',
        -            'spriteheight', 'frsprite', 'livesprite', 'spritehit', 'autoupdatesprite',
        -            'updatesprite', 'setbob', 'bob', 'deletebob', 'xbob', 'ybob', 'bobwidth',
        -            'bobheight', 'frbob', 'livebob', 'bobhit', 'autoupdatebob', 'updatebob',
        -            'text', 'setfont', 'textrender', 'pen', 'paper', 'prints', 'locate',
        -            'atx', 'aty', 'curson', 'cursoff', 'inputs', 'zoneinputs',
        -            'isenabledsound', 'soundexists', 'deletesound', 'copysound',
        -            'musicexists', 'playsound', 'volumesound', 'stopsound', 'pausesound',
        -            'resumesound', 'vumetersound', 'positionsound', 'soundchannels',
        -            'playmusic', 'positionmusic', 'stopmusic', 'fademusic', 'pausemusic',
        -            'resumemusic', 'rewindmusic', 'volumemusic', 'speedmusic', 'numdrivescd',
        -            'namecd', 'getfreecd', 'opencd', 'indrivecd', 'trackscd', 'curtrackcd',
        -            'curframecd', 'playcd', 'playtrackscd',
        -            'pausecd', 'resumecd', 'stopcd', 'ejectcd', 'closecd', 'tracktypecd',
        -            'tracklengthcd', 'trackoffsetcd', 'key', 'inkey', 'waitkey', 'xmouse',
        -            'ymouse', 'xmousescreen', 'ymousescreen', 'bmouse', 'changemouse',
        -            'locatemouse', 'mouseshow', 'mousehide', 'mousezone', 'numjoysticks',
        -            'namejoystick', 'numaxesjoystick', 'numballsjoystick', 'numhatsjoystick',
        -            'numbuttonsjoystick', 'getaxisjoystick', 'gethatjoystick',
        -            'getbuttonjoystick', 'xgetballjoystick', 'ygetballjoystick', 'joy',
        -            'bjoy', 'wait', 'timer', 'isenabledsock', 'getfreesock', 'opensock',
        -            'acceptsock', 'isserverready', 'connectsock', 'connectionreadysock',
        -            'isclientready', 'losesock', 'peeksock', 'readsock', 'readbytesock',
        -            'readlinesock', 'writesock', 'writebytesock', 'writelinesock',
        -            'getremoteip', 'getremoteport', 'getlocalip'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080;',
        -            2 => 'color: #808080;',
        -            3 => 'color: #808080;',
        -            4 => 'color: #808080;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/smalltalk.php b/vendor/easybook/geshi/geshi/smalltalk.php
        deleted file mode 100644
        index 176a9b0..0000000
        --- a/vendor/easybook/geshi/geshi/smalltalk.php
        +++ /dev/null
        @@ -1,153 +0,0 @@
        - 'Smalltalk',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array('"' => '"'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'"),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'self','super','true','false','nil'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '[', ']', '=' , ':=', '(', ')', '#'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #7f007f;'
        -            ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #007f00; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => ''
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #7f0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #7f0000;'
        -            ),
        -        'METHODS' => array(
        -            0 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000066; font-weight:bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000ff;',
        -            1 => 'color: #7f0000;',
        -            2 => 'color: #7f0000;',
        -            3 => 'color: #00007f;',
        -            5 => 'color: #00007f;',
        -            6 => 'color: #00007f;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        0 => array(
        -            GESHI_SEARCH => '([^a-zA-Z0-9_#<])([A-Z]+[a-zA-Z0-9_]*)(?!>)', //class names
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        1 => array(
        -            GESHI_SEARCH => '(#+)([a-zA-Z0-9_]+)', //symbols
        -            GESHI_REPLACE => '\\1\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        2 => array(
        -            GESHI_SEARCH => '(#\s*\([^)]*\))', //array symbols
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        3 => array(
        -            GESHI_SEARCH => '([a-zA-Z0-9_\s]+)', //temporary variables
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '|',
        -            GESHI_AFTER => '|'
        -            ),
        -        5 => array(
        -            GESHI_SEARCH => '([:(,=[.*\/+-]\s*(?!\d+\/))([a-zA-Z0-9_]+)', //message parameters, message receivers
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 's',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        6 => array(
        -            GESHI_SEARCH => '([a-zA-Z0-9_]+)(\s*:=)', //assignment targets
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '\\2'
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/smarty.php b/vendor/easybook/geshi/geshi/smarty.php
        deleted file mode 100644
        index 883b3eb..0000000
        --- a/vendor/easybook/geshi/geshi/smarty.php
        +++ /dev/null
        @@ -1,190 +0,0 @@
        - 'Smarty',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array('{*' => '*}'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            '$smarty', 'now', 'const', 'capture', 'config', 'section', 'foreach', 'template', 'version', 'ldelim', 'rdelim',
        -            'foreachelse', 'include', 'include_php', 'insert', 'if', 'elseif', 'else', 'php',
        -            'sectionelse', 'is_cached',
        -            ),
        -        2 => array(
        -            'capitalize', 'count_characters', 'cat', 'count_paragraphs', 'count_sentences', 'count_words', 'date_format',
        -            'default', 'escape', 'indent', 'lower', 'nl2br', 'regex_replace', 'replace', 'spacify', 'string_format',
        -            'strip', 'strip_tags', 'truncate', 'upper', 'wordwrap',
        -            ),
        -        3 => array(
        -            'counter', 'cycle', 'debug', 'eval', 'html_checkboxes', 'html_image', 'html_options',
        -            'html_radios', 'html_select_date', 'html_select_time', 'html_table', 'math', 'mailto', 'popup_init',
        -            'popup', 'textformat'
        -            ),
        -        4 => array(
        -            '$template_dir', '$compile_dir', '$config_dir', '$plugins_dir', '$debugging', '$debug_tpl',
        -            '$debugging_ctrl', '$autoload_filters', '$compile_check', '$force_compile', '$caching', '$cache_dir',
        -            '$cache_lifetime', '$cache_handler_func', '$cache_modified_check', '$config_overwrite',
        -            '$config_booleanize', '$config_read_hidden', '$config_fix_newlines', '$default_template_handler_func',
        -            '$php_handling', '$security', '$secure_dir', '$security_settings', '$trusted_dir', '$left_delimiter',
        -            '$right_delimiter', '$compiler_class', '$request_vars_order', '$request_use_auto_globals',
        -            '$error_reporting', '$compile_id', '$use_sub_dirs', '$default_modifiers', '$default_resource_type'
        -            ),
        -        5 => array(
        -            'append', 'append_by_ref', 'assign', 'assign_by_ref', 'clear_all_assign', 'clear_all_cache',
        -            'clear_assign', 'clear_cache', 'clear_compiled_tpl', 'clear_config', 'config_load', 'display',
        -            'fetch', 'get_config_vars', 'get_registered_object', 'get_template_vars',
        -            'load_filter', 'register_block', 'register_compiler_function', 'register_function',
        -            'register_modifier', 'register_object', 'register_outputfilter', 'register_postfilter',
        -            'register_prefilter', 'register_resource', 'trigger_error', 'template_exists', 'unregister_block',
        -            'unregister_compiler_function', 'unregister_function', 'unregister_modifier', 'unregister_object',
        -            'unregister_outputfilter', 'unregister_postfilter', 'unregister_prefilter', 'unregister_resource'
        -            ),
        -        6 => array(
        -            'name', 'file', 'scope', 'global', 'key', 'once', 'script',
        -            'loop', 'start', 'step', 'max', 'show', 'values', 'value', 'from', 'item'
        -            ),
        -        7 => array(
        -            'eq', 'neq', 'ne', 'lte', 'gte', 'ge', 'le', 'not', 'mod'
        -            ),
        -        8 => array(
        -            // some common php functions
        -            'isset', 'is_array', 'empty', 'count', 'sizeof'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '/', '=', '==', '!=', '>', '<', '>=', '<=', '!', '%'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false,
        -        7 => false,
        -        8 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0600FF;',        //Functions
        -            2 => 'color: #008000;',        //Modifiers
        -            3 => 'color: #0600FF;',        //Custom Functions
        -            4 => 'color: #804040;',        //Variables
        -            5 => 'color: #008000;',        //Methods
        -            6 => 'color: #6A0A0A;',        //Attributes
        -            7 => 'color: #D36900;',        //Text-based symbols
        -            8 => 'color: #0600FF;'        //php functions
        -            ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #008080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #D36900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #D36900;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #009000;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #00aaff;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://smarty.php.net/{FNAMEL}',
        -        2 => 'http://smarty.php.net/{FNAMEL}',
        -        3 => 'http://smarty.php.net/{FNAMEL}',
        -        4 => 'http://smarty.php.net/{FNAMEL}',
        -        5 => 'http://smarty.php.net/{FNAMEL}',
        -        6 => '',
        -        7 => 'http://smarty.php.net/{FNAMEL}',
        -        8 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        // variables
        -        0 => '\$[a-zA-Z][a-zA-Z0-9_]*'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            '{' => '}'
        -            ),
        -        1 => array(
        -            '',
        -        ),
        -        2 => array(
        -            '<' => '>'
        -            )
        -    ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => false,
        -        2 => false
        -    ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?|^])",
        -            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-&])"
        -        )
        -    )
        -);
        diff --git a/vendor/easybook/geshi/geshi/spark.php b/vendor/easybook/geshi/geshi/spark.php
        deleted file mode 100644
        index ab93499..0000000
        --- a/vendor/easybook/geshi/geshi/spark.php
        +++ /dev/null
        @@ -1,131 +0,0 @@
        - 'SPARK',
        -    'COMMENT_SINGLE' => array(1 => '--', 2 => '--#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'begin', 'declare', 'do', 'else', 'elsif', 'exception', 'for', 'if',
        -            'is', 'loop', 'while', 'then', 'end', 'select', 'case', 'until',
        -            'goto', 'return'
        -            ),
        -        2 => array(
        -            'abs', 'and', 'at', 'mod', 'not', 'or', 'rem', 'xor'
        -            ),
        -        3 => array(
        -            'abort', 'abstract', 'accept', 'access', 'aliased', 'all', 'array',
        -            'body', 'constant', 'delay', 'delta', 'digits', 'entry', 'exit',
        -            'function', 'generic', 'in', 'interface', 'limited', 'new', 'null',
        -            'of', 'others', 'out', 'overriding', 'package', 'pragma', 'private',
        -            'procedure', 'protected', 'raise', 'range', 'record', 'renames',
        -            'requeue', 'reverse', 'separate', 'subtype', 'synchronized',
        -            'tagged', 'task', 'terminate', 'type', 'use', 'when', 'with'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #00007f;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #46aa03; font-weight:bold;',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #adadad; font-style: italic;',
        -            2 => 'color: #adadad; font-style: italic; font-weight: bold;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #7f007f;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/sparql.php b/vendor/easybook/geshi/geshi/sparql.php
        deleted file mode 100644
        index 6445fd5..0000000
        --- a/vendor/easybook/geshi/geshi/sparql.php
        +++ /dev/null
        @@ -1,154 +0,0 @@
        - 'SPARQL',
        -    'COMMENT_SINGLE' => array('#'),
        -    'COMMENT_MULTI' => array('/*' => '*/' ),
        -    'COMMENT_REGEXP' => array(
        -        //IRI (it's not a comment ;)
        -        1 => "/<[^> ]*>/i"
        -        ),
        -    'CASE_KEYWORDS' => 1,
        -    'QUOTEMARKS' => array("'", '"', '`'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'BASE','PREFIX','SELECT','DISTINCT','REDUCED','CONSTRUCT','DESCRIBE','ASK','FROM',
        -            'NAMED','WHERE','ORDER','BY','ASC','DESC','LIMIT','OFFSET','OPTIONAL','GRAPH',
        -            'UNION','FILTER','STR','LANG','LANGMATCHES','DATATYPE','BOUND','SAMETERM',
        -            'ISIRI','ISURI','ISBLANK',
        -            'ISLITERAL','REGEX','SUBSTR','TRUE',
        -            'FALSE','LOAD','CLEAR',
        -            'DROP','ADD','MOVE','COPY',
        -            'CREATE','DELETE','INSERT',
        -            'USING','SILENT','DEFAULT','ALL',
        -            'DATA','WITH','INTO','TO',
        -            'AS','GROUP','HAVING','UNDEF',
        -            'BINDINGS','SERVICE','BIND','MINUS_KEYWORD',
        -            'IRI','URI', 'BNODE',
        -            'RAND','ABS','CEIL','FLOOR','ROUND',
        -            'CONCAT','STRLEN',
        -            'UCASE','LCASE','ENCODE_FOR_URI',
        -            'CONTAINS','STRSTARTS',
        -            'STRENDS','STRBEFORE',
        -            'STRAFTER','REPLACE',
        -            'YEAR','MONTH',
        -            'DAY','HOURS',
        -            'MINUTES','SECONDS',
        -            'TIMEZONE','TZ',
        -            'NOW','MD5',
        -            'SHA1','SHA224',
        -            'SHA256','SHA384',
        -            'SHA512','COALESCE',
        -            'IF','STRLANG','STRDT',
        -            'ISNUMERIC','COUNT',
        -            'SUM','MIN',
        -            'MAX','AVG','SAMPLE',
        -            'GROUP_CONCAT ','NOT',
        -            'IN','EXISTS','SEPARATOR'
        -            )
        -        ),
        -    'REGEXPS' => array(
        -        //Variables without braces
        -        1 => "\\?[a-zA-Z_][a-zA-Z0-9_]*",
        -        //prefix
        -        2 => "[a-zA-Z_.\\-0-9]*:",
        -        //tag lang
        -        3 => "@[^ .)}]*",
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array(
        -            '{', '}' , '.', ';'
        -            ),
        -        1 => array(
        -            '^^',
        -            '<=','>=','!=','=','<','>','|',
        -            '&&','||',
        -            '(',')','[', ']',
        -            '+','-','*','!','/'
        -            ),
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #993333; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #808080; font-style: italic;',
        -            1 => 'color: #000078;',
        -            //2 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF63C3;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #0000FF;',
        -            1 => 'color: #FF8000; font-weight: bold;'
        -            ),
        -        'SCRIPT' => array(),
        -        'REGEXPS' => array(
        -            1 => 'color: #007800;',
        -            2 => 'color: #780078;',
        -            3 => 'color: #005078;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/sql.php b/vendor/easybook/geshi/geshi/sql.php
        deleted file mode 100644
        index 5f02d79..0000000
        --- a/vendor/easybook/geshi/geshi/sql.php
        +++ /dev/null
        @@ -1,169 +0,0 @@
        - 'SQL',
        -    'COMMENT_SINGLE' => array(1 =>'--'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => 1,
        -    'QUOTEMARKS' => array("'", '"', '`'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'ADD', 'ALL', 'ALTER', 'AND', 'AS', 'ASC', 'AUTO_INCREMENT',
        -            'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BINARY', 'BLOB', 'BOOLEAN', 'BOTH', 'BY',
        -            'CALL', 'CASE', 'CAST', 'CEIL', 'CEILING', 'CHANGE', 'CHAR', 'CHAR_LENGTH', 'CHARACTER',
        -            'CHARACTER_LENGTH', 'CHECK', 'CLOB', 'COALESCE', 'COLLATE', 'COLUMN', 'COLUMNS',
        -            'CONNECT', 'CONSTRAINT', 'CONVERT', 'COUNT', 'CREATE', 'CROSS', 'CURRENT',
        -            'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER',
        -            'DATA', 'DATABASE', 'DATABASES', 'DATE', 'DAY', 'DEC', 'DECIMAL', 'DECLARE',
        -            'DEFAULT', 'DELAYED', 'DELETE', 'DESC', 'DESCRIBE', 'DISTINCT', 'DOUBLE',
        -            'DOMAIN', 'DROP',
        -            'ELSE', 'ENCLOSED', 'END', 'ESCAPED', 'EXCEPT', 'EXEC', 'EXECUTE', 'EXISTS', 'EXP',
        -            'EXPLAIN', 'EXTRACT',
        -            'FALSE', 'FIELD', 'FIELDS', 'FILTER', 'FIRST', 'FLOAT', 'FLOOR', 'FLUSH', 'FOR',
        -            'FOREIGN', 'FROM', 'FULL', 'FUNCTION',
        -            'GET', 'GROUP', 'GROUPING', 'GO', 'GOTO', 'GRANT', 'GRANTED',
        -            'HAVING', 'HOUR',
        -            'IDENTIFIED', 'IDENTITY', 'IF', 'IGNORE', 'IN', 'INCREMENT', 'INDEX', 'INFILE', 'INNER',
        -            'INOUT', 'INPUT', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERSECTION', 'INTERVAL',
        -            'INTO', 'IS',
        -            'JOIN',
        -            'KEY', 'KEYS', 'KILL',
        -            'LANGUAGE', 'LARGE', 'LAST', 'LEADING', 'LEFT', 'LENGTH', 'LIKE', 'LIMIT', 'LINES', 'LOAD',
        -            'LOCAL', 'LOCK', 'LOW_PRIORITY', 'LOWER',
        -            'MATCH', 'MAX', 'MERGE', 'MIN', 'MINUTE', 'MOD', 'MODIFIES', 'MODIFY', 'MONTH',
        -            'NATIONAL', 'NATURAL', 'NCHAR', 'NEW', 'NEXT', 'NEXTVAL', 'NONE', 'NOT',
        -            'NULL', 'NULLABLE', 'NULLIF', 'NULLS', 'NUMBER', 'NUMERIC',
        -            'OF', 'OLD', 'ON', 'ONLY', 'OPEN', 'OPTIMIZE', 'OPTION',
        -            'OPTIONALLY', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTFILE', 'OVER',
        -            'POSITION', 'POWER', 'PRECISION', 'PREPARE', 'PRIMARY', 'PROCEDURAL', 'PROCEDURE',
        -            'READ', 'REAL', 'REF', 'REFERENCES', 'REFERENCING', 'REGEXP', 'RENAME', 'REPLACE',
        -            'RESULT', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'RLIKE', 'ROLLBACK', 'ROW',
        -            'ROW_NUMBER', 'ROWS', 'RESTRICT', 'ROLE', 'ROUTINE', 'ROW_COUNT',
        -            'SAVEPOINT', 'SEARCH', 'SECOND', 'SECTION', 'SELECT', 'SELF', 'SEQUENCE',
        -            'SESSION', 'SET', 'SETVAL', 'SHOW', 'SIMILAR', 'SIZE', 'SMALLINT', 'SOME',
        -            'SONAME', 'SOURCE', 'SPACE', 'SQL', 'SQRT', 'START', 'STATUS',
        -            'STRAIGHT_JOIN', 'STRUCTURE', 'STYLE', 'SUBSTRING', 'SUM',
        -            'TABLE', 'TABLE_NAME', 'TABLES', 'TERMINATED', 'TEMPORARY', 'THEN', 'TIME',
        -            'TIMESTAMP', 'TO', 'TRAILING', 'TRANSACTION', 'TRIGGER', 'TRIM', 'TRUE', 'TRUNCATE',
        -            'TRUSTED', 'TYPE',
        -            'UNDER', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSIGNED',
        -            'UPDATE', 'UPPER', 'USE', 'USER', 'USING',
        -            'VALUE', 'VALUES', 'VARCHAR', 'VARIABLES', 'VARYING', 'VIEW',
        -            'WHEN', 'WHERE', 'WITH', 'WITHIN', 'WITHOUT', 'WORK', 'WRITE',
        -            'XOR',
        -            'YEAR',
        -            'ZEROFILL'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '=', '<', '>', '|', ',', '.', '+', '-', '*', '/'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #993333; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            //2 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array( //'
        -            'DISALLOWED_BEFORE' => "(? 'StoneScript',
        -    'COMMENT_SINGLE' => array(1 => "--"),
        -    'COMMENT_MULTI' => array("--[[" => "]]"),
        -    'COMMENT_REGEXP' => array(
        -        4 => '/<<\s*?(\w+)\\n.*?\\n\\1(?![a-zA-Z0-9])/si',
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', '`','\''),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        // Blue - General Keywords
        -        1 => array(
        -                'and', 'begin', 'break', 'do', 'else', 'elseif', 'end',
        -                'for', 'if', 'in', 'while', 'next', 'not', 'or', 'redo',
        -                'then', 'unless', 'until', 'when', 'false', 'nil', 'self',
        -                'true', 'local', 'this', 'return',
        -            ),
        -        // Dark Blue - Main API names
        -        2 => array(
        -                'animation', 'application', 'cache', 'camera', 'debug',
        -                'dynamics', 'group', 'hashtable', 'hud', 'input', 'light',
        -                'log', 'math', 'mesh', 'microphone', 'music', 'navigation',
        -                'network', 'object', 'pixelmap', 'projector', 'scene',
        -                'sensor', 'server', 'session', 'sfx', 'shape', 'sound',
        -                'string', 'system', 'table', 'user', 'video', 'xml',
        -                // Plugin API names
        -                'plasma', 'watersim',
        -                'winDirectories',
        -                'ActionSheet', 'Alert', 'Mail', 'Picker', 'StatusBar',
        -            ),
        -        // Constants
        -        // Can be commented out if performance is crucial -> then these keywords will appear in a slightly lighter color
        -        3 => array(
        -                //Animation
        -                'kPlaybackModeLoop', 'kPlaybackModeLoopMirrored', 'kPlaybackModeLoopReversed',
        -                'kPlaybackModeOnce', 'kPlaybackModeOnceReversed',
        -                //Application - Environment
        -                'kStatusLoading', 'kStatusReady', 'kStatusSaving', // 'kStatusNone'
        -                //Application - Options
        -                'kOptionAudioMasterVolume', 'kOptionAutomaticVirtualKeyboard', 'kOptionDynamicShadowsBufferCount',
        -                'kOptionDynamicShadowsBufferSize', 'kOptionDynamicShadowsConstantSampling', 'kOptionDynamicShadowsPCFSampleCount',
        -                'kOptionDynamicShadowsQuality', 'kOptionDynamicShadowsScreenSpaceBlur', 'kOptionFullscreen',
        -                'kOptionFullscreenHeight', 'kOptionFullscreenWidth', 'kOptionHardwareOcclusion',
        -                'kOptionMaxEventBouncesPerFrame', 'kOptionNetworkStreams', 'kOptionNetworkStreamsUseBrowser',
        -                'kOptionPrioritizeEventBounces', 'kOptionRenderingEnabled', 'kOptionShadersQuality',
        -                'kOptionSwapInterval', 'kOptionTerrainsQuality', 'kOptionTexturesAnisotropyLevel',
        -                'kOptionTexturesMipmapBias', 'kOptionTexturesQuality', 'kOptionViewportRotation',
        -                //Application - Resource Types
        -                'kResourceTypeAnimBank', 'kResourceTypeFont', 'kResourceTypeHUD',
        -                'kResourceTypeMaterial', 'kResourceTypeMesh', 'kResourceTypeParticle',
        -                'kResourceTypePixelMap', 'kResourceTypeSoundBank', 'kResourceTypeTexture',
        -                'kResourceTypeTextureClip', 'kResourceTypeTrail',
        -                //Cache
        -                'kPropertyHeight', 'kPropertySize', 'kPropertyWidth',
        -                //Dynamics
        -                'kAxisX', 'kAxisY', 'kAxisZ',
        -                'kTypeBox', 'kTypeCapsule', 'kTypeSphere',
        -                //HUD
        -                'kAddressingModeClamp', 'kAddressingModeRepeat', 'kAlignCenter', 'kAlignJustify','kAlignLeft', 'kAlignRight',
        -                'kAlignTop', 'kBlendModeAdd', 'kBlendModeDefault', 'kBlendModeModulate', 'kCaseFixed', 'kCaseVariable',
        -                'kCommandTypeCallAction', 'kCommandTypeCopyCheckStateToRegister', 'kCommandTypeCopyEditTextToRegister',
        -                'kCommandTypeCopyListItemTextToRegister', 'kCommandTypeCopyListLastSelectedItemToRegister',
        -                'kCommandTypeCopyProgressValueToRegister', 'kCommandTypeCopySliderValueToRegister', 'kCommandTypeCopyTagToRegister',
        -                'kCommandTypeEnterModalMode', 'kCommandTypeInterpolateBackgroundColor', 'kCommandTypeInterpolateBorderColor',
        -                'kCommandTypeInterpolateForegroundColor', 'kCommandTypeInterpolateHeight', 'kCommandTypeInterpolateOpacity',
        -                'kCommandTypeInterpolatePosition', 'kCommandTypeInterpolateProgressValue', 'kCommandTypeInterpolateRotation',
        -                'kCommandTypeInterpolateSize', 'kCommandTypeInterpolateWidth', 'kCommandTypeLeaveModalMode',
        -                'kCommandTypeMatchScreenSpaceBottomLeftCorner', 'kCommandTypeMatchScreenSpaceBottomRightCorner',
        -                'kCommandTypeMatchScreenSpaceCenter', 'kCommandTypeMatchScreenSpaceHeight', 'kCommandTypeMatchScreenSpaceTopLeftCorner',
        -                'kCommandTypeMatchScreenSpaceTopRightCorner', 'kCommandTypeMatchScreenSpaceWidth', 'kCommandTypePauseMovie',
        -                'kCommandTypePauseSound', 'kCommandTypePauseTimer', 'kCommandTypePlayMovie', 'kCommandTypePlaySound',
        -                'kCommandTypePlaySoundLoop', 'kCommandTypeResumeSound', 'kCommandTypeSendEventToUser', 'kCommandTypeSetActive',
        -                'kCommandTypeSetBackgroundColor', 'kCommandTypeSetBackgroundImage', 'kCommandTypeSetBackgroundImageUVOffset',
        -                'kCommandTypeSetBackgroundImageUVScale', 'kCommandTypeSetBorderColor', 'kCommandTypeSetButtonText',
        -                'kCommandTypeSetCheckState', 'kCommandTypeSetCheckText', 'kCommandTypeSetCursorPosition', 'kCommandTypeSetCursorVisible',
        -                'kCommandTypeSetEditText', 'kCommandTypeSetFocus', 'kCommandTypeSetForegroundColor', 'kCommandTypeSetHeight',
        -                'kCommandTypeSetLabelText', 'kCommandTypeSetOpacity', 'kCommandTypeSetPosition', 'kCommandTypeSetRotation',
        -                'kCommandTypeSetSize', 'kCommandTypeSetVisible', 'kCommandTypeSetWidth', 'kCommandTypeSleep', 'kCommandTypeStartTimer',
        -                'kCommandTypeStopAction', 'kCommandTypeStopMovie', 'kCommandTypeStopSound', 'kCommandTypeStopTimer',
        -                'kComponentTypeButton', 'kComponentTypeCheck', 'kComponentTypeContainer', 'kComponentTypeEdit', 'kComponentTypeLabel',
        -                'kComponentTypeList', 'kComponentTypeMovie', 'kComponentTypePicture', 'kComponentTypePixelMap', 'kComponentTypeProgress',
        -                'kComponentTypeRenderMap', 'kComponentTypeSlider', 'kCursorShapeCross', 'kCursorShapeDefault', 'kCursorShapeHandPointing',
        -                'kCursorShapeIBeam', 'kCursorShapeNone', 'kCursorShapeWaiting', 'kDirectionLeftToRight', 'kDirectionRightToLeft',
        -                'kEncodingASCII', 'kEncodingUTF8', 'kEventTypeGainFocus', 'kEventTypeLooseFocus', 'kEventTypeMouseEnter',
        -                'kEventTypeMouseLeave', 'kFillModeSolid', 'kInterpolatorTypeLinear', 'kInterpolatorTypePower2', 'kInterpolatorTypePower3',
        -                'kInterpolatorTypePower4', 'kInterpolatorTypeRoot2', 'kInterpolatorTypeRoot3', 'kInterpolatorTypeRoot4',
        -                'kInterpolatorTypeSpring1', 'kInterpolatorTypeSpring2', 'kInterpolatorTypeSpring3', 'kInterpolatorTypeSpring4',
        -                'kInterpolatorTypeSpring5', 'kInterpolatorTypeSpring6',
        -                'kOriginBottom', 'kOriginBottomLeft', 'kOriginBottomRight', 'kOriginCenter', 'kOriginLeft', 'kOriginRight',
        -                'kOriginTop', 'kOriginTopLeft', 'kOriginTopRight', 'kProgressTypeBottomToTop', 'kProgressTypeLeftToRight',
        -                'kProgressTypeRightToLeft', 'kProgressTypeTopToBottom', 'kRuntimeValueCallArgument0', 'kRuntimeValueCallArgument1',
        -                'kRuntimeValueCallArgument2', 'kRuntimeValueCallArgument3', 'kRuntimeValueCurrentUser', 'kRuntimeValueCurrentUserMainCamera',
        -                'kRuntimeValueRegister0', 'kRuntimeValueRegister1', 'kRuntimeValueRegister2', 'kRuntimeValueRegister3',
        -                'kShapeTypeEllipsoid', 'kShapeTypeRectangle', 'kShapeTypeRoundRectangle', 'kSliderTypeBottomToTop',
        -                'kSliderTypeLeftToRight', 'kSliderTypeRightToLeft', 'kSliderTypeTopToBottom', 'kWaveTypeConstant',
        -                'kWaveTypeSawtooth', 'kWaveTypeSawtoothInv', 'kWaveTypeSinus', 'kWaveTypeSinusNoise', 'kWaveTypeSquare', 'kWaveTypeTriangle',
        -                //Input
        -                'kJoypadTypeIPhone', 'kJoypadTypeNone', 'kJoypadTypePhone', 'kJoypadTypeStandard', 'kJoypadTypeWiimote',
        -                'kKey0', 'kKey1', 'kKey2', 'kKey3', 'kKey4', 'kKey5', 'kKey6', 'kKey7', 'kKey8', 'kKey9', 'kKeyA', 'kKeyB',
        -                'kKeyBackspace', 'kKeyC', 'kKeyD', 'kKeyDelete', 'kKeyDown', 'kKeyE', 'kKeyEnd', 'kKeyEscape', 'kKeyF',
        -                'kKeyF1', 'kKeyF10', 'kKeyF11', 'kKeyF12', 'kKeyF2', 'kKeyF3', 'kKeyF4', 'kKeyF5', 'kKeyF6', 'kKeyF7',
        -                'kKeyF8', 'kKeyF9', 'kKeyG', 'kKeyH', 'kKeyHome', 'kKeyI', 'kKeyInsert', 'kKeyJ', 'kKeyK', 'kKeyL',
        -                'kKeyLAlt', 'kKeyLControl', 'kKeyLeft', 'kKeyLShift', 'kKeyM', 'kKeyN', 'kKeyO', 'kKeyP', 'kKeyPageDown',
        -                'kKeyPageUp', 'kKeyQ', 'kKeyR', 'kKeyRAlt', 'kKeyRControl', 'kKeyReturn', 'kKeyRight', 'kKeyRShift',
        -                'kKeyS', 'kKeySpace', 'kKeyT', 'kKeyTab', 'kKeyU', 'kKeyUp', 'kKeyV', 'kKeyW', 'kKeyX', 'kKeyY',
        -                'kKeyZ', 'kJoypadButtonPSPCircle', 'kJoypadButtonPSPCross', 'kJoypadButtonPSPDown', 'kJoypadButtonPSPL',
        -                'kJoypadButtonPSPLeft', 'kJoypadButtonPSPR', 'kJoypadButtonPSPRight', 'kJoypadButtonPSPSelect',
        -                'kJoypadButtonPSPSquare', 'kJoypadButtonPSPStart', 'kJoypadButtonPSPTriangle', 'kJoypadButtonPSPUp',
        -                'kJoypadTypePSP', 'kJoypadButtonWiimoteA', 'kJoypadButtonWiimoteB', 'kJoypadButtonWiimoteC',
        -                'kJoypadButtonWiimoteDown', 'kJoypadButtonWiimoteHome', 'kJoypadButtonWiimoteLeft',
        -                'kJoypadButtonWiimoteMinus', 'kJoypadButtonWiimoteOne', 'kJoypadButtonWiimotePlus',
        -                'kJoypadButtonWiimoteRight', 'kJoypadButtonWiimoteTwo', 'kJoypadButtonWiimoteUp', 'kJoypadButtonWiimoteZ',
        -                //Light
        -                'kTypeDirectional', 'kTypePoint',
        -                //Math
        -                'kEpsilon', 'kInfinity', 'kPi',
        -                //Mesh
        -                'kLockModeRead', 'kLockModeWrite', 'kLockReadWrite',
        -                //Network
        -                'kBluetoothServerPort', 'kDefaultServerPort', 'kStatusAuthenticated', 'kStatusSearchFinished', // 'kStatusNone', 'kStatusPending',
        -                //Object
        -                'kControllerTypeAI', 'kControllerTypeAnimation', 'kControllerTypeAny', 'kControllerTypeDynamics',
        -                'kControllerTypeNavigation', 'kControllerTypeSound', 'kGlobalSpace', 'kLocalSpace', 'kParentSpace',
        -                'kTransformOptionInheritsParentRotation', 'kTransformOptionInheritsParentScale', 'kTransformOptionInheritsParentTranslation',
        -                'kTransformOptionTranslationAffectedByParentRotation', 'kTransformOptionTranslationAffectedByParentScale', 'kTypeCamera',
        -                'kTypeCollider', 'kTypeDummy', 'kTypeGroup', 'kTypeLight', 'kTypeOccluder', 'kTypeProjector', 'kTypeReflector',
        -                'kTypeSensor', 'kTypeSfx', 'kTypeShape',
        -                //Pixelmap
        -                'kBlendModeDecal', 'kBlendModeReplace', 'kFillModeBrush', 'kFillModeNone', 'kPenModeBrush', // 'kFillModeSolid',
        -                'kPenModeNone', 'kPenModeSolid',
        -                //Projector
        -                'kMapTypeMovie', 'kMapTypePixelMap', 'kMapTypeRenderMap', 'kMapTypeTexture', 'kMapTypeTextureClip',
        -                //Scene
        -                'kFilteringModeBilinear', 'kFilteringModeNearest', 'kFilteringModeTrilinear', // 'kAddressingModeClamp', 'kAddressingModeRepeat',
        -                'kSkyBoxFaceBack', 'kSkyBoxFaceBottom', 'kSkyBoxFaceFront', 'kSkyBoxFaceLeft', 'kSkyBoxFaceRight', 'kSkyBoxFaceTop',
        -                //Sensor
        -                'kShapeTypeBox', 'kShapeTypeSphere',
        -                //Server
        -                'kStatusConnected', 'kStatusNone', 'kStatusPending',
        -                //Session - duplicate keywords
        -                //'kStatusConnected', 'kStatusNone', 'kStatusPending',
        -                //Shape
        -                'kMapTypeUnknown', 'kCurveTypeBezier', 'kCurveTypeBSpline', 'kCurveTypeCatmullRom', 'kCurveTypePolyLine',
        -                // 'kMapTypeMovie', 'kMapTypePixelMap', 'kMapTypeRenderMap', 'kMapTypeTexture',  'kMapTypeTextureClip',
        -
        -                //System
        -                'kOSType3DS', 'kOSTypeBada', 'kOSTypeBrew', 'kOSTypePalm', 'kOSTypePS3',
        -                'kClientTypeEditor', 'kClientTypeEmbedded', 'kClientTypeStandalone',
        -                'kGPUCapabilityBloomFilterSupport', 'kGPUCapabilityContrastFilterSupport', 'kGPUCapabilityDepthBlurFilterSupport',
        -                'kGPUCapabilityDistortionFilterSupport', 'kGPUCapabilityDynamicShadowsSupport', 'kGPUCapabilityHardwareOcclusionSupport',
        -                'kGPUCapabilityHardwareRenderingSupport', 'kGPUCapabilityMonochromeFilterSupport', 'kGPUCapabilityMotionBlurFilterSupport',
        -                'kGPUCapabilityPixelShaderSupport', 'kGPUCapabilityVelocityBlurFilterSupport', 'kGPUCapabilityVertexShaderSupport',
        -                'kLanguageAlbanian', 'kLanguageArabic', 'kLanguageBulgarian', 'kLanguageCatalan', 'kLanguageCzech', 'kLanguageDanish',
        -                'kLanguageDutch', 'kLanguageEnglish', 'kLanguageFinnish', 'kLanguageFrench', 'kLanguageGerman', 'kLanguageGreek',
        -                'kLanguageHebrew', 'kLanguageHungarian', 'kLanguageIcelandic', 'kLanguageItalian', 'kLanguageJapanese', 'kLanguageKorean',
        -                'kLanguageNorwegian', 'kLanguagePolish', 'kLanguagePortuguese', 'kLanguageRomanian', 'kLanguageRussian',
        -                'kLanguageSerboCroatian', 'kLanguageSlovak', 'kLanguageSpanish', 'kLanguageSwedish', 'kLanguageThai',
        -                'kLanguageTurkish', 'kLanguageUnknown', 'kLanguageUrdu', 'kOSTypeAndroid', 'kOSTypeAngstrom', 'kOSTypeIPhone',
        -                'kOSTypeLinux', 'kOSTypeMac', 'kOSTypePSP', 'kOSTypeSymbian', 'kOSTypeWii', 'kOSTypeWindows', 'kOSTypeWindowsCE',
        -            ),
        -        // Not used yet
        -        4 => array(
        -                'dummycommand',
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '%', '&', '*', '|', '/', '<', '>',
        -        '+', '-', '=>', '<<'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color:#0000FF; font-weight:bold;',
        -            2 => 'color:#000088; font-weight:bold;',
        -            3 => 'color:#C088C0; font-weight:bold;',
        -            4 => 'color:#00FEFE; font-weight:bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color:#008000; font-style:italic;',
        -            4 => 'color: #cc0000; font-style: italic;',
        -            'MULTI' => 'color:#008000; font-style:italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color:#000099;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color:#000000; font-weight:bold;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color:#888800;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color:#AA0000;'
        -            ),
        -        // names after "."
        -        'METHODS' => array(
        -            1 => 'color:#FF00FF; font-weight:bold;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color:#000000; font-weight:bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color:#ff6633; font-weight:bold;',
        -            1 => 'color:#0066ff; font-weight:bold;',
        -            2 => 'color:#6666ff; font-weight:bold;',
        -            3 => 'color:#ff3333; font-weight:bold;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        0 => array(//Variables
        -            GESHI_SEARCH => "([[:space:]])(\\$[a-zA-Z_][a-zA-Z0-9_]*)",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        1 => array(//Arrays
        -            GESHI_SEARCH => "([[:space:]])(@[a-zA-Z_][a-zA-Z0-9_]*)",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*",//Static OOP symbols
        -        3 => array(
        -            GESHI_SEARCH => "([[:space:]]|\[|\()(:[a-zA-Z_][a-zA-Z0-9_]*)",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            '<%' => '%>'
        -            )
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        ),
        -    'TAB_WIDTH' => 2
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/systemverilog.php b/vendor/easybook/geshi/geshi/systemverilog.php
        deleted file mode 100644
        index ed928fb..0000000
        --- a/vendor/easybook/geshi/geshi/systemverilog.php
        +++ /dev/null
        @@ -1,316 +0,0 @@
        -.
        - *
        - ************************************************************************
        - * Title:        SystemVerilog Language Keywords File for GeSHi
        - * Description:  This file contains the SV keywords defined in the
        - *               IEEE1800-2009 Draft Standard in the format expected by
        - *               GeSHi.
        - *
        - * Original Author: Sean O'Boyle
        - * Contact:         seanoboyle@intelligentdv.com
        - * Company:         Intelligent Design Verification
        - * Company URL:     http://intelligentdv.com
        - *
        - * Download the most recent version here:
        - *                  http://intelligentdv.com/downloads
        - *
        - * File Bugs Here:  http://bugs.intelligentdv.com
        - *        Project:  SyntaxFiles
        - *
        - * File: systemverilog.php
        - * $LastChangedBy: benbe $
        - * $LastChangedDate: 2012-08-18 01:56:20 +0200 (Sa, 18. Aug 2012) $
        - * $LastChangedRevision: 2542 $
        - *
        - ************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'SystemVerilog',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        // system tasks
        -        1 => array(
        -            'acos','acosh','asin','asinh','assertfailoff','assertfailon',
        -            'assertkill','assertnonvacuouson','assertoff','asserton',
        -            'assertpassoff','assertpasson','assertvacuousoff','async$and$array',
        -            'async$and$plane','async$nand$array','async$nand$plane',
        -            'async$nor$array','async$nor$plane','async$or$array',
        -            'async$or$plane','atan','atan2','atanh','bits','bitstoreal',
        -            'bitstoshortreal','cast','ceil','changed','changed_gclk',
        -            'changing_gclk','clog2','cos','cosh','countones','coverage_control',
        -            'coverage_get','coverage_get_max','coverage_merge','coverage_save',
        -            'dimensions','display','displayb','displayh','displayo',
        -            'dist_chi_square','dist_erlang','dist_exponential','dist_normal',
        -            'dist_poisson','dist_t','dist_uniform','dumpall','dumpfile',
        -            'dumpflush','dumplimit','dumpoff','dumpon','dumpports',
        -            'dumpportsall','dumpportsflush','dumpportslimit','dumpportsoff',
        -            'dumpportson','dumpvars','error','exit','exp','falling_gclk',
        -            'fclose','fdisplay','fdisplayb','fdisplayh','fdisplayo','fell',
        -            'fell_gclk','feof','ferror','fflush','fgetc','fgets','finish',
        -            'floor','fmonitor','fmonitorb','fmonitorh','fmonitoro','fopen',
        -            'fread','fscanf','fseek','fstrobe','fstrobeb','fstrobeh','fstrobeo',
        -            'ftell','future_gclk','fwrite','fwriteb','fwriteh','fwriteo',
        -            'get_coverage','high','hypot','increment','info','isunbounded',
        -            'isunknown','itor','left','ln','load_coverage_db','log10','low',
        -            'monitor','monitorb','monitorh','monitoro','monitoroff','monitoron',
        -            'onehot','onehot0','past','past_gclk','pow','printtimescale',
        -            'q_add','q_exam','q_full','q_initialize','q_remove','random',
        -            'readmemb','readmemh','realtime','realtobits','rewind','right',
        -            'rising_gclk','rose','rose_gclk','rtoi','sampled',
        -            'set_coverage_db_name','sformat','sformatf','shortrealtobits',
        -            'signed','sin','sinh','size','sqrt','sscanf','stable','stable_gclk',
        -            'steady_gclk','stime','stop','strobe','strobeb','strobeh','strobeo',
        -            'swrite','swriteb','swriteh','swriteo','sync$and$array',
        -            'sync$and$plane','sync$nand$array','sync$nand$plane',
        -            'sync$nor$array','sync$nor$plane','sync$or$array','sync$or$plane',
        -            'system','tan','tanh','test$plusargs','time','timeformat',
        -            'typename','ungetc','unpacked_dimensions','unsigned',
        -            'value$plusargs','warning','write','writeb','writeh','writememb',
        -            'writememh','writeo',
        -            ),
        -        // compiler directives
        -        2 => array(
        -            '`__FILE__', '`__LINE__', '`begin_keywords', '`case', '`celldefine',
        -            '`endcelldefine', '`default_nettype', '`define', '`default', '`else',
        -            '`elsif', '`end_keywords', '`endfor', '`endif',
        -            '`endprotect', '`endswitch', '`endwhile', '`for', '`format',
        -            '`if', '`ifdef', '`ifndef', '`include', '`let',
        -            '`line', '`nounconnected_drive', '`pragma', '`protect', '`resetall',
        -            '`switch', '`timescale', '`unconnected_drive', '`undef', '`undefineall',
        -            '`while'
        -            ),
        -        // keywords
        -        3 => array(
        -            'assert', 'assume', 'cover', 'expect', 'disable',
        -            'iff', 'binsof', 'intersect', 'first_match', 'throughout',
        -            'within', 'coverpoint', 'cross', 'wildcard', 'bins',
        -            'ignore_bins', 'illegal_bins', 'genvar', 'if', 'else',
        -            'unique', 'priority', 'matches', 'default', 'forever',
        -            'repeat', 'while', 'for', 'do', 'foreach',
        -            'break', 'continue', 'return', 'pulsestyle_onevent', 'pulsestyle_ondetect',
        -            'noshowcancelled', 'showcancelled', 'ifnone', 'posedge', 'negedge',
        -            'edge', 'wait', 'wait_order', 'timeunit', 'timeprecision',
        -            's', 'ms', 'us', 'ns',
        -            'ps', 'fs', 'step', 'new', 'extends',
        -            'this', 'super', 'protected', 'local', 'rand',
        -            'randc', 'bind', 'constraint', 'solve', 'before',
        -            'dist', 'inside', 'with', 'virtual', 'extern',
        -            'pure', 'forkjoin', 'design', 'instance', 'cell',
        -            'liblist', 'use', 'library', 'incdir', 'include',
        -            'modport', 'sync_accept_on', 'reject_on', 'accept_on',
        -            'sync_reject_on', 'restrict', 'let', 'until', 'until_with',
        -            'unique0', 'eventually', 's_until', 's_always', 's_eventually',
        -            's_nexttime', 's_until_with', 'global', 'untyped', 'implies',
        -            'weak', 'strong', 'nexttime'
        -            ),
        -        // block keywords
        -        4 => array(
        -            'begin', 'end', 'package', 'endpackage', 'macromodule',
        -            'module', 'endmodule', 'generate', 'endgenerate', 'program',
        -            'endprogram', 'class', 'endclass', 'function', 'endfunction',
        -            'case', 'casex', 'casez', 'randcase', 'endcase',
        -            'interface', 'endinterface', 'clocking', 'endclocking', 'task',
        -            'endtask', 'primitive', 'endprimitive', 'fork', 'join',
        -            'join_any', 'join_none', 'covergroup', 'endgroup', 'checker',
        -            'endchecker', 'property', 'endproperty', 'randsequence', 'sequence',
        -            'endsequence', 'specify', 'endspecify', 'config', 'endconfig',
        -            'table', 'endtable', 'initial', 'final', 'always',
        -            'always_comb', 'always_ff', 'always_latch', 'alias', 'assign',
        -            'force', 'release'
        -            ),
        -
        -        // types
        -        5 => array(
        -            'parameter', 'localparam', 'specparam', 'input', 'output',
        -            'inout', 'ref', 'byte', 'shortint', 'int',
        -            'integer', 'longint', 'time', 'bit', 'logic',
        -            'reg', 'supply0', 'supply1', 'tri', 'triand',
        -            'trior', 'trireg', 'tri0', 'tri1', 'wire',
        -            'uwire', 'wand', 'wor', 'signed', 'unsigned',
        -            'shortreal', 'real', 'realtime', 'type', 'void',
        -            'struct', 'union', 'tagged', 'const', 'var',
        -            'automatic', 'static', 'packed', 'vectored', 'scalared',
        -            'typedef', 'enum', 'string', 'chandle', 'event',
        -            'null', 'pullup', 'pulldown', 'cmos', 'rcmos',
        -            'nmos', 'pmos', 'rnmos', 'rpmos', 'and',
        -            'nand', 'or', 'nor', 'xor', 'xnor',
        -            'not', 'buf', 'tran', 'rtran', 'tranif0',
        -            'tranif1', 'rtranif0', 'rtranif1', 'bufif0', 'bufif1',
        -            'notif0', 'notif1', 'strong0', 'strong1', 'pull0',
        -            'pull1', 'weak0', 'weak1', 'highz0', 'highz1',
        -            'small', 'medium', 'large'
        -            ),
        -
        -        // DPI
        -        6 => array(
        -            'DPI', 'DPI-C', 'import', 'export', 'context'
        -            ),
        -
        -        // stdlib
        -        7 => array(
        -            'randomize', 'mailbox', 'semaphore', 'put', 'get',
        -            'try_put', 'try_get', 'peek', 'try_peek', 'process',
        -            'state', 'self', 'status', 'kill', 'await',
        -            'suspend', 'resume', 'size', 'delete', 'insert',
        -            'num', 'first', 'last', 'next', 'prev',
        -            'pop_front', 'pop_back', 'push_front', 'push_back', 'find',
        -            'find_index', 'find_first', 'find_last', 'find_last_index', 'min',
        -            'max', 'unique_index', 'reverse', 'sort', 'rsort',
        -            'shuffle', 'sum', 'product', 'List', 'List_Iterator',
        -            'neq', 'eq', 'data', 'empty', 'front',
        -            'back', 'start', 'finish', 'insert_range', 'erase',
        -            'erase_range', 'set', 'swap', 'clear', 'purge'
        -            ),
        -
        -        // key_deprecated
        -        8 => array(
        -            'defparam', 'deassign', 'TODO'
        -        ),
        -
        -        ),
        -    'SYMBOLS' => array(
        -            '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%',
        -            '^', '&', '|', '~',
        -            '?', ':',
        -            '#', '<<', '<<<',
        -            '>', '<', '>=', '<=',
        -            '@', ';', ','
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #996666; font-weight: bold;',
        -            2 => 'color: #336600; font-weight: bold;',
        -            3 => 'color: #996600; font-weight: bold;',
        -            4 => 'color: #000033; font-weight: bold;',
        -            5 => 'color: #330033; font-weight: bold;',
        -            6 => 'color: #996600; font-weight: bold;',
        -            7 => 'color: #CC9900; font-weight: bold;',
        -            8 => 'color: #990000; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #00008B; font-style: italic;',
        -            'MULTI' => 'color: #00008B; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #9F79EE'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #9F79EE;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #FF00FF;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff0055;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #5D478B;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #ff0055;',
        -            1 => 'color: #ff0055;',
        -            2 => 'color: #ff0055;',
        -            3 => 'color: #ff0055;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => '',
        -        8 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => ''
        -        ),
        -    'REGEXPS' => array(
        -        // integer
        -        0 => "\d'[bdh][0-9_a-fA-FxXzZ]+",
        -        // realtime
        -        1 => "\d*\.\d+[munpf]?s",
        -        // time s, ms, us, ns, ps, of fs
        -        2 => "\d+[munpf]?s",
        -        // real
        -        3 => "\d*\.\d+"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => ''
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true
        -        ),
        -    'TAB_WIDTH' => 3,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            1 => array(
        -                'DISALLOWED_BEFORE' => '(?<=$)'
        -                )
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/tcl.php b/vendor/easybook/geshi/geshi/tcl.php
        deleted file mode 100644
        index 2c1d53c..0000000
        --- a/vendor/easybook/geshi/geshi/tcl.php
        +++ /dev/null
        @@ -1,193 +0,0 @@
        - 'TCL',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        1 => '/(? '/{[^}\n]+}/'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', "'"),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        /*
        -         * Set 1: reserved words
        -         * http://python.org/doc/current/ref/keywords.html
        -         */
        -        1 => array(
        -            'proc', 'global', 'upvar', 'if', 'then', 'else', 'elseif', 'for', 'foreach',
        -            'break', 'continue', 'while', 'set', 'eval', 'case', 'in', 'switch',
        -            'default', 'exit', 'error', 'return', 'uplevel', 'loop',
        -            'for_array_keys', 'for_recursive_glob', 'for_file', 'unwind_protect',
        -            'expr', 'catch', 'namespace', 'rename', 'variable',
        -            // itcl
        -            'method', 'itcl_class', 'public', 'protected'),
        -
        -        /*
        -         * Set 2: builtins
        -         * http://asps.activatestate.com/ASPN/docs/ActiveTcl/8.4/tcl/tcl_2_contents.htm
        -         */
        -        2 => array(
        -            // string handling
        -            'append', 'binary', 'format', 're_syntax', 'regexp', 'regsub',
        -            'scan', 'string', 'subst',
        -            // list handling
        -            'concat', 'join', 'lappend', 'lindex', 'list', 'llength', 'lrange',
        -            'lreplace', 'lsearch', 'lset', 'lsort', 'split',
        -            // procedures and output
        -            'incr', 'close', 'eof', 'fblocked', 'fconfigure', 'fcopy', 'file',
        -            'fileevent', 'flush', 'gets', 'open', 'puts', 'read', 'seek',
        -            'socket', 'tell',
        -            // packages and source files
        -            'load', 'loadTk', 'package', 'pgk::create', 'pgk_mkIndex', 'source',
        -            // interpreter routines
        -            'bgerror', 'history', 'info', 'interp', 'memory', 'unknown',
        -            // library routines
        -            'enconding', 'http', 'msgcat',
        -            // system related
        -            'cd', 'clock', 'exec', 'glob', 'pid', 'pwd', 'time',
        -            // platform specified
        -            'dde', 'registry', 'resource',
        -            // special variables
        -            '$argc', '$argv', '$errorCode', '$errorInfo', '$argv0',
        -            '$auto_index', '$auto_oldpath', '$auto_path', '$env',
        -            '$tcl_interactive', '$tcl_libpath', '$tcl_library',
        -            '$tcl_pkgPath', '$tcl_platform', '$tcl_precision', '$tcl_traceExec',
        -            ),
        -
        -        /*
        -         * Set 3: standard library
        -         */
        -        3 => array(
        -            'comment', 'filename', 'library', 'packagens', 'tcltest', 'tclvars',
        -            ),
        -
        -        /*
        -         * Set 4: special methods
        -         */
        -//        4 => array(
        -//            )
        -
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '$', '*', '&', '%', '!', ';', '<', '>', '?'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -//        4 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #ff7700;font-weight:bold;',    // Reserved
        -            2 => 'color: #008000;',                        // Built-ins + self
        -            3 => 'color: #dc143c;',                        // Standard lib
        -//            4 => 'color: #0000cd;'                        // Special methods
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -//            2 => 'color: #483d8b;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: black;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #483d8b;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff4500;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: black;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #ff3333;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -//        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        //Special variables
        -        0 => '[\\$]+[a-zA-Z_][a-zA-Z0-9_]*',
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'COMMENTS' => array(
        -            'DISALLOWED_BEFORE' => '\\'
        -        )
        -    )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/teraterm.php b/vendor/easybook/geshi/geshi/teraterm.php
        deleted file mode 100644
        index 2c12cdc..0000000
        --- a/vendor/easybook/geshi/geshi/teraterm.php
        +++ /dev/null
        @@ -1,353 +0,0 @@
        - 'Tera Term Macro',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        /* Commands */
        -        1 => array(
        -            'Beep',
        -            'BplusRecv',
        -            'BplusSend',
        -            'Break',
        -            'Call',
        -            'CallMenu',
        -            'ChangeDir',
        -            'ClearScreen',
        -            'Clipb2Var',
        -            'ClosesBox',
        -            'CloseTT',
        -            'Code2Str',
        -            'Connect',
        -            'CRC32',
        -            'CRC32File',
        -            'CygConnect',
        -            'DelPassword',
        -            'Disconnect',
        -            'DispStr',
        -            'Do',
        -            'Else',
        -            'ElseIf',
        -            'EnableKeyb',
        -            'End',
        -            'EndIf',
        -            'EndUntil',
        -            'EndWhile',
        -            'Exec',
        -            'ExecCmnd',
        -            'Exit',
        -            'FileClose',
        -            'FileConcat',
        -            'FileCopy',
        -            'FileCreate',
        -            'FileDelete',
        -            'FileMarkPtr',
        -            'FileNameBox',
        -            'FileOpen',
        -            'FileRead',
        -            'FileReadln',
        -            'FileRename',
        -            'FileSearch',
        -            'FileSeek',
        -            'FileSeekBack',
        -            'FileStat',
        -            'FileStrSeek',
        -            'FileStrSeek2',
        -            'FileTruncate',
        -            'FileWrite',
        -            'FileWriteLn',
        -            'FindClose',
        -            'FindFirst',
        -            'FindNext',
        -            'FlushRecv',
        -            'For',
        -            'GetDate',
        -            'GetDir',
        -            'GetEnv',
        -            'GetHostname',
        -            'GetPassword',
        -            'GetTime',
        -            'GetTitle',
        -            'GetTTDir',
        -            'Getver',
        -            'GoTo',
        -            'If',
        -            'IfDefined',
        -            'Include',
        -            'InputBox',
        -            'Int2Str',
        -            'KmtFinish',
        -            'KmtGet',
        -            'KmtRecv',
        -            'KmtSend',
        -            'LoadKeymap',
        -            'LogClose',
        -            'LogOpen',
        -            'LogPause',
        -            'LogStart',
        -            'LogWrite',
        -            'Loop',
        -            'MakePath',
        -            'MessageBox',
        -            'MPause',
        -            'Next',
        -            'PasswordBox',
        -            'Pause',
        -            'QuickVANRecv',
        -            'QuickVANSend',
        -            'Random',
        -            'RecvLn',
        -            'RestoreSetup',
        -            'Return',
        -            'RotateLeft',
        -            'RotateRight',
        -            'ScpRecv',
        -            'ScpSend',
        -            'Send',
        -            'SendBreak',
        -            'SendBroadcast',
        -            'SendFile',
        -            'SendKCode',
        -            'SendLn',
        -            'SendLnBroadcast',
        -            'SendMulticast',
        -            'SetBaud',
        -            'SetDate',
        -            'SetDebug',
        -            'SetDir',
        -            'SetDlgPos',
        -            'SetDTR',
        -            'SetEcho',
        -            'SetEnv',
        -            'SetExitCode',
        -            'SetMulticastName',
        -            'SetRTS',
        -            'SetSync',
        -            'SetTime',
        -            'SetTitle',
        -            'Show',
        -            'ShowTT',
        -            'SPrintF',
        -            'SPrintF2',
        -            'StatusBox',
        -            'Str2Code',
        -            'Str2Int',
        -            'StrCompare',
        -            'StrConcat',
        -            'StrCopy',
        -            'StrInsert',
        -            'StrJoin',
        -            'StrLen',
        -            'StrMatch',
        -            'StrRemove',
        -            'StrReplace',
        -            'StrScan',
        -            'StrSpecial',
        -            'StrSplit',
        -            'StrTrim',
        -            'TestLink',
        -            'Then',
        -            'ToLower',
        -            'ToUpper',
        -            'UnLink',
        -            'Until',
        -            'Var2Clipb',
        -            'Wait',
        -            'Wait4All',
        -            'WaitEvent',
        -            'WaitLn',
        -            'WaitN',
        -            'WaitRecv',
        -            'WaitRegEx',
        -            'While',
        -            'XmodemRecv',
        -            'XmodemSend',
        -            'YesNoBox',
        -            'YmodemRecv',
        -            'YmodemSend',
        -            'ZmodemRecv',
        -            'ZmodemSend'
        -            ),
        -        /* System Variables */
        -        2 => array(
        -            'groupmatchstr1',
        -            'groupmatchstr2',
        -            'groupmatchstr3',
        -            'groupmatchstr4',
        -            'groupmatchstr5',
        -            'groupmatchstr6',
        -            'groupmatchstr7',
        -            'groupmatchstr8',
        -            'groupmatchstr9',
        -            'inputstr',
        -            'matchstr',
        -            'mtimeout',
        -            'param2',
        -            'param3',
        -            'param4',
        -            'param5',
        -            'param6',
        -            'param7',
        -            'param8',
        -            'param9',
        -            'result',
        -            'timeout'
        -            ),
        -        /* LogMeTT Key Words */
        -        3 => array(
        -            '$[1]',
        -            '$[2]',
        -            '$[3]',
        -            '$[4]',
        -            '$[5]',
        -            '$[6]',
        -            '$[7]',
        -            '$[8]',
        -            '$[9]',
        -            '$branch$',
        -            '$computername$',
        -            '$connection$',
        -            '$email$',
        -            '$logdir$',
        -            '$logfilename$',
        -            '$lttfilename$',
        -            '$mobile$',
        -            '$name$',
        -            '$pager$',
        -            '$parent$',
        -            '$phone$',
        -            '$snippet$',
        -            '$ttdir$',
        -            '$user$',
        -            '$windir$',
        -        ),
        -        /* Keyword Symbols */
        -        4 => array(
        -            'and',
        -            'not',
        -            'or',
        -            'xor'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}',
        -        '+', '-', '*', '/', '%',
        -        '!', '&', '|', '^',
        -        '<', '>', '=',
        -        '?', ':', ';',
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000080; font-weight: bold!important;',
        -            2 => 'color: #808000; font-weight: bold;',  // System Variables
        -            3 => 'color: #ff0000; font-weight: bold;',  // LogMeTT Key Words
        -            4 => 'color: #ff00ff; font-weight: bold;'   // Keyword Symbols
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(),
        -        'BRACKETS' => array(
        -            0 => 'color: #ff00ff; font-weight: bold;'
        -        ),
        -        'STRINGS' => array(
        -            0 => 'color: #800080;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #008080;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #ff00ff; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000ff; font-weight: bold;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        0 => array (
        -            GESHI_SEARCH => '(\:[_a-zA-Z][_a-zA-Z0-9]+)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/text.php b/vendor/easybook/geshi/geshi/text.php
        deleted file mode 100644
        index 3c7f17c..0000000
        --- a/vendor/easybook/geshi/geshi/text.php
        +++ /dev/null
        @@ -1,82 +0,0 @@
        - 'Text',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(),
        -    'SYMBOLS' => array(),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(),
        -        'COMMENTS' => array(),
        -        'ESCAPE_CHAR' => array(),
        -        'BRACKETS' => array(),
        -        'STRINGS' => array(),
        -        'NUMBERS' => array(),
        -        'METHODS' => array(),
        -        'SYMBOLS' => array(),
        -        'SCRIPT' => array(),
        -        'REGEXPS' => array()
        -        ),
        -    'URLS' => array(),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'ALL' => GESHI_NEVER
        -        ),
        -    )
        -);
        diff --git a/vendor/easybook/geshi/geshi/thinbasic.php b/vendor/easybook/geshi/geshi/thinbasic.php
        deleted file mode 100644
        index 3d20349..0000000
        --- a/vendor/easybook/geshi/geshi/thinbasic.php
        +++ /dev/null
        @@ -1,866 +0,0 @@
        - 'thinBasic',
        -    'COMMENT_SINGLE' => array(1 => "'"),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'XOR','XML_TREETOSTRING','XML_PARSEFILE','XML_PARSE','XML_PARENT','XML_NODETYPE','XML_NODETOSTRING','XML_NEXTSIBLING',
        -            'XML_LASTERROR','XML_GETTAG','XML_FREE','XML_FINDNODE','XML_DECODEPARAM','XML_CHILDDATA','XML_CHILD','XML_ATTRIBVALUE',
        -            'XML_ATTRIBNAME','XML_ATTRIBCOUNT','WORD','WITH','WIN_SHOW','WIN_SETTITLE','WIN_SETFOREGROUND','WIN_ISZOOMED',
        -            'WIN_ISVISIBLE','WIN_ISICONIC','WIN_GETTITLE','WIN_GETFOREGROUND','WIN_GETCLASS','WIN_GETACTIVE','WIN_FLASH','WIN_FINDBYTITLE',
        -            'WIN_FINDBYCLASS','WHILE','WEND','VERIFY','VARPTR','VARIANTVT$','VARIANTVT','VARIANT',
        -            'VARIABLE_GETINFO','VARIABLE_EXISTS','VARIABLE_EXIST','VALUE','VAL','USING$','USING','USES',
        -            'USER','UNTIL','UNITS','UNION','UNICODE2ASCII','UDP_SEND','UDP_RECV','UDP_OPENSERVER',
        -            'UDP_OPEN','UDP_FREEFILE','UDP_CLOSE','UCODE$','UCASE$','UBOUND','TYPE','TRIMFULL$',
        -            'TRIM$','TOOLTIP','TOKENIZER_MOVETOEOL','TOKENIZER_KEYSETUSERSTRING','TOKENIZER_KEYSETUSERNUMBER','TOKENIZER_KEYGETUSERSTRING','TOKENIZER_KEYGETUSERNUMBER','TOKENIZER_KEYGETSUBTYPE',
        -            'TOKENIZER_KEYGETNAME','TOKENIZER_KEYGETMAINTYPE','TOKENIZER_KEYFIND','TOKENIZER_KEYADD','TOKENIZER_GETNEXTTOKEN','TOKENIZER_DEFAULT_SET','TOKENIZER_DEFAULT_GET','TOKENIZER_DEFAULT_CODE',
        -            'TOKENIZER_DEFAULT_CHAR','TO','TIMER','TIME$','THEN','TEXTBOX','TEXT','TCP_SEND',
        -            'TCP_RECV','TCP_PRINT','TCP_OPEN','TCP_LINEINPUT','TCP_FREEFILE','TCP_CLOSE','TB_IMGCTX_SETIMAGEADJUSTMENT','TB_IMGCTX_LOADIMAGE',
        -            'TB_IMGCTX_GETIMAGEADJUSTMENT','TBGL_VIEWPORT','TBGL_VERTEX','TBGL_USETEXTUREFLAG','TBGL_USETEXTURE','TBGL_USELINESTIPPLEFLAG','TBGL_USELINESTIPPLE','TBGL_USELIGHTSOURCEFLAG',
        -            'TBGL_USELIGHTSOURCE','TBGL_USELIGHTINGFLAG','TBGL_USELIGHTING','TBGL_USEFOGFLAG','TBGL_USEFOG','TBGL_USEDEPTHMASK','TBGL_USEDEPTHFLAG','TBGL_USEDEPTH',
        -            'TBGL_USECLIPPLANEFLAG','TBGL_USECLIPPLANE','TBGL_USEBLENDFLAG','TBGL_USEBLEND','TBGL_USEALPHATEST','TBGL_TRANSLATE','TBGL_TORUS','TBGL_TEXCOORD2D',
        -            'TBGL_SPHERE','TBGL_SHOWWINDOW','TBGL_SHOWCURSOR','TBGL_SETWINDOWTITLE','TBGL_SETUPLIGHTSOURCE','TBGL_SETUPFOG','TBGL_SETUPCLIPPLANE','TBGL_SETPRIMITIVEQUALITY',
        -            'TBGL_SETLIGHTPARAMETER','TBGL_SETDRAWDISTANCE','TBGL_SCALE','TBGL_SAVESCREENSHOT','TBGL_ROTATEXYZ','TBGL_ROTATE','TBGL_RESETMATRIX','TBGL_RENDERTOTEXTURE',
        -            'TBGL_RENDERMATRIX3D','TBGL_RENDERMATRIX2D','TBGL_PUSHMATRIX','TBGL_PRINTFONT','TBGL_PRINTBMP','TBGL_PRINT','TBGL_POS3DTOPOS2D','TBGL_POPMATRIX',
        -            'TBGL_POLYGONLOOK','TBGL_POINTSIZE','TBGL_POINTINSIDE3D','TBGL_NORMAL','TBGL_NEWLIST','TBGL_MOUSEGETWHEELDELTA','TBGL_MOUSEGETRBUTTON','TBGL_MOUSEGETPOSY',
        -            'TBGL_MOUSEGETPOSX','TBGL_MOUSEGETMBUTTON','TBGL_MOUSEGETLBUTTON','TBGL_M15SETVERTEXZ','TBGL_M15SETVERTEXY','TBGL_M15SETVERTEXXYZ','TBGL_M15SETVERTEXX','TBGL_M15SETVERTEXTEXY',
        -            'TBGL_M15SETVERTEXTEXXY','TBGL_M15SETVERTEXTEXX','TBGL_M15SETVERTEXTEXN','TBGL_M15SETVERTEXRGB','TBGL_M15SETVERTEXR','TBGL_M15SETVERTEXPSTOP','TBGL_M15SETVERTEXPARAM','TBGL_M15SETVERTEXLAYER',
        -            'TBGL_M15SETVERTEXG','TBGL_M15SETVERTEXB','TBGL_M15SETMODELVERTEXCOUNT','TBGL_M15SETBONECHILD','TBGL_M15ROTBONEZ','TBGL_M15ROTBONEY','TBGL_M15ROTBONEX','TBGL_M15ROTBONE',
        -            'TBGL_M15RESETBONES','TBGL_M15RECALCNORMALS','TBGL_M15LOADMODEL','TBGL_M15INITMODELBUFFERS','TBGL_M15GETVERTEXZ','TBGL_M15GETVERTEXY','TBGL_M15GETVERTEXXYZ','TBGL_M15GETVERTEXX',
        -            'TBGL_M15GETVERTEXTEXY','TBGL_M15GETVERTEXTEXXY','TBGL_M15GETVERTEXTEXX','TBGL_M15GETVERTEXTEXN','TBGL_M15GETVERTEXRGB','TBGL_M15GETVERTEXR','TBGL_M15GETVERTEXPSTOP','TBGL_M15GETVERTEXPARAM',
        -            'TBGL_M15GETVERTEXLAYER','TBGL_M15GETVERTEXG','TBGL_M15GETVERTEXB','TBGL_M15GETMODELVERTEXCOUNT','TBGL_M15GETMODELPOLYCOUNT','TBGL_M15ERASECHILDBONES','TBGL_M15DRAWMODEL','TBGL_M15DEFBONERESET',
        -            'TBGL_M15DEFBONELAYER','TBGL_M15DEFBONEBOX','TBGL_M15DEFBONEANCHOR','TBGL_M15DEFBONEADDVERTEX','TBGL_M15CLEARMODEL','TBGL_M15APPLYBONES','TBGL_M15ADDBONETREEITEM','TBGL_LOADTEXTURE',
        -            'TBGL_LOADFONT','TBGL_LOADBMPFONT','TBGL_LINEWIDTH','TBGL_LINESTIPPLE','TBGL_KILLFONT','TBGL_ISWINDOW','TBGL_ISPOINTVISIBLE','TBGL_ISPOINTBEHINDVIEW',
        -            'TBGL_GETWINDOWMULTIKEYSTATE','TBGL_GETWINDOWKEYSTATE','TBGL_GETWINDOWKEYONCE','TBGL_GETWINDOWCLIENT','TBGL_GETTEXTURENAME','TBGL_GETTEXTURELIST','TBGL_GETPIXELINFO','TBGL_GETMULTIASYNCKEYSTATE',
        -            'TBGL_GETLASTGLERROR','TBGL_GETFRAMERATE','TBGL_GETDESKTOPINFO','TBGL_GETASYNCKEYSTATE','TBGL_ERRORMESSAGES','TBGL_ENDPOLY','TBGL_ENDLIST','TBGL_DRAWFRAME',
        -            'TBGL_DESTROYWINDOW','TBGL_DELETELIST','TBGL_CYLINDER','TBGL_CREATEWINDOWEX','TBGL_CREATEWINDOW','TBGL_COLORALPHA','TBGL_COLOR','TBGL_CLEARFRAME',
        -            'TBGL_CAMERA','TBGL_CALLLIST','TBGL_BUILDFONT','TBGL_BOX','TBGL_BLENDFUNC','TBGL_BINDTEXTURE','TBGL_BEGINPOLY','TBGL_BACKCOLOR',
        -            'TBGL_ALPHAFUNC','TBDI_JOYZ','TBDI_JOYY','TBDI_JOYX','TBDI_JOYSTOPEFFECT','TBDI_JOYSLIDER','TBDI_JOYSETRANGEZ','TBDI_JOYSETRANGEY',
        -            'TBDI_JOYSETRANGEXYZ','TBDI_JOYSETRANGEX','TBDI_JOYSETDEADZONEZ','TBDI_JOYSETDEADZONEY','TBDI_JOYSETDEADZONEXYZ','TBDI_JOYSETDEADZONEX','TBDI_JOYSETAUTOCENTER','TBDI_JOYRZ',
        -            'TBDI_JOYRY','TBDI_JOYRX','TBDI_JOYPOV','TBDI_JOYPLAYEFFECT','TBDI_JOYLOADEFFECT','TBDI_JOYHASFF','TBDI_JOYHASEFFECT','TBDI_JOYGETEFFECTNAME',
        -            'TBDI_JOYGETEFFECTGUID','TBDI_JOYCREATEEFFECT','TBDI_JOYCOUNTPOV','TBDI_JOYCOUNTEFFECTS','TBDI_JOYCOUNTBTN','TBDI_JOYCOUNTAXES','TBDI_JOYBUTTON','TBDI_JOYAVAIL',
        -            'TBDI_INIT','TBASS_STREAMFREE','TBASS_STREAMCREATEFILE','TBASS_SETVOLUME','TBASS_SETEAXPRESET','TBASS_SETEAXPARAMETERS','TBASS_SETCONFIG','TBASS_SET3DPOSITION',
        -            'TBASS_SET3DFACTORS','TBASS_SAMPLELOAD','TBASS_SAMPLEGETCHANNEL','TBASS_MUSICLOAD','TBASS_MUSICFREE','TBASS_INIT','TBASS_GETVOLUME','TBASS_GETVERSION',
        -            'TBASS_GETCONFIG','TBASS_FREE','TBASS_ERRORGETCODE','TBASS_CHANNELSTOP','TBASS_CHANNELSETPOSITION','TBASS_CHANNELSETATTRIBUTES','TBASS_CHANNELSET3DPOSITION','TBASS_CHANNELPLAY',
        -            'TBASS_CHANNELPAUSE','TBASS_CHANNELISACTIVE','TBASS_CHANNELGETPOSITION','TBASS_CHANNELGETLENGTH','TBASS_CHANNELGETATTRIBUTES','TBASS_APPLY3D','TANH','TANGENT',
        -            'TAN','TALLY','TABCTRL_ONNOTIFY','TABCTRL_INSERTITEM','TABCTRL_GETCURSEL','SWAP','SUB','STRZIP$',
        -            'STRUNZIP$','STRREVERSE$','STRPTRLEN','STRPTR','STRINSERT$','STRING$','STRING','STRDELETE$',
        -            'STR$','STOP','STEP','STDOUT','STDIN','STAT_SUM','STAT_STDERROR','STAT_STDDEVIATION',
        -            'STAT_RANDOM','STAT_PRODUCT','STAT_MIN','STAT_MEDIAN','STAT_MEANHARMONIC','STAT_MEANGEOMETRIC','STAT_MEANARITHMETIC','STAT_MAX',
        -            'STAT_INVERSESUM','STAT_HISTOGRAM','STAT_FILLARRAY','STAT_COUNT','STAT_COPYARRAY','STAT_CLONEARRAY','STAT_CHISQUARE','STATIC',
        -            'STATE','SQR','SPLIT','SORT','SMTP_STATISTICS','SMTP_SETOPTION','SMTP_SETLOGFILE','SMTP_SENDHTML',
        -            'SMTP_SENDEMAIL','SMTP_GETERROR','SMTP_FINISHED','SMTP_DEBUG','SMTP_CONNECT','SMTP_CLOSE','SLEEP','SIZEOF',
        -            'SIZE','SINH','SINGLE','SIN','SIGNED','SHOW','SHIFT','SHAPETOBMP',
        -            'SGN','SETAT','SET','SENDMESSAGE','SENDKEYSBULK','SENDKEYS','SEND','SELECTEXPRESSION',
        -            'SELECT','SECH','SEC','SCAN','SAPI_SPEAK','SAPI_SETVOLUME','SAPI_SETRATE','SAPI_MODULELOADED',
        -            'SAPI_GETVOLUME','SAPI_GETRATE','RTRIM$','RTF_SETTEXT','RTF_SETFONTSIZE','RTF_SETFONTNAME','RTF_SETFGCOLOR','RTF_SETEFFECT',
        -            'RTF_SETBGCOLOR','RTF_SETALIGN','RTF_SAVETOFILE','RTF_LOADFROMFILE','RTF_GETTEXT','RTF_GETFONTSIZE','RTF_GETFONTNAME','RTF_GETEFFECT',
        -            'RTF_GETCLASS','RTF_APPENDTEXT','RSET$','ROUND','RNDF','RND','RIGHT$','RIGHT',
        -            'RGB','RESOURCE','RESIZE','RESET','REPLACE$','REPEAT$','REMOVE$','REM',
        -            'REGISTRY_SETVALUE','REGISTRY_SETTXTNUM','REGISTRY_SETTXTBOOL','REGISTRY_SETDWORD','REGISTRY_GETVALUE','REGISTRY_GETTXTNUM','REGISTRY_GETTXTBOOL','REGISTRY_GETDWORD',
        -            'REGISTRY_GETALLKEYS','REGISTRY_DELVALUE','REGISTRY_DELKEY','REFERENCE','REF','REDRAW','REDIM','RAS_SETPARAMS',
        -            'RAS_OPENDIALUPDIALOG','RAS_LOADENTRIES','RAS_HANGUPALL','RAS_HANGUP','RAS_GETENTRY','RAS_BEGINDIAL','RANDOMIZE','RADTODEG',
        -            'QUERYPERFORMANCEFREQUENCY','QUERYPERFORMANCECOUNTER','QUAD','PTR','PRESERVE','POST','POPUP','POKE$',
        -            'POKE','PIXELS','PI','PERMUTATIONS','PEEKMESSAGE','PEEK$','PEEK','PC_SYSTEMUPFROM',
        -            'PC_SUSPENDSTATE','PC_SHUTDOWN','PC_SHOWCARET','PC_SETCARETBLINKTIME','PC_RESTARTDIALOG','PC_PREVENTSHUTDOWN','PC_LOCK','PC_INSERTCD',
        -            'PC_HIDECARET','PC_GETSTATEONOFF','PC_GETSCROLLLOCKKEYSTATE','PC_GETNUMLOCKKEYSTATE','PC_GETCARETBLINKTIME','PC_GETCAPSLOCKKEYSTATE','PC_EMPTYBIN','PC_EJECTCD',
        -            'PC_DECODECDERROR','PCT','PARSESET$','PARSECOUNT','PARSE$','PARSE','PARAMETERS','OUTSIDE',
        -            'OS_WINVERSIONTEXT','OS_WINGETVERSIONTIMELINE','OS_SHELLEXECUTE','OS_SHELLABOUT','OS_SHELL','OS_SETLASTCALLDLLERROR','OS_SERVICESTOP','OS_SERVICESTATUSDESCRIPTION',
        -            'OS_SERVICESTARTTYPEDESCRIPTION','OS_SERVICESTART','OS_SERVICESETSTARTTYPE','OS_SERVICEQUERY','OS_SERVICEGETSTARTTYPE','OS_SERVICEGETLIST','OS_PROCESSKILLBYNAME','OS_PROCESSKILLBYID',
        -            'OS_PROCESSISRUNNING','OS_PROCESSGETLIST','OS_PROCESSGETID','OS_PROCESSARERUNNING','OS_MESSAGEBEEP','OS_ISWOW64','OS_ISFEATUREPRESENT','OS_IEVERSION',
        -            'OS_GETWINDOWSDIR','OS_GETUSERNAME','OS_GETTEMPDIR','OS_GETSYSTEMDIR','OS_GETSPECIALFOLDER','OS_GETLASTCALLDLLSTATUS','OS_GETLASTCALLDLLERROR','OS_GETCURRENTTHREADID',
        -            'OS_GETCURRENTPROCESSID','OS_GETCOMPUTERNAME','OS_GETCOMMANDS','OS_GETCOMMAND','OS_FLASHWINDOW','OS_FATALAPPEXIT','OS_ENVIRON','OS_CALLDLL',
        -            'OR','OPTIONAL','OPTION','OPT','ONCE','ON','OFF','NUMBER',
        -            'NOT','NEXT','NEW','MSGBOX','MOUSEPTR','MODULE','MODELESS','MODAL',
        -            'MOD','MKWRD$','MKS$','MKQ$','MKL$','MKI$','MKE$','MKDWD$',
        -            'MKD$','MKCUX$','MKCUR$','MKBYT$','MIN$','MIN','MID$','MENU',
        -            'MDI_CREATE','MCASE$','MAX$','MAX','MAKWRD','MAKLNG','MAKINT','MAKDWR',
        -            'LTRIM$','LSET$','LOWRD','LOOP','LONG','LOINT','LOG_WRITE','LOGB',
        -            'LOG2','LOG10','LOG','LOCAL','LOC','LL_UPDATEBYNAME','LL_UPDATE','LL_TOSTRING',
        -            'LL_TOFILE','LL_NAME','LL_GETITEM','LL_GETBYNUMBER','LL_FROMFILE','LL_FREE','LL_FINDLAST','LL_FINDBYNAME',
        -            'LL_FINDBYDATA','LL_DELETELIKE','LL_DELETEBYNAME','LL_DELETE','LL_DATABYNAME','LL_DATA','LL_COUNT','LL_ADD',
        -            'LISTBOX','LINE','LIBRARY_EXISTS','LIB','LEN','LEFT$','LEFT','LCASE$',
        -            'LBOUND','LABEL','KILL','JOIN$','ITERATE','ISWINDOW','ISUNICODE','ISTRUE',
        -            'ISODD','ISLIKE','ISFALSE','ISEVEN','IP_TOSTRING','IP_ADDR','INTERNALINFO','INTEGER',
        -            'INT','INSTR','INSIDE','INPUTBOX$','INI_SETKEY','INI_GETSECTIONSLIST','INI_GETSECTIONKEYLIST','INI_GETKEY',
        -            'INET_URLDOWNLOAD','INET_PING','INET_OPENDIALUPDIALOG','INET_GETSTATE','INET_GETREMOTEMACADDRESS','INET_GETIP','INET_GETCONNECTIONMODE','INCR',
        -            'IN','IMAGE','IIF$','IIF','IF','ICRYPTO_TESTSHA1','ICRYPTO_TESTMD5','ICRYPTO_TESTCRC32',
        -            'ICRYPTO_TESTCRC16','ICRYPTO_STRING2ASCII','ICRYPTO_SHA1','ICRYPTO_MD5','ICRYPTO_ENCRYPTRIJNDAEL','ICRYPTO_ENCRYPTRC4','ICRYPTO_DECRYPTRIJNDAEL','ICRYPTO_DECRYPTRC4',
        -            'ICRYPTO_CRC32','ICRYPTO_CRC16','ICRYPTO_BYTEXOR','ICRYPTO_BIN2ASCII','ICRYPTO_ASCII2STRING','ICRYPTO_ASCII2BIN','HOST_ADDR','HOSTNAME_TOIP',
        -            'HOSTIP_TONAME','HIWRD','HIINT','HEX$','HASH','HANDLE','GUIDTXT$','GUID$',
        -            'GRAPHIC','GLVOID','GLUSHORT','GLUINT','GLUBYTE','GLSIZEI','GLSHORT','GLOBAL',
        -            'GLINT','GLFLOAT','GLENUM','GLDOUBLE','GLCLAMPF','GLCLAMPD','GLBYTE','GLBOOLEAN',
        -            'GLBITFIELD','GETWINDOWMULTIKEYSTATE','GETWINDOWKEYSTATE','GETTICKCOUNT','GETS','GETMULTIASYNCKEYSTATE','GETMESSAGE','GETCURRENTINSTANCE',
        -            'GETAT','GETASYNCKEYSTATE','GET','FUNCTION_NPARAMS','FUNCTION_EXISTS','FUNCTION_CPARAMS','FUNCTION','FTP_SETSTRING',
        -            'FTP_SETSERVERDIR','FTP_SETNUMBER','FTP_SETMODE','FTP_SETLOGFILE','FTP_SETLOCALDIR','FTP_QUIT','FTP_PUTFILE','FTP_GETSTRING',
        -            'FTP_GETSERVERDIR','FTP_GETNUMBER','FTP_GETLOCALDIR','FTP_GETLIST','FTP_GETFILE','FTP_GETERRORSTRING','FTP_GETERRORNUMBER','FTP_FINISHED',
        -            'FTP_EXTRACT','FTP_DELFILE','FTP_CONNECT','FTP_COMMAND','FRAME','FRAC','FORMAT$','FOR',
        -            'FONT_LIST','FONT_CREATE','FONT','FOCUS','FLUSH','FIX','FILE_SIZE','FILE_SHELLDELETE',
        -            'FILE_SHELLCOPY','FILE_SETDATETIME','FILE_SEEK','FILE_SAVE','FILE_RENAME','FILE_PUT','FILE_PATHSPLIT','FILE_OPEN',
        -            'FILE_LOF','FILE_LOAD','FILE_LINEPRINT','FILE_LINEINPUT','FILE_KILL','FILE_GETVERSIONSTRING','FILE_GETVERSION','FILE_GETTIME',
        -            'FILE_GETDATETIMESTAMP','FILE_GETDATETIME','FILE_GETDATE','FILE_GET','FILE_EXISTS','FILE_EOF','FILE_COPY','FILE_CLOSE',
        -            'FILE_CHANGED','FILE_APPEND','FACTORIAL','EXTRACT$','EXT','EXPORT','EXP2','EXP10',
        -            'EXP','EXIT','EVAL_STRING','EVAL_SETSTRING','EVAL_SETNUMBER','EVAL_MATH','EVAL_LINKEXT','EVAL_GETSTRING',
        -            'EVAL_GETNUMBER','EVAL_ERRORGETTOKEN','EVAL_ERRORDESCRIPTION','EVAL_ERRORCLEAR','EVAL','ERRCLEAR','ERR','ENGINE_GETCURRENTTOKEN',
        -            'ENDIF','END','ENABLE','ELSEIF','ELSE','ECHO','DWORD','DT_YEAR',
        -            'DT_TIMETOSEC','DT_TIMESUBSECONDS','DT_TIMEFORMAT','DT_TIMEADDSECONDS','DT_SETTIMESEPARATOR','DT_SETDATESEPARATOR','DT_SETDATECENTURY','DT_SECTOTIME',
        -            'DT_SECTODATE','DT_SECOND','DT_MONTH','DT_MINUTE','DT_LASTDAYOFMONTH','DT_ISVALIDDATE','DT_ISLEAPYEAR','DT_HOUR',
        -            'DT_GETWEEKDAYNAME','DT_GETWEEKDAY','DT_GETTIMESTAMP','DT_GETTIMESEPARATOR','DT_GETMONTHNAME','DT_GETDATESEPARATOR','DT_GETDATECENTURY','DT_DAY',
        -            'DT_DATETOSEC','DT_DATETIMESUBSECONDS','DT_DATETIMEADDSECONDS','DT_DATESUBDAYS','DT_DATEFORMAT','DT_DATEDIFF','DT_DATEADDDAYS','DT_COOKIEDATE',
        -            'DRAW','DOUBLE','DOEVENTS','DO','DISABLE','DIR_REMOVE','DIR_MAKEALL','DIR_MAKE',
        -            'DIR_LISTARRAY','DIR_LIST','DIR_ISEMPTY','DIR_ISDIR','DIR_GETCURRENT','DIR_EXISTS','DIR_CHANGEDRIVE','DIR_CHANGE',
        -            'DIM','DICTIONARY_MEMINFO','DICTIONARY_LISTKEYS','DICTIONARY_FREE','DICTIONARY_FIND','DICTIONARY_EXISTS','DICTIONARY_CREATE','DICTIONARY_COUNT',
        -            'DICTIONARY_ADD','DIALOG_STOPEVENTS','DIALOG_SAVEFILE','DIALOG_OPENFILE','DIALOG_GETCONTROL','DIALOG_CHOOSECOLOR','DIALOG_BROWSEFORFOLDER','DIALOG',
        -            'DESKTOP','DESCENDING','DESCEND','DELETEOBJECT','DELETE','DEGTORAD','DECR','DECLARE',
        -            'DATE$','CVWRD','CVS','CVQ','CVL','CVI','CVE','CVDWD',
        -            'CVD','CVCUX','CVCUR','CVBYT','CURRENCY','CUR','CSET$','CSCH',
        -            'CSC','CRYPTO_GETPROVIDERTYPESCOUNT','CRYPTO_GETPROVIDERSCOUNT','CRYPTO_GETDEFAULTPROVIDER','CRYPTO_GENRANDOMSTRING','CRYPTO_ENUMPROVIDERTYPES','CRYPTO_ENUMPROVIDERS','CRYPTO_ENCRYPT',
        -            'CRYPTO_DECRYPT','CREATEFONT','COTH','COTAN','COSH','COS','CONTROL_SETTEXT','CONTROL_GETTEXT',
        -            'CONTROL_GETNUMBER','CONTROL','CONST','CONSOLE_WRITELINE','CONSOLE_WRITE','CONSOLE_WAITKEY','CONSOLE_SHOWWINDOW','CONSOLE_SHOWCURSOR',
        -            'CONSOLE_SETTITLE','CONSOLE_SETTEXTATTRIBUTE','CONSOLE_SETSTDHANDLE','CONSOLE_SETSCREENBUFFERSIZE','CONSOLE_SETPROGRESSBARCHAR','CONSOLE_SETOUTPUTMODE','CONSOLE_SETOUTPUTCP','CONSOLE_SETINPUTMODE',
        -            'CONSOLE_SETFILEAPISTOOEM','CONSOLE_SETFILEAPISTOANSI','CONSOLE_SETCURSORSIZE','CONSOLE_SETCURSORPOSITION','CONSOLE_SETCP','CONSOLE_SETACTIVESCREENBUFFER','CONSOLE_SCROLLWINDOW','CONSOLE_SCROLLBUFFERONEROW',
        -            'CONSOLE_SCROLLBUFFER','CONSOLE_SAVESCREEN','CONSOLE_RESTORESCREEN','CONSOLE_READLINE','CONSOLE_READ','CONSOLE_PROGRESSBAR','CONSOLE_PRINTLINE','CONSOLE_PRINTAT',
        -            'CONSOLE_PRINT','CONSOLE_NORMALSCREEN','CONSOLE_LINE','CONSOLE_INKEYB','CONSOLE_INKEY','CONSOLE_HIDECURSOR','CONSOLE_GETTITLE','CONSOLE_GETTEXTATTRIBUTE',
        -            'CONSOLE_GETSTDHANDLE','CONSOLE_GETSIZEY','CONSOLE_GETSIZEX','CONSOLE_GETPROGRESSBARCHAR','CONSOLE_GETOUTPUTMODE','CONSOLE_GETOUTPUTCP','CONSOLE_GETNUMBEROFMOUSEBUTTONS','CONSOLE_GETINPUTMODE',
        -            'CONSOLE_GETCURSORY','CONSOLE_GETCURSORX','CONSOLE_GETCURSORSIZE','CONSOLE_GETCURRENTFONTINDEX','CONSOLE_GETCP','CONSOLE_GENERATECTRLEVENT','CONSOLE_FULLSCREEN','CONSOLE_FREE',
        -            'CONSOLE_FOREGROUNDRGB','CONSOLE_ENABLECTRLC','CONSOLE_DISABLECTRLC','CONSOLE_CREATESCREENBUFFER','CONSOLE_COLORAT','CONSOLE_CLS','CONSOLE_BOX','CONSOLE_BACKGROUNDRGB',
        -            'CONSOLE_ATTACH','CONSOLE_AREFILEAPISANSI','CONSOLE_ALLOC','COM_VARIANTINIT','COM_VARIANTCOPY','COM_VARIANTCLEAR','COM_SUCCEEDED','COM_STRINGFROMCLSID',
        -            'COM_RELEASE','COM_QUERYINTERFACE','COM_PROGIDFROMCLSID','COM_ISEQUALIID','COM_ISEQUALGUID','COM_ISEQUALCLSID','COM_GETOBJECT','COM_GETENGINEGUID',
        -            'COM_EXECUTE','COM_DISPLAYERROR','COM_CREATEOBJECT','COM_CLSIDFROMSTRING','COM_CLSIDFROMPROGID','COM_BUILDVARIANT','COMBOBOX','COMBINATIONS',
        -            'COLOR','CLIPBOARD_SETTEXT','CLIPBOARD_GETTEXT','CLIENT','CLEARMESSAGES','CHR$','CHOOSE$','CHOOSE',
        -            'CHECKBOX','CHECK3STATE','CHECK','CGI_WRITELOGFILE','CGI_WRITE','CGI_URLDECODESTRING','CGI_UPLOADFILESTIME','CGI_UPLOADFILESNUMBER',
        -            'CGI_UPLOADFILESIZE','CGI_STARTSESSION','CGI_SETSESSIONVARIABLE','CGI_RESETDEFAULTSETTINGS','CGI_REMOVESPECIALCHARSPREFIX','CGI_REMOVEQUOTE','CGI_READ','CGI_LOADCONFIGFILE',
        -            'CGI_HEADER','CGI_GETSESSIONVARIABLE','CGI_GETREQUESTMETHOD','CGI_GETQUERYVALUE','CGI_GETCURRENTSESSION','CGI_GETCURRENTGUID','CGI_ENVIRON','CGI_CFGSETOPTION',
        -            'CGI_CFGGETOPTION','CGI_ADDSPECIALCHARSPREFIX','CGI_ADDQUOTE','CEIL','CASE','CALL','BYVAL','BYTE',
        -            'BYREF','BYCMD','BUTTON','BUNDLE_SETSCRIPTPARAMETERS','BUNDLE_SETSCRIPTNAME','BUNDLE_SETFLAGOBFUSCATEMAINSCRIPT','BUNDLE_SETFLAGDELETEAFTERRUN','BUNDLE_SETFLAGCOMPRESSALLFILES',
        -            'BUNDLE_SETFLAGASKBEFOREEXTRACT','BUNDLE_SETEXTRACTIONFOLDER','BUNDLE_SETCREATIONFOLDER','BUNDLE_SETBUNDLENAME','BUNDLE_RESET','BUNDLE_MAKE','BUNDLE_BUILDER','BUNDLE_ADDFOLDER',
        -            'BUNDLE_ADDFILE','BOUNDCHECK','BIN$','BIFF_WRITETEXT','BIFF_WRITENUMBER','BIFF_WRITEDATE','BIFF_SETROWHEIGHT','BIFF_SETCOLWIDTH',
        -            'BIFF_SETBUFFER','BIFF_CREATEFILE','BIFF_CLOSEFILE','BETWEEN','BEEP','BAR','ATTACH','ATN',
        -            'AT','ASSIGN','ASCIZ','ASCIIZ','ASCII2UNICODE','ASCENDING','ASCEND','ASC',
        -            'AS','ARRAY','ARCTANH','ARCSINH','ARCSIN','ARCSECH','ARCSEC','ARCCSCH',
        -            'ARCCSC','ARCCOTH','ARCCOT','ARCCOSH','ARCCOS','APP_TIMER','APP_SOURCEPATH','APP_SOURCENAME',
        -            'APP_SOURCEFULLNAME','APP_PATH','APP_NAME','APP_LISTVARIABLES','APP_LISTKEYWORDS','APP_LISTFUNCTIONS','APP_LISTEQUATES','APP_INCLUDEPATH',
        -            'APP_GETMODULEFULLPATH','APP_COUNTER','APPEND','ANY','ANIMATE_STOP','ANIMATE_PLAY','ANIMATE_OPEN','AND',
        -            'ALIAS','ALERT','ADD','ACODE$','ABS','%DEF','#MINVERSION','#IF',
        -            '#ENDIF','#ELSEIF','#ELSE','#DEFAULT','#DEF','SQLWRITEPRIVATEPROFILESTRING','SQLWRITEFILEDSN','SQLWRITEDSNTOINI',
        -            'SQLVALIDDSN','SQLTRANSACT','SQLTABLES','SQLTABLEPRIVILEGES','SQLSTATISTICS','SQLSPECIALCOLUMNS','SQLSETSTMTOPTION','SQLSETSTMTATTR',
        -            'SQLSETSCROLLOPTIONS','SQLSETPOS','SQLSETPARAM','SQLSETENVATTR','SQLSETDESCREC','SQLSETDESCFIELD','SQLSETCURSORNAME','SQLSETCONNECTOPTION',
        -            'SQLSETCONNECTATTR','SQLSETCONFIGMODE','SQLROWCOUNT','SQLREMOVETRANSLATOR','SQLREMOVEDSNFROMINI','SQLREMOVEDRIVERMANAGER','SQLREMOVEDRIVER','SQLREADFILEDSN',
        -            'SQLPUTDATA','SQLPROCEDURES','SQLPROCEDURECOLUMNS','SQLPRIMARYKEYS','SQLPREPARE','SQLPOSTINSTALLERERROR','SQLPARAMOPTIONS','SQLPARAMDATA',
        -            'SQLNUMRESULTCOLS','SQLNUMPARAMS','SQLNATIVESQL','SQLMORERESULTS','SQLMANAGEDATASOURCES','SQLINSTALLTRANSLATOREX','SQLINSTALLERERROR','SQLINSTALLDRIVERMANAGER',
        -            'SQLINSTALLDRIVEREX','SQLGETTYPEINFO','SQLGETTRANSLATOR','SQLGETSTMTOPTION','SQLGETSTMTATTR','SQLGETPRIVATEPROFILESTRING','SQLGETINSTALLEDDRIVERS','SQLGETINFO',
        -            'SQLGETFUNCTIONS','SQLGETENVATTR','SQLGETDIAGREC','SQLGETDIAGFIELD','SQLGETDESCREC','SQLGETDESCFIELD','SQLGETDATA','SQLGETCURSORNAME',
        -            'SQLGETCONNECTOPTION','SQLGETCONNECTATTR','SQLGETCONFIGMODE','SQLFREESTMT','SQLFREEHANDLE','SQLFREEENV','SQLFREECONNECT','SQLFOREIGNKEYS',
        -            'SQLFETCHSCROLL','SQLFETCH','SQLEXTENDEDFETCH','SQLEXECUTE','SQLEXECDIRECT','SQLERROR','SQLENDTRAN','SQLDRIVERS',
        -            'SQLDRIVERCONNECT','SQLDISCONNECT','SQLDESCRIBEPARAM','SQLDESCRIBECOL','SQLDATASOURCES','SQLCREATEDATASOURCE','SQLCOPYDESC','SQLCONNECT',
        -            'SQLCONFIGDRIVER','SQLCONFIGDATASOURCE','SQLCOLUMNS','SQLCOLUMNPRIVILEGES','SQLCOLATTRIBUTES','SQLCOLATTRIBUTE','SQLCLOSECURSOR','SQLCANCEL',
        -            'SQLBULKOPERATIONS','SQLBROWSECONNECT','SQLBINDPARAMETER','SQLBINDPARAM','SQLBINDCOL','SQLALLOCSTMT','SQLALLOCHANDLE','SQLALLOCENV',
        -            'SQLALLOCCONNECT','ODBCWRONGDRIVER','ODBCWRITEPRIVATEPROFILESTRING','ODBCWRITEFILEDSN','ODBCWRITEDSNTOINI','ODBCVALIDDSN','ODBCUPDATERECORD','ODBCUPDATEBYBOOKMARK',
        -            'ODBCUNLOCKRECORD','ODBCUNBINDCOLUMNS','ODBCUNBINDCOL','ODBCTABLESCOUNT','ODBCTABLES','ODBCTABLEPRIVILEGESCOUNT','ODBCTABLEPRIVILEGES','ODBCSUPPORTS',
        -            'ODBCSTATTABLESCHEMANAME','ODBCSTATTABLEPAGES','ODBCSTATTABLECATALOGNAME','ODBCSTATTABLECARDINALITY','ODBCSTATISTICSCOUNT','ODBCSTATISTICS','ODBCSTATINDEXSORTSEQUENCE','ODBCSTATINDEXSCHEMANAME',
        -            'ODBCSTATINDEXQUALIFIER','ODBCSTATINDEXPAGES','ODBCSTATINDEXFILTERCONDITION','ODBCSTATINDEXCOLUMNORDINALPOSITION','ODBCSTATINDEXCOLUMNNAME','ODBCSTATINDEXCATALOGNAME','ODBCSTATINDEXCARDINALITY','ODBCSTATINDEXALLOWDUPLICATES',
        -            'ODBCSPECIALCOLUMNSCOUNT','ODBCSPECIALCOLUMNS','ODBCSETTXNISOLATION','ODBCSETTRANSLATELIB','ODBCSETTRACEFILE','ODBCSETTRACE','ODBCSETSTMTUSEBOOKMARKS','ODBCSETSTMTSIMULATECURSOR',
        -            'ODBCSETSTMTROWSTATUSPTR','ODBCSETSTMTROWSFETCHEDPTR','ODBCSETSTMTROWOPERATIONPTR','ODBCSETSTMTROWBINDTYPE','ODBCSETSTMTROWBINDOFFSETPTR','ODBCSETSTMTROWARRAYSIZE','ODBCSETSTMTRETRIEVEDATA','ODBCSETSTMTQUERYTIMEOUT',
        -            'ODBCSETSTMTPARAMSTATUSPTR','ODBCSETSTMTPARAMSPROCESSEDPTR','ODBCSETSTMTPARAMSETSIZE','ODBCSETSTMTPARAMOPERATIONPTR','ODBCSETSTMTPARAMBINDTYPE','ODBCSETSTMTPARAMBINDOFFSETPTR','ODBCSETSTMTNOSCAN','ODBCSETSTMTMETADATAID',
        -            'ODBCSETSTMTMAXROWS','ODBCSETSTMTMAXLENGTH','ODBCSETSTMTKEYSETSIZE','ODBCSETSTMTFETCHBOOKMARKPTR','ODBCSETSTMTENABLEAUTOIPD','ODBCSETSTMTCURSORTYPE','ODBCSETSTMTCURSORSENSITIVITY','ODBCSETSTMTCURSORSCROLLABLE',
        -            'ODBCSETSTMTCONCURRENCY','ODBCSETSTMTATTR','ODBCSETSTMTASYNCENABLE','ODBCSETSTMTAPPROWDESC','ODBCSETSTMTAPPPARAMDESC','ODBCSETSTATICCURSOR','ODBCSETROWVERCONCURRENCY','ODBCSETRESULT',
        -            'ODBCSETRELATIVEPOSITION','ODBCSETREADONLYCONCURRENCY','ODBCSETQUIETMODE','ODBCSETPOSITION','ODBCSETPOS','ODBCSETPACKETMODE','ODBCSETOPTIMISTICCONCURRENCY','ODBCSETODBCCURSORS',
        -            'ODBCSETMULTIUSERKEYSETCURSOR','ODBCSETMETADATAID','ODBCSETLOGINTIMEOUT','ODBCSETLOCKCONCURRENCY','ODBCSETKEYSETDRIVENCURSOR','ODBCSETFORWARDONLYCURSOR','ODBCSETENVOUTPUTNTS','ODBCSETENVODBCVERSION',
        -            'ODBCSETENVCPMATCH','ODBCSETENVCONNECTIONPOOLING','ODBCSETENVATTR','ODBCSETDYNAMICCURSOR','ODBCSETDESCREC','ODBCSETDESCFIELD','ODBCSETCURSORTYPE','ODBCSETCURSORSENSITIVITY',
        -            'ODBCSETCURSORSCROLLABILITY','ODBCSETCURSORNAME','ODBCSETCURSORLOCKTYPE','ODBCSETCURSORKEYSETSIZE','ODBCSETCURSORCONCURRENCY','ODBCSETCURRENTCATALOG','ODBCSETCONNECTIONTIMEOUT','ODBCSETCONNECTATTR',
        -            'ODBCSETCONFIGMODE','ODBCSETCONCURVALUESCONCURRENCY','ODBCSETAUTOCOMMITON','ODBCSETAUTOCOMMITOFF','ODBCSETAUTOCOMMIT','ODBCSETASYNCENABLE','ODBCSETACCESSMODE','ODBCSETABSOLUTEPOSITION',
        -            'ODBCROWCOUNT','ODBCROLLBACKTRAN','ODBCROLLBACKENVTRAN','ODBCROLLBACKDBCTRAN','ODBCRESULT','ODBCRESETPARAMS','ODBCREMOVETRANSLATOR','ODBCREMOVEDSNFROMINI',
        -            'ODBCREMOVEDRIVERMANAGER','ODBCREMOVEDRIVER','ODBCREFRESHRECORD','ODBCRECORDCOUNT','ODBCREADFILEDSN','ODBCQUOTEDIDENTIFIERCASE','ODBCPUTDATA','ODBCPROCEDURESCOUNT',
        -            'ODBCPROCEDURES','ODBCPROCEDURECOLUMNSCOUNT','ODBCPROCEDURECOLUMNS','ODBCPRIMARYKEYSCOUNT','ODBCPRIMARYKEYS','ODBCPREPARE','ODBCPOSTINSTALLERERROR','ODBCPARAMDATA',
        -            'ODBCOPENSTMT','ODBCOPENCONNECTION','ODBCNUMRESULTCOLS','ODBCNUMPARAMS','ODBCNATIVESQL','ODBCMOVEPREVIOUS','ODBCMOVENEXT','ODBCMOVELAST',
        -            'ODBCMOVEFIRST','ODBCMOVE','ODBCMORERESULTS','ODBCMANAGEDATASOURCES','ODBCLOCKRECORD','ODBCINSTALLTRANSLATOREX','ODBCINSTALLERERROR','ODBCINSTALLDRIVERMANAGER',
        -            'ODBCINSTALLDRIVEREX','ODBCGETXOPENCLIYEAR','ODBCGETUSERNAME','ODBCGETUNION','ODBCGETTYPEINFOCOUNT','ODBCGETTYPEINFO','ODBCGETTXNISOLATIONOPTION','ODBCGETTXNISOLATION',
        -            'ODBCGETTXNCAPABLE','ODBCGETTRANSLATOR','ODBCGETTRANSLATELIB','ODBCGETTRACEFILE','ODBCGETTRACE','ODBCGETTIMEDATEFUNCTIONS','ODBCGETTIMEDATEDIFFINTERVALS','ODBCGETTIMEDATEADDINTERVALS',
        -            'ODBCGETTABLETERM','ODBCGETSYSTEMFUNCTIONS','ODBCGETSUBQUERIES','ODBCGETSTRINGFUNCTIONS','ODBCGETSTMTUSEBOOKMARKS','ODBCGETSTMTSQLSTATE','ODBCGETSTMTSIMULATECURSOR','ODBCGETSTMTROWSTATUSPTR',
        -            'ODBCGETSTMTROWSFETCHEDPTR','ODBCGETSTMTROWOPERATIONPTR','ODBCGETSTMTROWNUMBER','ODBCGETSTMTROWBINDTYPE','ODBCGETSTMTROWBINDOFFSETPTR','ODBCGETSTMTROWARRAYSIZE','ODBCGETSTMTRETRIEVEDATA','ODBCGETSTMTQUERYTIMEOUT',
        -            'ODBCGETSTMTPARAMSTATUSPTR','ODBCGETSTMTPARAMSPROCESSEDPTR','ODBCGETSTMTPARAMSETSIZE','ODBCGETSTMTPARAMOPERATIONPTR','ODBCGETSTMTPARAMBINDTYPE','ODBCGETSTMTPARAMBINDOFFSETPTR','ODBCGETSTMTNOSCAN','ODBCGETSTMTMETADATAID',
        -            'ODBCGETSTMTMAXROWS','ODBCGETSTMTMAXLENGTH','ODBCGETSTMTKEYSETSIZE','ODBCGETSTMTIMPROWDESC','ODBCGETSTMTIMPPARAMDESC','ODBCGETSTMTFETCHBOOKMARKPTR','ODBCGETSTMTERRORINFO','ODBCGETSTMTENABLEAUTOIPD',
        -            'ODBCGETSTMTCURSORTYPE','ODBCGETSTMTCURSORSENSITIVITY','ODBCGETSTMTCURSORSCROLLABLE','ODBCGETSTMTCONCURRENCY','ODBCGETSTMTATTR','ODBCGETSTMTASYNCENABLE','ODBCGETSTMTAPPROWDESC','ODBCGETSTMTAPPPARAMDESC',
        -            'ODBCGETSTATICCURSORATTRIBUTES2','ODBCGETSTATICCURSORATTRIBUTES1','ODBCGETSTATEMENTSQLSTATE','ODBCGETSTATEMENTERRORINFO','ODBCGETSTANDARDCLICONFORMANCE','ODBCGETSQLSTATE','ODBCGETSQLCONFORMANCE','ODBCGETSQL92VALUEEXPRESSIONS',
        -            'ODBCGETSQL92STRINGFUNCTIONS','ODBCGETSQL92ROWVALUECONSTRUCTOR','ODBCGETSQL92REVOKE','ODBCGETSQL92RELATIONALJOINOPERATORS','ODBCGETSQL92PREDICATES','ODBCGETSQL92NUMERICVALUEFUNCTIONS','ODBCGETSQL92GRANT','ODBCGETSQL92FOREIGNKEYUPDATERULE',
        -            'ODBCGETSQL92FOREIGNKEYDELETERULE','ODBCGETSQL92DATETIMEFUNCTIONS','ODBCGETSPECIALCHARACTERS','ODBCGETSERVERNAME','ODBCGETSEARCHPATTERNESCAPE','ODBCGETSCROLLOPTIONS','ODBCGETSCHEMAUSAGE','ODBCGETSCHEMATERM',
        -            'ODBCGETROWUPDATES','ODBCGETQUIETMODE','ODBCGETPROCEDURETERM','ODBCGETPROCEDURESSUPPORT','ODBCGETPRIVATEPROFILESTRING','ODBCGETPOSOPERATIONS','ODBCGETPARAMARRAYSELECTS','ODBCGETPARAMARRAYROWCOUNTS',
        -            'ODBCGETPACKETMODE','ODBCGETOUTERJOINS','ODBCGETORDERBYCOLUMNSINSELECT','ODBCGETOJCAPABILITIES','ODBCGETODBCVER','ODBCGETODBCINTERFACECONFORMANCE','ODBCGETODBCCURSORS','ODBCGETNUMERICFUNCTIONS',
        -            'ODBCGETNULLCOLLATION','ODBCGETNONNULLABLECOLUMNS','ODBCGETNEEDLONGDATALEN','ODBCGETMULTRESULTSETS','ODBCGETMULTIPLEACTIVETXN','ODBCGETMETADATAID','ODBCGETMAXUSERNAMELEN','ODBCGETMAXTABLESINSELECT',
        -            'ODBCGETMAXTABLENAMELEN','ODBCGETMAXSTATEMENTLEN','ODBCGETMAXSCHEMANAMELEN','ODBCGETMAXROWSIZEINCLUDESLONG','ODBCGETMAXROWSIZE','ODBCGETMAXPROCEDURENAMELEN','ODBCGETMAXINDEXSIZE','ODBCGETMAXIDENTIFIERLEN',
        -            'ODBCGETMAXDRIVERCONNECTIONS','ODBCGETMAXCURSORNAMELEN','ODBCGETMAXCONCURRENTACTIVITIES','ODBCGETMAXCOLUMNSINTABLE','ODBCGETMAXCOLUMNSINSELECT','ODBCGETMAXCOLUMNSINORDERBY','ODBCGETMAXCOLUMNSININDEX','ODBCGETMAXCOLUMNSINGROUPBY',
        -            'ODBCGETMAXCOLUMNNAMELEN','ODBCGETMAXCHARLITERALLEN','ODBCGETMAXCATALOGNAMELEN','ODBCGETMAXBINARYLITERALLEN','ODBCGETMAXASYNCCONCURRENTSTATEMENTS','ODBCGETLONGVARCHARDATABYCOLNAME','ODBCGETLONGVARCHARDATA','ODBCGETLOGINTIMEOUT',
        -            'ODBCGETLIKEESCAPECLAUSE','ODBCGETKEYWORDS','ODBCGETKEYSETCURSORATTRIBUTES2','ODBCGETKEYSETCURSORATTRIBUTES1','ODBCGETINTEGRITY','ODBCGETINSTALLERERRORMESSAGE','ODBCGETINSTALLERERRORCODE','ODBCGETINSTALLEDDRIVERS',
        -            'ODBCGETINSERTSTATEMENT','ODBCGETINFOSTR','ODBCGETINFOSCHEMAVIEWS','ODBCGETINFOLONG','ODBCGETINFOINT','ODBCGETINFO','ODBCGETINDEXKEYWORDS','ODBCGETIMPROWDESCREC',
        -            'ODBCGETIMPROWDESCFIELDTYPE','ODBCGETIMPROWDESCFIELDSCALE','ODBCGETIMPROWDESCFIELDPRECISION','ODBCGETIMPROWDESCFIELDOCTETLENGTH','ODBCGETIMPROWDESCFIELDNULLABLE','ODBCGETIMPROWDESCFIELDNAME','ODBCGETIMPROWDESCFIELD','ODBCGETIMPPARAMDESCREC',
        -            'ODBCGETIMPPARAMDESCFIELDTYPE','ODBCGETIMPPARAMDESCFIELDSCALE','ODBCGETIMPPARAMDESCFIELDPRECISION','ODBCGETIMPPARAMDESCFIELDOCTETLENGTH','ODBCGETIMPPARAMDESCFIELDNULLABLE','ODBCGETIMPPARAMDESCFIELDNAME','ODBCGETIMPPARAMDESCFIELD','ODBCGETIDENTIFIERQUOTECHAR',
        -            'ODBCGETIDENTIFIERCASE','ODBCGETGROUPBY','ODBCGETFUNCTIONS','ODBCGETFORWARDONLYCURSORATTRIBUTES2','ODBCGETFORWARDONLYCURSORATTRIBUTES1','ODBCGETFILEUSAGE','ODBCGETEXPRESSIONSINORDERBY','ODBCGETERRORINFO',
        -            'ODBCGETENVSQLSTATE','ODBCGETENVOUTPUTNTS','ODBCGETENVODBCVERSION','ODBCGETENVIRONMENTSQLSTATE','ODBCGETENVIRONMENTERRORINFO','ODBCGETENVERRORINFO','ODBCGETENVCPMATCH','ODBCGETENVCONNECTIONPOOLING',
        -            'ODBCGETENVATTR','ODBCGETDYNAMICCURSORATTRIBUTES2','ODBCGETDYNAMICCURSORATTRIBUTES1','ODBCGETDROPVIEW','ODBCGETDROPTRANSLATION','ODBCGETDROPTABLE','ODBCGETDROPSCHEMA','ODBCGETDROPDOMAIN',
        -            'ODBCGETDROPCOLLATION','ODBCGETDROPCHARACTERSET','ODBCGETDROPASSERTION','ODBCGETDRIVERVER','ODBCGETDRIVERODBCVER','ODBCGETDRIVERNAME','ODBCGETDRIVERMANAGERINSTALLPATH','ODBCGETDRIVERHLIB',
        -            'ODBCGETDRIVERHENV','ODBCGETDRIVERHDBC','ODBCGETDMVERMINOR','ODBCGETDMVERMAJOR','ODBCGETDMVER','ODBCGETDIAGREC','ODBCGETDIAGFIELD','ODBCGETDESCSQLSTATE',
        -            'ODBCGETDESCRIPTORSQLSTATE','ODBCGETDESCRIPTORERRORINFO','ODBCGETDESCRIBEPARAMETER','ODBCGETDESCREC','ODBCGETDESCFIELD','ODBCGETDESCERRORINFO','ODBCGETDEFAULTTXNISOLATION','ODBCGETDDLINDEX',
        -            'ODBCGETDBMSVER','ODBCGETDBMSNAME','ODBCGETDBCSQLSTATE','ODBCGETDBCERRORINFO','ODBCGETDATETIMELITERALS','ODBCGETDATASTRINGBYCOLNAME','ODBCGETDATASTRING','ODBCGETDATASOURCEREADONLY',
        -            'ODBCGETDATASOURCENAME','ODBCGETDATAEXTENSIONS','ODBCGETDATABASENAME','ODBCGETDATA','ODBCGETCURSORTYPE','ODBCGETCURSORSENSITIVITYSUPPORT','ODBCGETCURSORSENSITIVITY','ODBCGETCURSORSCROLLABILITY',
        -            'ODBCGETCURSORROLLBACKBEHAVIOR','ODBCGETCURSORNAME','ODBCGETCURSORLOCKTYPE','ODBCGETCURSORKEYSETSIZE','ODBCGETCURSORCONCURRENCY','ODBCGETCURSORCOMMITBEHAVIOR','ODBCGETCURRENTCATALOG','ODBCGETCREATEVIEW',
        -            'ODBCGETCREATETRANSLATION','ODBCGETCREATETABLE','ODBCGETCREATESCHEMA','ODBCGETCREATEDOMAIN','ODBCGETCREATECOLLATION','ODBCGETCREATECHARACTERSET','ODBCGETCREATEASSERTION','ODBCGETCORRELATIONNAME',
        -            'ODBCGETCONVERTVARCHAR','ODBCGETCONVERTVARBINARY','ODBCGETCONVERTTINYINT','ODBCGETCONVERTTIMESTAMP','ODBCGETCONVERTTIME','ODBCGETCONVERTSMALLINT','ODBCGETCONVERTREAL','ODBCGETCONVERTNUMERIC',
        -            'ODBCGETCONVERTLONGVARCHAR','ODBCGETCONVERTLONGVARBINARY','ODBCGETCONVERTINTERVALYEARMONTH','ODBCGETCONVERTINTERVALDAYTIME','ODBCGETCONVERTINTEGER','ODBCGETCONVERTFUNCTIONS','ODBCGETCONVERTFLOAT','ODBCGETCONVERTDOUBLE',
        -            'ODBCGETCONVERTDECIMAL','ODBCGETCONVERTDATE','ODBCGETCONVERTCHAR','ODBCGETCONVERTBIT','ODBCGETCONVERTBINARY','ODBCGETCONVERTBIGINT','ODBCGETCONNECTIONTIMEOUT','ODBCGETCONNECTIONSQLSTATE',
        -            'ODBCGETCONNECTIONERRORINFO','ODBCGETCONNECTIONDEAD','ODBCGETCONNECTATTR','ODBCGETCONFIGMODE','ODBCGETCONCATNULLBEHAVIOR','ODBCGETCOLUMNALIAS','ODBCGETCOLLATIONSEQ','ODBCGETCATALOGUSAGE',
        -            'ODBCGETCATALOGTERM','ODBCGETCATALOGNAMESEPARATOR','ODBCGETCATALOGNAME','ODBCGETCATALOGLOCATION','ODBCGETBOOKMARKPERSISTENCE','ODBCGETBATCHSUPPORT','ODBCGETBATCHROWCOUNT','ODBCGETAUTOIPD',
        -            'ODBCGETAUTOCOMMIT','ODBCGETASYNCMODE','ODBCGETASYNCENABLE','ODBCGETALTERTABLE','ODBCGETALTERDOMAIN','ODBCGETAGGREGATEFUNCTIONS','ODBCGETACTIVEENVIRONMENTS','ODBCGETACCESSMODE',
        -            'ODBCGETACCESSIBLETABLES','ODBCGETACCESSIBLEPROCEDURES','ODBCFREESTMT','ODBCFREEHANDLE','ODBCFREEENV','ODBCFREEDESC','ODBCFREEDBC','ODBCFREECONNECT',
        -            'ODBCFOREIGNKEYSCOUNT','ODBCFOREIGNKEYS','ODBCFETCHSCROLL','ODBCFETCHBYBOOKMARK','ODBCFETCH','ODBCEXTENDEDFETCH','ODBCEXECUTE','ODBCEXECDIRECT',
        -            'ODBCERROR','ODBCEOF','ODBCENDTRAN','ODBCDRIVERSCOUNT','ODBCDRIVERS','ODBCDRIVERCONNECT','ODBCDISCONNECT','ODBCDESCRIBEPARAM',
        -            'ODBCDESCRIBECOL','ODBCDELETERECORD','ODBCDELETEBYBOOKMARK','ODBCDATASOURCES','ODBCCREATEDATASOURCE','ODBCCOPYDESC','ODBCCONNECTIONISDEAD','ODBCCONNECTIONISALIVE',
        -            'ODBCCONNECT','ODBCCONFIGDRIVER','ODBCCONFIGDATASOURCE','ODBCCOMMITTRAN','ODBCCOMMITENVTRAN','ODBCCOMMITDBCTRAN','ODBCCOLUPDATABLE','ODBCCOLUNSIGNED',
        -            'ODBCCOLUNNAMED','ODBCCOLUMNSCOUNT','ODBCCOLUMNS','ODBCCOLUMNPRIVILEGESCOUNT','ODBCCOLUMNPRIVILEGES','ODBCCOLUMN','ODBCCOLTYPENAME','ODBCCOLTYPE',
        -            'ODBCCOLTABLENAME','ODBCCOLSEARCHABLE','ODBCCOLSCHEMANAME','ODBCCOLSCALE','ODBCCOLPRECISION','ODBCCOLOCTETLENGTH','ODBCCOLNUMPRECRADIX','ODBCCOLNULLABLE',
        -            'ODBCCOLNAME','ODBCCOLLOCALTYPENAME','ODBCCOLLITERALSUFFIX','ODBCCOLLITERALPREFIX','ODBCCOLLENGTH','ODBCCOLLABEL','ODBCCOLISNULL','ODBCCOLFIXEDPRECSCALE',
        -            'ODBCCOLDISPLAYSIZE','ODBCCOLCOUNT','ODBCCOLCONCISETYPE','ODBCCOLCATALOGNAME','ODBCCOLCASESENSITIVE','ODBCCOLBASETABLENAME','ODBCCOLBASECOLUMNNAME','ODBCCOLAUTOUNIQUEVALUE',
        -            'ODBCCOLATTRIBUTE','ODBCCLOSESTMTCURSOR','ODBCCLOSESTMT','ODBCCLOSECURSOR','ODBCCLOSECONNECTION','ODBCCLEARRESULT','ODBCCANCEL','ODBCBULKOPERATIONS',
        -            'ODBCBROWSECONNECT','ODBCBINDPARAMETER','ODBCBINDCOLTOWORD','ODBCBINDCOLTOTIMESTAMP','ODBCBINDCOLTOTIME','ODBCBINDCOLTOSTRING','ODBCBINDCOLTOSINGLE','ODBCBINDCOLTOQUAD',
        -            'ODBCBINDCOLTONUMERIC','ODBCBINDCOLTOLONG','ODBCBINDCOLTOINTEGER','ODBCBINDCOLTODWORD','ODBCBINDCOLTODOUBLE','ODBCBINDCOLTODECIMAL','ODBCBINDCOLTODATE','ODBCBINDCOLTOCURRENCY',
        -            'ODBCBINDCOLTOBYTE','ODBCBINDCOLTOBIT','ODBCBINDCOLTOBINARY','ODBCBINDCOL','ODBCALLOCSTMT','ODBCALLOCHANDLE','ODBCALLOCENV','ODBCALLOCDESC',
        -            'ODBCALLOCDBC','ODBCALLOCCONNECT','ODBCADDRECORD','GLVIEWPORT','GLVERTEXPOINTER','GLVERTEX4SV','GLVERTEX4S','GLVERTEX4IV',
        -            'GLVERTEX4I','GLVERTEX4FV','GLVERTEX4F','GLVERTEX4DV','GLVERTEX4D','GLVERTEX3SV','GLVERTEX3S','GLVERTEX3IV',
        -            'GLVERTEX3I','GLVERTEX3FV','GLVERTEX3F','GLVERTEX3DV','GLVERTEX3D','GLVERTEX2SV','GLVERTEX2S','GLVERTEX2IV',
        -            'GLVERTEX2I','GLVERTEX2FV','GLVERTEX2F','GLVERTEX2DV','GLVERTEX2D','GLUUNPROJECT','GLUTESSVERTEX','GLUTESSPROPERTY',
        -            'GLUTESSNORMAL','GLUTESSENDPOLYGON','GLUTESSENDCONTOUR','GLUTESSCALLBACK','GLUTESSBEGINPOLYGON','GLUTESSBEGINCONTOUR','GLUSPHERE','GLUSCALEIMAGE',
        -            'GLUQUADRICTEXTURE','GLUQUADRICORIENTATION','GLUQUADRICNORMALS','GLUQUADRICDRAWSTYLE','GLUQUADRICCALLBACK','GLUPWLCURVE','GLUPROJECT','GLUPICKMATRIX',
        -            'GLUPERSPECTIVE','GLUPARTIALDISK','GLUORTHO2D','GLUNURBSSURFACE','GLUNURBSPROPERTY','GLUNURBSCURVE','GLUNURBSCALLBACK','GLUNEXTCONTOUR',
        -            'GLUNEWTESS','GLUNEWQUADRIC','GLUNEWNURBSRENDERER','GLULOOKAT','GLULOADSAMPLINGMATRICES','GLUGETTESSPROPERTY','GLUGETSTRING','GLUGETNURBSPROPERTY',
        -            'GLUERRORSTRING','GLUENDTRIM','GLUENDSURFACE','GLUENDPOLYGON','GLUENDCURVE','GLUDISK','GLUDELETETESS','GLUDELETEQUADRIC',
        -            'GLUDELETENURBSRENDERER','GLUCYLINDER','GLUBUILD2DMIPMAPS','GLUBUILD1DMIPMAPS','GLUBEGINTRIM','GLUBEGINSURFACE','GLUBEGINPOLYGON','GLUBEGINCURVE',
        -            'GLTRANSLATEF','GLTRANSLATED','GLTEXSUBIMAGE2D','GLTEXSUBIMAGE1D','GLTEXPARAMETERIV','GLTEXPARAMETERI','GLTEXPARAMETERFV','GLTEXPARAMETERF',
        -            'GLTEXIMAGE2D','GLTEXIMAGE1D','GLTEXGENIV','GLTEXGENI','GLTEXGENFV','GLTEXGENF','GLTEXGENDV','GLTEXGEND',
        -            'GLTEXENVIV','GLTEXENVI','GLTEXENVFV','GLTEXENVF','GLTEXCOORDPOINTER','GLTEXCOORD4SV','GLTEXCOORD4S','GLTEXCOORD4IV',
        -            'GLTEXCOORD4I','GLTEXCOORD4FV','GLTEXCOORD4F','GLTEXCOORD4DV','GLTEXCOORD4D','GLTEXCOORD3SV','GLTEXCOORD3S','GLTEXCOORD3IV',
        -            'GLTEXCOORD3I','GLTEXCOORD3FV','GLTEXCOORD3F','GLTEXCOORD3DV','GLTEXCOORD3D','GLTEXCOORD2SV','GLTEXCOORD2S','GLTEXCOORD2IV',
        -            'GLTEXCOORD2I','GLTEXCOORD2FV','GLTEXCOORD2F','GLTEXCOORD2DV','GLTEXCOORD2D','GLTEXCOORD1SV','GLTEXCOORD1S','GLTEXCOORD1IV',
        -            'GLTEXCOORD1I','GLTEXCOORD1FV','GLTEXCOORD1F','GLTEXCOORD1DV','GLTEXCOORD1D','GLSTENCILOP','GLSTENCILMASK','GLSTENCILFUNC',
        -            'GLSHADEMODEL','GLSELECTBUFFER','GLSCISSOR','GLSCALEF','GLSCALED','GLROTATEF','GLROTATED','GLRENDERMODE',
        -            'GLRECTSV','GLRECTS','GLRECTIV','GLRECTI','GLRECTFV','GLRECTF','GLRECTDV','GLRECTD',
        -            'GLREADPIXELS','GLREADBUFFER','GLRASTERPOS4SV','GLRASTERPOS4S','GLRASTERPOS4IV','GLRASTERPOS4I','GLRASTERPOS4FV','GLRASTERPOS4F',
        -            'GLRASTERPOS4DV','GLRASTERPOS4D','GLRASTERPOS3SV','GLRASTERPOS3S','GLRASTERPOS3IV','GLRASTERPOS3I','GLRASTERPOS3FV','GLRASTERPOS3F',
        -            'GLRASTERPOS3DV','GLRASTERPOS3D','GLRASTERPOS2SV','GLRASTERPOS2S','GLRASTERPOS2IV','GLRASTERPOS2I','GLRASTERPOS2FV','GLRASTERPOS2F',
        -            'GLRASTERPOS2DV','GLRASTERPOS2D','GLPUSHNAME','GLPUSHMATRIX','GLPUSHCLIENTATTRIB','GLPUSHATTRIB','GLPRIORITIZETEXTURES','GLPOPNAME',
        -            'GLPOPMATRIX','GLPOPCLIENTATTRIB','GLPOPATTRIB','GLPOLYGONSTIPPLE','GLPOLYGONOFFSET','GLPOLYGONMODE','GLPOINTSIZE','GLPIXELZOOM',
        -            'GLPIXELTRANSFERI','GLPIXELTRANSFERF','GLPIXELSTOREI','GLPIXELSTOREF','GLPIXELMAPUSV','GLPIXELMAPUIV','GLPIXELMAPFV','GLPASSTHROUGH',
        -            'GLORTHO','GLNORMALPOINTER','GLNORMAL3SV','GLNORMAL3S','GLNORMAL3IV','GLNORMAL3I','GLNORMAL3FV','GLNORMAL3F',
        -            'GLNORMAL3DV','GLNORMAL3D','GLNORMAL3BV','GLNORMAL3B','GLNEWLIST','GLMULTMATRIXF','GLMULTMATRIXD','GLMATRIXMODE',
        -            'GLMATERIALIV','GLMATERIALI','GLMATERIALFV','GLMATERIALF','GLMAPGRID2F','GLMAPGRID2D','GLMAPGRID1F','GLMAPGRID1D',
        -            'GLMAP2F','GLMAP2D','GLMAP1F','GLMAP1D','GLLOGICOP','GLLOADNAME','GLLOADMATRIXF','GLLOADMATRIXD',
        -            'GLLOADIDENTITY','GLLISTBASE','GLLINEWIDTH','GLLINESTIPPLE','GLLIGHTMODELIV','GLLIGHTMODELI','GLLIGHTMODELFV','GLLIGHTMODELF',
        -            'GLLIGHTIV','GLLIGHTI','GLLIGHTFV','GLLIGHTF','GLISTEXTURE','GLISLIST','GLISENABLED','GLINTERLEAVEDARRAYS',
        -            'GLINITNAMES','GLINDEXUBV','GLINDEXUB','GLINDEXSV','GLINDEXS','GLINDEXPOINTER','GLINDEXMASK','GLINDEXIV',
        -            'GLINDEXI','GLINDEXFV','GLINDEXF','GLINDEXDV','GLINDEXD','GLHINT','GLGETTEXPARAMETERIV','GLGETTEXPARAMETERFV',
        -            'GLGETTEXLEVELPARAMETERIV','GLGETTEXLEVELPARAMETERFV','GLGETTEXIMAGE','GLGETTEXGENIV','GLGETTEXGENFV','GLGETTEXGENDV','GLGETTEXENVIV','GLGETTEXENVFV',
        -            'GLGETSTRING','GLGETPOLYGONSTIPPLE','GLGETPOINTERV','GLGETPIXELMAPUSV','GLGETPIXELMAPUIV','GLGETPIXELMAPFV','GLGETMATERIALIV','GLGETMATERIALFV',
        -            'GLGETMAPIV','GLGETMAPFV','GLGETMAPDV','GLGETLIGHTIV','GLGETLIGHTFV','GLGETINTEGERV','GLGETFLOATV','GLGETERROR',
        -            'GLGETDOUBLEV','GLGETCLIPPLANE','GLGETBOOLEANV','GLGENTEXTURES','GLGENLISTS','GLFRUSTUM','GLFRONTFACE','GLFOGIV',
        -            'GLFOGI','GLFOGFV','GLFOGF','GLFLUSH','GLFINISH','GLFEEDBACKBUFFER','GLEVALPOINT2','GLEVALPOINT1',
        -            'GLEVALMESH2','GLEVALMESH1','GLEVALCOORD2FV','GLEVALCOORD2F','GLEVALCOORD2DV','GLEVALCOORD2D','GLEVALCOORD1FV','GLEVALCOORD1F',
        -            'GLEVALCOORD1DV','GLEVALCOORD1D','GLENDLIST','GLEND','GLENABLECLIENTSTATE','GLENABLE','GLEDGEFLAGV','GLEDGEFLAGPOINTER',
        -            'GLEDGEFLAG','GLDRAWPIXELS','GLDRAWELEMENTS','GLDRAWBUFFER','GLDRAWARRAYS','GLDISABLECLIENTSTATE','GLDISABLE','GLDEPTHRANGE',
        -            'GLDEPTHMASK','GLDEPTHFUNC','GLDELETETEXTURES','GLDELETELISTS','GLCULLFACE','GLCOPYTEXSUBIMAGE2D','GLCOPYTEXSUBIMAGE1D','GLCOPYTEXIMAGE2D',
        -            'GLCOPYTEXIMAGE1D','GLCOPYPIXELS','GLCOLORPOINTER','GLCOLORMATERIAL','GLCOLORMASK','GLCOLOR4USV','GLCOLOR4US','GLCOLOR4UIV',
        -            'GLCOLOR4UI','GLCOLOR4UBV','GLCOLOR4UB','GLCOLOR4SV','GLCOLOR4S','GLCOLOR4IV','GLCOLOR4I','GLCOLOR4FV',
        -            'GLCOLOR4F','GLCOLOR4DV','GLCOLOR4D','GLCOLOR4BV','GLCOLOR4B','GLCOLOR3USV','GLCOLOR3US','GLCOLOR3UIV',
        -            'GLCOLOR3UI','GLCOLOR3UBV','GLCOLOR3UB','GLCOLOR3SV','GLCOLOR3S','GLCOLOR3IV','GLCOLOR3I','GLCOLOR3FV',
        -            'GLCOLOR3F','GLCOLOR3DV','GLCOLOR3D','GLCOLOR3BV','GLCOLOR3B','GLCLIPPLANE','GLCLEARSTENCIL','GLCLEARINDEX',
        -            'GLCLEARDEPTH','GLCLEARCOLOR','GLCLEARACCUM','GLCLEAR','GLCALLLISTS','GLCALLLIST','GLBLENDFUNC','GLBITMAP',
        -            'GLBINDTEXTURE','GLBEGIN','GLARRAYELEMENT','GLARETEXTURESRESIDENT','GLALPHAFUNC','GLACCUM'),
        -        2 => array(
        -            '$BEL','$BS','$CR','$CRLF','$DQ','$DT_DATE_SEPARATOR','$DT_LANGUAGE','$DT_TIME_SEPARATOR',
        -            '$ESC','$FF','$LF','$NUL','$PC_SD_MY_PC','$SPC','$SQL_OPT_TRACE_FILE_DEFAULT','$SQL_SPEC_STRING',
        -            '$TAB','$TRACKBAR_CLASS','$VT','%ACM_OPEN','%ACM_OPENW','%ACM_PLAY','%ACM_STOP','%ACN_START',
        -            '%ACN_STOP','%ACS_AUTOPLAY','%ACS_CENTER','%ACS_TIMER','%ACS_TRANSPARENT','%APP_COUNTER_FUNLOOKUP','%APP_COUNTER_KEYLOOKUP','%APP_COUNTER_LOOKUP',
        -            '%APP_COUNTER_TESTALPHA','%APP_COUNTER_UDTLOOKUP','%APP_COUNTER_VARLOOKUP','%APP_TIMER_EXECTOTAL','%APP_TIMER_INIT','%APP_TIMER_LOAD','%APP_TIMER_PREPROCESSOR','%AW_ACTIVATE',
        -            '%AW_BLEND','%AW_CENTER','%AW_HIDE','%AW_HOR_NEGATIVE','%AW_HOR_POSITIVE','%AW_SLIDE','%AW_VER_NEGATIVE','%AW_VER_POSITIVE',
        -            '%BCM_FIRST','%BLACK','%BLUE','%BM_GETCHECK','%BM_SETCHECK','%BST_CHECKED','%BST_UNCHECKED','%BS_AUTOCHECKBOX',
        -            '%BS_BOTTOM','%BS_CENTER','%BS_DEFAULT','%BS_DEFPUSHBUTTON','%BS_FLAT','%BS_LEFT','%BS_LEFTTEXT','%BS_MULTILINE',
        -            '%BS_NOTIFY','%BS_OWNERDRAW','%BS_PUSHLIKE','%BS_RIGHT','%BS_TOP','%BS_VCENTER','%BUNDLE_BUILDER_CANCELLED','%CBM_FIRST',
        -            '%CBN_CLOSEUP','%CBN_DBLCLK','%CBN_DROPDOWN','%CBN_EDITCHANGE','%CBN_EDITUPDATE','%CBN_ERRSPACE','%CBN_KILLFOCUS','%CBN_SELCANCEL',
        -            '%CBN_SELCHANGE','%CBN_SELENDCANCEL','%CBN_SELENDOK','%CBN_SETFOCUS','%CBS_AUTOHSCROLL','%CBS_DISABLENOSCROLL','%CBS_DROPDOWN','%CBS_DROPDOWNLIST',
        -            '%CBS_HASSTRINGS','%CBS_LOWERCASE','%CBS_NOINTEGRALHEIGHT','%CBS_SIMPLE','%CBS_SORT','%CBS_UPPERCASE','%CB_SELECTSTRING','%CCM_FIRST',
        -            '%CC_ANYCOLOR','%CC_ENABLEHOOK','%CC_ENABLETEMPLATE','%CC_ENABLETEMPLATEHANDLE','%CC_FULLOPEN','%CC_PREVENTFULLOPEN','%CC_RGBINIT','%CC_SHOWHELP',
        -            '%CC_SOLIDCOLOR','%CFE_BOLD','%CFE_ITALIC','%CFE_LINK','%CFE_PROTECTED','%CFE_STRIKEOUT','%CFE_UNDERLINE','%CFM_ANIMATION',
        -            '%CFM_BACKCOLOR','%CFM_BOLD','%CFM_CHARSET','%CFM_COLOR','%CFM_FACE','%CFM_ITALIC','%CFM_KERNING','%CFM_LCID',
        -            '%CFM_LINK','%CFM_OFFSET','%CFM_PROTECTED','%CFM_REVAUTHOR','%CFM_SIZE','%CFM_SPACING','%CFM_STRIKEOUT','%CFM_STYLE',
        -            '%CFM_UNDERLINE','%CFM_UNDERLINETYPE','%CFM_WEIGHT','%CGI_ACCEPT_FILE_UPLOAD','%CGI_AUTO_ADD_SPECIAL_CHARS_PREFIX','%CGI_AUTO_CREATE_VARS','%CGI_BUFFERIZE_OUTPUT','%CGI_DOUBLE_QUOTE',
        -            '%CGI_FILE_UPLOAD_BASEPATH','%CGI_FORCE_SESSION_VALIDATION','%CGI_MAX_BYTE_FROM_STD_IN','%CGI_REQUEST_METHOD_GET','%CGI_REQUEST_METHOD_POST','%CGI_SESSION_FILE_BASEPATH','%CGI_SINGLE_QUOTE','%CGI_SPECIAL_CHARS_PREFIX',
        -            '%CGI_TEMPORARY_UPLOAD_PATH','%CGI_UPLOAD_CAN_OVERWRITE','%CGI_WRITE_LOG_FILE','%CGI_WRITE_VARS_INTO_LOG_FILE','%CONOLE_ATTACH_PARENT_PROCESS','%CONSOLE_BACKGROUND_BLUE','%CONSOLE_BACKGROUND_GREEN','%CONSOLE_BACKGROUND_INTENSITY',
        -            '%CONSOLE_BACKGROUND_RED','%CONSOLE_BOX_FLAG_3DOFF','%CONSOLE_BOX_FLAG_3DON','%CONSOLE_BOX_FLAG_SHADOW','%CONSOLE_COMMON_LVB_GRID_HORIZONTAL','%CONSOLE_COMMON_LVB_GRID_LVERTICAL','%CONSOLE_COMMON_LVB_GRID_RVERTICAL','%CONSOLE_COMMON_LVB_LEADING_BYTE',
        -            '%CONSOLE_COMMON_LVB_REVERSE_VIDEO','%CONSOLE_COMMON_LVB_TRAILING_BYTE','%CONSOLE_COMMON_LVB_UNDERSCORE','%CONSOLE_CTRL_BREAK_EVENT','%CONSOLE_CTRL_C_EVENT','%CONSOLE_DOUBLE_CLICK','%CONSOLE_ENABLE_AUTO_POSITION','%CONSOLE_ENABLE_ECHO_INPUT',
        -            '%CONSOLE_ENABLE_EXTENDED_FLAGS','%CONSOLE_ENABLE_INSERT_MODE','%CONSOLE_ENABLE_LINE_INPUT','%CONSOLE_ENABLE_MOUSE_INPUT','%CONSOLE_ENABLE_PROCESSED_INPUT','%CONSOLE_ENABLE_PROCESSED_OUTPUT','%CONSOLE_ENABLE_QUICK_EDIT_MODE','%CONSOLE_ENABLE_WINDOW_INPUT',
        -            '%CONSOLE_ENABLE_WRAP_AT_EOL_OUTPUT','%CONSOLE_FOREGROUND_BLUE','%CONSOLE_FOREGROUND_GREEN','%CONSOLE_FOREGROUND_INTENSITY','%CONSOLE_FOREGROUND_RED','%CONSOLE_LBUTTON','%CONSOLE_LINE_HORIZONTAL','%CONSOLE_LINE_VERTICAL',
        -            '%CONSOLE_MBUTTON','%CONSOLE_MOUSE_MOVED','%CONSOLE_MOUSE_WHEELED','%CONSOLE_RBUTTON','%CONSOLE_SCROLLBUF_DOWN','%CONSOLE_SCROLLBUF_UP','%CONSOLE_SCROLLWND_ABSOLUTE','%CONSOLE_SCROLLWND_RELATIVE',
        -            '%CONSOLE_STD_ERROR_HANDLE','%CONSOLE_STD_INPUT_HANDLE','%CONSOLE_STD_OUTPUT_HANDLE','%CONSOLE_SW_FORCEMINIMIZE','%CONSOLE_SW_HIDE','%CONSOLE_SW_MAXIMIZE','%CONSOLE_SW_MINIMIZE','%CONSOLE_SW_RESTORE',
        -            '%CONSOLE_SW_SHOW','%CONSOLE_SW_SHOWDEFAULT','%CONSOLE_SW_SHOWMAXIMIZED','%CONSOLE_SW_SHOWMINIMIZED','%CONSOLE_SW_SHOWMINNOACTIVE','%CONSOLE_SW_SHOWNA','%CONSOLE_SW_SHOWNOACTIVATE','%CONSOLE_SW_SHOWNORMAL',
        -            '%CONSOLE_UNAVAILABLE','%CRYPTO_CALG_DES','%CRYPTO_CALG_RC2','%CRYPTO_CALG_RC4','%CRYPTO_PROV_DH_SCHANNEL','%CRYPTO_PROV_DSS','%CRYPTO_PROV_DSS_DH','%CRYPTO_PROV_FORTEZZA',
        -            '%CRYPTO_PROV_MS_EXCHANGE','%CRYPTO_PROV_RSA_FULL','%CRYPTO_PROV_RSA_SCHANNEL','%CRYPTO_PROV_RSA_SIG','%CRYPTO_PROV_SSL','%CSIDL_ADMINTOOLS','%CSIDL_ALTSTARTUP','%CSIDL_APPDATA',
        -            '%CSIDL_BITBUCKET','%CSIDL_CDBURN_AREA','%CSIDL_COMMON_ADMINTOOLS','%CSIDL_COMMON_ALTSTARTUP','%CSIDL_COMMON_APPDATA','%CSIDL_COMMON_DESKTOPDIRECTORY','%CSIDL_COMMON_DOCUMENTS','%CSIDL_COMMON_FAVORITES',
        -            '%CSIDL_COMMON_MUSIC','%CSIDL_COMMON_PICTURES','%CSIDL_COMMON_PROGRAMS','%CSIDL_COMMON_STARTMENU','%CSIDL_COMMON_STARTUP','%CSIDL_COMMON_TEMPLATES','%CSIDL_COMMON_VIDEO','%CSIDL_CONTROLS',
        -            '%CSIDL_COOKIES','%CSIDL_DESKTOP','%CSIDL_DESKTOPDIRECTORY','%CSIDL_DRIVES','%CSIDL_FAVORITES','%CSIDL_FLAG_CREATE','%CSIDL_FONTS','%CSIDL_HISTORY',
        -            '%CSIDL_INTERNET','%CSIDL_INTERNET_CACHE','%CSIDL_LOCAL_APPDATA','%CSIDL_MYDOCUMENTS','%CSIDL_MYMUSIC','%CSIDL_MYPICTURES','%CSIDL_MYVIDEO','%CSIDL_NETHOOD',
        -            '%CSIDL_NETWORK','%CSIDL_PERSONAL','%CSIDL_PRINTERS','%CSIDL_PRINTHOOD','%CSIDL_PROFILE','%CSIDL_PROGRAMS','%CSIDL_PROGRAM_FILES','%CSIDL_PROGRAM_FILES_COMMON',
        -            '%CSIDL_RECENT','%CSIDL_SENDTO','%CSIDL_STARTMENU','%CSIDL_STARTUP','%CSIDL_SYSTEM','%CSIDL_TEMPLATES','%CSIDL_WINDOWS','%CW_USEDEFAULT',
        -            '%CYAN','%DATE_TIME_FILE_CREATION','%DATE_TIME_LAST_FILE_ACCESS','%DATE_TIME_LAST_FILE_WRITE','%DICTIONARY_MEMINFO_DATA','%DICTIONARY_MEMINFO_KEYS','%DICTIONARY_MEMINFO_TOTAL','%DICTIONARY_SORTDESCENDING',
        -            '%DICTIONARY_SORTKEYS','%DSCAPS_CERTIFIED','%DSCAPS_CONTINUOUSRATE','%DSCAPS_EMULDRIVER','%DSCAPS_SECONDARY16BIT','%DSCAPS_SECONDARY8BIT','%DSCAPS_SECONDARYMONO','%DSCAPS_SECONDARYSTEREO',
        -            '%DSCCAPS_CERTIFIED','%DSCCAPS_EMULDRIVER','%DS_3DLOOK','%DS_ABSALIGN','%DS_CENTER','%DS_CENTERMOUSE','%DS_CONTEXTHELP','%DS_CONTROL',
        -            '%DS_MODALFRAME','%DS_NOFAILCREATE','%DS_SETFONT','%DS_SETFOREGROUND','%DS_SYSMODAL','%DTM_FIRST','%DTM_GETMCCOLOR','%DTM_GETMCFONT',
        -            '%DTM_GETMONTHCAL','%DTM_GETRANGE','%DTM_GETSYSTEMTIME','%DTM_SETFORMAT','%DTM_SETFORMATW','%DTM_SETMCCOLOR','%DTM_SETMCFONT','%DTM_SETRANGE',
        -            '%DTM_SETSYSTEMTIME','%DTN_CLOSEUP','%DTN_DATETIMECHANGE','%DTN_DROPDOWN','%DTN_FORMAT','%DTN_FORMATQUERY','%DTN_FORMATQUERYW','%DTN_FORMATW',
        -            '%DTN_USERSTRING','%DTN_USERSTRINGW','%DTN_WMKEYDOWN','%DTN_WMKEYDOWNW','%DTS_APPCANPARSE','%DTS_LONGDATEFORMAT','%DTS_RIGHTALIGN','%DTS_SHORTDATECENTURYFORMAT',
        -            '%DTS_SHORTDATEFORMAT','%DTS_SHOWNONE','%DTS_TIMEFORMAT','%DTS_UPDOWN','%DT_DATE_CENTURY','%DT_DATE_OK','%DT_DAY_IN_YEAR','%DT_DIFF_IN_DAYS',
        -            '%DT_DIFF_IN_HOURS','%DT_DIFF_IN_MINUTES','%DT_DIFF_IN_SECONDS','%DT_HOURS_IN_DAY','%DT_MINUTES_IN_HOUR','%DT_SECONDS_IN_DAY','%DT_SECONDS_IN_HOUR','%DT_SECONDS_IN_MINUTE',
        -            '%DT_SECONDS_IN_YEAR','%DT_USE_LONG_FORM','%DT_USE_SHORT_FORM','%DT_WRONG_DATE','%DT_WRONG_DAY','%DT_WRONG_MONTH','%ECM_FIRST','%ECOOP_AND',
        -            '%ECOOP_OR','%ECOOP_SET','%ECOOP_XOR','%ECO_AUTOHSCROLL','%ECO_AUTOVSCROLL','%ECO_AUTOWORDSELECTION','%ECO_NOHIDESEL','%ECO_READONLY',
        -            '%ECO_SELECTIONBAR','%ECO_WANTRETURN','%EM_AUTOURLDETECT','%EM_CANPASTE','%EM_CANREDO','%EM_CANUNDO','%EM_CHARFROMPOS','%EM_DISPLAYBAND',
        -            '%EM_EMPTYUNDOBUFFER','%EM_EXGETSEL','%EM_EXLIMITTEXT','%EM_EXLINEFROMCHAR','%EM_EXSETSEL','%EM_FINDTEXT','%EM_FINDTEXTEX','%EM_FINDWORDBREAK',
        -            '%EM_FMTLINES','%EM_FORMATRANGE','%EM_GETAUTOURLDETECT','%EM_GETCHARFORMAT','%EM_GETEDITSTYLE','%EM_GETEVENTMASK','%EM_GETFIRSTVISIBLELINE','%EM_GETHANDLE',
        -            '%EM_GETIMESTATUS','%EM_GETLIMITTEXT','%EM_GETLINE','%EM_GETLINECOUNT','%EM_GETMARGINS','%EM_GETMODIFY','%EM_GETOLEINTERFACE','%EM_GETOPTIONS',
        -            '%EM_GETPARAFORMAT','%EM_GETPASSWORDCHAR','%EM_GETRECT','%EM_GETREDONAME','%EM_GETSCROLLPOS','%EM_GETSEL','%EM_GETSELTEXT','%EM_GETTEXTMODE',
        -            '%EM_GETTEXTRANGE','%EM_GETTHUMB','%EM_GETUNDONAME','%EM_GETWORDBREAKPROC','%EM_GETWORDBREAKPROCEX','%EM_HIDESELECTION','%EM_LIMITTEXT','%EM_LINEFROMCHAR',
        -            '%EM_LINEINDEX','%EM_LINELENGTH','%EM_LINESCROLL','%EM_PASTESPECIAL','%EM_POSFROMCHAR','%EM_REDO','%EM_REPLACESEL','%EM_REQUESTRESIZE',
        -            '%EM_SCROLL','%EM_SCROLLCARET','%EM_SELECTIONTYPE','%EM_SETBKGNDCOLOR','%EM_SETCHARFORMAT','%EM_SETEDITSTYLE','%EM_SETEVENTMASK','%EM_SETHANDLE',
        -            '%EM_SETIMESTATUS','%EM_SETLIMITTEXT','%EM_SETMARGINS','%EM_SETMODIFY','%EM_SETOLECALLBACK','%EM_SETOPTIONS','%EM_SETPARAFORMAT','%EM_SETPASSWORDCHAR',
        -            '%EM_SETREADONLY','%EM_SETRECT','%EM_SETRECTNP','%EM_SETSCROLLPOS','%EM_SETSEL','%EM_SETTABSTOPS','%EM_SETTARGETDEVICE','%EM_SETTEXTMODE',
        -            '%EM_SETUNDOLIMIT','%EM_SETWORDBREAKPROC','%EM_SETWORDBREAKPROCEX','%EM_SETWORDWRAPMODE','%EM_SETZOOM','%EM_STOPGROUPTYPING','%EM_STREAMIN','%EM_STREAMOUT',
        -            '%EM_UNDO','%ENM_CHANGE','%ENM_CORRECTTEXT','%ENM_DRAGDROPDONE','%ENM_DROPFILES','%ENM_KEYEVENTS','%ENM_MOUSEEVENTS','%ENM_NONE',
        -            '%ENM_PARAGRAPHEXPANDED','%ENM_PROTECTED','%ENM_REQUESTRESIZE','%ENM_SCROLL','%ENM_SCROLLEVENTS','%ENM_SELCHANGE','%ENM_UPDATE','%EN_CHANGE',
        -            '%EN_MSGFILTER','%EN_SELCHANGE','%EN_UPDATE','%ES_AUTOHSCROLL','%ES_AUTOVSCROLL','%ES_CENTER','%ES_DISABLENOSCROLL','%ES_EX_NOCALLOLEINIT',
        -            '%ES_LEFT','%ES_LOWERCASE','%ES_MULTILINE','%ES_NOHIDESEL','%ES_NOOLEDRAGDROP','%ES_NUMBER','%ES_OEMCONVERT','%ES_PASSWORD',
        -            '%ES_READONLY','%ES_RIGHT','%ES_SAVESEL','%ES_SELECTIONBAR','%ES_SUNKEN','%ES_UPPERCASE','%ES_WANTRETURN','%EVAL_EXEC_STRING',
        -            '%FALSE','%FILE_ADDPATH','%FILE_ARCHIVE','%FILE_BUILDVERSION','%FILE_HIDDEN','%FILE_MAJORVERSION','%FILE_MINORVERSION','%FILE_NORMAL',
        -            '%FILE_READONLY','%FILE_REVISIONVERSION','%FILE_SUBDIR','%FILE_SYSTEM','%FILE_VLABEL','%FTP_GET_CONNECT_STATUS','%FTP_GET_FILE_BYTES_RCVD','%FTP_GET_FILE_BYTES_SENT',
        -            '%FTP_GET_LAST_RESPONSE','%FTP_GET_LOCAL_IP','%FTP_GET_SERVER_IP','%FTP_GET_TOTAL_BYTES_RCVD','%FTP_GET_TOTAL_BYTES_SENT','%FTP_LIST_FULLLIST','%FTP_LIST_FULLLISTDIR','%FTP_LIST_FULLLISTFILE',
        -            '%FTP_SET_ASYNC','%FTP_SET_CONNECT_WAIT','%FTP_SET_MAX_LISTEN_WAIT','%FTP_SET_MAX_RESPONSE_WAIT','%FTP_SET_PASSIVE','%FTP_SET_SYNC','%FW_BLACK','%FW_BOLD',
        -            '%FW_DEMIBOLD','%FW_DONTCARE','%FW_EXTRABOLD','%FW_EXTRALIGHT','%FW_HEAVY','%FW_LIGHT','%FW_MEDIUM','%FW_NORMAL',
        -            '%FW_REGULAR','%FW_SEMIBOLD','%FW_THIN','%FW_ULTRABOLD','%FW_ULTRALIGHT','%GDTR_MAX','%GDTR_MIN','%GLU_AUTO_LOAD_MATRIX',
        -            '%GLU_BEGIN','%GLU_CCW','%GLU_CULLING','%GLU_CW','%GLU_DISPLAY_MODE','%GLU_DOMAIN_DISTANCE','%GLU_EDGE_FLAG','%GLU_END',
        -            '%GLU_ERROR','%GLU_EXTENSIONS','%GLU_EXTERIOR','%GLU_FALSE','%GLU_FILL','%GLU_FLAT','%GLU_INCOMPATIBLE_GL_VERSION','%GLU_INSIDE',
        -            '%GLU_INTERIOR','%GLU_INVALID_ENUM','%GLU_INVALID_VALUE','%GLU_LINE','%GLU_MAP1_TRIM_2','%GLU_MAP1_TRIM_3','%GLU_NONE','%GLU_NURBS_ERROR1',
        -            '%GLU_NURBS_ERROR10','%GLU_NURBS_ERROR11','%GLU_NURBS_ERROR12','%GLU_NURBS_ERROR13','%GLU_NURBS_ERROR14','%GLU_NURBS_ERROR15','%GLU_NURBS_ERROR16','%GLU_NURBS_ERROR17',
        -            '%GLU_NURBS_ERROR18','%GLU_NURBS_ERROR19','%GLU_NURBS_ERROR2','%GLU_NURBS_ERROR20','%GLU_NURBS_ERROR21','%GLU_NURBS_ERROR22','%GLU_NURBS_ERROR23','%GLU_NURBS_ERROR24',
        -            '%GLU_NURBS_ERROR25','%GLU_NURBS_ERROR26','%GLU_NURBS_ERROR27','%GLU_NURBS_ERROR28','%GLU_NURBS_ERROR29','%GLU_NURBS_ERROR3','%GLU_NURBS_ERROR30','%GLU_NURBS_ERROR31',
        -            '%GLU_NURBS_ERROR32','%GLU_NURBS_ERROR33','%GLU_NURBS_ERROR34','%GLU_NURBS_ERROR35','%GLU_NURBS_ERROR36','%GLU_NURBS_ERROR37','%GLU_NURBS_ERROR4','%GLU_NURBS_ERROR5',
        -            '%GLU_NURBS_ERROR6','%GLU_NURBS_ERROR7','%GLU_NURBS_ERROR8','%GLU_NURBS_ERROR9','%GLU_OUTLINE_PATCH','%GLU_OUTLINE_POLYGON','%GLU_OUTSIDE','%GLU_OUT_OF_MEMORY',
        -            '%GLU_PARAMETRIC_ERROR','%GLU_PARAMETRIC_TOLERANCE','%GLU_PATH_LENGTH','%GLU_POINT','%GLU_SAMPLING_METHOD','%GLU_SAMPLING_TOLERANCE','%GLU_SILHOUETTE','%GLU_SMOOTH',
        -            '%GLU_TESS_BEGIN','%GLU_TESS_BEGIN_DATA','%GLU_TESS_BOUNDARY_ONLY','%GLU_TESS_COMBINE','%GLU_TESS_COMBINE_DATA','%GLU_TESS_COORD_TOO_LARGE','%GLU_TESS_EDGE_FLAG','%GLU_TESS_EDGE_FLAG_DATA',
        -            '%GLU_TESS_END','%GLU_TESS_END_DATA','%GLU_TESS_ERROR','%GLU_TESS_ERROR1','%GLU_TESS_ERROR2','%GLU_TESS_ERROR3','%GLU_TESS_ERROR4','%GLU_TESS_ERROR5',
        -            '%GLU_TESS_ERROR6','%GLU_TESS_ERROR7','%GLU_TESS_ERROR8','%GLU_TESS_ERROR_DATA','%GLU_TESS_MISSING_BEGIN_CONTOUR','%GLU_TESS_MISSING_BEGIN_POLYGON','%GLU_TESS_MISSING_END_CONTOUR','%GLU_TESS_MISSING_END_POLYGON',
        -            '%GLU_TESS_NEED_COMBINE_CALLBACK','%GLU_TESS_TOLERANCE','%GLU_TESS_VERTEX','%GLU_TESS_VERTEX_DATA','%GLU_TESS_WINDING_ABS_GEQ_TWO','%GLU_TESS_WINDING_NEGATIVE','%GLU_TESS_WINDING_NONZERO','%GLU_TESS_WINDING_ODD',
        -            '%GLU_TESS_WINDING_POSITIVE','%GLU_TESS_WINDING_RULE','%GLU_TRUE','%GLU_UNKNOWN','%GLU_U_STEP','%GLU_VERSION','%GLU_VERSION_1_1','%GLU_VERSION_1_2',
        -            '%GLU_VERTEX','%GLU_V_STEP','%GL_2D','%GL_2_BYTES','%GL_3D','%GL_3D_COLOR','%GL_3D_COLOR_TEXTURE','%GL_3_BYTES',
        -            '%GL_4D_COLOR_TEXTURE','%GL_4_BYTES','%GL_ABGR_EXT','%GL_ACCUM','%GL_ACCUM_ALPHA_BITS','%GL_ACCUM_BLUE_BITS','%GL_ACCUM_BUFFER_BIT','%GL_ACCUM_CLEAR_VALUE',
        -            '%GL_ACCUM_GREEN_BITS','%GL_ACCUM_RED_BITS','%GL_ADD','%GL_ALL_ATTRIB_BITS','%GL_ALPHA','%GL_ALPHA12','%GL_ALPHA16','%GL_ALPHA4',
        -            '%GL_ALPHA8','%GL_ALPHA_BIAS','%GL_ALPHA_BITS','%GL_ALPHA_SCALE','%GL_ALPHA_TEST','%GL_ALPHA_TEST_FUNC','%GL_ALPHA_TEST_REF','%GL_ALWAYS',
        -            '%GL_AMBIENT','%GL_AMBIENT_AND_DIFFUSE','%GL_AND','%GL_AND_INVERTED','%GL_AND_REVERSE','%GL_ARRAY_ELEMENT_LOCK_COUNT_EXT','%GL_ARRAY_ELEMENT_LOCK_FIRST_EXT','%GL_ATTRIB_STACK_DEPTH',
        -            '%GL_AUTO_NORMAL','%GL_AUX0','%GL_AUX1','%GL_AUX2','%GL_AUX3','%GL_AUX_BUFFERS','%GL_BACK','%GL_BACK_LEFT',
        -            '%GL_BACK_RIGHT','%GL_BGRA_EXT','%GL_BGR_EXT','%GL_BITMAP','%GL_BITMAP_TOKEN','%GL_BLEND','%GL_BLEND_COLOR_EXT','%GL_BLEND_DST',
        -            '%GL_BLEND_EQUATION_EXT','%GL_BLEND_SRC','%GL_BLUE','%GL_BLUE_BIAS','%GL_BLUE_BITS','%GL_BLUE_SCALE','%GL_BYTE','%GL_C3F_V3F',
        -            '%GL_C4F_N3F_V3F','%GL_C4UB_V2F','%GL_C4UB_V3F','%GL_CCW','%GL_CLAMP','%GL_CLEAR','%GL_CLIENT_ALL_ATTRIB_BITS','%GL_CLIENT_ATTRIB_STACK_DEPTH',
        -            '%GL_CLIENT_PIXEL_STORE_BIT','%GL_CLIENT_VERTEX_ARRAY_BIT','%GL_CLIP_PLANE0','%GL_CLIP_PLANE1','%GL_CLIP_PLANE2','%GL_CLIP_PLANE3','%GL_CLIP_PLANE4','%GL_CLIP_PLANE5',
        -            '%GL_CLIP_VOLUME_CLIPPING_HINT_EXT','%GL_COEFF','%GL_COLOR','%GL_COLOR_ARRAY','%GL_COLOR_ARRAY_COUNT_EXT','%GL_COLOR_ARRAY_EXT','%GL_COLOR_ARRAY_POINTER','%GL_COLOR_ARRAY_POINTER_EXT',
        -            '%GL_COLOR_ARRAY_SIZE','%GL_COLOR_ARRAY_SIZE_EXT','%GL_COLOR_ARRAY_STRIDE','%GL_COLOR_ARRAY_STRIDE_EXT','%GL_COLOR_ARRAY_TYPE','%GL_COLOR_ARRAY_TYPE_EXT','%GL_COLOR_BUFFER_BIT','%GL_COLOR_CLEAR_VALUE',
        -            '%GL_COLOR_INDEX','%GL_COLOR_INDEX12_EXT','%GL_COLOR_INDEX16_EXT','%GL_COLOR_INDEX1_EXT','%GL_COLOR_INDEX2_EXT','%GL_COLOR_INDEX4_EXT','%GL_COLOR_INDEX8_EXT','%GL_COLOR_INDEXES',
        -            '%GL_COLOR_LOGIC_OP','%GL_COLOR_MATERIAL','%GL_COLOR_MATERIAL_FACE','%GL_COLOR_MATERIAL_PARAMETER','%GL_COLOR_SUM_EXT','%GL_COLOR_TABLE_ALPHA_SIZE_EXT','%GL_COLOR_TABLE_BIAS_EXT','%GL_COLOR_TABLE_BLUE_SIZE_EXT',
        -            '%GL_COLOR_TABLE_EXT','%GL_COLOR_TABLE_FORMAT_EXT','%GL_COLOR_TABLE_GREEN_SIZE_EXT','%GL_COLOR_TABLE_INTENSITY_SIZE_EXT','%GL_COLOR_TABLE_LUMINANCE_SIZE_EXT','%GL_COLOR_TABLE_RED_SIZE_EXT','%GL_COLOR_TABLE_SCALE_EXT','%GL_COLOR_TABLE_WIDTH_EXT',
        -            '%GL_COLOR_WRITEMASK','%GL_COMPILE','%GL_COMPILE_AND_EXECUTE','%GL_CONSTANT_ALPHA_EXT','%GL_CONSTANT_ATTENUATION','%GL_CONSTANT_COLOR_EXT','%GL_CONVOLUTION_1D_EXT','%GL_CONVOLUTION_2D_EXT',
        -            '%GL_CONVOLUTION_BORDER_MODE_EXT','%GL_CONVOLUTION_FILTER_BIAS_EXT','%GL_CONVOLUTION_FILTER_SCALE_EXT','%GL_CONVOLUTION_FORMAT_EXT','%GL_CONVOLUTION_HEIGHT_EXT','%GL_CONVOLUTION_WIDTH_EXT','%GL_COPY','%GL_COPY_INVERTED',
        -            '%GL_COPY_PIXEL_TOKEN','%GL_CULL_FACE','%GL_CULL_FACE_MODE','%GL_CULL_VERTEX_EXT','%GL_CULL_VERTEX_EYE_POSITION_EXT','%GL_CULL_VERTEX_OBJECT_POSITION_EXT','%GL_CURRENT_BIT','%GL_CURRENT_COLOR',
        -            '%GL_CURRENT_INDEX','%GL_CURRENT_NORMAL','%GL_CURRENT_RASTER_COLOR','%GL_CURRENT_RASTER_DISTANCE','%GL_CURRENT_RASTER_INDEX','%GL_CURRENT_RASTER_POSITION','%GL_CURRENT_RASTER_POSITION_VALID','%GL_CURRENT_RASTER_TEXTURE_COORDS',
        -            '%GL_CURRENT_SECONDARY_COLOR_EXT','%GL_CURRENT_TEXTURE_COORDS','%GL_CW','%GL_DECAL','%GL_DECR','%GL_DEPTH','%GL_DEPTH_BIAS','%GL_DEPTH_BITS',
        -            '%GL_DEPTH_BUFFER_BIT','%GL_DEPTH_CLEAR_VALUE','%GL_DEPTH_COMPONENT','%GL_DEPTH_FUNC','%GL_DEPTH_RANGE','%GL_DEPTH_SCALE','%GL_DEPTH_TEST','%GL_DEPTH_WRITEMASK',
        -            '%GL_DIFFUSE','%GL_DITHER','%GL_DOMAIN','%GL_DONT_CARE','%GL_DOUBLE','%GL_DOUBLEBUFFER','%GL_DOUBLE_EXT','%GL_DRAW_BUFFER',
        -            '%GL_DRAW_PIXEL_TOKEN','%GL_DST_ALPHA','%GL_DST_COLOR','%GL_EDGE_FLAG','%GL_EDGE_FLAG_ARRAY','%GL_EDGE_FLAG_ARRAY_COUNT_EXT','%GL_EDGE_FLAG_ARRAY_EXT','%GL_EDGE_FLAG_ARRAY_POINTER',
        -            '%GL_EDGE_FLAG_ARRAY_POINTER_EXT','%GL_EDGE_FLAG_ARRAY_STRIDE','%GL_EDGE_FLAG_ARRAY_STRIDE_EXT','%GL_EMISSION','%GL_ENABLE_BIT','%GL_EQUAL','%GL_EQUIV','%GL_EVAL_BIT',
        -            '%GL_EXP','%GL_EXP2','%GL_EXTENSIONS','%GL_EXT_ABGR','%GL_EXT_BGRA','%GL_EXT_BLEND_COLOR','%GL_EXT_BLEND_MINMAX','%GL_EXT_BLEND_SUBTRACT',
        -            '%GL_EXT_CLIP_VOLUME_HINT','%GL_EXT_COLOR_TABLE','%GL_EXT_COMPILED_VERTEX_ARRAY','%GL_EXT_CONVOLUTION','%GL_EXT_CULL_VERTEX','%GL_EXT_HISTOGRAM','%GL_EXT_PACKED_PIXELS','%GL_EXT_PALETTED_TEXTURE',
        -            '%GL_EXT_POLYGON_OFFSET','%GL_EXT_SECONDARY_COLOR','%GL_EXT_SEPARATE_SPECULAR_COLOR','%GL_EXT_VERTEX_ARRAY','%GL_EYE_LINEAR','%GL_EYE_PLANE','%GL_FALSE','%GL_FASTEST',
        -            '%GL_FEEDBACK','%GL_FEEDBACK_BUFFER_POINTER','%GL_FEEDBACK_BUFFER_SIZE','%GL_FEEDBACK_BUFFER_TYPE','%GL_FILL','%GL_FLAT','%GL_FLOAT','%GL_FOG',
        -            '%GL_FOG_BIT','%GL_FOG_COLOR','%GL_FOG_DENSITY','%GL_FOG_END','%GL_FOG_HINT','%GL_FOG_INDEX','%GL_FOG_MODE','%GL_FOG_START',
        -            '%GL_FRONT','%GL_FRONT_AND_BACK','%GL_FRONT_FACE','%GL_FRONT_LEFT','%GL_FRONT_RIGHT','%GL_FUNC_ADD_EXT','%GL_FUNC_REVERSE_SUBTRACT_EXT','%GL_FUNC_SUBTRACT_EXT',
        -            '%GL_GEQUAL','%GL_GREATER','%GL_GREEN','%GL_GREEN_BIAS','%GL_GREEN_BITS','%GL_GREEN_SCALE','%GL_HINT_BIT','%GL_HISTOGRAM_ALPHA_SIZE_EXT',
        -            '%GL_HISTOGRAM_BLUE_SIZE_EXT','%GL_HISTOGRAM_EXT','%GL_HISTOGRAM_FORMAT_EXT','%GL_HISTOGRAM_GREEN_SIZE_EXT','%GL_HISTOGRAM_LUMINANCE_SIZE_EXT','%GL_HISTOGRAM_RED_SIZE_EXT','%GL_HISTOGRAM_SINK_EXT','%GL_HISTOGRAM_WIDTH_EXT',
        -            '%GL_INCR','%GL_INDEX_ARRAY','%GL_INDEX_ARRAY_COUNT_EXT','%GL_INDEX_ARRAY_EXT','%GL_INDEX_ARRAY_POINTER','%GL_INDEX_ARRAY_POINTER_EXT','%GL_INDEX_ARRAY_STRIDE','%GL_INDEX_ARRAY_STRIDE_EXT',
        -            '%GL_INDEX_ARRAY_TYPE','%GL_INDEX_ARRAY_TYPE_EXT','%GL_INDEX_BITS','%GL_INDEX_CLEAR_VALUE','%GL_INDEX_LOGIC_OP','%GL_INDEX_MODE','%GL_INDEX_OFFSET','%GL_INDEX_SHIFT',
        -            '%GL_INDEX_WRITEMASK','%GL_INT','%GL_INTENSITY','%GL_INTENSITY12','%GL_INTENSITY16','%GL_INTENSITY4','%GL_INTENSITY8','%GL_INVALID_ENUM',
        -            '%GL_INVALID_OPERATION','%GL_INVALID_VALUE','%GL_INVERT','%GL_KEEP','%GL_LEFT','%GL_LEQUAL','%GL_LESS','%GL_LIGHT0',
        -            '%GL_LIGHT1','%GL_LIGHT2','%GL_LIGHT3','%GL_LIGHT4','%GL_LIGHT5','%GL_LIGHT6','%GL_LIGHT7','%GL_LIGHTING',
        -            '%GL_LIGHTING_BIT','%GL_LIGHT_MODEL_AMBIENT','%GL_LIGHT_MODEL_COLOR_CONTROL_EXT','%GL_LIGHT_MODEL_LOCAL_VIEWER','%GL_LIGHT_MODEL_TWO_SIDE','%GL_LINE','%GL_LINEAR','%GL_LINEAR_ATTENUATION',
        -            '%GL_LINEAR_MIPMAP_LINEAR','%GL_LINEAR_MIPMAP_NEAREST','%GL_LINES','%GL_LINE_BIT','%GL_LINE_LOOP','%GL_LINE_RESET_TOKEN','%GL_LINE_SMOOTH','%GL_LINE_SMOOTH_HINT',
        -            '%GL_LINE_STIPPLE','%GL_LINE_STIPPLE_PATTERN','%GL_LINE_STIPPLE_REPEAT','%GL_LINE_STRIP','%GL_LINE_TOKEN','%GL_LINE_WIDTH','%GL_LINE_WIDTH_GRANULARITY','%GL_LINE_WIDTH_RANGE',
        -            '%GL_LIST_BASE','%GL_LIST_BIT','%GL_LIST_INDEX','%GL_LIST_MODE','%GL_LOAD','%GL_LOGIC_OP','%GL_LOGIC_OP_MODE','%GL_LUMINANCE',
        -            '%GL_LUMINANCE12','%GL_LUMINANCE12_ALPHA12','%GL_LUMINANCE12_ALPHA4','%GL_LUMINANCE16','%GL_LUMINANCE16_ALPHA16','%GL_LUMINANCE4','%GL_LUMINANCE4_ALPHA4','%GL_LUMINANCE6_ALPHA2',
        -            '%GL_LUMINANCE8','%GL_LUMINANCE8_ALPHA8','%GL_LUMINANCE_ALPHA','%GL_MAP1_COLOR_4','%GL_MAP1_GRID_DOMAIN','%GL_MAP1_GRID_SEGMENTS','%GL_MAP1_INDEX','%GL_MAP1_NORMAL',
        -            '%GL_MAP1_TEXTURE_COORD_1','%GL_MAP1_TEXTURE_COORD_2','%GL_MAP1_TEXTURE_COORD_3','%GL_MAP1_TEXTURE_COORD_4','%GL_MAP1_VERTEX_3','%GL_MAP1_VERTEX_4','%GL_MAP2_COLOR_4','%GL_MAP2_GRID_DOMAIN',
        -            '%GL_MAP2_GRID_SEGMENTS','%GL_MAP2_INDEX','%GL_MAP2_NORMAL','%GL_MAP2_TEXTURE_COORD_1','%GL_MAP2_TEXTURE_COORD_2','%GL_MAP2_TEXTURE_COORD_3','%GL_MAP2_TEXTURE_COORD_4','%GL_MAP2_VERTEX_3',
        -            '%GL_MAP2_VERTEX_4','%GL_MAP_COLOR','%GL_MAP_STENCIL','%GL_MATRIX_MODE','%GL_MAX_ATTRIB_STACK_DEPTH','%GL_MAX_CLIENT_ATTRIB_STACK_DEPTH','%GL_MAX_CLIP_PLANES','%GL_MAX_CONVOLUTION_HEIGHT_EXT',
        -            '%GL_MAX_CONVOLUTION_WIDTH_EXT','%GL_MAX_EVAL_ORDER','%GL_MAX_EXT','%GL_MAX_LIGHTS','%GL_MAX_LIST_NESTING','%GL_MAX_MODELVIEW_STACK_DEPTH','%GL_MAX_NAME_STACK_DEPTH','%GL_MAX_PIXEL_MAP_TABLE',
        -            '%GL_MAX_PROJECTION_STACK_DEPTH','%GL_MAX_TEXTURE_SIZE','%GL_MAX_TEXTURE_STACK_DEPTH','%GL_MAX_VIEWPORT_DIMS','%GL_MINMAX_EXT','%GL_MINMAX_FORMAT_EXT','%GL_MINMAX_SINK_EXT','%GL_MIN_EXT',
        -            '%GL_MODELVIEW','%GL_MODELVIEW_MATRIX','%GL_MODELVIEW_STACK_DEPTH','%GL_MODULATE','%GL_MULT','%GL_N3F_V3F','%GL_NAME_STACK_DEPTH','%GL_NAND',
        -            '%GL_NEAREST','%GL_NEAREST_MIPMAP_LINEAR','%GL_NEAREST_MIPMAP_NEAREST','%GL_NEVER','%GL_NICEST','%GL_NONE','%GL_NOOP','%GL_NOR',
        -            '%GL_NORMALIZE','%GL_NORMAL_ARRAY','%GL_NORMAL_ARRAY_COUNT_EXT','%GL_NORMAL_ARRAY_EXT','%GL_NORMAL_ARRAY_POINTER','%GL_NORMAL_ARRAY_POINTER_EXT','%GL_NORMAL_ARRAY_STRIDE','%GL_NORMAL_ARRAY_STRIDE_EXT',
        -            '%GL_NORMAL_ARRAY_TYPE','%GL_NORMAL_ARRAY_TYPE_EXT','%GL_NOTEQUAL','%GL_NO_ERROR','%GL_OBJECT_LINEAR','%GL_OBJECT_PLANE','%GL_ONE','%GL_ONE_MINUS_CONSTANT_ALPHA_EXT',
        -            '%GL_ONE_MINUS_CONSTANT_COLOR_EXT','%GL_ONE_MINUS_DST_ALPHA','%GL_ONE_MINUS_DST_COLOR','%GL_ONE_MINUS_SRC_ALPHA','%GL_ONE_MINUS_SRC_COLOR','%GL_OR','%GL_ORDER','%GL_OR_INVERTED',
        -            '%GL_OR_REVERSE','%GL_OUT_OF_MEMORY','%GL_PACK_ALIGNMENT','%GL_PACK_LSB_FIRST','%GL_PACK_ROW_LENGTH','%GL_PACK_SKIP_PIXELS','%GL_PACK_SKIP_ROWS','%GL_PACK_SWAP_BYTES',
        -            '%GL_PASS_THROUGH_TOKEN','%GL_PERSPECTIVE_CORRECTION_HINT','%GL_PIXEL_MAP_A_TO_A','%GL_PIXEL_MAP_A_TO_A_SIZE','%GL_PIXEL_MAP_B_TO_B','%GL_PIXEL_MAP_B_TO_B_SIZE','%GL_PIXEL_MAP_G_TO_G','%GL_PIXEL_MAP_G_TO_G_SIZE',
        -            '%GL_PIXEL_MAP_I_TO_A','%GL_PIXEL_MAP_I_TO_A_SIZE','%GL_PIXEL_MAP_I_TO_B','%GL_PIXEL_MAP_I_TO_B_SIZE','%GL_PIXEL_MAP_I_TO_G','%GL_PIXEL_MAP_I_TO_G_SIZE','%GL_PIXEL_MAP_I_TO_I','%GL_PIXEL_MAP_I_TO_I_SIZE',
        -            '%GL_PIXEL_MAP_I_TO_R','%GL_PIXEL_MAP_I_TO_R_SIZE','%GL_PIXEL_MAP_R_TO_R','%GL_PIXEL_MAP_R_TO_R_SIZE','%GL_PIXEL_MAP_S_TO_S','%GL_PIXEL_MAP_S_TO_S_SIZE','%GL_PIXEL_MODE_BIT','%GL_POINT',
        -            '%GL_POINTS','%GL_POINT_BIT','%GL_POINT_SIZE','%GL_POINT_SIZE_GRANULARITY','%GL_POINT_SIZE_RANGE','%GL_POINT_SMOOTH','%GL_POINT_SMOOTH_HINT','%GL_POINT_TOKEN',
        -            '%GL_POLYGON','%GL_POLYGON_BIT','%GL_POLYGON_MODE','%GL_POLYGON_OFFSET_BIAS_EXT','%GL_POLYGON_OFFSET_EXT','%GL_POLYGON_OFFSET_FACTOR','%GL_POLYGON_OFFSET_FACTOR_EXT','%GL_POLYGON_OFFSET_FILL',
        -            '%GL_POLYGON_OFFSET_LINE','%GL_POLYGON_OFFSET_POINT','%GL_POLYGON_OFFSET_UNITS','%GL_POLYGON_SMOOTH','%GL_POLYGON_SMOOTH_HINT','%GL_POLYGON_STIPPLE','%GL_POLYGON_STIPPLE_BIT','%GL_POLYGON_TOKEN',
        -            '%GL_POSITION','%GL_POST_COLOR_MATRIX_COLOR_TABLE_EXT','%GL_POST_CONVOLUTION_ALPHA_BIAS_EXT','%GL_POST_CONVOLUTION_ALPHA_SCALE_EXT','%GL_POST_CONVOLUTION_BLUE_BIAS_EXT','%GL_POST_CONVOLUTION_BLUE_SCALE_EXT','%GL_POST_CONVOLUTION_COLOR_TABLE_EXT','%GL_POST_CONVOLUTION_GREEN_BIAS_EXT',
        -            '%GL_POST_CONVOLUTION_GREEN_SCALE_EXT','%GL_POST_CONVOLUTION_RED_BIAS_EXT','%GL_POST_CONVOLUTION_RED_SCALE_EXT','%GL_PROJECTION','%GL_PROJECTION_MATRIX','%GL_PROJECTION_STACK_DEPTH','%GL_PROXY_COLOR_TABLE_EXT','%GL_PROXY_HISTOGRAM_EXT',
        -            '%GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_EXT','%GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_EXT','%GL_PROXY_TEXTURE_1D','%GL_PROXY_TEXTURE_2D','%GL_Q','%GL_QUADRATIC_ATTENUATION','%GL_QUADS','%GL_QUAD_STRIP',
        -            '%GL_R','%GL_R3_G3_B2','%GL_READ_BUFFER','%GL_RED','%GL_REDUCE_EXT','%GL_RED_BIAS','%GL_RED_BITS','%GL_RED_SCALE',
        -            '%GL_RENDER','%GL_RENDERER','%GL_RENDER_MODE','%GL_REPEAT','%GL_REPLACE','%GL_RETURN','%GL_RGB','%GL_RGB10',
        -            '%GL_RGB10_A2','%GL_RGB12','%GL_RGB16','%GL_RGB4','%GL_RGB5','%GL_RGB5_A1','%GL_RGB8','%GL_RGBA',
        -            '%GL_RGBA12','%GL_RGBA16','%GL_RGBA2','%GL_RGBA4','%GL_RGBA8','%GL_RGBA_MODE','%GL_RIGHT','%GL_S',
        -            '%GL_SCISSOR_BIT','%GL_SCISSOR_BOX','%GL_SCISSOR_TEST','%GL_SECONDARY_COLOR_ARRAY_EXT','%GL_SECONDARY_COLOR_ARRAY_POINTER_EXT','%GL_SECONDARY_COLOR_ARRAY_SIZE_EXT','%GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT','%GL_SECONDARY_COLOR_ARRAY_TYPE_EXT',
        -            '%GL_SELECT','%GL_SELECTION_BUFFER_POINTER','%GL_SELECTION_BUFFER_SIZE','%GL_SEPARABLE_2D_EXT','%GL_SEPARATE_SPECULAR_COLOR_EXT','%GL_SET','%GL_SHADE_MODEL','%GL_SHININESS',
        -            '%GL_SHORT','%GL_SINGLE_COLOR_EXT','%GL_SMOOTH','%GL_SPECULAR','%GL_SPHERE_MAP','%GL_SPOT_CUTOFF','%GL_SPOT_DIRECTION','%GL_SPOT_EXPONENT',
        -            '%GL_SRC_ALPHA','%GL_SRC_ALPHA_SATURATE','%GL_SRC_COLOR','%GL_STACK_OVERFLOW','%GL_STACK_UNDERFLOW','%GL_STENCIL','%GL_STENCIL_BITS','%GL_STENCIL_BUFFER_BIT',
        -            '%GL_STENCIL_CLEAR_VALUE','%GL_STENCIL_FAIL','%GL_STENCIL_FUNC','%GL_STENCIL_INDEX','%GL_STENCIL_PASS_DEPTH_FAIL','%GL_STENCIL_PASS_DEPTH_PASS','%GL_STENCIL_REF','%GL_STENCIL_TEST',
        -            '%GL_STENCIL_VALUE_MASK','%GL_STENCIL_WRITEMASK','%GL_STEREO','%GL_SUBPIXEL_BITS','%GL_T','%GL_T2F_C3F_V3F','%GL_T2F_C4F_N3F_V3F','%GL_T2F_C4UB_V3F',
        -            '%GL_T2F_N3F_V3F','%GL_T2F_V3F','%GL_T4F_C4F_N3F_V4F','%GL_T4F_V4F','%GL_TABLE_TOO_LARGE_EXT','%GL_TEXTURE','%GL_TEXTURE_1D','%GL_TEXTURE_2D',
        -            '%GL_TEXTURE_ALPHA_SIZE','%GL_TEXTURE_BINDING_1D','%GL_TEXTURE_BINDING_2D','%GL_TEXTURE_BIT','%GL_TEXTURE_BLUE_SIZE','%GL_TEXTURE_BORDER','%GL_TEXTURE_BORDER_COLOR','%GL_TEXTURE_COMPONENTS',
        -            '%GL_TEXTURE_COORD_ARRAY','%GL_TEXTURE_COORD_ARRAY_COUNT_EXT','%GL_TEXTURE_COORD_ARRAY_EXT','%GL_TEXTURE_COORD_ARRAY_POINTER','%GL_TEXTURE_COORD_ARRAY_POINTER_EXT','%GL_TEXTURE_COORD_ARRAY_SIZE','%GL_TEXTURE_COORD_ARRAY_SIZE_EXT','%GL_TEXTURE_COORD_ARRAY_STRIDE',
        -            '%GL_TEXTURE_COORD_ARRAY_STRIDE_EXT','%GL_TEXTURE_COORD_ARRAY_TYPE','%GL_TEXTURE_COORD_ARRAY_TYPE_EXT','%GL_TEXTURE_ENV','%GL_TEXTURE_ENV_COLOR','%GL_TEXTURE_ENV_MODE','%GL_TEXTURE_GEN_MODE','%GL_TEXTURE_GEN_Q',
        -            '%GL_TEXTURE_GEN_R','%GL_TEXTURE_GEN_S','%GL_TEXTURE_GEN_T','%GL_TEXTURE_GREEN_SIZE','%GL_TEXTURE_HEIGHT','%GL_TEXTURE_INTENSITY_SIZE','%GL_TEXTURE_INTERNAL_FORMAT','%GL_TEXTURE_LUMINANCE_SIZE',
        -            '%GL_TEXTURE_MAG_FILTER','%GL_TEXTURE_MATRIX','%GL_TEXTURE_MIN_FILTER','%GL_TEXTURE_PRIORITY','%GL_TEXTURE_RED_SIZE','%GL_TEXTURE_RESIDENT','%GL_TEXTURE_STACK_DEPTH','%GL_TEXTURE_WIDTH',
        -            '%GL_TEXTURE_WRAP_S','%GL_TEXTURE_WRAP_T','%GL_TRANSFORM_BIT','%GL_TRIANGLES','%GL_TRIANGLE_FAN','%GL_TRIANGLE_STRIP','%GL_TRUE','%GL_UNPACK_ALIGNMENT',
        -            '%GL_UNPACK_LSB_FIRST','%GL_UNPACK_ROW_LENGTH','%GL_UNPACK_SKIP_PIXELS','%GL_UNPACK_SKIP_ROWS','%GL_UNPACK_SWAP_BYTES','%GL_UNSIGNED_BYTE','%GL_UNSIGNED_BYTE_3_3_2_EXT','%GL_UNSIGNED_INT',
        -            '%GL_UNSIGNED_INT_10_10_10_2_EXT','%GL_UNSIGNED_INT_8_8_8_8_EXT','%GL_UNSIGNED_SHORT','%GL_UNSIGNED_SHORT_4_4_4_4_EXT','%GL_UNSIGNED_SHORT_5_5_5_1_EXT','%GL_V2F','%GL_V3F','%GL_VENDOR',
        -            '%GL_VERSION','%GL_VERSION_1_1','%GL_VERTEX_ARRAY','%GL_VERTEX_ARRAY_COUNT_EXT','%GL_VERTEX_ARRAY_EXT','%GL_VERTEX_ARRAY_POINTER','%GL_VERTEX_ARRAY_POINTER_EXT','%GL_VERTEX_ARRAY_SIZE',
        -            '%GL_VERTEX_ARRAY_SIZE_EXT','%GL_VERTEX_ARRAY_STRIDE','%GL_VERTEX_ARRAY_STRIDE_EXT','%GL_VERTEX_ARRAY_TYPE','%GL_VERTEX_ARRAY_TYPE_EXT','%GL_VIEWPORT','%GL_VIEWPORT_BIT','%GL_WIN_SWAP_HINT',
        -            '%GL_XOR','%GL_ZERO','%GL_ZOOM_X','%GL_ZOOM_Y','%GRAY','%GREEN','%GWLP_HINSTANCE','%GWLP_HWNDPARENT',
        -            '%GWLP_ID','%GWLP_USERDATA','%GWLP_WNDPROC','%GWL_EXSTYLE','%GWL_HINSTANCE','%GWL_HWNDPARENT','%GWL_ID','%GWL_STYLE',
        -            '%GWL_USERDATA','%GWL_WNDPROC','%HDM_FIRST','%HTCAPTION','%HWND_BOTTOM','%HWND_DESKTOP','%HWND_MESSAGE','%HWND_NOTOPMOST',
        -            '%HWND_TOP','%HWND_TOPMOST','%ICRYPTO_XOR_DECREASE','%ICRYPTO_XOR_INCREASE','%ICRYPTO_XOR_NORMAL','%IDABORT','%IDCANCEL','%IDCONTINUE',
        -            '%IDIGNORE','%IDNO','%IDOK','%IDRETRY','%IDTIMEOUT','%IDTRYAGAIN','%IDYES','%INTERNET_CONNECTION_CONFIGURED',
        -            '%INTERNET_CONNECTION_LAN','%INTERNET_CONNECTION_MODEM','%INTERNET_CONNECTION_MODEM_BUSY','%INTERNET_CONNECTION_OFFLINE','%INTERNET_CONNECTION_PROXY','%INTERNET_RAS_INSTALLED','%LBN_DBLCLK','%LBN_KILLFOCUS',
        -            '%LBN_SELCANCEL','%LBN_SELCHANGE','%LBN_SETFOCUS','%LBS_DISABLENOSCROLL','%LBS_EXTENDEDSEL','%LBS_MULTICOLUMN','%LBS_MULTIPLESEL','%LBS_NOINTEGRALHEIGHT',
        -            '%LBS_NOSEL','%LBS_NOTIFY','%LBS_SORT','%LBS_STANDARD','%LBS_USETABSTOPS','%LB_ADDFILE','%LB_ADDSTRING','%LB_DELETESTRING',
        -            '%LB_DIR','%LB_FINDSTRING','%LB_FINDSTRINGEXACT','%LB_GETANCHORINDEX','%LB_GETCARETINDEX','%LB_GETCOUNT','%LB_GETCURSEL','%LB_GETHORIZONTALEXTENT',
        -            '%LB_GETITEMDATA','%LB_GETITEMHEIGHT','%LB_GETITEMRECT','%LB_GETLISTBOXINFO','%LB_GETLOCALE','%LB_GETSEL','%LB_GETSELCOUNT','%LB_GETSELITEMS',
        -            '%LB_GETTEXT','%LB_GETTEXTLEN','%LB_GETTOPINDEX','%LB_INITSTORAGE','%LB_INSERTSTRING','%LB_ITEMFROMPOINT','%LB_MULTIPLEADDSTRING','%LB_RESETCONTENT',
        -            '%LB_SELECTSTRING','%LB_SELITEMRANGE','%LB_SELITEMRANGEEX','%LB_SETANCHORINDEX','%LB_SETCARETINDEX','%LB_SETCOLUMNWIDTH','%LB_SETCOUNT','%LB_SETCURSEL',
        -            '%LB_SETHORIZONTALEXTENT','%LB_SETITEMDATA','%LB_SETITEMHEIGHT','%LB_SETLOCALE','%LB_SETSEL','%LB_SETTABSTOPS','%LB_SETTOPINDEX','%LF_FACESIZE',
        -            '%LTGRAY','%LVM_FIRST','%LWA_ALPHA','%LWA_COLORKEY','%MAGENTA','%MAXBYTE','%MAXCHAR','%MAXDWORD',
        -            '%MAXSHORT','%MAXWORD','%MAX_PATH','%MB_ABORTRETRYIGNORE','%MB_APPLMODAL','%MB_CANCELTRYCONTINUE','%MB_DEFBUTTON1','%MB_DEFBUTTON2',
        -            '%MB_DEFBUTTON3','%MB_HELP','%MB_ICONASTERISK','%MB_ICONERROR','%MB_ICONEXCLAMATION','%MB_ICONHAND','%MB_ICONINFORMATION','%MB_ICONQUESTION',
        -            '%MB_ICONSTOP','%MB_ICONWARNING','%MB_OK','%MB_OKCANCEL','%MB_RETRYCANCEL','%MB_SIMPLE','%MB_SYSTEMMODAL','%MB_TOPMOST',
        -            '%MB_YESNO','%MB_YESNOCANCEL','%MF_CHECKED','%MF_DISABLED','%MF_ENABLED','%MF_GRAYED','%MF_SEPARATOR','%MF_UNCHECKED',
        -            '%MINCHAR','%MINLONG','%MINSHORT','%NULL','%ODBC352_INC','%ODBCVER','%ODBC_ADD_DSN','%ODBC_ADD_SYS_DSN',
        -            '%ODBC_BOTH_DSN','%ODBC_CONFIG_DRIVER','%ODBC_CONFIG_DRIVER_MAX','%ODBC_CONFIG_DSN','%ODBC_CONFIG_SYS_DSN','%ODBC_DRIVER_VERSION','%ODBC_ERROR_COMPONENT_NOT_FOUND','%ODBC_ERROR_CREATE_DSN_FAILED',
        -            '%ODBC_ERROR_GENERAL_ERR','%ODBC_ERROR_INVALID_BUFF_LEN','%ODBC_ERROR_INVALID_DSN','%ODBC_ERROR_INVALID_HWND','%ODBC_ERROR_INVALID_INF','%ODBC_ERROR_INVALID_KEYWORD_VALUE','%ODBC_ERROR_INVALID_LOG_FILE','%ODBC_ERROR_INVALID_NAME',
        -            '%ODBC_ERROR_INVALID_PARAM_SEQUENCE','%ODBC_ERROR_INVALID_PATH','%ODBC_ERROR_INVALID_REQUEST_TYPE','%ODBC_ERROR_INVALID_STR','%ODBC_ERROR_LOAD_LIB_FAILED','%ODBC_ERROR_OUTPUT_STRING_TRUNCATED','%ODBC_ERROR_OUT_OF_MEM','%ODBC_ERROR_REMOVE_DSN_FAILED',
        -            '%ODBC_ERROR_REQUEST_FAILED','%ODBC_ERROR_USAGE_UPDATE_FAILED','%ODBC_ERROR_USER_CANCELED','%ODBC_ERROR_WRITING_SYSINFO_FAILED','%ODBC_INSTALL_COMPLETE','%ODBC_INSTALL_DRIVER','%ODBC_INSTALL_INQUIRY','%ODBC_REMOVE_DEFAULT_DSN',
        -            '%ODBC_REMOVE_DRIVER','%ODBC_REMOVE_DSN','%ODBC_REMOVE_SYS_DSN','%ODBC_SYSTEM_DSN','%ODBC_USER_DSN','%OFN_ALLOWMULTISELECT','%OFN_CREATEPROMPT','%OFN_ENABLEHOOK',
        -            '%OFN_ENABLEINCLUDENOTIFY','%OFN_ENABLESIZING','%OFN_ENABLETEMPLATE','%OFN_ENABLETEMPLATEHANDLE','%OFN_EXPLORER','%OFN_EXTENSIONDIFFERENT','%OFN_FILEMUSTEXIST','%OFN_HIDEREADONLY',
        -            '%OFN_LONGNAMES','%OFN_NOCHANGEDIR','%OFN_NODEREFERENCELINKS','%OFN_NOLONGNAMES','%OFN_NONETWORKBUTTON','%OFN_NOREADONLYRETURN','%OFN_NOTESTFILECREATE','%OFN_NOVALIDATE',
        -            '%OFN_OVERWRITEPROMPT','%OFN_PATHMUSTEXIST','%OFN_READONLY','%OFN_SHAREAWARE','%OFN_SHOWHELP','%OS_ERROR_CALLFUNCTION','%OS_ERROR_EMPTYSTRING','%OS_ERROR_LOADLIBRARY',
        -            '%OS_ERROR_SUCCESS','%OS_ERROR_WRONGPARAMETER','%OS_SHELL_ASYNC','%OS_SHELL_SYNC','%OS_WINDOWS_2K','%OS_WINDOWS_95','%OS_WINDOWS_95_OSR2','%OS_WINDOWS_98',
        -            '%OS_WINDOWS_98_SE','%OS_WINDOWS_ME','%OS_WINDOWS_NT','%OS_WINDOWS_SERVER_2003','%OS_WINDOWS_SERVER_LONGHORN','%OS_WINDOWS_SERVER_LONGHORN_DC','%OS_WINDOWS_VISTA','%OS_WINDOWS_XP',
        -            '%OS_WNDSTYLE_HIDE','%OS_WNDSTYLE_MAXIMIZED','%OS_WNDSTYLE_MINIMIZED','%OS_WNDSTYLE_MINIMIZEDNOFOCUS','%OS_WNDSTYLE_NORMAL','%OS_WNDSTYLE_NORMALNOFOCUS','%PATH_EXT','%PATH_FILE',
        -            '%PATH_FILEEXT','%PATH_ROOT','%PATH_ROOTPATH','%PATH_ROOTPATHPROG','%PATH_ROOTPATHPROGEXT','%PBM_DELTAPOS','%PBM_GETPOS','%PBM_GETRANGE',
        -            '%PBM_SETBARCOLOR','%PBM_SETBKCOLOR','%PBM_SETPOS','%PBM_SETRANGE','%PBM_SETRANGE32','%PBM_SETSTEP','%PBM_STEPIT','%PBS_SMOOTH',
        -            '%PBS_VERTICAL','%PC_DISABLEWAKEEVENT_OFF','%PC_DISABLEWAKEEVENT_ON','%PC_EB_NOCONFIRMATION','%PC_EB_NOPROGRESSUI','%PC_EB_NORMAL','%PC_EB_NOSOUND','%PC_FORCECRITICAL_OFF',
        -            '%PC_FORCECRITICAL_ON','%PC_HIBERNATE_OFF','%PC_HIBERNATE_ON','%PC_RD_FORCE','%PC_RD_FORCEIFHUNG','%PC_RD_LOGOFF','%PC_RD_POWEROFF','%PC_RD_REBOOT',
        -            '%PC_RD_SHUTDOWN','%PC_SD_DONOT_FORCE','%PC_SD_DONOT_REBOOT','%PC_SD_FORCE','%PC_SD_REBOOT','%PFA_CENTER','%PFA_LEFT','%PFA_RIGHT',
        -            '%PF_3DNOW_INSTRUCTIONS_AVAILABLE','%PF_CHANNELS_ENABLED','%PF_COMPARE64_EXCHANGE128','%PF_COMPARE_EXCHANGE128','%PF_COMPARE_EXCHANGE_DOUBLE','%PF_FLOATING_POINT_EMULATED','%PF_FLOATING_POINT_PRECISION_ERRATA','%PF_MMX_INSTRUCTIONS_AVAILABLE',
        -            '%PF_NX_ENABLED','%PF_PAE_ENABLED','%PF_RDTSC_INSTRUCTION_AVAILABLE','%PF_SSE3_INSTRUCTIONS_AVAILABLE','%PF_XMMI64_INSTRUCTIONS_AVAILABLE','%PF_XMMI_INSTRUCTIONS_AVAILABLE','%PGM_FIRST','%RED',
        -            '%RTF_UBB','%SAPI_SVSFDEFAULT','%SAPI_SVSFISFILENAME','%SAPI_SVSFISNOTXML','%SAPI_SVSFISXML','%SAPI_SVSFLAGSASYNC','%SAPI_SVSFNLPMASK','%SAPI_SVSFNLPSPEAKPUNC',
        -            '%SAPI_SVSFPERSISTXML','%SAPI_SVSFPURGEBEFORESPEAK','%SAPI_SVSFUNUSEDFLAGS','%SAPI_SVSFVOICEMASK','%SBS_SIZEGRIP','%SB_BOTTOM','%SB_ENDSCROLL','%SB_LEFT',
        -            '%SB_LINEDOWN','%SB_LINELEFT','%SB_LINERIGHT','%SB_LINEUP','%SB_PAGEDOWN','%SB_PAGELEFT','%SB_PAGERIGHT','%SB_PAGEUP',
        -            '%SB_RIGHT','%SB_SETPARTS','%SB_SETTEXT','%SB_THUMBPOSITION','%SB_THUMBTRACK','%SB_TOP','%SCF_ALL','%SCF_ASSOCIATEFONT',
        -            '%SCF_DEFAULT','%SCF_NOKBUPDATE','%SCF_SELECTION','%SCF_USEUIRULES','%SCF_WORD','%SC_CLOSE','%SC_CONTEXTHELP','%SC_HOTKEY',
        -            '%SC_HSCROLL','%SC_KEYMENU','%SC_MAXIMIZE','%SC_MINIMIZE','%SC_MONITORPOWER','%SC_MOUSEMENU','%SC_MOVE','%SC_NEXTWINDOW',
        -            '%SC_PREVWINDOW','%SC_RESTORE','%SC_SCREENSAVE','%SC_SIZE','%SC_TASKLIST','%SC_VSCROLL','%SERVICE_ACTIVE','%SERVICE_AUTO_START',
        -            '%SERVICE_BOOT_START','%SERVICE_CONTINUE_PENDING','%SERVICE_DEMAND_START','%SERVICE_DISABLED','%SERVICE_DRIVER','%SERVICE_INACTIVE','%SERVICE_INFO_DISPLAY_NAME','%SERVICE_INFO_NAME',
        -            '%SERVICE_PAUSED','%SERVICE_PAUSE_PENDING','%SERVICE_RUNNING','%SERVICE_START_PENDING','%SERVICE_STATE_ALL','%SERVICE_STOPPED','%SERVICE_STOP_PENDING','%SERVICE_SYSTEM_START',
        -            '%SERVICE_TYPE_ALL','%SERVICE_WIN32','%SES_ALLOWBEEPS','%SES_BEEPONMAXTEXT','%SES_BIDI','%SES_EMULATE10','%SES_EMULATESYSEDIT','%SES_EXTENDBACKCOLOR',
        -            '%SES_LOWERCASE','%SES_MAPCPS','%SES_NOIME','%SES_NOINPUTSEQUENCECHK','%SES_SCROLLONKILLFOCUS','%SES_UPPERCASE','%SES_USEAIMM','%SES_USECRLF',
        -            '%SES_XLTCRCRLFTOCR','%SF_RTF','%SF_TEXT','%SMTP_SET_ATTACH_CONTENT_TYPE','%SMTP_SET_CONTENT_TYPE_PREFIX','%SQL_AA_FALSE','%SQL_AA_TRUE','%SQL_ACCESSIBLE_PROCEDURES',
        -            '%SQL_ACCESSIBLE_TABLES','%SQL_ACCESS_MODE','%SQL_ACTIVE_CONNECTIONS','%SQL_ACTIVE_ENVIRONMENTS','%SQL_ACTIVE_STATEMENTS','%SQL_ADD','%SQL_AD_ADD_CONSTRAINT_DEFERRABLE','%SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED',
        -            '%SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE','%SQL_AD_ADD_DOMAIN_CONSTRAINT','%SQL_AD_ADD_DOMAIN_DEFAULT','%SQL_AD_CONSTRAINT_NAME_DEFINITION','%SQL_AD_DROP_DOMAIN_CONSTRAINT','%SQL_AD_DROP_DOMAIN_DEFAULT','%SQL_AF_ALL',
        -            '%SQL_AF_AVG','%SQL_AF_COUNT','%SQL_AF_DISTINCT','%SQL_AF_MAX','%SQL_AF_MIN','%SQL_AF_SUM','%SQL_AGGREGATE_FUNCTIONS','%SQL_ALL_EXCEPT_LIKE',
        -            '%SQL_ALL_TYPES','%SQL_ALTER_DOMAIN','%SQL_ALTER_TABLE','%SQL_AM_CONNECTION','%SQL_AM_NONE','%SQL_AM_STATEMENT','%SQL_API_ALL_FUNCTIONS','%SQL_API_LOADBYORDINAL',
        -            '%SQL_API_ODBC3_ALL_FUNCTIONS','%SQL_API_ODBC3_ALL_FUNCTIONS_SIZE','%SQL_API_SQLALLOCCONNECT','%SQL_API_SQLALLOCENV','%SQL_API_SQLALLOCHANDLE','%SQL_API_SQLALLOCHANDLESTD','%SQL_API_SQLALLOCSTMT','%SQL_API_SQLBINDCOL',
        -            '%SQL_API_SQLBINDPARAM','%SQL_API_SQLBINDPARAMETER','%SQL_API_SQLBROWSECONNECT','%SQL_API_SQLBULKOPERATIONS','%SQL_API_SQLCANCEL','%SQL_API_SQLCLOSECURSOR','%SQL_API_SQLCOLATTRIBUTE','%SQL_API_SQLCOLATTRIBUTES',
        -            '%SQL_API_SQLCOLUMNPRIVILEGES','%SQL_API_SQLCOLUMNS','%SQL_API_SQLCONNECT','%SQL_API_SQLCOPYDESC','%SQL_API_SQLDATASOURCES','%SQL_API_SQLDESCRIBECOL','%SQL_API_SQLDESCRIBEPARAM','%SQL_API_SQLDISCONNECT',
        -            '%SQL_API_SQLDRIVERCONNECT','%SQL_API_SQLDRIVERS','%SQL_API_SQLENDTRAN','%SQL_API_SQLERROR','%SQL_API_SQLEXECDIRECT','%SQL_API_SQLEXECUTE','%SQL_API_SQLEXTENDEDFETCH','%SQL_API_SQLFETCH',
        -            '%SQL_API_SQLFETCHSCROLL','%SQL_API_SQLFOREIGNKEYS','%SQL_API_SQLFREECONNECT','%SQL_API_SQLFREEENV','%SQL_API_SQLFREEHANDLE','%SQL_API_SQLFREESTMT','%SQL_API_SQLGETCONNECTATTR','%SQL_API_SQLGETCONNECTOPTION',
        -            '%SQL_API_SQLGETCURSORNAME','%SQL_API_SQLGETDATA','%SQL_API_SQLGETDESCFIELD','%SQL_API_SQLGETDESCREC','%SQL_API_SQLGETDIAGFIELD','%SQL_API_SQLGETDIAGREC','%SQL_API_SQLGETENVATTR','%SQL_API_SQLGETFUNCTIONS',
        -            '%SQL_API_SQLGETINFO','%SQL_API_SQLGETSTMTATTR','%SQL_API_SQLGETSTMTOPTION','%SQL_API_SQLGETTYPEINFO','%SQL_API_SQLMORERESULTS','%SQL_API_SQLNATIVESQL','%SQL_API_SQLNUMPARAMS','%SQL_API_SQLNUMRESULTCOLS',
        -            '%SQL_API_SQLPARAMDATA','%SQL_API_SQLPARAMOPTIONS','%SQL_API_SQLPREPARE','%SQL_API_SQLPRIMARYKEYS','%SQL_API_SQLPROCEDURECOLUMNS','%SQL_API_SQLPROCEDURES','%SQL_API_SQLPUTDATA','%SQL_API_SQLROWCOUNT',
        -            '%SQL_API_SQLSETCONNECTATTR','%SQL_API_SQLSETCONNECTOPTION','%SQL_API_SQLSETCURSORNAME','%SQL_API_SQLSETDESCFIELD','%SQL_API_SQLSETDESCREC','%SQL_API_SQLSETENVATTR','%SQL_API_SQLSETPARAM','%SQL_API_SQLSETPOS',
        -            '%SQL_API_SQLSETSCROLLOPTIONS','%SQL_API_SQLSETSTMTATTR','%SQL_API_SQLSETSTMTOPTION','%SQL_API_SQLSPECIALCOLUMNS','%SQL_API_SQLSTATISTICS','%SQL_API_SQLTABLEPRIVILEGES','%SQL_API_SQLTABLES','%SQL_API_SQLTRANSACT',
        -            '%SQL_ARD_TYPE','%SQL_ASYNC_ENABLE','%SQL_ASYNC_ENABLE_DEFAULT','%SQL_ASYNC_ENABLE_OFF','%SQL_ASYNC_ENABLE_ON','%SQL_ASYNC_MODE','%SQL_ATTR_ACCESS_MODE','%SQL_ATTR_ANSI_APP',
        -            '%SQL_ATTR_APP_PARAM_DESC','%SQL_ATTR_APP_ROW_DESC','%SQL_ATTR_ASYNC_ENABLE','%SQL_ATTR_AUTOCOMMIT','%SQL_ATTR_AUTO_IPD','%SQL_ATTR_CONCURRENCY','%SQL_ATTR_CONNECTION_DEAD','%SQL_ATTR_CONNECTION_POOLING',
        -            '%SQL_ATTR_CONNECTION_TIMEOUT','%SQL_ATTR_CP_MATCH','%SQL_ATTR_CURRENT_CATALOG','%SQL_ATTR_CURSOR_SCROLLABLE','%SQL_ATTR_CURSOR_SENSITIVITY','%SQL_ATTR_CURSOR_TYPE','%SQL_ATTR_DISCONNECT_BEHAVIOR','%SQL_ATTR_ENABLE_AUTO_IPD',
        -            '%SQL_ATTR_ENLIST_IN_DTC','%SQL_ATTR_ENLIST_IN_XA','%SQL_ATTR_FETCH_BOOKMARK_PTR','%SQL_ATTR_IMP_PARAM_DESC','%SQL_ATTR_IMP_ROW_DESC','%SQL_ATTR_KEYSET_SIZE','%SQL_ATTR_LOGIN_TIMEOUT','%SQL_ATTR_MAX_LENGTH',
        -            '%SQL_ATTR_MAX_ROWS','%SQL_ATTR_METADATA_ID','%SQL_ATTR_NOSCAN','%SQL_ATTR_ODBC_CURSORS','%SQL_ATTR_ODBC_VERSION','%SQL_ATTR_OUTPUT_NTS','%SQL_ATTR_PACKET_SIZE','%SQL_ATTR_PARAMSET_SIZE',
        -            '%SQL_ATTR_PARAMS_PROCESSED_PTR','%SQL_ATTR_PARAM_BIND_OFFSET_PTR','%SQL_ATTR_PARAM_BIND_TYPE','%SQL_ATTR_PARAM_OPERATION_PTR','%SQL_ATTR_PARAM_STATUS_PTR','%SQL_ATTR_QUERY_TIMEOUT','%SQL_ATTR_QUIET_MODE','%SQL_ATTR_READONLY',
        -            '%SQL_ATTR_READWRITE_UNKNOWN','%SQL_ATTR_RETRIEVE_DATA','%SQL_ATTR_ROWS_FETCHED_PTR','%SQL_ATTR_ROW_ARRAY_SIZE','%SQL_ATTR_ROW_BIND_OFFSET_PTR','%SQL_ATTR_ROW_BIND_TYPE','%SQL_ATTR_ROW_NUMBER','%SQL_ATTR_ROW_OPERATION_PTR',
        -            '%SQL_ATTR_ROW_STATUS_PTR','%SQL_ATTR_SIMULATE_CURSOR','%SQL_ATTR_TRACE','%SQL_ATTR_TRACEFILE','%SQL_ATTR_TRANSLATE_LIB','%SQL_ATTR_TRANSLATE_OPTION','%SQL_ATTR_TXN_ISOLATION','%SQL_ATTR_USE_BOOKMARKS',
        -            '%SQL_ATTR_WRITE','%SQL_AT_ADD_COLUMN','%SQL_AT_ADD_COLUMN_COLLATION','%SQL_AT_ADD_COLUMN_DEFAULT','%SQL_AT_ADD_COLUMN_SINGLE','%SQL_AT_ADD_CONSTRAINT','%SQL_AT_ADD_TABLE_CONSTRAINT','%SQL_AT_CONSTRAINT_DEFERRABLE',
        -            '%SQL_AT_CONSTRAINT_INITIALLY_DEFERRED','%SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_AT_CONSTRAINT_NAME_DEFINITION','%SQL_AT_CONSTRAINT_NON_DEFERRABLE','%SQL_AT_DROP_COLUMN','%SQL_AT_DROP_COLUMN_CASCADE','%SQL_AT_DROP_COLUMN_DEFAULT','%SQL_AT_DROP_COLUMN_RESTRICT',
        -            '%SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE','%SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT','%SQL_AT_SET_COLUMN_DEFAULT','%SQL_AUTOCOMMIT','%SQL_AUTOCOMMIT_DEFAULT','%SQL_AUTOCOMMIT_OFF','%SQL_AUTOCOMMIT_ON','%SQL_BATCH_ROW_COUNT',
        -            '%SQL_BATCH_SUPPORT','%SQL_BEST_ROWID','%SQL_BIGINT','%SQL_BINARY','%SQL_BIND_BY_COLUMN','%SQL_BIND_TYPE','%SQL_BIND_TYPE_DEFAULT','%SQL_BIT',
        -            '%SQL_BOOKMARK_PERSISTENCE','%SQL_BP_CLOSE','%SQL_BP_DELETE','%SQL_BP_DROP','%SQL_BP_OTHER_HSTMT','%SQL_BP_SCROLL','%SQL_BP_TRANSACTION','%SQL_BP_UPDATE',
        -            '%SQL_BRC_EXPLICIT','%SQL_BRC_PROCEDURES','%SQL_BRC_ROLLED_UP','%SQL_BS_ROW_COUNT_EXPLICIT','%SQL_BS_ROW_COUNT_PROC','%SQL_BS_SELECT_EXPLICIT','%SQL_BS_SELECT_PROC','%SQL_CA1_ABSOLUTE',
        -            '%SQL_CA1_BOOKMARK','%SQL_CA1_BULK_ADD','%SQL_CA1_BULK_DELETE_BY_BOOKMARK','%SQL_CA1_BULK_FETCH_BY_BOOKMARK','%SQL_CA1_BULK_UPDATE_BY_BOOKMARK','%SQL_CA1_LOCK_EXCLUSIVE','%SQL_CA1_LOCK_NO_CHANGE','%SQL_CA1_LOCK_UNLOCK',
        -            '%SQL_CA1_NEXT','%SQL_CA1_POSITIONED_DELETE','%SQL_CA1_POSITIONED_UPDATE','%SQL_CA1_POS_DELETE','%SQL_CA1_POS_POSITION','%SQL_CA1_POS_REFRESH','%SQL_CA1_POS_UPDATE','%SQL_CA1_RELATIVE',
        -            '%SQL_CA1_SELECT_FOR_UPDATE','%SQL_CA2_CRC_APPROXIMATE','%SQL_CA2_CRC_EXACT','%SQL_CA2_LOCK_CONCURRENCY','%SQL_CA2_MAX_ROWS_AFFECTS_ALL','%SQL_CA2_MAX_ROWS_CATALOG','%SQL_CA2_MAX_ROWS_DELETE','%SQL_CA2_MAX_ROWS_INSERT',
        -            '%SQL_CA2_MAX_ROWS_SELECT','%SQL_CA2_MAX_ROWS_UPDATE','%SQL_CA2_OPT_ROWVER_CONCURRENCY','%SQL_CA2_OPT_VALUES_CONCURRENCY','%SQL_CA2_READ_ONLY_CONCURRENCY','%SQL_CA2_SENSITIVITY_ADDITIONS','%SQL_CA2_SENSITIVITY_DELETIONS','%SQL_CA2_SENSITIVITY_UPDATES',
        -            '%SQL_CA2_SIMULATE_NON_UNIQUE','%SQL_CA2_SIMULATE_TRY_UNIQUE','%SQL_CA2_SIMULATE_UNIQUE','%SQL_CASCADE','%SQL_CATALOG_LOCATION','%SQL_CATALOG_NAME','%SQL_CATALOG_NAME_SEPARATOR','%SQL_CATALOG_TERM',
        -            '%SQL_CATALOG_USAGE','%SQL_CA_CONSTRAINT_DEFERRABLE','%SQL_CA_CONSTRAINT_INITIALLY_DEFERRED','%SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CA_CONSTRAINT_NON_DEFERRABLE','%SQL_CA_CREATE_ASSERTION','%SQL_CB_CLOSE','%SQL_CB_DELETE',
        -            '%SQL_CB_NON_NULL','%SQL_CB_NULL','%SQL_CB_PRESERVE','%SQL_CCOL_CREATE_COLLATION','%SQL_CCS_COLLATE_CLAUSE','%SQL_CCS_CREATE_CHARACTER_SET','%SQL_CCS_LIMITED_COLLATION','%SQL_CC_CLOSE',
        -            '%SQL_CC_DELETE','%SQL_CC_PRESERVE','%SQL_CDO_COLLATION','%SQL_CDO_CONSTRAINT','%SQL_CDO_CONSTRAINT_DEFERRABLE','%SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED','%SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CDO_CONSTRAINT_NAME_DEFINITION',
        -            '%SQL_CDO_CONSTRAINT_NON_DEFERRABLE','%SQL_CDO_CREATE_DOMAIN','%SQL_CDO_DEFAULT','%SQL_CD_FALSE','%SQL_CD_TRUE','%SQL_CHAR','%SQL_CLOSE','%SQL_CL_END',
        -            '%SQL_CL_START','%SQL_CN_ANY','%SQL_CN_DIFFERENT','%SQL_CN_NONE','%SQL_CODE_DATE','%SQL_CODE_DAY','%SQL_CODE_DAY_TO_HOUR','%SQL_CODE_DAY_TO_MINUTE',
        -            '%SQL_CODE_DAY_TO_SECOND','%SQL_CODE_HOUR','%SQL_CODE_HOUR_TO_MINUTE','%SQL_CODE_HOUR_TO_SECOND','%SQL_CODE_MINUTE','%SQL_CODE_MINUTE_TO_SECOND','%SQL_CODE_MONTH','%SQL_CODE_SECOND',
        -            '%SQL_CODE_TIME','%SQL_CODE_TIMESTAMP','%SQL_CODE_YEAR','%SQL_CODE_YEAR_TO_MONTH','%SQL_COLATT_OPT_MAX','%SQL_COLATT_OPT_MIN','%SQL_COLLATION_SEQ','%SQL_COLUMN_ALIAS',
        -            '%SQL_COLUMN_AUTO_INCREMENT','%SQL_COLUMN_CASE_SENSITIVE','%SQL_COLUMN_COUNT','%SQL_COLUMN_DISPLAY_SIZE','%SQL_COLUMN_IGNORE','%SQL_COLUMN_LABEL','%SQL_COLUMN_LENGTH','%SQL_COLUMN_MONEY',
        -            '%SQL_COLUMN_NAME','%SQL_COLUMN_NULLABLE','%SQL_COLUMN_NUMBER_UNKNOWN','%SQL_COLUMN_OWNER_NAME','%SQL_COLUMN_PRECISION','%SQL_COLUMN_QUALIFIER_NAME','%SQL_COLUMN_SCALE','%SQL_COLUMN_SEARCHABLE',
        -            '%SQL_COLUMN_TABLE_NAME','%SQL_COLUMN_TYPE','%SQL_COLUMN_TYPE_NAME','%SQL_COLUMN_UNSIGNED','%SQL_COLUMN_UPDATABLE','%SQL_COL_PRED_BASIC','%SQL_COL_PRED_CHAR','%SQL_COMMIT',
        -            '%SQL_CONCAT_NULL_BEHAVIOR','%SQL_CONCURRENCY','%SQL_CONCUR_DEFAULT','%SQL_CONCUR_LOCK','%SQL_CONCUR_READ_ONLY','%SQL_CONCUR_ROWVER','%SQL_CONCUR_TIMESTAMP','%SQL_CONCUR_VALUES',
        -            '%SQL_CONVERT_BIGINT','%SQL_CONVERT_BINARY','%SQL_CONVERT_BIT','%SQL_CONVERT_CHAR','%SQL_CONVERT_DATE','%SQL_CONVERT_DECIMAL','%SQL_CONVERT_DOUBLE','%SQL_CONVERT_FLOAT',
        -            '%SQL_CONVERT_FUNCTIONS','%SQL_CONVERT_GUID','%SQL_CONVERT_INTEGER','%SQL_CONVERT_INTERVAL_DAY_TIME','%SQL_CONVERT_INTERVAL_YEAR_MONTH','%SQL_CONVERT_LONGVARBINARY','%SQL_CONVERT_LONGVARCHAR','%SQL_CONVERT_NUMERIC',
        -            '%SQL_CONVERT_REAL','%SQL_CONVERT_SMALLINT','%SQL_CONVERT_TIME','%SQL_CONVERT_TIMESTAMP','%SQL_CONVERT_TINYINT','%SQL_CONVERT_VARBINARY','%SQL_CONVERT_VARCHAR','%SQL_CONVERT_WCHAR',
        -            '%SQL_CONVERT_WLONGVARCHAR','%SQL_CONVERT_WVARCHAR','%SQL_CORRELATION_NAME','%SQL_CP_DEFAULT','%SQL_CP_MATCH_DEFAULT','%SQL_CP_OFF','%SQL_CP_ONE_PER_DRIVER','%SQL_CP_ONE_PER_HENV',
        -            '%SQL_CP_RELAXED_MATCH','%SQL_CP_STRICT_MATCH','%SQL_CREATE_ASSERTION','%SQL_CREATE_CHARACTER_SET','%SQL_CREATE_COLLATION','%SQL_CREATE_DOMAIN','%SQL_CREATE_SCHEMA','%SQL_CREATE_TABLE',
        -            '%SQL_CREATE_TRANSLATION','%SQL_CREATE_VIEW','%SQL_CR_CLOSE','%SQL_CR_DELETE','%SQL_CR_PRESERVE','%SQL_CS_AUTHORIZATION','%SQL_CS_CREATE_SCHEMA','%SQL_CS_DEFAULT_CHARACTER_SET',
        -            '%SQL_CTR_CREATE_TRANSLATION','%SQL_CT_COLUMN_COLLATION','%SQL_CT_COLUMN_CONSTRAINT','%SQL_CT_COLUMN_DEFAULT','%SQL_CT_COMMIT_DELETE','%SQL_CT_COMMIT_PRESERVE','%SQL_CT_CONSTRAINT_DEFERRABLE','%SQL_CT_CONSTRAINT_INITIALLY_DEFERRED',
        -            '%SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CT_CONSTRAINT_NAME_DEFINITION','%SQL_CT_CONSTRAINT_NON_DEFERRABLE','%SQL_CT_CREATE_TABLE','%SQL_CT_GLOBAL_TEMPORARY','%SQL_CT_LOCAL_TEMPORARY','%SQL_CT_TABLE_CONSTRAINT','%SQL_CURRENT_QUALIFIER',
        -            '%SQL_CURSOR_COMMIT_BEHAVIOR','%SQL_CURSOR_DYNAMIC','%SQL_CURSOR_FORWARD_ONLY','%SQL_CURSOR_KEYSET_DRIVEN','%SQL_CURSOR_ROLLBACK_BEHAVIOR','%SQL_CURSOR_SENSITIVITY','%SQL_CURSOR_STATIC','%SQL_CURSOR_TYPE',
        -            '%SQL_CURSOR_TYPE_DEFAULT','%SQL_CUR_DEFAULT','%SQL_CUR_USE_DRIVER','%SQL_CUR_USE_IF_NEEDED','%SQL_CUR_USE_ODBC','%SQL_CU_DML_STATEMENTS','%SQL_CU_INDEX_DEFINITION','%SQL_CU_PRIVILEGE_DEFINITION',
        -            '%SQL_CU_PROCEDURE_INVOCATION','%SQL_CU_TABLE_DEFINITION','%SQL_CVT_BIGINT','%SQL_CVT_BINARY','%SQL_CVT_BIT','%SQL_CVT_CHAR','%SQL_CVT_DATE','%SQL_CVT_DECIMAL',
        -            '%SQL_CVT_DOUBLE','%SQL_CVT_FLOAT','%SQL_CVT_GUID','%SQL_CVT_INTEGER','%SQL_CVT_INTERVAL_DAY_TIME','%SQL_CVT_INTERVAL_YEAR_MONTH','%SQL_CVT_LONGVARBINARY','%SQL_CVT_LONGVARCHAR',
        -            '%SQL_CVT_NUMERIC','%SQL_CVT_REAL','%SQL_CVT_SMALLINT','%SQL_CVT_TIME','%SQL_CVT_TIMESTAMP','%SQL_CVT_TINYINT','%SQL_CVT_VARBINARY','%SQL_CVT_VARCHAR',
        -            '%SQL_CVT_WCHAR','%SQL_CVT_WLONGVARCHAR','%SQL_CVT_WVARCHAR','%SQL_CV_CASCADED','%SQL_CV_CHECK_OPTION','%SQL_CV_CREATE_VIEW','%SQL_CV_LOCAL','%SQL_C_BINARY',
        -            '%SQL_C_BIT','%SQL_C_BOOKMARK','%SQL_C_CHAR','%SQL_C_DATE','%SQL_C_DEFAULT','%SQL_C_DOUBLE','%SQL_C_FLOAT','%SQL_C_GUID',
        -            '%SQL_C_INTERVAL_DAY','%SQL_C_INTERVAL_DAY_TO_HOUR','%SQL_C_INTERVAL_DAY_TO_MINUTE','%SQL_C_INTERVAL_DAY_TO_SECOND','%SQL_C_INTERVAL_HOUR','%SQL_C_INTERVAL_HOUR_TO_MINUTE','%SQL_C_INTERVAL_HOUR_TO_SECOND','%SQL_C_INTERVAL_MINUTE',
        -            '%SQL_C_INTERVAL_MINUTE_TO_SECOND','%SQL_C_INTERVAL_MONTH','%SQL_C_INTERVAL_SECOND','%SQL_C_INTERVAL_YEAR','%SQL_C_INTERVAL_YEAR_TO_MONTH','%SQL_C_LONG','%SQL_C_NUMERIC','%SQL_C_SBIGINT',
        -            '%SQL_C_SHORT','%SQL_C_SLONG','%SQL_C_SSHORT','%SQL_C_STINYINT','%SQL_C_TIME','%SQL_C_TIMESTAMP','%SQL_C_TINYINT','%SQL_C_TYPE_DATE',
        -            '%SQL_C_TYPE_TIME','%SQL_C_TYPE_TIMESTAMP','%SQL_C_UBIGINT','%SQL_C_ULONG','%SQL_C_USHORT','%SQL_C_UTINYINT','%SQL_C_VARBOOKMARK','%SQL_DATABASE_NAME',
        -            '%SQL_DATA_AT_EXEC','%SQL_DATA_SOURCE_NAME','%SQL_DATA_SOURCE_READ_ONLY','%SQL_DATE','%SQL_DATETIME','%SQL_DATETIME_LITERALS','%SQL_DATE_LEN','%SQL_DAY',
        -            '%SQL_DAY_TO_HOUR','%SQL_DAY_TO_MINUTE','%SQL_DAY_TO_SECOND','%SQL_DA_DROP_ASSERTION','%SQL_DBMS_NAME','%SQL_DBMS_VER','%SQL_DB_DEFAULT','%SQL_DB_DISCONNECT',
        -            '%SQL_DB_RETURN_TO_POOL','%SQL_DCS_DROP_CHARACTER_SET','%SQL_DC_DROP_COLLATION','%SQL_DDL_INDEX','%SQL_DD_CASCADE','%SQL_DD_DROP_DOMAIN','%SQL_DD_RESTRICT','%SQL_DECIMAL',
        -            '%SQL_DEFAULT','%SQL_DEFAULT_PARAM','%SQL_DEFAULT_TXN_ISOLATION','%SQL_DELETE','%SQL_DELETE_BY_BOOKMARK','%SQL_DESCRIBE_PARAMETER','%SQL_DESC_ALLOC_AUTO','%SQL_DESC_ALLOC_TYPE',
        -            '%SQL_DESC_ALLOC_USER','%SQL_DESC_ARRAY_SIZE','%SQL_DESC_ARRAY_STATUS_PTR','%SQL_DESC_AUTO_UNIQUE_VALUE','%SQL_DESC_BASE_COLUMN_NAME','%SQL_DESC_BASE_TABLE_NAME','%SQL_DESC_BIND_OFFSET_PTR','%SQL_DESC_BIND_TYPE',
        -            '%SQL_DESC_CASE_SENSITIVE','%SQL_DESC_CATALOG_NAME','%SQL_DESC_CONCISE_TYPE','%SQL_DESC_COUNT','%SQL_DESC_DATA_PTR','%SQL_DESC_DATETIME_INTERVAL_CODE','%SQL_DESC_DATETIME_INTERVAL_PRECISION','%SQL_DESC_DISPLAY_SIZE',
        -            '%SQL_DESC_FIXED_PREC_SCALE','%SQL_DESC_INDICATOR_PTR','%SQL_DESC_LABEL','%SQL_DESC_LENGTH','%SQL_DESC_LITERAL_PREFIX','%SQL_DESC_LITERAL_SUFFIX','%SQL_DESC_LOCAL_TYPE_NAME','%SQL_DESC_MAXIMUM_SCALE',
        -            '%SQL_DESC_MINIMUM_SCALE','%SQL_DESC_NAME','%SQL_DESC_NULLABLE','%SQL_DESC_NUM_PREC_RADIX','%SQL_DESC_OCTET_LENGTH','%SQL_DESC_OCTET_LENGTH_PTR','%SQL_DESC_PARAMETER_TYPE','%SQL_DESC_PRECISION',
        -            '%SQL_DESC_ROWS_PROCESSED_PTR','%SQL_DESC_SCALE','%SQL_DESC_SCHEMA_NAME','%SQL_DESC_SEARCHABLE','%SQL_DESC_TABLE_NAME','%SQL_DESC_TYPE','%SQL_DESC_TYPE_NAME','%SQL_DESC_UNNAMED',
        -            '%SQL_DESC_UNSIGNED','%SQL_DESC_UPDATABLE','%SQL_DIAG_ALTER_TABLE','%SQL_DIAG_CALL','%SQL_DIAG_CLASS_ORIGIN','%SQL_DIAG_COLUMN_NUMBER','%SQL_DIAG_CONNECTION_NAME','%SQL_DIAG_CREATE_INDEX',
        -            '%SQL_DIAG_CREATE_TABLE','%SQL_DIAG_CREATE_VIEW','%SQL_DIAG_CURSOR_ROW_COUNT','%SQL_DIAG_DELETE_WHERE','%SQL_DIAG_DROP_INDEX','%SQL_DIAG_DROP_TABLE','%SQL_DIAG_DROP_VIEW','%SQL_DIAG_DYNAMIC_DELETE_CURSOR',
        -            '%SQL_DIAG_DYNAMIC_FUNCTION','%SQL_DIAG_DYNAMIC_FUNCTION_CODE','%SQL_DIAG_DYNAMIC_UPDATE_CURSOR','%SQL_DIAG_GRANT','%SQL_DIAG_INSERT','%SQL_DIAG_MESSAGE_TEXT','%SQL_DIAG_NATIVE','%SQL_DIAG_NUMBER',
        -            '%SQL_DIAG_RETURNCODE','%SQL_DIAG_REVOKE','%SQL_DIAG_ROW_COUNT','%SQL_DIAG_ROW_NUMBER','%SQL_DIAG_SELECT_CURSOR','%SQL_DIAG_SERVER_NAME','%SQL_DIAG_SQLSTATE','%SQL_DIAG_SUBCLASS_ORIGIN',
        -            '%SQL_DIAG_UNKNOWN_STATEMENT','%SQL_DIAG_UPDATE_WHERE','%SQL_DI_CREATE_INDEX','%SQL_DI_DROP_INDEX','%SQL_DL_SQL92_DATE','%SQL_DL_SQL92_INTERVAL_DAY','%SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR','%SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE',
        -            '%SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND','%SQL_DL_SQL92_INTERVAL_HOUR','%SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE','%SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND','%SQL_DL_SQL92_INTERVAL_MINUTE','%SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND','%SQL_DL_SQL92_INTERVAL_MONTH','%SQL_DL_SQL92_INTERVAL_SECOND',
        -            '%SQL_DL_SQL92_INTERVAL_YEAR','%SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH','%SQL_DL_SQL92_TIME','%SQL_DL_SQL92_TIMESTAMP','%SQL_DM_VER','%SQL_DOUBLE','%SQL_DRIVER_COMPLETE','%SQL_DRIVER_COMPLETE_REQUIRED',
        -            '%SQL_DRIVER_HDBC','%SQL_DRIVER_HDESC','%SQL_DRIVER_HENV','%SQL_DRIVER_HLIB','%SQL_DRIVER_HSTMT','%SQL_DRIVER_NAME','%SQL_DRIVER_NOPROMPT','%SQL_DRIVER_ODBC_VER',
        -            '%SQL_DRIVER_PROMPT','%SQL_DRIVER_VER','%SQL_DROP','%SQL_DROP_ASSERTION','%SQL_DROP_CHARACTER_SET','%SQL_DROP_COLLATION','%SQL_DROP_DOMAIN','%SQL_DROP_SCHEMA',
        -            '%SQL_DROP_TABLE','%SQL_DROP_TRANSLATION','%SQL_DROP_VIEW','%SQL_DS_CASCADE','%SQL_DS_DROP_SCHEMA','%SQL_DS_RESTRICT','%SQL_DTC_DONE','%SQL_DTC_ENLIST_EXPENSIVE',
        -            '%SQL_DTC_TRANSITION_COST','%SQL_DTC_UNENLIST_EXPENSIVE','%SQL_DTR_DROP_TRANSLATION','%SQL_DT_CASCADE','%SQL_DT_DROP_TABLE','%SQL_DT_RESTRICT','%SQL_DV_CASCADE','%SQL_DV_DROP_VIEW',
        -            '%SQL_DV_RESTRICT','%SQL_DYNAMIC_CURSOR_ATTRIBUTES1','%SQL_DYNAMIC_CURSOR_ATTRIBUTES2','%SQL_ENSURE','%SQL_ENTIRE_ROWSET','%SQL_ERROR','%SQL_EXPRESSIONS_IN_ORDERBY','%SQL_FALSE',
        -            '%SQL_FD_FETCH_ABSOLUTE','%SQL_FD_FETCH_BOOKMARK','%SQL_FD_FETCH_FIRST','%SQL_FD_FETCH_LAST','%SQL_FD_FETCH_NEXT','%SQL_FD_FETCH_PREV','%SQL_FD_FETCH_PRIOR','%SQL_FD_FETCH_RELATIVE',
        -            '%SQL_FETCH_ABSOLUTE','%SQL_FETCH_BOOKMARK','%SQL_FETCH_BY_BOOKMARK','%SQL_FETCH_DIRECTION','%SQL_FETCH_FIRST','%SQL_FETCH_FIRST_SYSTEM','%SQL_FETCH_FIRST_USER','%SQL_FETCH_LAST',
        -            '%SQL_FETCH_NEXT','%SQL_FETCH_PREV','%SQL_FETCH_PRIOR','%SQL_FETCH_RELATIVE','%SQL_FILE_CATALOG','%SQL_FILE_NOT_SUPPORTED','%SQL_FILE_QUALIFIER','%SQL_FILE_TABLE',
        -            '%SQL_FILE_USAGE','%SQL_FLOAT','%SQL_FN_CVT_CAST','%SQL_FN_CVT_CONVERT','%SQL_FN_NUM_ABS','%SQL_FN_NUM_ACOS','%SQL_FN_NUM_ASIN','%SQL_FN_NUM_ATAN',
        -            '%SQL_FN_NUM_ATAN2','%SQL_FN_NUM_CEILING','%SQL_FN_NUM_COS','%SQL_FN_NUM_COT','%SQL_FN_NUM_DEGREES','%SQL_FN_NUM_EXP','%SQL_FN_NUM_FLOOR','%SQL_FN_NUM_LOG',
        -            '%SQL_FN_NUM_LOG10','%SQL_FN_NUM_MOD','%SQL_FN_NUM_PI','%SQL_FN_NUM_POWER','%SQL_FN_NUM_RADIANS','%SQL_FN_NUM_RAND','%SQL_FN_NUM_ROUND','%SQL_FN_NUM_SIGN',
        -            '%SQL_FN_NUM_SIN','%SQL_FN_NUM_SQRT','%SQL_FN_NUM_TAN','%SQL_FN_NUM_TRUNCATE','%SQL_FN_STR_ASCII','%SQL_FN_STR_BIT_LENGTH','%SQL_FN_STR_CHAR','%SQL_FN_STR_CHARACTER_LENGTH',
        -            '%SQL_FN_STR_CHAR_LENGTH','%SQL_FN_STR_CONCAT','%SQL_FN_STR_DIFFERENCE','%SQL_FN_STR_INSERT','%SQL_FN_STR_LCASE','%SQL_FN_STR_LEFT','%SQL_FN_STR_LENGTH','%SQL_FN_STR_LOCATE',
        -            '%SQL_FN_STR_LOCATE_2','%SQL_FN_STR_LTRIM','%SQL_FN_STR_OCTET_LENGTH','%SQL_FN_STR_POSITION','%SQL_FN_STR_REPEAT','%SQL_FN_STR_REPLACE','%SQL_FN_STR_RIGHT','%SQL_FN_STR_RTRIM',
        -            '%SQL_FN_STR_SOUNDEX','%SQL_FN_STR_SPACE','%SQL_FN_STR_SUBSTRING','%SQL_FN_STR_UCASE','%SQL_FN_SYS_DBNAME','%SQL_FN_SYS_IFNULL','%SQL_FN_SYS_USERNAME','%SQL_FN_TD_CURDATE',
        -            '%SQL_FN_TD_CURRENT_DATE','%SQL_FN_TD_CURRENT_TIME','%SQL_FN_TD_CURRENT_TIMESTAMP','%SQL_FN_TD_CURTIME','%SQL_FN_TD_DAYNAME','%SQL_FN_TD_DAYOFMONTH','%SQL_FN_TD_DAYOFWEEK','%SQL_FN_TD_DAYOFYEAR',
        -            '%SQL_FN_TD_EXTRACT','%SQL_FN_TD_HOUR','%SQL_FN_TD_MINUTE','%SQL_FN_TD_MONTH','%SQL_FN_TD_MONTHNAME','%SQL_FN_TD_NOW','%SQL_FN_TD_QUARTER','%SQL_FN_TD_SECOND',
        -            '%SQL_FN_TD_TIMESTAMPADD','%SQL_FN_TD_TIMESTAMPDIFF','%SQL_FN_TD_WEEK','%SQL_FN_TD_YEAR','%SQL_FN_TSI_DAY','%SQL_FN_TSI_FRAC_SECOND','%SQL_FN_TSI_HOUR','%SQL_FN_TSI_MINUTE',
        -            '%SQL_FN_TSI_MONTH','%SQL_FN_TSI_QUARTER','%SQL_FN_TSI_SECOND','%SQL_FN_TSI_WEEK','%SQL_FN_TSI_YEAR','%SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1','%SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2','%SQL_GB_COLLATE',
        -            '%SQL_GB_GROUP_BY_CONTAINS_SELECT','%SQL_GB_GROUP_BY_EQUALS_SELECT','%SQL_GB_NOT_SUPPORTED','%SQL_GB_NO_RELATION','%SQL_GD_ANY_COLUMN','%SQL_GD_ANY_ORDER','%SQL_GD_BLOCK','%SQL_GD_BOUND',
        -            '%SQL_GETDATA_EXTENSIONS','%SQL_GET_BOOKMARK','%SQL_GROUP_BY','%SQL_GUID','%SQL_HANDLE_DBC','%SQL_HANDLE_DESC','%SQL_HANDLE_ENV','%SQL_HANDLE_SENV',
        -            '%SQL_HANDLE_STMT','%SQL_HOUR','%SQL_HOUR_TO_MINUTE','%SQL_HOUR_TO_SECOND','%SQL_IC_LOWER','%SQL_IC_MIXED','%SQL_IC_SENSITIVE','%SQL_IC_UPPER',
        -            '%SQL_IDENTIFIER_CASE','%SQL_IDENTIFIER_QUOTE_CHAR','%SQL_IGNORE','%SQL_IK_ALL','%SQL_IK_ASC','%SQL_IK_DESC','%SQL_IK_NONE','%SQL_INDEX_ALL',
        -            '%SQL_INDEX_CLUSTERED','%SQL_INDEX_HASHED','%SQL_INDEX_KEYWORDS','%SQL_INDEX_OTHER','%SQL_INDEX_UNIQUE','%SQL_INFO_FIRST','%SQL_INFO_SCHEMA_VIEWS','%SQL_INITIALLY_DEFERRED',
        -            '%SQL_INITIALLY_IMMEDIATE','%SQL_INSENSITIVE','%SQL_INSERT_STATEMENT','%SQL_INTEGER','%SQL_INTEGRITY','%SQL_INTERVAL','%SQL_INTERVAL_DAY','%SQL_INTERVAL_DAY_TO_HOUR',
        -            '%SQL_INTERVAL_DAY_TO_MINUTE','%SQL_INTERVAL_DAY_TO_SECOND','%SQL_INTERVAL_HOUR','%SQL_INTERVAL_HOUR_TO_MINUTE','%SQL_INTERVAL_HOUR_TO_SECOND','%SQL_INTERVAL_MINUTE','%SQL_INTERVAL_MINUTE_TO_SECOND','%SQL_INTERVAL_MONTH',
        -            '%SQL_INTERVAL_SECOND','%SQL_INTERVAL_YEAR','%SQL_INTERVAL_YEAR_TO_MONTH','%SQL_INVALID_HANDLE','%SQL_ISV_ASSERTIONS','%SQL_ISV_CHARACTER_SETS','%SQL_ISV_CHECK_CONSTRAINTS','%SQL_ISV_COLLATIONS',
        -            '%SQL_ISV_COLUMNS','%SQL_ISV_COLUMN_DOMAIN_USAGE','%SQL_ISV_COLUMN_PRIVILEGES','%SQL_ISV_CONSTRAINT_COLUMN_USAGE','%SQL_ISV_CONSTRAINT_TABLE_USAGE','%SQL_ISV_DOMAINS','%SQL_ISV_DOMAIN_CONSTRAINTS','%SQL_ISV_KEY_COLUMN_USAGE',
        -            '%SQL_ISV_REFERENTIAL_CONSTRAINTS','%SQL_ISV_SCHEMATA','%SQL_ISV_SQL_LANGUAGES','%SQL_ISV_TABLES','%SQL_ISV_TABLE_CONSTRAINTS','%SQL_ISV_TABLE_PRIVILEGES','%SQL_ISV_TRANSLATIONS','%SQL_ISV_USAGE_PRIVILEGES',
        -            '%SQL_ISV_VIEWS','%SQL_ISV_VIEW_COLUMN_USAGE','%SQL_ISV_VIEW_TABLE_USAGE','%SQL_IS_DAY','%SQL_IS_DAY_TO_HOUR','%SQL_IS_DAY_TO_MINUTE','%SQL_IS_DAY_TO_SECOND','%SQL_IS_HOUR',
        -            '%SQL_IS_HOUR_TO_MINUTE','%SQL_IS_HOUR_TO_SECOND','%SQL_IS_INSERT_LITERALS','%SQL_IS_INSERT_SEARCHED','%SQL_IS_INTEGER','%SQL_IS_MINUTE','%SQL_IS_MINUTE_TO_SECOND','%SQL_IS_MONTH',
        -            '%SQL_IS_POINTER','%SQL_IS_SECOND','%SQL_IS_SELECT_INTO','%SQL_IS_SMALLINT','%SQL_IS_UINTEGER','%SQL_IS_USMALLINT','%SQL_IS_YEAR','%SQL_IS_YEAR_TO_MONTH',
        -            '%SQL_KEYSET_CURSOR_ATTRIBUTES1','%SQL_KEYSET_CURSOR_ATTRIBUTES2','%SQL_KEYSET_SIZE','%SQL_KEYSET_SIZE_DEFAULT','%SQL_KEYWORDS','%SQL_LCK_EXCLUSIVE','%SQL_LCK_NO_CHANGE','%SQL_LCK_UNLOCK',
        -            '%SQL_LEN_BINARY_ATTR_OFFSET','%SQL_LEN_DATA_AT_EXEC_OFFSET','%SQL_LIKE_ESCAPE_CLAUSE','%SQL_LIKE_ONLY','%SQL_LOCK_EXCLUSIVE','%SQL_LOCK_NO_CHANGE','%SQL_LOCK_TYPES','%SQL_LOCK_UNLOCK',
        -            '%SQL_LOGIN_TIMEOUT','%SQL_LOGIN_TIMEOUT_DEFAULT','%SQL_LONGVARBINARY','%SQL_LONGVARCHAR','%SQL_MAXIMUM_CATALOG_NAME_LENGTH','%SQL_MAXIMUM_COLUMNS_IN_GROUP_BY','%SQL_MAXIMUM_COLUMNS_IN_INDEX','%SQL_MAXIMUM_COLUMNS_IN_ORDER_BY',
        -            '%SQL_MAXIMUM_COLUMNS_IN_SELECT','%SQL_MAXIMUM_COLUMN_NAME_LENGTH','%SQL_MAXIMUM_CONCURRENT_ACTIVITIES','%SQL_MAXIMUM_CURSOR_NAME_LENGTH','%SQL_MAXIMUM_DRIVER_CONNECTIONS','%SQL_MAXIMUM_IDENTIFIER_LENGTH','%SQL_MAXIMUM_INDEX_SIZE','%SQL_MAXIMUM_ROW_SIZE',
        -            '%SQL_MAXIMUM_SCHEMA_NAME_LENGTH','%SQL_MAXIMUM_STATEMENT_LENGTH','%SQL_MAXIMUM_TABLES_IN_SELECT','%SQL_MAXIMUM_USER_NAME_LENGTH','%SQL_MAX_ASYNC_CONCURRENT_STATEMENTS','%SQL_MAX_BINARY_LITERAL_LEN','%SQL_MAX_CATALOG_NAME_LEN','%SQL_MAX_CHAR_LITERAL_LEN',
        -            '%SQL_MAX_COLUMNS_IN_GROUP_BY','%SQL_MAX_COLUMNS_IN_INDEX','%SQL_MAX_COLUMNS_IN_ORDER_BY','%SQL_MAX_COLUMNS_IN_SELECT','%SQL_MAX_COLUMNS_IN_TABLE','%SQL_MAX_COLUMN_NAME_LEN','%SQL_MAX_CONCURRENT_ACTIVITIES','%SQL_MAX_CURSOR_NAME_LEN',
        -            '%SQL_MAX_DRIVER_CONNECTIONS','%SQL_MAX_DSN_LENGTH','%SQL_MAX_IDENTIFIER_LEN','%SQL_MAX_INDEX_SIZE','%SQL_MAX_LENGTH','%SQL_MAX_LENGTH_DEFAULT','%SQL_MAX_MESSAGE_LENGTH','%SQL_MAX_NUMERIC_LEN',
        -            '%SQL_MAX_OPTION_STRING_LENGTH','%SQL_MAX_OWNER_NAME_LEN','%SQL_MAX_PROCEDURE_NAME_LEN','%SQL_MAX_QUALIFIER_NAME_LEN','%SQL_MAX_ROWS','%SQL_MAX_ROWS_DEFAULT','%SQL_MAX_ROW_SIZE','%SQL_MAX_ROW_SIZE_INCLUDES_LONG',
        -            '%SQL_MAX_SCHEMA_NAME_LEN','%SQL_MAX_STATEMENT_LEN','%SQL_MAX_TABLES_IN_SELECT','%SQL_MAX_TABLE_NAME_LEN','%SQL_MAX_USER_NAME_LEN','%SQL_MINUTE','%SQL_MINUTE_TO_SECOND','%SQL_MODE_DEFAULT',
        -            '%SQL_MODE_READ_ONLY','%SQL_MODE_READ_WRITE','%SQL_MONTH','%SQL_MULTIPLE_ACTIVE_TXN','%SQL_MULT_RESULT_SETS','%SQL_NAMED','%SQL_NC_END','%SQL_NC_HIGH',
        -            '%SQL_NC_LOW','%SQL_NC_START','%SQL_NEED_DATA','%SQL_NEED_LONG_DATA_LEN','%SQL_NNC_NON_NULL','%SQL_NNC_NULL','%SQL_NONSCROLLABLE','%SQL_NON_NULLABLE_COLUMNS',
        -            '%SQL_NOSCAN','%SQL_NOSCAN_DEFAULT','%SQL_NOSCAN_OFF','%SQL_NOSCAN_ON','%SQL_NOT_DEFERRABLE','%SQL_NO_ACTION','%SQL_NO_COLUMN_NUMBER','%SQL_NO_DATA',
        -            '%SQL_NO_DATA_FOUND','%SQL_NO_NULLS','%SQL_NO_ROW_NUMBER','%SQL_NO_TOTAL','%SQL_NTS','%SQL_NTSL','%SQL_NULLABLE','%SQL_NULLABLE_UNKNOWN',
        -            '%SQL_NULL_COLLATION','%SQL_NULL_DATA','%SQL_NULL_HANDLE','%SQL_NULL_HDBC','%SQL_NULL_HDESC','%SQL_NULL_HENV','%SQL_NULL_HSTMT','%SQL_NUMERIC',
        -            '%SQL_NUMERIC_FUNCTIONS','%SQL_OAC_LEVEL1','%SQL_OAC_LEVEL2','%SQL_OAC_NONE','%SQL_ODBC_API_CONFORMANCE','%SQL_ODBC_CURSORS','%SQL_ODBC_INTERFACE_CONFORMANCE','%SQL_ODBC_SAG_CLI_CONFORMANCE',
        -            '%SQL_ODBC_SQL_CONFORMANCE','%SQL_ODBC_SQL_OPT_IEF','%SQL_ODBC_VER','%SQL_OIC_CORE','%SQL_OIC_LEVEL1','%SQL_OIC_LEVEL2','%SQL_OJ_ALL_COMPARISON_OPS','%SQL_OJ_CAPABILITIES',
        -            '%SQL_OJ_FULL','%SQL_OJ_INNER','%SQL_OJ_LEFT','%SQL_OJ_NESTED','%SQL_OJ_NOT_ORDERED','%SQL_OJ_RIGHT','%SQL_OPT_TRACE','%SQL_OPT_TRACEFILE',
        -            '%SQL_OPT_TRACE_DEFAULT','%SQL_OPT_TRACE_OFF','%SQL_OPT_TRACE_ON','%SQL_ORDER_BY_COLUMNS_IN_SELECT','%SQL_OSCC_COMPLIANT','%SQL_OSCC_NOT_COMPLIANT','%SQL_OSC_CORE','%SQL_OSC_EXTENDED',
        -            '%SQL_OSC_MINIMUM','%SQL_OUTER_JOINS','%SQL_OUTER_JOIN_CAPABILITIES','%SQL_OU_DML_STATEMENTS','%SQL_OU_INDEX_DEFINITION','%SQL_OU_PRIVILEGE_DEFINITION','%SQL_OU_PROCEDURE_INVOCATION','%SQL_OU_TABLE_DEFINITION',
        -            '%SQL_OV_ODBC2','%SQL_OV_ODBC3','%SQL_OWNER_TERM','%SQL_OWNER_USAGE','%SQL_PACKET_SIZE','%SQL_PARAM_ARRAY_ROW_COUNTS','%SQL_PARAM_ARRAY_SELECTS','%SQL_PARAM_BIND_BY_COLUMN',
        -            '%SQL_PARAM_BIND_TYPE_DEFAULT','%SQL_PARAM_DIAG_UNAVAILABLE','%SQL_PARAM_ERROR','%SQL_PARAM_IGNORE','%SQL_PARAM_INPUT','%SQL_PARAM_INPUT_OUTPUT','%SQL_PARAM_OUTPUT','%SQL_PARAM_PROCEED',
        -            '%SQL_PARAM_SUCCESS','%SQL_PARAM_SUCCESS_WITH_INFO','%SQL_PARAM_TYPE_DEFAULT','%SQL_PARAM_TYPE_UNKNOWN','%SQL_PARAM_UNUSED','%SQL_PARC_BATCH','%SQL_PARC_NO_BATCH','%SQL_PAS_BATCH',
        -            '%SQL_PAS_NO_BATCH','%SQL_PAS_NO_SELECT','%SQL_PC_NON_PSEUDO','%SQL_PC_NOT_PSEUDO','%SQL_PC_PSEUDO','%SQL_PC_UNKNOWN','%SQL_POSITION','%SQL_POSITIONED_STATEMENTS',
        -            '%SQL_POS_ADD','%SQL_POS_DELETE','%SQL_POS_OPERATIONS','%SQL_POS_POSITION','%SQL_POS_REFRESH','%SQL_POS_UPDATE','%SQL_PRED_BASIC','%SQL_PRED_CHAR',
        -            '%SQL_PRED_NONE','%SQL_PRED_SEARCHABLE','%SQL_PROCEDURES','%SQL_PROCEDURE_TERM','%SQL_PS_POSITIONED_DELETE','%SQL_PS_POSITIONED_UPDATE','%SQL_PS_SELECT_FOR_UPDATE','%SQL_PT_FUNCTION',
        -            '%SQL_PT_PROCEDURE','%SQL_PT_UNKNOWN','%SQL_QL_END','%SQL_QL_START','%SQL_QUALIFIER_LOCATION','%SQL_QUALIFIER_NAME_SEPARATOR','%SQL_QUALIFIER_TERM','%SQL_QUALIFIER_USAGE',
        -            '%SQL_QUERY_TIMEOUT','%SQL_QUERY_TIMEOUT_DEFAULT','%SQL_QUICK','%SQL_QUIET_MODE','%SQL_QUOTED_IDENTIFIER_CASE','%SQL_QU_DML_STATEMENTS','%SQL_QU_INDEX_DEFINITION','%SQL_QU_PRIVILEGE_DEFINITION',
        -            '%SQL_QU_PROCEDURE_INVOCATION','%SQL_QU_TABLE_DEFINITION','%SQL_RD_DEFAULT','%SQL_RD_OFF','%SQL_RD_ON','%SQL_REAL','%SQL_REFRESH','%SQL_RESET_PARAMS',
        -            '%SQL_RESTRICT','%SQL_RESULT_COL','%SQL_RETRIEVE_DATA','%SQL_RETURN_VALUE','%SQL_ROLLBACK','%SQL_ROWSET_SIZE','%SQL_ROWSET_SIZE_DEFAULT','%SQL_ROWVER',
        -            '%SQL_ROW_ADDED','%SQL_ROW_DELETED','%SQL_ROW_ERROR','%SQL_ROW_IDENTIFIER','%SQL_ROW_IGNORE','%SQL_ROW_NOROW','%SQL_ROW_NUMBER','%SQL_ROW_NUMBER_UNKNOWN',
        -            '%SQL_ROW_PROCEED','%SQL_ROW_SUCCESS','%SQL_ROW_SUCCESS_WITH_INFO','%SQL_ROW_UPDATED','%SQL_ROW_UPDATES','%SQL_SCCO_LOCK','%SQL_SCCO_OPT_ROWVER','%SQL_SCCO_OPT_TIMESTAMP',
        -            '%SQL_SCCO_OPT_VALUES','%SQL_SCCO_READ_ONLY','%SQL_SCC_ISO92_CLI','%SQL_SCC_XOPEN_CLI_VERSION1','%SQL_SCHEMA_TERM','%SQL_SCHEMA_USAGE','%SQL_SCOPE_CURROW','%SQL_SCOPE_SESSION',
        -            '%SQL_SCOPE_TRANSACTION','%SQL_SCROLLABLE','%SQL_SCROLL_CONCURRENCY','%SQL_SCROLL_DYNAMIC','%SQL_SCROLL_FORWARD_ONLY','%SQL_SCROLL_KEYSET_DRIVEN','%SQL_SCROLL_OPTIONS','%SQL_SCROLL_STATIC',
        -            '%SQL_SC_FIPS127_2_TRANSITIONAL','%SQL_SC_NON_UNIQUE','%SQL_SC_SQL92_ENTRY','%SQL_SC_SQL92_FULL','%SQL_SC_SQL92_INTERMEDIATE','%SQL_SC_TRY_UNIQUE','%SQL_SC_UNIQUE','%SQL_SDF_CURRENT_DATE',
        -            '%SQL_SDF_CURRENT_TIME','%SQL_SDF_CURRENT_TIMESTAMP','%SQL_SEARCHABLE','%SQL_SEARCH_PATTERN_ESCAPE','%SQL_SECOND','%SQL_SENSITIVE','%SQL_SERVER_NAME','%SQL_SETPARAM_VALUE_MAX',
        -            '%SQL_SETPOS_MAX_LOCK_VALUE','%SQL_SETPOS_MAX_OPTION_VALUE','%SQL_SET_DEFAULT','%SQL_SET_NULL','%SQL_SFKD_CASCADE','%SQL_SFKD_NO_ACTION','%SQL_SFKD_SET_DEFAULT','%SQL_SFKD_SET_NULL',
        -            '%SQL_SFKU_CASCADE','%SQL_SFKU_NO_ACTION','%SQL_SFKU_SET_DEFAULT','%SQL_SFKU_SET_NULL','%SQL_SG_DELETE_TABLE','%SQL_SG_INSERT_COLUMN','%SQL_SG_INSERT_TABLE','%SQL_SG_REFERENCES_COLUMN',
        -            '%SQL_SG_REFERENCES_TABLE','%SQL_SG_SELECT_TABLE','%SQL_SG_UPDATE_COLUMN','%SQL_SG_UPDATE_TABLE','%SQL_SG_USAGE_ON_CHARACTER_SET','%SQL_SG_USAGE_ON_COLLATION','%SQL_SG_USAGE_ON_DOMAIN','%SQL_SG_USAGE_ON_TRANSLATION',
        -            '%SQL_SG_WITH_GRANT_OPTION','%SQL_SIGNED_OFFSET','%SQL_SIMULATE_CURSOR','%SQL_SMALLINT','%SQL_SNVF_BIT_LENGTH','%SQL_SNVF_CHARACTER_LENGTH','%SQL_SNVF_CHAR_LENGTH','%SQL_SNVF_EXTRACT',
        -            '%SQL_SNVF_OCTET_LENGTH','%SQL_SNVF_POSITION','%SQL_SO_DYNAMIC','%SQL_SO_FORWARD_ONLY','%SQL_SO_KEYSET_DRIVEN','%SQL_SO_MIXED','%SQL_SO_STATIC','%SQL_SPECIAL_CHARACTERS',
        -            '%SQL_SPEC_MAJOR','%SQL_SPEC_MINOR','%SQL_SP_BETWEEN','%SQL_SP_COMPARISON','%SQL_SP_EXISTS','%SQL_SP_IN','%SQL_SP_ISNOTNULL','%SQL_SP_ISNULL',
        -            '%SQL_SP_LIKE','%SQL_SP_MATCH_FULL','%SQL_SP_MATCH_PARTIAL','%SQL_SP_MATCH_UNIQUE_FULL','%SQL_SP_MATCH_UNIQUE_PARTIAL','%SQL_SP_OVERLAPS','%SQL_SP_QUANTIFIED_COMPARISON','%SQL_SP_UNIQUE',
        -            '%SQL_SQL92_DATETIME_FUNCTIONS','%SQL_SQL92_FOREIGN_KEY_DELETE_RULE','%SQL_SQL92_FOREIGN_KEY_UPDATE_RULE','%SQL_SQL92_GRANT','%SQL_SQL92_NUMERIC_VALUE_FUNCTIONS','%SQL_SQL92_PREDICATES','%SQL_SQL92_RELATIONAL_JOIN_OPERATORS','%SQL_SQL92_REVOKE',
        -            '%SQL_SQL92_ROW_VALUE_CONSTRUCTOR','%SQL_SQL92_STRING_FUNCTIONS','%SQL_SQL92_VALUE_EXPRESSIONS','%SQL_SQLSTATE_SIZE','%SQL_SQL_CONFORMANCE','%SQL_SQ_COMPARISON','%SQL_SQ_CORRELATED_SUBQUERIES','%SQL_SQ_EXISTS',
        -            '%SQL_SQ_IN','%SQL_SQ_QUANTIFIED','%SQL_SRJO_CORRESPONDING_CLAUSE','%SQL_SRJO_CROSS_JOIN','%SQL_SRJO_EXCEPT_JOIN','%SQL_SRJO_FULL_OUTER_JOIN','%SQL_SRJO_INNER_JOIN','%SQL_SRJO_INTERSECT_JOIN',
        -            '%SQL_SRJO_LEFT_OUTER_JOIN','%SQL_SRJO_NATURAL_JOIN','%SQL_SRJO_RIGHT_OUTER_JOIN','%SQL_SRJO_UNION_JOIN','%SQL_SRVC_DEFAULT','%SQL_SRVC_NULL','%SQL_SRVC_ROW_SUBQUERY','%SQL_SRVC_VALUE_EXPRESSION',
        -            '%SQL_SR_CASCADE','%SQL_SR_DELETE_TABLE','%SQL_SR_GRANT_OPTION_FOR','%SQL_SR_INSERT_COLUMN','%SQL_SR_INSERT_TABLE','%SQL_SR_REFERENCES_COLUMN','%SQL_SR_REFERENCES_TABLE','%SQL_SR_RESTRICT',
        -            '%SQL_SR_SELECT_TABLE','%SQL_SR_UPDATE_COLUMN','%SQL_SR_UPDATE_TABLE','%SQL_SR_USAGE_ON_CHARACTER_SET','%SQL_SR_USAGE_ON_COLLATION','%SQL_SR_USAGE_ON_DOMAIN','%SQL_SR_USAGE_ON_TRANSLATION','%SQL_SSF_CONVERT',
        -            '%SQL_SSF_LOWER','%SQL_SSF_SUBSTRING','%SQL_SSF_TRANSLATE','%SQL_SSF_TRIM_BOTH','%SQL_SSF_TRIM_LEADING','%SQL_SSF_TRIM_TRAILING','%SQL_SSF_UPPER','%SQL_SS_ADDITIONS',
        -            '%SQL_SS_DELETIONS','%SQL_SS_UPDATES','%SQL_STANDARD_CLI_CONFORMANCE','%SQL_STATIC_CURSOR_ATTRIBUTES1','%SQL_STATIC_CURSOR_ATTRIBUTES2','%SQL_STATIC_SENSITIVITY','%SQL_STILL_EXECUTING','%SQL_STRING_FUNCTIONS',
        -            '%SQL_SUBQUERIES','%SQL_SUCCESS','%SQL_SUCCESS_WITH_INFO','%SQL_SU_DML_STATEMENTS','%SQL_SU_INDEX_DEFINITION','%SQL_SU_PRIVILEGE_DEFINITION','%SQL_SU_PROCEDURE_INVOCATION','%SQL_SU_TABLE_DEFINITION',
        -            '%SQL_SVE_CASE','%SQL_SVE_CAST','%SQL_SVE_COALESCE','%SQL_SVE_NULLIF','%SQL_SYSTEM_FUNCTIONS','%SQL_TABLE_STAT','%SQL_TABLE_TERM','%SQL_TC_ALL',
        -            '%SQL_TC_DDL_COMMIT','%SQL_TC_DDL_IGNORE','%SQL_TC_DML','%SQL_TC_NONE','%SQL_TIME','%SQL_TIMEDATE_ADD_INTERVALS','%SQL_TIMEDATE_DIFF_INTERVALS','%SQL_TIMEDATE_FUNCTIONS',
        -            '%SQL_TIMESTAMP','%SQL_TIMESTAMP_LEN','%SQL_TIME_LEN','%SQL_TINYINT','%SQL_TRANSACTION_CAPABLE','%SQL_TRANSACTION_ISOLATION_OPTION','%SQL_TRANSACTION_READ_COMMITTED','%SQL_TRANSACTION_READ_UNCOMMITTED',
        -            '%SQL_TRANSACTION_REPEATABLE_READ','%SQL_TRANSACTION_SERIALIZABLE','%SQL_TRANSLATE_DLL','%SQL_TRANSLATE_OPTION','%SQL_TRUE','%SQL_TXN_CAPABLE','%SQL_TXN_ISOLATION','%SQL_TXN_ISOLATION_OPTION',
        -            '%SQL_TXN_READ_COMMITTED','%SQL_TXN_READ_UNCOMMITTED','%SQL_TXN_REPEATABLE_READ','%SQL_TXN_SERIALIZABLE','%SQL_TYPE_DATE','%SQL_TYPE_NULL','%SQL_TYPE_TIME','%SQL_TYPE_TIMESTAMP',
        -            '%SQL_UB_DEFAULT','%SQL_UB_FIXED','%SQL_UB_OFF','%SQL_UB_ON','%SQL_UB_VARIABLE','%SQL_UNBIND','%SQL_UNICODE','%SQL_UNICODE_CHAR',
        -            '%SQL_UNICODE_LONGVARCHAR','%SQL_UNICODE_VARCHAR','%SQL_UNION','%SQL_UNION_STATEMENT','%SQL_UNKNOWN_TYPE','%SQL_UNNAMED','%SQL_UNSEARCHABLE','%SQL_UNSIGNED_OFFSET',
        -            '%SQL_UNSPECIFIED','%SQL_UPDATE','%SQL_UPDATE_BY_BOOKMARK','%SQL_USER_NAME','%SQL_USE_BOOKMARKS','%SQL_US_UNION','%SQL_US_UNION_ALL','%SQL_U_UNION',
        -            '%SQL_U_UNION_ALL','%SQL_VARBINARY','%SQL_VARCHAR','%SQL_XOPEN_CLI_YEAR','%SQL_YEAR','%SQL_YEAR_TO_MONTH','%SRCCOPY','%SS_BITMAP',
        -            '%SS_BLACKFRAME','%SS_BLACKRECT','%SS_CENTER','%SS_CENTERIMAGE','%SS_ENDELLIPSIS','%SS_ETCHEDFRAME','%SS_ETCHEDHORZ','%SS_ETCHEDVERT',
        -            '%SS_GRAYFRAME','%SS_GRAYRECT','%SS_LEFT','%SS_NOPREFIX','%SS_NOTIFY','%SS_NOWORDWRAP','%SS_PATHELLIPSIS','%SS_RIGHT',
        -            '%SS_RIGHTJUST','%SS_SIMPLE','%SS_SUNKEN','%SS_WHITEFRAME','%SS_WHITERECT','%SS_WORDELLIPSIS','%STAT_FILL_FROM_MEMORY','%STAT_FILL_NATURAL',
        -            '%STAT_FILL_NATURAL_ERASTONE','%STAT_FILL_NATURAL_EVEN','%STAT_FILL_NATURAL_FIBONACCI','%STAT_FILL_NATURAL_ODD','%STAT_FILL_WITH_NUMBER','%STAT_MINMAX_INDEX','%STAT_MINMAX_VALUE','%STAT_TYPE_BYTE',
        -            '%STAT_TYPE_CURRENCY','%STAT_TYPE_DOUBLE','%STAT_TYPE_DWORD','%STAT_TYPE_EXT','%STAT_TYPE_INTEGER','%STAT_TYPE_LONG','%STAT_TYPE_QUAD','%STAT_TYPE_SINGLE',
        -            '%STAT_TYPE_WORD','%SWP_ASYNCWINDOWPOS','%SWP_DEFERERASE','%SWP_DRAWFRAME','%SWP_FRAMECHANGED','%SWP_HIDEWINDOW','%SWP_NOACTIVATE','%SWP_NOCOPYBITS',
        -            '%SWP_NOMOVE','%SWP_NOOWNERZORDER','%SWP_NOREDRAW','%SWP_NOREPOSITION','%SWP_NOSENDCHANGING','%SWP_NOSIZE','%SWP_NOZORDER','%SWP_SHOWWINDOW',
        -            '%SW_FORCEMINIMIZE','%SW_HIDE','%SW_MAXIMIZE','%SW_MINIMIZE','%SW_NORMAL','%SW_RESTORE','%SW_SHOW','%SW_SHOWDEFAULT',
        -            '%SW_SHOWMAXIMIZED','%SW_SHOWMINIMIZED','%SW_SHOWMINNOACTIVE','%SW_SHOWNA','%SW_SHOWNOACTIVATE','%SW_SHOWNORMAL','%TBASS_3DALG_DEFAULT','%TBASS_3DALG_FULL',
        -            '%TBASS_3DALG_LIGHT','%TBASS_3DALG_OFF','%TBASS_3DMODE_NORMAL','%TBASS_3DMODE_OFF','%TBASS_3DMODE_RELATIVE','%TBASS_ACTIVE_PAUSED','%TBASS_ACTIVE_PLAYING','%TBASS_ACTIVE_STALLED',
        -            '%TBASS_ACTIVE_STOPPED','%TBASS_CONFIG_3DALGORITHM','%TBASS_CONFIG_BUFFER','%TBASS_CONFIG_CURVE_PAN','%TBASS_CONFIG_CURVE_VOL','%TBASS_CONFIG_FLOATDSP','%TBASS_CONFIG_GVOL_MUSIC','%TBASS_CONFIG_GVOL_SAMPLE',
        -            '%TBASS_CONFIG_GVOL_STREAM','%TBASS_CONFIG_MAXVOL','%TBASS_CONFIG_MP3_CODEC','%TBASS_CONFIG_NET_AGENT','%TBASS_CONFIG_NET_BUFFER','%TBASS_CONFIG_NET_PASSIVE','%TBASS_CONFIG_NET_PREBUF','%TBASS_CONFIG_NET_PROXY',
        -            '%TBASS_CONFIG_NET_TIMEOUT','%TBASS_CONFIG_PAUSE_NOPLAY','%TBASS_CONFIG_UPDATEPERIOD','%TBASS_CTYPE_MUSIC_IT','%TBASS_CTYPE_MUSIC_MO3','%TBASS_CTYPE_MUSIC_MOD','%TBASS_CTYPE_MUSIC_MTM','%TBASS_CTYPE_MUSIC_S3M',
        -            '%TBASS_CTYPE_MUSIC_XM','%TBASS_CTYPE_RECORD','%TBASS_CTYPE_SAMPLE','%TBASS_CTYPE_STREAM','%TBASS_CTYPE_STREAM_AIFF','%TBASS_CTYPE_STREAM_MP1','%TBASS_CTYPE_STREAM_MP2','%TBASS_CTYPE_STREAM_MP3',
        -            '%TBASS_CTYPE_STREAM_OGG','%TBASS_CTYPE_STREAM_WAV','%TBASS_CTYPE_STREAM_WAV_FLOAT','%TBASS_CTYPE_STREAM_WAV_PCM','%TBASS_DATA_AVAILABLE','%TBASS_DATA_FFT1024','%TBASS_DATA_FFT2048','%TBASS_DATA_FFT4096',
        -            '%TBASS_DATA_FFT512','%TBASS_DATA_FFT_INDIVIDUAL','%TBASS_DATA_FFT_NOWINDOW','%TBASS_DATA_FLOAT','%TBASS_DEVICE_3D','%TBASS_DEVICE_8BITS','%TBASS_DEVICE_LATENCY','%TBASS_DEVICE_MONO',
        -            '%TBASS_DEVICE_NOSPEAKER','%TBASS_DEVICE_SPEAKERS','%TBASS_EAX_ENVIRONMENT_ALLEY','%TBASS_EAX_ENVIRONMENT_ARENA','%TBASS_EAX_ENVIRONMENT_AUDITORIUM','%TBASS_EAX_ENVIRONMENT_BATHROOM','%TBASS_EAX_ENVIRONMENT_CARPETEDHALLWAY','%TBASS_EAX_ENVIRONMENT_CAVE',
        -            '%TBASS_EAX_ENVIRONMENT_CITY','%TBASS_EAX_ENVIRONMENT_CONCERTHALL','%TBASS_EAX_ENVIRONMENT_COUNT','%TBASS_EAX_ENVIRONMENT_DIZZY','%TBASS_EAX_ENVIRONMENT_DRUGGED','%TBASS_EAX_ENVIRONMENT_FOREST','%TBASS_EAX_ENVIRONMENT_GENERIC','%TBASS_EAX_ENVIRONMENT_HALLWAY',
        -            '%TBASS_EAX_ENVIRONMENT_HANGAR','%TBASS_EAX_ENVIRONMENT_LIVINGROOM','%TBASS_EAX_ENVIRONMENT_MOUNTAINS','%TBASS_EAX_ENVIRONMENT_PADDEDCELL','%TBASS_EAX_ENVIRONMENT_PARKINGLOT','%TBASS_EAX_ENVIRONMENT_PLAIN','%TBASS_EAX_ENVIRONMENT_PSYCHOTIC','%TBASS_EAX_ENVIRONMENT_QUARRY',
        -            '%TBASS_EAX_ENVIRONMENT_ROOM','%TBASS_EAX_ENVIRONMENT_SEWERPIPE','%TBASS_EAX_ENVIRONMENT_STONECORRIDOR','%TBASS_EAX_ENVIRONMENT_STONEROOM','%TBASS_EAX_ENVIRONMENT_UNDERWATER','%TBASS_ERROR_ALREADY','%TBASS_ERROR_BUFLOST','%TBASS_ERROR_CODEC',
        -            '%TBASS_ERROR_CREATE','%TBASS_ERROR_DECODE','%TBASS_ERROR_DEVICE','%TBASS_ERROR_DRIVER','%TBASS_ERROR_DX','%TBASS_ERROR_EMPTY','%TBASS_ERROR_FILEFORM','%TBASS_ERROR_FILEOPEN',
        -            '%TBASS_ERROR_FORMAT','%TBASS_ERROR_FREQ','%TBASS_ERROR_HANDLE','%TBASS_ERROR_ILLPARAM','%TBASS_ERROR_ILLTYPE','%TBASS_ERROR_INIT','%TBASS_ERROR_MEM','%TBASS_ERROR_NO3D',
        -            '%TBASS_ERROR_NOCHAN','%TBASS_ERROR_NOEAX','%TBASS_ERROR_NOFX','%TBASS_ERROR_NOHW','%TBASS_ERROR_NONET','%TBASS_ERROR_NOPAUSE','%TBASS_ERROR_NOPLAY','%TBASS_ERROR_NOTAVAIL',
        -            '%TBASS_ERROR_NOTFILE','%TBASS_ERROR_PLAYING','%TBASS_ERROR_POSITION','%TBASS_ERROR_SPEAKER','%TBASS_ERROR_START','%TBASS_ERROR_TIMEOUT','%TBASS_ERROR_UNKNOWN','%TBASS_ERROR_VERSION',
        -            '%TBASS_FALSE','%TBASS_FILEPOS_CURRENT','%TBASS_FILEPOS_DECODE','%TBASS_FILEPOS_DOWNLOAD','%TBASS_FILEPOS_END','%TBASS_FILEPOS_START','%TBASS_FILE_CLOSE','%TBASS_FILE_LEN',
        -            '%TBASS_FILE_READ','%TBASS_FILE_SEEK','%TBASS_FX_CHORUS','%TBASS_FX_COMPRESSOR','%TBASS_FX_DISTORTION','%TBASS_FX_ECHO','%TBASS_FX_FLANGER','%TBASS_FX_GARGLE',
        -            '%TBASS_FX_I3DL2REVERB','%TBASS_FX_PARAMEQ','%TBASS_FX_PHASE_180','%TBASS_FX_PHASE_90','%TBASS_FX_PHASE_NEG_180','%TBASS_FX_PHASE_NEG_90','%TBASS_FX_PHASE_ZERO','%TBASS_FX_REVERB',
        -            '%TBASS_INPUT_LEVEL','%TBASS_INPUT_OFF','%TBASS_INPUT_ON','%TBASS_INPUT_TYPE_ANALOG','%TBASS_INPUT_TYPE_AUX','%TBASS_INPUT_TYPE_CD','%TBASS_INPUT_TYPE_DIGITAL','%TBASS_INPUT_TYPE_LINE',
        -            '%TBASS_INPUT_TYPE_MASK','%TBASS_INPUT_TYPE_MIC','%TBASS_INPUT_TYPE_PHONE','%TBASS_INPUT_TYPE_SPEAKER','%TBASS_INPUT_TYPE_SYNTH','%TBASS_INPUT_TYPE_UNDEF','%TBASS_INPUT_TYPE_WAVE','%TBASS_MP3_SETPOS',
        -            '%TBASS_MUSIC_3D','%TBASS_MUSIC_ATTRIB_AMPLIFY','%TBASS_MUSIC_ATTRIB_BPM','%TBASS_MUSIC_ATTRIB_PANSEP','%TBASS_MUSIC_ATTRIB_PSCALER','%TBASS_MUSIC_ATTRIB_SPEED','%TBASS_MUSIC_ATTRIB_VOL_CHAN','%TBASS_MUSIC_ATTRIB_VOL_GLOBAL',
        -            '%TBASS_MUSIC_ATTRIB_VOL_INST','%TBASS_MUSIC_AUTOFREE','%TBASS_MUSIC_CALCLEN','%TBASS_MUSIC_DECODE','%TBASS_MUSIC_FLOAT','%TBASS_MUSIC_FT2MOD','%TBASS_MUSIC_FX','%TBASS_MUSIC_LOOP',
        -            '%TBASS_MUSIC_MONO','%TBASS_MUSIC_NONINTER','%TBASS_MUSIC_NOSAMPLE','%TBASS_MUSIC_POSRESET','%TBASS_MUSIC_POSRESETEX','%TBASS_MUSIC_PRESCAN','%TBASS_MUSIC_PT1MOD','%TBASS_MUSIC_RAMP',
        -            '%TBASS_MUSIC_RAMPS','%TBASS_MUSIC_STOPBACK','%TBASS_MUSIC_SURROUND','%TBASS_MUSIC_SURROUND2','%TBASS_OBJECT_DS','%TBASS_OBJECT_DS3DL','%TBASS_OK','%TBASS_RECORD_PAUSE',
        -            '%TBASS_SAMPLE_3D','%TBASS_SAMPLE_8BITS','%TBASS_SAMPLE_FLOAT','%TBASS_SAMPLE_FX','%TBASS_SAMPLE_LOOP','%TBASS_SAMPLE_MONO','%TBASS_SAMPLE_MUTEMAX','%TBASS_SAMPLE_OVER_DIST',
        -            '%TBASS_SAMPLE_OVER_POS','%TBASS_SAMPLE_OVER_VOL','%TBASS_SAMPLE_SOFTWARE','%TBASS_SAMPLE_VAM','%TBASS_SLIDE_FREQ','%TBASS_SLIDE_PAN','%TBASS_SLIDE_VOL','%TBASS_SPEAKER_CENLFE',
        -            '%TBASS_SPEAKER_CENTER','%TBASS_SPEAKER_FRONT','%TBASS_SPEAKER_FRONTLEFT','%TBASS_SPEAKER_FRONTRIGHT','%TBASS_SPEAKER_LEFT','%TBASS_SPEAKER_LFE','%TBASS_SPEAKER_REAR','%TBASS_SPEAKER_REAR2',
        -            '%TBASS_SPEAKER_REAR2LEFT','%TBASS_SPEAKER_REAR2RIGHT','%TBASS_SPEAKER_REARLEFT','%TBASS_SPEAKER_REARRIGHT','%TBASS_SPEAKER_RIGHT','%TBASS_STREAMPROC_END','%TBASS_STREAM_AUTOFREE','%TBASS_STREAM_BLOCK',
        -            '%TBASS_STREAM_DECODE','%TBASS_STREAM_PRESCAN','%TBASS_STREAM_RESTRATE','%TBASS_STREAM_STATUS','%TBASS_SYNC_DOWNLOAD','%TBASS_SYNC_END','%TBASS_SYNC_FREE','%TBASS_SYNC_MESSAGE',
        -            '%TBASS_SYNC_META','%TBASS_SYNC_MIXTIME','%TBASS_SYNC_MUSICFX','%TBASS_SYNC_MUSICINST','%TBASS_SYNC_MUSICPOS','%TBASS_SYNC_ONETIME','%TBASS_SYNC_POS','%TBASS_SYNC_SLIDE',
        -            '%TBASS_SYNC_STALL','%TBASS_TAG_HTTP','%TBASS_TAG_ICY','%TBASS_TAG_ID3','%TBASS_TAG_ID3V2','%TBASS_TAG_META','%TBASS_TAG_MUSIC_INST','%TBASS_TAG_MUSIC_MESSAGE',
        -            '%TBASS_TAG_MUSIC_NAME','%TBASS_TAG_MUSIC_SAMPLE','%TBASS_TAG_OGG','%TBASS_TAG_RIFF_INFO','%TBASS_TAG_VENDOR','%TBASS_TRUE','%TBASS_UNICODE','%TBASS_VAM_HARDWARE',
        -            '%TBASS_VAM_SOFTWARE','%TBASS_VAM_TERM_DIST','%TBASS_VAM_TERM_PRIO','%TBASS_VAM_TERM_TIME','%TBASS_VERSION','%TBCD_CHANNEL','%TBCD_THUMB','%TBCD_TICS',
        -            '%TBGL_ALIGN_CENTER','%TBGL_ALIGN_CENTER_CENTER','%TBGL_ALIGN_CENTER_DOWN','%TBGL_ALIGN_CENTER_UP','%TBGL_ALIGN_LEFT','%TBGL_ALIGN_LEFT_CENTER','%TBGL_ALIGN_LEFT_DOWN','%TBGL_ALIGN_LEFT_UP',
        -            '%TBGL_ALIGN_RIGHT','%TBGL_ALIGN_RIGHT_CENTER','%TBGL_ALIGN_RIGHT_DOWN','%TBGL_ALIGN_RIGHT_UP','%TBGL_ALWAYS','%TBGL_EQUAL','%TBGL_ERROR_FILE','%TBGL_ERROR_MSGBOX',
        -            '%TBGL_ERROR_NONE','%TBGL_GEQUAL','%TBGL_GREATER','%TBGL_LEQUAL','%TBGL_LESS','%TBGL_LIGHT_AMBIENT','%TBGL_LIGHT_CONSTANT_ATTENUATION','%TBGL_LIGHT_DIFFUSE',
        -            '%TBGL_LIGHT_LINEAR_ATTENUATION','%TBGL_LIGHT_POSITION','%TBGL_LIGHT_QUADRATIC_ATTENUATION','%TBGL_LIGHT_SPECULAR','%TBGL_LIGHT_SPOT_CUTOFF','%TBGL_LIGHT_SPOT_DIRECTION','%TBGL_LIGHT_SPOT_EXPONENT','%TBGL_M15B',
        -            '%TBGL_M15G','%TBGL_M15LAYER','%TBGL_M15PSTOP','%TBGL_M15R','%TBGL_M15TEXN','%TBGL_M15TEXX','%TBGL_M15TEXY','%TBGL_M15X',
        -            '%TBGL_M15Y','%TBGL_M15Z','%TBGL_NEVER','%TBGL_NORMAL_NONE','%TBGL_NORMAL_PRECISE','%TBGL_NORMAL_SMOOTH','%TBGL_NOTEQUAL','%TBGL_OBJ_CUBE',
        -            '%TBGL_OBJ_CUBE3','%TBGL_OBJ_CYLINDER','%TBGL_OBJ_SPHERE','%TBGL_PINFO_RGB','%TBGL_PINFO_XYZ','%TBGL_TEX_LINEAR','%TBGL_TEX_MIPMAP','%TBGL_TEX_NEAREST',
        -            '%TBM_CLEARSEL','%TBM_CLEARTICS','%TBM_GETBUDDY','%TBM_GETCHANNELRECT','%TBM_GETLINESIZE','%TBM_GETNUMTICS','%TBM_GETPAGESIZE','%TBM_GETPOS',
        -            '%TBM_GETPTICS','%TBM_GETRANGEMAX','%TBM_GETRANGEMIN','%TBM_GETSELEND','%TBM_GETSELSTART','%TBM_GETTHUMBLENGTH','%TBM_GETTHUMBRECT','%TBM_GETTIC',
        -            '%TBM_GETTICPOS','%TBM_GETTOOLTIPS','%TBM_GETUNICODEFORMAT','%TBM_SETBUDDY','%TBM_SETLINESIZE','%TBM_SETPAGESIZE','%TBM_SETPOS','%TBM_SETRANGE',
        -            '%TBM_SETRANGEMAX','%TBM_SETRANGEMIN','%TBM_SETSEL','%TBM_SETSELEND','%TBM_SETSELSTART','%TBM_SETTHUMBLENGTH','%TBM_SETTIC','%TBM_SETTICFREQ',
        -            '%TBM_SETTIPSIDE','%TBM_SETTOOLTIPS','%TBM_SETUNICODEFORMAT','%TBS_AUTOTICKS','%TBS_BOTH','%TBS_BOTTOM','%TBS_DOWNISLEFT','%TBS_ENABLESELRANGE',
        -            '%TBS_FIXEDLENGTH','%TBS_HORZ','%TBS_LEFT','%TBS_NOTHUMB','%TBS_NOTICKS','%TBS_REVERSED','%TBS_RIGHT','%TBS_TOOLTIPS',
        -            '%TBS_TOP','%TBS_VERT','%TBTS_BOTTOM','%TBTS_LEFT','%TBTS_RIGHT','%TBTS_TOP','%TB_%VT_BSTR','%TB_%VT_CY',
        -            '%TB_%VT_DATE','%TB_%VT_EMPTY','%TB_%VT_I2','%TB_%VT_I4','%TB_%VT_NULL','%TB_%VT_R4','%TB_%VT_R8','%TB_BOTTOM',
        -            '%TB_CLASS_E_NOAGGREGATION','%TB_CO_E_CLASSSTRING','%TB_DISPATCH_METHOD','%TB_DISPATCH_PROPERTYGET','%TB_DISPATCH_PROPERTYPUT','%TB_DISPATCH_PROPERTYPUTREF','%TB_ENDTRACK','%TB_E_INVALIDARG',
        -            '%TB_E_NOINTERFACE','%TB_E_OUTOFMEMORY','%TB_IMGCTX_ACTUALSIZE','%TB_IMGCTX_AUTOSIZE','%TB_IMGCTX_FITTOHEIGHT','%TB_IMGCTX_FITTOWIDTH','%TB_IMGCTX_STRETCH','%TB_LINEDOWN',
        -            '%TB_LINEUP','%TB_MK_E_CONNECTMANUALLY','%TB_MK_E_EXCEEDEDDEADLINE','%TB_MK_E_INTERMEDIATEINTERFACENOTSUPPORTED','%TB_MK_E_NOOBJECT','%TB_MK_E_SYNTAX','%TB_PAGEDOWN','%TB_PAGEUP',
        -            '%TB_REGDB_E_CLASSNOTREG','%TB_REGDB_E_WRITEREGDB','%TB_SIZEOF_TBVARIANT','%TB_S_FALSE','%TB_S_OK','%TB_THUMBPOSITION','%TB_THUMBTRACK','%TB_TOP',
        -            '%TCM_FIRST','%TCM_GETCURSEL','%TCN_FOCUSCHANGE','%TCN_GETOBJECT','%TCN_SELCHANGE','%TCN_SELCHANGING','%TCS_BOTTOM','%TCS_BUTTONS',
        -            '%TCS_EX_FLATSEPARATORS','%TCS_EX_REGISTERDROP','%TCS_FIXEDWIDTH','%TCS_FLATBUTTONS','%TCS_FOCUSNEVER','%TCS_FOCUSONBUTTONDOWN','%TCS_FORCEICONLEFT','%TCS_FORCELABELLEFT',
        -            '%TCS_HOTTRACK','%TCS_MULTILINE','%TCS_MULTISELECT','%TCS_OWNERDRAWFIXED','%TCS_RAGGEDRIGHT','%TCS_RIGHT','%TCS_RIGHTJUSTIFY','%TCS_SCROLLOPPOSITE',
        -            '%TCS_SINGLELINE','%TCS_TABS','%TCS_TOOLTIPS','%TCS_VERTICAL','%TM_PLAINTEXT','%TM_RICHTEXT','%TOKENIZER_DEFAULT_ALPHA','%TOKENIZER_DEFAULT_DELIM',
        -            '%TOKENIZER_DEFAULT_DQUOTE','%TOKENIZER_DEFAULT_NEWLINE','%TOKENIZER_DEFAULT_NUMERIC','%TOKENIZER_DEFAULT_SPACE','%TOKENIZER_DELIMITER','%TOKENIZER_EOL','%TOKENIZER_ERROR','%TOKENIZER_FINISHED',
        -            '%TOKENIZER_NUMBER','%TOKENIZER_QUOTE','%TOKENIZER_STRING','%TOKENIZER_UNDEFTOK','%TRUE','%TV_FIRST','%UDM_GETACCEL','%UDM_GETBASE',
        -            '%UDM_GETBUDDY','%UDM_GETPOS','%UDM_GETPOS32','%UDM_GETRANGE','%UDM_GETRANGE32','%UDM_GETUNICODEFORMAT','%UDM_SETACCEL','%UDM_SETBASE',
        -            '%UDM_SETBUDDY','%UDM_SETPOS','%UDM_SETPOS32','%UDM_SETRANGE','%UDM_SETRANGE32','%UDM_SETUNICODEFORMAT','%UDS_ALIGNLEFT','%UDS_ALIGNRIGHT',
        -            '%UDS_ARROWKEYS','%UDS_AUTOBUDDY','%UDS_HORZ','%UDS_HOTTRACK','%UDS_NOTHOUSANDS','%UDS_SETBUDDYINT','%UDS_WRAP','%UD_MAXVAL',
        -            '%UD_MINVAL','%VK_0','%VK_1','%VK_2','%VK_3','%VK_4','%VK_5','%VK_6',
        -            '%VK_7','%VK_8','%VK_9','%VK_A','%VK_ACCEPT','%VK_ADD','%VK_APPS','%VK_B',
        -            '%VK_BACK','%VK_C','%VK_CANCEL','%VK_CAPITAL','%VK_CLEAR','%VK_CONTROL','%VK_CONVERT','%VK_D',
        -            '%VK_DECIMAL','%VK_DELETE','%VK_DIVIDE','%VK_DOWN','%VK_E','%VK_END','%VK_ESCAPE','%VK_EXECUTE',
        -            '%VK_F','%VK_F1','%VK_F10','%VK_F11','%VK_F12','%VK_F13','%VK_F14','%VK_F15',
        -            '%VK_F16','%VK_F17','%VK_F18','%VK_F19','%VK_F2','%VK_F20','%VK_F21','%VK_F22',
        -            '%VK_F23','%VK_F24','%VK_F3','%VK_F4','%VK_F5','%VK_F6','%VK_F7','%VK_F8',
        -            '%VK_F9','%VK_FINAL','%VK_G','%VK_H','%VK_HANGEUL','%VK_HANGUL','%VK_HANJA','%VK_HELP',
        -            '%VK_HOME','%VK_I','%VK_INSERT','%VK_J','%VK_JUNJA','%VK_K','%VK_KANA','%VK_KANJI',
        -            '%VK_L','%VK_LBUTTON','%VK_LEFT','%VK_LINEFEED','%VK_LWIN','%VK_M','%VK_MBUTTON','%VK_MENU',
        -            '%VK_MODECHANGE','%VK_MULTIPLY','%VK_N','%VK_NEXT','%VK_NONCONVERT','%VK_NUMLOCK','%VK_NUMPAD0','%VK_NUMPAD1',
        -            '%VK_NUMPAD2','%VK_NUMPAD3','%VK_NUMPAD4','%VK_NUMPAD5','%VK_NUMPAD6','%VK_NUMPAD7','%VK_NUMPAD8','%VK_NUMPAD9',
        -            '%VK_O','%VK_P','%VK_PAUSE','%VK_PGDN','%VK_PGUP','%VK_PRINT','%VK_PRIOR','%VK_Q',
        -            '%VK_R','%VK_RBUTTON','%VK_RETURN','%VK_RIGHT','%VK_RWIN','%VK_S','%VK_SCROLL','%VK_SELECT',
        -            '%VK_SEPARATOR','%VK_SHIFT','%VK_SLEEP','%VK_SNAPSHOT','%VK_SPACE','%VK_SUBTRACT','%VK_T','%VK_TAB',
        -            '%VK_U','%VK_UP','%VK_V','%VK_W','%VK_X','%VK_XBUTTON1','%VK_XBUTTON2','%VK_Y',
        -            '%VK_Z','%VT_ARRAY','%VT_BLOB','%VT_BLOB_OBJECT','%VT_BOOL','%VT_BSTR','%VT_BYREF','%VT_CARRAY',
        -            '%VT_CF','%VT_CLSID','%VT_CY','%VT_DATE','%VT_DISPATCH','%VT_EMPTY','%VT_ERROR','%VT_FILETIME',
        -            '%VT_HRESULT','%VT_I1','%VT_I2','%VT_I4','%VT_I8','%VT_INT','%VT_LPSTR','%VT_LPWSTR',
        -            '%VT_NULL','%VT_PTR','%VT_R4','%VT_R8','%VT_RECORD','%VT_RESERVED','%VT_SAFEARRAY','%VT_STORAGE',
        -            '%VT_STORED_OBJECT','%VT_STREAM','%VT_STREAMED_OBJECT','%VT_UI1','%VT_UI2','%VT_UI4','%VT_UI8','%VT_UINT',
        -            '%VT_UNKNOWN','%VT_USERDEFINED','%VT_VARIANT','%VT_VECTOR','%VT_VOID','%WAVE_FORMAT_1M08','%WAVE_FORMAT_1M16','%WAVE_FORMAT_1S08',
        -            '%WAVE_FORMAT_1S16','%WAVE_FORMAT_2M08','%WAVE_FORMAT_2M16','%WAVE_FORMAT_2S08','%WAVE_FORMAT_2S16','%WAVE_FORMAT_4M08','%WAVE_FORMAT_4M16','%WAVE_FORMAT_4S08',
        -            '%WAVE_FORMAT_4S16','%WBF_CUSTOM','%WBF_LEVEL1','%WBF_LEVEL2','%WBF_OVERFLOW','%WBF_WORDBREAK','%WBF_WORDWRAP','%WHITE',
        -            '%WIN_FINDTITLECONTAIN','%WIN_FINDTITLEEND','%WIN_FINDTITLEEQUAL','%WIN_FINDTITLESTART','%WM_ACTIVATE','%WM_ACTIVATEAPP','%WM_CAPTURECHANGED','%WM_CHAR',
        -            '%WM_CLOSE','%WM_COMMAND','%WM_DESTROY','%WM_DROPFILES','%WM_ERASEBKGND','%WM_GETTEXTLENGTH','%WM_HOTKEY','%WM_HSCROLL',
        -            '%WM_IDLE','%WM_INITDIALOG','%WM_KEYDOWN','%WM_KEYUP','%WM_KILLFOCUS','%WM_LBUTTONDBLCLK','%WM_LBUTTONDOWN','%WM_LBUTTONUP',
        -            '%WM_MBUTTONDBLCLK','%WM_MBUTTONDOWN','%WM_MBUTTONUP','%WM_MOUSEFIRST','%WM_MOUSEMOVE','%WM_MOUSEWHEEL','%WM_MOVE','%WM_MOVING',
        -            '%WM_NCLBUTTONDOWN','%WM_NCRBUTTONDOWN','%WM_NEXTDLGCTL','%WM_NOTIFY','%WM_PAINT','%WM_QUIT','%WM_RBUTTONDBLCLK','%WM_RBUTTONDOWN',
        -            '%WM_RBUTTONUP','%WM_SETFOCUS','%WM_SETFONT','%WM_SETTEXT','%WM_SIZE','%WM_SIZING','%WM_SYSCOMMAND','%WM_TIMER',
        -            '%WM_USER','%WM_VSCROLL','%WS_BORDER','%WS_CAPTION','%WS_CHILD','%WS_CLIPCHILDREN','%WS_CLIPSIBLINGS','%WS_DISABLED',
        -            '%WS_DLGFRAME','%WS_EX_ACCEPTFILES','%WS_EX_APPWINDOW','%WS_EX_CLIENTEDGE','%WS_EX_CONTEXTHELP','%WS_EX_CONTROLPARENT','%WS_EX_LAYERED','%WS_EX_LEFT',
        -            '%WS_EX_LEFTSCROLLBAR','%WS_EX_LTRREADING','%WS_EX_MDICHILD','%WS_EX_NOPARENTNOTIFY','%WS_EX_OVERLAPPEDWINDOW','%WS_EX_PALETTEWINDOW','%WS_EX_RIGHT','%WS_EX_RIGHTSCROLLBAR',
        -            '%WS_EX_RTLREADING','%WS_EX_STATICEDGE','%WS_EX_TOOLWINDOW','%WS_EX_TOPMOST','%WS_EX_TRANSPARENT','%WS_EX_WINDOWEDGE','%WS_GROUP','%WS_HSCROLL',
        -            '%WS_ICONIC','%WS_MAXIMIZE','%WS_MAXIMIZEBOX','%WS_MINIMIZE','%WS_MINIMIZEBOX','%WS_OVERLAPPEDWINDOW','%WS_POPUP','%WS_POPUPWINDOW',
        -            '%WS_SYSMENU','%WS_TABSTOP','%WS_THICKFRAME','%WS_VISIBLE','%WS_VSCROLL','%YELLOW','%ZERO','CRLF',
        -            'FALSE','M_E','M_PI','NULL','TAB','TRUE'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000FF; font-weight: bold;',
        -            2 => 'color: #993333; font-style: italic; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #333333;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #800080;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #CC0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #66cc66;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #333333;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '_'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/tsql.php b/vendor/easybook/geshi/geshi/tsql.php
        deleted file mode 100644
        index 9aa6ce5..0000000
        --- a/vendor/easybook/geshi/geshi/tsql.php
        +++ /dev/null
        @@ -1,374 +0,0 @@
        - 'T-SQL',
        -    'COMMENT_SINGLE' => array(1 => '--'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            // Datatypes
        -            'bigint', 'tinyint', 'money',
        -            'smallmoney', 'datetime', 'smalldatetime',
        -            'text', 'nvarchar', 'ntext', 'varbinary', 'image',
        -            'sql_variant', 'uniqueidentifier',
        -
        -            // Keywords
        -            'ABSOLUTE', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGGREGATE', 'ALIAS', 'ALLOCATE', 'ALTER', 'ARE', 'ARRAY', 'AS',
        -            'ASC', 'ASSERTION', 'AT', 'AUTHORIZATION', 'BACKUP', 'BEFORE', 'BEGIN', 'BINARY', 'BIT', 'BLOB', 'BOOLEAN', 'BOTH', 'BREADTH',
        -            'BREAK', 'BROWSE', 'BULK', 'BY', 'CALL', 'CASCADE', 'CASCADED', 'CASE', 'CAST', 'CATALOG', 'CATCH', 'CHAR', 'CHARACTER', 'CHECK', 'CHECKPOINT',
        -            'CLASS', 'CLOB', 'CLOSE', 'CLUSTERED', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COMMIT', 'COMPLETION', 'COMPUTE', 'CONNECT',
        -            'CONNECTION', 'CONSTRAINT', 'CONSTRAINTS', 'CONSTRUCTOR', 'CONTAINS', 'CONTAINSTABLE', 'CONTINUE', 'CONVERT', 'CORRESPONDING', 'CREATE',
        -            'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_PATH', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER',
        -            'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DATE', 'DAY', 'DBCC', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFERRABLE',
        -            'DEFERRED', 'DELETE', 'DENY', 'DEPTH', 'DEREF', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DESTROY', 'DESTRUCTOR', 'DETERMINISTIC',
        -            'DIAGNOSTICS', 'DICTIONARY', 'DISCONNECT', 'DISK', 'DISTINCT', 'DISTRIBUTED', 'DOMAIN', 'DOUBLE', 'DROP', 'DUMMY', 'DUMP', 'DYNAMIC',
        -            'EACH', 'ELSE', 'END', 'END-EXEC', 'EQUALS', 'ERRLVL', 'ESCAPE', 'EVERY', 'EXCEPT', 'EXCEPTION', 'EXEC', 'EXECUTE', 'EXIT',
        -            'EXTERNAL', 'FALSE', 'FETCH', 'FILE', 'FILLFACTOR', 'FIRST', 'FLOAT', 'FOR', 'FOREIGN', 'FOUND', 'FREE', 'FREETEXT', 'FREETEXTTABLE',
        -            'FROM', 'FULL', 'FUNCTION', 'GENERAL', 'GET', 'GLOBAL', 'GOTO', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOLDLOCK', 'HOST', 'HOUR',
        -            'IDENTITY', 'IDENTITY_INSERT', 'IDENTITYCOL', 'IF', 'IGNORE', 'IMMEDIATE', 'INDEX', 'INDICATOR', 'INITIALIZE', 'INITIALLY',
        -            'INNER', 'INOUT', 'INPUT', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ISOLATION', 'ITERATE', 'KEY',
        -            'KILL', 'LANGUAGE', 'LARGE', 'LAST', 'LATERAL', 'LEADING', 'LEFT', 'LESS', 'LEVEL', 'LIMIT', 'LINENO', 'LOAD', 'LOCAL',
        -            'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATOR', 'MAP', 'MATCH', 'MINUTE', 'MODIFIES', 'MODIFY', 'MODULE', 'MONTH', 'NAMES', 'NATIONAL',
        -            'NATURAL', 'NCHAR', 'NCLOB', 'NEW', 'NEXT', 'NO', 'NOCHECK', 'NONCLUSTERED', 'NONE', 'NULLIF', 'NUMERIC', 'OBJECT', 'OF',
        -            'OFF', 'OFFSETS', 'OLD', 'ON', 'ONLY', 'OPEN', 'OPENDATASOURCE', 'OPENQUERY', 'OPENROWSET', 'OPENXML', 'OPERATION', 'OPTION',
        -            'ORDER', 'ORDINALITY', 'OUT', 'OUTPUT', 'OVER', 'PAD', 'PARAMETER', 'PARAMETERS', 'PARTIAL', 'PATH', 'PERCENT', 'PLAN',
        -            'POSTFIX', 'PRECISION', 'PREFIX', 'PREORDER', 'PREPARE', 'PRESERVE', 'PRIMARY', 'PRINT', 'PRIOR', 'PRIVILEGES', 'PROC', 'PROCEDURE',
        -            'PUBLIC', 'RAISERROR', 'READ', 'READS', 'READTEXT', 'REAL', 'RECONFIGURE', 'RECURSIVE', 'REF', 'REFERENCES', 'REFERENCING', 'RELATIVE',
        -            'REPLICATION', 'RESTORE', 'RESTRICT', 'RESULT', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROW',
        -            'ROWGUIDCOL', 'ROWS', 'RULE', 'SAVE', 'SAVEPOINT', 'SCHEMA', 'SCOPE', 'SCROLL', 'SEARCH', 'SECOND', 'SECTION', 'SELECT',
        -            'SEQUENCE', 'SESSION', 'SESSION_USER', 'SET', 'SETS', 'SETUSER', 'SHUTDOWN', 'SIZE', 'SMALLINT', 'SPACE', 'SPECIFIC',
        -            'SPECIFICTYPE', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'START', 'STATE', 'STATEMENT', 'STATIC', 'STATISTICS', 'STRUCTURE',
        -            'SYSTEM_USER', 'TABLE', 'TEMPORARY', 'TERMINATE', 'TEXTSIZE', 'THAN', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE',
        -            'TO', 'TOP', 'TRAILING', 'TRAN', 'TRANSACTION', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRUE', 'TRUNCATE', 'TRY', 'TSEQUAL', 'UNDER', 'UNION',
        -            'UNIQUE', 'UNKNOWN', 'UNNEST', 'UPDATE', 'UPDATETEXT', 'USAGE', 'USE', 'USER', 'USING', 'VALUE', 'VALUES', 'VARCHAR', 'VARIABLE',
        -            'VARYING', 'VIEW', 'WAITFOR', 'WHEN', 'WHENEVER', 'WHERE', 'WHILE', 'WITH', 'WITHOUT', 'WORK', 'WRITE', 'WRITETEXT', 'YEAR', 'ZONE',
        -            'UNCOMMITTED', 'NOCOUNT',
        -            ),
        -        2 => array(
        -            /*
        -                Built-in functions
        -                Highlighted in pink.
        -            */
        -
        -            //Configuration Functions
        -            '@@DATEFIRST','@@OPTIONS','@@DBTS','@@REMSERVER','@@LANGID','@@SERVERNAME',
        -            '@@LANGUAGE','@@SERVICENAME','@@LOCK_TIMEOUT','@@SPID','@@MAX_CONNECTIONS',
        -            '@@TEXTSIZE','@@MAX_PRECISION','@@VERSION','@@NESTLEVEL',
        -
        -            //Cursor Functions
        -            '@@CURSOR_ROWS','@@FETCH_STATUS',
        -
        -            //Date and Time Functions
        -            'DATEADD','DATEDIFF','DATENAME','DATEPART','GETDATE','GETUTCDATE',
        -
        -            //Mathematical Functions
        -            'ABS','DEGREES','RAND','ACOS','EXP','ROUND','ASIN','FLOOR','SIGN',
        -            'ATAN','LOG','SIN','ATN2','LOG10','SQUARE','CEILING','PI','SQRT','COS',
        -            'POWER','TAN','COT','RADIANS',
        -
        -            //Meta Data Functions
        -            'COL_LENGTH','COL_NAME','FULLTEXTCATALOGPROPERTY',
        -            'COLUMNPROPERTY','FULLTEXTSERVICEPROPERTY','DATABASEPROPERTY','INDEX_COL',
        -            'DATABASEPROPERTYEX','INDEXKEY_PROPERTY','DB_ID','INDEXPROPERTY','DB_NAME',
        -            'OBJECT_ID','FILE_ID','OBJECT_NAME','FILE_NAME','OBJECTPROPERTY','FILEGROUP_ID',
        -            '@@PROCID','FILEGROUP_NAME','SQL_VARIANT_PROPERTY','FILEGROUPPROPERTY',
        -            'TYPEPROPERTY','FILEPROPERTY',
        -
        -            //Security Functions
        -            'IS_SRVROLEMEMBER','SUSER_SID','SUSER_SNAME','USER_ID',
        -            'HAS_DBACCESS','IS_MEMBER',
        -
        -            //String Functions
        -            'ASCII','SOUNDEX','PATINDEX','CHARINDEX','REPLACE','STR',
        -            'DIFFERENCE','QUOTENAME','STUFF','REPLICATE','SUBSTRING','LEN',
        -            'REVERSE','UNICODE','LOWER','UPPER','LTRIM','RTRIM',
        -
        -            //System Functions
        -            'APP_NAME','COLLATIONPROPERTY','@@ERROR','FORMATMESSAGE',
        -            'GETANSINULL','HOST_ID','HOST_NAME','IDENT_CURRENT','IDENT_INCR',
        -            'IDENT_SEED','@@IDENTITY','ISDATE','ISNUMERIC','PARSENAME','PERMISSIONS',
        -            '@@ROWCOUNT','ROWCOUNT_BIG','SCOPE_IDENTITY','SERVERPROPERTY','SESSIONPROPERTY',
        -            'STATS_DATE','@@TRANCOUNT','USER_NAME',
        -
        -            //System Statistical Functions
        -            '@@CONNECTIONS','@@PACK_RECEIVED','@@CPU_BUSY','@@PACK_SENT',
        -            '@@TIMETICKS','@@IDLE','@@TOTAL_ERRORS','@@IO_BUSY',
        -            '@@TOTAL_READ','@@PACKET_ERRORS','@@TOTAL_WRITE',
        -
        -            //Text and Image Functions
        -            'TEXTPTR','TEXTVALID',
        -
        -            //Aggregate functions
        -            'AVG', 'MAX', 'BINARY_CHECKSUM', 'MIN', 'CHECKSUM', 'SUM', 'CHECKSUM_AGG',
        -            'STDEV', 'COUNT', 'STDEVP', 'COUNT_BIG', 'VAR', 'VARP'
        -            ),
        -        3 => array(
        -            /*
        -                System stored procedures
        -                Higlighted dark brown
        -            */
        -
        -            //Active Directory Procedures
        -            'sp_ActiveDirectory_Obj', 'sp_ActiveDirectory_SCP',
        -
        -            //Catalog Procedures
        -            'sp_column_privileges', 'sp_special_columns', 'sp_columns', 'sp_sproc_columns',
        -            'sp_databases', 'sp_statistics', 'sp_fkeys', 'sp_stored_procedures', 'sp_pkeys',
        -            'sp_table_privileges', 'sp_server_info', 'sp_tables',
        -
        -            //Cursor Procedures
        -            'sp_cursor_list', 'sp_describe_cursor_columns', 'sp_describe_cursor', 'sp_describe_cursor_tables',
        -
        -            //Database Maintenance Plan Procedures
        -            'sp_add_maintenance_plan', 'sp_delete_maintenance_plan_db', 'sp_add_maintenance_plan_db',
        -            'sp_delete_maintenance_plan_job', 'sp_add_maintenance_plan_job', 'sp_help_maintenance_plan',
        -            'sp_delete_maintenance_plan',
        -
        -            //Distributed Queries Procedures
        -            'sp_addlinkedserver', 'sp_indexes', 'sp_addlinkedsrvlogin', 'sp_linkedservers', 'sp_catalogs',
        -            'sp_primarykeys', 'sp_column_privileges_ex', 'sp_columns_ex',
        -            'sp_table_privileges_ex', 'sp_tables_ex', 'sp_foreignkeys',
        -
        -            //Full-Text Search Procedures
        -            'sp_fulltext_catalog', 'sp_help_fulltext_catalogs_cursor', 'sp_fulltext_column',
        -            'sp_help_fulltext_columns', 'sp_fulltext_database', 'sp_help_fulltext_columns_cursor',
        -            'sp_fulltext_service', 'sp_help_fulltext_tables', 'sp_fulltext_table',
        -            'sp_help_fulltext_tables_cursor', 'sp_help_fulltext_catalogs',
        -
        -            //Log Shipping Procedures
        -            'sp_add_log_shipping_database', 'sp_delete_log_shipping_database', 'sp_add_log_shipping_plan',
        -            'sp_delete_log_shipping_plan', 'sp_add_log_shipping_plan_database',
        -            'sp_delete_log_shipping_plan_database', 'sp_add_log_shipping_primary',
        -            'sp_delete_log_shipping_primary', 'sp_add_log_shipping_secondary',
        -            'sp_delete_log_shipping_secondary', 'sp_can_tlog_be_applied', 'sp_get_log_shipping_monitor_info',
        -            'sp_change_monitor_role', 'sp_remove_log_shipping_monitor', 'sp_change_primary_role',
        -            'sp_resolve_logins', 'sp_change_secondary_role', 'sp_update_log_shipping_monitor_info',
        -            'sp_create_log_shipping_monitor_account', 'sp_update_log_shipping_plan',
        -            'sp_define_log_shipping_monitor', 'sp_update_log_shipping_plan_database',
        -
        -            //OLE Automation Extended Stored Procedures
        -            'sp_OACreate', 'sp_OAMethod', 'sp_OADestroy', 'sp_OASetProperty', 'sp_OAGetErrorInfo',
        -            'sp_OAStop', 'sp_OAGetProperty',
        -
        -            //Replication Procedures
        -            'sp_add_agent_parameter', 'sp_enableagentoffload', 'sp_add_agent_profile',
        -            'sp_enumcustomresolvers', 'sp_addarticle', 'sp_enumdsn', 'sp_adddistpublisher',
        -            'sp_enumfullsubscribers', 'sp_adddistributiondb', 'sp_expired_subscription_cleanup',
        -            'sp_adddistributor', 'sp_generatefilters', 'sp_addmergealternatepublisher',
        -            'sp_getagentoffloadinfo', 'sp_addmergearticle', 'sp_getmergedeletetype', 'sp_addmergefilter',
        -            'sp_get_distributor', 'sp_addmergepublication', 'sp_getqueuedrows', 'sp_addmergepullsubscription',
        -            'sp_getsubscriptiondtspackagename', 'sp_addmergepullsubscription_agent', 'sp_grant_publication_access',
        -            'sp_addmergesubscription', 'sp_help_agent_default', 'sp_addpublication', 'sp_help_agent_parameter',
        -            'sp_addpublication_snapshot', 'sp_help_agent_profile', 'sp_addpublisher70', 'sp_helparticle',
        -            'sp_addpullsubscription', 'sp_helparticlecolumns', 'sp_addpullsubscription_agent', 'sp_helparticledts',
        -            'sp_addscriptexec', 'sp_helpdistpublisher', 'sp_addsubscriber', 'sp_helpdistributiondb',
        -            'sp_addsubscriber_schedule', 'sp_helpdistributor', 'sp_addsubscription', 'sp_helpmergealternatepublisher',
        -            'sp_addsynctriggers', 'sp_helpmergearticle', 'sp_addtabletocontents', 'sp_helpmergearticlecolumn',
        -            'sp_adjustpublisheridentityrange', 'sp_helpmergearticleconflicts', 'sp_article_validation',
        -            'sp_helpmergeconflictrows', 'sp_articlecolumn', 'sp_helpmergedeleteconflictrows', 'sp_articlefilter',
        -            'sp_helpmergefilter', 'sp_articlesynctranprocs', 'sp_helpmergepublication', 'sp_articleview',
        -            'sp_helpmergepullsubscription', 'sp_attachsubscription', 'sp_helpmergesubscription', 'sp_browsesnapshotfolder',
        -            'sp_helppublication', 'sp_browsemergesnapshotfolder', 'sp_help_publication_access', 'sp_browsereplcmds',
        -            'sp_helppullsubscription', 'sp_change_agent_parameter', 'sp_helpreplfailovermode', 'sp_change_agent_profile',
        -            'sp_helpreplicationdboption', 'sp_changearticle', 'sp_helpreplicationoption', 'sp_changedistpublisher',
        -            'sp_helpsubscriberinfo', 'sp_changedistributiondb', 'sp_helpsubscription', 'sp_changedistributor_password',
        -            'sp_ivindexhasnullcols', 'sp_changedistributor_property', 'sp_helpsubscription_properties', 'sp_changemergearticle',
        -            'sp_link_publication', 'sp_changemergefilter', 'sp_marksubscriptionvalidation', 'sp_changemergepublication',
        -            'sp_mergearticlecolumn', 'sp_changemergepullsubscription', 'sp_mergecleanupmetadata', 'sp_changemergesubscription',
        -            'sp_mergedummyupdate', 'sp_changepublication', 'sp_mergesubscription_cleanup', 'sp_changesubscriber',
        -            'sp_publication_validation', 'sp_changesubscriber_schedule', 'sp_refreshsubscriptions', 'sp_changesubscriptiondtsinfo',
        -            'sp_reinitmergepullsubscription', 'sp_changesubstatus', 'sp_reinitmergesubscription', 'sp_change_subscription_properties',
        -            'sp_reinitpullsubscription', 'sp_check_for_sync_trigger', 'sp_reinitsubscription', 'sp_copymergesnapshot',
        -            'sp_removedbreplication', 'sp_copysnapshot', 'sp_repladdcolumn', 'sp_copysubscription', 'sp_replcmds',
        -            'sp_deletemergeconflictrow', 'sp_replcounters', 'sp_disableagentoffload', 'sp_repldone', 'sp_drop_agent_parameter',
        -            'sp_repldropcolumn', 'sp_drop_agent_profile', 'sp_replflush', 'sp_droparticle', 'sp_replicationdboption',
        -            'sp_dropanonymouseagent', 'sp_replication_agent_checkup', 'sp_dropdistpublisher', 'sp_replqueuemonitor',
        -            'sp_dropdistributiondb', 'sp_replsetoriginator', 'sp_dropmergealternatepublisher', 'sp_replshowcmds',
        -            'sp_dropdistributor', 'sp_repltrans', 'sp_dropmergearticle', 'sp_restoredbreplication', 'sp_dropmergefilter',
        -            'sp_revoke_publication_access', 'sp_scriptsubconflicttable', 'sp_dropmergepublication', 'sp_script_synctran_commands',
        -            'sp_dropmergepullsubscription', 'sp_setreplfailovermode', 'sp_showrowreplicainfo', 'sp_dropmergesubscription',
        -            'sp_subscription_cleanup', 'sp_droppublication', 'sp_table_validation', 'sp_droppullsubscription',
        -            'sp_update_agent_profile', 'sp_dropsubscriber', 'sp_validatemergepublication', 'sp_dropsubscription',
        -            'sp_validatemergesubscription', 'sp_dsninfo', 'sp_vupgrade_replication', 'sp_dumpparamcmd',
        -
        -            //Security Procedures
        -            'sp_addalias', 'sp_droprolemember', 'sp_addapprole', 'sp_dropserver', 'sp_addgroup', 'sp_dropsrvrolemember',
        -            'sp_dropuser', 'sp_addlogin', 'sp_grantdbaccess', 'sp_addremotelogin',
        -            'sp_grantlogin', 'sp_addrole', 'sp_helpdbfixedrole', 'sp_addrolemember', 'sp_helpgroup',
        -            'sp_addserver', 'sp_helplinkedsrvlogin', 'sp_addsrvrolemember', 'sp_helplogins', 'sp_adduser',
        -            'sp_helpntgroup', 'sp_approlepassword', 'sp_helpremotelogin', 'sp_changedbowner', 'sp_helprole',
        -            'sp_changegroup', 'sp_helprolemember', 'sp_changeobjectowner', 'sp_helprotect', 'sp_change_users_login',
        -            'sp_helpsrvrole', 'sp_dbfixedrolepermission', 'sp_helpsrvrolemember', 'sp_defaultdb', 'sp_helpuser',
        -            'sp_defaultlanguage', 'sp_MShasdbaccess', 'sp_denylogin', 'sp_password', 'sp_dropalias', 'sp_remoteoption',
        -            'sp_dropapprole', 'sp_revokedbaccess', 'sp_dropgroup', 'sp_revokelogin', 'sp_droplinkedsrvlogin',
        -            'sp_setapprole', 'sp_droplogin', 'sp_srvrolepermission', 'sp_dropremotelogin', 'sp_validatelogins', 'sp_droprole',
        -
        -            //SQL Mail Procedures
        -            'sp_processmail', 'xp_sendmail', 'xp_deletemail', 'xp_startmail', 'xp_findnextmsg', 'xp_stopmail', 'xp_readmail',
        -
        -            //SQL Profiler Procedures
        -            'sp_trace_create', 'sp_trace_setfilter', 'sp_trace_generateevent', 'sp_trace_setstatus', 'sp_trace_setevent',
        -
        -            //SQL Server Agent Procedures
        -            'sp_add_alert', 'sp_help_jobhistory', 'sp_add_category', 'sp_help_jobschedule', 'sp_add_job',
        -            'sp_help_jobserver', 'sp_add_jobschedule', 'sp_help_jobstep', 'sp_add_jobserver', 'sp_help_notification',
        -            'sp_add_jobstep', 'sp_help_operator', 'sp_add_notification', 'sp_help_targetserver',
        -            'sp_add_operator', 'sp_help_targetservergroup', 'sp_add_targetservergroup', 'sp_helptask',
        -            'sp_add_targetsvrgrp_member', 'sp_manage_jobs_by_login', 'sp_addtask', 'sp_msx_defect',
        -            'sp_apply_job_to_targets', 'sp_msx_enlist', 'sp_delete_alert', 'sp_post_msx_operation',
        -            'sp_delete_category', 'sp_purgehistory', 'sp_delete_job', 'sp_purge_jobhistory', 'sp_delete_jobschedule',
        -            'sp_reassigntask', 'sp_delete_jobserver', 'sp_remove_job_from_targets', 'sp_delete_jobstep',
        -            'sp_resync_targetserver', 'sp_delete_notification', 'sp_start_job', 'sp_delete_operator',
        -            'sp_stop_job', 'sp_delete_targetserver', 'sp_update_alert', 'sp_delete_targetservergroup',
        -            'sp_update_category', 'sp_delete_targetsvrgrp_member', 'sp_update_job', 'sp_droptask',
        -            'sp_update_jobschedule', 'sp_help_alert', 'sp_update_jobstep', 'sp_help_category',
        -            'sp_update_notification', 'sp_help_downloadlist', 'sp_update_operator', 'sp_helphistory',
        -            'sp_update_targetservergroup', 'sp_help_job', 'sp_updatetask', 'xp_sqlagent_proxy_account',
        -
        -            //System Procedures
        -            'sp_add_data_file_recover_suspect_db', 'sp_helpconstraint', 'sp_addextendedproc',
        -            'sp_helpdb', 'sp_addextendedproperty', 'sp_helpdevice', 'sp_add_log_file_recover_suspect_db',
        -            'sp_helpextendedproc', 'sp_addmessage', 'sp_helpfile', 'sp_addtype', 'sp_helpfilegroup',
        -            'sp_addumpdevice', 'sp_helpindex', 'sp_altermessage', 'sp_helplanguage', 'sp_autostats',
        -            'sp_helpserver', 'sp_attach_db', 'sp_helpsort', 'sp_attach_single_file_db', 'sp_helpstats',
        -            'sp_bindefault', 'sp_helptext', 'sp_bindrule', 'sp_helptrigger', 'sp_bindsession',
        -            'sp_indexoption', 'sp_certify_removable', 'sp_invalidate_textptr', 'sp_configure',
        -            'sp_lock', 'sp_create_removable', 'sp_monitor', 'sp_createstats', 'sp_procoption',
        -            'sp_cycle_errorlog', 'sp_recompile', 'sp_datatype_info', 'sp_refreshview', 'sp_dbcmptlevel',
        -            'sp_releaseapplock', 'sp_dboption', 'sp_rename', 'sp_dbremove', 'sp_renamedb',
        -            'sp_delete_backuphistory', 'sp_resetstatus', 'sp_depends', 'sp_serveroption', 'sp_detach_db',
        -            'sp_setnetname', 'sp_dropdevice', 'sp_settriggerorder', 'sp_dropextendedproc', 'sp_spaceused',
        -            'sp_dropextendedproperty', 'sp_tableoption', 'sp_dropmessage', 'sp_unbindefault', 'sp_droptype',
        -            'sp_unbindrule', 'sp_executesql', 'sp_updateextendedproperty', 'sp_getapplock', 'sp_updatestats',
        -            'sp_getbindtoken', 'sp_validname', 'sp_help', 'sp_who',
        -
        -            //Web Assistant Procedures
        -            'sp_dropwebtask', 'sp_makewebtask', 'sp_enumcodepages', 'sp_runwebtask',
        -
        -            //XML Procedures
        -            'sp_xml_preparedocument', 'sp_xml_removedocument',
        -
        -            //General Extended Procedures
        -            'xp_cmdshellxp_logininfo', 'xp_enumgroups', 'xp_msver', 'xp_findnextmsgxp_revokelogin',
        -            'xp_grantlogin', 'xp_sprintf', 'xp_logevent', 'xp_sqlmaint', 'xp_loginconfig', 'xp_sscanf',
        -
        -            //API System Stored Procedures
        -            'sp_cursor', 'sp_cursorclose', 'sp_cursorexecute', 'sp_cursorfetch', 'sp_cursoropen',
        -            'sp_cursoroption', 'sp_cursorprepare', 'sp_cursorunprepare', 'sp_execute', 'sp_prepare', 'sp_unprepare',
        -
        -            //Misc
        -            'sp_createorphan', 'sp_droporphans', 'sp_reset_connection', 'sp_sdidebug'
        -            ),
        -        4 => array(
        -            //Function/sp's higlighted brown.
        -            'fn_helpcollations', 'fn_listextendedproperty ', 'fn_servershareddrives',
        -            'fn_trace_geteventinfo', 'fn_trace_getfilterinfo', 'fn_trace_getinfo',
        -            'fn_trace_gettable', 'fn_virtualfilestats','fn_listextendedproperty',
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '!', '!=', '%', '&', '&&', '(', ')', '*', '+', '-', '/', '<', '<<', '<=',
        -        '<=>', '<>', '=', '>', '>=', '>>', '^', 'ALL', 'AND', 'ANY', 'BETWEEN', 'CROSS',
        -        'EXISTS', 'IN', 'JOIN', 'LIKE', 'NOT', 'NULL', 'OR', 'OUTER', 'SOME', '|', '||', '~'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000FF;',
        -            2 => 'color: #FF00FF;',
        -            3 => 'color: #AF0000;',
        -            4 => 'color: #AF0000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008080;',
        -            'MULTI' => 'color: #008080;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #808080;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #808080;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/twig.php b/vendor/easybook/geshi/geshi/twig.php
        deleted file mode 100644
        index cc79053..0000000
        --- a/vendor/easybook/geshi/geshi/twig.php
        +++ /dev/null
        @@ -1,190 +0,0 @@
        - 'Twig',
        -    'COMMENT_SINGLE' => array('{#' => '#}'),
        -    'COMMENT_MULTI' => array('{#' => '#}'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        //TWIG
        -        //Tags
        -        1 => array(
        -            'autoescape', 'endautoescape', 'block', 'endblock', 'do', 'embed', 'endembed',
        -            'extends', 'filter', 'endfilter', 'for', 'endfor', 'from', 'if', 'else', 'elseif', 'endif',
        -            'import', 'include', 'macro', 'endmacro', 'raw', 'endraw', 'sandbox', 'set', 'endset',
        -            'spaceless', 'endspaceless', 'use', 'verbatim', 'endverbatim',
        -            'trans', 'endtrans', 'transchoice', 'endtranschoice'
        -        ),
        -        //Filters
        -        2 => array(
        -            'abs', 'batch', 'capitalize', 'convert_encoding', 'date', 'date_modify', 'default',
        -            'escape', 'first', 'format', 'join', 'json_encode', 'keys', 'last', 'length', 'lower',
        -            'merge', 'nl2br', 'number_format', 'raw', 'replace', 'reverse', 'slice', 'sort', 'split',
        -            'striptags', 'title', 'trans', 'trim', 'upper', 'url_encode'
        -        ),
        -        //Functions
        -        3 => array(
        -            'attribute', 'block', 'constant', 'cycle', 'date', 'dump', 'include',
        -            'parent', 'random', 'range', 'source', 'template_from_string'
        -        ),
        -        //Tests
        -        4 => array(
        -            'constant', 'defined', 'divisibleby', 'empty', 'even', 'iterable', 'null',
        -            'odd', 'sameas'
        -        ),
        -        //Operators
        -        5 => array(
        -            'in', 'is', 'and', 'b-and', 'or', 'b-or', 'b-xor', 'not', 'into',
        -            'starts with', 'ends with', 'matches'
        -        ),
        -        6 => array(
        -            '{{', '}}', '{%', '%}'
        -        ),
        -    ),
        -    'SYMBOLS' => array(
        -        '+', '-', '/', '/', '*', '**', //Math operators
        -        '==', '!=', '<', '>', '>=', '<=', '===', //Logic operators
        -        '..', '|', '~', '[', ']', '.', '?', ':', '(', ')', //Other
        -        '=' //HTML (attributes)
        -    ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        //Twig
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => false
        -    ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0600FF;', //Tags
        -            2 => 'color: #008000;', //Filters
        -            3 => 'color: #0600FF;', //Functions
        -            4 => 'color: #804040;', //Tests
        -            5 => 'color: #008000;', //Operators
        -            6 => 'color: #008000;'  // {{ and {%
        -        ),
        -        'COMMENTS' => array(
        -            'MULTI' => 'color: #008080; font-style: italic;'
        -        ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -        ),
        -        'BRACKETS' => array(
        -            0 => 'color: #D36900;'
        -        ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -        ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -        ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;'
        -        ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #D36900;'
        -        ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #009000;'
        -        ),
        -        'REGEXPS' => array(
        -            0 => 'color: #00aaff;',
        -            1 => 'color: #00aaff;'
        -        )
        -    ),
        -    'URLS' => array(
        -        1 => 'http://twig.sensiolabs.org/doc/tags/{FNAMEL}.html',
        -        2 => 'http://twig.sensiolabs.org/doc/filters/{FNAMEL}.html',
        -        3 => 'http://twig.sensiolabs.org/doc/functions/{FNAMEL}.html',
        -        4 => 'http://twig.sensiolabs.org/doc/tests/{FNAMEL}.html',
        -        5 => '',
        -    ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        ),
        -    'REGEXPS' => array(
        -        0 => array(
        -            GESHI_SEARCH => "([[:space:]])([a-zA-Z_][a-zA-Z0-9_]*)",
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -        1 => array(
        -            GESHI_SEARCH => "\.([a-zA-Z_][a-zA-Z0-9_]*)",
        -            GESHI_REPLACE => '.\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -    ),
        -    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
        -    'SCRIPT_DELIMITERS' => array(
        -        0 => array(
        -            '{{' => '}}',
        -            '{%' => '%}'         
        -        ),
        -        1 => array(
        -            '{#' => '#}',          
        -        )
        -    ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => true,
        -        2 => true
        -    ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -        )
        -    )
        -);
        diff --git a/vendor/easybook/geshi/geshi/typoscript.php b/vendor/easybook/geshi/geshi/typoscript.php
        deleted file mode 100644
        index 25671d7..0000000
        --- a/vendor/easybook/geshi/geshi/typoscript.php
        +++ /dev/null
        @@ -1,298 +0,0 @@
        - Complete rewrite
        - * 2005/07/29 (1.0.0)
        - *  -  First Release
        - *
        - * TODO (updated 2004/07/14)
        - * -------------------------
        - * 
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'TypoScript',
        -    'COMMENT_SINGLE' => array(1  => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(2 => '/(? GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        // Conditions: http://documentation.typo3.org/documentation/tsref/conditions/
        -        1 => array(
        -            'browser', 'compatVersion', 'dayofmonth', 'dayofweek', 'device',
        -            'globalString', 'globalVars', 'hostname', 'hour',
        -            'ip', 'language', 'loginUser', 'loginuser', 'minute',
        -            'month', 'PIDinRootline', 'PIDupinRootline',
        -            'system', 'treelevel', 'useragent', 'userFunc',
        -            'usergroup', 'version'
        -            ),
        -
        -        // Functions: http://documentation.typo3.org/documentation/tsref/functions/
        -        2 => array(
        -            'addParams', 'encapsLines', 'filelink', 'HTMLparser',
        -            'HTMLparser_tags', 'if', 'imageLinkWrap',
        -            'imgResource', 'makelinks', 'numRows', 'parseFunc',
        -            'select', 'split', 'stdWrap', 'tableStyle', 'tags',
        -            'textStyle', 'typolink'
        -            ),
        -
        -        // Toplevel objects: http://documentation.typo3.org/documentation/tsref/tlo-objects/
        -        3 => array(
        -            'CARRAY', 'CONFIG', 'CONSTANTS', 'FE_DATA', 'FE_TABLE', 'FRAME',
        -            'FRAMESET', 'META', 'PAGE', 'plugin'
        -            ),
        -
        -        // Content Objects (cObject) : http://documentation.typo3.org/documentation/tsref/cobjects/
        -        4 => array(
        -            'CASE', 'CLEARGIF', 'COA', 'COA_INT', 'COBJ_ARRAY', 'COLUMNS',
        -            'CONTENT', 'CTABLE', 'EDITPANEL', 'FILE', 'FORM',
        -            'HMENU', 'HRULER', 'HTML', 'IMAGE', 'IMGTEXT',
        -            'IMG_RESOURCE', 'LOAD_REGISTER', 'MULTIMEDIA',
        -            'OTABLE', 'PHP_SCRIPT', 'PHP_SCRIPT_EXT',
        -            'PHP_SCRIPT_INT', 'RECORDS', 'RESTORE_REGISTER',
        -            'SEARCHRESULT', 'TEMPLATE', 'TEXT', 'USER',
        -            'USER_INT'
        -            ),
        -
        -        // GIFBUILDER toplevel link: http://documentation.typo3.org/documentation/tsref/gifbuilder/
        -        5 => array(
        -            'GIFBUILDER',
        -            ),
        -
        -        // GIFBUILDER: http://documentation.typo3.org/documentation/tsref/gifbuilder/
        -        // skipped fields: IMAGE, TEXT
        -        // NOTE! the IMAGE and TEXT field already are linked in group 4, they
        -        // cannot be linked twice . . . . unfortunately
        -        6 => array(
        -            'ADJUST', 'BOX', 'CROP', 'EFFECT', 'EMBOSS',
        -            'IMGMAP', 'OUTLINE', 'SCALE', 'SHADOW',
        -            'WORKAREA'
        -            ),
        -
        -        // MENU Objects: http://documentation.typo3.org/documentation/tsref/menu/
        -        7 => array(
        -            'GMENU', 'GMENU_FOLDOUT', 'GMENU_LAYERS', 'IMGMENU',
        -            'IMGMENUITEM', 'JSMENU', 'JSMENUITEM', 'TMENU',
        -            'TMENUITEM', 'TMENU_LAYERS'
        -            ),
        -
        -        // MENU common properties: http://documentation.typo3.org/documentation/tsref/menu/common-properties/
        -        8 => array(
        -            'alternativeSortingField', 'begin', 'debugItemConf',
        -            'imgNameNotRandom', 'imgNamePrefix',
        -            'itemArrayProcFunc', 'JSWindow', 'maxItems',
        -            'minItems', 'overrideId', 'sectionIndex',
        -            'showAccessRestrictedPages', 'submenuObjSuffixes'
        -            ),
        -
        -        // MENU item states: http://documentation.typo3.org/documentation/tsref/menu/item-states/
        -        9 => array(
        -            'ACT', 'ACTIFSUB', 'ACTIFSUBRO', 'ACTRO', 'CUR', 'CURIFSUB',
        -            'CURIFSUBRO', 'CURRO', 'IFSUB', 'IFSUBRO', 'NO',
        -            'SPC', 'USERDEF1', 'USERDEF1RO', 'USERDEF2',
        -            'USERDEF2RO', 'USR', 'USRRO'
        -            ),
        -        ),
        -
        -    // Does not include '-' because of stuff like htmlTag_langKey = en-GB and
        -    // lib.nav-sub
        -    'SYMBOLS' => array(
        -        0 => array(
        -            '|',
        -            '+', '*', '/', '%',
        -            '!', '&&', '^',
        -            '<', '>', '=',
        -            '?', ':',
        -            '.'
        -            ),
        -        1 => array(
        -            '(', ')', '{', '}', '[', ']'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true,
        -        9 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #ed7d14;',
        -            2 => 'font-weight: bold;',
        -            3 => 'color: #990000; font-weight: bold;',
        -            4 => 'color: #990000; font-weight: bold;',
        -            5 => 'color: #990000; font-weight: bold;',
        -            6 => 'color: #990000; font-weight: bold;',
        -            7 => 'color: #990000; font-weight: bold;',
        -            8 => 'font-weight: bold;',
        -            9 => 'color: #990000; font-weight: bold;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #aaa; font-style: italic;',
        -            2 => 'color: #aaa; font-style: italic;',
        -            'MULTI' => 'color: #aaa; font-style: italic;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ac14aa;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0000e0; font-weight: bold;',
        -            2 => 'color: #0000e0; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933; font-weight: bold;',
        -                // Set this to the same value as brackets above
        -            1 => 'color: #009900; font-weight: bold;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #009900;',
        -            1 => 'color: #009900; font-weight: bold;',
        -            2 => 'color: #3366CC;',
        -            3 => 'color: #000066; font-weight: bold;',
        -            4 => 'color: #ed7d14;',
        -            5 => 'color: #000066; font-weight: bold;',
        -            6 => 'color: #009900;',
        -            7 => 'color: #3366CC;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://documentation.typo3.org/documentation/tsref/conditions/{FNAME}/',
        -        2 => 'http://documentation.typo3.org/documentation/tsref/functions/{FNAME}/',
        -        3 => 'http://documentation.typo3.org/documentation/tsref/tlo-objects/{FNAME}/',
        -        4 => 'http://documentation.typo3.org/documentation/tsref/cobjects/{FNAME}/',
        -        5 => 'http://documentation.typo3.org/documentation/tsref/gifbuilder/',
        -        6 => 'http://documentation.typo3.org/documentation/tsref/gifbuilder/{FNAME}/',
        -        7 => 'http://documentation.typo3.org/documentation/tsref/menu/{FNAME}/',
        -        8 => 'http://documentation.typo3.org/documentation/tsref/menu/common-properties/',
        -        9 => 'http://documentation.typo3.org/documentation/tsref/menu/item-states/'
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -            // xhtml tag
        -        2 => array(
        -            GESHI_SEARCH => '(<)([a-zA-Z\\/][^\\/\\|]*?)(>)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 's',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -
        -            // Constant
        -        0 => array(
        -            GESHI_SEARCH => '(\{)(\$[a-zA-Z_\.]+[a-zA-Z0-9_\.]*)(\})',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => '\\3'
        -            ),
        -
        -            // Constant dollar sign
        -        1 => array(
        -            GESHI_SEARCH => '(\$)([a-zA-Z_\.]+[a-zA-Z0-9_\.]*)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '\\2'
        -            ),
        -
        -            // extension keys / tables: (static|user|ttx|tx|tt|fe)_something[_something]
        -        3 => array(
        -            GESHI_SEARCH => '(plugin\.|[^\.]\b)((?:static|user|ttx|tx|tt|fe)(?:_[0-9A-Za-z_]+?)\b)',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -
        -            // conditions and controls
        -        4 => array(
        -            GESHI_SEARCH => '(\[)(globalVar|global|end)\b',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -
        -            // lowlevel setup and constant objects
        -        5 => array(
        -            GESHI_SEARCH => '([^\.\$-\{]\b)(cObj|field|config|content|file|frameset|includeLibs|lib|page|plugin|register|resources|sitemap|sitetitle|styles|temp|tt_content|tt_news|types|xmlnews)\b',
        -            GESHI_REPLACE => '\\2',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '\\1',
        -            GESHI_AFTER => ''
        -            ),
        -
        -            // markers
        -        6 => array(
        -            GESHI_SEARCH => '(###[^#]+###)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -
        -            // hex color codes
        -        7 => array(
        -            GESHI_SEARCH => '(#[a-fA-F0-9]{6}\b|#[a-fA-F0-9]{3}\b)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => '',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -);
        diff --git a/vendor/easybook/geshi/geshi/unicon.php b/vendor/easybook/geshi/geshi/unicon.php
        deleted file mode 100644
        index fcfc786..0000000
        --- a/vendor/easybook/geshi/geshi/unicon.php
        +++ /dev/null
        @@ -1,209 +0,0 @@
        - 'Unicon (Unified Extended Dialect of Icon)',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', '\''),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'break', 'case', 'class', 'continue', 'create', 'default', 'do',
        -            'else', 'end', 'every', 'fail', 'for', 'if', 'import', 'initial', 'initially',
        -            'invocable', 'link', 'method', 'next', 'not', 'of', 'package', 'procedure', 'record',
        -            'repeat', 'return', 'switch', 'suspend', 'then', 'to', 'until', 'while'
        -            ),
        -        2 => array(
        -            'global', 'local', 'static'
        -            ),
        -        3 => array(
        -            'allocated', 'ascii', 'clock', 'collections',
        -            'column', 'cset', 'current', 'date', 'dateline', 'digits',
        -            'dump', 'e', 'error', 'errornumber', 'errortext',
        -            'errorvalue', 'errout', 'eventcode', 'eventsource', 'eventvalue',
        -            'fail', 'features', 'file', 'host', 'input', 'lcase',
        -            'letters', 'level', 'line', 'main', 'now', 'null',
        -            'output', 'phi', 'pi', 'pos', 'progname', 'random',
        -            'regions', 'source', 'storage', 'subject', 'syserr', 'time',
        -            'trace', 'ucase', 'version', 'col', 'control', 'interval',
        -            'ldrag', 'lpress', 'lrelease', 'mdrag', 'meta', 'mpress',
        -            'mrelease', 'rdrag', 'resize', 'row', 'rpress', 'rrelease',
        -            'shift', 'window', 'x', 'y'
        -            ),
        -        4 => array(
        -            'abs', 'acos', 'any', 'args', 'asin', 'atan', 'bal', 'center', 'char',
        -            'chmod', 'close', 'cofail', 'collect', 'copy', 'cos', 'cset', 'ctime', 'dbcolumns',
        -            'dbdriver', 'dbkeys', 'dblimits', 'dbproduction', 'dbtables', 'delay', 'delete', 'detab',
        -            'display', 'dtor', 'entab', 'errorclear', 'event', 'eventmask', 'EvGet', 'exit', 'exp',
        -            'fetch', 'fieldnames', 'find', 'flock', 'flush', 'function', 'get', 'getch', 'getche',
        -            'getenv', 'gettimeofday', 'globalnames', 'gtime', 'iand', 'icom', 'image', 'insert',
        -            'integer', 'ior', 'ishift', 'ixor', 'key', 'left', 'list', 'load', 'loadfunc',
        -            'localnames', 'log', 'many', 'map', 'match', 'member', 'mkdir', 'move', 'name', 'numeric',
        -            'open', 'opmask', 'ord', 'paramnames', 'parent', 'pipe', 'pop', 'pos', 'proc', 'pull',
        -            'push', 'put', 'read', 'reads', 'real', 'receive', 'remove', 'rename', 'repl', 'reverse',
        -            'right', 'rmdir', 'rtod', 'runerr', 'seek', 'select', 'send', 'seq', 'serial', 'set',
        -            'setenv', 'sort', 'sortf', 'sql', 'sqrt', 'stat', 'staticnames', 'stop', 'string', 'system', 'tab',
        -            'table', 'tan', 'trap', 'trim', 'truncate', 'type', 'upto', 'utime', 'variable', 'where',
        -            'write', 'writes'
        -            ),
        -        5 => array(
        -            'Active', 'Alert', 'Bg', 'Clip', 'Clone', 'Color', 'ColorValue',
        -            'CopyArea', 'Couple', 'DrawArc', 'DrawCircle', 'DrawCurve', 'DrawCylinder', 'DrawDisk',
        -            'DrawImage', 'DrawLine', 'DrawPoint', 'DrawPolygon', 'DrawRectangle', 'DrawSegment',
        -            'DrawSphere', 'DrawString', 'DrawTorus', 'EraseArea', 'Event', 'Fg', 'FillArc',
        -            'FillCircle', 'FillPolygon', 'FillRectangle', 'Font', 'FreeColor', 'GotoRC', 'GotoXY',
        -            'IdentifyMatrix', 'Lower', 'MatrixMode', 'NewColor', 'PaletteChars', 'PaletteColor',
        -            'PaletteKey', 'Pattern', 'Pending', 'Pixel', 'PopMatrix', 'PushMatrix', 'PushRotate',
        -            'PushScale', 'PushTranslate', 'QueryPointer', 'Raise', 'ReadImage', 'Refresh', 'Rotate',
        -            'Scale', 'Texcoord', 'TextWidth', 'Texture', 'Translate', 'Uncouple', 'WAttrib',
        -            'WDefault', 'WFlush', 'WindowContents', 'WriteImage', 'WSync'
        -            ),
        -        6 => array(
        -            'define', 'include', 'ifdef', 'ifndef', 'else', 'endif', 'error',
        -            'line', 'undef'
        -            ),
        -        7 => array(
        -            '_V9', '_AMIGA', '_ACORN', '_CMS', '_MACINTOSH', '_MSDOS_386',
        -            '_MS_WINDOWS_NT', '_MSDOS', '_MVS', '_OS2', '_POR', 'T', '_UNIX', '_POSIX', '_DBM',
        -            '_VMS', '_ASCII', '_EBCDIC', '_CO_EXPRESSIONS', '_CONSOLE_WINDOW', '_DYNAMIC_LOADING',
        -            '_EVENT_MONITOR', '_EXTERNAL_FUNCTIONS', '_KEYBOARD_FUNCTIONS', '_LARGE_INTEGERS',
        -            '_MULTITASKING', '_PIPES', '_RECORD_IO', '_SYSTEM_FUNCTION', '_MESSAGING', '_GRAPHICS',
        -            '_X_WINDOW_SYSTEM', '_MS_WINDOWS', '_WIN32', '_PRESENTATION_MGR', '_ARM_FUNCTIONS',
        -            '_DOS_FUNCTIONS'
        -            ),
        -        8 => array(
        -            'line')
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '\\', '%', '=', '<', '>', '!', '^',
        -            '&', '|', '?', ':', ';', ',', '.', '~', '@'
        -            ),
        -        2 => array(
        -            '$(', '$)', '$<', '$>'
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        5 => true,
        -        6 => true,
        -        7 => true,
        -        8 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #b1b100;',
        -            3 => 'color: #b1b100;',
        -            4 => 'color: #b1b100;',
        -            5 => 'color: #b1b100;',
        -            6 => 'color: #b1b100;',
        -            7 => 'color: #b1b100;',
        -            8 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => '',
        -        8 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(1 => '.'),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            3 => array(
        -                'DISALLOWED_BEFORE' => '(?<=&)'
        -                ),
        -            4 => array(
        -                'DISALLOWED_BEFORE' => "(? "(?![a-zA-Z0-9_\"\'])"
        -                ),
        -            6 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\$)'
        -                ),
        -            8 => array(
        -                'DISALLOWED_BEFORE' => '(?<=#)'
        -                )
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/upc.php b/vendor/easybook/geshi/geshi/upc.php
        deleted file mode 100644
        index 98ca885..0000000
        --- a/vendor/easybook/geshi/geshi/upc.php
        +++ /dev/null
        @@ -1,269 +0,0 @@
        - 'UPC',
        -    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Multiline-continued single-line comments
        -        1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //Multiline-continued preprocessor define
        -        2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{2}#",
        -        //Hexadecimal Char Specs
        -        3 => "#\\\\u[\da-fA-F]{4}#",
        -        //Hexadecimal Char Specs
        -        4 => "#\\\\U[\da-fA-F]{8}#",
        -        //Octal Char Specs
        -        5 => "#\\\\[0-7]{1,3}#"
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'if', 'return', 'while', 'case', 'continue', 'default',
        -            'do', 'else', 'for', 'switch', 'goto',
        -
        -            'upc_forall', 'upc_barrier', 'upc_notify', 'upc_wait', 'upc_fence'
        -            ),
        -        2 => array(
        -            'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline'
        -            ),
        -        3 => array(
        -            // assert.h
        -            'assert',
        -
        -            //complex.h
        -            'cabs', 'cacos', 'cacosh', 'carg', 'casin', 'casinh', 'catan',
        -            'catanh', 'ccos', 'ccosh', 'cexp', 'cimag', 'cis', 'clog', 'conj',
        -            'cpow', 'cproj', 'creal', 'csin', 'csinh', 'csqrt', 'ctan', 'ctanh',
        -
        -            //ctype.h
        -            'digittoint', 'isalnum', 'isalpha', 'isascii', 'isblank', 'iscntrl',
        -            'isdigit', 'isgraph', 'islower', 'isprint', 'ispunct', 'isspace',
        -            'isupper', 'isxdigit', 'toascii', 'tolower', 'toupper',
        -
        -            //inttypes.h
        -            'imaxabs', 'imaxdiv', 'strtoimax', 'strtoumax', 'wcstoimax',
        -            'wcstoumax',
        -
        -            //locale.h
        -            'localeconv', 'setlocale',
        -
        -            //math.h
        -            'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'exp',
        -            'fabs', 'floor', 'frexp', 'ldexp', 'log', 'log10', 'modf', 'pow',
        -            'sin', 'sinh', 'sqrt', 'tan', 'tanh',
        -
        -            //setjmp.h
        -            'longjmp', 'setjmp',
        -
        -            //signal.h
        -            'raise',
        -
        -            //stdarg.h
        -            'va_arg', 'va_copy', 'va_end', 'va_start',
        -
        -            //stddef.h
        -            'offsetof',
        -
        -            //stdio.h
        -            'clearerr', 'fclose', 'fdopen', 'feof', 'ferror', 'fflush', 'fgetc',
        -            'fgetpos', 'fgets', 'fopen', 'fprintf', 'fputc', 'fputchar',
        -            'fputs', 'fread', 'freopen', 'fscanf', 'fseek', 'fsetpos', 'ftell',
        -            'fwrite', 'getc', 'getch', 'getchar', 'gets', 'perror', 'printf',
        -            'putc', 'putchar', 'puts', 'remove', 'rename', 'rewind', 'scanf',
        -            'setbuf', 'setvbuf', 'snprintf', 'sprintf', 'sscanf', 'tmpfile',
        -            'tmpnam', 'ungetc', 'vfprintf', 'vfscanf', 'vprintf', 'vscanf',
        -            'vsprintf', 'vsscanf',
        -
        -            //stdlib.h
        -            'abort', 'abs', 'atexit', 'atof', 'atoi', 'atol', 'bsearch',
        -            'calloc', 'div', 'exit', 'free', 'getenv', 'itoa', 'labs', 'ldiv',
        -            'ltoa', 'malloc', 'qsort', 'rand', 'realloc', 'srand', 'strtod',
        -            'strtol', 'strtoul', 'system',
        -
        -            //string.h
        -            'memchr', 'memcmp', 'memcpy', 'memmove', 'memset', 'strcat',
        -            'strchr', 'strcmp', 'strcoll', 'strcpy', 'strcspn', 'strerror',
        -            'strlen', 'strncat', 'strncmp', 'strncpy', 'strpbrk', 'strrchr',
        -            'strspn', 'strstr', 'strtok', 'strxfrm',
        -
        -            //time.h
        -            'asctime', 'clock', 'ctime', 'difftime', 'gmtime', 'localtime',
        -            'mktime', 'strftime', 'time',
        -
        -            //wchar.h
        -            'btowc', 'fgetwc', 'fgetws', 'fputwc', 'fputws', 'fwide',
        -            'fwprintf', 'fwscanf', 'getwc', 'getwchar', 'mbrlen', 'mbrtowc',
        -            'mbsinit', 'mbsrtowcs', 'putwc', 'putwchar', 'swprintf', 'swscanf',
        -            'ungetwc', 'vfwprintf', 'vswprintf', 'vwprintf', 'wcrtomb',
        -            'wcscat', 'wcschr', 'wcscmp', 'wcscoll', 'wcscpy', 'wcscspn',
        -            'wcsftime', 'wcslen', 'wcsncat', 'wcsncmp', 'wcsncpy', 'wcspbrk',
        -            'wcsrchr', 'wcsrtombs', 'wcsspn', 'wcsstr', 'wcstod', 'wcstok',
        -            'wcstol', 'wcstoul', 'wcsxfrm', 'wctob', 'wmemchr', 'wmemcmp',
        -            'wmemcpy', 'wmemmove', 'wmemset', 'wprintf', 'wscanf',
        -
        -            //wctype.h
        -            'iswalnum', 'iswalpha', 'iswcntrl', 'iswctype', 'iswdigit',
        -            'iswgraph', 'iswlower', 'iswprint', 'iswpunct', 'iswspace',
        -            'iswupper', 'iswxdigit', 'towctrans', 'towlower', 'towupper',
        -            'wctrans', 'wctype'
        -            ),
        -        4 => array(
        -            'auto', 'char', 'const', 'double',  'float', 'int', 'long',
        -            'register', 'short', 'signed', 'sizeof', 'static', 'struct',
        -            'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t',
        -
        -            'int8', 'int16', 'int32', 'int64',
        -            'uint8', 'uint16', 'uint32', 'uint64',
        -
        -            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
        -            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
        -
        -            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
        -            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
        -
        -            'int8_t', 'int16_t', 'int32_t', 'int64_t',
        -            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
        -
        -            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t',
        -            'size_t', 'off_t',
        -
        -            'upc_lock_t', 'shared', 'strict', 'relaxed', 'upc_blocksizeof',
        -            'upc_localsizeof', 'upc_elemsizeof'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']',
        -        '+', '-', '*', '/', '%',
        -        '=', '<', '>',
        -        '!', '^', '&', '|',
        -        '?', ':',
        -        ';', ','
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            3 => 'color: #000066;',
        -            4 => 'color: #993333;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #339933;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            1 => 'color: #000099; font-weight: bold;',
        -            2 => 'color: #660099; font-weight: bold;',
        -            3 => 'color: #660099; font-weight: bold;',
        -            4 => 'color: #660099; font-weight: bold;',
        -            5 => 'color: #006699; font-weight: bold;',
        -            'HARD' => '',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000dd;',
        -            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
        -            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
        -            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
        -            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
        -            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/urbi.php b/vendor/easybook/geshi/geshi/urbi.php
        deleted file mode 100644
        index c73e444..0000000
        --- a/vendor/easybook/geshi/geshi/urbi.php
        +++ /dev/null
        @@ -1,198 +0,0 @@
        - 'Urbi',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Multiline-continued single-line comments
        -        1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        //Multiline-continued preprocessor define
        -        2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        // Urbi warning.
        -        3 => "#\[[0-9a-f]{8}:warning\].*#",
        -        // Urbi message from echo.
        -        4 => '#\[[0-9a-f]{8}\] \*\*\*.*#',
        -        // Urbi error message.
        -        6 => '#\[[0-9a-f]{8}:error\].*#',
        -        // Urbi system message.
        -        5 => '#\[00.*\].*#',
        -        // Nested comment. Max depth 4.
        -        7 => '#\/\*(.|\n)*\/\*(.|\n)*\*\/(.|\n)*\*\/#',
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(
        -        0 => '"',
        -        1 => '\'',
        -        ),
        -    // For Urbi, disable escape char is better.
        -    'ESCAPE_CHAR' => '\\',
        -    'ESCAPE_REGEXP' => array(
        -        //Simple Single Char Escapes
        -        1 => "#\\\\[abfnrtv\\\'\"?\n]#",
        -        //Hexadecimal Char Specs
        -        2 => "#\\\\x[\da-fA-F]{2}#",
        -        //Hexadecimal Char Specs
        -        3 => "#\\\\u[\da-fA-F]{4}#",
        -        //Hexadecimal Char Specs
        -        4 => "#\\\\U[\da-fA-F]{8}#",
        -        //Octal Char Specs
        -        5 => "#\\\\[0-7]{1,3}#",
        -        ),
        -    'NUMBERS' =>
        -        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
        -        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
        -        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
        -    'KEYWORDS' => array(
        -        // Condition keywords.
        -        1 => array(
        -            'at', 'at;', 'at|', 'at&', 'at,', 'break', 'call', 'case', 'catch', 'continue',
        -            'do', 'else', 'every', 'every&', 'every,', 'every;', 'every|', 'for', 'for&',
        -            'for,', 'for;', 'foreach', 'for|', 'freezeif', 'goto', 'if', 'in', 'loop',
        -            'loop&', 'loop,', 'loop;', 'loop|', 'or_eq', 'stopif', 'switch', 'try',
        -            'waituntil', 'when', 'whenever', 'while', 'while&', 'while,', 'while;',
        -            'while|', 'throw', 'onleave', 'watch', 'return', 'and_eq', 'default', 'finally',
        -            'timeout', 'xor_eq'
        -            ),
        -        // Type.
        -        2 => array(
        -            'virtual', 'using', 'namespace', 'inline', 'protected', 'private', 'public',
        -            'typename', 'typeid', 'class', 'const_cast', 'dynamic_cast', 'friend',
        -            'template', 'enum', 'static_cast', 'reinterpret_cast', 'mutable', 'explicit'
        -            ),
        -        // Standard function.
        -        3 => array(
        -            'this', 'sizeof', 'delete', 'assert', 'isdef', 'compl', 'detach',
        -            'disown', '__HERE__', 'asm'
        -            ),
        -        // Type.
        -        4 => array(
        -            'char', 'const', 'double', 'int', 'long', 'typedef', 'union',
        -            'unsigned', 'var', 'short', 'wchar_t', 'volatile', 'signed', 'bool',
        -            'float', 'struct', 'auto', 'register', 'static', 'extern', 'function',
        -            'export', 'external', 'internal', 'closure', 'BIN'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        0 => array('(', ')', '{', '}', '[', ']'),
        -        1 => array('<', '>','=', '!=', '==', '==='),
        -        2 => array('+', '-', '*', '/', '%', 'bitand', 'bitor', 'xor'),
        -        3 => array('!', '^', '&', '|'),
        -        4 => array('?', ':', ';')
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #0000dd;',
        -            4 => 'color: #0000ff;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666;',
        -            2 => 'color: #339900;',
        -            3 => 'color: #d46b0f;',
        -            4 => 'color: #20b537;',
        -            5 => 'color: #73776f;',
        -            6 => 'color: #a71616;',
        -            7 => 'color: #666666;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #ff0000;',
        -            1 => 'color: #ff0000;',
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #7a0874; font-weight: bold;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;',
        -            1 => 'color: #007788;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000dd;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #007788;',
        -            2 => 'color: #007788;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;',
        -            1 => 'color: #0000f8;',
        -            2 => 'color: #000040;',
        -            3 => 'color: #000040; font-weight: bold;',
        -            4 => 'color: #008080;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000dd',
        -            1 => 'color: #0000dd;',
        -            2 => 'color: #0000dd;',
        -            3 => 'color: #0000dd;',
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::',
        -        // FIXME: add -> splitter.
        -        ),
        -    'REGEXPS' => array(
        -        0 => '0x[0-9a-fA-F]([0-9a-fA-F_]*[0-9a-fA-F])*',
        -        1 => '[0-9]([0-9_]*[0-9])*(e|E)(-|\+)?[0-9]([0-9_]*[0-9])*',
        -        2 => '[0-9]([0-9_]*[0-9])*(min|s|ms|h|d)',
        -        3 => '[0-9]+_([0-9_])*[0-9]',
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -);
        diff --git a/vendor/easybook/geshi/geshi/uscript.php b/vendor/easybook/geshi/geshi/uscript.php
        deleted file mode 100644
        index 03b1d48..0000000
        --- a/vendor/easybook/geshi/geshi/uscript.php
        +++ /dev/null
        @@ -1,297 +0,0 @@
        - 'Unreal Script',
        -    'COMMENT_SINGLE' => array(
        -            1 => '//',
        -            2 => '#'
        -            ),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(        //declaration keywords
        -            'simulated', 'state', 'class', 'function', 'event', 'var', 'local',
        -            'ignores', 'globalconfig', 'config', 'abstract', 'nativereplication', 'native',
        -            'auto', 'coerce', 'const', 'default',
        -            'defaultproperties',
        -            'enum', 'extends', 'expands', 'final', 'guid', 'latent', 'localized',
        -            'new', 'noexport', 'operator', 'preoperator', 'optional', 'out',
        -            'private', 'public', 'protected', 'reliable', 'replication',
        -            'singular', 'static', 'struct', 'transient', 'unreliable',
        -            'hidedropdown', 'cacheexempt', 'exec', 'delegate', 'import', 'placeable', 'exportstructs'
        -            ),
        -        2 => array(        //control flow keywords
        -            'for', 'while', 'do', 'if', 'else', 'switch', 'case', 'return', 'break', 'continue',
        -            'begin', 'loop', 'assert',
        -            'foreach', 'AllActors', 'DynamicActors', 'ChildActors', 'BasedActors', 'TouchingActors',
        -            'TraceActors', 'RadiusActors', 'VisibleActors', 'CollidingActors', 'VisibleCollidingActors'
        -            ),
        -        3 => array(        //global (object) functions
        -            'log', 'warn', 'rot', 'vect', 'Rand', 'Min', 'Max', 'Clamp', 'Abs', 'Sin', 'ASin',
        -            'Cos', 'ACos', 'Tan', 'ATan', 'Exp', 'Loge', 'Sqrt', 'Square', 'FRand', 'FMin', 'FMax', 'FClamp',
        -            'Lerp', 'Smerp', 'Ceil', 'Round', 'VSize', 'Normal', 'Invert', 'VRand', 'MirrorVectorByNormal',
        -            'GetAxes', 'GetUnAxes', 'RotRand', 'OrthoRotation', 'Normalize', 'ClockwiseFrom',
        -            'Len', 'InStr', 'Mid', 'Left', 'Right', 'Caps', 'Chr', 'Asc', 'Locs',
        -            'Divide', 'Split', 'StrCmp', 'Repl', 'Eval',
        -            'InterpCurveEval', 'InterpCurveGetOutputRange', 'InterpCurveGetInputDomain',
        -            'QuatProduct', 'QuatInvert', 'QuatRotateVector', 'QuatFindBetween', 'QuatFromAxisAndAngle',
        -            'QuatFromRotator', 'QuatToRotator', 'QuatSlerp',
        -            'Localize', 'GotoState', 'IsInState', 'GetStateName',
        -            'ClassIsChildOf', 'IsA', 'Enable', 'Disable',
        -            'GetPropertyText', 'SetPropertyText', 'GetEnum', 'DynamicLoadObject', 'FindObject',
        -            'SaveConfig', 'ClearConfig', 'StaticSaveConfig', 'ResetConfig', 'StaticClearConfig',
        -            'GetPerObjectNames', 'RandRange', 'StopWatch', 'IsOnConsole', 'IsSoaking',
        -            'PlatformIsMacOS', 'PlatformIsUnix', 'PlatformIsWindows', 'PlatformIs64Bit',
        -            'BeginState', 'EndState', 'Created', 'AllObjects', 'GetReferencers', 'GetItemName',
        -            'ReplaceText', 'EatStr'
        -            ),
        -        4 => array(        //common almost-global (actor) functions
        -            'ClientMessage', 'ConsoleCommand', 'CopyObjectToClipboard', 'TextToSpeech',
        -            'Error', 'Sleep', 'SetCollision', 'SetCollisionSize', 'SetDrawScale', 'SetDrawScale3D',
        -            'SetStaticMesh', 'SetDrawType', 'Move', 'SetLocation', 'SetRotation',
        -            'SetRelativeLocation', 'SetRelativeRotation', 'MoveSmooth', 'AutonomousPhysics',
        -            'SetBase', 'SetOwner', 'IsJoinedTo', 'GetMeshName', 'PlayAnim', 'LoopAnim', 'TweenAnim',
        -            'IsAnimating', 'FinishAnim', 'HasAnim', 'StopAnimating', 'FreezeFrameAt', 'SetAnimFrame',
        -            'IsTweening', 'AnimStopLooping', 'AnimEnd', 'LinkSkelAnim', 'LinkMesh', 'BoneRefresh',
        -            'GetBoneCoords', 'GetBoneRotation', 'GetRootLocation', 'GetRootRotation', 'AttachToBone',
        -            'DetachFromBone', 'SetBoneScale', 'UpdateURL', 'GetURLOption', 'SetPhysics', 'KAddImpulse',
        -            'KImpact', 'KApplyForce', 'Clock', 'UnClock', 'Destroyed', 'GainedChild', 'LostChild',
        -            'Tick', 'PostNetReceive', 'ClientTrigger', 'Trigger', 'UnTrigger', 'BeginEvent', 'EndEvent',
        -            'Timer', 'HitWall', 'Falling', 'Landed', 'ZoneChange', 'PhysicsVolumeChange', 'Touch',
        -            'PostTouch', 'UnTouch', 'Bump', 'BaseChange', 'Attach', 'Detach', 'SpecialHandling',
        -            'EncroachingOn', 'EncroachedBy', 'RanInto', 'FinishedInterpolation', 'EndedRotation',
        -            'UsedBy', 'FellOutOfWorld', 'KilledBy', 'TakeDamage', 'HealDamage', 'Trace', 'FastTrace',
        -            'TraceThisActor', 'spawn', 'Destroy', 'TornOff', 'SetTimer', 'PlaySound', 'PlayOwnedSound',
        -            'GetSoundDuration', 'MakeNoise', 'BeginPlay', 'GetAllInt', 'RenderOverlays', 'RenderTexture',
        -            'PreBeginPlay', 'PostBeginPlay', 'PostNetBeginPlay', 'HurtRadius', 'Reset', 'Crash'
        -            ),
        -        5 => array(        //data types
        -            'none', 'null',
        -            'float', 'int', 'bool', 'byte', 'char', 'double', 'iterator', 'name', 'string',    //primitive
        -            'plane', 'rotator', 'vector', 'spline',    'coords', 'Quat', 'Range', 'RangeVector', //structs
        -            'Scale', 'Color', 'Box', 'IntBox', 'FloatBox', 'BoundingVolume', 'Matrix', 'InterpCurvePoint',
        -            'InterpCurve', 'CompressedPosition', 'TMultiMap', 'PointRegion',
        -            'KRigidBodyState', 'KSimParams', 'AnimRep', 'FireProperties',
        -            'lodmesh', 'skeletalmesh', 'mesh', 'StaticMesh', 'MeshInstance',    //3d resources
        -            'sound',    //sound resources
        -            'material', 'texture', 'combiner', 'modifier', 'ColorModifier', 'FinalBlend',    //2d resources
        -            'MaterialSequence', 'MaterialSwitch', 'OpacityModifier', 'TexModifier', 'TexEnvMap',
        -            'TexCoordSource', 'TexMatrix', 'TexOscillator', 'TexPanner', 'TexRotator', 'TexScaler',
        -            'RenderedMaterial', 'BitmapMaterial', 'ScriptedTexture', 'ShadowBitmapMaterial', 'Cubemap',
        -            'FractalTexture', 'FireTexture', 'IceTexture', 'WaterTexture', 'FluidTexture', 'WaveTexture',
        -            'WetTexture', 'ConstantMaterial', 'ConstantColor', 'FadeColor', 'ParticleMaterial',
        -            'ProjectorMaterial', 'Shader', 'TerrainMaterial', 'VertexColor'
        -            ),
        -        6 => array(        //misc keywords
        -            'false', 'true', 'self', 'super', 'MaxInt', 'Pi'
        -            ),
        -        7 => array(        //common actor enums & variables
        -            'DT_None', 'DT_Sprite', 'DT_Mesh', 'DT_Brush', 'DT_RopeSprite',
        -            'DT_VerticalSprite', 'DT_TerraForm', 'DT_SpriteAnimOnce', 'DT_StaticMesh', 'DT_DrawType',
        -            'DT_Particle', 'DT_AntiPortal', 'DT_FluidSurface',
        -            'PHYS_None', 'PHYS_Walking', 'PHYS_Falling', 'PHYS_Swimming', 'PHYS_Flying',
        -            'PHYS_Rotating', 'PHYS_Projectile', 'PHYS_Interpolating', 'PHYS_MovingBrush', 'PHYS_Spider',
        -            'PHYS_Trailer', 'PHYS_Ladder', 'PHYS_RootMotion', 'PHYS_Karma', 'PHYS_KarmaRagDoll',
        -            'PHYS_Hovering', 'PHYS_CinMotion',
        -            'ROLE_None', 'ROLE_DumbProxy', 'ROLE_SimulatedProxy',
        -            'ROLE_AutonomousProxy', 'ROLE_Authority',
        -            'STY_None', 'STY_Normal', 'STY_Masked', 'STY_Translucent', 'STY_Modulated', 'STY_Alpha',
        -            'STY_Additive', 'STY_Subtractive', 'STY_Particle', 'STY_AlphaZ',
        -            'OCCLUSION_None', 'OCCLUSION_BSP', 'OCCLUSION_Default', 'OCCLUSION_StaticMeshes',
        -            'SLOT_None', 'SLOT_Misc', 'SLOT_Pain', 'SLOT_Interact', 'SLOT_Ambient', 'SLOT_Talk',
        -            'SLOT_Interface', 'MTRAN_None', 'MTRAN_Instant', 'MTRAN_Segue', 'MTRAN_Fade',
        -            'MTRAN_FastFade', 'MTRAN_SlowFade',
        -
        -            'DrawType', 'Physics', 'Owner', 'Base', 'Level', 'Game', 'Instigator', 'RemoteRole', 'Role',
        -            'LifeSpan', 'Tag', 'Event', 'Location', 'Rotation', 'Velocity', 'Acceleration',
        -            'RelativeLocation', 'RelativeRotation', 'DrawScale', 'DrawScale3D', 'Skins', 'Style',
        -            'SoundVolume', 'SoundPitch', 'SoundRadius', 'TransientSoundVolume', 'TransientSoundRadius',
        -            'CollisionRadius', 'CollisionHeight', 'Mass', 'Buoyancy', 'RotationRate', 'DesiredRotation'
        -            ),
        -        8 => array(        //common non-actor uscript classes
        -            'Object',
        -            'CacheManager', 'CameraEffect', 'Canvas', 'CheatManager', 'Commandlet', 'DecoText', 'GUI',
        -            'InteractionMaster', 'Interactions', 'Interaction', 'KarmaParamsCollision', 'KarmaParamsRBFull',
        -            'KarmaParamsSkel', 'KarmaParams', 'LevelSummary', 'Locale', 'Manifest', 'MaterialFactory',
        -            'MeshObject', 'ObjectPool', 'Pallete',
        -            'ParticleEmitter', 'MeshEmitter', 'BeamEmitter', 'SpriteEmitter', 'SparkEmitter', 'TrailEmitter',
        -            'Player', 'PlayerInput', 'PlayInfo', 'ReachSpec', 'Resource', 'LatentScriptedAction', 'ScriptedAction',
        -            'speciesType', 'StreamBase', 'Stream', 'EditorEngine', 'Engine', 'Time', 'WeaponFire',
        -            'WebApplication', 'WebRequest', 'WebResponse', 'WebSkin', 'xPawnGibGroup', 'xPawnSoundGroup',
        -            'xUtil'
        -            ),
        -        9 => array(        //common actor-based uscript classes
        -            'Actor',
        -            'Controller', 'AIController', 'ScriptedController', 'Bot', 'xBot',
        -            'PlayerController', 'UnrealPlayer', 'xPlayer',
        -            'DamageType', 'WeaponDamageType', 'Effects', 'Emitter', 'NetworkEmitter',
        -            'Gib', 'HUD', 'HudBase', 'Info', 'FluidSurfaceInfo', 'Combo',
        -            'GameInfo', 'UnrealMPGameInfo', 'DeathMatch', 'TeamGame', 'CTFGame',
        -            'xCTFGame', 'xBombingRun', 'xDoubleDom', 'xTeamGame',
        -            'ASGameInfo', 'Invasion', 'ONSOnslaughtGame', 'xDeathmatch',
        -            'Mutator', 'Inventory', 'Ammunition', 'KeyInventory', 'Powerups', 'Armor', 'Weapon',
        -            'InventoryAttachment', 'WeaponAttachment',
        -            'KActor', 'KConstraint', 'KBSJoint', 'KCarWheelJoint', 'KConeLimit', 'KHinge', 'KTire',
        -            'KVehicleFactory', 'Keypoint', 'AIScript', 'ScriptedSequence', 'ScriptedTrigger',
        -            'AmbientSound', 'Light', 'SpotLight', 'SunLight', 'TriggerLight',
        -            'MeshEffect', 'NavigationPoint', 'GameObjective', 'DestroyableObjective',
        -            'PathNode', 'FlyingPathNode', 'RoadPathNode', 'InventorySpot', 'PlayerStart',
        -            'Pawn', 'Vehicle', 'UnrealPawn', 'xPawn', 'Monster', 'ASVehicle', 'KVehicle', 'KCar',
        -            'ONSWeaponPawn', 'SVehicle', 'ONSVehicle', 'ONSChopperCraft', 'ONSHoverCraft',
        -            'ONSPlaneCraft', 'ONSTreadCraft', 'ONSWheeledCraft',
        -            'Pickup', 'Ammo', 'UTAmmoPickup', 'ArmorPickup', 'KeyPickup', 'TournamentPickup',
        -            'Projectile', 'Projector', 'DynamicProjector', 'ShadowProjector', 'xScorch',
        -            'xEmitter', 'xPickupBase', 'xProcMesh', 'xWeatherEffect', 'PhysicsVolume', 'Volume'
        -            ),
        -        10 => array(    //symbol-like operators
        -            'dot','cross'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '+','-','=','/','*','-','%','>','<','&','^','!','|','`','(',')','[',']','{','}',
        -        '<<','>>','$','@'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false,
        -        7 => false,
        -        8 => false,
        -        9 => false,
        -        10 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000FF;',
        -            2 => 'color: #0000FF;',
        -            3 => 'color: #0066AA;',
        -            4 => 'color: #0088FF;',
        -            5 => 'color: #E000E0;',
        -            6 => 'color: #900000;',
        -            7 => 'color: #888800;',
        -            8 => 'color: #AA6600;',
        -            9 => 'color: #FF8800;',
        -            10 => 'color: #0000FF;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008080; font-style: italic;',
        -            2 => 'color: #000000; font-weight: bold;',
        -            'MULTI' => 'color: #008080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #999999;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #669966;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #E000E0;',
        -            1 => 'color: #E000E0;'
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => '',
        -        7 => '',
        -        8 => 'http://wiki.beyondunreal.com/wiki?search={FNAME}',
        -        9 => 'http://wiki.beyondunreal.com/wiki?search={FNAME}',
        -        10 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array('.'),
        -    'REGEXPS' => array(            //handle template-style variable definitions
        -        0 => array(
        -            GESHI_SEARCH => '(class\s*)<(\s*(\w+)\s*)>',
        -            GESHI_REPLACE => "\${1}",
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => "< \${3} >"
        -            ),
        -        1 => array(
        -            GESHI_SEARCH => '(array\s*)<(\s*(\w+)\s*)>',
        -            GESHI_REPLACE => "\${1}",
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => "< \${3} >"
        -            )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            10 => array(
        -                'DISALLOWED_BEFORE' => '(?)'
        -                )
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/vala.php b/vendor/easybook/geshi/geshi/vala.php
        deleted file mode 100644
        index 28f1534..0000000
        --- a/vendor/easybook/geshi/geshi/vala.php
        +++ /dev/null
        @@ -1,149 +0,0 @@
        - 'Vala',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        //Using and Namespace directives (basic support)
        -        //Please note that the alias syntax for using is not supported
        -        3 => '/(?:(?<=using[\\n\\s])|(?<=namespace[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*[a-zA-Z0-9_]+[\n\s]*(?=[;=])/i'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'HARDQUOTE' => array('"""'),
        -    'HARDESCAPE' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'as', 'abstract', 'base', 'break', 'case', 'catch', 'const',
        -            'construct', 'continue', 'default', 'delete', 'dynamic', 'do',
        -            'else', 'ensures', 'extern', 'false', 'finally', 'for', 'foreach',
        -            'get', 'if', 'in', 'inline', 'internal', 'lock', 'namespace',
        -            'null', 'out', 'override', 'private', 'protected', 'public', 'ref',
        -            'requires', 'return', 'set', 'static', 'switch', 'this', 'throw',
        -            'throws', 'true', 'try', 'using', 'value', 'var', 'virtual',
        -            'volatile', 'void', 'yield', 'yields', 'while'
        -            ),
        -        2 => array(
        -            '#elif', '#endif', '#else', '#if'
        -            ),
        -        3 => array(
        -            'is', 'new', 'owned', 'sizeof', 'typeof', 'unchecked', 'unowned', 'weak'
        -            ),
        -        4 => array(
        -            'bool', 'char', 'class', 'delegate', 'double', 'enum',
        -            'errordomain', 'float', 'int', 'int8', 'int16', 'int32', 'int64',
        -            'interface', 'long', 'short', 'signal', 'size_t', 'ssize_t',
        -            'string', 'struct', 'uchar', 'uint', 'uint8', 'uint16', 'uint32',
        -            'ulong', 'unichar', 'ushort'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', ':', ';',
        -        '(', ')', '{', '}', '[', ']', '|'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true,
        -        4 => true,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0600FF;',
        -            2 => 'color: #FF8000; font-weight: bold;',
        -            3 => 'color: #008000;',
        -            4 => 'color: #FF0000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008080; font-style: italic;',
        -            3 => 'color: #008080;',
        -            'MULTI' => 'color: #008080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #008080; font-weight: bold;',
        -            'HARD' => 'color: #008080; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #666666;',
        -            'HARD' => 'color: #666666;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #FF0000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #0000FF;',
        -            2 => 'color: #0000FF;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'DISALLOWED_BEFORE' => "(?|^])",
        -            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
        -        )
        -    )
        -);
        diff --git a/vendor/easybook/geshi/geshi/vb.php b/vendor/easybook/geshi/geshi/vb.php
        deleted file mode 100644
        index d2f0dd7..0000000
        --- a/vendor/easybook/geshi/geshi/vb.php
        +++ /dev/null
        @@ -1,156 +0,0 @@
        - 'Visual Basic',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        // Comments (either single or multiline with _
        -        1 => '/\'.*(? GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'Binary', 'Boolean', 'Byte', 'Currency', 'Date', 'Decimal', 'Double',
        -            'String', 'Enum', 'Integer', 'Long', 'Object', 'Single', 'Variant'
        -            ),
        -        2 => array(
        -            'CreateObject', 'GetObject', 'New', 'Option', 'Function',
        -            'Call', 'Private', 'Public', 'Sub', 'Explicit', 'Compare', 'Exit'
        -            ),
        -        3 => array(
        -            'And', 'Case', 'Do', 'Each', 'Else', 'ElseIf', 'For',
        -            'Goto', 'If', 'Is', 'Loop', 'Next', 'Not', 'Or', 'Select', 'Step',
        -            'Then', 'To', 'Until', 'While', 'With', 'Xor', 'WithEvents',
        -            'DoEvents', 'Close', 'Like', 'In', 'End'
        -            ),
        -        4 => array(
        -            'As', 'Dim', 'Get', 'Set', 'ReDim', 'Error',
        -            'Resume', 'Declare', 'Let', 'ByRef', 'ByVal',
        -            'Optional', 'Property', 'Control', 'UBound', 'Mod',
        -            'GoSub', 'Implements', 'Input', 'LBound', 'Static', 'Stop',
        -            'Type', 'TypeOf', 'On', 'Open', 'Output', 'ParamArray',
        -            'Preserve', 'Print', 'RaiseEvent', 'Random', 'Line'
        -            ),
        -        5 => array(
        -            'Nothing', 'False', 'True', 'Null', 'Empty'
        -            ),
        -        6 => array(
        -            'ErrorHandler','ExitProc', 'PublishReport'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        6 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #F660AB; font-weight: bold;',
        -            2 => 'color: #E56717; font-weight: bold;',
        -            3 => 'color: #8D38C9; font-weight: bold;',
        -            4 => 'color: #151B8D; font-weight: bold;',
        -            5 => 'color: #00C2FF; font-weight: bold;',
        -            6 => 'color: #3EA99F; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000;'
        -            ),
        -        'BRACKETS' => array(
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #800000;'
        -            ),
        -        'NUMBERS' => array(
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #800000; font-weight: bold;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => '',
        -        6 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER,
        -            'SYMBOLS' => GESHI_NEVER,
        -            'NUMBERS' => GESHI_NEVER
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/vbnet.php b/vendor/easybook/geshi/geshi/vbnet.php
        deleted file mode 100644
        index 862caa7..0000000
        --- a/vendor/easybook/geshi/geshi/vbnet.php
        +++ /dev/null
        @@ -1,181 +0,0 @@
        - 'vb.net',
        -    'COMMENT_SINGLE' => array(1 => "'"),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        //Keywords
        -        1 => array(
        -            'AddHandler', 'AddressOf', 'Alias', 'And', 'AndAlso', 'As', 'ByRef', 'ByVal',
        -            'Call', 'Case', 'Catch', 'Char', 'Class', 'Const', 'Continue',
        -            'Declare', 'Default',
        -            'Delegate', 'Dim', 'DirectCast', 'Do', 'Each', 'Else', 'ElseIf', 'End', 'EndIf',
        -            'Enum', 'Erase', 'Error', 'Event', 'Exit', 'False', 'Finally', 'For', 'Friend', 'Function',
        -            'Get', 'GetType', 'GetXMLNamespace', 'Global', 'GoSub', 'GoTo', 'Handles', 'If', 'Implements',
        -            'Imports', 'In', 'Inherits', 'Interface', 'Is', 'IsNot', 'Let', 'Lib', 'Like', 'Loop', 'Me',
        -            'Mod', 'Module', 'Module Statement', 'MustInherit', 'MustOverride', 'MyBase', 'MyClass', 'Namespace',
        -            'Narrowing', 'New', 'Next', 'Not', 'Nothing', 'NotInheritable', 'NotOverridable', 'Of', 'On',
        -            'Operator', 'Option', 'Optional', 'Or', 'OrElse', 'Out', 'Overloads', 'Overridable', 'Overrides',
        -            'ParamArray', 'Partial', 'Private', 'Property', 'Protected', 'Public', 'RaiseEvent', 'ReadOnly', 'ReDim',
        -            'REM', 'RemoveHandler', 'Resume', 'Return', 'Select','Set', 'Shadows', 'Shared', 'Static', 'Step',
        -            'Stop', 'Structure', 'Sub', 'SyncLock', 'Then', 'Throw', 'To', 'True', 'Try', 'TryCast', 'TypeOf',
        -            'Using', 'Wend', 'When', 'While', 'Widening', 'With', 'WithEvents', 'WriteOnly', 'Xor'
        -            ),
        -        //Data Types
        -        2 => array(
        -            'Boolean', 'Byte', 'Date', 'Decimal', 'Double', 'Integer', 'Long', 'Object',
        -            'SByte', 'Short', 'Single', 'String', 'UInteger', 'ULong', 'UShort'
        -            ),
        -        //Compiler Directives
        -        3 => array(
        -            '#Const', '#Else', '#ElseIf', '#End', '#If'
        -            ),
        -        //Constants
        -        4 => array(
        -            'CBool', 'CByte', 'CChar', 'CChr', 'CDate', 'CDbl', 'CDec','CInt', 'CLng', 'CLng8', 'CObj', 'CSByte', 'CShort',
        -            'CSng', 'CStr', 'CType', 'CUInt', 'CULng', 'CUShort'
        -            ),
        -        //Linq
        -        5 => array(
        -            'By','From','Group','Where'
        -            ),
        -        //Built-in functions
        -        7 => array(
        -            'ABS', 'ARRAY', 'ASC', 'ASCB', 'ASCW', 'CALLBYNAME', 'CHOOSE', 'CHR', 'CHR$', 'CHRB', 'CHRB$', 'CHRW',
        -            'CLOSE', 'COMMAND', 'COMMAND$', 'CONVERSION',
        -            'COS', 'CREATEOBJECT', 'CURDIR', 'CVDATE', 'DATEADD',
        -            'DATEDIFF', 'DATEPART', 'DATESERIAL', 'DATEVALUE', 'DAY', 'DDB', 'DIR', 'DIR$',
        -            'EOF', 'ERROR$', 'EXP', 'FILEATTR', 'FILECOPY', 'FILEDATATIME', 'FILELEN', 'FILTER',
        -            'FIX', 'FORMAT', 'FORMAT$', 'FORMATCURRENCY', 'FORMATDATETIME', 'FORMATNUMBER',
        -            'FORMATPERCENT', 'FREEFILE', 'FV', 'GETALLSETTINGS', 'GETATTRGETOBJECT', 'GETSETTING',
        -            'HEX', 'HEX$', 'HOUR', 'IIF', 'IMESTATUS', 'INPUT$', 'INPUTB', 'INPUTB$', 'INPUTBOX',
        -            'INSTR', 'INSTRB', 'INSTRREV', 'INT', 'IPMT', 'IRR', 'ISARRAY', 'ISDATE', 'ISEMPTY',
        -            'ISERROR', 'ISNULL', 'ISNUMERIC', 'ISOBJECT', 'JOIN', 'LBOUND', 'LCASE', 'LCASE$',
        -            'LEFT', 'LEFT$', 'LEFTB', 'LEFTB$', 'LENB', 'LINEINPUT', 'LOC', 'LOF', 'LOG', 'LTRIM',
        -            'LTRIM$', 'MID$', 'MIDB', 'MIDB$', 'MINUTE', 'MIRR', 'MKDIR', 'MONTH', 'MONTHNAME',
        -            'MSGBOX', 'NOW', 'NPER', 'NPV', 'OCT', 'OCT$', 'PARTITION', 'PMT', 'PPMT', 'PV',
        -            'RATE', 'REPLACE', 'RIGHT', 'RIGHT$', 'RIGHTB', 'RIGHTB$', 'RMDIR', 'RND', 'RTRIM',
        -            'RTRIM$', 'SECOND', 'SIN', 'SLN', 'SPACE', 'SPACE$', 'SPC', 'SPLIT', 'SQRT', 'STR', 'STR$',
        -            'STRCOMP', 'STRCONV', 'STRING$', 'STRREVERSE', 'SYD', 'TAB', 'TAN', 'TIMEOFDAY',
        -            'TIMER', 'TIMESERIAL', 'TIMEVALUE', 'TODAY', 'TRIM', 'TRIM$', 'TYPENAME', 'UBOUND',
        -            'UCASE', 'UCASE$', 'VAL', 'WEEKDAY', 'WEEKDAYNAME', 'YEAR'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!',
        -        '(', ')', '{', '}', '.'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false,
        -        7 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000FF; font-weight: bold;',  //Keywords
        -            2 => 'color: #6a5acd;',                     //primitive Data Types
        -            3 => 'color: #6a5acd; font-weight: bold;',  //preprocessor-commands
        -            4 => 'color: #cd6a5a;',                     //Constants
        -            5 => 'color: #cd6a5a; font-weight: bold;',  //LinQ
        -            7 => 'color: #000066;',                     //Built-in functions
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000; font-style: italic;',
        -            'MULTI' => 'color: #008000; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #008080; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #a52a2a; back-color: #fffacd;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #a52a2a; back-color: #fffacd;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #000000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.google.com/search?q={FNAMEU}+site:msdn.microsoft.com',
        -        4 => '',
        -        5 => '',
        -        7 => 'http://www.google.com/search?q={FNAMEU}+site:msdn.microsoft.com'
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 =>'.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            7 => array(
        -                'DISALLOWED_AFTER' => '(?!\w)(?=\s*\()'
        -                )
        -            )
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/vbscript.php b/vendor/easybook/geshi/geshi/vbscript.php
        deleted file mode 100644
        index 6db3bbd..0000000
        --- a/vendor/easybook/geshi/geshi/vbscript.php
        +++ /dev/null
        @@ -1,153 +0,0 @@
        - 'VBScript',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        // Comments (either single or multiline with _
        -        1 => '/\'.*(? GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'Empty', 'Nothing', 'Null', 'vbArray', 'vbBoolean', 'vbByte',
        -            'vbCr', 'vbCrLf', 'vbCurrency', 'vbDate', 'vbDouble', 'vbEmpty',
        -            'vbError', 'vbFirstFourDays', 'vbFirstFullWeek', 'vbFirstJan1',
        -            'vbFormFeed', 'vbFriday', 'vbInteger', 'vbLf', 'vbLong', 'vbMonday',
        -            'vbNewLine', 'vbNull', 'vbNullChar', 'vbNullString', 'vbObject',
        -            'vbSaturday', 'vbSingle', 'vbString', 'vbSunday', 'vbTab',
        -            'vbThursday', 'vbTuesday', 'vbUseSystem', 'vbUseSystemDayOfWeek',
        -            'vbVariant', 'vbWednesday', 'FALSE', 'TRUE'
        -            ),
        -        2 => array(
        -            'bs', 'Array', 'Asc', 'Atn', 'CBool', 'CByte', 'CDate', 'CDbl', 'Chr',
        -            'CInt', 'CLng', 'Cos', 'CreateObject', 'CSng', 'CStr', 'Date', 'DateAdd',
        -            'DateDiff', 'DatePart', 'DateSerial', 'DateValue', 'Day', 'Eval', 'Exp',
        -            'Filter', 'Fix', 'FormatDateTime', 'FormatNumber', 'FormatPercent',
        -            'GetObject', 'Hex', 'Hour', 'InputBox', 'InStr', 'InstrRev', 'Int',
        -            'IsArray', 'IsDate', 'IsEmpty', 'IsNull', 'IsNumeric', 'IsObject', 'Join',
        -            'LBound', 'LCase', 'Left', 'Len', 'Log', 'LTrim', 'Mid', 'Minute', 'Month',
        -            'MonthName', 'MsgBox', 'Now', 'Oct', 'Replace', 'RGB', 'Right', 'Rnd',
        -            'Round', 'RTrim', 'ScriptEngine', 'ScriptEngineBuildVersion',
        -            'ScriptEngineMajorVersion', 'ScriptEngineMinorVersion', 'Second',
        -            'Sgn', 'Sin', 'Space', 'Split', 'Sqr', 'StrComp', 'String', 'StrReverse',
        -            'Tan', 'Time', 'TimeSerial', 'TimeValue', 'Trim', 'TypeName', 'UBound',
        -            'UCase', 'VarType', 'Weekday', 'WeekdayName', 'Year'
        -            ),
        -        3 => array(
        -            'Call', 'Case', 'Const', 'Dim', 'Do', 'Each', 'Else', 'End', 'Erase',
        -            'Execute', 'Exit', 'For', 'Function', 'Gosub', 'Goto', 'If', 'Loop',
        -            'Next', 'On Error', 'Option Explicit', 'Private', 'Public',
        -            'Randomize', 'ReDim', 'Rem', 'Resume', 'Select', 'Set', 'Sub', 'Then',
        -            'Wend', 'While', 'With', 'In', 'To', 'Step'
        -            ),
        -        4 => array(
        -            'And', 'Eqv', 'Imp', 'Is', 'Mod', 'Not', 'Or', 'Xor'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '-', '&', '*', '/', '\\', '^', '+', '<', '<=', '<>', '=', '>', '>='
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #F660AB; font-weight: bold;',
        -            2 => 'color: #E56717; font-weight: bold;',
        -            3 => 'color: #8D38C9; font-weight: bold;',
        -            4 => 'color: #151B8D; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000;'
        -            ),
        -        'BRACKETS' => array(
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #800000;'
        -            ),
        -        'NUMBERS' => array(
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #800000; font-weight: bold;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            'SPACE_AS_WHITESPACE' => true
        -            ),
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/vedit.php b/vendor/easybook/geshi/geshi/vedit.php
        deleted file mode 100644
        index c1375eb..0000000
        --- a/vendor/easybook/geshi/geshi/vedit.php
        +++ /dev/null
        @@ -1,102 +0,0 @@
        - 'Vedit macro language',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"', '\''),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'break', 'breakout', 'break_out', 'continue', 'do', 'else', 'for',
        -            'goto', 'if', 'repeat', 'return', 'while'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array(
        -            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '%',
        -            '=', '<', '>', '!', '^', '&', '|', '?', ':', ';', ','
        -            )
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;',
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #004000;'
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: #339933;'
        -            ),
        -        'REGEXPS' => array(),
        -        'SCRIPT' => array()
        -        ),
        -    'URLS' => array(1 => ''),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/verilog.php b/vendor/easybook/geshi/geshi/verilog.php
        deleted file mode 100644
        index d6ec086..0000000
        --- a/vendor/easybook/geshi/geshi/verilog.php
        +++ /dev/null
        @@ -1,193 +0,0 @@
        -
        - * Copyright: (C) 2008 Günter Dannoritzer
        - * Release Version: 1.0.8.11
        - * Date Started: 2008/05/28
        - *
        - * Verilog language file for GeSHi.
        - *
        - * CHANGES
        - * -------
        - * 2008/05/29
        - *   -  added regular expression to find numbers of the form 4'b001xz
        - *   -  added regular expression to find values for `timescale command
        - *   -  extended macro keywords
        - *
        - * TODO (updated 2008/05/29)
        - * -------------------------
        - *
        - * 2013/01/08
        - *   -  extended keywords to include system keywords
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'Verilog',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        // keywords
        -        1 => array(
        -            'accept_on','alias',
        -            'always','always_comb','always_ff','always_latch','and','assert',
        -            'assign','assume','automatic','before','begin','bind','bins','binsof',
        -            'bit','break','buf','bufif0','bufif1','byte','case','casex','casez',
        -            'cell','chandle','checker','class','clocking','cmos','config','const',
        -            'constraint','context','continue','cover','covergroup','coverpoint','cross',
        -            'deassign','default','defparam','design','disable','dist','do','edge','else',
        -            'end','endcase','endchecker','endclass','endclocking','endconfig',
        -            'endfunction','endgenerate','endgroup','endinterface','endmodule',
        -            'endpackage','endprimitive','endprogram','endproperty','endspecify',
        -            'endsequence','endtable','endtask','enum','event','eventually','expect',
        -            'export','extends','extern','final','first_match','for','force','foreach',
        -            'forever','fork','forkjoin','function','generate','genvar','global',
        -            'highz0','highz1','if','iff','ifnone','ignore_bins','illegal_bins',
        -            'implies','import','incdir','include','initial','inout','input','inside',
        -            'instance','int','integer','interface','intersect','join','join_any',
        -            'join_none','large','let','liblist','library','local','localparam',
        -            'logic','longint','macromodule','matches','medium','modport','module','nand',
        -            'negedge','new','nexttime','nmos','nor','noshowcancelled','not','notif0',
        -            'notif1','null','or','output','package','packed','parameter','pmos','posedge',
        -            'primitive','priority','program','property','protected','pull0','pull1',
        -            'pulldown','pullup','pulsestyle_ondetect','pulsestyle_onevent','pure',
        -            'rand','randc','randcase','randsequence','rcmos','real','realtime','ref',
        -            'reg','reject_on','release','repeat','restrict','return','rnmos','rpmos',
        -            'rtran','rtranif0','rtranif1','s_always','s_eventually','s_nexttime',
        -            's_until','s_until_with','scalared','sequence','shortint','shortreal',
        -            'showcancelled','signed','small','solve','specify','specparam','static',
        -            'string','strong','strong0','strong1','struct','super','supply0','supply1',
        -            'sync_accept_on','sync_reject_on','table','tagged','task','this','throughout',
        -            'time','timeprecision','timeunit','tran','tranif0','tranif1','tri','tri0',
        -            'tri1','triand','trior','trireg','type','typedef','union','unique','unique0',
        -            'unsigned','until','until_with','untyped','use','uwire','var','vectored',
        -            'virtual','void','wait','wait_order','wand','weak','weak0','weak1','while',
        -            'wildcard','wire','with','within','wor','xnor','xor'
        -            ),
        -        // system tasks
        -        2 => array(
        -            '$display', '$monitor',
        -            '$dumpall', '$dumpfile', '$dumpflush', '$dumplimit', '$dumpoff',
        -            '$dumpon', '$dumpvars',
        -            '$fclose', '$fdisplay', '$fopen',
        -            '$finish', '$fmonitor', '$fstrobe', '$fwrite',
        -            '$fgetc', '$ungetc', '$fgets', '$fscanf', '$fread', '$ftell',
        -            '$fseek', '$frewind', '$ferror', '$fflush', '$feof',
        -            '$random',
        -            '$readmemb', '$readmemh', '$readmemx',
        -            '$signed', '$stime', '$stop',
        -            '$strobe', '$time', '$unsigned', '$write'
        -            ),
        -        // macros
        -        3 => array(
        -            '`default-net', '`define',
        -            '`celldefine', '`default_nettype', '`else', '`elsif', '`endcelldefine',
        -            '`endif', '`ifdef', '`ifndef', '`include', '`line', '`nounconnected_drive',
        -            '`resetall', '`timescale', '`unconnected_drive', '`undef'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%',
        -        '^', '&', '|', '~',
        -        '?', ':',
        -        '#', '<<', '<<<',
        -        '>', '<', '>=', '<=',
        -        '@', ';', ','
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #A52A2A; font-weight: bold;',
        -            2 => 'color: #9932CC;',
        -            3 => 'color: #008800;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #00008B; font-style: italic;',
        -            'MULTI' => 'color: #00008B; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #9F79EE'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #9F79EE;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #FF00FF;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff0055;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #202020;',
        -            2 => 'color: #202020;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #5D478B;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #ff0055;',
        -            1 => 'color: #ff0055;',
        -            ),
        -        'SCRIPT' => array(
        -            0 => '',
        -            1 => '',
        -            2 => '',
        -            3 => ''
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => ''
        -        ),
        -    'REGEXPS' => array(
        -        // numbers
        -        0 => "\d'[bdh][0-9_a-fA-FxXzZ]+",
        -        // time -> 1, 10, or 100; s, ms, us, ns, ps, of fs
        -        1 => "1[0]{0,2}[munpf]?s"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        1 => ''
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        0 => true,
        -        1 => true,
        -        2 => true,
        -        3 => true
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/vhdl.php b/vendor/easybook/geshi/geshi/vhdl.php
        deleted file mode 100644
        index cc8158f..0000000
        --- a/vendor/easybook/geshi/geshi/vhdl.php
        +++ /dev/null
        @@ -1,181 +0,0 @@
        - 'VHDL',
        -    'COMMENT_SINGLE' => array(1 => '--'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'COMMENT_REGEXP' => array(
        -        // PSL adds C-preprocessor support
        -        1 => '/(?<=\s)#(?:\\\\\\\\|\\\\\\n|.)*$/m',
        -        // PSL metacomments (single-line only for now)
        -        2 => '/--\s*@?psl(?:.)*?;$/m',
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        /*keywords*/
        -        1 => array(
        -            'access','after','alias','all','attribute','architecture','array','begin',
        -            'block','body','buffer','bus','case','case?','component','configuration','constant','context',
        -            'disconnect','downto','else','elsif','end','entity','exit','file','for','force',
        -            'function','generate','generic','group','guarded','if','impure','in',
        -            'inertial','inout','is','label','library','linkage','literal','loop',
        -            'map','new','next','null','of','on','open','others','out','package',
        -            'port','postponed','procedure','process','protected','pure','range','record','register',
        -            'reject','release','report','return','select','severity','shared','signal','subtype',
        -            'then','to','transport','type','unaffected','units','until','use','variable',
        -            'wait','when','while','with'
        -            ),
        -        /*types and standard libs*/
        -        2 => array(
        -            'bit','bit_vector','character','boolean','integer','real','time','delay_length','string',
        -            'severity_level','positive','natural','signed','unsigned','line','text',
        -            'std_logic','std_logic_vector','std_ulogic','std_ulogic_vector',
        -            'sfixed','ufixed','float','float32','float64','float128',
        -            'work','ieee','std_logic_1164','math_real','math_complex','textio',
        -            'numeric_std','numeric_std_signed','numeric_std_unsigned','numeric_bit'
        -            ),
        -        /*operators*/
        -        3 => array(
        -            'abs','and','mod','nor','not','or','rem','rol','ror','sla','sll','sra','srl','xnor','xor'
        -            ),
        -        /*psl*/
        -        4 => array(
        -            'assert','assume','assume_guarantee','clock','const','countones','cover','default',
        -            'endpoint','fairness','fell','forall','inf','inherit','isunknown','onehot','onehot0','property',
        -            'prev','restrict','restrict_guarantee','rose','sequence','stable','strong','union','vmode','vprop','vunit'
        -            ),
        -        /*psl operators*/
        -        5 => array(
        -            'abort','always','before','before!','before!_','before_','eventually!','never',
        -            'next!','next_a','next_a!','next_e','next_e!','next_event','next_event!','next_event_a','next_event_a!',
        -            'next_event_e','next_event_e!','until!','until!_','until_','within'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '[', ']', '(', ')',
        -        ';',':',
        -        '<','>','=','+','-','*','/','&','|','?'
        -    ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000080; font-weight: bold;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #000066;',
        -            4 => 'color: #000080; font-weight: bold;',
        -            5 => 'color: #000066;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000; font-style: italic;',
        -            2 => 'color: #ff0000; font-weight: bold;',
        -            'MULTI' => 'color: #008000; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000066;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #7f007f;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000066;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #ff0000;',
        -            //1 => 'color: #ff0000;',
        -            2 => 'color: #ee82ee;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Based literals, scientific notation, and time units
        -        0 => '(\b\d+#[[:xdigit:]_]+#)|'.
        -            '(\b[\d_]+(\.[\d_]+)?[eE][+\-]?[\d_]+)|'.
        -            '(\b(hr|min|sec|ms|us|ns|ps|fs)\b)',
        -        //Character literals
        -        /* GeSHi won't match this pattern for some reason and QUOTEMARKS
        -         * can't be used because it interferes with attribute parsing */
        -        /*1 => "\b'.'\b",*/
        -        //Attributes
        -        2 => "'\w+(?!')"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/vim.php b/vendor/easybook/geshi/geshi/vim.php
        deleted file mode 100644
        index e2e3634..0000000
        --- a/vendor/easybook/geshi/geshi/vim.php
        +++ /dev/null
        @@ -1,418 +0,0 @@
        -  ...   ... works event if they aren't surround by space.
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array(
        -    'LANG_NAME' => 'Vim Script',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_REGEXP' => array(
        -        1 => "/\s*\"[^\"]*?$/m",
        -        //Regular expressions (Ported from perl.php)
        -//        2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
        -        ),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'au', 'augroup', 'autocmd', 'brea', 'break', 'bufadd',
        -            'bufcreate', 'bufdelete', 'bufenter', 'buffilepost',
        -            'buffilepre', 'bufleave', 'bufnew', 'bufnewfile',
        -            'bufread', 'bufreadcmd', 'bufreadpost', 'bufreadpre',
        -            'bufunload', 'bufwinenter', 'bufwinleave', 'bufwipeout',
        -            'bufwrite', 'bufwritecmd', 'bufwritepost', 'bufwritepre',
        -            'call', 'cat', 'catc', 'catch', 'cmd-event', 'cmdwinenter',
        -            'cmdwinleave', 'colorscheme', 'con', 'confirm', 'cont', 'conti',
        -            'contin', 'continu', 'continue', 'cursorhold', 'cursorholdi',
        -            'cursormoved', 'cursormovedi', 'ec', 'echo', 'echoe',
        -            'echoer', 'echoerr', 'echoh', 'echohl', 'echom', 'echoms',
        -            'echomsg', 'echon', 'el', 'els', 'else', 'elsei', 'elseif',
        -            'en', 'encodingchanged', 'end', 'endfo', 'endfor', 'endi',
        -            'endif', 'endt', 'endtr', 'endtry', 'endw', 'endwh', 'endwhi',
        -            'endwhil', 'endwhile', 'exe', 'exec', 'execu', 'execut',
        -            'execute', 'fileappendcmd', 'fileappendpost', 'fileappendpre',
        -            'filechangedro', 'filechangedshell', 'filechangedshellpost',
        -            'filereadcmd', 'filereadpost', 'filereadpre',
        -            'filetype', 'filewritecmd', 'filewritepost', 'filewritepre',
        -            'filterreadpost', 'filterreadpre', 'filterwritepost',
        -            'filterwritepre', 'fina', 'final', 'finall', 'finally',
        -            'finish', 'focusgained', 'focuslost', 'for', 'fun', 'func',
        -            'funct', 'functi', 'functio', 'function', 'funcundefined',
        -            'guienter', 'guifailed', 'hi', 'highlight', 'if', 'in',
        -            'insertchange', 'insertenter', 'insertleave', 'let', 'lockv',
        -            'lockva', 'lockvar', 'map', 'match', 'menupopup', 'nnoremap',
        -            'quickfixcmdpost', 'quickfixcmdpre', 'remotereply', 'retu',
        -            'retur', 'return', 'sessionloadpost', 'set', 'setlocal',
        -            'shellcmdpost', 'shellfilterpost', 'sourcecmd', 'sourcepre',
        -            'spellfilemissing', 'stdinreadpost', 'stdinreadpre',
        -            'swapexists', 'syntax', 'tabenter', 'tableave', 'termchanged',
        -            'termresponse', 'th', 'thr', 'thro', 'throw', 'tr', 'try', 'unl',
        -            'unle', 'unlet', 'unlo', 'unloc', 'unlock', 'unlockv',
        -            'unlockva', 'unlockvar', 'user', 'usergettingbored',
        -            'vimenter', 'vimleave', 'vimleavepre', 'vimresized', 'wh',
        -            'whi', 'whil', 'while', 'winenter', 'winleave'
        -            ),
        -        2 => array(
        -            '<CR>', '<Esc>', '<F1>', '<F10>',
        -            '<F11>', '<F12>', '<F2>', '<F3>',
        -            '<F4>', '<F5>', '<F6>', '<F7>',
        -            '<F8>', '<F9>', '<cr>', '<silent>',
        -            '-nargs', 'acd', 'ai', 'akm', 'al', 'aleph',
        -            'allowrevins', 'altkeymap', 'ambiwidth', 'ambw',
        -            'anti', 'antialias', 'ar', 'arab', 'arabic',
        -            'arabicshape', 'ari', 'arshape', 'autochdir',
        -            'autoindent', 'autoread', 'autowrite', 'autowriteall',
        -            'aw', 'awa', 'background', 'backspace', 'backup',
        -            'backupcopy', 'backupdir', 'backupext',
        -            'backupskip', 'balloondelay', 'ballooneval', 'balloonexpr',
        -            'bdir', 'bdlay', 'beval', 'bex', 'bexpr', 'bg',
        -            'bh', 'bin', 'binary', 'biosk', 'bioskey',
        -            'bk', 'bkc', 'bl', 'bomb', 'breakat', 'brk',
        -            'bs', 'bsdir', 'bsk', 'bt', 'bufhidden',
        -            'buftype', 'casemap', 'cb',
        -            'ccv', 'cd', 'cdpath', 'cedit', 'cf', 'cfu', 'ch',
        -            'charconvert', 'ci', 'cin', 'cink',
        -            'cinkeys', 'cino', 'cinoptions', 'cinw', 'cinwords',
        -            'clipboard', 'cmdheight', 'cmdwinheight',
        -            'cmp', 'cms', 'co', 'columns', 'com',
        -            'comc', 'comcl', 'comcle', 'comclea', 'comclear', 'comm',
        -            'comma', 'comman', 'command', 'comments', 'commentstring',
        -            'compatible', 'completefunc', 'completeopt',
        -            'consk', 'conskey', 'copyindent',
        -            'cot', 'cp', 'cpo', 'cpoptions', 'cpt',
        -            'cscopepathcomp', 'cscopeprg', 'cscopequickfix', 'cscopetag',
        -            'cscopetagorder', 'cscopeverbose',
        -            'cspc', 'csprg', 'csqf', 'cst', 'csto', 'csverb', 'cuc',
        -            'cul', 'cursorcolumn', 'cursorline', 'cwh', 'debug',
        -            'deco', 'def', 'define', 'delc', 'delco', 'delcom',
        -            'delcombine', 'delcomm', 'delcomman', 'delcommand', 'dex',
        -            'dg', 'dict', 'dictionary', 'diff', 'diffexpr',
        -            'diffopt', 'digraph', 'dip', 'dir', 'directory', 'display',
        -            'dlcomma', 'dy', 'ea', 'ead', 'eadirection',
        -            'eb', 'ed', 'edcompatible', 'ef', 'efm',
        -            'ei', 'ek', 'enc', 'encoding', 'endfun', 'endofline',
        -            'eol', 'ep', 'equalalways', 'equalprg', 'errorbells',
        -            'errorfile', 'errorformat', 'esckeys', 'et',
        -            'eventignore', 'ex', 'expandtab', 'exrc', 'fcl',
        -            'fcs', 'fdc', 'fde', 'fdi', 'fdl', 'fdls', 'fdm',
        -            'fdn', 'fdo', 'fdt', 'fen', 'fenc', 'fencs', 'fex',
        -            'ff', 'ffs', 'fileencoding', 'fileencodings', 'fileformat',
        -            'fileformats', /*'filetype',*/ 'fillchars', 'fk',
        -            'fkmap', 'flp', 'fml', 'fmr', 'fo', 'foldclose',
        -            'foldcolumn', 'foldenable', 'foldexpr', 'foldignore',
        -            'foldlevelstart', 'foldmarker', 'foldmethod', 'foldminlines',
        -            'foldnestmax', 'foldopen', 'formatexpr', 'formatlistpat',
        -            'formatoptions', 'formatprg', 'fp', 'fs', 'fsync', 'ft',
        -            'gcr', 'gd', 'gdefault', 'gfm', 'gfn', 'gfs', 'gfw',
        -            'ghr', 'go', 'gp', 'grepformat', 'grepprg', 'gtl',
        -            'gtt', 'guicursor', 'guifont', 'guifontset',
        -            'guifontwide', 'guiheadroom', 'guioptions', 'guipty',
        -            'guitablabel', 'guitabtooltip', 'helpfile',
        -            'helpheight', 'helplang', 'hf', 'hh', 'hid', 'hidden',
        -            'history', 'hk', 'hkmap', 'hkmapp', 'hkp', 'hl',
        -            'hlg', 'hls', 'hlsearch', 'ic', 'icon', 'iconstring',
        -            'ignorecase', 'im', 'imactivatekey', 'imak', 'imc',
        -            'imcmdline', 'imd', 'imdisable', 'imi', 'iminsert', 'ims',
        -            'imsearch', 'inc', 'include', 'includeexpr',
        -            'incsearch', 'inde', 'indentexpr', 'indentkeys',
        -            'indk', 'inex', 'inf', 'infercase', 'insertmode', 'is', 'isf',
        -            'isfname', 'isi', 'isident', 'isk', 'iskeyword',
        -            'isp', 'isprint', 'joinspaces', 'js', 'key',
        -            'keymap', 'keymodel', 'keywordprg', 'km', 'kmp', 'kp',
        -            'langmap', 'langmenu', 'laststatus', 'lazyredraw', 'lbr',
        -            'lcs', 'linebreak', 'lines', 'linespace', 'lisp',
        -            'lispwords', 'list', 'listchars', 'lm', 'lmap',
        -            'loadplugins', 'lpl', 'ls', 'lsp', 'lw', 'lz', 'ma',
        -            'macatsui', 'magic', 'makeef', 'makeprg', 'mat',
        -            'matchpairs', 'matchtime', 'maxcombine', 'maxfuncdepth',
        -            'maxmapdepth', 'maxmem', 'maxmempattern',
        -            'maxmemtot', 'mco', 'mef', 'menuitems', 'mfd', 'mh',
        -            'mis', 'mkspellmem', 'ml', 'mls', 'mm', 'mmd', 'mmp',
        -            'mmt', 'mod', 'modeline', 'modelines', 'modifiable',
        -            'modified', 'more', 'mouse', 'mousef', 'mousefocus',
        -            'mousehide', 'mousem', 'mousemodel', 'mouses',
        -            'mouseshape', 'mouset', 'mousetime', 'mp', 'mps', 'msm',
        -            'mzq', 'mzquantum', 'nf', 'noacd', 'noai', 'noakm',
        -            'noallowrevins', 'noaltkeymap', 'noanti', 'noantialias',
        -            'noar', 'noarab', 'noarabic', 'noarabicshape', 'noari',
        -            'noarshape', 'noautochdir', 'noautoindent', 'noautoread',
        -            'noautowrite', 'noautowriteall', 'noaw', 'noawa', 'nobackup',
        -            'noballooneval', 'nobeval', 'nobin', 'nobinary', 'nobiosk',
        -            'nobioskey', 'nobk', 'nobl', 'nobomb', 'nobuflisted', 'nocf',
        -            'noci', 'nocin', 'nocindent', 'nocompatible', 'noconfirm',
        -            'noconsk', 'noconskey', 'nocopyindent', 'nocp', 'nocscopetag',
        -            'nocscopeverbose', 'nocst', 'nocsverb', 'nocuc', 'nocul',
        -            'nocursorcolumn', 'nocursorline', 'nodeco', 'nodelcombine',
        -            'nodg', 'nodiff', 'nodigraph', 'nodisable', 'noea', 'noeb',
        -            'noed', 'noedcompatible', 'noek', 'noendofline', 'noeol',
        -            'noequalalways', 'noerrorbells', 'noesckeys', 'noet',
        -            'noex', 'noexpandtab', 'noexrc', 'nofen', 'nofk', 'nofkmap',
        -            'nofoldenable', 'nogd', 'nogdefault', 'noguipty', 'nohid',
        -            'nohidden', 'nohk', 'nohkmap', 'nohkmapp', 'nohkp', 'nohls',
        -            'nohlsearch', 'noic', 'noicon', 'noignorecase', 'noim',
        -            'noimc', 'noimcmdline', 'noimd', 'noincsearch', 'noinf',
        -            'noinfercase', 'noinsertmode', 'nois', 'nojoinspaces',
        -            'nojs', 'nolazyredraw', 'nolbr', 'nolinebreak', 'nolisp',
        -            'nolist', 'noloadplugins', 'nolpl', 'nolz', 'noma',
        -            'nomacatsui', 'nomagic', 'nomh', 'noml', 'nomod',
        -            'nomodeline', 'nomodifiable', 'nomodified', 'nomore',
        -            'nomousef', 'nomousefocus', 'nomousehide', 'nonu',
        -            'nonumber', 'noodev', 'noopendevice', 'nopaste', 'nopi',
        -            'nopreserveindent', 'nopreviewwindow', 'noprompt', 'nopvw',
        -            'noreadonly', 'noremap', 'norestorescreen', 'norevins',
        -            'nori', 'norightleft', 'norightleftcmd', 'norl', 'norlc',
        -            'noro', 'nors', 'noru', 'noruler', 'nosb', 'nosc', 'noscb',
        -            'noscrollbind', 'noscs', 'nosecure', 'nosft', 'noshellslash',
        -            'noshelltemp', 'noshiftround', 'noshortname', 'noshowcmd',
        -            'noshowfulltag', 'noshowmatch', 'noshowmode', 'nosi', 'nosm',
        -            'nosmartcase', 'nosmartindent', 'nosmarttab', 'nosmd',
        -            'nosn', 'nosol', 'nospell', 'nosplitbelow', 'nosplitright',
        -            'nospr', 'nosr', 'nossl', 'nosta', 'nostartofline',
        -            'nostmp', 'noswapfile', 'noswf', 'nota', 'notagbsearch',
        -            'notagrelative', 'notagstack', 'notbi', 'notbidi', 'notbs',
        -            'notermbidi', 'noterse', 'notextauto', 'notextmode',
        -            'notf', 'notgst', 'notildeop', 'notimeout', 'notitle',
        -            'noto', 'notop', 'notr', 'nottimeout', 'nottybuiltin',
        -            'nottyfast', 'notx', 'novb', 'novisualbell', 'nowa',
        -            'nowarn', 'nowb', 'noweirdinvert', 'nowfh', 'nowfw',
        -            'nowildmenu', 'nowinfixheight', 'nowinfixwidth', 'nowiv',
        -            'nowmnu', 'nowrap', 'nowrapscan', 'nowrite', 'nowriteany',
        -            'nowritebackup', 'nows', 'nrformats', 'nu', 'number',
        -            'numberwidth', 'nuw', 'odev', 'oft', 'ofu',
        -            'omnifunc', 'opendevice', 'operatorfunc', 'opfunc',
        -            'osfiletype', 'pa', 'para', 'paragraphs',
        -            'paste', 'pastetoggle', 'patchexpr',
        -            'patchmode', 'path', 'pdev', 'penc', 'pex', 'pexpr',
        -            'pfn', 'ph', 'pheader', 'pi', 'pm', 'pmbcs',
        -            'pmbfn', 'popt', 'preserveindent', 'previewheight',
        -            'previewwindow', 'printdevice', 'printencoding', 'printexpr',
        -            'printfont', 'printheader', 'printmbcharset',
        -            'printmbfont', 'printoptions', 'prompt', 'pt', 'pumheight',
        -            'pvh', 'pvw', 'qe', 'quoteescape', 'rdt',
        -            'readonly', 'redrawtime', 'remap', 'report',
        -            'restorescreen', 'revins', 'ri', 'rightleft', 'rightleftcmd',
        -            'rl', 'rlc', 'ro', 'rs', 'rtp', 'ru',
        -            'ruf', 'ruler', 'rulerformat', 'runtimepath', 'sb', 'sbo',
        -            'sbr', 'sc', 'scb', 'scr', 'scroll', 'scrollbind',
        -            'scrolljump', 'scrolloff', 'scrollopt',
        -            'scs', 'sect', 'sections', 'secure', 'sel',
        -            'selection', 'selectmode', 'sessionoptions', 'sft',
        -            'sh', 'shcf', 'shell', 'shellcmdflag', 'shellpipe',
        -            'shellquote', 'shellredir', 'shellslash',
        -            'shelltemp', 'shelltype', 'shellxquote', 'shiftround',
        -            'shiftwidth', 'shm', 'shortmess', 'shortname',
        -            'showbreak', 'showcmd', 'showfulltag', 'showmatch',
        -            'showmode', 'showtabline', 'shq', 'si', 'sidescroll',
        -            'sidescrolloff', 'siso', 'sj', 'slm', 'sm', 'smartcase',
        -            'smartindent', 'smarttab', 'smc', 'smd', 'sn',
        -            'so', 'softtabstop', 'sol', 'sp', 'spc', 'spell',
        -            'spellcapcheck', 'spellfile', 'spelllang',
        -            'spf', 'spl', 'splitbelow', 'splitright', 'spr',
        -            'sps', 'sr', 'srr', 'ss', 'ssl', 'ssop', 'st', 'sta',
        -            'stal', 'startofline', 'statusline', 'stl', 'stmp',
        -            'sts', 'su', 'sua', 'suffixes', 'suffixesadd', 'sw',
        -            'swapfile', 'swapsync', 'swb', 'swf', 'switchbuf',
        -            'sws', 'sxq', 'syn', 'synmaxcol', 'ta',
        -            'tabline', 'tabpagemax', 'tabstop', 'tag',
        -            'tagbsearch', 'taglength', 'tagrelative', 'tags', 'tagstack',
        -            'tal', 'tb', 'tbi', 'tbidi', 'tbis', 'tbs',
        -            'tenc', 'term', 'termbidi', 'termencoding', 'terse',
        -            'textauto', 'textmode', 'textwidth', 'tf', 'tgst',
        -            'thesaurus', 'tildeop', 'timeout', 'timeoutlen',
        -            'title', 'titlelen', 'titleold', 'titlestring',
        -            'tl', 'tm', 'to', 'toolbar', 'toolbariconsize', 'top',
        -            'tpm', 'ts', 'tsl', 'tsr', 'ttimeout',
        -            'ttimeoutlen', 'ttm', 'tty', 'ttybuiltin', 'ttyfast', 'ttym',
        -            'ttymouse', 'ttyscroll', 'ttytype', 'tw', 'tx', 'uc',
        -            'ul', 'undolevels', 'updatecount', 'updatetime', 'ut',
        -            'vb', 'vbs', 'vdir', 've', 'verbose', 'verbosefile',
        -            'vfile', 'vi', 'viewdir', 'viewoptions', 'viminfo',
        -            'virtualedit', 'visualbell', 'vop', 'wa', 'wak',
        -            'warn', 'wb', 'wc', 'wcm', 'wd', 'weirdinvert', 'wfh',
        -            'wfw', /*'wh',*/ 'whichwrap', 'wi', 'wig', 'wildchar',
        -            'wildcharm', 'wildignore', 'wildmenu',
        -            'wildmode', 'wildoptions', 'wim', 'winaltkeys', 'window',
        -            'winfixheight', 'winfixwidth', 'winheight',
        -            'winminheight', 'winminwidth', 'winwidth', 'wiv',
        -            'wiw', 'wm', 'wmh', 'wmnu', 'wmw', 'wop', 'wrap',
        -            'wrapmargin', 'wrapscan', 'write', 'writeany',
        -            'writebackup', 'writedelay', 'ws', 'ww'
        -            ),
        -        3 => array(
        -            'BufAdd', 'BufCreate', 'BufDelete', 'BufEnter', 'BufFilePost',
        -            'BufFilePre', 'BufHidden', 'BufLeave', 'BufNew', 'BufNewFile',
        -            'BufRead', 'BufReadCmd', 'BufReadPost', 'BufReadPre',
        -            'BufUnload', 'BufWinEnter', 'BufWinLeave', 'BufWipeout',
        -            'BufWrite', 'BufWriteCmd', 'BufWritePost', 'BufWritePre',
        -            'Cmd-event', 'CmdwinEnter', 'CmdwinLeave', 'ColorScheme',
        -            'CursorHold', 'CursorHoldI', 'CursorMoved', 'CursorMovedI',
        -            'EncodingChanged', 'FileAppendCmd', 'FileAppendPost',
        -            'FileAppendPre', 'FileChangedRO', 'FileChangedShell',
        -            'FileChangedShellPost', 'FileEncoding', 'FileReadCmd',
        -            'FileReadPost', 'FileReadPre', 'FileType',
        -            'FileWriteCmd', 'FileWritePost', 'FileWritePre',
        -            'FilterReadPost', 'FilterReadPre', 'FilterWritePost',
        -            'FilterWritePre', 'FocusGained', 'FocusLost', 'FuncUndefined',
        -            'GUIEnter', 'GUIFailed', 'InsertChange', 'InsertEnter',
        -            'InsertLeave', 'MenuPopup', 'QuickFixCmdPost',
        -            'QuickFixCmdPre', 'RemoteReply', 'SessionLoadPost',
        -            'ShellCmdPost', 'ShellFilterPost', 'SourceCmd',
        -            'SourcePre', 'SpellFileMissing', 'StdinReadPost',
        -            'StdinReadPre', 'SwapExists', 'Syntax', 'TabEnter',
        -            'TabLeave', 'TermChanged', 'TermResponse', 'User',
        -            'UserGettingBored', 'VimEnter', 'VimLeave', 'VimLeavePre',
        -            'VimResized', 'WinEnter', 'WinLeave', 'abs', 'add', 'append',
        -            'argc', 'argidx', 'argv', 'atan', 'browse', 'browsedir',
        -            'bufexists', 'buflisted', 'bufloaded', 'bufname', 'bufnr',
        -            'bufwinnr', 'byte2line', 'byteidx', 'ceil', 'changenr',
        -            'char2nr', 'cindent', 'clearmatches', 'col', 'complete',
        -            'complete_add', 'complete_check', 'copy',
        -            'cos', 'count', 'cscope_connection', 'cursor', 'deepcopy',
        -            'delete', 'did_filetype', 'diff_filler', 'diff_hlID',
        -            'empty', 'escape', 'eval', 'eventhandler', 'executable',
        -            'exists', 'expand', 'extend', 'feedkeys', 'filereadable',
        -            'filewritable', 'filter', 'finddir', 'findfile', 'float2nr',
        -            'floor', 'fnameescape', 'fnamemodify', 'foldclosed',
        -            'foldclosedend', 'foldlevel', 'foldtext', 'foldtextresult',
        -            'foreground', 'garbagecollect', 'get', 'getbufline',
        -            'getbufvar', 'getchar', 'getcharmod', 'getcmdline',
        -            'getcmdpos', 'getcmdtype', 'getcwd', 'getfontname',
        -            'getfperm', 'getfsize', 'getftime', 'getftype', 'getline',
        -            'getloclist', 'getmatches', 'getpid', 'getpos', 'getqflist',
        -            'getreg', 'getregtype', 'gettabwinvar', 'getwinposx',
        -            'getwinposy', 'getwinvar', 'glob', 'globpath', 'has',
        -            'has_key', 'haslocaldir', 'hasmapto', 'histadd', 'histdel',
        -            'histget', 'histnr', 'hlID', 'hlexists', 'hostname', 'iconv',
        -            'indent', 'index', 'input', 'inputdialog', 'inputlist',
        -            'inputrestore', 'inputsave', 'inputsecret', 'insert',
        -            'isdirectory', 'islocked', 'items', 'join', 'keys', 'len',
        -            'libcall', 'libcallnr', 'line', 'line2byte', 'lispindent',
        -            'localtime', 'log10', 'maparg', 'mapcheck', 'matchadd',
        -            'matcharg', 'matchdelete', 'matchend', 'matchlist',
        -            'matchstr', 'max', 'min', 'mkdir', 'mode', 'nextnonblank',
        -            'nr2char', 'off', 'on', 'pathshorten', 'plugin', 'pow',
        -            'prevnonblank', 'printf', 'pumvisible', 'range', 'readfile',
        -            'reltime', 'reltimestr', 'remote_expr', 'remote_foreground',
        -            'remote_peek', 'remote_read', 'remote_send', 'remove',
        -            'rename', 'repeat', 'resolve', 'reverse', 'round', 'search',
        -            'searchdecl', 'searchpair', 'searchpairpos', 'searchpos',
        -            'server2client', 'serverlist', 'setbufvar', 'setcmdpos',
        -            'setline', 'setloclist', 'setmatches', 'setpos', 'setqflist',
        -            'setreg', 'settabwinvar', 'setwinvar', 'shellescape',
        -            'simplify', 'sin', 'sort', 'soundfold', 'spellbadword',
        -            'spellsuggest', 'split', 'sqrt', 'str2float', 'str2nr',
        -            'strftime', 'stridx', 'string', 'strlen', 'strpart',
        -            'strridx', 'strtrans', 'submatch', 'substitute',
        -            'synID', 'synIDattr', 'synIDtrans', 'synstack', 'system',
        -            'tabpagebuflist', 'tabpagenr', 'tabpagewinnr', 'tagfiles',
        -            'taglist', 'tempname', 'tolower', 'toupper', 'trunc',
        -            'type', 'values', 'virtcol', 'visualmode', 'winbufnr',
        -            'wincol', 'winline', 'winnr', 'winrestcmd',
        -            'winrestview', 'winsaveview', 'writefile'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '!', '%', '&', '*', '|', '/', '<', '>',
        -        '^', '-', '+', '~', '?', ':', '$', '@', '.'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => true,
        -        2 => true,
        -        3 => true
        -        ),
        -    'STYLES' => array(
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #adadad; font-style: italic;',
        -//            2 => 'color: #009966; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => ''
        -            ),
        -        'KEYWORDS' => array(
        -            1 => 'color: #804040;',
        -            2 => 'color: #668080;',
        -            3 => 'color: #25BB4D;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #000000;',
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #000000; font-weight:bold;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #C5A22D;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;'
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false, //Save some time as OO identifiers aren't used
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(),
        -    'HIGHLIGHT_STRICT_BLOCK' => array()
        -);
        diff --git a/vendor/easybook/geshi/geshi/visualfoxpro.php b/vendor/easybook/geshi/geshi/visualfoxpro.php
        deleted file mode 100644
        index 533f030..0000000
        --- a/vendor/easybook/geshi/geshi/visualfoxpro.php
        +++ /dev/null
        @@ -1,455 +0,0 @@
        - 'Visual Fox Pro',
        -    'COMMENT_SINGLE' => array(1 => "//", 2 => "\n*"),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'Case', 'Else', '#Else', 'Then',
        -            'Endcase', 'Enddefine', 'Enddo', 'Endfor', 'Endfunc', 'Endif', 'Endprintjob',
        -            'Endproc', 'Endscan', 'Endtext', 'Endwith', '#Endif',
        -            '#Elif','#Define','#If','#Include',
        -            '#Itsexpression','#Readclauses','#Region','#Section','#Undef','#Wname',
        -            'Define','Do',
        -            'For','Function','Hidden',
        -            'If','Local','Lparameter','Lparameters','Next','Otherwise',
        -            'Parameters','Printjob','Procedure','Protected','Public','Scan',
        -            'Text','While','With','Abs','Accept','Access','Aclass','Acopy',
        -            'Acos','Adatabases','Adbobjects','Addbs','Addrelationtoenv','Addtabletoenv',
        -            'Adel','Adir','Aelement','Aerror','Afields','Afont',
        -            'Agetclass','Agetfileversion','Ains','Ainstance','Alen','Align',
        -            'Alines','Alltrim','Alter','Amembers','Amouseobj','Anetresources',
        -            'Ansitooem','Append','Aprinters','Ascan','Aselobj','Asin',
        -            'Asort','Assert','Asserts','Assist','Asubscript','Asynchronous',
        -            'At_c','Atan','Atc','Atcc','Atcline','Atline',
        -            'Atn2','Aused','Autoform','Autoreport','Avcxclasses','Average',
        -            'BarCount','BarPrompt','BatchMode','BatchUpdateCount','Begin','BellSound',
        -            'BinToC','Bitand','Bitclear','Bitlshift','Bitnot',
        -            'Bitor','Bitrshift','Bitset','Bittest','Bitxor','Bof',
        -            'Browse','BrowseRefresh','Buffering','BuilderLock','COMArray','COMReturnError',
        -            'CToBin','Calculate','Call','Capslock','Cd','Cdow',
        -            'Ceiling','Central','Change','Char','Chdir','Chr',
        -            'Chrsaw','Chrtran','Chrtranc','Close','Cmonth','Cntbar',
        -            'Cntpad','Col','Comclassinfo','CommandTargetQuery','Compile','Completed',
        -            'Compobj','Compute','Concat','ConnectBusy','ConnectHandle','ConnectName',
        -            'ConnectString','ConnectTimeOut','ContainerReleaseType','Continue','Copy','Cos',
        -            'Cot','Count','Coverage','Cpconvert','Cpcurrent','Cpdbf',
        -            'Cpnotrans','Create','CreateBinary','Createobject','Createobjectex','Createoffline',
        -            'CrsBuffering','CrsFetchMemo','CrsFetchSize','CrsMaxRows','CrsMethodUsed','CrsNumBatch',
        -            'CrsShareConnection','CrsUseMemoSize','CrsWhereClause','Ctod','Ctot',
        -            'Curdate','Curdir','CurrLeft','CurrSymbol','CursorGetProp','CursorSetProp',
        -            'Curtime','Curval','DBGetProp','DBSetProp','DB_BufLockRow','DB_BufLockTable',
        -            'DB_BufOff','DB_BufOptRow','DB_BufOptTable','DB_Complette','DB_DeleteInsert','DB_KeyAndModified',
        -            'DB_KeyAndTimestamp','DB_KeyAndUpdatable','DB_LocalSQL','DB_NoPrompt','DB_Prompt','DB_RemoteSQL',
        -            'DB_TransAuto','DB_TransManual','DB_TransNone','DB_Update','Datetime','Day',
        -            'Dayname','Dayofmonth','Dayofweek','Dayofyear','Dbalias','Dbused',
        -            'Ddeaborttrans','Ddeadvise','Ddeenabled','Ddeexecute','Ddeinitiate','Ddelasterror',
        -            'Ddepoke','Dderequest','Ddesetoption','Ddesetservice','Ddesettopic','Ddeterminate',
        -            'Debugout','Declare','DefOLELCid','DefaultValue','Defaultext','Degrees',
        -            'DeleteTrigger','Desc','Description','Difference','Dimension','Dir',
        -            'Directory','Diskspace','DispLogin','DispWarnings','Display','Dll',
        -            'Dmy','DoDefault','DoEvents','Doc','Dow',
        -            'Drivetype','Drop','Dropoffline','Dtoc','Dtor','Dtos',
        -            'Dtot','DynamicInputMask','Each','Edit','Eject','Elif',
        -            'End','Eof','Erase','Evaluate','Event','Eventtracking',
        -            'Exclude','Exclusive','Exit','Exp','Export','External',
        -            'FDate','FTime','Fchsize','Fclose','Fcount','Fcreate',
        -            'Feof','Ferror','FetchMemo','FetchSize','Fflush','Fgets',
        -            'Filer','Filetostr','Find','Fklabel','Fkmax','Fldlist',
        -            'Flock','Floor','Flush','Fontmetric','Fopen','Forceext',
        -            'Forcepath','FormSetClass','FormSetLib','FormsClass','FormsLib','Found',
        -            'FoxPro','Foxcode','Foxdoc','Foxgen','Foxgraph','Foxview',
        -            'Fputs','Fread','French','Fseek','Fsize','Fv',
        -            'Fwrite','Gather','German','GetPem','Getbar','Getcolor',
        -            'Getcp','Getdir','Getenv','Getexpr','Getfile','Getfldstate',
        -            'Getfont','Gethost','Getnextmodified','Getobject','Getpad','Getpict',
        -            'Getprinter','Go','Gomonth','Goto','Graph','GridHorz',
        -            'GridShow','GridShowPos','GridSnap','GridVert','Help','HelpOn',
        -            'HelpTo','HighLightRow','Home','Hour','IMEStatus','IdleTimeOut',
        -            'Idxcollate','Ifdef','Ifndef','Iif','Import','Include',
        -            'Indbc','Index','Indexseek','Inkey','Inlist','Input',
        -            'Insert','InsertTrigger','Insmode','IsBlank','IsFLocked','IsLeadByte',
        -            'IsMouse','IsNull','IsRLocked','Isalpha','Iscolor','Isdigit',
        -            'IsExclusive','Ishosted','IsLower','IsReadOnly',
        -            'IsUpper','Italian','Japan','Join','Justdrive','Justext',
        -            'Justfname','Justpath','Juststem','KeyField','KeyFieldList','Keyboard'
        -            ),
        -        2 => array('Keymatch','LastProject','Lastkey','Lcase','Leftc','Len',
        -            'Lenc','Length','Likec','Lineno','LoadPicture',
        -            'Locate','Locfile','Log','Log10','Logout','Lookup',
        -            'Loop','Lower','Ltrim','Lupdate','Mail','MaxRecords',
        -            'Mcol','Md','Mdown','Mdx','Mdy','Memlines',
        -            'Menu','Messagebox','Minute','Mkdir','Mline','Modify',
        -            'Month','Monthname','Mouse','Mrkbar','Mrkpad','Mrow',
        -            'Mtdll','Mton','Mwindow','Native','Ndx','Network',
        -            'NoFilter','Nodefault','Normalize','Note','Now','Ntom',
        -            'NullString','Numlock','Nvl','ODBChdbc','ODBChstmt','OLEDropTextInsertion',
        -            'OLELCid','Objnum','Objref','Objtoclient','Objvar','Occurs',
        -            'Oemtoansi','Oldval','OlePublic','Olereturnerror','On','Open',
        -            'Oracle','Order','Os','Outer','PCount','Pack',
        -            'PacketSize','Padc','Padl','Padr','Payment','Pcol',
        -            'PemStatus','Pi','Pivot','Play','Pop','Popup',
        -            'Power','PrimaryKey','Printstatus','Private','Prmbar','Prmpad',
        -            'ProjectClick','Proper','Prow','Prtinfo','Push','Putfile',
        -            'Pv','Qpr','Quater','QueryTimeOut','Quit','Radians',
        -            'Rand','Rat','Ratc','Ratline','Rd','Rdlevel',
        -            'Read','Readkey','Recall','Reccount','RecentlyUsedFiles','Recno',
        -            'Recsize','Regional','Reindex','RelatedChild','RelatedTable','RelatedTag',
        -            'Remove','Rename','Repeat','Replace','Replicate','Report',
        -            'ResHeight','ResWidth','ResourceOn','ResourceTo','Resources','Restore',
        -            'Resume','Retry','Return','Revertoffline','Rgbscheme','Rightc',
        -            'Rlock','Rmdir','Rollback','Round','Rtod','Rtrim',
        -            'RuleExpression','RuleText','Run','Runscript','Rview','SQLAsynchronous',
        -            'SQLBatchMode','SQLCancel','SQLColumns','SQLConnect','SQLConnectTimeOut','SQLDisconnect',
        -            'SQLDispLogin','SQLDispWarnings','SQLExec','SQLGetProp','SQLIdleTimeOut','SQLMoreResults',
        -            'SQLPrepare','SQLQueryTimeOut','SQLSetProp','SQLTables','SQLTransactions','SQLWaitTime',
        -            'Save','SavePicture','ScaleUnits','Scatter','Scols',
        -            'Scroll','Sec','Second','Seek','Select','SendUpdates',
        -            'Set','SetDefault','Setfldstate','Setup','ShareConnection','ShowOLEControls',
        -            'ShowOLEInsertable','ShowVCXs','Sign','Sin','Size','SizeBox',
        -            'Skpbar','Skppad','Sort','Soundex','SourceName','Sqlcommit',
        -            'Sqll','Sqlrollback','Sqlstringconnect','Sqrt','Srows','StatusBar',
        -            'Store','Str','Strconv','Strtofile','Strtran','Stuff',
        -            'Stuffc','Substr','Substrc','Substring','Sum','Suspend',
        -            'Sys','Sysmetric','TabOrdering','Table','TableRefresh','Tablerevert',
        -            'Tableupdate','TagCount','TagNo','Tan','Target','This',
        -            'Thisform','Thisformset','Timestamp','Timestampdiff','Total','Transactions',
        -            'Transform','Trim','Truncate','Ttoc','Ttod','Txnlevel',
        -            'Txtwidth','Type','Ucase','Undefine','Unlock','Unpack',
        -            'Updatable','UpdatableFieldList','Update','UpdateName','UpdateNameList','UpdateTrigger',
        -            'UpdateType','Updated','Upper','Upsizing','Usa','Use',
        -            'UseMemoSize','Used','Val','Validate','Varread','Vartype',
        -            'Version','VersionLanguage','Wait','WaitTime','Wborder','Wchild',
        -            'Wcols','Week','Wexist','Wfont','WhereType','Windcmd',
        -            'Windhelp','Windmemo','Windmenu','Windmodify','Windquery','Windscreen',
        -            'Windsnip','Windstproc','WizardPrompt','Wlast','Wlcol','Wlrow',
        -            'Wmaximum','Wminimum','Wontop','Woutput','Wparent','Wread',
        -            'Wrows','Wtitle','Wvisible','Year','Zap','_Alignment',
        -            '_Asciicols','_Asciirows','_Assist','_Beautify','_Box','_Browser',
        -            '_Builder','_Calcmem','_Calcvalue','_Cliptext','_Converter','_Coverage',
        -            '_Curobj','_Dblclick','_Diarydate','_Dos','_Foxdoc','_Foxgraph',
        -            '_Gallery','_Gengraph','_Genhtml','_Genmenu','_Genpd','_Genscrn',
        -            '_Genxtab','_Getexpr','_Include','_Indent','_Lmargin','_Mac',
        -            '_Mbr_appnd','_Mbr_cpart','_Mbr_delet','_Mbr_font','_Mbr_goto','_Mbr_grid',
        -            '_Mbr_link','_Mbr_mode','_Mbr_mvfld','_Mbr_mvprt','_Mbr_seek','_Mbr_sp100',
        -            '_Mbr_sp200','_Mbr_szfld','_Mbrowse','_Mda_appnd','_Mda_avg','_Mda_brow',
        -            '_Mda_calc','_Mda_copy','_Mda_count','_Mda_label','_Mda_pack','_Mda_reprt',
        -            '_Mda_rindx','_Mda_setup','_Mda_sort','_Mda_sp100','_Mda_sp200','_Mda_sp300',
        -            '_Mda_sum','_Mda_total','_Mdata','_Mdiary','_Med_clear','_Med_copy',
        -            '_Med_cut','_Med_cvtst','_Med_find','_Med_finda','_Med_goto','_Med_insob',
        -            '_Med_link','_Med_obj','_Med_paste','_Med_pref','_Med_pstlk','_Med_redo',
        -            '_Med_repl','_Med_repla','_Med_slcta','_Med_sp100','_Med_sp200','_Med_sp300',
        -            '_Med_sp400','_Med_sp500','_Med_undo','_Medit','_Mfi_clall','_Mfi_close',
        -            '_Mfi_export','_Mfi_import','_Mfi_new','_Mfi_open','_Mfi_pgset','_Mfi_prevu',
        -            '_Mfi_print','_Mfi_quit','_Mfi_revrt','_Mfi_savas','_Mfi_save','_Mfi_send',
        -            '_Mfi_setup','_Mfi_sp100','_Mfi_sp200','_Mfi_sp300','_Mfi_sp400','_Mfile',
        -            '_Mfiler','_Mfirst','_Mlabel','_Mlast','_Mline','_Mmacro',
        -            '_Mmbldr','_Mpr_beaut','_Mpr_cancl','_Mpr_compl','_Mpr_do','_Mpr_docum',
        -            '_Mpr_formwz','_Mpr_gener','_Mpr_graph','_Mpr_resum','_Mpr_sp100','_Mpr_sp200',
        -            '_Mpr_sp300','_Mpr_suspend','_Mprog','_Mproj','_Mrc_appnd','_Mrc_chnge',
        -            '_Mrc_cont','_Mrc_delet','_Mrc_goto','_Mrc_locat','_Mrc_recal','_Mrc_repl',
        -            '_Mrc_seek','_Mrc_sp100','_Mrc_sp200','_Mrecord','_Mreport','_Mrqbe',
        -            '_Mscreen','_Msm_data','_Msm_edit','_Msm_file','_Msm_format','_Msm_prog',
        -            '_Msm_recrd','_Msm_systm','_Msm_text','_Msm_tools','_Msm_view','_Msm_windo',
        -            '_Mst_about','_Mst_ascii','_Mst_calcu','_Mst_captr','_Mst_dbase','_Mst_diary',
        -            '_Mst_filer','_Mst_help','_Mst_hphow','_Mst_hpsch','_Mst_macro','_Mst_office',
        -            '_Mst_puzzl','_Mst_sp100','_Mst_sp200','_Mst_sp300','_Mst_specl','_Msysmenu',
        -            '_Msystem','_Mtable','_Mtb_appnd','_Mtb_cpart','_Mtb_delet','_Mtb_delrc',
        -            '_Mtb_goto','_Mtb_link','_Mtb_mvfld','_Mtb_mvprt','_Mtb_props','_Mtb_recal',
        -            '_Mtb_sp100','_Mtb_sp200','_Mtb_sp300','_Mtb_sp400','_Mtb_szfld','_Mwi_arran',
        -            '_Mwi_clear','_Mwi_cmd','_Mwi_color','_Mwi_debug','_Mwi_hide','_Mwi_hidea',
        -            '_Mwi_min','_Mwi_move','_Mwi_rotat','_Mwi_showa','_Mwi_size','_Mwi_sp100',
        -            '_Mwi_sp200','_Mwi_toolb','_Mwi_trace','_Mwi_view','_Mwi_zoom','_Mwindow',
        -            '_Mwizards','_Mwz_all','_Mwz_form','_Mwz_foxdoc','_Mwz_import','_Mwz_label',
        -            '_Mwz_mail','_Mwz_pivot','_Mwz_query','_Mwz_reprt','_Mwz_setup','_Mwz_table',
        -            '_Mwz_upsizing','_Netware','_Oracle','_Padvance','_Pageno','_Pbpage',
        -            '_Pcolno','_Pcopies','_Pdparms','_Pdriver','_Pdsetup','_Pecode',
        -            '_Peject','_Pepage','_Pform','_Plength','_Plineno','_Ploffset',
        -            '_Ppitch','_Pquality','_Pretext','_Pscode','_Pspacing','_Pwait',
        -            '_Rmargin','_Runactivedoc','_Samples','_Screen','_Shell','_Spellchk',
        -            '_Sqlserver','_Startup','_Tabs','_Tally','_Text','_Throttle',
        -            '_Transport','_Triggerlevel','_Unix','_WebDevOnly','_WebMenu','_WebMsftHomePage',
        -            '_WebVFPHomePage','_WebVfpOnlineSupport','_Windows','_Wizard','_Wrap','_scctext',
        -            '_vfp','Additive','After','Again','Aindent','Alignright',
        -            'All','Alt','Alternate','And','Ansi','Any',
        -            'Aplabout','App','Array','As','Asc','Ascending',
        -            'Ascii','At','Attributes','Automatic','Autosave','Avg',
        -            'Bar','Before','Bell','Between','Bitmap','Blank',
        -            'Blink','Blocksize','Border','Bottom','Brstatus','Bucket',
        -            'Buffers','By','Candidate','Carry','Cascade','Catalog',
        -            'Cdx','Center','Century','Cga','Character','Check',
        -            'Classlib','Clock','Cnt','Codepage','Collate','Color',
        -            'Com1','Com2','Command','Compact','Compatible','Compress',
        -            'Confirm','Connection','Connections','Connstring','Console','Copies',
        -            'Cpcompile','Cpdialog','Csv','Currency','Cycle','Databases',
        -            'Datasource','Date','Db4','Dbc','Dbf','Dbmemo3',
        -            'Debug','Decimals','Defaultsource','Deletetables','Delimited','Delimiters',
        -            'Descending','Design','Development','Device','Dif','Disabled',
        -            'Distinct','Dlls','Dohistory','Dos','Dosmem','Double',
        -            'Driver','Duplex','Echo','Editwork','Ega25','Ega43',
        -            'Ems','Ems64','Encrypt','Encryption','Environment','Escape',
        -            'Events','Exact','Except','Exe','Exists','Expression',
        -            'Extended','F','Fdow','Fetch','Field','Fields',
        -            'File','Files','Fill','Fixed','Float','Foldconst',
        -            'Font','Footer','Force','Foreign','Fox2x','Foxplus',
        -            'Free','Freeze','From','Fullpath','Fw2','Fweek',
        -            'Get','Gets','Global','Group','Grow','Halfheight',
        -            'Having','Heading','Headings','Helpfilter','History','Hmemory',
        -            'Hours','Id','In','Indexes','Information','Instruct',
        -            'Int','Integer','Intensity','Intersect','Into','Is',
        -            'Isometric','Key','Keycolumns','Keycomp','Keyset','Last',
        -            'Ledit','Level','Library','Like','Linked','Lock',
        -            'Logerrors','Long','Lpartition','Mac','Macdesktop','Machelp',
        -            'Mackey','Macros','Mark','Master','Max','Maxmem',
        -            'Mdi','Memlimit','Memory','Memos','Memowidth','Memvar',
        -            'Menus','Messages','Middle','Min','Minimize','Minus',
        -            'Mod','Modal','Module','Mono43','Movers','Multilocks',
        -            'Mvarsiz','Mvcount','N','Near','Negotiate','Noalias',
        -            'Noappend','Noclear','Noclose','Noconsole','Nocptrans','Nodata',
        -            'Nodebug','Nodelete','Nodup','Noedit','Noeject','Noenvironment',
        -            'Nofloat','Nofollow','Nogrow','Noinit','Nolgrid','Nolink',
        -            'Nolock','Nomargin','Nomdi','Nomenu','Nominimize','Nomodify'
        -            ),
        -        3 => array('Nomouse','None','Nooptimize','Nooverwrite','Noprojecthook','Noprompt',
        -            'Noread','Norefresh','Norequery','Norgrid','Norm','Normal',
        -            'Nosave','Noshadow','Noshow','Nospace','Not','Notab',
        -            'Notify','Noupdate','Novalidate','Noverify','Nowait','Nowindow',
        -            'Nowrap','Nozoom','Npv','Null','Number','Objects',
        -            'Odometer','Of','Off','Oleobjects','Only','Optimize',
        -            'Or','Orientation','Output','Outshow','Overlay','Overwrite',
        -            'Pad','Palette','Paperlength','Papersize','Paperwidth','Password',
        -            'Path','Pattern','Pause','Pdox','Pdsetup','Pen',
        -            'Pfs','Pixels','Plain','Popups','Precision','Preference',
        -            'Preview','Primary','Printer','Printquality','Procedures','Production',
        -            'Program','Progwork','Project','Prompt','Query','Random',
        -            'Range','Readborder','Readerror','Record','Recover','Redit',
        -            'Reference','References','Relative','Remote','Reprocess','Resource',
        -            'Rest','Restrict','Rgb','Right','Row','Rowset',
        -            'Rpd','Runtime','Safety','Same','Sample','Say',
        -            'Scale','Scheme','Scoreboard','Screen','Sdf','Seconds',
        -            'Selection','Shadows','Shared','Sheet','Shell','Shift',
        -            'Shutdown','Single','Some','Sortwork','Space','Sql',
        -            'Standalone','Status','Std','Step','Sticky','String',
        -            'Structure','Subclass','Summary','Sylk','Sysformats','Sysmenus',
        -            'System','T','Tab','Tables','Talk','Tedit',
        -            'Textmerge','Time','Timeout','Titles','Tmpfiles','To',
        -            'Topic','Transaction','Trap','Trbetween','Trigger','Ttoption',
        -            'Typeahead','Udfparms','Union','Unique','Userid','Users',
        -            'Values','Var','Verb','Vga25','Vga50','Views',
        -            'Volume','Where','Windows','Wk1','Wk3','Wks',
        -            'Workarea','Wp','Wr1','Wrap','Wrk','Xcmdfile',
        -            'Xl5','Xl8','Xls','Y','Yresolution','Zoom',
        -            'Activate','ActivateCell','Add','AddColumn','AddItem','AddListItem',
        -            'AddObject','AddProperty','AddToSCC','AfterBuild','AfterCloseTables','AfterDock',
        -            'AfterRowColChange','BeforeBuild','BeforeDock','BeforeOpenTables','BeforeRowColChange','Box',
        -            'Build','CheckIn','CheckOut','Circle','Clear','ClearData',
        -            'Cleanup','Click','CloneObject','CloseEditor','CloseTables','Cls',
        -            'CommandTargetExec','CommandTargetQueryStas','ContainerRelease','DataToClip','DblClick','Deactivate',
        -            'Delete','DeleteColumn','Deleted','Destroy','DoCmd','Dock',
        -            'DoScroll','DoVerb','DownClick','Drag','DragDrop','DragOver',
        -            'DropDown','Draw','EnterFocus','Error','ErrorMessage','Eval',
        -            'ExitFocus','FormatChange','GetData','GetFormat','GetLatestVersion','GoBack',
        -            'GotFocus','GoForward','GridHitTest','Hide','HideDoc','IndexToItemId',
        -            'Init','InteractiveChange','Item','ItemIdToIndex','KeyPress','Line',
        -            'Load','LostFocus','Message','MiddleClick','MouseDown','MouseMove',
        -            'MouseUp','MouseWheel','Move','Moved','NavigateTo','Newobject',
        -            'OLECompleteDrag','OLEDrag','OLEDragDrop','OLEDragOver','OLEGiveFeedback','OLESetData',
        -            'OLEStartDrag','OpenEditor','OpenTables','Paint','Point','Print',
        -            'ProgrammaticChange','PSet','QueryAddFile','QueryModifyFile','QueryRemoveFile','QueryRunFile',
        -            'QueryUnload','RangeHigh','RangeLow','ReadActivate','ReadExpression','ReadDeactivate',
        -            'ReadMethod','ReadShow','ReadValid','ReadWhen','Refresh','Release',
        -            'RemoveFromSCC','RemoveItem','RemoveListItem','RemoveObject','Requery','RequestData',
        -            'Reset','ResetToDefault','Resize','RightClick','SaveAs','SaveAsClass',
        -            'Scrolled','SetAll','SetData','SetFocus','SetFormat','SetMain',
        -            'SetVar','SetViewPort','ShowDoc','ShowWhatsThis','TextHeight','TextWidth',
        -            'Timer','UIEnable','UnDock','UndoCheckOut','Unload','UpClick',
        -            'Valid','WhatsThisMode','When','WriteExpression','WriteMethod','ZOrder',
        -            'ATGetColors','ATListColors','Accelerate','ActiveColumn','ActiveControl','ActiveForm',
        -            'ActiveObjectId','ActivePage','ActiveProject','ActiveRow','AddLineFeeds','Alias',
        -            'Alignment','AllowAddNew','AllowHeaderSizing','AllowResize','AllowRowSizing','AllowTabs',
        -            'AlwaysOnTop','Application','AutoActivate','AutoCenter','AutoCloseTables','AutoIncrement',
        -            'AutoOpenTables','AutoRelease','AutoSize','AutoVerbMenu','AutoYield','AvailNum',
        -            'BackColor','BackStyle','BaseClass','BorderColor','BorderStyle','BorderWidth',
        -            'Bound','BoundColumn','BoundTo','BrowseAlignment','BrowseCellMarg','BrowseDestWidth',
        -            'BufferMode','BufferModeOverride','BuildDateTime','ButtonCount','ButtonIndex','Buttons',
        -            'CLSID','CanAccelerate','CanGetFocus','CanLoseFocus','Cancel','Caption',
        -            'ChildAlias','ChildOrder','Class','ClassLibrary','ClipControls','ClipRect',
        -            'Closable','ColorScheme','ColorSource','ColumnCount','ColumnHeaders','ColumnLines',
        -            'ColumnOrder','ColumnWidths','Columns','Comment','ContinuousScroll','ControlBox',
        -            'ControlCount','ControlIndex','ControlSource','Controls','CurrentControl','CurrentX',
        -            'CurrentY','CursorSource','Curvature','DataSession','DataSessionId','DataSourceObj',
        -            'DataType','Database','DateFormat','DateMark','DefButton','DefButtonOrig',
        -            'DefHeight','DefLeft','DefTop','DefWidth','Default','DefaultFilePath',
        -            'DefineWindows','DeleteMark','Desktop','Dirty','DisabledBackColor','DisabledByEOF',
        -            'DisabledForeColor','DisabledItemBackColor','DisabledItemForeColor','DisabledPicture','DispPageHeight','DispPageWidth',
        -            'DisplayCount','DisplayValue','DoCreate','DockPosition','Docked','DocumentFile',
        -            'DownPicture','DragIcon','DragMode','DragState','DrawMode','DrawStyle',
        -            'DrawWidth','DynamicAlignment','DynamicBackColor','DynamicCurrentControl','DynamicFontBold','DynamicFontItalic',
        -            'DynamicFontName','DynamicFontOutline','DynamicFontShadow','DynamicFontSize','DynamicFontStrikethru','DynamicFontUnderline',
        -            'DynamicForeColor','EditFlags','Enabled','EnabledByReadLock','Encrypted','EnvLevel',
        -            'ErasePage','FileClass','FileClassLibrary','FillColor','FillStyle','Filter',
        -            'FirstElement','FontBold','FontItalic','FontName','FontOutline','FontShadow',
        -            'FontSize','FontStrikethru','FontUnderline','ForceFocus','ForeColor','FormCount',
        -            'FormIndex','FormPageCount','FormPageIndex','Format','Forms','FoxFont',
        -            'FullName','GoFirst','GoLast','GridLineColor','GridLineWidth','GridLines'
        -            ),
        -        4 => array('HPROJ','HWnd','HalfHeightCaption','HasClip','HeaderGap','HeaderHeight',
        -            'Height','HelpContextID','HideSelection','Highlight','HomeDir','HostName',
        -            'HotKey','HscrollSmallChange','IMEMode','Icon','IgnoreInsert','InResize',
        -            'Increment','IncrementalSearch','InitialSelectedAlias','InputMask','Instancing','IntegralHeight',
        -            'Interval','ItemBackColor','ItemData','ItemForeColor','ItemIDData','ItemTips',
        -            'JustReadLocked','KeyPreview','KeyboardHighValue','KeyboardLowValue','LastModified','Left',
        -            'LeftColumn','LineSlant','LinkMaster','List','ListCount','ListIndex',
        -            'ListItem','ListItemId','LockDataSource','LockScreen','MDIForm','MainClass',
        -            'MainFile','Margin','MaxButton','MaxHeight','MaxLeft','MaxLength',
        -            'MaxTop','MaxWidth','MemoWindow','MinButton','MinHeight','MinWidth',
        -            'MouseIcon','MousePointer','Movable','MoverBars','MultiSelect','Name',
        -            'NapTime','NewIndex','NewItemId','NoDataOnLoad','NoDefine','NotifyContainer',
        -            'NullDisplay','NumberOfElements','OLEDragMode','OLEDragPicture','OLEDropEffects','OLEDropHasData',
        -            'OLEDropMode','OLERequestPendingTimeOut','OLEServerBusyRaiseError','OLEServerBusyTimeOut','OLETypeAllowed','OleClass',
        -            'OleClassId','OleControlContainer','OleIDispInValue','OleIDispOutValue','OleIDispatchIncoming','OleIDispatchOutgoing',
        -            'OnResize','OneToMany','OpenViews','OpenWindow','PageCount','PageHeight',
        -            'PageOrder','PageWidth','Pages','Panel','PanelLink','Parent',
        -            'ParentAlias','ParentClass','Partition','PasswordChar','Picture','ProcessID',
        -            'ProgID','ProjectHookClass','ProjectHookLibrary','Projects','ReadColors','ReadCycle',
        -            'ReadFiller','ReadLock','ReadMouse','ReadOnly','ReadSave','ReadSize',
        -            'ReadTimeout','RecordMark','RecordSource','RecordSourceType','Rect','RelationalExpr',
        -            'RelativeColumn','RelativeRow','ReleaseErase','ReleaseType','ReleaseWindows','Resizable',
        -            'RightToLeft','RowHeight','RowSource','RowSourceType','SCCProvider','SCCStatus',
        -            'SDIForm','ScaleMode','ScrollBars','SelLength','SelStart','SelText',
        -            'SelectOnEntry','Selected','SelectedBackColor','SelectedForeColor','SelectedID','SelectedItemBackColor',
        -            'SelectedItemForeColor','SelfEdit','ServerClass','ServerClassLibrary','ServerHelpFile','ServerName',
        -            'ServerProject','ShowTips','ShowWindow','Sizable','Size','Size',
        -            'Size','Skip','SkipForm','Sorted','SourceType','Sparse',
        -            'SpecialEffect','SpinnerHighValue','SpinnerLowValue','SplitBar','StartMode','StatusBarText',
        -            'Stretch','StrictDateEntry','Style','SystemRefCount','TabIndex','TabStop',
        -            'TabStretch','TabStyle','Tabhit','Tabs','Tag','TerminateRead',
        -            'ThreadID','TitleBar','ToolTipText','Top','TopIndex','TopItemId',
        -            'TypeLibCLSID','TypeLibDesc','TypeLibName','UnlockDataSource','Value','ValueDirty',
        -            'VersionComments','VersionCompany','VersionCopyright','VersionDescription','VersionNumber','VersionProduct',
        -            'VersionTrademarks','View','ViewPortHeight','ViewPortLeft','ViewPortTop','ViewPortWidth',
        -            'Visible','VscrollSmallChange','WasActive','WasOpen','WhatsThisButton','WhatsThisHelp',
        -            'WhatsThisHelpID','Width','WindowList','WindowNTIList','WindowState','WindowType',
        -            'WordWrap','ZOrderSet','ActiveDoc','Checkbox','Column','ComboBox',
        -            'CommandButton','CommandGroup','Container','Control','Cursor','Custom',
        -            'DataEnvironment','EditBox','Empty','FontClass','Form','Formset',
        -            'General','Grid','Header','HyperLink','Image','Label',
        -            'ListBox','Memo','OleBaseControl','OleBoundControl','OleClassIDispOut','OleControl',
        -            'OptionButton','OptionGroup','Page','PageFrame','ProjectHook','RectClass',
        -            'Relation','Session','Shape','Spinner','TextBox' ,'Toolbar'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        "!", "@", "$", "%",
        -        "(", ")", "{", "}", "[", "]",
        -        "-", "+", "*", "/",
        -        "=", "<", ">",
        -        ":", ";", ",", ".", "&",
        -        "?", "??", "???"
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: blue;',
        -            2 => 'color: blue;',
        -            3 => 'color: blue;',
        -            4 => 'color: blue;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: green; font-style: italic;',
        -            2 => 'color: green; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: blue;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: blue;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/visualprolog.php b/vendor/easybook/geshi/geshi/visualprolog.php
        deleted file mode 100644
        index 26c438d..0000000
        --- a/vendor/easybook/geshi/geshi/visualprolog.php
        +++ /dev/null
        @@ -1,127 +0,0 @@
        - 'Visual Prolog',
        -    'COMMENT_SINGLE' => array(1 => '%'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'HARDQUOTE' => array('@"', '"'),
        -    'HARDESCAPE' => array('""'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'clauses','constants','constructors','delegate','domains','facts',
        -            'goal','guards','inherits','monitor','namespace','open',
        -            'predicates','properties','resolve','supports'
        -            ),
        -        2 => array(
        -            'align','and','anyflow','as','bitsize','catch','determ','digits',
        -            'div','do','else','elseif','erroneous','externally','failure',
        -            'finally','from','language','mod','multi','nondeterm','or',
        -            'procedure','quot','rem','single','then','to'
        -            ),
        -        3 => array(
        -            '#bininclude','#else','#elseif','#endif','#error','#export',
        -            '#externally','#if','#import','#include','#message','#options',
        -            '#orrequires','#requires','#then','#warning'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '+', '-', '*', '?', '=', '/', '>', '<', '^', '!', ':', '(', ')', '{', '}', '[', ']'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => true,
        -        1 => true,
        -        2 => true,
        -        3 => true
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #808000;',
        -            2 => 'color: #333399;',
        -            3 => 'color: #800080;',
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #AA77BD',
        -            'MULTI' => 'color: #AA77BD'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #008080;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #00B7B7;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #0000FF;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #008000;',
        -            1 => 'color: #808000;',
        -            2 => 'color: #333399;',
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => ':',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        0 => "(?)[A-Z_]\w*(?!\w)",
        -        1 => "\\b(end\\s+)?(implement|class|interface)\\b",
        -        2 => "\\b(end\\s+)?(foreach|if|try)\\b",
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/whitespace.php b/vendor/easybook/geshi/geshi/whitespace.php
        deleted file mode 100644
        index eec0be3..0000000
        --- a/vendor/easybook/geshi/geshi/whitespace.php
        +++ /dev/null
        @@ -1,119 +0,0 @@
        - 'Whitespace',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        3 => "/[^\n\x20\x09]+/s"
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        ),
        -    'SYMBOLS' => array(
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            ),
        -        'COMMENTS' => array(
        -            3 => 'color: #666666; font-style: italic;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            2 => 'background-color: #FF9999;',
        -            3 => 'background-color: #9999FF;'
        -            )
        -        ),
        -    'URLS' => array(
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        2 => array(
        -            GESHI_SEARCH => "(? " ",
        -            GESHI_MODIFIERS => 's',
        -            GESHI_BEFORE => "",
        -            GESHI_AFTER => ""
        -            ),
        -        3 => array(
        -            GESHI_SEARCH => "\x09",
        -            GESHI_REPLACE => "	",
        -            GESHI_MODIFIERS => 's',
        -            GESHI_BEFORE => "",
        -            GESHI_AFTER => ""
        -            ),
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'KEYWORDS' => GESHI_NEVER,
        -            'SYMBOLS' => GESHI_NEVER,
        -            'STRINGS' => GESHI_NEVER,
        -//            'REGEXPS' => GESHI_NEVER,
        -            'NUMBERS' => GESHI_NEVER
        -            )
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/whois.php b/vendor/easybook/geshi/geshi/whois.php
        deleted file mode 100644
        index 6d57608..0000000
        --- a/vendor/easybook/geshi/geshi/whois.php
        +++ /dev/null
        @@ -1,180 +0,0 @@
        - 'Whois (RPSL format)',
        -    'COMMENT_SINGLE' => array(1 => '% ', 2 => '%ERROR:'),
        -    'COMMENT_MULTI' => array(),
        -    'COMMENT_REGEXP' => array(
        -        //Description
        -        3 => '/(?:(?<=^remarks:)|(?<=^descr:))(.|\n\s)*$/mi',
        -
        -        //Contact Details
        -        4 => '/(?<=^address:)(.|\n\s)*$/mi',
        -        5 => '/\+\d+(?:(?:\s\(\d+(\s\d+)*\))?(?:\s\d+)+|-\d+-\d+)/',
        -        6 => '/\b(?!-|\.)[\w\-\.]+(?!-|\.)@((?!-)[\w\-]+\.)+\w+\b/',
        -
        -        //IP, Networks and AS information\links
        -        7 => '/\b(? '/\bAS\d+\b/'
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array(),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array( //Object Types
        -            'as-block','as-set','aut-num','domain','filter-set','inet-rtr',
        -            'inet6num','inetnum','irt','key-cert','limerick','mntner',
        -            'organisation','peering-set','person','poem','role','route-set',
        -            'route','route6','rtr-set'
        -            ),
        -        2 => array( //Field Types
        -            'abuse-mailbox','address','admin-c','aggr-bndry','aggr-mtd','alias',
        -            'as-block','as-name','as-set','aut-num','auth','author','certif',
        -            'changed','components','country','default','descr','dom-net',
        -            'domain','ds-rdata','e-mail','encryption','export','export-comps',
        -            'fax-no','filter','filter-set','fingerpr','form','holes','ifaddr',
        -            'import','inet-rtr','inet6num','inetnum','inject','interface','irt',
        -            'irt-nfy','key-cert','limerick','local-as','mbrs-by-ref',
        -            'member-of','members','method','mnt-by','mnt-domains','mnt-irt',
        -            'mnt-lower','mnt-nfy','mnt-ref','mnt-routes','mntner','mp-default',
        -            'mp-export','mp-filter','mp-import','mp-members','mp-peer',
        -            'mp-peering','netname','nic-hdl','notify','nserver','org',
        -            'org-name','org-type','organisation','origin','owner','peer',
        -            'peering','peering-set','person','phone','poem','ref-nfy','refer',
        -            'referral-by','remarks','rev-srv','role','route','route-set',
        -            'route6','rtr-set','signature','source','status','sub-dom','tech-c',
        -            'text','upd-to','zone-c'
        -            ),
        -        3 => array( //RPSL reserved
        -            'accept','action','and','announce','any','as-any','at','atomic',
        -            'except','from','inbound','into','networks','not','or','outbound',
        -            'peeras','refine','rs-any','to'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        ':'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000FF; font-weight: bold;',
        -            2 => 'color: #000080; font-weight: bold;',
        -            3 => 'color: #990000; font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #666666; font-style: italic;',
        -            2 => 'color: #666666; font-style: italic;',
        -            3 => 'color: #404080;',
        -            4 => 'color: #408040;',
        -            5 => 'color: #408040;',
        -            6 => 'color: #408040;',
        -            7 => 'color: #804040;',
        -            8 => 'color: #804040;',
        -            'MULTI' => 'color: #666666; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;',
        -            'HARD' => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #009900;'
        -            ),
        -        'STRINGS' => array(
        -            0 => '',
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #000080;',
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #0000FF;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #000088;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.irr.net/docs/rpsl.html'
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Variables
        -        0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4,
        -    'PARSER_CONTROL' => array(
        -        'KEYWORDS' => array(
        -            1 => array(
        -                'DISALLOWED_BEFORE' => '(?<=\A |\A \n(?m:^)|\n\n(?m:^))'
        -                ),
        -            2 => array(
        -                'DISALLOWED_BEFORE' => '(?m:^)'
        -                )
        -            ),
        -        'ENABLE_FLAGS' => array(
        -            'BRACKETS' => GESHI_NEVER,
        -            'SYMBOLS' => GESHI_NEVER,
        -            'BRACKETS' => GESHI_NEVER,
        -            'STRINGS' => GESHI_NEVER,
        -            'ESCAPE_CHAR' => GESHI_NEVER,
        -            'NUMBERS' => GESHI_NEVER,
        -            'METHODS' => GESHI_NEVER,
        -            'SCRIPT' => GESHI_NEVER
        -            )
        -        ),
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/winbatch.php b/vendor/easybook/geshi/geshi/winbatch.php
        deleted file mode 100644
        index d8c19ce..0000000
        --- a/vendor/easybook/geshi/geshi/winbatch.php
        +++ /dev/null
        @@ -1,368 +0,0 @@
        - 'Winbatch',
        -    'COMMENT_SINGLE' => array(1 => ';', 2 => ':'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"', '`'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'While', 'To', 'Then', 'Switch', 'Select', 'Return', 'Next', 'IntControl', 'Include', 'In', 'If',
        -            'Goto', 'GoSub', 'ForEach', 'For', 'Exit', 'Execute', 'ErrorMode', 'EndWhile', 'EndSwitch', '#EndSubRoutine',
        -            'EndSelect', 'EndIf', '#EEndFunction', 'EndFor', 'End', 'Else', 'DropWild', 'Drop', '#DefineSubRoutine',
        -            '#DefineFunction', 'Debug', 'Continue', 'Case', 'CallExt', 'Call', 'By', 'BreakPoint', 'Break'
        -            ),
        -        2 => array(
        -            'ZOOMED', 'YES', 'WORD4', 'WORD2', 'WORD1', 'WHOLESECTION', 'WAIT', 'UNSORTED', 'UNCHECK', 'TRUE', 'TILE',
        -            'TAB', 'STRING', 'STACK', 'SPC2NET', 'SORTED', 'SOK', 'SNET2PC', 'SINGLE', 'SHIFT', 'SERVER', 'SERRWINSOCK',
        -            'SERRVOICE', 'SERRSOCKET', 'SERRSERVICE', 'SERRSELECT', 'SERRPARAM', 'SERROUTOFMEM', 'SERRNOTFOUND', 'SERRNOCONN',
        -            'SERRNOANSWER', 'SERRMUSTWAIT', 'SERRIPADDR', 'SERRHOSTNAME', 'SERRFAILURE', 'SERRBUSY', 'SCROLLLOCK', 'SCANCEL',
        -            'SAVE', 'SALREADY', 'ROWS', 'REGUSERS', 'REGROOT', 'REGMACHINE', 'REGCURRENT', 'REGCLASSES', 'RDBLCLICK', 'RCLICK',
        -            'RBUTTON', 'RAD2DEG', 'QSUCCESSINFO', 'QSUCCESS', 'QSTILLEX', 'QROLLBACK', 'QNULL', 'QNODATA', 'QNEXT', 'QNEEDDATA',
        -            'QFIRST', 'QCOMMIT', 'QBADHANDLE', 'PRINTER', 'PLANCKJOULES', 'PLANCKERGS', 'PI', 'PARSEONLY', 'PARSEC', 'P3ERRREPLY',
        -            'OPEN', 'ON', 'OFF', 'NUMLOCK', 'NOWAIT', 'NOTIFY', 'NORMAL', 'NORESIZE', 'NONE', 'NO', 'NCSAFORMAT', 'MULTIPLE',
        -            'MSFORMAT', 'MPLAYRDBLCK', 'MPLAYRCLK', 'MPLAYRBUTTON', 'MPLAYMDBLCK', 'MPLAYMCLK', 'MPLAYMBUTTON', 'MPLAYLDBLCK',
        -            'MPLAYLCLK', 'MPLAYLBUTTON', 'MINOR', 'MDBLCLICK', 'MCLICK', 'MBYESNO', 'MBUTTON', 'MBOKCANCEL', 'MAJOR', 'MAGFIELD',
        -            'LOCALGROUP', 'LIGHTMTPS', 'LIGHTMPS', 'LF', 'LDBLCLICK', 'LCLICK', 'LBUTTON', 'LAFFDBERROR', 'ICON', 'HTTPS', 'HTTP',
        -            'HNOHEADER', 'HMETHODPOST', 'HMETHODGET', 'HIDDEN', 'HHEADERONLY', 'HHEADER', 'GRAVITATION', 'GOPHER', 'GOLDENRATIO',
        -            'GMTSEC', 'GLOBALGROUP', 'GFTSEC', 'GETPROCID', 'GETEXITCODE', 'FWDSCAN', 'FTPPASSIVE', 'FTP', 'FLOAT8', 'FARADAY',
        -            'FALSE', 'EXTENDED', 'EULERS', 'ENABLE', 'ELECTRIC', 'DRIVE', 'DISABLE', 'DESCENDING', 'DEG2RAD', 'DEFAULT', 'CTRL',
        -            'CRLF', 'CR', 'COMMONFORMAT', 'COLUMNS', 'CHECK', 'CAPSLOCK', 'CANCEL', 'BOLTZMANN', 'BACKSCAN', 'AVOGADRO', 'ATTR_X',
        -            'ATTR_T', 'ATTR_SY', 'ATTR_SH', 'ATTR_RO', 'ATTR_RI', 'ATTR_P', 'ATTR_IC', 'ATTR_H', 'ATTR_DM', 'ATTR_DI', 'ATTR_DC',
        -            'ATTR_CI', 'ATTR_A', 'ASCENDING', 'ARRANGE', 'AMC', 'ACC_WRITE', 'ACC_READ_NT', 'ACC_READ_95', 'ACC_READ', 'ACC_PRINT_NT',
        -            'ACC_PMANG_NT', 'ACC_PFULL_NT', 'ACC_LIST', 'ACC_FULL_NT', 'ACC_FULL_95', 'ACC_DELETE', 'ACC_CREATE', 'ACC_CONTROL',
        -            'ACC_CHNG_NT', 'ACC_ATTRIB', 'ABOVEICONS'
        -            ),
        -        3 => array(
        -            'Yields', 'Yield', 'WinZoom', 'WinWaitExist', 'WinWaitClose', 'WinWaitChild', 'WinVersion', 'WinTitle', 'WinSysInfo',
        -            'WinState', 'WinShow', 'WinResources', 'WinPositionChild', 'WinPosition', 'WinPlaceSet', 'WinPlaceGet', 'WinPlaceChild',
        -            'WinPlace', 'WinParmSet', 'WinParmGet', 'WinName', 'WinMetrics', 'WinItemProcId', 'WinItemNameId', 'WinItemizeEx',
        -            'WinItemize', 'WinItemChild', 'WinIsDos', 'WinIdGet', 'WinIconize', 'WinHide', 'WinHelp', 'WinGetactive', 'WinExistchild',
        -            'WinExist', 'WinExename', 'WinConfig', 'WinClosenot', 'WinClose', 'WinArrange', 'WinActivechild', 'WinActivchild',
        -            'WinActivate', 'WebVerifyCard', 'WebSetTimeout', 'WebParamSize', 'WebParamNames', 'WebParamFile', 'WebParamData',
        -            'WebParamBuf', 'WebOutFile', 'WebOutBinary', 'WebOut', 'WebDumpError', 'WebDatData', 'WebCounter', 'WebConSize', 'WebConData',
        -            'WebConBuf', 'WebCmdData', 'WebBaseConv', 'Wallpaper', 'WaitForKeyEX', 'WaitForKey', 'VersionDLL', 'Version', 'VarType',
        -            'TimeYmdHms', 'TimeWait', 'TimeSubtract', 'TimeJulToYmd', 'TimeJulianDay', 'TimeDiffSecs', 'TimeDiffDays', 'TimeDiff', 'TimeDelay',
        -            'TimeDate', 'TimeAdd', 'TextSelect', 'TextBoxSort', 'TextBox', 'Terminate', 'Tanh', 'Tan', 'SysParamInfo', 'SvcWaitForCmd',
        -            'SvcSetState', 'SvcSetAccept', 'StrUpper', 'StrTrim', 'StrSubWild', 'StrSub', 'StrScan', 'StrReplace', 'StrLower', 'StrLenWild',
        -            'StrLen', 'StrIndexWild', 'StrIndexNC', 'StrIndex', 'StriCmp', 'StrFixLeft', 'StrFixCharsL', 'StrFixChars', 'StrFix', 'StrFill',
        -            'StrCnt', 'StrCmp', 'StrClean', 'StrCharCount', 'StrCat', 'StrByteCount', 'Sqrt', 'SoundVolume', 'Sounds', 'Snapshot', 'Sinh', 'Sin',
        -            'ShortCutMake', 'ShortCutInfo', 'ShortCutExtra', 'ShortCutEdit', 'ShortCutDir', 'ShellExecute', 'SendMenusToEx', 'SendMenusTo',
        -            'SendKeysTo', 'SendKeysChild', 'SendKey', 'RunZoomWait', 'RunZoom', 'RunWithLogon', 'RunWait', 'RunShell', 'RunIconWait',
        -            'RunIcon', 'RunHideWait', 'RunHide', 'RunExit', 'RunEnviron', 'Run', 'RtStatus', 'Reload', 'RegUnloadHive', 'RegSetValue',
        -            'RegSetQword', 'RegSetMulSz', 'RegSetExpSz', 'RegSetEx', 'RegSetDword', 'RegSetBin', 'RegQueryValue', 'RegQueryStr',
        -            'RegQueryQword', 'RegQueryMulSz', 'RegQueryKeys', 'RegQueryKeyLastWriteTime', 'RegQueryKey', 'RegQueryItem', 'RegQueryExpSz',
        -            'RegQueryEx', 'RegQueryDword', 'RegQueryBin', 'RegOpenKeyEx', 'RegOpenKey', 'RegOpenFlags', 'RegLoadHive', 'RegExistValue',
        -            'RegExistKey', 'RegEntryType', 'RegDelValue', 'RegDeleteKey', 'RegCreateKey', 'RegConnect', 'RegCloseKey', 'RegApp', 'Random',
        -            'PtrPersistent', 'PtrGlobalDefine', 'PtrGlobal', 'Print', 'PlayWaveform', 'PlayMidi', 'PlayMedia', 'PipeServerWrite', 'PipeServerRead',
        -            'PipeServerCreate', 'PipeServerClose', 'PipeInfo', 'PipeClientSendRecvData', 'PipeClientOpen', 'PipeClientClose', 'Pause',
        -            'ParseData', 'ObjectTypeGet', 'ObjectType', 'ObjectOpen', 'ObjectGet', 'ObjectEventRemove', 'ObjectEventAdd',
        -            'ObjectCreate', 'ObjectConstToArray', 'ObjectConstantsGet', 'ObjectCollectionOpen', 'ObjectCollectionNext',
        -            'ObjectCollectionClose', 'ObjectClose', 'ObjectAccess', 'Num2Char', 'NetInfo', 'MsgTextGet', 'MousePlay', 'MouseMove', 'MouseInfo',
        -            'MouseDrag', 'MouseCoords', 'MouseClickBtn', 'MouseClick', 'mod', 'Min', 'Message', 'Max', 'Loge', 'LogDisk', 'Log10', 'LastError',
        -            'KeyToggleSet', 'KeyToggleGet', 'ItemSortNc', 'ItemSort', 'ItemSelect', 'ItemReplace', 'ItemRemove', 'ItemLocate', 'ItemInsert',
        -            'ItemExtractCSV', 'ItemExtract', 'ItemCountCSV', 'ItemCount', 'IsNumber', 'IsLicensed', 'IsKeyDown', 'IsInt', 'IsFloat', 'IsDefined',
        -            'Int', 'InstallFile', 'IniWritePvt', 'IniWrite', 'IniReadPvt', 'IniRead', 'IniItemizePvt', 'IniItemize', 'IniDeletePvt', 'IniDelete',
        -            'IgnoreInput', 'IconReplace', 'IconInfo', 'IconExtract', 'IconArrange', 'GetTickCount', 'GetObject', 'GetExactTime', 'Floor',
        -            'FindWindow', 'FileYmdHms', 'FileWrite', 'FileVerInfo', 'FileTimeTouch', 'FileTimeSetEx', 'FileTimeSet', 'FileTimeGetEx',
        -            'FileTimeGet', 'FileTimeCode', 'FileSizeEx', 'FileSize', 'FileRoot', 'FileRename', 'FileRead', 'FilePutW', 'FilePut', 'FilePath',
        -            'FileOpen', 'FileNameShort', 'FileNameLong', 'FileNameEval2', 'FileNameEval1', 'FileMoveAttr', 'FileMove', 'FileMapName',
        -            'FileLocate', 'FileItemPath', 'FileItemize', 'FileInfoToArray', 'FileGetW', 'FileGet', 'FileFullname', 'FileExtension', 'FileExist',
        -            'FileDelete', 'FileCreateTemp', 'FileCopyAttr', 'FileCopy', 'FileCompare', 'FileClose', 'FileBaseName', 'FileAttrSetEx',
        -            'FileAttrSet', 'FileAttrGetEx', 'FileAttrGet', 'FileAppend', 'Fabs', 'ExtractAttachedFile', 'Exp', 'ExeTypeInfo', 'Exclusive',
        -            'EnvItemize', 'EnvironSet', 'Environment', 'EndSession', 'DosVersion', 'DllLoad', 'DllLastError', 'DllHwnd', 'DllHinst',
        -            'DllFree', 'DllCallCDecl', 'DllCall', 'Display', 'DiskVolinfo', 'DiskSize', 'DiskScan', 'DiskInfo', 'DiskFree', 'DiskExist',
        -            'DirWindows', 'DirSize', 'DirScript', 'DirRename', 'DirRemove', 'DirMake', 'DirItemize', 'DirInfoToArray', 'DirHome', 'DirGet',
        -            'DirExist', 'DirChange', 'DirAttrSetEx', 'DirAttrSet', 'DirAttrGetEx', 'DirAttrGet', 'DialogProcOptions', 'DialogObject',
        -            'DialogControlState', 'DialogControlSet', 'DialogControlGet', 'DialogBox', 'Dialog', 'Delay', 'Decimals', 'DebugTrace',
        -            'DebugData', 'DDETimeout', 'DDETerminate', 'DDERequest', 'DDEPoke', 'DDEInitiate', 'DDEExecute', 'DateTime', 'CurrFilepath',
        -            'CurrentPath', 'CurrentFile', 'CreateObject', 'Cosh', 'Cos', 'ClipPut', 'ClipHasFormat', 'ClipGetEx', 'ClipGet', 'ClipAppend',
        -            'ChrUnicodeToString', 'ChrUnicodeToHex', 'ChrStringToUnicode', 'ChrSetCodepage', 'ChrHexToUnicode', 'ChrGetCodepage',
        -            'Char2Num', 'Ceiling', 'ButtonNames', 'BoxUpdates', 'BoxTitle', 'BoxTextFont', 'BoxTextColor', 'BoxText', 'BoxShut', 'BoxPen',
        -            'BoxOpen', 'BoxNew', 'BoxMapmode', 'BoxesUp', 'BoxDrawText', 'BoxDrawRect', 'BoxDrawLine', 'BoxDrawCircle', 'BoxDestroy',
        -            'BoxDataTag', 'BoxDataClear', 'BoxColor', 'BoxCaption', 'BoxButtonWait', 'BoxButtonStat', 'BoxButtonKill', 'BoxButtonDraw',
        -            'BoxBitMap', 'BinaryXor', 'BinaryXlate', 'BinaryWriteEx', 'BinaryWrite', 'BinaryTagRepl', 'BinaryTagLen', 'BinaryTagInit',
        -            'BinaryTagIndex', 'BinaryTagFind', 'BinaryTagExtr', 'BinaryStrCnt', 'BinarySort', 'BinaryReplace', 'BinaryReadEx',
        -            'BinaryRead', 'BinaryPokeStrW', 'BinaryPokeStr', 'BinaryPokeHex', 'BinaryPokeFlt', 'BinaryPoke4', 'BinaryPoke2', 'BinaryPoke',
        -            'BinaryPeekStrW', 'BinaryPeekStr', 'BinaryPeekHex', 'BinaryPeekFlt', 'BinaryPeek4', 'BinaryPeek2', 'BinaryPeek', 'BinaryOr',
        -            'BinaryOleType', 'BinaryIndexNc', 'BinaryIndexEx', 'BinaryIndexBin', 'BinaryIndex', 'BinaryIncrFlt', 'BinaryIncr4',
        -            'BinaryIncr2', 'BinaryIncr', 'BinaryHashRec', 'BinaryFree', 'BinaryEodSet', 'BinaryEodGet', 'BinaryCopy', 'BinaryConvert',
        -            'BinaryCompare', 'BinaryClipPut', 'BinaryClipGet', 'BinaryChecksum', 'BinaryBufInfo', 'BinaryAnd', 'BinaryAllocArray',
        -            'BinaryAlloc', 'Beep', 'Average', 'Atan', 'AskYesNo', 'AskTextbox', 'AskPassword', 'AskLine', 'AskItemlist', 'AskFont',
        -            'AskFiletext', 'AskFilename', 'AskDirectory', 'AskColor', 'Asin', 'ArrInitialize', 'ArrInfo', 'ArrDimension',
        -            'Arrayize', 'ArrayFilePutCSV', 'ArrayFilePut', 'ArrayFileGetCSV', 'ArrayFileGet', 'AppWaitClose', 'AppExist', 'AddExtender',
        -            'Acos', 'Abs', 'About'
        -            ),
        -        4 => array(
        -            'zZipFiles', 'zVersionInfo', 'zVersion', 'zUnZipFiles', 'zSetPortBit', 'zRPortShift', 'zPortOut', 'zPortIn', 'zNotPortBit',
        -            'zLPortShift', 'zGetPortBit', 'zClrPortBit', 'xVerifyCCard', 'xSendMessage', 'xMessageBox', 'xMemCompact', 'xHex', 'xGetElapsed',
        -            'xGetChildHwnd', 'xExtenderInfo', 'xEnumStreams', 'xEjectMedia', 'xDriveReady', 'xDiskLabelGet', 'xCursorSet', 'xBaseConvert',
        -            'wxPing', 'wxParmSet', 'wxParmGet', 'wxMsgSetHdr', 'wxMsgGetHdr', 'wxMsgGetBody', 'wxHost2Addr', 'wxGetLastErr', 'wxGetInfo',
        -            'wxGetErrDesc', 'wxAddr2Host', 'wtsWaitSystemEvent', 'wtsVersion', 'wtsTerminateProcess', 'wtsShutdownSystem', 'wtsSendMessage',
        -            'wtsQuerySessionInfo', 'wtsProcIdToSessId', 'wtsLogoffSession', 'wtsLastErrMsg', 'wtsIsTSEnabled', 'wtsIsCitrixEnabled',
        -            'wtsGetActiveConsoleSessId', 'wtsEnumSessions', 'wtsEnumProcesses', 'wtsDisconnectSession', 'wnWrkGroups', 'wnVersion', 'wntWtsUserSet',
        -            'wntWtsUserGet', 'wntVersion', 'wntUserSidChk', 'wntUserSetDat', 'wntUserRename', 'wntUserProps', 'wntUserList', 'wntUserInfo',
        -            'wntUserGetDat', 'wntUserFiles', 'wntUserExist', 'wntUserDel', 'wntUserAddDat', 'wntUserAdd', 'wntSvcStatus', 'wntSvcStart',
        -            'wntSvcList', 'wntSvcDelete', 'wntSvcCreate', 'wntSvcControl', 'wntSvcCfgSet', 'wntSvcCfgGet', 'wntShutdown', 'wntShareUsers',
        -            'wntShareSet', 'wntShareList', 'wntShareInfo', 'wntShareDel', 'wntShareAdd', 'wntServiceInf', 'wntServiceAt', 'wntServerType',
        -            'wntServerList', 'wntServerInfo', 'wntSecurityGet', 'wntRunAsUser', 'wntResources2', 'wntResources', 'wntRemoteTime', 'wntRasUserSet',
        -            'wntRasUserGet', 'wntProfileInfo', 'wntProfileDel', 'wntPrivUsers', 'wntPrivList', 'wntPrivGet', 'wntPrivDel', 'wntPrivAdd',
        -            'wntOwnerSet', 'wntOwnerGet', 'wntMemberSet', 'wntMemberLst2', 'wntMemberList', 'wntMemberGrps', 'wntMemberGet', 'wntMemberDel',
        -            'wntLsaPolSet', 'wntLsaPolGet', 'wntListGroups', 'wntLastErrMsg', 'wntGroupRen', 'wntGroupInfo', 'wntGroupEdit', 'wntGroupDel',
        -            'wntGroupAdd', 'wntGetUser', 'wntGetDrive', 'wntGetDc', 'wntGetCon', 'wntFileUsers', 'wntFilesOpen', 'wntFileClose', 'wntEventWrite',
        -            'wntEventLog', 'wntDomainSync', 'wntDirDialog', 'wntDfsList', 'wntDfsGetInfo', 'wntCurrUsers', 'wntChgPswd', 'wntCancelCon',
        -            'wntAuditMod', 'wntAuditList', 'wntAuditGet', 'wntAuditDel', 'wntAuditAdd2', 'wntAuditAdd', 'wntAddPrinter', 'wntAddDrive',
        -            'wntAcctPolSet', 'wntAcctPolGet', 'wntAcctList', 'wntAcctInfo', 'wntAccessMod', 'wntAccessList', 'wntAccessGet', 'wntAccessDel',
        -            'wntaccessadd2', 'wntAccessAdd', 'wnShares', 'wnSharePath', 'wnShareName', 'wnShareCnt', 'wnServers', 'wnRestore', 'wnNetNames',
        -            'wnGetUser', 'wnGetCon', 'wnGetCaps', 'wnDlgShare', 'wnDlgNoShare', 'wnDlgDiscon', 'wnDlgCon4', 'wnDlgCon3', 'wnDlgCon2', 'wnDlgCon',
        -            'wnDlgBrowse', 'wnDialog', 'wnCmptrInfo', 'wnCancelCon', 'wnAddCon', 'WaitSRQ', 'w9xVersion', 'w9xUserSetDat', 'w9xUserRename',
        -            'w9xUserprops', 'w9xUserList', 'w9xUserinfo', 'w9xUserGetDat', 'w9xUserExist', 'w9xUserDel', 'w9xUserAddDat', 'w9xUserAdd', 'w9xShareSet',
        -            'w9xShareInfo', 'w9xShareDel', 'w9xShareAdd', 'w9xServiceAt', 'w9xServerList', 'w9xRemoteTime', 'w9xOwnerGet', 'w9xMemberSet',
        -            'w9xMemberList', 'w9xMemberGrps', 'w9xMemberGet', 'w9xMemberDel', 'w9xListGroups', 'w9xGroupInfo', 'w9xGroupDel', 'w9xGroupAdd',
        -            'w9xGetDC', 'w9xFileUsers', 'w9xAccessList', 'w9xAccessGet', 'w9xAccessDel', 'w9xAccessAdd', 'w95Version', 'w95ShareUsers',
        -            'w95ShareSet', 'w95ShareList', 'w95ShareInfo', 'w95ShareDel', 'w95ShareAdd', 'w95ServiceInf', 'w95ServiceAt', 'w95ServerType',
        -            'w95ServerInfo', 'w95Resources', 'w95GetUser', 'w95GetDrive', 'w95GetCon', 'w95FileUsers', 'w95FileClose', 'w95DirDialog',
        -            'w95CancelCon', 'w95AddPrinter', 'w95AddDrive', 'w95AccessDel', 'w95AccessAdd', 'w3Version', 'w3PrtBrowse', 'w3NetGetUser',
        -            'w3NetDialog', 'w3GetCon', 'w3GetCaps', 'w3DirBrowse', 'w3CancelCon', 'w3AddCon', 'urlGetScheme', 'urlEncode', 'urlDecode',
        -            'tVersion', 'tSetPriority', 'TriggerList', 'Trigger', 'tRemoteConn', 'tOpenProc', 'tListProc', 'tListMod', 'tKillProc', 'tGetProcInfo',
        -            'tGetPriority', 'tGetModInfo', 'tGetLastError', 'tGetData', 'TestSys', 'TestSRQ', 'tCountProc', 'tCompatible', 'tCloseProc',
        -            'tBrowseCntrs', 'sSendString', 'sSendNum', 'sSendLine', 'sSendBinary', 'sRecvNum', 'sRecvLine', 'sRecvBinary', 'SrchVersion',
        -            'SrchNext', 'SrchInit', 'SrchFree', 'sOpen', 'sOK2Send', 'sOK2Recv', 'smtpSendText', 'smtpSendFile', 'sListen', 'SetRWLS',
        -            'SendSetup', 'SendLLO', 'SendList', 'SendIFC', 'SendDataBytes', 'SendCmds', 'Send', 'sConnect', 'sClose', 'SByteOrder32',
        -            'sByteOrder16', 'sAccept', 'rRegVersion', 'rRegSearch', 'ResetSys', 'ReceiveSetup', 'Receive', 'ReadStsByte', 'RcvRespMsg',
        -            'RasVersion', 'RasTypeSize', 'RasRename', 'RasNumCons', 'RasNameValid', 'RasListActCon', 'RasItemize', 'RasHangUp', 'RasGetLastErr',
        -            'RasGetConStat', 'RasEntrySet', 'RasEntryInfo', 'RasEntryExist', 'RasEntryDel', 'RasEntryAdd', 'RasDialInfo', 'RasDial',
        -            'RasCopy', 'RasConStatus', 'qVersionInfo', 'qTransact', 'qTables', 'qSpecial', 'qSetConnOpt', 'qNumRsltCol', 'qNativeSql', 'qLastCode',
        -            'qGetData', 'qFreeStmt', 'qFreeEnv', 'qFreeConnect', 'qFetch', 'qExecDirect', 'qError', 'qDriverList', 'qDriverCon', 'qDisconnect',
        -            'qDataSources', 'qConnect', 'qConfigError', 'qConfigData', 'qColumns', 'qBindCol', 'qAllocStmt', 'qAllocEnv', 'qAllocConnect',
        -            'pWaitFor', 'pVersionInfo', 'pTimeout', 'pSetPublish', 'pSetPrtInfo', 'pSetPrtAttrib', 'pSetDefPrtEx', 'pSetDefPrt', 'pSendFile',
        -            'pRecvFile', 'pPutString', 'pPutLine', 'pPutChar', 'pPutByte', 'pPutBinary', 'PPollUnconfig', 'PPollConfig', 'PPoll', 'pPeekChar',
        -            'pPeekByte', 'pPaperSizes', 'pPaperBins', 'pModemSReg', 'pModemParams', 'pModemInit', 'pModemHangUp', 'pModemDial', 'pModemControl',
        -            'pModemConnect', 'pModemCommand', 'pModemAnsRing', 'pModemAnsCall', 'pMediaTypes', 'pGetString', 'pGetPublish', 'pGetPrtList',
        -            'pGetPrtInfo', 'pGetPrtAttrib', 'pGetLine', 'pGetLastError', 'pGetErrorMsg', 'pGetErrorCode', 'pGetDefPrtInf', 'pGetChar',
        -            'pGetByte', 'pGetBinary', 'pDelPrtConn', 'pDelPrinter', 'pComOpen', 'pComModify', 'pComInfo', 'pComControl', 'pComClose',
        -            'pCheckSum', 'pCheckBinary', 'pCaptureOn', 'pCaptureOff', 'pCaptureLog', 'PassControl', 'pAddPrtConn', 'pAddPrinter', 'p3RecvText',
        -            'p3RecvFile', 'p3Peek', 'p3Open', 'p3GetReply', 'p3Delete', 'p3Count', 'p3Close', 'nwWhoAmI', 'nwVfyPassword', 'nwVersion',
        -            'nwSrvShutdown', 'nwSrvNLMMgr', 'nwSrvGenGUID', 'nwSrvExecNCF', 'nwSetVolLimit', 'nwSetSrvParam', 'nwSetSrvInfo', 'nwSetPrimServ',
        -            'nwSetPassword', 'nwSetOptions', 'nwSetFileInfo', 'nwSetDirLimit', 'nwSetDirInfo', 'nwSetContext', 'nwSetBcastMode', 'nwServerList',
        -            'nwSendBcastMsg', 'nwSearchObjects', 'nwSearchFilter', 'nwRenameObject', 'nwRemoveObject', 'nwReceiveBcastMsg', 'nwNameConvert',
        -            'nwMutateObject', 'nwMoveObject', 'nwModifyObject', 'nwMapDelete', 'nwMap', 'nwLogout', 'nwLogin', 'nwListUserGroups',
        -            'nwListObjects', 'nwListGroupMembers', 'nwLastErrMsg', 'nwIsUserInGroup', 'nwGetVolLimit', 'nwGetSrvStats', 'nwGetSrvParam',
        -            'nwGetSrvInfo', 'nwGetSrvCfg', 'nwGetOptions', 'nwGetObjValue', 'nwGetObjInfo', 'nwGetNLMInfo', 'nwGetMapped', 'nwGetFileInfo',
        -            'nwGetDirLimit', 'nwGetDirInfo', 'nwGetContext', 'nwGetConnInfo', 'nwGetCapture', 'nwGetBcastMode', 'nwGetAttrInfo',
        -            'nwDriveStatus', 'nwDrivePath', 'nwDetachFromServer', 'nwDelUserFromGroup', 'nwDelConnNum', 'nwCompareObject', 'nwClientInfo',
        -            'nwChgPassword', 'nwAttachToServer', 'nwAddUserToGroup', 'nwAddObject', 'netVersion', 'netResources', 'netGetUser', 'netGetCon',
        -            'netDirDialog', 'netCancelCon', 'netAddPrinter', 'netAddDrive', 'n4Version', 'n4UserGroups', 'n4UserGroupEx', 'n4SetPrimServ',
        -            'n4SetOptions', 'n4SetContextG', 'n4SetContext', 'n4ServerList', 'n4ServerInfo', 'n4ObjSearch', 'n4ObjRename', 'n4ObjOptions',
        -            'n4ObjMove', 'n4ObjGetVal', 'n4ObjectProps', 'n4ObjectList', 'n4ObjectInfo', 'n4ObjDelete', 'n4NameConvert', 'n4MsgsEndAll',
        -            'n4MsgsEnd', 'n4MemberSet', 'n4MemberGet', 'n4MemberDel', 'n4MapRoot', 'n4MapDir', 'n4MapDelete', 'n4Map', 'n4LogoutTree',
        -            'n4Logout', 'n4Login', 'n4GetUserName', 'n4GetUserId', 'n4GetUser', 'n4GetNetAddr', 'n4GetMapped', 'n4GetContext',
        -            'n4GetConnNum', 'n4FileUsers', 'n4FileTimeGet', 'n4FileAttrSet', 'n4FileAttrGet', 'n4DriveStatus', 'n4DrivePath', 'n4DirTimeGet',
        -            'n4DirAttrSet', 'n4DirAttrGet', 'n4Detach', 'n4ChgPassword', 'n4CapturePrt', 'n4CaptureGet', 'n4CaptureEnd', 'n4Attach',
        -            'n3Version', 'n3UserGroups', 'n3ServerList', 'n3ServerInfo', 'n3MsgsEndAll', 'n3MsgsEnd', 'n3MemberSet', 'n3MemberGet',
        -            'n3MemberDel', 'n3Maproot', 'n3Mapdir', 'n3Mapdelete', 'n3Map', 'n3Logout', 'n3GetUserId', 'n3GetUser', 'n3GetNetAddr',
        -            'n3GetMapped', 'n3GetConnNum', 'n3FileTimeGet', 'n3FileAttrSet', 'n3FileAttrGet', 'n3DriveStatus', 'n3DrivePath',
        -            'n3DirTimeGet', 'n3DirAttrSet', 'n3DirAttrGet', 'n3Detach', 'n3ChgPassword', 'n3CapturePrt', 'n3CaptureGet',
        -            'n3CaptureEnd', 'n3Attach', 'mVersion', 'mSyncMail', 'mSendMailEx', 'mSendMail', 'mrecvmail', 'mReadNextMsg', 'mLogOn',
        -            'mLogOff', 'mFindNext', 'mError', 'mCompatible', 'kVerInfo', 'kStatusInfo', 'kSendText', 'kSendFile', 'kManageImap4',
        -            'kInit', 'kGetMail', 'kExtra', 'kDest', 'kDeletePop3', 'iWriteDataBuf', 'iWriteData', 'iVersion', 'IUrlOpen', 'iUrlEncode',
        -            'iUrlDecode', 'iReadDataBuf', 'iReadData', 'ipVersion', 'ipPing', 'iPing', 'ipHost2Addr', 'ipGetLastErr', 'ipGetAddress',
        -            'iParseURL', 'ipAddr2Host', 'iOptionSet', 'iOptionGet', 'ImgWave', 'ImgVersion', 'ImgUnsharpMask', 'ImgThreshold', 'ImgSwirl',
        -            'ImgSpread', 'ImgSolarize', 'ImgShear', 'ImgSharpen', 'ImgShade', 'ImgScale', 'ImgSample', 'ImgRotate', 'ImgResize',
        -            'ImgReduceNoise', 'ImgRaise', 'ImgOilPaint', 'ImgNormalize', 'ImgNegate', 'ImgMotionBlur', 'ImgModulate', 'ImgMinify',
        -            'ImgMedianFilter', 'ImgMagnify', 'ImgLevel', 'ImgIsValid', 'ImgIsPalette', 'ImgIsMono', 'ImgIsGray', 'ImgInfo', 'ImgImplode',
        -            'ImgGetImageType', 'ImgGetColorCount', 'ImgGaussianBlur', 'ImgGamma', 'ImgFrame', 'ImgFlop', 'ImgFlip', 'ImgEqualize',
        -            'ImgEnhance', 'ImgEmboss', 'ImgCrop', 'ImgConvert', 'ImgContrast', 'ImgCompare', 'ImgColorize', 'ImgChop', 'ImgCharcoal',
        -            'ImgBorder', 'ImgBlur', 'ImgAddNoise', 'iLocFindNext', 'iLocFindInit', 'iHttpOpen', 'iHttpInit', 'iHttpHeaders', 'iHttpAccept',
        -            'iHostConnect', 'iHost2Addr', 'iGetResponse', 'iGetLastError', 'iGetIEVer', 'iGetConStatEx', 'iGetConState', 'iFtpRename',
        -            'iFtpPut', 'iFtpOpen', 'iFtpGet', 'iFtpFindNext', 'iFtpFindInit', 'iFtpDirRemove', 'iFtpDirMake', 'iFtpDirGet', 'iFtpDirChange',
        -            'iFtpDialog', 'iFtpDelete', 'iFtpCmd', 'iErrorDialog', 'iDialItemize', 'iDialHangUp', 'iDial', 'iCookieSet', 'iCookieGet',
        -            'iContentURL', 'iContentFile', 'iContentData', 'iClose', 'ibWrtf', 'ibWrt', 'ibWait', 'ibVersion', 'ibUnlock', 'ibTrg',
        -            'ibTmo', 'ibStop', 'ibStatus', 'ibSta', 'ibSre', 'ibSic', 'ibSad', 'ibRsv', 'ibRsp', 'ibRsc', 'ibRpp', 'ibRdf', 'ibRd',
        -            'ibPpc', 'ibPoke', 'ibPct', 'ibPad', 'ibOnl', 'ibMakeAddr', 'ibLock', 'ibLoc', 'ibLn', 'ibLines', 'ibIst', 'ibInit',
        -            'ibGts', 'ibGetSad', 'ibGetPad', 'ibFind', 'ibEvent', 'ibErr', 'ibEot', 'ibEos', 'iBegin', 'ibDma', 'ibDev', 'ibConfig',
        -            'ibCntl', 'ibCnt', 'ibCmda', 'ibCmd', 'ibClr', 'ibCac', 'ibBna', 'ibAsk', 'iAddr2Host', 'huge_Thousands', 'huge_Subtract',
        -            'huge_SetOptions', 'huge_Multiply', 'huge_GetLastError', 'huge_ExtenderInfo', 'huge_Divide', 'huge_Decimal', 'huge_Add',
        -            'httpStripHTML', 'httpRecvTextF', 'httpRecvText', 'httpRecvQuery', 'httpRecvQryF', 'httpRecvFile', 'httpGetServer',
        -            'httpGetQuery', 'httpGetPath', 'httpGetFile', 'httpGetDir', 'httpGetAnchor', 'httpFullPath', 'httpFirewall', 'httpAuth',
        -            'ftpRename', 'ftpQuote', 'ftpPut', 'ftpOpen', 'ftpList', 'ftpGet', 'ftpFirewall', 'ftpDelete', 'ftpClose', 'ftpChDir',
        -            'FindRQS', 'FindLstn', 'EnvSetVar', 'EnvPathDel', 'EnvPathChk', 'EnvPathAdd', 'EnvListVars', 'EnvGetVar', 'EnvGetInfo',
        -            'EnableRemote', 'EnableLocal', 'ehllapiWait', 'ehllapiVersion', 'ehllapiUninit', 'ehllapiStopKeyIntercept', 'ehllapiStopHostNotify',
        -            'ehllapiStopCloseIntercept', 'ehllapiStartKeyIntercept', 'ehllapiStartHostNotify', 'ehllapiStartCloseIntercept',
        -            'ehllapiSetWindowStatus', 'ehllapiSetSessionParams', 'ehllapiSetPSWindowName', 'ehllapiSetCursorLoc', 'ehllapiSendKey',
        -            'ehllapiSendFile', 'ehllapiSearchPS', 'ehllapiSearchField', 'ehllapiRunProfile', 'ehllapiResetSystem', 'ehllapiReserve',
        -            'ehllapiRelease', 'ehllapiReceiveFile', 'ehllapiQuerySystem', 'ehllapiQueryPSStatus', 'ehllapiQueryHostNotify',
        -            'ehllapiQueryFieldAttr', 'ehllapiQueryCursorLoc', 'ehllapiQueryCloseIntercept', 'ehllapiPostInterceptStatus',
        -            'ehllapiPause', 'ehllapiLastErrMsg', 'ehllapiInit', 'ehllapiGetWindowStatus', 'ehllapiGetPSHWND', 'ehllapiGetKey',
        -            'ehllapiFindFieldPos', 'ehllapiFindFieldLen', 'ehllapiDisconnectPS', 'ehllapiCvtRCToPos', 'ehllapiCvtPosToRC',
        -            'ehllapiCopyTextToPS', 'ehllapiCopyTextToField', 'ehllapiCopyTextFromPS', 'ehllapiCopyTextFromField', 'ehllapiCopyOIA',
        -            'ehllapiConnectPS', 'dunItemize', 'dunDisconnect', 'dunConnectEx', 'dunConnect', 'dsTestParam', 'dsSIDtoHexStr', 'dsSetSecProp',
        -            'dsSetProperty', 'dsSetPassword', 'dsSetObj', 'dsSetCredentX', 'dsSetCredent', 'dsRemFromGrp', 'dsRelSecObj', 'dsMoveObj',
        -            'dsIsObject', 'dsIsMemberGrp', 'dsIsContainer', 'dsGetUsersGrps', 'dsGetSecProp', 'dsGetPropName', 'dsGetProperty',
        -            'dsGetPrntPath', 'dsGetPrimGrp', 'dsGetMemGrp', 'dsGetInfo', 'dsGetClass', 'dsGetChldPath', 'dsFindPath', 'dsDeleteObj',
        -            'dsCreatSecObj', 'dsCreateObj', 'dsCopySecObj', 'dsAddToGrp', 'dsAclRemAce', 'dsAclOrderAce', 'dsAclGetAces', 'dsAclAddAce',
        -            'DevClearList', 'DevClear', 'dbTest', 'dbSwapColumns', 'dbSort', 'dbSetRecordField', 'dbSetOptions', 'dbSetErrorReporting',
        -            'dbSetEntireRecord', 'dbSetDelimiter', 'dbSave', 'dbOpen', 'dbNameColumn', 'dbMakeNewItem', 'dbInsertColumn', 'dbGetVersion',
        -            'dbGetSaveStatus', 'dbGetRecordField', 'dbGetRecordCount', 'dbGetNextItem', 'dbGetLastError', 'dbGetEntireRecord',
        -            'dbGetColumnType', 'dbGetColumnNumber', 'dbGetColumnName', 'dbGetColumnCount', 'dbFindRecord', 'dbExist', 'dbEasterEgg',
        -            'dbDeleteRecord', 'dbDeleteColumn', 'dbDebug', 'dbCookDatabases', 'dbClose', 'dbCloneRecord', 'dbBindCol', 'cWndState',
        -            'cWndinfo', 'cWndGetWndSpecName', 'cWndGetWndSpec', 'cWndexist', 'cWndByWndSpecName', 'cWndByWndSpec', 'cWndbyseq',
        -            'cWndbyname', 'cWndbyid', 'cWndbyclass', 'cWinIDConvert', 'cVersionInfo', 'cVendorId', 'cSetWndText', 'cSetUpDownPos',
        -            'cSetTvItem', 'cSetTrackPos', 'cSetTabItem', 'cSetLvItem', 'cSetLbItemEx', 'cSetLbItem', 'cSetIpAddr', 'cSetFocus',
        -            'cSetEditText', 'cSetDtpDate', 'cSetCbItem', 'cSetCalDate', 'cSendMessage', 'cRadioButton', 'cPostMessage', 'cPostButton',
        -            'cMemStat', 'cGetWndCursor', 'cGetUpDownPos', 'cGetUpDownMin', 'cGetUpDownMax', 'cGetTVItem', 'cGetTrackPos', 'cGetTrackMin',
        -            'cGetTrackMax', 'cGetTbText', 'cGetSbText', 'cGetLvText', 'cGetLvSelText', 'cGetLvFocText', 'cGetLvDdtText', 'cGetLvColText',
        -            'cGetLbText', 'cGetLbSelText', 'cGetLbCount', 'cGetIpAddr', 'cGetInfo', 'cGetHrText', 'cGetFocus', 'cGetEditText', 'cGetDtpDate',
        -            'cGetControlImageCRC', 'cGetCBText', 'cGetCbCount', 'cGetCalDate', 'cFindByName', 'cFindByClass', 'cEnablestate', 'cDblClickItem',
        -            'cCpuSupt', 'cCpuSpeed', 'cCpuIdExt', 'cCpuId', 'cCpuFeat', 'cCpuBenchmark', 'cCloneCheck', 'cClickToolbar', 'cClickButton',
        -            'cClearTvItem', 'cClearLvItem', 'cClearLbAll', 'cCheckbox', 'aVersion', 'aStatusbar', 'aShellFolder', 'aMsgTimeout', 'AllSPoll',
        -            'aGetLastError', 'aFileRename', 'aFileMove', 'aFileDelete', 'aFileCopy'
        -            ),
        -        5 => array(
        -            'wWordRight', 'wWordLeft', 'wWinTile', 'wWinRestore', 'wWinNext', 'wWinMinimize', 'wWinMaximize', 'wWinCloseAll', 'wWinClose',
        -            'wWinCascade', 'wWinArricons', 'wViewOutput', 'wViewOptions', 'wViewHtml', 'wUpperCase', 'wUpline', 'wUndo', 'wTopOfFile', 'wToggleIns',
        -            'wTab', 'wStatusMsg', 'wStartSel', 'wSpellcheck', 'wSetProject', 'wSetPrefs', 'wSetColblk', 'wSetBookmark', 'wSelWordRight',
        -            'wSelWordLeft', 'wSelUp', 'wSelTop', 'wSelRight', 'wSelPgUp', 'wSelPgDn', 'wSelLeft', 'wSelInfo', 'wSelHome', 'wSelEnd', 'wSelectAll',
        -            'wSelDown', 'wSelBottom', 'wRunRebuild', 'wRunMake', 'wRunExecute', 'wRunDebug', 'wRunConfig', 'wRunCompile', 'wRunCommand', 'wRight',
        -            'wRepeat', 'wRedo', 'wRecord', 'wProperties', 'wPrintDirect', 'wPrinSetup', 'wPrevError', 'wPaste', 'wPageUp', 'wPageDown', 'wNextError',
        -            'wNewLine', 'wLowerCase', 'wLineCount', 'wLeft', 'wInvertCase', 'wInsString', 'wInsLine', 'wHome', 'wHelpKeyword', 'wHelpKeybrd',
        -            'wHelpIndex', 'wHelpHelp', 'wHelpCmds', 'wHelpAbout', 'wGotoLine', 'wGotoCol', 'wGetWrap', 'wGetWord', 'wGetUndo', 'wGetSelstate',
        -            'wGetRedo', 'wGetOutput', 'wGetModified', 'wGetLineNo', 'wGetIns', 'wGetFilename', 'wGetColNo', 'wGetChar', 'wFtpOpen', 'wFindNext',
        -            'wFindInFiles', 'wFind', 'wFileSaveAs', 'wFileSave', 'wFileRevert', 'wFilePrint', 'wFilePgSetup', 'wFileOpen', 'wFileNew', 'wFileMerge',
        -            'wFileList', 'wFileExit', 'wEndSel', 'wEndOfFile', 'wEnd', 'wEdWrap', 'wEdWordRight', 'wEdWordLeft', 'wEdUpLine', 'wEdUndo', 'wEdTopOfFile',
        -            'wEdToggleIns', 'wEdTab', 'wEdStartSel', 'wEdSetColBlk', 'wEdSelectAll', 'wEdRight', 'wEdRedo', 'wEdPaste', 'wEdPageUp', 'wEdPageDown',
        -            'wEdNewLine', 'wEdLeft', 'wEdInsString', 'wEdHome', 'wEdGoToLine', 'wEdGoToCol', 'wEdGetWord', 'wEdEndSel', 'wEdEndOfFile', 'wEdEnd',
        -            'wEdDownLine', 'wEdDelete', 'wEdCutLine', 'wEdCut', 'wEdCopyLine', 'wEdCopy', 'wEdClearSel', 'wEdBackTab', 'wEdBackspace', 'wDownLine',
        -            'wDelete', 'wDelButton', 'wCutMarked', 'wCutLine', 'wCutAppend', 'wCut', 'wCopyMarked', 'wCopyLine', 'wCopyAppend', 'wCopy', 'wCompile',
        -            'wClearSel', 'wChange', 'wCallMacro', 'wBackTab', 'wBackspace', 'wAutoIndent', 'wAddButton', 'edWindowTile', 'edWindowRestore',
        -            'edWindowNext', 'edWindowMinimize', 'edWindowMaximize', 'edWindowCloseall', 'edWindowClose', 'edWindowCascade', 'edWindowArrangeIcons',
        -            'edStatusMsg', 'edSearchViewOutput', 'edSearchRepeat', 'edSearchPrevError', 'edSearchNextError', 'edSearchFind', 'edSearchChange',
        -            'edRunRebuild', 'edRunMake', 'edRunExecute', 'edRunDebug', 'edRunConfigure', 'edRunCompile', 'edRunCommand', 'edRecord', 'edHelpProcedures',
        -            'edHelpKeyword', 'edHelpKeyboard', 'edHelpIndex', 'edHelpHelp', 'edHelpCommands', 'edHelpAbout', 'edGetWordWrapState', 'edGetWindowName',
        -            'edGetUndoState', 'edGetSelectionState', 'edGetRedoState', 'edGetModifiedStatus', 'edGetLineNumber', 'edGetInsertState', 'edGetColumnNumber',
        -            'edGetChar', 'edFileSetPreferences', 'edFileSaveAs', 'edFileSave', 'edFilePrinterSetup', 'edFilePrint', 'edFilePageSetup', 'edFileOpen',
        -            'edFileNew', 'edFileMerge', 'edFileList', 'edFileExit', 'edEditWrap', 'edEditWordRight', 'edEditWordLeft', 'edEditUpLine', 'edEditUndo',
        -            'edEditToggleIns', 'edEditTab', 'edEditStartSelection', 'edEditSetColumnBlock', 'edEditSetBookmark', 'edEditSelectAll', 'edEditRight',
        -            'edEditRedo', 'edEditPaste', 'edEditPageUp', 'edEditPageDown', 'edEditLeft', 'edEditInsertString', 'edEditGoToLine', 'edEditGoToColumn',
        -            'edEditGoToBookmark', 'edEditGetCurrentWord', 'edEditEndSelection', 'edEditEndOfLine', 'edEditEndOfFile', 'edEditDownline', 'edEditDelete',
        -            'edEditCutline', 'edEditCut', 'edEditCopyline', 'edEditCopy', 'edEditClearSelection', 'edEditBeginningOfLine', 'edEditBeginningOfFile',
        -            'edEditBackTab', 'edEditBackspace', 'edDeleteButton', 'edAddButton'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '{', '}', '!', '+', '-', '~', '$', '^', '?', '@', '%', '#', '&', '*', '|', '/', '<', '>'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false,
        -        5 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #800080;',
        -            2 => 'color: #0080FF; font-weight: bold;',
        -            3 => 'color: #0000FF;',
        -            4 => 'color: #FF00FF;',
        -            5 => 'color: #008000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #008000; font-style: italic;',
        -            2 => 'color: #FF1010; font-weight: bold;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #006600;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => '',
        -        5 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(),
        -    'REGEXPS' => array(//Variable names
        -        0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/xbasic.php b/vendor/easybook/geshi/geshi/xbasic.php
        deleted file mode 100644
        index 10e61e4..0000000
        --- a/vendor/easybook/geshi/geshi/xbasic.php
        +++ /dev/null
        @@ -1,142 +0,0 @@
        - 'XBasic',
        -    'COMMENT_SINGLE' => array(1 => "'"),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'WHILE', 'UNTIL', 'TRUE', 'TO', 'THEN', 'SUB', 'STOP', 'STEP',
        -            'SELECT', 'RETURN', 'PROGRAM', 'NEXT', 'LOOP', 'IFZ',
        -            'IFT', 'IFF', 'IF', 'GOTO', 'GOSUB', 'FOR', 'FALSE', 'EXIT',
        -            'ENDIF', 'END', 'ELSE', 'DO', 'CASE', 'ALL'
        -            ),
        -        2 => array(
        -            'XMAKE', 'XLONGAT', 'XLONG', 'WRITE', 'VOID', 'VERSION$', 'VERSION',
        -            'USHORTAT', 'USHORT', 'UNION', 'ULONGAT', 'ULONG', 'UCASE$',
        -            'UBYTEAT', 'UBYTE', 'UBOUND', 'TYPE','TRIM$', 'TAB', 'SWAP',
        -            'SUBADDRESS', 'SUBADDR', 'STUFF$', 'STRING', 'STRING$', 'STR$',
        -            'STATIC', 'SSHORTAT', 'SSHORT', 'SPACE$', 'SMAKE', 'SLONGAT', 'SLONG',
        -            'SIZE', 'SINGLEAT', 'SINGLE', 'SIGNED$', 'SIGN', 'SHELL', 'SHARED',
        -            'SGN', 'SFUNCTION', 'SET', 'SEEK', 'SCOMPLEX', 'SBYTEAT', 'SBYTE',
        -            'RTRIM$', 'ROTATER', 'ROTATEL', 'RJUST$', 'RINSTRI', 'RINSTR',
        -            'RINCHRI', 'RINCHR', 'RIGHT$', 'REDIM', 'READ', 'RCLIP$', 'QUIT',
        -            'PROGRAM$', 'PRINT', 'POF', 'OPEN', 'OCTO$', 'OCT$', 'NULL$', 'MIN',
        -            'MID$', 'MAX', 'MAKE', 'LTRIM$', 'LOF', 'LJUST$', 'LIBRARY', 'LEN',
        -            'LEFT$', 'LCLIP$', 'LCASE$', 'INTERNAL', 'INT', 'INSTRI', 'INSTR',
        -            'INLINE$', 'INFILE$', 'INCHRI', 'INCHR', 'INC', 'IMPORT', 'HIGH1',
        -            'HIGH0', 'HEXX$', 'HEX$', 'GOADDRESS', 'GOADDR', 'GMAKE', 'GLOW',
        -            'GIANTAT', 'GIANT', 'GHIGH', 'FUNCTION', 'FUNCADDRESS', 'FUNCADDR',
        -            'FORMAT$', 'FIX', 'EXTU', 'EXTS', 'EXTERNAL', 'ERROR', 'ERROR$',
        -            'EOF', 'DOUBLEAT', 'DOUBLE', 'DMAKE', 'DLOW', 'DIM', 'DHIGH',
        -            'DECLARE', 'DEC', 'DCOMPLEX', 'CSTRING$', 'CSIZE', 'CSIZE$', 'CLR',
        -            'CLOSE', 'CLEAR', 'CJUST$', 'CHR$', 'CFUNCTION', 'BITFIELD', 'BINB$',
        -            'BIN$', 'AUTOX', 'AUTOS', 'AUTO', 'ATTACH', 'ASC', 'ABS'
        -            ),
        -        3 => array(
        -            'XOR', 'OR', 'NOT', 'MOD', 'AND'
        -            ),
        -        4 => array(
        -            'TANH', 'TAN', 'SQRT', 'SINH', 'SIN', 'SECH', 'SEC', 'POWER',
        -            'LOG10', 'LOG', 'EXP10', 'EXP', 'CSCH', 'CSC', 'COTH', 'COT', 'COSH',
        -            'COS', 'ATANH', 'ATAN', 'ASINH', 'ASIN', 'ASECH', 'ASEC', 'ACSCH',
        -            'ACSC', 'ACOSH', 'ACOS'
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>',
        -        '=','+','-'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #00a1a1;font-weight: bold',
        -            2 => 'color: #000066;font-weight: bold',
        -            3 => 'color: #00a166;font-weight: bold',
        -            4 => 'color: #0066a1;font-weight: bold'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => 'http://www.xbasic.org',
        -        4 => 'http://www.xbasic.org'
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/xml.php b/vendor/easybook/geshi/geshi/xml.php
        deleted file mode 100644
        index 88d1790..0000000
        --- a/vendor/easybook/geshi/geshi/xml.php
        +++ /dev/null
        @@ -1,155 +0,0 @@
        - 'XML',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        ),
        -    'SYMBOLS' => array(
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            ),
        -        'COMMENTS' => array(
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SCRIPT' => array(
        -            -1 => 'color: #808080; font-style: italic;', // comments
        -            0 => 'color: #00bbdd;',
        -            1 => 'color: #ddbb00;',
        -            2 => 'color: #339933;',
        -            3 => 'color: #009900;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #000066;',
        -            1 => 'color: #000000; font-weight: bold;',
        -            2 => 'color: #000000; font-weight: bold;'
        -            )
        -        ),
        -    'URLS' => array(
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        0 => array(//attribute names
        -            GESHI_SEARCH => '([a-z_:][\w\-\.:]*)(=)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => '\\2'
        -            ),
        -        1 => array(//Initial header line
        -            GESHI_SEARCH => '(<[\/?|(\?xml)]?[a-z_:][\w\-\.:]*(\??>)?)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        2 => array(//Tag end markers
        -            GESHI_SEARCH => '(([\/|\?])?>)',
        -            GESHI_REPLACE => '\\1',
        -            GESHI_MODIFIERS => 'i',
        -            GESHI_BEFORE => '',
        -            GESHI_AFTER => ''
        -            ),
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
        -    'SCRIPT_DELIMITERS' => array(
        -        -1 => array(
        -            ''
        -            ),
        -        0 => array(
        -            ' '>'
        -            ),
        -        1 => array(
        -            '&' => ';'
        -            ),
        -        2 => array(
        -            ' ']]>'
        -            ),
        -        3 => array(
        -            '<' => '>'
        -            )
        -    ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        -1 => false,
        -        0 => false,
        -        1 => false,
        -        2 => false,
        -        3 => true
        -        ),
        -    'TAB_WIDTH' => 2,
        -    'PARSER_CONTROL' => array(
        -        'ENABLE_FLAGS' => array(
        -            'NUMBERS' => GESHI_NEVER
        -        )
        -    )
        -);
        diff --git a/vendor/easybook/geshi/geshi/xojo.php b/vendor/easybook/geshi/geshi/xojo.php
        deleted file mode 100644
        index 73589e8..0000000
        --- a/vendor/easybook/geshi/geshi/xojo.php
        +++ /dev/null
        @@ -1,165 +0,0 @@
        - 'Xojo',
        -    'COMMENT_SINGLE' => array(1 => "'", 2 => '//', 3 => 'rem'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -	'NUMBERS' => array(
        -	        1 => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE, // integers
        -	        2 => GESHI_NUMBER_FLT_NONSCI // floating point numbers
        -	        ),    
        -    'KEYWORDS' => array(
        -        //Keywords
        -        1 => array(
        -	        'AddHandler', 'AddressOf', 'Aggregates', 'And', 'Array', 'As', 'Assigns', 'Attributes', 
        -	        'Break', 'ByRef', 'ByVal', 'Call', 'Case', 'Catch', 'Class', 'Const', 'Continue',
        -	        'CType', 'Declare', 'Delegate', 'Dim', 'Do', 'DownTo', 'Each', 'Else', 'Elseif', 'End', 
        -	        'Enum', 'Event', 'Exception', 'Exit', 'Extends', 'False', 'Finally', 'For', 
        -	        'Function', 'Global', 'GoTo', 'Handles', 'If', 'Implements', 'In', 'Inherits', 
        -	        'Inline68K', 'Interface', 'Is', 'IsA', 'Lib', 'Loop', 'Me', 'Mod', 'Module', 
        -	        'Namespace', 'New', 'Next', 'Nil', 'Not', 'Object', 'Of', 'Optional', 'Or', 
        -	        'ParamArray', 'Private', 'Property', 'Protected', 'Public', 'Raise', 
        -	        'RaiseEvent', 'Rect', 'Redim', 'RemoveHandler', 'Return', 'Select', 'Self', 'Shared', 
        -	        'Soft', 'Static', 'Step', 'Sub', 'Super', 'Then', 'To', 'True', 'Try',
        -	        'Until', 'Using', 'Wend', 'While', 'With', 'WeakAddressOf', 'Xor'
        -            ),
        -        //Data Types
        -        2 => array(
        -            'Boolean', 'CFStringRef', 'CString', 'Currency', 'Double', 'Int8', 'Int16', 'Int32',
        -            'Int64', 'Integer', 'OSType', 'PString', 'Ptr', 'Short', 'Single', 'String', 
        -            'Structure', 'UInt8', 'UInt16', 'UInt32', 'UInt64', 'UShort', 'WindowPtr', 
        -            'WString', 'XMLNodeType'
        -            ),
        -        //Compiler Directives
        -        3 => array(
        -            '#Bad', '#Else', '#Endif', '#If', '#Pragma', '#Tag'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '+', '-', '*', '=', '/', '>', '<', '^', '(', ')', '.'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000FF;',  // keywords
        -            2 => 'color: #0000FF;',  // primitive data types
        -            3 => 'color: #0000FF;',  // compiler commands
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #7F0000;',
        -            'MULTI' => 'color: #7F0000;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #008080;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #6500FE;'
        -            ),
        -        'NUMBERS' => array(
        -            1 => 'color: #326598;', // integers
        -            2 => 'color: #006532;', // floating point numbers
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #000000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'REGEXPS' => array(
        -	        1 => 'color: #326598;', // &h hex numbers
        -	        2 => 'color: #326598;', // &b hex numbers
        -	        3 => 'color: #326598;', // &o hex numbers
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => 'http://docs.xojo.com/index.php/{FNAMEU}',
        -        2 => 'http://docs.xojo.com/index.php/{FNAMEU}',
        -        3 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 =>'.'
        -        ),
        -    'REGEXPS' => array(
        -		1 => array( // &h numbers
        -		    // search for &h, then any number of letters a-f or numbers 0-9
        -		    GESHI_SEARCH => '(&h[0-9a-fA-F]*\b)',
        -		    GESHI_REPLACE => '\\1',
        -		    GESHI_MODIFIERS => '',
        -		    GESHI_BEFORE => '',
        -		    GESHI_AFTER => ''
        -		    ),
        -		2 => array( // &b numbers
        -		    // search for &b, then any number of 0-1 digits
        -		    GESHI_SEARCH => '(&b[0-1]*\b)',
        -		    GESHI_REPLACE => '\\1',
        -		    GESHI_MODIFIERS => '',
        -		    GESHI_BEFORE => '',
        -		    GESHI_AFTER => ''
        -		    ),
        -		3 => array( // &o octal numbers
        -		    // search for &o, then any number of 0-7 digits
        -		    GESHI_SEARCH => '(&o[0-7]*\b)',
        -		    GESHI_REPLACE => '\\1',
        -		    GESHI_MODIFIERS => '',
        -		    GESHI_BEFORE => '',
        -		    GESHI_AFTER => ''
        -		    )
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/xorg_conf.php b/vendor/easybook/geshi/geshi/xorg_conf.php
        deleted file mode 100644
        index 41e4496..0000000
        --- a/vendor/easybook/geshi/geshi/xorg_conf.php
        +++ /dev/null
        @@ -1,122 +0,0 @@
        - 'Xorg configuration',
        -    'COMMENT_SINGLE' => array(1 => '#'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        // sections
        -        1 => array(
        -            'Section', 'EndSection', 'SubSection', 'EndSubSection'
        -            ),
        -        2 => array(
        -            // see http://www.x.org/archive/X11R6.9.0/doc/html/xorg.conf.5.html
        -            'BiosBase', 'Black', 'Boardname', 'BusID', 'ChipID', 'ChipRev',
        -            'Chipset', 'ClockChip', 'Clocks', 'DacSpeed',
        -            'DefaultDepth', 'DefaultFbBpp', 'Depth', 'Device',
        -            'DisplaySize', 'Driver', 'FbBpp', 'Gamma',
        -            'HorizSync', 'IOBase', 'Identifier', 'InputDevice',
        -            'Load', 'MemBase', 'Mode', 'Modeline', 'Modelname',
        -            'Modes', 'Monitor', 'Option', 'Ramdac', 'RgbPath',
        -            'Screen', 'TextClockFreq', 'UseModes', 'VendorName',
        -            'VertRefresh', 'VideoAdaptor', 'VideoRam',
        -            'ViewPort', 'Virtual', 'Visual', 'Weight', 'White'
        -            ),
        -        3 => array(
        -            // some sub-keywords
        -            // screen position
        -            'Above', 'Absolute', 'Below', 'LeftOf', 'Relative', 'RightOf',
        -            // modes
        -            'DotClock', 'Flags', 'HSkew', 'HTimings', 'VScan', 'VTimings'
        -            ),
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'SYMBOLS' => array(
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #b1b100;',
        -            2 => 'color: #990000;',
        -            3 => 'color: #550000;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #adadad; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'BRACKETS' => array(
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #0000ff;',
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #cc66cc;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 4
        -);
        diff --git a/vendor/easybook/geshi/geshi/xpp.php b/vendor/easybook/geshi/geshi/xpp.php
        deleted file mode 100644
        index 52db272..0000000
        --- a/vendor/easybook/geshi/geshi/xpp.php
        +++ /dev/null
        @@ -1,434 +0,0 @@
        -
        - *
        - * CHANGES
        - * -------
        - * 2007/02/28 (1.0.0)
        - *  -  First Release
        - *
        - * TODO (updated 2007/02/27)
        - * -------------------------
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify
        - *   it under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'X++',
        -    'COMMENT_SINGLE' => array(1 => '//'),
        -    'COMMENT_MULTI' => array('/*' => '*/'),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array( // Primitive types
        -            'void',
        -            'str',
        -            'real',
        -            'int64',
        -            'int',
        -            'date',
        -            'container',
        -            'boolean',
        -            'anytype'
        -            ),
        -        2 => array( // Keywords
        -            'window',
        -            'while',
        -            'try',
        -            'true',
        -            'throw',
        -            'switch',
        -            'super',
        -            'static',
        -            'server',
        -            'right',
        -            'return',
        -            'retry',
        -            'public',
        -            'protected',
        -            'private',
        -            'print',
        -            'pause',
        -            'null',
        -            'new',
        -            'mod',
        -            'left',
        -            'interface',
        -            'implements',
        -            'if',
        -            'for',
        -            'final',
        -            'false',
        -            'extends',
        -            'else',
        -            'edit',
        -            'do',
        -            'div',
        -            'display',
        -            'default',
        -            'continue',
        -            'client',
        -            'class',
        -            'changeCompany',
        -            'case',
        -            'breakpoint',
        -            'break',
        -            'at',
        -            'abstract'
        -            ),
        -        3 => array( // Functions within the Axapta kernel
        -            'year',
        -            'wkofyr',
        -            'webwebpartstr',
        -            'webstaticfilestr',
        -            'websitetempstr',
        -            'websitedefstr',
        -            'webreportstr',
        -            'webpagedefstr',
        -            'weboutputcontentitemstr',
        -            'webmenustr',
        -            'webletitemstr',
        -            'webformstr',
        -            'webdisplaycontentitemstr',
        -            'webactionitemstr',
        -            'varstr',
        -            'utilmoyr',
        -            'uint2str',
        -            'typeof',
        -            'typeid',
        -            'trunc',
        -            'today',
        -            'timenow',
        -            'time2str',
        -            'term',
        -            'tanh',
        -            'tan',
        -            'tablestr',
        -            'tablestaticmethodstr',
        -            'tablepname',
        -            'tablenum',
        -            'tablename2id',
        -            'tablemethodstr',
        -            'tableid2pname',
        -            'tableid2name',
        -            'tablefieldgroupstr',
        -            'tablecollectionstr',
        -            'systemdateset',
        -            'systemdateget',
        -            'syd',
        -            'substr',
        -            'strupr',
        -            'strscan',
        -            'strrtrim',
        -            'strrep',
        -            'strrem',
        -            'strprompt',
        -            'strpoke',
        -            'strnfind',
        -            'strlwr',
        -            'strltrim',
        -            'strline',
        -            'strlen',
        -            'strkeep',
        -            'strins',
        -            'strfmt',
        -            'strfind',
        -            'strdel',
        -            'strcolseq',
        -            'strcmp',
        -            'stralpha',
        -            'str2time',
        -            'str2num',
        -            'str2int64',
        -            'str2int',
        -            'str2guid',
        -            'str2enum',
        -            'str2date',
        -            'staticmethodstr',
        -            'sln',
        -            'sleep',
        -            'sinh',
        -            'sin',
        -            'setprefix',
        -            'sessionid',
        -            'securitykeystr',
        -            'securitykeynum',
        -            'runbuf',
        -            'runas',
        -            'round',
        -            'resourcestr',
        -            'reportstr',
        -            'refprintall',
        -            'rate',
        -            'querystr',
        -            'pv',
        -            'pt',
        -            'prmisdefault',
        -            'primoyr',
        -            'prevyr',
        -            'prevqtr',
        -            'prevmth',
        -            'power',
        -            'pmt',
        -            'num2str',
        -            'num2date',
        -            'num2char',
        -            'nextyr',
        -            'nextqtr',
        -            'nextmth',
        -            'newguid',
        -            'mthofyr',
        -            'mthname',
        -            'mkdate',
        -            'minint',
        -            'min',
        -            'methodstr',
        -            'menustr',
        -            'menuitemoutputstr',
        -            'menuitemdisplaystr',
        -            'menuitemactionstr',
        -            'maxint',
        -            'maxdate',
        -            'max',
        -            'match',
        -            'logn',
        -            'log10',
        -            'literalstr',
        -            'licensecodestr',
        -            'licensecodenum',
        -            'intvnorm',
        -            'intvno',
        -            'intvname',
        -            'intvmax',
        -            'int64str',
        -            'indexstr',
        -            'indexnum',
        -            'indexname2id',
        -            'indexid2name',
        -            'idg',
        -            'identifierstr',
        -            'helpfilestr',
        -            'helpdevstr',
        -            'helpapplstr',
        -            'guid2str',
        -            'getprefix',
        -            'getCurrentUTCTime',
        -            'fv',
        -            'funcname',
        -            'frac',
        -            'formstr',
        -            'fieldstr',
        -            'fieldpname',
        -            'fieldnum',
        -            'fieldname2id',
        -            'fieldid2pname',
        -            'fieldid2name',
        -            'extendedTypeStr',
        -            'extendedTypeNum',
        -            'exp10',
        -            'exp',
        -            'evalbuf',
        -            'enumstr',
        -            'enumnum',
        -            'enumcnt',
        -            'enum2str',
        -            'endmth',
        -            'dimof',
        -            'dg',
        -            'decround',
        -            'ddb',
        -            'dayofyr',
        -            'dayofwk',
        -            'dayofmth',
        -            'dayname',
        -            'date2str',
        -            'date2num',
        -            'curuserid',
        -            'curext',
        -            'cterm',
        -            'cosh',
        -            'cos',
        -            'corrflagset',
        -            'corrflagget',
        -            'convertUTCTimeToLocalTime',
        -            'convertUTCDateToLocalDate',
        -            'conpoke',
        -            'conpeek',
        -            'connull',
        -            'conlen',
        -            'conins',
        -            'confind',
        -            'configurationkeystr',
        -            'configurationkeynum',
        -            'condel',
        -            'classstr',
        -            'classnum',
        -            'classidget',
        -            'char2num',
        -            'beep',
        -            'atan',
        -            'asin',
        -            'ascii2ansi',
        -            'any2str',
        -            'any2real',
        -            'any2int64',
        -            'any2int',
        -            'any2guid',
        -            'any2enum',
        -            'any2date',
        -            'ansi2ascii',
        -            'acos',
        -            'abs'
        -            ),
        -        4 => array( // X++ SQL stuff
        -            'where',
        -            'update_recordset',
        -            'ttsCommit',
        -            'ttsBegin',
        -            'ttsAbort',
        -            'sum',
        -            'setting',
        -            'select',
        -            'reverse',
        -            'pessimisticLock',
        -            'outer',
        -            'order by',
        -            'optimisticLock',
        -            'notExists',
        -            'noFetch',
        -            'next',
        -            'minof',
        -            'maxof',
        -            'like',
        -            'join',
        -            'insert_recordset',
        -            'index hint',
        -            'index',
        -            'group by',
        -            'from',
        -            'forUpdate',
        -            'forceSelectOrder',
        -            'forcePlaceholders',
        -            'forceNestedLoop',
        -            'forceLiterals',
        -            'flush',
        -            'firstOnly',
        -            'firstFast',
        -            'exists',
        -            'desc',
        -            'delete_from',
        -            'count',
        -            'avg',
        -            'asc'
        -            )
        -        ),
        -    'SYMBOLS' => array( // X++ symbols
        -        '!',
        -        '&',
        -        '(',
        -        ')',
        -        '*',
        -        '^',
        -        '|',
        -        '~',
        -        '+',
        -        ',',
        -        '-',
        -        '/',
        -        ':',
        -        '<',
        -        '=',
        -        '>',
        -        '?',
        -        '[',
        -        ']',
        -        '{',
        -        '}'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #0000ff;',
        -            4 => 'color: #0000ff;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #007f00;',
        -            'MULTI' => 'color: #007f00; font-style: italic;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #ff0000;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #000000;'
        -            ),
        -        'METHODS' => array(
        -            1 => 'color: #000000;',
        -            2 => 'color: #000000;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #00007f;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.',
        -        2 => '::'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        diff --git a/vendor/easybook/geshi/geshi/yaml.php b/vendor/easybook/geshi/geshi/yaml.php
        deleted file mode 100644
        index 9de6401..0000000
        --- a/vendor/easybook/geshi/geshi/yaml.php
        +++ /dev/null
        @@ -1,149 +0,0 @@
        -: since PHP offers no variable-width lookbehind,
        - *      these blocks will still be highlighted even when commented out. As it happens,
        - *      any line ending with | or > could result in the unintentional highlighting of
        - *      all remaining lines in the file, just because I couldn't check for this regex
        - *      as a lookbehind:  '/:(\s+)(!!(\w+)(\s+))?/'
        - *      If there is a workaround for that, it needs implemented.
        - *   *  I may be missing some operators. I deliberately omitted inline array notation
        - *      as, in general, it's ugly and tends to conflict with plain-text. Ensuring all
        - *      highlighted list delimiters are not plain text would be as simple as checking
        - *      that they follow a colon directly. Alas, without variable-length lookbehinds,
        - *      if there is a way to do so in GeSHi I am unaware of it.
        - *   *  I kind of whored the comment regexp array. It seemed like a safe bet, so it's
        - *      where I crammed everything. Some of it may need moved elsewhere for neatness.
        - *   *  The !!typename highlight needs not to interfere with ": |" and ": >": Pairing
        - *      key: !!type | value is perfectly legal, but again due to lookbehind issues, I
        - *      can't add a case for that. Also, it is likely that multiple spaces can be put
        - *      between the colon and pipe symbol, which would also break it.
        - *
        - *************************************************************************************
        - *
        - *     This file is part of GeSHi.
        - *
        - *   GeSHi is free software; you can redistribute it and/or modify it
        - *   under the terms of the GNU General Public License as published by
        - *   the Free Software Foundation; either version 2 of the License, or
        - *   (at your option) any later version.
        - *
        - *   GeSHi is distributed in the hope that it will be useful,
        - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
        - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        - *   GNU General Public License for more details.
        - *
        - *   You should have received a copy of the GNU General Public License
        - *   along with GeSHi; if not, write to the Free Software
        - *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        - *
        - ************************************************************************************/
        -
        -$language_data = array (
        -    'LANG_NAME' => 'YAML',
        -    'COMMENT_SINGLE' => array(),
        -    'COMMENT_MULTI' => array(),
        -    //Keys
        -    'COMMENT_REGEXP' => array( // ENTRY ZERO  SHOULD CHECK FOR (\n(\s*)([^#%]+?):(\s+)(!!(\w+)(\s+))?) AS A LOOKBEHIND, BUT IT CAN'T.
        -        0 => '/(?<=\s[\|>]\n)(\s+)(.*)((?=[\n$])(([\n^](\1(.*)|(?=[\n$])))*)|$)/', // Pipe blocks and > blocks.
        -        1 => '/#(.*)/', // Blue # comments
        -        2 => '/%(.*)/', // Red % comments
        -        3 => '/(^|\n)([^#%^\n]+?)(?=: )/',  // Key-value names
        -        4 => '/(^|\n)([^#%^\n]+?)(?=:\n)/',// Key-group names
        -        5 => '/(?<=^---)(\s*)!(\S+)/',    // Comments after ---
        -        6 => '/(?<=: )(\s*)\&(\S+)/',    // References
        -        7 => '/(?<=: )(\s*)\*(\S+)/',   // Dereferences
        -        8 => '/!!(\w+)/',              // Types
        -        //9 => '/(?<=\n)(\s*)-(?!-)/',       // List items: This needs to search within comments 3 and 4, but I don't know how.
        -        ),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            'all','any','none', "yes", "no"
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        1 => array('---', '...'),
        -        2 => array(': ', ">\n", "|\n", '<<:', ":\n") // It'd be nice if I could specify that the colon must
        -        //                                              follow comment 3 or 4 to be considered, and the > and |
        -        //                                              must follow such a colon.
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'font-weight: bold;'
        -            ),
        -        'COMMENTS' => array(
        -            0 => 'color: #303050;background-color: #F5F5F5',
        -            1 => 'color: blue;',
        -            2 => 'font-weight: bold; color: red;',
        -            3 => 'color: green;',
        -            4 => 'color: #007F45;',
        -            5 => 'color: #7f7fFF;',
        -            6 => 'color: #FF7000;',
        -            7 => 'color: #FF45C0;',
        -            8 => 'font-weight: bold; color: #005F5F;',
        -            //9 => 'font-weight: bold; color: #000000;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            ),
        -        'BRACKETS' => array(
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #CF00CF;'
        -            ),
        -        'NUMBERS' => array(
        -            // 0 => 'color: #33f;' // Don't highlight numbers, really...
        -            ),
        -        'METHODS' => array(
        -            1 => '',
        -            2 => ''
        -            ),
        -        'SYMBOLS' => array(
        -            1 => 'color: cyan;',
        -            2 => 'font-weight: bold; color: brown;'
        -            ),
        -        'REGEXPS' => array(
        -            ),
        -        'SCRIPT' => array(
        -            0 => ''
        -            )
        -        ),
        -    'URLS' => array(1 => ''),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array( ),
        -    'REGEXPS' => array( ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array( ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array( )
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/z80.php b/vendor/easybook/geshi/geshi/z80.php
        deleted file mode 100644
        index 71305ff..0000000
        --- a/vendor/easybook/geshi/geshi/z80.php
        +++ /dev/null
        @@ -1,143 +0,0 @@
        - 'ZiLOG Z80 Assembler',
        -    'COMMENT_SINGLE' => array(1 => ';'),
        -    'COMMENT_MULTI' => array(),
        -    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array("'", '"'),
        -    'ESCAPE_CHAR' => '',
        -    'KEYWORDS' => array(
        -        /*CPU*/
        -        1 => array(
        -            'adc','add','and','bit','call','ccf','cp','cpd','cpdr','cpir','cpi',
        -            'cpl','daa','dec','di','djnz','ei','ex','exx','halt','im','in',
        -            'in0','inc','ind','indr','inir','ini','jp','jr','ld','ldd','lddr',
        -            'ldir','ldi','mlt','neg','nop','or','otdm','otdmr','otdr','otim',
        -            'otimr','otir','out','out0','outd','outi','pop','push','res','ret',
        -            'reti','retn','rl','rla','rlc','rlca','rld','rr','rra','rrc','rrca',
        -            'rrd','rst','sbc','scf','set','sla','sl1','sll','slp','sra','srl',
        -            'sub','tst','tstio','xor'
        -            ),
        -        /*registers*/
        -        2 => array(
        -            'a','b','c','d','e','h','l',
        -            'af','bc','de','hl','ix','iy','sp',
        -            'af\'','ixh','ixl','iyh','iyl'
        -            ),
        -        /*Directive*/
        -        3 => array(
        -            '#define','#endif','#else','#ifdef','#ifndef','#include','#undef',
        -            '.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ'
        -            ),
        -        ),
        -    'SYMBOLS' => array(
        -        '[', ']', '(', ')', '?', '+', '-', '*', '/', '%', '$'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #0000ff; font-weight:bold;',
        -            2 => 'color: #0000ff;',
        -            3 => 'color: #46aa03; font-weight:bold;'
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #adadad; font-style: italic;',
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099; font-weight: bold;'
        -            ),
        -        'BRACKETS' => array(
        -            0 => 'color: #0000ff;'
        -            ),
        -        'STRINGS' => array(
        -            0 => 'color: #7f007f;'
        -            ),
        -        'NUMBERS' => array(
        -            0 => 'color: #dd22dd;'
        -            ),
        -        'METHODS' => array(
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #008000;'
        -            ),
        -        'REGEXPS' => array(
        -            0 => 'color: #22bbff;',
        -            1 => 'color: #22bbff;',
        -            2 => 'color: #993333;'
        -            ),
        -        'SCRIPT' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => ''
        -        ),
        -    'OOLANG' => false,
        -    'OBJECT_SPLITTERS' => array(
        -        ),
        -    'REGEXPS' => array(
        -        //Hex numbers
        -        0 => '0[0-9a-fA-F]{1,32}[hH]',
        -        //Binary numbers
        -        1 => '\%[01]{1,64}|[01]{1,64}[bB]?(?![^<]*>)',
        -        //Labels
        -        2 => '^[_a-zA-Z][_a-zA-Z0-9]?\:'
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        ),
        -    'TAB_WIDTH' => 8
        -);
        -
        diff --git a/vendor/easybook/geshi/geshi/zxbasic.php b/vendor/easybook/geshi/geshi/zxbasic.php
        deleted file mode 100644
        index fd2c7f3..0000000
        --- a/vendor/easybook/geshi/geshi/zxbasic.php
        +++ /dev/null
        @@ -1,149 +0,0 @@
        - 'ZXBasic',
        -    'COMMENT_SINGLE' => array(
        -        1 => "'",
        -        2 => '#',
        -        3 => 'REM'
        -        ),
        -    'COMMENT_MULTI' => array("/'" => "'/"),
        -    'CASE_KEYWORDS' => GESHI_CAPS_UPPER, //GESHI_CAPS_NO_CHANGE,
        -    'QUOTEMARKS' => array('"'),
        -    'ESCAPE_CHAR' => '\\',
        -    'KEYWORDS' => array(
        -        1 => array(
        -            "ASM", "BEEP", "BOLD", "BORDER", "BRIGHT", "ByRef", "ByVal", "CAST",
        -            "CIRCLE", "CLS", "CONST", "CONTINUE", "DECLARE", "DIM", "DO",
        -            "DRAW", "ELSE", "ELSEIF", "END", "EXIT", "FastCall", "FLASH", "FOR",
        -            "FUNCTION", "GOTO", "GOSUB", "GO", "IF", "INK", "INVERSE", "ITALIC",
        -            "LET", "LOAD", "LOOP", "NEXT", "OVER", "PAPER", "PAUSE", "PI",
        -            "PLOT", "POKE", "PRINT", "RANDOMIZE", "REM", "RETURN", "SAVE",
        -            "StdCall", "Sub", "THEN", "TO", "UNTIL", "VERIFY", "WEND", "WHILE",
        -            ),
        -
        -        // types
        -        2 => array(
        -            'byte', 'ubyte', 'integer', 'uinteger', 'long', 'ulong', 'fixed',
        -            'float', 'string'
        -            ),
        -
        -        // Functions
        -        3 => array(
        -            "ABS", "ACS", "ASN", "ATN", "CHR", "CODE", "COS", "CSRLIN", "EXP",
        -            "HEX", "HEX16", "INKEY", "INT", "LEN", "LN", "PEEK", "POS", "RND",
        -            "SCREEN$", "SGN", "SIN", "SQR", "STR", "TAN", "VAL",
        -            ),
        -
        -        // Operators and modifiers
        -        4 => array(
        -            "AT", "AS", "AND", "MOD", "NOT", "OR", "SHL", "SHR", "STEP", "XOR"
        -            )
        -        ),
        -    'SYMBOLS' => array(
        -        '(', ')'
        -        ),
        -    'CASE_SENSITIVE' => array(
        -        GESHI_COMMENTS => false,
        -        1 => false,
        -        2 => false,
        -        3 => false,
        -        4 => false
        -        ),
        -    'STYLES' => array(
        -        'KEYWORDS' => array(
        -            1 => 'color: #000080; font-weight: bold;', // Commands
        -            2 => 'color: #800080; font-weight: bold;', // Types
        -            3 => 'color: #006000; font-weight: bold;', // Functions
        -            4 => 'color: #801010; font-weight: bold;'  // Operators and Modifiers
        -            ),
        -        'COMMENTS' => array(
        -            1 => 'color: #808080; font-style: italic;',
        -            2 => 'color: #339933;',
        -            3 => 'color: #808080; font-style: italic;',
        -            'MULTI' => 'color: #808080; font-style: italic;'
        -            ),
        -        'BRACKETS' => array(
        -            //0 => 'color: #66cc66;'
        -            0 => 'color: #007676;'
        -            ),
        -        'STRINGS' => array(
        -            //0 => 'color: #ff0000;'
        -            0 => 'color: #A00000; font-style: italic;'
        -            ),
        -        'NUMBERS' => array(
        -            //0 => 'color: #cc66cc;'
        -            0 => 'color: #b05103;'// font-weight: bold;'
        -            ),
        -        'METHODS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'SYMBOLS' => array(
        -            0 => 'color: #66cc66;'
        -            ),
        -        'ESCAPE_CHAR' => array(
        -            0 => 'color: #000099;'
        -            ),
        -        'SCRIPT' => array(
        -            ),
        -        'REGEXPS' => array(
        -            )
        -        ),
        -    'URLS' => array(
        -        1 => '',
        -        2 => '',
        -        3 => '',
        -        4 => ''
        -        ),
        -    'OOLANG' => true,
        -    'OBJECT_SPLITTERS' => array(
        -        1 => '.'
        -        ),
        -    'REGEXPS' => array(
        -        ),
        -    'STRICT_MODE_APPLIES' => GESHI_NEVER,
        -    'SCRIPT_DELIMITERS' => array(
        -        ),
        -    'HIGHLIGHT_STRICT_BLOCK' => array(
        -        )
        -);
        -
        
        From e8a164c9844b5973fc7ce0898f21dc1c62e2d3a2 Mon Sep 17 00:00:00 2001
        From: Christian Schnegelberger 
        Date: Tue, 2 Apr 2024 19:46:00 +0200
        Subject: [PATCH 4/9] First dirty try of usage
        
        ---
         controller/main.php                           | 23 ++---
         functions/pastebin.php                        | 97 +++----------------
         functions/utility.php                         |  6 +-
         .../event/overall_header_head_append.html     |  1 +
         4 files changed, 24 insertions(+), 103 deletions(-)
        
        diff --git a/controller/main.php b/controller/main.php
        index aecfee0..0cbf3db 100644
        --- a/controller/main.php
        +++ b/controller/main.php
        @@ -66,9 +66,6 @@ class main
         	/** @var \phpbb\captcha\factory */
         	protected $captcha_factory;
         
        -	/** @var string */
        -	protected $geshi_lang;
        -
         	/** @var string */
         	protected $pastebin_table;
         
        @@ -105,7 +102,6 @@ public function __construct(
         		\phpbbde\pastebin\functions\pastebin $pastebin,
         		$root_path,
         		$php_ext,
        -		$geshi_lang,
         		$pastebin_table)
         	{
         		$this->auth = $auth;
        @@ -125,7 +121,6 @@ public function __construct(
         		$this->captcha_factory = $captcha_factory;
         
         		$this->pastebin_table = $pastebin_table;
        -		$this->geshi_lang = $geshi_lang;
         	}
         
         	public function handle()
        @@ -294,10 +289,10 @@ private function display_pb()
         					$error[] = $this->language->lang('PASTEBIN_ERR_NO_TITLE');
         				}
         
        -				if (!$this->util->geshi_check($data['snippet_highlight']))
        +				/*if (!$this->util->geshi_check($data['snippet_highlight']))
         				{
         					$data['snippet_highlight'] = 'text';
        -				}
        +				}*/
         
         				$filedata = $this->request->file('fileupload');
         
        @@ -415,21 +410,15 @@ private function display_pb()
         
         					$highlight = ($this->request->is_set('highlight')) ? $this->request->variable('highlight', '') : $data['snippet_highlight'];
         
        -					if (!$this->util->geshi_check($highlight))
        -					{
        -						$highlight = 'php';
        -					}
        -
         					$code = $snippet_text;
         
        -					$geshi = new \GeSHi($code, $highlight, $this->util->geshi_dir);
        -					$geshi->set_header_type(GESHI_HEADER_NONE);
        -					$geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS, 100);
        -
        -					$code = $geshi->parse_code();
        +                    $highlighter = new \Tempest\Highlight\Highlighter();
        +                    // TODO: Add option to change language used at this point html,css etc. 
        +                    $code = $highlighter->parse($code, 'php');
         
         					$snippet_text_display = &$code;
         
        +
         					$s_hidden_fields = array_merge($s_hidden_fields, array(
         							's'		=> $snippet_id,
         					));
        diff --git a/functions/pastebin.php b/functions/pastebin.php
        index b4c67e1..719b018 100644
        --- a/functions/pastebin.php
        +++ b/functions/pastebin.php
        @@ -38,90 +38,21 @@ function __construct(\phpbb\db\driver\driver_interface $db, \phpbb\user $user, $
         		$this->empty_data();
         
         		$this->file_ext = array(
        -			'text'				=> 'txt',
        -			'php'				=> 'php',
        -			'sql'				=> 'sql',
        -			'html4strict'		=> 'htm',
        -			'css'				=> 'css',
        -			'javascript'		=> 'js',
        -			'java'				=> 'java',
        -			'xml'				=> 'xml',
        -			'asp'				=> 'asp',
        -			'c'					=> 'c',
        -			'cpp'				=> 'cpp',
        -			'csharp'			=> 'cs',
        -			'perl'				=> 'pl',
        -			'vb'				=> 'vbs',
        -			'diff'				=> 'diff',
        -			'robots'			=> 'txt',
        -			'smarty'			=> 'html',
        -
        -			'actionscript'		=> 'as',
        -			'ada'				=> 'ada',
        -			'apache'			=> 'txt',
        -			'applescript'		=> 'scrpt',
        -			'asm'				=> 'asm',
        -			'autoit'			=> 'txt',
        -			'bash'				=> 'sh',
        -			'blitzbasic'		=> 'bas',
        -			'bnf'				=> 'bnf',
        -			'c_mac'				=> 'c',
        -			'caddcl'			=> 'dcl',
        -			'cadlisp'			=> 'lisp',
        -			'cfdg'				=> 'cfd',
        -			'cfm'				=> 'cfm',
        -			'cpp-qt'			=> 'cpp',
        -			'css-gen.cfg'		=> 'cfg',
        -			'd'					=> 'd',
        -			'delphi'			=> 'dpr',
        -			'div'				=> 'div',
        -			'dos'				=> 'bat',
        -			'eiffel'			=> 'E',
        -			'fortran'			=> 'F',
        -			'freebasic'			=> 'bas',
        -			'gml'				=> 'gml',
        -			'groovy'			=> 'groovy',
        -			'idl'				=> 'idl',
        -			'ini'				=> 'ini',
        -			'inno'				=> 'ino',
        -			'io'				=> 'io',
        -			'java5'				=> 'java',
        -			'latex'				=> 'tex',
        -			'lisp'				=> 'lsp',
        -			'lua'				=> 'lua',
        -			'matlab'			=> 'm',
        -			'mirc'				=> 'mrc',
        -			'mpasm'				=> 'asm',
        -			'mysql'				=> 'sql',
        -			'nsis'				=> 'nsh',
        -			'objc'				=> 'C',
        -			'ocaml-brief'		=> 'ml',
        -			'ocaml'				=> 'ml',
        -			'oobas'				=> 'bas',
        -			'oracle8'			=> 'sql',
        -			'pascal'			=> 'p',
        -			'php-brief'			=> 'php',
        -			'ruby'				=> 'rb',
        -			'sas'				=> 'sas',
        -			'scheme'			=> 's',
        -			'sdlbasic'			=> 'bas',
        -			'smalltalk'			=> 'st',
        -			'tcl'				=> 'tcl',
        -			'thinbasic'			=> 'bas',
        -			'tsql'				=> 'sql',
        -			'plsql'				=> 'sql',
        -			'python'			=> 'py',
        -			'qbasic'			=> 'bas',
        -			'rails'				=> 'rb',
        -			'reg'				=> 'reg',
        -			'vbnet'				=> 'vbs',
        -			'vhdl'				=> 'vhdl',
        -			'visualfoxpro'		=> 'fky',
        -			'winbatch'			=> 'bat',
        -			'xpp'				=> 'xpp',
        -			'z80'				=> 'z80',
        +			'base'               => '',
        +			'blade'               => '',
        +			'css'               => 'css',
        +			'DocComment'        => '',
        +			'gdscript'          => '',
        +            'html'              => 'html',
        +			'javascript'        => 'js',
        +			'json'              => 'json',
        +			'php'               => 'php',
        +			'mysql'             => 'sql',
        +            'text'              => 'txt',
        +			'twig'              => 'html',
        +			'xml'               => 'xml',
        +			'yaml'              => 'yml',
         		);
        -
         	}
         
         	/**
        diff --git a/functions/utility.php b/functions/utility.php
        index 55dc8c2..387c010 100644
        --- a/functions/utility.php
        +++ b/functions/utility.php
        @@ -79,7 +79,7 @@ function highlight_select($default = 'text')
         			'base',
         			'blade',
         			'css',
        -			'doccoment',
        +			'doccomment',
         			'gdscript',
         			'javascript',
         			'json',
        @@ -90,9 +90,9 @@ function highlight_select($default = 'text')
         			'yaml',
         		);
         // Make no highlighting as text as default
        -		if (!in_array($default, $this->geshi_list))
        +		if ($default)
         		{
        -			$default = 'text';
        +
         		}
         
         		$output = '';
        diff --git a/styles/prosilver/template/event/overall_header_head_append.html b/styles/prosilver/template/event/overall_header_head_append.html
        index 48248a8..48a7c39 100644
        --- a/styles/prosilver/template/event/overall_header_head_append.html
        +++ b/styles/prosilver/template/event/overall_header_head_append.html
        @@ -1 +1,2 @@
         {% INCLUDECSS '@phpbbde_pastebin/pastebin.css' %}
        +{% INCLUDECSS './ext/phpbbde/pastebin/vendor/tempest/highlight/src/Themes/github-light-default.css' %}
        
        From c22894379f89a871c71f6a5999f506e915945bcf Mon Sep 17 00:00:00 2001
        From: Christian Schnegelberger 
        Date: Tue, 2 Apr 2024 19:53:45 +0200
        Subject: [PATCH 5/9] Use pre html tag for formatting
        
        ---
         controller/main.php                          | 2 +-
         styles/prosilver/template/pastebin_view.html | 2 +-
         2 files changed, 2 insertions(+), 2 deletions(-)
        
        diff --git a/controller/main.php b/controller/main.php
        index 0cbf3db..f4e6724 100644
        --- a/controller/main.php
        +++ b/controller/main.php
        @@ -413,7 +413,7 @@ private function display_pb()
         					$code = $snippet_text;
         
                             $highlighter = new \Tempest\Highlight\Highlighter();
        -                    // TODO: Add option to change language used at this point html,css etc. 
        +                    // TODO: Add option to change language used at this point html,css etc.
                             $code = $highlighter->parse($code, 'php');
         
         					$snippet_text_display = &$code;
        diff --git a/styles/prosilver/template/pastebin_view.html b/styles/prosilver/template/pastebin_view.html
        index f164eba..61bf99c 100644
        --- a/styles/prosilver/template/pastebin_view.html
        +++ b/styles/prosilver/template/pastebin_view.html
        @@ -24,7 +24,7 @@ 

        {{ SNIPPET_TITLE_V }}

        {{ lang('PASTEBIN_SNIPPET_TEXT') }}{{ lang('COLON') }}
        - {{ SNIPPET_TEXT_DISPLAY }} +
        {{ SNIPPET_TEXT_DISPLAY }}
        From d87c23ba8deef18e99ddf83189e302f1e2169226 Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Wed, 3 Apr 2024 16:11:01 +0200 Subject: [PATCH 6/9] Scan for available languages in highlight src --- config/services.yml | 3 ++ functions/utility.php | 85 ++++++++++++------------------------------- 2 files changed, 27 insertions(+), 61 deletions(-) diff --git a/config/services.yml b/config/services.yml index ceac6ae..091dd02 100644 --- a/config/services.yml +++ b/config/services.yml @@ -1,5 +1,7 @@ parameters: phpbbde.pastebin.path: '%core.root_path%ext/phpbbde/pastebin/' + phpbbde.pastebin.highlight: '%phpbbde.pastebin.path%vendor/tempest/highlight/' + phpbbde.pastebin.hightlightlangs: '%phpbbde.pastebin.highlight%src/Languages/' phpbbde.pastebin.cron.prune_interval: 86400 tables.phpbbde.pastebin.pastebin: '%core.table_prefix%pastebin' services: @@ -8,6 +10,7 @@ services: arguments: - '%core.php_ext%' - '@language' + - '%phpbbde.pastebin.hightlightlangs%' phpbbde.pastebin.functions.pastebin: class: phpbbde\pastebin\functions\pastebin arguments: diff --git a/functions/utility.php b/functions/utility.php index 387c010..09b65b2 100644 --- a/functions/utility.php +++ b/functions/utility.php @@ -1,8 +1,7 @@ php_ext = $php_ext; - $this->language = $language; + $this->php_ext = $php_ext; + $this->language = $language; + $this->highlight_lang_dir = $highlight_lang_dir; } - /** - * Check if $needle is in one of geshis supported languages + * List of all available highlight languages + * Scan languages dir: \pastebin\vendor\tempest\highlight\src\Languages + * Each supported language has an own directory */ - /*function geshi_check($needle) + function highlight_list_avail_langs() { - return in_array($needle, $this->geshi_list); - }*/ + // Scan the directory of the highlight languages + return array_diff(scandir($this->highlight_lang_dir), array('.', '..')); + /* TODO filter result via ACP option, to only display activated languages, + * in case this list will get really long in the future */ + } /** - * List of all geshi langs - */ - function geshi_list() - { - $geshi_list = array(); - - $d = dir($this->geshi_dir); - while (false !== ($file = $d->read())) - { - if (in_array($file, array('.', '..'))) - { - continue; - } - - if (($substr_end = strpos($file, ".$this->php_ext")) !== false) - { - $geshi_list[] = substr($file, 0, $substr_end); - } - } - $d->close(); - - sort($geshi_list); - - return $geshi_list; - } - - /** - * Highlight select box for geshi languages + * Highlight select box */ function highlight_select($default = 'text') { - /** Programming languages used by geshi - * Check \phpbbde\pastebin\vendor\easybook\geshi\geshi for more languages + /** Create option menu for available languages * Add them to the array $programming_langs - * Don't forget to add fitting language variables to \phpbbde\pastebin\language\\pastebin.php as well */ - $programming_langs = array( - 'base', - 'blade', - 'css', - 'doccomment', - 'gdscript', - 'javascript', - 'json', - 'php', - 'sql', - 'twig', - 'xml', - 'yaml', - ); -// Make no highlighting as text as default - if ($default) - { - - } + $programming_langs = $this->highlight_list_avail_langs(); $output = ''; $lang_prefix = 'PASTEBIN_LANGS_'; + foreach ($programming_langs as $code) { - $output .= '' . $this->language->lang($lang_prefix . strtoupper($code)) . ''; + $output .= '' . $this->language->lang($lang_prefix . strtoupper($code)) . ''; } return $output; From e1d24358e35187aff1332a92c9c9c9dc0012bb5d Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Wed, 3 Apr 2024 16:46:22 +0200 Subject: [PATCH 7/9] Add lang vars for all available highlight langs --- language/de/pastebin.php | 36 ++++++++++++++++++++---------------- language/en/pastebin.php | 28 ++++++++++++++++------------ 2 files changed, 36 insertions(+), 28 deletions(-) diff --git a/language/de/pastebin.php b/language/de/pastebin.php index 2cddb49..b5dcbed 100644 --- a/language/de/pastebin.php +++ b/language/de/pastebin.php @@ -96,24 +96,28 @@ 'PASTEBIN_SNIPPET_HILIT' => 'zeige hervorgehobenen Eintrag', 'PASTEBIN_SNIPPET_HIGHLIGHT' => 'Syntaxhervorhebung', 'PASTEBIN_SNIPPET_MODERATED' => 'Das Snippet wurde erfolgreich bearbeitet.', - 'PASTEBIN_SNIPPET_TEXT' => 'Dein Code', + 'PASTEBIN_SNIPPET_TEXT' => 'Dein Code', 'PASTEBIN_SNIPPET_TITLE' => 'Titel', 'PASTEBIN_SNIPPET_CREATION_TIME' => 'Snippet erstellt', - 'PASTEBIN_SNIPPET_PRUNE_TIME' => 'Snippet wird automatisch gelöscht', + 'PASTEBIN_SNIPPET_PRUNE_TIME' => 'Snippet wird automatisch gelöscht', 'PASTEBIN_SNIPPET_PLAIN' => 'zeige einfaches Snippet', - 'PASTEBIN_SNIPPET_PRUNABLE' => 'Eintrag prunable - automatisch löschbar', - 'PASTEBIN_SNIPPET_PRUNABLE_EXPLAIN' => 'Wenn diese Option deaktiviert ist, wird der Eintrag nicht in die monatlich automatisch zu löschenden Einträge aufgenommen.', + 'PASTEBIN_SNIPPET_PRUNABLE' => 'Eintrag prunable - automatisch löschbar', + 'PASTEBIN_SNIPPET_PRUNABLE_EXPLAIN' => 'Wenn diese Option deaktiviert ist, wird der Eintrag nicht in die monatlich automatisch zu löschenden Einträge aufgenommen.', 'PASTEBIN_SNIPPET_SUBMITTED' => 'Dein Eintrag wurde erfolgreich erstellt.', - 'PASTEBIN_SNIPPET_SAVE' => 'Änderungen speichern', - - // Language keys for Syntax highlighting dropdown - 'PASTEBIN_LANGS_TEXT' => 'Text', - 'PASTEBIN_LANGS_PHP' => 'PHP', - 'PASTEBIN_LANGS_SQL' => 'SQL', - 'PASTEBIN_LANGS_HTML5' => 'HTML', - 'PASTEBIN_LANGS_CSS' => 'CSS', - 'PASTEBIN_LANGS_JAVASCRIPT' => 'JavaScript', - 'PASTEBIN_LANGS_XML' => 'XML', - 'PASTEBIN_LANGS_DIFF' => 'diff', - 'PASTEBIN_LANGS_ROBOTS' => 'Robots.txt', + 'PASTEBIN_SNIPPET_SAVE' => 'Änderungen speichern', + + // Language keys for Syntax highlighting dropdown + 'PASTEBIN_LANGS_BASE' => 'Base', + 'PASTEBIN_LANGS_BLADE' => 'Blade', + 'PASTEBIN_LANGS_CSS' => 'CSS', + 'PASTEBIN_LANGS_DOCCOMMENT' => 'DocComment', + 'PASTEBIN_LANGS_GDSCRIPT' => 'GDScript', + 'PASTEBIN_LANGS_HTML' => 'HTML', + 'PASTEBIN_LANGS_JAVASCRIPT' => 'JavaScript', + 'PASTEBIN_LANGS_JSON' => 'Json', + 'PASTEBIN_LANGS_PHP' => 'PHP', + 'PASTEBIN_LANGS_SQL' => 'SQL', + 'PASTEBIN_LANGS_TWIG' => 'Twig', + 'PASTEBIN_LANGS_XML' => 'XML', + 'PASTEBIN_LANGS_YAML' => 'Yaml', )); diff --git a/language/en/pastebin.php b/language/en/pastebin.php index bd51cfb..021acc3 100644 --- a/language/en/pastebin.php +++ b/language/en/pastebin.php @@ -95,24 +95,28 @@ 'PASTEBIN_SNIPPET_HILIT' => 'Show highlighted entry', 'PASTEBIN_SNIPPET_HIGHLIGHT' => 'Syntax highlighting', 'PASTEBIN_SNIPPET_MODERATED' => 'The entry was sucessfully edited.', - 'PASTEBIN_SNIPPET_TEXT' => 'Your code', + 'PASTEBIN_SNIPPET_TEXT' => 'Your code', 'PASTEBIN_SNIPPET_TITLE' => 'Title', 'PASTEBIN_SNIPPET_CREATION_TIME' => 'Entry created on', - 'PASTEBIN_SNIPPET_PRUNE_TIME' => 'Entry will be automatically deleted', + 'PASTEBIN_SNIPPET_PRUNE_TIME' => 'Entry will be automatically deleted', 'PASTEBIN_SNIPPET_PLAIN' => 'Show simple entry.', - 'PASTEBIN_SNIPPET_PRUNABLE' => 'Entry prunable', - 'PASTEBIN_SNIPPET_PRUNABLE_EXPLAIN' => 'If this option is disabled, the entry will not be entered in the monthly list of prunable entries.', + 'PASTEBIN_SNIPPET_PRUNABLE' => 'Entry prunable', + 'PASTEBIN_SNIPPET_PRUNABLE_EXPLAIN' => 'If this option is disabled, the entry will not be entered in the monthly list of prunable entries.', 'PASTEBIN_SNIPPET_SUBMITTED' => 'Your entry was sucessfully created.', - 'PASTEBIN_SNIPPET_SAVE' => 'Save edited snippet', + 'PASTEBIN_SNIPPET_SAVE' => 'Save edited snippet', // Language keys for Syntax highlighting dropdown - 'PASTEBIN_LANGS_TEXT' => 'Text', - 'PASTEBIN_LANGS_PHP' => 'PHP', + 'PASTEBIN_LANGS_BASE' => 'Base', + 'PASTEBIN_LANGS_BLADE' => 'Blade', + 'PASTEBIN_LANGS_CSS' => 'CSS', + 'PASTEBIN_LANGS_DOCCOMMENT' => 'DocComment', + 'PASTEBIN_LANGS_GDSCRIPT' => 'GDScript', + 'PASTEBIN_LANGS_HTML' => 'HTML', + 'PASTEBIN_LANGS_JAVASCRIPT' => 'JavaScript', + 'PASTEBIN_LANGS_JSON' => 'Json', + 'PASTEBIN_LANGS_PHP' => 'PHP', 'PASTEBIN_LANGS_SQL' => 'SQL', - 'PASTEBIN_LANGS_HTML5' => 'HTML', - 'PASTEBIN_LANGS_CSS' => 'CSS', - 'PASTEBIN_LANGS_JAVASCRIPT' => 'JavaScript', + 'PASTEBIN_LANGS_TWIG' => 'Twig', 'PASTEBIN_LANGS_XML' => 'XML', - 'PASTEBIN_LANGS_DIFF' => 'diff', - 'PASTEBIN_LANGS_ROBOTS' => 'Robots.txt', + 'PASTEBIN_LANGS_YAML' => 'Yaml', )); From be28a2cdefe74f47b48b2b48bba4a888fc5515ad Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Fri, 5 Apr 2024 16:52:06 +0200 Subject: [PATCH 8/9] Add new table and ACP settings page template --- acp/pastebin_info.php | 29 +++++++++++ acp/pastebin_module.php | 24 +++++++++ language/en/info_acp_phpbbde_pastebin.php | 24 +++++++++ migrations/v210.php | 63 +++++++++++++++++++++++ 4 files changed, 140 insertions(+) create mode 100644 acp/pastebin_info.php create mode 100644 acp/pastebin_module.php create mode 100644 language/en/info_acp_phpbbde_pastebin.php create mode 100644 migrations/v210.php diff --git a/acp/pastebin_info.php b/acp/pastebin_info.php new file mode 100644 index 0000000..084bb03 --- /dev/null +++ b/acp/pastebin_info.php @@ -0,0 +1,29 @@ + + * @license GNU General Public License, version 2 (GPL-2.0) + * + */ + +namespace phpbbde\pastebin\acp; + +class pastebin_info +{ + function module() + { + return array( + 'filename' => '\phpbbde\pastebin\acp\pastebin_info', + 'title' => 'ACP_PASTEBIN_TITLE', + 'modes' => array( + 'pastebin_settings' => array( + 'title' => 'ACP_PASTEBIN_SETTINGS', + 'auth' => 'ext_phpbbde/pastebin && acl_a_board', + 'cat' => array('ACP_PASTEBIN_TITLE') + ), + ), + ); + } +} diff --git a/acp/pastebin_module.php b/acp/pastebin_module.php new file mode 100644 index 0000000..2d259bd --- /dev/null +++ b/acp/pastebin_module.php @@ -0,0 +1,24 @@ + + * @license GNU General Public License, version 2 (GPL-2.0) + * + */ + +namespace phpbbde\pastebin\acp; + +/** + * @ignore + */ + + +/** + * @package acp + */ +class pastebin_module +{ + +} diff --git a/language/en/info_acp_phpbbde_pastebin.php b/language/en/info_acp_phpbbde_pastebin.php new file mode 100644 index 0000000..6fbfa5a --- /dev/null +++ b/language/en/info_acp_phpbbde_pastebin.php @@ -0,0 +1,24 @@ + + * @license GNU General Public License, version 2 (GPL-2.0) + * + */ + +if (!defined('IN_PHPBB')) +{ + exit; +} + +if (empty($lang) || !is_array($lang)) +{ + $lang = array(); +} + +$lang = array_merge($lang, array( + 'ACP_PASTEBIN_TITLE' => 'Pastebin', + 'ACP_PASTEBIN_SETTINGS' => 'Settings', +)); diff --git a/migrations/v210.php b/migrations/v210.php new file mode 100644 index 0000000..05439a6 --- /dev/null +++ b/migrations/v210.php @@ -0,0 +1,63 @@ + + * @license GNU General Public License, version 2 (GPL-2.0) + * + */ + +namespace phpbbde\pastebin\migrations; + +class v210 extends \phpbb\db\migration\migration +{ + public static function depends_on() + { + return array( + '\phpbbde\pastebin\migrations\v206', + ); + } + /** + * Add the pastebin lang schema to the database: + * pastebin_langs: + * lang_id + * file_extension + * lang_name + * lang_active + * + * @return array Array of table schema + * @access public + */ + public function update_schema() + { + return array( + 'add_tables' => array( + $this->table_prefix . 'pastebin_langs' => array( + 'COLUMNS' => array( + 'lang_id' => array('UINT', null, 'auto_increment'), + 'lang_file_ext' => array('VCHAR:100', ''), + 'lang_name' => array('VCHAR:100', ''), + 'lang_active' => array('BOOL', 0), + ), + 'PRIMARY_KEY' => 'lang_id', + ), + ), + ); + } + + /** + * Drop the pastebin_langs table schema from the database + * + * @return array Array of table schema + * @access public + */ + public function revert_schema() + { + return array( + 'drop_tables' => array( + $this->table_prefix . 'pastebin_langs', + ), + ); + } +} From 64531d7384e60bb7845523deaf7883c8881e1230 Mon Sep 17 00:00:00 2001 From: Christian Schnegelberger Date: Fri, 5 Apr 2024 17:59:45 +0200 Subject: [PATCH 9/9] Init data for pastebin_lang --- acp/pastebin_info.php | 5 ++ migrations/v210_add_data.php | 127 +++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 migrations/v210_add_data.php diff --git a/acp/pastebin_info.php b/acp/pastebin_info.php index 084bb03..7b3ac06 100644 --- a/acp/pastebin_info.php +++ b/acp/pastebin_info.php @@ -23,6 +23,11 @@ function module() 'auth' => 'ext_phpbbde/pastebin && acl_a_board', 'cat' => array('ACP_PASTEBIN_TITLE') ), + 'pastebin_languages' => array( + 'title' => 'ACP_PASTEBIN_LANGUAGES', + 'auth' => 'ext_phpbbde/pastebin && acl_a_board', + 'cat' => array('ACP_PASTEBIN_TITLE') + ), ), ); } diff --git a/migrations/v210_add_data.php b/migrations/v210_add_data.php new file mode 100644 index 0000000..63f5e46 --- /dev/null +++ b/migrations/v210_add_data.php @@ -0,0 +1,127 @@ + + * @license GNU General Public License, version 2 (GPL-2.0) + * + */ + +namespace phpbbde\pastebin\migrations; + +class v210_add_data extends \phpbb\db\migration\migration +{ + public static function depends_on() + { + return array( + '\phpbbde\pastebin\migrations\v210', + ); + } + + public function update_data() + { + $data = [ + // Update version + array('config.update', array('pastebin_version', '2.1.0')), + // Add ACP module + array('module.add', array( + 'acp', + 'ACP_CAT_DOT_MODS', + 'ACP_PASTEBIN_TITLE' + )), + array('module.add', array( + 'acp', + 'ACP_PASTEBIN_TITLE', + array( + 'module_basename' => '\phpbbde\pastebin\acp\pastebin_module', + 'modes' => array('pastebin_settings'), + ), + )), + array('module.add', array( + 'acp', + 'ACP_PASTEBIN_TITLE', + array( + 'module_basename' => '\phpbbde\pastebin\acp\pastebin_module', + 'modes' => array('pastebin_languages'), + ), + )), + // Insert first data into new table pastebin_langs + array('custom', array(array($this, 'insert_init_lang_data'))), + ]; + return $data; + } + + public function insert_init_lang_data() + { + $init_lang_data = [ + [ + 'lang_file_ext' => '', + 'lang_name' => 'Base', + 'lang_active' => 1, + ], + [ + 'lang_file_ext' => '', + 'lang_name' => 'Blade', + 'lang_active' => 1, + ], + [ + 'lang_file_ext' => 'css', + 'lang_name' => 'CSS', + 'lang_active' => 1, + ], + [ + 'lang_file_ext' => '', + 'lang_name' => 'DocComment', + 'lang_active' => 0, + ], + [ + 'lang_file_ext' => '', + 'lang_name' => 'GDScript', + 'lang_active' => 0, + ], + [ + 'lang_file_ext' => 'html,htm', + 'lang_name' => 'HTML', + 'lang_active' => 1, + ], + [ + 'lang_file_ext' => 'js', + 'lang_name' => 'JavaScript', + 'lang_active' => 1, + ], + [ + 'lang_file_ext' => 'json', + 'lang_name' => 'Json', + 'lang_active' => 1, + ], + [ + 'lang_file_ext' => 'php', + 'lang_name' => 'PHP', + 'lang_active' => 1, + ], + [ + 'lang_file_ext' => 'sql', + 'lang_name' => 'SQL', + 'lang_active' => 1, + ], + [ + 'lang_file_ext' => '', + 'lang_name' => 'Twig', + 'lang_active' => 0, + ], + [ + 'lang_file_ext' => 'xml', + 'lang_name' => 'XML', + 'lang_active' => 0, + ], + [ + 'lang_file_ext' => 'yaml,yml', + 'lang_name' => 'YAML', + 'lang_active' => 1, + ], + ]; + // Insert sample rule data + $this->db->sql_multi_insert($this->table_prefix . 'pastebin_langs', $init_lang_data); + } +}
  2. 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%0A?g2G_+iz+Sr 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%0D2i#Mc)&=1?8k68R264$TWgEGyGFCqlKU}k@H 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