From 33afad1d3e7975145f88890b36f25208c3b50cd7 Mon Sep 17 00:00:00 2001 From: William Daniau Date: Wed, 2 Oct 2019 23:28:40 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20d'une=20page=20de=20d=C3=A9mo.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- demo/Demo.html | 323 ++++ demo/Demo.pdf | Bin 0 -> 175564 bytes .../_resources/common/arrow-left-inact.png | Bin 0 -> 981 bytes demo/Demo_files/_resources/common/arrow-left.png | Bin 0 -> 1554 bytes .../_resources/common/arrow-right-inact.png | Bin 0 -> 1004 bytes demo/Demo_files/_resources/common/arrow-right.png | Bin 0 -> 1623 bytes .../_resources/common/arrow-up-inact.png | Bin 0 -> 935 bytes demo/Demo_files/_resources/common/arrow-up.png | Bin 0 -> 1517 bytes demo/Demo_files/_resources/common/go-hljs.js | 17 + demo/Demo_files/_resources/common/hljs/CHANGES.md | 1914 ++++++++++++++++++++ demo/Demo_files/_resources/common/hljs/LICENSE | 24 + demo/Demo_files/_resources/common/hljs/README.md | 373 ++++ .../Demo_files/_resources/common/hljs/README.ru.md | 142 ++ .../_resources/common/hljs/highlight.pack.js | 2 + .../_resources/common/hljs/styles/a11y-dark.css | 99 + .../_resources/common/hljs/styles/a11y-light.css | 99 + .../_resources/common/hljs/styles/agate.css | 108 ++ .../_resources/common/hljs/styles/an-old-hope.css | 89 + .../common/hljs/styles/androidstudio.css | 66 + .../common/hljs/styles/arduino-light.css | 88 + .../_resources/common/hljs/styles/arta.css | 73 + .../_resources/common/hljs/styles/ascetic.css | 45 + .../common/hljs/styles/atelier-cave-dark.css | 83 + .../common/hljs/styles/atelier-cave-light.css | 85 + .../common/hljs/styles/atelier-dune-dark.css | 69 + .../common/hljs/styles/atelier-dune-light.css | 69 + .../common/hljs/styles/atelier-estuary-dark.css | 84 + .../common/hljs/styles/atelier-estuary-light.css | 84 + .../common/hljs/styles/atelier-forest-dark.css | 69 + .../common/hljs/styles/atelier-forest-light.css | 69 + .../common/hljs/styles/atelier-heath-dark.css | 69 + .../common/hljs/styles/atelier-heath-light.css | 69 + .../common/hljs/styles/atelier-lakeside-dark.css | 69 + .../common/hljs/styles/atelier-lakeside-light.css | 69 + .../common/hljs/styles/atelier-plateau-dark.css | 84 + .../common/hljs/styles/atelier-plateau-light.css | 84 + .../common/hljs/styles/atelier-savanna-dark.css | 84 + .../common/hljs/styles/atelier-savanna-light.css | 84 + .../common/hljs/styles/atelier-seaside-dark.css | 69 + .../common/hljs/styles/atelier-seaside-light.css | 69 + .../hljs/styles/atelier-sulphurpool-dark.css | 69 + .../hljs/styles/atelier-sulphurpool-light.css | 69 + .../hljs/styles/atom-one-dark-reasonable.css | 77 + .../common/hljs/styles/atom-one-dark.css | 96 + .../common/hljs/styles/atom-one-light-wb.css | 96 + .../common/hljs/styles/atom-one-light.css | 96 + .../_resources/common/hljs/styles/brown-paper.css | 64 + .../common/hljs/styles/brown-papersq.png | Bin 0 -> 18198 bytes .../common/hljs/styles/codepen-embed.css | 60 + .../_resources/common/hljs/styles/color-brewer.css | 71 + .../_resources/common/hljs/styles/darcula.css | 77 + .../_resources/common/hljs/styles/dark.css | 63 + .../_resources/common/hljs/styles/darkula.css | 6 + .../_resources/common/hljs/styles/default.css | 99 + .../_resources/common/hljs/styles/docco.css | 97 + .../_resources/common/hljs/styles/dracula.css | 76 + .../_resources/common/hljs/styles/far.css | 71 + .../_resources/common/hljs/styles/foundation.css | 88 + .../_resources/common/hljs/styles/github-gist.css | 79 + .../_resources/common/hljs/styles/github.css | 99 + .../_resources/common/hljs/styles/gml.css | 78 + .../_resources/common/hljs/styles/googlecode.css | 89 + .../_resources/common/hljs/styles/grayscale.css | 101 ++ .../_resources/common/hljs/styles/gruvbox-dark.css | 108 ++ .../common/hljs/styles/gruvbox-light.css | 108 ++ .../_resources/common/hljs/styles/hopscotch.css | 83 + .../_resources/common/hljs/styles/hybrid.css | 102 ++ .../_resources/common/hljs/styles/idea.css | 97 + .../_resources/common/hljs/styles/ir-black.css | 73 + .../common/hljs/styles/isbl-editor-dark.css | 112 ++ .../common/hljs/styles/isbl-editor-light.css | 112 ++ .../_resources/common/hljs/styles/kimbie.dark.css | 74 + .../_resources/common/hljs/styles/kimbie.light.css | 74 + .../_resources/common/hljs/styles/lightfair.css | 87 + .../_resources/common/hljs/styles/magula.css | 70 + .../_resources/common/hljs/styles/mono-blue.css | 59 + .../common/hljs/styles/monokai-sublime.css | 83 + .../_resources/common/hljs/styles/monokai.css | 70 + .../_resources/common/hljs/styles/nord.css | 309 ++++ .../_resources/common/hljs/styles/obsidian.css | 88 + .../_resources/common/hljs/styles/ocean.css | 74 + .../_resources/common/hljs/styles/paraiso-dark.css | 72 + .../common/hljs/styles/paraiso-light.css | 72 + .../_resources/common/hljs/styles/pojoaque.css | 83 + .../_resources/common/hljs/styles/pojoaque.jpg | Bin 0 -> 1186 bytes .../_resources/common/hljs/styles/purebasic.css | 96 + .../common/hljs/styles/qtcreator_dark.css | 83 + .../common/hljs/styles/qtcreator_light.css | 83 + .../_resources/common/hljs/styles/railscasts.css | 106 ++ .../_resources/common/hljs/styles/rainbow.css | 85 + .../_resources/common/hljs/styles/routeros.css | 108 ++ .../_resources/common/hljs/styles/school-book.css | 69 + .../_resources/common/hljs/styles/school-book.png | Bin 0 -> 486 bytes .../common/hljs/styles/shades-of-purple.css | 97 + .../common/hljs/styles/solarized-dark.css | 84 + .../common/hljs/styles/solarized-light.css | 84 + .../_resources/common/hljs/styles/sunburst.css | 102 ++ .../common/hljs/styles/tomorrow-night-blue.css | 75 + .../common/hljs/styles/tomorrow-night-bright.css | 74 + .../common/hljs/styles/tomorrow-night-eighties.css | 74 + .../common/hljs/styles/tomorrow-night.css | 75 + .../_resources/common/hljs/styles/tomorrow.css | 72 + .../_resources/common/hljs/styles/vs.css | 68 + .../_resources/common/hljs/styles/vs2015.css | 115 ++ .../_resources/common/hljs/styles/xcode.css | 104 ++ .../_resources/common/hljs/styles/xt256.css | 92 + .../_resources/common/hljs/styles/zenburn.css | 80 + demo/Demo_files/_resources/common/zim-hljs.css | 4 + demo/Demo_files/_resources/common/zim-special.css | 17 + demo/Demo_files/_resources/common/zim-style.css | 61 + .../_resources/common/zim-table-style.css | 49 + demo/Demo_files/tournesol.jpeg | Bin 0 -> 15987 bytes demo/Demo_files/zim_navigation.png | Bin 0 -> 6056 bytes 113 files changed, 10512 insertions(+) create mode 100644 demo/Demo.html create mode 100644 demo/Demo.pdf create mode 100644 demo/Demo_files/_resources/common/arrow-left-inact.png create mode 100644 demo/Demo_files/_resources/common/arrow-left.png create mode 100644 demo/Demo_files/_resources/common/arrow-right-inact.png create mode 100644 demo/Demo_files/_resources/common/arrow-right.png create mode 100644 demo/Demo_files/_resources/common/arrow-up-inact.png create mode 100644 demo/Demo_files/_resources/common/arrow-up.png create mode 100644 demo/Demo_files/_resources/common/go-hljs.js create mode 100644 demo/Demo_files/_resources/common/hljs/CHANGES.md create mode 100644 demo/Demo_files/_resources/common/hljs/LICENSE create mode 100644 demo/Demo_files/_resources/common/hljs/README.md create mode 100644 demo/Demo_files/_resources/common/hljs/README.ru.md create mode 100644 demo/Demo_files/_resources/common/hljs/highlight.pack.js create mode 100644 demo/Demo_files/_resources/common/hljs/styles/a11y-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/a11y-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/agate.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/an-old-hope.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/androidstudio.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/arduino-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/arta.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/ascetic.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-cave-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-cave-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-dune-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-dune-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-estuary-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-estuary-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-forest-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-forest-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-heath-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-heath-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-lakeside-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-lakeside-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-plateau-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-plateau-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-savanna-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-savanna-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-seaside-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-seaside-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-sulphurpool-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atelier-sulphurpool-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atom-one-dark-reasonable.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atom-one-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atom-one-light-wb.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/atom-one-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/brown-paper.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/brown-papersq.png create mode 100644 demo/Demo_files/_resources/common/hljs/styles/codepen-embed.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/color-brewer.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/darcula.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/darkula.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/default.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/docco.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/dracula.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/far.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/foundation.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/github-gist.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/github.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/gml.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/googlecode.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/grayscale.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/gruvbox-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/gruvbox-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/hopscotch.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/hybrid.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/idea.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/ir-black.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/isbl-editor-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/isbl-editor-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/kimbie.dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/kimbie.light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/lightfair.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/magula.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/mono-blue.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/monokai-sublime.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/monokai.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/nord.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/obsidian.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/ocean.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/paraiso-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/paraiso-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/pojoaque.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/pojoaque.jpg create mode 100644 demo/Demo_files/_resources/common/hljs/styles/purebasic.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/qtcreator_dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/qtcreator_light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/railscasts.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/rainbow.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/routeros.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/school-book.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/school-book.png create mode 100644 demo/Demo_files/_resources/common/hljs/styles/shades-of-purple.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/solarized-dark.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/solarized-light.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/sunburst.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-blue.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-bright.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-eighties.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/tomorrow-night.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/tomorrow.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/vs.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/vs2015.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/xcode.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/xt256.css create mode 100644 demo/Demo_files/_resources/common/hljs/styles/zenburn.css create mode 100644 demo/Demo_files/_resources/common/zim-hljs.css create mode 100644 demo/Demo_files/_resources/common/zim-special.css create mode 100644 demo/Demo_files/_resources/common/zim-style.css create mode 100644 demo/Demo_files/_resources/common/zim-table-style.css create mode 100644 demo/Demo_files/tournesol.jpeg create mode 100644 demo/Demo_files/zim_navigation.png diff --git a/demo/Demo.html b/demo/Demo.html new file mode 100644 index 0000000..42769fd --- /dev/null +++ b/demo/Demo.html @@ -0,0 +1,323 @@ + + + + + Demo + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ +
+ + + +
+
+

Demo

+
+ +
+

+Créée le mardi 01 octobre 2019 +

+ +

Headers

+ +

+Appliqué sur : zim, htmlexport, print
+Les headers sont décalés pour une meilleure visibilité du niveau de section où on se trouve +

+ +

Header H1

+ +
+ +

Header H2

+ +
+ +

Header H3

+ +
+ +

Header H4

+ +
+ +
Header H5
+ +
+ +

Souligné

+ +

+Appliqué sur : zim, htmlexport, print +

+ +

+Les textes soulignés sont soulignés et non surlignés. +

+ +

Verbatim

+ +

+Appliqué sur : zim, htmlexport, print
+Pour bien le mettre en évidence, le verbatim inline est coloré en darkmagenta. +

+ +
+Tout comme
+le bloc verbatim
+
+ +
+ +

+A noter que le bloc verbatim est indenté, zim fait la différence par le fait de sélectionner plusieurs lignes avant d'appliquer le style (<Ctrl>T). +

+ +

Tableaux

+ +

+Appliqué sur : htmlexport, print +

+ +

+Les tableaux dans zim ne sont vraiment pas terribles, mais on peut avoir quelquechose de sympa une fois exportés. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PrénomNomemailCouleur préférée
JoeSmithjoe.smith@here.comOrange
MarcelDupontmarcel.dupont@nothere.comBleu
NathalieCharpentiernathalie.charpentier@lasbas.comVert
ElectraCigaleselectra.cigales@nowhere.comRouge
+ +
+ +

Images

+ +

+Appliqué sur : htmlexport +

+ +

+ +

+ +

+Lors de l'export html, les images sont centrées, c'est plus beau. Elles ne le sont pas lors du print parcequ'en effet secondaire, les images peuvent être coupées à l'impression. +

+ +

Coloration syntaxique

+ +

+Appliqué sur : htmlexport, print +

+ +

+Il s'agit des bloc de code insérés dans zim avec le plugin adéquat. +

+ +

+Un exemple en C++ +

+
+
#include <iostream>
+
+int main(int argc, char *argv[]) {
+
+  /* An annoying "Hello World" example */
+  for (auto i = 0; i < 0xFFFF; i++)
+    cout << "Hello, World!" << endl;
+
+  char c = '\n';
+  unordered_map <string, vector<string> > m;
+  m["key"] = "\\\\"; // this is an error
+
+  return -2e3 + 12l;
+}
+
+
+ +
+ +

+Un exemple en Python +

+
+
@requires_authorization
+def somefunc(param1='', param2=0):
+    r'''A docstring'''
+    if param1 > param2: # interesting
+        print 'Gre\'ater'
+    return (param2 - param1 + 1 + 0b10l) or None
+
+class SomeClass:
+    pass
+
+>>> message = '''interpreter
+... prompt'''
+
+
+ +
+ +

+Un exemple en Ruby +

+
+
# The Greeter class
+class Greeter
+  def initialize(name)
+    @name = name.capitalize
+  end
+
+  def salute
+    puts "Hello #{@name}!"
+  end
+end
+
+g = Greeter.new("world")
+g.salute
+
+
+ +

+la coloration syntaxique est appliquée avec un thème sombre lors de l'export et avec thème clair lors du print. +

+ +

Police

+ +

+Appliqué sur : htmlexport, print +

+ +

+Comme il est recommandé d'avoir une police sans empattement suur un écran et inversement avec empattement sur papier, lors de l'export html, la police est "sans serif" et lors du print, la police est "serif". +

+ +

Navigation

+ +

+Appliqué sur : htmlexport +

+ +

+ +

+ +

+Les textes de navigation sont remplacés par des icones représentant des flêches, le texte apparait néanmoins lors d'un survol du pointeur de la souris. +

+ +
+
+ + +
+ +
+ + + + + +
+ + + + + + diff --git a/demo/Demo.pdf b/demo/Demo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6fe9a28ec701a1aacc4175dc7c1f81f6dc716fe8 GIT binary patch literal 175564 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%0DC~f)HX>aRG|#dwl@`!>P^{iur@zGF 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 D!adl1 literal 0 HcmV?d00001 diff --git a/demo/Demo_files/_resources/common/arrow-left.png b/demo/Demo_files/_resources/common/arrow-left.png new file mode 100644 index 0000000000000000000000000000000000000000..4221de25e1e7505cc7e07290b3220165ca2b2217 GIT binary patch literal 1554 zcmV+t2JQKYP)KYK~#9!?V4L`R7Dua|1)!DPj{DXy9<`u2p#A0PS~yFF~1(> z53;LVUyWT>fI`35#p`%acMl@95zp@m3KB9O01|=-fR`IU`~53WJl#CE8C~nTKtco= zJEO%TPrR31;sU%}J)p%e1<(hMmi9&MXj{|<8#bgZwQ%AK)*xQ?D`1onfNb&o&N)wX ztmr^}eLXDOf+C)1KO@LW7F0trS@H^Kzn{f^aO|#*Rr9rNYZ0rCVZxr!!gUU+PzWHX zC@FyUyNRz+MY`rppM#YPR)B>VGEN4P2BN7Jf6r=A2`~acl?H%pCd&{dePC!#)ur%Q zQ;YXgXgf9(RrvsP5)j=B-aW7qRe-!eUO|i;;3ki^)-6DCM$+3=JyA?~epWQd$Xn%n z>k$1s#6m>{(0>1e9z=w^8sQPXc-A7Ars;|I#Im3vrGzp9p(+58!JOVD+`qiJ!3=;F z5uo{vX0vK6d_u%TM-8t*s%AcjB>#!`gbOD0>fbHi(3a7gmp_+E_d}FMi&_Da752M} zQ%gGHq!y!tcaY2Eptu4!pk%%+AmFVuqYR8O7~Jrn6!U!U2Z0t$0XA+FwTVe%U1PW@ zIS+D7;-}w!#Hc+Am;en^P?Lg$30M^a3o|cELqZq=uHnLEE>y^a^~3PO2cSMoWIS3_ z3(0M(UV86%|EH_3kKbr_Qxg0Nha(-x;DQ7k;Q)>n6|A%t%yswx`ZF{~0aC0+u>Dl)fcMj$>9R2?*$LgK&aB@!0@?lpjF%#Ru*Vq~+`BiS$@{ z#KK&&3B)CZ;&YV;pg|6Z!x$u;ncT#+s{_|DkIqL}h5}6LmaYy#yPQA zIr7w{fh$N%%tS&Z0`VGvN(v}c9Dwc%<*r6f9=|biQ;^{h8p$Jp_yE8yT@yceU+iJ};x=|!U(~7W>6$|2^ zeF}fN3ng*;f4_DfN!EbYL_MNL2*^QIG=Sdp)G#t`JEZvh;;qZ#*PG`syEZz2M{x`H zF)HF!1M-fsB|bgcVUOG2jPK2Shx-^)?@CMo{NDlo1xchJFS>Rop8x;=07*qoM6N<$ Ef`2-)QUCw| literal 0 HcmV?d00001 diff --git a/demo/Demo_files/_resources/common/arrow-right-inact.png b/demo/Demo_files/_resources/common/arrow-right-inact.png new file mode 100644 index 0000000000000000000000000000000000000000..8733f4b3ac969886db11e9ae31c27764f71ee1d5 GIT binary patch literal 1004 zcmVDLTvZr{pZDB3nXe?RGZjUVQdFXdsKL@SRt3?fMJWi{MInA5Zrn%~jm3>_M06o8 zL?u;ln3=hgjH})QcXQ!=&hP!5 z_nh}!vGn&*TnBV`a+`lTSQva`sQUZyAD8>2V0rq66OX)X7WR(z2_W|`F-Bp;o7?|f ze>{+@Sf;t9Vn5mU-lXb_$u)|+!hKq%&VD_gcvOQxEnp;&5w`v49JN`LPYE^F_D8bQgu6{6h`#iffst-ixkNQ4bcWq z3>8Khstn8=cz<&@+Ib)z2{B3fjvTC!t`LLf9;&+V>Yv|k=0@99q_8AJPDe9Q&EO3; zVs4{K?(xFuhaT)9MV16h?A~$9s%q3lqXc(x6Qw(M%pIJ}ra(N33^PcXG6f3c$&*WU z#SUW#$g_vLcJ6uS?P7*AS;S+B7)YECk@KRV#>b=@67FCOKXp@|r+x#`{8Ril}y*@qr@fN#lL0pwKD>y+><^u7# z+R;-BTW;T#2qDI85)ly^pNm94UwEo>YPvZxMbeffB%;U)SK_r#)x+I~Z>s==kib>) zAb%08uDyBAhwOkFTOP>i|>9_gT4T+|4R6u a0RIAp?X56RV)Q2f0000$W# literal 0 HcmV?d00001 diff --git a/demo/Demo_files/_resources/common/arrow-right.png b/demo/Demo_files/_resources/common/arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..59d19cb25ba7cb0edf05f28e83305eb65424034f GIT binary patch literal 1623 zcmV-d2B`UoP)cvM7Z_|^VSPF8 z=kc7L9oo^byLD~C^UJqSFMpqYf8Xb{eK^J#a#GJUAT1Ke$M5P+?90h_VPtmJl~< zSMx5kyw(B`Hp9SGD;HT0AgeMYMM^+Ky8zs#ctFx5NUEbG1eecYU&}sJS5`Z@_|?iq_5iqS z2uZgacU(wyLm>rQnzmr$+Km9A$;n0b0PujKDYgq~vLWJX94l&8VCUwY5CkEai)dxIo+OTuk!_*#MFuSpezMlCnT}KaZ`A zTd`pN0v-a6qRY<3be%%B1Iz{x4bjV`%dHoUw6E0?SU1T=xiRTH8n^8h>u zJUs!Bm^5Kecg1nS&PC;-O00irJ$RpI3B0&OZ_>WZ0+6{lf@+osG10ilo^ruRaY0Xa z!-~Tz)eXoG1d8FKHfpA?tXyPjgoxY(3FD1B#hiDJ6X}_db@_=KE{_X!RckT3Xf_W& z9mc=(o0W^qoI)-@Ate=Jq8n`71vW7gqH0Ul6vhz6Bd92WCF}XRZ%6pes86xSh$qGCx6dW9-~BV4t}2> z#ref3$}2*FuK)pm0C_^5^&z(u$`av5D?T}g$bcj0TYa~1^Y%?#@4k+%n_cL*-hs}pPK1U+SX^3xrE{0MYnRpXQ#C@igcNyF#3!Y@ z^u(yejW{BD1Q9i2Wg~F}Yi1c_fN?C*iLcC$-n_eL@4pu5e>iw@chm0Zl%7H)kkfn; zginz>MXnTa6Xo`}fmwuDQ5;bzdV6T#UgMQd|M(VwF?9gMIRHrr-r6T=o=cbD6W}fP z1BD!zgx}F;)P~wZ?N0Mk17J1JQ5t}$^v1bo01yx;m;owrBWlDn#Mn0|(>Jnqs5L7(QTa`uprNW@PS3?6LvUnos?t=_vv5@E)LuLr4ol zQRO=r(KoRRT3e>SjS}FDkJI?Gn|Ag*Pag8U1whQ2clIX+j2iYM`+Hjc*dmz4Q)=TA z7qjKOpD6@E29MErSVPQcLqLC({XEIMXCwm(0V)8^ly1s+N(>-_FwZ+5u`vlzF&e?B z@gX~_zvs;R^Z*b*L?Dp>34nqWkfglKi*nZs7#z9}NfrArM2+m6{%tn=sHX&gM1Tkf z!j@{Qz^p=XCi)%>fT`>XZt1JocS?J9{3}5g0GA42OSU1(XfC)B0Yl-3IwI@`xU>dm z-m?P$lqd(lfgqW%7*%-GA4NDmYQE@)*lF#Z$>x3fLd?c95VryRiXTZTg`eNlKL^O+^*^gX VE)A}Tg8={l002ovPDHLkV1lrA+^GNn literal 0 HcmV?d00001 diff --git a/demo/Demo_files/_resources/common/arrow-up-inact.png b/demo/Demo_files/_resources/common/arrow-up-inact.png new file mode 100644 index 0000000000000000000000000000000000000000..0c803f3a788a26c35ca2bd02e7606bc8cbef6fa8 GIT binary patch literal 935 zcmV;Y16cftP)%oarQ!jHxkBlUUp|kl>>E#F2th5{yF&DYRikT@^|f?XpXuRa{8j zh*aoG#+H_Dii$#)qJMz65Wi4Lp+rIxC6nHndtBVp+uJs#nRK%1+`}-7x##_z=XqY< zIl{5CkE8?W06KtH0Rq+92Hncbm9#nY+^+I_N0xU4P?hy-L$f8mo7UyS>pNi4pC8EC z6m|X{zwl8Do^Ey6y|S3Pn6o|n$Nv;yA{a1mP7}3;}{vzHn)xuuXuFnVKA#Bp;VoNG!%L%fED?2Zye27WO89 ziL=a)QbPC_6#|Wl%Ns1q?8eOWeYy?6#4%0}^D@p4QGr0Bk?2^1!LUk^%sYoqv>5XA zXn3PgJOn=4fCdd32yPLge9J~ph6XFE%LlK2zhwnuxv-{-^H_)#L@EptjebByK#t6= z!sT+$76Db6sWDQa3x|vUXQa1CB+6UA*62r#xQ|dMkGLOnWZOF3q_f4Vul4>9pep-ojJ!?W zmv%k{mq19rl;&NFbIe!RizD>shY(_j^Bbg}tC5DNyz=Wd zdkOcycyR;3#GE*_p93@!=0phRA>iU(N+KeF^uH}pLM|>WJaTR6UYN17{J~G&|1i-z z!rP;$bC)Jf0&kH*;c$dV(pVg62FR$JuXE)gK=$*lH_!L{8Vgf?dvv;c!$J9=iLv)S z#5#YcaC7C#2D50++%6jNT;Dr@4&Z49{0Fl$%+qoI=X(GE002ov JPDHLkV1hvoxCj6M literal 0 HcmV?d00001 diff --git a/demo/Demo_files/_resources/common/arrow-up.png b/demo/Demo_files/_resources/common/arrow-up.png new file mode 100644 index 0000000000000000000000000000000000000000..5e6f7322a9af3c98c686bf92013ab6bc84af78c3 GIT binary patch literal 1517 zcmV%X<-gmOuB`GBy=VAaV02P1=Kn0)zPyv{%A^;qdSOSw& zbvx_qoZ}u!C(@x8R&IUk;KqY}j|~7FCT2I}o4~aVKsz1{!eTrwi~Jfqv@GV~F<3 z&+?y4+XU!&S_+en1-*Cl2|lvAtaOP^b74Hg#@=XfHWogZr?%7i2^~|MZ5Xy|0@8!NJ}8_VK^8zS2nf4 zW1dp!^c4uRnGaz55LuqZ$lzZHIU#{Ky-Tl|tEL)253PqDVTkzJWoyAr?w>yM3dUXL z!sRZ6BZ>)Vh#_|fmNa0Qb{Mn0leC#4Qwl&t3?cM@qiNmpbqIw+CG&-oC%=8vo>|2N zOpF5Q9l4D}RUFLVwOGu*Rzp2?32ea;^|z&|1*vqZVB95FtqMe$FWo|(;a{cNyk2h% zUPpRX3b3dZwfy5L0ieya9l(Kx+6F9dUJe&7B*~Io?v|1ulaLpAefnjRmc*@*o2ZT^ zfhyWb2l(E}0?)^%G!z|9jj|Kn->=0WE7ROrPw76E+dB10l?j zU(z;;PAC8!E)Ffw)YaaFU?k|Dx-1%}f^mI?vf>qLFyut;!RGDJy6N4(++-3=h#EX8 zzEMLxaS5Em+iGarTicPYPeV$H;>!mi4RU`gL0K^H@C5A9>#y0L(U__S1g*kC{^^7O z&?edeiSA`jEJN#>R=A$4EUQ%;S0JQ8?!QuDj0ZyN8m^!&Q42Wi6?&8Je^dZHv>YF# z;wiIpODD223s36SQAv2RECDJ@Kwu2S*cQ?t!+aP6fj==joZyJ?qqN^x{YU`Rw&EVKLIcW@GyunnOeQF7lEjSDyu4p6i(Bt6dNyq9@=_;XuG?* zVMQ!$TFHmd#x;mefTaK5IkZF>gk6$`F#Pvj$^3?S)wLk-YBY&&)liQ=f$#jG-L+vC zY8q>_d9PqxN#8;!2hq;}Mni})2jE7F9uw;0!#UcaRJa4Y6qeFndWEE zwyq7?eAYMaNezPg5|Cp-T(~{}13*QwG8he^q|I~vUX|wMflF94X92+Z4mv10|MhE? zSUA?XX~ib9tlRm2RJ$%)uoWdCC{o;wR5i&s$_c2!S9Af(>#627{mx z0y7zyxF>^w3<3!P7oxB-mw|ZCWZ!xYz^Q)(m=T!q zc`Ov$dg%C}==p2s0bOOcO4*)M>2&o;lTJZEZS*rMJ`?;RrQ$}yF9}=*;rr{ikenI3 zIoy{!HLkB!Xg3+ShBzz`rbA^QQHx%AT;@<#l^^*k02P1=Kn0)zPywg_{D=A*-Q{c< T+g>_n00000NkvXXu0mjff&7+} literal 0 HcmV?d00001 diff --git a/demo/Demo_files/_resources/common/go-hljs.js b/demo/Demo_files/_resources/common/go-hljs.js new file mode 100644 index 0000000..dabe797 --- /dev/null +++ b/demo/Demo_files/_resources/common/go-hljs.js @@ -0,0 +1,17 @@ + + + /* on remplace octave par plaintext ou nohighlight ou matlab */ + var elements = document.getElementsByTagName("code"); + for (var i=0; i { + hljs.highlightBlock(block); + }); diff --git a/demo/Demo_files/_resources/common/hljs/CHANGES.md b/demo/Demo_files/_resources/common/hljs/CHANGES.md new file mode 100644 index 0000000..c081292 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/CHANGES.md @@ -0,0 +1,1914 @@ +## Master + +New languages: + +New styles: + +Improvements: + +## Version 9.15.10 +New languages: + none. +New styles: + none. +Improvements: + - support for ruby's squiggly heredoc (#2049) + - support css custom properties (#2082) + - fix(PureBASIC): update to 5.60 (#1508) + - fix(Kotlin): parenthesized types in function declaration (#2107) + - fix(Kotlin): nested comment (#2104) + - fix(isbl): contains key typo (#2103) + - fix(github-gist.css): match Github styles (#2100) + - fix(elm): update to latest elm syntax (#2088) + - fix: Support highlighting inline HTML and CSS tagged template strings in JS and TS (#2105) + - feat(YAML): add YAML to common languages (#1952) + - feat(xml): Add support for Windows Script File (.wsf), inline VBScript in XML `script` tags (#1690) + +## Version 9.15.9 + +Improvements: + - fix(AutoHotkey): order and extended highlighting (#1579) + - fix(Go): correctly highlight hex numbers, rather than stopping at last 'd' or 'f'. (#2060) + - fix(Mathematica): Improvements to language (#2065) + - fix(Node): Adds SCSS build (#2079) + - fix(Rust): update keywords (#2052) + - fix(Stata): Added keywords for the meta-analysis suite introduced in Stata 16 (#2081) + - fix(Bash): escape double quotes (#2048) + +## Version 9.15.8 + +New languages: + none. +New styles: + none. +Improvements: + - fix(bash): revert escaped double quotes - broke Firefox/Safari. + +## Version 9.15.7 +New languages: + none. +New styles: + none. +Improvements: + - fix(powershell): Add cmdlets (#2022) + - fix(Bash): escaped double quotes (#2041) + - fix(c++): add aliases 'hh', 'hxx', 'cxx' (#2017) + - fix(ini/toml): Support comments on the same line. (#2039) + - fix(JSX): not rendering well in a function without parentheses. (#2024) + - fix(LiveCode): language definition update (#2021) + - fix(markdown): indented lists (#2004) + - fix(styles/school-book): don't style all the pre, use .hljs instead (#2034) + - fix(JSX): Modify JSX tag detection to use XML language regex in place of simplistic \w+ + +## Version 9.15.6 +New languages: + none. +New styles: + none. +Improvements: + - Move dependencies to be devDependencies. + - Fixed security issues in dev dependencies. + +## Version 9.15.5 +New languages: + none. +New styles: + none. +Improvements: + 🔥 Hot fix: updated build tool. + +## Version 9.15.4 +New languages: + none. +New styles: + none. +Improvements: + 🔥 Hot fix: reverted hljs cli build tool, as it was causing issues with install. + +## Version 9.15.3 +New languages: + none. +New styles: + none. +Improvements: + 🔥 Hot fix: reverted hljs cli build tool, as it was causing issues with install. + +## Version 9.15.2 +New languages: + none. +New styles: + none. +Improvements: + 🔥 Hot fix that was preventing highlight.js from installing. + +## Version 9.15.1 + +New languages: + none. + +New styles: + none. + +Improvements: + +- Pony: Fixed keywords without spaces at line ends, highlighting of `iso` in class definitions, and function heads without bodies in traits and interfaces. Removed FUNCTION and CLASS modes until they are found to be needed and to provide some of the fixes. + - Support external language files in minified version of highlight.js (#1888) + +## Version 9.15 + +New languages: + none. + +New styles: + none. + +Improvements: + - new cli tool `hljs` - allows easier [building from command line](docs/building-testing.rst#building-a-bundle-from-the-command-line). + - cpp: Fully support C++11 raw strings. (#1897) + - Python: Treat False None and True as literals (#1920) + +## Version 9.14.2 + +New languages: + none. +New styles: + none. +Improvements: +- *Gauss* fixed to stop global namespace pollution [Scott Hyndman][]. +- fix(Tcl): removed apostrophe string delimiters (don't exist) + +[Scott Hyndman]: https://github.com/shyndman + +## Version 9.14.1 + +New languages: + none. +New styles: + none. +Improvements: +- Pony: language improvements (#1958) + +## Version 9.14.0 + +New languages: + none. +New styles: + none. +Improvements: +- Pony: add missing "object" highlighting (#1932) +- Added *XQuery* built-in functions, prolog declarations, as well as parsing of function bodies, computed and direct constructors, by [Duncan Paterson][] +- fix(dart): Corrects highlighting with string interpolation. (#1946) +- fix(swift): be eager on optional-using types (!/?) (#1919) +- fix(tex): Changed cyrillic to unicode (IE11 throw SCRIPT5021) (#1601) +- fix(JavaScript): Recognize get/set accessor keywords (#1940) +- Fixed Dockerfile definition when using highlight continuation parameter, by [Laurent Voullemier][] +- Added tests & new `annotation` and `verbatim` keywords to *Crystal*, by [Benoit de Chezelles][] +- Added missing dockerfile markup tests, by [Laurent Voullemier][] + Allow empty prompt text in clojure-repl, by [Egor Rogov][] +- Fixed several issues with *Crystal* language definition, by [Johannes Müller][] +- Added `C#` as an alias for *CSharp* language, by [Ahmed Atito][] +- Added generic user-defined proc support, new compiler define, refactor to re-use rules, and add tests to *GAUSS*, by [Matthew Evans][] +- Improve *Crystal* language to highlight regexes after some keywords, by [Tsuyusato Kitsune][] +- Fix filterByQualifiers: fileInfo can be null +- Fixed String interpolation in Dart, by [Scott Hyndman][]. + +[Laurent Voullemier]: https://github.com/l-vo +[Benoit de Chezelles]: https://github.com/bew +[Johannes Müller]: https://github.com/straight-shoota +[Ahmed Atito]: https://github.com/atitoa93 +[Matthew Evans]: https://github.com/matthewevans +[Tsuyusato Kitsune]: https://github.com/MakeNowJust +[Scott Hyndman]: https://github.com/shyndman +[Duncan Paterson]: https://github.com/duncdrum + +## Version 9.13.1 + +Improvements: + +- *C#* function declarations no longer include trailing whitespace, by [JeremyTCD][] +- Added new and missing keywords to *AngelScript*, by [Melissa Geels][] +- *TypeScript* decorator factories highlighting fix, by [Antoine Boisier-Michaud][] +- Added support for multiline strings to *Swift*, by [Alejandro Isaza][] +- Fixed issue that was causing some minifiers to fail. +- Fixed `autoDetection` to accept language aliases. + +[JeremyTCD]: https://github.com/JeremyTCD +[Melissa Geels]: https://github.com/codecat +[Antoine Boisier-Michaud]: https://github.com/Aboisier +[Alejandro Isaza]: https://github.com/alejandro-isaza + +## Version 9.13.0 + +New languages: + +- *ArcGIS Arcade* by [John Foster][] +- *AngelScript* by [Melissa Geels][] +- *GML* by [meseta][] +- *isbl* built-in language DIRECTUM and Conterra by [Dmitriy Tarasov][]. +- *PostgreSQL* SQL dialect and PL/pgSQL language by [Egor Rogov][]. +- *ReasonML* by [Gidi Meir Morris][] +- *SAS* by [Mauricio Caceres Bravo][] +- *Plaintext* by [Egor Rogov][] +- *.properties* by [bostko][] and [Egor Rogov][] + +New styles: + +- *a11y-dark theme* by [Eric Bailey][] +- *a11y-light theme* by [Eric Bailey][] +- *An Old Hope* by [Gustavo Costa][] +- *Atom One Dark Reasonable* by [Gidi Meir Morris][] +- *isbl editor dark* by [Dmitriy Tarasov][] +- *isbl editor light* by [Dmitriy Tarasov][] +- *Lightfair* by [Tristian Kelly][] +- [*Nord*][nord-highlightjs] by [Arctic Ice Studio][] +- *[🦄 Shades of Purple](https://github.com/ahmadawais/Shades-of-Purple-HighlightJS)* by [Ahmad Awais][] + +Improvements: + +- New attribute `endSameAsBegin` for nested constructs with variable names + by [Egor Rogov][]. +- *Python* highlighting of escaped quotes fixed by [Harmon][] +- *PHP*: Added alias for php7, by [Vijaya Chandran Mani][] +- *C++* string handling, by [David Benjamin][] +- *Swift* Add `@objcMembers` to `@attributes`, by [Berk Çebi][] +- Infrastructural changes by [Marcos Cáceres][] +- Fixed metachars highighting for *NSIS* by [Jan T. Sott][] +- *Yaml* highlight local tags as types by [Léo Lam][] +- Improved highlighting for *Elixir* by [Piotr Kaminski][] +- New attribute `disableAutodetect` for preventing autodetection by [Egor Rogov][] +- *Matlab*: transpose operators and double quote strings, by [JohnC32][] and [Egor Rogov][] +- Various documentation typos and improvemets by [Jimmy Wärting][], [Lutz Büch][], [bcleland][] +- *Cmake* updated with new keywords and commands by [Deniz Bahadir][] + +[Ahmad Awais]: https://github.com/ahmadawais +[Arctic Ice Studio]: https://github.com/arcticicestudio +[Dmitriy Tarasov]: https://github.com/MedvedTMN +[Egor Rogov]: https://github.com/egor-rogov +[Eric Bailey]: https://github.com/ericwbailey +[Gidi Meir Morris]: https://github.com/gmmorris +[Gustavo Costa]: https://github.com/gusbemacbe +[Harmon]: https://github.com/Harmon758 +[Melissa Geels]: https://github.com/codecat +[meseta]: https://github.com/meseta +[nord-highlightjs]: https://github.com/arcticicestudio/nord-highlightjs +[Tristian Kelly]: https://github.com/TristianK3604 +[Vijaya Chandran Mani]: https://github.com/vijaycs85 +[John Foster]: https://github.com/jf990 +[David Benjamin]: https://github.com/davidben +[Berk Çebi]: https://github.com/berkcebi +[Mauricio Caceres Bravo]: https://github.com/mcaceresb +[bostko]: https://github.com/bostko +[Deniz Bahadir]: https://github.com/Bagira80 +[bcleland]: https://github.com/bcleland +[JohnC32]: https://github.com/JohnC32 +[Lutz Büch]: https://github.com/lutz-100worte +[Piotr Kaminski]: https://github.com/pkaminski +[Léo Lam]: https://github.com/leoetlino +[Jan T. Sott]: https://github.com/idleberg +[Jimmy Wärting]: https://github.com/jimmywarting +[Marcos Cáceres]: https://github.com/marcoscaceres + +## Version 9.12.0 + +New language: + +- *MikroTik* RouterOS Scripting language by [Ivan Dementev][]. + +New style: + +- *VisualStudio 2015 Dark* by [Nicolas LLOBERA][] + +Improvements: +- *Crystal* updated with new keywords and syntaxes by [Tsuyusato Kitsune][]. +- *Julia* updated to the modern definitions by [Alex Arslan][]. +- *julia-repl* added by [Morten Piibeleht][]. +- [Stanislav Belov][] wrote a new definition for *1C*, replacing the one that + has not been updated for more than 8 years. The new version supports syntax + for versions 7.7 and 8. +- [Nicolas LLOBERA][] improved C# definition fixing edge cases with function + titles detection and added highlighting of `[Attributes]`. +- [nnnik][] provided a few correctness fixes for *Autohotkey*. +- [Martin Clausen][] made annotation collections in *Clojure* to look + consistently with other kinds. +- [Alejandro Alonso][] updated *Swift* keywords. + +[Tsuyusato Kitsune]: https://github.com/MakeNowJust +[Alex Arslan]: https://github.com/ararslan +[Morten Piibeleht]: https://github.com/mortenpi +[Stanislav Belov]: https://github.com/4ppl +[Ivan Dementev]: https://github.com/DiVAN1x +[Nicolas LLOBERA]: https://github.com/Nicolas01 +[nnnik]: https://github.com/nnnik +[Martin Clausen]: https://github.com/maacl +[Alejandro Alonso]: https://github.com/Azoy + +## Version 9.11.0 + +New languages: + +- *Shell* by [Tsuyusato Kitsune][] +- *jboss-cli* by [Raphaël Parrëe][] + +Improvements: + +- [Joël Porquet] has [greatly improved the definition of *makefile*][5b3e0e6]. +- *C++* class titles are now highlighted as in other languages with classes. +- [Jordi Petit][] added rarely used `or`, `and` and `not` keywords to *C++*. +- [Pieter Vantorre][] fixed highlighting of negative floating point values. + + +[Tsuyusato Kitsune]: https://github.com/MakeNowJust +[Jordi Petit]: https://github.com/jordi-petit +[Raphaël Parrëe]: https://github.com/rparree +[Pieter Vantorre]: https://github.com/NuclearCookie +[5b3e0e6]: https://github.com/isagalaev/highlight.js/commit/5b3e0e68bfaae282faff6697d6a490567fa9d44b + + +## Version 9.10.0 + +Apologies for missing the previous release cycle. Some thing just can't be +automated… Anyway, we're back! + +New languages: + +- *Hy* by [Sergey Sobko][] +- *Leaf* by [Hale Chan][] +- *N1QL* by [Andres Täht][] and [Rene Saarsoo][] + +Improvements: + +- *Rust* got updated with new keywords by [Kasper Andersen][] and then + significantly modernized even more by [Eduard-Mihai Burtescu][] (yes, @eddyb, + Rust core team member!) +- *Python* updated with f-literals by [Philipp A][]. +- *YAML* updated with unquoted strings support. +- *Gauss* updated with new keywords by [Matt Evans][]. +- *Lua* updated with new keywords by [Joe Blow][]. +- *Kotlin* updated with new keywords by [Philipp Hauer][]. +- *TypeScript* got highlighting of function params and updated keywords by + [Ike Ku][]. +- *Scheme* now correctly handles \`-quoted lists thanks to [Guannan Wei]. +- [Sam Wu][] fixed handling of `<<` in *C++* defines. + +[Philipp A]: https://github.com/flying-sheep +[Philipp Hauer]: https://github.com/phauer +[Sergey Sobko]: https://github.com/profitware +[Hale Chan]: https://github.com/halechan +[Matt Evans]: https://github.com/matthewevans +[Joe Blow]: https://github.com/mossarelli +[Kasper Andersen]: https://github.com/kasma1990 +[Eduard-Mihai Burtescu]: https://github.com/eddyb +[Andres Täht]: https://github.com/andrestaht +[Rene Saarsoo]: https://github.com/nene +[Philipp Hauer]: https://github.com/phauer +[Ike Ku]: https://github.com/dempfi +[Guannan Wei]: https://github.com/Kraks +[Sam Wu]: https://github.com/samsam2310 + + +## Version 9.9.0 + +New languages + +- *LLVM* by [Michael Rodler][] + +Improvements: + +- *TypeScript* updated with annotations and param lists inside constructors, by + [Raphael Parree][]. +- *CoffeeScript* updated with new keywords and fixed to recognize JavaScript + in \`\`\`, thanks to thanks to [Geoffrey Booth][]. +- Compiler directives in *Delphi* are now correctly highlighted as "meta". + +[Raphael Parree]: https://github.com/rparree +[Michael Rodler]: https://github.com/f0rki +[Geoffrey Booth]: https://github.com/GeoffreyBooth + + +## Version 9.8.0 "New York" + +This version is the second one that deserved a name. Because I'm in New York, +and the release isn't missing the deadline only because it's still Tuesday on +West Coast. + +New languages: + +- *Clean* by [Camil Staps][] +- *Flix* by [Magnus Madsen][] + +Improvements: + +- [Kenton Hamaluik][] did a comprehensive update for *Haxe*. +- New commands for *PowerShell* from [Nicolas Le Gall][]. +- [Jan T. Sott][] updated *NSIS*. +- *Java* and *Swift* support unicode characters in identifiers thanks to + [Alexander Lichter][]. + +[Camil Staps]: https://github.com/camilstaps +[Magnus Madsen]: https://github.com/magnus-madsen +[Kenton Hamaluik]: https://github.com/FuzzyWuzzie +[Nicolas Le Gall]: https://github.com/darkitty +[Jan T. Sott]: https://github.com/idleberg +[Alexander Lichter]: https://github.com/manniL + + +## Version 9.7.0 + +A comprehensive bugfix release. This is one of the best things about +highlight.js: even boring things keep getting better (even if slow). + +- VHDL updated with PSL keywords and uses more consistent styling. +- Nested C-style comments no longer break highlighting in many languages. +- JavaScript updated with `=>` functions, highlighted object attributes and + parsing within template string substitution blocks (`${...}`). +- Fixed another corner case with self-closing `` in JSX. +- Added `HEALTHCHECK` directive in Docker. +- Delphi updated with new Free Pascal keywords. +- Fixed digit separator parsing in C++. +- C# updated with new keywords and fixed to allow multiple identifiers within + generics `<...>`. +- Fixed another slow regex in Less. + + +## Version 9.6.0 + +New languages: + +- *ABNF* and *EBNF* by [Alex McKibben][] +- *Awk* by [Matthew Daly][] +- *SubUnit* by [Sergey Bronnikov][] + +New styles: + +- *Atom One* in both Dark and Light variants by [Daniel Gamage][] + +Plus, a few smaller updates for *Lasso*, *Elixir*, *C++* and *SQL*. + +[Alex McKibben]: https://github.com/mckibbenta +[Daniel Gamage]: https://github.com/danielgamage +[Matthew Daly]: https://github.com/matthewbdaly +[Sergey Bronnikov]: https://github.com/ligurio + + +## Version 9.5.0 + +New languages: + +- *Excel* by [Victor Zhou][] +- *Linden Scripting Language* by [Builder's Brewery][] +- *TAP* (Test Anything Protocol) by [Sergey Bronnikov][] +- *Pony* by [Joe Eli McIlvain][] +- *Coq* by [Stephan Boyer][] +- *dsconfig* and *LDIF* by [Jacob Childress][] + +New styles: + +- *Ocean Dark* by [Gavin Siu][] + +Notable changes: + +- [Minh Nguyễn][] added more built-ins to Objective C. +- [Jeremy Hull][] fixed corner cases in C++ preprocessor directives and Diff + comments. +- [Victor Zhou][] added support for digit separators in C++ numbers. + +[Gavin Siu]: https://github.com/gavsiu +[Builder's Brewery]: https://github.com/buildersbrewery +[Victor Zhou]: https://github.com/OiCMudkips +[Sergey Bronnikov]: https://github.com/ligurio +[Joe Eli McIlvain]: https://github.com/jemc +[Stephan Boyer]: https://github.com/boyers +[Jacob Childress]: https://github.com/braveulysses +[Minh Nguyễn]: https://github.com/1ec5 +[Jeremy Hull]: https://github.com/sourrust + + +## Version 9.4.0 + +New languages: + +- *PureBASIC* by [Tristano Ajmone][] +- *BNF* by [Oleg Efimov][] +- *Ada* by [Lars Schulna][] + +New styles: + +- *PureBASIC* by [Tristano Ajmone][] + +Improvements to existing languages and styles: + +- We now highlight function declarations in Go. +- [Taisuke Fujimoto][] contributed very convoluted rules for raw and + interpolated strings in C#. +- [Boone Severson][] updated Verilog to comply with IEEE 1800-2012 + SystemVerilog. +- [Victor Zhou][] improved rules for comments and strings in PowerShell files. +- [Janis Voigtländer][] updated the definition of Elm to version 0.17 of the + languages. Elm is now featured on the front page of . +- Special variable `$this` is highlighted as a keyword in PHP. +- `usize` and `isize` are now highlighted in Rust. +- Fixed labels and directives in x86 assembler. + +[Tristano Ajmone]: https://github.com/tajmone +[Taisuke Fujimoto]: https://github.com/temp-impl +[Oleg Efimov]: https://github.com/Sannis +[Boone Severson]: https://github.com/BooneJS +[Victor Zhou]: https://github.com/OiCMudkips +[Lars Schulna]: https://github.com/captain-hanuta +[Janis Voigtländer]: https://github.com/jvoigtlaender + + +## Version 9.3.0 + +New languages: + +- *Tagger Script* by [Philipp Wolfer][] +- *MoonScript* by [Billy Quith][] + +New styles: + +- *xt256* by [Herbert Shin][] + +Improvements to existing languages and styles: + +- More robust handling of unquoted HTML tag attributes +- Relevance tuning for QML which was unnecessary eager at seizing other + languages' code +- Improve GAMS language parsing +- Fixed a bunch of bugs around selectors in Less +- Kotlin's got a new definition for annotations, updated keywords and other + minor improvements +- Added `move` to Rust keywords +- Markdown now recognizes \`\`\`-fenced code blocks +- Improved detection of function declarations in C++ and C# + +[Philipp Wolfer]: https://github.com/phw +[Billy Quith]: https://github.com/billyquith +[Herbert Shin]: https://github.com/initbar + + +## Version 9.2.0 + +New languages: + +- *QML* by [John Foster][] +- *HTMLBars* by [Michael Johnston][] +- *CSP* by [Taras][] +- *Maxima* by [Robert Dodier][] + +New styles: + +- *Gruvbox* by [Qeole][] +- *Dracula* by [Denis Ciccale][] + +Improvements to existing languages and styles: + +- We now correctly handle JSX with arbitrary node tree depth. +- Argument list for `(lambda)` in Scheme is no longer highlighted as a function + call. +- Stylus syntax doesn't break on valid CSS. +- More correct handling of comments and strings and other improvements for + VimScript. +- More subtle work on the default style. +- We now use anonymous modules for AMD. +- `macro_rules!` is now recognized as a built-in in Rust. + +[John Foster]: https://github.com/jf990 +[Qeole]: https://github.com/Qeole +[Denis Ciccale]: https://github.com/dciccale +[Michael Johnston]: https://github.com/lastobelus +[Taras]: https://github.com/oxdef +[Robert Dodier]: https://github.com/robert-dodier + + +## Version 9.1.0 + +New languages: + +- *Stan* by [Brendan Rocks][] +- *BASIC* by [Raphaël Assénat][] +- *GAUSS* by [Matt Evans][] +- *DTS* by [Martin Braun][] +- *Arduino* by [Stefania Mellai][] + +New Styles: + +- *Arduino Light* by [Stefania Mellai][] + +Improvements to existing languages and styles: + +- Handle return type annotations in Python +- Allow shebang headers in Javascript +- Support strings in Rust meta +- Recognize `struct` as a class-level definition in Rust +- Recognize b-prefixed chars and strings in Rust +- Better numbers handling in Verilog + +[Brendan Rocks]: http://brendanrocks.com +[Raphaël Assénat]: https://github.com/raphnet +[Matt Evans]: https://github.com/matthewevans +[Martin Braun]: https://github.com/mbr0wn +[Stefania Mellai]: https://github.com/smellai + + +## Version 9.0.0 + +The new major version brings a reworked styling system. Highlight.js now defines +a limited set of highlightable classes giving a consistent result across all the +styles and languages. You can read a more detailed explanation and background in +the [tracking issue][#348] that started this long process back in May. + +This change is backwards incompatible for those who uses highlight.js with a +custom stylesheet. The [new style guide][sg] explains how to write styles +in this new world. + +Bundled themes have also suffered a significant amount of improvements and may +look different in places, but all the things now consistent and make more sense. +Among others, the Default style has got a refresh and will probably be tweaked +some more in next releases. Please do give your feedback in our +[issue tracker][issues]. + +New languages in this release: + +- *Caché Object Script* by [Nikita Savchenko][] +- *YAML* by [Stefan Wienert][] +- *MIPS Assembler* by [Nebuleon Fumika][] +- *HSP* by [prince][] + +Improvements to existing languages and styles: + +- ECMAScript 6 modules import now do not require closing semicolon. +- ECMAScript 6 classes constructors now highlighted. +- Template string support for Typescript, as for ECMAScript 6. +- Scala case classes params highlight fixed. +- Built-in names introduced in Julia v0.4 added by [Kenta Sato][]. +- Refreshed Default style. + +Other notable changes: + +- [Web workers support][webworkers] added bu [Jan Kühle][]. +- We now have tests for compressed browser builds as well. +- The building tool chain has been switched to node.js 4.x. and is now + shamelessly uses ES6 features all over the place, courtesy of [Jeremy Hull][]. +- License added to non-compressed browser build. + +[Jan Kühle]: https://github.com/frigus02 +[Stefan Wienert]: https://github.com/zealot128 +[Kenta Sato]: https://github.com/bicycle1885 +[Nikita Savchenko]: https://github.com/ZitRos +[webworkers]: https://github.com/isagalaev/highlight.js#web-workers +[Jeremy Hull]: https://github.com/sourrust +[#348]: https://github.com/isagalaev/highlight.js/issues/348 +[sg]: http://highlightjs.readthedocs.org/en/latest/style-guide.html +[issues]: https://github.com/isagalaev/highlight.js/issues +[Nebuleon Fumika]: https://github.com/Nebuleon +[prince]: https://github.com/prince-0203 + + +## Version 8.9.1 + +Some last-minute changes reverted due to strange bug with minified browser build: + +- Scala case classes params highlight fixed +- ECMAScript 6 modules import now do not require closing semicolon +- ECMAScript 6 classes constructors now highlighted +- Template string support for Typescript, as for ECMAScript 6 +- License added to not minified browser build + + +## Version 8.9.0 + +New languages: + +- *crmsh* by [Kristoffer Gronlund][] +- *SQF* by [Soren Enevoldsen][] + +[Kristoffer Gronlund]: https://github.com/krig +[Soren Enevoldsen]: https://github.com/senevoldsen90 + +Notable fixes and improvements to existing languages: + +- Added `abstract` and `namespace` keywords to TypeScript by [Daniel Rosenwasser][] +- Added `label` support to Dockerfile by [Ladislav Prskavec][] +- Crystal highlighting improved by [Tsuyusato Kitsune][] +- Missing Swift keywords added by [Nate Cook][] +- Improve detection of C block comments +- ~~Scala case classes params highlight fixed~~ +- ~~ECMAScript 6 modules import now do not require closing semicolon~~ +- ~~ECMAScript 6 classes constructors now highlighted~~ +- ~~Template string support for Typescript, as for ECMAScript 6~~ + +Other notable changes: + +- ~~License added to not minified browser build~~ + +[Kristoffer Gronlund]: https://github.com/krig +[Søren Enevoldsen]: https://github.com/senevoldsen90 +[Daniel Rosenwasser]: https://github.com/DanielRosenwasser +[Ladislav Prskavec]: https://github.com/abtris +[Tsuyusato Kitsune]: https://github.com/MakeNowJust +[Nate Cook]: https://github.com/natecook1000 + + +## Version 8.8.0 + +New languages: + +- *Golo* by [Philippe Charrière][] +- *GAMS* by [Stefan Bechert][] +- *IRPF90* by [Anthony Scemama][] +- *Access logs* by [Oleg Efimov][] +- *Crystal* by [Tsuyusato Kitsune][] + +Notable fixes and improvements to existing languages: + +- JavaScript highlighting no longer fails with ES6 default parameters +- Added keywords `async` and `await` to Python +- PHP heredoc support improved +- Allow preprocessor directives within C++ functions + +Other notable changes: + +- Change versions to X.Y.Z SemVer-compatible format +- Added ability to build all targets at once + +[Philippe Charrière]: https://github.com/k33g +[Stefan Bechert]: https://github.com/b-pos465 +[Anthony Scemama]: https://github.com/scemama +[Oleg Efimov]: https://github.com/Sannis +[Tsuyusato Kitsune]: https://github.com/MakeNowJust + + +## Version 8.7 + +New languages: + +- *Zephir* by [Oleg Efimov][] +- *Elm* by [Janis Voigtländer][] +- *XQuery* by [Dirk Kirsten][] +- *Mojolicious* by [Dotan Dimet][] +- *AutoIt* by Manh Tuan from [J2TeaM][] +- *Toml* (ini extension) by [Guillaume Gomez][] + +New styles: + +- *Hopscotch* by [Jan T. Sott][] +- *Grayscale* by [MY Sun][] + +Notable fixes and improvements to existing languages: + +- Fix encoding of images when copied over in certain builds +- Fix incorrect highlighting of the word "bug" in comments +- Treat decorators different from matrix multiplication in Python +- Fix traits inheritance highlighting in Rust +- Fix incorrect document +- Oracle keywords added to SQL language definition by [Vadimtro][] +- Postgres keywords added to SQL language definition by [Benjamin Auder][] +- Fix registers in x86asm being highlighted as a hex number +- Fix highlighting for numbers with a leading decimal point +- Correctly highlight numbers and strings inside of C/C++ macros +- C/C++ functions now support pointer, reference, and move returns + +[Oleg Efimov]: https://github.com/Sannis +[Guillaume Gomez]: https://github.com/GuillaumeGomez +[Janis Voigtländer]: https://github.com/jvoigtlaender +[Jan T. Sott]: https://github.com/idleberg +[Dirk Kirsten]: https://github.com/dirkk +[MY Sun]: https://github.com/simonmysun +[Vadimtro]: https://github.com/Vadimtro +[Benjamin Auder]: https://github.com/ghost +[Dotan Dimet]: https://github.com/dotandimet +[J2TeaM]: https://github.com/J2TeaM + + +## Version 8.6 + +New languages: + +- *C/AL* by [Kenneth Fuglsang][] +- *DNS zone file* by [Tim Schumacher][] +- *Ceylon* by [Lucas Werkmeister][] +- *OpenSCAD* by [Dan Panzarella][] +- *Inform7* by [Bruno Dias][] +- *armasm* by [Dan Panzarella][] +- *TP* by [Jay Strybis][] + +New styles: + +- *Atelier Cave*, *Atelier Estuary*, + *Atelier Plateau* and *Atelier Savanna* by [Bram de Haan][] +- *Github Gist* by [Louis Barranqueiro][] + +Notable fixes and improvements to existing languages: + +- Multi-line raw strings from C++11 are now supported +- Fix class names with dashes in HAML +- The `async` keyword from ES6/7 is now supported +- TypeScript functions handle type and parameter complexity better +- We unified phpdoc/javadoc/yardoc etc modes across all languages +- CSS .class selectors relevance was dropped to prevent wrong language detection +- Images is now included to CDN build +- Release process is now automated + +[Bram de Haan]: https://github.com/atelierbram +[Kenneth Fuglsang]: https://github.com/kfuglsang +[Louis Barranqueiro]: https://github.com/LouisBarranqueiro +[Tim Schumacher]: https://github.com/enko +[Lucas Werkmeister]: https://github.com/lucaswerkmeister +[Dan Panzarella]: https://github.com/pzl +[Bruno Dias]: https://github.com/sequitur +[Jay Strybis]: https://github.com/unreal + + +## Version 8.5 + +New languages: + +- *pf.conf* by [Peter Piwowarski][] +- *Julia* by [Kenta Sato][] +- *Prolog* by [Raivo Laanemets][] +- *Docker* by [Alexis Hénaut][] +- *Fortran* by [Anthony Scemama][] and [Thomas Applencourt][] +- *Kotlin* by [Sergey Mashkov][] + +New styles: + +- *Agate* by [Taufik Nurrohman][] +- *Darcula* by [JetBrains][] +- *Atelier Sulphurpool* by [Bram de Haan][] +- *Android Studio* by [Pedro Oliveira][] + +Notable fixes and improvements to existing languages: + +- ES6 features in JavaScript are better supported now by [Gu Yiling][]. +- Swift now recognizes body-less method definitions. +- Single expression functions `def foo, do: ... ` now work in Elixir. +- More uniform detection of built-in classes in Objective C. +- Fixes for number literals and processor directives in Rust. +- HTML ` + ``` + +- `tabReplace` and `useBR` that were used in different places are also unified + into the global options object and are to be set using `configure(options)`. + This function is documented in our [API docs][]. Also note that these + parameters are gone from `highlightBlock` and `fixMarkup` which are now also + rely on `configure`. + +- We removed public-facing (though undocumented) object `hljs.LANGUAGES` which + was used to register languages with the library in favor of two new methods: + `registerLanguage` and `getLanguage`. Both are documented in our [API docs][]. + +- Result returned from `highlight` and `highlightAuto` no longer contains two + separate attributes contributing to relevance score, `relevance` and + `keyword_count`. They are now unified in `relevance`. + +Another technically compatible change that nonetheless might need attention: + +- The structure of the NPM package was refactored, so if you had installed it + locally, you'll have to update your paths. The usual `require('highlight.js')` + works as before. This is contributed by [Dmitry Smolin][]. + +New features: + +- Languages now can be recognized by multiple names like "js" for JavaScript or + "html" for, well, HTML (which earlier insisted on calling it "xml"). These + aliases can be specified in the class attribute of the code container in your + HTML as well as in various API calls. For now there are only a few very common + aliases but we'll expand it in the future. All of them are listed in the + [class reference][cr]. + +- Language detection can now be restricted to a subset of languages relevant in + a given context — a web page or even a single highlighting call. This is + especially useful for node.js build that includes all the known languages. + Another example is a StackOverflow-style site where users specify languages + as tags rather than in the markdown-formatted code snippets. This is + documented in the [API reference][] (see methods `highlightAuto` and + `configure`). + +- Language definition syntax streamlined with [variants][] and + [beginKeywords][]. + +New languages and styles: + +- *Oxygene* by [Carlo Kok][] +- *Mathematica* by [Daniel Kvasnička][] +- *Autohotkey* by [Seongwon Lee][] +- *Atelier* family of styles in 10 variants by [Bram de Haan][] +- *Paraíso* styles by [Jan T. Sott][] + +Miscellaneous improvements: + +- Highlighting `=>` prompts in Clojure. +- [Jeremy Hull][] fixed a lot of styles for consistency. +- Finally, highlighting PHP and HTML [mixed in peculiar ways][php-html]. +- Objective C and C# now properly highlight titles in method definition. +- Big overhaul of relevance counting for a number of languages. Please do report + bugs about mis-detection of non-trivial code snippets! + +[API reference]: http://highlightjs.readthedocs.org/en/latest/api.html + +[cr]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html +[api docs]: http://highlightjs.readthedocs.org/en/latest/api.html +[variants]: https://groups.google.com/d/topic/highlightjs/VoGC9-1p5vk/discussion +[beginKeywords]: https://github.com/isagalaev/highlight.js/commit/6c7fdea002eb3949577a85b3f7930137c7c3038d +[php-html]: https://twitter.com/highlightjs/status/408890903017689088 + +[Carlo Kok]: https://github.com/carlokok +[Bram de Haan]: https://github.com/atelierbram +[Daniel Kvasnička]: https://github.com/dkvasnicka +[Dmitry Smolin]: https://github.com/dimsmol +[Jeremy Hull]: https://github.com/sourrust +[Seongwon Lee]: https://github.com/dlimpid +[Jan T. Sott]: https://github.com/idleberg + + +## Version 7.5 + +A catch-up release dealing with some of the accumulated contributions. This one +is probably will be the last before the 8.0 which will be slightly backwards +incompatible regarding some advanced use-cases. + +One outstanding change in this version is the addition of 6 languages to the +[hosted script][d]: Markdown, ObjectiveC, CoffeeScript, Apache, Nginx and +Makefile. It now weighs about 6K more but we're going to keep it under 30K. + +New languages: + +- OCaml by [Mehdi Dogguy][mehdid] and [Nicolas Braud-Santoni][nbraud] +- [LiveCode Server][lcs] by [Ralf Bitter][revig] +- Scilab by [Sylvestre Ledru][sylvestre] +- basic support for Makefile by [Ivan Sagalaev][isagalaev] + +Improvements: + +- Ruby's got support for characters like `?A`, `?1`, `?\012` etc. and `%r{..}` + regexps. +- Clojure now allows a function call in the beginning of s-expressions + `(($filter "myCount") (arr 1 2 3 4 5))`. +- Haskell's got new keywords and now recognizes more things like pragmas, + preprocessors, modules, containers, FFIs etc. Thanks to [Zena Treep][treep] + for the implementation and to [Jeremy Hull][sourrust] for guiding it. +- Miscellaneous fixes in PHP, Brainfuck, SCSS, Asciidoc, CMake, Python and F#. + +[mehdid]: https://github.com/mehdid +[nbraud]: https://github.com/nbraud +[revig]: https://github.com/revig +[lcs]: http://livecode.com/developers/guides/server/ +[sylvestre]: https://github.com/sylvestre +[isagalaev]: https://github.com/isagalaev +[treep]: https://github.com/treep +[sourrust]: https://github.com/sourrust +[d]: http://highlightjs.org/download/ + + +## New core developers + +The latest long period of almost complete inactivity in the project coincided +with growing interest to it led to a decision that now seems completely obvious: +we need more core developers. + +So without further ado let me welcome to the core team two long-time +contributors: [Jeremy Hull][] and [Oleg +Efimov][]. + +Hope now we'll be able to work through stuff faster! + +P.S. The historical commit is [here][1] for the record. + +[Jeremy Hull]: https://github.com/sourrust +[Oleg Efimov]: https://github.com/sannis +[1]: https://github.com/isagalaev/highlight.js/commit/f3056941bda56d2b72276b97bc0dd5f230f2473f + + +## Version 7.4 + +This long overdue version is a snapshot of the current source tree with all the +changes that happened during the past year. Sorry for taking so long! + +Along with the changes in code highlight.js has finally got its new home at +, moving from its cradle on Software Maniacs which it +outgrew a long time ago. Be sure to report any bugs about the site to +. + +On to what's new… + +New languages: + +- Handlebars templates by [Robin Ward][] +- Oracle Rules Language by [Jason Jacobson][] +- F# by [Joans Follesø][] +- AsciiDoc and Haml by [Dan Allen][] +- Lasso by [Eric Knibbe][] +- SCSS by [Kurt Emch][] +- VB.NET by [Poren Chiang][] +- Mizar by [Kelley van Evert][] + +[Robin Ward]: https://github.com/eviltrout +[Jason Jacobson]: https://github.com/jayce7 +[Joans Follesø]: https://github.com/follesoe +[Dan Allen]: https://github.com/mojavelinux +[Eric Knibbe]: https://github.com/EricFromCanada +[Kurt Emch]: https://github.com/kemch +[Poren Chiang]: https://github.com/rschiang +[Kelley van Evert]: https://github.com/kelleyvanevert + +New style themes: + +- Monokai Sublime by [noformnocontent][] +- Railscasts by [Damien White][] +- Obsidian by [Alexander Marenin][] +- Docco by [Simon Madine][] +- Mono Blue by [Ivan Sagalaev][] (uses a single color hue for everything) +- Foundation by [Dan Allen][] + +[noformnocontent]: http://nn.mit-license.org/ +[Damien White]: https://github.com/visoft +[Alexander Marenin]: https://github.com/ioncreature +[Simon Madine]: https://github.com/thingsinjars +[Ivan Sagalaev]: https://github.com/isagalaev + +Other notable changes: + +- Corrected many corner cases in CSS. +- Dropped Python 2 version of the build tool. +- Implemented building for the AMD format. +- Updated Rust keywords (thanks to [Dmitry Medvinsky][]). +- Literal regexes can now be used in language definitions. +- CoffeeScript highlighting is now significantly more robust and rich due to + input from [Cédric Néhémie][]. + +[Dmitry Medvinsky]: https://github.com/dmedvinsky +[Cédric Néhémie]: https://github.com/abe33 + + +## Version 7.3 + +- Since this version highlight.js no longer works in IE version 8 and older. + It's made it possible to reduce the library size and dramatically improve code + readability and made it easier to maintain. Time to go forward! + +- New languages: AppleScript (by [Nathan Grigg][ng] and [Dr. Drang][dd]) and + Brainfuck (by [Evgeny Stepanischev][bolk]). + +- Improvements to existing languages: + + - interpreter prompt in Python (`>>>` and `...`) + - @-properties and classes in CoffeeScript + - E4X in JavaScript (by [Oleg Efimov][oe]) + - new keywords in Perl (by [Kirk Kimmel][kk]) + - big Ruby syntax update (by [Vasily Polovnyov][vast]) + - small fixes in Bash + +- Also Oleg Efimov did a great job of moving all the docs for language and style + developers and contributors from the old wiki under the source code in the + "docs" directory. Now these docs are nicely presented at + . + +[ng]: https://github.com/nathan11g +[dd]: https://github.com/drdrang +[bolk]: https://github.com/bolknote +[oe]: https://github.com/Sannis +[kk]: https://github.com/kimmel +[vast]: https://github.com/vast + + +## Version 7.2 + +A regular bug-fix release without any significant new features. Enjoy! + + +## Version 7.1 + +A Summer crop: + +- [Marc Fornos][mf] made the definition for Clojure along with the matching + style Rainbow (which, of course, works for other languages too). +- CoffeeScript support continues to improve getting support for regular + expressions. +- Yoshihide Jimbo ported to highlight.js [five Tomorrow styles][tm] from the + [project by Chris Kempson][tm0]. +- Thanks to [Casey Duncun][cd] the library can now be built in the popular + [AMD format][amd]. +- And last but not least, we've got a fair number of correctness and consistency + fixes, including a pretty significant refactoring of Ruby. + +[mf]: https://github.com/mfornos +[tm]: http://jmblog.github.com/color-themes-for-highlightjs/ +[tm0]: https://github.com/ChrisKempson/Tomorrow-Theme +[cd]: https://github.com/caseman +[amd]: http://requirejs.org/docs/whyamd.html + + +## Version 7.0 + +The reason for the new major version update is a global change of keyword syntax +which resulted in the library getting smaller once again. For example, the +hosted build is 2K less than at the previous version while supporting two new +languages. + +Notable changes: + +- The library now works not only in a browser but also with [node.js][]. It is + installable with `npm install highlight.js`. [API][] docs are available on our + wiki. + +- The new unique feature (apparently) among syntax highlighters is highlighting + *HTTP* headers and an arbitrary language in the request body. The most useful + languages here are *XML* and *JSON* both of which highlight.js does support. + Here's [the detailed post][p] about the feature. + +- Two new style themes: a dark "south" *[Pojoaque][]* by Jason Tate and an + emulation of*XCode* IDE by [Angel Olloqui][ao]. + +- Three new languages: *D* by [Aleksandar Ružičić][ar], *R* by [Joe Cheng][jc] + and *GLSL* by [Sergey Tikhomirov][st]. + +- *Nginx* syntax has become a million times smaller and more universal thanks to + remaking it in a more generic manner that doesn't require listing all the + directives in the known universe. + +- Function titles are now highlighted in *PHP*. + +- *Haskell* and *VHDL* were significantly reworked to be more rich and correct + by their respective maintainers [Jeremy Hull][sr] and [Igor Kalnitsky][ik]. + +And last but not least, many bugs have been fixed around correctness and +language detection. + +Overall highlight.js currently supports 51 languages and 20 style themes. + +[node.js]: http://nodejs.org/ +[api]: http://softwaremaniacs.org/wiki/doku.php/highlight.js:api +[p]: http://softwaremaniacs.org/blog/2012/05/10/http-and-json-in-highlight-js/en/ +[pojoaque]: http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html +[ao]: https://github.com/angelolloqui +[ar]: https://github.com/raleksandar +[jc]: https://github.com/jcheng5 +[st]: https://github.com/tikhomirov +[sr]: https://github.com/sourrust +[ik]: https://github.com/ikalnitsky + + +## Version 6.2 + +A lot of things happened in highlight.js since the last version! We've got nine +new contributors, the discussion group came alive, and the main branch on GitHub +now counts more than 350 followers. Here are most significant results coming +from all this activity: + +- 5 (five!) new languages: Rust, ActionScript, CoffeeScript, MatLab and + experimental support for markdown. Thanks go to [Andrey Vlasovskikh][av], + [Alexander Myadzel][am], [Dmytrii Nagirniak][dn], [Oleg Efimov][oe], [Denis + Bardadym][db] and [John Crepezzi][jc]. + +- 2 new style themes: Monokai by [Luigi Maselli][lm] and stylistic imitation of + another well-known highlighter Google Code Prettify by [Aahan Krish][ak]. + +- A vast number of [correctness fixes and code refactorings][log], mostly made + by [Oleg Efimov][oe] and [Evgeny Stepanischev][es]. + +[av]: https://github.com/vlasovskikh +[am]: https://github.com/myadzel +[dn]: https://github.com/dnagir +[oe]: https://github.com/Sannis +[db]: https://github.com/btd +[jc]: https://github.com/seejohnrun +[lm]: http://grigio.org/ +[ak]: https://github.com/geekpanth3r +[es]: https://github.com/bolknote +[log]: https://github.com/isagalaev/highlight.js/commits/ + + +## Version 6.1 — Solarized + +[Jeremy Hull][jh] has implemented my dream feature — a port of [Solarized][] +style theme famous for being based on the intricate color theory to achieve +correct contrast and color perception. It is now available for highlight.js in +both variants — light and dark. + +This version also adds a new original style Arta. Its author pumbur maintains a +[heavily modified fork of highlight.js][pb] on GitHub. + +[jh]: https://github.com/sourrust +[solarized]: http://ethanschoonover.com/solarized +[pb]: https://github.com/pumbur/highlight.js + + +## Version 6.0 + +New major version of the highlighter has been built on a significantly +refactored syntax. Due to this it's even smaller than the previous one while +supporting more languages! + +New languages are: + +- Haskell by [Jeremy Hull][sourrust] +- Erlang in two varieties — module and REPL — made collectively by [Nikolay + Zakharov][desh], [Dmitry Kovega][arhibot] and [Sergey Ignatov][ignatov] +- Objective C by [Valerii Hiora][vhbit] +- Vala by [Antono Vasiljev][antono] +- Go by [Stephan Kountso][steplg] + +[sourrust]: https://github.com/sourrust +[desh]: http://desh.su/ +[arhibot]: https://github.com/arhibot +[ignatov]: https://github.com/ignatov +[vhbit]: https://github.com/vhbit +[antono]: https://github.com/antono +[steplg]: https://github.com/steplg + +Also this version is marginally faster and fixes a number of small long-standing +bugs. + +Developer overview of the new language syntax is available in a [blog post about +recent beta release][beta]. + +[beta]: http://softwaremaniacs.org/blog/2011/04/25/highlight-js-60-beta/en/ + +P.S. New version is not yet available on a Yandex CDN, so for now you have to +download [your own copy][d]. + +[d]: /soft/highlight/en/download/ + + +## Version 5.14 + +Fixed bugs in HTML/XML detection and relevance introduced in previous +refactoring. + +Also test.html now shows the second best result of language detection by +relevance. + + +## Version 5.13 + +Past weekend began with a couple of simple additions for existing languages but +ended up in a big code refactoring bringing along nice improvements for language +developers. + +### For users + +- Description of C++ has got new keywords from the upcoming [C++ 0x][] standard. +- Description of HTML has got new tags from [HTML 5][]. +- CSS-styles have been unified to use consistent padding and also have lost + pop-outs with names of detected languages. +- [Igor Kalnitsky][ik] has sent two new language descriptions: CMake & VHDL. + +This makes total number of languages supported by highlight.js to reach 35. + +Bug fixes: + +- Custom classes on `
` tags are not being overridden anymore
+- More correct highlighting of code blocks inside non-`
` containers:
+  highlighter now doesn't insist on replacing them with its own container and
+  just replaces the contents.
+- Small fixes in browser compatibility and heuristics.
+
+[c++ 0x]: http://ru.wikipedia.org/wiki/C%2B%2B0x
+[html 5]: http://en.wikipedia.org/wiki/HTML5
+[ik]: http://kalnitsky.org.ua/
+
+### For developers
+
+The most significant change is the ability to include language submodes right
+under `contains` instead of defining explicit named submodes in the main array:
+
+    contains: [
+      'string',
+      'number',
+      {begin: '\\n', end: hljs.IMMEDIATE_RE}
+    ]
+
+This is useful for auxiliary modes needed only in one place to define parsing.
+Note that such modes often don't have `className` and hence won't generate a
+separate `` in the resulting markup. This is similar in effect to
+`noMarkup: true`. All existing languages have been refactored accordingly.
+
+Test file test.html has at last become a real test. Now it not only puts the
+detected language name under the code snippet but also tests if it matches the
+expected one. Test summary is displayed right above all language snippets.
+
+
+## CDN
+
+Fine people at [Yandex][] agreed to host highlight.js on their big fast servers.
+[Link up][l]!
+
+[yandex]: http://yandex.com/
+[l]: http://softwaremaniacs.org/soft/highlight/en/download/
+
+
+## Version 5.10 — "Paris".
+
+Though I'm on a vacation in Paris, I decided to release a new version with a
+couple of small fixes:
+
+- Tomas Vitvar discovered that TAB replacement doesn't always work when used
+  with custom markup in code
+- SQL parsing is even more rigid now and doesn't step over SmallTalk in tests
+
+
+## Version 5.9
+
+A long-awaited version is finally released.
+
+New languages:
+
+- Andrew Fedorov made a definition for Lua
+- a long-time highlight.js contributor [Peter Leonov][pl] made a definition for
+  Nginx config
+- [Vladimir Moskva][vm] made a definition for TeX
+
+[pl]: http://kung-fu-tzu.ru/
+[vm]: http://fulc.ru/
+
+Fixes for existing languages:
+
+- [Loren Segal][ls] reworked the Ruby definition and added highlighting for
+  [YARD][] inline documentation
+- the definition of SQL has become more solid and now it shouldn't be overly
+  greedy when it comes to language detection
+
+[ls]: http://gnuu.org/
+[yard]: http://yardoc.org/
+
+The highlighter has become more usable as a library allowing to do highlighting
+from initialization code of JS frameworks and in ajax methods (see.
+readme.eng.txt).
+
+Also this version drops support for the [WordPress][wp] plugin. Everyone is
+welcome to [pick up its maintenance][p] if needed.
+
+[wp]: http://wordpress.org/
+[p]: http://bazaar.launchpad.net/~isagalaev/+junk/highlight/annotate/342/src/wp_highlight.js.php
+
+
+## Version 5.8
+
+- Jan Berkel has contributed a definition for Scala. +1 to hotness!
+- All CSS-styles are rewritten to work only inside `
` tags to avoid
+  conflicts with host site styles.
+
+
+## Version 5.7.
+
+Fixed escaping of quotes in VBScript strings.
+
+
+## Version 5.5
+
+This version brings a small change: now .ini-files allow digits, underscores and
+square brackets in key names.
+
+
+## Version 5.4
+
+Fixed small but upsetting bug in the packer which caused incorrect highlighting
+of explicitly specified languages. Thanks to Andrew Fedorov for precise
+diagnostics!
+
+
+## Version 5.3
+
+The version to fulfil old promises.
+
+The most significant change is that highlight.js now preserves custom user
+markup in code along with its own highlighting markup. This means that now it's
+possible to use, say, links in code. Thanks to [Vladimir Dolzhenko][vd] for the
+[initial proposal][1] and for making a proof-of-concept patch.
+
+Also in this version:
+
+- [Vasily Polovnyov][vp] has sent a GitHub-like style and has implemented
+  support for CSS @-rules and Ruby symbols.
+- Yura Zaripov has sent two styles: Brown Paper and School Book.
+- Oleg Volchkov has sent a definition for [Parser 3][p3].
+
+[1]: http://softwaremaniacs.org/forum/highlightjs/6612/
+[p3]: http://www.parser.ru/
+[vp]: http://vasily.polovnyov.ru/
+[vd]: http://dolzhenko.blogspot.com/
+
+
+## Version 5.2
+
+- at last it's possible to replace indentation TABs with something sensible
+  (e.g. 2 or 4 spaces)
+- new keywords and built-ins for 1C by Sergey Baranov
+- a couple of small fixes to Apache highlighting
+
+
+## Version 5.1
+
+This is one of those nice version consisting entirely of new and shiny
+contributions!
+
+- [Vladimir Ermakov][vooon] created highlighting for AVR Assembler
+- [Ruslan Keba][rukeba] created highlighting for Apache config file. Also his
+  original visual style for it is now available for all highlight.js languages
+  under the name "Magula".
+- [Shuen-Huei Guan][drake] (aka Drake) sent new keywords for RenderMan
+  languages. Also thanks go to [Konstantin Evdokimenko][ke] for his advice on
+  the matter.
+
+[vooon]: http://vehq.ru/about/
+[rukeba]: http://rukeba.com/
+[drake]: http://drakeguan.org/
+[ke]: http://k-evdokimenko.moikrug.ru/
+
+
+## Version 5.0
+
+The main change in the new major version of highlight.js is a mechanism for
+packing several languages along with the library itself into a single compressed
+file. Now sites using several languages will load considerably faster because
+the library won't dynamically include additional files while loading.
+
+Also this version fixes a long-standing bug with Javascript highlighting that
+couldn't distinguish between regular expressions and division operations.
+
+And as usually there were a couple of minor correctness fixes.
+
+Great thanks to all contributors! Keep using highlight.js.
+
+
+## Version 4.3
+
+This version comes with two contributions from [Jason Diamond][jd]:
+
+- language definition for C# (yes! it was a long-missed thing!)
+- Visual Studio-like highlighting style
+
+Plus there are a couple of minor bug fixes for parsing HTML and XML attributes.
+
+[jd]: http://jason.diamond.name/weblog/
+
+
+## Version 4.2
+
+The biggest news is highlighting for Lisp, courtesy of Vasily Polovnyov. It's
+somewhat experimental meaning that for highlighting "keywords" it doesn't use
+any pre-defined set of a Lisp dialect. Instead it tries to highlight first word
+in parentheses wherever it makes sense. I'd like to ask people programming in
+Lisp to confirm if it's a good idea and send feedback to [the forum][f].
+
+Other changes:
+
+- Smalltalk was excluded from DEFAULT_LANGUAGES to save traffic
+- [Vladimir Epifanov][voldmar] has implemented javascript style switcher for
+  test.html
+- comments now allowed inside Ruby function definition
+- [MEL][] language from [Shuen-Huei Guan][drake]
+- whitespace now allowed between `
` and ``
+- better auto-detection of C++ and PHP
+- HTML allows embedded VBScript (`<% .. %>`)
+
+[f]: http://softwaremaniacs.org/forum/highlightjs/
+[voldmar]: http://voldmar.ya.ru/
+[mel]: http://en.wikipedia.org/wiki/Maya_Embedded_Language
+[drake]: http://drakeguan.org/
+
+
+## Version 4.1
+
+Languages:
+
+- Bash from Vah
+- DOS bat-files from Alexander Makarov (Sam)
+- Diff files from Vasily Polovnyov
+- Ini files from myself though initial idea was from Sam
+
+Styles:
+
+- Zenburn from Vladimir Epifanov, this is an imitation of a
+  [well-known theme for Vim][zenburn].
+- Ascetic from myself, as a realization of ideals of non-flashy highlighting:
+  just one color in only three gradations :-)
+
+In other news. [One small bug][bug] was fixed, built-in keywords were added for
+Python and C++ which improved auto-detection for the latter (it was shame that
+[my wife's blog][alenacpp] had issues with it from time to time). And lastly
+thanks go to Sam for getting rid of my stylistic comments in code that were
+getting in the way of [JSMin][].
+
+[zenburn]: http://en.wikipedia.org/wiki/Zenburn
+[alenacpp]: http://alenacpp.blogspot.com/
+[bug]: http://softwaremaniacs.org/forum/viewtopic.php?id=1823
+[jsmin]: http://code.google.com/p/jsmin-php/
+
+
+## Version 4.0
+
+New major version is a result of vast refactoring and of many contributions.
+
+Visible new features:
+
+- Highlighting of embedded languages. Currently is implemented highlighting of
+  Javascript and CSS inside HTML.
+- Bundled 5 ready-made style themes!
+
+Invisible new features:
+
+- Highlight.js no longer pollutes global namespace. Only one object and one
+  function for backward compatibility.
+- Performance is further increased by about 15%.
+
+Changing of a major version number caused by a new format of language definition
+files. If you use some third-party language files they should be updated.
+
+
+## Version 3.5
+
+A very nice version in my opinion fixing a number of small bugs and slightly
+increased speed in a couple of corner cases. Thanks to everybody who reports
+bugs in he [forum][f] and by email!
+
+There is also a new language — XML. A custom XML formerly was detected as HTML
+and didn't highlight custom tags. In this version I tried to make custom XML to
+be detected and highlighted by its own rules. Which by the way include such
+things as CDATA sections and processing instructions (``).
+
+[f]: http://softwaremaniacs.org/forum/viewforum.php?id=6
+
+
+## Version 3.3
+
+[Vladimir Gubarkov][xonix] has provided an interesting and useful addition.
+File export.html contains a little program that shows and allows to copy and
+paste an HTML code generated by the highlighter for any code snippet. This can
+be useful in situations when one can't use the script itself on a site.
+
+
+[xonix]: http://xonixx.blogspot.com/
+
+
+## Version 3.2 consists completely of contributions:
+
+- Vladimir Gubarkov has described SmallTalk
+- Yuri Ivanov has described 1C
+- Peter Leonov has packaged the highlighter as a Firefox extension
+- Vladimir Ermakov has compiled a mod for phpBB
+
+Many thanks to you all!
+
+
+## Version 3.1
+
+Three new languages are available: Django templates, SQL and Axapta. The latter
+two are sent by [Dmitri Roudakov][1]. However I've almost entirely rewrote an
+SQL definition but I'd never started it be it from the ground up :-)
+
+The engine itself has got a long awaited feature of grouping keywords
+("keyword", "built-in function", "literal"). No more hacks!
+
+[1]: http://roudakov.ru/
+
+
+## Version 3.0
+
+It is major mainly because now highlight.js has grown large and has become
+modular. Now when you pass it a list of languages to highlight it will
+dynamically load into a browser only those languages.
+
+Also:
+
+- Konstantin Evdokimenko of [RibKit][] project has created a highlighting for
+  RenderMan Shading Language and RenderMan Interface Bytestream. Yay for more
+  languages!
+- Heuristics for C++ and HTML got better.
+- I've implemented (at last) a correct handling of backslash escapes in C-like
+  languages.
+
+There is also a small backwards incompatible change in the new version. The
+function initHighlighting that was used to initialize highlighting instead of
+initHighlightingOnLoad a long time ago no longer works. If you by chance still
+use it — replace it with the new one.
+
+[RibKit]: http://ribkit.sourceforge.net/
+
+
+## Version 2.9
+
+Highlight.js is a parser, not just a couple of regular expressions. That said
+I'm glad to announce that in the new version 2.9 has support for:
+
+- in-string substitutions for Ruby -- `#{...}`
+- strings from from numeric symbol codes (like #XX) for Delphi
+
+
+## Version 2.8
+
+A maintenance release with more tuned heuristics. Fully backwards compatible.
+
+
+## Version 2.7
+
+- Nikita Ledyaev presents highlighting for VBScript, yay!
+- A couple of bugs with escaping in strings were fixed thanks to Mickle
+- Ongoing tuning of heuristics
+
+Fixed bugs were rather unpleasant so I encourage everyone to upgrade!
+
+
+## Version 2.4
+
+- Peter Leonov provides another improved highlighting for Perl
+- Javascript gets a new kind of keywords — "literals". These are the words
+  "true", "false" and "null"
+
+Also highlight.js homepage now lists sites that use the library. Feel free to
+add your site by [dropping me a message][mail] until I find the time to build a
+submit form.
+
+[mail]: mailto:Maniac@SoftwareManiacs.Org
+
+
+## Version 2.3
+
+This version fixes IE breakage in previous version. My apologies to all who have
+already downloaded that one!
+
+
+## Version 2.2
+
+- added highlighting for Javascript
+- at last fixed parsing of Delphi's escaped apostrophes in strings
+- in Ruby fixed highlighting of keywords 'def' and 'class', same for 'sub' in
+  Perl
+
+
+## Version 2.0
+
+- Ruby support by [Anton Kovalyov][ak]
+- speed increased by orders of magnitude due to new way of parsing
+- this same way allows now correct highlighting of keywords in some tricky
+  places (like keyword "End" at the end of Delphi classes)
+
+[ak]: http://anton.kovalyov.net/
+
+
+## Version 1.0
+
+Version 1.0 of javascript syntax highlighter is released!
+
+It's the first version available with English description. Feel free to post
+your comments and question to [highlight.js forum][forum]. And don't be afraid
+if you find there some fancy Cyrillic letters -- it's for Russian users too :-)
+
+[forum]: http://softwaremaniacs.org/forum/viewforum.php?id=6
diff --git a/demo/Demo_files/_resources/common/hljs/LICENSE b/demo/Demo_files/_resources/common/hljs/LICENSE
new file mode 100644
index 0000000..422deb7
--- /dev/null
+++ b/demo/Demo_files/_resources/common/hljs/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2006, Ivan Sagalaev
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+    * Neither the name of highlight.js nor the names of its contributors 
+      may be used to endorse or promote products derived from this software 
+      without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/demo/Demo_files/_resources/common/hljs/README.md b/demo/Demo_files/_resources/common/hljs/README.md
new file mode 100644
index 0000000..828c228
--- /dev/null
+++ b/demo/Demo_files/_resources/common/hljs/README.md
@@ -0,0 +1,373 @@
+# Highlight.js
+
+[![Build Status](https://travis-ci.org/highlightjs/highlight.js.svg?branch=master)](https://travis-ci.org/highlightjs/highlight.js) [![Greenkeeper badge](https://badges.greenkeeper.io/highlightjs/highlight.js.svg)](https://greenkeeper.io/)
+
+Highlight.js is a syntax highlighter written in JavaScript. It works in
+the browser as well as on the server. It works with pretty much any
+markup, doesn’t depend on any framework, and has automatic language
+detection.
+
+## Getting Started
+
+The bare minimum for using highlight.js on a web page is linking to the
+library along with one of the styles and calling
+[`initHighlightingOnLoad`][1]:
+
+```html
+
+
+
+```
+
+This will find and highlight code inside of `
` tags; it tries
+to detect the language automatically. If automatic detection doesn’t
+work for you, you can specify the language in the `class` attribute:
+
+```html
+
...
+``` + +
+The list of supported languages and corresponding classes. + +| Language | Classes | Package | +| :-----------------------| :--------------------- | :------ | +| 1C | 1c | | +| ABNF | abnf | | +| Access logs | accesslog | | +| Ada | ada | | +| ARM assembler | armasm, arm | | +| AVR assembler | avrasm | | +| ActionScript | actionscript, as | | +| Alan | alan, i | [highlightjs-alan](https://github.com/highlightjs/highlightjs-alan) | +| AngelScript | angelscript, asc | | +| Apache | apache, apacheconf | | +| AppleScript | applescript, osascript | | +| Arcade | arcade | | +| AsciiDoc | asciidoc, adoc | | +| AspectJ | aspectj | | +| AutoHotkey | autohotkey | | +| AutoIt | autoit | | +| Awk | awk, mawk, nawk, gawk | | +| Axapta | axapta | | +| Bash | bash, sh, zsh | | +| Basic | basic | | +| BNF | bnf | | +| Brainfuck | brainfuck, bf | | +| C# | cs, csharp | | +| C++ | cpp, c, cc, h, c++, h++, hpp | | +| C/AL | cal | | +| Cache Object Script | cos, cls | | +| CMake | cmake, cmake.in | | +| Coq | coq | | +| CSP | csp | | +| CSS | css | | +| Cap’n Proto | capnproto, capnp | | +| Clojure | clojure, clj | | +| CoffeeScript | coffeescript, coffee, cson, iced | | +| Crmsh | crmsh, crm, pcmk | | +| Crystal | crystal, cr | | +| Cypher (Neo4j) | cypher | [highlightjs-cypher](https://github.com/highlightjs/highlightjs-cypher) | +| D | d | | +| DNS Zone file | dns, zone, bind | | +| DOS | dos, bat, cmd | | +| Dart | dart | | +| Delphi | delphi, dpr, dfm, pas, pascal, freepascal, lazarus, lpr, lfm | | +| Diff | diff, patch | | +| Django | django, jinja | | +| Dockerfile | dockerfile, docker | | +| dsconfig | dsconfig | | +| DTS (Device Tree) | dts | | +| Dust | dust, dst | | +| Dylan | dylan | [highlight-dylan](https://github.com/highlightjs/highlight-dylan) | +| EBNF | ebnf | | +| Elixir | elixir | | +| Elm | elm | | +| Erlang | erlang, erl | | +| Excel | excel, xls, xlsx | | +| Extempore | extempore, xtlang, xtm | [highlightjs-xtlang](https://github.com/highlightjs/highlightjs-xtlang) | +| F# | fsharp, fs | | +| FIX | fix | | +| Fortran | fortran, f90, f95 | | +| G-Code | gcode, nc | | +| Gams | gams, gms | | +| GAUSS | gauss, gss | | +| GDScript | godot, gdscript | [highlightjs-gdscript](https://github.com/highlightjs/highlightjs-gdscript) | +| Gherkin | gherkin | | +| GN for Ninja | gn, gni | [highlightjs-GN](https://github.com/highlightjs/highlightjs-GN/blob/master/gn.js) | +| Go | go, golang | | +| Golo | golo, gololang | | +| Gradle | gradle | | +| Groovy | groovy | | +| HTML, XML | xml, html, xhtml, rss, atom, xjb, xsd, xsl, plist | | +| HTTP | http, https | | +| Haml | haml | | +| Handlebars | handlebars, hbs, html.hbs, html.handlebars | | +| Haskell | haskell, hs | | +| Haxe | haxe, hx | | +| Hy | hy, hylang | | +| Ini, TOML | ini, toml | | +| Inform7 | inform7, i7 | | +| IRPF90 | irpf90 | | +| JSON | json | | +| Java | java, jsp | | +| JavaScript | javascript, js, jsx | | +| Kotlin | kotlin, kt | | +| Leaf | leaf | | +| Lasso | lasso, ls, lassoscript | | +| Less | less | | +| LDIF | ldif | | +| Lisp | lisp | | +| LiveCode Server | livecodeserver | | +| LiveScript | livescript, ls | | +| Lua | lua | | +| Makefile | makefile, mk, mak | | +| Markdown | markdown, md, mkdown, mkd | | +| Mathematica | mathematica, mma, wl | | +| Matlab | matlab | | +| Maxima | maxima | | +| Maya Embedded Language | mel | | +| Mercury | mercury | | +| mIRC Scripting Language | mirc, mrc | [highlightjs-mirc](https://github.com/highlightjs/highlightjs-mirc) | +| Mizar | mizar | | +| Mojolicious | mojolicious | | +| Monkey | monkey | | +| Moonscript | moonscript, moon | | +| N1QL | n1ql | | +| NSIS | nsis | | +| Nginx | nginx, nginxconf | | +| Nimrod | nimrod, nim | | +| Nix | nix | | +| OCaml | ocaml, ml | | +| Objective C | objectivec, mm, objc, obj-c | | +| OpenGL Shading Language | glsl | | +| OpenSCAD | openscad, scad | | +| Oracle Rules Language | ruleslanguage | | +| Oxygene | oxygene | | +| PF | pf, pf.conf | | +| PHP | php, php3, php4, php5, php6 | | +| Parser3 | parser3 | | +| Perl | perl, pl, pm | | +| Plaintext: no highlight | plaintext | | +| Pony | pony | | +| PostgreSQL & PL/pgSQL | pgsql, postgres, postgresql | | +| PowerShell | powershell, ps | | +| Processing | processing | | +| Prolog | prolog | | +| Properties | properties | | +| Protocol Buffers | protobuf | | +| Puppet | puppet, pp | | +| Python | python, py, gyp | | +| Python profiler results | profile | | +| Q | k, kdb | | +| QML | qml | | +| R | r | | +| Razor CSHTML | cshtml, razor, razor-cshtml | [highlightjs-cshtml-razor](https://github.com/highlightjs/highlightjs-cshtml-razor) | +| ReasonML | reasonml, re | | +| RenderMan RIB | rib | | +| RenderMan RSL | rsl | | +| Roboconf | graph, instances | | +| Robot Framework | robot, rf | [highlightjs-robot](https://github.com/highlightjs/highlightjs-robot) | +| RPM spec files | rpm-specfile, rpm, spec, rpm-spec, specfile | [highlightjs-rpm-specfile](https://github.com/highlightjs/highlightjs-rpm-specfile) | +| Ruby | ruby, rb, gemspec, podspec, thor, irb | | +| Rust | rust, rs | | +| SAS | SAS, sas | | +| SCSS | scss | | +| SQL | sql | | +| STEP Part 21 | p21, step, stp | | +| Scala | scala | | +| Scheme | scheme | | +| Scilab | scilab, sci | | +| Shape Expressions | shexc | [highlightjs-shexc](https://github.com/highlightjs/highlightjs-shexc) | +| Shell | shell, console | | +| Smali | smali | | +| Smalltalk | smalltalk, st | | +| Solidity | solidity, sol | [highlightjs-solidity](https://github.com/highlightjs/highlightjs-solidity) | +| Stan | stan | | +| Stata | stata | | +| Structured Text | iecst, scl, stl, structured-text | [highlightjs-structured-text](https://github.com/highlightjs/highlightjs-structured-text) | +| Stylus | stylus, styl | | +| SubUnit | subunit | | +| Supercollider | supercollider, sc | [highlightjs-supercollider](https://github.com/highlightjs/highlightjs-supercollider) | +| Swift | swift | | +| Tcl | tcl, tk | | +| Terraform (HCL) | terraform, tf, hcl | [highlightjs-terraform](https://github.com/highlightjs/highlightjs-terraform) | +| Test Anything Protocol | tap | | +| TeX | tex | | +| Thrift | thrift | | +| TP | tp | | +| Twig | twig, craftcms | | +| TypeScript | typescript, ts | | +| VB.Net | vbnet, vb | | +| VBScript | vbscript, vbs | | +| VHDL | vhdl | | +| Vala | vala | | +| Verilog | verilog, v | | +| Vim Script | vim | | +| x86 Assembly | x86asm | | +| XL | xl, tao | | +| XQuery | xquery, xpath, xq | | +| YAML | yml, yaml | | +| Zephir | zephir, zep | | + +Languages with the specified package name are defined in separate repositories +and not included in `highlight.pack.js`. +
+ +Classes can also be prefixed with either `language-` or `lang-`. + +To make arbitrary text look like code, but without highlighting, use the +`plaintext` class: + +```html +
...
+``` + +To disable highlighting altogether use the `nohighlight` class: + +```html +
...
+``` + +## Custom Initialization + +When you need a bit more control over the initialization of +highlight.js, you can use the [`highlightBlock`][3] and [`configure`][4] +functions. This allows you to control *what* to highlight and *when*. + +Here’s an equivalent way to calling [`initHighlightingOnLoad`][1] using +vanilla JS: + +```js +document.addEventListener('DOMContentLoaded', (event) => { + document.querySelectorAll('pre code').forEach((block) => { + hljs.highlightBlock(block); + }); +}); +``` + +You can use any tags instead of `
` to mark up your code. If
+you don't use a container that preserves line breaks you will need to
+configure highlight.js to use the `
` tag: + +```js +hljs.configure({useBR: true}); + +document.querySelectorAll('div.code').forEach((block) => { + hljs.highlightBlock(block); +}); +``` + +For other options refer to the documentation for [`configure`][4]. + + +## Web Workers + +You can run highlighting inside a web worker to avoid freezing the browser +window while dealing with very big chunks of code. + +In your main script: + +```js +addEventListener('load', () => { + const code = document.querySelector('#code'); + const worker = new Worker('worker.js'); + worker.onmessage = (event) => { code.innerHTML = event.data; } + worker.postMessage(code.textContent); +}); +``` + +In worker.js: + +```js +onmessage = (event) => { + importScripts('/highlight.pack.js'); + const result = self.hljs.highlightAuto(event.data); + postMessage(result.value); +}; +``` + + +## Getting the Library + +You can get highlight.js as a hosted, or custom-build, browser script or +as a server module. Right out of the box the browser script supports +both AMD and CommonJS, so if you wish you can use RequireJS or +Browserify without having to build from source. The server module also +works perfectly fine with Browserify, but there is the option to use a +build specific to browsers rather than something meant for a server. +Head over to the [download page][5] for all the options. + +**Don't link to GitHub directly.** The library is not supposed to work straight +from the source, it requires building. If none of the pre-packaged options +work for you refer to the [building documentation][6]. + +**The CDN-hosted package doesn't have all the languages.** Otherwise it'd be +too big. If you don't see the language you need in the ["Common" section][5], +it can be added manually: + +```html + +``` + +**On Almond.** You need to use the optimizer to give the module a name. For +example: + +```bash +r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js +``` + + +### CommonJS + +You can import Highlight.js as a CommonJS-module: + +```bash +npm install highlight.js --save +``` + +In your application: + +```js +import hljs from 'highlight.js'; +``` + +The default import imports all languages! Therefore it is likely to be more efficient to import only the library and the languages you need: + +```js +import hljs from 'highlight.js/lib/highlight'; +import javascript from 'highlight.js/lib/languages/javascript'; +hljs.registerLanguage('javascript', javascript); +``` + +To set the syntax highlighting style, if your build tool processes CSS from your JavaScript entry point, you can import the stylesheet directly into your CommonJS-module: + +```js +import hljs from 'highlight.js/lib/highlight'; +import 'highlight.js/styles/github.css'; +``` + +## License + +Highlight.js is released under the BSD License. See [LICENSE][7] file +for details. + +## Links + +The official site for the library is at . + +Further in-depth documentation for the API and other topics is at +. + +Authors and contributors are listed in the [AUTHORS.en.txt][8] file. + +[1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload +[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html +[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block +[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options +[5]: https://highlightjs.org/download/ +[6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html +[7]: https://github.com/highlightjs/highlight.js/blob/master/LICENSE +[8]: https://github.com/highlightjs/highlight.js/blob/master/AUTHORS.en.txt diff --git a/demo/Demo_files/_resources/common/hljs/README.ru.md b/demo/Demo_files/_resources/common/hljs/README.ru.md new file mode 100644 index 0000000..198ee96 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/README.ru.md @@ -0,0 +1,142 @@ +# Highlight.js + +Highlight.js — это инструмент для подсветки синтаксиса, написанный на JavaScript. Он работает +и в браузере, и на сервере. Он работает с практически любой HTML разметкой, не +зависит от каких-либо фреймворков и умеет автоматически определять язык. + + +## Начало работы + +Минимум, что нужно сделать для использования highlight.js на веб-странице — это +подключить библиотеку, CSS-стили и вызывать [`initHighlightingOnLoad`][1]: + +```html + + + +``` + +Библиотека найдёт и раскрасит код внутри тегов `
`, попытавшись
+автоматически определить язык. Когда автоопределение не срабатывает, можно явно
+указать язык в атрибуте class:
+
+```html
+
...
+``` + +Список поддерживаемых классов языков доступен в [справочнике по классам][2]. +Класс также можно предварить префиксами `language-` или `lang-`. + +Чтобы отключить подсветку для какого-то блока, используйте класс `nohighlight`: + +```html +
...
+``` + +## Инициализация вручную + +Чтобы иметь чуть больше контроля за инициализацией подсветки, вы можете +использовать функции [`highlightBlock`][3] и [`configure`][4]. Таким образом +можно управлять тем, *что* и *когда* подсвечивать. + +Вот пример инициализации, эквивалентной вызову [`initHighlightingOnLoad`][1], но +с использованием `document.addEventListener`: + +```js +document.addEventListener('DOMContentLoaded', (event) => { + document.querySelectorAll('pre code').forEach((block) => { + hljs.highlightBlock(block); + }); +}); +``` + +Вы можете использовать любые теги разметки вместо `
`. Если
+используете контейнер, не сохраняющий переводы строк, вам нужно сказать
+highlight.js использовать для них тег `
`: + +```js +hljs.configure({useBR: true}); + +document.querySelectorAll('div.code').forEach((block) => { + hljs.highlightBlock(block); +}); +``` + +Другие опции можно найти в документации функции [`configure`][4]. + + +## Web Workers + +Подсветку можно запустить внутри web worker'а, чтобы окно +браузера не подтормаживало при работе с большими кусками кода. + +В основном скрипте: + +```js +addEventListener('load', () => { + const code = document.querySelector('#code'); + const worker = new Worker('worker.js'); + worker.onmessage = (event) => { code.innerHTML = event.data; } + worker.postMessage(code.textContent); +}); +``` + +В worker.js: + +```js +onmessage = (event) => { + importScripts('/highlight.pack.js'); + const result = self.hljs.highlightAuto(event.data); + postMessage(result.value); +}; +``` + + +## Установка библиотеки + +Highlight.js можно использовать в браузере прямо с CDN хостинга или скачать +индивидуальную сборку, а также установив модуль на сервере. На +[странице загрузки][5] подробно описаны все варианты. + +**Не подключайте GitHub напрямую.** Библиотека не предназначена для +использования в виде исходного кода, а требует отдельной сборки. Если вам не +подходит ни один из готовых вариантов, читайте [документацию по сборке][6]. + +**Файл на CDN содержит не все языки.** Иначе он будет слишком большого размера. +Если нужного вам языка нет в [категории "Common"][5], можно дообавить его +вручную: + +```html + +``` + +**Про Almond.** Нужно задать имя модуля в оптимизаторе, например: + +``` +r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js +``` + + +## Лицензия + +Highlight.js распространяется под лицензией BSD. Подробнее читайте файл +[LICENSE][7]. + + +## Ссылки + +Официальный сайт билиотеки расположен по адресу . + +Более подробная документация по API и другим темам расположена на +. + +Авторы и контрибьюторы перечислены в файле [AUTHORS.ru.txt][8] file. + +[1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload +[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html +[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block +[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options +[5]: https://highlightjs.org/download/ +[6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html +[7]: https://github.com/highlightjs/highlight.js/blob/master/LICENSE +[8]: https://github.com/highlightjs/highlight.js/blob/master/AUTHORS.ru.txt diff --git a/demo/Demo_files/_resources/common/hljs/highlight.pack.js b/demo/Demo_files/_resources/common/hljs/highlight.pack.js new file mode 100644 index 0000000..8098716 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/highlight.pack.js @@ -0,0 +1,2 @@ +/*! highlight.js v9.15.10 | BSD3 License | git.io/hljslicense */ +!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"==typeof exports||exports.nodeType?n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs})):e(exports)}(function(a){var f=[],u=Object.keys,N={},c={},n=/^(no-?highlight|plain|text)$/i,s=/\blang(?:uage)?-([\w-]+)\b/i,t=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,r={case_insensitive:"cI",lexemes:"l",contains:"c",keywords:"k",subLanguage:"sL",className:"cN",begin:"b",beginKeywords:"bK",end:"e",endsWithParent:"eW",illegal:"i",excludeBegin:"eB",excludeEnd:"eE",returnBegin:"rB",returnEnd:"rE",relevance:"r",variants:"v",IDENT_RE:"IR",UNDERSCORE_IDENT_RE:"UIR",NUMBER_RE:"NR",C_NUMBER_RE:"CNR",BINARY_NUMBER_RE:"BNR",RE_STARTERS_RE:"RSR",BACKSLASH_ESCAPE:"BE",APOS_STRING_MODE:"ASM",QUOTE_STRING_MODE:"QSM",PHRASAL_WORDS_MODE:"PWM",C_LINE_COMMENT_MODE:"CLCM",C_BLOCK_COMMENT_MODE:"CBCM",HASH_COMMENT_MODE:"HCM",NUMBER_MODE:"NM",C_NUMBER_MODE:"CNM",BINARY_NUMBER_MODE:"BNM",CSS_NUMBER_MODE:"CSSNM",REGEXP_MODE:"RM",TITLE_MODE:"TM",UNDERSCORE_TITLE_MODE:"UTM",COMMENT:"C",beginRe:"bR",endRe:"eR",illegalRe:"iR",lexemesRe:"lR",terminators:"t",terminator_end:"tE"},b="",h={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function _(e){return e.replace(/&/g,"&").replace(//g,">")}function E(e){return e.nodeName.toLowerCase()}function v(e,n){var t=e&&e.exec(n);return t&&0===t.index}function l(e){return n.test(e)}function g(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function R(e){var a=[];return function e(n,t){for(var r=n.firstChild;r;r=r.nextSibling)3===r.nodeType?t+=r.nodeValue.length:1===r.nodeType&&(a.push({event:"start",offset:t,node:r}),t=e(r,t),E(r).match(/br|hr|img|input/)||a.push({event:"stop",offset:t,node:r}));return t}(e,0),a}function i(e){if(r&&!e.langApiRestored){for(var n in e.langApiRestored=!0,r)e[n]&&(e[r[n]]=e[n]);(e.c||[]).concat(e.v||[]).forEach(i)}}function m(o){function s(e){return e&&e.source||e}function c(e,n){return new RegExp(s(e),"m"+(o.cI?"i":"")+(n?"g":""))}!function n(t,e){if(!t.compiled){if(t.compiled=!0,t.k=t.k||t.bK,t.k){function r(t,e){o.cI&&(e=e.toLowerCase()),e.split(" ").forEach(function(e){var n=e.split("|");a[n[0]]=[t,n[1]?Number(n[1]):1]})}var a={};"string"==typeof t.k?r("keyword",t.k):u(t.k).forEach(function(e){r(e,t.k[e])}),t.k=a}t.lR=c(t.l||/\w+/,!0),e&&(t.bK&&(t.b="\\b("+t.bK.split(" ").join("|")+")\\b"),t.b||(t.b=/\B|\b/),t.bR=c(t.b),t.endSameAsBegin&&(t.e=t.b),t.e||t.eW||(t.e=/\B|\b/),t.e&&(t.eR=c(t.e)),t.tE=s(t.e)||"",t.eW&&e.tE&&(t.tE+=(t.e?"|":"")+e.tE)),t.i&&(t.iR=c(t.i)),null==t.r&&(t.r=1),t.c||(t.c=[]),t.c=Array.prototype.concat.apply([],t.c.map(function(e){return function(n){return n.v&&!n.cached_variants&&(n.cached_variants=n.v.map(function(e){return g(n,{v:null},e)})),n.cached_variants||n.eW&&[g(n)]||[n]}("self"===e?t:e)})),t.c.forEach(function(e){n(e,t)}),t.starts&&n(t.starts,e);var i=t.c.map(function(e){return e.bK?"\\.?(?:"+e.b+")\\.?":e.b}).concat([t.tE,t.i]).map(s).filter(Boolean);t.t=i.length?c(function(e,n){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i')+n+(t?"":b):n}function o(){E+=null!=l.sL?function(){var e="string"==typeof l.sL;if(e&&!N[l.sL])return _(g);var n=e?C(l.sL,g,!0,f[l.sL]):O(g,l.sL.length?l.sL:void 0);return 0")+'"');return g+=n,n.length||1}var s=B(e);if(!s)throw new Error('Unknown language: "'+e+'"');m(s);var a,l=t||s,f={},E="";for(a=l;a!==s;a=a.parent)a.cN&&(E=c(a.cN,"",!0)+E);var g="",R=0;try{for(var d,p,M=0;l.t.lastIndex=M,d=l.t.exec(n);)p=r(n.substring(M,d.index),d[0]),M=d.index+p;for(r(n.substr(M)),a=l;a.parent;a=a.parent)a.cN&&(E+=b);return{r:R,value:E,language:e,top:l}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{r:0,value:_(n)};throw e}}function O(t,e){e=e||h.languages||u(N);var r={r:0,value:_(t)},a=r;return e.filter(B).filter(M).forEach(function(e){var n=C(e,t,!1);n.language=e,n.r>a.r&&(a=n),n.r>r.r&&(a=r,r=n)}),a.language&&(r.second_best=a),r}function d(e){return h.tabReplace||h.useBR?e.replace(t,function(e,n){return h.useBR&&"\n"===e?"
":h.tabReplace?n.replace(/\t/g,h.tabReplace):""}):e}function o(e){var n,t,r,a,i,o=function(e){var n,t,r,a,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",t=s.exec(i))return B(t[1])?t[1]:"no-highlight";for(n=0,r=(i=i.split(/\s+/)).length;n/g,"\n"):n=e,i=n.textContent,r=o?C(o,i,!0):O(i),(t=R(n)).length&&((a=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=r.value,r.value=function(e,n,t){var r=0,a="",i=[];function o(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){a+=""}function s(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var l=o();if(a+=_(t.substring(r,l[0].offset)),r=l[0].offset,l===e){for(i.reverse().forEach(u);s(l.splice(0,1)[0]),(l=o())===e&&l.length&&l[0].offset===r;);i.reverse().forEach(c)}else"start"===l[0].event?i.push(l[0].node):i.pop(),s(l.splice(0,1)[0])}return a+_(t.substr(r))}(t,R(a),i)),r.value=d(r.value),e.innerHTML=r.value,e.className=function(e,n,t){var r=n?c[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}(e.className,o,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function p(){if(!p.called){p.called=!0;var e=document.querySelectorAll("pre code");f.forEach.call(e,o)}}function B(e){return e=(e||"").toLowerCase(),N[e]||N[c[e]]}function M(e){var n=B(e);return n&&!n.disableAutodetect}return a.highlight=C,a.highlightAuto=O,a.fixMarkup=d,a.highlightBlock=o,a.configure=function(e){h=g(h,e)},a.initHighlighting=p,a.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",p,!1),addEventListener("load",p,!1)},a.registerLanguage=function(n,e){var t=N[n]=e(a);i(t),t.aliases&&t.aliases.forEach(function(e){c[e]=n})},a.listLanguages=function(){return u(N)},a.getLanguage=B,a.autoDetection=M,a.inherit=g,a.IR=a.IDENT_RE="[a-zA-Z]\\w*",a.UIR=a.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",a.NR=a.NUMBER_RE="\\b\\d+(\\.\\d+)?",a.CNR=a.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",a.BNR=a.BINARY_NUMBER_RE="\\b(0b[01]+)",a.RSR=a.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",a.BE=a.BACKSLASH_ESCAPE={b:"\\\\[\\s\\S]",r:0},a.ASM=a.APOS_STRING_MODE={cN:"string",b:"'",e:"'",i:"\\n",c:[a.BE]},a.QSM=a.QUOTE_STRING_MODE={cN:"string",b:'"',e:'"',i:"\\n",c:[a.BE]},a.PWM=a.PHRASAL_WORDS_MODE={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},a.C=a.COMMENT=function(e,n,t){var r=a.inherit({cN:"comment",b:e,e:n,c:[]},t||{});return r.c.push(a.PWM),r.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),r},a.CLCM=a.C_LINE_COMMENT_MODE=a.C("//","$"),a.CBCM=a.C_BLOCK_COMMENT_MODE=a.C("/\\*","\\*/"),a.HCM=a.HASH_COMMENT_MODE=a.C("#","$"),a.NM=a.NUMBER_MODE={cN:"number",b:a.NR,r:0},a.CNM=a.C_NUMBER_MODE={cN:"number",b:a.CNR,r:0},a.BNM=a.BINARY_NUMBER_MODE={cN:"number",b:a.BNR,r:0},a.CSSNM=a.CSS_NUMBER_MODE={cN:"number",b:a.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},a.RM=a.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[a.BE,{b:/\[/,e:/\]/,r:0,c:[a.BE]}]},a.TM=a.TITLE_MODE={cN:"title",b:a.IR,r:0},a.UTM=a.UNDERSCORE_TITLE_MODE={cN:"title",b:a.UIR,r:0},a.METHOD_GUARD={b:"\\.\\s*"+a.UIR,r:0},a});hljs.registerLanguage("maxima",function(e){return{l:"[A-Za-z_%][0-9A-Za-z_%]*",k:{keyword:"if then else elseif for thru do while unless step in and or not",literal:"true false unknown inf minf ind und %e %i %pi %phi %gamma",built_in:" abasep abs absint absolute_real_time acos acosh acot acoth acsc acsch activate addcol add_edge add_edges addmatrices addrow add_vertex add_vertices adjacency_matrix adjoin adjoint af agd airy airy_ai airy_bi airy_dai airy_dbi algsys alg_type alias allroots alphacharp alphanumericp amortization %and annuity_fv annuity_pv antid antidiff AntiDifference append appendfile apply apply1 apply2 applyb1 apropos args arit_amortization arithmetic arithsum array arrayapply arrayinfo arraymake arraysetapply ascii asec asech asin asinh askinteger asksign assoc assoc_legendre_p assoc_legendre_q assume assume_external_byte_order asympa at atan atan2 atanh atensimp atom atvalue augcoefmatrix augmented_lagrangian_method av average_degree backtrace bars barsplot barsplot_description base64 base64_decode bashindices batch batchload bc2 bdvac belln benefit_cost bern bernpoly bernstein_approx bernstein_expand bernstein_poly bessel bessel_i bessel_j bessel_k bessel_simplify bessel_y beta beta_incomplete beta_incomplete_generalized beta_incomplete_regularized bezout bfallroots bffac bf_find_root bf_fmin_cobyla bfhzeta bfloat bfloatp bfpsi bfpsi0 bfzeta biconnected_components bimetric binomial bipartition block blockmatrixp bode_gain bode_phase bothcoef box boxplot boxplot_description break bug_report build_info|10 buildq build_sample burn cabs canform canten cardinality carg cartan cartesian_product catch cauchy_matrix cbffac cdf_bernoulli cdf_beta cdf_binomial cdf_cauchy cdf_chi2 cdf_continuous_uniform cdf_discrete_uniform cdf_exp cdf_f cdf_gamma cdf_general_finite_discrete cdf_geometric cdf_gumbel cdf_hypergeometric cdf_laplace cdf_logistic cdf_lognormal cdf_negative_binomial cdf_noncentral_chi2 cdf_noncentral_student_t cdf_normal cdf_pareto cdf_poisson cdf_rank_sum cdf_rayleigh cdf_signed_rank cdf_student_t cdf_weibull cdisplay ceiling central_moment cequal cequalignore cf cfdisrep cfexpand cgeodesic cgreaterp cgreaterpignore changename changevar chaosgame charat charfun charfun2 charlist charp charpoly chdir chebyshev_t chebyshev_u checkdiv check_overlaps chinese cholesky christof chromatic_index chromatic_number cint circulant_graph clear_edge_weight clear_rules clear_vertex_label clebsch_gordan clebsch_graph clessp clesspignore close closefile cmetric coeff coefmatrix cograd col collapse collectterms columnop columnspace columnswap columnvector combination combine comp2pui compare compfile compile compile_file complement_graph complete_bipartite_graph complete_graph complex_number_p components compose_functions concan concat conjugate conmetderiv connected_components connect_vertices cons constant constantp constituent constvalue cont2part content continuous_freq contortion contour_plot contract contract_edge contragrad contrib_ode convert coord copy copy_file copy_graph copylist copymatrix cor cos cosh cot coth cov cov1 covdiff covect covers crc24sum create_graph create_list csc csch csetup cspline ctaylor ct_coordsys ctransform ctranspose cube_graph cuboctahedron_graph cunlisp cv cycle_digraph cycle_graph cylindrical days360 dblint deactivate declare declare_constvalue declare_dimensions declare_fundamental_dimensions declare_fundamental_units declare_qty declare_translated declare_unit_conversion declare_units declare_weights decsym defcon define define_alt_display define_variable defint defmatch defrule defstruct deftaylor degree_sequence del delete deleten delta demo demoivre denom depends derivdegree derivlist describe desolve determinant dfloat dgauss_a dgauss_b dgeev dgemm dgeqrf dgesv dgesvd diag diagmatrix diag_matrix diagmatrixp diameter diff digitcharp dimacs_export dimacs_import dimension dimensionless dimensions dimensions_as_list direct directory discrete_freq disjoin disjointp disolate disp dispcon dispform dispfun dispJordan display disprule dispterms distrib divide divisors divsum dkummer_m dkummer_u dlange dodecahedron_graph dotproduct dotsimp dpart draw draw2d draw3d drawdf draw_file draw_graph dscalar echelon edge_coloring edge_connectivity edges eigens_by_jacobi eigenvalues eigenvectors eighth einstein eivals eivects elapsed_real_time elapsed_run_time ele2comp ele2polynome ele2pui elem elementp elevation_grid elim elim_allbut eliminate eliminate_using ellipse elliptic_e elliptic_ec elliptic_eu elliptic_f elliptic_kc elliptic_pi ematrix empty_graph emptyp endcons entermatrix entertensor entier equal equalp equiv_classes erf erfc erf_generalized erfi errcatch error errormsg errors euler ev eval_string evenp every evolution evolution2d evundiff example exp expand expandwrt expandwrt_factored expint expintegral_chi expintegral_ci expintegral_e expintegral_e1 expintegral_ei expintegral_e_simplify expintegral_li expintegral_shi expintegral_si explicit explose exponentialize express expt exsec extdiff extract_linear_equations extremal_subset ezgcd %f f90 facsum factcomb factor factorfacsum factorial factorout factorsum facts fast_central_elements fast_linsolve fasttimes featurep fernfale fft fib fibtophi fifth filename_merge file_search file_type fillarray findde find_root find_root_abs find_root_error find_root_rel first fix flatten flength float floatnump floor flower_snark flush flush1deriv flushd flushnd flush_output fmin_cobyla forget fortran fourcos fourexpand fourier fourier_elim fourint fourintcos fourintsin foursimp foursin fourth fposition frame_bracket freeof freshline fresnel_c fresnel_s from_adjacency_matrix frucht_graph full_listify fullmap fullmapl fullratsimp fullratsubst fullsetify funcsolve fundamental_dimensions fundamental_units fundef funmake funp fv g0 g1 gamma gamma_greek gamma_incomplete gamma_incomplete_generalized gamma_incomplete_regularized gauss gauss_a gauss_b gaussprob gcd gcdex gcdivide gcfac gcfactor gd generalized_lambert_w genfact gen_laguerre genmatrix gensym geo_amortization geo_annuity_fv geo_annuity_pv geomap geometric geometric_mean geosum get getcurrentdirectory get_edge_weight getenv get_lu_factors get_output_stream_string get_pixel get_plot_option get_tex_environment get_tex_environment_default get_vertex_label gfactor gfactorsum ggf girth global_variances gn gnuplot_close gnuplot_replot gnuplot_reset gnuplot_restart gnuplot_start go Gosper GosperSum gr2d gr3d gradef gramschmidt graph6_decode graph6_encode graph6_export graph6_import graph_center graph_charpoly graph_eigenvalues graph_flow graph_order graph_periphery graph_product graph_size graph_union great_rhombicosidodecahedron_graph great_rhombicuboctahedron_graph grid_graph grind grobner_basis grotzch_graph hamilton_cycle hamilton_path hankel hankel_1 hankel_2 harmonic harmonic_mean hav heawood_graph hermite hessian hgfred hilbertmap hilbert_matrix hipow histogram histogram_description hodge horner hypergeometric i0 i1 %ibes ic1 ic2 ic_convert ichr1 ichr2 icosahedron_graph icosidodecahedron_graph icurvature ident identfor identity idiff idim idummy ieqn %if ifactors iframes ifs igcdex igeodesic_coords ilt image imagpart imetric implicit implicit_derivative implicit_plot indexed_tensor indices induced_subgraph inferencep inference_result infix info_display init_atensor init_ctensor in_neighbors innerproduct inpart inprod inrt integerp integer_partitions integrate intersect intersection intervalp intopois intosum invariant1 invariant2 inverse_fft inverse_jacobi_cd inverse_jacobi_cn inverse_jacobi_cs inverse_jacobi_dc inverse_jacobi_dn inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd inverse_jacobi_ns inverse_jacobi_sc inverse_jacobi_sd inverse_jacobi_sn invert invert_by_adjoint invert_by_lu inv_mod irr is is_biconnected is_bipartite is_connected is_digraph is_edge_in_graph is_graph is_graph_or_digraph ishow is_isomorphic isolate isomorphism is_planar isqrt isreal_p is_sconnected is_tree is_vertex_in_graph items_inference %j j0 j1 jacobi jacobian jacobi_cd jacobi_cn jacobi_cs jacobi_dc jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_p jacobi_sc jacobi_sd jacobi_sn JF jn join jordan julia julia_set julia_sin %k kdels kdelta kill killcontext kostka kron_delta kronecker_product kummer_m kummer_u kurtosis kurtosis_bernoulli kurtosis_beta kurtosis_binomial kurtosis_chi2 kurtosis_continuous_uniform kurtosis_discrete_uniform kurtosis_exp kurtosis_f kurtosis_gamma kurtosis_general_finite_discrete kurtosis_geometric kurtosis_gumbel kurtosis_hypergeometric kurtosis_laplace kurtosis_logistic kurtosis_lognormal kurtosis_negative_binomial kurtosis_noncentral_chi2 kurtosis_noncentral_student_t kurtosis_normal kurtosis_pareto kurtosis_poisson kurtosis_rayleigh kurtosis_student_t kurtosis_weibull label labels lagrange laguerre lambda lambert_w laplace laplacian_matrix last lbfgs lc2kdt lcharp lc_l lcm lc_u ldefint ldisp ldisplay legendre_p legendre_q leinstein length let letrules letsimp levi_civita lfreeof lgtreillis lhs li liediff limit Lindstedt linear linearinterpol linear_program linear_regression line_graph linsolve listarray list_correlations listify list_matrix_entries list_nc_monomials listoftens listofvars listp lmax lmin load loadfile local locate_matrix_entry log logcontract log_gamma lopow lorentz_gauge lowercasep lpart lratsubst lreduce lriemann lsquares_estimates lsquares_estimates_approximate lsquares_estimates_exact lsquares_mse lsquares_residual_mse lsquares_residuals lsum ltreillis lu_backsub lucas lu_factor %m macroexpand macroexpand1 make_array makebox makefact makegamma make_graph make_level_picture makelist makeOrders make_poly_continent make_poly_country make_polygon make_random_state make_rgb_picture makeset make_string_input_stream make_string_output_stream make_transform mandelbrot mandelbrot_set map mapatom maplist matchdeclare matchfix mat_cond mat_fullunblocker mat_function mathml_display mat_norm matrix matrixmap matrixp matrix_size mattrace mat_trace mat_unblocker max max_clique max_degree max_flow maximize_lp max_independent_set max_matching maybe md5sum mean mean_bernoulli mean_beta mean_binomial mean_chi2 mean_continuous_uniform mean_deviation mean_discrete_uniform mean_exp mean_f mean_gamma mean_general_finite_discrete mean_geometric mean_gumbel mean_hypergeometric mean_laplace mean_logistic mean_lognormal mean_negative_binomial mean_noncentral_chi2 mean_noncentral_student_t mean_normal mean_pareto mean_poisson mean_rayleigh mean_student_t mean_weibull median median_deviation member mesh metricexpandall mgf1_sha1 min min_degree min_edge_cut minfactorial minimalPoly minimize_lp minimum_spanning_tree minor minpack_lsquares minpack_solve min_vertex_cover min_vertex_cut mkdir mnewton mod mode_declare mode_identity ModeMatrix moebius mon2schur mono monomial_dimensions multibernstein_poly multi_display_for_texinfo multi_elem multinomial multinomial_coeff multi_orbit multiplot_mode multi_pui multsym multthru mycielski_graph nary natural_unit nc_degree ncexpt ncharpoly negative_picture neighbors new newcontext newdet new_graph newline newton new_variable next_prime nicedummies niceindices ninth nofix nonarray noncentral_moment nonmetricity nonnegintegerp nonscalarp nonzeroandfreeof notequal nounify nptetrad npv nroots nterms ntermst nthroot nullity nullspace num numbered_boundaries numberp number_to_octets num_distinct_partitions numerval numfactor num_partitions nusum nzeta nzetai nzetar octets_to_number octets_to_oid odd_girth oddp ode2 ode_check odelin oid_to_octets op opena opena_binary openr openr_binary openw openw_binary operatorp opsubst optimize %or orbit orbits ordergreat ordergreatp orderless orderlessp orthogonal_complement orthopoly_recur orthopoly_weight outermap out_neighbors outofpois pade parabolic_cylinder_d parametric parametric_surface parg parGosper parse_string parse_timedate part part2cont partfrac partition partition_set partpol path_digraph path_graph pathname_directory pathname_name pathname_type pdf_bernoulli pdf_beta pdf_binomial pdf_cauchy pdf_chi2 pdf_continuous_uniform pdf_discrete_uniform pdf_exp pdf_f pdf_gamma pdf_general_finite_discrete pdf_geometric pdf_gumbel pdf_hypergeometric pdf_laplace pdf_logistic pdf_lognormal pdf_negative_binomial pdf_noncentral_chi2 pdf_noncentral_student_t pdf_normal pdf_pareto pdf_poisson pdf_rank_sum pdf_rayleigh pdf_signed_rank pdf_student_t pdf_weibull pearson_skewness permanent permut permutation permutations petersen_graph petrov pickapart picture_equalp picturep piechart piechart_description planar_embedding playback plog plot2d plot3d plotdf ploteq plsquares pochhammer points poisdiff poisexpt poisint poismap poisplus poissimp poissubst poistimes poistrim polar polarform polartorect polar_to_xy poly_add poly_buchberger poly_buchberger_criterion poly_colon_ideal poly_content polydecomp poly_depends_p poly_elimination_ideal poly_exact_divide poly_expand poly_expt poly_gcd polygon poly_grobner poly_grobner_equal poly_grobner_member poly_grobner_subsetp poly_ideal_intersection poly_ideal_polysaturation poly_ideal_polysaturation1 poly_ideal_saturation poly_ideal_saturation1 poly_lcm poly_minimization polymod poly_multiply polynome2ele polynomialp poly_normal_form poly_normalize poly_normalize_list poly_polysaturation_extension poly_primitive_part poly_pseudo_divide poly_reduced_grobner poly_reduction poly_saturation_extension poly_s_polynomial poly_subtract polytocompanion pop postfix potential power_mod powerseries powerset prefix prev_prime primep primes principal_components print printf printfile print_graph printpois printprops prodrac product properties propvars psi psubst ptriangularize pui pui2comp pui2ele pui2polynome pui_direct puireduc push put pv qput qrange qty quad_control quad_qag quad_qagi quad_qagp quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quadrilateral quantile quantile_bernoulli quantile_beta quantile_binomial quantile_cauchy quantile_chi2 quantile_continuous_uniform quantile_discrete_uniform quantile_exp quantile_f quantile_gamma quantile_general_finite_discrete quantile_geometric quantile_gumbel quantile_hypergeometric quantile_laplace quantile_logistic quantile_lognormal quantile_negative_binomial quantile_noncentral_chi2 quantile_noncentral_student_t quantile_normal quantile_pareto quantile_poisson quantile_rayleigh quantile_student_t quantile_weibull quartile_skewness quit qunit quotient racah_v racah_w radcan radius random random_bernoulli random_beta random_binomial random_bipartite_graph random_cauchy random_chi2 random_continuous_uniform random_digraph random_discrete_uniform random_exp random_f random_gamma random_general_finite_discrete random_geometric random_graph random_graph1 random_gumbel random_hypergeometric random_laplace random_logistic random_lognormal random_negative_binomial random_network random_noncentral_chi2 random_noncentral_student_t random_normal random_pareto random_permutation random_poisson random_rayleigh random_regular_graph random_student_t random_tournament random_tree random_weibull range rank rat ratcoef ratdenom ratdiff ratdisrep ratexpand ratinterpol rational rationalize ratnumer ratnump ratp ratsimp ratsubst ratvars ratweight read read_array read_binary_array read_binary_list read_binary_matrix readbyte readchar read_hashed_array readline read_list read_matrix read_nested_list readonly read_xpm real_imagpart_to_conjugate realpart realroots rearray rectangle rectform rectform_log_if_constant recttopolar rediff reduce_consts reduce_order region region_boundaries region_boundaries_plus rem remainder remarray rembox remcomps remcon remcoord remfun remfunction remlet remove remove_constvalue remove_dimensions remove_edge remove_fundamental_dimensions remove_fundamental_units remove_plot_option remove_vertex rempart remrule remsym remvalue rename rename_file reset reset_displays residue resolvante resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer rest resultant return reveal reverse revert revert2 rgb2level rhs ricci riemann rinvariant risch rk rmdir rncombine romberg room rootscontract round row rowop rowswap rreduce run_testsuite %s save saving scalarp scaled_bessel_i scaled_bessel_i0 scaled_bessel_i1 scalefactors scanmap scatterplot scatterplot_description scene schur2comp sconcat scopy scsimp scurvature sdowncase sec sech second sequal sequalignore set_alt_display setdifference set_draw_defaults set_edge_weight setelmx setequalp setify setp set_partitions set_plot_option set_prompt set_random_state set_tex_environment set_tex_environment_default setunits setup_autoload set_up_dot_simplifications set_vertex_label seventh sexplode sf sha1sum sha256sum shortest_path shortest_weighted_path show showcomps showratvars sierpinskiale sierpinskimap sign signum similaritytransform simp_inequality simplify_sum simplode simpmetderiv simtran sin sinh sinsert sinvertcase sixth skewness skewness_bernoulli skewness_beta skewness_binomial skewness_chi2 skewness_continuous_uniform skewness_discrete_uniform skewness_exp skewness_f skewness_gamma skewness_general_finite_discrete skewness_geometric skewness_gumbel skewness_hypergeometric skewness_laplace skewness_logistic skewness_lognormal skewness_negative_binomial skewness_noncentral_chi2 skewness_noncentral_student_t skewness_normal skewness_pareto skewness_poisson skewness_rayleigh skewness_student_t skewness_weibull slength smake small_rhombicosidodecahedron_graph small_rhombicuboctahedron_graph smax smin smismatch snowmap snub_cube_graph snub_dodecahedron_graph solve solve_rec solve_rec_rat some somrac sort sparse6_decode sparse6_encode sparse6_export sparse6_import specint spherical spherical_bessel_j spherical_bessel_y spherical_hankel1 spherical_hankel2 spherical_harmonic spherical_to_xyz splice split sposition sprint sqfr sqrt sqrtdenest sremove sremovefirst sreverse ssearch ssort sstatus ssubst ssubstfirst staircase standardize standardize_inverse_trig starplot starplot_description status std std1 std_bernoulli std_beta std_binomial std_chi2 std_continuous_uniform std_discrete_uniform std_exp std_f std_gamma std_general_finite_discrete std_geometric std_gumbel std_hypergeometric std_laplace std_logistic std_lognormal std_negative_binomial std_noncentral_chi2 std_noncentral_student_t std_normal std_pareto std_poisson std_rayleigh std_student_t std_weibull stemplot stirling stirling1 stirling2 strim striml strimr string stringout stringp strong_components struve_h struve_l sublis sublist sublist_indices submatrix subsample subset subsetp subst substinpart subst_parallel substpart substring subvar subvarp sum sumcontract summand_to_rec supcase supcontext symbolp symmdifference symmetricp system take_channel take_inference tan tanh taylor taylorinfo taylorp taylor_simplifier taytorat tcl_output tcontract tellrat tellsimp tellsimpafter tentex tenth test_mean test_means_difference test_normality test_proportion test_proportions_difference test_rank_sum test_sign test_signed_rank test_variance test_variance_ratio tex tex1 tex_display texput %th third throw time timedate timer timer_info tldefint tlimit todd_coxeter toeplitz tokens to_lisp topological_sort to_poly to_poly_solve totaldisrep totalfourier totient tpartpol trace tracematrix trace_options transform_sample translate translate_file transpose treefale tree_reduce treillis treinat triangle triangularize trigexpand trigrat trigreduce trigsimp trunc truncate truncated_cube_graph truncated_dodecahedron_graph truncated_icosahedron_graph truncated_tetrahedron_graph tr_warnings_get tube tutte_graph ueivects uforget ultraspherical underlying_graph undiff union unique uniteigenvectors unitp units unit_step unitvector unorder unsum untellrat untimer untrace uppercasep uricci uriemann uvect vandermonde_matrix var var1 var_bernoulli var_beta var_binomial var_chi2 var_continuous_uniform var_discrete_uniform var_exp var_f var_gamma var_general_finite_discrete var_geometric var_gumbel var_hypergeometric var_laplace var_logistic var_lognormal var_negative_binomial var_noncentral_chi2 var_noncentral_student_t var_normal var_pareto var_poisson var_rayleigh var_student_t var_weibull vector vectorpotential vectorsimp verbify vers vertex_coloring vertex_connectivity vertex_degree vertex_distance vertex_eccentricity vertex_in_degree vertex_out_degree vertices vertices_to_cycle vertices_to_path %w weyl wheel_graph wiener_index wigner_3j wigner_6j wigner_9j with_stdout write_binary_data writebyte write_data writefile wronskian xreduce xthru %y Zeilberger zeroequiv zerofor zeromatrix zeromatrixp zeta zgeev zheev zlange zn_add_table zn_carmichael_lambda zn_characteristic_factors zn_determinant zn_factor_generators zn_invert_by_lu zn_log zn_mult_table absboxchar activecontexts adapt_depth additive adim aform algebraic algepsilon algexact aliases allbut all_dotsimp_denoms allocation allsym alphabetic animation antisymmetric arrays askexp assume_pos assume_pos_pred assumescalar asymbol atomgrad atrig1 axes axis_3d axis_bottom axis_left axis_right axis_top azimuth background background_color backsubst berlefact bernstein_explicit besselexpand beta_args_sum_to_integer beta_expand bftorat bftrunc bindtest border boundaries_array box boxchar breakup %c capping cauchysum cbrange cbtics center cflength cframe_flag cnonmet_flag color color_bar color_bar_tics colorbox columns commutative complex cone context contexts contour contour_levels cosnpiflag ctaypov ctaypt ctayswitch ctayvar ct_coords ctorsion_flag ctrgsimp cube current_let_rule_package cylinder data_file_name debugmode decreasing default_let_rule_package delay dependencies derivabbrev derivsubst detout diagmetric diff dim dimensions dispflag display2d|10 display_format_internal distribute_over doallmxops domain domxexpt domxmxops domxnctimes dontfactor doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules dotdistrib dotexptsimp dotident dotscrules draw_graph_program draw_realpart edge_color edge_coloring edge_partition edge_type edge_width %edispflag elevation %emode endphi endtheta engineering_format_floats enhanced3d %enumer epsilon_lp erfflag erf_representation errormsg error_size error_syms error_type %e_to_numlog eval even evenfun evflag evfun ev_point expandwrt_denom expintexpand expintrep expon expop exptdispflag exptisolate exptsubst facexpand facsum_combine factlim factorflag factorial_expand factors_only fb feature features file_name file_output_append file_search_demo file_search_lisp file_search_maxima|10 file_search_tests file_search_usage file_type_lisp file_type_maxima|10 fill_color fill_density filled_func fixed_vertices flipflag float2bf font font_size fortindent fortspaces fpprec fpprintprec functions gamma_expand gammalim gdet genindex gensumnum GGFCFMAX GGFINFINITY globalsolve gnuplot_command gnuplot_curve_styles gnuplot_curve_titles gnuplot_default_term_command gnuplot_dumb_term_command gnuplot_file_args gnuplot_file_name gnuplot_out_file gnuplot_pdf_term_command gnuplot_pm3d gnuplot_png_term_command gnuplot_postamble gnuplot_preamble gnuplot_ps_term_command gnuplot_svg_term_command gnuplot_term gnuplot_view_args Gosper_in_Zeilberger gradefs grid grid2d grind halfangles head_angle head_both head_length head_type height hypergeometric_representation %iargs ibase icc1 icc2 icounter idummyx ieqnprint ifb ifc1 ifc2 ifg ifgi ifr iframe_bracket_form ifri igeowedge_flag ikt1 ikt2 imaginary inchar increasing infeval infinity inflag infolists inm inmc1 inmc2 intanalysis integer integervalued integrate_use_rootsof integration_constant integration_constant_counter interpolate_color intfaclim ip_grid ip_grid_in irrational isolate_wrt_times iterations itr julia_parameter %k1 %k2 keepfloat key key_pos kinvariant kt label label_alignment label_orientation labels lassociative lbfgs_ncorrections lbfgs_nfeval_max leftjust legend letrat let_rule_packages lfg lg lhospitallim limsubst linear linear_solver linechar linel|10 linenum line_type linewidth line_width linsolve_params linsolvewarn lispdisp listarith listconstvars listdummyvars lmxchar load_pathname loadprint logabs logarc logcb logconcoeffp logexpand lognegint logsimp logx logx_secondary logy logy_secondary logz lriem m1pbranch macroexpansion macros mainvar manual_demo maperror mapprint matrix_element_add matrix_element_mult matrix_element_transpose maxapplydepth maxapplyheight maxima_tempdir|10 maxima_userdir|10 maxnegex MAX_ORD maxposex maxpsifracdenom maxpsifracnum maxpsinegint maxpsiposint maxtayorder mesh_lines_color method mod_big_prime mode_check_errorp mode_checkp mode_check_warnp mod_test mod_threshold modular_linear_solver modulus multiplicative multiplicities myoptions nary negdistrib negsumdispflag newline newtonepsilon newtonmaxiter nextlayerfactor niceindicespref nm nmc noeval nolabels nonegative_lp noninteger nonscalar noun noundisp nouns np npi nticks ntrig numer numer_pbranch obase odd oddfun opacity opproperties opsubst optimprefix optionset orientation origin orthopoly_returns_intervals outative outchar packagefile palette partswitch pdf_file pfeformat phiresolution %piargs piece pivot_count_sx pivot_max_sx plot_format plot_options plot_realpart png_file pochhammer_max_index points pointsize point_size points_joined point_type poislim poisson poly_coefficient_ring poly_elimination_order polyfactor poly_grobner_algorithm poly_grobner_debug poly_monomial_order poly_primary_elimination_order poly_return_term_list poly_secondary_elimination_order poly_top_reduction_only posfun position powerdisp pred prederror primep_number_of_tests product_use_gamma program programmode promote_float_to_bigfloat prompt proportional_axes props psexpand ps_file radexpand radius radsubstflag rassociative ratalgdenom ratchristof ratdenomdivide rateinstein ratepsilon ratfac rational ratmx ratprint ratriemann ratsimpexpons ratvarswitch ratweights ratweyl ratwtlvl real realonly redraw refcheck resolution restart resultant ric riem rmxchar %rnum_list rombergabs rombergit rombergmin rombergtol rootsconmode rootsepsilon run_viewer same_xy same_xyz savedef savefactors scalar scalarmatrixp scale scale_lp setcheck setcheckbreak setval show_edge_color show_edges show_edge_type show_edge_width show_id show_label showtime show_vertex_color show_vertex_size show_vertex_type show_vertices show_weight simp simplified_output simplify_products simpproduct simpsum sinnpiflag solvedecomposes solveexplicit solvefactors solvenullwarn solveradcan solvetrigwarn space sparse sphere spring_embedding_depth sqrtdispflag stardisp startphi starttheta stats_numer stringdisp structures style sublis_apply_lambda subnumsimp sumexpand sumsplitfact surface surface_hide svg_file symmetric tab taylordepth taylor_logexpand taylor_order_coefficients taylor_truncate_polynomials tensorkill terminal testsuite_files thetaresolution timer_devalue title tlimswitch tr track transcompile transform transform_xy translate_fast_arrays transparent transrun tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex tr_function_call_default trigexpandplus trigexpandtimes triginverses trigsign trivial_solutions tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode tr_warn_undeclared tr_warn_undefined_variable tstep ttyoff tube_extremes ufg ug %unitexpand unit_vectors uric uriem use_fast_arrays user_preamble usersetunits values vect_cross verbose vertex_color vertex_coloring vertex_partition vertex_size vertex_type view warnings weyl width windowname windowtitle wired_surface wireframe xaxis xaxis_color xaxis_secondary xaxis_type xaxis_width xlabel xlabel_secondary xlength xrange xrange_secondary xtics xtics_axis xtics_rotate xtics_rotate_secondary xtics_secondary xtics_secondary_axis xu_grid x_voxel xy_file xyplane xy_scale yaxis yaxis_color yaxis_secondary yaxis_type yaxis_width ylabel ylabel_secondary ylength yrange yrange_secondary ytics ytics_axis ytics_rotate ytics_rotate_secondary ytics_secondary ytics_secondary_axis yv_grid y_voxel yx_ratio zaxis zaxis_color zaxis_type zaxis_width zeroa zerob zerobern zeta%pi zlabel zlabel_rotate zlength zmin zn_primroot_limit zn_primroot_pretest",symbol:"_ __ %|0 %%|0"},c:[{cN:"comment",b:"/\\*",e:"\\*/",c:["self"]},e.QSM,{cN:"number",r:0,v:[{b:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Ee][-+]?\\d+\\b"},{b:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Bb][-+]?\\d+\\b",r:10},{b:"\\b(\\.\\d+|\\d+\\.\\d+)\\b"},{b:"\\b(\\d+|0[0-9A-Za-z]+)\\.?\\b"}]}],i:/@/}});hljs.registerLanguage("properties",function(r){var t="[ \\t\\f]*",e="("+t+"[:=]"+t+"|[ \\t\\f]+)",s="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",n="([^\\\\:= \\t\\f\\n]|\\\\.)+",a={e:e,r:0,starts:{cN:"string",e:/$/,r:0,c:[{b:"\\\\\\n"}]}};return{cI:!0,i:/\S/,c:[r.C("^\\s*[!#]","$"),{b:s+e,rB:!0,c:[{cN:"attr",b:s,endsParent:!0,r:0}],starts:a},{b:n+e,rB:!0,r:0,c:[{cN:"meta",b:n,endsParent:!0,r:0}],starts:a},{cN:"attr",r:0,b:n+t+"$"}]}});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:n,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},c={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return n.splice(n.length,0,t,c),{c:n,k:i,i:"\\S"}});hljs.registerLanguage("tex",function(c){var e={cN:"tag",b:/\\/,r:0,c:[{cN:"name",v:[{b:/[a-zA-Z\u0430-\u044f\u0410-\u042f]+[*]?/},{b:/[^a-zA-Z\u0430-\u044f\u0410-\u042f0-9]/}],starts:{eW:!0,r:0,c:[{cN:"string",v:[{b:/\[/,e:/\]/},{b:/\{/,e:/\}/}]},{b:/\s*=\s*/,eW:!0,r:0,c:[{cN:"number",b:/-?\d*\.?\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/}]}]}}]};return{c:[e,{cN:"formula",c:[e],r:0,v:[{b:/\$\$/,e:/\$\$/},{b:/\$/,e:/\$/}]},c.C("%","$",{r:0})]}});hljs.registerLanguage("javascript",function(e){var r="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},s={cN:"subst",b:"\\$\\{",e:"\\}",k:t,c:[]},c={b:"html`",e:"",starts:{e:"`",rE:!1,c:[e.BE,s],sL:"xml"}},n={b:"css`",e:"",starts:{e:"`",rE:!1,c:[e.BE,s],sL:"css"}},o={cN:"string",b:"`",e:"`",c:[e.BE,s]};s.c=[e.ASM,e.QSM,c,n,o,a,e.RM];var i=s.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:t,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,c,n,o,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:r+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:r,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+r+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:r},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:i}]}]},{cN:"",b:/\s/,e:/\s*/,skip:!0},{b://,sL:"xml",c:[{b:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},{b:/<[A-Za-z0-9\\._:-]+/,e:/(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/,skip:!0,c:[{b:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:i}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor get set",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("xml",function(s){var e={eW:!0,i:/`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("\x3c!--","--\x3e",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"meta",b:/<\?xml/,e:/\?>/,r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0},{b:'b"',e:'"',skip:!0},{b:"b'",e:"'",skip:!0},s.inherit(s.ASM,{i:null,cN:null,c:null,skip:!0}),s.inherit(s.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[e],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[e],starts:{e:"<\/script>",rE:!0,sL:["actionscript","javascript","handlebars","xml","vbscript"]}},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},e]}]}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^\\s*([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage("php",function(e){var c={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},i={cN:"meta",b:/<\?(php)?|\?>/},t={cN:"string",c:[e.BE,i],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},a={v:[e.BNM,e.CNM]};return{aliases:["php","php3","php4","php5","php6","php7"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[i]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},i,{cN:"keyword",b:/\$this\b/},c,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",c,e.CBCM,t,a]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},t,a]}});hljs.registerLanguage("less",function(e){function r(e){return{cN:"string",b:"~?"+e+".*?"+e}}function t(e,r,t){return{cN:e,b:r,r:t}}var a="[\\w-]+",c="("+a+"|@{"+a+"})",s=[],b=[],n={b:"\\(",e:"\\)",c:b,r:0};b.push(e.CLCM,e.CBCM,r("'"),r('"'),e.CSSNM,{b:"(url|data-uri)\\(",starts:{cN:"string",e:"[\\)\\n]",eE:!0}},t("number","#[0-9A-Fa-f]+\\b"),n,t("variable","@@?"+a,10),t("variable","@{"+a+"}"),t("built_in","~?`[^`]*?`"),{cN:"attribute",b:a+"\\s*:",e:":",rB:!0,eE:!0},{cN:"meta",b:"!important"});var i=b.concat({b:"{",e:"}",c:s}),o={bK:"when",eW:!0,c:[{bK:"and not"}].concat(b)},u={b:c+"\\s*:",rB:!0,e:"[;}]",r:0,c:[{cN:"attribute",b:c,e:":",eE:!0,starts:{eW:!0,i:"[<=$]",r:0,c:b}}]},l={cN:"keyword",b:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{e:"[;{}]",rE:!0,c:b,r:0}},C={cN:"variable",v:[{b:"@"+a+"\\s*:",r:15},{b:"@"+a}],starts:{e:"[;}]",rE:!0,c:i}},p={v:[{b:"[\\.#:&\\[>]",e:"[;{}]"},{b:c,e:"{"}],rB:!0,rE:!0,i:"[<='$\"]",r:0,c:[e.CLCM,e.CBCM,o,t("keyword","all\\b"),t("variable","@{"+a+"}"),t("selector-tag",c+"%?",0),t("selector-id","#"+c),t("selector-class","\\."+c,0),t("selector-tag","&",0),{cN:"selector-attr",b:"\\[",e:"\\]"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"\\(",e:"\\)",c:i},{b:"!important"}]};return s.push(e.CLCM,e.CBCM,l,C,u,p),{cI:!0,i:"[=>'/<($\"]",c:s}});hljs.registerLanguage("dns",function(d){return{aliases:["bind","zone"],k:{keyword:"IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT"},c:[d.C(";","$",{r:0}),{cN:"meta",b:/^\$(TTL|GENERATE|INCLUDE|ORIGIN)\b/},{cN:"number",b:"((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))\\b"},{cN:"number",b:"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\b"},d.inherit(d.NM,{b:/\b\d+[dhwm]?/})]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,{cN:"",b:/\\"/},{cN:"string",b:/'/,e:/'/},t]}});hljs.registerLanguage("dockerfile",function(e){return{aliases:["docker"],cI:!0,k:"from maintainer expose env arg user onbuild stopsignal",c:[e.HCM,e.ASM,e.QSM,e.NM,{bK:"run cmd entrypoint volume add copy workdir label healthcheck shell",starts:{e:/[^\\]$/,sL:"bash"}}],i:">|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},c={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},s=[e.C("#","$",{c:[c]}),e.C("^\\=begin","^\\=end",{c:[c],r:10}),e.C("^__END__","\\n$")],n={cN:"subst",b:"#\\{",e:"}",k:r},t={cN:"string",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,rB:!0,c:[{b:/<<[-~]?'?/},{b:/\w+/,endSameAsBegin:!0,c:[e.BE,n]}]}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(s)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[t,{b:b}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[a,{cN:"regexp",c:[e.BE,n],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(s),r:0}].concat(s);n.c=d;var l=[{b:/^\s*=>/,starts:{e:"$",c:i.c=d}},{cN:"meta",b:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:s.concat(l).concat(d)}});hljs.registerLanguage("yaml",function(e){var b="true false yes no null",a="^[ \\-]*",r="[a-zA-Z_][\\w\\-]*",t={cN:"attr",v:[{b:a+r+":"},{b:a+'"'+r+'":'},{b:a+"'"+r+"':"}]},c={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/\S+/}],c:[e.BE,{cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]}]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[t,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>] *$",rE:!0,c:c.c,e:t.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!"+e.UIR},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^ *-",r:0},e.HCM,{bK:b,k:{literal:b}},e.CNM,c]}});hljs.registerLanguage("ocaml",function(e){return{aliases:["ml"],k:{keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:"true false"},i:/\/\/|>>/,l:"[a-z_]\\w*!?",c:[{cN:"literal",b:"\\[(\\|\\|)?\\]|\\(\\)",r:0},e.C("\\(\\*","\\*\\)",{c:["self"]}),{cN:"symbol",b:"'[A-Za-z_](?!')[\\w']*"},{cN:"type",b:"`[A-Z][\\w']*"},{cN:"type",b:"\\b[A-Z][\\w']*",r:0},{b:"[a-z_]\\w*'[\\w']*",r:0},e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{i:null}),{cN:"number",b:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",r:0},{b:/[-=]>/}]}});hljs.registerLanguage("dts",function(e){var a={cN:"string",v:[e.inherit(e.QSM,{b:'((u8?|U)|L)?"'}),{b:'(u8?|U)?R"',e:'"',c:[e.BE]},{b:"'\\\\?.",e:"'",i:"."}]},c={cN:"number",v:[{b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{b:e.CNR}],r:0},b={cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef ifdef ifndef"},c:[{b:/\\\n/,r:0},{bK:"include",e:"$",k:{"meta-keyword":"include"},c:[e.inherit(a,{cN:"meta-string"}),{cN:"meta-string",b:"<",e:">",i:"\\n"}]},a,e.CLCM,e.CBCM]},i={cN:"variable",b:"\\&[a-z\\d_]*\\b"},r={cN:"meta-keyword",b:"/[a-z][a-z\\d-]*/"},d={cN:"symbol",b:"^\\s*[a-zA-Z_][a-zA-Z\\d_]*:"},n={cN:"params",b:"<",e:">",c:[c,i]},s={cN:"class",b:/[a-zA-Z_][a-zA-Z\d_@]*\s{/,e:/[{;=]/,rB:!0,eE:!0};return{k:"",c:[{cN:"class",b:"/\\s*{",e:"};",r:10,c:[i,r,d,s,n,e.CLCM,e.CBCM,c,a]},i,r,d,s,n,e.CLCM,e.CBCM,c,a,b,{b:e.IR+"::",k:""}]}});hljs.registerLanguage("asciidoc",function(e){return{aliases:["adoc"],c:[e.C("^/{4,}\\n","\\n/{4,}$",{r:10}),e.C("^//","$",{r:0}),{cN:"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"section",r:10,v:[{b:"^(={1,5}) .+?( \\1)?$"},{b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{cN:"meta",b:"^:.+?:",e:"\\s",eE:!0,r:10},{cN:"meta",b:"^\\[.+?\\]$",r:0},{cN:"quote",b:"^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4,}$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10},{cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"symbol",b:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|')",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0},{cN:"string",v:[{b:"``.+?''"},{b:"`.+?'"}]},{cN:"code",b:"(`.+?`|\\+.+?\\+)",r:0},{cN:"code",b:"^[ \\t]",e:"$",r:0},{b:"^'{3,}[ \\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",rB:!0,c:[{b:"(link|image:?):",r:0},{cN:"link",b:"\\w",e:"[^\\[]+",r:0},{cN:"string",b:"\\[",e:"\\]",eB:!0,eE:!0,r:0}],r:10}]}});hljs.registerLanguage("nginx",function(e){var r={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},b={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[r]},{cN:"regexp",c:[e.BE,r],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},r]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:b}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("typescript",function(e){var r="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise"},n={cN:"meta",b:"@"+r},a={b:"\\(",e:/\)/,k:t,c:["self",e.QSM,e.ASM,e.NM]},s={cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:[e.CLCM,e.CBCM,n,a]},c={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},o={cN:"subst",b:"\\$\\{",e:"\\}",k:t,c:[]},i={b:"html`",e:"",starts:{e:"`",rE:!1,c:[e.BE,o],sL:"xml"}},l={b:"css`",e:"",starts:{e:"`",rE:!1,c:[e.BE,o],sL:"css"}},b={cN:"string",b:"`",e:"`",c:[e.BE,o]};return o.c=[e.ASM,e.QSM,i,l,b,c,e.RM],{aliases:["ts"],k:t,c:[{cN:"meta",b:/^\s*['"]use strict['"]/},e.ASM,e.QSM,i,l,b,e.CLCM,e.CBCM,c,{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+e.IR+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:e.IR},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:["self",e.CLCM,e.CBCM]}]}]}],r:0},{cN:"function",b:"function",e:/[\{;]/,eE:!0,k:t,c:["self",e.inherit(e.TM,{b:r}),s],i:/%/,r:0},{bK:"constructor",e:/\{/,eE:!0,c:["self",s]},{b:/module\./,k:{built_in:"module"},r:0},{bK:"module",e:/\{/,eE:!0},{bK:"interface",e:/\{/,eE:!0,k:"interface extends"},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},n,a]}});hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}});hljs.registerLanguage("ini",function(e){var b={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_\.-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_\.-]+/},{b:/=/,eW:!0,r:0,c:[e.C(";","$"),e.HCM,{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},b,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}});hljs.registerLanguage("rust",function(e){var t="([ui](8|16|32|64|128|size)|f(32|64))?",r="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{aliases:["rs"],k:{keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:r},l:e.IR+"!?",i:""}]}});hljs.registerLanguage("css",function(e){var c={b:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:"[a-zA-Z-][a-zA-Z0-9_-]*",r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,c]}]}});hljs.registerLanguage("objectivec",function(e){var t=/[a-zA-Z@][a-zA-Z0-9_]*/,_="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:{keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},l:t,i:""}]}]},{cN:"class",b:"("+_.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:_,l:t,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}});hljs.registerLanguage("mathematica",function(e){return{aliases:["mma","wl"],l:"(\\$|\\b)"+e.IR+"\\b",k:"AASTriangle AbelianGroup Abort AbortKernels AbortProtect AbortScheduledTask Above Abs AbsArg AbsArgPlot Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AcceptanceThreshold AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Activate Active ActiveClassification ActiveClassificationObject ActiveItem ActivePrediction ActivePredictionObject ActiveStyle AcyclicGraphQ AddOnHelpPath AddSides AddTo AddToSearchIndex AddUsers AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AdministrativeDivisionData AffineHalfSpace AffineSpace AffineStateSpaceModel AffineTransform After AggregatedEntityClass AggregationLayer AircraftData AirportData AirPressureData AirTemperatureData AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowAdultContent AllowedCloudExtraParameters AllowedCloudParameterExtensions AllowedDimensions AllowedFrequencyRange AllowedHeads AllowGroupClose AllowIncomplete AllowInlineCells AllowKernelInitialization AllowLooseGrammar AllowReverseGroupClose AllowScriptLevelChange AllTrue Alphabet AlphabeticOrder AlphabeticSort AlphaChannel AlternateImage AlternatingFactorial AlternatingGroup AlternativeHypothesis Alternatives AltitudeMethod AmbientLight AmbiguityFunction AmbiguityList Analytic AnatomyData AnatomyForm AnatomyPlot3D AnatomySkinStyle AnatomyStyling AnchoredSearch And AndersonDarlingTest AngerJ AngleBisector AngleBracket AnglePath AnglePath3D AngleVector AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning AnimationRunTime AnimationTimeIndex Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotate Annotation AnnotationDelete AnnotationNames AnnotationRules AnnotationValue Annuity AnnuityDue Annulus AnomalyDetection AnomalyDetectorFunction Anonymous Antialiasing AntihermitianMatrixQ Antisymmetric AntisymmetricMatrixQ Antonyms AnyOrder AnySubset AnyTrue Apart ApartSquareFree APIFunction Appearance AppearanceElements AppearanceRules AppellF1 Append AppendCheck AppendLayer AppendTo ApplicationIdentificationKey Apply ApplySides ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcCurvature ARCHProcess ArcLength ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Area Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess Around AroundReplace ARProcess Array ArrayComponents ArrayDepth ArrayFilter ArrayFlatten ArrayMesh ArrayPad ArrayPlot ArrayQ ArrayResample ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads ASATriangle Ask AskAppend AskConfirm AskDisplay AskedQ AskedValue AskFunction AskState AskTemplateDisplay AspectRatio AspectRatioFixed Assert AssociateTo Association AssociationFormat AssociationMap AssociationQ AssociationThread AssumeDeterministic Assuming Assumptions AstronomicalData AsymptoticDSolveValue AsymptoticEqual AsymptoticEquivalent AsymptoticGreater AsymptoticGreaterEqual AsymptoticIntegrate AsymptoticLess AsymptoticLessEqual AsymptoticOutputTracker AsymptoticRSolveValue AsymptoticSolve AsymptoticSum Asynchronous AsynchronousTaskObject AsynchronousTasks Atom AtomCoordinates AtomCount AtomDiagramCoordinates AtomList AtomQ AttentionLayer Attributes Audio AudioAmplify AudioAnnotate AudioAnnotationLookup AudioBlockMap AudioCapture AudioChannelAssignment AudioChannelCombine AudioChannelMix AudioChannels AudioChannelSeparate AudioData AudioDelay AudioDelete AudioDevice AudioDistance AudioFade AudioFrequencyShift AudioGenerator AudioIdentify AudioInputDevice AudioInsert AudioIntervals AudioJoin AudioLabel AudioLength AudioLocalMeasurements AudioLooping AudioLoudness AudioMeasurements AudioNormalize AudioOutputDevice AudioOverlay AudioPad AudioPan AudioPartition AudioPause AudioPitchShift AudioPlay AudioPlot AudioQ AudioRecord AudioReplace AudioResample AudioReverb AudioSampleRate AudioSpectralMap AudioSpectralTransformation AudioSplit AudioStop AudioStream AudioStreams AudioTimeStretch AudioTrim AudioType AugmentedPolyhedron AugmentedSymmetricPolynomial Authenticate Authentication AuthenticationDialog AutoAction Autocomplete AutocompletionFunction AutoCopy AutocorrelationTest AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutoQuoteCharacters AutoRefreshed AutoRemove AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords AutoSubmitting Axes AxesEdge AxesLabel AxesOrigin AxesStyle AxiomaticTheory AxisBabyMonsterGroupB Back Background BackgroundAppearance BackgroundTasksSettings Backslash Backsubstitution Backward Ball Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarcodeImage BarcodeRecognize BaringhausHenzeTest BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseDecode BaseEncode BaseForm Baseline BaselinePosition BaseStyle BasicRecurrentLayer BatchNormalizationLayer BatchSize BatesDistribution BattleLemarieWavelet BayesianMaximization BayesianMaximizationObject BayesianMinimization BayesianMinimizationObject Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized Between BetweennessCentrality BeveledPolyhedron BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryDeserialize BinaryDistance BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinarySerialize BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BiquadraticFilterModel BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor BiweightLocation BiweightMidvariance Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockchainAddressData BlockchainBase BlockchainBlockData BlockchainContractValue BlockchainData BlockchainGet BlockchainKeyEncode BlockchainPut BlockchainTokenData BlockchainTransaction BlockchainTransactionData BlockchainTransactionSign BlockchainTransactionSubmit BlockMap BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bond BondCount BondList BondQ Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms BooleanQ BooleanRegion Booleans BooleanStrings BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryDiscretizeGraphics BoundaryDiscretizeRegion BoundaryMesh BoundaryMeshRegion BoundaryMeshRegionQ BoundaryStyle BoundedRegionQ BoundingRegion Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxObject BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break BridgeData BrightnessEqualize BroadcastStationData Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurve3DBoxOptions BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BSplineSurface3DBoxOptions BubbleChart BubbleChart3D BubbleScale BubbleSizes BuildingData BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteArray ByteArrayFormat ByteArrayQ ByteArrayToString ByteCount ByteOrderingC CachedValue CacheGraphics CachePersistence CalendarConvert CalendarData CalendarType Callout CalloutMarker CalloutStyle CallPacket CanberraDistance Cancel CancelButton CandlestickChart CanonicalGraph CanonicalizePolygon CanonicalizePolyhedron CanonicalName CanonicalWarpingCorrespondence CanonicalWarpingDistance CantorMesh CantorStaircase Cap CapForm CapitalDifferentialD Capitalize CapsuleShape CaptureRunning CardinalBSplineBasis CarlemanLinearize CarmichaelLambda CaseOrdering Cases CaseSensitive Cashflow Casoratian Catalan CatalanNumber Catch Catenate CatenateLayer CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling CelestialSystem Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEvaluationLanguage CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellLabelStyle CellLabelTemplate CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterArray CenterDot CentralFeature CentralMoment CentralMomentGeneratingFunction Cepstrogram CepstrogramArray CepstrumArray CForm ChampernowneNumber ChangeOptions ChannelBase ChannelBrokerAction ChannelDatabin ChannelHistoryLength ChannelListen ChannelListener ChannelListeners ChannelListenerWait ChannelObject ChannelPreSendFunction ChannelReceiverFunction ChannelSend ChannelSubscribers ChanVeseBinarize Character CharacterCounts CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterName CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop ChromaticityPlot ChromaticityPlot3D ChromaticPolynomial Circle CircleBox CircleDot CircleMinus CirclePlus CirclePoints CircleThrough CircleTimes CirculantGraph CircularOrthogonalMatrixDistribution CircularQuaternionMatrixDistribution CircularRealMatrixDistribution CircularSymplecticMatrixDistribution CircularUnitaryMatrixDistribution Circumsphere CityData ClassifierFunction ClassifierInformation ClassifierMeasurements ClassifierMeasurementsObject Classify ClassPriors Clear ClearAll ClearAttributes ClearCookies ClearPermissions ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipPlanesStyle ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent CloudAccountData CloudBase CloudConnect CloudDeploy CloudDirectory CloudDisconnect CloudEvaluate CloudExport CloudExpression CloudExpressions CloudFunction CloudGet CloudImport CloudLoggingData CloudObject CloudObjectInformation CloudObjectInformationData CloudObjectNameFormat CloudObjects CloudObjectURLType CloudPublish CloudPut CloudRenderingMethod CloudSave CloudShare CloudSubmit CloudSymbol CloudUnshare ClusterClassify ClusterDissimilarityFunction ClusteringComponents ClusteringTree CMYKColor Coarse CodeAssistOptions Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorBalance ColorCombine ColorConvert ColorCoverage ColorData ColorDataFunction ColorDetect ColorDistance ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQ ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorsNear ColorSpace ColorToneMapping Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CombinedEntityClass CombinerFunction CometData CommonDefaultFormatTypes Commonest CommonestFilter CommonName CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompanyData CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledCodeFunction CompiledFunction CompilerOptions Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComplexListPlot ComplexPlot ComplexPlot3D ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries CompositeQ Composition CompoundElement CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData ComputeUncertainty Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath ConformAudio ConformImages Congruent ConicHullRegion ConicHullRegion3DBox ConicHullRegionBox ConicOptimization Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphComponents ConnectedGraphQ ConnectedMeshComponents ConnectedMoleculeComponents ConnectedMoleculeQ ConnectionSettings ConnectLibraryCallbackFunction ConnectSystemModelComponents ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray ConstantArrayLayer ConstantImage ConstantPlusLayer ConstantRegionQ Constants ConstantTimesLayer ConstellationData ConstrainedMax ConstrainedMin Construct Containing ContainsAll ContainsAny ContainsExactly ContainsNone ContainsOnly ContentFieldOptions ContentLocationFunction ContentObject ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTask ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean ContrastiveLossLayer Control ControlActive ControlAlignment ControlGroupContentsBox ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket ConvexHullMesh ConvexPolygonQ ConvexPolyhedronQ ConvolutionLayer Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CookieFunction Cookies CoordinateBoundingBox CoordinateBoundingBoxArray CoordinateBounds CoordinateBoundsArray CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDatabin CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CountDistinct CountDistinctBy CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Counts CountsBy Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateCellID CreateChannel CreateCloudExpression CreateDatabin CreateDataSystemModel CreateDialog CreateDirectory CreateDocument CreateFile CreateIntermediateDirectories CreateManagedLibraryExpression CreateNotebook CreatePalette CreatePalettePacket CreatePermissionsGroup CreateScheduledTask CreateSearchIndex CreateSystemModel CreateTemporary CreateUUID CreateWindow CriterionFunction CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossEntropyLossLayer CrossingCount CrossingDetect CrossingPolygon CrossMatrix Csc Csch CTCLossLayer Cube CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrencyConvert CurrentDate CurrentImage CurrentlySpeakingPacket CurrentNotebookImage CurrentScreenImage CurrentValue Curry CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecompositionD DagumDistribution DamData DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DatabaseConnect DatabaseDisconnect DatabaseReference Databin DatabinAdd DatabinRemove Databins DatabinUpload DataCompression DataDistribution DataRange DataReversed Dataset Date DateBounds Dated DateDelimiters DateDifference DatedUnit DateFormat DateFunction DateHistogram DateList DateListLogPlot DateListPlot DateListStepPlot DateObject DateObjectQ DateOverlapsQ DatePattern DatePlus DateRange DateReduction DateString DateTicksFormat DateValue DateWithinQ DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayHemisphere DaylightQ DayMatchQ DayName DayNightTerminator DayPlus DayRange DayRound DeBruijnGraph DeBruijnSequence Debug DebugTag Decapitalize Decimal DecimalForm DeclareKnownSymbols DeclarePackage Decompose DeconvolutionLayer Decrement Decrypt DecryptFile DedekindEta DeepSpaceProbeData Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultPrintPrecision DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValue DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod DefineResourceFunction Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic DEigensystem DEigenvalues Deinitialization Del DelaunayMesh Delayed Deletable Delete DeleteAnomalies DeleteBorderComponents DeleteCases DeleteChannel DeleteCloudExpression DeleteContents DeleteDirectory DeleteDuplicates DeleteDuplicatesBy DeleteFile DeleteMissing DeleteObject DeletePermissionsKey DeleteSearchIndex DeleteSmallComponents DeleteStopwords DeleteWithContents DeletionWarning DelimitedArray DelimitedSequence Delimiter DelimiterFlashTime DelimiterMatching Delimiters DeliveryFunction Dendrogram Denominator DensityGraphics DensityHistogram DensityPlot DensityPlot3D DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DerivedKey DescriptorStateSpace DesignMatrix DestroyAfterEvaluation Det DeviceClose DeviceConfigure DeviceExecute DeviceExecuteAsynchronous DeviceObject DeviceOpen DeviceOpenQ DeviceRead DeviceReadBuffer DeviceReadLatest DeviceReadList DeviceReadTimeSeries Devices DeviceStreams DeviceWrite DeviceWriteBuffer DGaussianWavelet DiacriticalPositioning Diagonal DiagonalizableMatrixQ DiagonalMatrix DiagonalMatrixQ Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DictionaryWordQ DifferenceDelta DifferenceOrder DifferenceQuotient DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitalSignature DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralAngle DihedralGroup Dilation DimensionalCombinations DimensionalMeshComponents DimensionReduce DimensionReducerFunction DimensionReduction Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletBeta DirichletCharacter DirichletCondition DirichletConvolve DirichletDistribution DirichletEta DirichletL DirichletLambda DirichletTransform DirichletWindow DisableConsolePrintPacket DisableFormatting DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLimit DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscreteMaxLimit DiscreteMinLimit DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform DiscretizeGraphics DiscretizeRegion Discriminant DisjointQ Disjunction Disk DiskBox DiskMatrix DiskSegment Dispatch DispatchQ DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceMatrix DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers DivideSides Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentGenerator DocumentGeneratorInformation DocumentGeneratorInformationData DocumentGenerators DocumentNotebook DocumentWeightingRules Dodecahedron DomainRegistrationInformation DominantColors DOSTextFormat Dot DotDashed DotEqual DotLayer DotPlusLayer Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DropoutLayer DSolve DSolveValue Dt DualLinearProgramming DualPolyhedron DualSystemsModel DumpGet DumpSave DuplicateFreeQ Duration Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicGeoGraphics DynamicImage DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptionsE EarthImpactData EarthquakeData EccentricityCentrality Echo EchoFunction EclipseType EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeContract EdgeCost EdgeCount EdgeCoverQ EdgeCycleMatrix EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight EdgeWeightedGraphQ Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData ElementwiseLayer ElidedForms Eliminate EliminationOrder Ellipsoid EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmbedCode EmbeddedHTML EmbeddedService EmbeddingLayer EmbeddingObject EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EmptyRegion EnableConsolePrintPacket Enabled Encode Encrypt EncryptedObject EncryptFile End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfBuffer EndOfFile EndOfLine EndOfString EndPackage EngineEnvironment EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entity EntityClass EntityClassList EntityCopies EntityFunction EntityGroup EntityInstance EntityList EntityPrefetch EntityProperties EntityProperty EntityPropertyClass EntityRegister EntityStore EntityStores EntityTypeName EntityUnregister EntityValue Entropy EntropyFilter Environment Epilog EpilogFunction Equal EqualColumns EqualRows EqualTilde EqualTo EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EscapeRadius EstimatedBackground EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerAngles EulerCharacteristic EulerE EulerGamma EulerianGraphQ EulerMatrix EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluateScheduledTask EvaluationBox EvaluationCell EvaluationCompletionAction EvaluationData EvaluationElements EvaluationEnvironment EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels EventSeries ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludedLines ExcludedPhysicalQuantities ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog ExoplanetData Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi ExpirationDate Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportByteArray ExportForm ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpressionUUID ExpToTrig ExtendedEntityClass ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalBundle ExternalCall ExternalDataCharacterEncoding ExternalEvaluate ExternalFunction ExternalFunctionName ExternalObject ExternalOptions ExternalSessionObject ExternalSessions ExternalTypeSignature ExternalValue Extract ExtractArchive ExtractLayer ExtremeValueDistributionFaceForm FaceGrids FaceGridsStyle FacialFeatures Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail Failure FailureAction FailureDistribution FailureQ False FareySequence FARIMAProcess FeatureDistance FeatureExtract FeatureExtraction FeatureExtractor FeatureExtractorFunction FeatureNames FeatureNearest FeatureSpacePlot FeatureSpacePlot3D FeatureTypes FEDisableConsolePrintPacket FeedbackLinearize FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket FetalGrowthData Fibonacci Fibonorial FieldCompletionFunction FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileConvert FileDate FileExistsQ FileExtension FileFormat FileHandler FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameForms FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileSize FileSystemMap FileSystemScan FileTemplate FileTemplateApply FileType FilledCurve FilledCurveBox FilledCurveBoxOptions Filling FillingStyle FillingTransform FilteredEntityClass FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindAnomalies FindArgMax FindArgMin FindChannels FindClique FindClusters FindCookies FindCurvePath FindCycle FindDevices FindDistribution FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEdgeIndependentPaths FindEquationalProof FindEulerianCycle FindExternalEvaluators FindFaces FindFile FindFit FindFormula FindFundamentalCycles FindGeneratingFunction FindGeoLocation FindGeometricConjectures FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindHamiltonianPath FindHiddenMarkovStates FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMatchingColor FindMaximum FindMaximumFlow FindMaxValue FindMeshDefects FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindMoleculeSubstructure FindPath FindPeaks FindPermutation FindPostmanTour FindProcessParameters FindRepeat FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindSpanningTree FindSystemModelEquilibrium FindTextualAnswer FindThreshold FindTransientRepeat FindVertexCover FindVertexCut FindVertexIndependentPaths Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstCase FirstPassageTimeDistribution FirstPosition FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FitRegularization FittedModel FixedOrder FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlattenLayer FlatTopWindow FlipView Floor FlowPolynomial FlushPrintOutputPacket Fold FoldList FoldPair FoldPairList FollowRedirects Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FormControl FormFunction FormLayoutFunction FormObject FormPage FormTheme FormulaData FormulaLookup FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalGaussianNoiseProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameRate FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrenetSerretSystem FrequencySamplingFilterKernel FresnelC FresnelF FresnelG FresnelS Friday FrobeniusNumber FrobeniusSolve FromAbsoluteTime FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS FromEntity FromJulianDate FromLetterNumber FromPolarCoordinates FromRomanNumeral FromSphericalCoordinates FromUnixTime Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullInformationOutputRegulator FullOptions FullRegion FullSimplify Function FunctionCompile FunctionCompileExport FunctionCompileExportByteArray FunctionCompileExportLibrary FunctionCompileExportString FunctionDomain FunctionExpand FunctionInterpolation FunctionPeriod FunctionRange FunctionSpace FussellVeselyImportanceGaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins GalaxyData GalleryView Gamma GammaDistribution GammaRegularized GapPenalty GARCHProcess GatedRecurrentLayer Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianOrthogonalMatrixDistribution GaussianSymplecticMatrixDistribution GaussianUnitaryMatrixDistribution GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateAsymmetricKeyPair GenerateConditions GeneratedCell GeneratedDocumentBinding GenerateDerivedKey GenerateDigitalSignature GenerateDocument GeneratedParameters GeneratedQuantityMagnitudes GenerateHTTPResponse GenerateSecuredAuthenticationKey GenerateSymmetricKey GeneratingFunction GeneratorDescription GeneratorHistoryLength GeneratorOutputType Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeoAntipode GeoArea GeoArraySize GeoBackground GeoBoundingBox GeoBounds GeoBoundsRegion GeoBubbleChart GeoCenter GeoCircle GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDisk GeoDisplacement GeoDistance GeoDistanceList GeoElevationData GeoEntities GeoGraphics GeogravityModelData GeoGridDirectionDifference GeoGridLines GeoGridLinesStyle GeoGridPosition GeoGridRange GeoGridRangePadding GeoGridUnitArea GeoGridUnitDistance GeoGridVector GeoGroup GeoHemisphere GeoHemisphereBoundary GeoHistogram GeoIdentify GeoImage GeoLabels GeoLength GeoListPlot GeoLocation GeologicalPeriodData GeomagneticModelData GeoMarker GeometricAssertion GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricScene GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoModel GeoNearest GeoPath GeoPosition GeoPositionENU GeoPositionXYZ GeoProjection GeoProjectionData GeoRange GeoRangePadding GeoRegionValuePlot GeoResolution GeoScaleBar GeoServer GeoSmoothHistogram GeoStreamPlot GeoStyling GeoStylingImageFunction GeoVariant GeoVector GeoVectorENU GeoVectorPlot GeoVectorXYZ GeoVisibleRegion GeoVisibleRegionBoundary GeoWithinQ GeoZoomLevel GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenAngle GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter GrammarApply GrammarRules GrammarToken Graph Graph3D GraphAssortativity GraphAutomorphismGroup GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel Greater GreaterEqual GreaterEqualLess GreaterEqualThan GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterThan GreaterTilde Green GreenFunction Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupBy GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators Groupings GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain GroupTogetherGrouping GroupTogetherNestedGrouping GrowCutComponents Gudermannian GuidedFilter GumbelDistributionHaarWavelet HadamardMatrix HalfLine HalfNormalDistribution HalfPlane HalfSpace HamiltonianGraphQ HammingDistance HammingWindow HandlerFunctions HandlerFunctionsKeys HankelH1 HankelH2 HankelMatrix HankelTransform HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash Haversine HazardFunction Head HeadCompose HeaderLines Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings Here HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenMarkovProcess HiddenSurface Highlighted HighlightGraph HighlightImage HighlightMesh HighpassFilter HigmanSimsGroupHS HilbertCurve HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HistoricalPeriodData HitMissTransform HITSCentrality HjorthDistribution HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HostLookup HotellingTSquareDistribution HoytDistribution HTMLSave HTTPErrorResponse HTTPRedirect HTTPRequest HTTPRequestData HTTPResponse Hue HumanGrowthData HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyperplane Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestDataI IconData Iconize IconizedObject IconRules Icosahedron Identity IdentityMatrix If IgnoreCase IgnoreDiacritics IgnorePunctuation IgnoreSpellCheck IgnoringInactive Im Image Image3D Image3DProjection Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageApplyIndexed ImageAspectRatio ImageAssemble ImageAugmentationLayer ImageBoundingBoxes ImageCache ImageCacheValid ImageCapture ImageCaptureFunction ImageCases ImageChannels ImageClip ImageCollage ImageColorSpace ImageCompose ImageContainsQ ImageContents ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDisplacements ImageDistance ImageEffect ImageExposureCombine ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageFocusCombine ImageForestingComponents ImageFormattingWidth ImageForwardTransformation ImageGraphics ImageHistogram ImageIdentify ImageInstanceQ ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarker ImageMarkers ImageMeasurements ImageMesh ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImagePosition ImagePreviewFunction ImagePyramid ImagePyramidApply ImageQ ImageRangeCache ImageRecolor ImageReflect ImageRegion ImageResize ImageResolution ImageRestyle ImageRotate ImageRotated ImageSaliencyFilter ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions ImagingDevice ImplicitRegion Implies Import ImportAutoReplacements ImportByteArray ImportOptions ImportString ImprovementImportance In Inactivate Inactive IncidenceGraph IncidenceList IncidenceMatrix IncludeAromaticBonds IncludeConstantBasis IncludeDefinitions IncludeDirectories IncludeFileExtension IncludeGeneratorTasks IncludeHydrogens IncludeInflections IncludeMetaInformation IncludePods IncludeQuantities IncludeRelatedTables IncludeSingularTerm IncludeWindowTimes Increment IndefiniteMatrixQ Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentPhysicalQuantity IndependentUnit IndependentUnitDimension IndependentVertexSetQ Indeterminate IndeterminateThreshold IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers InfiniteLine InfinitePlane Infinity Infix InflationAdjust InflationMethod Information InformationData InformationDataGrid Inherited InheritScope InhomogeneousPoissonProcess InitialEvaluationHistory Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InitializationObjects InitializationValue Initialize InitialSeeding InlineCounterAssignments InlineCounterIncrements InlineRules Inner InnerPolygon InnerPolyhedron Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionFunction InsertionPointObject InsertLinebreaks InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Insphere Install InstallService InstanceNormalizationLayer InString Integer IntegerDigits IntegerExponent IntegerLength IntegerName IntegerPart IntegerPartitions IntegerQ IntegerReverse Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction Interpreter InterpretTemplate InterquartileRange Interrupt InterruptSettings IntersectingQ Intersection Interval IntervalIntersection IntervalMarkers IntervalMarkersStyle IntervalMemberQ IntervalSlider IntervalUnion Into Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHankelTransform InverseHaversine InverseImagePyramid InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InverseMellinTransform InversePermutation InverseRadon InverseRadonTransform InverseSeries InverseShortTimeFourier InverseSpectrogram InverseSurvivalFunction InverseTransformedRegion InverseWaveletTransform InverseWeierstrassP InverseWishartMatrixDistribution InverseZTransform Invisible InvisibleApplication InvisibleTimes IPAddress IrreduciblePolynomialQ IslandData IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemAspectRatio ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcessJaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join JoinAcross Joined JoinedCurve JoinedCurveBox JoinedCurveBoxOptions JoinForm JordanDecomposition JordanModelDecomposition JulianDate JuliaSetBoettcher JuliaSetIterationCount JuliaSetPlot JuliaSetPointsK KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KEdgeConnectedComponents KEdgeConnectedGraphQ KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelFunction KernelMixtureDistribution Kernels Ket Key KeyCollisionFunction KeyComplement KeyDrop KeyDropFrom KeyExistsQ KeyFreeQ KeyIntersection KeyMap KeyMemberQ KeypointStrength Keys KeySelect KeySort KeySortBy KeyTake KeyUnion KeyValueMap KeyValuePattern Khinchin KillProcess KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnapsackSolve KnightTourGraph KnotData KnownUnitQ KochCurve KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter KVertexConnectedComponents KVertexConnectedGraphQLABColor Label Labeled LabeledSlider LabelingFunction LabelingSize LabelStyle LabelVisibility LaguerreL LakeData LambdaComponents LambertW LaminaData LanczosWindow LandauDistribution Language LanguageCategory LanguageData LanguageIdentify LanguageOptions LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCHColor LCM LeaderSize LeafCount LeapYearQ LearnDistribution LearnedDistribution LearningRate LearningRateMultipliers LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessEqualThan LessFullEqual LessGreater LessLess LessSlantEqual LessThan LessTilde LetterCharacter LetterCounts LetterNumber LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryDataType LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox Line3DBoxOptions LinearFilter LinearFractionalOptimization LinearFractionalTransform LinearGradientImage LinearizingTransformationData LinearLayer LinearModelFit LinearOffsetFunction LinearOptimization LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBoxOptions LineBreak LinebreakAdjustments LineBreakChart LinebreakSemicolonWeighting LineBreakWithin LineColor LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRankCentrality LinkRead LinkReadHeld LinkReadyQ Links LinkService LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot ListDensityPlot3D Listen ListFormat ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListSliceContourPlot3D ListSliceDensityPlot3D ListSliceVectorPlot3D ListStepPlot ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalAdaptiveBinarize LocalCache LocalClusteringCoefficient LocalizeDefinitions LocalizeVariables LocalObject LocalObjects LocalResponseNormalizationLayer LocalSubmit LocalSymbol LocalTime LocalTimeZone LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogisticSigmoid LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongestOrderedSequence LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow LongShortTermMemoryLayer Lookup Loopback LoopFreeGraphQ LossFunction LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowerTriangularMatrixQ LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LunarEclipse LUVColor LyapunovSolve LyonsGroupLyMachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MailAddressValidation MailExecute MailFolder MailItem MailReceiverFunction MailResponseFunction MailSearch MailServerConnect MailServerConnection MailSettings MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules ManagedLibraryExpressionID ManagedLibraryExpressionQ MandelbrotSetBoettcher MandelbrotSetDistance MandelbrotSetIterationCount MandelbrotSetMemberQ MandelbrotSetPlot MangoldtLambda ManhattanDistance Manipulate Manipulator MannedSpaceMissionData MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarchenkoPasturDistribution MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicalFunctionData MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixNormalDistribution MatrixPlot MatrixPower MatrixPropertyDistribution MatrixQ MatrixRank MatrixTDistribution Max MaxBend MaxCellMeasure MaxColorDistance MaxDetect MaxDuration MaxExtraBandwidths MaxExtraConditions MaxFeatureDisplacement MaxFeatures MaxFilter MaximalBy Maximize MaxItems MaxIterations MaxLimit MaxMemoryUsed MaxMixtureKernels MaxOverlapFraction MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxTrainingRounds MaxValue MaxwellDistribution MaxWordGap McLaughlinGroupMcL Mean MeanAbsoluteLossLayer MeanAround MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter MeanSquaredLossLayer Median MedianDeviation MedianFilter MedicalTestData Medium MeijerG MeijerGReduce MeixnerDistribution MellinConvolve MellinTransform MemberQ MemoryAvailable MemoryConstrained MemoryConstraint MemoryInUse MengerMesh Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuList MenuPacket MenuSortingValue MenuStyle MenuView Merge MergeDifferences MergingFunction MersennePrimeExponent MersennePrimeExponentQ Mesh MeshCellCentroid MeshCellCount MeshCellHighlight MeshCellIndex MeshCellLabel MeshCellMarker MeshCellMeasure MeshCellQuality MeshCells MeshCellShapeFunction MeshCellStyle MeshCoordinates MeshFunctions MeshPrimitives MeshQualityGoal MeshRange MeshRefinementFunction MeshRegion MeshRegionQ MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageObject MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation MeteorShowerData Method MethodOptions MexicanHatWavelet MeyerWavelet Midpoint Min MinColorDistance MinDetect MineralData MinFilter MinimalBy MinimalPolynomial MinimalStateSpaceModel Minimize MinimumTimeIncrement MinIntervalSize MinkowskiQuestionMark MinLimit MinMax MinorPlanetData Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingBehavior MissingDataMethod MissingDataRules MissingQ MissingString MissingStyle MissingValuePattern MittagLefflerE MixedFractionParts MixedGraphQ MixedMagnitude MixedRadix MixedRadixQuantity MixedUnit MixtureDistribution Mod Modal Mode Modular ModularInverse ModularLambda Module Modulus MoebiusMu Molecule MoleculeContainsQ MoleculeEquivalentQ MoleculeGraph MoleculeModify MoleculePattern MoleculePlot MoleculePlot3D MoleculeProperty MoleculeQ MoleculeValue Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction MomentOfInertia Monday Monitor MonomialList MonomialOrder MonsterGroupM MoonPhase MoonPosition MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform MortalityData Most MountainData MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovieData MovingAverage MovingMap MovingMedian MoyalDistribution Multicolumn MultiedgeStyle MultigraphQ MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity MultiplySides Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistributionN NakagamiDistribution NameQ Names NamespaceBox NamespaceBoxOptions Nand NArgMax NArgMin NBernoulliB NBodySimulation NBodySimulationData NCache NDEigensystem NDEigenvalues NDSolve NDSolveValue Nearest NearestFunction NearestNeighborGraph NearestTo NebulaData NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeDefiniteMatrixQ NegativeIntegers NegativeMultinomialDistribution NegativeRationals NegativeReals NegativeSemidefiniteMatrixQ NeighborhoodData NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestGraph NestList NestWhile NestWhileList NetAppend NetBidirectionalOperator NetChain NetDecoder NetDelete NetDrop NetEncoder NetEvaluationMode NetExtract NetFlatten NetFoldOperator NetGraph NetInformation NetInitialize NetInsert NetInsertSharedArrays NetJoin NetMapOperator NetMapThreadOperator NetMeasurements NetModel NetNestOperator NetPairEmbeddingOperator NetPort NetPortGradient NetPrepend NetRename NetReplace NetReplacePart NetSharedArray NetStateObject NetTake NetTrain NetTrainResultsObject NetworkPacketCapture NetworkPacketRecording NetworkPacketRecordingDuring NetworkPacketTrace NeumannValue NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextCell NextDate NextPrime NextScheduledTaskTime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NightHemisphere NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants NondimensionalizationTransform None NoneTrue NonlinearModelFit NonlinearStateSpaceModel NonlocalMeansFilter NonNegative NonNegativeIntegers NonNegativeRationals NonNegativeReals NonPositive NonPositiveIntegers NonPositiveRationals NonPositiveReals Nor NorlundB Norm Normal NormalDistribution NormalGrouping NormalizationLayer Normalize Normalized NormalizedSquaredEuclideanDistance NormalMatrixQ NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookImport NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookTemplate NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde Nothing NotHumpDownHump NotHumpEqual NotificationFunction NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar Now NoWhitespace NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms NuclearExplosionData NuclearReactorData Null NullRecords NullSpace NullWords Number NumberCompose NumberDecompose NumberExpand NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberLinePlot NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumeratorDenominator NumericalOrder NumericalSort NumericArray NumericArrayQ NumericArrayType NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlotO ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OceanData Octahedron OddQ Off Offset OLEData On ONanGroupON Once OneIdentity Opacity OpacityFunction OpacityFunctionScaling Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionalElement OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering OrderingBy OrderingLayer Orderless OrderlessPatternSequence OrnsteinUhlenbeckProcess Orthogonalize OrthogonalMatrixQ Out Outer OuterPolygon OuterPolyhedron OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OverwriteTarget OwenT OwnValuesPackage PackingMethod PaddedForm Padding PaddingLayer PaddingSize PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageTheme PageWidth Pagination PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath PalindromeQ Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo Parallelepiped ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds Parallelogram ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParametricRegion ParentBox ParentCell ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParentNotebook ParetoDistribution ParetoPickandsDistribution ParkData Part PartBehavior PartialCorrelationFunction PartialD ParticleAcceleratorData ParticleData Partition PartitionGranularity PartitionsP PartitionsQ PartLayer PartOfSpeech PartProtection ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteAutoQuoteCharacters PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PeakDetect PeanoCurve PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PercentForm PerfectNumber PerfectNumberQ PerformanceGoal Perimeter PeriodicBoundaryCondition PeriodicInterpolation Periodogram PeriodogramArray Permanent Permissions PermissionsGroup PermissionsGroupMemberQ PermissionsGroups PermissionsKey PermissionsKeys PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PerpendicularBisector PersistenceLocation PersistenceTime PersistentObject PersistentObjects PersistentValue PersonData PERTDistribution PetersenGraph PhaseMargins PhaseRange PhysicalSystemData Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest PingTime Pink PitchRecognize Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarAngle PlanarGraph PlanarGraphQ PlanckRadiationLaw PlaneCurveData PlanetaryMoonData PlanetData PlantData Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLabels PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangeClipPlanesStyle PlotRangePadding PlotRegion PlotStyle PlotTheme Pluralize Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox Point3DBoxOptions PointBox PointBoxOptions PointFigureChart PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonalNumber PolygonAngle PolygonBox PolygonBoxOptions PolygonCoordinates PolygonDecomposition PolygonHoleScale PolygonIntersections PolygonScale Polyhedron PolyhedronAngle PolyhedronCoordinates PolyhedronData PolyhedronDecomposition PolyhedronGenus PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PoolingLayer PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position PositionIndex Positive PositiveDefiniteMatrixQ PositiveIntegers PositiveRationals PositiveReals PositiveSemidefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerRange PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement Predict PredictionRoot PredictorFunction PredictorInformation PredictorMeasurements PredictorMeasurementsObject PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependLayer PrependTo PreprocessingRules PreserveColor PreserveImageOptions Previous PreviousCell PreviousDate PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitivePolynomialQ PrimitiveRoot PrimitiveRootList PrincipalComponents PrincipalValue Print PrintableASCIIQ PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment Printout3D Printout3DPreviewer PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateKey PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessConnection ProcessDirectory ProcessEnvironment Processes ProcessEstimator ProcessInformation ProcessObject ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessStatus ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm ProofObject Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse PsychrometricPropertyData PublicKey PublisherID PulsarData PunctuationCharacter Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptionsQBinomial QFactorial QGamma QHypergeometricPFQ QnDispersion QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ QuadraticOptimization Quantile QuantilePlot Quantity QuantityArray QuantityDistribution QuantityForm QuantityMagnitude QuantityQ QuantityUnit QuantityVariable QuantityVariableCanonicalUnit QuantityVariableDimensions QuantityVariableIdentifier QuantityVariablePhysicalQuantity Quartics QuartileDeviation Quartiles QuartileSkewness Query QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainderRadialGradientImage RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RadonTransform RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Ramp Random RandomChoice RandomColor RandomComplex RandomEntity RandomFunction RandomGeoPosition RandomGraph RandomImage RandomInstance RandomInteger RandomPermutation RandomPoint RandomPolygon RandomPolyhedron RandomPrime RandomReal RandomSample RandomSeed RandomSeeding RandomVariate RandomWalkProcess RandomWord Range RangeFilter RangeSpecification RankedMax RankedMin RarerProbability Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadByteArray ReadLine ReadList ReadProtected ReadString Real RealAbs RealBlockDiagonalForm RealDigits RealExponent Reals RealSign Reap RecognitionPrior RecognitionThreshold Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RectangularRepeatingElement RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate Region RegionBinarize RegionBoundary RegionBounds RegionCentroid RegionDifference RegionDimension RegionDisjoint RegionDistance RegionDistanceFunction RegionEmbeddingDimension RegionEqual RegionFunction RegionImage RegionIntersection RegionMeasure RegionMember RegionMemberFunction RegionMoment RegionNearest RegionNearestFunction RegionPlot RegionPlot3D RegionProduct RegionQ RegionResize RegionSize RegionSymmetricDifference RegionUnion RegionWithin RegisterExternalEvaluator RegularExpression Regularization RegularlySampledQ RegularPolygon ReIm ReImLabels ReImPlot ReImStyle Reinstall RelationalDatabase RelationGraph Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot RemoteAuthorizationCaching RemoteConnect RemoteConnectionObject RemoteFile RemoteRun RemoteRunProcess Remove RemoveAlphaChannel RemoveAsynchronousTask RemoveAudioStream RemoveBackground RemoveChannelListener RemoveChannelSubscribers Removed RemoveDiacritics RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RemoveUsers RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart RepairMesh Repeated RepeatedNull RepeatedString RepeatedTiming RepeatingElement Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated ReplicateLayer RequiredPhysicalQuantities Resampling ResamplingAlgorithmData ResamplingMethod Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask ReshapeLayer Residue ResizeLayer Resolve ResourceAcquire ResourceData ResourceFunction ResourceObject ResourceRegister ResourceRemove ResourceSearch ResourceSubmissionObject ResourceSubmit ResourceSystemBase ResourceUpdate ResponseForm Rest RestartInterval Restricted Resultant ResumePacket Return ReturnEntersInput ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnReceiptFunction ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseSort ReverseSortBy ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ RiemannXi Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightComposition RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity RollPitchYawAngles RollPitchYawMatrix RomanNumeral Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RSolveValue RudinShapiro RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulePlot RulerUnits Run RunProcess RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilaritySameQ SameTest SampledEntityClass SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SASTriangle SatelliteData SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveConnection SaveDefinitions SavitzkyGolayMatrix SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTask ScheduledTaskActiveQ ScheduledTaskInformation ScheduledTaskInformationData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScientificNotationThreshold ScorerGi ScorerGiPrime ScorerHi ScorerHiPrime ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptForm ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition SearchAdjustment SearchIndexObject SearchIndices SearchQueryString SearchResultObject Sec Sech SechDistribution SecondOrderConeOptimization SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SecuredAuthenticationKey SecuredAuthenticationKeys SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook SelectFirst Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemanticImport SemanticImportString SemanticInterpretation SemialgebraicComponentInstances SemidefiniteOptimization SendMail SendMessage Sequence SequenceAlignment SequenceAttentionLayer SequenceCases SequenceCount SequenceFold SequenceFoldList SequenceForm SequenceHold SequenceLastLayer SequenceMostLayer SequencePosition SequencePredict SequencePredictorFunction SequenceReplace SequenceRestLayer SequenceReverseLayer SequenceSplit Series SeriesCoefficient SeriesData ServiceConnect ServiceDisconnect ServiceExecute ServiceObject ServiceRequest ServiceResponse ServiceSubmit SessionSubmit SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetCloudDirectory SetCookies SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPermissions SetPrecision SetProperty SetSecuredAuthenticationKey SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemModel SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetUsers SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share SharingList Sharpen ShearingMatrix ShearingTransform ShellRegion ShenCastanMatrix ShiftedGompertzDistribution ShiftRegisterSequence Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortTimeFourier ShortTimeFourierData ShortUpArrow Show ShowAutoConvert ShowAutoSpellCheck ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowCodeAssist ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiderealTime SiegelTheta SiegelTukeyTest SierpinskiCurve SierpinskiMesh Sign Signature SignedRankTest SignedRegionDistance SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ SimplePolygonQ SimplePolyhedronQ Simplex Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution SkinStyle Skip SliceContourPlot3D SliceDensityPlot3D SliceDistribution SliceVectorPlot3D Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDecomposition SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SnDispersion Snippet SnubPolyhedron SocialMediaData Socket SocketConnect SocketListen SocketListener SocketObject SocketOpen SocketReadMessage SocketReadyQ Sockets SocketWaitAll SocketWaitNext SoftmaxLayer SokalSneathDissimilarity SolarEclipse SolarSystemFeatureData SolidAngle SolidData SolidRegionQ Solve SolveAlways SolveDelayed Sort SortBy SortedBy SortedEntityClass Sound SoundAndGraphics SoundNote SoundVolume SourceLink Sow Space SpaceCurveData SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution SpatialMedian SpatialTransformationLayer Speak SpeakTextPacket SpearmanRankTest SpearmanRho SpeciesData SpecificityGoal SpectralLineData Spectrogram SpectrogramArray Specularity SpeechRecognize SpeechSynthesize SpellingCorrection SpellingCorrectionList SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SpherePoints SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SphericalShell SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquareMatrixQ SquareRepeatingElement SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave SSSTriangle StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackedDateListPlot StackedListPlot StackInhibit StadiumShape StandardAtmosphereData StandardDeviation StandardDeviationFilter StandardForm Standardize Standardized StandardOceanData StandbyDistribution Star StarClusterData StarData StarGraph StartAsynchronousTask StartExternalSession StartingStepSize StartOfLine StartOfString StartProcess StartScheduledTask StartupSound StartWebSession StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StateTransformationLinearize StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StereochemistryElements StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StoppingPowerData StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamMarkers StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringContainsQ StringCount StringDelete StringDrop StringEndsQ StringExpression StringExtract StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPadLeft StringPadRight StringPart StringPartition StringPosition StringQ StringRepeat StringReplace StringReplaceList StringReplacePart StringReverse StringRiffle StringRotateLeft StringRotateRight StringSkeleton StringSplit StringStartsQ StringTake StringTemplate StringToByteArray StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleData StyleDefinitions StyleForm StyleHints StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subdivide Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subsequences Subset SubsetEqual SubsetMap SubsetQ Subsets SubStar SubstitutionSystem Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubtractSides SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde Success SuchThat Sum SumConvergence SummationLayer Sunday SunPosition Sunrise Sunset SuperDagger SuperMinus SupernovaData SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceArea SurfaceColor SurfaceData SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricKey SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Synonyms Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SynthesizeMissingValues SystemDialogInput SystemException SystemGet SystemHelpPath SystemInformation SystemInformationData SystemInstall SystemModel SystemModeler SystemModelExamples SystemModelLinearize SystemModelParametricSimulate SystemModelPlot SystemModelProgressReporting SystemModelReliability SystemModels SystemModelSimulate SystemModelSimulateSensitivity SystemModelSimulationData SystemOpen SystemOptions SystemProcessData SystemProcesses SystemsConnectionsModel SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelLinearity SystemsModelMerge SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemsModelVectorRelativeOrders SystemStub SystemTestTab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TableViewBoxBackground TableViewBoxOptions TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeDrop TakeLargest TakeLargestBy TakeList TakeSmallest TakeSmallestBy TakeWhile Tally Tan Tanh TargetDevice TargetFunctions TargetSystem TargetUnits TaskAbort TaskExecute TaskObject TaskRemove TaskResume Tasks TaskSuspend TaskWait TautologyQ TelegraphProcess TemplateApply TemplateArgBox TemplateBox TemplateBoxOptions TemplateEvaluate TemplateExpression TemplateIf TemplateObject TemplateSequence TemplateSlot TemplateSlotSequence TemplateUnevaluated TemplateVerbatim TemplateWith TemporalData TemporalRegularity Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge TestID TestReport TestReportObject TestResultObject Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCases TextCell TextClipboardType TextContents TextData TextElement TextForm TextGrid TextJustification TextLine TextPacket TextParagraph TextPosition TextRecognize TextSearch TextSearchReport TextSentences TextString TextStructure TextStyle TextTranslation Texture TextureCoordinateFunction TextureCoordinateScaling TextWords Therefore ThermodynamicData ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreadingLayer ThreeJSymbol Threshold Through Throw ThueMorse Thumbnail Thursday Ticks TicksStyle TideData Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint TimeDirection TimeFormat TimeGoal TimelinePlot TimeObject TimeObjectQ Times TimesBy TimeSeries TimeSeriesAggregate TimeSeriesForecast TimeSeriesInsert TimeSeriesInvertibility TimeSeriesMap TimeSeriesMapThread TimeSeriesModel TimeSeriesModelFit TimeSeriesResample TimeSeriesRescale TimeSeriesShift TimeSeriesThread TimeSeriesWindow TimeUsed TimeValue TimeWarpingCorrespondence TimeWarpingDistance TimeZone TimeZoneConvert TimeZoneOffset Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate Today ToDiscreteTimeModel ToEntity ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase Tomorrow ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform ToPolarCoordinates TopologicalSort ToRadicals ToRules ToSphericalCoordinates ToString Total TotalHeight TotalLayer TotalVariationFilter TotalWidth TouchPosition TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TrackingFunction TracyWidomDistribution TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TrainingProgressCheckpointing TrainingProgressFunction TrainingProgressMeasurements TrainingProgressReporting TrainingStoppingCriterion TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationClass TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField TransformedProcess TransformedRegion TransitionDirection TransitionDuration TransitionEffect TransitiveClosureGraph TransitiveReductionGraph Translate TranslationOptions TranslationTransform Transliterate Transparent TransparentColor Transpose TransposeLayer TrapSelection TravelDirections TravelDirectionsData TravelDistance TravelDistanceList TravelMethod TravelTime TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle Triangle TriangleCenter TriangleConstruct TriangleMeasurement TriangleWave TriangularDistribution TriangulateMesh Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean TrimmedVariance TropicalStormData True TrueQ TruncatedDistribution TruncatedPolyhedron TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBoxOptions TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow TunnelData Tuples TuranGraph TuringMachine TuttePolynomial TwoWayRule Typed TypeSpecifierUnateQ Uncompress UnconstrainedParameters Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UnderseaFeatureData UndirectedEdge UndirectedGraph UndirectedGraphQ UndoOptions UndoTrackedVariables Unequal UnequalTo Unevaluated UniformDistribution UniformGraphDistribution UniformPolyhedron UniformSumDistribution Uninstall Union UnionPlus Unique UnitaryMatrixQ UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitSystem UnitTriangle UnitVector UnitVectorLayer UnityDimensions UniverseModelData UniversityData UnixTime Unprotect UnregisterExternalEvaluator UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpdateSearchIndex UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize UpperTriangularMatrixQ Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpTo UpValues URL URLBuild URLDecode URLDispatcher URLDownload URLDownloadSubmit URLEncode URLExecute URLExpand URLFetch URLFetchAsynchronous URLParse URLQueryDecode URLQueryEncode URLRead URLResponseTime URLSave URLSaveAsynchronous URLShorten URLSubmit UseGraphicsRange UserDefinedWavelet Using UsingFrontEnd UtilityFunctionV2Get ValenceErrorHandling ValidationLength ValidationSet Value ValueBox ValueBoxOptions ValueDimensions ValueForm ValuePreprocessingFunction ValueQ Values ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorAround VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorGreater VectorGreaterEqual VectorLess VectorLessEqual VectorMarkers VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerificationTest VerifyConvergence VerifyDerivedKey VerifyDigitalSignature VerifyInterpretation VerifySecurityCertificates VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexContract VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight VertexWeightedGraphQ Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewProjection ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoiceStyleData VoigtDistribution VolcanoData Volume VonMisesDistribution VoronoiMeshWaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WarpingCorrespondence WarpingDistance WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeatherForecastData WebAudioSearch WebElementObject WeberE WebExecute WebImage WebImageSearch WebSearch WebSessionObject WebSessions WebWindowObject Wedge Wednesday WeibullDistribution WeierstrassE1 WeierstrassE2 WeierstrassE3 WeierstrassEta1 WeierstrassEta2 WeierstrassEta3 WeierstrassHalfPeriods WeierstrassHalfPeriodW1 WeierstrassHalfPeriodW2 WeierstrassHalfPeriodW3 WeierstrassInvariantG2 WeierstrassInvariantG3 WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White WhiteNoiseProcess WhitePoint Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WikipediaData WikipediaSearch WilksW WilksWTest WindDirectionData WindingCount WindingPolygon WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowPersistentStyles WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth WindSpeedData WindVectorData WinsorizedMean WinsorizedVariance WishartMatrixDistribution With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult WolframLanguageData Word WordBoundary WordCharacter WordCloud WordCount WordCounts WordData WordDefinition WordFrequency WordFrequencyData WordList WordOrientation WordSearch WordSelectionFunction WordSeparators WordSpacings WordStem WordTranslation WorkingPrecision WrapAround Write WriteLine WriteString WronskianXMLElement XMLObject XMLTemplate Xnor Xor XYZColorYellow Yesterday YuleDissimilarityZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZIPCodeData ZipfDistribution ZoomCenter ZoomFactor ZTest ZTransform$Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AllowExternalChannelFunctions $AssertFunction $Assumptions $AsynchronousTask $AudioInputDevices $AudioOutputDevices $BaseDirectory $BatchInput $BatchOutput $BlockchainBase $BoxForms $ByteOrdering $CacheBaseDirectory $Canceled $ChannelBase $CharacterEncoding $CharacterEncodings $CloudBase $CloudConnected $CloudCreditsAvailable $CloudEvaluation $CloudExpressionBase $CloudObjectNameFormat $CloudObjectURLType $CloudRootDirectory $CloudSymbolBase $CloudUserID $CloudUserUUID $CloudVersion $CloudVersionNumber $CloudWolframEngineVersionNumber $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $Cookies $CookieStore $CreationDate $CurrentLink $CurrentTask $CurrentWebSession $DateStringFormat $DefaultAudioInputDevice $DefaultAudioOutputDevice $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultLocalBase $DefaultMailbox $DefaultNetworkInterface $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $EmbedCodeEnvironments $EmbeddableServices $EntityStores $Epilog $EvaluationCloudBase $EvaluationCloudObject $EvaluationEnvironment $ExportFormats $Failed $FinancialDataSource $FontFamilies $FormatType $FrontEnd $FrontEndSession $GeoEntityTypes $GeoLocation $GeoLocationCity $GeoLocationCountry $GeoLocationPrecision $GeoLocationSource $HistoryLength $HomeDirectory $HTMLExportRules $HTTPCookies $HTTPRequest $IgnoreEOF $ImageFormattingWidth $ImagingDevice $ImagingDevices $ImportFormats $IncomingMailSettings $InitialDirectory $Initialization $InitializationContexts $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $InterpreterTypes $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $LocalBase $LocalSymbolBase $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $MobilePhone $ModuleNumber $NetworkConnected $NetworkInterfaces $NetworkLicense $NewMessage $NewSymbol $Notebooks $NoValue $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $Permissions $PermissionsGroupBase $PersistenceBase $PersistencePath $PipeSupported $PlotTheme $Post $Pre $PreferencesDirectory $PreInitialization $PrePrint $PreRead $PrintForms $PrintLiteral $Printout3DPreviewer $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $PublisherID $RandomState $RecursionLimit $RegisteredDeviceClasses $RegisteredUserName $ReleaseNumber $RequesterAddress $RequesterWolframID $RequesterWolframUUID $ResourceSystemBase $RootDirectory $ScheduledTask $ScriptCommandLine $ScriptInputString $SecuredAuthenticationKeyTokens $ServiceCreditsAvailable $Services $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SourceLink $SSHAuthentication $SummaryBoxDataSizeLimit $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemMemory $SystemShell $SystemTimeZone $SystemWordLength $TemplatePath $TemporaryDirectory $TemporaryPrefix $TestFileName $TextStyle $TimedOut $TimeUnit $TimeZone $TimeZoneEntity $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $UnitSystem $Urgent $UserAddOnsDirectory $UserAgentLanguages $UserAgentMachine $UserAgentName $UserAgentOperatingSystem $UserAgentString $UserAgentVersion $UserBaseDirectory $UserDocumentsDirectory $Username $UserName $UserURLBase $Version $VersionNumber $VoiceStyles $WolframID $WolframUUID",c:[e.C("\\(\\*","\\*\\)",{c:["self"]}),e.QSM,e.CNM]}});hljs.registerLanguage("fortran",function(e){return{cI:!0,aliases:["f90","f95"],k:{literal:".False. .True.",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image"},i:/\/\*/,c:[e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{cN:"string",r:0}),{cN:"function",bK:"subroutine function program",i:"[${=\\n]",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)"}]},e.C("!","$",{r:0}),{cN:"number",b:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",r:0}]}});hljs.registerLanguage("apache",function(e){var r={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",r]},r,e.QSM]}}],i:/\S/}});hljs.registerLanguage("coffeescript",function(e){var c={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},n="[A-Za-z$_][0-9A-Za-z$_]*",r={cN:"subst",b:/#\{/,e:/}/,k:c},i=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,r]},{b:/"/,e:/"/,c:[e.BE,r]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[r,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+n},{sL:"javascript",eB:!0,eE:!0,v:[{b:"```",e:"```"},{b:"`",e:"`"}]}];r.c=i;var s=e.inherit(e.TM,{b:n}),t="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(i)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:i.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+t,e:"[-=]>",rB:!0,c:[s,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:t,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[s]},s]},{b:n+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("cpp",function(t){var e={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U|L)?"',e:'"',i:"\\n",c:[t.BE]},{b:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\((?:.|\n)*?\)\1"/},{b:"'\\\\?.",e:"'",i:"."}]},s={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},i={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},t.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},t.CLCM,t.CBCM]},a=t.IR+"\\s*\\(",c={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},n=[e,t.CLCM,t.CBCM,s,r];return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],k:c,i:"",k:c,c:["self",e]},{b:t.IR+"::",k:c},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:c,c:n.concat([{b:/\(/,e:/\)/,k:c,c:n.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+t.IR+"[\\*&\\s]+)+"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\w\s\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,s,e,{b:/\(/,e:/\)/,k:c,r:0,c:["self",t.CLCM,t.CBCM,r,s,e]}]},t.CLCM,t.CBCM,i]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},t.TM]}]),exports:{preprocessor:i,strings:r,k:c}}});hljs.registerLanguage("java",function(e){var a="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",t={cN:"number",b:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",r:0};return{aliases:["jsp"],k:a,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:a,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:a,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},t,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("scilab",function(e){var s=[e.CNM,{cN:"string",b:"'|\"",e:"'|\"",c:[e.BE,{b:"''"}]}];return{aliases:["sci"],l:/%?\w+/,k:{keyword:"abort break case clear catch continue do elseif else endfunction end for function global if pause return resume select try then while",literal:"%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan type typename warning zeros matrix"},i:'("|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)"}]},{b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:"",r:0},{b:"\\[",e:"\\]'*[\\.']*",r:0,c:s},e.C("//","$")].concat(s)}});hljs.registerLanguage("lua",function(e){var t="\\[=*\\[",a="\\]=*\\]",r={b:t,e:a,c:["self"]},n=[e.C("--(?!"+t+")","$"),e.C("--"+t,a,{c:[r],r:10})];return{l:e.UIR,k:{literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstringmodule next pairs pcall print rawequal rawget rawset require select setfenvsetmetatable tonumber tostring type unpack xpcall arg selfcoroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},c:n.concat([{cN:"function",bK:"function",e:"\\)",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:!0,c:n}].concat(n)},e.CNM,e.ASM,e.QSM,{cN:"string",b:t,e:a,c:[r],r:5}])}});hljs.registerLanguage("python",function(e){var r={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},b={cN:"meta",b:/^(>>>|\.\.\.) /},c={cN:"subst",b:/\{/,e:/\}/,k:r,i:/#/},a={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,b],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[e.BE,b],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,b,c]},{b:/(fr|rf|f)"""/,e:/"""/,c:[e.BE,b,c]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,c]},{b:/(fr|rf|f)"/,e:/"/,c:[e.BE,c]},e.ASM,e.QSM]},i={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},l={cN:"params",b:/\(/,e:/\)/,c:["self",b,i,a]};return c.c=[a,i,b],{aliases:["py","gyp","ipython"],k:r,i:/(<\/|->|\?)|=>/,c:[b,i,a,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,l,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("r",function(e){var r="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[e.HCM,{b:r,l:r,k:{keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",c:[e.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]}]}});hljs.registerLanguage("matlab",function(e){var a="('|\\.')+",s={r:0,c:[{b:a}]};return{k:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell "},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[e.UTM,{cN:"params",v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}]}]},{cN:"built_in",b:/true|false/,r:0,starts:s},{b:"[a-zA-Z][a-zA-Z_0-9]*"+a,r:0},{cN:"number",b:e.CNR,r:0,starts:s},{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{b:/\]|}|\)/,r:0,starts:s},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}],starts:s},e.C("^\\s*\\%\\{\\s*$","^\\s*\\%\\}\\s*$"),e.C("\\%","$")]}});hljs.registerLanguage("shell",function(s){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:s.c=o}});hljs.registerLanguage("dos",function(e){var r=e.C(/^\s*@?rem\b/,/$/,{r:10});return{aliases:["bat","cmd"],cI:!0,i:/\/\*/,k:{keyword:"if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq",built_in:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux shift cd dir echo setlocal endlocal set pause copy append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver verify vol ping net ipconfig taskkill xcopy ren del"},c:[{cN:"variable",b:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{cN:"function",b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",e:"goto:eof",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),r]},{cN:"number",b:"\\b\\d+",r:0},r]}});hljs.registerLanguage("makefile",function(e){var i={cN:"variable",v:[{b:"\\$\\("+e.UIR+"\\)",c:[e.BE]},{b:/\$[@%\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",c="\\|[^]*?\\|",r="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",a={cN:"literal",b:"\\b(t{1}|nil)\\b"},l={cN:"number",v:[{b:r,r:0},{b:"#(b|B)[0-1]+(/[0-1]+)?"},{b:"#(o|O)[0-7]+(/[0-7]+)?"},{b:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{b:"#(c|C)\\("+r+" +"+r,e:"\\)"}]},n=b.inherit(b.QSM,{i:null}),i=b.C(";","$",{r:0}),t={b:"\\*",e:"\\*"},s={cN:"symbol",b:"[:&]"+e},u={b:e,r:0},d={b:c},f={c:[l,n,t,s,{b:"\\(",e:"\\)",c:["self",a,n,l,u]},u],v:[{b:"['`]\\(",e:"\\)"},{b:"\\(quote ",e:"\\)",k:{name:"quote"}},{b:"'"+c}]},m={v:[{b:"'"+e},{b:"#'"+e+"(::"+e+")*"}]},o={b:"\\(\\s*",e:"\\)"},v={eW:!0,r:0};return o.c=[{cN:"name",v:[{b:e},{b:c}]},v],v.c=[f,m,o,a,l,n,i,t,s,d,u],{i:/\S/,c:[l,{cN:"meta",b:"^#!",e:"$"},a,n,i,f,m,o,u]}});hljs.registerLanguage("pgsql",function(E){var T=E.C("--","$"),N="BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR NAME OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ",A=N.trim().split(" ").map(function(E){return E.split("|")[0]}).join("|"),R="ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG 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 PERCENTILE_CONT PERCENTILE_DISC ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE NUM_NONNULLS NUM_NULLS ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT TRUNC WIDTH_BUCKET RANDOM SETSEED ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAPLEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR TO_ASCII TO_HEX TRANSLATE OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 TIMEOFDAY TRANSACTION_TIMESTAMP|10 ENUM_FIRST ENUM_LAST ENUM_RANGE AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILYINET_MERGE MACADDR8_SET7BIT ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA CURSOR_TO_XML CURSOR_TO_XMLSCHEMA SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA XMLATTRIBUTES TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY CURRVAL LASTVAL NEXTVAL SETVAL COALESCE NULLIF GREATEST LEAST ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY STRING_TO_ARRAY UNNEST ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE GENERATE_SERIES GENERATE_SUBSCRIPTS CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE GIN_CLEAN_PENDING_LIST SUPPRESS_REDUNDANT_UPDATES_TRIGGER LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE GROUPING CAST ".trim().split(" ").map(function(E){return E.split("|")[0]}).join("|");return{aliases:["postgres","postgresql"],cI:!0,k:{keyword:"ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION INDEX PROCEDURE ASSERTION ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS DEFERRABLE RANGE DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED OF NOTHING NONE EXCLUDE ATTRIBUTE USAGE ROUTINES TRUE FALSE NAN INFINITY ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT OPEN SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ",built_in:"CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 SQLSTATE SQLERRM|10 SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED INDEX_CORRUPTED "},i:/:==|\W\s*\(\*|(^|\s)\$[a-z]|{{|[a-z]:\s*$|\.\.\.|TO:|DO:/,c:[{cN:"keyword",v:[{b:/\bTEXT\s*SEARCH\b/},{b:/\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/},{b:/\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/},{b:/\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/},{b:/\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/},{b:/\bNULLS\s+(FIRST|LAST)\b/},{b:/\bEVENT\s+TRIGGER\b/},{b:/\b(MAPPING|OR)\s+REPLACE\b/},{b:/\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/},{b:/\b(SHARE|EXCLUSIVE)\s+MODE\b/},{b:/\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/},{b:/\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/},{b:/\bPRESERVE\s+ROWS\b/},{b:/\bDISCARD\s+PLANS\b/},{b:/\bREFERENCING\s+(OLD|NEW)\b/},{b:/\bSKIP\s+LOCKED\b/},{b:/\bGROUPING\s+SETS\b/},{b:/\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/},{b:/\b(WITH|WITHOUT)\s+HOLD\b/},{b:/\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/},{b:/\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/},{b:/\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/},{b:/\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/},{b:/\bIS\s+(NOT\s+)?UNKNOWN\b/},{b:/\bSECURITY\s+LABEL\b/},{b:/\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/},{b:/\bWITH\s+(NO\s+)?DATA\b/},{b:/\b(FOREIGN|SET)\s+DATA\b/},{b:/\bSET\s+(CATALOG|CONSTRAINTS)\b/},{b:/\b(WITH|FOR)\s+ORDINALITY\b/},{b:/\bIS\s+(NOT\s+)?DOCUMENT\b/},{b:/\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/},{b:/\b(STRIP|PRESERVE)\s+WHITESPACE\b/},{b:/\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/},{b:/\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/},{b:/\bAT\s+TIME\s+ZONE\b/},{b:/\bGRANTED\s+BY\b/},{b:/\bRETURN\s+(QUERY|NEXT)\b/},{b:/\b(ATTACH|DETACH)\s+PARTITION\b/},{b:/\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/},{b:/\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/},{b:/\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/}]},{b:/\b(FORMAT|FAMILY|VERSION)\s*\(/},{b:/\bINCLUDE\s*\(/,k:"INCLUDE"},{b:/\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/},{b:/\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\s*=/},{b:/\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/,r:10},{b:/\bEXTRACT\s*\(/,e:/\bFROM\b/,rE:!0,k:{type:"CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR TIMEZONE_MINUTE WEEK YEAR"}},{b:/\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/,k:{keyword:"NAME"}},{b:/\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/,k:{keyword:"DOCUMENT CONTENT"}},{bK:"CACHE INCREMENT MAXVALUE MINVALUE",e:E.CNR,rE:!0,k:"BY CACHE INCREMENT MAXVALUE MINVALUE"},{cN:"type",b:/\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/},{cN:"type",b:/\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/},{b:/\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/,k:{keyword:"RETURNS",type:"LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER"}},{b:"\\b("+R+")\\s*\\("},{b:"\\.("+A+")\\b"},{b:"\\b("+A+")\\s+PATH\\b",k:{keyword:"PATH",type:N.replace("PATH ","")}},{cN:"type",b:"\\b("+A+")\\b"},{cN:"string",b:"'",e:"'",c:[{b:"''"}]},{cN:"string",b:"(e|E|u&|U&)'",e:"'",c:[{b:"\\\\."}],r:10},{b:"\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$",endSameAsBegin:!0,c:[{sL:["pgsql","perl","python","tcl","r","lua","java","php","ruby","bash","scheme","xml","json"],eW:!0}]},{b:'"',e:'"',c:[{b:'""'}]},E.CNM,E.CBCM,T,{cN:"meta",v:[{b:"%(ROW)?TYPE",r:10},{b:"\\$\\d+"},{b:"^#\\w",e:"$"}]},{cN:"symbol",b:"<<\\s*[a-zA-Z_][a-zA-Z_0-9$]*\\s*>>",r:10}]}});hljs.registerLanguage("qml",function(r){var e="[a-zA-Z_][a-zA-Z0-9\\._]*",t={cN:"attribute",b:"\\bid\\s*:",starts:{cN:"string",e:e,rE:!1}},a={b:e+"\\s*:",rB:!0,c:[{cN:"attribute",b:e,e:"\\s*:",eE:!0,r:0}],r:0},n={b:e+"\\s*{",e:"{",rB:!0,r:0,c:[r.inherit(r.TM,{b:e})]};return{aliases:["qt"],cI:!1,k:{keyword:"in of on if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await import",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Behavior bool color coordinate date double enumeration font geocircle georectangle geoshape int list matrix4x4 parent point quaternion real rect size string url variant vector2d vector3d vector4dPromise"},c:[{cN:"meta",b:/^\s*['"]use (strict|asm)['"]/},r.ASM,r.QSM,{cN:"string",b:"`",e:"`",c:[r.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},r.CLCM,r.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:r.CNR}],r:0},{b:"("+r.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[r.CLCM,r.CBCM,r.RM,{b:/\s*[);\]]/,r:0,sL:"xml"}],r:0},{cN:"keyword",b:"\\bsignal\\b",starts:{cN:"string",e:"(\\(|:|=|;|,|//|/\\*|$)",rE:!0}},{cN:"keyword",b:"\\bproperty\\b",starts:{cN:"string",e:"(:|=|;|,|//|/\\*|$)",rE:!0}},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[r.inherit(r.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:[r.CLCM,r.CBCM]}],i:/\[|%/},{b:"\\."+r.IR,r:0},t,a,n],i:/#/}});hljs.registerLanguage("plaintext",function(e){return{disableAutodetect:!0}});hljs.registerLanguage("go",function(e){var t={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:t,i:")?(\\[\\])?";return{aliases:["csharp","c#"],k:i,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:"\x3c!--|--\x3e"},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},o,r,{bK:"class interface",e:/[{;=]/,i:/[^\s:,]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new return throw await else",r:0},{cN:"function",b:"("+d+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/\s*[{;=]/,eE:!0,k:i,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:i,r:0,c:[o,r,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("awk",function(e){return{k:{keyword:"BEGIN END if else while do for in break continue delete next nextfile function func exit|10"},c:[{cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},{cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,r:10},{b:/(u|b)?r?"""/,e:/"""/,r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},e.RM,e.HCM,e.NM]}});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}}); \ No newline at end of file diff --git a/demo/Demo_files/_resources/common/hljs/styles/a11y-dark.css b/demo/Demo_files/_resources/common/hljs/styles/a11y-dark.css new file mode 100644 index 0000000..b93b742 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/a11y-dark.css @@ -0,0 +1,99 @@ +/* a11y-dark theme */ +/* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */ +/* @author: ericwbailey */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #d4d0ab; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #ffa07a; +} + +/* Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f5ab35; +} + +/* Yellow */ +.hljs-attribute { + color: #ffd700; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #abe338; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #00e0e0; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #dcc6e0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2b2b2b; + color: #f8f8f2; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +@media screen and (-ms-high-contrast: active) { + .hljs-addition, + .hljs-attribute, + .hljs-built_in, + .hljs-builtin-name, + .hljs-bullet, + .hljs-comment, + .hljs-link, + .hljs-literal, + .hljs-meta, + .hljs-number, + .hljs-params, + .hljs-string, + .hljs-symbol, + .hljs-type, + .hljs-quote { + color: highlight; + } + + .hljs-keyword, + .hljs-selector-tag { + font-weight: bold; + } +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/a11y-light.css b/demo/Demo_files/_resources/common/hljs/styles/a11y-light.css new file mode 100644 index 0000000..f1bf8f3 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/a11y-light.css @@ -0,0 +1,99 @@ +/* a11y-light theme */ +/* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */ +/* @author: ericwbailey */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #696969; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #d91e18; +} + +/* Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #aa5d00; +} + +/* Yellow */ +.hljs-attribute { + color: #aa5d00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #008000; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #007faa; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7928a1; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fefefe; + color: #545454; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +@media screen and (-ms-high-contrast: active) { + .hljs-addition, + .hljs-attribute, + .hljs-built_in, + .hljs-builtin-name, + .hljs-bullet, + .hljs-comment, + .hljs-link, + .hljs-literal, + .hljs-meta, + .hljs-number, + .hljs-params, + .hljs-string, + .hljs-symbol, + .hljs-type, + .hljs-quote { + color: highlight; + } + + .hljs-keyword, + .hljs-selector-tag { + font-weight: bold; + } +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/agate.css b/demo/Demo_files/_resources/common/hljs/styles/agate.css new file mode 100644 index 0000000..8d64547 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/agate.css @@ -0,0 +1,108 @@ +/*! + * Agate by Taufik Nurrohman + * ---------------------------------------------------- + * + * #ade5fc + * #a2fca2 + * #c6b4f0 + * #d36363 + * #fcc28c + * #fc9b9b + * #ffa + * #fff + * #333 + * #62c8f3 + * #888 + * + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #333; + color: white; +} + +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-code, +.hljs-emphasis { + font-style: italic; +} + +.hljs-tag { + color: #62c8f3; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-selector-id, +.hljs-selector-class { + color: #ade5fc; +} + +.hljs-string, +.hljs-bullet { + color: #a2fca2; +} + +.hljs-type, +.hljs-title, +.hljs-section, +.hljs-attribute, +.hljs-quote, +.hljs-built_in, +.hljs-builtin-name { + color: #ffa; +} + +.hljs-number, +.hljs-symbol, +.hljs-bullet { + color: #d36363; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color: #fcc28c; +} + +.hljs-comment, +.hljs-deletion, +.hljs-code { + color: #888; +} + +.hljs-regexp, +.hljs-link { + color: #c6b4f0; +} + +.hljs-meta { + color: #fc9b9b; +} + +.hljs-deletion { + background-color: #fc9b9b; + color: #333; +} + +.hljs-addition { + background-color: #a2fca2; + color: #333; +} + +.hljs a { + color: inherit; +} + +.hljs a:focus, +.hljs a:hover { + color: inherit; + text-decoration: underline; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/an-old-hope.css b/demo/Demo_files/_resources/common/hljs/styles/an-old-hope.css new file mode 100644 index 0000000..a6d56f4 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/an-old-hope.css @@ -0,0 +1,89 @@ +/* + +An Old Hope – Star Wars Syntax (c) Gustavo Costa +Original theme - Ocean Dark Theme – by https://github.com/gavsiu +Based on Jesse Leite's Atom syntax theme 'An Old Hope' – https://github.com/JesseLeite/an-old-hope-syntax-atom + +*/ + +/* Death Star Comment */ +.hljs-comment, +.hljs-quote +{ + color: #B6B18B; +} + +/* Darth Vader */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion +{ + color: #EB3C54; +} + +/* Threepio */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link +{ + color: #E7CE56; +} + +/* Luke Skywalker */ +.hljs-attribute +{ + color: #EE7C2B; +} + +/* Obi Wan Kenobi */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition +{ + color: #4FB4D7; +} + +/* Yoda */ +.hljs-title, +.hljs-section +{ + color: #78BB65; +} + +/* Mace Windu */ +.hljs-keyword, +.hljs-selector-tag +{ + color: #B45EA4; +} + +/* Millenium Falcon */ +.hljs +{ + display: block; + overflow-x: auto; + background: #1C1D21; + color: #c0c5ce; + padding: 0.5em; +} + +.hljs-emphasis +{ + font-style: italic; +} + +.hljs-strong +{ + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/androidstudio.css b/demo/Demo_files/_resources/common/hljs/styles/androidstudio.css new file mode 100644 index 0000000..bc8e473 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/androidstudio.css @@ -0,0 +1,66 @@ +/* +Date: 24 Fev 2015 +Author: Pedro Oliveira +*/ + +.hljs { + color: #a9b7c6; + background: #282b2e; + display: block; + overflow-x: auto; + padding: 0.5em; +} + +.hljs-number, +.hljs-literal, +.hljs-symbol, +.hljs-bullet { + color: #6897BB; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-deletion { + color: #cc7832; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-link { + color: #629755; +} + +.hljs-comment, +.hljs-quote { + color: #808080; +} + +.hljs-meta { + color: #bbb529; +} + +.hljs-string, +.hljs-attribute, +.hljs-addition { + color: #6A8759; +} + +.hljs-section, +.hljs-title, +.hljs-type { + color: #ffc66d; +} + +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e8bf6a; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/arduino-light.css b/demo/Demo_files/_resources/common/hljs/styles/arduino-light.css new file mode 100644 index 0000000..4b8b7fd --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/arduino-light.css @@ -0,0 +1,88 @@ +/* + +Arduino® Light Theme - Stefania Mellai + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #FFFFFF; +} + +.hljs, +.hljs-subst { + color: #434f54; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-doctag, +.hljs-name { + color: #00979D; +} + +.hljs-built_in, +.hljs-literal, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #D35400; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #00979D; +} + +.hljs-type, +.hljs-string, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #005C5F; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-comment { + color: rgba(149,165,166,.8); +} + +.hljs-meta-keyword { + color: #728E00; +} + +.hljs-meta { + color: #728E00; + color: #434f54; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-function { + color: #728E00; +} + +.hljs-number { + color: #8A7B52; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/arta.css b/demo/Demo_files/_resources/common/hljs/styles/arta.css new file mode 100644 index 0000000..75ef3a9 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/arta.css @@ -0,0 +1,73 @@ +/* +Date: 17.V.2011 +Author: pumbur +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222; +} + +.hljs, +.hljs-subst { + color: #aaa; +} + +.hljs-section { + color: #fff; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #444; +} + +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-regexp { + color: #ffcc33; +} + +.hljs-number, +.hljs-addition { + color: #00cc66; +} + +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-template-variable, +.hljs-attribute, +.hljs-link { + color: #32aaee; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #6644aa; +} + +.hljs-title, +.hljs-variable, +.hljs-deletion, +.hljs-template-tag { + color: #bb1166; +} + +.hljs-section, +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/ascetic.css b/demo/Demo_files/_resources/common/hljs/styles/ascetic.css new file mode 100644 index 0000000..48397e8 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/ascetic.css @@ -0,0 +1,45 @@ +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-symbol, +.hljs-bullet, +.hljs-section, +.hljs-addition, +.hljs-attribute, +.hljs-link { + color: #888; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta, +.hljs-deletion { + color: #ccc; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-name, +.hljs-type, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-cave-dark.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-cave-dark.css new file mode 100644 index 0000000..65428f3 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-cave-dark.css @@ -0,0 +1,83 @@ +/* Base16 Atelier Cave Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Cave Comment */ +.hljs-comment, +.hljs-quote { + color: #7e7887; +} + +/* Atelier-Cave Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-regexp, +.hljs-link, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #be4678; +} + +/* Atelier-Cave Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #aa573c; +} + +/* Atelier-Cave Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #2a9292; +} + +/* Atelier-Cave Blue */ +.hljs-title, +.hljs-section { + color: #576ddb; +} + +/* Atelier-Cave Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #955ae7; +} + +.hljs-deletion, +.hljs-addition { + color: #19171c; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #be4678; +} + +.hljs-addition { + background-color: #2a9292; +} + +.hljs { + display: block; + overflow-x: auto; + background: #19171c; + color: #8b8792; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-cave-light.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-cave-light.css new file mode 100644 index 0000000..b419f9f --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-cave-light.css @@ -0,0 +1,85 @@ +/* Base16 Atelier Cave Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Cave Comment */ +.hljs-comment, +.hljs-quote { + color: #655f6d; +} + +/* Atelier-Cave Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #be4678; +} + +/* Atelier-Cave Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #aa573c; +} + +/* Atelier-Cave Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #2a9292; +} + +/* Atelier-Cave Blue */ +.hljs-title, +.hljs-section { + color: #576ddb; +} + +/* Atelier-Cave Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #955ae7; +} + +.hljs-deletion, +.hljs-addition { + color: #19171c; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #be4678; +} + +.hljs-addition { + background-color: #2a9292; +} + +.hljs { + display: block; + overflow-x: auto; + background: #efecf4; + color: #585260; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-dune-dark.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-dune-dark.css new file mode 100644 index 0000000..1684f52 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-dune-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Dune Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Dune Comment */ +.hljs-comment, +.hljs-quote { + color: #999580; +} + +/* Atelier-Dune Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d73737; +} + +/* Atelier-Dune Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b65611; +} + +/* Atelier-Dune Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #60ac39; +} + +/* Atelier-Dune Blue */ +.hljs-title, +.hljs-section { + color: #6684e1; +} + +/* Atelier-Dune Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b854d4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #20201d; + color: #a6a28c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-dune-light.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-dune-light.css new file mode 100644 index 0000000..547719d --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-dune-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Dune Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Dune Comment */ +.hljs-comment, +.hljs-quote { + color: #7d7a68; +} + +/* Atelier-Dune Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d73737; +} + +/* Atelier-Dune Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b65611; +} + +/* Atelier-Dune Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #60ac39; +} + +/* Atelier-Dune Blue */ +.hljs-title, +.hljs-section { + color: #6684e1; +} + +/* Atelier-Dune Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b854d4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fefbec; + color: #6e6b5e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-estuary-dark.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-estuary-dark.css new file mode 100644 index 0000000..a5e5071 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-estuary-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Estuary Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Estuary Comment */ +.hljs-comment, +.hljs-quote { + color: #878573; +} + +/* Atelier-Estuary Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ba6236; +} + +/* Atelier-Estuary Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ae7313; +} + +/* Atelier-Estuary Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7d9726; +} + +/* Atelier-Estuary Blue */ +.hljs-title, +.hljs-section { + color: #36a166; +} + +/* Atelier-Estuary Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #5f9182; +} + +.hljs-deletion, +.hljs-addition { + color: #22221b; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ba6236; +} + +.hljs-addition { + background-color: #7d9726; +} + +.hljs { + display: block; + overflow-x: auto; + background: #22221b; + color: #929181; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-estuary-light.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-estuary-light.css new file mode 100644 index 0000000..1daee5d --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-estuary-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Estuary Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Estuary Comment */ +.hljs-comment, +.hljs-quote { + color: #6c6b5a; +} + +/* Atelier-Estuary Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ba6236; +} + +/* Atelier-Estuary Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ae7313; +} + +/* Atelier-Estuary Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7d9726; +} + +/* Atelier-Estuary Blue */ +.hljs-title, +.hljs-section { + color: #36a166; +} + +/* Atelier-Estuary Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #5f9182; +} + +.hljs-deletion, +.hljs-addition { + color: #22221b; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ba6236; +} + +.hljs-addition { + background-color: #7d9726; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4f3ec; + color: #5f5e4e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-forest-dark.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-forest-dark.css new file mode 100644 index 0000000..0ef4fae --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-forest-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Forest Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Forest Comment */ +.hljs-comment, +.hljs-quote { + color: #9c9491; +} + +/* Atelier-Forest Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #f22c40; +} + +/* Atelier-Forest Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #df5320; +} + +/* Atelier-Forest Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7b9726; +} + +/* Atelier-Forest Blue */ +.hljs-title, +.hljs-section { + color: #407ee7; +} + +/* Atelier-Forest Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6666ea; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b1918; + color: #a8a19f; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-forest-light.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-forest-light.css new file mode 100644 index 0000000..bbedde1 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-forest-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Forest Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Forest Comment */ +.hljs-comment, +.hljs-quote { + color: #766e6b; +} + +/* Atelier-Forest Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #f22c40; +} + +/* Atelier-Forest Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #df5320; +} + +/* Atelier-Forest Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7b9726; +} + +/* Atelier-Forest Blue */ +.hljs-title, +.hljs-section { + color: #407ee7; +} + +/* Atelier-Forest Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6666ea; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f1efee; + color: #68615e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-heath-dark.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-heath-dark.css new file mode 100644 index 0000000..fe01ff7 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-heath-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Heath Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Heath Comment */ +.hljs-comment, +.hljs-quote { + color: #9e8f9e; +} + +/* Atelier-Heath Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca402b; +} + +/* Atelier-Heath Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #a65926; +} + +/* Atelier-Heath Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #918b3b; +} + +/* Atelier-Heath Blue */ +.hljs-title, +.hljs-section { + color: #516aec; +} + +/* Atelier-Heath Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7b59c0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b181b; + color: #ab9bab; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-heath-light.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-heath-light.css new file mode 100644 index 0000000..ee43786 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-heath-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Heath Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Heath Comment */ +.hljs-comment, +.hljs-quote { + color: #776977; +} + +/* Atelier-Heath Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca402b; +} + +/* Atelier-Heath Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #a65926; +} + +/* Atelier-Heath Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #918b3b; +} + +/* Atelier-Heath Blue */ +.hljs-title, +.hljs-section { + color: #516aec; +} + +/* Atelier-Heath Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7b59c0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f7f3f7; + color: #695d69; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-lakeside-dark.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-lakeside-dark.css new file mode 100644 index 0000000..a937d3b --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-lakeside-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Lakeside Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Lakeside Comment */ +.hljs-comment, +.hljs-quote { + color: #7195a8; +} + +/* Atelier-Lakeside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d22d72; +} + +/* Atelier-Lakeside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #935c25; +} + +/* Atelier-Lakeside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #568c3b; +} + +/* Atelier-Lakeside Blue */ +.hljs-title, +.hljs-section { + color: #257fad; +} + +/* Atelier-Lakeside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6b6bb8; +} + +.hljs { + display: block; + overflow-x: auto; + background: #161b1d; + color: #7ea2b4; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-lakeside-light.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-lakeside-light.css new file mode 100644 index 0000000..6c7e8f9 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-lakeside-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Lakeside Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Lakeside Comment */ +.hljs-comment, +.hljs-quote { + color: #5a7b8c; +} + +/* Atelier-Lakeside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d22d72; +} + +/* Atelier-Lakeside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #935c25; +} + +/* Atelier-Lakeside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #568c3b; +} + +/* Atelier-Lakeside Blue */ +.hljs-title, +.hljs-section { + color: #257fad; +} + +/* Atelier-Lakeside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6b6bb8; +} + +.hljs { + display: block; + overflow-x: auto; + background: #ebf8ff; + color: #516d7b; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-plateau-dark.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-plateau-dark.css new file mode 100644 index 0000000..3bb0526 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-plateau-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Plateau Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Plateau Comment */ +.hljs-comment, +.hljs-quote { + color: #7e7777; +} + +/* Atelier-Plateau Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca4949; +} + +/* Atelier-Plateau Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b45a3c; +} + +/* Atelier-Plateau Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #4b8b8b; +} + +/* Atelier-Plateau Blue */ +.hljs-title, +.hljs-section { + color: #7272ca; +} + +/* Atelier-Plateau Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8464c4; +} + +.hljs-deletion, +.hljs-addition { + color: #1b1818; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ca4949; +} + +.hljs-addition { + background-color: #4b8b8b; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b1818; + color: #8a8585; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-plateau-light.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-plateau-light.css new file mode 100644 index 0000000..5f0222b --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-plateau-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Plateau Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Plateau Comment */ +.hljs-comment, +.hljs-quote { + color: #655d5d; +} + +/* Atelier-Plateau Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca4949; +} + +/* Atelier-Plateau Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b45a3c; +} + +/* Atelier-Plateau Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #4b8b8b; +} + +/* Atelier-Plateau Blue */ +.hljs-title, +.hljs-section { + color: #7272ca; +} + +/* Atelier-Plateau Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8464c4; +} + +.hljs-deletion, +.hljs-addition { + color: #1b1818; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ca4949; +} + +.hljs-addition { + background-color: #4b8b8b; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4ecec; + color: #585050; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-savanna-dark.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-savanna-dark.css new file mode 100644 index 0000000..38f8314 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-savanna-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Savanna Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Savanna Comment */ +.hljs-comment, +.hljs-quote { + color: #78877d; +} + +/* Atelier-Savanna Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #b16139; +} + +/* Atelier-Savanna Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #9f713c; +} + +/* Atelier-Savanna Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #489963; +} + +/* Atelier-Savanna Blue */ +.hljs-title, +.hljs-section { + color: #478c90; +} + +/* Atelier-Savanna Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #55859b; +} + +.hljs-deletion, +.hljs-addition { + color: #171c19; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #b16139; +} + +.hljs-addition { + background-color: #489963; +} + +.hljs { + display: block; + overflow-x: auto; + background: #171c19; + color: #87928a; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-savanna-light.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-savanna-light.css new file mode 100644 index 0000000..1ccd7c6 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-savanna-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Savanna Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Savanna Comment */ +.hljs-comment, +.hljs-quote { + color: #5f6d64; +} + +/* Atelier-Savanna Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #b16139; +} + +/* Atelier-Savanna Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #9f713c; +} + +/* Atelier-Savanna Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #489963; +} + +/* Atelier-Savanna Blue */ +.hljs-title, +.hljs-section { + color: #478c90; +} + +/* Atelier-Savanna Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #55859b; +} + +.hljs-deletion, +.hljs-addition { + color: #171c19; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #b16139; +} + +.hljs-addition { + background-color: #489963; +} + +.hljs { + display: block; + overflow-x: auto; + background: #ecf4ee; + color: #526057; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-seaside-dark.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-seaside-dark.css new file mode 100644 index 0000000..df29949 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-seaside-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Seaside Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Seaside Comment */ +.hljs-comment, +.hljs-quote { + color: #809980; +} + +/* Atelier-Seaside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e6193c; +} + +/* Atelier-Seaside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #87711d; +} + +/* Atelier-Seaside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #29a329; +} + +/* Atelier-Seaside Blue */ +.hljs-title, +.hljs-section { + color: #3d62f5; +} + +/* Atelier-Seaside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ad2bee; +} + +.hljs { + display: block; + overflow-x: auto; + background: #131513; + color: #8ca68c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-seaside-light.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-seaside-light.css new file mode 100644 index 0000000..9d960f2 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-seaside-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Seaside Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Seaside Comment */ +.hljs-comment, +.hljs-quote { + color: #687d68; +} + +/* Atelier-Seaside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e6193c; +} + +/* Atelier-Seaside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #87711d; +} + +/* Atelier-Seaside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #29a329; +} + +/* Atelier-Seaside Blue */ +.hljs-title, +.hljs-section { + color: #3d62f5; +} + +/* Atelier-Seaside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ad2bee; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4fbf4; + color: #5e6e5e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-sulphurpool-dark.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-sulphurpool-dark.css new file mode 100644 index 0000000..c2ab793 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-sulphurpool-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Sulphurpool Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Sulphurpool Comment */ +.hljs-comment, +.hljs-quote { + color: #898ea4; +} + +/* Atelier-Sulphurpool Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #c94922; +} + +/* Atelier-Sulphurpool Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #c76b29; +} + +/* Atelier-Sulphurpool Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #ac9739; +} + +/* Atelier-Sulphurpool Blue */ +.hljs-title, +.hljs-section { + color: #3d8fd1; +} + +/* Atelier-Sulphurpool Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6679cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #202746; + color: #979db4; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atelier-sulphurpool-light.css b/demo/Demo_files/_resources/common/hljs/styles/atelier-sulphurpool-light.css new file mode 100644 index 0000000..96c47d0 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atelier-sulphurpool-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Sulphurpool Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Sulphurpool Comment */ +.hljs-comment, +.hljs-quote { + color: #6b7394; +} + +/* Atelier-Sulphurpool Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #c94922; +} + +/* Atelier-Sulphurpool Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #c76b29; +} + +/* Atelier-Sulphurpool Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #ac9739; +} + +/* Atelier-Sulphurpool Blue */ +.hljs-title, +.hljs-section { + color: #3d8fd1; +} + +/* Atelier-Sulphurpool Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6679cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f5f7ff; + color: #5e6687; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atom-one-dark-reasonable.css b/demo/Demo_files/_resources/common/hljs/styles/atom-one-dark-reasonable.css new file mode 100644 index 0000000..fd41c99 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atom-one-dark-reasonable.css @@ -0,0 +1,77 @@ +/* + +Atom One Dark With support for ReasonML by Gidi Morris, based off work by Daniel Gamage + +Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax + +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + line-height: 1.3em; + color: #abb2bf; + background: #282c34; + border-radius: 5px; +} +.hljs-keyword, .hljs-operator { + color: #F92672; +} +.hljs-pattern-match { + color: #F92672; +} +.hljs-pattern-match .hljs-constructor { + color: #61aeee; +} +.hljs-function { + color: #61aeee; +} +.hljs-function .hljs-params { + color: #A6E22E; +} +.hljs-function .hljs-params .hljs-typing { + color: #FD971F; +} +.hljs-module-access .hljs-module { + color: #7e57c2; +} +.hljs-constructor { + color: #e2b93d; +} +.hljs-constructor .hljs-string { + color: #9CCC65; +} +.hljs-comment, .hljs-quote { + color: #b18eb1; + font-style: italic; +} +.hljs-doctag, .hljs-formula { + color: #c678dd; +} +.hljs-section, .hljs-name, .hljs-selector-tag, .hljs-deletion, .hljs-subst { + color: #e06c75; +} +.hljs-literal { + color: #56b6c2; +} +.hljs-string, .hljs-regexp, .hljs-addition, .hljs-attribute, .hljs-meta-string { + color: #98c379; +} +.hljs-built_in, .hljs-class .hljs-title { + color: #e6c07b; +} +.hljs-attr, .hljs-variable, .hljs-template-variable, .hljs-type, .hljs-selector-class, .hljs-selector-attr, .hljs-selector-pseudo, .hljs-number { + color: #d19a66; +} +.hljs-symbol, .hljs-bullet, .hljs-link, .hljs-meta, .hljs-selector-id, .hljs-title { + color: #61aeee; +} +.hljs-emphasis { + font-style: italic; +} +.hljs-strong { + font-weight: bold; +} +.hljs-link { + text-decoration: underline; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atom-one-dark.css b/demo/Demo_files/_resources/common/hljs/styles/atom-one-dark.css new file mode 100644 index 0000000..1616aaf --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atom-one-dark.css @@ -0,0 +1,96 @@ +/* + +Atom One Dark by Daniel Gamage +Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax + +base: #282c34 +mono-1: #abb2bf +mono-2: #818896 +mono-3: #5c6370 +hue-1: #56b6c2 +hue-2: #61aeee +hue-3: #c678dd +hue-4: #98c379 +hue-5: #e06c75 +hue-5-2: #be5046 +hue-6: #d19a66 +hue-6-2: #e6c07b + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #abb2bf; + background: #282c34; +} + +.hljs-comment, +.hljs-quote { + color: #5c6370; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #c678dd; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e06c75; +} + +.hljs-literal { + color: #56b6c2; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #98c379; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #e6c07b; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #d19a66; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #61aeee; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atom-one-light-wb.css b/demo/Demo_files/_resources/common/hljs/styles/atom-one-light-wb.css new file mode 100644 index 0000000..51136d9 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atom-one-light-wb.css @@ -0,0 +1,96 @@ +/* + +Atom One Light by Daniel Gamage +Original One Light Syntax theme from https://github.com/atom/one-light-syntax + +base: #fafafa +mono-1: #383a42 +mono-2: #686b77 +mono-3: #a0a1a7 +hue-1: #0184bb +hue-2: #4078f2 +hue-3: #a626a4 +hue-4: #50a14f +hue-5: #e45649 +hue-5-2: #c91243 +hue-6: #986801 +hue-6-2: #c18401 + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #383a42; + /*background: #fafafa;*/ +} + +.hljs-comment, +.hljs-quote { + color: #a0a1a7; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #a626a4; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e45649; +} + +.hljs-literal { + color: #0184bb; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #50a14f; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #c18401; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #986801; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #4078f2; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/atom-one-light.css b/demo/Demo_files/_resources/common/hljs/styles/atom-one-light.css new file mode 100644 index 0000000..d5bd1d2 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/atom-one-light.css @@ -0,0 +1,96 @@ +/* + +Atom One Light by Daniel Gamage +Original One Light Syntax theme from https://github.com/atom/one-light-syntax + +base: #fafafa +mono-1: #383a42 +mono-2: #686b77 +mono-3: #a0a1a7 +hue-1: #0184bb +hue-2: #4078f2 +hue-3: #a626a4 +hue-4: #50a14f +hue-5: #e45649 +hue-5-2: #c91243 +hue-6: #986801 +hue-6-2: #c18401 + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #383a42; + background: #fafafa; +} + +.hljs-comment, +.hljs-quote { + color: #a0a1a7; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #a626a4; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e45649; +} + +.hljs-literal { + color: #0184bb; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #50a14f; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #c18401; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #986801; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #4078f2; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/brown-paper.css b/demo/Demo_files/_resources/common/hljs/styles/brown-paper.css new file mode 100644 index 0000000..f0197b9 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/brown-paper.css @@ -0,0 +1,64 @@ +/* + +Brown Paper style from goldblog.com.ua (c) Zaripov Yura + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background:#b7a68e url(./brown-papersq.png); +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color:#005599; + font-weight:bold; +} + +.hljs, +.hljs-subst { + color: #363c69; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable, +.hljs-link, +.hljs-name { + color: #2c009f; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta, +.hljs-deletion { + color: #802022; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/brown-papersq.png b/demo/Demo_files/_resources/common/hljs/styles/brown-papersq.png new file mode 100644 index 0000000000000000000000000000000000000000..3813903dbf9fa7b1fb5bd11d9534c06667d9056f GIT binary patch literal 18198 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
G3S-EN>9CM!{YB*|;6wg-K3V?)eR((z#1 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 literal 0 HcmV?d00001 diff --git a/demo/Demo_files/_resources/common/hljs/styles/codepen-embed.css b/demo/Demo_files/_resources/common/hljs/styles/codepen-embed.css new file mode 100644 index 0000000..195c4a0 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/codepen-embed.css @@ -0,0 +1,60 @@ +/* + codepen.io Embed Theme + Author: Justin Perry + Original theme - https://github.com/chriskempson/tomorrow-theme +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222; + color: #fff; +} + +.hljs-comment, +.hljs-quote { + color: #777; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-regexp, +.hljs-meta, +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-params, +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-deletion { + color: #ab875d; +} + +.hljs-section, +.hljs-title, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-type, +.hljs-attribute { + color: #9b869b; +} + +.hljs-string, +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #8f9c6c; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/color-brewer.css b/demo/Demo_files/_resources/common/hljs/styles/color-brewer.css new file mode 100644 index 0000000..7934d98 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/color-brewer.css @@ -0,0 +1,71 @@ +/* + +Colorbrewer theme +Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock +Ported by Fabrício Tavares de Oliveira + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fff; +} + +.hljs, +.hljs-subst { + color: #000; +} + +.hljs-string, +.hljs-meta, +.hljs-symbol, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #756bb1; +} + +.hljs-comment, +.hljs-quote { + color: #636363; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-bullet, +.hljs-link { + color: #31a354; +} + +.hljs-deletion, +.hljs-variable { + color: #88f; +} + + + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-doctag, +.hljs-type, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-strong { + color: #3182bd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-attribute { + color: #e6550d; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/darcula.css b/demo/Demo_files/_resources/common/hljs/styles/darcula.css new file mode 100644 index 0000000..be182d0 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/darcula.css @@ -0,0 +1,77 @@ +/* + +Darcula color scheme from the JetBrains family of IDEs + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #2b2b2b; +} + +.hljs { + color: #bababa; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-link, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #6896ba; +} + +.hljs-code, +.hljs-selector-class { + color: #a6e22e; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-attribute, +.hljs-name, +.hljs-variable { + color: #cb7832; +} + +.hljs-params { + color: #b9b9b9; +} + +.hljs-string { + color: #6a8759; +} + +.hljs-subst, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-symbol, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #e0c46c; +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #7f7f7f; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/dark.css b/demo/Demo_files/_resources/common/hljs/styles/dark.css new file mode 100644 index 0000000..b4724f5 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/dark.css @@ -0,0 +1,63 @@ +/* + +Dark style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #444; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-section, +.hljs-link { + color: white; +} + +.hljs, +.hljs-subst { + color: #ddd; +} + +.hljs-string, +.hljs-title, +.hljs-name, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #d88; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #777; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/darkula.css b/demo/Demo_files/_resources/common/hljs/styles/darkula.css new file mode 100644 index 0000000..f4646c3 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/darkula.css @@ -0,0 +1,6 @@ +/* + Deprecated due to a typo in the name and left here for compatibility purpose only. + Please use darcula.css instead. +*/ + +@import url('darcula.css'); diff --git a/demo/Demo_files/_resources/common/hljs/styles/default.css b/demo/Demo_files/_resources/common/hljs/styles/default.css new file mode 100644 index 0000000..f1bfade --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/default.css @@ -0,0 +1,99 @@ +/* + +Original highlight.js style (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/docco.css b/demo/Demo_files/_resources/common/hljs/styles/docco.css new file mode 100644 index 0000000..db366be --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/docco.css @@ -0,0 +1,97 @@ +/* +Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #000; + background: #f8f8ff; +} + +.hljs-comment, +.hljs-quote { + color: #408080; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-subst { + color: #954121; +} + +.hljs-number { + color: #40a070; +} + +.hljs-string, +.hljs-doctag { + color: #219161; +} + +.hljs-selector-id, +.hljs-selector-class, +.hljs-section, +.hljs-type { + color: #19469d; +} + +.hljs-params { + color: #00f; +} + +.hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-variable, +.hljs-template-variable { + color: #008080; +} + +.hljs-regexp, +.hljs-link { + color: #b68; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/dracula.css b/demo/Demo_files/_resources/common/hljs/styles/dracula.css new file mode 100644 index 0000000..d591db6 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/dracula.css @@ -0,0 +1,76 @@ +/* + +Dracula Theme v1.2.0 + +https://github.com/zenorocha/dracula-theme + +Copyright 2015, All rights reserved + +Code licensed under the MIT license +http://zenorocha.mit-license.org + +@author Éverton Ribeiro +@author Zeno Rocha + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282a36; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-section, +.hljs-link { + color: #8be9fd; +} + +.hljs-function .hljs-keyword { + color: #ff79c6; +} + +.hljs, +.hljs-subst { + color: #f8f8f2; +} + +.hljs-string, +.hljs-title, +.hljs-name, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #f1fa8c; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #6272a4; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/far.css b/demo/Demo_files/_resources/common/hljs/styles/far.css new file mode 100644 index 0000000..2b3f87b --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/far.css @@ -0,0 +1,71 @@ +/* + +FAR Style (c) MajestiC + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000080; +} + +.hljs, +.hljs-subst { + color: #0ff; +} + +.hljs-string, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #ff0; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-variable { + color: #fff; +} + +.hljs-comment, +.hljs-quote, +.hljs-doctag, +.hljs-deletion { + color: #888; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-link { + color: #0f0; +} + +.hljs-meta { + color: #008080; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/foundation.css b/demo/Demo_files/_resources/common/hljs/styles/foundation.css new file mode 100644 index 0000000..f1fe64b --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/foundation.css @@ -0,0 +1,88 @@ +/* +Description: Foundation 4 docs style for highlight.js +Author: Dan Allen +Website: http://foundation.zurb.com/docs/ +Version: 1.0 +Date: 2013-04-02 +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eee; color: black; +} + +.hljs-link, +.hljs-emphasis, +.hljs-attribute, +.hljs-addition { + color: #070; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong, +.hljs-string, +.hljs-deletion { + color: #d14; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-quote, +.hljs-comment { + color: #998; + font-style: italic; +} + +.hljs-section, +.hljs-title { + color: #900; +} + +.hljs-class .hljs-title, +.hljs-type { + color: #458; +} + +.hljs-variable, +.hljs-template-variable { + color: #336699; +} + +.hljs-bullet { + color: #997700; +} + +.hljs-meta { + color: #3344bb; +} + +.hljs-code, +.hljs-number, +.hljs-literal, +.hljs-keyword, +.hljs-selector-tag { + color: #099; +} + +.hljs-regexp { + background-color: #fff0ff; + color: #880088; +} + +.hljs-symbol { + color: #990073; +} + +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #007700; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/github-gist.css b/demo/Demo_files/_resources/common/hljs/styles/github-gist.css new file mode 100644 index 0000000..18240c8 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/github-gist.css @@ -0,0 +1,79 @@ +/** + * GitHub Gist Theme + * Author : Anthony Attard - https://github.com/AnthonyAttard + * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro + */ + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #d73a49; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #6f42c1; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +.hljs-number { + color: #005cc5; +} + +.hljs-string { + color: #032f62; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/github.css b/demo/Demo_files/_resources/common/hljs/styles/github.css new file mode 100644 index 0000000..791932b --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/github.css @@ -0,0 +1,99 @@ +/* + +github.com style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #998; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal, +.hljs-variable, +.hljs-template-variable, +.hljs-tag .hljs-attr { + color: #008080; +} + +.hljs-string, +.hljs-doctag { + color: #d14; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #900; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-type, +.hljs-class .hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-regexp, +.hljs-link { + color: #009926; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/gml.css b/demo/Demo_files/_resources/common/hljs/styles/gml.css new file mode 100644 index 0000000..ffb5e47 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/gml.css @@ -0,0 +1,78 @@ +/* + +GML Theme - Meseta + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222222; + color: #C0C0C0; +} + +.hljs-keywords { + color: #FFB871; + font-weight: bold; +} + +.hljs-built_in { + color: #FFB871; +} + +.hljs-literal { + color: #FF8080; +} + +.hljs-symbol { + color: #58E55A; +} + +.hljs-comment { + color: #5B995B; +} + +.hljs-string { + color: #FFFF00; +} + +.hljs-number { + color: #FF8080; +} + +.hljs-attribute, +.hljs-selector-tag, +.hljs-doctag, +.hljs-name, +.hljs-bullet, +.hljs-code, +.hljs-addition, +.hljs-regexp, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion, +.hljs-title, +.hljs-section, +.hljs-function, +.hljs-meta-keyword, +.hljs-meta, +.hljs-subst { + color: #C0C0C0; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/googlecode.css b/demo/Demo_files/_resources/common/hljs/styles/googlecode.css new file mode 100644 index 0000000..884ad63 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/googlecode.css @@ -0,0 +1,89 @@ +/* + +Google Code style (c) Aahan Krish + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, +.hljs-quote { + color: #800; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-title, +.hljs-name { + color: #008; +} + +.hljs-variable, +.hljs-template-variable { + color: #660; +} + +.hljs-string, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-regexp { + color: #080; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-meta, +.hljs-number, +.hljs-link { + color: #066; +} + +.hljs-title, +.hljs-doctag, +.hljs-type, +.hljs-attr, +.hljs-built_in, +.hljs-builtin-name, +.hljs-params { + color: #606; +} + +.hljs-attribute, +.hljs-subst { + color: #000; +} + +.hljs-formula { + background-color: #eee; + font-style: italic; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #9B703F +} + +.hljs-addition { + background-color: #baeeba; +} + +.hljs-deletion { + background-color: #ffc8bd; +} + +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/grayscale.css b/demo/Demo_files/_resources/common/hljs/styles/grayscale.css new file mode 100644 index 0000000..5376f34 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/grayscale.css @@ -0,0 +1,101 @@ +/* + +grayscale style (c) MY Sun + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #fff; +} + +.hljs-comment, +.hljs-quote { + color: #777; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal { + color: #777; +} + +.hljs-string, +.hljs-doctag, +.hljs-formula { + color: #333; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #000; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-class .hljs-title, +.hljs-type, +.hljs-name { + color: #333; + font-weight: bold; +} + +.hljs-tag { + color: #333; +} + +.hljs-regexp { + color: #333; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #000; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #000; + text-decoration: underline; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + color: #fff; + background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat; +} + +.hljs-addition { + color: #000; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/gruvbox-dark.css b/demo/Demo_files/_resources/common/hljs/styles/gruvbox-dark.css new file mode 100644 index 0000000..f563811 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/gruvbox-dark.css @@ -0,0 +1,108 @@ +/* + +Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282828; +} + +.hljs, +.hljs-subst { + color: #ebdbb2; +} + +/* Gruvbox Red */ +.hljs-deletion, +.hljs-formula, +.hljs-keyword, +.hljs-link, +.hljs-selector-tag { + color: #fb4934; +} + +/* Gruvbox Blue */ +.hljs-built_in, +.hljs-emphasis, +.hljs-name, +.hljs-quote, +.hljs-strong, +.hljs-title, +.hljs-variable { + color: #83a598; +} + +/* Gruvbox Yellow */ +.hljs-attr, +.hljs-params, +.hljs-template-tag, +.hljs-type { + color: #fabd2f; +} + +/* Gruvbox Purple */ +.hljs-builtin-name, +.hljs-doctag, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +/* Gruvbox Orange */ +.hljs-code, +.hljs-meta, +.hljs-regexp, +.hljs-selector-id, +.hljs-template-variable { + color: #fe8019; +} + +/* Gruvbox Green */ +.hljs-addition, +.hljs-meta-string, +.hljs-section, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-string, +.hljs-symbol { + color: #b8bb26; +} + +/* Gruvbox Aqua */ +.hljs-attribute, +.hljs-bullet, +.hljs-class, +.hljs-function, +.hljs-function .hljs-keyword, +.hljs-meta-keyword, +.hljs-selector-pseudo, +.hljs-tag { + color: #8ec07c; +} + +/* Gruvbox Gray */ +.hljs-comment { + color: #928374; +} + +/* Gruvbox Purple */ +.hljs-link_label, +.hljs-literal, +.hljs-number { + color: #d3869b; +} + +.hljs-comment, +.hljs-emphasis { + font-style: italic; +} + +.hljs-section, +.hljs-strong, +.hljs-tag { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/gruvbox-light.css b/demo/Demo_files/_resources/common/hljs/styles/gruvbox-light.css new file mode 100644 index 0000000..ff45468 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/gruvbox-light.css @@ -0,0 +1,108 @@ +/* + +Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fbf1c7; +} + +.hljs, +.hljs-subst { + color: #3c3836; +} + +/* Gruvbox Red */ +.hljs-deletion, +.hljs-formula, +.hljs-keyword, +.hljs-link, +.hljs-selector-tag { + color: #9d0006; +} + +/* Gruvbox Blue */ +.hljs-built_in, +.hljs-emphasis, +.hljs-name, +.hljs-quote, +.hljs-strong, +.hljs-title, +.hljs-variable { + color: #076678; +} + +/* Gruvbox Yellow */ +.hljs-attr, +.hljs-params, +.hljs-template-tag, +.hljs-type { + color: #b57614; +} + +/* Gruvbox Purple */ +.hljs-builtin-name, +.hljs-doctag, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +/* Gruvbox Orange */ +.hljs-code, +.hljs-meta, +.hljs-regexp, +.hljs-selector-id, +.hljs-template-variable { + color: #af3a03; +} + +/* Gruvbox Green */ +.hljs-addition, +.hljs-meta-string, +.hljs-section, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-string, +.hljs-symbol { + color: #79740e; +} + +/* Gruvbox Aqua */ +.hljs-attribute, +.hljs-bullet, +.hljs-class, +.hljs-function, +.hljs-function .hljs-keyword, +.hljs-meta-keyword, +.hljs-selector-pseudo, +.hljs-tag { + color: #427b58; +} + +/* Gruvbox Gray */ +.hljs-comment { + color: #928374; +} + +/* Gruvbox Purple */ +.hljs-link_label, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +.hljs-comment, +.hljs-emphasis { + font-style: italic; +} + +.hljs-section, +.hljs-strong, +.hljs-tag { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/hopscotch.css b/demo/Demo_files/_resources/common/hljs/styles/hopscotch.css new file mode 100644 index 0000000..32e60d2 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/hopscotch.css @@ -0,0 +1,83 @@ +/* + * Hopscotch + * by Jan T. Sott + * https://github.com/idleberg/Hopscotch + * + * This work is licensed under the Creative Commons CC0 1.0 Universal License + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #989498; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-deletion { + color: #dd464c; +} + +/* Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #fd8b19; +} + +/* Yellow */ +.hljs-class .hljs-title { + color: #fdcc59; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #8fc13e; +} + +/* Aqua */ +.hljs-meta { + color: #149b93; +} + +/* Blue */ +.hljs-function, +.hljs-section, +.hljs-title { + color: #1290bf; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #c85e7c; +} + +.hljs { + display: block; + background: #322931; + color: #b9b5b8; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/hybrid.css b/demo/Demo_files/_resources/common/hljs/styles/hybrid.css new file mode 100644 index 0000000..29735a1 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/hybrid.css @@ -0,0 +1,102 @@ +/* + +vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid) + +*/ + +/*background color*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #1d1f21; +} + +/*selection color*/ +.hljs::selection, +.hljs span::selection { + background: #373b41; +} + +.hljs::-moz-selection, +.hljs span::-moz-selection { + background: #373b41; +} + +/*foreground color*/ +.hljs { + color: #c5c8c6; +} + +/*color: fg_yellow*/ +.hljs-title, +.hljs-name { + color: #f0c674; +} + +/*color: fg_comment*/ +.hljs-comment, +.hljs-meta, +.hljs-meta .hljs-keyword { + color: #707880; +} + +/*color: fg_red*/ +.hljs-number, +.hljs-symbol, +.hljs-literal, +.hljs-deletion, +.hljs-link { + color: #cc6666 +} + +/*color: fg_green*/ +.hljs-string, +.hljs-doctag, +.hljs-addition, +.hljs-regexp, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #b5bd68; +} + +/*color: fg_purple*/ +.hljs-attribute, +.hljs-code, +.hljs-selector-id { + color: #b294bb; +} + +/*color: fg_blue*/ +.hljs-keyword, +.hljs-selector-tag, +.hljs-bullet, +.hljs-tag { + color: #81a2be; +} + +/*color: fg_aqua*/ +.hljs-subst, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #8abeb7; +} + +/*color: fg_orange*/ +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-quote, +.hljs-section, +.hljs-selector-class { + color: #de935f; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/idea.css b/demo/Demo_files/_resources/common/hljs/styles/idea.css new file mode 100644 index 0000000..3bf1892 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/idea.css @@ -0,0 +1,97 @@ +/* + +Intellij Idea-like styling (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #000; + background: #fff; +} + +.hljs-subst, +.hljs-title { + font-weight: normal; + color: #000; +} + +.hljs-comment, +.hljs-quote { + color: #808080; + font-style: italic; +} + +.hljs-meta { + color: #808000; +} + +.hljs-tag { + background: #efefef; +} + +.hljs-section, +.hljs-name, +.hljs-literal, +.hljs-keyword, +.hljs-selector-tag, +.hljs-type, +.hljs-selector-id, +.hljs-selector-class { + font-weight: bold; + color: #000080; +} + +.hljs-attribute, +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: bold; + color: #0000ff; +} + +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: normal; +} + +.hljs-string { + color: #008000; + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-formula { + color: #000; + background: #d0eded; + font-style: italic; +} + +.hljs-doctag { + text-decoration: underline; +} + +.hljs-variable, +.hljs-template-variable { + color: #660e7a; +} + +.hljs-addition { + background: #baeeba; +} + +.hljs-deletion { + background: #ffc8bd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/ir-black.css b/demo/Demo_files/_resources/common/hljs/styles/ir-black.css new file mode 100644 index 0000000..bd4c755 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/ir-black.css @@ -0,0 +1,73 @@ +/* + IR_Black style (c) Vasily Mikhailitchenko +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000; + color: #f8f8f8; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #7c7c7c; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-tag, +.hljs-name { + color: #96cbfe; +} + +.hljs-attribute, +.hljs-selector-id { + color: #ffffb6; +} + +.hljs-string, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition { + color: #a8ff60; +} + +.hljs-subst { + color: #daefa3; +} + +.hljs-regexp, +.hljs-link { + color: #e9c062; +} + +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-doctag { + color: #ffffb6; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-variable, +.hljs-template-variable, +.hljs-literal { + color: #c6c5fe; +} + +.hljs-number, +.hljs-deletion { + color:#ff73fd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/isbl-editor-dark.css b/demo/Demo_files/_resources/common/hljs/styles/isbl-editor-dark.css new file mode 100644 index 0000000..2f1d95d --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/isbl-editor-dark.css @@ -0,0 +1,112 @@ +/* + +ISBL Editor style dark color scheme (c) Dmitriy Tarasov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #404040; + color: #f0f0f0; +} + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #f0f0f0; +} + +.hljs-comment { + color: #b5b5b5; + font-style: italic; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + color: #f0f0f0; + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-string { + color: #97bf0d; +} + +.hljs-type, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #f0f0f0; +} + +.hljs-title, +.hljs-section { + color: #df471e; +} + +.hljs-title>.hljs-built_in { + color: #81bce9; + font-weight: normal; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #e2c696; +} + +/* Language color: hue: 90; */ + +.hljs-built_in, +.hljs-literal { + color: #97bf0d; + font-weight: bold; +} + +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + +.hljs-class { + color: #ce9d4d; + font-weight: bold; +} + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/isbl-editor-light.css b/demo/Demo_files/_resources/common/hljs/styles/isbl-editor-light.css new file mode 100644 index 0000000..633070d --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/isbl-editor-light.css @@ -0,0 +1,112 @@ +/* + +ISBL Editor style light color schemec (c) Dmitriy Tarasov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #000000; +} + +.hljs-comment { + color: #555555; + font-style: italic; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + color: #000000; + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-string { + color: #000080; +} + +.hljs-type, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #000000; +} + +.hljs-title, +.hljs-section { + color: #fb2c00; +} + +.hljs-title>.hljs-built_in { + color: #008080; + font-weight: normal; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #5e1700; +} + +/* Language color: hue: 90; */ + +.hljs-built_in, +.hljs-literal { + color: #000080; + font-weight: bold; +} + +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + +.hljs-class { + color: #6f1C00; + font-weight: bold; +} + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/kimbie.dark.css b/demo/Demo_files/_resources/common/hljs/styles/kimbie.dark.css new file mode 100644 index 0000000..d139cb5 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/kimbie.dark.css @@ -0,0 +1,74 @@ +/* + Name: Kimbie (dark) + Author: Jan T. Sott + License: Creative Commons Attribution-ShareAlike 4.0 Unported License + URL: https://github.com/idleberg/Kimbie-highlight.js +*/ + +/* Kimbie Comment */ +.hljs-comment, +.hljs-quote { + color: #d6baad; +} + +/* Kimbie Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-meta { + color: #dc3958; +} + +/* Kimbie Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion, +.hljs-link { + color: #f79a32; +} + +/* Kimbie Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #f06431; +} + +/* Kimbie Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #889b4a; +} + +/* Kimbie Purple */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-function { + color: #98676a; +} + +.hljs { + display: block; + overflow-x: auto; + background: #221a0f; + color: #d3af86; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/kimbie.light.css b/demo/Demo_files/_resources/common/hljs/styles/kimbie.light.css new file mode 100644 index 0000000..04ff6ed --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/kimbie.light.css @@ -0,0 +1,74 @@ +/* + Name: Kimbie (light) + Author: Jan T. Sott + License: Creative Commons Attribution-ShareAlike 4.0 Unported License + URL: https://github.com/idleberg/Kimbie-highlight.js +*/ + +/* Kimbie Comment */ +.hljs-comment, +.hljs-quote { + color: #a57a4c; +} + +/* Kimbie Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-meta { + color: #dc3958; +} + +/* Kimbie Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion, +.hljs-link { + color: #f79a32; +} + +/* Kimbie Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #f06431; +} + +/* Kimbie Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #889b4a; +} + +/* Kimbie Purple */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-function { + color: #98676a; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fbebd4; + color: #84613d; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/lightfair.css b/demo/Demo_files/_resources/common/hljs/styles/lightfair.css new file mode 100644 index 0000000..a247c8e --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/lightfair.css @@ -0,0 +1,87 @@ +/* + +Lightfair style (c) Tristian Kelly + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; +} + +.hljs-name { + color:#01a3a3; +} + +.hljs-tag,.hljs-meta { + color:#778899; +} + +.hljs, +.hljs-subst { + color: #444 +} + +.hljs-comment { + color: #888888 +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold +} + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #4286f4 +} + +.hljs-title, +.hljs-section { + color: #4286f4; + font-weight: bold +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060 +} + +.hljs-literal { + color: #62bcbc +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #25c6c6 +} + +.hljs-meta-string { + color: #4d99bf +} + +.hljs-emphasis { + font-style: italic +} + +.hljs-strong { + font-weight: bold +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/magula.css b/demo/Demo_files/_resources/common/hljs/styles/magula.css new file mode 100644 index 0000000..44dee5e --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/magula.css @@ -0,0 +1,70 @@ +/* +Description: Magula style for highligh.js +Author: Ruslan Keba +Website: http://rukeba.com/ +Version: 1.0 +Date: 2009-01-03 +Music: Aphex Twin / Xtal +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background-color: #f4f4f4; +} + +.hljs, +.hljs-subst { + color: black; +} + +.hljs-string, +.hljs-title, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #050; +} + +.hljs-comment, +.hljs-quote { + color: #777; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-type, +.hljs-link { + color: #800; +} + +.hljs-deletion, +.hljs-meta { + color: #00e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-tag, +.hljs-name { + font-weight: bold; + color: navy; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/mono-blue.css b/demo/Demo_files/_resources/common/hljs/styles/mono-blue.css new file mode 100644 index 0000000..884c97c --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/mono-blue.css @@ -0,0 +1,59 @@ +/* + Five-color theme from a single blue hue. +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eaeef3; +} + +.hljs { + color: #00193a; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-comment { + color: #738191; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-literal, +.hljs-type, +.hljs-addition, +.hljs-tag, +.hljs-quote, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #0048ab; +} + +.hljs-meta, +.hljs-subst, +.hljs-symbol, +.hljs-regexp, +.hljs-attribute, +.hljs-deletion, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-bullet { + color: #4c81c9; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/monokai-sublime.css b/demo/Demo_files/_resources/common/hljs/styles/monokai-sublime.css new file mode 100644 index 0000000..2864170 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/monokai-sublime.css @@ -0,0 +1,83 @@ +/* + +Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #23241f; +} + +.hljs, +.hljs-tag, +.hljs-subst { + color: #f8f8f2; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-link { + color: #ae81ff; +} + +.hljs-code, +.hljs-title, +.hljs-section, +.hljs-selector-class { + color: #a6e22e; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-name, +.hljs-attr { + color: #f92672; +} + +.hljs-symbol, +.hljs-attribute { + color: #66d9ef; +} + +.hljs-params, +.hljs-class .hljs-title { + color: #f8f8f2; +} + +.hljs-string, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-variable { + color: #e6db74; +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #75715e; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/monokai.css b/demo/Demo_files/_resources/common/hljs/styles/monokai.css new file mode 100644 index 0000000..775d53f --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/monokai.css @@ -0,0 +1,70 @@ +/* +Monokai style - ported by Luigi Maselli - http://grigio.org +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #272822; color: #ddd; +} + +.hljs-tag, +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-strong, +.hljs-name { + color: #f92672; +} + +.hljs-code { + color: #66d9ef; +} + +.hljs-class .hljs-title { + color: white; +} + +.hljs-attribute, +.hljs-symbol, +.hljs-regexp, +.hljs-link { + color: #bf79db; +} + +.hljs-string, +.hljs-bullet, +.hljs-subst, +.hljs-title, +.hljs-section, +.hljs-emphasis, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #a6e22e; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #75715e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-selector-id { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/nord.css b/demo/Demo_files/_resources/common/hljs/styles/nord.css new file mode 100644 index 0000000..4240384 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/nord.css @@ -0,0 +1,309 @@ +/* + * Copyright (c) 2017-present Arctic Ice Studio + * Copyright (c) 2017-present Sven Greb + * + * Project: Nord highlight.js + * Version: 0.1.0 + * Repository: https://github.com/arcticicestudio/nord-highlightjs + * License: MIT + * References: + * https://github.com/arcticicestudio/nord + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #2E3440; +} + +.hljs, +.hljs-subst { + color: #D8DEE9; +} + +.hljs-selector-tag { + color: #81A1C1; +} + +.hljs-selector-id { + color: #8FBCBB; + font-weight: bold; +} + +.hljs-selector-class { + color: #8FBCBB; +} + +.hljs-selector-attr { + color: #8FBCBB; +} + +.hljs-selector-pseudo { + color: #88C0D0; +} + +.hljs-addition { + background-color: rgba(163, 190, 140, 0.5); +} + +.hljs-deletion { + background-color: rgba(191, 97, 106, 0.5); +} + +.hljs-built_in, +.hljs-type { + color: #8FBCBB; +} + +.hljs-class { + color: #8FBCBB; +} + +.hljs-function { + color: #88C0D0; +} + +.hljs-function > .hljs-title { + color: #88C0D0; +} + +.hljs-keyword, +.hljs-literal, +.hljs-symbol { + color: #81A1C1; +} + +.hljs-number { + color: #B48EAD; +} + +.hljs-regexp { + color: #EBCB8B; +} + +.hljs-string { + color: #A3BE8C; +} + +.hljs-title { + color: #8FBCBB; +} + +.hljs-params { + color: #D8DEE9; +} + +.hljs-bullet { + color: #81A1C1; +} + +.hljs-code { + color: #8FBCBB; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-formula { + color: #8FBCBB; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link:hover { + text-decoration: underline; +} + +.hljs-quote { + color: #4C566A; +} + +.hljs-comment { + color: #4C566A; +} + +.hljs-doctag { + color: #8FBCBB; +} + +.hljs-meta, +.hljs-meta-keyword { + color: #5E81AC; +} + +.hljs-meta-string { + color: #A3BE8C; +} + +.hljs-attr { + color: #8FBCBB; +} + +.hljs-attribute { + color: #D8DEE9; +} + +.hljs-builtin-name { + color: #81A1C1; +} + +.hljs-name { + color: #81A1C1; +} + +.hljs-section { + color: #88C0D0; +} + +.hljs-tag { + color: #81A1C1; +} + +.hljs-variable { + color: #D8DEE9; +} + +.hljs-template-variable { + color: #D8DEE9; +} + +.hljs-template-tag { + color: #5E81AC; +} + +.abnf .hljs-attribute { + color: #88C0D0; +} + +.abnf .hljs-symbol { + color: #EBCB8B; +} + +.apache .hljs-attribute { + color: #88C0D0; +} + +.apache .hljs-section { + color: #81A1C1; +} + +.arduino .hljs-built_in { + color: #88C0D0; +} + +.aspectj .hljs-meta { + color: #D08770; +} + +.aspectj > .hljs-title { + color: #88C0D0; +} + +.bnf .hljs-attribute { + color: #8FBCBB; +} + +.clojure .hljs-name { + color: #88C0D0; +} + +.clojure .hljs-symbol { + color: #EBCB8B; +} + +.coq .hljs-built_in { + color: #88C0D0; +} + +.cpp .hljs-meta-string { + color: #8FBCBB; +} + +.css .hljs-built_in { + color: #88C0D0; +} + +.css .hljs-keyword { + color: #D08770; +} + +.diff .hljs-meta { + color: #8FBCBB; +} + +.ebnf .hljs-attribute { + color: #8FBCBB; +} + +.glsl .hljs-built_in { + color: #88C0D0; +} + +.groovy .hljs-meta:not(:first-child) { + color: #D08770; +} + +.haxe .hljs-meta { + color: #D08770; +} + +.java .hljs-meta { + color: #D08770; +} + +.ldif .hljs-attribute { + color: #8FBCBB; +} + +.lisp .hljs-name { + color: #88C0D0; +} + +.lua .hljs-built_in { + color: #88C0D0; +} + +.moonscript .hljs-built_in { + color: #88C0D0; +} + +.nginx .hljs-attribute { + color: #88C0D0; +} + +.nginx .hljs-section { + color: #5E81AC; +} + +.pf .hljs-built_in { + color: #88C0D0; +} + +.processing .hljs-built_in { + color: #88C0D0; +} + +.scss .hljs-keyword { + color: #81A1C1; +} + +.stylus .hljs-keyword { + color: #81A1C1; +} + +.swift .hljs-meta { + color: #D08770; +} + +.vim .hljs-built_in { + color: #88C0D0; + font-style: italic; +} + +.yaml .hljs-meta { + color: #D08770; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/obsidian.css b/demo/Demo_files/_resources/common/hljs/styles/obsidian.css new file mode 100644 index 0000000..356630f --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/obsidian.css @@ -0,0 +1,88 @@ +/** + * Obsidian style + * ported by Alexander Marenin (http://github.com/ioncreature) + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282b2e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-selector-id { + color: #93c763; +} + +.hljs-number { + color: #ffcd22; +} + +.hljs { + color: #e0e2e4; +} + +.hljs-attribute { + color: #668bb0; +} + +.hljs-code, +.hljs-class .hljs-title, +.hljs-section { + color: white; +} + +.hljs-regexp, +.hljs-link { + color: #d39745; +} + +.hljs-meta { + color: #557182; +} + +.hljs-tag, +.hljs-name, +.hljs-bullet, +.hljs-subst, +.hljs-emphasis, +.hljs-type, +.hljs-built_in, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #8cbbad; +} + +.hljs-string, +.hljs-symbol { + color: #ec7600; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion { + color: #818e96; +} + +.hljs-selector-class { + color: #A082BD +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/ocean.css b/demo/Demo_files/_resources/common/hljs/styles/ocean.css new file mode 100644 index 0000000..5901581 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/ocean.css @@ -0,0 +1,74 @@ +/* Ocean Dark Theme */ +/* https://github.com/gavsiu */ +/* Original theme - https://github.com/chriskempson/base16 */ + +/* Ocean Comment */ +.hljs-comment, +.hljs-quote { + color: #65737e; +} + +/* Ocean Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #bf616a; +} + +/* Ocean Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #d08770; +} + +/* Ocean Yellow */ +.hljs-attribute { + color: #ebcb8b; +} + +/* Ocean Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #a3be8c; +} + +/* Ocean Blue */ +.hljs-title, +.hljs-section { + color: #8fa1b3; +} + +/* Ocean Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b48ead; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2b303b; + color: #c0c5ce; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/paraiso-dark.css b/demo/Demo_files/_resources/common/hljs/styles/paraiso-dark.css new file mode 100644 index 0000000..e729240 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/paraiso-dark.css @@ -0,0 +1,72 @@ +/* + Paraíso (dark) + Created by Jan T. Sott (http://github.com/idleberg) + Inspired by the art of Rubens LP (http://www.rubenslp.com.br) +*/ + +/* Paraíso Comment */ +.hljs-comment, +.hljs-quote { + color: #8d8687; +} + +/* Paraíso Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-meta { + color: #ef6155; +} + +/* Paraíso Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion { + color: #f99b15; +} + +/* Paraíso Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #fec418; +} + +/* Paraíso Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #48b685; +} + +/* Paraíso Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #815ba4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2f1e2e; + color: #a39e9b; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/paraiso-light.css b/demo/Demo_files/_resources/common/hljs/styles/paraiso-light.css new file mode 100644 index 0000000..944857c --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/paraiso-light.css @@ -0,0 +1,72 @@ +/* + Paraíso (light) + Created by Jan T. Sott (http://github.com/idleberg) + Inspired by the art of Rubens LP (http://www.rubenslp.com.br) +*/ + +/* Paraíso Comment */ +.hljs-comment, +.hljs-quote { + color: #776e71; +} + +/* Paraíso Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-meta { + color: #ef6155; +} + +/* Paraíso Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion { + color: #f99b15; +} + +/* Paraíso Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #fec418; +} + +/* Paraíso Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #48b685; +} + +/* Paraíso Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #815ba4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #e7e9db; + color: #4f424c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/pojoaque.css b/demo/Demo_files/_resources/common/hljs/styles/pojoaque.css new file mode 100644 index 0000000..2e07847 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/pojoaque.css @@ -0,0 +1,83 @@ +/* + +Pojoaque Style by Jason Tate +http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html +Based on Solarized Style from http://ethanschoonover.com/solarized + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #dccf8f; + background: url(./pojoaque.jpg) repeat scroll left top #181914; +} + +.hljs-comment, +.hljs-quote { + color: #586e75; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-addition { + color: #b64926; +} + +.hljs-number, +.hljs-string, +.hljs-doctag, +.hljs-regexp { + color: #468966; +} + +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-name { + color: #ffb03b; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type, +.hljs-tag { + color: #b58900; +} + +.hljs-attribute { + color: #b89859; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-subst, +.hljs-meta { + color: #cb4b16; +} + +.hljs-deletion { + color: #dc322f; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #d3a60c; +} + +.hljs-formula { + background: #073642; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/pojoaque.jpg b/demo/Demo_files/_resources/common/hljs/styles/pojoaque.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c07d4ab40b6d77e90ff69f0012bcd33b21d31c3 GIT binary patch literal 1186 zcmZXSe^8Tk9LK-kXFs3)f@f?)Cddzw3v4wdZyXQ;4x3=;Ja*N#%n9ik!UGmt9H3k0 zJST|5jOc(ID$FQt3C?jQZBws#kXolO1lg9Pba9BB=Q+UEBX!nY@6Uhl&+ofe$Q$y5 z@ci`~)&qzDP(lOiQ5p?p z(`j^e7!yUAVHk%K#^GQXn?s0=VLYCI$HRoe=xCuZ>A6A3@sxEP#XqNFpIb=0)KQ#Nss_tD17;m4@$JKL;LR|K|QF3f%!L5+s(9Ft8SQ zG|~pGpEGFW5Z|OA)-O@mNHy-g@7m8JTf?kl@vUKBGmw)Y*9sDRNr3PN!IKefWaydTe1D zjzpyzPnD3}hBNaS4aFX7=0&~I*Hu7#4au@qVBglH#-m;QFOx_`=j z{EqRY#Eh*yoWP^pa4H>8GH{rO?!_+xwL0(k4yL^D%^nBkJ*UI;Lx;ped8d|f*S_s@ z3~ilcRC(&NT#9Gn#UD;o^EYSMXDMf%XcUi3>;WXXD-QX3P9wMyP7eA&RS{)h5{??W3^Rq=goFJ>?lA~J- zdYe>!xvYLW*fPT0RK7wsJRg^?x#W1*GP9_f`6t>QD_X>0d!owyN>nO2?U5}|3?hX_UZYT@^>S!9eB~bZ9U`q;`U)@L670o1g z`Hd}h<_WRvUc|n*%v4Hbb-4tJD40iyF^q%g*&!6>hkYDvi-{Uc4yTM zzcthN4Z{ka!+F_KzYV#yWi;c^X^q6g`pD8cp?$Kl?hCz0s^a|mH%P!CF%*<6k^~i` zT5Mi-t5-frUcHkk^Qh}+N)Kz1&Bi95`oNc|quI>tUi~BY>xcF9(%tv2i{G6kE9*q~ qCoAGl20`)w0rdgp9H%Q=M5|p`hOhFz6$I%Y&ncY8>c?7PXyh+SL&XXJ literal 0 HcmV?d00001 diff --git a/demo/Demo_files/_resources/common/hljs/styles/purebasic.css b/demo/Demo_files/_resources/common/hljs/styles/purebasic.css new file mode 100644 index 0000000..5ce9b9e --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/purebasic.css @@ -0,0 +1,96 @@ +/* + +PureBASIC native IDE style ( version 1.0 - April 2016 ) + +by Tristano Ajmone + +Public Domain + +NOTE_1: PureBASIC code syntax highlighting only applies the following classes: + .hljs-comment + .hljs-function + .hljs-keywords + .hljs-string + .hljs-symbol + + Other classes are added here for the benefit of styling other languages with the look and feel of PureBASIC native IDE style. + If you need to customize a stylesheet for PureBASIC only, remove all non-relevant classes -- PureBASIC-related classes are followed by + a "--- used for PureBASIC ... ---" comment on same line. + +NOTE_2: Color names provided in comments were derived using "Name that Color" online tool: + http://chir.ag/projects/name-that-color +*/ + +.hljs { /* Common set of rules required by highlight.js (don'r remove!) */ + display: block; + overflow-x: auto; + padding: 0.5em; + background: #FFFFDF; /* Half and Half (approx.) */ +/* --- Uncomment to add PureBASIC native IDE styled font! + font-family: Consolas; +*/ +} + +.hljs, /* --- used for PureBASIC base color --- */ +.hljs-type, /* --- used for PureBASIC Procedures return type --- */ +.hljs-function, /* --- used for wrapping PureBASIC Procedures definitions --- */ +.hljs-name, +.hljs-number, +.hljs-attr, +.hljs-params, +.hljs-subst { + color: #000000; /* Black */ +} + +.hljs-comment, /* --- used for PureBASIC Comments --- */ +.hljs-regexp, +.hljs-section, +.hljs-selector-pseudo, +.hljs-addition { + color: #00AAAA; /* Persian Green (approx.) */ +} + +.hljs-title, /* --- used for PureBASIC Procedures Names --- */ +.hljs-tag, +.hljs-variable, +.hljs-code { + color: #006666; /* Blue Stone (approx.) */ +} + +.hljs-keyword, /* --- used for PureBASIC Keywords --- */ +.hljs-class, +.hljs-meta-keyword, +.hljs-selector-class, +.hljs-built_in, +.hljs-builtin-name { + color: #006666; /* Blue Stone (approx.) */ + font-weight: bold; +} + +.hljs-string, /* --- used for PureBASIC Strings --- */ +.hljs-selector-attr { + color: #0080FF; /* Azure Radiance (approx.) */ +} + +.hljs-symbol, /* --- used for PureBASIC Constants --- */ +.hljs-link, +.hljs-deletion, +.hljs-attribute { + color: #924B72; /* Cannon Pink (approx.) */ +} + +.hljs-meta, +.hljs-literal, +.hljs-selector-id { + color: #924B72; /* Cannon Pink (approx.) */ + font-weight: bold; +} + +.hljs-strong, +.hljs-name { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/qtcreator_dark.css b/demo/Demo_files/_resources/common/hljs/styles/qtcreator_dark.css new file mode 100644 index 0000000..7aa56a3 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/qtcreator_dark.css @@ -0,0 +1,83 @@ +/* + +Qt Creator dark color scheme + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000000; +} + +.hljs, +.hljs-subst, +.hljs-tag, +.hljs-title { + color: #aaaaaa; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #ff55ff; +} + +.hljs-code +.hljs-selector-class { + color: #aaaaff; +} + +.hljs-emphasis, +.hljs-stronge, +.hljs-type { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-function, +.hljs-section, +.hljs-symbol, +.hljs-name { + color: #ffff55; +} + +.hljs-attribute { + color: #ff5555; +} + +.hljs-variable, +.hljs-params, +.hljs-class .hljs-title { + color: #8888ff; +} + +.hljs-string, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition, +.hljs-link { + color: #ff55ff; +} + +.hljs-comment, +.hljs-meta, +.hljs-deletion { + color: #55ffff; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/qtcreator_light.css b/demo/Demo_files/_resources/common/hljs/styles/qtcreator_light.css new file mode 100644 index 0000000..1efa2c6 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/qtcreator_light.css @@ -0,0 +1,83 @@ +/* + +Qt Creator light color scheme + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #ffffff; +} + +.hljs, +.hljs-subst, +.hljs-tag, +.hljs-title { + color: #000000; +} + +.hljs-strong, +.hljs-emphasis { + color: #000000; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #000080; +} + +.hljs-code +.hljs-selector-class { + color: #800080; +} + +.hljs-emphasis, +.hljs-stronge, +.hljs-type { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-function, +.hljs-section, +.hljs-symbol, +.hljs-name { + color: #808000; +} + +.hljs-attribute { + color: #800000; +} + +.hljs-variable, +.hljs-params, +.hljs-class .hljs-title { + color: #0055AF; +} + +.hljs-string, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition, +.hljs-link { + color: #008000; +} + +.hljs-comment, +.hljs-meta, +.hljs-deletion { + color: #008000; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/railscasts.css b/demo/Demo_files/_resources/common/hljs/styles/railscasts.css new file mode 100644 index 0000000..008cdc5 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/railscasts.css @@ -0,0 +1,106 @@ +/* + +Railscasts-like style (c) Visoft, Inc. (Damien White) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #232323; + color: #e6e1dc; +} + +.hljs-comment, +.hljs-quote { + color: #bc9458; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag { + color: #c26230; +} + +.hljs-string, +.hljs-number, +.hljs-regexp, +.hljs-variable, +.hljs-template-variable { + color: #a5c261; +} + +.hljs-subst { + color: #519f50; +} + +.hljs-tag, +.hljs-name { + color: #e8bf6a; +} + +.hljs-type { + color: #da4939; +} + + +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-builtin-name, +.hljs-attr, +.hljs-link { + color: #6d9cbe; +} + +.hljs-params { + color: #d0d0ff; +} + +.hljs-attribute { + color: #cda869; +} + +.hljs-meta { + color: #9b859d; +} + +.hljs-title, +.hljs-section { + color: #ffc66d; +} + +.hljs-addition { + background-color: #144212; + color: #e6e1dc; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #600; + color: #e6e1dc; + display: inline-block; + width: 100%; +} + +.hljs-selector-class { + color: #9b703f; +} + +.hljs-selector-id { + color: #8b98ab; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/rainbow.css b/demo/Demo_files/_resources/common/hljs/styles/rainbow.css new file mode 100644 index 0000000..905eb8e --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/rainbow.css @@ -0,0 +1,85 @@ +/* + +Style with support for rainbow parens + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #474949; + color: #d1d9e1; +} + + +.hljs-comment, +.hljs-quote { + color: #969896; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-type, +.hljs-addition { + color: #cc99cc; +} + +.hljs-number, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #f99157; +} + +.hljs-string, +.hljs-doctag, +.hljs-regexp { + color: #8abeb7; +} + +.hljs-title, +.hljs-name, +.hljs-section, +.hljs-built_in { + color: #b5bd68; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-selector-id, +.hljs-class .hljs-title { + color: #ffcc66; +} + +.hljs-section, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-link { + color: #f99157; +} + +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #eee8d5; +} + +.hljs-attr, +.hljs-attribute { + color: #81a2be; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/routeros.css b/demo/Demo_files/_resources/common/hljs/styles/routeros.css new file mode 100644 index 0000000..ebe2399 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/routeros.css @@ -0,0 +1,108 @@ +/* + + highlight.js style for Microtik RouterOS script + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + +.hljs-attribute { + color: #0E9A00; +} + +.hljs-function { + color: #99069A; +} + +.hljs-builtin-name { + color: #99069A; +} + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #0C9A9A; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/school-book.css b/demo/Demo_files/_resources/common/hljs/styles/school-book.css new file mode 100644 index 0000000..9483851 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/school-book.css @@ -0,0 +1,69 @@ +/* + +School Book style from goldblog.com.ua (c) Zaripov Yura + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 15px 0.5em 0.5em 30px; + font-size: 11px; + line-height:16px; + background:#f6f6ae url(./school-book.png); + border-top: solid 2px #d2e8b9; + border-bottom: solid 1px #d2e8b9; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color:#005599; + font-weight:bold; +} + +.hljs, +.hljs-subst { + color: #3e5915; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute, +.hljs-built_in, +.hljs-builtin-name, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable, +.hljs-link { + color: #2c009f; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #e60415; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-selector-id, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/school-book.png b/demo/Demo_files/_resources/common/hljs/styles/school-book.png new file mode 100644 index 0000000000000000000000000000000000000000..956e9790a0e2c079b3d568348ff3accd1d9cac30 GIT binary patch literal 486 zcmeAS@N?(olHy`uVBq!ia0y~yV7?7x3vjRjNjAS6Ga$v1?&#~tz_9*=IcwKTAYZb? zHKHUqKdq!Zu_%?nF(p4KRlzeiF+DXXH8G{K@MNkD0|R4)r;B4q#jQ7Ycl#YS5MfK$ z?b^fh#qmaEhFDxvyThwfhdfkOPApt1lr{NA;Vr%uzxJuVIyzm(ed_8_-0$LLU})H&o5Re&aDemE>EG#(|F^t9_pa-H z_Mf?rMVrs}-M?S|?ZdY@c6s41zy8~}@a{v&#Ea7V)wJ$+#K|u$5UvWCdFLwGac}6w{_s*=8A6L7Rfc|9gboFyt I=akR{0OLZ+qyPW_ literal 0 HcmV?d00001 diff --git a/demo/Demo_files/_resources/common/hljs/styles/shades-of-purple.css b/demo/Demo_files/_resources/common/hljs/styles/shades-of-purple.css new file mode 100644 index 0000000..c0e899e --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/shades-of-purple.css @@ -0,0 +1,97 @@ +/** + * Shades of Purple Theme — for Highlightjs. + * + * @author (c) Ahmad Awais + * @link GitHub Repo → https://github.com/ahmadawais/Shades-of-Purple-HighlightJS + * @version 1.5.0 + */ + +.hljs { + display: block; + overflow-x: auto; + /* Custom font is optional */ + /* font-family: 'Operator Mono', 'Fira Code', 'Menlo', 'Monaco', 'Courier New', 'monospace'; */ + line-height: 1.45; + padding: 2rem; + background: #2d2b57; + font-weight: normal; +} + +.hljs-title { + color: #fad000; + font-weight: normal; +} + +.hljs-name { + color: #a1feff; +} + +.hljs-tag { + color: #ffffff; +} + +.hljs-attr { + color: #f8d000; + font-style: italic; +} + +.hljs-built_in, +.hljs-selector-tag, +.hljs-section { + color: #fb9e00; +} + +.hljs-keyword { + color: #fb9e00; +} + +.hljs, +.hljs-subst { + color: #e3dfff; +} + +.hljs-string, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-addition, +.hljs-code, +.hljs-regexp, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-template-tag, +.hljs-quote, +.hljs-deletion { + color: #4cd213; +} + +.hljs-meta, +.hljs-meta-string { + color: #fb9e00; +} + +.hljs-comment { + color: #ac65ff; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-name, +.hljs-strong { + font-weight: normal; +} + +.hljs-literal, +.hljs-number { + color: #fa658d; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/solarized-dark.css b/demo/Demo_files/_resources/common/hljs/styles/solarized-dark.css new file mode 100644 index 0000000..b4c0da1 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/solarized-dark.css @@ -0,0 +1,84 @@ +/* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #002b36; + color: #839496; +} + +.hljs-comment, +.hljs-quote { + color: #586e75; +} + +/* Solarized Green */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #859900; +} + +/* Solarized Cyan */ +.hljs-number, +.hljs-string, +.hljs-meta .hljs-meta-string, +.hljs-literal, +.hljs-doctag, +.hljs-regexp { + color: #2aa198; +} + +/* Solarized Blue */ +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #268bd2; +} + +/* Solarized Yellow */ +.hljs-attribute, +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type { + color: #b58900; +} + +/* Solarized Orange */ +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-meta .hljs-keyword, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-link { + color: #cb4b16; +} + +/* Solarized Red */ +.hljs-built_in, +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #073642; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/solarized-light.css b/demo/Demo_files/_resources/common/hljs/styles/solarized-light.css new file mode 100644 index 0000000..fdcfcc7 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/solarized-light.css @@ -0,0 +1,84 @@ +/* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; +} + +.hljs-comment, +.hljs-quote { + color: #93a1a1; +} + +/* Solarized Green */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #859900; +} + +/* Solarized Cyan */ +.hljs-number, +.hljs-string, +.hljs-meta .hljs-meta-string, +.hljs-literal, +.hljs-doctag, +.hljs-regexp { + color: #2aa198; +} + +/* Solarized Blue */ +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #268bd2; +} + +/* Solarized Yellow */ +.hljs-attribute, +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type { + color: #b58900; +} + +/* Solarized Orange */ +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-meta .hljs-keyword, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-link { + color: #cb4b16; +} + +/* Solarized Red */ +.hljs-built_in, +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #eee8d5; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/sunburst.css b/demo/Demo_files/_resources/common/hljs/styles/sunburst.css new file mode 100644 index 0000000..f56dd5e --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/sunburst.css @@ -0,0 +1,102 @@ +/* + +Sunburst-like style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000; + color: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #aeaeae; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #e28964; +} + +.hljs-string { + color: #65b042; +} + +.hljs-subst { + color: #daefa3; +} + +.hljs-regexp, +.hljs-link { + color: #e9c062; +} + +.hljs-title, +.hljs-section, +.hljs-tag, +.hljs-name { + color: #89bdff; +} + +.hljs-class .hljs-title, +.hljs-doctag { + text-decoration: underline; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-number { + color: #3387cc; +} + +.hljs-params, +.hljs-variable, +.hljs-template-variable { + color: #3e87e3; +} + +.hljs-attribute { + color: #cda869; +} + +.hljs-meta { + color: #8996a8; +} + +.hljs-formula { + background-color: #0e2231; + color: #f8f8f8; + font-style: italic; +} + +.hljs-addition { + background-color: #253b22; + color: #f8f8f8; +} + +.hljs-deletion { + background-color: #420e09; + color: #f8f8f8; +} + +.hljs-selector-class { + color: #9b703f; +} + +.hljs-selector-id { + color: #8b98ab; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-blue.css b/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-blue.css new file mode 100644 index 0000000..78e59cc --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-blue.css @@ -0,0 +1,75 @@ +/* Tomorrow Night Blue Theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #7285b7; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #ff9da4; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #ffc58f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #ffeead; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #d1f1a9; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #bbdaff; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ebbbff; +} + +.hljs { + display: block; + overflow-x: auto; + background: #002451; + color: white; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-bright.css b/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-bright.css new file mode 100644 index 0000000..e05af8a --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-bright.css @@ -0,0 +1,74 @@ +/* Tomorrow Night Bright Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #d54e53; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #e78c45; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #e7c547; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #b9ca4a; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #7aa6da; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #c397d8; +} + +.hljs { + display: block; + overflow-x: auto; + background: black; + color: #eaeaea; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-eighties.css b/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-eighties.css new file mode 100644 index 0000000..08fd51c --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night-eighties.css @@ -0,0 +1,74 @@ +/* Tomorrow Night Eighties Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #999999; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #f2777a; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f99157; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #ffcc66; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #99cc99; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #6699cc; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #cc99cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2d2d2d; + color: #cccccc; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night.css b/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night.css new file mode 100644 index 0000000..ddd270a --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/tomorrow-night.css @@ -0,0 +1,75 @@ +/* Tomorrow Night Theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #cc6666; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #de935f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #f0c674; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #b5bd68; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #81a2be; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b294bb; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1d1f21; + color: #c5c8c6; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/tomorrow.css b/demo/Demo_files/_resources/common/hljs/styles/tomorrow.css new file mode 100644 index 0000000..026a62f --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/tomorrow.css @@ -0,0 +1,72 @@ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #8e908c; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #c82829; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f5871f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #eab700; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #718c00; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #4271ae; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8959a8; +} + +.hljs { + display: block; + overflow-x: auto; + background: white; + color: #4d4d4c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/vs.css b/demo/Demo_files/_resources/common/hljs/styles/vs.css new file mode 100644 index 0000000..c5d07d3 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/vs.css @@ -0,0 +1,68 @@ +/* + +Visual Studio-like style based on original C# coloring by Jason Diamond + +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, +.hljs-quote, +.hljs-variable { + color: #008000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-built_in, +.hljs-name, +.hljs-tag { + color: #00f; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-attribute, +.hljs-literal, +.hljs-template-tag, +.hljs-template-variable, +.hljs-type, +.hljs-addition { + color: #a31515; +} + +.hljs-deletion, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-meta { + color: #2b91af; +} + +.hljs-doctag { + color: #808080; +} + +.hljs-attr { + color: #f00; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #00b0e8; +} + + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/vs2015.css b/demo/Demo_files/_resources/common/hljs/styles/vs2015.css new file mode 100644 index 0000000..d1d9be3 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/vs2015.css @@ -0,0 +1,115 @@ +/* + * Visual Studio 2015 dark style + * Author: Nicolas LLOBERA + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #1E1E1E; + color: #DCDCDC; +} + +.hljs-keyword, +.hljs-literal, +.hljs-symbol, +.hljs-name { + color: #569CD6; +} +.hljs-link { + color: #569CD6; + text-decoration: underline; +} + +.hljs-built_in, +.hljs-type { + color: #4EC9B0; +} + +.hljs-number, +.hljs-class { + color: #B8D7A3; +} + +.hljs-string, +.hljs-meta-string { + color: #D69D85; +} + +.hljs-regexp, +.hljs-template-tag { + color: #9A5334; +} + +.hljs-subst, +.hljs-function, +.hljs-title, +.hljs-params, +.hljs-formula { + color: #DCDCDC; +} + +.hljs-comment, +.hljs-quote { + color: #57A64A; + font-style: italic; +} + +.hljs-doctag { + color: #608B4E; +} + +.hljs-meta, +.hljs-meta-keyword, +.hljs-tag { + color: #9B9B9B; +} + +.hljs-variable, +.hljs-template-variable { + color: #BD63C5; +} + +.hljs-attr, +.hljs-attribute, +.hljs-builtin-name { + color: #9CDCFE; +} + +.hljs-section { + color: gold; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +/*.hljs-code { + font-family:'Monospace'; +}*/ + +.hljs-bullet, +.hljs-selector-tag, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #D7BA7D; +} + +.hljs-addition { + background-color: #144212; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #600; + display: inline-block; + width: 100%; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/xcode.css b/demo/Demo_files/_resources/common/hljs/styles/xcode.css new file mode 100644 index 0000000..b305665 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/xcode.css @@ -0,0 +1,104 @@ +/* + +XCode style (c) Angel Garcia + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fff; + color: black; +} + +/* Gray DOCTYPE selectors like WebKit */ +.xml .hljs-meta { + color: #c0c0c0; +} + +.hljs-comment, +.hljs-quote { + color: #007400; +} + +.hljs-tag, +.hljs-attribute, +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-name { + color: #aa0d91; +} + +.hljs-variable, +.hljs-template-variable { + color: #3F6E74; +} + +.hljs-code, +.hljs-string, +.hljs-meta-string { + color: #c41a16; +} + +.hljs-regexp, +.hljs-link { + color: #0E0EFF; +} + +.hljs-title, +.hljs-symbol, +.hljs-bullet, +.hljs-number { + color: #1c00cf; +} + +.hljs-section, +.hljs-meta { + color: #643820; +} + + +.hljs-class .hljs-title, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-params { + color: #5c2699; +} + +.hljs-attr { + color: #836C28; +} + +.hljs-subst { + color: #000; +} + +.hljs-formula { + background-color: #eee; + font-style: italic; +} + +.hljs-addition { + background-color: #baeeba; +} + +.hljs-deletion { + background-color: #ffc8bd; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #9b703f; +} + +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/xt256.css b/demo/Demo_files/_resources/common/hljs/styles/xt256.css new file mode 100644 index 0000000..3e35ad2 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/xt256.css @@ -0,0 +1,92 @@ + +/* + xt256.css + + Contact: initbar [at] protonmail [dot] ch + : github.com/initbar +*/ + +.hljs { + display: block; + overflow-x: auto; + color: #eaeaea; + background: #000; + padding: 0.5em; +} + +.hljs-subst { + color: #eaeaea; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-builtin-name, +.hljs-type { + color: #eaeaea; +} + +.hljs-params { + color: #da0000; +} + +.hljs-literal, +.hljs-number, +.hljs-name { + color: #ff0000; + font-weight: bolder; +} + +.hljs-comment { + color: #969896; +} + +.hljs-selector-id, +.hljs-quote { + color: #00ffff; +} + +.hljs-template-variable, +.hljs-variable, +.hljs-title { + color: #00ffff; + font-weight: bold; +} + +.hljs-selector-class, +.hljs-keyword, +.hljs-symbol { + color: #fff000; +} + +.hljs-string, +.hljs-bullet { + color: #00ff00; +} + +.hljs-tag, +.hljs-section { + color: #000fff; +} + +.hljs-selector-tag { + color: #000fff; + font-weight: bold; +} + +.hljs-attribute, +.hljs-built_in, +.hljs-regexp, +.hljs-link { + color: #ff00ff; +} + +.hljs-meta { + color: #fff; + font-weight: bolder; +} diff --git a/demo/Demo_files/_resources/common/hljs/styles/zenburn.css b/demo/Demo_files/_resources/common/hljs/styles/zenburn.css new file mode 100644 index 0000000..07be502 --- /dev/null +++ b/demo/Demo_files/_resources/common/hljs/styles/zenburn.css @@ -0,0 +1,80 @@ +/* + +Zenburn style from voldmar.ru (c) Vladimir Epifanov +based on dark.css by Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #3f3f3f; + color: #dcdcdc; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-tag { + color: #e3ceab; +} + +.hljs-template-tag { + color: #dcdcdc; +} + +.hljs-number { + color: #8cd0d3; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute { + color: #efdcbc; +} + +.hljs-literal { + color: #efefaf; +} + +.hljs-subst { + color: #8f8f8f; +} + +.hljs-title, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-section, +.hljs-type { + color: #efef8f; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #dca3a3; +} + +.hljs-deletion, +.hljs-string, +.hljs-built_in, +.hljs-builtin-name { + color: #cc9393; +} + +.hljs-addition, +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #7f9f7f; +} + + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/demo/Demo_files/_resources/common/zim-hljs.css b/demo/Demo_files/_resources/common/zim-hljs.css new file mode 100644 index 0000000..15d8f54 --- /dev/null +++ b/demo/Demo_files/_resources/common/zim-hljs.css @@ -0,0 +1,4 @@ + + /* Pour forcer la police dans la coloration syntaxique */ + .hljs { font-family: monospace; } + span[class^='hljs'], span[class*=' hljs'] { font-family: monospace; } diff --git a/demo/Demo_files/_resources/common/zim-special.css b/demo/Demo_files/_resources/common/zim-special.css new file mode 100644 index 0000000..6f4cb32 --- /dev/null +++ b/demo/Demo_files/_resources/common/zim-special.css @@ -0,0 +1,17 @@ + + span.zim-tag { + color: #ce5c00; + width: 98%; + } + + div.zim-object { + border-style:solid; + border-width:1px; + } + + .checked-box {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAANOgAADMQBiN+4gQAAAAd0SU1FB9gKGQ8sMEGsKGkAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAEBUlEQVRIx62V22tdRRTGf7Nn73P2ybntnNOe3NqkPTGgLTVUUZF6QatSLOKTPgqCIqLgQ0H/A1sQQbBYCBb1QfAxiC8tSO1FqHkwJVKtjdTGNraUmObsc9nXmfGh7cGYpM1D5nHWzPetteZb3wg2eB2YqYm4zSadsMtoboiNBH/3TE0awx6j+MRoxoTg/IYRvP19TQrJS0bzhdHGSyKFkLTtjSKwMjyiEz43ynhtP6bdjBCWyFobAf7eT7VhNF/q1FRbjYjmUohlCVPwnB+6FUxMTJipqSmUUhhjEGKd3bMT4ks/Y6oLBK2Yth8hHYtCJXOix7Nf7xLMzc0xOzvLzp078TyPNE3viW3QJPXzhNWbxFFKHCmMhoLn/FHodd48vGfhapdAacXQlkFK5dL6wIUm6fuTZPuvqDQhaMUYYyiVyuQr6rXDexYuAdi3tSv1ZJNs/R/CaszzT+1na88uXFnCEnJVgivBNN8uTJKmHQI/ptOOcXNZzMz9mOqFs90OHpipWcYwlo5P4ebnuOkrvr5wgrH+h3im7y36MzuwRXYZeKha/OhP0EkadFoxQSdGSotedR/+XwMc2XvKdNUFOFqZx6LKZWIiwjgkikNmLp/hm8sH+K1zjFTHXfBYdTi+eJArzXM0GxFxoBDCopLvo/fqEwi1XPkWkGqjFo2TgB1jOYZUKZTS/D1/ncmLh7jon0IbRWoiTi59ymzzJEEQE3cStNZsGxqlfPE57MBbOR8fP3hDGalOO9fq2DlBvmZw8xa2IxACGn6TydlD/O6f5OzSV/zif0cYhLQaEXGkKBbz7Ov/AOlXV1cxgBJRI3fuSTrpTawt18kWIZN1CFuaONI0w0WOXfsI43YIggh/KUSlhqxrMz74AkOZcWBm9QkH+Gw8NDLuITi+m0yzhluSyJzBLcpblUhFxywSRAEtPwQjsKVN30CNh0uvYuOubSHLtN3J0TO1j0pmBNuFbFWRK0gyPRZpktL2I5JQkclKakNlnh54g6ocvevUr/Ai2a7wineEkcJupA3S1Wg0nVZM2E6wbEF5U5G9Q++wI7sfR7h3N8HVNstykBfzH+KJEZwiWD0aIwxCgJ0R1Mu7GXOeJSuK93bZtQIle4D9pUNU5DC5jEsu55AvZakM5NicGyEj8uuz8bUCQgj67QfY671P3vEoeC69gy695U1U7NG7XV0pUwBjDJa1/JJlWWxzHuflzQe5FJ/GsgUVuZ2t8lEkTvfc0aNHb72flBhjVicQQqCUuvM3/M+WDVguWBrMVdDXEGZlBVEUrVCU9d9s5+fnaTQa2PZyPxEIhJaI1EEoZwX4ncynp6fXrmB4eJjR0VFarRbNZnP9P9rt9gohqNVq1Ov1ZbF/AZGev3hLJ2/zAAAAAElFTkSuQmCC)} + .xchecked-box {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAANOgAADMQBiN+4gQAAAAd0SU1FB9gKGQ8bDYnDxEwAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAEK0lEQVRIx9WVS2hTWRjHf/eR3CY1nbxMH2YiZRQS6qO13YlMVxY3SnVcuNIBFezGpSADLoQqLu1sHJCqdCFSXFpw4YOCSH3BtFqttTNamabX3DS5bfO6uffMoglja3RGcDMHzuac7/z/53++//cd+L8P6VuCPQYZ8ADNgBd4J31DcDcQs+GnHByRocEDv0kfBSjAOlYCs11Q+gpwDegS8LMJ+3QIK0ATzEhV8Odnz5bzw8P4dJ25aJQ/WlvJ1df/K7hSLtOcTNI+Pk69rpMTgqIQhCDvh1/VSpw79+gRrRMTmLZNezLJJsPg+a5dmOEwQlFqg1sWG16/Jv7sGWXDwBACFQjC9HcwIMONKkGp4PGAJGEDS0IQmZlhnWnye3c3eiyGo6qr3WHbrJ+dJf7gAXI6zSIr72T7/fgzmT4FHnTBsgrQBfYvTU0km5vxz86iADnAm0rRPTWFt7cXZccOJJcLAGHb2K9ekT93jmwmwwdAAFpjI6Ntbfxw5879ag7l6o1sr5eHHR3IsRgeQK/M4sQE+YEB7JcvEY6zAj45SWFgAPPxYwzHoQxIkQjTPT0kIxE+Noj8sexFn4/xnh58iQTeSpHkHAdrbIzi0BCOrmNPTpK/eJHM3bt8sCyKQCiR4NWePWSiUZw1+ZLXJm4pFKLhzBlCsRh2RUXacVgeGaF47RrL58+zcP8+RrmMkCQinZ1EL1zAjERqmkH+tLYl1G3bCJw4QUjT0IA0MJfLMX/5MqmHD0nZNiUgtGULG/r7ccXjINWuWbnmqsuFu7sb/4EDNLlcBIEioNs2KUAFGmMxmk6dQm1tRZI+3xBqEkiShBQOox05Ql1nJ26gvuIUAWiKQnj/ftStW5Fk+YuF+NldsbBA4cYN9KdPmaso8Fc62ZJtk7l1C2t0FGdxESHE1xE4hkHh6lX0oSHSpRIewC/LrPf7CSgKNpCamkI/fZr8pUuIZBIcpyaBunahPp1mub+fDyMjGKUSChCsq6Nh717q9u2jbnSU0uAgRrFIwTThyhUCqRS+hgZKLS1fJvDm87SNjZGcnsYUAjcQ8vsJ9/Xh7u1FDgRQN20iks3iDA+zZFmYhQLqzZtsj8WY3L0baY2Sf55ICCKpFHUzM2SEQAJCHg+hY8fQDh5EDgRWDoRC1J88SePRo2geD0XAcBy8b98Sv3ePYDZbbf2rFQjLIphMsmDbaEBQVQkePox26BCSz7e6i4bDrDt+nGYhmBscpFAskheC4Js3bPR4qHphFYEnlcI7P4/jdqNpGu8TCe4oCsXr1z//F2ga3+/cSfTJE0qmSVYIsKzaOZDcbjKyzFIiwfvt21kMBLA07YsetzWNd+3tLLW0sH5igvT8PH9Go/z44kX+E4LGjg7GDYOcy4XlOEgLC//5P/5LCFzxOPLmzWyIx+m6fduu7v0NVGqyTSycKksAAAAASUVORK5CYII=)} + .unchecked-box {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAANOgAADMQBiN+4gQAAAAd0SU1FB9gKGQ8qAt8h3m8AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAA60lEQVRIx+2VsQqDMBRF70sCLg5OLoKgjk7+lJ/hh+STXBwcnRz8ArMEkrxOFktbaC3tULzTg5e8k5vADXDq70VbobXmvu/hvQczg4heHrJfXxQFuq67blZbMc8zpmlCXddIkgTOuZcBUko45zCOI6y1Nz2xFSEEZFmGOI7fGg4A3nsQEZqmuXOu9jallACAtm3fvmutNaIoAjM/dkBECCF89KCbk4eAb+kEnIAT8EsAM0OIz3hSyrssUvss8t5fg+uIrLXPs0gIgWVZYIyBUurQyYdheO4gz3NUVQVjDNZ1PfSjpWmKsixvehfB9GBZ3NndrgAAAABJRU5ErkJggg==)} + .migrated-box {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAANOgAADMQBiN+4gQAAAAd0SU1FB+AKHREFA8vJSnkAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAC1klEQVRIx+2VT0hUURTGf/e958w4Tc3TYowMw1GyEgwr1MqsFmbZIrIWQZsWJUjbdoHQpl3Qps0swnCRECQFYkR/TC1iKkqmfzAKTo2Vf8hoRsfR995tkRMT87RRWkUHHhy495zvnvvu933wP/75EKkkEAjIYDCIaZpIKRFCZN0kfX9xcTGtra2/irVUEolECIfDlJeXo+s6hmFkDaCqKoZhEAqFSCaTv60pqcSyLAoLC/F4PEtqDmCaJkIIKisrMybX0sdUVRWA5ubmPzdNjjI1cpXkZC/O1fV03PXgdDqRUtpPIITAsqxsDz0Z/3CZQv8uqo4N4C8/Tp2/DdM0MiZQlvk41OTkI/LW1SGtCVb5drD3eCc71wcA+VcAHA5vDd8+3UGakxiJV7i9pdQevU5T1R35pJ3MV5QW1pf+0kWBheJ2SWua8EQXZXsu4fVVYEz1sEKvof5EuxjoPvzpcRvrdp9C2gGMx6cpOHBmbImMesds7BZubwMVDTfXDnQ3vQfK7AC8wLfExMX5whyQc3q2OEnjGm5vE76SQxsfBLr77a7CNf+n0r/l6sSMtsBSnurckiIILCobAtVZhpF4gZF4jubaymj4Ch/fd380LE7bAnjc0NPxk2yqpmEuwGxF0ag+0k5uTpzZeBeaazvj0We8fXojainsb2xh2BZgbe0gSIllzSIUh63wfQ6dZ/O2fbjcKlOj58jJ3cVENESw5yErc9nf2MLQ4jwQAkV1Lqiq37/cZ9WaahJjF9AcmxiPDhLs7ePe23oOnmUwg2hSShQle96tKDjA2HAniusgo9FxnvY9Jxw7RWzGYy92QghM00x5g53qp9sHmtB58/o2umOI2NwGolMnMYUHIb7aAyiKwsjICLqu2/qBEIKUUAohMaSHSLyBSMoPTINQ6CX5+fn2AEVFRZSUlBCPx4nFYhl3L4RESjF/GEgX3pSj+Xw+/H7/b3U/AEOZFnp7O5+5AAAAAElFTkSuQmCC)} + ul {list-style-image: none} + /* ul rule needed to reset style for sub-bullets */ diff --git a/demo/Demo_files/_resources/common/zim-style.css b/demo/Demo_files/_resources/common/zim-style.css new file mode 100644 index 0000000..8201945 --- /dev/null +++ b/demo/Demo_files/_resources/common/zim-style.css @@ -0,0 +1,61 @@ +/* Common zim definitions */ + + a { text-decoration: none; + color: blue;} + a:link { text-decoration: none; + color: blue;} + a:hover { text-decoration: none; + color: blue;} + a:active { text-decoration: none; + color: blue;} + a:visited { text-decoration: none; + color: blue;} + + strike { color: grey } + + u { text-decoration: underline; + background-color: white } + + tt { color: darkmagenta; + font-family: monospace; + font-size: large} + + pre { color: darkmagenta; + margin-left: 20px; + margin-right: 5px; + margin-bottom: 5px; + margin-top: 5px; + font-family: monospace; + font-size: large } + + code { font-size: large; font-family: monospace; color: saddlebrown} + + h1 { text-decoration: underline; + color: #4e9a06; + margin-bottom: 0; + margin-top: 1em; } + + h2 { color: #4e9a06; + margin-bottom: 0; + margin-left: 20px; + margin-top: 1em;} + + h3 { color: #4e9a06; + margin-bottom: 0; + margin-left: 40px; + margin-top: 1em; + font-style: italic; } + + h4 { color: #4e9a06; + margin-bottom: 0; + margin-left: 60px; + margin-top: 1em;} + + h5 { color: #4e9a06; + margin-bottom: 0; + margin-left: 80px; + margin-top: 1em;} + + p { margin-top: 0 } + + diff --git a/demo/Demo_files/_resources/common/zim-table-style.css b/demo/Demo_files/_resources/common/zim-table-style.css new file mode 100644 index 0000000..45d3e02 --- /dev/null +++ b/demo/Demo_files/_resources/common/zim-table-style.css @@ -0,0 +1,49 @@ +/* Table definition */ + + table { + border-collapse: collapse; + width: 98%; + margin-left: auto; + margin-right: auto; + } + + td,th { + border: 1px solid #ddd; + padding: 4px; + } + + + tr:nth-child(even){background-color: #f2f2f2;} + + tr:hover {background-color: #ddd;} + + th { + padding-top: 6px; + padding-bottom: 6px; + /*background-color: #4CAF50;*/ + /*background-color: #3a853c;*/ + /*background-color: #85733a;*/ + /*background-color: #3a7685;*/ + /*background-color: #295e2a;*/ + /*color: white;*/ + + /*background-color: #d1e1c1;*/ + background-color: #bbb; + color: black; + } + + table.navigation { + border-collapse: collapse; + width: auto; + margin-left: 0; + margin-right: auto; + } + + td.navigation, th.navigation { + border: 0; + padding: 0; + } + + tr.navigation:hover { + background-color: white; + } diff --git a/demo/Demo_files/tournesol.jpeg b/demo/Demo_files/tournesol.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4127b35112807f0d09919d93e24d43553966871c GIT binary patch literal 15987 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 literal 0 HcmV?d00001 diff --git a/demo/Demo_files/zim_navigation.png b/demo/Demo_files/zim_navigation.png new file mode 100644 index 0000000000000000000000000000000000000000..c0190924fa22d0755291dab76721c81168fd1ea8 GIT binary patch literal 6056 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 E50Fvdg8%>k literal 0 HcmV?d00001 -- 2.16.4