Code Snippets - Version 2.14.3

Version Description

(10 Dec 2021) = * Fixed: Potential security issue outputting snippets-safe-mode query variable value as-is. Thanks to Krzysztof Zajc for reporting.

Download this release

Release Info

Developer bungeshea
Plugin Icon Code Snippets
Version 2.14.3
Comparing to
See all releases

Code changes from version 2.14.2 to 2.14.3

code-snippets.php CHANGED
@@ -9,7 +9,7 @@
9
  * @author Shea Bunge <shea@sheabunge.com>
10
  * @copyright 2012-2021 Shea Bunge
11
  * @license MIT http://opensource.org/licenses/MIT
12
- * @version 2.14.2
13
  * @link https://github.com/sheabunge/code-snippets
14
  */
15
 
@@ -19,7 +19,7 @@ Plugin URI: https://github.com/sheabunge/code-snippets
19
  Description: An easy, clean and simple way to run code snippets on your site. No need to edit to your theme's functions.php file again!
20
  Author: Code Snippets Pro
21
  Author URI: https://codesnippets.pro
22
- Version: 2.14.2
23
  License: MIT
24
  License URI: license.txt
25
  Text Domain: code-snippets
@@ -110,7 +110,7 @@ function code_snippets() {
110
  static $plugin;
111
 
112
  if ( is_null( $plugin ) ) {
113
- $plugin = new Code_Snippets( '2.14.2', __FILE__ );
114
  }
115
 
116
  return $plugin;
9
  * @author Shea Bunge <shea@sheabunge.com>
10
  * @copyright 2012-2021 Shea Bunge
11
  * @license MIT http://opensource.org/licenses/MIT
12
+ * @version 2.14.3
13
  * @link https://github.com/sheabunge/code-snippets
14
  */
15
 
19
  Description: An easy, clean and simple way to run code snippets on your site. No need to edit to your theme's functions.php file again!
20
  Author: Code Snippets Pro
21
  Author URI: https://codesnippets.pro
22
+ Version: 2.14.3
23
  License: MIT
24
  License URI: license.txt
25
  Text Domain: code-snippets
110
  static $plugin;
111
 
112
  if ( is_null( $plugin ) ) {
113
+ $plugin = new Code_Snippets( '2.14.3', __FILE__ );
114
  }
115
 
116
  return $plugin;
css/min/editor-themes/dracula.css CHANGED
@@ -1 +1 @@
1
- .cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:rgba(255,255,255,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline}
1
+ .cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline}
css/min/editor-themes/mbo.css CHANGED
@@ -1 +1 @@
1
- .cm-s-mbo.CodeMirror{background:#2c2c2c;color:#ffffec}.cm-s-mbo div.CodeMirror-selected{background:#716c62}.cm-s-mbo .CodeMirror-line::selection,.cm-s-mbo .CodeMirror-line>span::selection,.cm-s-mbo .CodeMirror-line>span>span::selection{background:rgba(113,108,98,.99)}.cm-s-mbo .CodeMirror-line::-moz-selection,.cm-s-mbo .CodeMirror-line>span::-moz-selection,.cm-s-mbo .CodeMirror-line>span>span::-moz-selection{background:rgba(113,108,98,.99)}.cm-s-mbo .CodeMirror-gutters{background:#4e4e4e;border-right:0}.cm-s-mbo .CodeMirror-guttermarker{color:#fff}.cm-s-mbo .CodeMirror-guttermarker-subtle{color:grey}.cm-s-mbo .CodeMirror-linenumber{color:#dadada}.cm-s-mbo .CodeMirror-cursor{border-left:1px solid #ffffec}.cm-s-mbo span.cm-comment{color:#95958a}.cm-s-mbo span.cm-atom,.cm-s-mbo span.cm-number{color:#00a8c6}.cm-s-mbo span.cm-attribute,.cm-s-mbo span.cm-property{color:#9ddfe9}.cm-s-mbo span.cm-keyword{color:#ffb928}.cm-s-mbo span.cm-string{color:#ffcf6c}.cm-s-mbo span.cm-string.cm-property,.cm-s-mbo span.cm-variable{color:#ffffec}.cm-s-mbo span.cm-variable-2{color:#00a8c6}.cm-s-mbo span.cm-def{color:#ffffec}.cm-s-mbo span.cm-bracket{color:#fffffc;font-weight:700}.cm-s-mbo span.cm-tag{color:#9ddfe9}.cm-s-mbo span.cm-link{color:#f54b07}.cm-s-mbo span.cm-error{border-bottom:#636363;color:#ffffec}.cm-s-mbo span.cm-qualifier{color:#ffffec}.cm-s-mbo .CodeMirror-activeline-background{background:#494b41}.cm-s-mbo .CodeMirror-matchingbracket{color:#ffb928!important}.cm-s-mbo .CodeMirror-matchingtag{background:hsla(0,0%,100%,.37)}
1
+ .cm-s-mbo.CodeMirror{background:#2c2c2c;color:#ffffec}.cm-s-mbo div.CodeMirror-selected{background:#716c62}.cm-s-mbo .CodeMirror-line::selection,.cm-s-mbo .CodeMirror-line>span::selection,.cm-s-mbo .CodeMirror-line>span>span::selection{background:hsla(40,7%,41%,.99)}.cm-s-mbo .CodeMirror-line::-moz-selection,.cm-s-mbo .CodeMirror-line>span::-moz-selection,.cm-s-mbo .CodeMirror-line>span>span::-moz-selection{background:hsla(40,7%,41%,.99)}.cm-s-mbo .CodeMirror-gutters{background:#4e4e4e;border-right:0}.cm-s-mbo .CodeMirror-guttermarker{color:#fff}.cm-s-mbo .CodeMirror-guttermarker-subtle{color:grey}.cm-s-mbo .CodeMirror-linenumber{color:#dadada}.cm-s-mbo .CodeMirror-cursor{border-left:1px solid #ffffec}.cm-s-mbo span.cm-comment{color:#95958a}.cm-s-mbo span.cm-atom,.cm-s-mbo span.cm-number{color:#00a8c6}.cm-s-mbo span.cm-attribute,.cm-s-mbo span.cm-property{color:#9ddfe9}.cm-s-mbo span.cm-keyword{color:#ffb928}.cm-s-mbo span.cm-string{color:#ffcf6c}.cm-s-mbo span.cm-string.cm-property,.cm-s-mbo span.cm-variable{color:#ffffec}.cm-s-mbo span.cm-variable-2{color:#00a8c6}.cm-s-mbo span.cm-def{color:#ffffec}.cm-s-mbo span.cm-bracket{color:#fffffc;font-weight:700}.cm-s-mbo span.cm-tag{color:#9ddfe9}.cm-s-mbo span.cm-link{color:#f54b07}.cm-s-mbo span.cm-error{border-bottom:#636363;color:#ffffec}.cm-s-mbo span.cm-qualifier{color:#ffffec}.cm-s-mbo .CodeMirror-activeline-background{background:#494b41}.cm-s-mbo .CodeMirror-matchingbracket{color:#ffb928!important}.cm-s-mbo .CodeMirror-matchingtag{background:hsla(0,0%,100%,.37)}
css/min/editor-themes/neo.css CHANGED
@@ -1 +1 @@
1
- .cm-s-neo.CodeMirror{background-color:#fff;color:#2e383c;line-height:1.4375}.cm-s-neo .cm-comment{color:#75787b}.cm-s-neo .cm-keyword,.cm-s-neo .cm-property{color:#1d75b3}.cm-s-neo .cm-atom,.cm-s-neo .cm-number{color:#75438a}.cm-s-neo .cm-node,.cm-s-neo .cm-tag{color:#9c3328}.cm-s-neo .cm-string{color:#b35e14}.cm-s-neo .cm-qualifier,.cm-s-neo .cm-variable{color:#047d65}.cm-s-neo pre{padding:0}.cm-s-neo .CodeMirror-gutters{background-color:transparent;border:none;border-right:10px solid transparent}.cm-s-neo .CodeMirror-linenumber{color:#e0e2e5;padding:0}.cm-s-neo .CodeMirror-guttermarker{color:#1d75b3}.cm-s-neo .CodeMirror-guttermarker-subtle{color:#e0e2e5}.cm-s-neo .CodeMirror-cursor{background:rgba(155,157,162,.37);border:0;width:auto;z-index:1}
1
+ .cm-s-neo.CodeMirror{background-color:#fff;color:#2e383c;line-height:1.4375}.cm-s-neo .cm-comment{color:#75787b}.cm-s-neo .cm-keyword,.cm-s-neo .cm-property{color:#1d75b3}.cm-s-neo .cm-atom,.cm-s-neo .cm-number{color:#75438a}.cm-s-neo .cm-node,.cm-s-neo .cm-tag{color:#9c3328}.cm-s-neo .cm-string{color:#b35e14}.cm-s-neo .cm-qualifier,.cm-s-neo .cm-variable{color:#047d65}.cm-s-neo pre{padding:0}.cm-s-neo .CodeMirror-gutters{background-color:transparent;border:none;border-right:10px solid transparent}.cm-s-neo .CodeMirror-linenumber{color:#e0e2e5;padding:0}.cm-s-neo .CodeMirror-guttermarker{color:#1d75b3}.cm-s-neo .CodeMirror-guttermarker-subtle{color:#e0e2e5}.cm-s-neo .CodeMirror-cursor{background:hsla(223,4%,62%,.37);border:0;width:auto;z-index:1}
css/min/editor-themes/pastel-on-dark.css CHANGED
@@ -1 +1 @@
1
- .cm-s-pastel-on-dark.CodeMirror{background:#2c2827;color:#8f938f;line-height:1.5}.cm-s-pastel-on-dark div.CodeMirror-selected{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-line::selection,.cm-s-pastel-on-dark .CodeMirror-line>span::selection,.cm-s-pastel-on-dark .CodeMirror-line>span>span::selection{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-line::-moz-selection,.cm-s-pastel-on-dark .CodeMirror-line>span::-moz-selection,.cm-s-pastel-on-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-gutters{background:#34302f;border-right:0;padding:0 3px}.cm-s-pastel-on-dark .CodeMirror-guttermarker{color:#fff}.cm-s-pastel-on-dark .CodeMirror-guttermarker-subtle,.cm-s-pastel-on-dark .CodeMirror-linenumber{color:#8f938f}.cm-s-pastel-on-dark .CodeMirror-cursor{border-left:1px solid #a7a7a7}.cm-s-pastel-on-dark span.cm-comment{color:#a6c6ff}.cm-s-pastel-on-dark span.cm-atom{color:#de8e30}.cm-s-pastel-on-dark span.cm-number{color:#ccc}.cm-s-pastel-on-dark span.cm-property{color:#8f938f}.cm-s-pastel-on-dark span.cm-attribute{color:#a6e22e}.cm-s-pastel-on-dark span.cm-keyword{color:#aeb2f8}.cm-s-pastel-on-dark span.cm-string{color:#66a968}.cm-s-pastel-on-dark span.cm-variable{color:#aeb2f8}.cm-s-pastel-on-dark span.cm-variable-2{color:#bebf55}.cm-s-pastel-on-dark span.cm-type,.cm-s-pastel-on-dark span.cm-variable-3{color:#de8e30}.cm-s-pastel-on-dark span.cm-def{color:#757ad8}.cm-s-pastel-on-dark span.cm-bracket{color:#f8f8f2}.cm-s-pastel-on-dark span.cm-tag{color:#c1c144}.cm-s-pastel-on-dark span.cm-link{color:#ae81ff}.cm-s-pastel-on-dark span.cm-builtin,.cm-s-pastel-on-dark span.cm-qualifier{color:#c1c144}.cm-s-pastel-on-dark span.cm-error{background:#757ad8;color:#f8f8f0}.cm-s-pastel-on-dark .CodeMirror-activeline-background{background:hsla(0,0%,100%,.031)}.cm-s-pastel-on-dark .CodeMirror-matchingbracket{border:1px solid rgba(255,255,255,.25);color:#8f938f!important;margin:-1px -1px 0}
1
+ .cm-s-pastel-on-dark.CodeMirror{background:#2c2827;color:#8f938f;line-height:1.5}.cm-s-pastel-on-dark div.CodeMirror-selected{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-line::selection,.cm-s-pastel-on-dark .CodeMirror-line>span::selection,.cm-s-pastel-on-dark .CodeMirror-line>span>span::selection{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-line::-moz-selection,.cm-s-pastel-on-dark .CodeMirror-line>span::-moz-selection,.cm-s-pastel-on-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-gutters{background:#34302f;border-right:0;padding:0 3px}.cm-s-pastel-on-dark .CodeMirror-guttermarker{color:#fff}.cm-s-pastel-on-dark .CodeMirror-guttermarker-subtle,.cm-s-pastel-on-dark .CodeMirror-linenumber{color:#8f938f}.cm-s-pastel-on-dark .CodeMirror-cursor{border-left:1px solid #a7a7a7}.cm-s-pastel-on-dark span.cm-comment{color:#a6c6ff}.cm-s-pastel-on-dark span.cm-atom{color:#de8e30}.cm-s-pastel-on-dark span.cm-number{color:#ccc}.cm-s-pastel-on-dark span.cm-property{color:#8f938f}.cm-s-pastel-on-dark span.cm-attribute{color:#a6e22e}.cm-s-pastel-on-dark span.cm-keyword{color:#aeb2f8}.cm-s-pastel-on-dark span.cm-string{color:#66a968}.cm-s-pastel-on-dark span.cm-variable{color:#aeb2f8}.cm-s-pastel-on-dark span.cm-variable-2{color:#bebf55}.cm-s-pastel-on-dark span.cm-type,.cm-s-pastel-on-dark span.cm-variable-3{color:#de8e30}.cm-s-pastel-on-dark span.cm-def{color:#757ad8}.cm-s-pastel-on-dark span.cm-bracket{color:#f8f8f2}.cm-s-pastel-on-dark span.cm-tag{color:#c1c144}.cm-s-pastel-on-dark span.cm-link{color:#ae81ff}.cm-s-pastel-on-dark span.cm-builtin,.cm-s-pastel-on-dark span.cm-qualifier{color:#c1c144}.cm-s-pastel-on-dark span.cm-error{background:#757ad8;color:#f8f8f0}.cm-s-pastel-on-dark .CodeMirror-activeline-background{background:hsla(0,0%,100%,.031)}.cm-s-pastel-on-dark .CodeMirror-matchingbracket{border:1px solid hsla(0,0%,100%,.25);color:#8f938f!important;margin:-1px -1px 0}
css/min/editor-themes/solarized.css CHANGED
@@ -1 +1 @@
1
- .solarized.base03{color:#002b36}.solarized.base02{color:#073642}.solarized.base01{color:#586e75}.solarized.base00{color:#657b83}.solarized.base0{color:#839496}.solarized.base1{color:#93a1a1}.solarized.base2{color:#eee8d5}.solarized.base3{color:#fdf6e3}.solarized.solar-yellow{color:#b58900}.solarized.solar-orange{color:#cb4b16}.solarized.solar-red{color:#dc322f}.solarized.solar-magenta{color:#d33682}.solarized.solar-violet{color:#6c71c4}.solarized.solar-blue{color:#268bd2}.solarized.solar-cyan{color:#2aa198}.solarized.solar-green{color:#859900}.cm-s-solarized{color-profile:sRGB;rendering-intent:auto;line-height:1.45em}.cm-s-solarized.cm-s-dark{background-color:#002b36;color:#839496;text-shadow:#002b36 0 1px}.cm-s-solarized.cm-s-light{background-color:#fdf6e3;color:#657b83;text-shadow:#eee8d5 0 1px}.cm-s-solarized .CodeMirror-widget{text-shadow:none}.cm-s-solarized .cm-header{color:#586e75}.cm-s-solarized .cm-quote{color:#93a1a1}.cm-s-solarized .cm-keyword{color:#cb4b16}.cm-s-solarized .cm-atom,.cm-s-solarized .cm-number{color:#d33682}.cm-s-solarized .cm-def{color:#2aa198}.cm-s-solarized .cm-variable{color:#839496}.cm-s-solarized .cm-variable-2{color:#b58900}.cm-s-solarized .cm-type,.cm-s-solarized .cm-variable-3{color:#6c71c4}.cm-s-solarized .cm-property{color:#2aa198}.cm-s-solarized .cm-operator{color:#6c71c4}.cm-s-solarized .cm-comment{color:#586e75;font-style:italic}.cm-s-solarized .cm-string{color:#859900}.cm-s-solarized .cm-string-2{color:#b58900}.cm-s-solarized .cm-meta{color:#859900}.cm-s-solarized .cm-qualifier{color:#b58900}.cm-s-solarized .cm-builtin{color:#d33682}.cm-s-solarized .cm-bracket{color:#cb4b16}.cm-s-solarized .CodeMirror-matchingbracket{color:#859900}.cm-s-solarized .CodeMirror-nonmatchingbracket{color:#dc322f}.cm-s-solarized .cm-tag{color:#93a1a1}.cm-s-solarized .cm-attribute{color:#2aa198}.cm-s-solarized .cm-hr{border-top:1px solid #586e75;color:transparent;display:block}.cm-s-solarized .cm-link{color:#93a1a1;cursor:pointer}.cm-s-solarized .cm-special{color:#6c71c4}.cm-s-solarized .cm-em{color:#999;text-decoration:underline;text-decoration-style:dotted}.cm-s-solarized .cm-error,.cm-s-solarized .cm-invalidchar{border-bottom:1px dotted #dc322f;color:#586e75}.cm-s-solarized.cm-s-dark div.CodeMirror-selected{background:#073642}.cm-s-solarized.cm-s-dark.CodeMirror ::selection{background:rgba(7,54,66,.99)}.cm-s-dark .CodeMirror-line>span::-moz-selection,.cm-s-dark .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection{background:rgba(7,54,66,.99)}.cm-s-solarized.cm-s-light div.CodeMirror-selected{background:#eee8d5}.cm-s-light .CodeMirror-line>span::selection,.cm-s-light .CodeMirror-line>span>span::selection,.cm-s-solarized.cm-s-light .CodeMirror-line::selection{background:#eee8d5}.cm-s-light .CodeMirror-line>span::-moz-selection,.cm-s-light .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection{background:#eee8d5}.cm-s-solarized.CodeMirror{-moz-box-shadow:inset 7px 0 12px -6px #000;-webkit-box-shadow:inset 7px 0 12px -6px #000;box-shadow:inset 7px 0 12px -6px #000}.cm-s-solarized .CodeMirror-gutters{border-right:0}.cm-s-solarized.cm-s-dark .CodeMirror-gutters{background-color:#073642}.cm-s-solarized.cm-s-dark .CodeMirror-linenumber{color:#586e75;text-shadow:#021014 0 -1px}.cm-s-solarized.cm-s-light .CodeMirror-gutters{background-color:#eee8d5}.cm-s-solarized.cm-s-light .CodeMirror-linenumber{color:#839496}.cm-s-solarized .CodeMirror-linenumber{padding:0 5px}.cm-s-solarized .CodeMirror-guttermarker-subtle{color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-guttermarker{color:#ddd}.cm-s-solarized.cm-s-light .CodeMirror-guttermarker{color:#cb4b16}.cm-s-solarized .CodeMirror-gutter .CodeMirror-gutter-text{color:#586e75}.cm-s-solarized .CodeMirror-cursor{border-left:1px solid #819090}.cm-s-solarized.cm-s-light.cm-fat-cursor .CodeMirror-cursor{background:#7e7}.cm-s-solarized.cm-s-light .cm-animate-fat-cursor{background-color:#7e7}.cm-s-solarized.cm-s-dark.cm-fat-cursor .CodeMirror-cursor{background:#586e75}.cm-s-solarized.cm-s-dark .cm-animate-fat-cursor{background-color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background{background:hsla(0,0%,100%,.06)}.cm-s-solarized.cm-s-light .CodeMirror-activeline-background{background:rgba(0,0,0,.06)}
1
+ .solarized.base03{color:#002b36}.solarized.base02{color:#073642}.solarized.base01{color:#586e75}.solarized.base00{color:#657b83}.solarized.base0{color:#839496}.solarized.base1{color:#93a1a1}.solarized.base2{color:#eee8d5}.solarized.base3{color:#fdf6e3}.solarized.solar-yellow{color:#b58900}.solarized.solar-orange{color:#cb4b16}.solarized.solar-red{color:#dc322f}.solarized.solar-magenta{color:#d33682}.solarized.solar-violet{color:#6c71c4}.solarized.solar-blue{color:#268bd2}.solarized.solar-cyan{color:#2aa198}.solarized.solar-green{color:#859900}.cm-s-solarized{color-profile:sRGB;rendering-intent:auto;line-height:1.45em}.cm-s-solarized.cm-s-dark{background-color:#002b36;color:#839496}.cm-s-solarized.cm-s-light{background-color:#fdf6e3;color:#657b83}.cm-s-solarized .CodeMirror-widget{text-shadow:none}.cm-s-solarized .cm-header{color:#586e75}.cm-s-solarized .cm-quote{color:#93a1a1}.cm-s-solarized .cm-keyword{color:#cb4b16}.cm-s-solarized .cm-atom,.cm-s-solarized .cm-number{color:#d33682}.cm-s-solarized .cm-def{color:#2aa198}.cm-s-solarized .cm-variable{color:#839496}.cm-s-solarized .cm-variable-2{color:#b58900}.cm-s-solarized .cm-type,.cm-s-solarized .cm-variable-3{color:#6c71c4}.cm-s-solarized .cm-property{color:#2aa198}.cm-s-solarized .cm-operator{color:#6c71c4}.cm-s-solarized .cm-comment{color:#586e75;font-style:italic}.cm-s-solarized .cm-string{color:#859900}.cm-s-solarized .cm-string-2{color:#b58900}.cm-s-solarized .cm-meta{color:#859900}.cm-s-solarized .cm-qualifier{color:#b58900}.cm-s-solarized .cm-builtin{color:#d33682}.cm-s-solarized .cm-bracket{color:#cb4b16}.cm-s-solarized .CodeMirror-matchingbracket{color:#859900}.cm-s-solarized .CodeMirror-nonmatchingbracket{color:#dc322f}.cm-s-solarized .cm-tag{color:#93a1a1}.cm-s-solarized .cm-attribute{color:#2aa198}.cm-s-solarized .cm-hr{border-top:1px solid #586e75;color:transparent;display:block}.cm-s-solarized .cm-link{color:#93a1a1;cursor:pointer}.cm-s-solarized .cm-special{color:#6c71c4}.cm-s-solarized .cm-em{color:#999;text-decoration:underline;text-decoration-style:dotted}.cm-s-solarized .cm-error,.cm-s-solarized .cm-invalidchar{border-bottom:1px dotted #dc322f;color:#586e75}.cm-s-solarized.cm-s-dark div.CodeMirror-selected{background:#073642}.cm-s-solarized.cm-s-dark.CodeMirror ::selection{background:rgba(7,54,66,.99)}.cm-s-dark .CodeMirror-line>span::-moz-selection,.cm-s-dark .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection{background:rgba(7,54,66,.99)}.cm-s-solarized.cm-s-light div.CodeMirror-selected{background:#eee8d5}.cm-s-light .CodeMirror-line>span::selection,.cm-s-light .CodeMirror-line>span>span::selection,.cm-s-solarized.cm-s-light .CodeMirror-line::selection{background:#eee8d5}.cm-s-light .CodeMirror-line>span::-moz-selection,.cm-s-light .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection{background:#eee8d5}.cm-s-solarized.CodeMirror{-moz-box-shadow:inset 7px 0 12px -6px #000;-webkit-box-shadow:inset 7px 0 12px -6px #000;box-shadow:inset 7px 0 12px -6px #000}.cm-s-solarized .CodeMirror-gutters{border-right:0}.cm-s-solarized.cm-s-dark .CodeMirror-gutters{background-color:#073642}.cm-s-solarized.cm-s-dark .CodeMirror-linenumber{color:#586e75}.cm-s-solarized.cm-s-light .CodeMirror-gutters{background-color:#eee8d5}.cm-s-solarized.cm-s-light .CodeMirror-linenumber{color:#839496}.cm-s-solarized .CodeMirror-linenumber{padding:0 5px}.cm-s-solarized .CodeMirror-guttermarker-subtle{color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-guttermarker{color:#ddd}.cm-s-solarized.cm-s-light .CodeMirror-guttermarker{color:#cb4b16}.cm-s-solarized .CodeMirror-gutter .CodeMirror-gutter-text{color:#586e75}.cm-s-solarized .CodeMirror-cursor{border-left:1px solid #819090}.cm-s-solarized.cm-s-light.cm-fat-cursor .CodeMirror-cursor{background:#7e7}.cm-s-solarized.cm-s-light .cm-animate-fat-cursor{background-color:#7e7}.cm-s-solarized.cm-s-dark.cm-fat-cursor .CodeMirror-cursor{background:#586e75}.cm-s-solarized.cm-s-dark .cm-animate-fat-cursor{background-color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background{background:hsla(0,0%,100%,.06)}.cm-s-solarized.cm-s-light .CodeMirror-activeline-background{background:rgba(0,0,0,.06)}
css/min/editor.css CHANGED
@@ -1 +1 @@
1
- .codemirror-colorview{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat;border:1px solid #cecece;box-sizing:border-box;cursor:pointer;display:inline-block;height:10px;margin:0 2px;position:relative;vertical-align:middle;width:10px}.codemirror-colorview .codemirror-colorview-background{bottom:0;content:"";left:0;position:absolute;right:0;top:0}.codemirror-colorview:hover{border-color:#494949}.codemirror-colorpicker{background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:3px;box-shadow:0 0 10px 2px rgba(0,0,0,.12);display:inline-block;position:relative;width:224px;z-index:1000}.codemirror-colorpicker>.arrow{border-bottom:10px solid rgba(0,0,0,.2);border-left:10px solid transparent;border-right:10px solid transparent;display:none;height:0;left:7px;pointer-events:none;position:absolute;top:-10px;width:0}.codemirror-colorpicker>.arrow:after{border-bottom:9px solid #fff;border-left:9px solid transparent;border-right:9px solid transparent;content:"";height:0;left:-9px;position:absolute;top:1px;width:0}.codemirror-colorpicker .colorpicker-body .arrow-button{background-color:transparent;height:12px;padding:0;position:relative;width:10px}.codemirror-colorpicker .colorpicker-body .arrow-button:before{border-bottom:3px solid #000;height:50%;top:0}.codemirror-colorpicker .colorpicker-body .arrow-button:after,.codemirror-colorpicker .colorpicker-body .arrow-button:before{border-left:3px solid transparent;border-right:3px solid transparent;box-sizing:border-box;content:"";display:inline-block;height:0;left:0;margin:2px;pointer-events:none;position:absolute;right:0;width:0}.codemirror-colorpicker .colorpicker-body .arrow-button:after{border-top:3px solid #000;bottom:0;top:50%}.codemirror-colorpicker .colorpicker-body .color{cursor:pointer;height:120px;overflow:hidden;position:relative}.codemirror-colorpicker .colorpicker-body .color>.saturation,.codemirror-colorpicker .colorpicker-body .color>.saturation>.value{height:100%;position:relative;width:100%}.codemirror-colorpicker .colorpicker-body .color>.saturation>.value>.drag-pointer{border-radius:50%;height:10px;position:absolute;transform:translateX(-50%) translateY(-50%);width:10px}.codemirror-colorpicker .colorpicker-body .color>.saturation{background-color:hsla(20,42%,65%,0);background-image:linear-gradient(90deg,#fff,hsla(20,42%,65%,0));background-repeat:repeat-x}.codemirror-colorpicker .colorpicker-body .color>.saturation>.value{background-image:linear-gradient(0deg,#000,hsla(20,42%,65%,0))}.codemirror-colorpicker .colorpicker-body .color>.saturation>.value>.drag-pointer{border:1px solid #fff;box-shadow:0 0 2px 0 rgba(0,0,0,.05)}.codemirror-colorpicker .colorpicker-body .control{padding:10px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codemirror-colorpicker .colorpicker-body .control>.color,.codemirror-colorpicker .colorpicker-body .control>.empty{border-radius:50%;box-sizing:border-box;height:30px;left:12px;position:absolute;top:14px;width:30px}.codemirror-colorpicker .colorpicker-body .control>.color{border:1px solid rgba(0,0,0,.1)}.codemirror-colorpicker .colorpicker-body .control>.hue{box-sizing:border-box;cursor:pointer;margin:0 0 0 42px;padding:6px 16px;position:relative}.codemirror-colorpicker .colorpicker-body .control>.hue>.hue-container{border-radius:3px;height:10px;position:relative;width:100%}.codemirror-colorpicker .colorpicker-body .control>.opacity{box-sizing:border-box;cursor:pointer;margin:0 0 0 42px;padding:3px 16px;position:relative}.codemirror-colorpicker .colorpicker-body .control>.opacity>.opacity-container{border-radius:3px;height:10px;position:relative;width:100%}.codemirror-colorpicker .colorpicker-body .control .drag-bar,.codemirror-colorpicker .colorpicker-body .control .drag-bar2{border-radius:50%;cursor:pointer;height:12px;left:0;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:12px}.codemirror-colorpicker .colorpicker-body .control>.hue>.hue-container{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.codemirror-colorpicker .colorpicker-body .control>.opacity>.opacity-container{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat}.codemirror-colorpicker .colorpicker-body .control>.opacity>.opacity-container>.color-bar{bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.codemirror-colorpicker .colorpicker-body .control>.empty{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat}.codemirror-colorpicker .colorpicker-body .control .drag-bar,.codemirror-colorpicker .colorpicker-body .control .drag-bar2{background-color:#fefefe;border:1px solid rgba(0,0,0,.05);box-shadow:2px 2px 2px 0 rgba(0,0,0,.2)}.codemirror-colorpicker .colorpicker-body .information{box-sizing:padding-box;position:relative}.codemirror-colorpicker .colorpicker-body .information>input{bottom:20px;box-sizing:border-box;font-size:10px;height:20px;padding:0 0 0 2px;position:absolute;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.codemirror-colorpicker .colorpicker-body .information>input[type=number]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.codemirror-colorpicker .colorpicker-body .information>input[type=number]::-webkit-inner-spin-button,.codemirror-colorpicker .colorpicker-body .information>input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.codemirror-colorpicker .colorpicker-body .information.hex>.information-item.hex,.codemirror-colorpicker .colorpicker-body .information.hsl>.information-item.hsl,.codemirror-colorpicker .colorpicker-body .information.rgb>.information-item.rgb{display:flex}.codemirror-colorpicker .colorpicker-body .information>.information-item{box-sizing:border-box;display:none;margin-right:40px;padding:0 5px 0 9px;position:relative}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field{box-sizing:border-box;display:block;flex:1;padding:3px;position:relative}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field>.title{color:#a9a9a9;cursor:pointer;font-size:12px;padding-top:2px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field input{border:1px solid #cbcbcb;border-radius:2px;box-sizing:border-box;color:#333;font-size:11px;height:21px;padding:3px;text-align:center;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;width:100%}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field input[type=number]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field input[type=number]::-webkit-inner-spin-button,.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field.hsl-l input[type=number],.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field.hsl-s input[type=number]{padding-left:1px;padding-right:10px}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field .postfix{box-sizing:border-box;display:inline-block;font-size:11px;height:21px;line-height:2;padding:2px;position:absolute;right:3px;text-align:center;top:2px}.codemirror-colorpicker .colorpicker-body .information>.information-change{bottom:0;box-sizing:border-box;display:block;padding-top:5px;position:absolute;right:0;text-align:center;top:0;width:40px}.codemirror-colorpicker .colorpicker-body .information>.information-change>.format-change-button{background:transparent;border:0;box-sizing:border-box;cursor:pointer;outline:none}.codemirror-colorpicker .colorpicker-body .information>.title{color:#a3a3a3}.codemirror-colorpicker .colorpicker-body .information>.input{color:#333}.codemirror-colorpicker .colorpicker-body .colorsets{border-top:1px solid #e2e2e2}.codemirror-colorpicker .colorpicker-body .colorsets>.menu{float:right;padding:10px 15px 10px 5px}.codemirror-colorpicker .colorpicker-body .colorsets>.menu button{border:0;cursor:pointer;font-family:serif,sans-serif;font-size:14px;font-weight:300;outline:none}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list{box-sizing:border-box;display:block;line-height:0;margin-right:30px;padding:12px 0 0 12px}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list .color-item{background-size:contain;border-radius:2px;box-sizing:border-box;cursor:pointer;display:inline-block;height:13px;margin-bottom:12px;margin-right:12px;overflow:hidden;position:relative;vertical-align:middle;width:13px}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list .color-item:hover{transform:scale(1.2)}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list .color-item .empty{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat;height:100%;left:0;margin:0;padding:0;pointer-events:none;position:absolute;top:0;width:100%}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list .color-item .color-view{border:1px solid rgba(0,0,0,.1);box-sizing:border-box;height:100%;left:0;margin:0;padding:0;pointer-events:none;position:absolute;top:0;width:100%}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list .add-color-item{color:#8e8e8e;cursor:pointer;display:inline-block;font-family:serif,sans-serif;font-size:16px;font-weight:400;height:13px;line-height:1;margin-bottom:12px;margin-right:12px;text-align:center;vertical-align:middle;width:13px}.codemirror-colorpicker .colorpicker-body .color-chooser{background-color:rgba(0,0,0,.5);bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .05s ease-out}.codemirror-colorpicker .colorpicker-body .color-chooser.open{opacity:1;pointer-events:all}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container{background-color:#fff;bottom:0;left:0;position:absolute;right:0;top:120px}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-item-header{border-bottom:1px solid rgba(0,0,0,.2);box-sizing:border-box;display:flex;height:34px;left:0;padding:3px 0;position:absolute;right:0;top:0}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-item-header .title{box-sizing:border-box;color:#000;flex:2;font-size:15px;font-weight:700;margin:0;overflow:hidden;padding:5px 5px 5px 14px;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-item-header .items{cursor:pointer;display:block;flex:1;height:100%;line-height:2;padding-right:10px;text-align:right}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list{bottom:0;left:0;overflow:auto;position:absolute;right:0;top:34px}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item{border-bottom:1px solid rgba(0,0,0,.1);cursor:pointer;display:flex;padding:3px 0}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item:hover{background-color:rgba(0,0,0,.05)}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item .title{box-sizing:border-box;color:#000;flex:2;font-size:14px;font-size:13px;font-weight:400;margin:0;overflow:hidden;padding:5px 5px 5px 14px;pointer-events:none;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item .items{cursor:pointer;display:block;flex:3;height:100%;line-height:1.6;pointer-events:none}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item .items .color-item{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat;background-size:contain;border:1px solid #ddd;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;height:13px;margin-right:10px;overflow:hidden;vertical-align:middle;width:13px}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item .items .color-item .color-view{height:100%;margin:0;padding:0;pointer-events:none;width:100%}.codemirror-colorpicker.sketch{border-radius:5px}.codemirror-colorpicker.sketch>.colorpicker-body>.color{box-sizing:border-box;height:150px;margin:10px 10px 2px}.codemirror-colorpicker.sketch>.colorpicker-body>.control{padding:0}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.color,.codemirror-colorpicker.sketch>.colorpicker-body>.control>.empty{border-radius:2px;box-sizing:border-box;height:26px;left:auto;position:absolute;right:10px;top:1px;width:26px}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.color{box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5)}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.hue{margin:0 38px 0 0;padding:2px 2px 2px 10px;position:relative}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.hue>.hue-container{border-radius:0}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.opacity{margin:0 38px 0 0;padding:2px 2px 2px 10px;position:relative}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.opacity>.opacity-container{border-radius:0}.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar,.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar2{border-radius:0;border-radius:1px;bottom:1px!important;height:50%;left:0;top:50%;transform:translateX(-50%) translateY(-50%);width:2px}.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar2.first,.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar.first{left:0;transform:translateX(50%) translateY(-50%)!important}.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar2.last,.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar.last{transform:translateX(-150%) translateY(-50%)!important}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-change{display:none}.codemirror-colorpicker.sketch>.colorpicker-body>.information.rgb .information-item.rgb{display:inherit}.codemirror-colorpicker.sketch>.colorpicker-body>.information.rgb .information-item.hsl{display:none!important}.codemirror-colorpicker.sketch>.colorpicker-body>.information.hex .information-item.hex{display:inherit}.codemirror-colorpicker.sketch>.colorpicker-body>.information.hex .information-item.hsl,.codemirror-colorpicker.sketch>.colorpicker-body>.information.hsl .information-item.rgb{display:none!important}.codemirror-colorpicker.sketch>.colorpicker-body>.information.hsl .information-item.hsl{display:inherit}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item{display:inline-flex!important;margin-right:0}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item>.input-field{padding-left:0}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item>.input-field:last-child{padding-right:0}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item>.input-field>.title{color:#000;cursor:pointer;font-size:11px}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item>.input-field:last-child:not(:first-child){padding-right:0}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item.hex{padding-left:5px;padding-right:0;width:74px}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item.rgb{padding-left:0;padding-right:0;width:140px}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item.hsl{display:none;padding-left:0;padding-right:0;width:140px}.codemirror-colorpicker.sketch>.colorpicker-body>.colorsets>.color-list{margin-right:0;padding-right:12px}.codemirror-colorpicker.sketch>.colorpicker-body>.colorsets>.color-list .color-item{border-radius:3px;height:16px;margin-bottom:10px;margin-right:9px;width:16px}.codemirror-colorpicker.palette{border-radius:3px;box-shadow:none}.codemirror-colorpicker.palette>.colorpicker-body>.color,.codemirror-colorpicker.palette>.colorpicker-body>.control,.codemirror-colorpicker.palette>.colorpicker-body>.information{display:none}.codemirror-colorpicker.palette>.colorpicker-body>.colorsets{border-top:0;box-sizing:border-box}.codemirror-colorpicker.palette>.colorpicker-body>.colorsets>.color-list .color-item{height:15px;margin-bottom:10px;margin-right:10px;width:15px}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser{box-sizing:border-box;display:none}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser.open{border:1px solid #d8d8d8;border-radius:3px;bottom:auto;box-shadow:0 0 10px 2px rgba(0,0,0,.12);display:block;left:-1px;right:-1px;top:-1px}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser.open .color-chooser-container{background-color:#fff;border-radius:2px;bottom:auto;box-sizing:border-box;left:auto;position:relative;right:auto;top:auto}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser.open .color-chooser-container .colorsets-item-header{border-top-left-radius:3px;border-top-right-radius:3px;bottom:auto;left:auto;position:relative;right:auto;top:auto}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser.open .color-chooser-container .colorsets-list{bottom:auto;left:auto;overflow:auto;position:relative;right:auto;top:auto}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser.open .color-chooser-container .colorsets-list .colorsets-item:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.codemirror-colorpicker.macos .colorpicker-body .wheel{box-sizing:border-box;height:224px;position:relative;width:224px}.codemirror-colorpicker.macos .colorpicker-body .wheel .wheel-canvas{border-radius:50%;height:214px;left:5px;position:absolute;top:5px;width:214px}.codemirror-colorpicker.macos .colorpicker-body .wheel .drag-pointer{border:1px solid #fff;border-radius:50%;display:inline-block;height:10px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:10px;z-index:2}.codemirror-colorpicker.macos .control{padding-top:0}.codemirror-colorpicker.macos .control>.color,.codemirror-colorpicker.macos .control>.empty{top:4px}.codemirror-colorpicker.macos .value{box-sizing:border-box;cursor:pointer;margin:0 0 0 42px;padding:6px 16px;position:relative}.codemirror-colorpicker.macos .value>.value-container{background-image:linear-gradient(90deg,#000 0,hsla(0,0%,100%,0));border-radius:3px;box-sizing:border-box;height:10px;position:relative;width:100%}.codemirror-colorpicker.macos .value>.value-container .drag-bar{border-radius:50%;cursor:pointer;height:12px;left:0;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:12px}.codemirror-colorpicker.mini{display:inline-block;width:180px}.codemirror-colorpicker.mini .control{padding:0}.codemirror-colorpicker.mini .control .hue,.codemirror-colorpicker.mini .control .opacity{margin:0;padding:0}.codemirror-colorpicker.mini .control .hue>.hue-container,.codemirror-colorpicker.mini .control .opacity>.opacity-container{border-radius:0;height:20px;overflow:hidden}.codemirror-colorpicker.mini .control .drag-bar,.codemirror-colorpicker.mini .control .drag-bar2{background-color:transparent;border:0;box-shadow:none;box-sizing:border-box;height:100%;width:5px}.codemirror-colorpicker.mini .control .drag-bar2.last:before,.codemirror-colorpicker.mini .control .drag-bar2.lastafter,.codemirror-colorpicker.mini .control .drag-bar.last:before,.codemirror-colorpicker.mini .control .drag-bar.lastafter{left:1px}.codemirror-colorpicker.mini .control .drag-bar2.first:after,.codemirror-colorpicker.mini .control .drag-bar2.first:before,.codemirror-colorpicker.mini .control .drag-bar.first:after,.codemirror-colorpicker.mini .control .drag-bar.first:before{left:3px}.codemirror-colorpicker.mini .control .drag-bar2:before,.codemirror-colorpicker.mini .control .drag-bar:before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;content:"";height:0;left:2px;position:absolute;top:0;transform:translateX(-50%);width:0}.codemirror-colorpicker.mini .control .drag-bar2:after,.codemirror-colorpicker.mini .control .drag-bar:after{border-bottom:4px solid #000;border-left:4px solid transparent;border-right:4px solid transparent;bottom:0;content:"";height:0;left:2px;position:absolute;transform:translateX(-50%);width:0}.codemirror-colorpicker.mini-vertical{display:inline-block;width:180px}.codemirror-colorpicker.mini-vertical .color{display:inline-block;height:160px;vertical-align:middle;width:140px}.codemirror-colorpicker.mini-vertical .control{display:inline-block;height:160px;padding:0;vertical-align:middle}.codemirror-colorpicker.mini-vertical .control .hue,.codemirror-colorpicker.mini-vertical .control .opacity{display:inline-block;height:100%;margin:0;padding:0;position:relative;vertical-align:middle;width:20px}.codemirror-colorpicker.mini-vertical .control .hue>.hue-container{background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);border-radius:0;height:100%;overflow:hidden}.codemirror-colorpicker.mini-vertical .control .opacity>.opacity-container{border-radius:0;height:100%;overflow:hidden;width:20px}.codemirror-colorpicker.mini-vertical .control .drag-bar,.codemirror-colorpicker.mini-vertical .control .drag-bar2{background-color:transparent;border:0;box-shadow:none;box-sizing:border-box;height:2px;transform:none;width:100%}.codemirror-colorpicker.mini-vertical .control .drag-bar2.last:after,.codemirror-colorpicker.mini-vertical .control .drag-bar2.last:before,.codemirror-colorpicker.mini-vertical .control .drag-bar.last:after,.codemirror-colorpicker.mini-vertical .control .drag-bar.last:before{top:2px}.codemirror-colorpicker.mini-vertical .control .drag-bar2.first:after,.codemirror-colorpicker.mini-vertical .control .drag-bar2.first:before,.codemirror-colorpicker.mini-vertical .control .drag-bar.first:after,.codemirror-colorpicker.mini-vertical .control .drag-bar.first:before{top:-1px}.codemirror-colorpicker.mini-vertical .control .drag-bar2:before,.codemirror-colorpicker.mini-vertical .control .drag-bar:before{border-bottom:4px solid transparent;border-left:4px solid #000;border-top:4px solid transparent;content:"";height:0;left:0;position:absolute;top:2px;transform:translateY(-50%);width:0}.codemirror-colorpicker.mini-vertical .control .drag-bar2:after,.codemirror-colorpicker.mini-vertical .control .drag-bar:after{border-bottom:4px solid transparent;border-right:4px solid #000;border-top:4px solid transparent;content:"";height:0;position:absolute;right:0;top:2px;transform:translateY(-50%);width:0}.codemirror-colorpicker.ring .colorpicker-body>.color{height:120px;left:52px;position:absolute;top:52px;width:120px}.codemirror-colorpicker.ring .colorpicker-body .wheel{box-sizing:border-box;height:224px;position:relative;width:224px}.codemirror-colorpicker.ring .colorpicker-body .wheel .wheel-canvas{border-radius:50%;height:214px;left:5px;position:absolute;top:5px;width:214px}.codemirror-colorpicker.ring .colorpicker-body .wheel .drag-pointer{border:1px solid #fff;border-radius:50%;display:inline-block;height:10px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:10px;z-index:2}.codemirror-colorpicker.ring .control{padding-top:0}.codemirror-colorpicker.ring .control .value{display:none}.codemirror-colorpicker.ring .control>.color,.codemirror-colorpicker.ring .control>.empty{border-radius:2px;height:30px;top:-17px;width:30px}.codemirror-colorpicker.xd{display:inline-block;padding-top:12px;width:245px}.codemirror-colorpicker.xd .color{border:1px solid #cecece;border-radius:3px;box-sizing:border-box;display:inline-block;height:170px;margin-bottom:12px;margin-left:12px;overflow:hidden;vertical-align:middle;width:170px}.codemirror-colorpicker.xd .color>.saturation>.value>.drag-pointer{border:2px solid #fff;box-shadow:0 0 1px 0 #000,inset 0 0 1px 0 #000;height:7px;width:7px}.codemirror-colorpicker.xd .control{display:inline-block;height:170px;margin-bottom:12px;margin-right:12px;padding:0;vertical-align:middle}.codemirror-colorpicker.xd .control .hue,.codemirror-colorpicker.xd .control .opacity{border-radius:3px;display:inline-block;height:100%;margin:0 0 0 8px;overflow:hidden;padding:0;position:relative;vertical-align:middle;width:13px}.codemirror-colorpicker.xd .control .hue>.hue-container{background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);border-radius:0;height:100%;overflow:hidden}.codemirror-colorpicker.xd .control .opacity>.opacity-container{border-radius:0;height:100%;overflow:hidden}.codemirror-colorpicker.xd .control .drag-bar,.codemirror-colorpicker.xd .control .drag-bar2{background-color:transparent;border:2px solid #fff;box-shadow:0 0 1px 0 #000,inset 0 0 1px 0 #000;box-sizing:border-box;height:10px;left:50%;overflow:hidden;transform:none;transform:translateX(-50%) translateY(-50%);width:10px}.codemirror-colorpicker.xd .information{margin-top:5px}.codemirror-colorpicker.vscode{background-color:#333;border:1px solid #ececec;box-sizing:border-box;width:336px}.codemirror-colorpicker.vscode,.codemirror-colorpicker.vscode .colorpicker-body{border-radius:0;display:inline-block}.codemirror-colorpicker.vscode .colorpicker-body .color-view{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat;height:34px}.codemirror-colorpicker.vscode .colorpicker-body .color-view .color-view-container{cursor:pointer;font-size:14px;height:100%;line-height:34px;text-align:center;text-shadow:0 0 3px #535353;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.codemirror-colorpicker.vscode .colorpicker-body .color-tool{padding:8px}.codemirror-colorpicker.vscode .color{display:inline-block;height:160px;vertical-align:middle;width:240px}.codemirror-colorpicker.vscode .control{display:inline-block;height:160px;padding:0 0 0 4px;vertical-align:middle}.codemirror-colorpicker.vscode .control .hue,.codemirror-colorpicker.vscode .control .opacity{display:inline-block;height:100%;margin:0;padding:0;position:relative;vertical-align:middle;width:30px}.codemirror-colorpicker.vscode .control .hue{padding-left:5px;width:35px}.codemirror-colorpicker.vscode .control .hue>.hue-container{background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);border-radius:0;height:100%}.codemirror-colorpicker.vscode .control .opacity>.opacity-container{border-radius:0;height:100%;width:30px}.codemirror-colorpicker.vscode .control .drag-bar,.codemirror-colorpicker.vscode .control .drag-bar2{background-color:transparent;border:1px solid #fff;border-radius:0;box-shadow:none;box-shadow:0 0 2px 0 #000,inset 0 0 0 0 #000;box-sizing:border-box;height:5px;transform:translateY(-50%) translateX(-2px);width:33px}.colorsets-contextmenu{background-color:#ececec;border:1px solid #ccc;border-radius:6px;display:none;font-size:13px;list-style:none;padding:4px 0;position:fixed}.colorsets-contextmenu.show{display:inline-block}.colorsets-contextmenu .menu-item{cursor:default;padding:2px 20px}.colorsets-contextmenu .menu-item:hover{background-color:#5ea3fb;color:#fff}.colorsets-contextmenu.small .menu-item.small-hide{display:none}.CodeMirror{color:#000;direction:ltr;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{background-color:#f7f7f7;border-right:1px solid #ddd;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;border:0!important;width:auto}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5)}.cm-animate-fat-cursor,.cm-fat-cursor-mark{-webkit-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{background-color:#7e7;width:auto}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:-50px}.CodeMirror-ruler{border-left:1px solid #ccc;bottom:0;position:absolute;top:0}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-50px;margin-right:-50px;outline:none;overflow:scroll!important;padding-bottom:50px;position:relative}.CodeMirror-sizer{border-right:50px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;outline:none;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{left:0;min-height:100%;position:absolute;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-50px;vertical-align:top;white-space:normal}.CodeMirror-gutter-wrapper{background:none!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{bottom:0;position:absolute;top:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{word-wrap:normal;-webkit-tap-highlight-color:transparent;font-feature-settings:"calt";background:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;z-index:2}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}.CodeMirror-linewidget{padding:.1px;position:relative;z-index:2}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{background:inherit;color:inherit;left:0;overflow:hidden;padding:.1em .8em;position:absolute;right:0;z-index:15}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{background:transparent;border:none;color:inherit;font-family:monospace;outline:none;width:20em}.CodeMirror-dialog button{font-size:70%}.CodeMirror-lint-markers{width:16px}.CodeMirror-lint-tooltip{background-color:#ffd;border:1px solid #000;border-radius:4px 4px 4px 4px;color:#000;font-family:monospace;font-size:10pt;max-width:600px;opacity:0;overflow:hidden;padding:2px 5px;position:fixed;transition:opacity .4s;-moz-transition:opacity .4s;-webkit-transition:opacity .4s;-o-transition:opacity .4s;-ms-transition:opacity .4s;white-space:pre;white-space:pre-wrap;z-index:100}.CodeMirror-lint-mark{background-position:0 100%;background-repeat:repeat-x}.CodeMirror-lint-mark-warning{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=")}.CodeMirror-lint-mark-error{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==")}.CodeMirror-lint-marker{background-position:50%;background-repeat:no-repeat;cursor:pointer;display:inline-block;height:16px;position:relative;vertical-align:middle;width:16px}.CodeMirror-lint-message{background-position:0 0;background-repeat:no-repeat;padding-left:18px}.CodeMirror-lint-marker-warning,.CodeMirror-lint-message-warning{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=")}.CodeMirror-lint-marker-error,.CodeMirror-lint-message-error{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=")}.CodeMirror-lint-marker-multiple{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC");background-position:100% 100%;background-repeat:no-repeat;height:100%;width:100%}.CodeMirror-lint-line-error{background-color:rgba(183,76,81,.08)}.CodeMirror-lint-line-warning{background-color:rgba(255,211,0,.1)}.CodeMirror{background-color:#fff;border:1px solid #dfdfdf;border-radius:3px;height:auto!important}.CodeMirror-code{outline:none}.CodeMirror-focused .cm-matchhighlight{color:#fff!important;outline:1px solid green}.CodeMirror-sizer:before{color:#bbb;content:"<?php";display:block;padding-bottom:6px}.cm-s-rubyblue .CodeMirror-cursor{border-left:1px solid #fff!important}.CodeMirror-lint-marker-multiple,[class*=CodeMirror-lint-marker],[class*=CodeMirror-lint-message]{background-image:none}.CodeMirror-lint-marker-error,.CodeMirror-lint-marker-warning{cursor:help}.CodeMirror-lint-marker-multiple{position:absolute;top:0}[class*=CodeMirror-lint-marker]:before{font:normal 18px/1 dashicons;position:relative;top:-2px}[class*=CodeMirror-lint-message]:before{font:normal 16px/1 dashicons;left:16px;position:absolute}.CodeMirror-lint-message-error,.CodeMirror-lint-message-warning{box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 0 2px;padding:3px 12px 3px 28px}.CodeMirror-lint-message-warning{background-color:#fff8e5;border-left:4px solid #ffb900}.CodeMirror-lint-marker-warning:before,.CodeMirror-lint-message-warning:before{color:#f6a306;content:"\f534"}.CodeMirror-lint-message-error{background-color:#fbeaea;border-left:4px solid #dc3232}.CodeMirror-lint-marker-error:before,.CodeMirror-lint-message-error:before{color:#dc3232;content:"\f153"}.CodeMirror-lint-tooltip{background:none;border:none;border-radius:0;direction:ltr}.CodeMirror .CodeMirror-matchingbracket{background:rgba(255,150,0,.3);color:inherit}.CodeMirror .CodeMirror-linenumber{color:#666}
1
+ .codemirror-colorview{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat;border:1px solid #cecece;box-sizing:border-box;cursor:pointer;display:inline-block;height:10px;margin:0 2px;position:relative;vertical-align:middle;width:10px}.codemirror-colorview .codemirror-colorview-background{bottom:0;content:"";left:0;position:absolute;right:0;top:0}.codemirror-colorview:hover{border-color:#494949}.codemirror-colorpicker{background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:3px;box-shadow:0 0 10px 2px rgba(0,0,0,.12);display:inline-block;position:relative;width:224px;z-index:1000}.codemirror-colorpicker>.arrow{border-bottom:10px solid rgba(0,0,0,.2);border-left:10px solid transparent;border-right:10px solid transparent;display:none;height:0;left:7px;pointer-events:none;position:absolute;top:-10px;width:0}.codemirror-colorpicker>.arrow:after{border-bottom:9px solid #fff;border-left:9px solid transparent;border-right:9px solid transparent;content:"";height:0;left:-9px;position:absolute;top:1px;width:0}.codemirror-colorpicker .colorpicker-body .arrow-button{background-color:transparent;height:12px;padding:0;position:relative;width:10px}.codemirror-colorpicker .colorpicker-body .arrow-button:before{border-bottom:3px solid #000;height:50%;top:0}.codemirror-colorpicker .colorpicker-body .arrow-button:after,.codemirror-colorpicker .colorpicker-body .arrow-button:before{border-left:3px solid transparent;border-right:3px solid transparent;box-sizing:border-box;content:"";display:inline-block;height:0;left:0;margin:2px;pointer-events:none;position:absolute;right:0;width:0}.codemirror-colorpicker .colorpicker-body .arrow-button:after{border-top:3px solid #000;bottom:0;top:50%}.codemirror-colorpicker .colorpicker-body .color{cursor:pointer;height:120px;overflow:hidden;position:relative}.codemirror-colorpicker .colorpicker-body .color>.saturation,.codemirror-colorpicker .colorpicker-body .color>.saturation>.value{height:100%;position:relative;width:100%}.codemirror-colorpicker .colorpicker-body .color>.saturation>.value>.drag-pointer{border-radius:50%;height:10px;position:absolute;transform:translateX(-50%) translateY(-50%);width:10px}.codemirror-colorpicker .colorpicker-body .color>.saturation{background-color:hsla(20,42%,65%,0);background-image:linear-gradient(90deg,#fff,hsla(20,42%,65%,0));background-repeat:repeat-x}.codemirror-colorpicker .colorpicker-body .color>.saturation>.value{background-image:linear-gradient(0deg,#000,hsla(20,42%,65%,0))}.codemirror-colorpicker .colorpicker-body .color>.saturation>.value>.drag-pointer{border:1px solid #fff;box-shadow:0 0 2px 0 rgba(0,0,0,.05)}.codemirror-colorpicker .colorpicker-body .control{padding:10px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codemirror-colorpicker .colorpicker-body .control>.color,.codemirror-colorpicker .colorpicker-body .control>.empty{border-radius:50%;box-sizing:border-box;height:30px;left:12px;position:absolute;top:14px;width:30px}.codemirror-colorpicker .colorpicker-body .control>.color{border:1px solid rgba(0,0,0,.1)}.codemirror-colorpicker .colorpicker-body .control>.hue{box-sizing:border-box;cursor:pointer;margin:0 0 0 42px;padding:6px 16px;position:relative}.codemirror-colorpicker .colorpicker-body .control>.hue>.hue-container{border-radius:3px;height:10px;position:relative;width:100%}.codemirror-colorpicker .colorpicker-body .control>.opacity{box-sizing:border-box;cursor:pointer;margin:0 0 0 42px;padding:3px 16px;position:relative}.codemirror-colorpicker .colorpicker-body .control>.opacity>.opacity-container{border-radius:3px;height:10px;position:relative;width:100%}.codemirror-colorpicker .colorpicker-body .control .drag-bar,.codemirror-colorpicker .colorpicker-body .control .drag-bar2{border-radius:50%;cursor:pointer;height:12px;left:0;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:12px}.codemirror-colorpicker .colorpicker-body .control>.hue>.hue-container{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.codemirror-colorpicker .colorpicker-body .control>.opacity>.opacity-container{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat}.codemirror-colorpicker .colorpicker-body .control>.opacity>.opacity-container>.color-bar{bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.codemirror-colorpicker .colorpicker-body .control>.empty{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat}.codemirror-colorpicker .colorpicker-body .control .drag-bar,.codemirror-colorpicker .colorpicker-body .control .drag-bar2{background-color:#fefefe;border:1px solid rgba(0,0,0,.05);box-shadow:2px 2px 2px 0 rgba(0,0,0,.2)}.codemirror-colorpicker .colorpicker-body .information{box-sizing:padding-box;position:relative}.codemirror-colorpicker .colorpicker-body .information>input{bottom:20px;box-sizing:border-box;font-size:10px;height:20px;padding:0 0 0 2px;position:absolute;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.codemirror-colorpicker .colorpicker-body .information>input[type=number]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.codemirror-colorpicker .colorpicker-body .information>input[type=number]::-webkit-inner-spin-button,.codemirror-colorpicker .colorpicker-body .information>input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.codemirror-colorpicker .colorpicker-body .information.hex>.information-item.hex,.codemirror-colorpicker .colorpicker-body .information.hsl>.information-item.hsl,.codemirror-colorpicker .colorpicker-body .information.rgb>.information-item.rgb{display:flex}.codemirror-colorpicker .colorpicker-body .information>.information-item{box-sizing:border-box;display:none;margin-right:40px;padding:0 5px 0 9px;position:relative}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field{box-sizing:border-box;display:block;flex:1;padding:3px;position:relative}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field>.title{color:#a9a9a9;cursor:pointer;font-size:12px;padding-top:2px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field input{border:1px solid #cbcbcb;border-radius:2px;box-sizing:border-box;color:#333;font-size:11px;height:21px;padding:3px;text-align:center;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;width:100%}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field input[type=number]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field input[type=number]::-webkit-inner-spin-button,.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field.hsl-l input[type=number],.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field.hsl-s input[type=number]{padding-left:1px;padding-right:10px}.codemirror-colorpicker .colorpicker-body .information>.information-item>.input-field .postfix{box-sizing:border-box;display:inline-block;font-size:11px;height:21px;line-height:2;padding:2px;position:absolute;right:3px;text-align:center;top:2px}.codemirror-colorpicker .colorpicker-body .information>.information-change{bottom:0;box-sizing:border-box;display:block;padding-top:5px;position:absolute;right:0;text-align:center;top:0;width:40px}.codemirror-colorpicker .colorpicker-body .information>.information-change>.format-change-button{background:transparent;border:0;box-sizing:border-box;cursor:pointer;outline:none}.codemirror-colorpicker .colorpicker-body .information>.title{color:#a3a3a3}.codemirror-colorpicker .colorpicker-body .information>.input{color:#333}.codemirror-colorpicker .colorpicker-body .colorsets{border-top:1px solid #e2e2e2}.codemirror-colorpicker .colorpicker-body .colorsets>.menu{float:right;padding:10px 15px 10px 5px}.codemirror-colorpicker .colorpicker-body .colorsets>.menu button{border:0;cursor:pointer;font-family:serif,sans-serif;font-size:14px;font-weight:300;outline:none}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list{box-sizing:border-box;display:block;line-height:0;margin-right:30px;padding:12px 0 0 12px}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list .color-item{background-size:contain;border-radius:2px;box-sizing:border-box;cursor:pointer;display:inline-block;height:13px;margin-bottom:12px;margin-right:12px;overflow:hidden;position:relative;vertical-align:middle;width:13px}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list .color-item:hover{transform:scale(1.2)}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list .color-item .empty{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat;height:100%;left:0;margin:0;padding:0;pointer-events:none;position:absolute;top:0;width:100%}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list .color-item .color-view{border:1px solid rgba(0,0,0,.1);box-sizing:border-box;height:100%;left:0;margin:0;padding:0;pointer-events:none;position:absolute;top:0;width:100%}.codemirror-colorpicker .colorpicker-body .colorsets>.color-list .add-color-item{color:#8e8e8e;cursor:pointer;display:inline-block;font-family:serif,sans-serif;font-size:16px;font-weight:400;height:13px;line-height:1;margin-bottom:12px;margin-right:12px;text-align:center;vertical-align:middle;width:13px}.codemirror-colorpicker .colorpicker-body .color-chooser{background-color:rgba(0,0,0,.5);bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .05s ease-out}.codemirror-colorpicker .colorpicker-body .color-chooser.open{opacity:1;pointer-events:all}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container{background-color:#fff;bottom:0;left:0;position:absolute;right:0;top:120px}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-item-header{border-bottom:1px solid rgba(0,0,0,.2);box-sizing:border-box;display:flex;height:34px;left:0;padding:3px 0;position:absolute;right:0;top:0}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-item-header .title{box-sizing:border-box;color:#000;flex:2;font-size:15px;font-weight:700;margin:0;overflow:hidden;padding:5px 5px 5px 14px;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-item-header .items{cursor:pointer;display:block;flex:1;height:100%;line-height:2;padding-right:10px;text-align:right}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list{bottom:0;left:0;overflow:auto;position:absolute;right:0;top:34px}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item{border-bottom:1px solid rgba(0,0,0,.1);cursor:pointer;display:flex;padding:3px 0}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item:hover{background-color:rgba(0,0,0,.05)}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item .title{box-sizing:border-box;color:#000;flex:2;font-size:14px;font-size:13px;font-weight:400;margin:0;overflow:hidden;padding:5px 5px 5px 14px;pointer-events:none;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item .items{cursor:pointer;display:block;flex:3;height:100%;line-height:1.6;pointer-events:none}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item .items .color-item{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat;background-size:contain;border:1px solid #ddd;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;height:13px;margin-right:10px;overflow:hidden;vertical-align:middle;width:13px}.codemirror-colorpicker .colorpicker-body .color-chooser .color-chooser-container .colorsets-list .colorsets-item .items .color-item .color-view{height:100%;margin:0;padding:0;pointer-events:none;width:100%}.codemirror-colorpicker.sketch{border-radius:5px}.codemirror-colorpicker.sketch>.colorpicker-body>.color{box-sizing:border-box;height:150px;margin:10px 10px 2px}.codemirror-colorpicker.sketch>.colorpicker-body>.control{padding:0}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.color,.codemirror-colorpicker.sketch>.colorpicker-body>.control>.empty{border-radius:2px;box-sizing:border-box;height:26px;left:auto;position:absolute;right:10px;top:1px;width:26px}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.color{box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5)}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.hue{margin:0 38px 0 0;padding:2px 2px 2px 10px;position:relative}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.hue>.hue-container{border-radius:0}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.opacity{margin:0 38px 0 0;padding:2px 2px 2px 10px;position:relative}.codemirror-colorpicker.sketch>.colorpicker-body>.control>.opacity>.opacity-container{border-radius:0}.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar,.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar2{border-radius:0;border-radius:1px;bottom:1px!important;height:50%;left:0;top:50%;transform:translateX(-50%) translateY(-50%);width:2px}.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar2.first,.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar.first{left:0;transform:translateX(50%) translateY(-50%)!important}.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar2.last,.codemirror-colorpicker.sketch>.colorpicker-body>.control .drag-bar.last{transform:translateX(-150%) translateY(-50%)!important}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-change{display:none}.codemirror-colorpicker.sketch>.colorpicker-body>.information.rgb .information-item.rgb{display:inherit}.codemirror-colorpicker.sketch>.colorpicker-body>.information.rgb .information-item.hsl{display:none!important}.codemirror-colorpicker.sketch>.colorpicker-body>.information.hex .information-item.hex{display:inherit}.codemirror-colorpicker.sketch>.colorpicker-body>.information.hex .information-item.hsl,.codemirror-colorpicker.sketch>.colorpicker-body>.information.hsl .information-item.rgb{display:none!important}.codemirror-colorpicker.sketch>.colorpicker-body>.information.hsl .information-item.hsl{display:inherit}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item{display:inline-flex!important;margin-right:0}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item>.input-field{padding-left:0}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item>.input-field:last-child{padding-right:0}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item>.input-field>.title{color:#000;cursor:pointer;font-size:11px}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item>.input-field:last-child:not(:first-child){padding-right:0}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item.hex{padding-left:5px;padding-right:0;width:74px}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item.rgb{padding-left:0;padding-right:0;width:140px}.codemirror-colorpicker.sketch>.colorpicker-body>.information .information-item.hsl{display:none;padding-left:0;padding-right:0;width:140px}.codemirror-colorpicker.sketch>.colorpicker-body>.colorsets>.color-list{margin-right:0;padding-right:12px}.codemirror-colorpicker.sketch>.colorpicker-body>.colorsets>.color-list .color-item{border-radius:3px;height:16px;margin-bottom:10px;margin-right:9px;width:16px}.codemirror-colorpicker.palette{border-radius:3px;box-shadow:none}.codemirror-colorpicker.palette>.colorpicker-body>.color,.codemirror-colorpicker.palette>.colorpicker-body>.control,.codemirror-colorpicker.palette>.colorpicker-body>.information{display:none}.codemirror-colorpicker.palette>.colorpicker-body>.colorsets{border-top:0;box-sizing:border-box}.codemirror-colorpicker.palette>.colorpicker-body>.colorsets>.color-list .color-item{height:15px;margin-bottom:10px;margin-right:10px;width:15px}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser{box-sizing:border-box;display:none}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser.open{border:1px solid #d8d8d8;border-radius:3px;bottom:auto;box-shadow:0 0 10px 2px rgba(0,0,0,.12);display:block;left:-1px;right:-1px;top:-1px}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser.open .color-chooser-container{background-color:#fff;border-radius:2px;bottom:auto;box-sizing:border-box;left:auto;position:relative;right:auto;top:auto}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser.open .color-chooser-container .colorsets-item-header{border-top-left-radius:3px;border-top-right-radius:3px;bottom:auto;left:auto;position:relative;right:auto;top:auto}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser.open .color-chooser-container .colorsets-list{bottom:auto;left:auto;overflow:auto;position:relative;right:auto;top:auto}.codemirror-colorpicker.palette>.colorpicker-body>.color-chooser.open .color-chooser-container .colorsets-list .colorsets-item:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.codemirror-colorpicker.macos .colorpicker-body .wheel{box-sizing:border-box;height:224px;position:relative;width:224px}.codemirror-colorpicker.macos .colorpicker-body .wheel .wheel-canvas{border-radius:50%;height:214px;left:5px;position:absolute;top:5px;width:214px}.codemirror-colorpicker.macos .colorpicker-body .wheel .drag-pointer{border:1px solid #fff;border-radius:50%;display:inline-block;height:10px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:10px;z-index:2}.codemirror-colorpicker.macos .control{padding-top:0}.codemirror-colorpicker.macos .control>.color,.codemirror-colorpicker.macos .control>.empty{top:4px}.codemirror-colorpicker.macos .value{box-sizing:border-box;cursor:pointer;margin:0 0 0 42px;padding:6px 16px;position:relative}.codemirror-colorpicker.macos .value>.value-container{background-image:linear-gradient(90deg,#000 0,hsla(0,0%,100%,0));border-radius:3px;box-sizing:border-box;height:10px;position:relative;width:100%}.codemirror-colorpicker.macos .value>.value-container .drag-bar{border-radius:50%;cursor:pointer;height:12px;left:0;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:12px}.codemirror-colorpicker.mini{display:inline-block;width:180px}.codemirror-colorpicker.mini .control{padding:0}.codemirror-colorpicker.mini .control .hue,.codemirror-colorpicker.mini .control .opacity{margin:0;padding:0}.codemirror-colorpicker.mini .control .hue>.hue-container,.codemirror-colorpicker.mini .control .opacity>.opacity-container{border-radius:0;height:20px;overflow:hidden}.codemirror-colorpicker.mini .control .drag-bar,.codemirror-colorpicker.mini .control .drag-bar2{background-color:transparent;border:0;box-shadow:none;box-sizing:border-box;height:100%;width:5px}.codemirror-colorpicker.mini .control .drag-bar2.last:before,.codemirror-colorpicker.mini .control .drag-bar2.lastafter,.codemirror-colorpicker.mini .control .drag-bar.last:before,.codemirror-colorpicker.mini .control .drag-bar.lastafter{left:1px}.codemirror-colorpicker.mini .control .drag-bar2.first:after,.codemirror-colorpicker.mini .control .drag-bar2.first:before,.codemirror-colorpicker.mini .control .drag-bar.first:after,.codemirror-colorpicker.mini .control .drag-bar.first:before{left:3px}.codemirror-colorpicker.mini .control .drag-bar2:before,.codemirror-colorpicker.mini .control .drag-bar:before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;content:"";height:0;left:2px;position:absolute;top:0;transform:translateX(-50%);width:0}.codemirror-colorpicker.mini .control .drag-bar2:after,.codemirror-colorpicker.mini .control .drag-bar:after{border-bottom:4px solid #000;border-left:4px solid transparent;border-right:4px solid transparent;bottom:0;content:"";height:0;left:2px;position:absolute;transform:translateX(-50%);width:0}.codemirror-colorpicker.mini-vertical{display:inline-block;width:180px}.codemirror-colorpicker.mini-vertical .color{display:inline-block;height:160px;vertical-align:middle;width:140px}.codemirror-colorpicker.mini-vertical .control{display:inline-block;height:160px;padding:0;vertical-align:middle}.codemirror-colorpicker.mini-vertical .control .hue,.codemirror-colorpicker.mini-vertical .control .opacity{display:inline-block;height:100%;margin:0;padding:0;position:relative;vertical-align:middle;width:20px}.codemirror-colorpicker.mini-vertical .control .hue>.hue-container{background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);border-radius:0;height:100%;overflow:hidden}.codemirror-colorpicker.mini-vertical .control .opacity>.opacity-container{border-radius:0;height:100%;overflow:hidden;width:20px}.codemirror-colorpicker.mini-vertical .control .drag-bar,.codemirror-colorpicker.mini-vertical .control .drag-bar2{background-color:transparent;border:0;box-shadow:none;box-sizing:border-box;height:2px;transform:none;width:100%}.codemirror-colorpicker.mini-vertical .control .drag-bar2.last:after,.codemirror-colorpicker.mini-vertical .control .drag-bar2.last:before,.codemirror-colorpicker.mini-vertical .control .drag-bar.last:after,.codemirror-colorpicker.mini-vertical .control .drag-bar.last:before{top:2px}.codemirror-colorpicker.mini-vertical .control .drag-bar2.first:after,.codemirror-colorpicker.mini-vertical .control .drag-bar2.first:before,.codemirror-colorpicker.mini-vertical .control .drag-bar.first:after,.codemirror-colorpicker.mini-vertical .control .drag-bar.first:before{top:-1px}.codemirror-colorpicker.mini-vertical .control .drag-bar2:before,.codemirror-colorpicker.mini-vertical .control .drag-bar:before{border-bottom:4px solid transparent;border-left:4px solid #000;border-top:4px solid transparent;content:"";height:0;left:0;position:absolute;top:2px;transform:translateY(-50%);width:0}.codemirror-colorpicker.mini-vertical .control .drag-bar2:after,.codemirror-colorpicker.mini-vertical .control .drag-bar:after{border-bottom:4px solid transparent;border-right:4px solid #000;border-top:4px solid transparent;content:"";height:0;position:absolute;right:0;top:2px;transform:translateY(-50%);width:0}.codemirror-colorpicker.ring .colorpicker-body>.color{height:120px;left:52px;position:absolute;top:52px;width:120px}.codemirror-colorpicker.ring .colorpicker-body .wheel{box-sizing:border-box;height:224px;position:relative;width:224px}.codemirror-colorpicker.ring .colorpicker-body .wheel .wheel-canvas{border-radius:50%;height:214px;left:5px;position:absolute;top:5px;width:214px}.codemirror-colorpicker.ring .colorpicker-body .wheel .drag-pointer{border:1px solid #fff;border-radius:50%;display:inline-block;height:10px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:10px;z-index:2}.codemirror-colorpicker.ring .control{padding-top:0}.codemirror-colorpicker.ring .control .value{display:none}.codemirror-colorpicker.ring .control>.color,.codemirror-colorpicker.ring .control>.empty{border-radius:2px;height:30px;top:-17px;width:30px}.codemirror-colorpicker.xd{display:inline-block;padding-top:12px;width:245px}.codemirror-colorpicker.xd .color{border:1px solid #cecece;border-radius:3px;box-sizing:border-box;display:inline-block;height:170px;margin-bottom:12px;margin-left:12px;overflow:hidden;vertical-align:middle;width:170px}.codemirror-colorpicker.xd .color>.saturation>.value>.drag-pointer{border:2px solid #fff;box-shadow:0 0 1px 0 #000,inset 0 0 1px 0 #000;height:7px;width:7px}.codemirror-colorpicker.xd .control{display:inline-block;height:170px;margin-bottom:12px;margin-right:12px;padding:0;vertical-align:middle}.codemirror-colorpicker.xd .control .hue,.codemirror-colorpicker.xd .control .opacity{border-radius:3px;display:inline-block;height:100%;margin:0 0 0 8px;overflow:hidden;padding:0;position:relative;vertical-align:middle;width:13px}.codemirror-colorpicker.xd .control .hue>.hue-container{background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);border-radius:0;height:100%;overflow:hidden}.codemirror-colorpicker.xd .control .opacity>.opacity-container{border-radius:0;height:100%;overflow:hidden}.codemirror-colorpicker.xd .control .drag-bar,.codemirror-colorpicker.xd .control .drag-bar2{background-color:transparent;border:2px solid #fff;box-shadow:0 0 1px 0 #000,inset 0 0 1px 0 #000;box-sizing:border-box;height:10px;left:50%;overflow:hidden;transform:none;transform:translateX(-50%) translateY(-50%);width:10px}.codemirror-colorpicker.xd .information{margin-top:5px}.codemirror-colorpicker.vscode{background-color:#333;border:1px solid #ececec;box-sizing:border-box;width:336px}.codemirror-colorpicker.vscode,.codemirror-colorpicker.vscode .colorpicker-body{border-radius:0;display:inline-block}.codemirror-colorpicker.vscode .colorpicker-body .color-view{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAJElEQVQYV2NctWrVfwYkEBYWxojMZ6SDAmT7QGx0K1EcRBsFAADeG/3M/HteAAAAAElFTkSuQmCC") repeat;height:34px}.codemirror-colorpicker.vscode .colorpicker-body .color-view .color-view-container{cursor:pointer;font-size:14px;height:100%;line-height:34px;text-align:center;text-shadow:0 0 3px #535353;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.codemirror-colorpicker.vscode .colorpicker-body .color-tool{padding:8px}.codemirror-colorpicker.vscode .color{display:inline-block;height:160px;vertical-align:middle;width:240px}.codemirror-colorpicker.vscode .control{display:inline-block;height:160px;padding:0 0 0 4px;vertical-align:middle}.codemirror-colorpicker.vscode .control .hue,.codemirror-colorpicker.vscode .control .opacity{display:inline-block;height:100%;margin:0;padding:0;position:relative;vertical-align:middle;width:30px}.codemirror-colorpicker.vscode .control .hue{padding-left:5px;width:35px}.codemirror-colorpicker.vscode .control .hue>.hue-container{background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);border-radius:0;height:100%}.codemirror-colorpicker.vscode .control .opacity>.opacity-container{border-radius:0;height:100%;width:30px}.codemirror-colorpicker.vscode .control .drag-bar,.codemirror-colorpicker.vscode .control .drag-bar2{background-color:transparent;border:1px solid #fff;border-radius:0;box-shadow:none;box-shadow:0 0 2px 0 #000,inset 0 0 0 0 #000;box-sizing:border-box;height:5px;transform:translateY(-50%) translateX(-2px);width:33px}.colorsets-contextmenu{background-color:#ececec;border:1px solid #ccc;border-radius:6px;display:none;font-size:13px;list-style:none;padding:4px 0;position:fixed}.colorsets-contextmenu.show{display:inline-block}.colorsets-contextmenu .menu-item{cursor:default;padding:2px 20px}.colorsets-contextmenu .menu-item:hover{background-color:#5ea3fb;color:#fff}.colorsets-contextmenu.small .menu-item.small-hide{display:none}.CodeMirror{color:#000;direction:ltr;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{background-color:#f7f7f7;border-right:1px solid #ddd;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;border:0!important;width:auto}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:-50px}.CodeMirror-ruler{border-left:1px solid #ccc;bottom:0;position:absolute;top:0}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-50px;margin-right:-50px;outline:none;overflow:scroll!important;padding-bottom:50px;position:relative}.CodeMirror-sizer{border-right:50px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;outline:none;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{left:0;min-height:100%;position:absolute;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-50px;vertical-align:top;white-space:normal}.CodeMirror-gutter-wrapper{background:none!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{bottom:0;position:absolute;top:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{word-wrap:normal;-webkit-tap-highlight-color:transparent;font-feature-settings:"calt";background:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;z-index:2}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}.CodeMirror-linewidget{padding:.1px;position:relative;z-index:2}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{background:inherit;color:inherit;left:0;overflow:hidden;padding:.1em .8em;position:absolute;right:0;z-index:15}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{background:transparent;border:none;color:inherit;font-family:monospace;outline:none;width:20em}.CodeMirror-dialog button{font-size:70%}.CodeMirror-lint-markers{width:16px}.CodeMirror-lint-tooltip{background-color:#ffd;border:1px solid #000;border-radius:4px 4px 4px 4px;color:#000;font-family:monospace;font-size:10pt;max-width:600px;opacity:0;overflow:hidden;padding:2px 5px;position:fixed;transition:opacity .4s;-moz-transition:opacity .4s;-webkit-transition:opacity .4s;-o-transition:opacity .4s;-ms-transition:opacity .4s;white-space:pre;white-space:pre-wrap;z-index:100}.CodeMirror-lint-mark{background-position:0 100%;background-repeat:repeat-x}.CodeMirror-lint-mark-warning{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=")}.CodeMirror-lint-mark-error{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==")}.CodeMirror-lint-marker{background-position:50%;background-repeat:no-repeat;cursor:pointer;display:inline-block;height:16px;position:relative;vertical-align:middle;width:16px}.CodeMirror-lint-message{background-position:0 0;background-repeat:no-repeat;padding-left:18px}.CodeMirror-lint-marker-warning,.CodeMirror-lint-message-warning{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=")}.CodeMirror-lint-marker-error,.CodeMirror-lint-message-error{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=")}.CodeMirror-lint-marker-multiple{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC");background-position:100% 100%;background-repeat:no-repeat;height:100%;width:100%}.CodeMirror-lint-line-error{background-color:rgba(183,76,81,.08)}.CodeMirror-lint-line-warning{background-color:rgba(255,211,0,.1)}.CodeMirror{background-color:#fff;border:1px solid #dfdfdf;border-radius:3px;height:auto!important}.CodeMirror-code{outline:none}.CodeMirror-focused .cm-matchhighlight{color:#fff!important;outline:1px solid green}.CodeMirror-sizer:before{color:#bbb;content:"<?php";display:block;padding-bottom:6px}.cm-s-rubyblue .CodeMirror-cursor{border-left:1px solid #fff!important}.CodeMirror-lint-marker-multiple,[class*=CodeMirror-lint-marker],[class*=CodeMirror-lint-message]{background-image:none}.CodeMirror-lint-marker-error,.CodeMirror-lint-marker-warning{cursor:help}.CodeMirror-lint-marker-multiple{position:absolute;top:0}[class*=CodeMirror-lint-marker]:before{font:normal 18px/1 dashicons;position:relative;top:-2px}[class*=CodeMirror-lint-message]:before{font:normal 16px/1 dashicons;left:16px;position:absolute}.CodeMirror-lint-message-error,.CodeMirror-lint-message-warning{box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 0 2px;padding:3px 12px 3px 28px}.CodeMirror-lint-message-warning{background-color:#fff8e5;border-left:4px solid #ffb900}.CodeMirror-lint-marker-warning:before,.CodeMirror-lint-message-warning:before{color:#f6a306;content:"\f534"}.CodeMirror-lint-message-error{background-color:#fbeaea;border-left:4px solid #dc3232}.CodeMirror-lint-marker-error:before,.CodeMirror-lint-message-error:before{color:#dc3232;content:"\f153"}.CodeMirror-lint-tooltip{background:none;border:none;border-radius:0;direction:ltr}.CodeMirror .CodeMirror-matchingbracket{background:rgba(255,150,0,.3);color:inherit}.CodeMirror .CodeMirror-linenumber{color:#666}
js/min/edit-tags.js CHANGED
@@ -4,7 +4,7 @@
4
  * |_ _|___ ___ ___ ___ ___
5
  * | | | .'| . | . | -_| _|
6
  * |_| |__,|_ |_ |___|_|
7
- * |___|___| version 0.4.0
8
  *
9
  * Tagger - Zero dependency, Vanilla JavaScript Tag Editor
10
  *
4
  * |_ _|___ ___ ___ ___ ___
5
  * | | | .'| . | . | -_| _|
6
  * |_| |__,|_ |_ |___|_|
7
+ * |___|___| version 0.4.1
8
  *
9
  * Tagger - Zero dependency, Vanilla JavaScript Tag Editor
10
  *
js/min/editor.js CHANGED
@@ -1 +1 @@
1
- !function t(e,n,i){function r(s,a){if(!n[s]){if(!e[s]){var l="function"==typeof require&&require;if(!a&&l)return l(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var h=n[s]={exports:{}};e[s][0].call(h.exports,(function(t){return r(e[s][1][t]||t)}),h,h.exports,t,e,n,i)}return n[s].exports}for(var o="function"==typeof require&&require,s=0;s<i.length;s++)r(i[s]);return r}({1:[function(t,e,n){"use strict";var i,r=(i=t("codemirror/lib/codemirror"))&&i.__esModule?i:{default:i};t("codemirror/mode/php/php"),t("codemirror/addon/edit/matchbrackets"),t("codemirror/addon/edit/closebrackets"),t("codemirror/addon/search/search"),t("codemirror/addon/search/match-highlighter"),t("../node_modules/codemirror-colorpicker/dist/codemirror-colorpicker"),t("./php-lint"),window.Code_Snippets_CodeMirror=r.default,r.default.defineMode("php-snippet",(function(t){return r.default.getMode(t,{name:"application/x-httpd-php",startOpen:!0})}))},{"../node_modules/codemirror-colorpicker/dist/codemirror-colorpicker":3,"./php-lint":2,"codemirror/addon/edit/closebrackets":5,"codemirror/addon/edit/matchbrackets":6,"codemirror/addon/search/match-highlighter":9,"codemirror/addon/search/search":11,"codemirror/lib/codemirror":13,"codemirror/mode/php/php":18}],2:[function(t,e,n){"use strict";var i=o(t("php-parser/src/index")),r=o(t("codemirror/lib/codemirror"));function o(t){return t&&t.__esModule?t:{default:t}}function s(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw o}}}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function l(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}t("codemirror/addon/lint/lint");var c=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.code=e,this.annotations=[],this.function_names=new Set,this.class_names=new Set}var e,n,o;return e=t,(n=[{key:"lint",value:function(){var t=new i.default({parser:{suppressErrors:!0,version:800},ast:{withPositions:!0}});try{var e=t.parseEval(this.code);if(e.errors&&e.errors.length>0)for(var n=0;n<e.errors.length;n++)this.annotate(e.errors[n].message,e.errors[n].loc);this.visit(e)}catch(t){this.annotate(t.message,t)}}},{key:"visit",value:function(t){if(t.hasOwnProperty("kind")&&this.validate(t),t.hasOwnProperty("children")){var e,n=s(t.children);try{for(n.s();!(e=n.n()).done;){var i=e.value;this.visit(i)}}catch(t){n.e(t)}finally{n.f()}}}},{key:"validate",value:function(t){"function"!==t.kind&&"class"!==t.kind||!t.hasOwnProperty("name")||"identifier"!==t.name.kind||("function"===t.kind?this.function_names.has(t.name.name)?this.annotate("Cannot redeclare function ".concat(t.name.name,"()"),t.name.loc):this.function_names.add(t.name.name):"class"===t.kind&&(this.class_names.has(t.name.name)?this.annotate("Cannot redeclare class ".concat(t.name.name),t.name.loc):this.class_names.add(t.name.name)))}},{key:"annotate",value:function(t,e,n){var i,o;e.lineNumber&&e.columnNumber?(i=r.default.Pos(e.lineNumber-1,e.columnNumber-1),o=r.default.Pos(e.lineNumber-1,e.columnNumber)):e.start&&e.end&&(e.end.offset<e.start.offset?(o=r.default.Pos(e.start.line-1,e.start.column),i=r.default.Pos(e.end.line-1,e.end.column)):(i=r.default.Pos(e.start.line-1,e.start.column),o=r.default.Pos(e.end.line-1,e.end.column))),i&&o&&(n=n||"error",this.annotations.push({message:t,severity:n,from:i,to:o}))}}])&&l(e.prototype,n),o&&l(e,o),t}();r.default.registerHelper("lint","php",(function(t,e){var n=new c(t);return n.lint(),n.annotations}))},{"codemirror/addon/lint/lint":7,"codemirror/lib/codemirror":13,"php-parser/src/index":132}],3:[function(t,e,n){var i,r;i=this,r=function(){"use strict";function e(t,e){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"rgba(0, 0, 0, 0)";return Array.isArray(t)&&(t={r:t[0],g:t[1],b:t[2],a:t[3]}),"hex"==e?n(t):"rgb"==e?i(t,o):"hsl"==e?r(t):t}function n(t){Array.isArray(t)&&(t={r:t[0],g:t[1],b:t[2],a:t[3]});var e=t.r.toString(16);t.r<16&&(e="0"+e);var n=t.g.toString(16);t.g<16&&(n="0"+n);var i=t.b.toString(16);t.b<16&&(i="0"+i);var r="";if(t.a<1){var o=Math.floor(255*t.a);r=o.toString(16),o<16&&(r="0"+r)}return"#"+e+n+i+r}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"rgba(0, 0, 0, 0)";if(Array.isArray(t)&&(t={r:t[0],g:t[1],b:t[2],a:t[3]}),void 0!==t)return 1==t.a||void 0===t.a?isNaN(t.r)?e:"rgb("+t.r+","+t.g+","+t.b+")":"rgba("+t.r+","+t.g+","+t.b+","+t.a+")"}function r(t){return Array.isArray(t)&&(t={r:t[0],g:t[1],b:t[2],a:t[3]}),1==t.a||void 0===t.a?"hsl("+t.h+","+t.s+"%,"+t.l+"%)":"hsla("+t.h+","+t.s+"%,"+t.l+"%,"+t.a+")"}var o={format:e,rgb:i,hsl:r,hex:n};function s(t,e){return e=void 0===e?1:e,Math.round(t*e)/e}function a(t){return t*Math.PI/180}function l(t){var e=180*t/Math.PI;return e<0&&(e=360+e),e}function c(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return n+e*Math.cos(a(t))}function h(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return n+e*Math.sin(a(t))}function u(t,e){return l(Math.atan2(e,t))}var f={round:s,radianToDegree:l,degreeToRadian:a,getXInCircle:c,getYInCircle:h,caculateAngle:u},d={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",aqua:"rgb(0, 255, 255)",aquamarine:"rgb(127, 255, 212)",azure:"rgb(240, 255, 255)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",black:"rgb(0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb(0, 0, 255)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",burlywood:"rgb(222, 184, 135)",cadetblue:"rgb(95, 158, 160)",chartreuse:"rgb(127, 255, 0)",chocolate:"rgb(210, 105, 30)",coral:"rgb(255, 127, 80)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",crimson:"rgb(237, 20, 61)",cyan:"rgb(0, 255, 255)",darkblue:"rgb(0, 0, 139)",darkcyan:"rgb(0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgray:"rgb(169, 169, 169)",darkgrey:"rgb(169, 169, 169)",darkgreen:"rgb(0, 100, 0)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb(85, 107, 47)",darkorange:"rgb(255, 140, 0)",darkorchid:"rgb(153, 50, 204)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkslateblue:"rgb(72, 61, 139)",darkslategray:"rgb(47, 79, 79)",darkslategrey:"rgb(47, 79, 79)",darkturquoise:"rgb(0, 206, 209)",darkviolet:"rgb(148, 0, 211)",deeppink:"rgb(255, 20, 147)",deepskyblue:"rgb(0, 191, 255)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb(30, 144, 255)",firebrick:"rgb(178, 34, 34)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb(34, 139, 34)",fuchsia:"rgb(255, 0, 255)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",goldenrod:"rgb(218, 165, 32)",gray:"rgb(128, 128, 128)",grey:"rgb(128, 128, 128)",green:"rgb(0, 128, 0)",greenyellow:"rgb(173, 255, 47)",honeydew:"rgb(240, 255, 240)",hotpink:"rgb(255, 105, 180)",indianred:"rgb(205, 92, 92)",indigo:"rgb(75, 0, 130)",ivory:"rgb(255, 255, 240)",khaki:"rgb(240, 230, 140)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lightblue:"rgb(173, 216, 230)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgreen:"rgb(144, 238, 144)",lightgray:"rgb(211, 211, 211)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightsalmon:"rgb(255, 160, 122)",lightseagreen:"rgb(32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightyellow:"rgb(255, 255, 224)",lime:"rgb(0, 255, 0)",limegreen:"rgb(50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",maroon:"rgb(128, 0, 0)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb(0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumpurple:"rgb(147, 112, 219)",mediumseagreen:"rgb(60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb(0, 250, 154)",mediumturquoise:"rgb(72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb(25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navy:"rgb(0, 0, 128)",oldlace:"rgb(253, 245, 230)",olive:"rgb(128, 128, 0)",olivedrab:"rgb(107, 142, 35)",orange:"rgb(255, 165, 0)",orangered:"rgb(255, 69, 0)",orchid:"rgb(218, 112, 214)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",paleturquoise:"rgb(175, 238, 238)",palevioletred:"rgb(219, 112, 147)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",plum:"rgb(221, 160, 221)",powderblue:"rgb(176, 224, 230)",purple:"rgb(128, 0, 128)",rebeccapurple:"rgb(102, 51, 153)",red:"rgb(255, 0, 0)",rosybrown:"rgb(188, 143, 143)",royalblue:"rgb(65, 105, 225)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb(46, 139, 87)",seashell:"rgb(255, 245, 238)",sienna:"rgb(160, 82, 45)",silver:"rgb(192, 192, 192)",skyblue:"rgb(135, 206, 235)",slateblue:"rgb(106, 90, 205)",slategray:"rgb(112, 128, 144)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",springgreen:"rgb(0, 255, 127)",steelblue:"rgb(70, 130, 180)",tan:"rgb(210, 180, 140)",teal:"rgb(0, 128, 128)",thistle:"rgb(216, 191, 216)",tomato:"rgb(255, 99, 71)",turquoise:"rgb(64, 224, 208)",violet:"rgb(238, 130, 238)",wheat:"rgb(245, 222, 179)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellowgreen:"rgb(154, 205, 50)",transparent:"rgba(0, 0, 0, 0)"},p={isColorName:function(t){return!!d[t]},getColorByName:function(t){return d[t]}};function g(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function m(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.h,e=i.s,n=i.l}var r,o,a;if(t/=360,n/=100,0==(e/=100))r=o=a=n;else{var l=n<.5?n*(1+e):n+e-n*e,c=2*n-l;r=g(c,l,t+1/3),o=g(c,l,t),a=g(c,l,t-1/3)}return{r:s(255*r),g:s(255*o),b:s(255*a)}}var v={HUEtoRGB:g,HSLtoHSV:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.h,e=i.s,n=i.l}var r=m(t,e,n);return D(r.r,r.g,r.b)},HSLtoRGB:m},_=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},y=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),x=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},k=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},b=function t(e,n,i){null===e&&(e=Function.prototype);var r=Object.getOwnPropertyDescriptor(e,n);if(void 0===r){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,n,i)}if("value"in r)return r.value;var s=r.get;return void 0!==s?s.call(i):void 0},T=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)},C=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},w=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],i=!0,r=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){r=!0,o=t}finally{try{!i&&a.return&&a.return()}finally{if(r)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},E=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)},S=/(#(?:[\da-f]{8})|#(?:[\da-f]{3}){1,2}|rgb\((?:\s*\d{1,3},\s*){2}\d{1,3}\s*\)|rgba\((?:\s*\d{1,3},\s*){3}\d*\.?\d+\s*\)|hsl\(\s*\d{1,3}(?:,\s*\d{1,3}%){2}\s*\)|hsla\(\s*\d{1,3}(?:,\s*\d{1,3}%){2},\s*\d*\.?\d+\s*\)|([\w_\-]+))/gi;function A(t){var e=t.match(S),n=[];if(!e)return n;for(var i=0,r=e.length;i<r;i++)if(e[i].indexOf("#")>-1||e[i].indexOf("rgb")>-1||e[i].indexOf("hsl")>-1)n.push({color:e[i]});else{var o=p.getColorByName(e[i]);o&&n.push({color:e[i],nameColor:o})}var s={next:0};return n.forEach((function(e){var n=t.indexOf(e.color,s.next);e.startIndex=n,e.endIndex=n+e.color.length,s.next=e.endIndex})),n}function L(t){var e=A(t);return e.forEach((function(e,n){t=t.replace(e.color,"@"+n)})),{str:t,matches:e}}function O(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:",",n=L(t);return n.str.split(e).map((function(t,e){return t=I(t),n.matches[e]&&(t=t.replace("@"+e,n.matches[e].color)),t}))}function N(t,e){return e.forEach((function(e,n){t=t.replace("@"+n,e.color)})),t}function I(t){return t.replace(/^\s+|\s+$/g,"")}function M(t){if("string"==typeof t){if(p.isColorName(t)&&(t=p.getColorByName(t)),t.indexOf("rgb(")>-1){for(var e=0,n=(r=t.replace("rgb(","").replace(")","").split(",")).length;e<n;e++)r[e]=parseInt(I(r[e]),10);var i={type:"rgb",r:r[0],g:r[1],b:r[2],a:1};return i=Object.assign(i,P(i))}if(t.indexOf("rgba(")>-1){for(e=0,n=(r=t.replace("rgba(","").replace(")","").split(",")).length;e<n;e++)r[e]=n-1==e?parseFloat(I(r[e])):parseInt(I(r[e]),10);return i={type:"rgb",r:r[0],g:r[1],b:r[2],a:r[3]},i=Object.assign(i,P(i))}if(t.indexOf("hsl(")>-1){for(e=0,n=(r=t.replace("hsl(","").replace(")","").split(",")).length;e<n;e++)r[e]=parseFloat(I(r[e]));return i={type:"hsl",h:r[0],s:r[1],l:r[2],a:1},i=Object.assign(i,m(i))}if(t.indexOf("hsla(")>-1){for(e=0,n=(r=t.replace("hsla(","").replace(")","").split(",")).length;e<n;e++)r[e]=n-1==e?parseFloat(I(r[e])):parseInt(I(r[e]),10);return i={type:"hsl",h:r[0],s:r[1],l:r[2],a:r[3]},i=Object.assign(i,m(i))}if(0==t.indexOf("#")){var r=[],o=1;if(3==(t=t.replace("#","")).length)for(e=0,n=t.length;e<n;e++){var s=t.substr(e,1);r.push(parseInt(s+s,16))}else if(8===t.length){for(e=0,n=t.length;e<n;e+=2)r.push(parseInt(t.substr(e,2),16));o=r.pop()/255}else for(e=0,n=t.length;e<n;e+=2)r.push(parseInt(t.substr(e,2),16));return i={type:"hex",r:r[0],g:r[1],b:r[2],a:o},i=Object.assign(i,P(i))}}else if("number"==typeof t){if(0<=t&&t<=16777215)return i={type:"hex",r:(16711680&t)>>16,g:(65280&t)>>8,b:(255&t)>>0,a:1},i=Object.assign(i,P(i));if(0<=t&&t<=4294967295)return i={type:"hex",r:(4278190080&t)>>24,g:(16711680&t)>>16,b:(65280&t)>>8,a:(255&t)/255},i=Object.assign(i,P(i))}return t}function $(t){"string"==typeof t&&(t=O(t));var e=(t=t.map((function(t){if("string"==typeof t){var e=L(t),n=I(e.str).split(" ");return n[1]?n[1].includes("%")?n[1]=parseFloat(n[1].replace(/%/,""))/100:n[1]=parseFloat(n[1]):n[1]="*",n[0]=N(n[0],e.matches),n}if(Array.isArray(t))return t[1]?"string"==typeof t[1]&&(t[1].includes("%")?t[1]=parseFloat(t[1].replace(/%/,""))/100:t[1]=+t[1]):t[1]="*",[].concat(E(t))}))).filter((function(t){return"*"===t[1]})).length;if(e>0){var n=(1-t.filter((function(t){return"*"!=t[1]&&1!=t[1]})).map((function(t){return t[1]})).reduce((function(t,e){return t+e}),0))/e;t.forEach((function(e,i){"*"==e[1]&&i>0&&(t.length-1==i||(e[1]=n))}))}return t}var R={matches:A,convertMatches:L,convertMatchesArray:O,reverseMatches:N,parse:M,parseGradient:$,trim:I,color_regexp:S,color_split:","};function D(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}var r=t/255,o=e/255,s=n/255,a=Math.max(r,o,s),l=Math.min(r,o,s),c=a-l,h=0;return 0==c?h=0:a==r?h=(o-s)/c%6*60:a==o?h=60*((s-r)/c+2):a==s&&(h=60*((r-o)/c+4)),h<0&&(h=360+h),{h:h,s:0==a?0:c/a,v:a}}function P(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}t/=255,e/=255,n/=255;var r,o,a=Math.max(t,e,n),l=Math.min(t,e,n),c=(a+l)/2;if(a==l)r=o=0;else{var h=a-l;switch(o=c>.5?h/(2-a-l):h/(a+l),a){case t:r=(e-n)/h+(e<n?6:0);break;case e:r=(n-t)/h+2;break;case n:r=(t-e)/h+4}r/=6}return{h:s(360*r),s:s(100*o),l:s(100*c)}}function F(t){return{r:t,g:t,b:t}}function B(t,e,n){return Math.ceil(.2126*t+.7152*e+.0722*n)}function U(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}var r=B(t,e,n),o=.564*(n-r),s=.713*(t-r);return{y:r,cr:s,cb:o}}function H(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.04045;return 100*(t>e?Math.pow((t+.055)/1.055,2.4):t/12.92)}function z(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}var r=t/255,o=e/255,s=n/255,a=.4124*(r=H(r))+.3576*(o=H(o))+.1805*(s=H(s)),l=.2126*r+.7152*o+.0722*s,c=.0193*r+.1192*o+.9505*s;return{x:a,y:l,z:c}}var W={RGBtoCMYK:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}var r=t/255,o=e/255,s=n/255,a=1-Math.max(r,o,s),l=(1-r-a)/(1-a),c=(1-o-a)/(1-a),h=(1-s-a)/(1-a);return{c:l,m:c,y:h,k:a}},RGBtoGray:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}return F(U(t,e,n).y)},RGBtoHSL:P,RGBtoHSV:D,RGBtoLAB:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}return XYZtoLAB(z(t,e,n))},RGBtoSimpleGray:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}return F(Math.ceil((t+e+n)/3))},RGBtoXYZ:z,RGBtoYCrCb:U,c:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}return F((t+e+n)/3>90?0:255)},brightness:B,gray:F},j={CMYKtoRGB:function(t,e,n,i){if(1==arguments.length){var r=arguments[0];t=r.c,e=r.m,n=r.y,i=r.k}var o=255*(1-t)*(1-i),s=255*(1-e)*(1-i),a=255*(1-n)*(1-i);return{r:o,g:s,b:a}}};function G(t){return Math.pow(t,3)>.008856?Math.pow(t,3):(t-16/116)/7.787}function q(t){return t>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t}function V(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.x,e=i.y,n=i.z}var r=t/100,o=e/100,a=n/100,l=3.2406*r+-1.5372*o+-.4986*a,c=-.9689*r+1.8758*o+.0415*a,h=.0557*r+-.204*o+1.057*a;l=q(l),c=q(c),h=q(h);var u=s(255*l),f=s(255*c),d=s(255*h);return{r:u,g:f,b:d}}function Y(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.l,e=i.a,n=i.b}var r=(t+16)/116,o=e/500+r,s=r-n/200;r=G(r);var a=95.047*(o=G(o)),l=100*r,c=108.883*(s=G(s));return{x:a,y:l,z:c}}var K={XYZtoRGB:V,LABtoRGB:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.l,e=i.a,n=i.b}return V(Y(t,e,n))},LABtoXYZ:Y};function X(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.h,e=i.s,n=i.v}var r=t,o=e,a=n;r>=360&&(r=0);var l=o*a,c=l*(1-Math.abs(r/60%2-1)),h=a-l,u=[];return 0<=r&&r<60?u=[l,c,0]:60<=r&&r<120?u=[c,l,0]:120<=r&&r<180?u=[0,l,c]:180<=r&&r<240?u=[0,c,l]:240<=r&&r<300?u=[c,0,l]:300<=r&&r<360&&(u=[l,0,c]),{r:s(255*(u[0]+h)),g:s(255*(u[1]+h)),b:s(255*(u[2]+h))}}var Q={HSVtoHSL:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.h,e=i.s,n=i.v}var r=X(t,e,n);return P(r.r,r.g,r.b)},HSVtoRGB:X},Z={YCrCbtoRGB:function(t,e,n,i){if(1==arguments.length){var r=arguments[0];t=r.y,e=r.cr,n=r.cb,i=(i=r.bit)||0}var o=t+1.402*(e-i),s=t-.344*(n-i)-.714*(e-i),a=t+1.772*(n-i);return{r:Math.ceil(o),g:Math.ceil(s),b:Math.ceil(a)}}};function J(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"hex",o={r:s(t.r+(n.r-t.r)*i),g:s(t.g+(n.g-t.g)*i),b:s(t.b+(n.b-t.b)*i),a:s(t.a+(n.a-t.a)*i,100)};return e(o,o.a<1?"rgb":r)}function tt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;if(!t)return[];"string"==typeof t&&(t=O(t));for(var n=(t=t||[]).length,i=[],r=0;r<n-1;r++)for(var o=0;o<e;o++)i.push(et(t[r],t[r+1],o/e));return i}function et(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"hex",r=M(t),o=M(e);return J(r,o,n,i)}function nt(t){return t=M(t),(Math.round(299*t.r)+Math.round(587*t.g)+Math.round(114*t.b))/1e3}function it(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"h",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:9,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"rgb",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:100,l=M(t),c=D(l),h=(s-o)*a/i,u=[],f=1;f<=i;f++)c[n]=Math.abs((a-h*f)/a),u.push(e(X(c),r));return u}tt.parula=function(t){return tt(["#352a87","#0f5cdd","#00b5a6","#ffc337","#fdff00"],t)},tt.jet=function(t){return tt(["#00008f","#0020ff","#00ffff","#51ff77","#fdff00","#ff0000","#800000"],t)},tt.hsv=function(t){return tt(["#ff0000","#ffff00","#00ff00","#00ffff","#0000ff","#ff00ff","#ff0000"],t)},tt.hot=function(t){return tt(["#0b0000","#ff0000","#ffff00","#ffffff"],t)},tt.pink=function(t){return tt(["#1e0000","#bd7b7b","#e7e5b2","#ffffff"],t)},tt.bone=function(t){return tt(["#000000","#4a4a68","#a6c6c6","#ffffff"],t)},tt.copper=function(t){return tt(["#000000","#3d2618","#9d623e","#ffa167","#ffc77f"],t)};var rt={interpolateRGB:J,blend:et,mix:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"hex";return et(t,e,n,i)},scale:tt,contrast:nt,contrastColor:function(t){return nt(t)>=128?"black":"white"},gradient:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,n=[],i=e-((t=$(t)).length-1),r=i,o=1,s=t.length;o<s;o++){var a=t[o-1][0],l=t[o][0],c=1==o?t[o][1]:t[o][1]-t[o-1][1],h=o==t.length-1?r:Math.floor(c*i);n=n.concat(tt([a,l],h),[l]),r-=h}return n},scaleHSV:it,scaleH:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"rgb",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:360;return it(t,"h",e,n,i,r,1)},scaleS:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"rgb",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1;return it(t,"s",e,n,i,r,100)},scaleV:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"rgb",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1;return it(t,"v",e,n,i,r,100)}};function ot(t,e){if(t.length!==e.length)return!1;for(var n=0,i=t.length;n<i;++n)if(t[n]!==e[n])return!1;return!0}var st={euclidean:function(t,e){for(var n=0,i=0,r=t.length;i<r;i++)n+=Math.pow(e[i]-t[i],2);return Math.sqrt(n)},manhattan:function(t,e){for(var n=0,i=0,r=t.length;i<r;i++)n+=Math.abs(e[i]-t[i]);return n},max:function(t,e){for(var n=0,i=0,r=t.length;i<r;i++)n=Math.max(n,Math.abs(e[i]-t[i]));return n}},at={linear:function(t,e){var n=[],i=Math.round(Math.random()*t),r=Math.floor(t/e);do{n.push(i),i=(i+r)%t}while(n.length<e);return n},shuffle:function(t,e){for(var n=[];n.length<e;){var i=Math.round(Math.random()*t);-1==n.indexOf(i)&&n.push(i)}return n}};function lt(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"linear",i=at[n](t.length,e);return i.map((function(e){return t[e]}))}function ct(t,e,n){var i=1/0,r=0;return e.forEach((function(e,o){var s=n(t,e);s<i&&(i=s,r=o)})),r}function ht(t){if(!t.length)return[];for(var e=new Array(t[0].length),n=0,i=e.length;n<i;n++)e[n]=0;var r=0;for(i=t.length;r<i;r++)for(var o=t[r],s=r+1,a=0,l=o.length;a<l;a++)e[a]+=(o[a]-e[a])/s;return e=e.map((function(t){return Math.floor(t)}))}function ut(t,e,n,i){for(var r=new Array(t),o=0;o<t;o++)r[o]=[];for(var s=0,a=e.length;s<a;s++){var l=e[s];r[ct(l,n,i)].push(l)}return r}function ft(t,e,n,i,r,o){for(var s=0;s<t;s++){var a=n[s],l=i[s],c=new Array(l.length);c=a.length>0?ht(a):e[Math.floor(o()*e.length)],r=!ot(c,l),i[s]=c}return r}function dt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"linear";t=t,e=e||Math.max(2,Math.ceil(Math.sqrt(t.length/2)));var o=n||"euclidean";"string"==typeof o&&(o=st[o]);for(var s=0,a=function(){return(s=(9301*s+49297)%233280)/233280},l=lt(t,e,r),c=!0,h=0;c;){var u=ut(e,t,l,o);if(c=ft(e,t,u,l,!1,a),++h%i==0)break}return l}var pt={create:function(t,e){var n=document.createElement("canvas");return n.width=t||0,n.height=e||0,n},drawPixels:function(t){var e=this.create(t.width,t.height),n=e.getContext("2d"),i=n.getImageData(0,0,e.width,e.height);return i.data.set(t.pixels),n.putImageData(i,0,0),e},createHistogram:function(t,e,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{black:!0,red:!1,green:!1,blue:!1},o=this.create(t,e),s=o.getContext("2d");s.clearRect(0,0,t,e),s.fillStyle="white",s.fillRect(0,0,t,e),s.globalAlpha=.7;var a={black:!1};r.black?a.black=!1:a.black=!0,r.red?a.red=!1:a.red=!0,r.green?a.green=!1:a.green=!0,r.blue?a.blue=!1:a.blue=!0,Object.keys(n).forEach((function(i){if(!a[i]){var r=n[i],o=Math.max.apply(Math,r),l=t/r.length;s.fillStyle=i,r.forEach((function(t,n){var i=e*(t/o),r=n*l;s.fillRect(r,e-i,l,i)}))}})),"function"==typeof i&&i(o)},getHistogram:function(t){for(var e=new Array(256),n=new Array(256),i=new Array(256),r=new Array(256),o=0;o<256;o++)e[o]=0,n[o]=0,i[o]=0,r[o]=0;return function(t,e){!function(t,e){for(var n=0;n<t;n+=4)e(n)}(t.pixels.length,(function(n){e(t.pixels,n)}))}(t,(function(t,o){var s=Math.round(Ze.brightness(t[o],t[o+1],t[o+2]));e[s]++,n[t[o]]++,i[t[o+1]]++,r[t[o+2]]++})),{black:e,red:n,green:i,blue:r}},getBitmap:function(t,e){var n=this.drawPixels(t);return{pixels:n.getContext("2d").getImageData(e.x||0,e.y||0,e.width||n.width,e.height||n.height).data,width:e.width,height:e.height}},putBitmap:function(t,e,n){var i=this.drawPixels(t),r=this.drawPixels(e),o=i.getContext("2d");return o.drawImage(r,n.x,n.y),t.pixels=o.getImageData(0,0,t.width,t.height).data,t}},gt=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_(this,t),this.isLoaded=!1,this.imageUrl=e,this.opt=n,this.initialize()}return y(t,[{key:"initialize",value:function(){this.canvas=this.createCanvas(),this.context=this.canvas.getContext("2d")}},{key:"createCanvas",value:function(){return document.createElement("canvas")}},{key:"load",value:function(t){this.loadImage(t)}},{key:"loadImage",value:function(t){var e=this,n=this.context;this.newImage=new Image;var i=this.newImage;i.onload=function(){var r=i.height/i.width;e.opt.canvasWidth&&e.opt.canvasHeight?(e.canvas.width=e.opt.canvasWidth,e.canvas.height=e.opt.canvasHeight):(e.canvas.width=e.opt.maxWidth?e.opt.maxWidth:i.width,e.canvas.height=e.canvas.width*r),n.drawImage(i,0,0,i.width,i.height,0,0,e.canvas.width,e.canvas.height),e.isLoaded=!0,t&&t()},this.getImageUrl((function(t){i.src=t}))}},{key:"load",value:function(t){var e=this;this.newImage=new Image;var n=this.newImage;n.onload=function(){e.isLoaded=!0,t&&t()},this.getImageUrl((function(t){n.src=t}))}},{key:"getImageUrl",value:function(t){if("string"==typeof this.imageUrl)return t(this.imageUrl);if(this.imageUrl instanceof Blob){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.readAsDataURL(this.imageUrl)}}},{key:"getRGBA",value:function(t,e,n,i){return[t,e,n,i]}},{key:"toArray",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),r=i.width,o=i.height,s=new Uint8ClampedArray(i.data),a={pixels:s,width:r,height:o};t||(t=function(t,e){e(t)}),t(a,(function(t){var i=pt.drawPixels(t);"canvas"==n.returnTo?e(i):e(i.toDataURL(n.outputFormat||"image/png"))}),n)}},{key:"toHistogram",value:function(t){var e=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),n=e.width,i=e.height,r={pixels:new Uint8ClampedArray(e.data),width:n,height:i};return pt.getHistogram(r)}},{key:"toRGB",value:function(){for(var t=this.context.getImageData(0,0,this.canvas.width,this.canvas.height).data,e=[],n=0,i=t.length;n<i;n+=4)e[e.length]=[t[n+0],t[n+1],t[n+2],t[n+3]];return e}}]),t}(),mt={identity:function(){return[1,0,0,0,1,0,0,0,1]},stretching:function(t){return[t,0,0,0,1,0,0,0,1]},squeezing:function(t){return[t,0,0,0,1/t,0,0,0,1]},scale:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return[t=t||0===t?t:1,0,0,0,e=e||0===e?e:1,0,0,0,1]},scaleX:function(t){return this.scale(t)},scaleY:function(t){return this.scale(1,t)},translate:function(t,e){return[1,0,t,0,1,e,0,0,1]},rotate:function(t){var e=this.radian(t);return[Math.cos(e),-Math.sin(e),0,Math.sin(e),Math.cos(e),0,0,0,1]},rotate90:function(){return[0,-1,0,1,0,0,0,0,1]},rotate180:function(){return[-1,0,0,0,-1,0,0,0,1]},rotate270:function(){return[0,1,0,-1,0,0,0,0,1]},radian:function(t){return t*Math.PI/180},skew:function(t,e){var n=this.radian(t),i=this.radian(e);return[1,Math.tan(n),0,Math.tan(i),1,0,0,0,1]},skewX:function(t){var e=this.radian(t);return[1,Math.tan(e),0,0,1,0,0,0,1]},skewY:function(t){var e=this.radian(t);return[1,0,0,Math.tan(e),1,0,0,0,1]},shear1:function(t){return[1,-Math.tan(this.radian(t)/2),0,0,1,0,0,0,1]},shear2:function(t){return[1,0,0,Math.sin(this.radian(t)),1,0,0,0,1]}},vt={CONSTANT:mt,radian:function(t){return mt.radian(t)},multiply:function(t,e){return[t[0]*e[0]+t[1]*e[1]+t[2]*e[2],t[3]*e[0]+t[4]*e[1]+t[5]*e[2],t[6]*e[0]+t[7]*e[1]+t[8]*e[2]]},identity:function(t){return this.multiply(mt.identity(),t)},translate:function(t,e,n){return this.multiply(mt.translate(t,e),n)},rotate:function(t,e){return this.multiply(mt.rotate(t),e)},shear1:function(t,e){return this.multiply(mt.shear1(t),e)},shear2:function(t,e){return this.multiply(mt.shear2(t),e)},rotateShear:function(t,e){var n=e;return n=this.shear1(t,n),n=this.shear2(t,n),n=this.shear1(t,n)}};function _t(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"center",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"center";return function(i,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=Vt(i.pixels.length,i.width,i.height),a=i.width,l=i.height;"center"==e&&(e=Math.floor(a/2)),"center"==n&&(n=Math.floor(l/2));var c=vt.CONSTANT.translate(-e,-n),h=vt.CONSTANT.translate(e,n),u=vt.CONSTANT.shear1(t),f=vt.CONSTANT.shear2(t);ae((function(t,e,n,r){var o=vt.multiply(c,[n,r,1]);o=vt.multiply(u,o).map(Math.round),o=vt.multiply(f,o).map(Math.round),o=vt.multiply(u,o).map(Math.round),o=vt.multiply(h,o);var s=w(o,2),d=s[0],p=s[1];d<0||p<0||d>a-1||p>l-1||he(t,p*a+d<<2,i.pixels,e)}))(s,(function(){r(s)}),o)}}function yt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=Jt(t),r=(e=Jt(e))/100,o=n;return re("\n // refer to Color.brightness \n const v = ($C * Math.ceil($r * 0.2126 + $g * 0.7152 + $b * 0.0722) ) >= $scale ? 255 : 0;\n\n if ($hasColor) {\n\n if (v == 0) {\n $r = 0 \n $g = 0 \n $b = 0\n }\n \n } else {\n const value = Math.round(v)\n $r = value \n $g = value \n $b = value \n }\n \n ",{$C:r,$scale:i,$hasColor:o})}function xt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,e=(t=Jt(t))/100;return de(Ht([1,2,1,2,4,2,1,2,1],1/16*e))}function kt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,e=(t=Jt(t))/100;return de(Ht([1,4,6,4,1,4,16,24,16,4,6,24,36,24,6,4,16,24,16,4,1,4,6,4,1],1/256*e))}function bt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return t=Jt(t),de([5,5,5,-3,0,-3,-3,-3,-3])}function Tt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return t=Jt(t),de([5,-3,-3,5,0,-3,5,-3,-3])}function Ct(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return de(Ht([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,24,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],(t=Jt(t))/100))}function wt(){return de(Ht([1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1],1/9))}function Et(){return de(Ht([1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1],1/9))}function St(){return de(Ht([1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,1],1/9))}function At(){return de([-1,-2,-1,0,0,0,1,2,1])}function Lt(){return de([-1,0,1,-2,0,2,-1,0,1])}var Ot=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Nt=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function It(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}function Mt(t,e,n){return n?function(t,e,n,i){if(isNaN(i)||i<1)return t;i|=0;var r,o,s,a,l,c,h,u,f,d,p,g,m,v,_,y,x,k,b,T,C=t.pixels,w=t.width,E=t.height,S=i+i+1,A=w-1,L=E-1,O=i+1,N=O*(O+1)/2,I=new It,M=I;for(s=1;s<S;s++)if(M=M.next=new It,s==O)var $=M;M.next=I;var R=null,D=null;h=c=0;var P=Ot[i],F=Nt[i];for(o=0;o<E;o++){for(v=_=y=u=f=d=0,p=O*(x=C[c]),g=O*(k=C[c+1]),m=O*(b=C[c+2]),u+=N*x,f+=N*k,d+=N*b,M=I,s=0;s<O;s++)M.r=x,M.g=k,M.b=b,M=M.next;for(s=1;s<O;s++)a=c+((A<s?A:s)<<2),u+=(M.r=x=C[a])*(T=O-s),f+=(M.g=k=C[a+1])*T,d+=(M.b=b=C[a+2])*T,v+=x,_+=k,y+=b,M=M.next;for(R=I,D=$,r=0;r<w;r++)C[c]=u*P>>F,C[c+1]=f*P>>F,C[c+2]=d*P>>F,u-=p,f-=g,d-=m,p-=R.r,g-=R.g,m-=R.b,a=h+((a=r+i+1)<A?a:A)<<2,u+=v+=R.r=C[a],f+=_+=R.g=C[a+1],d+=y+=R.b=C[a+2],R=R.next,p+=x=D.r,g+=k=D.g,m+=b=D.b,v-=x,_-=k,y-=b,D=D.next,c+=4;h+=w}for(r=0;r<w;r++){for(_=y=v=f=d=u=0,p=O*(x=C[c=r<<2]),g=O*(k=C[c+1]),m=O*(b=C[c+2]),u+=N*x,f+=N*k,d+=N*b,M=I,s=0;s<O;s++)M.r=x,M.g=k,M.b=b,M=M.next;for(l=w,s=1;s<=i;s++)c=l+r<<2,u+=(M.r=x=C[c])*(T=O-s),f+=(M.g=k=C[c+1])*T,d+=(M.b=b=C[c+2])*T,v+=x,_+=k,y+=b,M=M.next,s<L&&(l+=w);for(c=r,R=I,D=$,o=0;o<E;o++)C[a=c<<2]=u*P>>F,C[a+1]=f*P>>F,C[a+2]=d*P>>F,u-=p,f-=g,d-=m,p-=R.r,g-=R.g,m-=R.b,a=r+((a=o+O)<L?a:L)*w<<2,u+=v+=R.r=C[a],f+=_+=R.g=C[a+1],d+=y+=R.b=C[a+2],R=R.next,p+=x=D.r,g+=k=D.g,m+=b=D.b,v-=x,_-=k,y-=b,D=D.next,c+=w}return t}(t,0,0,e):stackBlurCanvasRGB(t,0,0,e)}function $t(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t=Jt(t),function(n,i){i(Mt(n,t,e))}}function Rt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;return de(Ht([1,4,6,4,1,4,16,24,16,4,6,24,-476,24,6,4,16,24,16,4,1,4,6,4,1],-1/(t=Jt(t))))}var Dt,Pt=k({},{crop:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments[2],i=arguments[3],r=Vt(n*i*4,n,i);return function(o,s){for(var a=e,l=0;a<i;a++,l++)for(var c=t,h=0;c<n;c++,h++)r.pixels[l*n*h]=o.pixels[a*n*c];s(r)}},resize:function(t,e){return function(n,i){var r=pt.drawPixels(n),o=r.getContext("2d");r.width=t,r.height=e,i({pixels:new Uint8ClampedArray(o.getImageData(0,0,t,e).data),width:t,height:e})}},flipH:function(){return function(t,e){for(var n=t.width,i=t.height,r=n%2==1?Math.floor(n/2):n/2,o=0;o<i;o++)for(var s=0;s<r;s++){var a=o*n+s<<2,l=o*n+(n-1-s)<<2;se(t.pixels,a,l)}e(t)}},flipV:function(){return function(t,e){for(var n=t.width,i=t.height,r=i%2==1?Math.floor(i/2):i/2,o=0;o<r;o++)for(var s=0;s<n;s++){var a=o*n+s<<2,l=(i-1-o)*n+s<<2;se(t.pixels,a,l)}e(t)}},rotate:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return t=Jt(t),t%=360,function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(0==t)return e;if(90==t||270==t)var r=Vt(e.pixels.length,e.height,e.width);else{if(180!=t)return _t(t)(e,n,i);r=Vt(e.pixels.length,e.width,e.height)}ae((function(n,i,o,s){if(90==t)var a=o*r.width+(r.width-1-s)<<2;else 270==t?a=(r.height-1-o)*r.width+s<<2:180==t&&(a=(r.height-1-s)*r.width+(r.width-1-o)<<2);he(r.pixels,a,e.pixels,i)}))(e,(function(){n(r)}),i)}},rotateDegree:_t,histogram:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"gray",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],i=0;i<e.length-1;i++)for(var r=e[i],o=e[i+1],s=o[0]-r[0],a=o[1]-r[1],l=a/s,c=0,h=r[0];c<s;c++,h++)n[h]=r[1]+c*l;return n[255]=255,re("red"===t?function(){$r=n[$r]}:"green"===t?function(){$g=n[$g]}:"blue"===t?function(){$b=n[$b]}:function(){var t=Color.RGBtoYCrCb($r,$g,$b),e=Color.YCrCbtoRGB(clamp(n[clamp(t.y)]),t.cr,t.cb,0);$r=e.r,$g=e.g,$b=e.b},{},{$realPoints:n})},"rotate-degree":_t},{bitonal:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100,i=Ze.parse(t),r=Ze.parse(e),o=n;return re("\n const thresholdColor = ( $r + $g + $b ) <= $threshold ? $darkColor : $lightColor\n\n $r = thresholdColor.r\n $g = thresholdColor.g \n $b = thresholdColor.b \n ",{$threshold:o},{$darkColor:i,$lightColor:r})},brightness:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;t=Jt(t);var e=Math.floor(t/100*255);return re("\n $r += $C \n $g += $C \n $b += $C \n ",{$C:e})},brownie:function(){return re("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:[.5997023498159715,.34553243048391263,-.2708298674538042,0,-.037703249837783157,.8609577587992641,.15059552388459913,0,.24113635128153335,-.07441037908422492,.44972182064877153,0,0,0,0,1]})},clip:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;t=Jt(t);var e=2.55*Math.abs(t);return re("\n\n $r = ($r > 255 - $C) ? 255 : 0\n $g = ($g > 255 - $C) ? 255 : 0\n $b = ($b > 255 - $C) ? 255 : 0\n\n ",{$C:e})},contrast:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;t=Jt(t);var e=Math.max((128+t)/128,0);return re("\n $r *= $C\n $g *= $C\n $b *= $C\n ",{$C:e})},gamma:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=Jt(t);return re("\n $r = Math.pow($r / 255, $C) * 255\n $g = Math.pow($g / 255, $C) * 255\n $b = Math.pow($b / 255, $C) * 255\n ",{$C:e})},gradient:function(){var t=[].concat(Array.prototype.slice.call(arguments));1===t.length&&"string"==typeof t[0]&&(t=Ze.convertMatchesArray(t[0]));var e=(t=t.map((function(t){return Ze.matches(t).length?{type:"param",value:t}:{type:"scale",value:t}}))).filter((function(t){return"scale"==t.type}))[0];e=e?+e.value:256,t=t.filter((function(t){return"param"==t.type})).map((function(t){return t.value})).join(",");var n=Ze.gradient(t,e).map((function(t){var e=Ze.parse(t);return{r:e.r,g:e.g,b:e.b,a:e.a}}));return re("\n const colorIndex = clamp(Math.ceil($r * 0.2126 + $g * 0.7152 + $b * 0.0722))\n const newColorIndex = clamp(Math.floor(colorIndex * ($scale / 256)))\n const color = $colors[newColorIndex]\n\n $r = color.r \n $g = color.g \n $b = color.b \n $a = clamp(Math.floor(color.a * 256))\n ",{},{$colors:n,$scale:e})},grayscale:function(t){var e=(t=Jt(t))/100;return e>1&&(e=1),re("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a\n ",{$matrix:[.2126+.7874*(1-e),.7152-.7152*(1-e),.0722-.0722*(1-e),0,.2126-.2126*(1-e),.7152+.2848*(1-e),.0722-.0722*(1-e),0,.2126-.2126*(1-e),.7152-.7152*(1-e),.0722+.9278*(1-e),0,0,0,0,1]})},hue:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:360,e=Jt(t);return re("\n var hsv = Color.RGBtoHSV($r, $g, $b);\n\n // 0 ~ 360 \n var h = hsv.h;\n h += Math.abs($C)\n h = h % 360\n hsv.h = h\n\n var rgb = Color.HSVtoRGB(hsv);\n\n $r = rgb.r\n $g = rgb.g\n $b = rgb.b\n ",{$C:e})},invert:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,e=(t=Jt(t))/100;return re("\n $r = (255 - $r) * $C\n $g = (255 - $g) * $C\n $b = (255 - $b) * $C\n ",{$C:e})},kodachrome:function(){return re("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:[1.1285582396593525,-.3967382283601348,-.03992559172921793,0,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,0,0,0,1]})},matrix:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,h=arguments.length>10&&void 0!==arguments[10]?arguments[10]:0,u=arguments.length>11&&void 0!==arguments[11]?arguments[11]:0,f=arguments.length>12&&void 0!==arguments[12]?arguments[12]:0,d=arguments.length>13&&void 0!==arguments[13]?arguments[13]:0,p=arguments.length>14&&void 0!==arguments[14]?arguments[14]:0,g=arguments.length>15&&void 0!==arguments[15]?arguments[15]:0,m=[t,e,n,i,r,o,s,a,l,c,h,u,f,d,p,g];return re("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:m})},noise:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=Jt(t);return re("\n const C = Math.abs($C) * 5\n const min = -C\n const max = C \n const noiseValue = Math.round(min + (Math.random() * (max - min)))\n\n $r += noiseValue\n $g += noiseValue\n $b += noiseValue\n ",{$C:e})},opacity:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,e=(t=Jt(t))/100;return re("\n $a *= $C \n ",{$C:e})},polaroid:function(){return re("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:[1.438,-.062,-.062,0,-.122,1.378,-.122,0,-.016,-.016,1.483,0,0,0,0,1]})},saturation:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,e=(t=Jt(t))/100,n=1-Math.abs(e),i=[n,0,0,0,0,n,0,0,0,0,n,0,0,0,0,n];return re("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:i})},sepia:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=Jt(t);e>1&&(e=1);var n=[.393+.607*(1-e),.769-.769*(1-e),.189-.189*(1-e),0,.349-.349*(1-e),.686+.314*(1-e),.168-.168*(1-e),0,.272-.272*(1-e),.534-.534*(1-e),.131+.869*(1-e),0,0,0,0,1];return re("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:n})},shade:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=Jt(t),r=Jt(e),o=Jt(n);return re("\n $r *= $redValue\n $g *= $greenValue\n $b *= $blueValue\n ",{$redValue:i,$greenValue:r,$blueValue:o})},shift:function(){return re("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:[1.438,-.062,-.062,0,-.122,1.378,-.122,0,-.016,-.016,1.483,0,0,0,0,1]})},solarize:function(t,e,n){return re("\n $r = ($r < $redValue) ? 255 - $r: $r\n $g = ($g < $greenValue) ? 255 - $g: $g\n $b = ($b < $blueValue) ? 255 - $b: $b\n ",{$redValue:Jt(t),$greenValue:Jt(e),$blueValue:Jt(n)})},technicolor:function(){return re("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:[1.9125277891456083,-.8545344976951645,-.09155508482755585,0,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-.231103377548616,-.7501899197440212,1.847597816108189,0,0,0,0,1]})},threshold:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return yt(t,e,!1)},"threshold-color":yt,tint:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=Jt(t),r=Jt(e),o=Jt(n);return re("\n\n $r += (255 - $r) * $redTint\n $g += (255 - $g) * $greenTint\n $b += (255 - $b) * $blueTint\n\n ",{$redTint:i,$greenTint:r,$blueTint:o})}},{blur:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3;return de(le(t=Jt(t)))},emboss:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4;return de([-2*(t=Jt(t)),-t,0,-t,1,t,0,t,2*t])},gaussianBlur:xt,"gaussian-blur":xt,gaussianBlur5x:kt,"gaussian-blur-5x":kt,grayscale2:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return de(Ht([.3,.3,.3,0,0,.59,.59,.59,0,0,.11,.11,.11,0,0,0,0,0,0,0,0,0,0,0,0],(t=Jt(t))/100))},normal:function(){return de([0,0,0,0,1,0,0,0,0])},kirschHorizontal:bt,"kirsch-horizontal":bt,kirschVertical:Tt,"kirsch-vertical":Tt,laplacian:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return de(Ht([-1,-1,-1,-1,8,-1,-1,-1,-1],(t=Jt(t))/100))},laplacian5x:Ct,"laplacian-5x":Ct,motionBlur:wt,"motion-blur":wt,motionBlur2:Et,"motion-blur-2":Et,motionBlur3:St,"motion-blur-3":St,negative:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return de(Ht([-1,0,0,0,0,0,-1,0,0,0,0,0,-1,0,0,0,0,0,1,0,1,1,1,1,1],(t=Jt(t))/100))},sepia2:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return de(Ht([.393,.349,.272,0,0,.769,.686,.534,0,0,.189,.168,.131,0,0,0,0,0,0,0,0,0,0,0,0],(t=Jt(t))/100))},sharpen:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return de(Ht([0,-1,0,-1,5,-1,0,-1,0],(t=Jt(t))/100))},sobelHorizontal:At,"sobel-horizontal":At,sobelVertical:Lt,"sobel-vertical":Lt,stackBlur:$t,"stack-blur":$t,transparency:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return de(Ht([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,.3,0,0,0,0,0,1],(t=Jt(t))/100))},unsharpMasking:Rt,"unsharp-masking":Rt},{kirsch:function(){return ve("kirsch-horizontal kirsch-vertical")},sobel:function(){return ve("sobel-horizontal sobel-vertical")},vintage:function(){return ve("brightness(15) saturation(-20) gamma(1.8)")}}),Ft=0,Bt=(x(Dt={partial:ke,multi:ye,merge:xe,weight:Ht,repeat:zt,colorMatrix:function(t,e,n){var i=t[e],r=t[e+1],o=t[e+2],s=t[e+3];ce(t,e,n[0]*i+n[1]*r+n[2]*o+n[3]*s,n[4]*i+n[5]*r+n[6]*o+n[7]*s,n[8]*i+n[9]*r+n[10]*o+n[11]*s,n[12]*i+n[13]*r+n[14]*o+n[15]*s)},each:Gt,eachXY:qt,createRandomCount:function(){return[9,16,25,36,49,64,81,100].sort((function(t,e){return.5-Math.random()}))[0]},createRandRange:function(t,e,n){for(var i=[],r=1;r<=n;r++){var o=Math.random()*(e-t)+t,s=Math.floor(10*Math.random())%2==0?-1:1;i.push(s*o)}i.sort();var a=Math.floor(n>>1),l=i[a];return i[a]=i[0],i[0]=l,i},createBitmap:Vt,createBlurMatrix:le,pack:function(t){return function(e,n){Gt(e.pixels.length,(function(n,i){t(e.pixels,n,i,e.pixels[n],e.pixels[n+1],e.pixels[n+2],e.pixels[n+3])}),(function(){n(e)}))}},packXY:ae,pixel:re,getBitmap:Qt,putBitmap:Zt,radian:function(t){return vt.CONSTANT.radian(t)},convolution:de,parseParamNumber:Jt,filter:ve,clamp:me,fillColor:ce,fillPixelColor:he},"multi",ye),x(Dt,"merge",xe),x(Dt,"matches",pe),x(Dt,"parseFilter",ge),x(Dt,"partial",ke),Dt),Ut=Bt;function Ht(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return t.map((function(t){return t*e}))}function zt(t,e){for(var n=new Array(e),i=0;i<e;i++)n[i]=t;return n}function Wt(t){if("function"==typeof t)return t;"string"==typeof t&&(t=[t]);var e=(t=t.slice(0)).shift();if("function"==typeof e)return e;var n=t,i=Pt[e]||Ut[e];if(!i)throw new Error(e+" is not filter. please check filter name.");return i.apply(i,n)}function jt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments[3],r=arguments[4],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1e4,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"full",a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:50,l=e,c=function(t){setTimeout(t,0)};function h(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50,e=[].concat(E(Array(t))),n=e.map((function(t){return"cri = ri + i * s; if (cri >= mx) return {currentRunIndex: cri, i: null}; c(cri); i++;"})).join("\n"),i=new Function("ri","i","s","mx","c","\n let cri = ri;\n \n "+n+"\n \n return {currentRunIndex: cri, i: i} \n ");return i}function u(){for(var e=h(a),r=l,s={},c=0;c<o;){if(null==(s=e(l,c,n,t,i)).i){r=s.currentRunIndex;break}c=s.i,r=s.currentRunIndex}f(r)}function f(e){e?l=e:l+=n,l>=t?r():c?c(u):u()}"requestAnimationFrame"==s&&(c=requestAnimationFrame,o=1e3),"full"==s&&(c=null,o=t),u()}function Gt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};jt(t,0,4,(function(t){e(t,t>>2)}),(function(){n()}),i.functionDumpCount,i.frameTimer,i.loopCount)}function qt(t,e,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};jt(t,0,4,(function(t){var i=t>>2;n(t,i%e,Math.floor(i/e))}),(function(){i()}),r.functionDumpCount,r.frameTimer,r.loopCount)}function Vt(t,e,n){return{pixels:new Uint8ClampedArray(t),width:e,height:n}}function Yt(t,e,n,i){for(var r=e.pixels.length/4,o=0,s=0,a=0,l=0,c=0,h=0,u=0;u<r;u++)a=u%e.width,s=i+(l=Math.floor(u/e.width)),(o=n+a)>t.width||s>t.height||(c=l*e.width+a<<2,h=s*t.width+o<<2,t.pixels[h]=e.pixels[c],t.pixels[h+1]=e.pixels[c+1],t.pixels[h+2]=e.pixels[c+2],t.pixels[h+3]=e.pixels[c+3])}function Kt(t,e,n,i){for(var r=e.pixels.length>>2,o=0,s=0,a=0,l=0,c=0,h=0,u=0;u<r;u++)a=u%e.width,s=i+(l=Math.floor(u/e.width)),(o=n+a)>t.width||s>t.height||(c=s*t.width+o<<2,h=l*e.width+a<<2,e.pixels[h]=t.pixels[c],e.pixels[h+1]=t.pixels[c+1],e.pixels[h+2]=t.pixels[c+2],e.pixels[h+3]=t.pixels[c+3])}function Xt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=t.width+e,i=t.height+e,r={pixels:new Uint8ClampedArray(n*i*4),width:n,height:i};return r}function Qt(t,e){return pt.getBitmap(t,e)}function Zt(t,e,n){return pt.putBitmap(t,e,n)}function Jt(t){return"string"==typeof t&&(t=(t=t.replace(/deg/,"")).replace(/px/,"")),+t}var te=/(([\w_\-]+)(\(([^\)]*)\))?)+/gi;function ee(t){var e=t.map((function(t){return" \n "+t.userFunction.$preContext+"\n\n "+t.userFunction.$preCallbackString+"\n\n $r = clamp($r); $g = clamp($g); $b = clamp($b); $a = clamp($a);\n "})).join("\n\n"),n={clamp:me,Color:Ze};t.forEach((function(t){Object.assign(n,t.userFunction.rootContextObject)}));var i="const "+Object.keys(n).map((function(t){return" "+t+" = $rc."+t+" "})).join(","),r=new Function("$p","$pi","$rc"," \n let $r = $p[$pi], $g = $p[$pi+1], $b = $p[$pi+2], $a = $p[$pi+3];\n \n "+i+"\n\n "+e+"\n \n $p[$pi] = $r; $p[$pi+1] = $g; $p[$pi+2] = $b; $p[$pi+3] = $a;\n ");return function(t,e){r(t,e,n)}}function ne(t){var e={},n=t.map((function(t){var n=[];Object.keys(t.context).forEach((function(t,e){n[t]="n$"+Ft+++t+"$"})),Object.keys(t.rootContext).forEach((function(i,r){n[i]="r$"+Ft+++i+"$",e[n[i]]=t.rootContext[i]}));var i=Object.keys(t.context).filter((function(e){return"number"!=typeof t.context[e]&&"string"!=typeof t.context[e]&&(!Array.isArray(t.context[e])||"number"!=typeof t.context[e][0]&&"string"!=typeof t.context[e][0])})).map((function(e,i){return[n[e],JSON.stringify(t.context[e])].join(" = ")})),r=t.callback;return"function"==typeof t.callback&&((r=t.callback.toString().split("{")).shift(),(r=(r=r.join("{")).split("}")).pop(),r=r.join("}")),Object.keys(n).forEach((function(e){var i=n[e];"number"==typeof t.context[e]||"string"==typeof t.context[e]?r=r.replace(new RegExp("\\"+e,"g"),t.context[e]):!Array.isArray(t.context[e])||"number"!=typeof t.context[e][0]&&"string"!=typeof t.context[e][0]?r=r.replace(new RegExp("\\"+e,"g"),i):t.context[e].forEach((function(t,n){r=r.replace(new RegExp("\\"+e+"\\["+n+"\\]","g"),t)}))})),{preCallbackString:r,preContext:i}})),i=n.map((function(t,e){return t.preContext.length?"const "+t.preContext+";":""})).join("\n\n"),r=n.map((function(t){return t.preCallbackString})).join("\n\n"),o=new Function("$pixels","$pixelIndex","$clamp","$Color"," \n let $r = $pixels[$pixelIndex], $g = $pixels[$pixelIndex+1], $b = $pixels[$pixelIndex+2], $a = $pixels[$pixelIndex+3];\n\n "+i+"\n\n "+r+"\n \n $pixels[$pixelIndex] = $r\n $pixels[$pixelIndex+1] = $g \n $pixels[$pixelIndex+2] = $b \n $pixels[$pixelIndex+3] = $a \n ");return o.$preCallbackString=r,o.$preContext=i,o.rootContextObject=e,o}function ie(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return ne([{callback:t,context:e,rootContext:n}])}function re(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=ie(t,e,n),r=function(t,e){};return r.userFunction=i,r}var oe=[0,1,2,3];function se(t,e,n){oe.forEach((function(i){var r=t[e+i];t[e+i]=t[n+i],t[n+i]=r}))}function ae(t){return function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};qt(e.pixels.length,e.width,(function(n,i,r){t(e.pixels,n,i,r)}),(function(){n(e)}),i)}}function le(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3,e=Math.pow(t,2),n=1/e;return zt(n,e)}function ce(t,e,n,i,r,o){if(3==arguments.length){var s=arguments[2];n=s.r,i=s.g,r=s.b,o=s.a}"number"==typeof n&&(t[e]=n),"number"==typeof i&&(t[e+1]=i),"number"==typeof r&&(t[e+2]=r),"number"==typeof o&&(t[e+3]=o)}function he(t,e,n,i){ce(t,e,n[i],n[i+1],n[i+2],n[i+3])}function ue(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:255,i=[];return i=t.map((function(t,e){return[]})),t.forEach((function(t,r){if(0!=t){var o=i[r];for(r=e;r<=n;r++)o[r]=t*r}})),i}function fe(t,e,n,i,r){var o=Math.round(Math.sqrt(t.length)),s=Math.floor(o/2),a=r?1:0,l="let r = 0, g = 0, b = 0, a = 0, scy = 0, scx =0, si = 0; ",c=[],h=[],u=[],f=[];t.forEach((function(t,e){var i=Math.floor(e/o)-s,r=e%o-s;0!=t&&(c.push("$t["+e+"][$sp[(($sy + ("+i+")) * "+n+" + ($sx + ("+r+"))) * 4]]"),h.push("$t["+e+"][$sp[(($sy + ("+i+")) * "+n+" + ($sx + ("+r+"))) * 4 + 1]]"),u.push("$t["+e+"][$sp[(($sy + ("+i+")) * "+n+" + ($sx + ("+r+"))) * 4 + 2]]"),f.push("$t["+e+"][$sp[(($sy + ("+i+")) * "+n+" + ($sx + ("+r+"))) * 4 + 3]]"))})),l+="r = "+c.join(" + ")+"; g = "+h.join(" + ")+"; b = "+u.join(" + ")+"; a = "+f.join(" + ")+";",l+="$dp[$di] = r; $dp[$di+1] = g;$dp[$di+2] = b;$dp[$di+3] = a + ("+a+")*(255-a); ";var d=new Function("$dp","$sp","$di","$sx","$sy","$t",l);return function(t,n,i,r,o){d(t,n,i,r,o,e)}}function de(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=ue(t);return function(i,r){var o=Math.round(Math.sqrt(t.length)),s=Xt(i,2*o);Yt(s,i,o,o);for(var a=Vt(s.pixels.length,s.width,s.height),l=Vt(i.pixels.length,i.width,i.height),c=fe(t,n,s.width,s.height,e),h=i.pixels.length/4,u=0;u<h;u++){var f=u,d=f%i.width+o,p=Math.floor(f/i.width)+o;c(a.pixels,s.pixels,4*(p*s.width+d),d,p)}Kt(a,l,o,o),r(l)}}function pe(t){var e=Ze.convertMatches(t),n=e.str.match(te),i=[];if(!n)return i;i=n.map((function(t){return{filter:t,origin:Ze.reverseMatches(t,e.matches)}}));var r={next:0};return i=i.map((function(e){var n=t.indexOf(e.origin,r.next);return e.startIndex=n,e.endIndex=n+e.origin.length,e.arr=ge(e.origin),r.next=e.endIndex,e})).filter((function(t){return!!t.arr.length}))}function ge(t){var e=Ze.convertMatches(t),n=e.str.match(te);if(!n[0])return[];var i=n[0].split("("),r=i.shift(),o=[];return i.length&&(o=i.shift().split(")")[0].split(",").map((function(t){return Ze.reverseMatches(t,e.matches)}))),[r].concat(E(o)).map(Ze.trim)}function me(t){return Math.min(255,t)}function ve(t){return xe(pe(t).map((function(t){return t.arr})))}function _e(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=[],n=[],i=0,r=t.length;i<r;i++){var o=t[i];o.userFunction?n.push(o):(n.length&&e.push([].concat(E(n))),e.push(o),n=[])}return n.length&&e.push([].concat(E(n))),e.forEach((function(t,n){var i;Array.isArray(t)&&(e[n]=(i=ee(t),function(t,e){for(var n=0,r=t.pixels.length;n<r;n+=4)i(t.pixels,n);e(t)}))})),e}function ye(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];var i=(e=_e(e=e.map((function(t){return Wt(t)})).filter((function(t){return t})))).length;return function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t,s=0;function a(){e[s].call(null,o,(function(t){o=t,l()}),r)}function l(){++s>=i?n(o):a()}a()}}function xe(t){return ye.apply(void 0,E(t))}function ke(t){for(var e=null,n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];return e=1==i.length&&"string"==typeof i[0]?ve(i[0]):xe(i),function(n,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e(Qt(n,t),(function(e){i(Zt(n,e,t))}),r)}}function be(t){return"string"==typeof t&&(t=(t=t.replace(/deg/,"")).replace(/px/,"")),+t}function Te(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return t.map((function(t){return t*e}))}var Ce=0;function we(t){return[].concat(Array.prototype.slice.call(arguments))}function Ee(t){return{type:"convolution",length:t.length,content:t}}function Se(t,e){return"\n if (u_filterIndex == "+e+".0) {\n "+t+"\n }\n "}function Ae(t,e){return{type:"shader",index:Ce,options:e,content:Se(t,Ce++)}}function Le(t){return"\n \n if (u_kernelSelect == "+t+".0) {\n vec4 colorSum = "+function(t){var e=Math.sqrt(t),n=Math.floor(e/2);return[].concat(E(Array(t))).map((function(i,r){var o=Math.floor(r/e)-n;return"texture(u_image, v_texCoord + onePixel * vec2("+(r%e-n)+", "+o+")) * u_kernel"+t+"["+r+"]"})).join(" + \n")}(t)+"; \n\n outColor = vec4((colorSum / u_kernel"+t+"Weight).rgb, 1);\n \n }\n "}function Oe(t){return"vec4("+(t=[t.r/255,t.g/255,t.b/255,t.a||0].map(Ne))+")"}function Ne(t){return t==Math.floor(t)?t+".0":t}function Ie(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=be(t)*(1/16);return Ee(Te([1,2,1,2,4,2,1,2,1],e))}function Me(){return Ee([1,4,6,4,1,4,16,24,16,4,6,24,36,24,6,4,16,24,16,4,1,4,6,4,1])}function $e(){return Ee([5,5,5,-3,0,-3,-3,-3,-3])}function Re(){return Ee([5,-3,-3,5,0,-3,5,-3,-3])}function De(){return Ee([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,24,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}function Pe(){return Ee([1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1])}function Fe(){return Ee([1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1])}function Be(){return Ee([1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,1])}function Ue(){return Ee([-1,-2,-1,0,0,0,1,2,1])}function He(){return Ee([-1,0,1,-2,0,2,-1,0,1])}function ze(){return Ee(Te([1,4,6,4,1,4,16,24,16,4,6,24,-476,24,6,4,16,24,16,4,1,4,6,4,1],-1/256))}function We(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,h=arguments.length>10&&void 0!==arguments[10]?arguments[10]:0,u=arguments.length>11&&void 0!==arguments[11]?arguments[11]:0,f=arguments.length>12&&void 0!==arguments[12]?arguments[12]:0,d=arguments.length>13&&void 0!==arguments[13]?arguments[13]:0,p=arguments.length>14&&void 0!==arguments[14]?arguments[14]:0,g=arguments.length>15&&void 0!==arguments[15]?arguments[15]:0,m=[t,e,n,i,r,o,s,a,l,c,h,u,f,d,p,g].map(Ne);return Ae("\n\n outColor = vec4(\n "+m[0]+" * pixelColor.r + "+m[1]+" * pixelColor.g + "+m[2]+" * pixelColor.b + "+m[3]+" * pixelColor.a,\n "+m[4]+" * pixelColor.r + "+m[5]+" * pixelColor.g + "+m[6]+" * pixelColor.b + "+m[7]+" * pixelColor.a,\n "+m[8]+" * pixelColor.r + "+m[9]+" * pixelColor.g + "+m[10]+" * pixelColor.b + "+m[11]+" * pixelColor.a,\n "+m[12]+" * pixelColor.r + "+m[13]+" * pixelColor.g + "+m[14]+" * pixelColor.b + "+m[15]+" * pixelColor.a\n ); \n ")}function je(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return Ae("\n float c = ( (pixelColor.r * 0.2126 + pixelColor.g * 0.7152 + pixelColor.b * 0.0722) ) >= "+(t=Ne(be(t)))+" ? 1.0 : 0.0;\n\n outColor = vec4(c, c, c, pixelColor.a);\n ")}var Ge=k({},{blur:function(){return Ee([1,1,1,1,1,1,1,1,1])},normal:function(){return Ee([0,0,0,0,1,0,0,0,0])},emboss:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4;return Ee([-2*(t=be(t)),-t,0,-t,1,t,0,t,2*t])},gaussianBlur:Ie,"gaussian-blur":Ie,gaussianBlur5x:Me,"gaussian-blur-5x":Me,grayscale2:function(){return Ee([.3,.3,.3,0,0,.59,.59,.59,0,0,.11,.11,.11,0,0,0,0,0,0,0,0,0,0,0,0])},kirschHorizontal:$e,"kirsch-horizontal":$e,kirschVertical:Re,"kirsch-vertical":Re,laplacian:function(){return Ee([-1,-1,-1,-1,8,-1,-1,-1,-1])},laplacian5x:De,"laplacian-5x":De,motionBlur:Pe,"motion-blur":Pe,motionBlur2:Fe,"motion-blur-2":Fe,motionBlur3:Be,"motion-blur-3":Be,negative:function(){return Ee([-1,0,0,0,0,0,-1,0,0,0,0,0,-1,0,0,0,0,0,1,0,1,1,1,1,1])},sepia2:function(){return Ee([.393,.349,.272,0,0,.769,.686,.534,0,0,.189,.168,.131,0,0,0,0,0,0,0,0,0,0,0,0])},sharpen:function(){return Ee([0,-1,0,-1,5,-1,0,-1,0])},sobelHorizontal:Ue,"sobel-horizontal":Ue,sobelVertical:He,"sobel-vertical":He,transparency:function(){return Ee([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,.3,0,0,0,0,0,1])},unsharpMasking:ze,"unsharp-masking":ze},{bitonal:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,i=Ne(n),r=Oe(Ze.parse(t)),o=Oe(Ze.parse(e));return Ae("\n if ((pixelColor.r + pixelColor.g + pixelColor.b) > "+i+") {\n outColor = vec4("+o+".rgb, pixelColor.a);\n } else {\n outColor = vec4("+r+".rgb, pixelColor.a);\n }\n ")},brightness:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=Ne(be(t));return Ae("\n outColor = pixelColor + ("+e+");\n ")},brownie:function(){return We(.5997023498159715,.34553243048391263,-.2708298674538042,0,-.037703249837783157,.8609577587992641,.15059552388459913,0,.24113635128153335,-.07441037908422492,.44972182064877153,0,0,0,0,1)},clip:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=Ne(be(t));return Ae("\n outColor = vec4(\n (pixelColor.r > 1.0 - "+e+") ? 1.0 : 0.0,\n (pixelColor.g > 1.0 - "+e+") ? 1.0 : 0.0,\n (pixelColor.b > 1.0 - "+e+") ? 1.0 : 0.0,\n pixelColor.a \n );\n ")},chaos:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=Ne(be(t));return Ae("\n vec2 st = pixelColor.st;\n st *= "+e+";\n \n vec2 ipos = floor(st); // get the integer coords\n\n vec3 color = vec3(random( ipos ));\n\n outColor = vec4(color, pixelColor.a);\n ")},contrast:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=Ne(be(t));return Ae("\n outColor = pixelColor * "+e+";\n ")},gamma:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=Ne(be(t));return Ae("\n outColor = vec4(pow(pixelColor.r, "+e+"), pow(pixelColor.g, "+e+"), pow(pixelColor.b, "+e+"), pixelColor.a );\n ")},gradient:function(){var t=[].concat(Array.prototype.slice.call(arguments));1===t.length&&"string"==typeof t[0]&&(t=Ze.convertMatchesArray(t[0])),t=t.map((function(t){return t})).join(", ");var e=Ze.parseGradient(t);e[0][1]=0,e[e.length-1][1]=1;for(var n=[],i=0,r=(e=e.map((function(t){var e=Ze.parse(t[0]);return[{r:e.r,g:e.g,b:e.b,a:e.a},t[1]]}))).length;i<r-1;i++){var o=e[i],s=e[i+1],a=Oe(o[0]),l=Oe(s[0]),c=Ne(o[1]),h=Ne(s[1]);n.push("\n if ("+c+" <= rate && rate < "+h+") {\n outColor = mix("+a+", "+l+", (rate - "+c+")/("+h+" - "+c+"));\n }\n ")}return Ae("\n float rate = (pixelColor.r * 0.2126 + pixelColor.g * 0.7152 + pixelColor.b * 0.0722); \n\n "+n.join("\n")+" \n ")},grayscale:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=be(t);return e>1&&(e=1),We(.2126+.7874*(1-e),.7152-.7152*(1-e),.0722-.0722*(1-e),0,.2126-.2126*(1-e),.7152+.2848*(1-e),.0722-.0722*(1-e),0,.2126-.2126*(1-e),.7152-.7152*(1-e),.0722+.9278*(1-e),0,0,0,0,1)},hue:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=Ne(be(t));return Ae("\n vec3 hsv = rgb2hsv(pixelColor.rgb);\n hsv.x += "+e+";\n outColor = vec4(hsv2rgb(hsv).rgb, pixelColor.a);\n ")},invert:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=Ne(be(t));return Ae("\n outColor = vec4(\n (1.0 - pixelColor.r) * "+e+",\n (1.0 - pixelColor.g) * "+e+",\n (1.0 - pixelColor.b) * "+e+",\n pixelColor.a\n );\n ")},kodachrome:function(){return We(1.1285582396593525,-.3967382283601348,-.03992559172921793,0,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,0,0,0,1)},matrix:We,noise:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=Math.abs(be(t)),n=Ne(-e),i=Ne(e);return Ae("\n float rnd = "+n+" + random( pixelColor.st ) * ("+i+" - "+n+");\n\n outColor = vec4(pixelColor.rgb + rnd, 1.0);\n ")},opacity:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=Ne(be(t));return Ae("\n outColor = vec4(pixelColor.rgb, pixelColor.a * "+e+");\n ")},polaroid:function(){return We(1.438,-.062,-.062,0,-.122,1.378,-.122,0,-.016,-.016,1.483,0,0,0,0,1)},saturation:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=1-Math.abs(be(t));return We(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,e)},sepia:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=be(t);return e>1&&(e=1),We(.393+.607*(1-e),.769-.769*(1-e),.189-.189*(1-e),0,.349-.349*(1-e),.686+.314*(1-e),.168-.168*(1-e),0,.272-.272*(1-e),.534-.534*(1-e),.131+.869*(1-e),0,0,0,0,1)},shade:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=Ne(be(t)/255),r=Ne(be(e)/255),o=Ne(be(n)/255);return Ae("\n outColor = vec4(\n pixelColor.r * "+i+",\n pixelColor.g * "+r+",\n pixelColor.b * "+o+",\n pixelColor.a\n );\n ")},shift:function(){return We(1.438,-.062,-.062,0,-.122,1.378,-.122,0,-.016,-.016,1.483,0,0,0,0,1)},solarize:function(t,e,n){return Ae("\n outColor = vec4(\n (pixelColor.r < "+Ne(be(t))+") ? 1.0 - pixelColor.r: pixelColor.r,\n (pixelColor.g < "+Ne(be(e))+") ? 1.0 - pixelColor.g: pixelColor.g,\n (pixelColor.b < "+Ne(be(n))+") ? 1.0 - pixelColor.b: pixelColor.b,\n pixelColor.a\n );\n ")},technicolor:function(){return We(1.9125277891456083,-.8545344976951645,-.09155508482755585,0,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-.231103377548616,-.7501899197440212,1.847597816108189,0,0,0,0,1)},threshold:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return je(t,e,!1)},"threshold-color":je,tint:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=be(t),r=be(e),o=be(n);return Ae("\n outColor = vec4(\n pixelColor.r += (1 - pixelColor.r) * "+i+",\n pixelColor.g += (1 - pixelColor.g) * "+r+",\n pixelColor.b += (1 - pixelColor.b) * "+o+",\n pixelColor.a\n );\n ")}},{kirsch:function(){return we("kirsch-horizontal kirsch-vertical")},sobel:function(){return we("sobel-horizontal sobel-vertical")},vintage:function(){return we("brightness(0.15) saturation(-0.2) gamma(1.8)")}}),qe=0,Ve={GLCanvas:function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{width:"400px",height:"300px"};_(this,t),this.img=e.img,this.width=parseFloat(this.img.width||e.width||"400px"),this.height=parseFloat(this.img.height||e.height||"300px"),this.init()}return y(t,[{key:"resize",value:function(){this.canvas.width=this.width,this.canvas.height=this.height,this.canvas.style.width=this.width+"px",this.canvas.style.height=this.height+"px",this.viewport()}},{key:"clear",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=this.gl;r.clearColor(t,e,n,i),r.clear(r.COLOR_BUFFER_BIT|r.DEPTH_BUFFER_BIT)}},{key:"viewport",value:function(t,e,n,i){var r=this.gl;r.viewport(t||0,e||0,n||r.canvas.width,i||r.canvas.height)}},{key:"initCanvas",value:function(t,e){if(this.canvas=document.createElement("canvas"),this.gl=this.canvas.getContext("webgl2"),!this.gl)throw new Error("you need webgl2 support");this.program=this.createProgram(t,e),this.resize(),this.initBuffer()}},{key:"draw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"TRIANGLES",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:6,i=this.gl;i.drawArrays(i[t],e,n)}},{key:"triangles",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;this.draw("TRIANGLES",t,e)}},{key:"uniform2f",value:function(){for(var t,e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];var r=n.shift();(t=this.gl).uniform2f.apply(t,[this.locations[r]].concat(n))}},{key:"uniform1f",value:function(){for(var t,e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];var r=n.shift();(t=this.gl).uniform1f.apply(t,[this.locations[r]].concat(n))}},{key:"uniform1fv",value:function(){for(var t,e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];var r=n.shift();(t=this.gl).uniform1fv.apply(t,[this.locations[r]].concat(n))}},{key:"uniform1i",value:function(){for(var t,e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];var r=n.shift();(t=this.gl).uniform1i.apply(t,[this.locations[r]].concat(n))}},{key:"useProgram",value:function(){this.gl.useProgram(this.program)}},{key:"bindBuffer",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"STATIC_DRAW",i=this.gl;this.buffers[t]||(this.buffers[t]=i.createBuffer()),i.bindBuffer(i.ARRAY_BUFFER,this.buffers[t]),e&&i.bufferData(i.ARRAY_BUFFER,new Float32Array(e),i[n])}},{key:"enable",value:function(t){this.gl.enableVertexAttribArray(this.locations[t])}},{key:"location",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"attribute";"attribute"===e?this.locations[t]=this.gl.getAttribLocation(this.program,t):"uniform"===e&&(this.locations[t]=this.gl.getUniformLocation(this.program,t))}},{key:"a",value:function(t){return this.location(t)}},{key:"u",value:function(t){return this.location(t,"uniform")}},{key:"pointer",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"FLOAT",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=this.gl;s.vertexAttribPointer(this.locations[t],n,s[e],i,r,o)}},{key:"bufferData",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.gl;e.bufferData(e.ARRAY_BUFFER,new Float32Array(t),e.STATIC_DRAW)}},{key:"isPowerOf2",value:function(t){return 0==(t&t-1)}},{key:"bindTexture",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"RGBA",r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"RGBA",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"UNSIGNED_BYTE",s=this.gl;1!=arguments.length?(this.textures[t]||(this.textures[t]=s.createTexture()),this.textureIndex[t]=qe++,s.bindTexture(s.TEXTURE_2D,this.textures[t]),this.setTextureParameter(),s.texImage2D(s.TEXTURE_2D,n,s[i],s[r],s[o],e.newImage||e)):s.bindTexture(s.TEXTURE_2D,this.textures[t])}},{key:"bindColorTexture",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:256,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"RGBA",s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"RGBA",a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"UNSIGNED_BYTE",l=this.gl;this.textures[t]||(this.textures[t]=l.createTexture()),this.textureIndex[t]=qe++,l.bindTexture(l.TEXTURE_2D,this.textures[t]),this.setTextureParameter(),l.texImage2D(l.TEXTURE_2D,r,l[o],n,i,0,l[s],l[a],new Uint8Array(e))}},{key:"bindEmptyTexture",value:function(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"RGBA",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"RGBA",s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"UNSIGNED_BYTE",a=this.gl;this.textures[t]||(this.textures[t]=a.createTexture()),this.textureIndex[t]=qe++,a.bindTexture(a.TEXTURE_2D,this.textures[t]),this.setTextureParameter();var l=0,c=null;a.texImage2D(a.TEXTURE_2D,i,a[r],e,n,l,a[o],a[s],c)}},{key:"setTextureParameter",value:function(){var t=this.gl;t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST)}},{key:"bindFrameBufferWithTexture",value:function(t,e,n,i){this.bindEmptyTexture(e,n,i),this.bindFrameBuffer(t,e)}},{key:"enumToString",value:function(t){var e=this.gl;if(0===t)return"NONE";for(var n in e)if(e[n]===t)return n;return"0x"+t.toString(16)}},{key:"bindFrameBuffer",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.gl;if(1!==arguments.length){this.framebuffers[t]||(this.framebuffers[t]=n.createFramebuffer()),n.bindFramebuffer(n.FRAMEBUFFER,this.framebuffers[t]);var i=0,r=n.COLOR_ATTACHMENT0;n.framebufferTexture2D(n.FRAMEBUFFER,r,n.TEXTURE_2D,this.textures[e],i),n.checkFramebufferStatus(n.FRAMEBUFFER),n.FRAMEBUFFER_COMPLETE}else n.bindFramebuffer(n.FRAMEBUFFER,null==t?null:this.framebuffers[t])}},{key:"bindVA",value:function(){var t=this.gl;this.vao||(this.vao=t.createVertexArray()),t.bindVertexArray(this.vao)}},{key:"bindAttr",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"STATIC_DRAW",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2;this.bindBuffer(t,e,n),this.enable(t),this.pointer(t,"FLOAT",i)}},{key:"initBuffer",value:function(){var t=this.canvas,e=t.width,n=t.height;this.a("a_position"),this.a("a_texCoord"),this.u("u_resolution"),this.u("u_image"),this.u("u_flipY"),this.u("u_kernelSelect"),this.u("u_filterIndex"),this.u("u_kernel9[0]"),this.u("u_kernel9Weight"),this.u("u_kernel25[0]"),this.u("u_kernel25Weight"),this.u("u_kernel49[0]"),this.u("u_kernel49Weight"),this.u("u_kernel81[0]"),this.u("u_kernel81Weight"),this.bindVA(),this.bindAttr("a_position",[0,0,e,0,0,n,0,n,e,0,e,n],"STATIC_DRAW",2),this.bindAttr("a_texCoord",[0,0,1,0,0,1,0,1,1,0,1,1],"STATIC_DRAW",2),this.bindTexture("u_image",this.img),this.bindFrameBufferWithTexture("frame_buffer_0","img_texture_0",e,n),this.bindFrameBufferWithTexture("frame_buffer_1","img_texture_1",e,n)}},{key:"activeTexture",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=this.gl;e.activeTexture(e.TEXTURE0+t)}},{key:"drawFilter",value:function(){var t=this,e=this.gl;this.resize(),this.clear(),this.useProgram(),this.bindVA(),this.activeTexture(0),this.bindTexture("u_image"),this.uniform1i("u_image",0),this.uniform1f("u_flipY",1);var n=e.canvas,i=n.width,r=n.height;this.eachFilter((function(e,n){t.bindFrameBuffer("frame_buffer_"+n%2),t.uniform2f("u_resolution",i,r),t.viewport(0,0,i,r),t.effectFilter(e),t.bindTexture("img_texture_"+n%2)})),this.uniform1f("u_flipY",-1),this.bindFrameBuffer(null),this.uniform2f("u_resolution",i,r),this.viewport(0,0,i,r),this.clear(),this.effectFilter("normal")}},{key:"effectFilter",value:function(t){"string"==typeof t&&(t=(Ge[t]||Ge.normal).call(Ge)),"convolution"==t.type?(this.uniform1f("u_kernelSelect",t.length),this.uniform1f("u_filterIndex",-1),this.uniform1fv("u_kernel"+t.length+"[0]",t.content),this.uniform1f("u_kernel"+t.length+"Weight",this.computeKernelWeight(t.content))):(this.uniform1f("u_kernelSelect",-1),this.uniform1f("u_filterIndex",t.index)),this.triangles(0,6)}},{key:"computeKernelWeight",value:function(t){var e=t.reduce((function(t,e){return t+e}));return e<=0?1:e}},{key:"createProgram",value:function(t,e){var n=this.gl,i=n.createProgram();if(this.vertexShader=this.createVertexShader(t),this.fragmentShader=this.createFragmentShader(e),n.attachShader(i,this.vertexShader),n.attachShader(i,this.fragmentShader),n.linkProgram(i),n.getProgramParameter(i,n.LINK_STATUS))return i;console.error(n.getProgramInfoLog(i)),n.deleteProgram(i)}},{key:"createShader",value:function(t,e){var n=this.gl,i=n.createShader(t);if(n.shaderSource(i,e),n.compileShader(i),n.getShaderParameter(i,n.COMPILE_STATUS))return i;console.error(n.getShaderInfoLog(i)),n.deleteShader(i)}},{key:"createVertexShader",value:function(t){var e=this.gl;return this.createShader(e.VERTEX_SHADER,t)}},{key:"createFragmentShader",value:function(t){var e=this.gl;return this.createShader(e.FRAGMENT_SHADER,t)}},{key:"eachFilter",value:function(t){this.filterList.forEach(t)}},{key:"init",value:function(){this.locations={},this.buffers={},this.framebuffers={},this.textures={},this.textureIndex={},this.hasTexParameter={}}},{key:"destroy",value:function(){var t=this.gl;this.init(),t.deleteProgram(this.program)}},{key:"filter",value:function(t,e){var n,i,r;this.filterList=t,this.initCanvas("#version 300 es \n\n in vec2 a_position;\n in vec2 a_texCoord; \n\n uniform vec2 u_resolution;\n uniform float u_flipY;\n\n out vec2 v_texCoord; \n\n void main() {\n vec2 zeroToOne = a_position / u_resolution;\n\n vec2 zeroToTwo = zeroToOne * 2.0;\n\n vec2 clipSpace = zeroToTwo - 1.0;\n\n gl_Position = vec4(clipSpace * vec2(1, u_flipY), 0, 1);\n\n v_texCoord = a_texCoord;\n\n }\n ",(n=this.filterList,i=n.filter((function(t){return"shader"==t.type})).map((function(t){return t.content})).join("\n\n"),r={9:!0},n.filter((function(t){return"convolution"==t.type})).forEach((function(t){r[t.length]=!0})),"#version 300 es\n\n precision highp int;\n precision mediump float;\n \n uniform sampler2D u_image;\n\n // 3 is 3x3 matrix kernel \n uniform float u_kernelSelect;\n uniform float u_filterIndex;\n\n uniform float u_kernel9[9];\n uniform float u_kernel9Weight;\n uniform float u_kernel25[25];\n uniform float u_kernel25Weight;\n uniform float u_kernel49[49];\n uniform float u_kernel49Weight;\n uniform float u_kernel81[81];\n uniform float u_kernel81Weight; \n\n in vec2 v_texCoord;\n \n out vec4 outColor;\n\n float random (vec2 st) {\n return fract(sin(dot(st.xy, vec2(12.9898,78.233)))* 43758.5453123);\n } \n\n // \n vec3 rgb2hsv(vec3 c)\n {\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\n vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\n\n float d = q.x - min(q.w, q.y);\n float e = 1.0e-10;\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);\n }\n\n vec3 hsv2rgb(vec3 c)\n {\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\n }\n \n void main() {\n vec4 pixelColor = texture(u_image, v_texCoord);\n vec2 onePixel = vec2(1) / vec2(textureSize(u_image, 0)); \n\n "+i+"\n\n "+Object.keys(r).map((function(t){return Le(+t)})).join("\n")+"\n\n }")),this.drawFilter(),"function"==typeof e&&e(this)}}]),t}()},Ye={filter:function(t,e,n,i){var r=new Ve.GLCanvas({width:i.width||t.width,height:i.height||t.height,img:t});r.filter(Ke(e),(function(){"function"==typeof n&&n(r)}))}};function Ke(t){var e=[];"string"==typeof t?e=pe(t):Array.isArray(t)&&(e=t);var n=[];return e.forEach((function(t){var e=t.arr[0];if(Ge[e]){var i=function(t){var e=t.arr[0],n=Ge[e],i=t.arr;return i.shift(),n.apply(this,i)}(t);"convolution"==i.type||"shader"==i.type?n.push(i):i.forEach((function(t){n=n.concat(Ke(t))}))}})),n}var Xe=k({},Ve,Ye);function Qe(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{frameTimer:"full"},r=new gt(t);r.loadImage((function(){r.toArray(e,(function(t){"function"==typeof n&&n(t)}),i)}))}var Ze=k({},o,f,rt,R,Z,W,j,Q,v,K,{palette:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"hex";return t.length>n&&(t=dt(t,n)),t.map((function(t){return e(t,i)}))},ImageToCanvas:function(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{frameTimer:"full"};Qe(t,e,n,Object.assign({returnTo:"canvas"},i))},ImageToHistogram:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{width:200,height:100},i=new gt(t);i.loadImage((function(){pt.createHistogram(n.width||200,n.height||100,i.toHistogram(n),(function(t){"function"==typeof e&&e(t.toDataURL("image/png"))}),n)}))},ImageToRGB:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];if(n){if(n){var i;(i=new gt(t,e)).loadImage((function(){"function"==typeof n&&n(i.toRGB())}))}}else(i=new gt(t)).loadImage((function(){"function"==typeof e&&e(i.toRGB())}))},ImageToURL:Qe,GLToCanvas:function(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=new gt(t);r.load((function(){Xe.filter(r.newImage,e,(function(t){"function"==typeof n&&n(t)}),i)}))},histogram:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=new gt(t);i.loadImage((function(){"function"==typeof e&&e(i.toHistogram(n))}))},histogramToPoints:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.2,n=[],i=0;i<t.length;i++){var r=t[i];if(0!=i)if(i!=t.length-1){var o=t[i-1],s=t[i+1],a=(s[1],o[1],s[0],o[0],[o[0]+(s[0]-o[0])*e,o[1]+(s[1]-o[1])*e]),l=[[].concat(E(o)),[].concat(a)],c=Math.sqrt(Math.pow(r[0]-o[0],2)+Math.pow(r[1]-o[1],2)),h=Math.sqrt(Math.pow(s[0]-r[0],2)+Math.pow(s[1]-r[1],2)),u=c/h,f=l[0][0]+(l[1][0]-l[0][0])*u,d=l[0][1]+(l[1][1]-l[0][1])*u;l[0][0]+=r[0]-f,l[0][1]+=r[1]-d,l[1][0]+=r[0]-f,l[1][1]+=r[1]-d,n[i]=l}else n[i]=[];else n[i]=[]}return n}}),Je=[{rgb:"#ff0000",start:0},{rgb:"#ffff00",start:.17},{rgb:"#00ff00",start:.33},{rgb:"#00ffff",start:.5},{rgb:"#0000ff",start:.67},{rgb:"#ff00ff",start:.83},{rgb:"#ff0000",start:1}];!function(){for(var t=0,e=Je.length;t<e;t++){var n=Je[t],i=Ze.parse(n.rgb);n.r=i.r,n.g=i.g,n.b=i.b}}();var tn={colors:Je,checkHueColor:function(t){for(var e,n,i=0;i<Je.length;i++)if(Je[i].start>=t){e=Je[i-1],n=Je[i];break}return e&&n?Ze.interpolateRGB(e,n,(t-e.start)/(n.start-e.start)):Je[0].rgb}},en=k({},Pt,Bt),nn={Color:Ze,HueColor:tn,ColorNames:p,ImageFilter:en,GL:Xe,Canvas:pt,ImageLoader:gt},rn=(Ze.color,0),on=[],sn=function(){function t(e,n,i){if(_(this,t),"string"!=typeof e)this.el=e;else{var r=document.createElement(e);for(var o in this.uniqId=rn++,n&&(r.className=n),i=i||{})r.setAttribute(o,i[o]);this.el=r}}return y(t,[{key:"attr",value:function(t,e){return 1==arguments.length?this.el.getAttribute(t):(this.el.setAttribute(t,e),this)}},{key:"closest",value:function(e){for(var n=this,i=!1;!(i=n.hasClass(e));){if(!n.el.parentNode)return null;n=new t(n.el.parentNode)}return i?n:null}},{key:"checked",value:function(){return this.el.checked}},{key:"removeClass",value:function(t){return this.el.className=(" "+this.el.className+" ").replace(" "+t+" "," ").trim(),this}},{key:"hasClass",value:function(t){return!!this.el.className&&(" "+this.el.className+" ").indexOf(" "+t+" ")>-1}},{key:"addClass",value:function(t){return this.hasClass(t)||(this.el.className=this.el.className+" "+t),this}},{key:"toggleClass",value:function(t){this.hasClass(t)?this.removeClass(t):this.addClass(t)}},{key:"html",value:function(t){try{"string"==typeof t?this.el.innerHTML=t:this.empty().append(t)}catch(e){console.log(t)}return this}},{key:"find",value:function(t){return this.el.querySelector(t)}},{key:"$",value:function(e){return new t(this.find(e))}},{key:"findAll",value:function(t){return this.el.querySelectorAll(t)}},{key:"$$",value:function(e){return[].concat(E(this.findAll(e))).map((function(e){return new t(e)}))}},{key:"empty",value:function(){return this.html("")}},{key:"append",value:function(t){return"string"==typeof t?this.el.appendChild(document.createTextNode(t)):this.el.appendChild(t.el||t),this}},{key:"appendTo",value:function(t){return(t.el?t.el:t).appendChild(this.el),this}},{key:"remove",value:function(){return this.el.parentNode&&this.el.parentNode.removeChild(this.el),this}},{key:"text",value:function(){return this.el.textContent}},{key:"css",value:function(t,e){var n=this;if(2==arguments.length)this.el.style[t]=e;else if(1==arguments.length){if("string"==typeof t)return getComputedStyle(this.el)[t];var i=t||{};Object.keys(i).forEach((function(t){n.el.style[t]=i[t]}))}return this}},{key:"cssFloat",value:function(t){return parseFloat(this.css(t))}},{key:"cssInt",value:function(t){return parseInt(this.css(t))}},{key:"offset",value:function(){var e=this.el.getBoundingClientRect();return{top:e.top+t.getScrollTop(),left:e.left+t.getScrollLeft()}}},{key:"rect",value:function(){return this.el.getBoundingClientRect()}},{key:"position",value:function(){return this.el.style.top?{top:parseFloat(this.css("top")),left:parseFloat(this.css("left"))}:this.el.getBoundingClientRect()}},{key:"size",value:function(){return[this.width(),this.height()]}},{key:"width",value:function(){return this.el.offsetWidth||this.el.getBoundingClientRect().width}},{key:"contentWidth",value:function(){return this.width()-this.cssFloat("padding-left")-this.cssFloat("padding-right")}},{key:"height",value:function(){return this.el.offsetHeight||this.el.getBoundingClientRect().height}},{key:"contentHeight",value:function(){return this.height()-this.cssFloat("padding-top")-this.cssFloat("padding-bottom")}},{key:"dataKey",value:function(t){return this.uniqId+"."+t}},{key:"data",value:function(t,e){if(2!=arguments.length){if(1==arguments.length)return on[this.dataKey(t)];var n=Object.keys(on),i=this.uniqId+".";return n.filter((function(t){return 0==t.indexOf(i)})).map((function(t){return on[t]}))}return on[this.dataKey(t)]=e,this}},{key:"val",value:function(t){return 0==arguments.length?this.el.value:(1==arguments.length&&(this.el.value=t),this)}},{key:"int",value:function(){return parseInt(this.val(),10)}},{key:"float",value:function(){return parseFloat(this.val())}},{key:"show",value:function(){return this.css("display","block")}},{key:"hide",value:function(){return this.css("display","none")}},{key:"toggle",value:function(){return"none"==this.css("display")?this.show():this.hide()}},{key:"scrollTop",value:function(){return this.el===document.body?t.getScrollTop():this.el.scrollTop}},{key:"scrollLeft",value:function(){return this.el===document.body?t.getScrollLeft():this.el.scrollLeft}},{key:"on",value:function(t,e,n,i){return this.el.addEventListener(t,e,n,i),this}},{key:"off",value:function(t,e){return this.el.removeEventListener(t,e),this}},{key:"getElement",value:function(){return this.el}},{key:"createChild",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=new t(e,n,i);return o.css(r),this.append(o),o}},{key:"firstChild",value:function(){return new t(this.el.firstElementChild)}},{key:"replace",value:function(t,e){return this.el.replaceChild(e,t),this}}],[{key:"getScrollTop",value:function(){return Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop)}},{key:"getScrollLeft",value:function(){return Math.max(window.pageXOffset,document.documentElement.scrollLeft,document.body.scrollLeft)}}]),t}(),an=function(){function t(e){_(this,t),this.$store=e,this.initialize()}return y(t,[{key:"initialize",value:function(){var t=this;this.filterProps().forEach((function(e){t.$store.action(e,t)}))}},{key:"filterProps",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";return Object.getOwnPropertyNames(this.__proto__).filter((function(e){return e.startsWith(t)}))}}]),t}(),ln=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"initialize",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initialize",this).call(this),this.$store.colorSetsList=[{name:"Material",colors:["#F44336","#E91E63","#9C27B0","#673AB7","#3F51B5","#2196F3","#03A9F4","#00BCD4","#009688","#4CAF50","#8BC34A","#CDDC39","#FFEB3B","#FFC107","#FF9800","#FF5722","#795548","#9E9E9E","#607D8B"]},{name:"Custom",edit:!0,colors:[]},{name:"Color Scale",scale:["red","yellow","black"],count:5}],this.$store.currentColorSets={}}},{key:"/list",value:function(t){return Array.isArray(t.userList)&&t.userList.length?t.userList:t.colorSetsList}},{key:"/setUserPalette",value:function(t,e){t.userList=e,t.dispatch("/resetUserPalette"),t.dispatch("/setCurrentColorSets")}},{key:"/resetUserPalette",value:function(t){t.userList&&t.userList.length&&(t.userList=t.userList.map((function(e,n){if("function"==typeof e.colors){var i=e.colors;e.colors=i(t),e._colors=i}return Object.assign({name:"color-"+n,colors:[]},e)})),t.emit("changeUserList"))}},{key:"/setCurrentColorSets",value:function(t,e){var n=t.dispatch("/list");t.currentColorSets=void 0===e?n[0]:"number"==typeof e?n[e]:n.filter((function(t){return t.name==e}))[0],t.emit("changeCurrentColorSets")}},{key:"/getCurrentColorSets",value:function(t){return t.currentColorSets}},{key:"/addCurrentColor",value:function(t,e){Array.isArray(t.currentColorSets.colors)&&(t.currentColorSets.colors.push(e),t.emit("changeCurrentColorSets"))}},{key:"/setCurrentColorAll",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];t.currentColorSets.colors=e,t.emit("changeCurrentColorSets")}},{key:"/removeCurrentColor",value:function(t,e){t.currentColorSets.colors[e]&&(t.currentColorSets.colors.splice(e,1),t.emit("changeCurrentColorSets"))}},{key:"/removeCurrentColorToTheRight",value:function(t,e){t.currentColorSets.colors[e]&&(t.currentColorSets.colors.splice(e,Number.MAX_VALUE),t.emit("changeCurrentColorSets"))}},{key:"/clearPalette",value:function(t){t.currentColorSets.colors&&(t.currentColorSets.colors=[],t.emit("changeCurrentColorSets"))}},{key:"/getCurrentColors",value:function(t){return t.dispatch("/getColors",t.currentColorSets)}},{key:"/getColors",value:function(t,e){return e.scale?Ze.scale(e.scale,e.count):e.colors||[]}},{key:"/getColorSetsList",value:function(t){return t.dispatch("/list").map((function(e){return{name:e.name,edit:e.edit,colors:t.dispatch("/getColors",e)}}))}}]),e}(an),cn={addEvent:function(t,e,n,i){t&&t.addEventListener(e,n,i)},removeEvent:function(t,e,n){t&&t.removeEventListener(e,n)},pos:function(t){return t.touches&&t.touches[0]?t.touches[0]:t},posXY:function(t){var e=this.pos(t);return{x:e.pageX,y:e.pageY}}},hn=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_(this,t),this.masterObj=e,this.settingObj=n}return y(t,[{key:"set",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;this.settingObj[t]=e||n}},{key:"init",value:function(t){if(!this.has(t)){var e=t.split("."),n=this.masterObj.refs[e[0]]||this.masterObj[e[0]]||this.masterObj,i=e.pop();if(n[i]){for(var r=arguments.length,o=Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];var a=n[i].apply(n,o);this.set(t,a)}}}},{key:"get",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this.init(t,e),this.settingObj[t]||e}},{key:"has",value:function(t){return!!this.settingObj[t]}}]),t}(),un=/^(click|mouse(down|up|move|enter|leave)|touch(start|move|end)|key(down|up|press)|contextmenu|change|input)/gi,fn=/^load (.*)/gi,dn=["Control","Shift","Alt","Meta"],pn=function(){function t(){_(this,t),this.state=new hn(this),this.refs={},this.childComponents=this.components()}return y(t,[{key:"newChildComponents",value:function(){var t=this;Object.keys(this.childComponents).forEach((function(e){var n=t.childComponents[e];t[e]=new n(t)}))}},{key:"render",value:function(){this.$el=this.parseTemplate(this.template()),this.refs.$el=this.$el,this.parseTarget(),this.load(),this.afterRender()}},{key:"afterRender",value:function(){}},{key:"components",value:function(){return{}}},{key:"parseTemplate",value:function(t){var e=this,n=new sn("div").html(t).firstChild(),i=n.findAll("[ref]");return[].concat(E(i)).forEach((function(t){var n=t.getAttribute("ref");e.refs[n]=new sn(t)})),n}},{key:"parseTarget",value:function(){var t=this,e=this.$el.findAll("[target]");[].concat(E(e)).forEach((function(e){var n=e.getAttribute("target"),i=e.getAttribute("ref")||n,r=new(0,t.childComponents[n])(t);t[i]=r,t.refs[i]=r.$el,r&&(r.render(),new sn(e.parentNode).replace(e,r.$el.el))}))}},{key:"load",value:function(){var t=this;this.filterProps(fn).forEach((function(e){var n=e.split("load ")[1];t.refs[n]&&t.refs[n].html(t.parseTemplate(t[e].call(t)))}))}},{key:"template",value:function(){return"<div></div>"}},{key:"initialize",value:function(){}},{key:"initializeEvent",value:function(){var t=this;this.initializeEventMachin(),Object.keys(this.childComponents).forEach((function(e){t[e]&&t[e].initializeEvent()}))}},{key:"destroy",value:function(){var t=this;this.destroyEventMachin(),Object.keys(this.childComponents).forEach((function(e){t[e]&&t[e].destroy()}))}},{key:"destroyEventMachin",value:function(){this.removeEventAll()}},{key:"initializeEventMachin",value:function(){this.filterProps(un).forEach(this.parseEvent.bind(this))}},{key:"collectProps",value:function(){if(!this.collapsedProps){var t=this.__proto__,e=[];do{e.push.apply(e,E(Object.getOwnPropertyNames(t))),t=t.__proto__}while(t);this.collapsedProps=e}return this.collapsedProps}},{key:"filterProps",value:function(t){return this.collectProps().filter((function(e){return e.match(t)}))}},{key:"parseEvent",value:function(t){var e=t.split(" ");this.bindingEvent(e,this[t].bind(this))}},{key:"getDefaultDomElement",value:function(t){var e=void 0;return(e=t?this.refs[t]||this[t]||window[t]:this.el||this.$el||this.$root)instanceof sn?e.getElement():e}},{key:"getDefaultEventObject",value:function(t){var e=this,n=t.split("."),i=n.shift(),r=n.includes("Control"),o=n.includes("Shift"),s=n.includes("Alt"),a=n.includes("Meta"),l=(n=n.filter((function(t){return!1===dn.includes(t)}))).filter((function(t){return!!e[t]}));return{eventName:i,isControl:r,isShift:o,isAlt:s,isMeta:a,codes:n=n.filter((function(t){return!1===l.includes(t)})).map((function(t){return t.toLowerCase()})),checkMethodList:l}}},{key:"bindingEvent",value:function(t,e){var n,i=(n=t,Array.isArray(n)?n:Array.from(n)),r=i[0],o=i[1],s=i.slice(2);o=this.getDefaultDomElement(o);var a=this.getDefaultEventObject(r);a.dom=o,a.delegate=s.join(" "),this.addEvent(a,e)}},{key:"matchPath",value:function(t,e){return t?t.matches(e)?t:this.matchPath(t.parentElement,e):null}},{key:"getBindings",value:function(){return this._bindings||this.initBindings(),this._bindings}},{key:"addBinding",value:function(t){this.getBindings().push(t)}},{key:"initBindings",value:function(){this._bindings=[]}},{key:"checkEventType",value:function(t,e){var n=this,i=!e.isControl||t.ctrlKey,r=!e.isShift||t.shiftKey,o=!e.isAlt||t.altKey,s=!e.isMeta||t.metaKey,a=!0;e.codes.length&&(a=e.codes.includes(t.code.toLowerCase())||e.codes.includes(t.key.toLowerCase()));var l=!0;return e.checkMethodList.length&&(l=e.checkMethodList.every((function(e){return n[e].call(n,t)}))),i&&o&&r&&s&&a&&l}},{key:"makeCallback",value:function(t,e){var n=this;return t.delegate?function(i){if(i.xy=cn.posXY(i),n.checkEventType(i,t)){var r=n.matchPath(i.target||i.srcElement,t.delegate);if(r)return i.delegateTarget=r,i.$delegateTarget=new sn(r),e(i)}}:function(i){if(i.xy=cn.posXY(i),n.checkEventType(i,t))return e(i)}}},{key:"addEvent",value:function(t,e){t.callback=this.makeCallback(t,e),this.addBinding(t);var n=!0;"touchstart"===t.eventName&&(n={passive:!0}),cn.addEvent(t.dom,t.eventName,t.callback,n)}},{key:"removeEventAll",value:function(){var t=this;this.getBindings().forEach((function(e){t.removeEvent(e)})),this.initBindings()}},{key:"removeEvent",value:function(t){var e=t.eventName,n=t.dom,i=t.callback;cn.removeEvent(n,e,i)}}]),t}(),gn=/^@/,mn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.opt=t||{},t&&t.$store&&(n.$store=t.$store),n.initialize(),n.initializeStoreEvent(),n}return T(e,t),y(e,[{key:"initializeStoreEvent",value:function(){var t=this;this.storeEvents={},this.filterProps(gn).forEach((function(e){var n=e.split("@");n.shift();var i=n.join("@");t.storeEvents[i]=t[e].bind(t),t.$store.on(i,t.storeEvents[i])}))}},{key:"destoryStoreEvent",value:function(){var t=this;Object.keys(this.storeEvents).forEach((function(e){t.$store.off(e,t.storeEvents[e])}))}}]),e}(pn),vn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"initialize",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initialize",this).call(this),this.$store.rgb={},this.$store.hsl={},this.$store.hsv={},this.$store.alpha=1,this.$store.format="hex"}},{key:"/changeFormat",value:function(t,e){t.format=e,t.emit("changeFormat")}},{key:"/initColor",value:function(t,e,n){t.dispatch("/changeColor",e,n,!0),t.emit("initColor")}},{key:"/changeColor",value:function(t,e,n,i){var r;"string"==typeof(e=e||"#FF0000")&&(e=Ze.parse(e)),e.source=e.source||n,t.alpha=void 0===(r=e.a)||null==r?t.alpha:e.a,t.format="hsv"!=e.type&&e.type||t.format,"hsl"==e.type?(t.hsl=Object.assign(t.hsl,e),t.rgb=Ze.HSLtoRGB(t.hsl),t.hsv=Ze.HSLtoHSV(e)):"hex"==e.type||"rgb"==e.type?(t.rgb=Object.assign(t.rgb,e),t.hsl=Ze.RGBtoHSL(t.rgb),t.hsv=Ze.RGBtoHSV(e)):"hsv"==e.type&&(t.hsv=Object.assign(t.hsv,e),t.rgb=Ze.HSVtoRGB(t.hsv),t.hsl=Ze.HSVtoHSL(t.hsv)),i||t.emit("changeColor",e.source)}},{key:"/getHueColor",value:function(t){return tn.checkHueColor(t.hsv.h/360)}},{key:"/toString",value:function(t,e){var n=t[e=e||t.format]||t.rgb;return Ze.format(k({},n,{a:t.alpha}),e)}},{key:"/toColor",value:function(t,e){return"rgb"==(e=e||t.format)?t.dispatch("/toRGB"):"hsl"==e?t.dispatch("/toHSL"):"hex"==e?t.dispatch("/toHEX"):t.dispatch("/toString",e)}},{key:"/toRGB",value:function(t){return t.dispatch("/toString","rgb")}},{key:"/toHSL",value:function(t){return t.dispatch("/toString","hsl")}},{key:"/toHEX",value:function(t){return t.dispatch("/toString","hex").toUpperCase()}}]),e}(an),_n=function(){function t(e){_(this,t),this.callbacks=[],this.actions=[],this.modules=e.modules||[],this.initialize()}return y(t,[{key:"initialize",value:function(){this.initializeModule()}},{key:"initializeModule",value:function(){var t=this;this.modules.forEach((function(e){new e(t)}))}},{key:"action",value:function(t,e){this.actions[t]={context:e,callback:e[t]}}},{key:"dispatch",value:function(t){var e=[].concat(Array.prototype.slice.call(arguments)),n=(t=e.shift(),this.actions[t]);if(n)return n.callback.apply(n.context,[this].concat(E(e)))}},{key:"module",value:function(t){}},{key:"on",value:function(t,e){this.callbacks.push({event:t,callback:e})}},{key:"off",value:function(t,e){0==arguments.length?this.callbacks=[]:1==arguments.length?this.callbacks=this.callbacks.filter((function(e){return e.event!=t})):2==arguments.length&&(this.callbacks=this.callbacks.filter((function(n){return n.event!=t&&n.callback!=e})))}},{key:"emit",value:function(){var t=[].concat(Array.prototype.slice.call(arguments)),e=t.shift();this.callbacks.filter((function(t){return t.event==e})).forEach((function(e){e&&"function"==typeof e.callback&&e.callback.apply(e,E(t))}))}}]),t}(),yn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.isColorPickerShow=!1,n.isShortCut=!1,n.hideDelay=+(void 0===n.opt.hideDeplay?2e3:n.opt.hideDelay),n.timerCloseColorPicker,n.autoHide=n.opt.autoHide||!0,n.outputFormat=n.opt.outputFormat,n.$checkColorPickerClass=n.checkColorPickerClass.bind(n),n}return T(e,t),y(e,[{key:"initialize",value:function(){var t=this;this.$body=null,this.$root=null,this.$store=new _n({modules:[vn,ln]}),this.callbackChange=function(){t.callbackColorValue()},this.callbackLastUpdate=function(){t.callbackLastUpdateColorValue()},this.colorpickerShowCallback=function(){},this.colorpickerHideCallback=function(){},this.colorpickerLastUpdateCallback=function(){},this.$body=new sn(this.getContainer()),this.$root=new sn("div","codemirror-colorpicker"),"inline"==this.opt.position&&this.$body.append(this.$root),this.opt.type&&this.$root.addClass(this.opt.type),this.opt.hideInformation&&this.$root.addClass("hide-information"),this.opt.hideColorsets&&this.$root.addClass("hide-colorsets"),this.$arrow=new sn("div","arrow"),this.$root.append(this.$arrow),this.$store.dispatch("/setUserPalette",this.opt.colorSets),this.render(),this.$root.append(this.$el),this.initColorWithoutChangeEvent(this.opt.color),this.initializeEvent()}},{key:"initColorWithoutChangeEvent",value:function(t){this.$store.dispatch("/initColor",t)}},{key:"show",value:function(t,e,n,i,r){this.colorpickerShowCallback=n,this.colorpickerHideCallback=i,this.colorpickerLastUpdateCallback=r,this.$root.css(this.getInitalizePosition()).show(),this.isColorPickerShow=!0,this.isShortCut=t.isShortCut||!1,this.outputFormat=t.outputFormat,this.hideDelay=+(void 0===t.hideDelay?2e3:t.hideDelay),this.hideDelay>0&&this.setHideDelay(this.hideDelay),this.$root.appendTo(this.$body),this.definePosition(t),this.initColorWithoutChangeEvent(e)}},{key:"initColor",value:function(t,e){this.$store.dispatch("/changeColor",t,e)}},{key:"hide",value:function(){this.isColorPickerShow&&(this.$root.hide(),this.$root.remove(),this.isColorPickerShow=!1,this.callbackHideColorValue())}},{key:"setColorsInPalette",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.$store.dispatch("/setCurrentColorAll",t)}},{key:"setUserPalette",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.$store.dispatch("/setUserPalette",t)}},{key:"getOption",value:function(t){return this.opt[t]}},{key:"setOption",value:function(t,e){this.opt[t]=e}},{key:"isType",value:function(t){return this.getOption("type")==t}},{key:"isPaletteType",value:function(){return this.isType("palette")}},{key:"isSketchType",value:function(){return this.isType("sketch")}},{key:"getContainer",value:function(){return this.opt.container||document.body}},{key:"getColor",value:function(t){return this.$store.dispatch("/toColor",t)}},{key:"definePositionForArrow",value:function(t,e,n){}},{key:"definePosition",value:function(t){var e=this.$root.width(),n=this.$root.height(),i=t.left-this.$body.scrollLeft();e+i>window.innerWidth&&(i-=e+i-window.innerWidth),i<0&&(i=0);var r=t.top-this.$body.scrollTop();n+r>window.innerHeight&&(r-=n+r-window.innerHeight),r<0&&(r=0),this.$root.css({left:i+"px",top:r+"px"})}},{key:"getInitalizePosition",value:function(){return"inline"==this.opt.position?{position:"relative",left:"auto",top:"auto",display:"inline-block"}:{position:"fixed",left:"-10000px",top:"-10000px"}}},{key:"isAbsolute",value:function(){return"inline"!==this.opt.position}},{key:"mouseup.isAbsolute document",value:function(t){this.__isMouseDown=!1,this.checkInHtml(t.target)||(0==this.checkColorPickerClass(t.target)?this.hide():this.__isMouseIn||(clearTimeout(this.timerCloseColorPicker),this.timerCloseColorPicker=setTimeout(this.hide.bind(this),this.delayTime||this.hideDelay)))}},{key:"keyup.isAbsolute.escape $root",value:function(t){this.hide()}},{key:"mouseover.isAbsolute $root",value:function(t){clearTimeout(this.timerCloseColorPicker)}},{key:"mousemove.isAbsolute $root",value:function(t){clearTimeout(this.timerCloseColorPicker)}},{key:"mouseenter.isAbsolute $root",value:function(t){clearTimeout(this.timerCloseColorPicker),this.__isMouseIn=!0}},{key:"mouseleave.isAbsolute $root",value:function(t){this.__isMouseIn=!1,this.__isMouseDown||(clearTimeout(this.timerCloseColorPicker),this.timerCloseColorPicker=setTimeout(this.hide.bind(this),this.delayTime||this.hideDelay))}},{key:"mousedown.isAbsolute $root",value:function(t){this.__isMouseDown=!0}},{key:"setHideDelay",value:function(t){this.delayTime=t||0}},{key:"runHideDelay",value:function(){this.isColorPickerShow&&this.setHideDelay()}},{key:"callbackColorValue",value:function(t){t=t||this.getCurrentColor(),"function"==typeof this.opt.onChange&&this.opt.onChange.call(this,t),"function"==typeof this.colorpickerShowCallback&&this.colorpickerShowCallback(t)}},{key:"callbackLastUpdateColorValue",value:function(t){t=t||this.getCurrentColor(),"function"==typeof this.opt.onLastUpdate&&this.opt.onLastUpdate.call(this,t),"function"==typeof this.colorpickerLastUpdateCallback&&this.colorpickerLastUpdateCallback(t)}},{key:"callbackHideColorValue",value:function(t){t=t||this.getCurrentColor(),"function"==typeof this.opt.onHide&&this.opt.onHide.call(this,t),"function"==typeof this.colorpickerHideCallback&&this.colorpickerHideCallback(t)}},{key:"getCurrentColor",value:function(){return this.$store.dispatch("/toColor",this.outputFormat)}},{key:"checkColorPickerClass",value:function(t){var e=new sn(t).closest("codemirror-colorview"),n=new sn(t).closest("codemirror-colorpicker"),i=new sn(t).closest("CodeMirror");return t.nodeName,!!(n||e||i)}},{key:"checkInHtml",value:function(t){return"HTML"==t.nodeName}},{key:"initializeStoreEvent",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initializeStoreEvent",this).call(this),this.$store.on("changeColor",this.callbackChange),this.$store.on("lastUpdateColor",this.callbackLastUpdate),this.$store.on("changeFormat",this.callbackChange)}},{key:"destroy",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this),this.$store.off("changeColor",this.callbackChange),this.$store.off("lastUpdateColor",this.callbackLastUpdate),this.$store.off("changeFormat",this.callbackChange),this.callbackChange=void 0,this.callbackLastUpdate=void 0,this.colorpickerShowCallback=void 0,this.colorpickerHideCallback=void 0}}]),e}(mn),xn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.minValue=0,n.maxValue=1,n.source="base-slider",n}return T(e,t),y(e,[{key:"getMinMaxPosition",value:function(){var t=this.getMinPosition(),e=this.getMaxDist();return{min:t,max:t+e,width:e}}},{key:"getCurrent",value:function(t){return min+this.getMaxDist()*t}},{key:"getMinPosition",value:function(){return this.refs.$container.offset().left}},{key:"getMaxDist",value:function(){return this.state.get("$container.width")}},{key:"getDist",value:function(t){var e=this.getMinMaxPosition(),n=e.min,i=e.max;return t<n?0:t>i?100:(t-n)/(i-n)*100}},{key:"getCaculatedDist",value:function(t){var e=t?this.getMousePosition(t):this.getCurrent(this.getDefaultValue()/this.maxValue);return this.getDist(e)}},{key:"getDefaultValue",value:function(){return 0}},{key:"setMousePosition",value:function(t){this.refs.$bar.css({left:t+"px"})}},{key:"getMousePosition",value:function(t){return cn.pos(t).pageX}},{key:"refresh",value:function(){this.setColorUI()}},{key:"setColorUI",value:function(t){(t=t||this.getDefaultValue())<=this.minValue?this.refs.$bar.addClass("first").removeClass("last"):t>=this.maxValue?this.refs.$bar.addClass("last").removeClass("first"):this.refs.$bar.removeClass("last").removeClass("first"),this.setMousePosition(this.getMaxDist()*((t||0)/this.maxValue))}}]),e}(function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.source="base-box",n}return T(e,t),y(e,[{key:"refresh",value:function(){}},{key:"refreshColorUI",value:function(t){}},{key:"changeColor",value:function(t){this.$store.dispatch("/changeColor",Object.assign({source:this.source},t||{}))}},{key:"mouseup document",value:function(t){this.onDragEnd(t)}},{key:"mousemove document",value:function(t){this.onDragMove(t)}},{key:"mousedown $bar",value:function(t){t.preventDefault(),this.isDown=!0}},{key:"mousedown $container",value:function(t){this.isDown=!0,this.onDragStart(t)}},{key:"touchend document",value:function(t){this.onDragEnd(t)}},{key:"touchmove document",value:function(t){this.onDragMove(t)}},{key:"touchstart $bar",value:function(t){t.preventDefault(),this.isDown=!0}},{key:"touchstart $container",value:function(t){this.onDragStart(t)}},{key:"onDragStart",value:function(t){this.isDown=!0,this.refreshColorUI(t)}},{key:"onDragMove",value:function(t){this.isDown&&this.refreshColorUI(t)}},{key:"onDragEnd",value:function(t){this.isDown&&(this.$store.emit("lastUpdateColor"),this.isDown=!1)}},{key:"@changeColor",value:function(t){this.source!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(mn)),kn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.minValue=0,n.maxValue=1,n.source="value-control",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="value">\n <div ref="$container" class="value-container">\n <div ref="$bar" class="drag-bar"></div>\n </div>\n </div>\n '}},{key:"setBackgroundColor",value:function(){this.refs.$container.css("background-color",this.$store.dispatch("/toRGB"))}},{key:"refresh",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"refresh",this).call(this),this.setBackgroundColor()}},{key:"getDefaultValue",value:function(){return this.$store.hsv.v}},{key:"refreshColorUI",value:function(t){var e=this.getCaculatedDist(t);this.setColorUI(e/100*this.maxValue),this.changeColor({type:"hsv",v:e/100*this.maxValue})}}]),e}(xn),bn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.minValue=0,n.maxValue=1,n.source="opacity-control",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="opacity">\n <div ref="$container" class="opacity-container">\n <div ref="$colorbar" class="color-bar"></div>\n <div ref="$bar" class="drag-bar"></div>\n </div>\n </div>\n '}},{key:"refresh",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"refresh",this).call(this),this.setOpacityColorBar()}},{key:"setOpacityColorBar",value:function(){var t=Object.assign({},this.$store.rgb);t.a=0;var e=Ze.format(t,"rgb");t.a=1;var n=Ze.format(t,"rgb");this.setOpacityColorBarBackground(e,n)}},{key:"setOpacityColorBarBackground",value:function(t,e){this.refs.$colorbar.css("background","linear-gradient(to right, "+t+", "+e+")")}},{key:"getDefaultValue",value:function(){return this.$store.alpha}},{key:"refreshColorUI",value:function(t){var e=this.getCaculatedDist(t);this.setColorUI(e/100*this.maxValue),this.changeColor({a:Math.floor(e)/100*this.maxValue})}}]),e}(xn),Tn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Value:kn,Opacity:bn}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Value" ></div>\n <div target="Opacity" ></div>\n <div ref="$controlPattern" class="empty"></div>\n <div ref="$controlColor" class="color"></div>\n </div>\n '}},{key:"setBackgroundColor",value:function(){this.refs.$controlColor.css("background-color",this.$store.dispatch("/toRGB"))}},{key:"refresh",value:function(){this.setColorUI(),this.setBackgroundColor()}},{key:"setColorUI",value:function(){this.Value.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"macos-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(mn),Cn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.width=214,n.height=214,n.thinkness=0,n.half_thinkness=0,n.source="colorwheel",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="wheel">\n <canvas class="wheel-canvas" ref="$colorwheel" ></canvas>\n <div class="wheel-canvas" ref="$valuewheel" ></div>\n <div class="drag-pointer" ref="$drag_pointer"></div>\n </div>\n '}},{key:"refresh",value:function(t){this.setColorUI(t)}},{key:"setColorUI",value:function(t){this.renderCanvas(),this.renderValue(),this.setHueColor(null,t)}},{key:"renderValue",value:function(){var t=1-this.$store.hsv.v;this.refs.$valuewheel.css({"background-color":"rgba(0, 0, 0, "+t+")"})}},{key:"renderWheel",value:function(t,e){this.width&&!t&&(t=this.width),this.height&&!e&&(e=this.height);var n=new sn("canvas"),i=n.el.getContext("2d");n.el.width=t,n.el.height=e,n.css({width:t+"px",height:e+"px"});for(var r=i.getImageData(0,0,t,e),o=r.data,s=Math.floor(t/2),a=Math.floor(e/2),l=t>e?a:s,c=s,h=a,f=0;f<e;f++)for(var d=0;d<t;d++){var p=d-c+1,g=f-h+1,m=p*p+g*g,v=u(p,g),_=Ze.HSVtoRGB(v,Math.min(Math.sqrt(m)/l,1),1),y=4*(f*t+d);o[y]=_.r,o[y+1]=_.g,o[y+2]=_.b,o[y+3]=255}return i.putImageData(r,0,0),this.thinkness>0&&(i.globalCompositeOperation="destination-out",i.fillStyle="black",i.beginPath(),i.arc(c,h,l-this.thinkness,0,2*Math.PI),i.closePath(),i.fill()),n}},{key:"renderCanvas",value:function(){if(!this.$store.createdWheelCanvas){var t=this.refs.$colorwheel,e=t.el.getContext("2d"),n=t.size(),i=w(n,2),r=i[0],o=i[1];this.width&&!r&&(r=this.width),this.height&&!o&&(o=this.height),t.el.width=r,t.el.height=o,t.css({width:r+"px",height:o+"px"});var s=this.renderWheel(r,o);e.drawImage(s.el,0,0),this.$store.createdWheelCanvas=!0}}},{key:"getDefaultValue",value:function(){return this.$store.hsv.h}},{key:"getDefaultSaturation",value:function(){return this.$store.hsv.s}},{key:"getCurrentXY",value:function(t,e,n,i,r){return t?cn.posXY(t):function(t,e){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return{x:c(t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0),y:h(t,e,n)}}(e,n,i,r)}},{key:"getRectangle",value:function(){var t=this.state.get("$el.width"),e=this.state.get("$el.height"),n=this.state.get("$colorwheel.width")/2,i=this.refs.$el.offset().left,r=i+t/2,o=this.refs.$el.offset().top;return{minX:i,minY:o,width:t,height:e,radius:n,centerX:r,centerY:o+e/2}}},{key:"setHueColor",value:function(t,e){if(this.state.get("$el.width")){var n=this.getRectangle(),i=n.minX,r=n.minY,o=n.radius,s=n.centerX,a=n.centerY,l=this.getCurrentXY(t,this.getDefaultValue(),this.getDefaultSaturation()*o,s,a),c=(g=l.x)-s,h=(m=l.y)-a,f=c*c+h*h,d=u(c,h);if(f>o*o)var p=this.getCurrentXY(null,d,o,s,a),g=p.x,m=p.y;var v=Math.min(Math.sqrt(f)/o,1);this.refs.$drag_pointer.css({left:g-i+"px",top:m-r+"px"}),e||this.changeColor({type:"hsv",h:d,s:v})}}},{key:"changeColor",value:function(t){this.$store.dispatch("/changeColor",Object.assign({source:this.source},t||{}))}},{key:"@changeColor",value:function(t){this.source!=t&&this.refresh(!0)}},{key:"@initColor",value:function(){this.refresh(!0)}},{key:"mouseup document",value:function(t){this.isDown&&(this.isDown=!1,this.$store.emit("lastUpdateColor"))}},{key:"mousemove document",value:function(t){this.isDown&&this.setHueColor(t)}},{key:"mousedown $drag_pointer",value:function(t){t.preventDefault(),this.isDown=!0}},{key:"mousedown $el",value:function(t){this.isDown=!0,this.setHueColor(t)}},{key:"touchend document",value:function(t){this.isDown&&(this.isDown=!1,this.$store.emit("lastUpdateColor"))}},{key:"touchmove document",value:function(t){this.isDown&&this.setHueColor(t)}},{key:"touchstart $drag_pointer",value:function(t){t.preventDefault(),this.isDown=!0}},{key:"touchstart $el",value:function(t){t.preventDefault(),this.isDown=!0,this.setHueColor(t)}}]),e}(mn),wn="chromedevtool-information",En=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="information hex">\n <div ref="$informationChange" class="information-change">\n <button ref="$formatChangeButton" type="button" class="format-change-button arrow-button"></button>\n </div>\n <div class="information-item hex">\n <div class="input-field hex">\n <input ref="$hexCode" class="input" type="text" />\n <div class="title">HEX</div>\n </div>\n </div>\n <div class="information-item rgb">\n <div class="input-field rgb-r">\n <input ref="$rgb_r" class="input" type="number" step="1" min="0" max="255" />\n <div class="title">R</div>\n </div>\n <div class="input-field rgb-g">\n <input ref="$rgb_g" class="input" type="number" step="1" min="0" max="255" />\n <div class="title">G</div>\n </div>\n <div class="input-field rgb-b">\n <input ref="$rgb_b" class="input" type="number" step="1" min="0" max="255" />\n <div class="title">B</div>\n </div> \n <div class="input-field rgb-a">\n <input ref="$rgb_a" class="input" type="number" step="0.01" min="0" max="1" />\n <div class="title">A</div>\n </div> \n </div>\n <div class="information-item hsl">\n <div class="input-field hsl-h">\n <input ref="$hsl_h" class="input" type="number" step="1" min="0" max="360" />\n <div class="title">H</div>\n </div>\n <div class="input-field hsl-s">\n <input ref="$hsl_s" class="input" type="number" step="1" min="0" max="100" />\n <div class="postfix">%</div>\n <div class="title">S</div>\n </div>\n <div class="input-field hsl-l">\n <input ref="$hsl_l" class="input" type="number" step="1" min="0" max="100" />\n <div class="postfix">%</div> \n <div class="title">L</div>\n </div>\n <div class="input-field hsl-a">\n <input ref="$hsl_a" class="input" type="number" step="0.01" min="0" max="1" />\n <div class="title">A</div>\n </div>\n </div>\n </div>\n '}},{key:"setCurrentFormat",value:function(t){this.format=t,this.initFormat()}},{key:"initFormat",value:function(){var t=this,e=this.format||"hex";["hex","rgb","hsl"].filter((function(t){return t!==e})).forEach((function(e){t.$el.removeClass(e)})),this.$el.addClass(e)}},{key:"nextFormat",value:function(){var t=this.$store.format||"hex",e="hex";"hex"==t?e="rgb":"rgb"==t?e="hsl":"hsl"==t&&(e="hex"),this.format=e,this.$store.dispatch("/changeFormat",e),this.$store.emit("lastUpdateColor"),this.initFormat()}},{key:"goToFormat",value:function(t){this.format=t,this.$store.dispatch("/changeFormat",this.format),this.$store.emit("lastUpdateColor"),this.initFormat()}},{key:"getFormat",value:function(){return this.format||"hex"}},{key:"checkNumberKey",value:function(t){var e=t.which,n=!1;return 37!=e&&39!=e&&8!=e&&46!=e&&9!=e||(n=!0),!(!n&&(e<48||e>57))}},{key:"checkNotNumberKey",value:function(t){return!this.checkNumberKey(t)}},{key:"changeRgbColor",value:function(){this.$store.dispatch("/changeColor",{type:"rgb",r:this.refs.$rgb_r.int(),g:this.refs.$rgb_g.int(),b:this.refs.$rgb_b.int(),a:this.refs.$rgb_a.float(),source:wn}),this.$store.emit("lastUpdateColor")}},{key:"changeHslColor",value:function(){this.$store.dispatch("/changeColor",{type:"hsl",h:this.refs.$hsl_h.int(),s:this.refs.$hsl_s.int(),l:this.refs.$hsl_l.int(),a:this.refs.$hsl_a.float(),source:wn}),this.$store.emit("lastUpdateColor")}},{key:"@changeColor",value:function(t){wn!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}},{key:"input $rgb_r",value:function(t){this.changeRgbColor()}},{key:"input $rgb_g",value:function(t){this.changeRgbColor()}},{key:"input $rgb_b",value:function(t){this.changeRgbColor()}},{key:"input $rgb_a",value:function(t){this.changeRgbColor()}},{key:"input $hsl_h",value:function(t){this.changeHslColor()}},{key:"input $hsl_s",value:function(t){this.changeHslColor()}},{key:"input $hsl_l",value:function(t){this.changeHslColor()}},{key:"input $hsl_a",value:function(t){this.changeHslColor()}},{key:"keyup $hexCode",value:function(t){var e=this.refs.$hexCode.val();"#"!=e.charAt(0)||7!=e.length&&9!==e.length||(this.$store.dispatch("/changeColor",e,wn),this.$store.emit("lastUpdateColor"))}},{key:"click $formatChangeButton",value:function(t){this.nextFormat()}},{key:"click $el .information-item.hex .input-field .title",value:function(t){this.goToFormat("rgb")}},{key:"click $el .information-item.rgb .input-field .title",value:function(t){this.goToFormat("hsl")}},{key:"click $el .information-item.hsl .input-field .title",value:function(t){this.goToFormat("hex")}},{key:"setRGBInput",value:function(){this.refs.$rgb_r.val(this.$store.rgb.r),this.refs.$rgb_g.val(this.$store.rgb.g),this.refs.$rgb_b.val(this.$store.rgb.b),this.refs.$rgb_a.val(this.$store.alpha)}},{key:"setHSLInput",value:function(){this.refs.$hsl_h.val(this.$store.hsl.h),this.refs.$hsl_s.val(this.$store.hsl.s),this.refs.$hsl_l.val(this.$store.hsl.l),this.refs.$hsl_a.val(this.$store.alpha)}},{key:"setHexInput",value:function(){this.refs.$hexCode.val(this.$store.dispatch("/toHEX"))}},{key:"refresh",value:function(){this.setCurrentFormat(this.$store.format),this.setRGBInput(),this.setHSLInput(),this.setHexInput()}}]),e}(mn),Sn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="color-chooser">\n <div class="color-chooser-container">\n <div class="colorsets-item colorsets-item-header">\n <h1 class="title">Color Palettes</h1>\n <span ref="$toggleButton" class="items">&times;</span>\n </div>\n <div ref="$colorsetsList" class="colorsets-list"></div>\n </div>\n </div>\n '}},{key:"refresh",value:function(){this.load()}},{key:"@changeCurrentColorSets",value:function(){this.refresh()}},{key:"@toggleColorChooser",value:function(){this.toggle()}},{key:"load $colorsetsList",value:function(){return"\n <div>\n "+this.$store.dispatch("/getColorSetsList").map((function(t,e){return'\n <div class="colorsets-item" data-colorsets-index="'+e+'" >\n <h1 class="title">'+t.name+'</h1>\n <div class="items">\n <div>\n '+t.colors.filter((function(t,e){return e<5})).map((function(t){return'<div class="color-item" title="'+(t=t||"rgba(255, 255, 255, 1)")+'">\n <div class="color-view" style="background-color: '+t+'"></div>\n </div>'})).join("")+"\n </div>\n </div>\n </div>"})).join("")+"\n </div>\n "}},{key:"show",value:function(){this.$el.addClass("open")}},{key:"hide",value:function(){this.$el.removeClass("open")}},{key:"toggle",value:function(){this.$el.toggleClass("open")}},{key:"click $toggleButton",value:function(t){this.toggle()}},{key:"click $colorsetsList .colorsets-item",value:function(t){var e=t.$delegateTarget;if(e){var n=parseInt(e.attr("data-colorsets-index"));this.$store.dispatch("/setCurrentColorSets",n),this.hide()}}},{key:"destroy",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this),this.hide()}}]),e}(mn),An=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="colorsets">\n <div class="menu" title="Open Color Palettes">\n <button ref="$colorSetsChooseButton" type="button" class="color-sets-choose-btn arrow-button"></button>\n </div>\n <div ref="$colorSetsColorList" class="color-list"></div>\n </div>\n '}},{key:"load $colorSetsColorList",value:function(){var t=this.$store.dispatch("/getCurrentColorSets");return'\n <div class="current-color-sets">\n '+this.$store.dispatch("/getCurrentColors").map((function(t,e){return'<div class="color-item" title="'+t+'" data-index="'+e+'" data-color="'+t+'">\n <div class="empty"></div>\n <div class="color-view" style="background-color: '+t+'"></div>\n </div>'})).join("")+" \n "+(t.edit?'<div class="add-color-item">+</div>':"")+" \n </div>\n "}},{key:"refresh",value:function(){this.load()}},{key:"addColor",value:function(t){this.$store.dispatch("/addCurrentColor",t)}},{key:"@changeCurrentColorSets",value:function(){this.refresh()}},{key:"click $colorSetsChooseButton",value:function(t){this.$store.emit("toggleColorChooser")}},{key:"contextmenu $colorSetsColorList",value:function(t){if(t.preventDefault(),this.$store.dispatch("/getCurrentColorSets").edit){var e=new sn(t.target).closest("color-item");if(e){var n=parseInt(e.attr("data-index"));this.$store.emit("showContextMenu",t,n)}else this.$store.emit("showContextMenu",t)}}},{key:"click $colorSetsColorList .add-color-item",value:function(t){this.addColor(this.$store.dispatch("/toColor"))}},{key:"click $colorSetsColorList .color-item",value:function(t){this.$store.dispatch("/changeColor",t.$delegateTarget.attr("data-color")),this.$store.emit("lastUpdateColor")}}]),e}(mn),Ln=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <ul class="colorsets-contextmenu">\n <li class="menu-item small-hide" data-type="remove-color">Remove color</li>\n <li class="menu-item small-hide" data-type="remove-all-to-the-right">Remove all to the right</li>\n <li class="menu-item" data-type="clear-palette">Clear palette</li>\n </ul>\n '}},{key:"show",value:function(t,e){var n=cn.pos(t);this.$el.css({top:n.clientY-10+"px",left:n.clientX+"px"}),this.$el.addClass("show"),this.selectedColorIndex=e,void 0===this.selectedColorIndex?this.$el.addClass("small"):this.$el.removeClass("small")}},{key:"hide",value:function(){this.$el.removeClass("show")}},{key:"runCommand",value:function(t){switch(t){case"remove-color":this.$store.dispatch("/removeCurrentColor",this.selectedColorIndex);break;case"remove-all-to-the-right":this.$store.dispatch("/removeCurrentColorToTheRight",this.selectedColorIndex);break;case"clear-palette":this.$store.dispatch("/clearPalette")}}},{key:"@showContextMenu",value:function(t,e){this.show(t,e)}},{key:"click $el .menu-item",value:function(t){t.preventDefault(),this.runCommand(t.$delegateTarget.attr("data-type")),this.hide()}}]),e}(mn),On=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="colorwheel"></div>\n <div target="control"></div>\n <div target="information"></div>\n <div target="currentColorSets"></div>\n <div target="colorSetsChooser"></div>\n <div target="contextMenu"></div> \n </div>\n '}},{key:"components",value:function(){return{colorwheel:Cn,control:Tn,information:En,currentColorSets:An,colorSetsChooser:Sn,contextMenu:Ln}}}]),e}(yn),Nn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.minValue=0,n.maxValue=360,n.source="hue-control",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="hue">\n <div ref="$container" class="hue-container">\n <div ref="$bar" class="drag-bar"></div>\n </div>\n </div>\n '}},{key:"getDefaultValue",value:function(){return this.$store.hsv.h}},{key:"refreshColorUI",value:function(t){var e=this.getCaculatedDist(t);this.setColorUI(e/100*this.maxValue),this.changeColor({h:e/100*this.maxValue,type:"hsv"})}}]),e}(xn),In=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Hue:Nn,Opacity:bn}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Hue" ></div>\n <div target="Opacity" ></div>\n <div ref="$controlPattern" class="empty"></div>\n <div ref="$controlColor" class="color"></div>\n </div>\n '}},{key:"setBackgroundColor",value:function(){this.refs.$controlColor.css("background-color",this.$store.dispatch("/toRGB"))}},{key:"refresh",value:function(){this.setColorUI(),this.setBackgroundColor()}},{key:"setColorUI",value:function(){this.Hue.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"chromedevtool-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(mn),Mn="chromedevtool-palette",$n=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="color">\n <div ref="$saturation" class="saturation">\n <div ref="$value" class="value">\n <div ref="$drag_pointer" class="drag-pointer"></div>\n </div>\n </div> \n </div> \n '}},{key:"setBackgroundColor",value:function(t){this.$el.css("background-color",t)}},{key:"refresh",value:function(){this.setColorUI()}},{key:"caculateSV",value:function(){var t=this.drag_pointer_pos||{x:0,y:0},e=this.state.get("$el.width"),n=this.state.get("$el.height"),i=t.x/e,r=(n-t.y)/n;this.$store.dispatch("/changeColor",{type:"hsv",s:i,v:r,source:Mn})}},{key:"setColorUI",value:function(){var t=this.state.get("$el.width")*this.$store.hsv.s,e=this.state.get("$el.height")*(1-this.$store.hsv.v);this.refs.$drag_pointer.css({left:t+"px",top:e+"px"}),this.drag_pointer_pos={x:t,y:e},this.setBackgroundColor(this.$store.dispatch("/getHueColor"))}},{key:"setMainColor",value:function(t){var e=this.$el.offset(),n=this.state.get("$el.contentWidth"),i=this.state.get("$el.contentHeight"),r=cn.pos(t).pageX-e.left,o=cn.pos(t).pageY-e.top;r<0?r=0:r>n&&(r=n),o<0?o=0:o>i&&(o=i),this.refs.$drag_pointer.css({left:r+"px",top:o+"px"}),this.drag_pointer_pos={x:r,y:o},this.caculateSV()}},{key:"@changeColor",value:function(t){Mn!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}},{key:"mouseup document",value:function(t){this.isDown&&(this.isDown=!1,this.$store.emit("lastUpdateColor"))}},{key:"mousemove document",value:function(t){this.isDown&&this.setMainColor(t)}},{key:"mousedown",value:function(t){this.isDown=!0,this.setMainColor(t)}},{key:"touchend document",value:function(t){this.isDown&&(this.isDown=!1,this.$store.emit("lastUpdateColor"))}},{key:"touchmove document",value:function(t){this.isDown&&this.setMainColor(t)}},{key:"touchstart",value:function(t){t.preventDefault(),this.isDown=!0,this.setMainColor(t)}}]),e}(mn),Rn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="palette"></div> \n <div target="control"></div>\n <div target="information"></div>\n <div target="currentColorSets"></div>\n <div target="colorSetsChooser"></div>\n <div target="contextMenu"></div>\n </div>\n '}},{key:"components",value:function(){return{palette:$n,control:In,information:En,currentColorSets:An,colorSetsChooser:Sn,contextMenu:Ln}}}]),e}(yn),Dn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Hue:Nn,Opacity:bn}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Hue" ></div>\n <div target="Opacity" ></div>\n </div>\n '}},{key:"refresh",value:function(){this.setColorUI()}},{key:"setColorUI",value:function(){this.Hue.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"mini-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(mn),Pn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="palette"></div>\n <div target="control"></div>\n </div>\n '}},{key:"components",value:function(){return{palette:$n,control:Dn}}}]),e}(yn),Fn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.source="vertical-slider",n}return T(e,t),y(e,[{key:"getMaxDist",value:function(){return this.state.get("$container.height")}},{key:"setMousePosition",value:function(t){this.refs.$bar.css({top:t+"px"})}},{key:"getMousePosition",value:function(t){return cn.pos(t).pageY}},{key:"getMinPosition",value:function(){return this.refs.$container.offset().top}},{key:"getCaculatedDist",value:function(t){var e=t?this.getMousePosition(t):this.getCurrent(this.getDefaultValue()/this.maxValue);return 100-this.getDist(e)}},{key:"setColorUI",value:function(t){(t=t||this.getDefaultValue())<=this.minValue?this.refs.$bar.addClass("first").removeClass("last"):t>=this.maxValue?this.refs.$bar.addClass("last").removeClass("first"):this.refs.$bar.removeClass("last").removeClass("first");var e=1-(t||0)/this.maxValue;this.setMousePosition(this.getMaxDist()*e)}}]),e}(xn),Bn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.minValue=0,n.maxValue=360,n.source="vertical-hue-control",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="hue">\n <div ref="$container" class="hue-container">\n <div ref="$bar" class="drag-bar"></div>\n </div>\n </div>\n '}},{key:"getDefaultValue",value:function(){return this.$store.hsv.h}},{key:"refreshColorUI",value:function(t){var e=this.getCaculatedDist(t);this.setColorUI(e/100*this.maxValue),this.changeColor({h:e/100*this.maxValue,type:"hsv"})}}]),e}(Fn),Un=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.source="vertical-opacity-control",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="opacity">\n <div ref="$container" class="opacity-container">\n <div ref="$colorbar" class="color-bar"></div>\n <div ref="$bar" class="drag-bar2"></div>\n </div>\n </div>\n '}},{key:"refresh",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"refresh",this).call(this),this.setOpacityColorBar()}},{key:"setOpacityColorBar",value:function(){var t=Object.assign({},this.$store.rgb);t.a=0;var e=Ze.format(t,"rgb");t.a=1;var n=Ze.format(t,"rgb");this.refs.$colorbar.css("background","linear-gradient(to top, "+e+", "+n+")")}},{key:"getDefaultValue",value:function(){return this.$store.alpha}},{key:"refreshColorUI",value:function(t){var e=this.getCaculatedDist(t);this.setColorUI(e/100*this.maxValue),this.changeColor({a:Math.floor(e)/100*this.maxValue})}}]),e}(Fn),Hn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Hue:Bn,Opacity:Un}}},{key:"template",value:function(){return'<div class="control"><div target="Hue" ></div><div target="Opacity" ></div></div>'}},{key:"refresh",value:function(){this.setColorUI()}},{key:"setColorUI",value:function(){this.Hue.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"mini-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(mn),zn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="palette"></div><div target="control"></div>\n </div>\n '}},{key:"components",value:function(){return{palette:$n,control:Hn}}}]),e}(yn),Wn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Value:kn,Opacity:bn}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Value" ></div>\n <div target="Opacity" ></div>\n <div ref="$controlPattern" class="empty"></div>\n <div ref="$controlColor" class="color"></div>\n </div>\n '}},{key:"setBackgroundColor",value:function(){this.refs.$controlColor.css("background-color",this.$store.dispatch("/toRGB"))}},{key:"refresh",value:function(){this.setColorUI(),this.setBackgroundColor()}},{key:"setColorUI",value:function(){this.Value.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"macos-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(mn),jn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.width=214,n.height=214,n.thinkness=16,n.half_thinkness=n.thinkness/2,n.source="colorring",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="wheel" data-type="ring">\n <canvas class="wheel-canvas" ref="$colorwheel" ></canvas>\n <div class="drag-pointer" ref="$drag_pointer"></div>\n </div>\n '}},{key:"setColorUI",value:function(t){this.renderCanvas(),this.setHueColor(null,t)}},{key:"getDefaultValue",value:function(){return this.$store.hsv.h}},{key:"setHueColor",value:function(t,e){if(this.state.get("$el.width")){var n=this.getRectangle(),i=n.minX,r=n.minY,o=n.radius,s=n.centerX,a=n.centerY,l=this.getCurrentXY(t,this.getDefaultValue(),o,s,a),c=u((f=l.x)-s,(d=l.y)-a),h=this.getCurrentXY(null,c,o-this.half_thinkness,s,a),f=h.x,d=h.y;this.refs.$drag_pointer.css({left:f-i+"px",top:d-r+"px"}),e||this.changeColor({type:"hsv",h:c})}}}]),e}(Cn),Gn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="colorring"></div>\n <div target="palette"></div> \n <div target="control"></div>\n <div target="information"></div>\n <div target="currentColorSets"></div>\n <div target="colorSetsChooser"></div>\n <div target="contextMenu"></div>\n </div>\n '}},{key:"components",value:function(){return{colorring:jn,palette:$n,control:Wn,information:En,currentColorSets:An,colorSetsChooser:Sn,contextMenu:Ln}}}]),e}(yn),qn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Hue:Bn,Opacity:Un}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Hue" ></div>\n <div target="Opacity" ></div>\n </div>\n '}},{key:"refresh",value:function(){this.setColorUI()}},{key:"setColorUI",value:function(){this.Hue.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(){this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(mn),Vn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="palette"></div> \n <div target="control"></div>\n <div target="information"></div>\n <div target="currentColorSets"></div>\n <div target="colorSetsChooser"></div>\n <div target="contextMenu"></div>\n </div>\n '}},{key:"components",value:function(){return{palette:$n,control:qn,information:En,currentColorSets:An,colorSetsChooser:Sn,contextMenu:Ln}}}]),e}(yn),Yn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Hue:Bn,Opacity:Un}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Opacity" ></div> \n <div target="Hue" ></div>\n </div>\n '}},{key:"refresh",value:function(){this.setColorUI()}},{key:"setColorUI",value:function(){this.Hue.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"mini-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(mn),Kn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return"\n <div class='colorpicker-body'>\n <div class='color-view'>\n <div class='color-view-container' ref=\"$colorview\"></div>\n </div>\n <div class='color-tool'>\n <div target=\"palette\"></div>\n <div target=\"control\"></div>\n </div>\n </div>\n "}},{key:"components",value:function(){return{palette:$n,control:Yn}}},{key:"initColorWithoutChangeEvent",value:function(t){this.$store.dispatch("/initColor",t),this.refresh()}},{key:"setBackgroundColor",value:function(){var t=this.$store.dispatch("/toColor"),e=this.$store.rgb,n=Ze.brightness(e.r,e.g,e.b);this.refs.$colorview.css({"background-color":t,color:n>127?"black":"white"}),this.refs.$colorview.html(t)}},{key:"click $colorview",value:function(t){this.nextFormat()}},{key:"nextFormat",value:function(){var t=this.$store.format||"hex",e="hex";"hex"==t?e="rgb":"rgb"==t?e="hsl":"hsl"==t&&(e="hex"),this.$store.dispatch("/changeFormat",e),this.$store.emit("lastUpdateColor"),this.refresh()}},{key:"refresh",value:function(){this.setBackgroundColor()}},{key:"@changeColor",value:function(){this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(yn),Xn={create:function(t){switch(t.type){case"macos":return new On(t);case"xd":return new Vn(t);case"ring":return new Gn(t);case"mini":return new Pn(t);case"vscode":return new Kn(t);case"mini-vertical":return new zn(t);case"sketch":case"palette":default:return new Rn(t)}},ColorPicker:Rn,ChromeDevToolColorPicker:Rn,MacOSColorPicker:On,RingColorPicker:Gn,MiniColorPicker:Pn,VSCodePicker:Kn,MiniVerticalColorPicker:zn},Qn="codemirror-colorview",Zn="codemirror-colorview-background",Jn=["comment","builtin","qualifier"];function ti(t,e){"setValue"==e.origin?(t.state.colorpicker.init_color_update(),t.state.colorpicker.style_color_update()):t.state.colorpicker.style_color_update(t.getCursor().line)}function ei(t,e){t.state.colorpicker.isUpdate||(t.state.colorpicker.isUpdate=!0,t.state.colorpicker.close_color_picker(),t.state.colorpicker.init_color_update(),t.state.colorpicker.style_color_update())}function ni(t,e){ti(t,{origin:"setValue"})}function ii(t,e){t.state.colorpicker.keyup(e)}function ri(t,e){t.state.colorpicker.is_edit_mode()&&t.state.colorpicker.check_mousedown(e)}function oi(t,e){ti(t,{origin:"setValue"})}function si(t){t.state.colorpicker.close_color_picker()}function ai(t){t.state.colorpicker.hide_delay_color_picker(t.state.colorpicker.opt.hideDelay||1e3)}var li=function(){function t(e,n){_(this,t),n="boolean"==typeof n?{mode:"edit"}:Object.assign({mode:"edit"},n||{}),this.opt=n,this.cm=e,this.markers={},this.excluded_token=this.opt.excluded_token||Jn,this.opt.colorpicker?this.colorpicker=this.opt.colorpicker(this.opt):this.colorpicker=Xn.create(this.opt),this.init_event()}return y(t,[{key:"init_event",value:function(){var t,e;this.cm.on("mousedown",ri),this.cm.on("keyup",ii),this.cm.on("change",ti),this.cm.on("update",ei),this.cm.on("refresh",ni),this.cm.on("blur",ai),this.onPasteCallback=(t=this.cm,e=oi,function(n){e.call(this,t,n)}),this.onScrollEvent=function(t,e){var n=void 0;return function(i,r){n&&clearTimeout(n),n=setTimeout((function(){t(i,r)}),e||300)}}(si,50),this.cm.getWrapperElement().addEventListener("paste",this.onPasteCallback),this.is_edit_mode()&&this.cm.on("scroll",this.onScrollEvent)}},{key:"is_edit_mode",value:function(){return"edit"==this.opt.mode}},{key:"is_view_mode",value:function(){return"view"==this.opt.mode}},{key:"destroy",value:function(){this.cm.off("mousedown",ri),this.cm.off("keyup",ii),this.cm.off("change",ti),this.cm.off("blur",ai),this.cm.getWrapperElement().removeEventListener("paste",this.onPasteCallback),this.is_edit_mode()&&this.cm.off("scroll",this.onScrollEvent)}},{key:"hasClass",value:function(t,e){return!!t.className&&(" "+t.className+" ").indexOf(" "+e+" ")>-1}},{key:"check_mousedown",value:function(t){this.hasClass(t.target,Zn)?this.open_color_picker(t.target.parentNode):this.close_color_picker()}},{key:"popup_color_picker",value:function(t){var e=this.cm.getCursor(),n=this,i={lineNo:e.line,ch:e.ch,color:t||"#FFFFFF",isShortCut:!0};Object.keys(this.markers).forEach((function(t){if(("#"+t).indexOf("#"+i.lineNo+":")>-1){var e=n.markers[t];e.ch<=i.ch&&i.ch<=e.ch+e.color.length&&(i.ch=e.ch,i.color=e.color,i.nameColor=e.nameColor)}})),this.open_color_picker(i)}},{key:"open_color_picker",value:function(t){var e=this,n=t.lineNo,i=t.ch,r=t.nameColor,o=t.color;if(this.colorpicker){var s=o,a=this.cm.charCoords({line:n,ch:i});this.colorpicker.show({left:a.left,top:a.bottom,isShortCut:t.isShortCut||!1,hideDelay:this.opt.hideDelay||2e3},r||o,(function(t){e.cm.replaceRange(t,{line:n,ch:i},{line:n,ch:i+s.length},"*colorpicker"),e.cm.focus(),s=t}))}}},{key:"close_color_picker",value:function(){this.colorpicker&&this.colorpicker.hide()}},{key:"hide_delay_color_picker",value:function(){this.colorpicker&&this.colorpicker.runHideDelay()}},{key:"key",value:function(t,e){return[t,e].join(":")}},{key:"keyup",value:function(t){this.colorpicker&&("Escape"==t.key||0==this.colorpicker.isShortCut)&&this.colorpicker.hide()}},{key:"init_color_update",value:function(){this.markers={}}},{key:"style_color_update",value:function(t){if(t)this.match(t);else for(var e=this.cm.lineCount(),n=0;n<e;n++)this.match(n)}},{key:"empty_marker",value:function(t,e){for(var n,i,r=e.markedSpans||[],o=0,s=r.length;o<s;o++){var a=this.key(t,r[o].from);a&&(n=r[o].marker.replacedWith,i=Qn,n&&n.className&&(" "+n.className+" ").indexOf(" "+i+" ")>-1)&&(delete this.markers[a],r[o].marker.clear())}}},{key:"match_result",value:function(t){return Ze.matches(t.text)}},{key:"submatch",value:function(t,e){var n=this;this.empty_marker(t,e);var i=this.match_result(e),r={next:0};i.forEach((function(i){n.render(r,t,e,i.color,i.nameColor)}))}},{key:"match",value:function(t){var e=this.cm.getLineHandle(t),n=this;this.cm.operation((function(){n.submatch(t,e)}))}},{key:"make_element",value:function(){var t=document.createElement("div");return t.className=Qn,this.is_edit_mode()?t.title="open color picker":t.title="",t.back_element=this.make_background_element(),t.appendChild(t.back_element),t}},{key:"make_background_element",value:function(){var t=document.createElement("div");return t.className=Zn,t}},{key:"set_state",value:function(t,e,n,i){var r=this.create_marker(t,e);return r.lineNo=t,r.ch=e,r.color=n,r.nameColor=i,r}},{key:"create_marker",value:function(t,e){return this.has_marker(t,e)||this.init_marker(t,e),this.get_marker(t,e)}},{key:"init_marker",value:function(t,e){this.markers[this.key(t,e)]=this.make_element()}},{key:"has_marker",value:function(t,e){return!!this.get_marker(t,e)}},{key:"get_marker",value:function(t,e){var n=this.key(t,e);return this.markers[n]}},{key:"update_element",value:function(t,e){t.back_element.style.backgroundColor=e}},{key:"set_mark",value:function(t,e,n){this.cm.setBookmark({line:t,ch:e},{widget:n,handleMouseEvents:!0})}},{key:"is_excluded_token",value:function(t,e){var n=this.cm.getTokenAt({line:t,ch:e},!0),i=n.type,r=n.state.state;if(null==i&&"block"==r)return!0;if(null==i&&"top"==r)return!0;for(var o=0,s=0,a=this.excluded_token.length;s<a;s++)if(i===this.excluded_token[s]){o++;break}return o>0}},{key:"render",value:function(t,e,n,i,r){var o=n.text.indexOf(i,t.next);if(!0!==this.is_excluded_token(e,o)){if(t.next=o+i.length,this.has_marker(e,o))return this.update_element(this.create_marker(e,o),r||i),void this.set_state(e,o,i,r);var s=this.create_marker(e,o);this.update_element(s,r||i),this.set_state(e,o,i,r||i),this.set_mark(e,o,s)}}}]),t}();try{var ci=t("codemirror")}catch(t){}function hi(){var t=ci||window.CodeMirror;t&&t.defineOption("colorpicker",!1,(function(e,n,i){i&&i!=t.Init&&e.state.colorpicker&&(e.state.colorpicker.destroy(),e.state.colorpicker=null),n&&(e.state.colorpicker=new li(e,n))}))}return hi(),k({},nn,Xn,{load:hi})},"object"==typeof n&&void 0!==e?e.exports=r():"function"==typeof define&&define.amd?define(r):i["codemirror-colorpicker"]=r()},{codemirror:13}],4:[function(t,e,n){var i;i=function(t){function e(e,n,i){var r,o=e.getWrapperElement();return(r=o.appendChild(document.createElement("div"))).className=i?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof n?r.innerHTML=n:r.appendChild(n),t.addClass(o,"dialog-opened"),r}function n(t,e){t.state.currentNotificationClose&&t.state.currentNotificationClose(),t.state.currentNotificationClose=e}t.defineExtension("openDialog",(function(i,r,o){o||(o={}),n(this,null);var s=e(this,i,o.bottom),a=!1,l=this;function c(e){if("string"==typeof e)u.value=e;else{if(a)return;a=!0,t.rmClass(s.parentNode,"dialog-opened"),s.parentNode.removeChild(s),l.focus(),o.onClose&&o.onClose(s)}}var h,u=s.getElementsByTagName("input")[0];return u?(u.focus(),o.value&&(u.value=o.value,!1!==o.selectValueOnOpen&&u.select()),o.onInput&&t.on(u,"input",(function(t){o.onInput(t,u.value,c)})),o.onKeyUp&&t.on(u,"keyup",(function(t){o.onKeyUp(t,u.value,c)})),t.on(u,"keydown",(function(e){o&&o.onKeyDown&&o.onKeyDown(e,u.value,c)||((27==e.keyCode||!1!==o.closeOnEnter&&13==e.keyCode)&&(u.blur(),t.e_stop(e),c()),13==e.keyCode&&r(u.value,e))})),!1!==o.closeOnBlur&&t.on(s,"focusout",(function(t){null!==t.relatedTarget&&c()}))):(h=s.getElementsByTagName("button")[0])&&(t.on(h,"click",(function(){c(),l.focus()})),!1!==o.closeOnBlur&&t.on(h,"blur",c),h.focus()),c})),t.defineExtension("openConfirm",(function(i,r,o){n(this,null);var s=e(this,i,o&&o.bottom),a=s.getElementsByTagName("button"),l=!1,c=this,h=1;function u(){l||(l=!0,t.rmClass(s.parentNode,"dialog-opened"),s.parentNode.removeChild(s),c.focus())}a[0].focus();for(var f=0;f<a.length;++f){var d=a[f];!function(e){t.on(d,"click",(function(n){t.e_preventDefault(n),u(),e&&e(c)}))}(r[f]),t.on(d,"blur",(function(){--h,setTimeout((function(){h<=0&&u()}),200)})),t.on(d,"focus",(function(){++h}))}})),t.defineExtension("openNotification",(function(i,r){n(this,c);var o,s=e(this,i,r&&r.bottom),a=!1,l=r&&void 0!==r.duration?r.duration:5e3;function c(){a||(a=!0,clearTimeout(o),t.rmClass(s.parentNode,"dialog-opened"),s.parentNode.removeChild(s))}return t.on(s,"click",(function(e){t.e_preventDefault(e),c()})),l&&(o=setTimeout(c,l)),c}))},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],5:[function(t,e,n){var i;i=function(t){var e={pairs:"()[]{}''\"\"",closeBefore:")]}'\":;>",triples:"",explode:"[]{}"},n=t.Pos;function i(t,n){return"pairs"==n&&"string"==typeof t?t:"object"==typeof t&&null!=t[n]?t[n]:e[n]}t.defineOption("autoCloseBrackets",!1,(function(e,n,s){s&&s!=t.Init&&(e.removeKeyMap(r),e.state.closeBrackets=null),n&&(o(i(n,"pairs")),e.state.closeBrackets=n,e.addKeyMap(r))}));var r={Backspace:function(e){var r=a(e);if(!r||e.getOption("disableInput"))return t.Pass;for(var o=i(r,"pairs"),s=e.listSelections(),l=0;l<s.length;l++){if(!s[l].empty())return t.Pass;var c=h(e,s[l].head);if(!c||o.indexOf(c)%2!=0)return t.Pass}for(l=s.length-1;l>=0;l--){var u=s[l].head;e.replaceRange("",n(u.line,u.ch-1),n(u.line,u.ch+1),"+delete")}},Enter:function(e){var n=a(e),r=n&&i(n,"explode");if(!r||e.getOption("disableInput"))return t.Pass;for(var o=e.listSelections(),s=0;s<o.length;s++){if(!o[s].empty())return t.Pass;var c=h(e,o[s].head);if(!c||r.indexOf(c)%2!=0)return t.Pass}e.operation((function(){var t=e.lineSeparator()||"\n";e.replaceSelection(t+t,null),l(e,-1),o=e.listSelections();for(var n=0;n<o.length;n++){var i=o[n].head.line;e.indentLine(i,null,!0),e.indentLine(i+1,null,!0)}}))}};function o(t){for(var e=0;e<t.length;e++){var n=t.charAt(e),i="'"+n+"'";r[i]||(r[i]=s(n))}}function s(e){return function(r){return function(e,r){var o=a(e);if(!o||e.getOption("disableInput"))return t.Pass;var s=i(o,"pairs"),h=s.indexOf(r);if(-1==h)return t.Pass;for(var f,d=i(o,"closeBefore"),p=i(o,"triples"),g=s.charAt(h+1)==r,m=e.listSelections(),v=h%2==0,_=0;_<m.length;_++){var y,x=m[_],k=x.head,b=e.getRange(k,n(k.line,k.ch+1));if(v&&!x.empty())y="surround";else if(!g&&v||b!=r)if(g&&k.ch>1&&p.indexOf(r)>=0&&e.getRange(n(k.line,k.ch-2),k)==r+r){if(k.ch>2&&/\bstring/.test(e.getTokenTypeAt(n(k.line,k.ch-2))))return t.Pass;y="addFour"}else if(g){var T=0==k.ch?" ":e.getRange(n(k.line,k.ch-1),k);if(t.isWordChar(b)||T==r||t.isWordChar(T))return t.Pass;y="both"}else{if(!v||!(0===b.length||/\s/.test(b)||d.indexOf(b)>-1))return t.Pass;y="both"}else y=g&&u(e,k)?"both":p.indexOf(r)>=0&&e.getRange(k,n(k.line,k.ch+3))==r+r+r?"skipThree":"skip";if(f){if(f!=y)return t.Pass}else f=y}var C=h%2?s.charAt(h-1):r,w=h%2?r:s.charAt(h+1);e.operation((function(){if("skip"==f)l(e,1);else if("skipThree"==f)l(e,3);else if("surround"==f){for(var t=e.getSelections(),n=0;n<t.length;n++)t[n]=C+t[n]+w;for(e.replaceSelections(t,"around"),t=e.listSelections().slice(),n=0;n<t.length;n++)t[n]=c(t[n]);e.setSelections(t)}else"both"==f?(e.replaceSelection(C+w,null),e.triggerElectric(C+w),l(e,-1)):"addFour"==f&&(e.replaceSelection(C+C+C+C,"before"),l(e,1))}))}(r,e)}}function a(t){var e=t.state.closeBrackets;return!e||e.override?e:t.getModeAt(t.getCursor()).closeBrackets||e}function l(t,e){for(var n=[],i=t.listSelections(),r=0,o=0;o<i.length;o++){var s=i[o];s.head==t.getCursor()&&(r=o);var a=s.head.ch||e>0?{line:s.head.line,ch:s.head.ch+e}:{line:s.head.line-1};n.push({anchor:a,head:a})}t.setSelections(n,r)}function c(e){var i=t.cmpPos(e.anchor,e.head)>0;return{anchor:new n(e.anchor.line,e.anchor.ch+(i?-1:1)),head:new n(e.head.line,e.head.ch+(i?1:-1))}}function h(t,e){var i=t.getRange(n(e.line,e.ch-1),n(e.line,e.ch+1));return 2==i.length?i:null}function u(t,e){var i=t.getTokenAt(n(e.line,e.ch+1));return/\bstring/.test(i.type)&&i.start==e.ch&&(0==e.ch||!/\bstring/.test(t.getTokenTypeAt(e)))}o(e.pairs+"`")},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],6:[function(t,e,n){var i;i=function(t){var e=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=t.Pos,i={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function r(t){return t&&t.bracketRegex||/[(){}[\]]/}function o(t,e,o){var a=t.getLineHandle(e.line),l=e.ch-1,c=o&&o.afterCursor;null==c&&(c=/(^| )cm-fat-cursor($| )/.test(t.getWrapperElement().className));var h=r(o),u=!c&&l>=0&&h.test(a.text.charAt(l))&&i[a.text.charAt(l)]||h.test(a.text.charAt(l+1))&&i[a.text.charAt(++l)];if(!u)return null;var f=">"==u.charAt(1)?1:-1;if(o&&o.strict&&f>0!=(l==e.ch))return null;var d=t.getTokenTypeAt(n(e.line,l+1)),p=s(t,n(e.line,l+(f>0?1:0)),f,d,o);return null==p?null:{from:n(e.line,l),to:p&&p.pos,match:p&&p.ch==u.charAt(0),forward:f>0}}function s(t,e,o,s,a){for(var l=a&&a.maxScanLineLength||1e4,c=a&&a.maxScanLines||1e3,h=[],u=r(a),f=o>0?Math.min(e.line+c,t.lastLine()+1):Math.max(t.firstLine()-1,e.line-c),d=e.line;d!=f;d+=o){var p=t.getLine(d);if(p){var g=o>0?0:p.length-1,m=o>0?p.length:-1;if(!(p.length>l))for(d==e.line&&(g=e.ch-(o<0?1:0));g!=m;g+=o){var v=p.charAt(g);if(u.test(v)&&(void 0===s||(t.getTokenTypeAt(n(d,g+1))||"")==(s||""))){var _=i[v];if(_&&">"==_.charAt(1)==o>0)h.push(v);else{if(!h.length)return{pos:n(d,g),ch:v};h.pop()}}}}}return d-o!=(o>0?t.lastLine():t.firstLine())&&null}function a(t,i,r){for(var s=t.state.matchBrackets.maxHighlightLineLength||1e3,a=r&&r.highlightNonMatching,l=[],c=t.listSelections(),h=0;h<c.length;h++){var u=c[h].empty()&&o(t,c[h].head,r);if(u&&(u.match||!1!==a)&&t.getLine(u.from.line).length<=s){var f=u.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";l.push(t.markText(u.from,n(u.from.line,u.from.ch+1),{className:f})),u.to&&t.getLine(u.to.line).length<=s&&l.push(t.markText(u.to,n(u.to.line,u.to.ch+1),{className:f}))}}if(l.length){e&&t.state.focused&&t.focus();var d=function(){t.operation((function(){for(var t=0;t<l.length;t++)l[t].clear()}))};if(!i)return d;setTimeout(d,800)}}function l(t){t.operation((function(){t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null),t.state.matchBrackets.currentlyHighlighted=a(t,!1,t.state.matchBrackets)}))}function c(t){t.state.matchBrackets&&t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null)}t.defineOption("matchBrackets",!1,(function(e,n,i){i&&i!=t.Init&&(e.off("cursorActivity",l),e.off("focus",l),e.off("blur",c),c(e)),n&&(e.state.matchBrackets="object"==typeof n?n:{},e.on("cursorActivity",l),e.on("focus",l),e.on("blur",c))})),t.defineExtension("matchBrackets",(function(){a(this,!0)})),t.defineExtension("findMatchingBracket",(function(t,e,n){return(n||"boolean"==typeof e)&&(n?(n.strict=e,e=n):e=e?{strict:!0}:null),o(this,t,e)})),t.defineExtension("scanForBracket",(function(t,e,n,i){return s(this,t,e,n,i)}))},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],7:[function(t,e,n){var i;i=function(t){"use strict";var e="CodeMirror-lint-markers";function n(t){t.parentNode&&t.parentNode.removeChild(t)}function i(e,i,r,o){var s=function(e,n,i){var r=document.createElement("div");function o(e){if(!r.parentNode)return t.off(document,"mousemove",o);r.style.top=Math.max(0,e.clientY-r.offsetHeight-5)+"px",r.style.left=e.clientX+5+"px"}return r.className="CodeMirror-lint-tooltip cm-s-"+e.options.theme,r.appendChild(i.cloneNode(!0)),e.state.lint.options.selfContain?e.getWrapperElement().appendChild(r):document.body.appendChild(r),t.on(document,"mousemove",o),o(n),null!=r.style.opacity&&(r.style.opacity=1),r}(e,i,r);function a(){var e;t.off(o,"mouseout",a),s&&((e=s).parentNode&&(null==e.style.opacity&&n(e),e.style.opacity=0,setTimeout((function(){n(e)}),600)),s=null)}var l=setInterval((function(){if(s)for(var t=o;;t=t.parentNode){if(t&&11==t.nodeType&&(t=t.host),t==document.body)return;if(!t){a();break}}if(!s)return clearInterval(l)}),400);t.on(o,"mouseout",a)}function r(t,e,n){for(var r in this.marked=[],e instanceof Function&&(e={getAnnotations:e}),e&&!0!==e||(e={}),this.options={},this.linterOptions=e.options||{},o)this.options[r]=o[r];for(var r in e)o.hasOwnProperty(r)?null!=e[r]&&(this.options[r]=e[r]):e.options||(this.linterOptions[r]=e[r]);this.timeout=null,this.hasGutter=n,this.onMouseOver=function(e){!function(t,e){var n=e.target||e.srcElement;if(/\bCodeMirror-lint-mark-/.test(n.className)){for(var r=n.getBoundingClientRect(),o=(r.left+r.right)/2,s=(r.top+r.bottom)/2,a=t.findMarksAt(t.coordsChar({left:o,top:s},"client")),c=[],h=0;h<a.length;++h){var u=a[h].__annotation;u&&c.push(u)}c.length&&function(t,e,n){for(var r=n.target||n.srcElement,o=document.createDocumentFragment(),s=0;s<e.length;s++){var a=e[s];o.appendChild(l(a))}i(t,n,o,r)}(t,c,e)}}(t,e)},this.waitingFor=0}var o={highlightLines:!1,tooltips:!0,delay:500,lintOnChange:!0,getAnnotations:null,async:!1,selfContain:null,formatAnnotation:null,onUpdateLinting:null};function s(t){var n=t.state.lint;n.hasGutter&&t.clearGutter(e),n.options.highlightLines&&function(t){t.eachLine((function(e){var n=e.wrapClass&&/\bCodeMirror-lint-line-\w+\b/.exec(e.wrapClass);n&&t.removeLineClass(e,"wrap",n[0])}))}(t);for(var i=0;i<n.marked.length;++i)n.marked[i].clear();n.marked.length=0}function a(e,n,r,o,s){var a=document.createElement("div"),l=a;return a.className="CodeMirror-lint-marker CodeMirror-lint-marker-"+r,o&&((l=a.appendChild(document.createElement("div"))).className="CodeMirror-lint-marker CodeMirror-lint-marker-multiple"),0!=s&&t.on(l,"mouseover",(function(t){i(e,t,n,l)})),a}function l(t){var e=t.severity;e||(e="error");var n=document.createElement("div");return n.className="CodeMirror-lint-message CodeMirror-lint-message-"+e,void 0!==t.messageHTML?n.innerHTML=t.messageHTML:n.appendChild(document.createTextNode(t.message)),n}function c(e){var n=e.state.lint;if(n){var i=n.options,r=i.getAnnotations||e.getHelper(t.Pos(0,0),"lint");if(r)if(i.async||r.async)!function(e,n){var i=e.state.lint,r=++i.waitingFor;function o(){r=-1,e.off("change",o)}e.on("change",o),n(e.getValue(),(function(n,s){e.off("change",o),i.waitingFor==r&&(s&&n instanceof t&&(n=s),e.operation((function(){h(e,n)})))}),i.linterOptions,e)}(e,r);else{var o=r(e.getValue(),n.linterOptions,e);if(!o)return;o.then?o.then((function(t){e.operation((function(){h(e,t)}))})):e.operation((function(){h(e,o)}))}}}function h(t,n){var i=t.state.lint;if(i){var r=i.options;s(t);for(var o,c,h=function(t){for(var e=[],n=0;n<t.length;++n){var i=t[n],r=i.from.line;(e[r]||(e[r]=[])).push(i)}return e}(n),u=0;u<h.length;++u){var f=h[u];if(f){var d=[];f=f.filter((function(t){return!(d.indexOf(t.message)>-1)&&d.push(t.message)}));for(var p=null,g=i.hasGutter&&document.createDocumentFragment(),m=0;m<f.length;++m){var v=f[m],_=v.severity;_||(_="error"),c=_,p="error"==(o=p)?o:c,r.formatAnnotation&&(v=r.formatAnnotation(v)),i.hasGutter&&g.appendChild(l(v)),v.to&&i.marked.push(t.markText(v.from,v.to,{className:"CodeMirror-lint-mark CodeMirror-lint-mark-"+_,__annotation:v}))}i.hasGutter&&t.setGutterMarker(u,e,a(t,g,p,h[u].length>1,r.tooltips)),r.highlightLines&&t.addLineClass(u,"wrap","CodeMirror-lint-line-"+p)}}r.onUpdateLinting&&r.onUpdateLinting(n,h,t)}}function u(t){var e=t.state.lint;e&&(clearTimeout(e.timeout),e.timeout=setTimeout((function(){c(t)}),e.options.delay))}t.defineOption("lint",!1,(function(n,i,o){if(o&&o!=t.Init&&(s(n),!1!==n.state.lint.options.lintOnChange&&n.off("change",u),t.off(n.getWrapperElement(),"mouseover",n.state.lint.onMouseOver),clearTimeout(n.state.lint.timeout),delete n.state.lint),i){for(var a=n.getOption("gutters"),l=!1,h=0;h<a.length;++h)a[h]==e&&(l=!0);var f=n.state.lint=new r(n,i,l);f.options.lintOnChange&&n.on("change",u),0!=f.options.tooltips&&"gutter"!=f.options.tooltips&&t.on(n.getWrapperElement(),"mouseover",f.onMouseOver),c(n)}})),t.defineExtension("performLint",(function(){c(this)}))},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],8:[function(t,e,n){var i;i=function(t){"use strict";function e(t,e){function n(t){clearTimeout(i.doRedraw),i.doRedraw=setTimeout((function(){i.redraw()}),t)}this.cm=t,this.options=e,this.buttonHeight=e.scrollButtonHeight||t.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=t.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var i=this;t.on("refresh",this.resizeHandler=function(){clearTimeout(i.doUpdate),i.doUpdate=setTimeout((function(){i.computeScale()&&n(20)}),100)}),t.on("markerAdded",this.resizeHandler),t.on("markerCleared",this.resizeHandler),!1!==e.listenForChanges&&t.on("changes",this.changeHandler=function(){n(250)})}t.defineExtension("annotateScrollbar",(function(t){return"string"==typeof t&&(t={className:t}),new e(this,t)})),t.defineOption("scrollButtonHeight",0),e.prototype.computeScale=function(){var t=this.cm,e=(t.getWrapperElement().clientHeight-t.display.barHeight-2*this.buttonHeight)/t.getScrollerElement().scrollHeight;if(e!=this.hScale)return this.hScale=e,!0},e.prototype.update=function(t){this.annotations=t,this.redraw()},e.prototype.redraw=function(t){!1!==t&&this.computeScale();var e=this.cm,n=this.hScale,i=document.createDocumentFragment(),r=this.annotations,o=e.getOption("lineWrapping"),s=o&&1.5*e.defaultTextHeight(),a=null,l=null;function c(t,n){if(a!=t.line){a=t.line,l=e.getLineHandle(t.line);var i=e.getLineHandleVisualStart(l);i!=l&&(a=e.getLineNumber(i),l=i)}return l.widgets&&l.widgets.length||o&&l.height>s?e.charCoords(t,"local")[n?"top":"bottom"]:e.heightAtLine(l,"local")+(n?0:l.height)}var h=e.lastLine();if(e.display.barWidth)for(var u,f=0;f<r.length;f++){var d=r[f];if(!(d.to.line>h)){for(var p=u||c(d.from,!0)*n,g=c(d.to,!1)*n;f<r.length-1&&!(r[f+1].to.line>h)&&!((u=c(r[f+1].from,!0)*n)>g+.9);)g=c((d=r[++f]).to,!1)*n;if(g!=p){var m=Math.max(g-p,3),v=i.appendChild(document.createElement("div"));v.style.cssText="position: absolute; right: 0px; width: "+Math.max(e.display.barWidth-1,2)+"px; top: "+(p+this.buttonHeight)+"px; height: "+m+"px",v.className=this.options.className,d.id&&v.setAttribute("annotation-id",d.id)}}}this.div.textContent="",this.div.appendChild(i)},e.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("changes",this.changeHandler),this.div.parentNode.removeChild(this.div)}},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],9:[function(t,e,n){var i;i=function(t){"use strict";var e={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};function n(t){for(var n in this.options={},e)this.options[n]=(t&&t.hasOwnProperty(n)?t:e)[n];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function i(t){var e=t.state.matchHighlighter;(e.active||t.hasFocus())&&o(t,e)}function r(t){var e=t.state.matchHighlighter;e.active||(e.active=!0,o(t,e))}function o(t,e){clearTimeout(e.timeout),e.timeout=setTimeout((function(){l(t)}),e.options.delay)}function s(t,e,n,i){var r=t.state.matchHighlighter;if(t.addOverlay(r.overlay=function(t,e,n){return{token:function(i){if(i.match(t)&&(!e||function(t,e){return!(t.start&&e.test(t.string.charAt(t.start-1))||t.pos!=t.string.length&&e.test(t.string.charAt(t.pos)))}(i,e)))return n;i.next(),i.skipTo(t.charAt(0))||i.skipToEnd()}}}(e,n,i)),r.options.annotateScrollbar&&t.showMatchesOnScrollbar){var o=n?new RegExp((/\w/.test(e.charAt(0))?"\\b":"")+e.replace(/[\\\[.+*?(){|^$]/g,"\\$&")+(/\w/.test(e.charAt(e.length-1))?"\\b":"")):e;r.matchesonscroll=t.showMatchesOnScrollbar(o,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function a(t){var e=t.state.matchHighlighter;e.overlay&&(t.removeOverlay(e.overlay),e.overlay=null,e.matchesonscroll&&(e.matchesonscroll.clear(),e.matchesonscroll=null))}function l(t){t.operation((function(){var e=t.state.matchHighlighter;if(a(t),t.somethingSelected()||!e.options.showToken){var n=t.getCursor("from"),i=t.getCursor("to");if(n.line==i.line&&(!e.options.wordsOnly||function(t,e,n){if(null!==t.getRange(e,n).match(/^\w+$/)){if(e.ch>0){var i={line:e.line,ch:e.ch-1};if(null===t.getRange(i,e).match(/\W/))return!1}return!(n.ch<t.getLine(e.line).length&&(i={line:n.line,ch:n.ch+1},null===t.getRange(n,i).match(/\W/)))}return!1}(t,n,i))){var r=t.getRange(n,i);e.options.trim&&(r=r.replace(/^\s+|\s+$/g,"")),r.length>=e.options.minChars&&s(t,r,!1,e.options.style)}}else{for(var o=!0===e.options.showToken?/[\w$]/:e.options.showToken,l=t.getCursor(),c=t.getLine(l.line),h=l.ch,u=h;h&&o.test(c.charAt(h-1));)--h;for(;u<c.length&&o.test(c.charAt(u));)++u;h<u&&s(t,c.slice(h,u),o,e.options.style)}}))}t.defineOption("highlightSelectionMatches",!1,(function(e,o,s){if(s&&s!=t.Init&&(a(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",i),e.off("focus",r)),o){var c=e.state.matchHighlighter=new n(o);e.hasFocus()?(c.active=!0,l(e)):e.on("focus",r),e.on("cursorActivity",i)}}))},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror"),t("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],i):i(CodeMirror)},{"../../lib/codemirror":13,"./matchesonscrollbar":10}],10:[function(t,e,n){var i;i=function(t){"use strict";function e(t,e,n,i){this.cm=t,this.options=i;var r={listenForChanges:!1};for(var o in i)r[o]=i[o];r.className||(r.className="CodeMirror-search-match"),this.annotation=t.annotateScrollbar(r),this.query=e,this.caseFold=n,this.gap={from:t.firstLine(),to:t.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var s=this;t.on("change",this.changeHandler=function(t,e){s.onChange(e)})}function n(t,e,n){return t<=e?t:Math.max(e,t+n)}t.defineExtension("showMatchesOnScrollbar",(function(t,n,i){return"string"==typeof i&&(i={className:i}),i||(i={}),new e(this,t,n,i)})),e.prototype.findMatches=function(){if(this.gap){for(var e=0;e<this.matches.length&&!((r=this.matches[e]).from.line>=this.gap.to);e++)r.to.line>=this.gap.from&&this.matches.splice(e--,1);for(var n=this.cm.getSearchCursor(this.query,t.Pos(this.gap.from,0),{caseFold:this.caseFold,multiline:this.options.multiline}),i=this.options&&this.options.maxMatches||1e3;n.findNext();){var r;if((r={from:n.from(),to:n.to()}).from.line>=this.gap.to)break;if(this.matches.splice(e++,0,r),this.matches.length>i)break}this.gap=null}},e.prototype.onChange=function(e){var i=e.from.line,r=t.changeEnd(e).line,o=r-e.to.line;if(this.gap?(this.gap.from=Math.min(n(this.gap.from,i,o),e.from.line),this.gap.to=Math.max(n(this.gap.to,i,o),e.from.line)):this.gap={from:e.from.line,to:r+1},o)for(var s=0;s<this.matches.length;s++){var a=this.matches[s],l=n(a.from.line,i,o);l!=a.from.line&&(a.from=t.Pos(l,a.from.ch));var c=n(a.to.line,i,o);c!=a.to.line&&(a.to=t.Pos(c,a.to.ch))}clearTimeout(this.update);var h=this;this.update=setTimeout((function(){h.updateAfterChange()}),250)},e.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},e.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror"),t("./searchcursor"),t("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],i):i(CodeMirror)},{"../../lib/codemirror":13,"../scroll/annotatescrollbar":8,"./searchcursor":12}],11:[function(t,e,n){var i;i=function(t){"use strict";function e(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function n(t){return t.state.search||(t.state.search=new e)}function i(t){return"string"==typeof t&&t==t.toLowerCase()}function r(t,e,n){return t.getSearchCursor(e,n,{caseFold:i(e),multiline:!0})}function o(t,e,n,i,r){t.openDialog?t.openDialog(e,r,{value:i,selectValueOnOpen:!0,bottom:t.options.search.bottom}):r(prompt(n,i))}function s(t){return t.replace(/\\([nrt\\])/g,(function(t,e){return"n"==e?"\n":"r"==e?"\r":"t"==e?"\t":"\\"==e?"\\":t}))}function a(t){var e=t.match(/^\/(.*)\/([a-z]*)$/);if(e)try{t=new RegExp(e[1],-1==e[2].indexOf("i")?"":"i")}catch(t){}else t=s(t);return("string"==typeof t?""==t:t.test(""))&&(t=/x^/),t}function l(t,e,n){e.queryText=n,e.query=a(n),t.removeOverlay(e.overlay,i(e.query)),e.overlay=function(t,e){return"string"==typeof t?t=new RegExp(t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),e?"gi":"g"):t.global||(t=new RegExp(t.source,t.ignoreCase?"gi":"g")),{token:function(e){t.lastIndex=e.pos;var n=t.exec(e.string);if(n&&n.index==e.pos)return e.pos+=n[0].length||1,"searching";n?e.pos=n.index:e.skipToEnd()}}}(e.query,i(e.query)),t.addOverlay(e.overlay),t.showMatchesOnScrollbar&&(e.annotate&&(e.annotate.clear(),e.annotate=null),e.annotate=t.showMatchesOnScrollbar(e.query,i(e.query)))}function c(e,i,r,s){var a=n(e);if(a.query)return h(e,i);var c=e.getSelection()||a.lastQuery;if(c instanceof RegExp&&"x^"==c.source&&(c=null),r&&e.openDialog){var f=null,p=function(n,i){t.e_stop(i),n&&(n!=a.queryText&&(l(e,a,n),a.posFrom=a.posTo=e.getCursor()),f&&(f.style.opacity=1),h(e,i.shiftKey,(function(t,n){var i;n.line<3&&document.querySelector&&(i=e.display.wrapper.querySelector(".CodeMirror-dialog"))&&i.getBoundingClientRect().bottom-4>e.cursorCoords(n,"window").top&&((f=i).style.opacity=.4)})))};!function(t,e,n,i,r){t.openDialog(e,i,{value:n,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){u(t)},onKeyDown:r,bottom:t.options.search.bottom})}(e,d(e),c,p,(function(i,r){var o=t.keyName(i),s=e.getOption("extraKeys"),a=s&&s[o]||t.keyMap[e.getOption("keyMap")][o];"findNext"==a||"findPrev"==a||"findPersistentNext"==a||"findPersistentPrev"==a?(t.e_stop(i),l(e,n(e),r),e.execCommand(a)):"find"!=a&&"findPersistent"!=a||(t.e_stop(i),p(r,i))})),s&&c&&(l(e,a,c),h(e,i))}else o(e,d(e),"Search for:",c,(function(t){t&&!a.query&&e.operation((function(){l(e,a,t),a.posFrom=a.posTo=e.getCursor(),h(e,i)}))}))}function h(e,i,o){e.operation((function(){var s=n(e),a=r(e,s.query,i?s.posFrom:s.posTo);(a.find(i)||(a=r(e,s.query,i?t.Pos(e.lastLine()):t.Pos(e.firstLine(),0))).find(i))&&(e.setSelection(a.from(),a.to()),e.scrollIntoView({from:a.from(),to:a.to()},20),s.posFrom=a.from(),s.posTo=a.to(),o&&o(a.from(),a.to()))}))}function u(t){t.operation((function(){var e=n(t);e.lastQuery=e.query,e.query&&(e.query=e.queryText=null,t.removeOverlay(e.overlay),e.annotate&&(e.annotate.clear(),e.annotate=null))}))}function f(t,e){var n=t?document.createElement(t):document.createDocumentFragment();for(var i in e)n[i]=e[i];for(var r=2;r<arguments.length;r++){var o=arguments[r];n.appendChild("string"==typeof o?document.createTextNode(o):o)}return n}function d(t){return f("",null,f("span",{className:"CodeMirror-search-label"},t.phrase("Search:"))," ",f("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field"})," ",f("span",{style:"color: #888",className:"CodeMirror-search-hint"},t.phrase("(Use /re/ syntax for regexp search)")))}function p(t,e,n){t.operation((function(){for(var i=r(t,e);i.findNext();)if("string"!=typeof e){var o=t.getRange(i.from(),i.to()).match(e);i.replace(n.replace(/\$(\d)/g,(function(t,e){return o[e]})))}else i.replace(n)}))}function g(t,e){if(!t.getOption("readOnly")){var i=t.getSelection()||n(t).lastQuery,l=e?t.phrase("Replace all:"):t.phrase("Replace:"),c=f("",null,f("span",{className:"CodeMirror-search-label"},l),function(t){return f("",null," ",f("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field"})," ",f("span",{style:"color: #888",className:"CodeMirror-search-hint"},t.phrase("(Use /re/ syntax for regexp search)")))}(t));o(t,c,l,i,(function(n){n&&(n=a(n),o(t,function(t){return f("",null,f("span",{className:"CodeMirror-search-label"},t.phrase("With:"))," ",f("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field"}))}(t),t.phrase("Replace with:"),"",(function(i){if(i=s(i),e)p(t,n,i);else{u(t);var o=r(t,n,t.getCursor("from")),a=function(){var e,s=o.from();!(e=o.findNext())&&(o=r(t,n),!(e=o.findNext())||s&&o.from().line==s.line&&o.from().ch==s.ch)||(t.setSelection(o.from(),o.to()),t.scrollIntoView({from:o.from(),to:o.to()}),function(t,e,n,i){t.openConfirm?t.openConfirm(e,i):confirm(n)&&i[0]()}(t,function(t){return f("",null,f("span",{className:"CodeMirror-search-label"},t.phrase("Replace?"))," ",f("button",{},t.phrase("Yes"))," ",f("button",{},t.phrase("No"))," ",f("button",{},t.phrase("All"))," ",f("button",{},t.phrase("Stop")))}(t),t.phrase("Replace?"),[function(){l(e)},a,function(){p(t,n,i)}]))},l=function(t){o.replace("string"==typeof n?i:i.replace(/\$(\d)/g,(function(e,n){return t[n]}))),a()};a()}})))}))}}t.defineOption("search",{bottom:!1}),t.commands.find=function(t){u(t),c(t)},t.commands.findPersistent=function(t){u(t),c(t,!1,!0)},t.commands.findPersistentNext=function(t){c(t,!1,!0,!0)},t.commands.findPersistentPrev=function(t){c(t,!0,!0,!0)},t.commands.findNext=c,t.commands.findPrev=function(t){c(t,!0)},t.commands.clearSearch=u,t.commands.replace=g,t.commands.replaceAll=function(t){g(t,!0)}},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror"),t("./searchcursor"),t("../dialog/dialog")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../dialog/dialog"],i):i(CodeMirror)},{"../../lib/codemirror":13,"../dialog/dialog":4,"./searchcursor":12}],12:[function(t,e,n){var i;i=function(t){"use strict";var e,n,i=t.Pos;function r(t,e){for(var n=function(t){var e=t.flags;return null!=e?e:(t.ignoreCase?"i":"")+(t.global?"g":"")+(t.multiline?"m":"")}(t),i=n,r=0;r<e.length;r++)-1==i.indexOf(e.charAt(r))&&(i+=e.charAt(r));return n==i?t:new RegExp(t.source,i)}function o(t){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(t.source)}function s(t,e,n){e=r(e,"g");for(var o=n.line,s=n.ch,a=t.lastLine();o<=a;o++,s=0){e.lastIndex=s;var l=t.getLine(o),c=e.exec(l);if(c)return{from:i(o,c.index),to:i(o,c.index+c[0].length),match:c}}}function a(t,e,n){if(!o(e))return s(t,e,n);e=r(e,"gm");for(var a,l=1,c=n.line,h=t.lastLine();c<=h;){for(var u=0;u<l&&!(c>h);u++){var f=t.getLine(c++);a=null==a?f:a+"\n"+f}l*=2,e.lastIndex=n.ch;var d=e.exec(a);if(d){var p=a.slice(0,d.index).split("\n"),g=d[0].split("\n"),m=n.line+p.length-1,v=p[p.length-1].length;return{from:i(m,v),to:i(m+g.length-1,1==g.length?v+g[0].length:g[g.length-1].length),match:d}}}}function l(t,e,n){for(var i,r=0;r<=t.length;){e.lastIndex=r;var o=e.exec(t);if(!o)break;var s=o.index+o[0].length;if(s>t.length-n)break;(!i||s>i.index+i[0].length)&&(i=o),r=o.index+1}return i}function c(t,e,n){e=r(e,"g");for(var o=n.line,s=n.ch,a=t.firstLine();o>=a;o--,s=-1){var c=t.getLine(o),h=l(c,e,s<0?0:c.length-s);if(h)return{from:i(o,h.index),to:i(o,h.index+h[0].length),match:h}}}function h(t,e,n){if(!o(e))return c(t,e,n);e=r(e,"gm");for(var s,a=1,h=t.getLine(n.line).length-n.ch,u=n.line,f=t.firstLine();u>=f;){for(var d=0;d<a&&u>=f;d++){var p=t.getLine(u--);s=null==s?p:p+"\n"+s}a*=2;var g=l(s,e,h);if(g){var m=s.slice(0,g.index).split("\n"),v=g[0].split("\n"),_=u+m.length,y=m[m.length-1].length;return{from:i(_,y),to:i(_+v.length-1,1==v.length?y+v[0].length:v[v.length-1].length),match:g}}}}function u(t,e,n,i){if(t.length==e.length)return n;for(var r=0,o=n+Math.max(0,t.length-e.length);;){if(r==o)return r;var s=r+o>>1,a=i(t.slice(0,s)).length;if(a==n)return s;a>n?o=s:r=s+1}}function f(t,r,o,s){if(!r.length)return null;var a=s?e:n,l=a(r).split(/\r|\n\r?/);t:for(var c=o.line,h=o.ch,f=t.lastLine()+1-l.length;c<=f;c++,h=0){var d=t.getLine(c).slice(h),p=a(d);if(1==l.length){var g=p.indexOf(l[0]);if(-1==g)continue t;return o=u(d,p,g,a)+h,{from:i(c,u(d,p,g,a)+h),to:i(c,u(d,p,g+l[0].length,a)+h)}}var m=p.length-l[0].length;if(p.slice(m)==l[0]){for(var v=1;v<l.length-1;v++)if(a(t.getLine(c+v))!=l[v])continue t;var _=t.getLine(c+l.length-1),y=a(_),x=l[l.length-1];if(y.slice(0,x.length)==x)return{from:i(c,u(d,p,m,a)+h),to:i(c+l.length-1,u(_,y,x.length,a))}}}}function d(t,r,o,s){if(!r.length)return null;var a=s?e:n,l=a(r).split(/\r|\n\r?/);t:for(var c=o.line,h=o.ch,f=t.firstLine()-1+l.length;c>=f;c--,h=-1){var d=t.getLine(c);h>-1&&(d=d.slice(0,h));var p=a(d);if(1==l.length){var g=p.lastIndexOf(l[0]);if(-1==g)continue t;return{from:i(c,u(d,p,g,a)),to:i(c,u(d,p,g+l[0].length,a))}}var m=l[l.length-1];if(p.slice(0,m.length)==m){var v=1;for(o=c-l.length+1;v<l.length-1;v++)if(a(t.getLine(o+v))!=l[v])continue t;var _=t.getLine(c+1-l.length),y=a(_);if(y.slice(y.length-l[0].length)==l[0])return{from:i(c+1-l.length,u(_,y,_.length-l[0].length,a)),to:i(c,u(d,p,m.length,a))}}}}function p(t,e,n,o){var l;this.atOccurrence=!1,this.doc=t,n=n?t.clipPos(n):i(0,0),this.pos={from:n,to:n},"object"==typeof o?l=o.caseFold:(l=o,o=null),"string"==typeof e?(null==l&&(l=!1),this.matches=function(n,i){return(n?d:f)(t,e,i,l)}):(e=r(e,"gm"),o&&!1===o.multiline?this.matches=function(n,i){return(n?c:s)(t,e,i)}:this.matches=function(n,i){return(n?h:a)(t,e,i)})}String.prototype.normalize?(e=function(t){return t.normalize("NFD").toLowerCase()},n=function(t){return t.normalize("NFD")}):(e=function(t){return t.toLowerCase()},n=function(t){return t}),p.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(e){for(var n=this.matches(e,this.doc.clipPos(e?this.pos.from:this.pos.to));n&&0==t.cmpPos(n.from,n.to);)e?n.from.ch?n.from=i(n.from.line,n.from.ch-1):n=n.from.line==this.doc.firstLine()?null:this.matches(e,this.doc.clipPos(i(n.from.line-1))):n.to.ch<this.doc.getLine(n.to.line).length?n.to=i(n.to.line,n.to.ch+1):n=n.to.line==this.doc.lastLine()?null:this.matches(e,i(n.to.line+1,0));if(n)return this.pos=n,this.atOccurrence=!0,this.pos.match||!0;var r=i(e?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:r,to:r},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(e,n){if(this.atOccurrence){var r=t.splitLines(e);this.doc.replaceRange(r,this.pos.from,this.pos.to,n),this.pos.to=i(this.pos.from.line+r.length-1,r[r.length-1].length+(1==r.length?this.pos.from.ch:0))}}},t.defineExtension("getSearchCursor",(function(t,e,n){return new p(this.doc,t,e,n)})),t.defineDocExtension("getSearchCursor",(function(t,e,n){return new p(this,t,e,n)})),t.defineExtension("selectMatches",(function(e,n){for(var i=[],r=this.getSearchCursor(e,this.getCursor("from"),n);r.findNext()&&!(t.cmpPos(r.to(),this.getCursor("to"))>0);)i.push({anchor:r.from(),head:r.to()});i.length&&this.setSelections(i,0)}))},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],13:[function(t,e,n){var i,r;i=this,r=function(){"use strict";var t=navigator.userAgent,e=navigator.platform,n=/gecko\/\d/i.test(t),i=/MSIE \d/.test(t),r=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(t),o=/Edge\/(\d+)/.exec(t),s=i||r||o,a=s&&(i?document.documentMode||6:+(o||r)[1]),l=!o&&/WebKit\//.test(t),c=l&&/Qt\/\d+\.\d+/.test(t),h=!o&&/Chrome\//.test(t),u=/Opera\//.test(t),f=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(t),p=/PhantomJS/.test(t),g=f&&(/Mobile\/\w+/.test(t)||navigator.maxTouchPoints>2),m=/Android/.test(t),v=g||m||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(t),_=g||/Mac/.test(e),y=/\bCrOS\b/.test(t),x=/win/i.test(e),k=u&&t.match(/Version\/(\d*\.\d*)/);k&&(k=Number(k[1])),k&&k>=15&&(u=!1,l=!0);var b=_&&(c||u&&(null==k||k<12.11)),T=n||s&&a>=9;function C(t){return new RegExp("(^|\\s)"+t+"(?:$|\\s)\\s*")}var w,E=function(t,e){var n=t.className,i=C(e).exec(n);if(i){var r=n.slice(i.index+i[0].length);t.className=n.slice(0,i.index)+(r?i[1]+r:"")}};function S(t){for(var e=t.childNodes.length;e>0;--e)t.removeChild(t.firstChild);return t}function A(t,e){return S(t).appendChild(e)}function L(t,e,n,i){var r=document.createElement(t);if(n&&(r.className=n),i&&(r.style.cssText=i),"string"==typeof e)r.appendChild(document.createTextNode(e));else if(e)for(var o=0;o<e.length;++o)r.appendChild(e[o]);return r}function O(t,e,n,i){var r=L(t,e,n,i);return r.setAttribute("role","presentation"),r}function N(t,e){if(3==e.nodeType&&(e=e.parentNode),t.contains)return t.contains(e);do{if(11==e.nodeType&&(e=e.host),e==t)return!0}while(e=e.parentNode)}function I(){var t;try{t=document.activeElement}catch(e){t=document.body||null}for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function M(t,e){var n=t.className;C(e).test(n)||(t.className+=(n?" ":"")+e)}function $(t,e){for(var n=t.split(" "),i=0;i<n.length;i++)n[i]&&!C(n[i]).test(e)&&(e+=" "+n[i]);return e}w=document.createRange?function(t,e,n,i){var r=document.createRange();return r.setEnd(i||t,n),r.setStart(t,e),r}:function(t,e,n){var i=document.body.createTextRange();try{i.moveToElementText(t.parentNode)}catch(t){return i}return i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",e),i};var R=function(t){t.select()};function D(t){var e=Array.prototype.slice.call(arguments,1);return function(){return t.apply(null,e)}}function P(t,e,n){for(var i in e||(e={}),t)!t.hasOwnProperty(i)||!1===n&&e.hasOwnProperty(i)||(e[i]=t[i]);return e}function F(t,e,n,i,r){null==e&&-1==(e=t.search(/[^\s\u00a0]/))&&(e=t.length);for(var o=i||0,s=r||0;;){var a=t.indexOf("\t",o);if(a<0||a>=e)return s+(e-o);s+=a-o,s+=n-s%n,o=a+1}}g?R=function(t){t.selectionStart=0,t.selectionEnd=t.value.length}:s&&(R=function(t){try{t.select()}catch(t){}});var B=function(){this.id=null,this.f=null,this.time=0,this.handler=D(this.onTimeout,this)};function U(t,e){for(var n=0;n<t.length;++n)if(t[n]==e)return n;return-1}B.prototype.onTimeout=function(t){t.id=0,t.time<=+new Date?t.f():setTimeout(t.handler,t.time-+new Date)},B.prototype.set=function(t,e){this.f=e;var n=+new Date+t;(!this.id||n<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,t),this.time=n)};var H={toString:function(){return"CodeMirror.Pass"}},z={scroll:!1},W={origin:"*mouse"},j={origin:"+move"};function G(t,e,n){for(var i=0,r=0;;){var o=t.indexOf("\t",i);-1==o&&(o=t.length);var s=o-i;if(o==t.length||r+s>=e)return i+Math.min(s,e-r);if(r+=o-i,i=o+1,(r+=n-r%n)>=e)return i}}var q=[""];function V(t){for(;q.length<=t;)q.push(Y(q)+" ");return q[t]}function Y(t){return t[t.length-1]}function K(t,e){for(var n=[],i=0;i<t.length;i++)n[i]=e(t[i],i);return n}function X(){}function Q(t,e){var n;return Object.create?n=Object.create(t):(X.prototype=t,n=new X),e&&P(e,n),n}var Z=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function J(t){return/\w/.test(t)||t>"€"&&(t.toUpperCase()!=t.toLowerCase()||Z.test(t))}function tt(t,e){return e?!!(e.source.indexOf("\\w")>-1&&J(t))||e.test(t):J(t)}function et(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e])return!1;return!0}var nt=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function it(t){return t.charCodeAt(0)>=768&&nt.test(t)}function rt(t,e,n){for(;(n<0?e>0:e<t.length)&&it(t.charAt(e));)e+=n;return e}function ot(t,e,n){for(var i=e>n?-1:1;;){if(e==n)return e;var r=(e+n)/2,o=i<0?Math.ceil(r):Math.floor(r);if(o==e)return t(o)?e:n;t(o)?n=o:e=o+i}}var st=null;function at(t,e,n){var i;st=null;for(var r=0;r<t.length;++r){var o=t[r];if(o.from<e&&o.to>e)return r;o.to==e&&(o.from!=o.to&&"before"==n?i=r:st=r),o.from==e&&(o.from!=o.to&&"before"!=n?i=r:st=r)}return null!=i?i:st}var lt=function(){var t=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,e=/[stwN]/,n=/[LRr]/,i=/[Lb1n]/,r=/[1n]/;function o(t,e,n){this.level=t,this.from=e,this.to=n}return function(s,a){var l="ltr"==a?"L":"R";if(0==s.length||"ltr"==a&&!t.test(s))return!1;for(var c,h=s.length,u=[],f=0;f<h;++f)u.push((c=s.charCodeAt(f))<=247?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(c):1424<=c&&c<=1524?"R":1536<=c&&c<=1785?"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111".charAt(c-1536):1774<=c&&c<=2220?"r":8192<=c&&c<=8203?"w":8204==c?"b":"L");for(var d=0,p=l;d<h;++d){var g=u[d];"m"==g?u[d]=p:p=g}for(var m=0,v=l;m<h;++m){var _=u[m];"1"==_&&"r"==v?u[m]="n":n.test(_)&&(v=_,"r"==_&&(u[m]="R"))}for(var y=1,x=u[0];y<h-1;++y){var k=u[y];"+"==k&&"1"==x&&"1"==u[y+1]?u[y]="1":","!=k||x!=u[y+1]||"1"!=x&&"n"!=x||(u[y]=x),x=k}for(var b=0;b<h;++b){var T=u[b];if(","==T)u[b]="N";else if("%"==T){var C=void 0;for(C=b+1;C<h&&"%"==u[C];++C);for(var w=b&&"!"==u[b-1]||C<h&&"1"==u[C]?"1":"N",E=b;E<C;++E)u[E]=w;b=C-1}}for(var S=0,A=l;S<h;++S){var L=u[S];"L"==A&&"1"==L?u[S]="L":n.test(L)&&(A=L)}for(var O=0;O<h;++O)if(e.test(u[O])){var N=void 0;for(N=O+1;N<h&&e.test(u[N]);++N);for(var I="L"==(O?u[O-1]:l),M=I==("L"==(N<h?u[N]:l))?I?"L":"R":l,$=O;$<N;++$)u[$]=M;O=N-1}for(var R,D=[],P=0;P<h;)if(i.test(u[P])){var F=P;for(++P;P<h&&i.test(u[P]);++P);D.push(new o(0,F,P))}else{var B=P,U=D.length,H="rtl"==a?1:0;for(++P;P<h&&"L"!=u[P];++P);for(var z=B;z<P;)if(r.test(u[z])){B<z&&(D.splice(U,0,new o(1,B,z)),U+=H);var W=z;for(++z;z<P&&r.test(u[z]);++z);D.splice(U,0,new o(2,W,z)),U+=H,B=z}else++z;B<P&&D.splice(U,0,new o(1,B,P))}return"ltr"==a&&(1==D[0].level&&(R=s.match(/^\s+/))&&(D[0].from=R[0].length,D.unshift(new o(0,0,R[0].length))),1==Y(D).level&&(R=s.match(/\s+$/))&&(Y(D).to-=R[0].length,D.push(new o(0,h-R[0].length,h)))),"rtl"==a?D.reverse():D}}();function ct(t,e){var n=t.order;return null==n&&(n=t.order=lt(t.text,e)),n}var ht=[],ut=function(t,e,n){if(t.addEventListener)t.addEventListener(e,n,!1);else if(t.attachEvent)t.attachEvent("on"+e,n);else{var i=t._handlers||(t._handlers={});i[e]=(i[e]||ht).concat(n)}};function ft(t,e){return t._handlers&&t._handlers[e]||ht}function dt(t,e,n){if(t.removeEventListener)t.removeEventListener(e,n,!1);else if(t.detachEvent)t.detachEvent("on"+e,n);else{var i=t._handlers,r=i&&i[e];if(r){var o=U(r,n);o>-1&&(i[e]=r.slice(0,o).concat(r.slice(o+1)))}}}function pt(t,e){var n=ft(t,e);if(n.length)for(var i=Array.prototype.slice.call(arguments,2),r=0;r<n.length;++r)n[r].apply(null,i)}function gt(t,e,n){return"string"==typeof e&&(e={type:e,preventDefault:function(){this.defaultPrevented=!0}}),pt(t,n||e.type,t,e),kt(e)||e.codemirrorIgnore}function mt(t){var e=t._handlers&&t._handlers.cursorActivity;if(e)for(var n=t.curOp.cursorActivityHandlers||(t.curOp.cursorActivityHandlers=[]),i=0;i<e.length;++i)-1==U(n,e[i])&&n.push(e[i])}function vt(t,e){return ft(t,e).length>0}function _t(t){t.prototype.on=function(t,e){ut(this,t,e)},t.prototype.off=function(t,e){dt(this,t,e)}}function yt(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function xt(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}function kt(t){return null!=t.defaultPrevented?t.defaultPrevented:0==t.returnValue}function bt(t){yt(t),xt(t)}function Tt(t){return t.target||t.srcElement}function Ct(t){var e=t.which;return null==e&&(1&t.button?e=1:2&t.button?e=3:4&t.button&&(e=2)),_&&t.ctrlKey&&1==e&&(e=3),e}var wt,Et,St=function(){if(s&&a<9)return!1;var t=L("div");return"draggable"in t||"dragDrop"in t}();function At(t){if(null==wt){var e=L("span","​");A(t,L("span",[e,document.createTextNode("x")])),0!=t.firstChild.offsetHeight&&(wt=e.offsetWidth<=1&&e.offsetHeight>2&&!(s&&a<8))}var n=wt?L("span","​"):L("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Lt(t){if(null!=Et)return Et;var e=A(t,document.createTextNode("AخA")),n=w(e,0,1).getBoundingClientRect(),i=w(e,1,2).getBoundingClientRect();return S(t),!(!n||n.left==n.right)&&(Et=i.right-n.right<3)}var Ot,Nt=3!="\n\nb".split(/\n/).length?function(t){for(var e=0,n=[],i=t.length;e<=i;){var r=t.indexOf("\n",e);-1==r&&(r=t.length);var o=t.slice(e,"\r"==t.charAt(r-1)?r-1:r),s=o.indexOf("\r");-1!=s?(n.push(o.slice(0,s)),e+=s+1):(n.push(o),e=r+1)}return n}:function(t){return t.split(/\r\n?|\n/)},It=window.getSelection?function(t){try{return t.selectionStart!=t.selectionEnd}catch(t){return!1}}:function(t){var e;try{e=t.ownerDocument.selection.createRange()}catch(t){}return!(!e||e.parentElement()!=t)&&0!=e.compareEndPoints("StartToEnd",e)},Mt="oncopy"in(Ot=L("div"))||(Ot.setAttribute("oncopy","return;"),"function"==typeof Ot.oncopy),$t=null,Rt={},Dt={};function Pt(t,e){arguments.length>2&&(e.dependencies=Array.prototype.slice.call(arguments,2)),Rt[t]=e}function Ft(t){if("string"==typeof t&&Dt.hasOwnProperty(t))t=Dt[t];else if(t&&"string"==typeof t.name&&Dt.hasOwnProperty(t.name)){var e=Dt[t.name];"string"==typeof e&&(e={name:e}),(t=Q(e,t)).name=e.name}else{if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return Ft("application/xml");if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+json$/.test(t))return Ft("application/json")}return"string"==typeof t?{name:t}:t||{name:"null"}}function Bt(t,e){e=Ft(e);var n=Rt[e.name];if(!n)return Bt(t,"text/plain");var i=n(t,e);if(Ut.hasOwnProperty(e.name)){var r=Ut[e.name];for(var o in r)r.hasOwnProperty(o)&&(i.hasOwnProperty(o)&&(i["_"+o]=i[o]),i[o]=r[o])}if(i.name=e.name,e.helperType&&(i.helperType=e.helperType),e.modeProps)for(var s in e.modeProps)i[s]=e.modeProps[s];return i}var Ut={};function Ht(t,e){P(e,Ut.hasOwnProperty(t)?Ut[t]:Ut[t]={})}function zt(t,e){if(!0===e)return e;if(t.copyState)return t.copyState(e);var n={};for(var i in e){var r=e[i];r instanceof Array&&(r=r.concat([])),n[i]=r}return n}function Wt(t,e){for(var n;t.innerMode&&(n=t.innerMode(e))&&n.mode!=t;)e=n.state,t=n.mode;return n||{mode:t,state:e}}function jt(t,e,n){return!t.startState||t.startState(e,n)}var Gt=function(t,e,n){this.pos=this.start=0,this.string=t,this.tabSize=e||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function qt(t,e){if((e-=t.first)<0||e>=t.size)throw new Error("There is no line "+(e+t.first)+" in the document.");for(var n=t;!n.lines;)for(var i=0;;++i){var r=n.children[i],o=r.chunkSize();if(e<o){n=r;break}e-=o}return n.lines[e]}function Vt(t,e,n){var i=[],r=e.line;return t.iter(e.line,n.line+1,(function(t){var o=t.text;r==n.line&&(o=o.slice(0,n.ch)),r==e.line&&(o=o.slice(e.ch)),i.push(o),++r})),i}function Yt(t,e,n){var i=[];return t.iter(e,n,(function(t){i.push(t.text)})),i}function Kt(t,e){var n=e-t.height;if(n)for(var i=t;i;i=i.parent)i.height+=n}function Xt(t){if(null==t.parent)return null;for(var e=t.parent,n=U(e.lines,t),i=e.parent;i;e=i,i=i.parent)for(var r=0;i.children[r]!=e;++r)n+=i.children[r].chunkSize();return n+e.first}function Qt(t,e){var n=t.first;t:do{for(var i=0;i<t.children.length;++i){var r=t.children[i],o=r.height;if(e<o){t=r;continue t}e-=o,n+=r.chunkSize()}return n}while(!t.lines);for(var s=0;s<t.lines.length;++s){var a=t.lines[s].height;if(e<a)break;e-=a}return n+s}function Zt(t,e){return e>=t.first&&e<t.first+t.size}function Jt(t,e){return String(t.lineNumberFormatter(e+t.firstLineNumber))}function te(t,e,n){if(void 0===n&&(n=null),!(this instanceof te))return new te(t,e,n);this.line=t,this.ch=e,this.sticky=n}function ee(t,e){return t.line-e.line||t.ch-e.ch}function ne(t,e){return t.sticky==e.sticky&&0==ee(t,e)}function ie(t){return te(t.line,t.ch)}function re(t,e){return ee(t,e)<0?e:t}function oe(t,e){return ee(t,e)<0?t:e}function se(t,e){return Math.max(t.first,Math.min(e,t.first+t.size-1))}function ae(t,e){if(e.line<t.first)return te(t.first,0);var n=t.first+t.size-1;return e.line>n?te(n,qt(t,n).text.length):function(t,e){var n=t.ch;return null==n||n>e?te(t.line,e):n<0?te(t.line,0):t}(e,qt(t,e.line).text.length)}function le(t,e){for(var n=[],i=0;i<e.length;i++)n[i]=ae(t,e[i]);return n}Gt.prototype.eol=function(){return this.pos>=this.string.length},Gt.prototype.sol=function(){return this.pos==this.lineStart},Gt.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Gt.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Gt.prototype.eat=function(t){var e=this.string.charAt(this.pos);if("string"==typeof t?e==t:e&&(t.test?t.test(e):t(e)))return++this.pos,e},Gt.prototype.eatWhile=function(t){for(var e=this.pos;this.eat(t););return this.pos>e},Gt.prototype.eatSpace=function(){for(var t=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t},Gt.prototype.skipToEnd=function(){this.pos=this.string.length},Gt.prototype.skipTo=function(t){var e=this.string.indexOf(t,this.pos);if(e>-1)return this.pos=e,!0},Gt.prototype.backUp=function(t){this.pos-=t},Gt.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=F(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?F(this.string,this.lineStart,this.tabSize):0)},Gt.prototype.indentation=function(){return F(this.string,null,this.tabSize)-(this.lineStart?F(this.string,this.lineStart,this.tabSize):0)},Gt.prototype.match=function(t,e,n){if("string"!=typeof t){var i=this.string.slice(this.pos).match(t);return i&&i.index>0?null:(i&&!1!==e&&(this.pos+=i[0].length),i)}var r=function(t){return n?t.toLowerCase():t};if(r(this.string.substr(this.pos,t.length))==r(t))return!1!==e&&(this.pos+=t.length),!0},Gt.prototype.current=function(){return this.string.slice(this.start,this.pos)},Gt.prototype.hideFirstChars=function(t,e){this.lineStart+=t;try{return e()}finally{this.lineStart-=t}},Gt.prototype.lookAhead=function(t){var e=this.lineOracle;return e&&e.lookAhead(t)},Gt.prototype.baseToken=function(){var t=this.lineOracle;return t&&t.baseToken(this.pos)};var ce=function(t,e){this.state=t,this.lookAhead=e},he=function(t,e,n,i){this.state=e,this.doc=t,this.line=n,this.maxLookAhead=i||0,this.baseTokens=null,this.baseTokenPos=1};function ue(t,e,n,i){var r=[t.state.modeGen],o={};xe(t,e.text,t.doc.mode,n,(function(t,e){return r.push(t,e)}),o,i);for(var s=n.state,a=function(i){n.baseTokens=r;var a=t.state.overlays[i],l=1,c=0;n.state=!0,xe(t,e.text,a.mode,n,(function(t,e){for(var n=l;c<t;){var i=r[l];i>t&&r.splice(l,1,t,r[l+1],i),l+=2,c=Math.min(t,i)}if(e)if(a.opaque)r.splice(n,l-n,t,"overlay "+e),l=n+2;else for(;n<l;n+=2){var o=r[n+1];r[n+1]=(o?o+" ":"")+"overlay "+e}}),o),n.state=s,n.baseTokens=null,n.baseTokenPos=1},l=0;l<t.state.overlays.length;++l)a(l);return{styles:r,classes:o.bgClass||o.textClass?o:null}}function fe(t,e,n){if(!e.styles||e.styles[0]!=t.state.modeGen){var i=de(t,Xt(e)),r=e.text.length>t.options.maxHighlightLength&&zt(t.doc.mode,i.state),o=ue(t,e,i);r&&(i.state=r),e.stateAfter=i.save(!r),e.styles=o.styles,o.classes?e.styleClasses=o.classes:e.styleClasses&&(e.styleClasses=null),n===t.doc.highlightFrontier&&(t.doc.modeFrontier=Math.max(t.doc.modeFrontier,++t.doc.highlightFrontier))}return e.styles}function de(t,e,n){var i=t.doc,r=t.display;if(!i.mode.startState)return new he(i,!0,e);var o=function(t,e,n){for(var i,r,o=t.doc,s=n?-1:e-(t.doc.mode.innerMode?1e3:100),a=e;a>s;--a){if(a<=o.first)return o.first;var l=qt(o,a-1),c=l.stateAfter;if(c&&(!n||a+(c instanceof ce?c.lookAhead:0)<=o.modeFrontier))return a;var h=F(l.text,null,t.options.tabSize);(null==r||i>h)&&(r=a-1,i=h)}return r}(t,e,n),s=o>i.first&&qt(i,o-1).stateAfter,a=s?he.fromSaved(i,s,o):new he(i,jt(i.mode),o);return i.iter(o,e,(function(n){pe(t,n.text,a);var i=a.line;n.stateAfter=i==e-1||i%5==0||i>=r.viewFrom&&i<r.viewTo?a.save():null,a.nextLine()})),n&&(i.modeFrontier=a.line),a}function pe(t,e,n,i){var r=t.doc.mode,o=new Gt(e,t.options.tabSize,n);for(o.start=o.pos=i||0,""==e&&ge(r,n.state);!o.eol();)me(r,o,n.state),o.start=o.pos}function ge(t,e){if(t.blankLine)return t.blankLine(e);if(t.innerMode){var n=Wt(t,e);return n.mode.blankLine?n.mode.blankLine(n.state):void 0}}function me(t,e,n,i){for(var r=0;r<10;r++){i&&(i[0]=Wt(t,n).mode);var o=t.token(e,n);if(e.pos>e.start)return o}throw new Error("Mode "+t.name+" failed to advance stream.")}he.prototype.lookAhead=function(t){var e=this.doc.getLine(this.line+t);return null!=e&&t>this.maxLookAhead&&(this.maxLookAhead=t),e},he.prototype.baseToken=function(t){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=t;)this.baseTokenPos+=2;var e=this.baseTokens[this.baseTokenPos+1];return{type:e&&e.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-t}},he.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},he.fromSaved=function(t,e,n){return e instanceof ce?new he(t,zt(t.mode,e.state),n,e.lookAhead):new he(t,zt(t.mode,e),n)},he.prototype.save=function(t){var e=!1!==t?zt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ce(e,this.maxLookAhead):e};var ve=function(t,e,n){this.start=t.start,this.end=t.pos,this.string=t.current(),this.type=e||null,this.state=n};function _e(t,e,n,i){var r,o,s=t.doc,a=s.mode,l=qt(s,(e=ae(s,e)).line),c=de(t,e.line,n),h=new Gt(l.text,t.options.tabSize,c);for(i&&(o=[]);(i||h.pos<e.ch)&&!h.eol();)h.start=h.pos,r=me(a,h,c.state),i&&o.push(new ve(h,r,zt(s.mode,c.state)));return i?o:new ve(h,r,c.state)}function ye(t,e){if(t)for(;;){var n=t.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!n)break;t=t.slice(0,n.index)+t.slice(n.index+n[0].length);var i=n[1]?"bgClass":"textClass";null==e[i]?e[i]=n[2]:new RegExp("(?:^|\\s)"+n[2]+"(?:$|\\s)").test(e[i])||(e[i]+=" "+n[2])}return t}function xe(t,e,n,i,r,o,s){var a=n.flattenSpans;null==a&&(a=t.options.flattenSpans);var l,c=0,h=null,u=new Gt(e,t.options.tabSize,i),f=t.options.addModeClass&&[null];for(""==e&&ye(ge(n,i.state),o);!u.eol();){if(u.pos>t.options.maxHighlightLength?(a=!1,s&&pe(t,e,i,u.pos),u.pos=e.length,l=null):l=ye(me(n,u,i.state,f),o),f){var d=f[0].name;d&&(l="m-"+(l?d+" "+l:d))}if(!a||h!=l){for(;c<u.start;)r(c=Math.min(u.start,c+5e3),h);h=l}u.start=u.pos}for(;c<u.pos;){var p=Math.min(u.pos,c+5e3);r(p,h),c=p}}var ke=!1,be=!1;function Te(t,e,n){this.marker=t,this.from=e,this.to=n}function Ce(t,e){if(t)for(var n=0;n<t.length;++n){var i=t[n];if(i.marker==e)return i}}function we(t,e){for(var n,i=0;i<t.length;++i)t[i]!=e&&(n||(n=[])).push(t[i]);return n}function Ee(t,e){if(e.full)return null;var n=Zt(t,e.from.line)&&qt(t,e.from.line).markedSpans,i=Zt(t,e.to.line)&&qt(t,e.to.line).markedSpans;if(!n&&!i)return null;var r=e.from.ch,o=e.to.ch,s=0==ee(e.from,e.to),a=function(t,e,n){var i;if(t)for(var r=0;r<t.length;++r){var o=t[r],s=o.marker;if(null==o.from||(s.inclusiveLeft?o.from<=e:o.from<e)||o.from==e&&"bookmark"==s.type&&(!n||!o.marker.insertLeft)){var a=null==o.to||(s.inclusiveRight?o.to>=e:o.to>e);(i||(i=[])).push(new Te(s,o.from,a?null:o.to))}}return i}(n,r,s),l=function(t,e,n){var i;if(t)for(var r=0;r<t.length;++r){var o=t[r],s=o.marker;if(null==o.to||(s.inclusiveRight?o.to>=e:o.to>e)||o.from==e&&"bookmark"==s.type&&(!n||o.marker.insertLeft)){var a=null==o.from||(s.inclusiveLeft?o.from<=e:o.from<e);(i||(i=[])).push(new Te(s,a?null:o.from-e,null==o.to?null:o.to-e))}}return i}(i,o,s),c=1==e.text.length,h=Y(e.text).length+(c?r:0);if(a)for(var u=0;u<a.length;++u){var f=a[u];if(null==f.to){var d=Ce(l,f.marker);d?c&&(f.to=null==d.to?null:d.to+h):f.to=r}}if(l)for(var p=0;p<l.length;++p){var g=l[p];null!=g.to&&(g.to+=h),null==g.from?Ce(a,g.marker)||(g.from=h,c&&(a||(a=[])).push(g)):(g.from+=h,c&&(a||(a=[])).push(g))}a&&(a=Se(a)),l&&l!=a&&(l=Se(l));var m=[a];if(!c){var v,_=e.text.length-2;if(_>0&&a)for(var y=0;y<a.length;++y)null==a[y].to&&(v||(v=[])).push(new Te(a[y].marker,null,null));for(var x=0;x<_;++x)m.push(v);m.push(l)}return m}function Se(t){for(var e=0;e<t.length;++e){var n=t[e];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&t.splice(e--,1)}return t.length?t:null}function Ae(t){var e=t.markedSpans;if(e){for(var n=0;n<e.length;++n)e[n].marker.detachLine(t);t.markedSpans=null}}function Le(t,e){if(e){for(var n=0;n<e.length;++n)e[n].marker.attachLine(t);t.markedSpans=e}}function Oe(t){return t.inclusiveLeft?-1:0}function Ne(t){return t.inclusiveRight?1:0}function Ie(t,e){var n=t.lines.length-e.lines.length;if(0!=n)return n;var i=t.find(),r=e.find(),o=ee(i.from,r.from)||Oe(t)-Oe(e);if(o)return-o;var s=ee(i.to,r.to)||Ne(t)-Ne(e);return s||e.id-t.id}function Me(t,e){var n,i=be&&t.markedSpans;if(i)for(var r=void 0,o=0;o<i.length;++o)(r=i[o]).marker.collapsed&&null==(e?r.from:r.to)&&(!n||Ie(n,r.marker)<0)&&(n=r.marker);return n}function $e(t){return Me(t,!0)}function Re(t){return Me(t,!1)}function De(t,e){var n,i=be&&t.markedSpans;if(i)for(var r=0;r<i.length;++r){var o=i[r];o.marker.collapsed&&(null==o.from||o.from<e)&&(null==o.to||o.to>e)&&(!n||Ie(n,o.marker)<0)&&(n=o.marker)}return n}function Pe(t,e,n,i,r){var o=qt(t,e),s=be&&o.markedSpans;if(s)for(var a=0;a<s.length;++a){var l=s[a];if(l.marker.collapsed){var c=l.marker.find(0),h=ee(c.from,n)||Oe(l.marker)-Oe(r),u=ee(c.to,i)||Ne(l.marker)-Ne(r);if(!(h>=0&&u<=0||h<=0&&u>=0)&&(h<=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?ee(c.to,n)>=0:ee(c.to,n)>0)||h>=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?ee(c.from,i)<=0:ee(c.from,i)<0)))return!0}}}function Fe(t){for(var e;e=$e(t);)t=e.find(-1,!0).line;return t}function Be(t,e){var n=qt(t,e),i=Fe(n);return n==i?e:Xt(i)}function Ue(t,e){if(e>t.lastLine())return e;var n,i=qt(t,e);if(!He(t,i))return e;for(;n=Re(i);)i=n.find(1,!0).line;return Xt(i)+1}function He(t,e){var n=be&&e.markedSpans;if(n)for(var i=void 0,r=0;r<n.length;++r)if((i=n[r]).marker.collapsed){if(null==i.from)return!0;if(!i.marker.widgetNode&&0==i.from&&i.marker.inclusiveLeft&&ze(t,e,i))return!0}}function ze(t,e,n){if(null==n.to){var i=n.marker.find(1,!0);return ze(t,i.line,Ce(i.line.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==e.text.length)return!0;for(var r=void 0,o=0;o<e.markedSpans.length;++o)if((r=e.markedSpans[o]).marker.collapsed&&!r.marker.widgetNode&&r.from==n.to&&(null==r.to||r.to!=n.from)&&(r.marker.inclusiveLeft||n.marker.inclusiveRight)&&ze(t,e,r))return!0}function We(t){for(var e=0,n=(t=Fe(t)).parent,i=0;i<n.lines.length;++i){var r=n.lines[i];if(r==t)break;e+=r.height}for(var o=n.parent;o;o=(n=o).parent)for(var s=0;s<o.children.length;++s){var a=o.children[s];if(a==n)break;e+=a.height}return e}function je(t){if(0==t.height)return 0;for(var e,n=t.text.length,i=t;e=$e(i);){var r=e.find(0,!0);i=r.from.line,n+=r.from.ch-r.to.ch}for(i=t;e=Re(i);){var o=e.find(0,!0);n-=i.text.length-o.from.ch,n+=(i=o.to.line).text.length-o.to.ch}return n}function Ge(t){var e=t.display,n=t.doc;e.maxLine=qt(n,n.first),e.maxLineLength=je(e.maxLine),e.maxLineChanged=!0,n.iter((function(t){var n=je(t);n>e.maxLineLength&&(e.maxLineLength=n,e.maxLine=t)}))}var qe=function(t,e,n){this.text=t,Le(this,e),this.height=n?n(this):1};function Ve(t){t.parent=null,Ae(t)}qe.prototype.lineNo=function(){return Xt(this)},_t(qe);var Ye={},Ke={};function Xe(t,e){if(!t||/^\s*$/.test(t))return null;var n=e.addModeClass?Ke:Ye;return n[t]||(n[t]=t.replace(/\S+/g,"cm-$&"))}function Qe(t,e){var n=O("span",null,null,l?"padding-right: .1px":null),i={pre:O("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:t,trailingSpace:!1,splitSpaces:t.getOption("lineWrapping")};e.measure={};for(var r=0;r<=(e.rest?e.rest.length:0);r++){var o=r?e.rest[r-1]:e.line,s=void 0;i.pos=0,i.addToken=Je,Lt(t.display.measure)&&(s=ct(o,t.doc.direction))&&(i.addToken=tn(i.addToken,s)),i.map=[],nn(o,i,fe(t,o,e!=t.display.externalMeasured&&Xt(o))),o.styleClasses&&(o.styleClasses.bgClass&&(i.bgClass=$(o.styleClasses.bgClass,i.bgClass||"")),o.styleClasses.textClass&&(i.textClass=$(o.styleClasses.textClass,i.textClass||""))),0==i.map.length&&i.map.push(0,0,i.content.appendChild(At(t.display.measure))),0==r?(e.measure.map=i.map,e.measure.cache={}):((e.measure.maps||(e.measure.maps=[])).push(i.map),(e.measure.caches||(e.measure.caches=[])).push({}))}if(l){var a=i.content.lastChild;(/\bcm-tab\b/.test(a.className)||a.querySelector&&a.querySelector(".cm-tab"))&&(i.content.className="cm-tab-wrap-hack")}return pt(t,"renderLine",t,e.line,i.pre),i.pre.className&&(i.textClass=$(i.pre.className,i.textClass||"")),i}function Ze(t){var e=L("span","•","cm-invalidchar");return e.title="\\u"+t.charCodeAt(0).toString(16),e.setAttribute("aria-label",e.title),e}function Je(t,e,n,i,r,o,l){if(e){var c,h=t.splitSpaces?function(t,e){if(t.length>1&&!/ /.test(t))return t;for(var n=e,i="",r=0;r<t.length;r++){var o=t.charAt(r);" "!=o||!n||r!=t.length-1&&32!=t.charCodeAt(r+1)||(o=" "),i+=o,n=" "==o}return i}(e,t.trailingSpace):e,u=t.cm.state.specialChars,f=!1;if(u.test(e)){c=document.createDocumentFragment();for(var d=0;;){u.lastIndex=d;var p=u.exec(e),g=p?p.index-d:e.length-d;if(g){var m=document.createTextNode(h.slice(d,d+g));s&&a<9?c.appendChild(L("span",[m])):c.appendChild(m),t.map.push(t.pos,t.pos+g,m),t.col+=g,t.pos+=g}if(!p)break;d+=g+1;var v=void 0;if("\t"==p[0]){var _=t.cm.options.tabSize,y=_-t.col%_;(v=c.appendChild(L("span",V(y),"cm-tab"))).setAttribute("role","presentation"),v.setAttribute("cm-text","\t"),t.col+=y}else"\r"==p[0]||"\n"==p[0]?((v=c.appendChild(L("span","\r"==p[0]?"␍":"␤","cm-invalidchar"))).setAttribute("cm-text",p[0]),t.col+=1):((v=t.cm.options.specialCharPlaceholder(p[0])).setAttribute("cm-text",p[0]),s&&a<9?c.appendChild(L("span",[v])):c.appendChild(v),t.col+=1);t.map.push(t.pos,t.pos+1,v),t.pos++}}else t.col+=e.length,c=document.createTextNode(h),t.map.push(t.pos,t.pos+e.length,c),s&&a<9&&(f=!0),t.pos+=e.length;if(t.trailingSpace=32==h.charCodeAt(e.length-1),n||i||r||f||o||l){var x=n||"";i&&(x+=i),r&&(x+=r);var k=L("span",[c],x,o);if(l)for(var b in l)l.hasOwnProperty(b)&&"style"!=b&&"class"!=b&&k.setAttribute(b,l[b]);return t.content.appendChild(k)}t.content.appendChild(c)}}function tn(t,e){return function(n,i,r,o,s,a,l){r=r?r+" cm-force-border":"cm-force-border";for(var c=n.pos,h=c+i.length;;){for(var u=void 0,f=0;f<e.length&&!((u=e[f]).to>c&&u.from<=c);f++);if(u.to>=h)return t(n,i,r,o,s,a,l);t(n,i.slice(0,u.to-c),r,o,null,a,l),o=null,i=i.slice(u.to-c),c=u.to}}}function en(t,e,n,i){var r=!i&&n.widgetNode;r&&t.map.push(t.pos,t.pos+e,r),!i&&t.cm.display.input.needsContentAttribute&&(r||(r=t.content.appendChild(document.createElement("span"))),r.setAttribute("cm-marker",n.id)),r&&(t.cm.display.input.setUneditable(r),t.content.appendChild(r)),t.pos+=e,t.trailingSpace=!1}function nn(t,e,n){var i=t.markedSpans,r=t.text,o=0;if(i)for(var s,a,l,c,h,u,f,d=r.length,p=0,g=1,m="",v=0;;){if(v==p){l=c=h=a="",f=null,u=null,v=1/0;for(var _=[],y=void 0,x=0;x<i.length;++x){var k=i[x],b=k.marker;if("bookmark"==b.type&&k.from==p&&b.widgetNode)_.push(b);else if(k.from<=p&&(null==k.to||k.to>p||b.collapsed&&k.to==p&&k.from==p)){if(null!=k.to&&k.to!=p&&v>k.to&&(v=k.to,c=""),b.className&&(l+=" "+b.className),b.css&&(a=(a?a+";":"")+b.css),b.startStyle&&k.from==p&&(h+=" "+b.startStyle),b.endStyle&&k.to==v&&(y||(y=[])).push(b.endStyle,k.to),b.title&&((f||(f={})).title=b.title),b.attributes)for(var T in b.attributes)(f||(f={}))[T]=b.attributes[T];b.collapsed&&(!u||Ie(u.marker,b)<0)&&(u=k)}else k.from>p&&v>k.from&&(v=k.from)}if(y)for(var C=0;C<y.length;C+=2)y[C+1]==v&&(c+=" "+y[C]);if(!u||u.from==p)for(var w=0;w<_.length;++w)en(e,0,_[w]);if(u&&(u.from||0)==p){if(en(e,(null==u.to?d+1:u.to)-p,u.marker,null==u.from),null==u.to)return;u.to==p&&(u=!1)}}if(p>=d)break;for(var E=Math.min(d,v);;){if(m){var S=p+m.length;if(!u){var A=S>E?m.slice(0,E-p):m;e.addToken(e,A,s?s+l:l,h,p+A.length==v?c:"",a,f)}if(S>=E){m=m.slice(E-p),p=E;break}p=S,h=""}m=r.slice(o,o=n[g++]),s=Xe(n[g++],e.cm.options)}}else for(var L=1;L<n.length;L+=2)e.addToken(e,r.slice(o,o=n[L]),Xe(n[L+1],e.cm.options))}function rn(t,e,n){this.line=e,this.rest=function(t){for(var e,n;e=Re(t);)t=e.find(1,!0).line,(n||(n=[])).push(t);return n}(e),this.size=this.rest?Xt(Y(this.rest))-n+1:1,this.node=this.text=null,this.hidden=He(t,e)}function on(t,e,n){for(var i,r=[],o=e;o<n;o=i){var s=new rn(t.doc,qt(t.doc,o),o);i=o+s.size,r.push(s)}return r}var sn=null,an=null;function ln(t,e){var n=ft(t,e);if(n.length){var i,r=Array.prototype.slice.call(arguments,2);sn?i=sn.delayedCallbacks:an?i=an:(i=an=[],setTimeout(cn,0));for(var o=function(t){i.push((function(){return n[t].apply(null,r)}))},s=0;s<n.length;++s)o(s)}}function cn(){var t=an;an=null;for(var e=0;e<t.length;++e)t[e]()}function hn(t,e,n,i){for(var r=0;r<e.changes.length;r++){var o=e.changes[r];"text"==o?dn(t,e):"gutter"==o?gn(t,e,n,i):"class"==o?pn(t,e):"widget"==o&&mn(t,e,i)}e.changes=null}function un(t){return t.node==t.text&&(t.node=L("div",null,null,"position: relative"),t.text.parentNode&&t.text.parentNode.replaceChild(t.node,t.text),t.node.appendChild(t.text),s&&a<8&&(t.node.style.zIndex=2)),t.node}function fn(t,e){var n=t.display.externalMeasured;return n&&n.line==e.line?(t.display.externalMeasured=null,e.measure=n.measure,n.built):Qe(t,e)}function dn(t,e){var n=e.text.className,i=fn(t,e);e.text==e.node&&(e.node=i.pre),e.text.parentNode.replaceChild(i.pre,e.text),e.text=i.pre,i.bgClass!=e.bgClass||i.textClass!=e.textClass?(e.bgClass=i.bgClass,e.textClass=i.textClass,pn(t,e)):n&&(e.text.className=n)}function pn(t,e){!function(t,e){var n=e.bgClass?e.bgClass+" "+(e.line.bgClass||""):e.line.bgClass;if(n&&(n+=" CodeMirror-linebackground"),e.background)n?e.background.className=n:(e.background.parentNode.removeChild(e.background),e.background=null);else if(n){var i=un(e);e.background=i.insertBefore(L("div",null,n),i.firstChild),t.display.input.setUneditable(e.background)}}(t,e),e.line.wrapClass?un(e).className=e.line.wrapClass:e.node!=e.text&&(e.node.className="");var n=e.textClass?e.textClass+" "+(e.line.textClass||""):e.line.textClass;e.text.className=n||""}function gn(t,e,n,i){if(e.gutter&&(e.node.removeChild(e.gutter),e.gutter=null),e.gutterBackground&&(e.node.removeChild(e.gutterBackground),e.gutterBackground=null),e.line.gutterClass){var r=un(e);e.gutterBackground=L("div",null,"CodeMirror-gutter-background "+e.line.gutterClass,"left: "+(t.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px; width: "+i.gutterTotalWidth+"px"),t.display.input.setUneditable(e.gutterBackground),r.insertBefore(e.gutterBackground,e.text)}var o=e.line.gutterMarkers;if(t.options.lineNumbers||o){var s=un(e),a=e.gutter=L("div",null,"CodeMirror-gutter-wrapper","left: "+(t.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px");if(a.setAttribute("aria-hidden","true"),t.display.input.setUneditable(a),s.insertBefore(a,e.text),e.line.gutterClass&&(a.className+=" "+e.line.gutterClass),!t.options.lineNumbers||o&&o["CodeMirror-linenumbers"]||(e.lineNumber=a.appendChild(L("div",Jt(t.options,n),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+i.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+t.display.lineNumInnerWidth+"px"))),o)for(var l=0;l<t.display.gutterSpecs.length;++l){var c=t.display.gutterSpecs[l].className,h=o.hasOwnProperty(c)&&o[c];h&&a.appendChild(L("div",[h],"CodeMirror-gutter-elt","left: "+i.gutterLeft[c]+"px; width: "+i.gutterWidth[c]+"px"))}}}function mn(t,e,n){e.alignable&&(e.alignable=null);for(var i=C("CodeMirror-linewidget"),r=e.node.firstChild,o=void 0;r;r=o)o=r.nextSibling,i.test(r.className)&&e.node.removeChild(r);_n(t,e,n)}function vn(t,e,n,i){var r=fn(t,e);return e.text=e.node=r.pre,r.bgClass&&(e.bgClass=r.bgClass),r.textClass&&(e.textClass=r.textClass),pn(t,e),gn(t,e,n,i),_n(t,e,i),e.node}function _n(t,e,n){if(yn(t,e.line,e,n,!0),e.rest)for(var i=0;i<e.rest.length;i++)yn(t,e.rest[i],e,n,!1)}function yn(t,e,n,i,r){if(e.widgets)for(var o=un(n),s=0,a=e.widgets;s<a.length;++s){var l=a[s],c=L("div",[l.node],"CodeMirror-linewidget"+(l.className?" "+l.className:""));l.handleMouseEvents||c.setAttribute("cm-ignore-events","true"),xn(l,c,n,i),t.display.input.setUneditable(c),r&&l.above?o.insertBefore(c,n.gutter||n.text):o.appendChild(c),ln(l,"redraw")}}function xn(t,e,n,i){if(t.noHScroll){(n.alignable||(n.alignable=[])).push(e);var r=i.wrapperWidth;e.style.left=i.fixedPos+"px",t.coverGutter||(r-=i.gutterTotalWidth,e.style.paddingLeft=i.gutterTotalWidth+"px"),e.style.width=r+"px"}t.coverGutter&&(e.style.zIndex=5,e.style.position="relative",t.noHScroll||(e.style.marginLeft=-i.gutterTotalWidth+"px"))}function kn(t){if(null!=t.height)return t.height;var e=t.doc.cm;if(!e)return 0;if(!N(document.body,t.node)){var n="position: relative;";t.coverGutter&&(n+="margin-left: -"+e.display.gutters.offsetWidth+"px;"),t.noHScroll&&(n+="width: "+e.display.wrapper.clientWidth+"px;"),A(e.display.measure,L("div",[t.node],null,n))}return t.height=t.node.parentNode.offsetHeight}function bn(t,e){for(var n=Tt(e);n!=t.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&"true"==n.getAttribute("cm-ignore-events")||n.parentNode==t.sizer&&n!=t.mover)return!0}function Tn(t){return t.lineSpace.offsetTop}function Cn(t){return t.mover.offsetHeight-t.lineSpace.offsetHeight}function wn(t){if(t.cachedPaddingH)return t.cachedPaddingH;var e=A(t.measure,L("pre","x","CodeMirror-line-like")),n=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle,i={left:parseInt(n.paddingLeft),right:parseInt(n.paddingRight)};return isNaN(i.left)||isNaN(i.right)||(t.cachedPaddingH=i),i}function En(t){return 50-t.display.nativeBarWidth}function Sn(t){return t.display.scroller.clientWidth-En(t)-t.display.barWidth}function An(t){return t.display.scroller.clientHeight-En(t)-t.display.barHeight}function Ln(t,e,n){if(t.line==e)return{map:t.measure.map,cache:t.measure.cache};for(var i=0;i<t.rest.length;i++)if(t.rest[i]==e)return{map:t.measure.maps[i],cache:t.measure.caches[i]};for(var r=0;r<t.rest.length;r++)if(Xt(t.rest[r])>n)return{map:t.measure.maps[r],cache:t.measure.caches[r],before:!0}}function On(t,e,n,i){return Mn(t,In(t,e),n,i)}function Nn(t,e){if(e>=t.display.viewFrom&&e<t.display.viewTo)return t.display.view[hi(t,e)];var n=t.display.externalMeasured;return n&&e>=n.lineN&&e<n.lineN+n.size?n:void 0}function In(t,e){var n=Xt(e),i=Nn(t,n);i&&!i.text?i=null:i&&i.changes&&(hn(t,i,n,oi(t)),t.curOp.forceUpdate=!0),i||(i=function(t,e){var n=Xt(e=Fe(e)),i=t.display.externalMeasured=new rn(t.doc,e,n);i.lineN=n;var r=i.built=Qe(t,i);return i.text=r.pre,A(t.display.lineMeasure,r.pre),i}(t,e));var r=Ln(i,e,n);return{line:e,view:i,rect:null,map:r.map,cache:r.cache,before:r.before,hasHeights:!1}}function Mn(t,e,n,i,r){e.before&&(n=-1);var o,l=n+(i||"");return e.cache.hasOwnProperty(l)?o=e.cache[l]:(e.rect||(e.rect=e.view.text.getBoundingClientRect()),e.hasHeights||(function(t,e,n){var i=t.options.lineWrapping,r=i&&Sn(t);if(!e.measure.heights||i&&e.measure.width!=r){var o=e.measure.heights=[];if(i){e.measure.width=r;for(var s=e.text.firstChild.getClientRects(),a=0;a<s.length-1;a++){var l=s[a],c=s[a+1];Math.abs(l.bottom-c.bottom)>2&&o.push((l.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}(t,e.view,e.rect),e.hasHeights=!0),(o=function(t,e,n,i){var r,o=Dn(e.map,n,i),l=o.node,c=o.start,h=o.end,u=o.collapse;if(3==l.nodeType){for(var f=0;f<4;f++){for(;c&&it(e.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+h<o.coverEnd&&it(e.line.text.charAt(o.coverStart+h));)++h;if((r=s&&a<9&&0==c&&h==o.coverEnd-o.coverStart?l.parentNode.getBoundingClientRect():Pn(w(l,c,h).getClientRects(),i)).left||r.right||0==c)break;h=c,c-=1,u="right"}s&&a<11&&(r=function(t,e){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(t){if(null!=$t)return $t;var e=A(t,L("span","x")),n=e.getBoundingClientRect(),i=w(e,0,1).getBoundingClientRect();return $t=Math.abs(n.left-i.left)>1}(t))return e;var n=screen.logicalXDPI/screen.deviceXDPI,i=screen.logicalYDPI/screen.deviceYDPI;return{left:e.left*n,right:e.right*n,top:e.top*i,bottom:e.bottom*i}}(t.display.measure,r))}else{var d;c>0&&(u=i="right"),r=t.options.lineWrapping&&(d=l.getClientRects()).length>1?d["right"==i?d.length-1:0]:l.getBoundingClientRect()}if(s&&a<9&&!c&&(!r||!r.left&&!r.right)){var p=l.parentNode.getClientRects()[0];r=p?{left:p.left,right:p.left+ri(t.display),top:p.top,bottom:p.bottom}:Rn}for(var g=r.top-e.rect.top,m=r.bottom-e.rect.top,v=(g+m)/2,_=e.view.measure.heights,y=0;y<_.length-1&&!(v<_[y]);y++);var x=y?_[y-1]:0,k=_[y],b={left:("right"==u?r.right:r.left)-e.rect.left,right:("left"==u?r.left:r.right)-e.rect.left,top:x,bottom:k};return r.left||r.right||(b.bogus=!0),t.options.singleCursorHeightPerLine||(b.rtop=g,b.rbottom=m),b}(t,e,n,i)).bogus||(e.cache[l]=o)),{left:o.left,right:o.right,top:r?o.rtop:o.top,bottom:r?o.rbottom:o.bottom}}var $n,Rn={left:0,right:0,top:0,bottom:0};function Dn(t,e,n){for(var i,r,o,s,a,l,c=0;c<t.length;c+=3)if(a=t[c],l=t[c+1],e<a?(r=0,o=1,s="left"):e<l?o=1+(r=e-a):(c==t.length-3||e==l&&t[c+3]>e)&&(r=(o=l-a)-1,e>=l&&(s="right")),null!=r){if(i=t[c+2],a==l&&n==(i.insertLeft?"left":"right")&&(s=n),"left"==n&&0==r)for(;c&&t[c-2]==t[c-3]&&t[c-1].insertLeft;)i=t[2+(c-=3)],s="left";if("right"==n&&r==l-a)for(;c<t.length-3&&t[c+3]==t[c+4]&&!t[c+5].insertLeft;)i=t[(c+=3)+2],s="right";break}return{node:i,start:r,end:o,collapse:s,coverStart:a,coverEnd:l}}function Pn(t,e){var n=Rn;if("left"==e)for(var i=0;i<t.length&&(n=t[i]).left==n.right;i++);else for(var r=t.length-1;r>=0&&(n=t[r]).left==n.right;r--);return n}function Fn(t){if(t.measure&&(t.measure.cache={},t.measure.heights=null,t.rest))for(var e=0;e<t.rest.length;e++)t.measure.caches[e]={}}function Bn(t){t.display.externalMeasure=null,S(t.display.lineMeasure);for(var e=0;e<t.display.view.length;e++)Fn(t.display.view[e])}function Un(t){Bn(t),t.display.cachedCharWidth=t.display.cachedTextHeight=t.display.cachedPaddingH=null,t.options.lineWrapping||(t.display.maxLineChanged=!0),t.display.lineNumChars=null}function Hn(){return h&&m?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function zn(){return h&&m?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function Wn(t){var e=0;if(t.widgets)for(var n=0;n<t.widgets.length;++n)t.widgets[n].above&&(e+=kn(t.widgets[n]));return e}function jn(t,e,n,i,r){if(!r){var o=Wn(e);n.top+=o,n.bottom+=o}if("line"==i)return n;i||(i="local");var s=We(e);if("local"==i?s+=Tn(t.display):s-=t.display.viewOffset,"page"==i||"window"==i){var a=t.display.lineSpace.getBoundingClientRect();s+=a.top+("window"==i?0:zn());var l=a.left+("window"==i?0:Hn());n.left+=l,n.right+=l}return n.top+=s,n.bottom+=s,n}function Gn(t,e,n){if("div"==n)return e;var i=e.left,r=e.top;if("page"==n)i-=Hn(),r-=zn();else if("local"==n||!n){var o=t.display.sizer.getBoundingClientRect();i+=o.left,r+=o.top}var s=t.display.lineSpace.getBoundingClientRect();return{left:i-s.left,top:r-s.top}}function qn(t,e,n,i,r){return i||(i=qt(t.doc,e.line)),jn(t,i,On(t,i,e.ch,r),n)}function Vn(t,e,n,i,r,o){function s(e,s){var a=Mn(t,r,e,s?"right":"left",o);return s?a.left=a.right:a.right=a.left,jn(t,i,a,n)}i=i||qt(t.doc,e.line),r||(r=In(t,i));var a=ct(i,t.doc.direction),l=e.ch,c=e.sticky;if(l>=i.text.length?(l=i.text.length,c="before"):l<=0&&(l=0,c="after"),!a)return s("before"==c?l-1:l,"before"==c);function h(t,e,n){return s(n?t-1:t,1==a[e].level!=n)}var u=at(a,l,c),f=st,d=h(l,u,"before"==c);return null!=f&&(d.other=h(l,f,"before"!=c)),d}function Yn(t,e){var n=0;e=ae(t.doc,e),t.options.lineWrapping||(n=ri(t.display)*e.ch);var i=qt(t.doc,e.line),r=We(i)+Tn(t.display);return{left:n,right:n,top:r,bottom:r+i.height}}function Kn(t,e,n,i,r){var o=te(t,e,n);return o.xRel=r,i&&(o.outside=i),o}function Xn(t,e,n){var i=t.doc;if((n+=t.display.viewOffset)<0)return Kn(i.first,0,null,-1,-1);var r=Qt(i,n),o=i.first+i.size-1;if(r>o)return Kn(i.first+i.size-1,qt(i,o).text.length,null,1,1);e<0&&(e=0);for(var s=qt(i,r);;){var a=ti(t,s,r,e,n),l=De(s,a.ch+(a.xRel>0||a.outside>0?1:0));if(!l)return a;var c=l.find(1);if(c.line==r)return c;s=qt(i,r=c.line)}}function Qn(t,e,n,i){i-=Wn(e);var r=e.text.length,o=ot((function(e){return Mn(t,n,e-1).bottom<=i}),r,0);return{begin:o,end:r=ot((function(e){return Mn(t,n,e).top>i}),o,r)}}function Zn(t,e,n,i){return n||(n=In(t,e)),Qn(t,e,n,jn(t,e,Mn(t,n,i),"line").top)}function Jn(t,e,n,i){return!(t.bottom<=n)&&(t.top>n||(i?t.left:t.right)>e)}function ti(t,e,n,i,r){r-=We(e);var o=In(t,e),s=Wn(e),a=0,l=e.text.length,c=!0,h=ct(e,t.doc.direction);if(h){var u=(t.options.lineWrapping?ni:ei)(t,e,n,o,h,i,r);a=(c=1!=u.level)?u.from:u.to-1,l=c?u.to:u.from-1}var f,d,p=null,g=null,m=ot((function(e){var n=Mn(t,o,e);return n.top+=s,n.bottom+=s,!!Jn(n,i,r,!1)&&(n.top<=r&&n.left<=i&&(p=e,g=n),!0)}),a,l),v=!1;if(g){var _=i-g.left<g.right-i,y=_==c;m=p+(y?0:1),d=y?"after":"before",f=_?g.left:g.right}else{c||m!=l&&m!=a||m++,d=0==m?"after":m==e.text.length?"before":Mn(t,o,m-(c?1:0)).bottom+s<=r==c?"after":"before";var x=Vn(t,te(n,m,d),"line",e,o);f=x.left,v=r<x.top?-1:r>=x.bottom?1:0}return Kn(n,m=rt(e.text,m,1),d,v,i-f)}function ei(t,e,n,i,r,o,s){var a=ot((function(a){var l=r[a],c=1!=l.level;return Jn(Vn(t,te(n,c?l.to:l.from,c?"before":"after"),"line",e,i),o,s,!0)}),0,r.length-1),l=r[a];if(a>0){var c=1!=l.level,h=Vn(t,te(n,c?l.from:l.to,c?"after":"before"),"line",e,i);Jn(h,o,s,!0)&&h.top>s&&(l=r[a-1])}return l}function ni(t,e,n,i,r,o,s){var a=Qn(t,e,i,s),l=a.begin,c=a.end;/\s/.test(e.text.charAt(c-1))&&c--;for(var h=null,u=null,f=0;f<r.length;f++){var d=r[f];if(!(d.from>=c||d.to<=l)){var p=Mn(t,i,1!=d.level?Math.min(c,d.to)-1:Math.max(l,d.from)).right,g=p<o?o-p+1e9:p-o;(!h||u>g)&&(h=d,u=g)}}return h||(h=r[r.length-1]),h.from<l&&(h={from:l,to:h.to,level:h.level}),h.to>c&&(h={from:h.from,to:c,level:h.level}),h}function ii(t){if(null!=t.cachedTextHeight)return t.cachedTextHeight;if(null==$n){$n=L("pre",null,"CodeMirror-line-like");for(var e=0;e<49;++e)$n.appendChild(document.createTextNode("x")),$n.appendChild(L("br"));$n.appendChild(document.createTextNode("x"))}A(t.measure,$n);var n=$n.offsetHeight/50;return n>3&&(t.cachedTextHeight=n),S(t.measure),n||1}function ri(t){if(null!=t.cachedCharWidth)return t.cachedCharWidth;var e=L("span","xxxxxxxxxx"),n=L("pre",[e],"CodeMirror-line-like");A(t.measure,n);var i=e.getBoundingClientRect(),r=(i.right-i.left)/10;return r>2&&(t.cachedCharWidth=r),r||10}function oi(t){for(var e=t.display,n={},i={},r=e.gutters.clientLeft,o=e.gutters.firstChild,s=0;o;o=o.nextSibling,++s){var a=t.display.gutterSpecs[s].className;n[a]=o.offsetLeft+o.clientLeft+r,i[a]=o.clientWidth}return{fixedPos:si(e),gutterTotalWidth:e.gutters.offsetWidth,gutterLeft:n,gutterWidth:i,wrapperWidth:e.wrapper.clientWidth}}function si(t){return t.scroller.getBoundingClientRect().left-t.sizer.getBoundingClientRect().left}function ai(t){var e=ii(t.display),n=t.options.lineWrapping,i=n&&Math.max(5,t.display.scroller.clientWidth/ri(t.display)-3);return function(r){if(He(t.doc,r))return 0;var o=0;if(r.widgets)for(var s=0;s<r.widgets.length;s++)r.widgets[s].height&&(o+=r.widgets[s].height);return n?o+(Math.ceil(r.text.length/i)||1)*e:o+e}}function li(t){var e=t.doc,n=ai(t);e.iter((function(t){var e=n(t);e!=t.height&&Kt(t,e)}))}function ci(t,e,n,i){var r=t.display;if(!n&&"true"==Tt(e).getAttribute("cm-not-content"))return null;var o,s,a=r.lineSpace.getBoundingClientRect();try{o=e.clientX-a.left,s=e.clientY-a.top}catch(t){return null}var l,c=Xn(t,o,s);if(i&&c.xRel>0&&(l=qt(t.doc,c.line).text).length==c.ch){var h=F(l,l.length,t.options.tabSize)-l.length;c=te(c.line,Math.max(0,Math.round((o-wn(t.display).left)/ri(t.display))-h))}return c}function hi(t,e){if(e>=t.display.viewTo)return null;if((e-=t.display.viewFrom)<0)return null;for(var n=t.display.view,i=0;i<n.length;i++)if((e-=n[i].size)<0)return i}function ui(t,e,n,i){null==e&&(e=t.doc.first),null==n&&(n=t.doc.first+t.doc.size),i||(i=0);var r=t.display;if(i&&n<r.viewTo&&(null==r.updateLineNumbers||r.updateLineNumbers>e)&&(r.updateLineNumbers=e),t.curOp.viewChanged=!0,e>=r.viewTo)be&&Be(t.doc,e)<r.viewTo&&di(t);else if(n<=r.viewFrom)be&&Ue(t.doc,n+i)>r.viewFrom?di(t):(r.viewFrom+=i,r.viewTo+=i);else if(e<=r.viewFrom&&n>=r.viewTo)di(t);else if(e<=r.viewFrom){var o=pi(t,n,n+i,1);o?(r.view=r.view.slice(o.index),r.viewFrom=o.lineN,r.viewTo+=i):di(t)}else if(n>=r.viewTo){var s=pi(t,e,e,-1);s?(r.view=r.view.slice(0,s.index),r.viewTo=s.lineN):di(t)}else{var a=pi(t,e,e,-1),l=pi(t,n,n+i,1);a&&l?(r.view=r.view.slice(0,a.index).concat(on(t,a.lineN,l.lineN)).concat(r.view.slice(l.index)),r.viewTo+=i):di(t)}var c=r.externalMeasured;c&&(n<c.lineN?c.lineN+=i:e<c.lineN+c.size&&(r.externalMeasured=null))}function fi(t,e,n){t.curOp.viewChanged=!0;var i=t.display,r=t.display.externalMeasured;if(r&&e>=r.lineN&&e<r.lineN+r.size&&(i.externalMeasured=null),!(e<i.viewFrom||e>=i.viewTo)){var o=i.view[hi(t,e)];if(null!=o.node){var s=o.changes||(o.changes=[]);-1==U(s,n)&&s.push(n)}}}function di(t){t.display.viewFrom=t.display.viewTo=t.doc.first,t.display.view=[],t.display.viewOffset=0}function pi(t,e,n,i){var r,o=hi(t,e),s=t.display.view;if(!be||n==t.doc.first+t.doc.size)return{index:o,lineN:n};for(var a=t.display.viewFrom,l=0;l<o;l++)a+=s[l].size;if(a!=e){if(i>0){if(o==s.length-1)return null;r=a+s[o].size-e,o++}else r=a-e;e+=r,n+=r}for(;Be(t.doc,n)!=n;){if(o==(i<0?0:s.length-1))return null;n+=i*s[o-(i<0?1:0)].size,o+=i}return{index:o,lineN:n}}function gi(t){for(var e=t.display.view,n=0,i=0;i<e.length;i++){var r=e[i];r.hidden||r.node&&!r.changes||++n}return n}function mi(t){t.display.input.showSelection(t.display.input.prepareSelection())}function vi(t,e){void 0===e&&(e=!0);for(var n=t.doc,i={},r=i.cursors=document.createDocumentFragment(),o=i.selection=document.createDocumentFragment(),s=0;s<n.sel.ranges.length;s++)if(e||s!=n.sel.primIndex){var a=n.sel.ranges[s];if(!(a.from().line>=t.display.viewTo||a.to().line<t.display.viewFrom)){var l=a.empty();(l||t.options.showCursorWhenSelecting)&&_i(t,a.head,r),l||xi(t,a,o)}}return i}function _i(t,e,n){var i=Vn(t,e,"div",null,null,!t.options.singleCursorHeightPerLine),r=n.appendChild(L("div"," ","CodeMirror-cursor"));if(r.style.left=i.left+"px",r.style.top=i.top+"px",r.style.height=Math.max(0,i.bottom-i.top)*t.options.cursorHeight+"px",/\bcm-fat-cursor\b/.test(t.getWrapperElement().className)){var o=qn(t,e,"div",null,null);r.style.width=Math.max(0,o.right-o.left)+"px"}if(i.other){var s=n.appendChild(L("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));s.style.display="",s.style.left=i.other.left+"px",s.style.top=i.other.top+"px",s.style.height=.85*(i.other.bottom-i.other.top)+"px"}}function yi(t,e){return t.top-e.top||t.left-e.left}function xi(t,e,n){var i=t.display,r=t.doc,o=document.createDocumentFragment(),s=wn(t.display),a=s.left,l=Math.max(i.sizerWidth,Sn(t)-i.sizer.offsetLeft)-s.right,c="ltr"==r.direction;function h(t,e,n,i){e<0&&(e=0),e=Math.round(e),i=Math.round(i),o.appendChild(L("div",null,"CodeMirror-selected","position: absolute; left: "+t+"px;\n top: "+e+"px; width: "+(null==n?l-t:n)+"px;\n height: "+(i-e)+"px"))}function u(e,n,i){var o,s,u=qt(r,e),f=u.text.length;function d(n,i){return qn(t,te(e,n),"div",u,i)}function p(e,n,i){var r=Zn(t,u,null,e),o="ltr"==n==("after"==i)?"left":"right";return d("after"==i?r.begin:r.end-(/\s/.test(u.text.charAt(r.end-1))?2:1),o)[o]}var g=ct(u,r.direction);return function(t,e,n,i){if(!t)return i(e,n,"ltr",0);for(var r=!1,o=0;o<t.length;++o){var s=t[o];(s.from<n&&s.to>e||e==n&&s.to==e)&&(i(Math.max(s.from,e),Math.min(s.to,n),1==s.level?"rtl":"ltr",o),r=!0)}r||i(e,n,"ltr")}(g,n||0,null==i?f:i,(function(t,e,r,u){var m="ltr"==r,v=d(t,m?"left":"right"),_=d(e-1,m?"right":"left"),y=null==n&&0==t,x=null==i&&e==f,k=0==u,b=!g||u==g.length-1;if(_.top-v.top<=3){var T=(c?x:y)&&b,C=(c?y:x)&&k?a:(m?v:_).left,w=T?l:(m?_:v).right;h(C,v.top,w-C,v.bottom)}else{var E,S,A,L;m?(E=c&&y&&k?a:v.left,S=c?l:p(t,r,"before"),A=c?a:p(e,r,"after"),L=c&&x&&b?l:_.right):(E=c?p(t,r,"before"):a,S=!c&&y&&k?l:v.right,A=!c&&x&&b?a:_.left,L=c?p(e,r,"after"):l),h(E,v.top,S-E,v.bottom),v.bottom<_.top&&h(a,v.bottom,null,_.top),h(A,_.top,L-A,_.bottom)}(!o||yi(v,o)<0)&&(o=v),yi(_,o)<0&&(o=_),(!s||yi(v,s)<0)&&(s=v),yi(_,s)<0&&(s=_)})),{start:o,end:s}}var f=e.from(),d=e.to();if(f.line==d.line)u(f.line,f.ch,d.ch);else{var p=qt(r,f.line),g=qt(r,d.line),m=Fe(p)==Fe(g),v=u(f.line,f.ch,m?p.text.length+1:null).end,_=u(d.line,m?0:null,d.ch).start;m&&(v.top<_.top-2?(h(v.right,v.top,null,v.bottom),h(a,_.top,_.left,_.bottom)):h(v.right,v.top,_.left-v.right,v.bottom)),v.bottom<_.top&&h(a,v.bottom,null,_.top)}n.appendChild(o)}function ki(t){if(t.state.focused){var e=t.display;clearInterval(e.blinker);var n=!0;e.cursorDiv.style.visibility="",t.options.cursorBlinkRate>0?e.blinker=setInterval((function(){t.hasFocus()||wi(t),e.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),t.options.cursorBlinkRate):t.options.cursorBlinkRate<0&&(e.cursorDiv.style.visibility="hidden")}}function bi(t){t.hasFocus()||(t.display.input.focus(),t.state.focused||Ci(t))}function Ti(t){t.state.delayingBlurEvent=!0,setTimeout((function(){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1,t.state.focused&&wi(t))}),100)}function Ci(t,e){t.state.delayingBlurEvent&&!t.state.draggingText&&(t.state.delayingBlurEvent=!1),"nocursor"!=t.options.readOnly&&(t.state.focused||(pt(t,"focus",t,e),t.state.focused=!0,M(t.display.wrapper,"CodeMirror-focused"),t.curOp||t.display.selForContextMenu==t.doc.sel||(t.display.input.reset(),l&&setTimeout((function(){return t.display.input.reset(!0)}),20)),t.display.input.receivedFocus()),ki(t))}function wi(t,e){t.state.delayingBlurEvent||(t.state.focused&&(pt(t,"blur",t,e),t.state.focused=!1,E(t.display.wrapper,"CodeMirror-focused")),clearInterval(t.display.blinker),setTimeout((function(){t.state.focused||(t.display.shift=!1)}),150))}function Ei(t){for(var e=t.display,n=e.lineDiv.offsetTop,i=0;i<e.view.length;i++){var r=e.view[i],o=t.options.lineWrapping,l=void 0,c=0;if(!r.hidden){if(s&&a<8){var h=r.node.offsetTop+r.node.offsetHeight;l=h-n,n=h}else{var u=r.node.getBoundingClientRect();l=u.bottom-u.top,!o&&r.text.firstChild&&(c=r.text.firstChild.getBoundingClientRect().right-u.left-1)}var f=r.line.height-l;if((f>.005||f<-.005)&&(Kt(r.line,l),Si(r.line),r.rest))for(var d=0;d<r.rest.length;d++)Si(r.rest[d]);if(c>t.display.sizerWidth){var p=Math.ceil(c/ri(t.display));p>t.display.maxLineLength&&(t.display.maxLineLength=p,t.display.maxLine=r.line,t.display.maxLineChanged=!0)}}}}function Si(t){if(t.widgets)for(var e=0;e<t.widgets.length;++e){var n=t.widgets[e],i=n.node.parentNode;i&&(n.height=i.offsetHeight)}}function Ai(t,e,n){var i=n&&null!=n.top?Math.max(0,n.top):t.scroller.scrollTop;i=Math.floor(i-Tn(t));var r=n&&null!=n.bottom?n.bottom:i+t.wrapper.clientHeight,o=Qt(e,i),s=Qt(e,r);if(n&&n.ensure){var a=n.ensure.from.line,l=n.ensure.to.line;a<o?(o=a,s=Qt(e,We(qt(e,a))+t.wrapper.clientHeight)):Math.min(l,e.lastLine())>=s&&(o=Qt(e,We(qt(e,l))-t.wrapper.clientHeight),s=l)}return{from:o,to:Math.max(s,o+1)}}function Li(t,e){var n=t.display,i=ii(t.display);e.top<0&&(e.top=0);var r=t.curOp&&null!=t.curOp.scrollTop?t.curOp.scrollTop:n.scroller.scrollTop,o=An(t),s={};e.bottom-e.top>o&&(e.bottom=e.top+o);var a=t.doc.height+Cn(n),l=e.top<i,c=e.bottom>a-i;if(e.top<r)s.scrollTop=l?0:e.top;else if(e.bottom>r+o){var h=Math.min(e.top,(c?a:e.bottom)-o);h!=r&&(s.scrollTop=h)}var u=t.options.fixedGutter?0:n.gutters.offsetWidth,f=t.curOp&&null!=t.curOp.scrollLeft?t.curOp.scrollLeft:n.scroller.scrollLeft-u,d=Sn(t)-n.gutters.offsetWidth,p=e.right-e.left>d;return p&&(e.right=e.left+d),e.left<10?s.scrollLeft=0:e.left<f?s.scrollLeft=Math.max(0,e.left+u-(p?0:10)):e.right>d+f-3&&(s.scrollLeft=e.right+(p?0:10)-d),s}function Oi(t,e){null!=e&&(Mi(t),t.curOp.scrollTop=(null==t.curOp.scrollTop?t.doc.scrollTop:t.curOp.scrollTop)+e)}function Ni(t){Mi(t);var e=t.getCursor();t.curOp.scrollToPos={from:e,to:e,margin:t.options.cursorScrollMargin}}function Ii(t,e,n){null==e&&null==n||Mi(t),null!=e&&(t.curOp.scrollLeft=e),null!=n&&(t.curOp.scrollTop=n)}function Mi(t){var e=t.curOp.scrollToPos;e&&(t.curOp.scrollToPos=null,$i(t,Yn(t,e.from),Yn(t,e.to),e.margin))}function $i(t,e,n,i){var r=Li(t,{left:Math.min(e.left,n.left),top:Math.min(e.top,n.top)-i,right:Math.max(e.right,n.right),bottom:Math.max(e.bottom,n.bottom)+i});Ii(t,r.scrollLeft,r.scrollTop)}function Ri(t,e){Math.abs(t.doc.scrollTop-e)<2||(n||lr(t,{top:e}),Di(t,e,!0),n&&lr(t),ir(t,100))}function Di(t,e,n){e=Math.max(0,Math.min(t.display.scroller.scrollHeight-t.display.scroller.clientHeight,e)),(t.display.scroller.scrollTop!=e||n)&&(t.doc.scrollTop=e,t.display.scrollbars.setScrollTop(e),t.display.scroller.scrollTop!=e&&(t.display.scroller.scrollTop=e))}function Pi(t,e,n,i){e=Math.max(0,Math.min(e,t.display.scroller.scrollWidth-t.display.scroller.clientWidth)),(n?e==t.doc.scrollLeft:Math.abs(t.doc.scrollLeft-e)<2)&&!i||(t.doc.scrollLeft=e,ur(t),t.display.scroller.scrollLeft!=e&&(t.display.scroller.scrollLeft=e),t.display.scrollbars.setScrollLeft(e))}function Fi(t){var e=t.display,n=e.gutters.offsetWidth,i=Math.round(t.doc.height+Cn(t.display));return{clientHeight:e.scroller.clientHeight,viewHeight:e.wrapper.clientHeight,scrollWidth:e.scroller.scrollWidth,clientWidth:e.scroller.clientWidth,viewWidth:e.wrapper.clientWidth,barLeft:t.options.fixedGutter?n:0,docHeight:i,scrollHeight:i+En(t)+e.barHeight,nativeBarWidth:e.nativeBarWidth,gutterWidth:n}}var Bi=function(t,e,n){this.cm=n;var i=this.vert=L("div",[L("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),r=this.horiz=L("div",[L("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");i.tabIndex=r.tabIndex=-1,t(i),t(r),ut(i,"scroll",(function(){i.clientHeight&&e(i.scrollTop,"vertical")})),ut(r,"scroll",(function(){r.clientWidth&&e(r.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,s&&a<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Bi.prototype.update=function(t){var e=t.scrollWidth>t.clientWidth+1,n=t.scrollHeight>t.clientHeight+1,i=t.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=e?i+"px":"0";var r=t.viewHeight-(e?i:0);this.vert.firstChild.style.height=Math.max(0,t.scrollHeight-t.clientHeight+r)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(e){this.horiz.style.display="block",this.horiz.style.right=n?i+"px":"0",this.horiz.style.left=t.barLeft+"px";var o=t.viewWidth-t.barLeft-(n?i:0);this.horiz.firstChild.style.width=Math.max(0,t.scrollWidth-t.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&t.clientHeight>0&&(0==i&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?i:0,bottom:e?i:0}},Bi.prototype.setScrollLeft=function(t){this.horiz.scrollLeft!=t&&(this.horiz.scrollLeft=t),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Bi.prototype.setScrollTop=function(t){this.vert.scrollTop!=t&&(this.vert.scrollTop=t),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Bi.prototype.zeroWidthHack=function(){var t=_&&!d?"12px":"18px";this.horiz.style.height=this.vert.style.width=t,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new B,this.disableVert=new B},Bi.prototype.enableZeroWidthBar=function(t,e,n){t.style.pointerEvents="auto",e.set(1e3,(function i(){var r=t.getBoundingClientRect();("vert"==n?document.elementFromPoint(r.right-1,(r.top+r.bottom)/2):document.elementFromPoint((r.right+r.left)/2,r.bottom-1))!=t?t.style.pointerEvents="none":e.set(1e3,i)}))},Bi.prototype.clear=function(){var t=this.horiz.parentNode;t.removeChild(this.horiz),t.removeChild(this.vert)};var Ui=function(){};function Hi(t,e){e||(e=Fi(t));var n=t.display.barWidth,i=t.display.barHeight;zi(t,e);for(var r=0;r<4&&n!=t.display.barWidth||i!=t.display.barHeight;r++)n!=t.display.barWidth&&t.options.lineWrapping&&Ei(t),zi(t,Fi(t)),n=t.display.barWidth,i=t.display.barHeight}function zi(t,e){var n=t.display,i=n.scrollbars.update(e);n.sizer.style.paddingRight=(n.barWidth=i.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=i.bottom)+"px",n.heightForcer.style.borderBottom=i.bottom+"px solid transparent",i.right&&i.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=i.bottom+"px",n.scrollbarFiller.style.width=i.right+"px"):n.scrollbarFiller.style.display="",i.bottom&&t.options.coverGutterNextToScrollbar&&t.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=i.bottom+"px",n.gutterFiller.style.width=e.gutterWidth+"px"):n.gutterFiller.style.display=""}Ui.prototype.update=function(){return{bottom:0,right:0}},Ui.prototype.setScrollLeft=function(){},Ui.prototype.setScrollTop=function(){},Ui.prototype.clear=function(){};var Wi={native:Bi,null:Ui};function ji(t){t.display.scrollbars&&(t.display.scrollbars.clear(),t.display.scrollbars.addClass&&E(t.display.wrapper,t.display.scrollbars.addClass)),t.display.scrollbars=new Wi[t.options.scrollbarStyle]((function(e){t.display.wrapper.insertBefore(e,t.display.scrollbarFiller),ut(e,"mousedown",(function(){t.state.focused&&setTimeout((function(){return t.display.input.focus()}),0)})),e.setAttribute("cm-not-content","true")}),(function(e,n){"horizontal"==n?Pi(t,e):Ri(t,e)}),t),t.display.scrollbars.addClass&&M(t.display.wrapper,t.display.scrollbars.addClass)}var Gi=0;function qi(t){var e;t.curOp={cm:t,viewChanged:!1,startHeight:t.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Gi,markArrays:null},e=t.curOp,sn?sn.ops.push(e):e.ownsGroup=sn={ops:[e],delayedCallbacks:[]}}function Vi(t){var e=t.curOp;e&&function(t,e){var n=t.ownsGroup;if(n)try{!function(t){var e=t.delayedCallbacks,n=0;do{for(;n<e.length;n++)e[n].call(null);for(var i=0;i<t.ops.length;i++){var r=t.ops[i];if(r.cursorActivityHandlers)for(;r.cursorActivityCalled<r.cursorActivityHandlers.length;)r.cursorActivityHandlers[r.cursorActivityCalled++].call(null,r.cm)}}while(n<e.length)}(n)}finally{sn=null,e(n)}}(e,(function(t){for(var e=0;e<t.ops.length;e++)t.ops[e].cm.curOp=null;!function(t){for(var e=t.ops,n=0;n<e.length;n++)Yi(e[n]);for(var i=0;i<e.length;i++)Ki(e[i]);for(var r=0;r<e.length;r++)Xi(e[r]);for(var o=0;o<e.length;o++)Qi(e[o]);for(var s=0;s<e.length;s++)Zi(e[s])}(t)}))}function Yi(t){var e=t.cm,n=e.display;!function(t){var e=t.display;!e.scrollbarsClipped&&e.scroller.offsetWidth&&(e.nativeBarWidth=e.scroller.offsetWidth-e.scroller.clientWidth,e.heightForcer.style.height=En(t)+"px",e.sizer.style.marginBottom=-e.nativeBarWidth+"px",e.sizer.style.borderRightWidth=En(t)+"px",e.scrollbarsClipped=!0)}(e),t.updateMaxLine&&Ge(e),t.mustUpdate=t.viewChanged||t.forceUpdate||null!=t.scrollTop||t.scrollToPos&&(t.scrollToPos.from.line<n.viewFrom||t.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&e.options.lineWrapping,t.update=t.mustUpdate&&new or(e,t.mustUpdate&&{top:t.scrollTop,ensure:t.scrollToPos},t.forceUpdate)}function Ki(t){t.updatedDisplay=t.mustUpdate&&sr(t.cm,t.update)}function Xi(t){var e=t.cm,n=e.display;t.updatedDisplay&&Ei(e),t.barMeasure=Fi(e),n.maxLineChanged&&!e.options.lineWrapping&&(t.adjustWidthTo=On(e,n.maxLine,n.maxLine.text.length).left+3,e.display.sizerWidth=t.adjustWidthTo,t.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+t.adjustWidthTo+En(e)+e.display.barWidth),t.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+t.adjustWidthTo-Sn(e))),(t.updatedDisplay||t.selectionChanged)&&(t.preparedSelection=n.input.prepareSelection())}function Qi(t){var e=t.cm;null!=t.adjustWidthTo&&(e.display.sizer.style.minWidth=t.adjustWidthTo+"px",t.maxScrollLeft<e.doc.scrollLeft&&Pi(e,Math.min(e.display.scroller.scrollLeft,t.maxScrollLeft),!0),e.display.maxLineChanged=!1);var n=t.focus&&t.focus==I();t.preparedSelection&&e.display.input.showSelection(t.preparedSelection,n),(t.updatedDisplay||t.startHeight!=e.doc.height)&&Hi(e,t.barMeasure),t.updatedDisplay&&hr(e,t.barMeasure),t.selectionChanged&&ki(e),e.state.focused&&t.updateInput&&e.display.input.reset(t.typing),n&&bi(t.cm)}function Zi(t){var e=t.cm,n=e.display,i=e.doc;t.updatedDisplay&&ar(e,t.update),null==n.wheelStartX||null==t.scrollTop&&null==t.scrollLeft&&!t.scrollToPos||(n.wheelStartX=n.wheelStartY=null),null!=t.scrollTop&&Di(e,t.scrollTop,t.forceScroll),null!=t.scrollLeft&&Pi(e,t.scrollLeft,!0,!0),t.scrollToPos&&function(t,e){if(!gt(t,"scrollCursorIntoView")){var n=t.display,i=n.sizer.getBoundingClientRect(),r=null;if(e.top+i.top<0?r=!0:e.bottom+i.top>(window.innerHeight||document.documentElement.clientHeight)&&(r=!1),null!=r&&!p){var o=L("div","​",null,"position: absolute;\n top: "+(e.top-n.viewOffset-Tn(t.display))+"px;\n height: "+(e.bottom-e.top+En(t)+n.barHeight)+"px;\n left: "+e.left+"px; width: "+Math.max(2,e.right-e.left)+"px;");t.display.lineSpace.appendChild(o),o.scrollIntoView(r),t.display.lineSpace.removeChild(o)}}}(e,function(t,e,n,i){var r;null==i&&(i=0),t.options.lineWrapping||e!=n||(n="before"==e.sticky?te(e.line,e.ch+1,"before"):e,e=e.ch?te(e.line,"before"==e.sticky?e.ch-1:e.ch,"after"):e);for(var o=0;o<5;o++){var s=!1,a=Vn(t,e),l=n&&n!=e?Vn(t,n):a,c=Li(t,r={left:Math.min(a.left,l.left),top:Math.min(a.top,l.top)-i,right:Math.max(a.left,l.left),bottom:Math.max(a.bottom,l.bottom)+i}),h=t.doc.scrollTop,u=t.doc.scrollLeft;if(null!=c.scrollTop&&(Ri(t,c.scrollTop),Math.abs(t.doc.scrollTop-h)>1&&(s=!0)),null!=c.scrollLeft&&(Pi(t,c.scrollLeft),Math.abs(t.doc.scrollLeft-u)>1&&(s=!0)),!s)break}return r}(e,ae(i,t.scrollToPos.from),ae(i,t.scrollToPos.to),t.scrollToPos.margin));var r=t.maybeHiddenMarkers,o=t.maybeUnhiddenMarkers;if(r)for(var s=0;s<r.length;++s)r[s].lines.length||pt(r[s],"hide");if(o)for(var a=0;a<o.length;++a)o[a].lines.length&&pt(o[a],"unhide");n.wrapper.offsetHeight&&(i.scrollTop=e.display.scroller.scrollTop),t.changeObjs&&pt(e,"changes",e,t.changeObjs),t.update&&t.update.finish()}function Ji(t,e){if(t.curOp)return e();qi(t);try{return e()}finally{Vi(t)}}function tr(t,e){return function(){if(t.curOp)return e.apply(t,arguments);qi(t);try{return e.apply(t,arguments)}finally{Vi(t)}}}function er(t){return function(){if(this.curOp)return t.apply(this,arguments);qi(this);try{return t.apply(this,arguments)}finally{Vi(this)}}}function nr(t){return function(){var e=this.cm;if(!e||e.curOp)return t.apply(this,arguments);qi(e);try{return t.apply(this,arguments)}finally{Vi(e)}}}function ir(t,e){t.doc.highlightFrontier<t.display.viewTo&&t.state.highlight.set(e,D(rr,t))}function rr(t){var e=t.doc;if(!(e.highlightFrontier>=t.display.viewTo)){var n=+new Date+t.options.workTime,i=de(t,e.highlightFrontier),r=[];e.iter(i.line,Math.min(e.first+e.size,t.display.viewTo+500),(function(o){if(i.line>=t.display.viewFrom){var s=o.styles,a=o.text.length>t.options.maxHighlightLength?zt(e.mode,i.state):null,l=ue(t,o,i,!0);a&&(i.state=a),o.styles=l.styles;var c=o.styleClasses,h=l.classes;h?o.styleClasses=h:c&&(o.styleClasses=null);for(var u=!s||s.length!=o.styles.length||c!=h&&(!c||!h||c.bgClass!=h.bgClass||c.textClass!=h.textClass),f=0;!u&&f<s.length;++f)u=s[f]!=o.styles[f];u&&r.push(i.line),o.stateAfter=i.save(),i.nextLine()}else o.text.length<=t.options.maxHighlightLength&&pe(t,o.text,i),o.stateAfter=i.line%5==0?i.save():null,i.nextLine();if(+new Date>n)return ir(t,t.options.workDelay),!0})),e.highlightFrontier=i.line,e.modeFrontier=Math.max(e.modeFrontier,i.line),r.length&&Ji(t,(function(){for(var e=0;e<r.length;e++)fi(t,r[e],"text")}))}}var or=function(t,e,n){var i=t.display;this.viewport=e,this.visible=Ai(i,t.doc,e),this.editorIsHidden=!i.wrapper.offsetWidth,this.wrapperHeight=i.wrapper.clientHeight,this.wrapperWidth=i.wrapper.clientWidth,this.oldDisplayWidth=Sn(t),this.force=n,this.dims=oi(t),this.events=[]};function sr(t,e){var n=t.display,i=t.doc;if(e.editorIsHidden)return di(t),!1;if(!e.force&&e.visible.from>=n.viewFrom&&e.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==gi(t))return!1;fr(t)&&(di(t),e.dims=oi(t));var r=i.first+i.size,o=Math.max(e.visible.from-t.options.viewportMargin,i.first),s=Math.min(r,e.visible.to+t.options.viewportMargin);n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(i.first,n.viewFrom)),n.viewTo>s&&n.viewTo-s<20&&(s=Math.min(r,n.viewTo)),be&&(o=Be(t.doc,o),s=Ue(t.doc,s));var a=o!=n.viewFrom||s!=n.viewTo||n.lastWrapHeight!=e.wrapperHeight||n.lastWrapWidth!=e.wrapperWidth;!function(t,e,n){var i=t.display;0==i.view.length||e>=i.viewTo||n<=i.viewFrom?(i.view=on(t,e,n),i.viewFrom=e):(i.viewFrom>e?i.view=on(t,e,i.viewFrom).concat(i.view):i.viewFrom<e&&(i.view=i.view.slice(hi(t,e))),i.viewFrom=e,i.viewTo<n?i.view=i.view.concat(on(t,i.viewTo,n)):i.viewTo>n&&(i.view=i.view.slice(0,hi(t,n)))),i.viewTo=n}(t,o,s),n.viewOffset=We(qt(t.doc,n.viewFrom)),t.display.mover.style.top=n.viewOffset+"px";var c=gi(t);if(!a&&0==c&&!e.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var h=function(t){if(t.hasFocus())return null;var e=I();if(!e||!N(t.display.lineDiv,e))return null;var n={activeElt:e};if(window.getSelection){var i=window.getSelection();i.anchorNode&&i.extend&&N(t.display.lineDiv,i.anchorNode)&&(n.anchorNode=i.anchorNode,n.anchorOffset=i.anchorOffset,n.focusNode=i.focusNode,n.focusOffset=i.focusOffset)}return n}(t);return c>4&&(n.lineDiv.style.display="none"),function(t,e,n){var i=t.display,r=t.options.lineNumbers,o=i.lineDiv,s=o.firstChild;function a(e){var n=e.nextSibling;return l&&_&&t.display.currentWheelTarget==e?e.style.display="none":e.parentNode.removeChild(e),n}for(var c=i.view,h=i.viewFrom,u=0;u<c.length;u++){var f=c[u];if(f.hidden);else if(f.node&&f.node.parentNode==o){for(;s!=f.node;)s=a(s);var d=r&&null!=e&&e<=h&&f.lineNumber;f.changes&&(U(f.changes,"gutter")>-1&&(d=!1),hn(t,f,h,n)),d&&(S(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(Jt(t.options,h)))),s=f.node.nextSibling}else{var p=vn(t,f,h,n);o.insertBefore(p,s)}h+=f.size}for(;s;)s=a(s)}(t,n.updateLineNumbers,e.dims),c>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(t){if(t&&t.activeElt&&t.activeElt!=I()&&(t.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(t.activeElt.nodeName)&&t.anchorNode&&N(document.body,t.anchorNode)&&N(document.body,t.focusNode))){var e=window.getSelection(),n=document.createRange();n.setEnd(t.anchorNode,t.anchorOffset),n.collapse(!1),e.removeAllRanges(),e.addRange(n),e.extend(t.focusNode,t.focusOffset)}}(h),S(n.cursorDiv),S(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,a&&(n.lastWrapHeight=e.wrapperHeight,n.lastWrapWidth=e.wrapperWidth,ir(t,400)),n.updateLineNumbers=null,!0}function ar(t,e){for(var n=e.viewport,i=!0;;i=!1){if(i&&t.options.lineWrapping&&e.oldDisplayWidth!=Sn(t))i&&(e.visible=Ai(t.display,t.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(t.doc.height+Cn(t.display)-An(t),n.top)}),e.visible=Ai(t.display,t.doc,n),e.visible.from>=t.display.viewFrom&&e.visible.to<=t.display.viewTo)break;if(!sr(t,e))break;Ei(t);var r=Fi(t);mi(t),Hi(t,r),hr(t,r),e.force=!1}e.signal(t,"update",t),t.display.viewFrom==t.display.reportedViewFrom&&t.display.viewTo==t.display.reportedViewTo||(e.signal(t,"viewportChange",t,t.display.viewFrom,t.display.viewTo),t.display.reportedViewFrom=t.display.viewFrom,t.display.reportedViewTo=t.display.viewTo)}function lr(t,e){var n=new or(t,e);if(sr(t,n)){Ei(t),ar(t,n);var i=Fi(t);mi(t),Hi(t,i),hr(t,i),n.finish()}}function cr(t){var e=t.gutters.offsetWidth;t.sizer.style.marginLeft=e+"px",ln(t,"gutterChanged",t)}function hr(t,e){t.display.sizer.style.minHeight=e.docHeight+"px",t.display.heightForcer.style.top=e.docHeight+"px",t.display.gutters.style.height=e.docHeight+t.display.barHeight+En(t)+"px"}function ur(t){var e=t.display,n=e.view;if(e.alignWidgets||e.gutters.firstChild&&t.options.fixedGutter){for(var i=si(e)-e.scroller.scrollLeft+t.doc.scrollLeft,r=e.gutters.offsetWidth,o=i+"px",s=0;s<n.length;s++)if(!n[s].hidden){t.options.fixedGutter&&(n[s].gutter&&(n[s].gutter.style.left=o),n[s].gutterBackground&&(n[s].gutterBackground.style.left=o));var a=n[s].alignable;if(a)for(var l=0;l<a.length;l++)a[l].style.left=o}t.options.fixedGutter&&(e.gutters.style.left=i+r+"px")}}function fr(t){if(!t.options.lineNumbers)return!1;var e=t.doc,n=Jt(t.options,e.first+e.size-1),i=t.display;if(n.length!=i.lineNumChars){var r=i.measure.appendChild(L("div",[L("div",n)],"CodeMirror-linenumber CodeMirror-gutter-elt")),o=r.firstChild.offsetWidth,s=r.offsetWidth-o;return i.lineGutter.style.width="",i.lineNumInnerWidth=Math.max(o,i.lineGutter.offsetWidth-s)+1,i.lineNumWidth=i.lineNumInnerWidth+s,i.lineNumChars=i.lineNumInnerWidth?n.length:-1,i.lineGutter.style.width=i.lineNumWidth+"px",cr(t.display),!0}return!1}function dr(t,e){for(var n=[],i=!1,r=0;r<t.length;r++){var o=t[r],s=null;if("string"!=typeof o&&(s=o.style,o=o.className),"CodeMirror-linenumbers"==o){if(!e)continue;i=!0}n.push({className:o,style:s})}return e&&!i&&n.push({className:"CodeMirror-linenumbers",style:null}),n}function pr(t){var e=t.gutters,n=t.gutterSpecs;S(e),t.lineGutter=null;for(var i=0;i<n.length;++i){var r=n[i],o=r.className,s=r.style,a=e.appendChild(L("div",null,"CodeMirror-gutter "+o));s&&(a.style.cssText=s),"CodeMirror-linenumbers"==o&&(t.lineGutter=a,a.style.width=(t.lineNumWidth||1)+"px")}e.style.display=n.length?"":"none",cr(t)}function gr(t){pr(t.display),ui(t),ur(t)}function mr(t,e,i,r){var o=this;this.input=i,o.scrollbarFiller=L("div",null,"CodeMirror-scrollbar-filler"),o.scrollbarFiller.setAttribute("cm-not-content","true"),o.gutterFiller=L("div",null,"CodeMirror-gutter-filler"),o.gutterFiller.setAttribute("cm-not-content","true"),o.lineDiv=O("div",null,"CodeMirror-code"),o.selectionDiv=L("div",null,null,"position: relative; z-index: 1"),o.cursorDiv=L("div",null,"CodeMirror-cursors"),o.measure=L("div",null,"CodeMirror-measure"),o.lineMeasure=L("div",null,"CodeMirror-measure"),o.lineSpace=O("div",[o.measure,o.lineMeasure,o.selectionDiv,o.cursorDiv,o.lineDiv],null,"position: relative; outline: none");var c=O("div",[o.lineSpace],"CodeMirror-lines");o.mover=L("div",[c],null,"position: relative"),o.sizer=L("div",[o.mover],"CodeMirror-sizer"),o.sizerWidth=null,o.heightForcer=L("div",null,null,"position: absolute; height: 50px; width: 1px;"),o.gutters=L("div",null,"CodeMirror-gutters"),o.lineGutter=null,o.scroller=L("div",[o.sizer,o.heightForcer,o.gutters],"CodeMirror-scroll"),o.scroller.setAttribute("tabIndex","-1"),o.wrapper=L("div",[o.scrollbarFiller,o.gutterFiller,o.scroller],"CodeMirror"),o.wrapper.setAttribute("translate","no"),s&&a<8&&(o.gutters.style.zIndex=-1,o.scroller.style.paddingRight=0),l||n&&v||(o.scroller.draggable=!0),t&&(t.appendChild?t.appendChild(o.wrapper):t(o.wrapper)),o.viewFrom=o.viewTo=e.first,o.reportedViewFrom=o.reportedViewTo=e.first,o.view=[],o.renderedView=null,o.externalMeasured=null,o.viewOffset=0,o.lastWrapHeight=o.lastWrapWidth=0,o.updateLineNumbers=null,o.nativeBarWidth=o.barHeight=o.barWidth=0,o.scrollbarsClipped=!1,o.lineNumWidth=o.lineNumInnerWidth=o.lineNumChars=null,o.alignWidgets=!1,o.cachedCharWidth=o.cachedTextHeight=o.cachedPaddingH=null,o.maxLine=null,o.maxLineLength=0,o.maxLineChanged=!1,o.wheelDX=o.wheelDY=o.wheelStartX=o.wheelStartY=null,o.shift=!1,o.selForContextMenu=null,o.activeTouch=null,o.gutterSpecs=dr(r.gutters,r.lineNumbers),pr(o),i.init(o)}or.prototype.signal=function(t,e){vt(t,e)&&this.events.push(arguments)},or.prototype.finish=function(){for(var t=0;t<this.events.length;t++)pt.apply(null,this.events[t])};var vr=0,_r=null;function yr(t){var e=t.wheelDeltaX,n=t.wheelDeltaY;return null==e&&t.detail&&t.axis==t.HORIZONTAL_AXIS&&(e=t.detail),null==n&&t.detail&&t.axis==t.VERTICAL_AXIS?n=t.detail:null==n&&(n=t.wheelDelta),{x:e,y:n}}function xr(t){var e=yr(t);return e.x*=_r,e.y*=_r,e}function kr(t,e){var i=yr(e),r=i.x,o=i.y,s=t.display,a=s.scroller,c=a.scrollWidth>a.clientWidth,h=a.scrollHeight>a.clientHeight;if(r&&c||o&&h){if(o&&_&&l)t:for(var f=e.target,d=s.view;f!=a;f=f.parentNode)for(var p=0;p<d.length;p++)if(d[p].node==f){t.display.currentWheelTarget=f;break t}if(r&&!n&&!u&&null!=_r)return o&&h&&Ri(t,Math.max(0,a.scrollTop+o*_r)),Pi(t,Math.max(0,a.scrollLeft+r*_r)),(!o||o&&h)&&yt(e),void(s.wheelStartX=null);if(o&&null!=_r){var g=o*_r,m=t.doc.scrollTop,v=m+s.wrapper.clientHeight;g<0?m=Math.max(0,m+g-50):v=Math.min(t.doc.height,v+g+50),lr(t,{top:m,bottom:v})}vr<20&&(null==s.wheelStartX?(s.wheelStartX=a.scrollLeft,s.wheelStartY=a.scrollTop,s.wheelDX=r,s.wheelDY=o,setTimeout((function(){if(null!=s.wheelStartX){var t=a.scrollLeft-s.wheelStartX,e=a.scrollTop-s.wheelStartY,n=e&&s.wheelDY&&e/s.wheelDY||t&&s.wheelDX&&t/s.wheelDX;s.wheelStartX=s.wheelStartY=null,n&&(_r=(_r*vr+n)/(vr+1),++vr)}}),200)):(s.wheelDX+=r,s.wheelDY+=o))}}s?_r=-.53:n?_r=15:h?_r=-.7:f&&(_r=-1/3);var br=function(t,e){this.ranges=t,this.primIndex=e};br.prototype.primary=function(){return this.ranges[this.primIndex]},br.prototype.equals=function(t){if(t==this)return!0;if(t.primIndex!=this.primIndex||t.ranges.length!=this.ranges.length)return!1;for(var e=0;e<this.ranges.length;e++){var n=this.ranges[e],i=t.ranges[e];if(!ne(n.anchor,i.anchor)||!ne(n.head,i.head))return!1}return!0},br.prototype.deepCopy=function(){for(var t=[],e=0;e<this.ranges.length;e++)t[e]=new Tr(ie(this.ranges[e].anchor),ie(this.ranges[e].head));return new br(t,this.primIndex)},br.prototype.somethingSelected=function(){for(var t=0;t<this.ranges.length;t++)if(!this.ranges[t].empty())return!0;return!1},br.prototype.contains=function(t,e){e||(e=t);for(var n=0;n<this.ranges.length;n++){var i=this.ranges[n];if(ee(e,i.from())>=0&&ee(t,i.to())<=0)return n}return-1};var Tr=function(t,e){this.anchor=t,this.head=e};function Cr(t,e,n){var i=t&&t.options.selectionsMayTouch,r=e[n];e.sort((function(t,e){return ee(t.from(),e.from())})),n=U(e,r);for(var o=1;o<e.length;o++){var s=e[o],a=e[o-1],l=ee(a.to(),s.from());if(i&&!s.empty()?l>0:l>=0){var c=oe(a.from(),s.from()),h=re(a.to(),s.to()),u=a.empty()?s.from()==s.head:a.from()==a.head;o<=n&&--n,e.splice(--o,2,new Tr(u?h:c,u?c:h))}}return new br(e,n)}function wr(t,e){return new br([new Tr(t,e||t)],0)}function Er(t){return t.text?te(t.from.line+t.text.length-1,Y(t.text).length+(1==t.text.length?t.from.ch:0)):t.to}function Sr(t,e){if(ee(t,e.from)<0)return t;if(ee(t,e.to)<=0)return Er(e);var n=t.line+e.text.length-(e.to.line-e.from.line)-1,i=t.ch;return t.line==e.to.line&&(i+=Er(e).ch-e.to.ch),te(n,i)}function Ar(t,e){for(var n=[],i=0;i<t.sel.ranges.length;i++){var r=t.sel.ranges[i];n.push(new Tr(Sr(r.anchor,e),Sr(r.head,e)))}return Cr(t.cm,n,t.sel.primIndex)}function Lr(t,e,n){return t.line==e.line?te(n.line,t.ch-e.ch+n.ch):te(n.line+(t.line-e.line),t.ch)}function Or(t){t.doc.mode=Bt(t.options,t.doc.modeOption),Nr(t)}function Nr(t){t.doc.iter((function(t){t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null)})),t.doc.modeFrontier=t.doc.highlightFrontier=t.doc.first,ir(t,100),t.state.modeGen++,t.curOp&&ui(t)}function Ir(t,e){return 0==e.from.ch&&0==e.to.ch&&""==Y(e.text)&&(!t.cm||t.cm.options.wholeLineUpdateBefore)}function Mr(t,e,n,i){function r(t){return n?n[t]:null}function o(t,n,r){!function(t,e,n,i){t.text=e,t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null),null!=t.order&&(t.order=null),Ae(t),Le(t,n);var r=i?i(t):1;r!=t.height&&Kt(t,r)}(t,n,r,i),ln(t,"change",t,e)}function s(t,e){for(var n=[],o=t;o<e;++o)n.push(new qe(c[o],r(o),i));return n}var a=e.from,l=e.to,c=e.text,h=qt(t,a.line),u=qt(t,l.line),f=Y(c),d=r(c.length-1),p=l.line-a.line;if(e.full)t.insert(0,s(0,c.length)),t.remove(c.length,t.size-c.length);else if(Ir(t,e)){var g=s(0,c.length-1);o(u,u.text,d),p&&t.remove(a.line,p),g.length&&t.insert(a.line,g)}else if(h==u)if(1==c.length)o(h,h.text.slice(0,a.ch)+f+h.text.slice(l.ch),d);else{var m=s(1,c.length-1);m.push(new qe(f+h.text.slice(l.ch),d,i)),o(h,h.text.slice(0,a.ch)+c[0],r(0)),t.insert(a.line+1,m)}else if(1==c.length)o(h,h.text.slice(0,a.ch)+c[0]+u.text.slice(l.ch),r(0)),t.remove(a.line+1,p);else{o(h,h.text.slice(0,a.ch)+c[0],r(0)),o(u,f+u.text.slice(l.ch),d);var v=s(1,c.length-1);p>1&&t.remove(a.line+1,p-1),t.insert(a.line+1,v)}ln(t,"change",t,e)}function $r(t,e,n){!function t(i,r,o){if(i.linked)for(var s=0;s<i.linked.length;++s){var a=i.linked[s];if(a.doc!=r){var l=o&&a.sharedHist;n&&!l||(e(a.doc,l),t(a.doc,i,l))}}}(t,null,!0)}function Rr(t,e){if(e.cm)throw new Error("This document is already in use.");t.doc=e,e.cm=t,li(t),Or(t),Dr(t),t.options.direction=e.direction,t.options.lineWrapping||Ge(t),t.options.mode=e.modeOption,ui(t)}function Dr(t){("rtl"==t.doc.direction?M:E)(t.display.lineDiv,"CodeMirror-rtl")}function Pr(t){this.done=[],this.undone=[],this.undoDepth=t?t.undoDepth:1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=t?t.maxGeneration:1}function Fr(t,e){var n={from:ie(e.from),to:Er(e),text:Vt(t,e.from,e.to)};return Wr(t,n,e.from.line,e.to.line+1),$r(t,(function(t){return Wr(t,n,e.from.line,e.to.line+1)}),!0),n}function Br(t){for(;t.length&&Y(t).ranges;)t.pop()}function Ur(t,e,n,i){var r=t.history;r.undone.length=0;var o,s,a=+new Date;if((r.lastOp==i||r.lastOrigin==e.origin&&e.origin&&("+"==e.origin.charAt(0)&&r.lastModTime>a-(t.cm?t.cm.options.historyEventDelay:500)||"*"==e.origin.charAt(0)))&&(o=function(t,e){return e?(Br(t.done),Y(t.done)):t.done.length&&!Y(t.done).ranges?Y(t.done):t.done.length>1&&!t.done[t.done.length-2].ranges?(t.done.pop(),Y(t.done)):void 0}(r,r.lastOp==i)))s=Y(o.changes),0==ee(e.from,e.to)&&0==ee(e.from,s.to)?s.to=Er(e):o.changes.push(Fr(t,e));else{var l=Y(r.done);for(l&&l.ranges||zr(t.sel,r.done),o={changes:[Fr(t,e)],generation:r.generation},r.done.push(o);r.done.length>r.undoDepth;)r.done.shift(),r.done[0].ranges||r.done.shift()}r.done.push(n),r.generation=++r.maxGeneration,r.lastModTime=r.lastSelTime=a,r.lastOp=r.lastSelOp=i,r.lastOrigin=r.lastSelOrigin=e.origin,s||pt(t,"historyAdded")}function Hr(t,e,n,i){var r=t.history,o=i&&i.origin;n==r.lastSelOp||o&&r.lastSelOrigin==o&&(r.lastModTime==r.lastSelTime&&r.lastOrigin==o||function(t,e,n,i){var r=e.charAt(0);return"*"==r||"+"==r&&n.ranges.length==i.ranges.length&&n.somethingSelected()==i.somethingSelected()&&new Date-t.history.lastSelTime<=(t.cm?t.cm.options.historyEventDelay:500)}(t,o,Y(r.done),e))?r.done[r.done.length-1]=e:zr(e,r.done),r.lastSelTime=+new Date,r.lastSelOrigin=o,r.lastSelOp=n,i&&!1!==i.clearRedo&&Br(r.undone)}function zr(t,e){var n=Y(e);n&&n.ranges&&n.equals(t)||e.push(t)}function Wr(t,e,n,i){var r=e["spans_"+t.id],o=0;t.iter(Math.max(t.first,n),Math.min(t.first+t.size,i),(function(n){n.markedSpans&&((r||(r=e["spans_"+t.id]={}))[o]=n.markedSpans),++o}))}function jr(t){if(!t)return null;for(var e,n=0;n<t.length;++n)t[n].marker.explicitlyCleared?e||(e=t.slice(0,n)):e&&e.push(t[n]);return e?e.length?e:null:t}function Gr(t,e){var n=function(t,e){var n=e["spans_"+t.id];if(!n)return null;for(var i=[],r=0;r<e.text.length;++r)i.push(jr(n[r]));return i}(t,e),i=Ee(t,e);if(!n)return i;if(!i)return n;for(var r=0;r<n.length;++r){var o=n[r],s=i[r];if(o&&s)t:for(var a=0;a<s.length;++a){for(var l=s[a],c=0;c<o.length;++c)if(o[c].marker==l.marker)continue t;o.push(l)}else s&&(n[r]=s)}return n}function qr(t,e,n){for(var i=[],r=0;r<t.length;++r){var o=t[r];if(o.ranges)i.push(n?br.prototype.deepCopy.call(o):o);else{var s=o.changes,a=[];i.push({changes:a});for(var l=0;l<s.length;++l){var c=s[l],h=void 0;if(a.push({from:c.from,to:c.to,text:c.text}),e)for(var u in c)(h=u.match(/^spans_(\d+)$/))&&U(e,Number(h[1]))>-1&&(Y(a)[u]=c[u],delete c[u])}}}return i}function Vr(t,e,n,i){if(i){var r=t.anchor;if(n){var o=ee(e,r)<0;o!=ee(n,r)<0?(r=e,e=n):o!=ee(e,n)<0&&(e=n)}return new Tr(r,e)}return new Tr(n||e,e)}function Yr(t,e,n,i,r){null==r&&(r=t.cm&&(t.cm.display.shift||t.extend)),Jr(t,new br([Vr(t.sel.primary(),e,n,r)],0),i)}function Kr(t,e,n){for(var i=[],r=t.cm&&(t.cm.display.shift||t.extend),o=0;o<t.sel.ranges.length;o++)i[o]=Vr(t.sel.ranges[o],e[o],null,r);Jr(t,Cr(t.cm,i,t.sel.primIndex),n)}function Xr(t,e,n,i){var r=t.sel.ranges.slice(0);r[e]=n,Jr(t,Cr(t.cm,r,t.sel.primIndex),i)}function Qr(t,e,n,i){Jr(t,wr(e,n),i)}function Zr(t,e,n){var i=t.history.done,r=Y(i);r&&r.ranges?(i[i.length-1]=e,to(t,e,n)):Jr(t,e,n)}function Jr(t,e,n){to(t,e,n),Hr(t,t.sel,t.cm?t.cm.curOp.id:NaN,n)}function to(t,e,n){(vt(t,"beforeSelectionChange")||t.cm&&vt(t.cm,"beforeSelectionChange"))&&(e=function(t,e,n){var i={ranges:e.ranges,update:function(e){this.ranges=[];for(var n=0;n<e.length;n++)this.ranges[n]=new Tr(ae(t,e[n].anchor),ae(t,e[n].head))},origin:n&&n.origin};return pt(t,"beforeSelectionChange",t,i),t.cm&&pt(t.cm,"beforeSelectionChange",t.cm,i),i.ranges!=e.ranges?Cr(t.cm,i.ranges,i.ranges.length-1):e}(t,e,n));var i=n&&n.bias||(ee(e.primary().head,t.sel.primary().head)<0?-1:1);eo(t,io(t,e,i,!0)),n&&!1===n.scroll||!t.cm||"nocursor"==t.cm.getOption("readOnly")||Ni(t.cm)}function eo(t,e){e.equals(t.sel)||(t.sel=e,t.cm&&(t.cm.curOp.updateInput=1,t.cm.curOp.selectionChanged=!0,mt(t.cm)),ln(t,"cursorActivity",t))}function no(t){eo(t,io(t,t.sel,null,!1))}function io(t,e,n,i){for(var r,o=0;o<e.ranges.length;o++){var s=e.ranges[o],a=e.ranges.length==t.sel.ranges.length&&t.sel.ranges[o],l=oo(t,s.anchor,a&&a.anchor,n,i),c=oo(t,s.head,a&&a.head,n,i);(r||l!=s.anchor||c!=s.head)&&(r||(r=e.ranges.slice(0,o)),r[o]=new Tr(l,c))}return r?Cr(t.cm,r,e.primIndex):e}function ro(t,e,n,i,r){var o=qt(t,e.line);if(o.markedSpans)for(var s=0;s<o.markedSpans.length;++s){var a=o.markedSpans[s],l=a.marker,c="selectLeft"in l?!l.selectLeft:l.inclusiveLeft,h="selectRight"in l?!l.selectRight:l.inclusiveRight;if((null==a.from||(c?a.from<=e.ch:a.from<e.ch))&&(null==a.to||(h?a.to>=e.ch:a.to>e.ch))){if(r&&(pt(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--s;continue}break}if(!l.atomic)continue;if(n){var u=l.find(i<0?1:-1),f=void 0;if((i<0?h:c)&&(u=so(t,u,-i,u&&u.line==e.line?o:null)),u&&u.line==e.line&&(f=ee(u,n))&&(i<0?f<0:f>0))return ro(t,u,e,i,r)}var d=l.find(i<0?-1:1);return(i<0?c:h)&&(d=so(t,d,i,d.line==e.line?o:null)),d?ro(t,d,e,i,r):null}}return e}function oo(t,e,n,i,r){var o=i||1,s=ro(t,e,n,o,r)||!r&&ro(t,e,n,o,!0)||ro(t,e,n,-o,r)||!r&&ro(t,e,n,-o,!0);return s||(t.cantEdit=!0,te(t.first,0))}function so(t,e,n,i){return n<0&&0==e.ch?e.line>t.first?ae(t,te(e.line-1)):null:n>0&&e.ch==(i||qt(t,e.line)).text.length?e.line<t.first+t.size-1?te(e.line+1,0):null:new te(e.line,e.ch+n)}function ao(t){t.setSelection(te(t.firstLine(),0),te(t.lastLine()),z)}function lo(t,e,n){var i={canceled:!1,from:e.from,to:e.to,text:e.text,origin:e.origin,cancel:function(){return i.canceled=!0}};return n&&(i.update=function(e,n,r,o){e&&(i.from=ae(t,e)),n&&(i.to=ae(t,n)),r&&(i.text=r),void 0!==o&&(i.origin=o)}),pt(t,"beforeChange",t,i),t.cm&&pt(t.cm,"beforeChange",t.cm,i),i.canceled?(t.cm&&(t.cm.curOp.updateInput=2),null):{from:i.from,to:i.to,text:i.text,origin:i.origin}}function co(t,e,n){if(t.cm){if(!t.cm.curOp)return tr(t.cm,co)(t,e,n);if(t.cm.state.suppressEdits)return}if(!(vt(t,"beforeChange")||t.cm&&vt(t.cm,"beforeChange"))||(e=lo(t,e,!0))){var i=ke&&!n&&function(t,e,n){var i=null;if(t.iter(e.line,n.line+1,(function(t){if(t.markedSpans)for(var e=0;e<t.markedSpans.length;++e){var n=t.markedSpans[e].marker;!n.readOnly||i&&-1!=U(i,n)||(i||(i=[])).push(n)}})),!i)return null;for(var r=[{from:e,to:n}],o=0;o<i.length;++o)for(var s=i[o],a=s.find(0),l=0;l<r.length;++l){var c=r[l];if(!(ee(c.to,a.from)<0||ee(c.from,a.to)>0)){var h=[l,1],u=ee(c.from,a.from),f=ee(c.to,a.to);(u<0||!s.inclusiveLeft&&!u)&&h.push({from:c.from,to:a.from}),(f>0||!s.inclusiveRight&&!f)&&h.push({from:a.to,to:c.to}),r.splice.apply(r,h),l+=h.length-3}}return r}(t,e.from,e.to);if(i)for(var r=i.length-1;r>=0;--r)ho(t,{from:i[r].from,to:i[r].to,text:r?[""]:e.text,origin:e.origin});else ho(t,e)}}function ho(t,e){if(1!=e.text.length||""!=e.text[0]||0!=ee(e.from,e.to)){var n=Ar(t,e);Ur(t,e,n,t.cm?t.cm.curOp.id:NaN),po(t,e,n,Ee(t,e));var i=[];$r(t,(function(t,n){n||-1!=U(i,t.history)||(_o(t.history,e),i.push(t.history)),po(t,e,null,Ee(t,e))}))}}function uo(t,e,n){var i=t.cm&&t.cm.state.suppressEdits;if(!i||n){for(var r,o=t.history,s=t.sel,a="undo"==e?o.done:o.undone,l="undo"==e?o.undone:o.done,c=0;c<a.length&&(r=a[c],n?!r.ranges||r.equals(t.sel):r.ranges);c++);if(c!=a.length){for(o.lastOrigin=o.lastSelOrigin=null;;){if(!(r=a.pop()).ranges){if(i)return void a.push(r);break}if(zr(r,l),n&&!r.equals(t.sel))return void Jr(t,r,{clearRedo:!1});s=r}var h=[];zr(s,l),l.push({changes:h,generation:o.generation}),o.generation=r.generation||++o.maxGeneration;for(var u=vt(t,"beforeChange")||t.cm&&vt(t.cm,"beforeChange"),f=function(n){var i=r.changes[n];if(i.origin=e,u&&!lo(t,i,!1))return a.length=0,{};h.push(Fr(t,i));var o=n?Ar(t,i):Y(a);po(t,i,o,Gr(t,i)),!n&&t.cm&&t.cm.scrollIntoView({from:i.from,to:Er(i)});var s=[];$r(t,(function(t,e){e||-1!=U(s,t.history)||(_o(t.history,i),s.push(t.history)),po(t,i,null,Gr(t,i))}))},d=r.changes.length-1;d>=0;--d){var p=f(d);if(p)return p.v}}}}function fo(t,e){if(0!=e&&(t.first+=e,t.sel=new br(K(t.sel.ranges,(function(t){return new Tr(te(t.anchor.line+e,t.anchor.ch),te(t.head.line+e,t.head.ch))})),t.sel.primIndex),t.cm)){ui(t.cm,t.first,t.first-e,e);for(var n=t.cm.display,i=n.viewFrom;i<n.viewTo;i++)fi(t.cm,i,"gutter")}}function po(t,e,n,i){if(t.cm&&!t.cm.curOp)return tr(t.cm,po)(t,e,n,i);if(e.to.line<t.first)fo(t,e.text.length-1-(e.to.line-e.from.line));else if(!(e.from.line>t.lastLine())){if(e.from.line<t.first){var r=e.text.length-1-(t.first-e.from.line);fo(t,r),e={from:te(t.first,0),to:te(e.to.line+r,e.to.ch),text:[Y(e.text)],origin:e.origin}}var o=t.lastLine();e.to.line>o&&(e={from:e.from,to:te(o,qt(t,o).text.length),text:[e.text[0]],origin:e.origin}),e.removed=Vt(t,e.from,e.to),n||(n=Ar(t,e)),t.cm?function(t,e,n){var i=t.doc,r=t.display,o=e.from,s=e.to,a=!1,l=o.line;t.options.lineWrapping||(l=Xt(Fe(qt(i,o.line))),i.iter(l,s.line+1,(function(t){if(t==r.maxLine)return a=!0,!0}))),i.sel.contains(e.from,e.to)>-1&&mt(t),Mr(i,e,n,ai(t)),t.options.lineWrapping||(i.iter(l,o.line+e.text.length,(function(t){var e=je(t);e>r.maxLineLength&&(r.maxLine=t,r.maxLineLength=e,r.maxLineChanged=!0,a=!1)})),a&&(t.curOp.updateMaxLine=!0)),function(t,e){if(t.modeFrontier=Math.min(t.modeFrontier,e),!(t.highlightFrontier<e-10)){for(var n=t.first,i=e-1;i>n;i--){var r=qt(t,i).stateAfter;if(r&&(!(r instanceof ce)||i+r.lookAhead<e)){n=i+1;break}}t.highlightFrontier=Math.min(t.highlightFrontier,n)}}(i,o.line),ir(t,400);var c=e.text.length-(s.line-o.line)-1;e.full?ui(t):o.line!=s.line||1!=e.text.length||Ir(t.doc,e)?ui(t,o.line,s.line+1,c):fi(t,o.line,"text");var h=vt(t,"changes"),u=vt(t,"change");if(u||h){var f={from:o,to:s,text:e.text,removed:e.removed,origin:e.origin};u&&ln(t,"change",t,f),h&&(t.curOp.changeObjs||(t.curOp.changeObjs=[])).push(f)}t.display.selForContextMenu=null}(t.cm,e,i):Mr(t,e,i),to(t,n,z),t.cantEdit&&oo(t,te(t.firstLine(),0))&&(t.cantEdit=!1)}}function go(t,e,n,i,r){var o;i||(i=n),ee(i,n)<0&&(n=(o=[i,n])[0],i=o[1]),"string"==typeof e&&(e=t.splitLines(e)),co(t,{from:n,to:i,text:e,origin:r})}function mo(t,e,n,i){n<t.line?t.line+=i:e<t.line&&(t.line=e,t.ch=0)}function vo(t,e,n,i){for(var r=0;r<t.length;++r){var o=t[r],s=!0;if(o.ranges){o.copied||((o=t[r]=o.deepCopy()).copied=!0);for(var a=0;a<o.ranges.length;a++)mo(o.ranges[a].anchor,e,n,i),mo(o.ranges[a].head,e,n,i)}else{for(var l=0;l<o.changes.length;++l){var c=o.changes[l];if(n<c.from.line)c.from=te(c.from.line+i,c.from.ch),c.to=te(c.to.line+i,c.to.ch);else if(e<=c.to.line){s=!1;break}}s||(t.splice(0,r+1),r=0)}}}function _o(t,e){var n=e.from.line,i=e.to.line,r=e.text.length-(i-n)-1;vo(t.done,n,i,r),vo(t.undone,n,i,r)}function yo(t,e,n,i){var r=e,o=e;return"number"==typeof e?o=qt(t,se(t,e)):r=Xt(e),null==r?null:(i(o,r)&&t.cm&&fi(t.cm,r,n),o)}function xo(t){this.lines=t,this.parent=null;for(var e=0,n=0;n<t.length;++n)t[n].parent=this,e+=t[n].height;this.height=e}function ko(t){this.children=t;for(var e=0,n=0,i=0;i<t.length;++i){var r=t[i];e+=r.chunkSize(),n+=r.height,r.parent=this}this.size=e,this.height=n,this.parent=null}Tr.prototype.from=function(){return oe(this.anchor,this.head)},Tr.prototype.to=function(){return re(this.anchor,this.head)},Tr.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},xo.prototype={chunkSize:function(){return this.lines.length},removeInner:function(t,e){for(var n=t,i=t+e;n<i;++n){var r=this.lines[n];this.height-=r.height,Ve(r),ln(r,"delete")}this.lines.splice(t,e)},collapse:function(t){t.push.apply(t,this.lines)},insertInner:function(t,e,n){this.height+=n,this.lines=this.lines.slice(0,t).concat(e).concat(this.lines.slice(t));for(var i=0;i<e.length;++i)e[i].parent=this},iterN:function(t,e,n){for(var i=t+e;t<i;++t)if(n(this.lines[t]))return!0}},ko.prototype={chunkSize:function(){return this.size},removeInner:function(t,e){this.size-=e;for(var n=0;n<this.children.length;++n){var i=this.children[n],r=i.chunkSize();if(t<r){var o=Math.min(e,r-t),s=i.height;if(i.removeInner(t,o),this.height-=s-i.height,r==o&&(this.children.splice(n--,1),i.parent=null),0==(e-=o))break;t=0}else t-=r}if(this.size-e<25&&(this.children.length>1||!(this.children[0]instanceof xo))){var a=[];this.collapse(a),this.children=[new xo(a)],this.children[0].parent=this}},collapse:function(t){for(var e=0;e<this.children.length;++e)this.children[e].collapse(t)},insertInner:function(t,e,n){this.size+=e.length,this.height+=n;for(var i=0;i<this.children.length;++i){var r=this.children[i],o=r.chunkSize();if(t<=o){if(r.insertInner(t,e,n),r.lines&&r.lines.length>50){for(var s=r.lines.length%25+25,a=s;a<r.lines.length;){var l=new xo(r.lines.slice(a,a+=25));r.height-=l.height,this.children.splice(++i,0,l),l.parent=this}r.lines=r.lines.slice(0,s),this.maybeSpill()}break}t-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var t=this;do{var e=new ko(t.children.splice(t.children.length-5,5));if(t.parent){t.size-=e.size,t.height-=e.height;var n=U(t.parent.children,t);t.parent.children.splice(n+1,0,e)}else{var i=new ko(t.children);i.parent=t,t.children=[i,e],t=i}e.parent=t.parent}while(t.children.length>10);t.parent.maybeSpill()}},iterN:function(t,e,n){for(var i=0;i<this.children.length;++i){var r=this.children[i],o=r.chunkSize();if(t<o){var s=Math.min(e,o-t);if(r.iterN(t,s,n))return!0;if(0==(e-=s))break;t=0}else t-=o}}};var bo=function(t,e,n){if(n)for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i]);this.doc=t,this.node=e};function To(t,e,n){We(e)<(t.curOp&&t.curOp.scrollTop||t.doc.scrollTop)&&Oi(t,n)}bo.prototype.clear=function(){var t=this.doc.cm,e=this.line.widgets,n=this.line,i=Xt(n);if(null!=i&&e){for(var r=0;r<e.length;++r)e[r]==this&&e.splice(r--,1);e.length||(n.widgets=null);var o=kn(this);Kt(n,Math.max(0,n.height-o)),t&&(Ji(t,(function(){To(t,n,-o),fi(t,i,"widget")})),ln(t,"lineWidgetCleared",t,this,i))}},bo.prototype.changed=function(){var t=this,e=this.height,n=this.doc.cm,i=this.line;this.height=null;var r=kn(this)-e;r&&(He(this.doc,i)||Kt(i,i.height+r),n&&Ji(n,(function(){n.curOp.forceUpdate=!0,To(n,i,r),ln(n,"lineWidgetChanged",n,t,Xt(i))})))},_t(bo);var Co=0,wo=function(t,e){this.lines=[],this.type=e,this.doc=t,this.id=++Co};function Eo(t,e,n,i,r){if(i&&i.shared)return function(t,e,n,i,r){(i=P(i)).shared=!1;var o=[Eo(t,e,n,i,r)],s=o[0],a=i.widgetNode;return $r(t,(function(t){a&&(i.widgetNode=a.cloneNode(!0)),o.push(Eo(t,ae(t,e),ae(t,n),i,r));for(var l=0;l<t.linked.length;++l)if(t.linked[l].isParent)return;s=Y(o)})),new So(o,s)}(t,e,n,i,r);if(t.cm&&!t.cm.curOp)return tr(t.cm,Eo)(t,e,n,i,r);var o=new wo(t,r),s=ee(e,n);if(i&&P(i,o,!1),s>0||0==s&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=O("span",[o.replacedWith],"CodeMirror-widget"),i.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),i.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Pe(t,e.line,e,n,o)||e.line!=n.line&&Pe(t,n.line,e,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");be=!0}o.addToHistory&&Ur(t,{from:e,to:n,origin:"markText"},t.sel,NaN);var a,l=e.line,c=t.cm;if(t.iter(l,n.line+1,(function(i){c&&o.collapsed&&!c.options.lineWrapping&&Fe(i)==c.display.maxLine&&(a=!0),o.collapsed&&l!=e.line&&Kt(i,0),function(t,e,n){var i=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));i&&i.has(t.markedSpans)?t.markedSpans.push(e):(t.markedSpans=t.markedSpans?t.markedSpans.concat([e]):[e],i&&i.add(t.markedSpans)),e.marker.attachLine(t)}(i,new Te(o,l==e.line?e.ch:null,l==n.line?n.ch:null),t.cm&&t.cm.curOp),++l})),o.collapsed&&t.iter(e.line,n.line+1,(function(e){He(t,e)&&Kt(e,0)})),o.clearOnEnter&&ut(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(ke=!0,(t.history.done.length||t.history.undone.length)&&t.clearHistory()),o.collapsed&&(o.id=++Co,o.atomic=!0),c){if(a&&(c.curOp.updateMaxLine=!0),o.collapsed)ui(c,e.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var h=e.line;h<=n.line;h++)fi(c,h,"text");o.atomic&&no(c.doc),ln(c,"markerAdded",c,o)}return o}wo.prototype.clear=function(){if(!this.explicitlyCleared){var t=this.doc.cm,e=t&&!t.curOp;if(e&&qi(t),vt(this,"clear")){var n=this.find();n&&ln(this,"clear",n.from,n.to)}for(var i=null,r=null,o=0;o<this.lines.length;++o){var s=this.lines[o],a=Ce(s.markedSpans,this);t&&!this.collapsed?fi(t,Xt(s),"text"):t&&(null!=a.to&&(r=Xt(s)),null!=a.from&&(i=Xt(s))),s.markedSpans=we(s.markedSpans,a),null==a.from&&this.collapsed&&!He(this.doc,s)&&t&&Kt(s,ii(t.display))}if(t&&this.collapsed&&!t.options.lineWrapping)for(var l=0;l<this.lines.length;++l){var c=Fe(this.lines[l]),h=je(c);h>t.display.maxLineLength&&(t.display.maxLine=c,t.display.maxLineLength=h,t.display.maxLineChanged=!0)}null!=i&&t&&this.collapsed&&ui(t,i,r+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&no(t.doc)),t&&ln(t,"markerCleared",t,this,i,r),e&&Vi(t),this.parent&&this.parent.clear()}},wo.prototype.find=function(t,e){var n,i;null==t&&"bookmark"==this.type&&(t=1);for(var r=0;r<this.lines.length;++r){var o=this.lines[r],s=Ce(o.markedSpans,this);if(null!=s.from&&(n=te(e?o:Xt(o),s.from),-1==t))return n;if(null!=s.to&&(i=te(e?o:Xt(o),s.to),1==t))return i}return n&&{from:n,to:i}},wo.prototype.changed=function(){var t=this,e=this.find(-1,!0),n=this,i=this.doc.cm;e&&i&&Ji(i,(function(){var r=e.line,o=Xt(e.line),s=Nn(i,o);if(s&&(Fn(s),i.curOp.selectionChanged=i.curOp.forceUpdate=!0),i.curOp.updateMaxLine=!0,!He(n.doc,r)&&null!=n.height){var a=n.height;n.height=null;var l=kn(n)-a;l&&Kt(r,r.height+l)}ln(i,"markerChanged",i,t)}))},wo.prototype.attachLine=function(t){if(!this.lines.length&&this.doc.cm){var e=this.doc.cm.curOp;e.maybeHiddenMarkers&&-1!=U(e.maybeHiddenMarkers,this)||(e.maybeUnhiddenMarkers||(e.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(t)},wo.prototype.detachLine=function(t){if(this.lines.splice(U(this.lines,t),1),!this.lines.length&&this.doc.cm){var e=this.doc.cm.curOp;(e.maybeHiddenMarkers||(e.maybeHiddenMarkers=[])).push(this)}},_t(wo);var So=function(t,e){this.markers=t,this.primary=e;for(var n=0;n<t.length;++n)t[n].parent=this};function Ao(t){return t.findMarks(te(t.first,0),t.clipPos(te(t.lastLine())),(function(t){return t.parent}))}function Lo(t){for(var e=function(e){var n=t[e],i=[n.primary.doc];$r(n.primary.doc,(function(t){return i.push(t)}));for(var r=0;r<n.markers.length;r++){var o=n.markers[r];-1==U(i,o.doc)&&(o.parent=null,n.markers.splice(r--,1))}},n=0;n<t.length;n++)e(n)}So.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var t=0;t<this.markers.length;++t)this.markers[t].clear();ln(this,"clear")}},So.prototype.find=function(t,e){return this.primary.find(t,e)},_t(So);var Oo=0,No=function(t,e,n,i,r){if(!(this instanceof No))return new No(t,e,n,i,r);null==n&&(n=0),ko.call(this,[new xo([new qe("",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=n;var o=te(n,0);this.sel=wr(o),this.history=new Pr(null),this.id=++Oo,this.modeOption=e,this.lineSep=i,this.direction="rtl"==r?"rtl":"ltr",this.extend=!1,"string"==typeof t&&(t=this.splitLines(t)),Mr(this,{from:o,to:o,text:t}),Jr(this,wr(o),z)};No.prototype=Q(ko.prototype,{constructor:No,iter:function(t,e,n){n?this.iterN(t-this.first,e-t,n):this.iterN(this.first,this.first+this.size,t)},insert:function(t,e){for(var n=0,i=0;i<e.length;++i)n+=e[i].height;this.insertInner(t-this.first,e,n)},remove:function(t,e){this.removeInner(t-this.first,e)},getValue:function(t){var e=Yt(this,this.first,this.first+this.size);return!1===t?e:e.join(t||this.lineSeparator())},setValue:nr((function(t){var e=te(this.first,0),n=this.first+this.size-1;co(this,{from:e,to:te(n,qt(this,n).text.length),text:this.splitLines(t),origin:"setValue",full:!0},!0),this.cm&&Ii(this.cm,0,0),Jr(this,wr(e),z)})),replaceRange:function(t,e,n,i){go(this,t,e=ae(this,e),n=n?ae(this,n):e,i)},getRange:function(t,e,n){var i=Vt(this,ae(this,t),ae(this,e));return!1===n?i:""===n?i.join(""):i.join(n||this.lineSeparator())},getLine:function(t){var e=this.getLineHandle(t);return e&&e.text},getLineHandle:function(t){if(Zt(this,t))return qt(this,t)},getLineNumber:function(t){return Xt(t)},getLineHandleVisualStart:function(t){return"number"==typeof t&&(t=qt(this,t)),Fe(t)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(t){return ae(this,t)},getCursor:function(t){var e=this.sel.primary();return null==t||"head"==t?e.head:"anchor"==t?e.anchor:"end"==t||"to"==t||!1===t?e.to():e.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:nr((function(t,e,n){Qr(this,ae(this,"number"==typeof t?te(t,e||0):t),null,n)})),setSelection:nr((function(t,e,n){Qr(this,ae(this,t),ae(this,e||t),n)})),extendSelection:nr((function(t,e,n){Yr(this,ae(this,t),e&&ae(this,e),n)})),extendSelections:nr((function(t,e){Kr(this,le(this,t),e)})),extendSelectionsBy:nr((function(t,e){Kr(this,le(this,K(this.sel.ranges,t)),e)})),setSelections:nr((function(t,e,n){if(t.length){for(var i=[],r=0;r<t.length;r++)i[r]=new Tr(ae(this,t[r].anchor),ae(this,t[r].head||t[r].anchor));null==e&&(e=Math.min(t.length-1,this.sel.primIndex)),Jr(this,Cr(this.cm,i,e),n)}})),addSelection:nr((function(t,e,n){var i=this.sel.ranges.slice(0);i.push(new Tr(ae(this,t),ae(this,e||t))),Jr(this,Cr(this.cm,i,i.length-1),n)})),getSelection:function(t){for(var e,n=this.sel.ranges,i=0;i<n.length;i++){var r=Vt(this,n[i].from(),n[i].to());e=e?e.concat(r):r}return!1===t?e:e.join(t||this.lineSeparator())},getSelections:function(t){for(var e=[],n=this.sel.ranges,i=0;i<n.length;i++){var r=Vt(this,n[i].from(),n[i].to());!1!==t&&(r=r.join(t||this.lineSeparator())),e[i]=r}return e},replaceSelection:function(t,e,n){for(var i=[],r=0;r<this.sel.ranges.length;r++)i[r]=t;this.replaceSelections(i,e,n||"+input")},replaceSelections:nr((function(t,e,n){for(var i=[],r=this.sel,o=0;o<r.ranges.length;o++){var s=r.ranges[o];i[o]={from:s.from(),to:s.to(),text:this.splitLines(t[o]),origin:n}}for(var a=e&&"end"!=e&&function(t,e,n){for(var i=[],r=te(t.first,0),o=r,s=0;s<e.length;s++){var a=e[s],l=Lr(a.from,r,o),c=Lr(Er(a),r,o);if(r=a.to,o=c,"around"==n){var h=t.sel.ranges[s],u=ee(h.head,h.anchor)<0;i[s]=new Tr(u?c:l,u?l:c)}else i[s]=new Tr(l,l)}return new br(i,t.sel.primIndex)}(this,i,e),l=i.length-1;l>=0;l--)co(this,i[l]);a?Zr(this,a):this.cm&&Ni(this.cm)})),undo:nr((function(){uo(this,"undo")})),redo:nr((function(){uo(this,"redo")})),undoSelection:nr((function(){uo(this,"undo",!0)})),redoSelection:nr((function(){uo(this,"redo",!0)})),setExtending:function(t){this.extend=t},getExtending:function(){return this.extend},historySize:function(){for(var t=this.history,e=0,n=0,i=0;i<t.done.length;i++)t.done[i].ranges||++e;for(var r=0;r<t.undone.length;r++)t.undone[r].ranges||++n;return{undo:e,redo:n}},clearHistory:function(){var t=this;this.history=new Pr(this.history),$r(this,(function(e){return e.history=t.history}),!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(t){return t&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(t){return this.history.generation==(t||this.cleanGeneration)},getHistory:function(){return{done:qr(this.history.done),undone:qr(this.history.undone)}},setHistory:function(t){var e=this.history=new Pr(this.history);e.done=qr(t.done.slice(0),null,!0),e.undone=qr(t.undone.slice(0),null,!0)},setGutterMarker:nr((function(t,e,n){return yo(this,t,"gutter",(function(t){var i=t.gutterMarkers||(t.gutterMarkers={});return i[e]=n,!n&&et(i)&&(t.gutterMarkers=null),!0}))})),clearGutter:nr((function(t){var e=this;this.iter((function(n){n.gutterMarkers&&n.gutterMarkers[t]&&yo(e,n,"gutter",(function(){return n.gutterMarkers[t]=null,et(n.gutterMarkers)&&(n.gutterMarkers=null),!0}))}))})),lineInfo:function(t){var e;if("number"==typeof t){if(!Zt(this,t))return null;if(e=t,!(t=qt(this,t)))return null}else if(null==(e=Xt(t)))return null;return{line:e,handle:t,text:t.text,gutterMarkers:t.gutterMarkers,textClass:t.textClass,bgClass:t.bgClass,wrapClass:t.wrapClass,widgets:t.widgets}},addLineClass:nr((function(t,e,n){return yo(this,t,"gutter"==e?"gutter":"class",(function(t){var i="text"==e?"textClass":"background"==e?"bgClass":"gutter"==e?"gutterClass":"wrapClass";if(t[i]){if(C(n).test(t[i]))return!1;t[i]+=" "+n}else t[i]=n;return!0}))})),removeLineClass:nr((function(t,e,n){return yo(this,t,"gutter"==e?"gutter":"class",(function(t){var i="text"==e?"textClass":"background"==e?"bgClass":"gutter"==e?"gutterClass":"wrapClass",r=t[i];if(!r)return!1;if(null==n)t[i]=null;else{var o=r.match(C(n));if(!o)return!1;var s=o.index+o[0].length;t[i]=r.slice(0,o.index)+(o.index&&s!=r.length?" ":"")+r.slice(s)||null}return!0}))})),addLineWidget:nr((function(t,e,n){return function(t,e,n,i){var r=new bo(t,n,i),o=t.cm;return o&&r.noHScroll&&(o.display.alignWidgets=!0),yo(t,e,"widget",(function(e){var n=e.widgets||(e.widgets=[]);if(null==r.insertAt?n.push(r):n.splice(Math.min(n.length,Math.max(0,r.insertAt)),0,r),r.line=e,o&&!He(t,e)){var i=We(e)<t.scrollTop;Kt(e,e.height+kn(r)),i&&Oi(o,r.height),o.curOp.forceUpdate=!0}return!0})),o&&ln(o,"lineWidgetAdded",o,r,"number"==typeof e?e:Xt(e)),r}(this,t,e,n)})),removeLineWidget:function(t){t.clear()},markText:function(t,e,n){return Eo(this,ae(this,t),ae(this,e),n,n&&n.type||"range")},setBookmark:function(t,e){var n={replacedWith:e&&(null==e.nodeType?e.widget:e),insertLeft:e&&e.insertLeft,clearWhenEmpty:!1,shared:e&&e.shared,handleMouseEvents:e&&e.handleMouseEvents};return Eo(this,t=ae(this,t),t,n,"bookmark")},findMarksAt:function(t){var e=[],n=qt(this,(t=ae(this,t)).line).markedSpans;if(n)for(var i=0;i<n.length;++i){var r=n[i];(null==r.from||r.from<=t.ch)&&(null==r.to||r.to>=t.ch)&&e.push(r.marker.parent||r.marker)}return e},findMarks:function(t,e,n){t=ae(this,t),e=ae(this,e);var i=[],r=t.line;return this.iter(t.line,e.line+1,(function(o){var s=o.markedSpans;if(s)for(var a=0;a<s.length;a++){var l=s[a];null!=l.to&&r==t.line&&t.ch>=l.to||null==l.from&&r!=t.line||null!=l.from&&r==e.line&&l.from>=e.ch||n&&!n(l.marker)||i.push(l.marker.parent||l.marker)}++r})),i},getAllMarks:function(){var t=[];return this.iter((function(e){var n=e.markedSpans;if(n)for(var i=0;i<n.length;++i)null!=n[i].from&&t.push(n[i].marker)})),t},posFromIndex:function(t){var e,n=this.first,i=this.lineSeparator().length;return this.iter((function(r){var o=r.text.length+i;if(o>t)return e=t,!0;t-=o,++n})),ae(this,te(n,e))},indexFromPos:function(t){var e=(t=ae(this,t)).ch;if(t.line<this.first||t.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,t.line,(function(t){e+=t.text.length+n})),e},copy:function(t){var e=new No(Yt(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return e.scrollTop=this.scrollTop,e.scrollLeft=this.scrollLeft,e.sel=this.sel,e.extend=!1,t&&(e.history.undoDepth=this.history.undoDepth,e.setHistory(this.getHistory())),e},linkedDoc:function(t){t||(t={});var e=this.first,n=this.first+this.size;null!=t.from&&t.from>e&&(e=t.from),null!=t.to&&t.to<n&&(n=t.to);var i=new No(Yt(this,e,n),t.mode||this.modeOption,e,this.lineSep,this.direction);return t.sharedHist&&(i.history=this.history),(this.linked||(this.linked=[])).push({doc:i,sharedHist:t.sharedHist}),i.linked=[{doc:this,isParent:!0,sharedHist:t.sharedHist}],function(t,e){for(var n=0;n<e.length;n++){var i=e[n],r=i.find(),o=t.clipPos(r.from),s=t.clipPos(r.to);if(ee(o,s)){var a=Eo(t,o,s,i.primary,i.primary.type);i.markers.push(a),a.parent=i}}}(i,Ao(this)),i},unlinkDoc:function(t){if(t instanceof Ss&&(t=t.doc),this.linked)for(var e=0;e<this.linked.length;++e)if(this.linked[e].doc==t){this.linked.splice(e,1),t.unlinkDoc(this),Lo(Ao(this));break}if(t.history==this.history){var n=[t.id];$r(t,(function(t){return n.push(t.id)}),!0),t.history=new Pr(null),t.history.done=qr(this.history.done,n),t.history.undone=qr(this.history.undone,n)}},iterLinkedDocs:function(t){$r(this,t)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(t){return this.lineSep?t.split(this.lineSep):Nt(t)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:nr((function(t){var e;"rtl"!=t&&(t="ltr"),t!=this.direction&&(this.direction=t,this.iter((function(t){return t.order=null})),this.cm&&Ji(e=this.cm,(function(){Dr(e),ui(e)})))}))}),No.prototype.eachLine=No.prototype.iter;var Io=0;function Mo(t){var e=this;if($o(e),!gt(e,t)&&!bn(e.display,t)){yt(t),s&&(Io=+new Date);var n=ci(e,t,!0),i=t.dataTransfer.files;if(n&&!e.isReadOnly())if(i&&i.length&&window.FileReader&&window.File)for(var r=i.length,o=Array(r),a=0,l=function(){++a==r&&tr(e,(function(){var t={from:n=ae(e.doc,n),to:n,text:e.doc.splitLines(o.filter((function(t){return null!=t})).join(e.doc.lineSeparator())),origin:"paste"};co(e.doc,t),Zr(e.doc,wr(ae(e.doc,n),ae(e.doc,Er(t))))}))()},c=function(t,n){if(e.options.allowDropFileTypes&&-1==U(e.options.allowDropFileTypes,t.type))l();else{var i=new FileReader;i.onerror=function(){return l()},i.onload=function(){var t=i.result;/[\x00-\x08\x0e-\x1f]{2}/.test(t)||(o[n]=t),l()},i.readAsText(t)}},h=0;h<i.length;h++)c(i[h],h);else{if(e.state.draggingText&&e.doc.sel.contains(n)>-1)return e.state.draggingText(t),void setTimeout((function(){return e.display.input.focus()}),20);try{var u=t.dataTransfer.getData("Text");if(u){var f;if(e.state.draggingText&&!e.state.draggingText.copy&&(f=e.listSelections()),to(e.doc,wr(n,n)),f)for(var d=0;d<f.length;++d)go(e.doc,"",f[d].anchor,f[d].head,"drag");e.replaceSelection(u,"around","paste"),e.display.input.focus()}}catch(t){}}}}function $o(t){t.display.dragCursor&&(t.display.lineSpace.removeChild(t.display.dragCursor),t.display.dragCursor=null)}function Ro(t){if(document.getElementsByClassName){for(var e=document.getElementsByClassName("CodeMirror"),n=[],i=0;i<e.length;i++){var r=e[i].CodeMirror;r&&n.push(r)}n.length&&n[0].operation((function(){for(var e=0;e<n.length;e++)t(n[e])}))}}var Do=!1;function Po(){var t;Do||(ut(window,"resize",(function(){null==t&&(t=setTimeout((function(){t=null,Ro(Fo)}),100))})),ut(window,"blur",(function(){return Ro(wi)})),Do=!0)}function Fo(t){var e=t.display;e.cachedCharWidth=e.cachedTextHeight=e.cachedPaddingH=null,e.scrollbarsClipped=!1,t.setSize()}for(var Bo={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Mod",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Uo=0;Uo<10;Uo++)Bo[Uo+48]=Bo[Uo+96]=String(Uo);for(var Ho=65;Ho<=90;Ho++)Bo[Ho]=String.fromCharCode(Ho);for(var zo=1;zo<=12;zo++)Bo[zo+111]=Bo[zo+63235]="F"+zo;var Wo={};function jo(t){var e,n,i,r,o=t.split(/-(?!$)/);t=o[o.length-1];for(var s=0;s<o.length-1;s++){var a=o[s];if(/^(cmd|meta|m)$/i.test(a))r=!0;else if(/^a(lt)?$/i.test(a))e=!0;else if(/^(c|ctrl|control)$/i.test(a))n=!0;else{if(!/^s(hift)?$/i.test(a))throw new Error("Unrecognized modifier name: "+a);i=!0}}return e&&(t="Alt-"+t),n&&(t="Ctrl-"+t),r&&(t="Cmd-"+t),i&&(t="Shift-"+t),t}function Go(t){var e={};for(var n in t)if(t.hasOwnProperty(n)){var i=t[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if("..."==i){delete t[n];continue}for(var r=K(n.split(" "),jo),o=0;o<r.length;o++){var s=void 0,a=void 0;o==r.length-1?(a=r.join(" "),s=i):(a=r.slice(0,o+1).join(" "),s="...");var l=e[a];if(l){if(l!=s)throw new Error("Inconsistent bindings for "+a)}else e[a]=s}delete t[n]}for(var c in e)t[c]=e[c];return t}function qo(t,e,n,i){var r=(e=Xo(e)).call?e.call(t,i):e[t];if(!1===r)return"nothing";if("..."===r)return"multi";if(null!=r&&n(r))return"handled";if(e.fallthrough){if("[object Array]"!=Object.prototype.toString.call(e.fallthrough))return qo(t,e.fallthrough,n,i);for(var o=0;o<e.fallthrough.length;o++){var s=qo(t,e.fallthrough[o],n,i);if(s)return s}}}function Vo(t){var e="string"==typeof t?t:Bo[t.keyCode];return"Ctrl"==e||"Alt"==e||"Shift"==e||"Mod"==e}function Yo(t,e,n){var i=t;return e.altKey&&"Alt"!=i&&(t="Alt-"+t),(b?e.metaKey:e.ctrlKey)&&"Ctrl"!=i&&(t="Ctrl-"+t),(b?e.ctrlKey:e.metaKey)&&"Mod"!=i&&(t="Cmd-"+t),!n&&e.shiftKey&&"Shift"!=i&&(t="Shift-"+t),t}function Ko(t,e){if(u&&34==t.keyCode&&t.char)return!1;var n=Bo[t.keyCode];return null!=n&&!t.altGraphKey&&(3==t.keyCode&&t.code&&(n=t.code),Yo(n,t,e))}function Xo(t){return"string"==typeof t?Wo[t]:t}function Qo(t,e){for(var n=t.doc.sel.ranges,i=[],r=0;r<n.length;r++){for(var o=e(n[r]);i.length&&ee(o.from,Y(i).to)<=0;){var s=i.pop();if(ee(s.from,o.from)<0){o.from=s.from;break}}i.push(o)}Ji(t,(function(){for(var e=i.length-1;e>=0;e--)go(t.doc,"",i[e].from,i[e].to,"+delete");Ni(t)}))}function Zo(t,e,n){var i=rt(t.text,e+n,n);return i<0||i>t.text.length?null:i}function Jo(t,e,n){var i=Zo(t,e.ch,n);return null==i?null:new te(e.line,i,n<0?"after":"before")}function ts(t,e,n,i,r){if(t){"rtl"==e.doc.direction&&(r=-r);var o=ct(n,e.doc.direction);if(o){var s,a=r<0?Y(o):o[0],l=r<0==(1==a.level)?"after":"before";if(a.level>0||"rtl"==e.doc.direction){var c=In(e,n);s=r<0?n.text.length-1:0;var h=Mn(e,c,s).top;s=ot((function(t){return Mn(e,c,t).top==h}),r<0==(1==a.level)?a.from:a.to-1,s),"before"==l&&(s=Zo(n,s,1))}else s=r<0?a.to:a.from;return new te(i,s,l)}}return new te(i,r<0?n.text.length:0,r<0?"before":"after")}Wo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Wo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Wo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Wo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Wo.default=_?Wo.macDefault:Wo.pcDefault;var es={selectAll:ao,singleSelection:function(t){return t.setSelection(t.getCursor("anchor"),t.getCursor("head"),z)},killLine:function(t){return Qo(t,(function(e){if(e.empty()){var n=qt(t.doc,e.head.line).text.length;return e.head.ch==n&&e.head.line<t.lastLine()?{from:e.head,to:te(e.head.line+1,0)}:{from:e.head,to:te(e.head.line,n)}}return{from:e.from(),to:e.to()}}))},deleteLine:function(t){return Qo(t,(function(e){return{from:te(e.from().line,0),to:ae(t.doc,te(e.to().line+1,0))}}))},delLineLeft:function(t){return Qo(t,(function(t){return{from:te(t.from().line,0),to:t.from()}}))},delWrappedLineLeft:function(t){return Qo(t,(function(e){var n=t.charCoords(e.head,"div").top+5;return{from:t.coordsChar({left:0,top:n},"div"),to:e.from()}}))},delWrappedLineRight:function(t){return Qo(t,(function(e){var n=t.charCoords(e.head,"div").top+5,i=t.coordsChar({left:t.display.lineDiv.offsetWidth+100,top:n},"div");return{from:e.from(),to:i}}))},undo:function(t){return t.undo()},redo:function(t){return t.redo()},undoSelection:function(t){return t.undoSelection()},redoSelection:function(t){return t.redoSelection()},goDocStart:function(t){return t.extendSelection(te(t.firstLine(),0))},goDocEnd:function(t){return t.extendSelection(te(t.lastLine()))},goLineStart:function(t){return t.extendSelectionsBy((function(e){return ns(t,e.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(t){return t.extendSelectionsBy((function(e){return is(t,e.head)}),{origin:"+move",bias:1})},goLineEnd:function(t){return t.extendSelectionsBy((function(e){return function(t,e){var n=qt(t.doc,e),i=function(t){for(var e;e=Re(t);)t=e.find(1,!0).line;return t}(n);return i!=n&&(e=Xt(i)),ts(!0,t,n,e,-1)}(t,e.head.line)}),{origin:"+move",bias:-1})},goLineRight:function(t){return t.extendSelectionsBy((function(e){var n=t.cursorCoords(e.head,"div").top+5;return t.coordsChar({left:t.display.lineDiv.offsetWidth+100,top:n},"div")}),j)},goLineLeft:function(t){return t.extendSelectionsBy((function(e){var n=t.cursorCoords(e.head,"div").top+5;return t.coordsChar({left:0,top:n},"div")}),j)},goLineLeftSmart:function(t){return t.extendSelectionsBy((function(e){var n=t.cursorCoords(e.head,"div").top+5,i=t.coordsChar({left:0,top:n},"div");return i.ch<t.getLine(i.line).search(/\S/)?is(t,e.head):i}),j)},goLineUp:function(t){return t.moveV(-1,"line")},goLineDown:function(t){return t.moveV(1,"line")},goPageUp:function(t){return t.moveV(-1,"page")},goPageDown:function(t){return t.moveV(1,"page")},goCharLeft:function(t){return t.moveH(-1,"char")},goCharRight:function(t){return t.moveH(1,"char")},goColumnLeft:function(t){return t.moveH(-1,"column")},goColumnRight:function(t){return t.moveH(1,"column")},goWordLeft:function(t){return t.moveH(-1,"word")},goGroupRight:function(t){return t.moveH(1,"group")},goGroupLeft:function(t){return t.moveH(-1,"group")},goWordRight:function(t){return t.moveH(1,"word")},delCharBefore:function(t){return t.deleteH(-1,"codepoint")},delCharAfter:function(t){return t.deleteH(1,"char")},delWordBefore:function(t){return t.deleteH(-1,"word")},delWordAfter:function(t){return t.deleteH(1,"word")},delGroupBefore:function(t){return t.deleteH(-1,"group")},delGroupAfter:function(t){return t.deleteH(1,"group")},indentAuto:function(t){return t.indentSelection("smart")},indentMore:function(t){return t.indentSelection("add")},indentLess:function(t){return t.indentSelection("subtract")},insertTab:function(t){return t.replaceSelection("\t")},insertSoftTab:function(t){for(var e=[],n=t.listSelections(),i=t.options.tabSize,r=0;r<n.length;r++){var o=n[r].from(),s=F(t.getLine(o.line),o.ch,i);e.push(V(i-s%i))}t.replaceSelections(e)},defaultTab:function(t){t.somethingSelected()?t.indentSelection("add"):t.execCommand("insertTab")},transposeChars:function(t){return Ji(t,(function(){for(var e=t.listSelections(),n=[],i=0;i<e.length;i++)if(e[i].empty()){var r=e[i].head,o=qt(t.doc,r.line).text;if(o)if(r.ch==o.length&&(r=new te(r.line,r.ch-1)),r.ch>0)r=new te(r.line,r.ch+1),t.replaceRange(o.charAt(r.ch-1)+o.charAt(r.ch-2),te(r.line,r.ch-2),r,"+transpose");else if(r.line>t.doc.first){var s=qt(t.doc,r.line-1).text;s&&(r=new te(r.line,1),t.replaceRange(o.charAt(0)+t.doc.lineSeparator()+s.charAt(s.length-1),te(r.line-1,s.length-1),r,"+transpose"))}n.push(new Tr(r,r))}t.setSelections(n)}))},newlineAndIndent:function(t){return Ji(t,(function(){for(var e=t.listSelections(),n=e.length-1;n>=0;n--)t.replaceRange(t.doc.lineSeparator(),e[n].anchor,e[n].head,"+input");e=t.listSelections();for(var i=0;i<e.length;i++)t.indentLine(e[i].from().line,null,!0);Ni(t)}))},openLine:function(t){return t.replaceSelection("\n","start")},toggleOverwrite:function(t){return t.toggleOverwrite()}};function ns(t,e){var n=qt(t.doc,e),i=Fe(n);return i!=n&&(e=Xt(i)),ts(!0,t,i,e,1)}function is(t,e){var n=ns(t,e.line),i=qt(t.doc,n.line),r=ct(i,t.doc.direction);if(!r||0==r[0].level){var o=Math.max(n.ch,i.text.search(/\S/)),s=e.line==n.line&&e.ch<=o&&e.ch;return te(n.line,s?0:o,n.sticky)}return n}function rs(t,e,n){if("string"==typeof e&&!(e=es[e]))return!1;t.display.input.ensurePolled();var i=t.display.shift,r=!1;try{t.isReadOnly()&&(t.state.suppressEdits=!0),n&&(t.display.shift=!1),r=e(t)!=H}finally{t.display.shift=i,t.state.suppressEdits=!1}return r}var os=new B;function ss(t,e,n,i){var r=t.state.keySeq;if(r){if(Vo(e))return"handled";if(/\'$/.test(e)?t.state.keySeq=null:os.set(50,(function(){t.state.keySeq==r&&(t.state.keySeq=null,t.display.input.reset())})),as(t,r+" "+e,n,i))return!0}return as(t,e,n,i)}function as(t,e,n,i){var r=function(t,e,n){for(var i=0;i<t.state.keyMaps.length;i++){var r=qo(e,t.state.keyMaps[i],n,t);if(r)return r}return t.options.extraKeys&&qo(e,t.options.extraKeys,n,t)||qo(e,t.options.keyMap,n,t)}(t,e,i);return"multi"==r&&(t.state.keySeq=e),"handled"==r&&ln(t,"keyHandled",t,e,n),"handled"!=r&&"multi"!=r||(yt(n),ki(t)),!!r}function ls(t,e){var n=Ko(e,!0);return!!n&&(e.shiftKey&&!t.state.keySeq?ss(t,"Shift-"+n,e,(function(e){return rs(t,e,!0)}))||ss(t,n,e,(function(e){if("string"==typeof e?/^go[A-Z]/.test(e):e.motion)return rs(t,e)})):ss(t,n,e,(function(e){return rs(t,e)})))}var cs=null;function hs(t){var e=this;if(!(t.target&&t.target!=e.display.input.getField()||(e.curOp.focus=I(),gt(e,t)))){s&&a<11&&27==t.keyCode&&(t.returnValue=!1);var i=t.keyCode;e.display.shift=16==i||t.shiftKey;var r=ls(e,t);u&&(cs=r?i:null,r||88!=i||Mt||!(_?t.metaKey:t.ctrlKey)||e.replaceSelection("",null,"cut")),n&&!_&&!r&&46==i&&t.shiftKey&&!t.ctrlKey&&document.execCommand&&document.execCommand("cut"),18!=i||/\bCodeMirror-crosshair\b/.test(e.display.lineDiv.className)||function(t){var e=t.display.lineDiv;function n(t){18!=t.keyCode&&t.altKey||(E(e,"CodeMirror-crosshair"),dt(document,"keyup",n),dt(document,"mouseover",n))}M(e,"CodeMirror-crosshair"),ut(document,"keyup",n),ut(document,"mouseover",n)}(e)}}function us(t){16==t.keyCode&&(this.doc.sel.shift=!1),gt(this,t)}function fs(t){var e=this;if(!(t.target&&t.target!=e.display.input.getField()||bn(e.display,t)||gt(e,t)||t.ctrlKey&&!t.altKey||_&&t.metaKey)){var n=t.keyCode,i=t.charCode;if(u&&n==cs)return cs=null,void yt(t);if(!u||t.which&&!(t.which<10)||!ls(e,t)){var r=String.fromCharCode(null==i?n:i);"\b"!=r&&(function(t,e,n){return ss(t,"'"+n+"'",e,(function(e){return rs(t,e,!0)}))}(e,t,r)||e.display.input.onKeyPress(t))}}}var ds,ps,gs=function(t,e,n){this.time=t,this.pos=e,this.button=n};function ms(t){var e=this,n=e.display;if(!(gt(e,t)||n.activeTouch&&n.input.supportsTouch()))if(n.input.ensurePolled(),n.shift=t.shiftKey,bn(n,t))l||(n.scroller.draggable=!1,setTimeout((function(){return n.scroller.draggable=!0}),100));else if(!ys(e,t)){var i=ci(e,t),r=Ct(t),o=i?function(t,e){var n=+new Date;return ps&&ps.compare(n,t,e)?(ds=ps=null,"triple"):ds&&ds.compare(n,t,e)?(ps=new gs(n,t,e),ds=null,"double"):(ds=new gs(n,t,e),ps=null,"single")}(i,r):"single";window.focus(),1==r&&e.state.selectingText&&e.state.selectingText(t),i&&function(t,e,n,i,r){var o="Click";return"double"==i?o="Double"+o:"triple"==i&&(o="Triple"+o),ss(t,Yo(o=(1==e?"Left":2==e?"Middle":"Right")+o,r),r,(function(e){if("string"==typeof e&&(e=es[e]),!e)return!1;var i=!1;try{t.isReadOnly()&&(t.state.suppressEdits=!0),i=e(t,n)!=H}finally{t.state.suppressEdits=!1}return i}))}(e,r,i,o,t)||(1==r?i?function(t,e,n,i){s?setTimeout(D(bi,t),0):t.curOp.focus=I();var r,o=function(t,e,n){var i=t.getOption("configureMouse"),r=i?i(t,e,n):{};if(null==r.unit){var o=y?n.shiftKey&&n.metaKey:n.altKey;r.unit=o?"rectangle":"single"==e?"char":"double"==e?"word":"line"}return(null==r.extend||t.doc.extend)&&(r.extend=t.doc.extend||n.shiftKey),null==r.addNew&&(r.addNew=_?n.metaKey:n.ctrlKey),null==r.moveOnDrag&&(r.moveOnDrag=!(_?n.altKey:n.ctrlKey)),r}(t,n,i),c=t.doc.sel;t.options.dragDrop&&St&&!t.isReadOnly()&&"single"==n&&(r=c.contains(e))>-1&&(ee((r=c.ranges[r]).from(),e)<0||e.xRel>0)&&(ee(r.to(),e)>0||e.xRel<0)?function(t,e,n,i){var r=t.display,o=!1,c=tr(t,(function(e){l&&(r.scroller.draggable=!1),t.state.draggingText=!1,t.state.delayingBlurEvent&&(t.hasFocus()?t.state.delayingBlurEvent=!1:Ti(t)),dt(r.wrapper.ownerDocument,"mouseup",c),dt(r.wrapper.ownerDocument,"mousemove",h),dt(r.scroller,"dragstart",u),dt(r.scroller,"drop",c),o||(yt(e),i.addNew||Yr(t.doc,n,null,null,i.extend),l&&!f||s&&9==a?setTimeout((function(){r.wrapper.ownerDocument.body.focus({preventScroll:!0}),r.input.focus()}),20):r.input.focus())})),h=function(t){o=o||Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)>=10},u=function(){return o=!0};l&&(r.scroller.draggable=!0),t.state.draggingText=c,c.copy=!i.moveOnDrag,ut(r.wrapper.ownerDocument,"mouseup",c),ut(r.wrapper.ownerDocument,"mousemove",h),ut(r.scroller,"dragstart",u),ut(r.scroller,"drop",c),t.state.delayingBlurEvent=!0,setTimeout((function(){return r.input.focus()}),20),r.scroller.dragDrop&&r.scroller.dragDrop()}(t,i,e,o):function(t,e,n,i){s&&Ti(t);var r=t.display,o=t.doc;yt(e);var a,l,c=o.sel,h=c.ranges;if(i.addNew&&!i.extend?(l=o.sel.contains(n),a=l>-1?h[l]:new Tr(n,n)):(a=o.sel.primary(),l=o.sel.primIndex),"rectangle"==i.unit)i.addNew||(a=new Tr(n,n)),n=ci(t,e,!0,!0),l=-1;else{var u=vs(t,n,i.unit);a=i.extend?Vr(a,u.anchor,u.head,i.extend):u}i.addNew?-1==l?(l=h.length,Jr(o,Cr(t,h.concat([a]),l),{scroll:!1,origin:"*mouse"})):h.length>1&&h[l].empty()&&"char"==i.unit&&!i.extend?(Jr(o,Cr(t,h.slice(0,l).concat(h.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),c=o.sel):Xr(o,l,a,W):(l=0,Jr(o,new br([a],0),W),c=o.sel);var f=n;function d(e){if(0!=ee(f,e))if(f=e,"rectangle"==i.unit){for(var r=[],s=t.options.tabSize,h=F(qt(o,n.line).text,n.ch,s),u=F(qt(o,e.line).text,e.ch,s),d=Math.min(h,u),p=Math.max(h,u),g=Math.min(n.line,e.line),m=Math.min(t.lastLine(),Math.max(n.line,e.line));g<=m;g++){var v=qt(o,g).text,_=G(v,d,s);d==p?r.push(new Tr(te(g,_),te(g,_))):v.length>_&&r.push(new Tr(te(g,_),te(g,G(v,p,s))))}r.length||r.push(new Tr(n,n)),Jr(o,Cr(t,c.ranges.slice(0,l).concat(r),l),{origin:"*mouse",scroll:!1}),t.scrollIntoView(e)}else{var y,x=a,k=vs(t,e,i.unit),b=x.anchor;ee(k.anchor,b)>0?(y=k.head,b=oe(x.from(),k.anchor)):(y=k.anchor,b=re(x.to(),k.head));var T=c.ranges.slice(0);T[l]=function(t,e){var n=e.anchor,i=e.head,r=qt(t.doc,n.line);if(0==ee(n,i)&&n.sticky==i.sticky)return e;var o=ct(r);if(!o)return e;var s=at(o,n.ch,n.sticky),a=o[s];if(a.from!=n.ch&&a.to!=n.ch)return e;var l,c=s+(a.from==n.ch==(1!=a.level)?0:1);if(0==c||c==o.length)return e;if(i.line!=n.line)l=(i.line-n.line)*("ltr"==t.doc.direction?1:-1)>0;else{var h=at(o,i.ch,i.sticky),u=h-s||(i.ch-n.ch)*(1==a.level?-1:1);l=h==c-1||h==c?u<0:u>0}var f=o[c+(l?-1:0)],d=l==(1==f.level),p=d?f.from:f.to,g=d?"after":"before";return n.ch==p&&n.sticky==g?e:new Tr(new te(n.line,p,g),i)}(t,new Tr(ae(o,b),y)),Jr(o,Cr(t,T,l),W)}}var p=r.wrapper.getBoundingClientRect(),g=0;function m(e){var n=++g,s=ci(t,e,!0,"rectangle"==i.unit);if(s)if(0!=ee(s,f)){t.curOp.focus=I(),d(s);var a=Ai(r,o);(s.line>=a.to||s.line<a.from)&&setTimeout(tr(t,(function(){g==n&&m(e)})),150)}else{var l=e.clientY<p.top?-20:e.clientY>p.bottom?20:0;l&&setTimeout(tr(t,(function(){g==n&&(r.scroller.scrollTop+=l,m(e))})),50)}}function v(e){t.state.selectingText=!1,g=1/0,e&&(yt(e),r.input.focus()),dt(r.wrapper.ownerDocument,"mousemove",_),dt(r.wrapper.ownerDocument,"mouseup",y),o.history.lastSelOrigin=null}var _=tr(t,(function(t){0!==t.buttons&&Ct(t)?m(t):v(t)})),y=tr(t,v);t.state.selectingText=y,ut(r.wrapper.ownerDocument,"mousemove",_),ut(r.wrapper.ownerDocument,"mouseup",y)}(t,i,e,o)}(e,i,o,t):Tt(t)==n.scroller&&yt(t):2==r?(i&&Yr(e.doc,i),setTimeout((function(){return n.input.focus()}),20)):3==r&&(T?e.display.input.onContextMenu(t):Ti(e)))}}function vs(t,e,n){if("char"==n)return new Tr(e,e);if("word"==n)return t.findWordAt(e);if("line"==n)return new Tr(te(e.line,0),ae(t.doc,te(e.line+1,0)));var i=n(t,e);return new Tr(i.from,i.to)}function _s(t,e,n,i){var r,o;if(e.touches)r=e.touches[0].clientX,o=e.touches[0].clientY;else try{r=e.clientX,o=e.clientY}catch(t){return!1}if(r>=Math.floor(t.display.gutters.getBoundingClientRect().right))return!1;i&&yt(e);var s=t.display,a=s.lineDiv.getBoundingClientRect();if(o>a.bottom||!vt(t,n))return kt(e);o-=a.top-s.viewOffset;for(var l=0;l<t.display.gutterSpecs.length;++l){var c=s.gutters.childNodes[l];if(c&&c.getBoundingClientRect().right>=r)return pt(t,n,t,Qt(t.doc,o),t.display.gutterSpecs[l].className,e),kt(e)}}function ys(t,e){return _s(t,e,"gutterClick",!0)}function xs(t,e){bn(t.display,e)||function(t,e){return!!vt(t,"gutterContextMenu")&&_s(t,e,"gutterContextMenu",!1)}(t,e)||gt(t,e,"contextmenu")||T||t.display.input.onContextMenu(e)}function ks(t){t.display.wrapper.className=t.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+t.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Un(t)}gs.prototype.compare=function(t,e,n){return this.time+400>t&&0==ee(e,this.pos)&&n==this.button};var bs={toString:function(){return"CodeMirror.Init"}},Ts={},Cs={};function ws(t,e,n){if(!e!=!(n&&n!=bs)){var i=t.display.dragFunctions,r=e?ut:dt;r(t.display.scroller,"dragstart",i.start),r(t.display.scroller,"dragenter",i.enter),r(t.display.scroller,"dragover",i.over),r(t.display.scroller,"dragleave",i.leave),r(t.display.scroller,"drop",i.drop)}}function Es(t){t.options.lineWrapping?(M(t.display.wrapper,"CodeMirror-wrap"),t.display.sizer.style.minWidth="",t.display.sizerWidth=null):(E(t.display.wrapper,"CodeMirror-wrap"),Ge(t)),li(t),ui(t),Un(t),setTimeout((function(){return Hi(t)}),100)}function Ss(t,e){var n=this;if(!(this instanceof Ss))return new Ss(t,e);this.options=e=e?P(e):{},P(Ts,e,!1);var i=e.value;"string"==typeof i?i=new No(i,e.mode,null,e.lineSeparator,e.direction):e.mode&&(i.modeOption=e.mode),this.doc=i;var r=new Ss.inputStyles[e.inputStyle](this),o=this.display=new mr(t,i,r,e);for(var c in o.wrapper.CodeMirror=this,ks(this),e.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),ji(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new B,keySeq:null,specialChars:null},e.autofocus&&!v&&o.input.focus(),s&&a<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(t){var e=t.display;ut(e.scroller,"mousedown",tr(t,ms)),ut(e.scroller,"dblclick",s&&a<11?tr(t,(function(e){if(!gt(t,e)){var n=ci(t,e);if(n&&!ys(t,e)&&!bn(t.display,e)){yt(e);var i=t.findWordAt(n);Yr(t.doc,i.anchor,i.head)}}})):function(e){return gt(t,e)||yt(e)}),ut(e.scroller,"contextmenu",(function(e){return xs(t,e)})),ut(e.input.getField(),"contextmenu",(function(n){e.scroller.contains(n.target)||xs(t,n)}));var n,i={end:0};function r(){e.activeTouch&&(n=setTimeout((function(){return e.activeTouch=null}),1e3),(i=e.activeTouch).end=+new Date)}function o(t){if(1!=t.touches.length)return!1;var e=t.touches[0];return e.radiusX<=1&&e.radiusY<=1}function l(t,e){if(null==e.left)return!0;var n=e.left-t.left,i=e.top-t.top;return n*n+i*i>400}ut(e.scroller,"touchstart",(function(r){if(!gt(t,r)&&!o(r)&&!ys(t,r)){e.input.ensurePolled(),clearTimeout(n);var s=+new Date;e.activeTouch={start:s,moved:!1,prev:s-i.end<=300?i:null},1==r.touches.length&&(e.activeTouch.left=r.touches[0].pageX,e.activeTouch.top=r.touches[0].pageY)}})),ut(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),ut(e.scroller,"touchend",(function(n){var i=e.activeTouch;if(i&&!bn(e,n)&&null!=i.left&&!i.moved&&new Date-i.start<300){var o,s=t.coordsChar(e.activeTouch,"page");o=!i.prev||l(i,i.prev)?new Tr(s,s):!i.prev.prev||l(i,i.prev.prev)?t.findWordAt(s):new Tr(te(s.line,0),ae(t.doc,te(s.line+1,0))),t.setSelection(o.anchor,o.head),t.focus(),yt(n)}r()})),ut(e.scroller,"touchcancel",r),ut(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(Ri(t,e.scroller.scrollTop),Pi(t,e.scroller.scrollLeft,!0),pt(t,"scroll",t))})),ut(e.scroller,"mousewheel",(function(e){return kr(t,e)})),ut(e.scroller,"DOMMouseScroll",(function(e){return kr(t,e)})),ut(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(e){gt(t,e)||bt(e)},over:function(e){gt(t,e)||(function(t,e){var n=ci(t,e);if(n){var i=document.createDocumentFragment();_i(t,n,i),t.display.dragCursor||(t.display.dragCursor=L("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),t.display.lineSpace.insertBefore(t.display.dragCursor,t.display.cursorDiv)),A(t.display.dragCursor,i)}}(t,e),bt(e))},start:function(e){return function(t,e){if(s&&(!t.state.draggingText||+new Date-Io<100))bt(e);else if(!gt(t,e)&&!bn(t.display,e)&&(e.dataTransfer.setData("Text",t.getSelection()),e.dataTransfer.effectAllowed="copyMove",e.dataTransfer.setDragImage&&!f)){var n=L("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",u&&(n.width=n.height=1,t.display.wrapper.appendChild(n),n._top=n.offsetTop),e.dataTransfer.setDragImage(n,0,0),u&&n.parentNode.removeChild(n)}}(t,e)},drop:tr(t,Mo),leave:function(e){gt(t,e)||$o(t)}};var c=e.input.getField();ut(c,"keyup",(function(e){return us.call(t,e)})),ut(c,"keydown",tr(t,hs)),ut(c,"keypress",tr(t,fs)),ut(c,"focus",(function(e){return Ci(t,e)})),ut(c,"blur",(function(e){return wi(t,e)}))}(this),Po(),qi(this),this.curOp.forceUpdate=!0,Rr(this,i),e.autofocus&&!v||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Ci(n)}),20):wi(this),Cs)Cs.hasOwnProperty(c)&&Cs[c](this,e[c],bs);fr(this),e.finishInit&&e.finishInit(this);for(var h=0;h<As.length;++h)As[h](this);Vi(this),l&&e.lineWrapping&&"optimizelegibility"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering="auto")}Ss.defaults=Ts,Ss.optionHandlers=Cs;var As=[];function Ls(t,e,n,i){var r,o=t.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?r=de(t,e).state:n="prev");var s=t.options.tabSize,a=qt(o,e),l=F(a.text,null,s);a.stateAfter&&(a.stateAfter=null);var c,h=a.text.match(/^\s*/)[0];if(i||/\S/.test(a.text)){if("smart"==n&&((c=o.mode.indent(r,a.text.slice(h.length),a.text))==H||c>150)){if(!i)return;n="prev"}}else c=0,n="not";"prev"==n?c=e>o.first?F(qt(o,e-1).text,null,s):0:"add"==n?c=l+t.options.indentUnit:"subtract"==n?c=l-t.options.indentUnit:"number"==typeof n&&(c=l+n),c=Math.max(0,c);var u="",f=0;if(t.options.indentWithTabs)for(var d=Math.floor(c/s);d;--d)f+=s,u+="\t";if(f<c&&(u+=V(c-f)),u!=h)return go(o,u,te(e,0),te(e,h.length),"+input"),a.stateAfter=null,!0;for(var p=0;p<o.sel.ranges.length;p++){var g=o.sel.ranges[p];if(g.head.line==e&&g.head.ch<h.length){var m=te(e,h.length);Xr(o,p,new Tr(m,m));break}}}Ss.defineInitHook=function(t){return As.push(t)};var Os=null;function Ns(t){Os=t}function Is(t,e,n,i,r){var o=t.doc;t.display.shift=!1,i||(i=o.sel);var s=+new Date-200,a="paste"==r||t.state.pasteIncoming>s,l=Nt(e),c=null;if(a&&i.ranges.length>1)if(Os&&Os.text.join("\n")==e){if(i.ranges.length%Os.text.length==0){c=[];for(var h=0;h<Os.text.length;h++)c.push(o.splitLines(Os.text[h]))}}else l.length==i.ranges.length&&t.options.pasteLinesPerSelection&&(c=K(l,(function(t){return[t]})));for(var u=t.curOp.updateInput,f=i.ranges.length-1;f>=0;f--){var d=i.ranges[f],p=d.from(),g=d.to();d.empty()&&(n&&n>0?p=te(p.line,p.ch-n):t.state.overwrite&&!a?g=te(g.line,Math.min(qt(o,g.line).text.length,g.ch+Y(l).length)):a&&Os&&Os.lineWise&&Os.text.join("\n")==l.join("\n")&&(p=g=te(p.line,0)));var m={from:p,to:g,text:c?c[f%c.length]:l,origin:r||(a?"paste":t.state.cutIncoming>s?"cut":"+input")};co(t.doc,m),ln(t,"inputRead",t,m)}e&&!a&&$s(t,e),Ni(t),t.curOp.updateInput<2&&(t.curOp.updateInput=u),t.curOp.typing=!0,t.state.pasteIncoming=t.state.cutIncoming=-1}function Ms(t,e){var n=t.clipboardData&&t.clipboardData.getData("Text");if(n)return t.preventDefault(),e.isReadOnly()||e.options.disableInput||Ji(e,(function(){return Is(e,n,0,null,"paste")})),!0}function $s(t,e){if(t.options.electricChars&&t.options.smartIndent)for(var n=t.doc.sel,i=n.ranges.length-1;i>=0;i--){var r=n.ranges[i];if(!(r.head.ch>100||i&&n.ranges[i-1].head.line==r.head.line)){var o=t.getModeAt(r.head),s=!1;if(o.electricChars){for(var a=0;a<o.electricChars.length;a++)if(e.indexOf(o.electricChars.charAt(a))>-1){s=Ls(t,r.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(qt(t.doc,r.head.line).text.slice(0,r.head.ch))&&(s=Ls(t,r.head.line,"smart"));s&&ln(t,"electricInput",t,r.head.line)}}}function Rs(t){for(var e=[],n=[],i=0;i<t.doc.sel.ranges.length;i++){var r=t.doc.sel.ranges[i].head.line,o={anchor:te(r,0),head:te(r+1,0)};n.push(o),e.push(t.getRange(o.anchor,o.head))}return{text:e,ranges:n}}function Ds(t,e,n,i){t.setAttribute("autocorrect",n?"":"off"),t.setAttribute("autocapitalize",i?"":"off"),t.setAttribute("spellcheck",!!e)}function Ps(){var t=L("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),e=L("div",[t],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return l?t.style.width="1000px":t.setAttribute("wrap","off"),g&&(t.style.border="1px solid black"),Ds(t),e}function Fs(t,e,n,i,r){var o=e,s=n,a=qt(t,e.line),l=r&&"rtl"==t.direction?-n:n;function c(o){var s,c;if("codepoint"==i){var h=a.text.charCodeAt(e.ch+(n>0?0:-1));if(isNaN(h))s=null;else{var u=n>0?h>=55296&&h<56320:h>=56320&&h<57343;s=new te(e.line,Math.max(0,Math.min(a.text.length,e.ch+n*(u?2:1))),-n)}}else s=r?function(t,e,n,i){var r=ct(e,t.doc.direction);if(!r)return Jo(e,n,i);n.ch>=e.text.length?(n.ch=e.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=at(r,n.ch,n.sticky),s=r[o];if("ltr"==t.doc.direction&&s.level%2==0&&(i>0?s.to>n.ch:s.from<n.ch))return Jo(e,n,i);var a,l=function(t,n){return Zo(e,t instanceof te?t.ch:t,n)},c=function(n){return t.options.lineWrapping?(a=a||In(t,e),Zn(t,e,a,n)):{begin:0,end:e.text.length}},h=c("before"==n.sticky?l(n,-1):n.ch);if("rtl"==t.doc.direction||1==s.level){var u=1==s.level==i<0,f=l(n,u?1:-1);if(null!=f&&(u?f<=s.to&&f<=h.end:f>=s.from&&f>=h.begin)){var d=u?"before":"after";return new te(n.line,f,d)}}var p=function(t,e,i){for(var o=function(t,e){return e?new te(n.line,l(t,1),"before"):new te(n.line,t,"after")};t>=0&&t<r.length;t+=e){var s=r[t],a=e>0==(1!=s.level),c=a?i.begin:l(i.end,-1);if(s.from<=c&&c<s.to)return o(c,a);if(c=a?s.from:l(s.to,-1),i.begin<=c&&c<i.end)return o(c,a)}},g=p(o+i,i,h);if(g)return g;var m=i>0?h.end:l(h.begin,-1);return null==m||i>0&&m==e.text.length||!(g=p(i>0?0:r.length-1,i,c(m)))?null:g}(t.cm,a,e,n):Jo(a,e,n);if(null==s){if(o||(c=e.line+l)<t.first||c>=t.first+t.size||(e=new te(c,e.ch,e.sticky),!(a=qt(t,c))))return!1;e=ts(r,t.cm,a,e.line,l)}else e=s;return!0}if("char"==i||"codepoint"==i)c();else if("column"==i)c(!0);else if("word"==i||"group"==i)for(var h=null,u="group"==i,f=t.cm&&t.cm.getHelper(e,"wordChars"),d=!0;!(n<0)||c(!d);d=!1){var p=a.text.charAt(e.ch)||"\n",g=tt(p,f)?"w":u&&"\n"==p?"n":!u||/\s/.test(p)?null:"p";if(!u||d||g||(g="s"),h&&h!=g){n<0&&(n=1,c(),e.sticky="after");break}if(g&&(h=g),n>0&&!c(!d))break}var m=oo(t,e,o,s,!0);return ne(o,m)&&(m.hitSide=!0),m}function Bs(t,e,n,i){var r,o,s=t.doc,a=e.left;if("page"==i){var l=Math.min(t.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),c=Math.max(l-.5*ii(t.display),3);r=(n>0?e.bottom:e.top)+n*c}else"line"==i&&(r=n>0?e.bottom+3:e.top-3);for(;(o=Xn(t,a,r)).outside;){if(n<0?r<=0:r>=s.height){o.hitSide=!0;break}r+=5*n}return o}var Us=function(t){this.cm=t,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new B,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Hs(t,e){var n=Nn(t,e.line);if(!n||n.hidden)return null;var i=qt(t.doc,e.line),r=Ln(n,i,e.line),o=ct(i,t.doc.direction),s="left";o&&(s=at(o,e.ch)%2?"right":"left");var a=Dn(r.map,e.ch,s);return a.offset="right"==a.collapse?a.end:a.start,a}function zs(t,e){return e&&(t.bad=!0),t}function Ws(t,e,n){var i;if(e==t.display.lineDiv){if(!(i=t.display.lineDiv.childNodes[n]))return zs(t.clipPos(te(t.display.viewTo-1)),!0);e=null,n=0}else for(i=e;;i=i.parentNode){if(!i||i==t.display.lineDiv)return null;if(i.parentNode&&i.parentNode==t.display.lineDiv)break}for(var r=0;r<t.display.view.length;r++){var o=t.display.view[r];if(o.node==i)return js(o,e,n)}}function js(t,e,n){var i=t.text.firstChild,r=!1;if(!e||!N(i,e))return zs(te(Xt(t.line),0),!0);if(e==i&&(r=!0,e=i.childNodes[n],n=0,!e)){var o=t.rest?Y(t.rest):t.line;return zs(te(Xt(o),o.text.length),r)}var s=3==e.nodeType?e:null,a=e;for(s||1!=e.childNodes.length||3!=e.firstChild.nodeType||(s=e.firstChild,n&&(n=s.nodeValue.length));a.parentNode!=i;)a=a.parentNode;var l=t.measure,c=l.maps;function h(e,n,i){for(var r=-1;r<(c?c.length:0);r++)for(var o=r<0?l.map:c[r],s=0;s<o.length;s+=3){var a=o[s+2];if(a==e||a==n){var h=Xt(r<0?t.line:t.rest[r]),u=o[s]+i;return(i<0||a!=e)&&(u=o[s+(i?1:0)]),te(h,u)}}}var u=h(s,a,n);if(u)return zs(u,r);for(var f=a.nextSibling,d=s?s.nodeValue.length-n:0;f;f=f.nextSibling){if(u=h(f,f.firstChild,0))return zs(te(u.line,u.ch-d),r);d+=f.textContent.length}for(var p=a.previousSibling,g=n;p;p=p.previousSibling){if(u=h(p,p.firstChild,-1))return zs(te(u.line,u.ch+g),r);g+=p.textContent.length}}Us.prototype.init=function(t){var e=this,n=this,i=n.cm,r=n.div=t.lineDiv;function o(t){for(var e=t.target;e;e=e.parentNode){if(e==r)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(e.className))break}return!1}function s(t){if(o(t)&&!gt(i,t)){if(i.somethingSelected())Ns({lineWise:!1,text:i.getSelections()}),"cut"==t.type&&i.replaceSelection("",null,"cut");else{if(!i.options.lineWiseCopyCut)return;var e=Rs(i);Ns({lineWise:!0,text:e.text}),"cut"==t.type&&i.operation((function(){i.setSelections(e.ranges,0,z),i.replaceSelection("",null,"cut")}))}if(t.clipboardData){t.clipboardData.clearData();var s=Os.text.join("\n");if(t.clipboardData.setData("Text",s),t.clipboardData.getData("Text")==s)return void t.preventDefault()}var a=Ps(),l=a.firstChild;i.display.lineSpace.insertBefore(a,i.display.lineSpace.firstChild),l.value=Os.text.join("\n");var c=I();R(l),setTimeout((function(){i.display.lineSpace.removeChild(a),c.focus(),c==r&&n.showPrimarySelection()}),50)}}r.contentEditable=!0,Ds(r,i.options.spellcheck,i.options.autocorrect,i.options.autocapitalize),ut(r,"paste",(function(t){!o(t)||gt(i,t)||Ms(t,i)||a<=11&&setTimeout(tr(i,(function(){return e.updateFromDOM()})),20)})),ut(r,"compositionstart",(function(t){e.composing={data:t.data,done:!1}})),ut(r,"compositionupdate",(function(t){e.composing||(e.composing={data:t.data,done:!1})})),ut(r,"compositionend",(function(t){e.composing&&(t.data!=e.composing.data&&e.readFromDOMSoon(),e.composing.done=!0)})),ut(r,"touchstart",(function(){return n.forceCompositionEnd()})),ut(r,"input",(function(){e.composing||e.readFromDOMSoon()})),ut(r,"copy",s),ut(r,"cut",s)},Us.prototype.screenReaderLabelChanged=function(t){t?this.div.setAttribute("aria-label",t):this.div.removeAttribute("aria-label")},Us.prototype.prepareSelection=function(){var t=vi(this.cm,!1);return t.focus=I()==this.div,t},Us.prototype.showSelection=function(t,e){t&&this.cm.display.view.length&&((t.focus||e)&&this.showPrimarySelection(),this.showMultipleSelections(t))},Us.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Us.prototype.showPrimarySelection=function(){var t=this.getSelection(),e=this.cm,i=e.doc.sel.primary(),r=i.from(),o=i.to();if(e.display.viewTo==e.display.viewFrom||r.line>=e.display.viewTo||o.line<e.display.viewFrom)t.removeAllRanges();else{var s=Ws(e,t.anchorNode,t.anchorOffset),a=Ws(e,t.focusNode,t.focusOffset);if(!s||s.bad||!a||a.bad||0!=ee(oe(s,a),r)||0!=ee(re(s,a),o)){var l=e.display.view,c=r.line>=e.display.viewFrom&&Hs(e,r)||{node:l[0].measure.map[2],offset:0},h=o.line<e.display.viewTo&&Hs(e,o);if(!h){var u=l[l.length-1].measure,f=u.maps?u.maps[u.maps.length-1]:u.map;h={node:f[f.length-1],offset:f[f.length-2]-f[f.length-3]}}if(c&&h){var d,p=t.rangeCount&&t.getRangeAt(0);try{d=w(c.node,c.offset,h.offset,h.node)}catch(t){}d&&(!n&&e.state.focused?(t.collapse(c.node,c.offset),d.collapsed||(t.removeAllRanges(),t.addRange(d))):(t.removeAllRanges(),t.addRange(d)),p&&null==t.anchorNode?t.addRange(p):n&&this.startGracePeriod()),this.rememberSelection()}else t.removeAllRanges()}}},Us.prototype.startGracePeriod=function(){var t=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){t.gracePeriod=!1,t.selectionChanged()&&t.cm.operation((function(){return t.cm.curOp.selectionChanged=!0}))}),20)},Us.prototype.showMultipleSelections=function(t){A(this.cm.display.cursorDiv,t.cursors),A(this.cm.display.selectionDiv,t.selection)},Us.prototype.rememberSelection=function(){var t=this.getSelection();this.lastAnchorNode=t.anchorNode,this.lastAnchorOffset=t.anchorOffset,this.lastFocusNode=t.focusNode,this.lastFocusOffset=t.focusOffset},Us.prototype.selectionInEditor=function(){var t=this.getSelection();if(!t.rangeCount)return!1;var e=t.getRangeAt(0).commonAncestorContainer;return N(this.div,e)},Us.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()&&I()==this.div||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Us.prototype.blur=function(){this.div.blur()},Us.prototype.getField=function(){return this.div},Us.prototype.supportsTouch=function(){return!0},Us.prototype.receivedFocus=function(){var t=this;this.selectionInEditor()?this.pollSelection():Ji(this.cm,(function(){return t.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,(function e(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,e))}))},Us.prototype.selectionChanged=function(){var t=this.getSelection();return t.anchorNode!=this.lastAnchorNode||t.anchorOffset!=this.lastAnchorOffset||t.focusNode!=this.lastFocusNode||t.focusOffset!=this.lastFocusOffset},Us.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var t=this.getSelection(),e=this.cm;if(m&&h&&this.cm.display.gutterSpecs.length&&function(t){for(var e=t;e;e=e.parentNode)if(/CodeMirror-gutter-wrapper/.test(e.className))return!0;return!1}(t.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var n=Ws(e,t.anchorNode,t.anchorOffset),i=Ws(e,t.focusNode,t.focusOffset);n&&i&&Ji(e,(function(){Jr(e.doc,wr(n,i),z),(n.bad||i.bad)&&(e.curOp.selectionChanged=!0)}))}}},Us.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var t,e,n,i=this.cm,r=i.display,o=i.doc.sel.primary(),s=o.from(),a=o.to();if(0==s.ch&&s.line>i.firstLine()&&(s=te(s.line-1,qt(i.doc,s.line-1).length)),a.ch==qt(i.doc,a.line).text.length&&a.line<i.lastLine()&&(a=te(a.line+1,0)),s.line<r.viewFrom||a.line>r.viewTo-1)return!1;s.line==r.viewFrom||0==(t=hi(i,s.line))?(e=Xt(r.view[0].line),n=r.view[0].node):(e=Xt(r.view[t].line),n=r.view[t-1].node.nextSibling);var l,c,h=hi(i,a.line);if(h==r.view.length-1?(l=r.viewTo-1,c=r.lineDiv.lastChild):(l=Xt(r.view[h+1].line)-1,c=r.view[h+1].node.previousSibling),!n)return!1;for(var u=i.doc.splitLines(function(t,e,n,i,r){var o="",s=!1,a=t.doc.lineSeparator(),l=!1;function c(t){return function(e){return e.id==t}}function h(){s&&(o+=a,l&&(o+=a),s=l=!1)}function u(t){t&&(h(),o+=t)}function f(e){if(1==e.nodeType){var n=e.getAttribute("cm-text");if(n)return void u(n);var o,d=e.getAttribute("cm-marker");if(d){var p=t.findMarks(te(i,0),te(r+1,0),c(+d));return void(p.length&&(o=p[0].find(0))&&u(Vt(t.doc,o.from,o.to).join(a)))}if("false"==e.getAttribute("contenteditable"))return;var g=/^(pre|div|p|li|table|br)$/i.test(e.nodeName);if(!/^br$/i.test(e.nodeName)&&0==e.textContent.length)return;g&&h();for(var m=0;m<e.childNodes.length;m++)f(e.childNodes[m]);/^(pre|p)$/i.test(e.nodeName)&&(l=!0),g&&(s=!0)}else 3==e.nodeType&&u(e.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "))}for(;f(e),e!=n;)e=e.nextSibling,l=!1;return o}(i,n,c,e,l)),f=Vt(i.doc,te(e,0),te(l,qt(i.doc,l).text.length));u.length>1&&f.length>1;)if(Y(u)==Y(f))u.pop(),f.pop(),l--;else{if(u[0]!=f[0])break;u.shift(),f.shift(),e++}for(var d=0,p=0,g=u[0],m=f[0],v=Math.min(g.length,m.length);d<v&&g.charCodeAt(d)==m.charCodeAt(d);)++d;for(var _=Y(u),y=Y(f),x=Math.min(_.length-(1==u.length?d:0),y.length-(1==f.length?d:0));p<x&&_.charCodeAt(_.length-p-1)==y.charCodeAt(y.length-p-1);)++p;if(1==u.length&&1==f.length&&e==s.line)for(;d&&d>s.ch&&_.charCodeAt(_.length-p-1)==y.charCodeAt(y.length-p-1);)d--,p++;u[u.length-1]=_.slice(0,_.length-p).replace(/^\u200b+/,""),u[0]=u[0].slice(d).replace(/\u200b+$/,"");var k=te(e,d),b=te(l,f.length?Y(f).length-p:0);return u.length>1||u[0]||ee(k,b)?(go(i.doc,u,k,b,"+input"),!0):void 0},Us.prototype.ensurePolled=function(){this.forceCompositionEnd()},Us.prototype.reset=function(){this.forceCompositionEnd()},Us.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Us.prototype.readFromDOMSoon=function(){var t=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(t.readDOMTimeout=null,t.composing){if(!t.composing.done)return;t.composing=null}t.updateFromDOM()}),80))},Us.prototype.updateFromDOM=function(){var t=this;!this.cm.isReadOnly()&&this.pollContent()||Ji(this.cm,(function(){return ui(t.cm)}))},Us.prototype.setUneditable=function(t){t.contentEditable="false"},Us.prototype.onKeyPress=function(t){0==t.charCode||this.composing||(t.preventDefault(),this.cm.isReadOnly()||tr(this.cm,Is)(this.cm,String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),0))},Us.prototype.readOnlyChanged=function(t){this.div.contentEditable=String("nocursor"!=t)},Us.prototype.onContextMenu=function(){},Us.prototype.resetPosition=function(){},Us.prototype.needsContentAttribute=!0;var Gs=function(t){this.cm=t,this.prevInput="",this.pollingFast=!1,this.polling=new B,this.hasSelection=!1,this.composing=null};Gs.prototype.init=function(t){var e=this,n=this,i=this.cm;this.createField(t);var r=this.textarea;function o(t){if(!gt(i,t)){if(i.somethingSelected())Ns({lineWise:!1,text:i.getSelections()});else{if(!i.options.lineWiseCopyCut)return;var e=Rs(i);Ns({lineWise:!0,text:e.text}),"cut"==t.type?i.setSelections(e.ranges,null,z):(n.prevInput="",r.value=e.text.join("\n"),R(r))}"cut"==t.type&&(i.state.cutIncoming=+new Date)}}t.wrapper.insertBefore(this.wrapper,t.wrapper.firstChild),g&&(r.style.width="0px"),ut(r,"input",(function(){s&&a>=9&&e.hasSelection&&(e.hasSelection=null),n.poll()})),ut(r,"paste",(function(t){gt(i,t)||Ms(t,i)||(i.state.pasteIncoming=+new Date,n.fastPoll())})),ut(r,"cut",o),ut(r,"copy",o),ut(t.scroller,"paste",(function(e){if(!bn(t,e)&&!gt(i,e)){if(!r.dispatchEvent)return i.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=e.clipboardData,r.dispatchEvent(o)}})),ut(t.lineSpace,"selectstart",(function(e){bn(t,e)||yt(e)})),ut(r,"compositionstart",(function(){var t=i.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:t,range:i.markText(t,i.getCursor("to"),{className:"CodeMirror-composing"})}})),ut(r,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Gs.prototype.createField=function(t){this.wrapper=Ps(),this.textarea=this.wrapper.firstChild},Gs.prototype.screenReaderLabelChanged=function(t){t?this.textarea.setAttribute("aria-label",t):this.textarea.removeAttribute("aria-label")},Gs.prototype.prepareSelection=function(){var t=this.cm,e=t.display,n=t.doc,i=vi(t);if(t.options.moveInputWithCursor){var r=Vn(t,n.sel.primary().head,"div"),o=e.wrapper.getBoundingClientRect(),s=e.lineDiv.getBoundingClientRect();i.teTop=Math.max(0,Math.min(e.wrapper.clientHeight-10,r.top+s.top-o.top)),i.teLeft=Math.max(0,Math.min(e.wrapper.clientWidth-10,r.left+s.left-o.left))}return i},Gs.prototype.showSelection=function(t){var e=this.cm.display;A(e.cursorDiv,t.cursors),A(e.selectionDiv,t.selection),null!=t.teTop&&(this.wrapper.style.top=t.teTop+"px",this.wrapper.style.left=t.teLeft+"px")},Gs.prototype.reset=function(t){if(!this.contextMenuPending&&!this.composing){var e=this.cm;if(e.somethingSelected()){this.prevInput="";var n=e.getSelection();this.textarea.value=n,e.state.focused&&R(this.textarea),s&&a>=9&&(this.hasSelection=n)}else t||(this.prevInput=this.textarea.value="",s&&a>=9&&(this.hasSelection=null))}},Gs.prototype.getField=function(){return this.textarea},Gs.prototype.supportsTouch=function(){return!1},Gs.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!v||I()!=this.textarea))try{this.textarea.focus()}catch(t){}},Gs.prototype.blur=function(){this.textarea.blur()},Gs.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Gs.prototype.receivedFocus=function(){this.slowPoll()},Gs.prototype.slowPoll=function(){var t=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){t.poll(),t.cm.state.focused&&t.slowPoll()}))},Gs.prototype.fastPoll=function(){var t=!1,e=this;e.pollingFast=!0,e.polling.set(20,(function n(){e.poll()||t?(e.pollingFast=!1,e.slowPoll()):(t=!0,e.polling.set(60,n))}))},Gs.prototype.poll=function(){var t=this,e=this.cm,n=this.textarea,i=this.prevInput;if(this.contextMenuPending||!e.state.focused||It(n)&&!i&&!this.composing||e.isReadOnly()||e.options.disableInput||e.state.keySeq)return!1;var r=n.value;if(r==i&&!e.somethingSelected())return!1;if(s&&a>=9&&this.hasSelection===r||_&&/[\uf700-\uf7ff]/.test(r))return e.display.input.reset(),!1;if(e.doc.sel==e.display.selForContextMenu){var o=r.charCodeAt(0);if(8203!=o||i||(i="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,c=Math.min(i.length,r.length);l<c&&i.charCodeAt(l)==r.charCodeAt(l);)++l;return Ji(e,(function(){Is(e,r.slice(l),i.length-l,null,t.composing?"*compose":null),r.length>1e3||r.indexOf("\n")>-1?n.value=t.prevInput="":t.prevInput=r,t.composing&&(t.composing.range.clear(),t.composing.range=e.markText(t.composing.start,e.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},Gs.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Gs.prototype.onKeyPress=function(){s&&a>=9&&(this.hasSelection=null),this.fastPoll()},Gs.prototype.onContextMenu=function(t){var e=this,n=e.cm,i=n.display,r=e.textarea;e.contextMenuPending&&e.contextMenuPending();var o=ci(n,t),c=i.scroller.scrollTop;if(o&&!u){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&tr(n,Jr)(n.doc,wr(o),z);var h,f=r.style.cssText,d=e.wrapper.style.cssText,p=e.wrapper.offsetParent.getBoundingClientRect();if(e.wrapper.style.cssText="position: static",r.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(t.clientY-p.top-5)+"px; left: "+(t.clientX-p.left-5)+"px;\n z-index: 1000; background: "+(s?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(h=window.scrollY),i.input.focus(),l&&window.scrollTo(null,h),i.input.reset(),n.somethingSelected()||(r.value=e.prevInput=" "),e.contextMenuPending=v,i.selForContextMenu=n.doc.sel,clearTimeout(i.detectingSelectAll),s&&a>=9&&m(),T){bt(t);var g=function(){dt(window,"mouseup",g),setTimeout(v,20)};ut(window,"mouseup",g)}else setTimeout(v,50)}function m(){if(null!=r.selectionStart){var t=n.somethingSelected(),o="​"+(t?r.value:"");r.value="⇚",r.value=o,e.prevInput=t?"":"​",r.selectionStart=1,r.selectionEnd=o.length,i.selForContextMenu=n.doc.sel}}function v(){if(e.contextMenuPending==v&&(e.contextMenuPending=!1,e.wrapper.style.cssText=d,r.style.cssText=f,s&&a<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=c),null!=r.selectionStart)){(!s||s&&a<9)&&m();var t=0,o=function(){i.selForContextMenu==n.doc.sel&&0==r.selectionStart&&r.selectionEnd>0&&"​"==e.prevInput?tr(n,ao)(n):t++<10?i.detectingSelectAll=setTimeout(o,500):(i.selForContextMenu=null,i.input.reset())};i.detectingSelectAll=setTimeout(o,200)}}},Gs.prototype.readOnlyChanged=function(t){t||this.reset(),this.textarea.disabled="nocursor"==t,this.textarea.readOnly=!!t},Gs.prototype.setUneditable=function(){},Gs.prototype.needsContentAttribute=!1,function(t){var e=t.optionHandlers;function n(n,i,r,o){t.defaults[n]=i,r&&(e[n]=o?function(t,e,n){n!=bs&&r(t,e,n)}:r)}t.defineOption=n,t.Init=bs,n("value","",(function(t,e){return t.setValue(e)}),!0),n("mode",null,(function(t,e){t.doc.modeOption=e,Or(t)}),!0),n("indentUnit",2,Or,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(t){Nr(t),Un(t),ui(t)}),!0),n("lineSeparator",null,(function(t,e){if(t.doc.lineSep=e,e){var n=[],i=t.doc.first;t.doc.iter((function(t){for(var r=0;;){var o=t.text.indexOf(e,r);if(-1==o)break;r=o+e.length,n.push(te(i,o))}i++}));for(var r=n.length-1;r>=0;r--)go(t.doc,e,n[r],te(n[r].line,n[r].ch+e.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(t,e,n){t.state.specialChars=new RegExp(e.source+(e.test("\t")?"":"|\t"),"g"),n!=bs&&t.refresh()})),n("specialCharPlaceholder",Ze,(function(t){return t.refresh()}),!0),n("electricChars",!0),n("inputStyle",v?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(t,e){return t.getInputField().spellcheck=e}),!0),n("autocorrect",!1,(function(t,e){return t.getInputField().autocorrect=e}),!0),n("autocapitalize",!1,(function(t,e){return t.getInputField().autocapitalize=e}),!0),n("rtlMoveVisually",!x),n("wholeLineUpdateBefore",!0),n("theme","default",(function(t){ks(t),gr(t)}),!0),n("keyMap","default",(function(t,e,n){var i=Xo(e),r=n!=bs&&Xo(n);r&&r.detach&&r.detach(t,i),i.attach&&i.attach(t,r||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Es,!0),n("gutters",[],(function(t,e){t.display.gutterSpecs=dr(e,t.options.lineNumbers),gr(t)}),!0),n("fixedGutter",!0,(function(t,e){t.display.gutters.style.left=e?si(t.display)+"px":"0",t.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(t){return Hi(t)}),!0),n("scrollbarStyle","native",(function(t){ji(t),Hi(t),t.display.scrollbars.setScrollTop(t.doc.scrollTop),t.display.scrollbars.setScrollLeft(t.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(t,e){t.display.gutterSpecs=dr(t.options.gutters,e),gr(t)}),!0),n("firstLineNumber",1,gr,!0),n("lineNumberFormatter",(function(t){return t}),gr,!0),n("showCursorWhenSelecting",!1,mi,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(t,e){"nocursor"==e&&(wi(t),t.display.input.blur()),t.display.input.readOnlyChanged(e)})),n("screenReaderLabel",null,(function(t,e){e=""===e?null:e,t.display.input.screenReaderLabelChanged(e)})),n("disableInput",!1,(function(t,e){e||t.display.input.reset()}),!0),n("dragDrop",!0,ws),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,mi,!0),n("singleCursorHeightPerLine",!0,mi,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Nr,!0),n("addModeClass",!1,Nr,!0),n("pollInterval",100),n("undoDepth",200,(function(t,e){return t.doc.history.undoDepth=e})),n("historyEventDelay",1250),n("viewportMargin",10,(function(t){return t.refresh()}),!0),n("maxHighlightLength",1e4,Nr,!0),n("moveInputWithCursor",!0,(function(t,e){e||t.display.input.resetPosition()})),n("tabindex",null,(function(t,e){return t.display.input.getField().tabIndex=e||""})),n("autofocus",null),n("direction","ltr",(function(t,e){return t.doc.setDirection(e)}),!0),n("phrases",null)}(Ss),function(t){var e=t.optionHandlers,n=t.helpers={};t.prototype={constructor:t,focus:function(){window.focus(),this.display.input.focus()},setOption:function(t,n){var i=this.options,r=i[t];i[t]==n&&"mode"!=t||(i[t]=n,e.hasOwnProperty(t)&&tr(this,e[t])(this,n,r),pt(this,"optionChange",this,t))},getOption:function(t){return this.options[t]},getDoc:function(){return this.doc},addKeyMap:function(t,e){this.state.keyMaps[e?"push":"unshift"](Xo(t))},removeKeyMap:function(t){for(var e=this.state.keyMaps,n=0;n<e.length;++n)if(e[n]==t||e[n].name==t)return e.splice(n,1),!0},addOverlay:er((function(e,n){var i=e.token?e:t.getMode(this.options,e);if(i.startState)throw new Error("Overlays may not be stateful.");!function(t,e,n){for(var i=0,r=n(e);i<t.length&&n(t[i])<=r;)i++;t.splice(i,0,e)}(this.state.overlays,{mode:i,modeSpec:e,opaque:n&&n.opaque,priority:n&&n.priority||0},(function(t){return t.priority})),this.state.modeGen++,ui(this)})),removeOverlay:er((function(t){for(var e=this.state.overlays,n=0;n<e.length;++n){var i=e[n].modeSpec;if(i==t||"string"==typeof t&&i.name==t)return e.splice(n,1),this.state.modeGen++,void ui(this)}})),indentLine:er((function(t,e,n){"string"!=typeof e&&"number"!=typeof e&&(e=null==e?this.options.smartIndent?"smart":"prev":e?"add":"subtract"),Zt(this.doc,t)&&Ls(this,t,e,n)})),indentSelection:er((function(t){for(var e=this.doc.sel.ranges,n=-1,i=0;i<e.length;i++){var r=e[i];if(r.empty())r.head.line>n&&(Ls(this,r.head.line,t,!0),n=r.head.line,i==this.doc.sel.primIndex&&Ni(this));else{var o=r.from(),s=r.to(),a=Math.max(n,o.line);n=Math.min(this.lastLine(),s.line-(s.ch?0:1))+1;for(var l=a;l<n;++l)Ls(this,l,t);var c=this.doc.sel.ranges;0==o.ch&&e.length==c.length&&c[i].from().ch>0&&Xr(this.doc,i,new Tr(o,c[i].to()),z)}}})),getTokenAt:function(t,e){return _e(this,t,e)},getLineTokens:function(t,e){return _e(this,te(t),e,!0)},getTokenTypeAt:function(t){t=ae(this.doc,t);var e,n=fe(this,qt(this.doc,t.line)),i=0,r=(n.length-1)/2,o=t.ch;if(0==o)e=n[2];else for(;;){var s=i+r>>1;if((s?n[2*s-1]:0)>=o)r=s;else{if(!(n[2*s+1]<o)){e=n[2*s+2];break}i=s+1}}var a=e?e.indexOf("overlay "):-1;return a<0?e:0==a?null:e.slice(0,a-1)},getModeAt:function(e){var n=this.doc.mode;return n.innerMode?t.innerMode(n,this.getTokenAt(e).state).mode:n},getHelper:function(t,e){return this.getHelpers(t,e)[0]},getHelpers:function(t,e){var i=[];if(!n.hasOwnProperty(e))return i;var r=n[e],o=this.getModeAt(t);if("string"==typeof o[e])r[o[e]]&&i.push(r[o[e]]);else if(o[e])for(var s=0;s<o[e].length;s++){var a=r[o[e][s]];a&&i.push(a)}else o.helperType&&r[o.helperType]?i.push(r[o.helperType]):r[o.name]&&i.push(r[o.name]);for(var l=0;l<r._global.length;l++){var c=r._global[l];c.pred(o,this)&&-1==U(i,c.val)&&i.push(c.val)}return i},getStateAfter:function(t,e){var n=this.doc;return de(this,(t=se(n,null==t?n.first+n.size-1:t))+1,e).state},cursorCoords:function(t,e){var n=this.doc.sel.primary();return Vn(this,null==t?n.head:"object"==typeof t?ae(this.doc,t):t?n.from():n.to(),e||"page")},charCoords:function(t,e){return qn(this,ae(this.doc,t),e||"page")},coordsChar:function(t,e){return Xn(this,(t=Gn(this,t,e||"page")).left,t.top)},lineAtHeight:function(t,e){return t=Gn(this,{top:t,left:0},e||"page").top,Qt(this.doc,t+this.display.viewOffset)},heightAtLine:function(t,e,n){var i,r=!1;if("number"==typeof t){var o=this.doc.first+this.doc.size-1;t<this.doc.first?t=this.doc.first:t>o&&(t=o,r=!0),i=qt(this.doc,t)}else i=t;return jn(this,i,{top:0,left:0},e||"page",n||r).top+(r?this.doc.height-We(i):0)},defaultTextHeight:function(){return ii(this.display)},defaultCharWidth:function(){return ri(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(t,e,n,i,r){var o,s,a,l=this.display,c=(t=Vn(this,ae(this.doc,t))).bottom,h=t.left;if(e.style.position="absolute",e.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(e),l.sizer.appendChild(e),"over"==i)c=t.top;else if("above"==i||"near"==i){var u=Math.max(l.wrapper.clientHeight,this.doc.height),f=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==i||t.bottom+e.offsetHeight>u)&&t.top>e.offsetHeight?c=t.top-e.offsetHeight:t.bottom+e.offsetHeight<=u&&(c=t.bottom),h+e.offsetWidth>f&&(h=f-e.offsetWidth)}e.style.top=c+"px",e.style.left=e.style.right="","right"==r?(h=l.sizer.clientWidth-e.offsetWidth,e.style.right="0px"):("left"==r?h=0:"middle"==r&&(h=(l.sizer.clientWidth-e.offsetWidth)/2),e.style.left=h+"px"),n&&(o=this,s={left:h,top:c,right:h+e.offsetWidth,bottom:c+e.offsetHeight},null!=(a=Li(o,s)).scrollTop&&Ri(o,a.scrollTop),null!=a.scrollLeft&&Pi(o,a.scrollLeft))},triggerOnKeyDown:er(hs),triggerOnKeyPress:er(fs),triggerOnKeyUp:us,triggerOnMouseDown:er(ms),execCommand:function(t){if(es.hasOwnProperty(t))return es[t].call(null,this)},triggerElectric:er((function(t){$s(this,t)})),findPosH:function(t,e,n,i){var r=1;e<0&&(r=-1,e=-e);for(var o=ae(this.doc,t),s=0;s<e&&!(o=Fs(this.doc,o,r,n,i)).hitSide;++s);return o},moveH:er((function(t,e){var n=this;this.extendSelectionsBy((function(i){return n.display.shift||n.doc.extend||i.empty()?Fs(n.doc,i.head,t,e,n.options.rtlMoveVisually):t<0?i.from():i.to()}),j)})),deleteH:er((function(t,e){var n=this.doc.sel,i=this.doc;n.somethingSelected()?i.replaceSelection("",null,"+delete"):Qo(this,(function(n){var r=Fs(i,n.head,t,e,!1);return t<0?{from:r,to:n.head}:{from:n.head,to:r}}))})),findPosV:function(t,e,n,i){var r=1,o=i;e<0&&(r=-1,e=-e);for(var s=ae(this.doc,t),a=0;a<e;++a){var l=Vn(this,s,"div");if(null==o?o=l.left:l.left=o,(s=Bs(this,l,r,n)).hitSide)break}return s},moveV:er((function(t,e){var n=this,i=this.doc,r=[],o=!this.display.shift&&!i.extend&&i.sel.somethingSelected();if(i.extendSelectionsBy((function(s){if(o)return t<0?s.from():s.to();var a=Vn(n,s.head,"div");null!=s.goalColumn&&(a.left=s.goalColumn),r.push(a.left);var l=Bs(n,a,t,e);return"page"==e&&s==i.sel.primary()&&Oi(n,qn(n,l,"div").top-a.top),l}),j),r.length)for(var s=0;s<i.sel.ranges.length;s++)i.sel.ranges[s].goalColumn=r[s]})),findWordAt:function(t){var e=qt(this.doc,t.line).text,n=t.ch,i=t.ch;if(e){var r=this.getHelper(t,"wordChars");"before"!=t.sticky&&i!=e.length||!n?++i:--n;for(var o=e.charAt(n),s=tt(o,r)?function(t){return tt(t,r)}:/\s/.test(o)?function(t){return/\s/.test(t)}:function(t){return!/\s/.test(t)&&!tt(t)};n>0&&s(e.charAt(n-1));)--n;for(;i<e.length&&s(e.charAt(i));)++i}return new Tr(te(t.line,n),te(t.line,i))},toggleOverwrite:function(t){null!=t&&t==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?M(this.display.cursorDiv,"CodeMirror-overwrite"):E(this.display.cursorDiv,"CodeMirror-overwrite"),pt(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==I()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:er((function(t,e){Ii(this,t,e)})),getScrollInfo:function(){var t=this.display.scroller;return{left:t.scrollLeft,top:t.scrollTop,height:t.scrollHeight-En(this)-this.display.barHeight,width:t.scrollWidth-En(this)-this.display.barWidth,clientHeight:An(this),clientWidth:Sn(this)}},scrollIntoView:er((function(t,e){null==t?(t={from:this.doc.sel.primary().head,to:null},null==e&&(e=this.options.cursorScrollMargin)):"number"==typeof t?t={from:te(t,0),to:null}:null==t.from&&(t={from:t,to:null}),t.to||(t.to=t.from),t.margin=e||0,null!=t.from.line?function(t,e){Mi(t),t.curOp.scrollToPos=e}(this,t):$i(this,t.from,t.to,t.margin)})),setSize:er((function(t,e){var n=this,i=function(t){return"number"==typeof t||/^\d+$/.test(String(t))?t+"px":t};null!=t&&(this.display.wrapper.style.width=i(t)),null!=e&&(this.display.wrapper.style.height=i(e)),this.options.lineWrapping&&Bn(this);var r=this.display.viewFrom;this.doc.iter(r,this.display.viewTo,(function(t){if(t.widgets)for(var e=0;e<t.widgets.length;e++)if(t.widgets[e].noHScroll){fi(n,r,"widget");break}++r})),this.curOp.forceUpdate=!0,pt(this,"refresh",this)})),operation:function(t){return Ji(this,t)},startOperation:function(){return qi(this)},endOperation:function(){return Vi(this)},refresh:er((function(){var t=this.display.cachedTextHeight;ui(this),this.curOp.forceUpdate=!0,Un(this),Ii(this,this.doc.scrollLeft,this.doc.scrollTop),cr(this.display),(null==t||Math.abs(t-ii(this.display))>.5||this.options.lineWrapping)&&li(this),pt(this,"refresh",this)})),swapDoc:er((function(t){var e=this.doc;return e.cm=null,this.state.selectingText&&this.state.selectingText(),Rr(this,t),Un(this),this.display.input.reset(),Ii(this,t.scrollLeft,t.scrollTop),this.curOp.forceScroll=!0,ln(this,"swapDoc",this,e),e})),phrase:function(t){var e=this.options.phrases;return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:t},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},_t(t),t.registerHelper=function(e,i,r){n.hasOwnProperty(e)||(n[e]=t[e]={_global:[]}),n[e][i]=r},t.registerGlobalHelper=function(e,i,r,o){t.registerHelper(e,i,o),n[e]._global.push({pred:r,val:o})}}(Ss);var qs="iter insert remove copy getEditor constructor".split(" ");for(var Vs in No.prototype)No.prototype.hasOwnProperty(Vs)&&U(qs,Vs)<0&&(Ss.prototype[Vs]=function(t){return function(){return t.apply(this.doc,arguments)}}(No.prototype[Vs]));return _t(No),Ss.inputStyles={textarea:Gs,contenteditable:Us},Ss.defineMode=function(t){Ss.defaults.mode||"null"==t||(Ss.defaults.mode=t),Pt.apply(this,arguments)},Ss.defineMIME=function(t,e){Dt[t]=e},Ss.defineMode("null",(function(){return{token:function(t){return t.skipToEnd()}}})),Ss.defineMIME("text/plain","null"),Ss.defineExtension=function(t,e){Ss.prototype[t]=e},Ss.defineDocExtension=function(t,e){No.prototype[t]=e},Ss.fromTextArea=function(t,e){if((e=e?P(e):{}).value=t.value,!e.tabindex&&t.tabIndex&&(e.tabindex=t.tabIndex),!e.placeholder&&t.placeholder&&(e.placeholder=t.placeholder),null==e.autofocus){var n=I();e.autofocus=n==t||null!=t.getAttribute("autofocus")&&n==document.body}function i(){t.value=a.getValue()}var r;if(t.form&&(ut(t.form,"submit",i),!e.leaveSubmitMethodAlone)){var o=t.form;r=o.submit;try{var s=o.submit=function(){i(),o.submit=r,o.submit(),o.submit=s}}catch(t){}}e.finishInit=function(n){n.save=i,n.getTextArea=function(){return t},n.toTextArea=function(){n.toTextArea=isNaN,i(),t.parentNode.removeChild(n.getWrapperElement()),t.style.display="",t.form&&(dt(t.form,"submit",i),e.leaveSubmitMethodAlone||"function"!=typeof t.form.submit||(t.form.submit=r))}},t.style.display="none";var a=Ss((function(e){return t.parentNode.insertBefore(e,t.nextSibling)}),e);return a},function(t){t.off=dt,t.on=ut,t.wheelEventPixels=xr,t.Doc=No,t.splitLines=Nt,t.countColumn=F,t.findColumn=G,t.isWordChar=J,t.Pass=H,t.signal=pt,t.Line=qe,t.changeEnd=Er,t.scrollbarModel=Wi,t.Pos=te,t.cmpPos=ee,t.modes=Rt,t.mimeModes=Dt,t.resolveMode=Ft,t.getMode=Bt,t.modeExtensions=Ut,t.extendMode=Ht,t.copyState=zt,t.startState=jt,t.innerMode=Wt,t.commands=es,t.keyMap=Wo,t.keyName=Ko,t.isModifierKey=Vo,t.lookupKey=qo,t.normalizeKeyMap=Go,t.StringStream=Gt,t.SharedTextMarker=So,t.TextMarker=wo,t.LineWidget=bo,t.e_preventDefault=yt,t.e_stopPropagation=xt,t.e_stop=bt,t.addClass=M,t.contains=N,t.rmClass=E,t.keyNames=Bo}(Ss),Ss.version="5.62.3",Ss},"object"==typeof n&&void 0!==e?e.exports=r():"function"==typeof define&&define.amd?define(r):(i=i||self).CodeMirror=r()},{}],14:[function(t,e,n){var i;i=function(t){"use strict";function e(t,e,n,i,r,o){this.indented=t,this.column=e,this.type=n,this.info=i,this.align=r,this.prev=o}function n(t,n,i,r){var o=t.indented;return t.context&&"statement"==t.context.type&&"statement"!=i&&(o=t.context.indented),t.context=new e(o,n,i,r,null,t.context)}function i(t){var e=t.context.type;return")"!=e&&"]"!=e&&"}"!=e||(t.indented=t.context.indented),t.context=t.context.prev}function r(t,e,n){return"variable"==e.prevToken||"type"==e.prevToken||!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(t.string.slice(0,n))||!(!e.typeAtEndOfLine||t.column()!=t.indentation())||void 0}function o(t){for(;;){if(!t||"top"==t.type)return!0;if("}"==t.type&&"namespace"!=t.prev.info)return!1;t=t.prev}}function s(t){for(var e={},n=t.split(" "),i=0;i<n.length;++i)e[n[i]]=!0;return e}function a(t,e){return"function"==typeof t?t(e):t.propertyIsEnumerable(e)}t.defineMode("clike",(function(s,l){var c,h,u=s.indentUnit,f=l.statementIndentUnit||u,d=l.dontAlignCalls,p=l.keywords||{},g=l.types||{},m=l.builtin||{},v=l.blockKeywords||{},_=l.defKeywords||{},y=l.atoms||{},x=l.hooks||{},k=l.multiLineStrings,b=!1!==l.indentStatements,T=!1!==l.indentSwitch,C=l.namespaceSeparator,w=l.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=l.numberStart||/[\d\.]/,S=l.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,A=l.isOperatorChar||/[+\-*&%=<>!?|\/]/,L=l.isIdentifierChar||/[\w\$_\xa1-\uffff]/,O=l.isReservedIdentifier||!1;function N(t,e){var n,i=t.next();if(x[i]){var r=x[i](t,e);if(!1!==r)return r}if('"'==i||"'"==i)return e.tokenize=(n=i,function(t,e){for(var i,r=!1,o=!1;null!=(i=t.next());){if(i==n&&!r){o=!0;break}r=!r&&"\\"==i}return(o||!r&&!k)&&(e.tokenize=null),"string"}),e.tokenize(t,e);if(E.test(i)){if(t.backUp(1),t.match(S))return"number";t.next()}if(w.test(i))return c=i,null;if("/"==i){if(t.eat("*"))return e.tokenize=I,I(t,e);if(t.eat("/"))return t.skipToEnd(),"comment"}if(A.test(i)){for(;!t.match(/^\/[\/*]/,!1)&&t.eat(A););return"operator"}if(t.eatWhile(L),C)for(;t.match(C);)t.eatWhile(L);var o=t.current();return a(p,o)?(a(v,o)&&(c="newstatement"),a(_,o)&&(h=!0),"keyword"):a(g,o)?"type":a(m,o)||O&&O(o)?(a(v,o)&&(c="newstatement"),"builtin"):a(y,o)?"atom":"variable"}function I(t,e){for(var n,i=!1;n=t.next();){if("/"==n&&i){e.tokenize=null;break}i="*"==n}return"comment"}function M(t,e){l.typeFirstDefinitions&&t.eol()&&o(e.context)&&(e.typeAtEndOfLine=r(t,e,t.pos))}return{startState:function(t){return{tokenize:null,context:new e((t||0)-u,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(t,e){var s=e.context;if(t.sol()&&(null==s.align&&(s.align=!1),e.indented=t.indentation(),e.startOfLine=!0),t.eatSpace())return M(t,e),null;c=h=null;var a=(e.tokenize||N)(t,e);if("comment"==a||"meta"==a)return a;if(null==s.align&&(s.align=!0),";"==c||":"==c||","==c&&t.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==e.context.type;)i(e);else if("{"==c)n(e,t.column(),"}");else if("["==c)n(e,t.column(),"]");else if("("==c)n(e,t.column(),")");else if("}"==c){for(;"statement"==s.type;)s=i(e);for("}"==s.type&&(s=i(e));"statement"==s.type;)s=i(e)}else c==s.type?i(e):b&&(("}"==s.type||"top"==s.type)&&";"!=c||"statement"==s.type&&"newstatement"==c)&&n(e,t.column(),"statement",t.current());if("variable"==a&&("def"==e.prevToken||l.typeFirstDefinitions&&r(t,e,t.start)&&o(e.context)&&t.match(/^\s*\(/,!1))&&(a="def"),x.token){var u=x.token(t,e,a);void 0!==u&&(a=u)}return"def"==a&&!1===l.styleDefs&&(a="variable"),e.startOfLine=!1,e.prevToken=h?"def":a||c,M(t,e),a},indent:function(e,n){if(e.tokenize!=N&&null!=e.tokenize||e.typeAtEndOfLine)return t.Pass;var i=e.context,r=n&&n.charAt(0),o=r==i.type;if("statement"==i.type&&"}"==r&&(i=i.prev),l.dontIndentStatements)for(;"statement"==i.type&&l.dontIndentStatements.test(i.info);)i=i.prev;if(x.indent){var s=x.indent(e,i,n,u);if("number"==typeof s)return s}var a=i.prev&&"switch"==i.prev.info;if(l.allmanIndentation&&/[{(]/.test(r)){for(;"top"!=i.type&&"}"!=i.type;)i=i.prev;return i.indented}return"statement"==i.type?i.indented+("{"==r?0:f):!i.align||d&&")"==i.type?")"!=i.type||o?i.indented+(o?0:u)+(o||!a||/^(?:case|default)\b/.test(n)?0:u):i.indented+f:i.column+(o?0:1)},electricInput:T?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}}));var l="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",c="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",h="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",u="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",f=s("int long char short double float unsigned signed void bool"),d=s("SEL instancetype id Class Protocol BOOL");function p(t){return a(f,t)||/.+_t$/.test(t)}function g(t){return p(t)||a(d,t)}var m="case do else for if switch while struct enum union",v="struct enum union";function _(t,e){if(!e.startOfLine)return!1;for(var n,i=null;n=t.peek();){if("\\"==n&&t.match(/^.$/)){i=_;break}if("/"==n&&t.match(/^\/[\/\*]/,!1))break;t.next()}return e.tokenize=i,"meta"}function y(t,e){return"type"==e.prevToken&&"type"}function x(t){return!(!t||t.length<2||"_"!=t[0]||"_"!=t[1]&&t[1]===t[1].toLowerCase())}function k(t){return t.eatWhile(/[\w\.']/),"number"}function b(t,e){if(t.backUp(1),t.match(/^(?:R|u8R|uR|UR|LR)/)){var n=t.match(/^"([^\s\\()]{0,16})\(/);return!!n&&(e.cpp11RawStringDelim=n[1],e.tokenize=w,w(t,e))}return t.match(/^(?:u8|u|U|L)/)?!!t.match(/^["']/,!1)&&"string":(t.next(),!1)}function T(t){var e=/(\w+)::~?(\w+)$/.exec(t);return e&&e[1]==e[2]}function C(t,e){for(var n;null!=(n=t.next());)if('"'==n&&!t.eat('"')){e.tokenize=null;break}return"string"}function w(t,e){var n=e.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&");return t.match(new RegExp(".*?\\)"+n+'"'))?e.tokenize=null:t.skipToEnd(),"string"}function E(e,n){"string"==typeof e&&(e=[e]);var i=[];function r(t){if(t)for(var e in t)t.hasOwnProperty(e)&&i.push(e)}r(n.keywords),r(n.types),r(n.builtin),r(n.atoms),i.length&&(n.helperType=e[0],t.registerHelper("hintWords",e[0],i));for(var o=0;o<e.length;++o)t.defineMIME(e[o],n)}function S(t,e){for(var n=!1;!t.eol();){if(!n&&t.match('"""')){e.tokenize=null;break}n="\\"==t.next()&&!n}return"string"}function A(t){return function(e,n){for(var i;i=e.next();){if("*"==i&&e.eat("/")){if(1==t){n.tokenize=null;break}return n.tokenize=A(t-1),n.tokenize(e,n)}if("/"==i&&e.eat("*"))return n.tokenize=A(t+1),n.tokenize(e,n)}return"comment"}}E(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:s(l),types:p,blockKeywords:s(m),defKeywords:s(v),typeFirstDefinitions:!0,atoms:s("NULL true false"),isReservedIdentifier:x,hooks:{"#":_,"*":y},modeProps:{fold:["brace","include"]}}),E(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:s(l+" "+c),types:p,blockKeywords:s(m+" class try catch"),defKeywords:s(v+" class namespace"),typeFirstDefinitions:!0,atoms:s("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:x,hooks:{"#":_,"*":y,u:b,U:b,L:b,R:b,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(t,e,n){if("variable"==n&&"("==t.peek()&&(";"==e.prevToken||null==e.prevToken||"}"==e.prevToken)&&T(t.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),E("text/x-java",{name:"clike",keywords:s("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:s("var byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:s("catch class do else finally for if switch try while"),defKeywords:s("class interface enum @interface"),typeFirstDefinitions:!0,atoms:s("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(t){return!t.match("interface",!1)&&(t.eatWhile(/[\w\$_]/),"meta")}},modeProps:{fold:["brace","import"]}}),E("text/x-csharp",{name:"clike",keywords:s("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:s("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:s("catch class do else finally for foreach if struct switch try while"),defKeywords:s("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:s("true false null"),hooks:{"@":function(t,e){return t.eat('"')?(e.tokenize=C,C(t,e)):(t.eatWhile(/[\w\$_]/),"meta")}}}),E("text/x-scala",{name:"clike",keywords:s("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:s("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:s("catch class enum do else finally for forSome if match switch try while"),defKeywords:s("class enum def object package trait type val var"),atoms:s("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},'"':function(t,e){return!!t.match('""')&&(e.tokenize=S,e.tokenize(t,e))},"'":function(t){return t.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(t,n){var i=n.context;return!("}"!=i.type||!i.align||!t.eat(">"))&&(n.context=new e(i.indented,i.column,i.type,i.info,null,i.prev),"operator")},"/":function(t,e){return!!t.eat("*")&&(e.tokenize=A(1),e.tokenize(t,e))}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}}),E("text/x-kotlin",{name:"clike",keywords:s("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:s("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:s("catch class do else finally for if where try while enum"),defKeywords:s("class val var object interface fun"),atoms:s("true false null this"),hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},"*":function(t,e){return"."==e.prevToken?"variable":"operator"},'"':function(t,e){var n;return e.tokenize=(n=t.match('""'),function(t,e){for(var i,r=!1,o=!1;!t.eol();){if(!n&&!r&&t.match('"')){o=!0;break}if(n&&t.match('"""')){o=!0;break}i=t.next(),!r&&"$"==i&&t.match("{")&&t.skipTo("}"),r=!r&&"\\"==i&&!n}return!o&&n||(e.tokenize=null),"string"}),e.tokenize(t,e)},"/":function(t,e){return!!t.eat("*")&&(e.tokenize=A(1),e.tokenize(t,e))},indent:function(t,e,n,i){var r=n&&n.charAt(0);return"}"!=t.prevToken&&")"!=t.prevToken||""!=n?"operator"==t.prevToken&&"}"!=n&&"}"!=t.context.type||"variable"==t.prevToken&&"."==r||("}"==t.prevToken||")"==t.prevToken)&&"."==r?2*i+e.indented:e.align&&"}"==e.type?e.indented+(t.context.type==(n||"").charAt(0)?0:i):void 0:t.indented}},modeProps:{closeBrackets:{triples:'"'}}}),E(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:s("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:s("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:s("for while do if else struct"),builtin:s("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:s("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":_},modeProps:{fold:["brace","include"]}}),E("text/x-nesc",{name:"clike",keywords:s(l+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:p,blockKeywords:s(m),atoms:s("null true false"),hooks:{"#":_},modeProps:{fold:["brace","include"]}}),E("text/x-objectivec",{name:"clike",keywords:s(l+" "+h),types:g,builtin:s(u),blockKeywords:s(m+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:s(v+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:s("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:x,hooks:{"#":_,"*":y},modeProps:{fold:["brace","include"]}}),E("text/x-objectivec++",{name:"clike",keywords:s(l+" "+h+" "+c),types:g,builtin:s(u),blockKeywords:s(m+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:s(v+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:s("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:x,hooks:{"#":_,"*":y,u:b,U:b,L:b,R:b,0:k,1:k,2:k,3:k,4:k,5:k,6:k,7:k,8:k,9:k,token:function(t,e,n){if("variable"==n&&"("==t.peek()&&(";"==e.prevToken||null==e.prevToken||"}"==e.prevToken)&&T(t.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),E("text/x-squirrel",{name:"clike",keywords:s("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:p,blockKeywords:s("case catch class else for foreach if switch try while"),defKeywords:s("function local class"),typeFirstDefinitions:!0,atoms:s("true false null"),hooks:{"#":_},modeProps:{fold:["brace","include"]}});var L=null;function O(t){return function(e,n){for(var i,r=!1,o=!1;!e.eol();){if(!r&&e.match('"')&&("single"==t||e.match('""'))){o=!0;break}if(!r&&e.match("``")){L=O(t),o=!0;break}i=e.next(),r="single"==t&&!r&&"\\"==i}return o&&(n.tokenize=null),"string"}}E("text/x-ceylon",{name:"clike",keywords:s("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(t){var e=t.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:s("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:s("class dynamic function interface module object package value"),builtin:s("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:s("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},'"':function(t,e){return e.tokenize=O(t.match('""')?"triple":"single"),e.tokenize(t,e)},"`":function(t,e){return!(!L||!t.match("`"))&&(e.tokenize=L,L=null,e.tokenize(t,e))},"'":function(t){return t.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(t,e,n){if(("variable"==n||"type"==n)&&"."==e.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],15:[function(t,e,n){var i;i=function(t){"use strict";function e(t){for(var e={},n=0;n<t.length;++n)e[t[n].toLowerCase()]=!0;return e}t.defineMode("css",(function(e,n){var i=n.inline;n.propertyKeywords||(n=t.resolveMode("text/css"));var r,o,s=e.indentUnit,a=n.tokenHooks,l=n.documentTypes||{},c=n.mediaTypes||{},h=n.mediaFeatures||{},u=n.mediaValueKeywords||{},f=n.propertyKeywords||{},d=n.nonStandardPropertyKeywords||{},p=n.fontProperties||{},g=n.counterDescriptors||{},m=n.colorKeywords||{},v=n.valueKeywords||{},_=n.allowNested,y=n.lineComment,x=!0===n.supportsAtComponent,k=!1!==e.highlightNonStandardPropertyKeywords;function b(t,e){return r=e,t}function T(t,e){var n=t.next();if(a[n]){var i=a[n](t,e);if(!1!==i)return i}return"@"==n?(t.eatWhile(/[\w\\\-]/),b("def",t.current())):"="==n||("~"==n||"|"==n)&&t.eat("=")?b(null,"compare"):'"'==n||"'"==n?(e.tokenize=C(n),e.tokenize(t,e)):"#"==n?(t.eatWhile(/[\w\\\-]/),b("atom","hash")):"!"==n?(t.match(/^\s*\w*/),b("keyword","important")):/\d/.test(n)||"."==n&&t.eat(/\d/)?(t.eatWhile(/[\w.%]/),b("number","unit")):"-"!==n?/[,+>*\/]/.test(n)?b(null,"select-op"):"."==n&&t.match(/^-?[_a-z][_a-z0-9-]*/i)?b("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(n)?b(null,n):t.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(t.current())&&(e.tokenize=w),b("variable callee","variable")):/[\w\\\-]/.test(n)?(t.eatWhile(/[\w\\\-]/),b("property","word")):b(null,null):/[\d.]/.test(t.peek())?(t.eatWhile(/[\w.%]/),b("number","unit")):t.match(/^-[\w\\\-]*/)?(t.eatWhile(/[\w\\\-]/),t.match(/^\s*:/,!1)?b("variable-2","variable-definition"):b("variable-2","variable")):t.match(/^\w+-/)?b("meta","meta"):void 0}function C(t){return function(e,n){for(var i,r=!1;null!=(i=e.next());){if(i==t&&!r){")"==t&&e.backUp(1);break}r=!r&&"\\"==i}return(i==t||!r&&")"!=t)&&(n.tokenize=null),b("string","string")}}function w(t,e){return t.next(),t.match(/^\s*[\"\')]/,!1)?e.tokenize=null:e.tokenize=C(")"),b(null,"(")}function E(t,e,n){this.type=t,this.indent=e,this.prev=n}function S(t,e,n,i){return t.context=new E(n,e.indentation()+(!1===i?0:s),t.context),n}function A(t){return t.context.prev&&(t.context=t.context.prev),t.context.type}function L(t,e,n){return I[n.context.type](t,e,n)}function O(t,e,n,i){for(var r=i||1;r>0;r--)n.context=n.context.prev;return L(t,e,n)}function N(t){var e=t.current().toLowerCase();o=v.hasOwnProperty(e)?"atom":m.hasOwnProperty(e)?"keyword":"variable"}var I={top:function(t,e,n){if("{"==t)return S(n,e,"block");if("}"==t&&n.context.prev)return A(n);if(x&&/@component/i.test(t))return S(n,e,"atComponentBlock");if(/^@(-moz-)?document$/i.test(t))return S(n,e,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(t))return S(n,e,"atBlock");if(/^@(font-face|counter-style)/i.test(t))return n.stateArg=t,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(t))return"keyframes";if(t&&"@"==t.charAt(0))return S(n,e,"at");if("hash"==t)o="builtin";else if("word"==t)o="tag";else{if("variable-definition"==t)return"maybeprop";if("interpolation"==t)return S(n,e,"interpolation");if(":"==t)return"pseudo";if(_&&"("==t)return S(n,e,"parens")}return n.context.type},block:function(t,e,n){if("word"==t){var i=e.current().toLowerCase();return f.hasOwnProperty(i)?(o="property","maybeprop"):d.hasOwnProperty(i)?(o=k?"string-2":"property","maybeprop"):_?(o=e.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(o+=" error","maybeprop")}return"meta"==t?"block":_||"hash"!=t&&"qualifier"!=t?I.top(t,e,n):(o="error","block")},maybeprop:function(t,e,n){return":"==t?S(n,e,"prop"):L(t,e,n)},prop:function(t,e,n){if(";"==t)return A(n);if("{"==t&&_)return S(n,e,"propBlock");if("}"==t||"{"==t)return O(t,e,n);if("("==t)return S(n,e,"parens");if("hash"!=t||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(e.current())){if("word"==t)N(e);else if("interpolation"==t)return S(n,e,"interpolation")}else o+=" error";return"prop"},propBlock:function(t,e,n){return"}"==t?A(n):"word"==t?(o="property","maybeprop"):n.context.type},parens:function(t,e,n){return"{"==t||"}"==t?O(t,e,n):")"==t?A(n):"("==t?S(n,e,"parens"):"interpolation"==t?S(n,e,"interpolation"):("word"==t&&N(e),"parens")},pseudo:function(t,e,n){return"meta"==t?"pseudo":"word"==t?(o="variable-3",n.context.type):L(t,e,n)},documentTypes:function(t,e,n){return"word"==t&&l.hasOwnProperty(e.current())?(o="tag",n.context.type):I.atBlock(t,e,n)},atBlock:function(t,e,n){if("("==t)return S(n,e,"atBlock_parens");if("}"==t||";"==t)return O(t,e,n);if("{"==t)return A(n)&&S(n,e,_?"block":"top");if("interpolation"==t)return S(n,e,"interpolation");if("word"==t){var i=e.current().toLowerCase();o="only"==i||"not"==i||"and"==i||"or"==i?"keyword":c.hasOwnProperty(i)?"attribute":h.hasOwnProperty(i)?"property":u.hasOwnProperty(i)?"keyword":f.hasOwnProperty(i)?"property":d.hasOwnProperty(i)?k?"string-2":"property":v.hasOwnProperty(i)?"atom":m.hasOwnProperty(i)?"keyword":"error"}return n.context.type},atComponentBlock:function(t,e,n){return"}"==t?O(t,e,n):"{"==t?A(n)&&S(n,e,_?"block":"top",!1):("word"==t&&(o="error"),n.context.type)},atBlock_parens:function(t,e,n){return")"==t?A(n):"{"==t||"}"==t?O(t,e,n,2):I.atBlock(t,e,n)},restricted_atBlock_before:function(t,e,n){return"{"==t?S(n,e,"restricted_atBlock"):"word"==t&&"@counter-style"==n.stateArg?(o="variable","restricted_atBlock_before"):L(t,e,n)},restricted_atBlock:function(t,e,n){return"}"==t?(n.stateArg=null,A(n)):"word"==t?(o="@font-face"==n.stateArg&&!p.hasOwnProperty(e.current().toLowerCase())||"@counter-style"==n.stateArg&&!g.hasOwnProperty(e.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(t,e,n){return"word"==t?(o="variable","keyframes"):"{"==t?S(n,e,"top"):L(t,e,n)},at:function(t,e,n){return";"==t?A(n):"{"==t||"}"==t?O(t,e,n):("word"==t?o="tag":"hash"==t&&(o="builtin"),"at")},interpolation:function(t,e,n){return"}"==t?A(n):"{"==t||";"==t?O(t,e,n):("word"==t?o="variable":"variable"!=t&&"("!=t&&")"!=t&&(o="error"),"interpolation")}};return{startState:function(t){return{tokenize:null,state:i?"block":"top",stateArg:null,context:new E(i?"block":"top",t||0,null)}},token:function(t,e){if(!e.tokenize&&t.eatSpace())return null;var n=(e.tokenize||T)(t,e);return n&&"object"==typeof n&&(r=n[1],n=n[0]),o=n,"comment"!=r&&(e.state=I[e.state](r,t,e)),o},indent:function(t,e){var n=t.context,i=e&&e.charAt(0),r=n.indent;return"prop"!=n.type||"}"!=i&&")"!=i||(n=n.prev),n.prev&&("}"!=i||"block"!=n.type&&"top"!=n.type&&"interpolation"!=n.type&&"restricted_atBlock"!=n.type?(")"!=i||"parens"!=n.type&&"atBlock_parens"!=n.type)&&("{"!=i||"at"!=n.type&&"atBlock"!=n.type)||(r=Math.max(0,n.indent-s)):r=(n=n.prev).indent),r},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:y,fold:"brace"}}));var n=["domain","regexp","url","url-prefix"],i=e(n),r=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],o=e(r),s=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme"],a=e(s),l=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light"],c=e(l),h=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],u=e(h),f=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],d=e(f),p=e(["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),g=e(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),m=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],v=e(m),_=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],y=e(_),x=n.concat(r).concat(s).concat(l).concat(h).concat(f).concat(m).concat(_);function k(t,e){for(var n,i=!1;null!=(n=t.next());){if(i&&"/"==n){e.tokenize=null;break}i="*"==n}return["comment","comment"]}t.registerHelper("hintWords","css",x),t.defineMIME("text/css",{documentTypes:i,mediaTypes:o,mediaFeatures:a,mediaValueKeywords:c,propertyKeywords:u,nonStandardPropertyKeywords:d,fontProperties:p,counterDescriptors:g,colorKeywords:v,valueKeywords:y,tokenHooks:{"/":function(t,e){return!!t.eat("*")&&(e.tokenize=k,k(t,e))}},name:"css"}),t.defineMIME("text/x-scss",{mediaTypes:o,mediaFeatures:a,mediaValueKeywords:c,propertyKeywords:u,nonStandardPropertyKeywords:d,colorKeywords:v,valueKeywords:y,fontProperties:p,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=k,k(t,e)):["operator","operator"]},":":function(t){return!!t.match(/^\s*\{/,!1)&&[null,null]},$:function(t){return t.match(/^[\w-]+/),t.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(t){return!!t.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),t.defineMIME("text/x-less",{mediaTypes:o,mediaFeatures:a,mediaValueKeywords:c,propertyKeywords:u,nonStandardPropertyKeywords:d,colorKeywords:v,valueKeywords:y,fontProperties:p,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=k,k(t,e)):["operator","operator"]},"@":function(t){return t.eat("{")?[null,"interpolation"]:!t.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(t.eatWhile(/[\w\\\-]/),t.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),t.defineMIME("text/x-gss",{documentTypes:i,mediaTypes:o,mediaFeatures:a,propertyKeywords:u,nonStandardPropertyKeywords:d,fontProperties:p,counterDescriptors:g,colorKeywords:v,valueKeywords:y,supportsAtComponent:!0,tokenHooks:{"/":function(t,e){return!!t.eat("*")&&(e.tokenize=k,k(t,e))}},name:"css",helperType:"gss"})},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],16:[function(t,e,n){var i;i=function(t){"use strict";var e={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]},n={};function i(t,e){var i=t.match(function(t){return n[t]||(n[t]=new RegExp("\\s+"+t+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*"))}(e));return i?/^\s*(.*?)\s*$/.exec(i[2])[1]:""}function r(t,e){return new RegExp((e?"^":"")+"</s*"+t+"s*>","i")}function o(t,e){for(var n in t)for(var i=e[n]||(e[n]=[]),r=t[n],o=r.length-1;o>=0;o--)i.unshift(r[o])}t.defineMode("htmlmixed",(function(n,s){var a=t.getMode(n,{name:"xml",htmlMode:!0,multilineTagIndentFactor:s.multilineTagIndentFactor,multilineTagIndentPastTag:s.multilineTagIndentPastTag,allowMissingTagName:s.allowMissingTagName}),l={},c=s&&s.tags,h=s&&s.scriptTypes;if(o(e,l),c&&o(c,l),h)for(var u=h.length-1;u>=0;u--)l.script.unshift(["type",h[u].matches,h[u].mode]);function f(e,o){var s,c=a.token(e,o.htmlState),h=/\btag\b/.test(c);if(h&&!/[<>\s\/]/.test(e.current())&&(s=o.htmlState.tagName&&o.htmlState.tagName.toLowerCase())&&l.hasOwnProperty(s))o.inTag=s+" ";else if(o.inTag&&h&&/>$/.test(e.current())){var u=/^([\S]+) (.*)/.exec(o.inTag);o.inTag=null;var d=">"==e.current()&&function(t,e){for(var n=0;n<t.length;n++){var r=t[n];if(!r[0]||r[1].test(i(e,r[0])))return r[2]}}(l[u[1]],u[2]),p=t.getMode(n,d),g=r(u[1],!0),m=r(u[1],!1);o.token=function(t,e){return t.match(g,!1)?(e.token=f,e.localState=e.localMode=null,null):function(t,e,n){var i=t.current(),r=i.search(e);return r>-1?t.backUp(i.length-r):i.match(/<\/?$/)&&(t.backUp(i.length),t.match(e,!1)||t.match(i)),n}(t,m,e.localMode.token(t,e.localState))},o.localMode=p,o.localState=t.startState(p,a.indent(o.htmlState,"",""))}else o.inTag&&(o.inTag+=e.current(),e.eol()&&(o.inTag+=" "));return c}return{startState:function(){return{token:f,inTag:null,localMode:null,localState:null,htmlState:t.startState(a)}},copyState:function(e){var n;return e.localState&&(n=t.copyState(e.localMode,e.localState)),{token:e.token,inTag:e.inTag,localMode:e.localMode,localState:n,htmlState:t.copyState(a,e.htmlState)}},token:function(t,e){return e.token(t,e)},indent:function(e,n,i){return!e.localMode||/^\s*<\//.test(n)?a.indent(e.htmlState,n,i):e.localMode.indent?e.localMode.indent(e.localState,n,i):t.Pass},innerMode:function(t){return{state:t.localState||t.htmlState,mode:t.localMode||a}}}}),"xml","javascript","css"),t.defineMIME("text/html","htmlmixed")},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror"),t("../xml/xml"),t("../javascript/javascript"),t("../css/css")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript","../css/css"],i):i(CodeMirror)},{"../../lib/codemirror":13,"../css/css":15,"../javascript/javascript":17,"../xml/xml":19}],17:[function(t,e,n){var i;i=function(t){"use strict";t.defineMode("javascript",(function(e,n){var i,r,o=e.indentUnit,s=n.statementIndent,a=n.jsonld,l=n.json||a,c=!1!==n.trackScope,h=n.typescript,u=n.wordCharacters||/[\w$\xa1-\uffff]/,f=function(){function t(t){return{type:t,style:"keyword"}}var e=t("keyword a"),n=t("keyword b"),i=t("keyword c"),r=t("keyword d"),o=t("operator"),s={type:"atom",style:"atom"};return{if:t("if"),while:e,with:e,else:n,do:n,try:n,finally:n,return:r,break:r,continue:r,new:t("new"),delete:i,void:i,throw:i,debugger:t("debugger"),var:t("var"),const:t("var"),let:t("var"),function:t("function"),catch:t("catch"),for:t("for"),switch:t("switch"),case:t("case"),default:t("default"),in:o,typeof:o,instanceof:o,true:s,false:s,null:s,undefined:s,NaN:s,Infinity:s,this:t("this"),class:t("class"),super:t("atom"),yield:i,export:t("export"),import:t("import"),extends:i,await:i}}(),d=/[+\-*&%=<>!?|~^@]/,p=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function g(t,e,n){return i=t,r=n,e}function m(t,e){var n,i=t.next();if('"'==i||"'"==i)return e.tokenize=(n=i,function(t,e){var i,r=!1;if(a&&"@"==t.peek()&&t.match(p))return e.tokenize=m,g("jsonld-keyword","meta");for(;null!=(i=t.next())&&(i!=n||r);)r=!r&&"\\"==i;return r||(e.tokenize=m),g("string","string")}),e.tokenize(t,e);if("."==i&&t.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return g("number","number");if("."==i&&t.match(".."))return g("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return g(i);if("="==i&&t.eat(">"))return g("=>","operator");if("0"==i&&t.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return g("number","number");if(/\d/.test(i))return t.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),g("number","number");if("/"==i)return t.eat("*")?(e.tokenize=v,v(t,e)):t.eat("/")?(t.skipToEnd(),g("comment","comment")):Jt(t,e,1)?(function(t){for(var e,n=!1,i=!1;null!=(e=t.next());){if(!n){if("/"==e&&!i)return;"["==e?i=!0:i&&"]"==e&&(i=!1)}n=!n&&"\\"==e}}(t),t.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),g("regexp","string-2")):(t.eat("="),g("operator","operator",t.current()));if("`"==i)return e.tokenize=_,_(t,e);if("#"==i&&"!"==t.peek())return t.skipToEnd(),g("meta","meta");if("#"==i&&t.eatWhile(u))return g("variable","property");if("<"==i&&t.match("!--")||"-"==i&&t.match("->")&&!/\S/.test(t.string.slice(0,t.start)))return t.skipToEnd(),g("comment","comment");if(d.test(i))return">"==i&&e.lexical&&">"==e.lexical.type||(t.eat("=")?"!"!=i&&"="!=i||t.eat("="):/[<>*+\-|&?]/.test(i)&&(t.eat(i),">"==i&&t.eat(i))),"?"==i&&t.eat(".")?g("."):g("operator","operator",t.current());if(u.test(i)){t.eatWhile(u);var r=t.current();if("."!=e.lastType){if(f.propertyIsEnumerable(r)){var o=f[r];return g(o.type,o.style,r)}if("async"==r&&t.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return g("async","keyword",r)}return g("variable","variable",r)}}function v(t,e){for(var n,i=!1;n=t.next();){if("/"==n&&i){e.tokenize=m;break}i="*"==n}return g("comment","comment")}function _(t,e){for(var n,i=!1;null!=(n=t.next());){if(!i&&("`"==n||"$"==n&&t.eat("{"))){e.tokenize=m;break}i=!i&&"\\"==n}return g("quasi","string-2",t.current())}function y(t,e){e.fatArrowAt&&(e.fatArrowAt=null);var n=t.string.indexOf("=>",t.start);if(!(n<0)){if(h){var i=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(t.string.slice(t.start,n));i&&(n=i.index)}for(var r=0,o=!1,s=n-1;s>=0;--s){var a=t.string.charAt(s),l="([{}])".indexOf(a);if(l>=0&&l<3){if(!r){++s;break}if(0==--r){"("==a&&(o=!0);break}}else if(l>=3&&l<6)++r;else if(u.test(a))o=!0;else if(/["'\/`]/.test(a))for(;;--s){if(0==s)return;if(t.string.charAt(s-1)==a&&"\\"!=t.string.charAt(s-2)){s--;break}}else if(o&&!r){++s;break}}o&&!r&&(e.fatArrowAt=s)}}var x={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function k(t,e,n,i,r,o){this.indented=t,this.column=e,this.type=n,this.prev=r,this.info=o,null!=i&&(this.align=i)}function b(t,e){if(!c)return!1;for(var n=t.localVars;n;n=n.next)if(n.name==e)return!0;for(var i=t.context;i;i=i.prev)for(n=i.vars;n;n=n.next)if(n.name==e)return!0}function T(t,e,n,i,r){var o=t.cc;for(C.state=t,C.stream=r,C.marked=null,C.cc=o,C.style=e,t.lexical.hasOwnProperty("align")||(t.lexical.align=!0);;)if((o.length?o.pop():l?z:U)(n,i)){for(;o.length&&o[o.length-1].lex;)o.pop()();return C.marked?C.marked:"variable"==n&&b(t,i)?"variable-2":e}}var C={state:null,column:null,marked:null,cc:null};function w(){for(var t=arguments.length-1;t>=0;t--)C.cc.push(arguments[t])}function E(){return w.apply(null,arguments),!0}function S(t,e){for(var n=e;n;n=n.next)if(n.name==t)return!0;return!1}function A(t){var e=C.state;if(C.marked="def",c){if(e.context)if("var"==e.lexical.info&&e.context&&e.context.block){var i=L(t,e.context);if(null!=i)return void(e.context=i)}else if(!S(t,e.localVars))return void(e.localVars=new I(t,e.localVars));n.globalVars&&!S(t,e.globalVars)&&(e.globalVars=new I(t,e.globalVars))}}function L(t,e){if(e){if(e.block){var n=L(t,e.prev);return n?n==e.prev?e:new N(n,e.vars,!0):null}return S(t,e.vars)?e:new N(e.prev,new I(t,e.vars),!1)}return null}function O(t){return"public"==t||"private"==t||"protected"==t||"abstract"==t||"readonly"==t}function N(t,e,n){this.prev=t,this.vars=e,this.block=n}function I(t,e){this.name=t,this.next=e}var M=new I("this",new I("arguments",null));function $(){C.state.context=new N(C.state.context,C.state.localVars,!1),C.state.localVars=M}function R(){C.state.context=new N(C.state.context,C.state.localVars,!0),C.state.localVars=null}function D(){C.state.localVars=C.state.context.vars,C.state.context=C.state.context.prev}function P(t,e){var n=function(){var n=C.state,i=n.indented;if("stat"==n.lexical.type)i=n.lexical.indented;else for(var r=n.lexical;r&&")"==r.type&&r.align;r=r.prev)i=r.indented;n.lexical=new k(i,C.stream.column(),t,null,n.lexical,e)};return n.lex=!0,n}function F(){var t=C.state;t.lexical.prev&&(")"==t.lexical.type&&(t.indented=t.lexical.indented),t.lexical=t.lexical.prev)}function B(t){return function e(n){return n==t?E():";"==t||"}"==n||")"==n||"]"==n?w():E(e)}}function U(t,e){return"var"==t?E(P("vardef",e),Ct,B(";"),F):"keyword a"==t?E(P("form"),j,U,F):"keyword b"==t?E(P("form"),U,F):"keyword d"==t?C.stream.match(/^\s*$/,!1)?E():E(P("stat"),q,B(";"),F):"debugger"==t?E(B(";")):"{"==t?E(P("}"),R,lt,F,D):";"==t?E():"if"==t?("else"==C.state.lexical.info&&C.state.cc[C.state.cc.length-1]==F&&C.state.cc.pop()(),E(P("form"),j,U,F,Ot)):"function"==t?E($t):"for"==t?E(P("form"),R,Nt,U,D,F):"class"==t||h&&"interface"==e?(C.marked="keyword",E(P("form","class"==t?t:e),Bt,F)):"variable"==t?h&&"declare"==e?(C.marked="keyword",E(U)):h&&("module"==e||"enum"==e||"type"==e)&&C.stream.match(/^\s*\w/,!1)?(C.marked="keyword","enum"==e?E(Qt):"type"==e?E(Dt,B("operator"),dt,B(";")):E(P("form"),wt,B("{"),P("}"),lt,F,F)):h&&"namespace"==e?(C.marked="keyword",E(P("form"),z,U,F)):h&&"abstract"==e?(C.marked="keyword",E(U)):E(P("stat"),et):"switch"==t?E(P("form"),j,B("{"),P("}","switch"),R,lt,F,F,D):"case"==t?E(z,B(":")):"default"==t?E(B(":")):"catch"==t?E(P("form"),$,H,U,F,D):"export"==t?E(P("stat"),Wt,F):"import"==t?E(P("stat"),Gt,F):"async"==t?E(U):"@"==e?E(z,U):w(P("stat"),z,B(";"),F)}function H(t){if("("==t)return E(Pt,B(")"))}function z(t,e){return G(t,e,!1)}function W(t,e){return G(t,e,!0)}function j(t){return"("!=t?w():E(P(")"),q,B(")"),F)}function G(t,e,n){if(C.state.fatArrowAt==C.stream.start){var i=n?Z:Q;if("("==t)return E($,P(")"),st(Pt,")"),F,B("=>"),i,D);if("variable"==t)return w($,wt,B("=>"),i,D)}var r=n?Y:V;return x.hasOwnProperty(t)?E(r):"function"==t?E($t,r):"class"==t||h&&"interface"==e?(C.marked="keyword",E(P("form"),Ft,F)):"keyword c"==t||"async"==t?E(n?W:z):"("==t?E(P(")"),q,B(")"),F,r):"operator"==t||"spread"==t?E(n?W:z):"["==t?E(P("]"),Xt,F,r):"{"==t?at(it,"}",null,r):"quasi"==t?w(K,r):"new"==t?E(function(t){return function(e){return"."==e?E(t?tt:J):"variable"==e&&h?E(kt,t?Y:V):w(t?W:z)}}(n)):E()}function q(t){return t.match(/[;\}\)\],]/)?w():w(z)}function V(t,e){return","==t?E(q):Y(t,e,!1)}function Y(t,e,n){var i=0==n?V:Y,r=0==n?z:W;return"=>"==t?E($,n?Z:Q,D):"operator"==t?/\+\+|--/.test(e)||h&&"!"==e?E(i):h&&"<"==e&&C.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?E(P(">"),st(dt,">"),F,i):"?"==e?E(z,B(":"),r):E(r):"quasi"==t?w(K,i):";"!=t?"("==t?at(W,")","call",i):"."==t?E(nt,i):"["==t?E(P("]"),q,B("]"),F,i):h&&"as"==e?(C.marked="keyword",E(dt,i)):"regexp"==t?(C.state.lastType=C.marked="operator",C.stream.backUp(C.stream.pos-C.stream.start-1),E(r)):void 0:void 0}function K(t,e){return"quasi"!=t?w():"${"!=e.slice(e.length-2)?E(K):E(q,X)}function X(t){if("}"==t)return C.marked="string-2",C.state.tokenize=_,E(K)}function Q(t){return y(C.stream,C.state),w("{"==t?U:z)}function Z(t){return y(C.stream,C.state),w("{"==t?U:W)}function J(t,e){if("target"==e)return C.marked="keyword",E(V)}function tt(t,e){if("target"==e)return C.marked="keyword",E(Y)}function et(t){return":"==t?E(F,U):w(V,B(";"),F)}function nt(t){if("variable"==t)return C.marked="property",E()}function it(t,e){return"async"==t?(C.marked="property",E(it)):"variable"==t||"keyword"==C.style?(C.marked="property","get"==e||"set"==e?E(rt):(h&&C.state.fatArrowAt==C.stream.start&&(n=C.stream.match(/^\s*:\s*/,!1))&&(C.state.fatArrowAt=C.stream.pos+n[0].length),E(ot))):"number"==t||"string"==t?(C.marked=a?"property":C.style+" property",E(ot)):"jsonld-keyword"==t?E(ot):h&&O(e)?(C.marked="keyword",E(it)):"["==t?E(z,ct,B("]"),ot):"spread"==t?E(W,ot):"*"==e?(C.marked="keyword",E(it)):":"==t?w(ot):void 0;var n}function rt(t){return"variable"!=t?w(ot):(C.marked="property",E($t))}function ot(t){return":"==t?E(W):"("==t?w($t):void 0}function st(t,e,n){function i(r,o){if(n?n.indexOf(r)>-1:","==r){var s=C.state.lexical;return"call"==s.info&&(s.pos=(s.pos||0)+1),E((function(n,i){return n==e||i==e?w():w(t)}),i)}return r==e||o==e?E():n&&n.indexOf(";")>-1?w(t):E(B(e))}return function(n,r){return n==e||r==e?E():w(t,i)}}function at(t,e,n){for(var i=3;i<arguments.length;i++)C.cc.push(arguments[i]);return E(P(e,n),st(t,e),F)}function lt(t){return"}"==t?E():w(U,lt)}function ct(t,e){if(h){if(":"==t)return E(dt);if("?"==e)return E(ct)}}function ht(t,e){if(h&&(":"==t||"in"==e))return E(dt)}function ut(t){if(h&&":"==t)return C.stream.match(/^\s*\w+\s+is\b/,!1)?E(z,ft,dt):E(dt)}function ft(t,e){if("is"==e)return C.marked="keyword",E()}function dt(t,e){return"keyof"==e||"typeof"==e||"infer"==e||"readonly"==e?(C.marked="keyword",E("typeof"==e?W:dt)):"variable"==t||"void"==e?(C.marked="type",E(xt)):"|"==e||"&"==e?E(dt):"string"==t||"number"==t||"atom"==t?E(xt):"["==t?E(P("]"),st(dt,"]",","),F,xt):"{"==t?E(P("}"),gt,F,xt):"("==t?E(st(yt,")"),pt,xt):"<"==t?E(st(dt,">"),dt):"quasi"==t?w(vt,xt):void 0}function pt(t){if("=>"==t)return E(dt)}function gt(t){return t.match(/[\}\)\]]/)?E():","==t||";"==t?E(gt):w(mt,gt)}function mt(t,e){return"variable"==t||"keyword"==C.style?(C.marked="property",E(mt)):"?"==e||"number"==t||"string"==t?E(mt):":"==t?E(dt):"["==t?E(B("variable"),ht,B("]"),mt):"("==t?w(Rt,mt):t.match(/[;\}\)\],]/)?void 0:E()}function vt(t,e){return"quasi"!=t?w():"${"!=e.slice(e.length-2)?E(vt):E(dt,_t)}function _t(t){if("}"==t)return C.marked="string-2",C.state.tokenize=_,E(vt)}function yt(t,e){return"variable"==t&&C.stream.match(/^\s*[?:]/,!1)||"?"==e?E(yt):":"==t?E(dt):"spread"==t?E(yt):w(dt)}function xt(t,e){return"<"==e?E(P(">"),st(dt,">"),F,xt):"|"==e||"."==t||"&"==e?E(dt):"["==t?E(dt,B("]"),xt):"extends"==e||"implements"==e?(C.marked="keyword",E(dt)):"?"==e?E(dt,B(":"),dt):void 0}function kt(t,e){if("<"==e)return E(P(">"),st(dt,">"),F,xt)}function bt(){return w(dt,Tt)}function Tt(t,e){if("="==e)return E(dt)}function Ct(t,e){return"enum"==e?(C.marked="keyword",E(Qt)):w(wt,ct,At,Lt)}function wt(t,e){return h&&O(e)?(C.marked="keyword",E(wt)):"variable"==t?(A(e),E()):"spread"==t?E(wt):"["==t?at(St,"]"):"{"==t?at(Et,"}"):void 0}function Et(t,e){return"variable"!=t||C.stream.match(/^\s*:/,!1)?("variable"==t&&(C.marked="property"),"spread"==t?E(wt):"}"==t?w():"["==t?E(z,B("]"),B(":"),Et):E(B(":"),wt,At)):(A(e),E(At))}function St(){return w(wt,At)}function At(t,e){if("="==e)return E(W)}function Lt(t){if(","==t)return E(Ct)}function Ot(t,e){if("keyword b"==t&&"else"==e)return E(P("form","else"),U,F)}function Nt(t,e){return"await"==e?E(Nt):"("==t?E(P(")"),It,F):void 0}function It(t){return"var"==t?E(Ct,Mt):"variable"==t?E(Mt):w(Mt)}function Mt(t,e){return")"==t?E():";"==t?E(Mt):"in"==e||"of"==e?(C.marked="keyword",E(z,Mt)):w(z,Mt)}function $t(t,e){return"*"==e?(C.marked="keyword",E($t)):"variable"==t?(A(e),E($t)):"("==t?E($,P(")"),st(Pt,")"),F,ut,U,D):h&&"<"==e?E(P(">"),st(bt,">"),F,$t):void 0}function Rt(t,e){return"*"==e?(C.marked="keyword",E(Rt)):"variable"==t?(A(e),E(Rt)):"("==t?E($,P(")"),st(Pt,")"),F,ut,D):h&&"<"==e?E(P(">"),st(bt,">"),F,Rt):void 0}function Dt(t,e){return"keyword"==t||"variable"==t?(C.marked="type",E(Dt)):"<"==e?E(P(">"),st(bt,">"),F):void 0}function Pt(t,e){return"@"==e&&E(z,Pt),"spread"==t?E(Pt):h&&O(e)?(C.marked="keyword",E(Pt)):h&&"this"==t?E(ct,At):w(wt,ct,At)}function Ft(t,e){return"variable"==t?Bt(t,e):Ut(t,e)}function Bt(t,e){if("variable"==t)return A(e),E(Ut)}function Ut(t,e){return"<"==e?E(P(">"),st(bt,">"),F,Ut):"extends"==e||"implements"==e||h&&","==t?("implements"==e&&(C.marked="keyword"),E(h?dt:z,Ut)):"{"==t?E(P("}"),Ht,F):void 0}function Ht(t,e){return"async"==t||"variable"==t&&("static"==e||"get"==e||"set"==e||h&&O(e))&&C.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(C.marked="keyword",E(Ht)):"variable"==t||"keyword"==C.style?(C.marked="property",E(zt,Ht)):"number"==t||"string"==t?E(zt,Ht):"["==t?E(z,ct,B("]"),zt,Ht):"*"==e?(C.marked="keyword",E(Ht)):h&&"("==t?w(Rt,Ht):";"==t||","==t?E(Ht):"}"==t?E():"@"==e?E(z,Ht):void 0}function zt(t,e){if("!"==e)return E(zt);if("?"==e)return E(zt);if(":"==t)return E(dt,At);if("="==e)return E(W);var n=C.state.lexical.prev;return w(n&&"interface"==n.info?Rt:$t)}function Wt(t,e){return"*"==e?(C.marked="keyword",E(Kt,B(";"))):"default"==e?(C.marked="keyword",E(z,B(";"))):"{"==t?E(st(jt,"}"),Kt,B(";")):w(U)}function jt(t,e){return"as"==e?(C.marked="keyword",E(B("variable"))):"variable"==t?w(W,jt):void 0}function Gt(t){return"string"==t?E():"("==t?w(z):"."==t?w(V):w(qt,Vt,Kt)}function qt(t,e){return"{"==t?at(qt,"}"):("variable"==t&&A(e),"*"==e&&(C.marked="keyword"),E(Yt))}function Vt(t){if(","==t)return E(qt,Vt)}function Yt(t,e){if("as"==e)return C.marked="keyword",E(qt)}function Kt(t,e){if("from"==e)return C.marked="keyword",E(z)}function Xt(t){return"]"==t?E():w(st(W,"]"))}function Qt(){return w(P("form"),wt,B("{"),P("}"),st(Zt,"}"),F,F)}function Zt(){return w(wt,At)}function Jt(t,e,n){return e.tokenize==m&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(e.lastType)||"quasi"==e.lastType&&/\{\s*$/.test(t.string.slice(0,t.pos-(n||0)))}return D.lex=!0,F.lex=!0,{startState:function(t){var e={tokenize:m,lastType:"sof",cc:[],lexical:new k((t||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new N(null,null,!1),indented:t||0};return n.globalVars&&"object"==typeof n.globalVars&&(e.globalVars=n.globalVars),e},token:function(t,e){if(t.sol()&&(e.lexical.hasOwnProperty("align")||(e.lexical.align=!1),e.indented=t.indentation(),y(t,e)),e.tokenize!=v&&t.eatSpace())return null;var n=e.tokenize(t,e);return"comment"==i?n:(e.lastType="operator"!=i||"++"!=r&&"--"!=r?i:"incdec",T(e,n,i,r,t))},indent:function(e,i){if(e.tokenize==v||e.tokenize==_)return t.Pass;if(e.tokenize!=m)return 0;var r,a=i&&i.charAt(0),l=e.lexical;if(!/^\s*else\b/.test(i))for(var c=e.cc.length-1;c>=0;--c){var h=e.cc[c];if(h==F)l=l.prev;else if(h!=Ot&&h!=D)break}for(;("stat"==l.type||"form"==l.type)&&("}"==a||(r=e.cc[e.cc.length-1])&&(r==V||r==Y)&&!/^[,\.=+\-*:?[\(]/.test(i));)l=l.prev;s&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var u=l.type,f=a==u;return"vardef"==u?l.indented+("operator"==e.lastType||","==e.lastType?l.info.length+1:0):"form"==u&&"{"==a?l.indented:"form"==u?l.indented+o:"stat"==u?l.indented+(function(t,e){return"operator"==t.lastType||","==t.lastType||d.test(e.charAt(0))||/[,.]/.test(e.charAt(0))}(e,i)?s||o:0):"switch"!=l.info||f||0==n.doubleIndentSwitch?l.align?l.column+(f?0:1):l.indented+(f?0:o):l.indented+(/^(?:case|default)\b/.test(i)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:a,jsonMode:l,expressionAllowed:Jt,skipExpression:function(e){T(e,"atom","atom","true",new t.StringStream("",2,null))}}})),t.registerHelper("wordChars","javascript",/[\w$]/),t.defineMIME("text/javascript","javascript"),t.defineMIME("text/ecmascript","javascript"),t.defineMIME("application/javascript","javascript"),t.defineMIME("application/x-javascript","javascript"),t.defineMIME("application/ecmascript","javascript"),t.defineMIME("application/json",{name:"javascript",json:!0}),t.defineMIME("application/x-json",{name:"javascript",json:!0}),t.defineMIME("application/manifest+json",{name:"javascript",json:!0}),t.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),t.defineMIME("text/typescript",{name:"javascript",typescript:!0}),t.defineMIME("application/typescript",{name:"javascript",typescript:!0})},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],18:[function(t,e,n){var i;i=function(t){"use strict";function e(t){for(var e={},n=t.split(" "),i=0;i<n.length;++i)e[n[i]]=!0;return e}function n(t,e,r){return 0==t.length?i(e):function(o,s){for(var a=t[0],l=0;l<a.length;l++)if(o.match(a[l][0]))return s.tokenize=n(t.slice(1),e),a[l][1];return s.tokenize=i(e,r),"string"}}function i(t,e){return function(i,r){return function(t,e,i,r){if(!1!==r&&t.match("${",!1)||t.match("{$",!1))return e.tokenize=null,"string";if(!1!==r&&t.match(/^\$[a-zA-Z_][a-zA-Z0-9_]*/))return t.match("[",!1)&&(e.tokenize=n([[["[",null]],[[/\d[\w\.]*/,"number"],[/\$[a-zA-Z_][a-zA-Z0-9_]*/,"variable-2"],[/[\w\$]+/,"variable"]],[["]",null]]],i,r)),t.match(/^->\w/,!1)&&(e.tokenize=n([[["->",null]],[[/[\w]+/,"variable"]]],i,r)),"variable-2";for(var o=!1;!t.eol()&&(o||!1===r||!t.match("{$",!1)&&!t.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!o&&t.match(i)){e.tokenize=null,e.tokStack.pop(),e.tokStack.pop();break}o="\\"==t.next()&&!o}return"string"}(i,r,t,e)}}var r="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally",o="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",s="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage memory_get_peak_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";t.registerHelper("hintWords","php",[r,o,s].join(" ").split(" ")),t.registerHelper("wordChars","php",/[\w$]/);var a={name:"clike",helperType:"php",keywords:e(r),blockKeywords:e("catch do else elseif for foreach if switch try while finally"),defKeywords:e("class function interface namespace trait"),atoms:e(o),builtin:e(s),multiLineStrings:!0,hooks:{$:function(t){return t.eatWhile(/[\w\$_]/),"variable-2"},"<":function(t,e){var n;if(n=t.match(/^<<\s*/)){var r=t.eat(/['"]/);t.eatWhile(/[\w\.]/);var o=t.current().slice(n[0].length+(r?2:1));if(r&&t.eat(r),o)return(e.tokStack||(e.tokStack=[])).push(o,0),e.tokenize=i(o,"'"!=r),"string"}return!1},"#":function(t){for(;!t.eol()&&!t.match("?>",!1);)t.next();return"comment"},"/":function(t){if(t.eat("/")){for(;!t.eol()&&!t.match("?>",!1);)t.next();return"comment"}return!1},'"':function(t,e){return(e.tokStack||(e.tokStack=[])).push('"',0),e.tokenize=i('"'),"string"},"{":function(t,e){return e.tokStack&&e.tokStack.length&&e.tokStack[e.tokStack.length-1]++,!1},"}":function(t,e){return e.tokStack&&e.tokStack.length>0&&!--e.tokStack[e.tokStack.length-1]&&(e.tokenize=i(e.tokStack[e.tokStack.length-2])),!1}}};t.defineMode("php",(function(e,n){var i=t.getMode(e,n&&n.htmlMode||"text/html"),r=t.getMode(e,a);return{startState:function(){var e=t.startState(i),o=n.startOpen?t.startState(r):null;return{html:e,php:o,curMode:n.startOpen?r:i,curState:n.startOpen?o:e,pending:null}},copyState:function(e){var n,o=e.html,s=t.copyState(i,o),a=e.php,l=a&&t.copyState(r,a);return n=e.curMode==i?s:l,{html:s,php:l,curMode:e.curMode,curState:n,pending:e.pending}},token:function(e,n){var o=n.curMode==r;if(e.sol()&&n.pending&&'"'!=n.pending&&"'"!=n.pending&&(n.pending=null),o)return o&&null==n.php.tokenize&&e.match("?>")?(n.curMode=i,n.curState=n.html,n.php.context.prev||(n.php=null),"meta"):r.token(e,n.curState);if(e.match(/^<\?\w*/))return n.curMode=r,n.php||(n.php=t.startState(r,i.indent(n.html,"",""))),n.curState=n.php,"meta";if('"'==n.pending||"'"==n.pending){for(;!e.eol()&&e.next()!=n.pending;);var s="string"}else n.pending&&e.pos<n.pending.end?(e.pos=n.pending.end,s=n.pending.style):s=i.token(e,n.curState);n.pending&&(n.pending=null);var a,l=e.current(),c=l.search(/<\?/);return-1!=c&&("string"==s&&(a=l.match(/[\'\"]$/))&&!/\?>/.test(l)?n.pending=a[0]:n.pending={end:e.pos,style:s},e.backUp(l.length-c)),s},indent:function(t,e,n){return t.curMode!=r&&/^\s*<\//.test(e)||t.curMode==r&&/^\?>/.test(e)?i.indent(t.html,e,n):t.curMode.indent(t.curState,e,n)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(t){return{state:t.curState,mode:t.curMode}}}}),"htmlmixed","clike"),t.defineMIME("application/x-httpd-php","php"),t.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),t.defineMIME("text/x-php",a)},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror"),t("../htmlmixed/htmlmixed"),t("../clike/clike")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],i):i(CodeMirror)},{"../../lib/codemirror":13,"../clike/clike":14,"../htmlmixed/htmlmixed":16}],19:[function(t,e,n){var i;i=function(t){"use strict";var e={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},n={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};t.defineMode("xml",(function(i,r){var o,s,a=i.indentUnit,l={},c=r.htmlMode?e:n;for(var h in c)l[h]=c[h];for(var h in r)l[h]=r[h];function u(t,e){function n(n){return e.tokenize=n,n(t,e)}var i=t.next();return"<"==i?t.eat("!")?t.eat("[")?t.match("CDATA[")?n(d("atom","]]>")):null:t.match("--")?n(d("comment","--\x3e")):t.match("DOCTYPE",!0,!0)?(t.eatWhile(/[\w\._\-]/),n(p(1))):null:t.eat("?")?(t.eatWhile(/[\w\._\-]/),e.tokenize=d("meta","?>"),"meta"):(o=t.eat("/")?"closeTag":"openTag",e.tokenize=f,"tag bracket"):"&"==i?(t.eat("#")?t.eat("x")?t.eatWhile(/[a-fA-F\d]/)&&t.eat(";"):t.eatWhile(/[\d]/)&&t.eat(";"):t.eatWhile(/[\w\.\-:]/)&&t.eat(";"))?"atom":"error":(t.eatWhile(/[^&<]/),null)}function f(t,e){var n,i,r=t.next();if(">"==r||"/"==r&&t.eat(">"))return e.tokenize=u,o=">"==r?"endTag":"selfcloseTag","tag bracket";if("="==r)return o="equals",null;if("<"==r){e.tokenize=u,e.state=_,e.tagName=e.tagStart=null;var s=e.tokenize(t,e);return s?s+" tag error":"tag error"}return/[\'\"]/.test(r)?(e.tokenize=(n=r,(i=function(t,e){for(;!t.eol();)if(t.next()==n){e.tokenize=f;break}return"string"}).isInAttribute=!0,i),e.stringStartCol=t.column(),e.tokenize(t,e)):(t.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function d(t,e){return function(n,i){for(;!n.eol();){if(n.match(e)){i.tokenize=u;break}n.next()}return t}}function p(t){return function(e,n){for(var i;null!=(i=e.next());){if("<"==i)return n.tokenize=p(t+1),n.tokenize(e,n);if(">"==i){if(1==t){n.tokenize=u;break}return n.tokenize=p(t-1),n.tokenize(e,n)}}return"meta"}}function g(t,e,n){this.prev=t.context,this.tagName=e||"",this.indent=t.indented,this.startOfLine=n,(l.doNotIndent.hasOwnProperty(e)||t.context&&t.context.noIndent)&&(this.noIndent=!0)}function m(t){t.context&&(t.context=t.context.prev)}function v(t,e){for(var n;;){if(!t.context)return;if(n=t.context.tagName,!l.contextGrabbers.hasOwnProperty(n)||!l.contextGrabbers[n].hasOwnProperty(e))return;m(t)}}function _(t,e,n){return"openTag"==t?(n.tagStart=e.column(),y):"closeTag"==t?x:_}function y(t,e,n){return"word"==t?(n.tagName=e.current(),s="tag",T):l.allowMissingTagName&&"endTag"==t?(s="tag bracket",T(t,0,n)):(s="error",y)}function x(t,e,n){if("word"==t){var i=e.current();return n.context&&n.context.tagName!=i&&l.implicitlyClosed.hasOwnProperty(n.context.tagName)&&m(n),n.context&&n.context.tagName==i||!1===l.matchClosing?(s="tag",k):(s="tag error",b)}return l.allowMissingTagName&&"endTag"==t?(s="tag bracket",k(t,0,n)):(s="error",b)}function k(t,e,n){return"endTag"!=t?(s="error",k):(m(n),_)}function b(t,e,n){return s="error",k(t,0,n)}function T(t,e,n){if("word"==t)return s="attribute",C;if("endTag"==t||"selfcloseTag"==t){var i=n.tagName,r=n.tagStart;return n.tagName=n.tagStart=null,"selfcloseTag"==t||l.autoSelfClosers.hasOwnProperty(i)?v(n,i):(v(n,i),n.context=new g(n,i,r==n.indented)),_}return s="error",T}function C(t,e,n){return"equals"==t?w:(l.allowMissing||(s="error"),T(t,0,n))}function w(t,e,n){return"string"==t?E:"word"==t&&l.allowUnquoted?(s="string",T):(s="error",T(t,0,n))}function E(t,e,n){return"string"==t?E:T(t,0,n)}return u.isInText=!0,{startState:function(t){var e={tokenize:u,state:_,indented:t||0,tagName:null,tagStart:null,context:null};return null!=t&&(e.baseIndent=t),e},token:function(t,e){if(!e.tagName&&t.sol()&&(e.indented=t.indentation()),t.eatSpace())return null;o=null;var n=e.tokenize(t,e);return(n||o)&&"comment"!=n&&(s=null,e.state=e.state(o||n,t,e),s&&(n="error"==s?n+" error":s)),n},indent:function(e,n,i){var r=e.context;if(e.tokenize.isInAttribute)return e.tagStart==e.indented?e.stringStartCol+1:e.indented+a;if(r&&r.noIndent)return t.Pass;if(e.tokenize!=f&&e.tokenize!=u)return i?i.match(/^(\s*)/)[0].length:0;if(e.tagName)return!1!==l.multilineTagIndentPastTag?e.tagStart+e.tagName.length+2:e.tagStart+a*(l.multilineTagIndentFactor||1);if(l.alignCDATA&&/<!\[CDATA\[/.test(n))return 0;var o=n&&/^<(\/)?([\w_:\.-]*)/.exec(n);if(o&&o[1])for(;r;){if(r.tagName==o[2]){r=r.prev;break}if(!l.implicitlyClosed.hasOwnProperty(r.tagName))break;r=r.prev}else if(o)for(;r;){var s=l.contextGrabbers[r.tagName];if(!s||!s.hasOwnProperty(o[2]))break;r=r.prev}for(;r&&r.prev&&!r.startOfLine;)r=r.prev;return r?r.indent+a:e.baseIndent||0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:l.htmlMode?"html":"xml",helperType:l.htmlMode?"html":"xml",skipAttribute:function(t){t.state==w&&(t.state=T)},xmlCurrentTag:function(t){return t.tagName?{name:t.tagName,close:"closeTag"==t.type}:null},xmlCurrentContext:function(t){for(var e=[],n=t.context;n;n=n.prev)e.push(n.tagName);return e.reverse()}}})),t.defineMIME("text/xml","xml"),t.defineMIME("application/xml","xml"),t.mimeModes.hasOwnProperty("text/html")||t.defineMIME("text/html",{name:"xml",htmlMode:!0})},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],20:[function(t,e,n){"use strict";const i=t("./ast/location"),r=t("./ast/position"),o=function(t,e){this.withPositions=t,this.withSource=e};o.prototype.position=function(t){return new r(t.lexer.yylloc.first_line,t.lexer.yylloc.first_column,t.lexer.yylloc.first_offset)},o.precedence={},[["or"],["xor"],["and"],["="],["?"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","!=","===","!==","<=>"],["<","<=",">",">="],["<<",">>"],["+","-","."],["*","/","%"],["!"],["instanceof"],["cast","silent"],["**"]].forEach((function(t,e){t.forEach((function(t){o.precedence[t]=e+1}))})),o.prototype.isRightAssociative=function(t){return"**"===t||"??"===t},o.prototype.swapLocations=function(t,e,n,i){this.withPositions&&(t.loc.start=e.loc.start,t.loc.end=n.loc.end,this.withSource&&(t.loc.source=i.lexer._input.substring(t.loc.start.offset,t.loc.end.offset)))},o.prototype.resolveLocations=function(t,e,n,i){this.withPositions&&(t.loc.start.offset>e.loc.start.offset&&(t.loc.start=e.loc.start),t.loc.end.offset<n.loc.end.offset&&(t.loc.end=n.loc.end),this.withSource&&(t.loc.source=i.lexer._input.substring(t.loc.start.offset,t.loc.end.offset)))},o.prototype.resolvePrecedence=function(t,e){let n,i,r;return"call"===t.kind?this.resolveLocations(t,t.what,t,e):"propertylookup"===t.kind||"staticlookup"===t.kind||"offsetlookup"===t.kind&&t.offset?this.resolveLocations(t,t.what,t.offset,e):"bin"===t.kind?t.right&&!t.right.parenthesizedExpression&&("bin"===t.right.kind?(i=o.precedence[t.type],r=o.precedence[t.right.type],i&&r&&r<=i&&(t.type!==t.right.type||!this.isRightAssociative(t.type))&&(n=t.right,t.right=t.right.left,this.swapLocations(t,t.left,t.right,e),n.left=this.resolvePrecedence(t,e),this.swapLocations(n,n.left,n.right,e),t=n)):"retif"===t.right.kind&&(i=o.precedence[t.type],r=o.precedence["?"],i&&r&&r<=i&&(n=t.right,t.right=t.right.test,this.swapLocations(t,t.left,t.right,e),n.test=this.resolvePrecedence(t,e),this.swapLocations(n,n.test,n.falseExpr,e),t=n))):"silent"!==t.kind&&"cast"!==t.kind||!t.expr||t.expr.parenthesizedExpression?"unary"===t.kind?t.what&&!t.what.parenthesizedExpression&&("bin"===t.what.kind?(n=t.what,t.what=t.what.left,this.swapLocations(t,t,t.what,e),n.left=this.resolvePrecedence(t,e),this.swapLocations(n,n.left,n.right,e),t=n):"retif"===t.what.kind&&(n=t.what,t.what=t.what.test,this.swapLocations(t,t,t.what,e),n.test=this.resolvePrecedence(t,e),this.swapLocations(n,n.test,n.falseExpr,e),t=n)):"retif"===t.kind?t.falseExpr&&"retif"===t.falseExpr.kind&&!t.falseExpr.parenthesizedExpression&&(n=t.falseExpr,t.falseExpr=n.test,this.swapLocations(t,t.test,t.falseExpr,e),n.test=this.resolvePrecedence(t,e),this.swapLocations(n,n.test,n.falseExpr,e),t=n):"assign"===t.kind?t.right&&"bin"===t.right.kind&&!t.right.parenthesizedExpression&&(i=o.precedence["="],r=o.precedence[t.right.type],i&&r&&r<i&&(n=t.right,t.right=t.right.left,n.left=t,this.swapLocations(n,n.left,t.right,e),t=n)):"expressionstatement"===t.kind&&this.swapLocations(t,t.expression,t,e):"bin"===t.expr.kind?(n=t.expr,t.expr=t.expr.left,this.swapLocations(t,t,t.expr,e),n.left=this.resolvePrecedence(t,e),this.swapLocations(n,n.left,n.right,e),t=n):"retif"===t.expr.kind&&(n=t.expr,t.expr=t.expr.test,this.swapLocations(t,t,t.expr,e),n.test=this.resolvePrecedence(t,e),this.swapLocations(n,n.test,n.falseExpr,e),t=n),t},o.prototype.prepare=function(t,e,n){let s=null;(this.withPositions||this.withSource)&&(s=this.position(n));const a=this,l=function(){let c=null;const h=Array.prototype.slice.call(arguments);if(h.push(e),a.withPositions||a.withSource){let t=null;a.withSource&&(t=n.lexer._input.substring(s.offset,n.prev[2])),c=new i(t,s,new r(n.prev[0],n.prev[1],n.prev[2])),h.push(c)}t||(t=h.shift());const u=a[t];if("function"!=typeof u)throw new Error('Undefined node "'+t+'"');const f=Object.create(u.prototype);return u.apply(f,h),l.instance=f,l.trailingComments&&(f.trailingComments=l.trailingComments),"function"==typeof l.postBuild&&l.postBuild(f),n.debug&&delete o.stack[l.stackUid],a.resolvePrecedence(f,n)};return n.debug&&(o.stack||(o.stack={},o.stackUid=1),o.stack[++o.stackUid]={position:s,stack:(new Error).stack.split("\n").slice(3,5)},l.stackUid=o.stackUid),l.setTrailingComments=function(t){l.instance?l.instance.setTrailingComments(t):l.trailingComments=t},l.destroy=function(t){e&&(t?t.leadingComments?t.leadingComments=e.concat(t.leadingComments):t.leadingComments=e:n._docIndex=n._docs.length-e.length),n.debug&&delete o.stack[l.stackUid]},l},o.prototype.checkNodes=function(){const t=[];for(const e in o.stack)o.stack.hasOwnProperty(e)&&t.push(o.stack[e]);return o.stack={},t},[t("./ast/array"),t("./ast/arrowfunc"),t("./ast/assign"),t("./ast/assignref"),t("./ast/attribute"),t("./ast/attrgroup"),t("./ast/bin"),t("./ast/block"),t("./ast/boolean"),t("./ast/break"),t("./ast/byref"),t("./ast/call"),t("./ast/case"),t("./ast/cast"),t("./ast/catch"),t("./ast/class"),t("./ast/classconstant"),t("./ast/clone"),t("./ast/closure"),t("./ast/comment"),t("./ast/commentblock"),t("./ast/commentline"),t("./ast/constant"),t("./ast/constantstatement"),t("./ast/continue"),t("./ast/declaration"),t("./ast/declare"),t("./ast/declaredirective"),t("./ast/do"),t("./ast/echo"),t("./ast/empty"),t("./ast/encapsed"),t("./ast/encapsedpart"),t("./ast/entry"),t("./ast/error"),t("./ast/eval"),t("./ast/exit"),t("./ast/expression"),t("./ast/expressionstatement"),t("./ast/for"),t("./ast/foreach"),t("./ast/function"),t("./ast/global"),t("./ast/goto"),t("./ast/halt"),t("./ast/identifier"),t("./ast/if"),t("./ast/include"),t("./ast/inline"),t("./ast/interface"),t("./ast/isset"),t("./ast/label"),t("./ast/list"),t("./ast/literal"),t("./ast/lookup"),t("./ast/magic"),t("./ast/match"),t("./ast/matcharm"),t("./ast/method"),t("./ast/name"),t("./ast/namespace"),t("./ast/namedargument"),t("./ast/new"),t("./ast/node"),t("./ast/noop"),t("./ast/nowdoc"),t("./ast/nullkeyword"),t("./ast/nullsafepropertylookup"),t("./ast/number"),t("./ast/offsetlookup"),t("./ast/operation"),t("./ast/parameter"),t("./ast/parentreference"),t("./ast/post"),t("./ast/pre"),t("./ast/print"),t("./ast/program"),t("./ast/property"),t("./ast/propertylookup"),t("./ast/propertystatement"),t("./ast/reference"),t("./ast/retif"),t("./ast/return"),t("./ast/selfreference"),t("./ast/silent"),t("./ast/statement"),t("./ast/static"),t("./ast/staticvariable"),t("./ast/staticlookup"),t("./ast/staticreference"),t("./ast/string"),t("./ast/switch"),t("./ast/throw"),t("./ast/trait"),t("./ast/traitalias"),t("./ast/traitprecedence"),t("./ast/traituse"),t("./ast/try"),t("./ast/typereference"),t("./ast/unary"),t("./ast/uniontype"),t("./ast/unset"),t("./ast/usegroup"),t("./ast/useitem"),t("./ast/variable"),t("./ast/variadic"),t("./ast/while"),t("./ast/yield"),t("./ast/yieldfrom")].forEach((function(t){o.prototype[t.kind]=t})),e.exports=o},{"./ast/array":21,"./ast/arrowfunc":22,"./ast/assign":23,"./ast/assignref":24,"./ast/attrgroup":25,"./ast/attribute":26,"./ast/bin":27,"./ast/block":28,"./ast/boolean":29,"./ast/break":30,"./ast/byref":31,"./ast/call":32,"./ast/case":33,"./ast/cast":34,"./ast/catch":35,"./ast/class":36,"./ast/classconstant":37,"./ast/clone":38,"./ast/closure":39,"./ast/comment":40,"./ast/commentblock":41,"./ast/commentline":42,"./ast/constant":43,"./ast/constantstatement":44,"./ast/continue":45,"./ast/declaration":46,"./ast/declare":47,"./ast/declaredirective":48,"./ast/do":49,"./ast/echo":50,"./ast/empty":51,"./ast/encapsed":52,"./ast/encapsedpart":53,"./ast/entry":54,"./ast/error":55,"./ast/eval":56,"./ast/exit":57,"./ast/expression":58,"./ast/expressionstatement":59,"./ast/for":60,"./ast/foreach":61,"./ast/function":62,"./ast/global":63,"./ast/goto":64,"./ast/halt":65,"./ast/identifier":66,"./ast/if":67,"./ast/include":68,"./ast/inline":69,"./ast/interface":70,"./ast/isset":71,"./ast/label":72,"./ast/list":73,"./ast/literal":74,"./ast/location":75,"./ast/lookup":76,"./ast/magic":77,"./ast/match":78,"./ast/matcharm":79,"./ast/method":80,"./ast/name":81,"./ast/namedargument":82,"./ast/namespace":83,"./ast/new":84,"./ast/node":85,"./ast/noop":86,"./ast/nowdoc":87,"./ast/nullkeyword":88,"./ast/nullsafepropertylookup":89,"./ast/number":90,"./ast/offsetlookup":91,"./ast/operation":92,"./ast/parameter":93,"./ast/parentreference":94,"./ast/position":95,"./ast/post":96,"./ast/pre":97,"./ast/print":98,"./ast/program":99,"./ast/property":100,"./ast/propertylookup":101,"./ast/propertystatement":102,"./ast/reference":103,"./ast/retif":104,"./ast/return":105,"./ast/selfreference":106,"./ast/silent":107,"./ast/statement":108,"./ast/static":109,"./ast/staticlookup":110,"./ast/staticreference":111,"./ast/staticvariable":112,"./ast/string":113,"./ast/switch":114,"./ast/throw":115,"./ast/trait":116,"./ast/traitalias":117,"./ast/traitprecedence":118,"./ast/traituse":119,"./ast/try":120,"./ast/typereference":121,"./ast/unary":122,"./ast/uniontype":123,"./ast/unset":124,"./ast/usegroup":125,"./ast/useitem":126,"./ast/variable":127,"./ast/variadic":128,"./ast/while":129,"./ast/yield":130,"./ast/yieldfrom":131}],21:[function(t,e,n){"use strict";const i=t("./expression"),r="array";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.items=e,this.shortForm=t}))},{"./expression":58}],22:[function(t,e,n){"use strict";const i=t("./expression"),r="arrowfunc";e.exports=i.extends(r,(function(t,e,n,o,s,a,l,c){i.apply(this,[r,l,c]),this.arguments=t,this.byref=e,this.body=n,this.type=o,this.nullable=s,this.isStatic=a||!1}))},{"./expression":58}],23:[function(t,e,n){"use strict";const i=t("./expression"),r="assign";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.left=t,this.right=e,this.operator=n}))},{"./expression":58}],24:[function(t,e,n){"use strict";const i=t("./expression"),r="assignref";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.left=t,this.right=e}))},{"./expression":58}],25:[function(t,e,n){"use strict";const i=t("./node"),r="attrgroup";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.attrs=t||[]}))},{"./node":85}],26:[function(t,e,n){"use strict";const i=t("./node"),r="attribute";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.name=t,this.args=e}))},{"./node":85}],27:[function(t,e,n){"use strict";const i=t("./operation");e.exports=i.extends("bin",(function(t,e,n,r,o){i.apply(this,["bin",r,o]),this.type=t,this.left=e,this.right=n}))},{"./operation":92}],28:[function(t,e,n){"use strict";const i=t("./statement"),r="block";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[t||r,n,o]),this.children=e.filter(Boolean)}))},{"./statement":108}],29:[function(t,e,n){"use strict";const i=t("./literal"),r="boolean";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,t,e,n,o])}))},{"./literal":74}],30:[function(t,e,n){"use strict";const i=t("./statement"),r="break";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.level=t}))},{"./statement":108}],31:[function(t,e,n){"use strict";const i=t("./expression"),r="byref";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.what=t}))},{"./expression":58}],32:[function(t,e,n){"use strict";const i=t("./expression"),r="call";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.what=t,this.arguments=e}))},{"./expression":58}],33:[function(t,e,n){"use strict";const i=t("./statement"),r="case";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.test=t,this.body=e}))},{"./statement":108}],34:[function(t,e,n){"use strict";const i=t("./operation"),r="cast";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.type=t,this.raw=e,this.expr=n}))},{"./operation":92}],35:[function(t,e,n){"use strict";const i=t("./statement"),r="catch";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.body=t,this.what=e,this.variable=n}))},{"./statement":108}],36:[function(t,e,n){"use strict";const i=t("./declaration"),r="class";e.exports=i.extends(r,(function(t,e,n,o,s,a,l){i.apply(this,[r,t,a,l]),this.isAnonymous=!t,this.extends=e,this.implements=n,this.body=o,this.attrGroups=[],this.parseFlags(s)}))},{"./declaration":46}],37:[function(t,e,n){"use strict";const i=t("./constantstatement"),r="classconstant",o=i.extends(r,(function(t,e,n,o,s,a){i.apply(this,[t||r,e,s,a]),this.parseFlags(n),this.attrGroups=o}));o.prototype.parseFlags=function(t){-1===t[0]?this.visibility="":null===t[0]?this.visibility=null:0===t[0]?this.visibility="public":1===t[0]?this.visibility="protected":2===t[0]&&(this.visibility="private")},e.exports=o},{"./constantstatement":44}],38:[function(t,e,n){"use strict";const i=t("./expression"),r="clone";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.what=t}))},{"./expression":58}],39:[function(t,e,n){"use strict";const i=t("./expression"),r="closure";e.exports=i.extends(r,(function(t,e,n,o,s,a,l,c){i.apply(this,[r,l,c]),this.uses=n,this.arguments=t,this.byref=e,this.type=o,this.nullable=s,this.isStatic=a||!1,this.body=null,this.attrGroups=[]}))},{"./expression":58}],40:[function(t,e,n){"use strict";const i=t("./node");e.exports=i.extends("comment",(function(t,e,n,r){i.apply(this,[t,n,r]),this.value=e}))},{"./node":85}],41:[function(t,e,n){"use strict";const i=t("./comment"),r="commentblock";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,t,e,n])}))},{"./comment":40}],42:[function(t,e,n){"use strict";const i=t("./comment"),r="commentline";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,t,e,n])}))},{"./comment":40}],43:[function(t,e,n){"use strict";const i=t("./node"),r="constant";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.name=t,this.value=e}))},{"./node":85}],44:[function(t,e,n){"use strict";const i=t("./statement"),r="constantstatement";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[t||r,n,o]),this.constants=e}))},{"./statement":108}],45:[function(t,e,n){"use strict";const i=t("./statement"),r="continue";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.level=t}))},{"./statement":108}],46:[function(t,e,n){"use strict";const i=t("./statement"),r="declaration",o=i.extends(r,(function(t,e,n,o){i.apply(this,[t||r,n,o]),this.name=e}));o.prototype.parseFlags=function(t){this.isAbstract=1===t[2],this.isFinal=2===t[2],"class"!==this.kind&&(-1===t[0]?this.visibility="":null===t[0]?this.visibility=null:0===t[0]?this.visibility="public":1===t[0]?this.visibility="protected":2===t[0]&&(this.visibility="private"),this.isStatic=1===t[1])},e.exports=o},{"./statement":108}],47:[function(t,e,n){"use strict";const i=t("./block"),r="declare",o=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,e,o,s]),this.directives=t,this.mode=n}));o.MODE_SHORT="short",o.MODE_BLOCK="block",o.MODE_NONE="none",e.exports=o},{"./block":28}],48:[function(t,e,n){"use strict";const i=t("./node"),r="declaredirective";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.key=t,this.value=e}))},{"./node":85}],49:[function(t,e,n){"use strict";const i=t("./statement");e.exports=i.extends("do",(function(t,e,n,r){i.apply(this,["do",n,r]),this.test=t,this.body=e}))},{"./statement":108}],50:[function(t,e,n){"use strict";const i=t("./statement"),r="echo";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.shortForm=e,this.expressions=t}))},{"./statement":108}],51:[function(t,e,n){"use strict";const i=t("./expression"),r="empty";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.expression=t}))},{"./expression":58}],52:[function(t,e,n){"use strict";const i=t("./literal"),r="encapsed",o=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,t,e,o,s]),this.type=n}));o.TYPE_STRING="string",o.TYPE_SHELL="shell",o.TYPE_HEREDOC="heredoc",o.TYPE_OFFSET="offset",e.exports=o},{"./literal":74}],53:[function(t,e,n){"use strict";const i=t("./expression"),r="encapsedpart";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.expression=t,this.syntax=e,this.curly=n}))},{"./expression":58}],54:[function(t,e,n){"use strict";const i=t("./expression"),r="entry";e.exports=i.extends(r,(function(t,e,n,o,s,a){i.apply(this,[r,s,a]),this.key=t,this.value=e,this.byRef=n,this.unpack=o}))},{"./expression":58}],55:[function(t,e,n){"use strict";const i=t("./node"),r="error";e.exports=i.extends(r,(function(t,e,n,o,s,a){i.apply(this,[r,s,a]),this.message=t,this.token=e,this.line=n,this.expected=o}))},{"./node":85}],56:[function(t,e,n){"use strict";const i=t("./expression"),r="eval";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.source=t}))},{"./expression":58}],57:[function(t,e,n){"use strict";const i=t("./expression"),r="exit";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.expression=t,this.useDie=e}))},{"./expression":58}],58:[function(t,e,n){"use strict";const i=t("./node"),r="expression";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[t||r,e,n])}))},{"./node":85}],59:[function(t,e,n){"use strict";const i=t("./statement"),r="expressionstatement";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.expression=t}))},{"./statement":108}],60:[function(t,e,n){"use strict";const i=t("./statement");e.exports=i.extends("for",(function(t,e,n,r,o,s,a){i.apply(this,["for",s,a]),this.init=t,this.test=e,this.increment=n,this.shortForm=o,this.body=r}))},{"./statement":108}],61:[function(t,e,n){"use strict";const i=t("./statement"),r="foreach";e.exports=i.extends(r,(function(t,e,n,o,s,a,l){i.apply(this,[r,a,l]),this.source=t,this.key=e,this.value=n,this.shortForm=s,this.body=o}))},{"./statement":108}],62:[function(t,e,n){"use strict";const i=t("./declaration"),r="function";e.exports=i.extends(r,(function(t,e,n,o,s,a,l){i.apply(this,[r,t,a,l]),this.arguments=e,this.byref=n,this.type=o,this.nullable=s,this.body=null,this.attrGroups=[]}))},{"./declaration":46}],63:[function(t,e,n){"use strict";const i=t("./statement"),r="global";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.items=t}))},{"./statement":108}],64:[function(t,e,n){"use strict";const i=t("./statement"),r="goto";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.label=t}))},{"./statement":108}],65:[function(t,e,n){"use strict";const i=t("./statement"),r="halt";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.after=t}))},{"./statement":108}],66:[function(t,e,n){"use strict";const i=t("./node"),r="identifier",o=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.name=t}));e.exports=o},{"./node":85}],67:[function(t,e,n){"use strict";const i=t("./statement");e.exports=i.extends("if",(function(t,e,n,r,o,s){i.apply(this,["if",o,s]),this.test=t,this.body=e,this.alternate=n,this.shortForm=r}))},{"./statement":108}],68:[function(t,e,n){"use strict";const i=t("./expression"),r="include";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.once=t,this.require=e,this.target=n}))},{"./expression":58}],69:[function(t,e,n){"use strict";const i=t("./literal"),r="inline";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,t,e,n,o])}))},{"./literal":74}],70:[function(t,e,n){"use strict";const i=t("./declaration"),r="interface";e.exports=i.extends(r,(function(t,e,n,o,s,a){i.apply(this,[r,t,s,a]),this.extends=e,this.body=n,this.attrGroups=o}))},{"./declaration":46}],71:[function(t,e,n){"use strict";const i=t("./expression"),r="isset";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.variables=t}))},{"./expression":58}],72:[function(t,e,n){"use strict";const i=t("./statement"),r="label";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.name=t}))},{"./statement":108}],73:[function(t,e,n){"use strict";const i=t("./expression"),r="list";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.items=t,this.shortForm=e}))},{"./expression":58}],74:[function(t,e,n){"use strict";const i=t("./expression"),r="literal";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[t||r,o,s]),this.value=e,n&&(this.raw=n)}))},{"./expression":58}],75:[function(t,e,n){"use strict";e.exports=function(t,e,n){this.source=t,this.start=e,this.end=n}},{}],76:[function(t,e,n){"use strict";const i=t("./expression"),r="lookup";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[t||r,o,s]),this.what=e,this.offset=n}))},{"./expression":58}],77:[function(t,e,n){"use strict";const i=t("./literal"),r="magic";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,t,e,n,o])}))},{"./literal":74}],78:[function(t,e,n){"use strict";const i=t("./expression"),r="match";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.cond=t,this.arms=e}))},{"./expression":58}],79:[function(t,e,n){"use strict";const i=t("./expression"),r="matcharm";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.conds=t,this.body=e}))},{"./expression":58}],80:[function(t,e,n){"use strict";const i=t("./function"),r="method";e.exports=i.extends(r,(function(){i.apply(this,arguments),this.kind=r}))},{"./function":62}],81:[function(t,e,n){"use strict";const i=t("./reference"),r="name",o=i.extends(r,(function t(e,n,o,s){i.apply(this,[r,o,s]),n?this.resolution=t.RELATIVE_NAME:1===e.length?this.resolution=t.UNQUALIFIED_NAME:e[0]?this.resolution=t.QUALIFIED_NAME:this.resolution=t.FULL_QUALIFIED_NAME,this.name=e.join("\\")}));o.UNQUALIFIED_NAME="uqn",o.QUALIFIED_NAME="qn",o.FULL_QUALIFIED_NAME="fqn",o.RELATIVE_NAME="rn",e.exports=o},{"./reference":103}],82:[function(t,e,n){"use strict";const i=t("./expression"),r="namedargument";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.name=t,this.value=e}))},{"./expression":58}],83:[function(t,e,n){"use strict";const i=t("./block"),r="namespace";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,e,o,s]),this.name=t,this.withBrackets=n||!1}))},{"./block":28}],84:[function(t,e,n){"use strict";const i=t("./expression");e.exports=i.extends("new",(function(t,e,n,r){i.apply(this,["new",n,r]),this.what=t,this.arguments=e}))},{"./expression":58}],85:[function(t,e,n){"use strict";const i=function(t,e,n){this.kind=t,e&&(this.leadingComments=e),n&&(this.loc=n)};i.prototype.setTrailingComments=function(t){this.trailingComments=t},i.prototype.destroy=function(t){if(!t)throw new Error("Node already initialized, you must swap with another node");return this.leadingComments&&(t.leadingComments?t.leadingComments=Array.concat(this.leadingComments,t.leadingComments):t.leadingComments=this.leadingComments),this.trailingComments&&(t.trailingComments?t.trailingComments=Array.concat(this.trailingComments,t.trailingComments):t.trailingComments=this.trailingComments),t},i.prototype.includeToken=function(t){return this.loc&&(this.loc.end&&(this.loc.end.line=t.lexer.yylloc.last_line,this.loc.end.column=t.lexer.yylloc.last_column,this.loc.end.offset=t.lexer.offset),t.ast.withSource&&(this.loc.source=t.lexer._input.substring(this.loc.start.offset,t.lexer.offset))),this},i.extends=function(t,e){return e.prototype=Object.create(this.prototype),e.extends=this.extends,e.prototype.constructor=e,e.kind=t,e},e.exports=i},{}],86:[function(t,e,n){"use strict";const i=t("./node"),r="noop";e.exports=i.extends(r,(function(t,e){i.apply(this,[r,t,e])}))},{"./node":85}],87:[function(t,e,n){"use strict";const i=t("./literal"),r="nowdoc";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,t,e,o,s]),this.label=n}))},{"./literal":74}],88:[function(t,e,n){"use strict";const i=t("./node"),r="nullkeyword";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.raw=t}))},{"./node":85}],89:[function(t,e,n){"use strict";const i=t("./lookup"),r="nullsafepropertylookup";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,t,e,n,o])}))},{"./lookup":76}],90:[function(t,e,n){"use strict";const i=t("./literal"),r="number";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,t,e,n,o])}))},{"./literal":74}],91:[function(t,e,n){"use strict";const i=t("./lookup"),r="offsetlookup";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,t,e,n,o])}))},{"./lookup":76}],92:[function(t,e,n){"use strict";const i=t("./expression"),r="operation";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[t||r,e,n])}))},{"./expression":58}],93:[function(t,e,n){"use strict";const i=t("./declaration"),r="parameter";e.exports=i.extends(r,(function(t,e,n,o,s,a,l,c,h){i.apply(this,[r,t,c,h]),this.value=n,this.type=e,this.byref=o,this.variadic=s,this.nullable=a,this.flags=l||0,this.attrGroups=[]}))},{"./declaration":46}],94:[function(t,e,n){"use strict";const i=t("./reference"),r="parentreference",o=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.raw=t}));e.exports=o},{"./reference":103}],95:[function(t,e,n){"use strict";e.exports=function(t,e,n){this.line=t,this.column=e,this.offset=n}},{}],96:[function(t,e,n){"use strict";const i=t("./operation"),r="post";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.type=t,this.what=e}))},{"./operation":92}],97:[function(t,e,n){"use strict";const i=t("./operation");e.exports=i.extends("pre",(function(t,e,n,r){i.apply(this,["pre",n,r]),this.type=t,this.what=e}))},{"./operation":92}],98:[function(t,e,n){"use strict";const i=t("./expression"),r="print";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.expression=t}))},{"./expression":58}],99:[function(t,e,n){"use strict";const i=t("./block"),r="program";e.exports=i.extends(r,(function(t,e,n,o,s,a){i.apply(this,[r,t,s,a]),this.errors=e,n&&(this.comments=n),o&&(this.tokens=o)}))},{"./block":28}],100:[function(t,e,n){"use strict";const i=t("./statement"),r="property";e.exports=i.extends(r,(function(t,e,n,o,s,a,l){i.apply(this,[r,a,l]),this.name=t,this.value=e,this.nullable=n,this.type=o,this.attrGroups=s}))},{"./statement":108}],101:[function(t,e,n){"use strict";const i=t("./lookup"),r="propertylookup";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,t,e,n,o])}))},{"./lookup":76}],102:[function(t,e,n){"use strict";const i=t("./statement"),r="propertystatement",o=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.properties=e,this.parseFlags(n)}));o.prototype.parseFlags=function(t){-1===t[0]?this.visibility="":null===t[0]?this.visibility=null:0===t[0]?this.visibility="public":1===t[0]?this.visibility="protected":2===t[0]&&(this.visibility="private"),this.isStatic=1===t[1]},e.exports=o},{"./statement":108}],103:[function(t,e,n){"use strict";const i=t("./node"),r="reference",o=i.extends(r,(function(t,e,n){i.apply(this,[t||r,e,n])}));e.exports=o},{"./node":85}],104:[function(t,e,n){"use strict";const i=t("./expression"),r="retif";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.test=t,this.trueExpr=e,this.falseExpr=n}))},{"./expression":58}],105:[function(t,e,n){"use strict";const i=t("./statement"),r="return";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.expr=t}))},{"./statement":108}],106:[function(t,e,n){"use strict";const i=t("./reference"),r="selfreference",o=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.raw=t}));e.exports=o},{"./reference":103}],107:[function(t,e,n){"use strict";const i=t("./expression"),r="silent";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.expr=t}))},{"./expression":58}],108:[function(t,e,n){"use strict";const i=t("./node"),r="statement";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[t||r,e,n])}))},{"./node":85}],109:[function(t,e,n){"use strict";const i=t("./statement"),r="static";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.variables=t}))},{"./statement":108}],110:[function(t,e,n){"use strict";const i=t("./lookup"),r="staticlookup";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,t,e,n,o])}))},{"./lookup":76}],111:[function(t,e,n){"use strict";const i=t("./reference"),r="staticreference",o=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.raw=t}));e.exports=o},{"./reference":103}],112:[function(t,e,n){"use strict";const i=t("./node"),r="staticvariable";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.variable=t,this.defaultValue=e}))},{"./node":85}],113:[function(t,e,n){"use strict";const i=t("./literal"),r="string";e.exports=i.extends(r,(function(t,e,n,o,s,a){i.apply(this,[r,e,o,s,a]),this.unicode=n,this.isDoubleQuote=t}))},{"./literal":74}],114:[function(t,e,n){"use strict";const i=t("./statement"),r="switch";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.test=t,this.body=e,this.shortForm=n}))},{"./statement":108}],115:[function(t,e,n){"use strict";const i=t("./statement"),r="throw";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.what=t}))},{"./statement":108}],116:[function(t,e,n){"use strict";const i=t("./declaration"),r="trait";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,t,n,o]),this.body=e}))},{"./declaration":46}],117:[function(t,e,n){"use strict";const i=t("./node"),r="traitalias";e.exports=i.extends(r,(function(t,e,n,o,s,a){i.apply(this,[r,s,a]),this.trait=t,this.method=e,this.as=n,this.visibility="",o&&(0===o[0]?this.visibility="public":1===o[0]?this.visibility="protected":2===o[0]&&(this.visibility="private"))}))},{"./node":85}],118:[function(t,e,n){"use strict";const i=t("./node"),r="traitprecedence";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.trait=t,this.method=e,this.instead=n}))},{"./node":85}],119:[function(t,e,n){"use strict";const i=t("./node"),r="traituse";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.traits=t,this.adaptations=e}))},{"./node":85}],120:[function(t,e,n){"use strict";const i=t("./statement");e.exports=i.extends("try",(function(t,e,n,r,o){i.apply(this,["try",r,o]),this.body=t,this.catches=e,this.always=n}))},{"./statement":108}],121:[function(t,e,n){"use strict";const i=t("./reference"),r="typereference",o=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.name=t,this.raw=e}));o.types=["int","float","string","bool","object","array","callable","iterable","void"],e.exports=o},{"./reference":103}],122:[function(t,e,n){"use strict";const i=t("./operation"),r="unary";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.type=t,this.what=e}))},{"./operation":92}],123:[function(t,e,n){"use strict";const i=t("./declaration"),r="uniontype";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,null,e,n]),this.types=t}))},{"./declaration":46}],124:[function(t,e,n){"use strict";const i=t("./statement"),r="unset";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.variables=t}))},{"./statement":108}],125:[function(t,e,n){"use strict";const i=t("./statement"),r="usegroup";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.name=t,this.type=e,this.items=n}))},{"./statement":108}],126:[function(t,e,n){"use strict";const i=t("./statement"),r="useitem",o=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.name=t,this.alias=e,this.type=n}));o.TYPE_CONST="const",o.TYPE_FUNCTION="function",e.exports=o},{"./statement":108}],127:[function(t,e,n){"use strict";const i=t("./expression"),r="variable";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.name=t,this.curly=e||!1}))},{"./expression":58}],128:[function(t,e,n){"use strict";const i=t("./expression"),r="variadic";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.what=t}))},{"./expression":58}],129:[function(t,e,n){"use strict";const i=t("./statement"),r="while";e.exports=i.extends(r,(function(t,e,n,o,s){i.apply(this,[r,o,s]),this.test=t,this.body=e,this.shortForm=n}))},{"./statement":108}],130:[function(t,e,n){"use strict";const i=t("./expression"),r="yield";e.exports=i.extends(r,(function(t,e,n,o){i.apply(this,[r,n,o]),this.value=t,this.key=e}))},{"./expression":58}],131:[function(t,e,n){"use strict";const i=t("./expression"),r="yieldfrom";e.exports=i.extends(r,(function(t,e,n){i.apply(this,[r,e,n]),this.value=t}))},{"./expression":58}],132:[function(t,e,n){"use strict";const i=t("./lexer"),r=t("./parser"),o=t("./tokens"),s=t("./ast");function a(t,e){const n=Object.keys(t);let i=n.length;for(;i--;){const r=n[i],o=t[r];null===o?delete e[r]:"function"==typeof o?e[r]=o.bind(e):Array.isArray(o)?e[r]=Array.isArray(e[r])?e[r].concat(o):o:e[r]="object"==typeof o&&"object"==typeof e[r]?a(o,e[r]):o}return e}const l=function(t){if("function"==typeof this)return new this(t);if(this.tokens=o,this.lexer=new i(this),this.ast=new s,this.parser=new r(this.lexer,this.ast),t&&"object"==typeof t){if(t.parser&&(t.lexer||(t.lexer={}),t.parser.version)){if("string"==typeof t.parser.version){let e=t.parser.version.split(".");if(e=100*parseInt(e[0])+parseInt(e[1]),isNaN(e))throw new Error("Bad version number : "+t.parser.version);t.parser.version=e}else if("number"!=typeof t.parser.version)throw new Error("Expecting a number for version");if(t.parser.version<500||t.parser.version>900)throw new Error("Can only handle versions between 5.x to 8.x")}a(t,this),this.lexer.version=this.parser.version}},c=function(t){return"function"==typeof t.write?t.toString():t};l.create=function(t){return new l(t)},l.parseEval=function(t,e){return new l(e).parseEval(t)},l.prototype.parseEval=function(t){return this.lexer.mode_eval=!0,this.lexer.all_tokens=!1,t=c(t),this.parser.parse(t,"eval")},l.parseCode=function(t,e,n){"object"!=typeof e||n||(n=e,e="unknown");return new l(n).parseCode(t,e)},l.prototype.parseCode=function(t,e){return this.lexer.mode_eval=!1,this.lexer.all_tokens=!1,t=c(t),this.parser.parse(t,e)},l.tokenGetAll=function(t,e){return new l(e).tokenGetAll(t)},l.prototype.tokenGetAll=function(t){this.lexer.mode_eval=!1,this.lexer.all_tokens=!0,t=c(t);const e=this.lexer.EOF,n=this.tokens.values;this.lexer.setInput(t);let i=this.lexer.lex()||e;const r=[];for(;i!=e;){let t=this.lexer.yytext;n.hasOwnProperty(i)&&(t=[n[i],t,this.lexer.yylloc.first_line]),r.push(t),i=this.lexer.lex()||e}return r},e.exports=l,e.exports.tokens=o,e.exports.lexer=i,e.exports.AST=s,e.exports.parser=r,e.exports.combine=a,e.exports.default=l},{"./ast":20,"./lexer":133,"./parser":143,"./tokens":159}],133:[function(t,e,n){"use strict";const i=function(t){this.engine=t,this.tok=this.engine.tokens.names,this.EOF=1,this.debug=!1,this.all_tokens=!0,this.comment_tokens=!1,this.mode_eval=!1,this.asp_tags=!1,this.short_tags=!1,this.version=800,this.yyprevcol=0,this.keywords={__class__:this.tok.T_CLASS_C,__trait__:this.tok.T_TRAIT_C,__function__:this.tok.T_FUNC_C,__method__:this.tok.T_METHOD_C,__line__:this.tok.T_LINE,__file__:this.tok.T_FILE,__dir__:this.tok.T_DIR,__namespace__:this.tok.T_NS_C,exit:this.tok.T_EXIT,die:this.tok.T_EXIT,function:this.tok.T_FUNCTION,const:this.tok.T_CONST,return:this.tok.T_RETURN,try:this.tok.T_TRY,catch:this.tok.T_CATCH,finally:this.tok.T_FINALLY,throw:this.tok.T_THROW,if:this.tok.T_IF,elseif:this.tok.T_ELSEIF,endif:this.tok.T_ENDIF,else:this.tok.T_ELSE,while:this.tok.T_WHILE,endwhile:this.tok.T_ENDWHILE,do:this.tok.T_DO,for:this.tok.T_FOR,endfor:this.tok.T_ENDFOR,foreach:this.tok.T_FOREACH,endforeach:this.tok.T_ENDFOREACH,declare:this.tok.T_DECLARE,enddeclare:this.tok.T_ENDDECLARE,instanceof:this.tok.T_INSTANCEOF,as:this.tok.T_AS,switch:this.tok.T_SWITCH,endswitch:this.tok.T_ENDSWITCH,case:this.tok.T_CASE,default:this.tok.T_DEFAULT,break:this.tok.T_BREAK,continue:this.tok.T_CONTINUE,goto:this.tok.T_GOTO,echo:this.tok.T_ECHO,print:this.tok.T_PRINT,class:this.tok.T_CLASS,interface:this.tok.T_INTERFACE,trait:this.tok.T_TRAIT,extends:this.tok.T_EXTENDS,implements:this.tok.T_IMPLEMENTS,new:this.tok.T_NEW,clone:this.tok.T_CLONE,var:this.tok.T_VAR,eval:this.tok.T_EVAL,include:this.tok.T_INCLUDE,include_once:this.tok.T_INCLUDE_ONCE,require:this.tok.T_REQUIRE,require_once:this.tok.T_REQUIRE_ONCE,namespace:this.tok.T_NAMESPACE,use:this.tok.T_USE,insteadof:this.tok.T_INSTEADOF,global:this.tok.T_GLOBAL,isset:this.tok.T_ISSET,empty:this.tok.T_EMPTY,__halt_compiler:this.tok.T_HALT_COMPILER,static:this.tok.T_STATIC,abstract:this.tok.T_ABSTRACT,final:this.tok.T_FINAL,private:this.tok.T_PRIVATE,protected:this.tok.T_PROTECTED,public:this.tok.T_PUBLIC,unset:this.tok.T_UNSET,list:this.tok.T_LIST,array:this.tok.T_ARRAY,callable:this.tok.T_CALLABLE,or:this.tok.T_LOGICAL_OR,and:this.tok.T_LOGICAL_AND,xor:this.tok.T_LOGICAL_XOR,match:this.tok.T_MATCH},this.castKeywords={int:this.tok.T_INT_CAST,integer:this.tok.T_INT_CAST,real:this.tok.T_DOUBLE_CAST,double:this.tok.T_DOUBLE_CAST,float:this.tok.T_DOUBLE_CAST,string:this.tok.T_STRING_CAST,binary:this.tok.T_STRING_CAST,array:this.tok.T_ARRAY_CAST,object:this.tok.T_OBJECT_CAST,bool:this.tok.T_BOOL_CAST,boolean:this.tok.T_BOOL_CAST,unset:this.tok.T_UNSET_CAST}};i.prototype.setInput=function(t){return this._input=t,this.size=t.length,this.yylineno=1,this.offset=0,this.yyprevcol=0,this.yytext="",this.yylloc={first_offset:0,first_line:1,first_column:0,prev_offset:0,prev_line:1,prev_column:0,last_line:1,last_column:0},this.tokens=[],this.version>703?this.keywords.fn=this.tok.T_FN:delete this.keywords.fn,this.done=this.offset>=this.size,!this.all_tokens&&this.mode_eval?(this.conditionStack=["INITIAL"],this.begin("ST_IN_SCRIPTING")):(this.conditionStack=[],this.begin("INITIAL")),this.heredoc_label={label:"",length:0,indentation:0,indentation_uses_spaces:!1,finished:!1,first_encaps_node:!1,toString:function(){this.label}},this},i.prototype.input=function(){const t=this._input[this.offset];return t?(this.yytext+=t,this.offset++,"\r"===t&&"\n"===this._input[this.offset]&&(this.yytext+="\n",this.offset++),"\n"===t||"\r"===t?(this.yylloc.last_line=++this.yylineno,this.yyprevcol=this.yylloc.last_column,this.yylloc.last_column=0):this.yylloc.last_column++,t):""},i.prototype.unput=function(t){if(1===t)this.offset--,"\n"===this._input[this.offset]&&"\r"===this._input[this.offset-1]&&(this.offset--,t++),"\r"===this._input[this.offset]||"\n"===this._input[this.offset]?(this.yylloc.last_line--,this.yylineno--,this.yylloc.last_column=this.yyprevcol):this.yylloc.last_column--,this.yytext=this.yytext.substring(0,this.yytext.length-t);else if(t>0)if(this.offset-=t,t<this.yytext.length){this.yytext=this.yytext.substring(0,this.yytext.length-t),this.yylloc.last_line=this.yylloc.first_line,this.yylloc.last_column=this.yyprevcol=this.yylloc.first_column;for(let t=0;t<this.yytext.length;t++){let e=this.yytext[t];"\r"===e?(e=this.yytext[++t],this.yyprevcol=this.yylloc.last_column,this.yylloc.last_line++,this.yylloc.last_column=0,"\n"!==e&&("\r"===e?this.yylloc.last_line++:this.yylloc.last_column++)):"\n"===e?(this.yyprevcol=this.yylloc.last_column,this.yylloc.last_line++,this.yylloc.last_column=0):this.yylloc.last_column++}this.yylineno=this.yylloc.last_line}else this.yytext="",this.yylloc.last_line=this.yylineno=this.yylloc.first_line,this.yylloc.last_column=this.yylloc.first_column;return this},i.prototype.tryMatch=function(t){return t===this.ahead(t.length)},i.prototype.tryMatchCaseless=function(t){return t===this.ahead(t.length).toLowerCase()},i.prototype.ahead=function(t){let e=this._input.substring(this.offset,this.offset+t);return"\r"===e[e.length-1]&&"\n"===this._input[this.offset+t+1]&&(e+="\n"),e},i.prototype.consume=function(t){for(let e=0;e<t;e++){const t=this._input[this.offset];if(!t)break;this.yytext+=t,this.offset++,"\r"===t&&"\n"===this._input[this.offset]&&(this.yytext+="\n",this.offset++,e++),"\n"===t||"\r"===t?(this.yylloc.last_line=++this.yylineno,this.yyprevcol=this.yylloc.last_column,this.yylloc.last_column=0):this.yylloc.last_column++}return this},i.prototype.getState=function(){return{yytext:this.yytext,offset:this.offset,yylineno:this.yylineno,yyprevcol:this.yyprevcol,yylloc:{first_offset:this.yylloc.first_offset,first_line:this.yylloc.first_line,first_column:this.yylloc.first_column,last_line:this.yylloc.last_line,last_column:this.yylloc.last_column},heredoc_label:this.heredoc_label}},i.prototype.setState=function(t){return this.yytext=t.yytext,this.offset=t.offset,this.yylineno=t.yylineno,this.yyprevcol=t.yyprevcol,this.yylloc=t.yylloc,t.heredoc_label&&(this.heredoc_label=t.heredoc_label),this},i.prototype.appendToken=function(t,e){return this.tokens.push([t,e]),this},i.prototype.lex=function(){this.yylloc.prev_offset=this.offset,this.yylloc.prev_line=this.yylloc.last_line,this.yylloc.prev_column=this.yylloc.last_column;let t=this.next()||this.lex();if(!this.all_tokens){for(;t===this.tok.T_WHITESPACE||!this.comment_tokens&&(t===this.tok.T_COMMENT||t===this.tok.T_DOC_COMMENT)||t===this.tok.T_OPEN_TAG;)t=this.next()||this.lex();if(t==this.tok.T_OPEN_TAG_WITH_ECHO)return this.tok.T_ECHO;if(t===this.tok.T_CLOSE_TAG)return";"}return this.yylloc.prev_offset||(this.yylloc.prev_offset=this.yylloc.first_offset,this.yylloc.prev_line=this.yylloc.first_line,this.yylloc.prev_column=this.yylloc.first_column),t},i.prototype.begin=function(t){if(this.conditionStack.push(t),this.curCondition=t,this.stateCb=this["match"+t],"function"!=typeof this.stateCb)throw new Error('Undefined condition state "'+t+'"');return this},i.prototype.popState=function(){const t=this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0];if(this.curCondition=this.conditionStack[this.conditionStack.length-1],this.stateCb=this["match"+this.curCondition],"function"!=typeof this.stateCb)throw new Error('Undefined condition state "'+this.curCondition+'"');return t},i.prototype.next=function(){let t;if(this._input||(this.done=!0),this.yylloc.first_offset=this.offset,this.yylloc.first_line=this.yylloc.last_line,this.yylloc.first_column=this.yylloc.last_column,this.yytext="",this.done)return this.yylloc.prev_offset=this.yylloc.first_offset,this.yylloc.prev_line=this.yylloc.first_line,this.yylloc.prev_column=this.yylloc.first_column,this.EOF;if(this.tokens.length>0?(t=this.tokens.shift(),"object"==typeof t[1]?this.setState(t[1]):this.consume(t[1]),t=t[0]):t=this.stateCb.apply(this,[]),this.offset>=this.size&&0===this.tokens.length&&(this.done=!0),this.debug){let e=t;e="number"==typeof e?this.engine.tokens.values[e]:'"'+e+'"';const n=new Error(e+"\tfrom "+this.yylloc.first_line+","+this.yylloc.first_column+"\t - to "+this.yylloc.last_line+","+this.yylloc.last_column+'\t"'+this.yytext+'"');console.error(n.stack)}return t},[t("./lexer/attribute.js"),t("./lexer/comments.js"),t("./lexer/initial.js"),t("./lexer/numbers.js"),t("./lexer/property.js"),t("./lexer/scripting.js"),t("./lexer/strings.js"),t("./lexer/tokens.js"),t("./lexer/utils.js")].forEach((function(t){for(const e in t)i.prototype[e]=t[e]})),e.exports=i},{"./lexer/attribute.js":134,"./lexer/comments.js":135,"./lexer/initial.js":136,"./lexer/numbers.js":137,"./lexer/property.js":138,"./lexer/scripting.js":139,"./lexer/strings.js":140,"./lexer/tokens.js":141,"./lexer/utils.js":142}],134:[function(t,e,n){"use strict";e.exports={matchST_ATTRIBUTE:function(){let t=0,e=this.input();if(this.is_WHITESPACE()){do{e=this.input()}while(this.is_WHITESPACE());return this.unput(1),null}switch(e){case"]":return 0===t?this.popState():t--,"]";case"(":case")":case":":case"=":return this.consume_TOKEN();case"[":return t++,"[";case",":return",";case'"':return this.ST_DOUBLE_QUOTES();case"'":return this.T_CONSTANT_ENCAPSED_STRING();case"/":if("/"===this._input[this.offset])return this.T_COMMENT();if("*"===this._input[this.offset])return this.input(),this.T_DOC_COMMENT()}if(this.is_LABEL_START()||"\\"===e){for(;this.offset<this.size;){const t=this.input();if(!this.is_LABEL()&&"\\"!==t){t&&this.unput(1);break}}return this.tok.T_STRING}if(this.is_NUM())return this.consume_NUM();throw new Error(`Bad terminal sequence "${e}" at line ${this.yylineno} (offset ${this.offset})`)}}},{}],135:[function(t,e,n){"use strict";e.exports={T_COMMENT:function(){for(;this.offset<this.size;){const t=this.input();if("\n"===t||"\r"===t)return this.tok.T_COMMENT;if("?"===t&&!this.aspTagMode&&">"===this._input[this.offset])return this.unput(1),this.tok.T_COMMENT;if("%"===t&&this.aspTagMode&&">"===this._input[this.offset])return this.unput(1),this.tok.T_COMMENT}return this.tok.T_COMMENT},T_DOC_COMMENT:function(){let t=this.input(),e=this.tok.T_COMMENT;if("*"===t){if(t=this.input(),this.is_WHITESPACE()&&(e=this.tok.T_DOC_COMMENT),"/"===t)return e;this.unput(1)}for(;this.offset<this.size;)if(t=this.input(),"*"===t&&"/"===this._input[this.offset]){this.input();break}return e}}},{}],136:[function(t,e,n){"use strict";e.exports={nextINITIAL:function(){return this.conditionStack.length>1&&"INITIAL"===this.conditionStack[this.conditionStack.length-1]?this.popState():this.begin("ST_IN_SCRIPTING"),this},matchINITIAL:function(){for(;this.offset<this.size;){let t=this.input();if("<"==t)if(t=this.ahead(1),"?"==t){if(this.tryMatch("?=")){this.unput(1).appendToken(this.tok.T_OPEN_TAG_WITH_ECHO,3).nextINITIAL();break}if(this.tryMatchCaseless("?php")&&(t=this._input[this.offset+4]," "===t||"\t"===t||"\n"===t||"\r"===t)){this.unput(1).appendToken(this.tok.T_OPEN_TAG,6).nextINITIAL();break}if(this.short_tags){this.unput(1).appendToken(this.tok.T_OPEN_TAG,2).nextINITIAL();break}}else if(this.asp_tags&&"%"==t){if(this.tryMatch("%=")){this.aspTagMode=!0,this.unput(1).appendToken(this.tok.T_OPEN_TAG_WITH_ECHO,3).nextINITIAL();break}this.aspTagMode=!0,this.unput(1).appendToken(this.tok.T_OPEN_TAG,2).nextINITIAL();break}}return this.yytext.length>0&&this.tok.T_INLINE_HTML}}},{}],137:[function(t,e,n){(function(t){(function(){"use strict";let n=10,i="2147483648";"x64"==t.arch&&(n=19,i="9223372036854775808"),e.exports={consume_NUM:function(){let t=this.yytext[0],e="."===t;if("0"===t)if(t=this.input(),"x"===t||"X"===t){if(t=this.input(),"_"!==t&&this.is_HEX())return this.consume_HNUM();this.unput(t?2:1)}else if("b"===t||"B"===t){if(t=this.input(),"_"!==t&&"0"===t||"1"===t)return this.consume_BNUM();this.unput(t?2:1)}else this.is_NUM()||t&&this.unput(1);for(;this.offset<this.size;){const n=t;if(t=this.input(),"_"===t){if("_"===n){this.unput(2);break}if("."===n){this.unput(1);break}if("e"===n||"E"===n){this.unput(2);break}}else{if("."===t){if(e){this.unput(1);break}if("_"===n){this.unput(2);break}e=!0;continue}if("e"===t||"E"===t){if("_"===n){this.unput(1);break}let e=2;if(t=this.input(),"+"!==t&&"-"!==t||(e=3,t=this.input()),this.is_NUM_START())return this.consume_LNUM(),this.tok.T_DNUMBER;this.unput(t?e:e-1);break}}if(!this.is_NUM()){t&&this.unput(1);break}}return e?this.tok.T_DNUMBER:this.yytext.length<n-1||this.yytext.length<n||this.yytext.length==n&&this.yytext<i?this.tok.T_LNUMBER:this.tok.T_DNUMBER},consume_HNUM:function(){for(;this.offset<this.size;){const t=this.input();if(!this.is_HEX()){t&&this.unput(1);break}}return this.tok.T_LNUMBER},consume_LNUM:function(){for(;this.offset<this.size;){const t=this.input();if(!this.is_NUM()){t&&this.unput(1);break}}return this.tok.T_LNUMBER},consume_BNUM:function(){let t;for(;this.offset<this.size;)if(t=this.input(),"0"!==t&&"1"!==t&&"_"!==t){t&&this.unput(1);break}return this.tok.T_LNUMBER}}}).call(this)}).call(this,t("_process"))},{_process:160}],138:[function(t,e,n){"use strict";e.exports={matchST_LOOKING_FOR_PROPERTY:function(){let t=this.input();if("-"===t){if(t=this.input(),">"===t)return this.tok.T_OBJECT_OPERATOR;t&&this.unput(1)}else{if(this.is_WHITESPACE())return this.tok.T_WHITESPACE;if(this.is_LABEL_START())return this.consume_LABEL(),this.popState(),this.tok.T_STRING}return this.popState(),t&&this.unput(1),!1},matchST_LOOKING_FOR_VARNAME:function(){let t=this.input();if(this.popState(),this.begin("ST_IN_SCRIPTING"),this.is_LABEL_START()){if(this.consume_LABEL(),t=this.input(),"["===t||"}"===t)return this.unput(1),this.tok.T_STRING_VARNAME;this.unput(this.yytext.length)}else t&&this.unput(1);return!1},matchST_VAR_OFFSET:function(){const t=this.input();if(this.is_NUM_START())return this.consume_NUM(),this.tok.T_NUM_STRING;if("]"===t)return this.popState(),"]";if("$"===t){if(this.input(),this.is_LABEL_START())return this.consume_LABEL(),this.tok.T_VARIABLE;throw new Error("Unexpected terminal")}if(this.is_LABEL_START())return this.consume_LABEL(),this.tok.T_STRING;if(this.is_WHITESPACE()||"\\"===t||"'"===t||"#"===t)return this.tok.T_ENCAPSED_AND_WHITESPACE;if("["===t||"{"===t||"}"===t||'"'===t||"`"===t||this.is_TOKEN())return t;throw new Error("Unexpected terminal")}}},{}],139:[function(t,e,n){"use strict";e.exports={matchST_IN_SCRIPTING:function(){let t=this.input();switch(t){case" ":case"\t":case"\n":case"\r":case"\r\n":return this.T_WHITESPACE();case"#":return"["===this._input[this.offset]?(this.input(),this.begin("ST_ATTRIBUTE"),this.tok.T_ATTRIBUTE):this.T_COMMENT();case"/":return"/"===this._input[this.offset]?this.T_COMMENT():"*"===this._input[this.offset]?(this.input(),this.T_DOC_COMMENT()):this.consume_TOKEN();case"'":return this.T_CONSTANT_ENCAPSED_STRING();case'"':return this.ST_DOUBLE_QUOTES();case"`":return this.begin("ST_BACKQUOTE"),"`";case"?":if(!this.aspTagMode&&this.tryMatch(">")){this.input();const t=this._input[this.offset];return"\n"!==t&&"\r"!==t||this.input(),this.conditionStack.length>1&&this.begin("INITIAL"),this.tok.T_CLOSE_TAG}return this.consume_TOKEN();case"%":return this.aspTagMode&&">"===this._input[this.offset]?(this.input(),t=this._input[this.offset],"\n"!==t&&"\r"!==t||this.input(),this.aspTagMode=!1,this.conditionStack.length>1&&this.begin("INITIAL"),this.tok.T_CLOSE_TAG):this.consume_TOKEN();case"{":return this.begin("ST_IN_SCRIPTING"),"{";case"}":return this.conditionStack.length>2&&this.popState(),"}";default:if("."===t){if(t=this.input(),this.is_NUM_START())return this.consume_NUM();t&&this.unput(1)}if(this.is_NUM_START())return this.consume_NUM();if(this.is_LABEL_START())return this.consume_LABEL().T_STRING();if(this.is_TOKEN())return this.consume_TOKEN()}throw new Error('Bad terminal sequence "'+t+'" at line '+this.yylineno+" (offset "+this.offset+")")},T_WHITESPACE:function(){for(;this.offset<this.size;){const t=this.input();if(" "!==t&&"\t"!==t&&"\n"!==t&&"\r"!==t){t&&this.unput(1);break}}return this.tok.T_WHITESPACE}}},{}],140:[function(t,e,n){"use strict";const i=["\n","\r"],r=["\n","\r",";"],o=r.concat(["\t"," ",",","]",")","/","=","!"]);e.exports={T_CONSTANT_ENCAPSED_STRING:function(){let t;for(;this.offset<this.size;)if(t=this.input(),"\\"==t)this.input();else if("'"==t)break;return this.tok.T_CONSTANT_ENCAPSED_STRING},is_HEREDOC:function(){const t=this.offset;if("<"===this._input[this.offset-1]&&"<"===this._input[this.offset]&&"<"===this._input[this.offset+1]){if(this.offset+=3,this.is_TABSPACE())for(;this.offset<this.size&&(this.offset++,this.is_TABSPACE()););let e=this._input[this.offset-1];if("'"===e||'"'===e?this.offset++:e=null,this.is_LABEL_START()){let n=this.offset-1;for(;this.offset<this.size&&(this.offset++,this.is_LABEL()););const r=this._input.substring(n,this.offset-1);if((!e||e===this._input[this.offset-1])&&(e&&this.offset++,i.includes(this._input[this.offset-1])))return this.heredoc_label.label=r,this.heredoc_label.length=r.length,this.heredoc_label.finished=!1,n=this.offset-t,this.offset=t,this.consume(n),"'"===e?this.begin("ST_NOWDOC"):this.begin("ST_HEREDOC"),this.prematch_ENDOFDOC(),this.tok.T_START_HEREDOC}}return this.offset=t,!1},ST_DOUBLE_QUOTES:function(){let t;for(;this.offset<this.size;)if(t=this.input(),"\\"==t)this.input();else{if('"'==t)break;if("$"==t){if(t=this.input(),"{"==t||this.is_LABEL_START()){this.unput(2);break}t&&this.unput(1)}else if("{"==t){if(t=this.input(),"$"==t){this.unput(2);break}t&&this.unput(1)}}if('"'==t)return this.tok.T_CONSTANT_ENCAPSED_STRING;{let t=1;return"b"!==this.yytext[0]&&"B"!==this.yytext[0]||(t=2),this.yytext.length>2&&this.appendToken(this.tok.T_ENCAPSED_AND_WHITESPACE,this.yytext.length-t),this.unput(this.yytext.length-t),this.begin("ST_DOUBLE_QUOTES"),this.yytext}},isDOC_MATCH:function(t,e){const n=this._input[t-2];if(!i.includes(n))return!1;let s=!1,a=!1,l=0,c=this._input[t-1];if(this.version>=703){for(;"\t"===c||" "===c;)" "===c?s=!0:"\t"===c&&(a=!0),c=this._input[t+l],l++;if(t+=l,i.includes(this._input[t-1]))return!1}if(this._input.substring(t-1,t-1+this.heredoc_label.length)===this.heredoc_label.label){const n=this._input[t-1+this.heredoc_label.length];if((this.version>=703?o:r).includes(n)){if(e){if(this.consume(l),s&&a)throw new Error("Parse error: mixing spaces and tabs in ending marker at line "+this.yylineno+" (offset "+this.offset+")")}else this.heredoc_label.indentation=l,this.heredoc_label.indentation_uses_spaces=s,this.heredoc_label.first_encaps_node=!0;return!0}}return!1},prematch_ENDOFDOC:function(){this.heredoc_label.indentation_uses_spaces=!1,this.heredoc_label.indentation=0,this.heredoc_label.first_encaps_node=!0;let t=this.offset+1;for(;t<this._input.length;){if(this.isDOC_MATCH(t,!1))return;if(!i.includes(this._input[t-1]))for(;!i.includes(this._input[t++])&&t<this._input.length;);t++}},matchST_NOWDOC:function(){if(this.isDOC_MATCH(this.offset,!0))return this.consume(this.heredoc_label.length),this.popState(),this.tok.T_END_HEREDOC;let t=this._input[this.offset-1];for(;this.offset<this.size;)if(i.includes(t)){if(t=this.input(),this.isDOC_MATCH(this.offset,!0))return this.unput(1).popState(),this.appendToken(this.tok.T_END_HEREDOC,this.heredoc_label.length),this.tok.T_ENCAPSED_AND_WHITESPACE}else t=this.input();return this.tok.T_ENCAPSED_AND_WHITESPACE},matchST_HEREDOC:function(){let t=this.input();if(this.isDOC_MATCH(this.offset,!0))return this.consume(this.heredoc_label.length-1),this.popState(),this.tok.T_END_HEREDOC;for(;this.offset<this.size;)if("\\"===t&&(t=this.input(),i.includes(t)||(t=this.input())),i.includes(t)){if(t=this.input(),this.isDOC_MATCH(this.offset,!0))return this.unput(1).popState(),this.appendToken(this.tok.T_END_HEREDOC,this.heredoc_label.length),this.tok.T_ENCAPSED_AND_WHITESPACE}else if("$"===t){if(t=this.input(),"{"===t)return this.begin("ST_LOOKING_FOR_VARNAME"),this.yytext.length>2?(this.appendToken(this.tok.T_DOLLAR_OPEN_CURLY_BRACES,2),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START()){const t=this.offset,e=this.consume_VARIABLE();return this.yytext.length>this.offset-t+2?(this.appendToken(e,this.offset-t+2),this.unput(this.offset-t+2),this.tok.T_ENCAPSED_AND_WHITESPACE):e}}else if("{"===t){if(t=this.input(),"$"===t)return this.begin("ST_IN_SCRIPTING"),this.yytext.length>2?(this.appendToken(this.tok.T_CURLY_OPEN,1),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):(this.unput(1),this.tok.T_CURLY_OPEN)}else t=this.input();return this.tok.T_ENCAPSED_AND_WHITESPACE},consume_VARIABLE:function(){this.consume_LABEL();const t=this.input();if("["==t)return this.unput(1),this.begin("ST_VAR_OFFSET"),this.tok.T_VARIABLE;if("-"===t){if(">"===this.input())return this.input(),this.is_LABEL_START()&&this.begin("ST_LOOKING_FOR_PROPERTY"),this.unput(3),this.tok.T_VARIABLE;this.unput(2)}else t&&this.unput(1);return this.tok.T_VARIABLE},matchST_BACKQUOTE:function(){let t=this.input();if("$"===t){if(t=this.input(),"{"===t)return this.begin("ST_LOOKING_FOR_VARNAME"),this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START()){return this.consume_VARIABLE()}}else if("{"===t){if("$"===this._input[this.offset])return this.begin("ST_IN_SCRIPTING"),this.tok.T_CURLY_OPEN}else if("`"===t)return this.popState(),"`";for(;this.offset<this.size;){if("\\"===t)this.input();else{if("`"===t){this.unput(1),this.popState(),this.appendToken("`",1);break}if("$"===t){if(t=this.input(),"{"===t)return this.begin("ST_LOOKING_FOR_VARNAME"),this.yytext.length>2?(this.appendToken(this.tok.T_DOLLAR_OPEN_CURLY_BRACES,2),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START()){const t=this.offset,e=this.consume_VARIABLE();return this.yytext.length>this.offset-t+2?(this.appendToken(e,this.offset-t+2),this.unput(this.offset-t+2),this.tok.T_ENCAPSED_AND_WHITESPACE):e}continue}if("{"===t){if(t=this.input(),"$"===t)return this.begin("ST_IN_SCRIPTING"),this.yytext.length>2?(this.appendToken(this.tok.T_CURLY_OPEN,1),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):(this.unput(1),this.tok.T_CURLY_OPEN);continue}}t=this.input()}return this.tok.T_ENCAPSED_AND_WHITESPACE},matchST_DOUBLE_QUOTES:function(){let t=this.input();if("$"===t){if(t=this.input(),"{"===t)return this.begin("ST_LOOKING_FOR_VARNAME"),this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START()){return this.consume_VARIABLE()}}else if("{"===t){if("$"===this._input[this.offset])return this.begin("ST_IN_SCRIPTING"),this.tok.T_CURLY_OPEN}else if('"'===t)return this.popState(),'"';for(;this.offset<this.size;){if("\\"===t)this.input();else{if('"'===t){this.unput(1),this.popState(),this.appendToken('"',1);break}if("$"===t){if(t=this.input(),"{"===t)return this.begin("ST_LOOKING_FOR_VARNAME"),this.yytext.length>2?(this.appendToken(this.tok.T_DOLLAR_OPEN_CURLY_BRACES,2),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START()){const t=this.offset,e=this.consume_VARIABLE();return this.yytext.length>this.offset-t+2?(this.appendToken(e,this.offset-t+2),this.unput(this.offset-t+2),this.tok.T_ENCAPSED_AND_WHITESPACE):e}t&&this.unput(1)}else if("{"===t){if(t=this.input(),"$"===t)return this.begin("ST_IN_SCRIPTING"),this.yytext.length>2?(this.appendToken(this.tok.T_CURLY_OPEN,1),this.unput(2),this.tok.T_ENCAPSED_AND_WHITESPACE):(this.unput(1),this.tok.T_CURLY_OPEN);t&&this.unput(1)}}t=this.input()}return this.tok.T_ENCAPSED_AND_WHITESPACE}}},{}],141:[function(t,e,n){"use strict";e.exports={T_STRING:function(){const t=this.yytext.toLowerCase();let e=this.keywords[t];if("number"!=typeof e)if("yield"===t)this.version>=700&&this.tryMatch(" from")?(this.consume(5),e=this.tok.T_YIELD_FROM):e=this.tok.T_YIELD;else if(e=this.tok.T_STRING,"b"===t||"B"===t){const t=this.input(1);if('"'===t)return this.ST_DOUBLE_QUOTES();if("'"===t)return this.T_CONSTANT_ENCAPSED_STRING();t&&this.unput(1)}return e},consume_TOKEN:function(){const t=this._input[this.offset-1],e=this.tokenTerminals[t];return e?e.apply(this,[]):this.yytext},tokenTerminals:{$:function(){return this.offset++,this.is_LABEL_START()?(this.offset--,this.consume_LABEL(),this.tok.T_VARIABLE):(this.offset--,"$")},"-":function(){const t=this._input[this.offset];return">"===t?(this.begin("ST_LOOKING_FOR_PROPERTY").input(),this.tok.T_OBJECT_OPERATOR):"-"===t?(this.input(),this.tok.T_DEC):"="===t?(this.input(),this.tok.T_MINUS_EQUAL):"-"},"\\":function(){return this.tok.T_NS_SEPARATOR},"/":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_DIV_EQUAL):"/"},":":function(){return":"===this._input[this.offset]?(this.input(),this.tok.T_DOUBLE_COLON):":"},"(":function(){const t=this.offset;if(this.input(),this.is_TABSPACE()&&this.consume_TABSPACE().input(),this.is_LABEL_START()){const t=this.yytext.length;this.consume_LABEL();const e=this.yytext.substring(t-1).toLowerCase(),n=this.castKeywords[e];if("number"==typeof n&&(this.input(),this.is_TABSPACE()&&this.consume_TABSPACE().input(),")"===this._input[this.offset-1]))return n}return this.unput(this.offset-t),"("},"=":function(){const t=this._input[this.offset];return">"===t?(this.input(),this.tok.T_DOUBLE_ARROW):"="===t?"="===this._input[this.offset+1]?(this.consume(2),this.tok.T_IS_IDENTICAL):(this.input(),this.tok.T_IS_EQUAL):"="},"+":function(){const t=this._input[this.offset];return"+"===t?(this.input(),this.tok.T_INC):"="===t?(this.input(),this.tok.T_PLUS_EQUAL):"+"},"!":function(){return"="===this._input[this.offset]?"="===this._input[this.offset+1]?(this.consume(2),this.tok.T_IS_NOT_IDENTICAL):(this.input(),this.tok.T_IS_NOT_EQUAL):"!"},"?":function(){return this.version>=700&&"?"===this._input[this.offset]?this.version>=704&&"="===this._input[this.offset+1]?(this.consume(2),this.tok.T_COALESCE_EQUAL):(this.input(),this.tok.T_COALESCE):this.version>=800&&"-"===this._input[this.offset]&&">"===this._input[this.offset+1]?(this.consume(2),this.tok.T_NULLSAFE_OBJECT_OPERATOR):"?"},"<":function(){let t=this._input[this.offset];return"<"===t?(t=this._input[this.offset+1],"="===t?(this.consume(2),this.tok.T_SL_EQUAL):"<"===t&&this.is_HEREDOC()?this.tok.T_START_HEREDOC:(this.input(),this.tok.T_SL)):"="===t?(this.input(),this.version>=700&&">"===this._input[this.offset]?(this.input(),this.tok.T_SPACESHIP):this.tok.T_IS_SMALLER_OR_EQUAL):">"===t?(this.input(),this.tok.T_IS_NOT_EQUAL):"<"},">":function(){let t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_IS_GREATER_OR_EQUAL):">"===t?(t=this._input[this.offset+1],"="===t?(this.consume(2),this.tok.T_SR_EQUAL):(this.input(),this.tok.T_SR)):">"},"*":function(){const t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_MUL_EQUAL):"*"===t?(this.input(),"="===this._input[this.offset]?(this.input(),this.tok.T_POW_EQUAL):this.tok.T_POW):"*"},".":function(){const t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_CONCAT_EQUAL):"."===t&&"."===this._input[this.offset+1]?(this.consume(2),this.tok.T_ELLIPSIS):"."},"%":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_MOD_EQUAL):"%"},"&":function(){const t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_AND_EQUAL):"&"===t?(this.input(),this.tok.T_BOOLEAN_AND):"&"},"|":function(){const t=this._input[this.offset];return"="===t?(this.input(),this.tok.T_OR_EQUAL):"|"===t?(this.input(),this.tok.T_BOOLEAN_OR):"|"},"^":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_XOR_EQUAL):"^"}}}},{}],142:[function(t,e,n){"use strict";e.exports={is_NUM:function(){const t=this._input.charCodeAt(this.offset-1);return t>47&&t<58||95===t},is_NUM_START:function(){const t=this._input.charCodeAt(this.offset-1);return t>47&&t<58},is_LABEL:function(){const t=this._input.charCodeAt(this.offset-1);return t>96&&t<123||t>64&&t<91||95===t||t>47&&t<58||t>126},is_LABEL_START:function(){const t=this._input.charCodeAt(this.offset-1);return t>64&&t<91||(t>96&&t<123||(95===t||t>126))},consume_LABEL:function(){for(;this.offset<this.size;){const t=this.input();if(!this.is_LABEL()){t&&this.unput(1);break}}return this},is_TOKEN:function(){const t=this._input[this.offset-1];return-1!==";:,.\\[]()|^&+-/*=%!~$<>?@".indexOf(t)},is_WHITESPACE:function(){const t=this._input[this.offset-1];return" "===t||"\t"===t||"\n"===t||"\r"===t},is_TABSPACE:function(){const t=this._input[this.offset-1];return" "===t||"\t"===t},consume_TABSPACE:function(){for(;this.offset<this.size;){const t=this.input();if(!this.is_TABSPACE()){t&&this.unput(1);break}}return this},is_HEX:function(){const t=this._input.charCodeAt(this.offset-1);return t>47&&t<58||(t>64&&t<71||(t>96&&t<103||95===t))}}},{}],143:[function(t,e,n){"use strict";function i(t){return"."!=t&&","!=t&&!isNaN(parseFloat(t))&&isFinite(t)}const r=function(t,e){this.lexer=t,this.ast=e,this.tok=t.tok,this.EOF=t.EOF,this.token=null,this.prev=null,this.debug=!1,this.version=800,this.extractDoc=!1,this.extractTokens=!1,this.suppressErrors=!1;const n=function(t){return[t,null]};this.entries={IDENTIFIER:new Map([this.tok.T_ABSTRACT,this.tok.T_ARRAY,this.tok.T_AS,this.tok.T_BREAK,this.tok.T_CALLABLE,this.tok.T_CASE,this.tok.T_CATCH,this.tok.T_CLASS,this.tok.T_CLASS_C,this.tok.T_CLONE,this.tok.T_CONST,this.tok.T_CONTINUE,this.tok.T_DECLARE,this.tok.T_DEFAULT,this.tok.T_DIR,this.tok.T_DO,this.tok.T_ECHO,this.tok.T_ELSE,this.tok.T_ELSEIF,this.tok.T_EMPTY,this.tok.T_ENDDECLARE,this.tok.T_ENDFOR,this.tok.T_ENDFOREACH,this.tok.T_ENDIF,this.tok.T_ENDSWITCH,this.tok.T_ENDWHILE,this.tok.T_EVAL,this.tok.T_EXIT,this.tok.T_EXTENDS,this.tok.T_FILE,this.tok.T_FINAL,this.tok.T_FINALLY,this.tok.T_FN,this.tok.T_FOR,this.tok.T_FOREACH,this.tok.T_FUNC_C,this.tok.T_FUNCTION,this.tok.T_GLOBAL,this.tok.T_GOTO,this.tok.T_IF,this.tok.T_IMPLEMENTS,this.tok.T_INCLUDE,this.tok.T_INCLUDE_ONCE,this.tok.T_INSTANCEOF,this.tok.T_INSTEADOF,this.tok.T_INTERFACE,this.tok.T_ISSET,this.tok.T_LINE,this.tok.T_LIST,this.tok.T_LOGICAL_AND,this.tok.T_LOGICAL_OR,this.tok.T_LOGICAL_XOR,this.tok.T_MATCH,this.tok.T_METHOD_C,this.tok.T_NAMESPACE,this.tok.T_NEW,this.tok.T_NS_C,this.tok.T_PRINT,this.tok.T_PRIVATE,this.tok.T_PROTECTED,this.tok.T_PUBLIC,this.tok.T_REQUIRE,this.tok.T_REQUIRE_ONCE,this.tok.T_RETURN,this.tok.T_STATIC,this.tok.T_SWITCH,this.tok.T_THROW,this.tok.T_TRAIT,this.tok.T_TRY,this.tok.T_UNSET,this.tok.T_USE,this.tok.T_VAR,this.tok.T_WHILE,this.tok.T_YIELD].map(n)),VARIABLE:new Map([this.tok.T_VARIABLE,"$","&",this.tok.T_NS_SEPARATOR,this.tok.T_STRING,this.tok.T_NAMESPACE,this.tok.T_STATIC].map(n)),SCALAR:new Map([this.tok.T_CONSTANT_ENCAPSED_STRING,this.tok.T_START_HEREDOC,this.tok.T_LNUMBER,this.tok.T_DNUMBER,this.tok.T_ARRAY,"[",this.tok.T_CLASS_C,this.tok.T_TRAIT_C,this.tok.T_FUNC_C,this.tok.T_METHOD_C,this.tok.T_LINE,this.tok.T_FILE,this.tok.T_DIR,this.tok.T_NS_C,'"','b"','B"',"-",this.tok.T_NS_SEPARATOR].map(n)),T_MAGIC_CONST:new Map([this.tok.T_CLASS_C,this.tok.T_TRAIT_C,this.tok.T_FUNC_C,this.tok.T_METHOD_C,this.tok.T_LINE,this.tok.T_FILE,this.tok.T_DIR,this.tok.T_NS_C].map(n)),T_MEMBER_FLAGS:new Map([this.tok.T_PUBLIC,this.tok.T_PRIVATE,this.tok.T_PROTECTED,this.tok.T_STATIC,this.tok.T_ABSTRACT,this.tok.T_FINAL].map(n)),EOS:new Map([";",this.EOF,this.tok.T_INLINE_HTML].map(n)),EXPR:new Map(["@","-","+","!","~","(","`",this.tok.T_LIST,this.tok.T_CLONE,this.tok.T_INC,this.tok.T_DEC,this.tok.T_NEW,this.tok.T_ISSET,this.tok.T_EMPTY,this.tok.T_MATCH,this.tok.T_INCLUDE,this.tok.T_INCLUDE_ONCE,this.tok.T_REQUIRE,this.tok.T_REQUIRE_ONCE,this.tok.T_EVAL,this.tok.T_INT_CAST,this.tok.T_DOUBLE_CAST,this.tok.T_STRING_CAST,this.tok.T_ARRAY_CAST,this.tok.T_OBJECT_CAST,this.tok.T_BOOL_CAST,this.tok.T_UNSET_CAST,this.tok.T_EXIT,this.tok.T_PRINT,this.tok.T_YIELD,this.tok.T_STATIC,this.tok.T_FUNCTION,this.tok.T_FN,this.tok.T_VARIABLE,"$",this.tok.T_NS_SEPARATOR,this.tok.T_STRING,this.tok.T_STRING,this.tok.T_CONSTANT_ENCAPSED_STRING,this.tok.T_START_HEREDOC,this.tok.T_LNUMBER,this.tok.T_DNUMBER,this.tok.T_ARRAY,"[",this.tok.T_CLASS_C,this.tok.T_TRAIT_C,this.tok.T_FUNC_C,this.tok.T_METHOD_C,this.tok.T_LINE,this.tok.T_FILE,this.tok.T_DIR,this.tok.T_NS_C,'"','b"','B"',"-",this.tok.T_NS_SEPARATOR].map(n))}};r.prototype.getTokenName=function(t){return i(t)?t==this.EOF?"the end of file (EOF)":this.lexer.engine.tokens.values[t]:"'"+t+"'"},r.prototype.parse=function(t,e){this._errors=[],this.filename=e||"eval",this.currentNamespace=[""],this.extractDoc?this._docs=[]:this._docs=null,this.extractTokens?this._tokens=[]:this._tokens=null,this._docIndex=0,this._lastNode=null,this.lexer.setInput(t),this.lexer.all_tokens=this.extractTokens,this.lexer.comment_tokens=this.extractDoc,this.length=this.lexer._input.length,this.innerList=!1,this.innerListForm=!1;const n=this.node("program"),i=[];for(this.next();this.token!=this.EOF;)i.push(this.read_start());0===i.length&&this.extractDoc&&this._docs.length>this._docIndex&&i.push(this.node("noop")()),this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset];const r=n(i,this._errors,this._docs,this._tokens);if(this.debug){const t=this.ast.checkNodes();if(t.length>0)throw t.forEach((function(t){t.position&&console.log("Node at line "+t.position.line+", column "+t.position.column),console.log(t.stack.join("\n"))})),new Error("Some nodes are not closed")}return r},r.prototype.raiseError=function(t,e,n,i){if(t+=" on line "+this.lexer.yylloc.first_line,!this.suppressErrors){const e=new SyntaxError(t,this.filename,this.lexer.yylloc.first_line);throw e.lineNumber=this.lexer.yylloc.first_line,e.fileName=this.filename,e.columnNumber=this.lexer.yylloc.first_column,e}const r=this.ast.prepare("error",null,this)(t,i,this.lexer.yylloc.first_line,n);return this._errors.push(r),r},r.prototype.error=function(t){let e="Parse Error : syntax error",n=this.getTokenName(this.token),r="";if(this.token!==this.EOF){if(i(this.token)){let t=this.text();t.length>10&&(t=t.substring(0,7)+"..."),n="'"+t+"' ("+n+")"}e+=", unexpected "+n}return t&&!Array.isArray(t)&&((i(t)||1===t.length)&&(r=", expecting "+this.getTokenName(t)),e+=r),this.raiseError(e,r,t,n)},r.prototype.node=function(t){if(this.extractDoc){let e=null;this._docIndex<this._docs.length&&(e=this._docs.slice(this._docIndex),this._docIndex=this._docs.length,this.debug&&(console.log(new Error("Append docs on "+t)),console.log(e)));const n=this.ast.prepare(t,e,this);return n.postBuild=function(t){if(this._docIndex<this._docs.length)if(this._lastNode){const t=this.prev[2];let e=this._docIndex;for(;e<this._docs.length&&!(this._docs[e].offset>t);e++);e>this._docIndex&&(this._lastNode.setTrailingComments(this._docs.slice(this._docIndex,e)),this._docIndex=e)}else this.token===this.EOF&&(t.setTrailingComments(this._docs.slice(this._docIndex)),this._docIndex=this._docs.length);this._lastNode=t}.bind(this),n}return this.ast.prepare(t,null,this)},r.prototype.expectEndOfStatement=function(t){if(";"===this.token)t&&";"===this.lexer.yytext&&t.includeToken(this);else if(this.token!==this.tok.T_INLINE_HTML&&this.token!==this.EOF)return this.error(";"),!1;return this.next(),!0};const o=["parser.next","parser.node","parser.showlog"];r.prototype.showlog=function(){const t=(new Error).stack.split("\n");let e;for(let n=2;n<t.length;n++){e=t[n].trim();let i=!1;for(let t=0;t<o.length;t++)if(e.substring(3,3+o[t].length)===o[t]){i=!0;break}if(!i)break}return console.log("Line "+this.lexer.yylloc.first_line+" : "+this.getTokenName(this.token)+">"+this.lexer.yytext+"< @--\x3e"+e),this},r.prototype.expect=function(t){if(Array.isArray(t)){if(-1===t.indexOf(this.token))return this.error(t),!1}else if(this.token!=t)return this.error(t),!1;return!0},r.prototype.text=function(){return this.lexer.yytext},r.prototype.next=function(){if(";"===this.token&&";"!==this.lexer.yytext||(this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset]),this.lex(),this.debug&&this.showlog(),this.extractDoc)for(;this.token===this.tok.T_COMMENT||this.token===this.tok.T_DOC_COMMENT;)this.token===this.tok.T_COMMENT?this._docs.push(this.read_comment()):this._docs.push(this.read_doc_comment());return this},r.prototype.lex=function(){if(this.extractTokens)do{if(this.token=this.lexer.lex()||this.EOF,this.token===this.EOF)return this;let t=this.lexer.yytext;if(t=this.lexer.engine.tokens.values.hasOwnProperty(this.token)?[this.lexer.engine.tokens.values[this.token],t,this.lexer.yylloc.first_line,this.lexer.yylloc.first_offset,this.lexer.offset]:[null,t,this.lexer.yylloc.first_line,this.lexer.yylloc.first_offset,this.lexer.offset],this._tokens.push(t),this.token===this.tok.T_CLOSE_TAG)return this.token=";",this;if(this.token===this.tok.T_OPEN_TAG_WITH_ECHO)return this.token=this.tok.T_ECHO,this}while(this.token===this.tok.T_WHITESPACE||!this.extractDoc&&(this.token===this.tok.T_COMMENT||this.token===this.tok.T_DOC_COMMENT)||this.token===this.tok.T_OPEN_TAG);else this.token=this.lexer.lex()||this.EOF;return this},r.prototype.is=function(t){return Array.isArray(t)?-1!==t.indexOf(this.token):this.entries[t].has(this.token)},[t("./parser/array.js"),t("./parser/class.js"),t("./parser/comment.js"),t("./parser/expr.js"),t("./parser/function.js"),t("./parser/if.js"),t("./parser/loops.js"),t("./parser/main.js"),t("./parser/namespace.js"),t("./parser/scalar.js"),t("./parser/statement.js"),t("./parser/switch.js"),t("./parser/try.js"),t("./parser/utils.js"),t("./parser/variable.js")].forEach((function(t){for(const e in t){if(r.prototype.hasOwnProperty(e))throw new Error("Function "+e+" is already defined - collision");r.prototype[e]=t[e]}})),e.exports=r},{"./parser/array.js":144,"./parser/class.js":145,"./parser/comment.js":146,"./parser/expr.js":147,"./parser/function.js":148,"./parser/if.js":149,"./parser/loops.js":150,"./parser/main.js":151,"./parser/namespace.js":152,"./parser/scalar.js":153,"./parser/statement.js":154,"./parser/switch.js":155,"./parser/try.js":156,"./parser/utils.js":157,"./parser/variable.js":158}],144:[function(t,e,n){"use strict";e.exports={read_array:function(){let t=null,e=!1;const n=this.node("array");this.token===this.tok.T_ARRAY?(this.next().expect("("),t=")"):(e=!0,t="]");let i=[];return this.next().token!==t&&(i=this.read_array_pair_list(e)),this.expect(t),this.next(),n(e,i)},read_array_pair_list:function(t){const e=this;return this.read_list((function(){return e.read_array_pair(t)}),",",!0)},read_array_pair:function(t){if(!t&&")"===this.token||t&&"]"===this.token)return;if(","===this.token)return this.node("noop")();const e=this.node("entry");let n=null,i=null,r=!1,o=!1;if("&"===this.token)this.next(),r=!0,i=this.read_variable(!0,!1);else if(this.token===this.tok.T_ELLIPSIS&&this.version>=704)this.next(),"&"===this.token&&this.error(),o=!0,i=this.read_expr();else{const t=this.read_expr();this.token===this.tok.T_DOUBLE_ARROW?(this.next(),n=t,"&"===this.token?(this.next(),r=!0,i=this.read_variable(!0,!1)):i=this.read_expr()):i=t}return e(n,i,r,o)}}},{}],145:[function(t,e,n){"use strict";e.exports={read_class_declaration_statement:function(t){const e=this.node("class"),n=this.read_class_modifiers();if(this.token!==this.tok.T_CLASS)return this.error(this.tok.T_CLASS),this.next(),null;this.next().expect(this.tok.T_STRING);let i=this.node("identifier");const r=this.text();this.next(),i=i(r);const o=this.read_extends_from(),s=this.read_implements_list();this.expect("{");const a=e(i,o,s,this.next().read_class_body(),n);return t&&(a.attrGroups=t),a},read_class_modifiers:function(){return[0,0,this.read_class_modifier()]},read_class_modifier:function(){return this.token===this.tok.T_ABSTRACT?(this.next(),1):this.token===this.tok.T_FINAL?(this.next(),2):0},read_class_body:function(){let t=[],e=[];for(;this.token!==this.EOF&&"}"!==this.token;){if(this.token===this.tok.T_COMMENT){t.push(this.read_comment());continue}if(this.token===this.tok.T_DOC_COMMENT){t.push(this.read_doc_comment());continue}if(this.token===this.tok.T_USE){t=t.concat(this.read_trait_use_statement());continue}this.token===this.tok.T_ATTRIBUTE&&(e=this.read_attr_list());const n=this.read_member_flags(!1);if(this.token!==this.tok.T_CONST)if(this.token===this.tok.T_VAR&&(this.next().expect(this.tok.T_VARIABLE),n[0]=null,n[1]=0),this.token===this.tok.T_FUNCTION)t.push(this.read_function(!1,n,e)),e=[];else if(this.token===this.tok.T_VARIABLE||this.version>=704&&("?"===this.token||this.token===this.tok.T_CALLABLE||this.token===this.tok.T_ARRAY||this.token===this.tok.T_NS_SEPARATOR||this.token===this.tok.T_STRING||this.token===this.tok.T_NAMESPACE)){const i=this.read_variable_list(n,e);e=[],this.expect(";"),this.next(),t=t.concat(i)}else this.error([this.tok.T_CONST,this.tok.T_VARIABLE,this.tok.T_FUNCTION]),this.next();else{const i=this.read_constant_list(n,e);this.expect(";")&&this.next(),t=t.concat(i)}}return this.expect("}"),this.next(),t},read_variable_list:function(t,e){const n=this.node("propertystatement"),i=this.read_list((function(){const t=this.node("property"),[n,i]=this.read_optional_type();this.expect(this.tok.T_VARIABLE);let r=this.node("identifier");const o=this.text().substring(1);return this.next(),r=r(o),";"===this.token||","===this.token?t(r,null,n,i,e||[]):"="===this.token?t(r,this.next().read_expr(),n,i,e||[]):(this.expect([",",";","="]),t(r,null,n,i,e||[]))}),",");return n(null,i,t)},read_constant_list:function(t,e){this.expect(this.tok.T_CONST)&&this.next();const n=this.node("classconstant"),i=this.read_list((function(){const t=this.node("constant");let e=null,n=null;if(this.token===this.tok.T_STRING||this.version>=700&&this.is("IDENTIFIER")){e=this.node("identifier");const t=this.text();this.next(),e=e(t)}else this.expect("IDENTIFIER");return this.expect("=")&&(n=this.next().read_expr()),t(e,n)}),",");return n(null,i,t,e||[])},read_member_flags:function(t){const e=[-1,-1,-1];if(this.is("T_MEMBER_FLAGS")){let n=0,i=0;do{switch(this.token){case this.tok.T_PUBLIC:n=0,i=0;break;case this.tok.T_PROTECTED:n=0,i=1;break;case this.tok.T_PRIVATE:n=0,i=2;break;case this.tok.T_STATIC:n=1,i=1;break;case this.tok.T_ABSTRACT:n=2,i=1;break;case this.tok.T_FINAL:n=2,i=2}t&&(0==n&&2==i?(this.expect([this.tok.T_PUBLIC,this.tok.T_PROTECTED]),i=-1):2==n&&1==i&&(this.error(),i=-1)),-1!==e[n]?this.error():-1!==i&&(e[n]=i)}while(this.next().is("T_MEMBER_FLAGS"))}return-1==e[1]&&(e[1]=0),-1==e[2]&&(e[2]=0),e},read_optional_type:function(){let t=!1;"?"===this.token&&(t=!0,this.next());let e=this.read_types();if(t&&!e&&this.raiseError("Expecting a type definition combined with nullable operator"),!t&&!e)return[!1,null];if("|"===this.token){e=[e];do{this.next();const t=this.read_type();if(!t){this.raiseError("Expecting a type definition");break}e.push(t)}while("|"===this.token)}return[t,e]},read_interface_declaration_statement:function(t){const e=this.node("interface");if(this.token!==this.tok.T_INTERFACE)return this.error(this.tok.T_INTERFACE),this.next(),null;this.next().expect(this.tok.T_STRING);let n=this.node("identifier");const i=this.text();this.next(),n=n(i);const r=this.read_interface_extends_list();this.expect("{");return e(n,r,this.next().read_interface_body(),t||[])},read_interface_body:function(){let t=[],e=[];for(;this.token!==this.EOF&&"}"!==this.token;){if(this.token===this.tok.T_COMMENT){t.push(this.read_comment());continue}if(this.token===this.tok.T_DOC_COMMENT){t.push(this.read_doc_comment());continue}e=this.read_attr_list();const n=this.read_member_flags(!0);if(this.token==this.tok.T_CONST){const i=this.read_constant_list(n,e);this.expect(";")&&this.next(),t=t.concat(i),e=[]}else if(this.token===this.tok.T_FUNCTION){const i=this.read_function_declaration(2,n,e);i.parseFlags(n),t.push(i),this.expect(";")&&this.next(),e=[]}else this.error([this.tok.T_CONST,this.tok.T_FUNCTION]),this.next()}return this.expect("}")&&this.next(),t},read_trait_declaration_statement:function(){const t=this.node("trait");if(this.token!==this.tok.T_TRAIT)return this.error(this.tok.T_TRAIT),this.next(),null;this.next().expect(this.tok.T_STRING);let e=this.node("identifier");const n=this.text();this.next(),e=e(n),this.expect("{");return t(e,this.next().read_class_body())},read_trait_use_statement:function(){const t=this.node("traituse");this.expect(this.tok.T_USE)&&this.next();const e=[this.read_namespace_name()];let n=null;for(;","===this.token;)e.push(this.next().read_namespace_name());if("{"===this.token){for(n=[];this.next().token!==this.EOF&&"}"!==this.token;)n.push(this.read_trait_use_alias()),this.expect(";");this.expect("}")&&this.next()}else this.expect(";")&&this.next();return t(e,n)},read_trait_use_alias:function(){const t=this.node();let e,n=null;if(this.is("IDENTIFIER")){e=this.node("identifier");const t=this.text();this.next(),e=e(t)}else if(e=this.read_namespace_name(),this.token===this.tok.T_DOUBLE_COLON)if(this.next(),this.token===this.tok.T_STRING||this.version>=700&&this.is("IDENTIFIER")){n=e,e=this.node("identifier");const t=this.text();this.next(),e=e(t)}else this.expect(this.tok.T_STRING);else e=e.name;if(this.token===this.tok.T_INSTEADOF)return t("traitprecedence",n,e,this.next().read_name_list());if(this.token===this.tok.T_AS){let i=null,r=null;if(this.next().is("T_MEMBER_FLAGS")&&(i=this.read_member_flags()),this.token===this.tok.T_STRING||this.version>=700&&this.is("IDENTIFIER")){r=this.node("identifier");const t=this.text();this.next(),r=r(t)}else!1===i&&this.expect(this.tok.T_STRING);return t("traitalias",n,e,r,i)}return this.expect([this.tok.T_AS,this.tok.T_INSTEADOF]),t("traitalias",n,e,null,null)}}},{}],146:[function(t,e,n){"use strict";e.exports={read_comment:function(){const t=this.text();let e=this.ast.prepare("/*"===t.substring(0,2)?"commentblock":"commentline",null,this);const n=this.lexer.yylloc.first_offset,i=this.prev;return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],this.lex(),e=e(t),e.offset=n,this.prev=i,e},read_doc_comment:function(){let t=this.ast.prepare("commentblock",null,this);const e=this.lexer.yylloc.first_offset,n=this.text(),i=this.prev;return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],this.lex(),t=t(n),t.offset=e,this.prev=i,t}}},{}],147:[function(t,e,n){"use strict";e.exports={read_expr:function(t){const e=this.node();if("@"===this.token)return t||(t=this.next().read_expr()),e("silent",t);if(t||(t=this.read_expr_item()),"|"===this.token)return e("bin","|",t,this.next().read_expr());if("&"===this.token)return e("bin","&",t,this.next().read_expr());if("^"===this.token)return e("bin","^",t,this.next().read_expr());if("."===this.token)return e("bin",".",t,this.next().read_expr());if("+"===this.token)return e("bin","+",t,this.next().read_expr());if("-"===this.token)return e("bin","-",t,this.next().read_expr());if("*"===this.token)return e("bin","*",t,this.next().read_expr());if("/"===this.token)return e("bin","/",t,this.next().read_expr());if("%"===this.token)return e("bin","%",t,this.next().read_expr());if(this.token===this.tok.T_POW)return e("bin","**",t,this.next().read_expr());if(this.token===this.tok.T_SL)return e("bin","<<",t,this.next().read_expr());if(this.token===this.tok.T_SR)return e("bin",">>",t,this.next().read_expr());if(this.token===this.tok.T_BOOLEAN_OR)return e("bin","||",t,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_OR)return e("bin","or",t,this.next().read_expr());if(this.token===this.tok.T_BOOLEAN_AND)return e("bin","&&",t,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_AND)return e("bin","and",t,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_XOR)return e("bin","xor",t,this.next().read_expr());if(this.token===this.tok.T_IS_IDENTICAL)return e("bin","===",t,this.next().read_expr());if(this.token===this.tok.T_IS_NOT_IDENTICAL)return e("bin","!==",t,this.next().read_expr());if(this.token===this.tok.T_IS_EQUAL)return e("bin","==",t,this.next().read_expr());if(this.token===this.tok.T_IS_NOT_EQUAL)return e("bin","!=",t,this.next().read_expr());if("<"===this.token)return e("bin","<",t,this.next().read_expr());if(">"===this.token)return e("bin",">",t,this.next().read_expr());if(this.token===this.tok.T_IS_SMALLER_OR_EQUAL)return e("bin","<=",t,this.next().read_expr());if(this.token===this.tok.T_IS_GREATER_OR_EQUAL)return e("bin",">=",t,this.next().read_expr());if(this.token===this.tok.T_SPACESHIP)return e("bin","<=>",t,this.next().read_expr());if(this.token===this.tok.T_INSTANCEOF&&(t=e("bin","instanceof",t,this.next().read_class_name_reference()),";"!==this.token&&this.token!==this.tok.T_INLINE_HTML&&this.token!==this.EOF&&(t=this.read_expr(t))),this.token===this.tok.T_COALESCE)return e("bin","??",t,this.next().read_expr());if("?"===this.token){let n=null;return":"!==this.next().token&&(n=this.read_expr()),this.expect(":")&&this.next(),e("retif",t,n,this.read_expr())}return e.destroy(t),t},read_expr_cast:function(t){return this.node("cast")(t,this.text(),this.next().read_expr())},read_isset_variable:function(){return this.read_expr()},read_isset_variables:function(){return this.read_function_list(this.read_isset_variable,",")},read_internal_functions_in_yacc:function(){let t=null;switch(this.token){case this.tok.T_ISSET:{t=this.node("isset"),this.next().expect("(")&&this.next();const e=this.read_isset_variables();this.expect(")")&&this.next(),t=t(e)}break;case this.tok.T_EMPTY:{t=this.node("empty"),this.next().expect("(")&&this.next();const e=this.read_expr();this.expect(")")&&this.next(),t=t(e)}break;case this.tok.T_INCLUDE:t=this.node("include")(!1,!1,this.next().read_expr());break;case this.tok.T_INCLUDE_ONCE:t=this.node("include")(!0,!1,this.next().read_expr());break;case this.tok.T_EVAL:{t=this.node("eval"),this.next().expect("(")&&this.next();const e=this.read_expr();this.expect(")")&&this.next(),t=t(e)}break;case this.tok.T_REQUIRE:t=this.node("include")(!1,!0,this.next().read_expr());break;case this.tok.T_REQUIRE_ONCE:t=this.node("include")(!0,!0,this.next().read_expr())}return t},read_optional_expr:function(t){return this.token!==t?this.read_expr():null},read_exit_expr:function(){let t=null;return"("===this.token&&(this.next(),t=this.read_optional_expr(")"),this.expect(")")&&this.next()),t},read_expr_item:function(){let t,e,n=[];if("+"===this.token)return this.node("unary")("+",this.next().read_expr());if("-"===this.token)return this.node("unary")("-",this.next().read_expr());if("!"===this.token)return this.node("unary")("!",this.next().read_expr());if("~"===this.token)return this.node("unary")("~",this.next().read_expr());if("("===this.token)return e=this.next().read_expr(),e.parenthesizedExpression=!0,this.expect(")")&&this.next(),this.handleDereferencable(e);if("`"===this.token)return this.read_encapsed_string("`");if(this.token===this.tok.T_LIST){let e=null;const n=this.innerList;t=this.node("list"),n||(e=this.node("assign")),this.next().expect("(")&&this.next(),this.innerList||(this.innerList=!0);const i=this.read_array_pair_list(!1);this.expect(")")&&this.next();let r=!1;for(let t=0;t<i.length;t++)if(null!==i[t]&&"noop"!==i[t].kind){r=!0;break}return r||this.raiseError("Fatal Error : Cannot use empty list on line "+this.lexer.yylloc.first_line),n?t(i,!1):(this.innerList=!1,this.expect("=")?e(t(i,!1),this.next().read_expr(),"="):t(i,!1))}if(this.token===this.tok.T_ATTRIBUTE&&(n=this.read_attr_list()),this.token===this.tok.T_CLONE)return this.node("clone")(this.next().read_expr());switch(this.token){case this.tok.T_INC:return this.node("pre")("+",this.next().read_variable(!1,!1));case this.tok.T_DEC:return this.node("pre")("-",this.next().read_variable(!1,!1));case this.tok.T_NEW:return this.read_new_expr();case this.tok.T_ISSET:case this.tok.T_EMPTY:case this.tok.T_INCLUDE:case this.tok.T_INCLUDE_ONCE:case this.tok.T_EVAL:case this.tok.T_REQUIRE:case this.tok.T_REQUIRE_ONCE:return this.read_internal_functions_in_yacc();case this.tok.T_MATCH:return this.read_match_expression();case this.tok.T_INT_CAST:return this.read_expr_cast("int");case this.tok.T_DOUBLE_CAST:return this.read_expr_cast("float");case this.tok.T_STRING_CAST:return this.read_expr_cast(-1!==this.text().indexOf("binary")?"binary":"string");case this.tok.T_ARRAY_CAST:return this.read_expr_cast("array");case this.tok.T_OBJECT_CAST:return this.read_expr_cast("object");case this.tok.T_BOOL_CAST:return this.read_expr_cast("bool");case this.tok.T_UNSET_CAST:return this.read_expr_cast("unset");case this.tok.T_THROW:this.version<800&&this.raiseError("PHP 8+ is required to use throw as an expression");return this.node("throw")(this.next().read_expr());case this.tok.T_EXIT:{const e="die"===this.lexer.yytext.toLowerCase();t=this.node("exit"),this.next();return t(this.read_exit_expr(),e)}case this.tok.T_PRINT:return this.node("print")(this.next().read_expr());case this.tok.T_YIELD:{let e=null,n=null;return t=this.node("yield"),this.next().is("EXPR")&&(e=this.read_expr(),this.token===this.tok.T_DOUBLE_ARROW&&(n=e,e=this.next().read_expr())),t(e,n)}case this.tok.T_YIELD_FROM:return t=this.node("yieldfrom"),e=this.next().read_expr(),t(e);case this.tok.T_FN:case this.tok.T_FUNCTION:return this.read_inline_function(void 0,n);case this.tok.T_STATIC:{const t=[this.token,this.lexer.getState()];if(this.next(),this.token===this.tok.T_FUNCTION||this.version>=704&&this.token===this.tok.T_FN)return this.read_inline_function([0,1,0],n);this.lexer.tokens.push(t),this.next()}}if(this.is("VARIABLE")){t=this.node(),e=this.read_variable(!1,!1);const n="identifier"===e.kind||"staticlookup"===e.kind&&"identifier"===e.offset.kind;switch(this.token){case"=":return n&&this.error("VARIABLE"),"&"==this.next().token?this.read_assignref(t,e):t("assign",e,this.read_expr(),"=");case this.tok.T_PLUS_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"+=");case this.tok.T_MINUS_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"-=");case this.tok.T_MUL_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"*=");case this.tok.T_POW_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"**=");case this.tok.T_DIV_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"/=");case this.tok.T_CONCAT_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),".=");case this.tok.T_MOD_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"%=");case this.tok.T_AND_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"&=");case this.tok.T_OR_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"|=");case this.tok.T_XOR_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"^=");case this.tok.T_SL_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"<<=");case this.tok.T_SR_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),">>=");case this.tok.T_COALESCE_EQUAL:return n&&this.error("VARIABLE"),t("assign",e,this.next().read_expr(),"??=");case this.tok.T_INC:return n&&this.error("VARIABLE"),this.next(),t("post","+",e);case this.tok.T_DEC:return n&&this.error("VARIABLE"),this.next(),t("post","-",e);default:t.destroy(e)}}else{if(this.is("SCALAR")){if(t=this.node(),e=this.read_scalar(),"array"===e.kind&&e.shortForm&&"="===this.token){const n=this.convertToList(e);e.loc&&(n.loc=e.loc);return t("assign",n,this.next().read_expr(),"=")}return t.destroy(e),this.handleDereferencable(e)}this.error("EXPR"),this.next()}return e},convertToList:function(t){const e=t.items.map((t=>(t.value&&"array"===t.value.kind&&t.value.shortForm&&(t.value=this.convertToList(t.value)),t))),n=this.node("list")(e,!0);return t.loc&&(n.loc=t.loc),t.leadingComments&&(n.leadingComments=t.leadingComments),t.trailingComments&&(n.trailingComments=t.trailingComments),n},read_assignref:function(t,e){let n;return this.next(),this.token===this.tok.T_NEW?(this.version>=700&&this.error(),n=this.read_new_expr()):n=this.read_variable(!1,!1),t("assignref",e,n)},read_inline_function:function(t,e){if(this.token===this.tok.T_FUNCTION){const n=this.read_function(!0,t,e);return n.attrGroups=e,n}!this.version>=704&&this.raiseError("Arrow Functions are not allowed");const n=this.node("arrowfunc");this.expect(this.tok.T_FN)&&this.next();const i=this.is_reference();this.expect("(")&&this.next();const r=this.read_parameter_list();this.expect(")")&&this.next();let o=!1,s=null;":"===this.token&&("?"===this.next().token&&(o=!0,this.next()),s=this.read_types()),this.expect(this.tok.T_DOUBLE_ARROW)&&this.next();const a=n(r,i,this.read_expr(),s,o,!!t);return a.attrGroups=e,a},read_match_expression:function(){const t=this.node("match");this.expect(this.tok.T_MATCH)&&this.next(),this.version<800&&this.raiseError("Match statements are not allowed before PHP 8");let e=null,n=[];return this.expect("(")&&this.next(),e=this.read_expr(),this.expect(")")&&this.next(),this.expect("{")&&this.next(),n=this.read_match_arms(),this.expect("}")&&this.next(),t(e,n)},read_match_arms:function(){return this.read_list((()=>this.read_match_arm()),",",!0)},read_match_arm:function(){if("}"!==this.token)return this.node("matcharm")(this.read_match_arm_conds(),this.read_expr())},read_match_arm_conds:function(){let t=[];if(this.token===this.tok.T_DEFAULT)t=null,this.next();else for(t.push(this.read_expr());","===this.token;){if(this.next(),this.token===this.tok.T_DOUBLE_ARROW)return this.next(),t;t.push(this.read_expr())}return this.expect(this.tok.T_DOUBLE_ARROW)&&this.next(),t},read_attribute(){const t=this.text();let e=[];return this.next(),"("===this.token&&(e=this.read_argument_list()),this.node("attribute")(t,e)},read_attr_list(){const t=[];if(this.token===this.tok.T_ATTRIBUTE)do{const e=this.node("attrgroup")([]);for(this.next(),e.attrs.push(this.read_attribute());","===this.token;)this.next(),"]"!==this.token&&e.attrs.push(this.read_attribute());t.push(e),this.expect("]"),this.next()}while(this.token===this.tok.T_ATTRIBUTE);return t},read_new_expr:function(){const t=this.node("new");this.expect(this.tok.T_NEW)&&this.next();let e=[];const n=this.read_attr_list();if(this.token===this.tok.T_CLASS){const i=this.node("class");"("===this.next().token&&(e=this.read_argument_list());const r=this.read_extends_from(),o=this.read_implements_list();let s=null;this.expect("{")&&(s=this.next().read_class_body());const a=i(null,r,o,s,[0,0,0]);return a.attrGroups=n,t(a,e)}const i=this.read_new_class_name();return"("===this.token&&(e=this.read_argument_list()),t(i,e)},read_new_class_name:function(){if(this.token===this.tok.T_NS_SEPARATOR||this.token===this.tok.T_STRING||this.token===this.tok.T_NAMESPACE){let t=this.read_namespace_name(!0);return this.token===this.tok.T_DOUBLE_COLON&&(t=this.read_static_getter(t)),t}if(this.is("VARIABLE"))return this.read_variable(!0,!1);this.expect([this.tok.T_STRING,"VARIABLE"])},handleDereferencable:function(t){for(;this.token!==this.EOF;)if(this.token===this.tok.T_OBJECT_OPERATOR||this.token===this.tok.T_DOUBLE_COLON)t=this.recursive_variable_chain_scan(t,!1,!1,!0);else if(this.token===this.tok.T_CURLY_OPEN||"["===this.token)t=this.read_dereferencable(t);else{if("("!==this.token)return t;t=this.node("call")(t,this.read_argument_list())}return t}}},{}],148:[function(t,e,n){"use strict";e.exports={is_reference:function(){return"&"==this.token&&(this.next(),!0)},is_variadic:function(){return this.token===this.tok.T_ELLIPSIS&&(this.next(),!0)},read_function:function(t,e,n){const i=this.read_function_declaration(t?1:e?2:0,e&&1===e[1],n||[]);return e&&1==e[2]?(i.parseFlags(e),this.expect(";")&&this.next()):(this.expect("{")&&(i.body=this.read_code_block(!1),i.loc&&i.body.loc&&(i.loc.end=i.body.loc.end)),!t&&e&&i.parseFlags(e)),i},read_function_declaration:function(t,e,n){let i="function";1===t?i="closure":2===t&&(i="method");const r=this.node(i);this.expect(this.tok.T_FUNCTION)&&this.next();const o=this.is_reference();let s=!1,a=[],l=null,c=!1;if(1!==t){const e=this.node("identifier");2===t?this.version>=700?this.token===this.tok.T_STRING||this.is("IDENTIFIER")?(s=this.text(),this.next()):this.version<704&&this.error("IDENTIFIER"):this.token===this.tok.T_STRING?(s=this.text(),this.next()):this.error("IDENTIFIER"):this.version>=700?this.token===this.tok.T_STRING?(s=this.text(),this.next()):this.version>=704?this.expect("(")||this.next():(this.error(this.tok.T_STRING),this.next()):(this.expect(this.tok.T_STRING)&&(s=this.text()),this.next()),s=e(s)}this.expect("(")&&this.next();const h=this.read_parameter_list();if(this.expect(")")&&this.next(),1===t&&(a=this.read_lexical_vars()),":"===this.token&&("?"===this.next().token&&(c=!0,this.next()),l=this.read_types()),1===t){const t=r(h,o,a,l,c,e);return t.attrGroups=n||[],t}const u=r(s,h,o,l,c);return u.attrGroups=n||[],u},read_lexical_vars:function(){let t=[];return this.token===this.tok.T_USE&&(this.next(),this.expect("(")&&this.next(),t=this.read_lexical_var_list(),this.expect(")")&&this.next()),t},read_list_with_dangling_comma:function(t){const e=[];for(;this.token!=this.EOF;){if(e.push(t()),","!=this.token){if(")"==this.token)break;this.error([",",")"]);break}if(this.next(),this.version>=800&&")"===this.token)return e}return e},read_lexical_var_list:function(){return this.read_list_with_dangling_comma(this.read_lexical_var.bind(this))},read_lexical_var:function(){if("&"===this.token)return this.read_byref(this.read_lexical_var.bind(this));const t=this.node("variable");this.expect(this.tok.T_VARIABLE);const e=this.text().substring(1);return this.next(),t(e,!1)},read_parameter_list:function(){return")"!=this.token?this.read_list_with_dangling_comma(this.read_parameter.bind(this)):[]},read_parameter:function(){const t=this.node("parameter");let e=null,n=null,i=null,r=!1,o=[];this.token===this.tok.T_ATTRIBUTE&&(o=this.read_attr_list());const s=this.read_promoted();"?"===this.token&&(this.next(),r=!0),i=this.read_types(),r&&!i&&this.raiseError("Expecting a type definition combined with nullable operator");const a=this.is_reference(),l=this.is_variadic();if(this.expect(this.tok.T_VARIABLE)){e=this.node("identifier");const t=this.text().substring(1);this.next(),e=e(t)}"="==this.token&&(n=this.next().read_expr());const c=t(e,i,n,a,l,r,s);return o&&(c.attrGroups=o),c},read_types(){const t=[],e=this.node("uniontype");let n=this.read_type();if(!n)return null;for(t.push(n);"|"===this.token;)this.next(),n=this.read_type(),t.push(n);return 1===t.length?t[0]:e(t)},read_promoted(){return this.token===this.tok.T_PUBLIC?(this.next(),1):this.token===this.tok.T_PROTECTED?(this.next(),2):this.token===this.tok.T_PRIVATE?(this.next(),4):0},read_argument_list:function(){let t=[];return this.expect("(")&&this.next(),")"!==this.token&&(t=this.read_non_empty_argument_list()),this.expect(")")&&this.next(),t},read_non_empty_argument_list:function(){let t=!1;return this.read_function_list(function(){const e=this.read_argument();return e&&(t&&this.raiseError("Unexpected argument after a variadic argument"),"variadic"===e.kind&&(t=!0)),e}.bind(this),",")},read_argument:function(){if(this.token===this.tok.T_ELLIPSIS)return this.node("variadic")(this.next().read_expr());if(this.token===this.tok.T_STRING||Object.values(this.lexer.keywords).includes(this.token)){const t=this.lexer.getState(),e=this.lexer.lex();if(this.lexer.setState(t),":"===e)return this.version<800&&this.raiseError("PHP 8+ is required to use named arguments"),this.node("namedargument")(this.text(),this.next().next().read_expr())}return this.read_expr()},read_type:function(){const t=this.node();if(this.token===this.tok.T_ARRAY||this.token===this.tok.T_CALLABLE){const e=this.text();return this.next(),t("typereference",e.toLowerCase(),e)}if(this.token===this.tok.T_STRING){const e=this.text(),n=[this.token,this.lexer.getState()];return this.next(),this.token!==this.tok.T_NS_SEPARATOR&&this.ast.typereference.types.indexOf(e.toLowerCase())>-1?t("typereference",e.toLowerCase(),e):(this.lexer.tokens.push(n),this.next(),t.destroy(),this.read_namespace_name())}return this.token===this.tok.T_NAMESPACE||this.token===this.tok.T_NS_SEPARATOR?(t.destroy(),this.read_namespace_name()):(t.destroy(),null)}}},{}],149:[function(t,e,n){"use strict";e.exports={read_if:function(){const t=this.node("if"),e=this.next().read_if_expr();let n=null,i=null,r=!1;if(":"===this.token){r=!0,this.next(),n=this.node("block");const t=[];for(;this.token!==this.EOF&&this.token!==this.tok.T_ENDIF;){if(this.token===this.tok.T_ELSEIF){i=this.read_elseif_short();break}if(this.token===this.tok.T_ELSE){i=this.read_else_short();break}t.push(this.read_inner_statement())}n=n(null,t),this.expect(this.tok.T_ENDIF)&&this.next(),this.expectEndOfStatement()}else n=this.read_statement(),this.token===this.tok.T_ELSEIF?i=this.read_if():this.token===this.tok.T_ELSE&&(i=this.next().read_statement());return t(e,n,i,r)},read_if_expr:function(){this.expect("(")&&this.next();const t=this.read_expr();return this.expect(")")&&this.next(),t},read_elseif_short:function(){let t=null;const e=this.node("if"),n=this.next().read_if_expr();this.expect(":")&&this.next();const i=this.node("block"),r=[];for(;this.token!=this.EOF&&this.token!==this.tok.T_ENDIF;){if(this.token===this.tok.T_ELSEIF){t=this.read_elseif_short();break}if(this.token===this.tok.T_ELSE){t=this.read_else_short();break}r.push(this.read_inner_statement())}return e(n,i(null,r),t,!0)},read_else_short:function(){this.next().expect(":")&&this.next();const t=this.node("block"),e=[];for(;this.token!=this.EOF&&this.token!==this.tok.T_ENDIF;)e.push(this.read_inner_statement());return t(null,e)}}},{}],150:[function(t,e,n){"use strict";e.exports={read_while:function(){const t=this.node("while");this.expect(this.tok.T_WHILE)&&this.next();let e=null,n=null,i=!1;return this.expect("(")&&this.next(),e=this.read_expr(),this.expect(")")&&this.next(),":"===this.token?(i=!0,n=this.read_short_form(this.tok.T_ENDWHILE)):n=this.read_statement(),t(e,n,i)},read_do:function(){const t=this.node("do");this.expect(this.tok.T_DO)&&this.next();let e=null,n=null;return n=this.read_statement(),this.expect(this.tok.T_WHILE)&&(this.next().expect("(")&&this.next(),e=this.read_expr(),this.expect(")")&&this.next(),this.expect(";")&&this.next()),t(e,n)},read_for:function(){const t=this.node("for");this.expect(this.tok.T_FOR)&&this.next();let e=[],n=[],i=[],r=null,o=!1;return this.expect("(")&&this.next(),";"!==this.token?(e=this.read_list(this.read_expr,","),this.expect(";")&&this.next()):this.next(),";"!==this.token?(n=this.read_list(this.read_expr,","),this.expect(";")&&this.next()):this.next(),")"!==this.token?(i=this.read_list(this.read_expr,","),this.expect(")")&&this.next()):this.next(),":"===this.token?(o=!0,r=this.read_short_form(this.tok.T_ENDFOR)):r=this.read_statement(),t(e,n,i,r,o)},read_foreach:function(){const t=this.node("foreach");this.expect(this.tok.T_FOREACH)&&this.next();let e=null,n=null,i=null,r=null,o=!1;return this.expect("(")&&this.next(),e=this.read_expr(),this.expect(this.tok.T_AS)&&(this.next(),i=this.read_foreach_variable(),this.token===this.tok.T_DOUBLE_ARROW&&(n=i,i=this.next().read_foreach_variable())),n&&"list"===n.kind&&this.raiseError("Fatal Error : Cannot use list as key element"),this.expect(")")&&this.next(),":"===this.token?(o=!0,r=this.read_short_form(this.tok.T_ENDFOREACH)):r=this.read_statement(),t(e,n,i,r,o)},read_foreach_variable:function(){if(this.token===this.tok.T_LIST||"["===this.token){const t="["===this.token,e=this.node("list");this.next(),!t&&this.expect("(")&&this.next();const n=this.read_array_pair_list(t);return this.expect(t?"]":")")&&this.next(),e(n,t)}return this.read_variable(!1,!1)}}},{}],151:[function(t,e,n){"use strict";e.exports={read_start:function(){return this.token==this.tok.T_NAMESPACE?this.read_namespace():this.read_top_statement()}}},{}],152:[function(t,e,n){"use strict";e.exports={read_namespace:function(){const t=this.node("namespace");let e,n;return this.expect(this.tok.T_NAMESPACE)&&this.next(),n="{"==this.token?{name:[""]}:this.read_namespace_name(),this.currentNamespace=n,";"==this.token?(this.currentNamespace=n,e=this.next().read_top_statements(),this.expect(this.EOF),t(n.name,e,!1)):"{"==this.token?(this.currentNamespace=n,e=this.next().read_top_statements(),this.expect("}")&&this.next(),0===e.length&&this.extractDoc&&this._docs.length>this._docIndex&&e.push(this.node("noop")()),t(n.name,e,!0)):"("===this.token?(n.resolution=this.ast.reference.RELATIVE_NAME,n.name=n.name.substring(1),t.destroy(),this.node("call")(n,this.read_argument_list())):(this.error(["{",";"]),this.currentNamespace=n,e=this.read_top_statements(),this.expect(this.EOF),t(n,e,!1))},read_namespace_name:function(t){const e=this.node();let n=!1;this.token===this.tok.T_NAMESPACE&&(this.next().expect(this.tok.T_NS_SEPARATOR)&&this.next(),n=!0);const i=this.read_list(this.tok.T_STRING,this.tok.T_NS_SEPARATOR,!0);if(!n&&1===i.length&&(t||"("!==this.token)){if("parent"===i[0].toLowerCase())return e("parentreference",i[0]);if("self"===i[0].toLowerCase())return e("selfreference",i[0])}return e("name",i,n)},read_use_statement:function(){let t=this.node("usegroup"),e=[],n=null;this.expect(this.tok.T_USE)&&this.next();const i=this.read_use_type();return e.push(this.read_use_declaration(!1)),","===this.token?e=e.concat(this.next().read_use_declarations(!1)):"{"===this.token&&(n=e[0].name,e=this.next().read_use_declarations(null===i),this.expect("}")&&this.next()),t=t(n,i,e),this.expect(";")&&this.next(),t},read_class_name_reference:function(){return this.read_variable(!0,!1)},read_use_declaration:function(t){const e=this.node("useitem");let n=null;t&&(n=this.read_use_type());const i=this.read_namespace_name(),r=this.read_use_alias();return e(i.name,r,n)},read_use_declarations:function(t){const e=[this.read_use_declaration(t)];for(;","===this.token;){if(this.next(),t){if(this.token!==this.tok.T_FUNCTION&&this.token!==this.tok.T_CONST&&this.token!==this.tok.T_STRING)break}else if(this.token!==this.tok.T_STRING&&this.token!==this.tok.T_NS_SEPARATOR)break;e.push(this.read_use_declaration(t))}return e},read_use_alias:function(){let t=null;if(this.token===this.tok.T_AS&&this.next().expect(this.tok.T_STRING)){const e=this.node("identifier"),n=this.text();this.next(),t=e(n)}return t},read_use_type:function(){return this.token===this.tok.T_FUNCTION?(this.next(),this.ast.useitem.TYPE_FUNCTION):this.token===this.tok.T_CONST?(this.next(),this.ast.useitem.TYPE_CONST):null}}},{}],153:[function(t,e,n){"use strict";const i={"\\":"\\",$:"$",n:"\n",r:"\r",t:"\t",f:String.fromCharCode(12),v:String.fromCharCode(11),e:String.fromCharCode(27)};e.exports={resolve_special_chars:function(t,e){return e?t.replace(/\\"/,'"').replace(/\\([\\$nrtfve]|[xX][0-9a-fA-F]{1,2}|[0-7]{1,3}|u{([0-9a-fA-F]+)})/g,((t,e,n)=>i[e]?i[e]:"x"===e[0]||"X"===e[0]?String.fromCodePoint(parseInt(e.substr(1),16)):"u"===e[0]?String.fromCodePoint(parseInt(n,16)):String.fromCodePoint(parseInt(e,8)))):t.replace(/\\\\/g,"\\").replace(/\\'/g,"'")},remove_heredoc_leading_whitespace_chars:function(t,e,n,i){if(0===e)return t;this.check_heredoc_indentation_level(t,e,n,i);const r=n?" ":"\t",o=new RegExp(`\\n${r}{${e}}`,"g"),s=new RegExp(`^${r}{${e}}`);return i&&(t=t.replace(s,"")),t.replace(o,"\n")},check_heredoc_indentation_level:function(t,e,n,i){const r=t.length;let o=0,s=0,a=!0;const l=n?" ":"\t";let c=!1;if(!i){if(o=t.indexOf("\n"),-1===o)return;o++}for(;o<r;)a?t[o]===l?s++:c=!0:a=!1,"\n"!==t[o]&&c&&s<e?this.raiseError(`Invalid body indentation level (expecting an indentation at least ${e})`):c=!1,"\n"===t[o]&&(a=!0,s=0),o++},read_dereferencable_scalar:function(){let t=null;switch(this.token){case this.tok.T_CONSTANT_ENCAPSED_STRING:{let e=this.node("string");const n=this.text();let i=0;"b"!==n[0]&&"B"!==n[0]||(i=1);const r='"'===n[i];this.next();e=e(r,this.resolve_special_chars(n.substring(i+1,n.length-1),r),1===i,n),t=this.token===this.tok.T_DOUBLE_COLON?this.read_static_getter(e):e}break;case this.tok.T_ARRAY:case"[":t=this.read_array()}return t},read_scalar:function(){if(this.is("T_MAGIC_CONST"))return this.get_magic_constant();{let t,e;switch(this.token){case this.tok.T_LNUMBER:case this.tok.T_DNUMBER:{const e=this.node("number");return t=this.text(),this.next(),e(t,null)}case this.tok.T_START_HEREDOC:if("ST_NOWDOC"===this.lexer.curCondition){const n=this.lexer.yylloc.first_offset;e=this.node("nowdoc"),t=this.next().text(),this.lexer.heredoc_label.indentation>0&&(t=t.substring(0,t.length-this.lexer.heredoc_label.indentation));const i=t[t.length-1];"\n"===i?t="\r"===t[t.length-2]?t.substring(0,t.length-2):t.substring(0,t.length-1):"\r"===i&&(t=t.substring(0,t.length-1)),this.expect(this.tok.T_ENCAPSED_AND_WHITESPACE)&&this.next(),this.expect(this.tok.T_END_HEREDOC)&&this.next();const r=this.lexer._input.substring(n,this.lexer.yylloc.first_offset);return e=e(this.remove_heredoc_leading_whitespace_chars(t,this.lexer.heredoc_label.indentation,this.lexer.heredoc_label.indentation_uses_spaces,this.lexer.heredoc_label.first_encaps_node),r,this.lexer.heredoc_label.label),e}return this.read_encapsed_string(this.tok.T_END_HEREDOC);case'"':return this.read_encapsed_string('"');case'b"':case'B"':return this.read_encapsed_string('"',!0);case this.tok.T_CONSTANT_ENCAPSED_STRING:case this.tok.T_ARRAY:case"[":return this.read_dereferencable_scalar();default:{const t=this.error("SCALAR");return this.next(),t}}}},read_dereferencable:function(t){let e,n;const i=this.node("offsetlookup");return"["===this.token?(n=this.next().read_expr(),this.expect("]")&&this.next(),e=i(t,n)):this.token===this.tok.T_DOLLAR_OPEN_CURLY_BRACES&&(n=this.read_encapsed_string_item(!1),e=i(t,n)),e},read_encapsed_string_item:function(t){const e=this.node("encapsedpart");let n,i,r,o=null,s=!1,a=this.node();if(this.token===this.tok.T_ENCAPSED_AND_WHITESPACE){const e=this.text();this.next(),a=a("string",!1,this.version>=703&&!this.lexer.heredoc_label.finished?this.remove_heredoc_leading_whitespace_chars(this.resolve_special_chars(e,t),this.lexer.heredoc_label.indentation,this.lexer.heredoc_label.indentation_uses_spaces,this.lexer.heredoc_label.first_encaps_node):e,!1,e)}else if(this.token===this.tok.T_DOLLAR_OPEN_CURLY_BRACES){if(o="simple",s=!0,r=null,this.next().token===this.tok.T_STRING_VARNAME){r=this.node("variable");const t=this.text();this.next(),"["===this.token?(r=r(t,!1),i=this.node("offsetlookup"),n=this.next().read_expr(),this.expect("]")&&this.next(),a=i(r,n)):a=r(t,!1)}else a=a("variable",this.read_expr(),!1);this.expect("}")&&this.next()}else if(this.token===this.tok.T_CURLY_OPEN)o="complex",a.destroy(),a=this.next().read_variable(!1,!1),this.expect("}")&&this.next();else if(this.token===this.tok.T_VARIABLE){if(o="simple",a.destroy(),a=this.read_simple_variable(),"["===this.token&&(i=this.node("offsetlookup"),n=this.next().read_encaps_var_offset(),this.expect("]")&&this.next(),a=i(a,n)),this.token===this.tok.T_OBJECT_OPERATOR){i=this.node("propertylookup"),this.next().expect(this.tok.T_STRING);const t=this.node("identifier");r=this.text(),this.next(),a=i(a,t(r))}}else{this.expect(this.tok.T_ENCAPSED_AND_WHITESPACE);const t=this.text();this.next(),a.destroy(),a=a("string",!1,t,!1,t)}return this.lexer.heredoc_label.first_encaps_node=!1,e(a,o,s)},read_encapsed_string:function(t,e=!1){const n=this.lexer.yylloc.first_offset;let i=this.node("encapsed");this.next();const r=this.lexer.yylloc.prev_offset-(e?1:0),o=[];let s=null;for(s="`"===t?this.ast.encapsed.TYPE_SHELL:'"'===t?this.ast.encapsed.TYPE_STRING:this.ast.encapsed.TYPE_HEREDOC;this.token!==t&&this.token!==this.EOF;)o.push(this.read_encapsed_string_item(!0));if(o.length>0&&"encapsedpart"===o[o.length-1].kind&&"string"===o[o.length-1].expression.kind){const t=o[o.length-1].expression,e=t.value[t.value.length-1];"\n"===e?"\r"===t.value[t.value.length-2]?t.value=t.value.substring(0,t.value.length-2):t.value=t.value.substring(0,t.value.length-1):"\r"===e&&(t.value=t.value.substring(0,t.value.length-1))}this.expect(t)&&this.next();return i=i(o,this.lexer._input.substring("heredoc"===s?n:r-1,this.lexer.yylloc.first_offset),s),t===this.tok.T_END_HEREDOC&&(i.label=this.lexer.heredoc_label.label,this.lexer.heredoc_label.finished=!0),i},get_magic_constant:function(){const t=this.node("magic"),e=this.text();return this.next(),t(e.toUpperCase(),e)}}},{}],154:[function(t,e,n){"use strict";e.exports={read_top_statements:function(){let t=[];for(;this.token!==this.EOF&&"}"!==this.token;){const e=this.read_top_statement();e&&(Array.isArray(e)?t=t.concat(e):t.push(e))}return t},read_top_statement:function(){let t=[];switch(this.token===this.tok.T_ATTRIBUTE&&(t=this.read_attr_list()),this.token){case this.tok.T_FUNCTION:return this.read_function(!1,!1,t);case this.tok.T_ABSTRACT:case this.tok.T_FINAL:case this.tok.T_CLASS:return this.read_class_declaration_statement(t);case this.tok.T_INTERFACE:return this.read_interface_declaration_statement(t);case this.tok.T_TRAIT:return this.read_trait_declaration_statement();case this.tok.T_USE:return this.read_use_statement();case this.tok.T_CONST:{const t=this.node("constantstatement"),e=this.next().read_const_list();return this.expectEndOfStatement(),t(null,e)}case this.tok.T_NAMESPACE:return this.read_namespace();case this.tok.T_HALT_COMPILER:{const t=this.node("halt");return this.next().expect("(")&&this.next(),this.expect(")")&&this.next(),this.expect(";"),this.lexer.done=!0,t(this.lexer._input.substring(this.lexer.offset))}default:return this.read_statement()}},read_inner_statements:function(){let t=[];for(;this.token!=this.EOF&&"}"!==this.token;){const e=this.read_inner_statement();e&&(Array.isArray(e)?t=t.concat(e):t.push(e))}return t},read_const_list:function(){return this.read_list((function(){this.expect(this.tok.T_STRING);const t=this.node("constant");let e=this.node("identifier");const n=this.text();return this.next(),e=e(n),this.expect("=")?t(e,this.next().read_expr()):t(e,null)}),",",!1)},read_declare_list:function(){const t=[];for(;this.token!=this.EOF&&")"!==this.token;){this.expect(this.tok.T_STRING);const e=this.node("declaredirective");let n=this.node("identifier");const i=this.text();this.next(),n=n(i);let r=null;if(this.expect("=")&&(r=this.next().read_expr()),t.push(e(n,r)),","!==this.token)break;this.next()}return t},read_inner_statement:function(){let t=[];switch(this.token===this.tok.T_ATTRIBUTE&&(t=this.read_attr_list()),this.token){case this.tok.T_FUNCTION:{const e=this.read_function(!1,!1);return e.attrGroups=t,e}case this.tok.T_ABSTRACT:case this.tok.T_FINAL:case this.tok.T_CLASS:return this.read_class_declaration_statement();case this.tok.T_INTERFACE:return this.read_interface_declaration_statement();case this.tok.T_TRAIT:return this.read_trait_declaration_statement();case this.tok.T_HALT_COMPILER:{this.raiseError("__HALT_COMPILER() can only be used from the outermost scope");let t=this.node("halt");return this.next().expect("(")&&this.next(),this.expect(")")&&this.next(),t=t(this.lexer._input.substring(this.lexer.offset)),this.expect(";")&&this.next(),t}default:return this.read_statement()}},read_statement:function(){switch(this.token){case"{":return this.read_code_block(!1);case this.tok.T_IF:return this.read_if();case this.tok.T_SWITCH:return this.read_switch();case this.tok.T_FOR:return this.read_for();case this.tok.T_FOREACH:return this.read_foreach();case this.tok.T_WHILE:return this.read_while();case this.tok.T_DO:return this.read_do();case this.tok.T_COMMENT:return this.read_comment();case this.tok.T_DOC_COMMENT:return this.read_doc_comment();case this.tok.T_RETURN:{const t=this.node("return");this.next();const e=this.read_optional_expr(";");return this.expectEndOfStatement(),t(e)}case this.tok.T_BREAK:case this.tok.T_CONTINUE:{const t=this.node(this.token===this.tok.T_CONTINUE?"continue":"break");this.next();const e=this.read_optional_expr(";");return this.expectEndOfStatement(),t(e)}case this.tok.T_GLOBAL:{const t=this.node("global"),e=this.next().read_list(this.read_simple_variable,",");return this.expectEndOfStatement(),t(e)}case this.tok.T_STATIC:{const t=[this.token,this.lexer.getState()],e=this.node();if(this.next().token===this.tok.T_DOUBLE_COLON){this.lexer.tokens.push(t);const n=this.next().read_expr();return this.expectEndOfStatement(n),e("expressionstatement",n)}if(this.token===this.tok.T_FUNCTION)return this.read_function(!0,[0,1,0]);const n=this.read_variable_declarations();return this.expectEndOfStatement(),e("static",n)}case this.tok.T_ECHO:{const t=this.node("echo"),e=this.text(),n="<?="===e||"<%="===e,i=this.next().read_function_list(this.read_expr,",");return this.expectEndOfStatement(),t(i,n)}case this.tok.T_INLINE_HTML:{const t=this.text();let e=this.lexer.yylloc.first_offset>0?this.lexer._input[this.lexer.yylloc.first_offset-1]:null;const n="\r"===e||"\n"===e;n&&"\n"===e&&this.lexer.yylloc.first_offset>1&&"\r"===this.lexer._input[this.lexer.yylloc.first_offset-2]&&(e="\r\n");const i=this.node("inline");return this.next(),i(t,n?e+t:t)}case this.tok.T_UNSET:{const t=this.node("unset");this.next().expect("(")&&this.next();const e=this.read_function_list(this.read_variable,",");return this.expect(")")&&this.next(),this.expect(";")&&this.next(),t(e)}case this.tok.T_DECLARE:{const t=this.node("declare"),e=[];let n;this.next().expect("(")&&this.next();const i=this.read_declare_list();if(this.expect(")")&&this.next(),":"===this.token){for(this.next();this.token!=this.EOF&&this.token!==this.tok.T_ENDDECLARE;)e.push(this.read_top_statement());0===e.length&&this.extractDoc&&this._docs.length>this._docIndex&&e.push(this.node("noop")()),this.expect(this.tok.T_ENDDECLARE)&&this.next(),this.expectEndOfStatement(),n=this.ast.declare.MODE_SHORT}else if("{"===this.token){for(this.next();this.token!=this.EOF&&"}"!==this.token;)e.push(this.read_top_statement());0===e.length&&this.extractDoc&&this._docs.length>this._docIndex&&e.push(this.node("noop")()),this.expect("}")&&this.next(),n=this.ast.declare.MODE_BLOCK}else this.expect(";")&&this.next(),n=this.ast.declare.MODE_NONE;return t(i,e,n)}case this.tok.T_TRY:return this.read_try();case this.tok.T_THROW:{const t=this.node("throw"),e=this.next().read_expr();return this.expectEndOfStatement(),t(e)}case";":return this.next(),null;case this.tok.T_STRING:{const t=this.node(),e=[this.token,this.lexer.getState()],n=this.text();let i=this.node("identifier");if(":"===this.next().token)return i=i(n),this.next(),t("label",i);i.destroy(),t.destroy(),this.lexer.tokens.push(e);const r=this.node("expressionstatement"),o=this.next().read_expr();return this.expectEndOfStatement(o),r(o)}case this.tok.T_GOTO:{const t=this.node("goto");let e=null;if(this.next().expect(this.tok.T_STRING)){e=this.node("identifier");const t=this.text();this.next(),e=e(t),this.expectEndOfStatement()}return t(e)}default:{const t=this.node("expressionstatement"),e=this.read_expr();return this.expectEndOfStatement(e),t(e)}}},read_code_block:function(t){const e=this.node("block");this.expect("{")&&this.next();const n=t?this.read_top_statements():this.read_inner_statements();return 0===n.length&&this.extractDoc&&this._docs.length>this._docIndex&&n.push(this.node("noop")()),this.expect("}")&&this.next(),e(null,n)}}},{}],155:[function(t,e,n){"use strict";e.exports={read_switch:function(){const t=this.node("switch");this.expect(this.tok.T_SWITCH)&&this.next(),this.expect("(")&&this.next();const e=this.read_expr();this.expect(")")&&this.next();const n=":"===this.token;return t(e,this.read_switch_case_list(),n)},read_switch_case_list:function(){let t=null;const e=this.node("block"),n=[];for("{"===this.token?t="}":":"===this.token?t=this.tok.T_ENDSWITCH:this.expect(["{",":"]),this.next(),";"===this.token&&this.next();this.token!==this.EOF&&this.token!==t;)n.push(this.read_case_list(t));return 0===n.length&&this.extractDoc&&this._docs.length>this._docIndex&&n.push(this.node("noop")()),this.expect(t)&&this.next(),t===this.tok.T_ENDSWITCH&&this.expectEndOfStatement(),e(null,n)},read_case_list:function(t){const e=this.node("case");let n=null;this.token===this.tok.T_CASE?n=this.next().read_expr():this.token===this.tok.T_DEFAULT?this.next():this.expect([this.tok.T_CASE,this.tok.T_DEFAULT]),this.expect([":",";"])&&this.next();const i=this.node("block"),r=[];for(;this.token!==this.EOF&&this.token!==t&&this.token!==this.tok.T_CASE&&this.token!==this.tok.T_DEFAULT;)r.push(this.read_inner_statement());return e(n,i(null,r))}}},{}],156:[function(t,e,n){"use strict";e.exports={read_try:function(){this.expect(this.tok.T_TRY);const t=this.node("try");let e=null;const n=[],i=this.next().read_statement();for(;this.token===this.tok.T_CATCH;){const t=this.node("catch");this.next().expect("(")&&this.next();const e=this.read_list(this.read_namespace_name,"|",!1);let i=null;this.token===this.tok.T_VARIABLE&&(i=this.read_variable(!0,!1)),this.expect(")"),n.push(t(this.next().read_statement(),e,i))}return this.token===this.tok.T_FINALLY&&(e=this.next().read_statement()),t(i,n,e)}}},{}],157:[function(t,e,n){"use strict";e.exports={read_short_form:function(t){const e=this.node("block"),n=[];for(this.expect(":")&&this.next();this.token!=this.EOF&&this.token!==t;)n.push(this.read_inner_statement());return 0===n.length&&this.extractDoc&&this._docs.length>this._docIndex&&n.push(this.node("noop")()),this.expect(t)&&this.next(),this.expectEndOfStatement(),e(null,n)},read_function_list:function(t,e){const n=[];do{if(this.token==e&&this.version>=703&&n.length>0){n.push(this.node("noop")());break}if(n.push(t.apply(this,[])),this.token!=e)break;if(")"==this.next().token&&this.version>=703)break}while(this.token!=this.EOF);return n},read_list:function(t,e,n){const i=[];if(this.token==e&&(n&&i.push("function"==typeof t?this.node("noop")():null),this.next()),"function"==typeof t)do{const n=t.apply(this,[]);if(n&&i.push(n),this.token!=e)break}while(this.next().token!=this.EOF);else{if(!this.expect(t))return[];for(i.push(this.text());this.next().token!=this.EOF&&this.token==e&&this.next().token==t;)i.push(this.text())}return i},read_name_list:function(){return this.read_list(this.read_namespace_name,",",!1)},read_byref:function(t){let e=this.node("byref");this.next(),e=e(null);const n=t();return n&&(this.ast.swapLocations(n,e,n,this),n.byref=!0),n},read_variable_declarations:function(){return this.read_list((function(){const t=this.node("staticvariable");let e=this.node("variable");if(this.expect(this.tok.T_VARIABLE)){const t=this.text().substring(1);this.next(),e=e(t,!1)}else e=e("#ERR",!1);return"="===this.token?t(e,this.next().read_expr()):e}),",")},read_extends_from:function(){return this.token===this.tok.T_EXTENDS?this.next().read_namespace_name():null},read_interface_extends_list:function(){return this.token===this.tok.T_EXTENDS?this.next().read_name_list():null},read_implements_list:function(){return this.token===this.tok.T_IMPLEMENTS?this.next().read_name_list():null}}},{}],158:[function(t,e,n){"use strict";e.exports={read_variable:function(t,e){let n;if("&"===this.token)return this.read_byref(this.read_variable.bind(this,t,e));if(this.is([this.tok.T_VARIABLE,"$"]))n=this.read_reference_variable(e);else if(this.is([this.tok.T_NS_SEPARATOR,this.tok.T_STRING,this.tok.T_NAMESPACE])){n=this.node();const t=this.read_namespace_name();if(this.token!=this.tok.T_DOUBLE_COLON&&"("!=this.token&&-1===["parentreference","selfreference"].indexOf(t.kind)){const e=t.name.toLowerCase();"true"===e?n=t.destroy(n("boolean",!0,t.name)):"false"===e?n=t.destroy(n("boolean",!1,t.name)):"null"===e?n=t.destroy(n("nullkeyword",t.name)):(n.destroy(t),n=t)}else n.destroy(t),n=t}else if(this.token===this.tok.T_STATIC){n=this.node("staticreference");const t=this.text();this.next(),n=n(t)}else this.expect("VARIABLE");return this.token===this.tok.T_DOUBLE_COLON&&(n=this.read_static_getter(n,e)),this.recursive_variable_chain_scan(n,t,e)},read_static_getter:function(t,e){const n=this.node("staticlookup");let i,r;return this.next().is([this.tok.T_VARIABLE,"$"])?i=this.read_reference_variable(e):this.token===this.tok.T_STRING||this.token===this.tok.T_CLASS||this.version>=700&&this.is("IDENTIFIER")?(i=this.node("identifier"),r=this.text(),this.next(),i=i(r)):"{"===this.token?(i=this.node("literal"),r=this.next().read_expr(),this.expect("}")&&this.next(),i=i("literal",r,null),this.expect("(")):(this.error([this.tok.T_VARIABLE,this.tok.T_STRING]),i=this.node("identifier"),r=this.text(),this.next(),i=i(r)),n(t,i)},read_what:function(t=!1){let e=null,n=null;switch(this.next().token){case this.tok.T_STRING:e=this.node("identifier"),n=this.text(),this.next(),e=e(n),t&&this.token===this.tok.T_OBJECT_OPERATOR&&this.error();break;case this.tok.T_VARIABLE:e=this.node("variable"),n=this.text().substring(1),this.next(),e=e(n,!1);break;case"$":e=this.node(),this.next().expect(["$","{",this.tok.T_VARIABLE]),"{"===this.token?(n=this.next().read_expr(),this.expect("}")&&this.next(),e=e("variable",n,!0)):(n=this.read_expr(),e=e("variable",n,!1));break;case"{":e=this.node("encapsedpart"),n=this.next().read_expr(),this.expect("}")&&this.next(),e=e(n,"complex",!1);break;default:this.error([this.tok.T_STRING,this.tok.T_VARIABLE,"$","{"]),e=this.node("identifier"),n=this.text(),this.next(),e=e(n)}return e},recursive_variable_chain_scan:function(t,e,n){let i,r;t:for(;this.token!=this.EOF;)switch(this.token){case"(":if(e)return t;t=this.node("call")(t,this.read_argument_list());break;case"[":case"{":{const e="["===this.token;if(i=this.node("offsetlookup"),this.next(),r=!1,n)r=this.read_encaps_var_offset(),this.expect(e?"]":"}")&&this.next();else{(e?"]"!==this.token:"}"!==this.token)?(r=this.read_expr(),this.expect(e?"]":"}")&&this.next()):this.next()}t=i(t,r);break}case this.tok.T_DOUBLE_COLON:"staticlookup"===t.kind&&"identifier"===t.offset.kind&&this.error(),i=this.node("staticlookup"),t=i(t,this.read_what(!0));break;case this.tok.T_OBJECT_OPERATOR:i=this.node("propertylookup"),t=i(t,this.read_what());break;case this.tok.T_NULLSAFE_OBJECT_OPERATOR:i=this.node("nullsafepropertylookup"),t=i(t,this.read_what());break;default:break t}return t},read_encaps_var_offset:function(){let t=this.node();if(this.token===this.tok.T_STRING){const e=this.text();this.next(),t=t("identifier",e)}else if(this.token===this.tok.T_NUM_STRING){const e=this.text();this.next(),t=t("number",e,null)}else if("-"===this.token){this.next();const e=-1*this.text();this.expect(this.tok.T_NUM_STRING)&&this.next(),t=t("number",e,null)}else if(this.token===this.tok.T_VARIABLE){const e=this.text().substring(1);this.next(),t=t("variable",e,!1)}else{this.expect([this.tok.T_STRING,this.tok.T_NUM_STRING,"-",this.tok.T_VARIABLE]);const e=this.text();this.next(),t=t("identifier",e)}return t},read_reference_variable:function(t){let e,n=this.read_simple_variable();for(;this.token!=this.EOF;){const i=this.node();if("{"!=this.token||t){i.destroy();break}e=this.next().read_expr(),this.expect("}")&&this.next(),n=i("offsetlookup",n,e)}return n},read_simple_variable:function(){let t,e=this.node("variable");if(this.expect([this.tok.T_VARIABLE,"$"])&&this.token===this.tok.T_VARIABLE)t=this.text().substring(1),this.next(),e=e(t,!1);else switch("$"===this.token&&this.next(),this.token){case"{":{const t=this.next().read_expr();this.expect("}")&&this.next(),e=e(t,!0);break}case"$":e=e(this.read_simple_variable(),!1);break;case this.tok.T_VARIABLE:{t=this.text().substring(1);const n=this.node("variable");this.next(),e=e(n(t,!1),!1);break}default:this.error(["{","$",this.tok.T_VARIABLE]),t=this.text(),this.next(),e=e(t,!1)}return e}}},{}],159:[function(t,e,n){"use strict";e.exports={values:{101:"T_HALT_COMPILER",102:"T_USE",103:"T_ENCAPSED_AND_WHITESPACE",104:"T_OBJECT_OPERATOR",105:"T_STRING",106:"T_DOLLAR_OPEN_CURLY_BRACES",107:"T_STRING_VARNAME",108:"T_CURLY_OPEN",109:"T_NUM_STRING",110:"T_ISSET",111:"T_EMPTY",112:"T_INCLUDE",113:"T_INCLUDE_ONCE",114:"T_EVAL",115:"T_REQUIRE",116:"T_REQUIRE_ONCE",117:"T_NAMESPACE",118:"T_NS_SEPARATOR",119:"T_AS",120:"T_IF",121:"T_ENDIF",122:"T_WHILE",123:"T_DO",124:"T_FOR",125:"T_SWITCH",126:"T_BREAK",127:"T_CONTINUE",128:"T_RETURN",129:"T_GLOBAL",130:"T_STATIC",131:"T_ECHO",132:"T_INLINE_HTML",133:"T_UNSET",134:"T_FOREACH",135:"T_DECLARE",136:"T_TRY",137:"T_THROW",138:"T_GOTO",139:"T_FINALLY",140:"T_CATCH",141:"T_ENDDECLARE",142:"T_LIST",143:"T_CLONE",144:"T_PLUS_EQUAL",145:"T_MINUS_EQUAL",146:"T_MUL_EQUAL",147:"T_DIV_EQUAL",148:"T_CONCAT_EQUAL",149:"T_MOD_EQUAL",150:"T_AND_EQUAL",151:"T_OR_EQUAL",152:"T_XOR_EQUAL",153:"T_SL_EQUAL",154:"T_SR_EQUAL",155:"T_INC",156:"T_DEC",157:"T_BOOLEAN_OR",158:"T_BOOLEAN_AND",159:"T_LOGICAL_OR",160:"T_LOGICAL_AND",161:"T_LOGICAL_XOR",162:"T_SL",163:"T_SR",164:"T_IS_IDENTICAL",165:"T_IS_NOT_IDENTICAL",166:"T_IS_EQUAL",167:"T_IS_NOT_EQUAL",168:"T_IS_SMALLER_OR_EQUAL",169:"T_IS_GREATER_OR_EQUAL",170:"T_INSTANCEOF",171:"T_INT_CAST",172:"T_DOUBLE_CAST",173:"T_STRING_CAST",174:"T_ARRAY_CAST",175:"T_OBJECT_CAST",176:"T_BOOL_CAST",177:"T_UNSET_CAST",178:"T_EXIT",179:"T_PRINT",180:"T_YIELD",181:"T_YIELD_FROM",182:"T_FUNCTION",183:"T_DOUBLE_ARROW",184:"T_DOUBLE_COLON",185:"T_ARRAY",186:"T_CALLABLE",187:"T_CLASS",188:"T_ABSTRACT",189:"T_TRAIT",190:"T_FINAL",191:"T_EXTENDS",192:"T_INTERFACE",193:"T_IMPLEMENTS",194:"T_VAR",195:"T_PUBLIC",196:"T_PROTECTED",197:"T_PRIVATE",198:"T_CONST",199:"T_NEW",200:"T_INSTEADOF",201:"T_ELSEIF",202:"T_ELSE",203:"T_ENDSWITCH",204:"T_CASE",205:"T_DEFAULT",206:"T_ENDFOR",207:"T_ENDFOREACH",208:"T_ENDWHILE",209:"T_CONSTANT_ENCAPSED_STRING",210:"T_LNUMBER",211:"T_DNUMBER",212:"T_LINE",213:"T_FILE",214:"T_DIR",215:"T_TRAIT_C",216:"T_METHOD_C",217:"T_FUNC_C",218:"T_NS_C",219:"T_START_HEREDOC",220:"T_END_HEREDOC",221:"T_CLASS_C",222:"T_VARIABLE",223:"T_OPEN_TAG",224:"T_OPEN_TAG_WITH_ECHO",225:"T_CLOSE_TAG",226:"T_WHITESPACE",227:"T_COMMENT",228:"T_DOC_COMMENT",229:"T_ELLIPSIS",230:"T_COALESCE",231:"T_POW",232:"T_POW_EQUAL",233:"T_SPACESHIP",234:"T_COALESCE_EQUAL",235:"T_FN",236:"T_NULLSAFE_OBJECT_OPERATOR",237:"T_MATCH",238:"T_ATTRIBUTE"},names:{T_HALT_COMPILER:101,T_USE:102,T_ENCAPSED_AND_WHITESPACE:103,T_OBJECT_OPERATOR:104,T_STRING:105,T_DOLLAR_OPEN_CURLY_BRACES:106,T_STRING_VARNAME:107,T_CURLY_OPEN:108,T_NUM_STRING:109,T_ISSET:110,T_EMPTY:111,T_INCLUDE:112,T_INCLUDE_ONCE:113,T_EVAL:114,T_REQUIRE:115,T_REQUIRE_ONCE:116,T_NAMESPACE:117,T_NS_SEPARATOR:118,T_AS:119,T_IF:120,T_ENDIF:121,T_WHILE:122,T_DO:123,T_FOR:124,T_SWITCH:125,T_BREAK:126,T_CONTINUE:127,T_RETURN:128,T_GLOBAL:129,T_STATIC:130,T_ECHO:131,T_INLINE_HTML:132,T_UNSET:133,T_FOREACH:134,T_DECLARE:135,T_TRY:136,T_THROW:137,T_GOTO:138,T_FINALLY:139,T_CATCH:140,T_ENDDECLARE:141,T_LIST:142,T_CLONE:143,T_PLUS_EQUAL:144,T_MINUS_EQUAL:145,T_MUL_EQUAL:146,T_DIV_EQUAL:147,T_CONCAT_EQUAL:148,T_MOD_EQUAL:149,T_AND_EQUAL:150,T_OR_EQUAL:151,T_XOR_EQUAL:152,T_SL_EQUAL:153,T_SR_EQUAL:154,T_INC:155,T_DEC:156,T_BOOLEAN_OR:157,T_BOOLEAN_AND:158,T_LOGICAL_OR:159,T_LOGICAL_AND:160,T_LOGICAL_XOR:161,T_SL:162,T_SR:163,T_IS_IDENTICAL:164,T_IS_NOT_IDENTICAL:165,T_IS_EQUAL:166,T_IS_NOT_EQUAL:167,T_IS_SMALLER_OR_EQUAL:168,T_IS_GREATER_OR_EQUAL:169,T_INSTANCEOF:170,T_INT_CAST:171,T_DOUBLE_CAST:172,T_STRING_CAST:173,T_ARRAY_CAST:174,T_OBJECT_CAST:175,T_BOOL_CAST:176,T_UNSET_CAST:177,T_EXIT:178,T_PRINT:179,T_YIELD:180,T_YIELD_FROM:181,T_FUNCTION:182,T_DOUBLE_ARROW:183,T_DOUBLE_COLON:184,T_ARRAY:185,T_CALLABLE:186,T_CLASS:187,T_ABSTRACT:188,T_TRAIT:189,T_FINAL:190,T_EXTENDS:191,T_INTERFACE:192,T_IMPLEMENTS:193,T_VAR:194,T_PUBLIC:195,T_PROTECTED:196,T_PRIVATE:197,T_CONST:198,T_NEW:199,T_INSTEADOF:200,T_ELSEIF:201,T_ELSE:202,T_ENDSWITCH:203,T_CASE:204,T_DEFAULT:205,T_ENDFOR:206,T_ENDFOREACH:207,T_ENDWHILE:208,T_CONSTANT_ENCAPSED_STRING:209,T_LNUMBER:210,T_DNUMBER:211,T_LINE:212,T_FILE:213,T_DIR:214,T_TRAIT_C:215,T_METHOD_C:216,T_FUNC_C:217,T_NS_C:218,T_START_HEREDOC:219,T_END_HEREDOC:220,T_CLASS_C:221,T_VARIABLE:222,T_OPEN_TAG:223,T_OPEN_TAG_WITH_ECHO:224,T_CLOSE_TAG:225,T_WHITESPACE:226,T_COMMENT:227,T_DOC_COMMENT:228,T_ELLIPSIS:229,T_COALESCE:230,T_POW:231,T_POW_EQUAL:232,T_SPACESHIP:233,T_COALESCE_EQUAL:234,T_FN:235,T_NULLSAFE_OBJECT_OPERATOR:236,T_MATCH:237,T_ATTRIBUTE:238}}},{}],160:[function(t,e,n){var i,r,o=e.exports={};function s(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(t){if(i===setTimeout)return setTimeout(t,0);if((i===s||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(e){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:s}catch(t){i=s}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var c,h=[],u=!1,f=-1;function d(){u&&c&&(u=!1,c.length?h=c.concat(h):f=-1,h.length&&p())}function p(){if(!u){var t=l(d);u=!0;for(var e=h.length;e;){for(c=h,h=[];++f<e;)c&&c[f].run();f=-1,e=h.length}c=null,u=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function m(){}o.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];h.push(new g(t,e)),1!==h.length||u||l(p)},g.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(t){return[]},o.binding=function(t){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(t){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},{}]},{},[1]);
1
+ !function t(e,n,i){function r(s,a){if(!n[s]){if(!e[s]){var l="function"==typeof require&&require;if(!a&&l)return l(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var h=n[s]={exports:{}};e[s][0].call(h.exports,(function(t){return r(e[s][1][t]||t)}),h,h.exports,t,e,n,i)}return n[s].exports}for(var o="function"==typeof require&&require,s=0;s<i.length;s++)r(i[s]);return r}({1:[function(t,e,n){"use strict";var i,r=(i=t("codemirror/lib/codemirror"))&&i.__esModule?i:{default:i};t("codemirror/mode/php/php"),t("codemirror/addon/edit/matchbrackets"),t("codemirror/addon/edit/closebrackets"),t("codemirror/addon/search/search"),t("codemirror/addon/search/match-highlighter"),t("../node_modules/codemirror-colorpicker/dist/codemirror-colorpicker"),t("./php-lint"),window.Code_Snippets_CodeMirror=r.default,r.default.defineMode("php-snippet",(function(t){return r.default.getMode(t,{name:"application/x-httpd-php",startOpen:!0})}))},{"../node_modules/codemirror-colorpicker/dist/codemirror-colorpicker":3,"./php-lint":2,"codemirror/addon/edit/closebrackets":5,"codemirror/addon/edit/matchbrackets":6,"codemirror/addon/search/match-highlighter":9,"codemirror/addon/search/search":11,"codemirror/lib/codemirror":13,"codemirror/mode/php/php":18}],2:[function(t,e,n){"use strict";var i=o(t("php-parser/src/index")),r=o(t("codemirror/lib/codemirror"));function o(t){return t&&t.__esModule?t:{default:t}}function s(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw o}}}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function l(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}t("codemirror/addon/lint/lint");var c=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.code=e,this.annotations=[],this.function_names=new Set,this.class_names=new Set}var e,n,o;return e=t,(n=[{key:"lint",value:function(){var t=new i.default({parser:{suppressErrors:!0,version:800},ast:{withPositions:!0}});try{var e=t.parseEval(this.code);if(e.errors&&e.errors.length>0)for(var n=0;n<e.errors.length;n++)this.annotate(e.errors[n].message,e.errors[n].loc);this.visit(e)}catch(t){this.annotate(t.message,t)}}},{key:"visit",value:function(t){if(t.hasOwnProperty("kind")&&this.validate(t),t.hasOwnProperty("children")){var e,n=s(t.children);try{for(n.s();!(e=n.n()).done;){var i=e.value;this.visit(i)}}catch(t){n.e(t)}finally{n.f()}}}},{key:"validate",value:function(t){"function"!==t.kind&&"class"!==t.kind||!t.hasOwnProperty("name")||"identifier"!==t.name.kind||("function"===t.kind?this.function_names.has(t.name.name)?this.annotate("Cannot redeclare function ".concat(t.name.name,"()"),t.name.loc):this.function_names.add(t.name.name):"class"===t.kind&&(this.class_names.has(t.name.name)?this.annotate("Cannot redeclare class ".concat(t.name.name),t.name.loc):this.class_names.add(t.name.name)))}},{key:"annotate",value:function(t,e,n){var i,o;e.lineNumber&&e.columnNumber?(i=r.default.Pos(e.lineNumber-1,e.columnNumber-1),o=r.default.Pos(e.lineNumber-1,e.columnNumber)):e.start&&e.end&&(e.end.offset<e.start.offset?(o=r.default.Pos(e.start.line-1,e.start.column),i=r.default.Pos(e.end.line-1,e.end.column)):(i=r.default.Pos(e.start.line-1,e.start.column),o=r.default.Pos(e.end.line-1,e.end.column))),i&&o&&(n=n||"error",this.annotations.push({message:t,severity:n,from:i,to:o}))}}])&&l(e.prototype,n),o&&l(e,o),t}();r.default.registerHelper("lint","php",(function(t,e){var n=new c(t);return n.lint(),n.annotations}))},{"codemirror/addon/lint/lint":7,"codemirror/lib/codemirror":13,"php-parser/src/index":132}],3:[function(t,e,n){var i,r;i=this,r=function(){"use strict";function e(t,e){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"rgba(0, 0, 0, 0)";return Array.isArray(t)&&(t={r:t[0],g:t[1],b:t[2],a:t[3]}),"hex"==e?n(t):"rgb"==e?i(t,o):"hsl"==e?r(t):t}function n(t){Array.isArray(t)&&(t={r:t[0],g:t[1],b:t[2],a:t[3]});var e=t.r.toString(16);t.r<16&&(e="0"+e);var n=t.g.toString(16);t.g<16&&(n="0"+n);var i=t.b.toString(16);t.b<16&&(i="0"+i);var r="";if(t.a<1){var o=Math.floor(255*t.a);r=o.toString(16),o<16&&(r="0"+r)}return"#"+e+n+i+r}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"rgba(0, 0, 0, 0)";if(Array.isArray(t)&&(t={r:t[0],g:t[1],b:t[2],a:t[3]}),void 0!==t)return 1==t.a||void 0===t.a?isNaN(t.r)?e:"rgb("+t.r+","+t.g+","+t.b+")":"rgba("+t.r+","+t.g+","+t.b+","+t.a+")"}function r(t){return Array.isArray(t)&&(t={r:t[0],g:t[1],b:t[2],a:t[3]}),1==t.a||void 0===t.a?"hsl("+t.h+","+t.s+"%,"+t.l+"%)":"hsla("+t.h+","+t.s+"%,"+t.l+"%,"+t.a+")"}var o={format:e,rgb:i,hsl:r,hex:n};function s(t,e){return e=void 0===e?1:e,Math.round(t*e)/e}function a(t){return t*Math.PI/180}function l(t){var e=180*t/Math.PI;return e<0&&(e=360+e),e}function c(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return n+e*Math.cos(a(t))}function h(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return n+e*Math.sin(a(t))}function u(t,e){return l(Math.atan2(e,t))}var f={round:s,radianToDegree:l,degreeToRadian:a,getXInCircle:c,getYInCircle:h,caculateAngle:u},d={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",aqua:"rgb(0, 255, 255)",aquamarine:"rgb(127, 255, 212)",azure:"rgb(240, 255, 255)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",black:"rgb(0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb(0, 0, 255)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",burlywood:"rgb(222, 184, 135)",cadetblue:"rgb(95, 158, 160)",chartreuse:"rgb(127, 255, 0)",chocolate:"rgb(210, 105, 30)",coral:"rgb(255, 127, 80)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",crimson:"rgb(237, 20, 61)",cyan:"rgb(0, 255, 255)",darkblue:"rgb(0, 0, 139)",darkcyan:"rgb(0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgray:"rgb(169, 169, 169)",darkgrey:"rgb(169, 169, 169)",darkgreen:"rgb(0, 100, 0)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb(85, 107, 47)",darkorange:"rgb(255, 140, 0)",darkorchid:"rgb(153, 50, 204)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkslateblue:"rgb(72, 61, 139)",darkslategray:"rgb(47, 79, 79)",darkslategrey:"rgb(47, 79, 79)",darkturquoise:"rgb(0, 206, 209)",darkviolet:"rgb(148, 0, 211)",deeppink:"rgb(255, 20, 147)",deepskyblue:"rgb(0, 191, 255)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb(30, 144, 255)",firebrick:"rgb(178, 34, 34)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb(34, 139, 34)",fuchsia:"rgb(255, 0, 255)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",goldenrod:"rgb(218, 165, 32)",gray:"rgb(128, 128, 128)",grey:"rgb(128, 128, 128)",green:"rgb(0, 128, 0)",greenyellow:"rgb(173, 255, 47)",honeydew:"rgb(240, 255, 240)",hotpink:"rgb(255, 105, 180)",indianred:"rgb(205, 92, 92)",indigo:"rgb(75, 0, 130)",ivory:"rgb(255, 255, 240)",khaki:"rgb(240, 230, 140)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lightblue:"rgb(173, 216, 230)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgreen:"rgb(144, 238, 144)",lightgray:"rgb(211, 211, 211)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightsalmon:"rgb(255, 160, 122)",lightseagreen:"rgb(32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightyellow:"rgb(255, 255, 224)",lime:"rgb(0, 255, 0)",limegreen:"rgb(50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",maroon:"rgb(128, 0, 0)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb(0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumpurple:"rgb(147, 112, 219)",mediumseagreen:"rgb(60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb(0, 250, 154)",mediumturquoise:"rgb(72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb(25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navy:"rgb(0, 0, 128)",oldlace:"rgb(253, 245, 230)",olive:"rgb(128, 128, 0)",olivedrab:"rgb(107, 142, 35)",orange:"rgb(255, 165, 0)",orangered:"rgb(255, 69, 0)",orchid:"rgb(218, 112, 214)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",paleturquoise:"rgb(175, 238, 238)",palevioletred:"rgb(219, 112, 147)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",plum:"rgb(221, 160, 221)",powderblue:"rgb(176, 224, 230)",purple:"rgb(128, 0, 128)",rebeccapurple:"rgb(102, 51, 153)",red:"rgb(255, 0, 0)",rosybrown:"rgb(188, 143, 143)",royalblue:"rgb(65, 105, 225)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb(46, 139, 87)",seashell:"rgb(255, 245, 238)",sienna:"rgb(160, 82, 45)",silver:"rgb(192, 192, 192)",skyblue:"rgb(135, 206, 235)",slateblue:"rgb(106, 90, 205)",slategray:"rgb(112, 128, 144)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",springgreen:"rgb(0, 255, 127)",steelblue:"rgb(70, 130, 180)",tan:"rgb(210, 180, 140)",teal:"rgb(0, 128, 128)",thistle:"rgb(216, 191, 216)",tomato:"rgb(255, 99, 71)",turquoise:"rgb(64, 224, 208)",violet:"rgb(238, 130, 238)",wheat:"rgb(245, 222, 179)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellowgreen:"rgb(154, 205, 50)",transparent:"rgba(0, 0, 0, 0)"},p={isColorName:function(t){return!!d[t]},getColorByName:function(t){return d[t]}};function g(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function m(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.h,e=i.s,n=i.l}var r,o,a;if(t/=360,n/=100,0==(e/=100))r=o=a=n;else{var l=n<.5?n*(1+e):n+e-n*e,c=2*n-l;r=g(c,l,t+1/3),o=g(c,l,t),a=g(c,l,t-1/3)}return{r:s(255*r),g:s(255*o),b:s(255*a)}}var v={HUEtoRGB:g,HSLtoHSV:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.h,e=i.s,n=i.l}var r=m(t,e,n);return D(r.r,r.g,r.b)},HSLtoRGB:m},_=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},y=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),x=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},k=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},b=function t(e,n,i){null===e&&(e=Function.prototype);var r=Object.getOwnPropertyDescriptor(e,n);if(void 0===r){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,n,i)}if("value"in r)return r.value;var s=r.get;return void 0!==s?s.call(i):void 0},T=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)},C=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},w=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],i=!0,r=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){r=!0,o=t}finally{try{!i&&a.return&&a.return()}finally{if(r)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},E=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)},S=/(#(?:[\da-f]{8})|#(?:[\da-f]{3}){1,2}|rgb\((?:\s*\d{1,3},\s*){2}\d{1,3}\s*\)|rgba\((?:\s*\d{1,3},\s*){3}\d*\.?\d+\s*\)|hsl\(\s*\d{1,3}(?:,\s*\d{1,3}%){2}\s*\)|hsla\(\s*\d{1,3}(?:,\s*\d{1,3}%){2},\s*\d*\.?\d+\s*\)|([\w_\-]+))/gi;function A(t){var e=t.match(S),n=[];if(!e)return n;for(var i=0,r=e.length;i<r;i++)if(e[i].indexOf("#")>-1||e[i].indexOf("rgb")>-1||e[i].indexOf("hsl")>-1)n.push({color:e[i]});else{var o=p.getColorByName(e[i]);o&&n.push({color:e[i],nameColor:o})}var s={next:0};return n.forEach((function(e){var n=t.indexOf(e.color,s.next);e.startIndex=n,e.endIndex=n+e.color.length,s.next=e.endIndex})),n}function L(t){var e=A(t);return e.forEach((function(e,n){t=t.replace(e.color,"@"+n)})),{str:t,matches:e}}function O(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:",",n=L(t);return n.str.split(e).map((function(t,e){return t=I(t),n.matches[e]&&(t=t.replace("@"+e,n.matches[e].color)),t}))}function N(t,e){return e.forEach((function(e,n){t=t.replace("@"+n,e.color)})),t}function I(t){return t.replace(/^\s+|\s+$/g,"")}function M(t){if("string"==typeof t){if(p.isColorName(t)&&(t=p.getColorByName(t)),t.indexOf("rgb(")>-1){for(var e=0,n=(r=t.replace("rgb(","").replace(")","").split(",")).length;e<n;e++)r[e]=parseInt(I(r[e]),10);var i={type:"rgb",r:r[0],g:r[1],b:r[2],a:1};return i=Object.assign(i,P(i))}if(t.indexOf("rgba(")>-1){for(e=0,n=(r=t.replace("rgba(","").replace(")","").split(",")).length;e<n;e++)r[e]=n-1==e?parseFloat(I(r[e])):parseInt(I(r[e]),10);return i={type:"rgb",r:r[0],g:r[1],b:r[2],a:r[3]},i=Object.assign(i,P(i))}if(t.indexOf("hsl(")>-1){for(e=0,n=(r=t.replace("hsl(","").replace(")","").split(",")).length;e<n;e++)r[e]=parseFloat(I(r[e]));return i={type:"hsl",h:r[0],s:r[1],l:r[2],a:1},i=Object.assign(i,m(i))}if(t.indexOf("hsla(")>-1){for(e=0,n=(r=t.replace("hsla(","").replace(")","").split(",")).length;e<n;e++)r[e]=n-1==e?parseFloat(I(r[e])):parseInt(I(r[e]),10);return i={type:"hsl",h:r[0],s:r[1],l:r[2],a:r[3]},i=Object.assign(i,m(i))}if(0==t.indexOf("#")){var r=[],o=1;if(3==(t=t.replace("#","")).length)for(e=0,n=t.length;e<n;e++){var s=t.substr(e,1);r.push(parseInt(s+s,16))}else if(8===t.length){for(e=0,n=t.length;e<n;e+=2)r.push(parseInt(t.substr(e,2),16));o=r.pop()/255}else for(e=0,n=t.length;e<n;e+=2)r.push(parseInt(t.substr(e,2),16));return i={type:"hex",r:r[0],g:r[1],b:r[2],a:o},i=Object.assign(i,P(i))}}else if("number"==typeof t){if(0<=t&&t<=16777215)return i={type:"hex",r:(16711680&t)>>16,g:(65280&t)>>8,b:(255&t)>>0,a:1},i=Object.assign(i,P(i));if(0<=t&&t<=4294967295)return i={type:"hex",r:(4278190080&t)>>24,g:(16711680&t)>>16,b:(65280&t)>>8,a:(255&t)/255},i=Object.assign(i,P(i))}return t}function $(t){"string"==typeof t&&(t=O(t));var e=(t=t.map((function(t){if("string"==typeof t){var e=L(t),n=I(e.str).split(" ");return n[1]?n[1].includes("%")?n[1]=parseFloat(n[1].replace(/%/,""))/100:n[1]=parseFloat(n[1]):n[1]="*",n[0]=N(n[0],e.matches),n}if(Array.isArray(t))return t[1]?"string"==typeof t[1]&&(t[1].includes("%")?t[1]=parseFloat(t[1].replace(/%/,""))/100:t[1]=+t[1]):t[1]="*",[].concat(E(t))}))).filter((function(t){return"*"===t[1]})).length;if(e>0){var n=(1-t.filter((function(t){return"*"!=t[1]&&1!=t[1]})).map((function(t){return t[1]})).reduce((function(t,e){return t+e}),0))/e;t.forEach((function(e,i){"*"==e[1]&&i>0&&(t.length-1==i||(e[1]=n))}))}return t}var R={matches:A,convertMatches:L,convertMatchesArray:O,reverseMatches:N,parse:M,parseGradient:$,trim:I,color_regexp:S,color_split:","};function D(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}var r=t/255,o=e/255,s=n/255,a=Math.max(r,o,s),l=Math.min(r,o,s),c=a-l,h=0;return 0==c?h=0:a==r?h=(o-s)/c%6*60:a==o?h=60*((s-r)/c+2):a==s&&(h=60*((r-o)/c+4)),h<0&&(h=360+h),{h:h,s:0==a?0:c/a,v:a}}function P(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}t/=255,e/=255,n/=255;var r,o,a=Math.max(t,e,n),l=Math.min(t,e,n),c=(a+l)/2;if(a==l)r=o=0;else{var h=a-l;switch(o=c>.5?h/(2-a-l):h/(a+l),a){case t:r=(e-n)/h+(e<n?6:0);break;case e:r=(n-t)/h+2;break;case n:r=(t-e)/h+4}r/=6}return{h:s(360*r),s:s(100*o),l:s(100*c)}}function F(t){return{r:t,g:t,b:t}}function B(t,e,n){return Math.ceil(.2126*t+.7152*e+.0722*n)}function U(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}var r=B(t,e,n),o=.564*(n-r),s=.713*(t-r);return{y:r,cr:s,cb:o}}function H(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.04045;return 100*(t>e?Math.pow((t+.055)/1.055,2.4):t/12.92)}function z(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}var r=t/255,o=e/255,s=n/255,a=.4124*(r=H(r))+.3576*(o=H(o))+.1805*(s=H(s)),l=.2126*r+.7152*o+.0722*s,c=.0193*r+.1192*o+.9505*s;return{x:a,y:l,z:c}}var W={RGBtoCMYK:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}var r=t/255,o=e/255,s=n/255,a=1-Math.max(r,o,s),l=(1-r-a)/(1-a),c=(1-o-a)/(1-a),h=(1-s-a)/(1-a);return{c:l,m:c,y:h,k:a}},RGBtoGray:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}return F(U(t,e,n).y)},RGBtoHSL:P,RGBtoHSV:D,RGBtoLAB:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}return XYZtoLAB(z(t,e,n))},RGBtoSimpleGray:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}return F(Math.ceil((t+e+n)/3))},RGBtoXYZ:z,RGBtoYCrCb:U,c:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.r,e=i.g,n=i.b}return F((t+e+n)/3>90?0:255)},brightness:B,gray:F},j={CMYKtoRGB:function(t,e,n,i){if(1==arguments.length){var r=arguments[0];t=r.c,e=r.m,n=r.y,i=r.k}var o=255*(1-t)*(1-i),s=255*(1-e)*(1-i),a=255*(1-n)*(1-i);return{r:o,g:s,b:a}}};function G(t){return Math.pow(t,3)>.008856?Math.pow(t,3):(t-16/116)/7.787}function q(t){return t>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t}function V(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.x,e=i.y,n=i.z}var r=t/100,o=e/100,a=n/100,l=3.2406*r+-1.5372*o+-.4986*a,c=-.9689*r+1.8758*o+.0415*a,h=.0557*r+-.204*o+1.057*a;l=q(l),c=q(c),h=q(h);var u=s(255*l),f=s(255*c),d=s(255*h);return{r:u,g:f,b:d}}function Y(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.l,e=i.a,n=i.b}var r=(t+16)/116,o=e/500+r,s=r-n/200;r=G(r);var a=95.047*(o=G(o)),l=100*r,c=108.883*(s=G(s));return{x:a,y:l,z:c}}var K={XYZtoRGB:V,LABtoRGB:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.l,e=i.a,n=i.b}return V(Y(t,e,n))},LABtoXYZ:Y};function X(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.h,e=i.s,n=i.v}var r=t,o=e,a=n;r>=360&&(r=0);var l=o*a,c=l*(1-Math.abs(r/60%2-1)),h=a-l,u=[];return 0<=r&&r<60?u=[l,c,0]:60<=r&&r<120?u=[c,l,0]:120<=r&&r<180?u=[0,l,c]:180<=r&&r<240?u=[0,c,l]:240<=r&&r<300?u=[c,0,l]:300<=r&&r<360&&(u=[l,0,c]),{r:s(255*(u[0]+h)),g:s(255*(u[1]+h)),b:s(255*(u[2]+h))}}var Q={HSVtoHSL:function(t,e,n){if(1==arguments.length){var i=arguments[0];t=i.h,e=i.s,n=i.v}var r=X(t,e,n);return P(r.r,r.g,r.b)},HSVtoRGB:X},Z={YCrCbtoRGB:function(t,e,n,i){if(1==arguments.length){var r=arguments[0];t=r.y,e=r.cr,n=r.cb,i=(i=r.bit)||0}var o=t+1.402*(e-i),s=t-.344*(n-i)-.714*(e-i),a=t+1.772*(n-i);return{r:Math.ceil(o),g:Math.ceil(s),b:Math.ceil(a)}}};function J(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"hex",o={r:s(t.r+(n.r-t.r)*i),g:s(t.g+(n.g-t.g)*i),b:s(t.b+(n.b-t.b)*i),a:s(t.a+(n.a-t.a)*i,100)};return e(o,o.a<1?"rgb":r)}function tt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;if(!t)return[];"string"==typeof t&&(t=O(t));for(var n=(t=t||[]).length,i=[],r=0;r<n-1;r++)for(var o=0;o<e;o++)i.push(et(t[r],t[r+1],o/e));return i}function et(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"hex",r=M(t),o=M(e);return J(r,o,n,i)}function nt(t){return t=M(t),(Math.round(299*t.r)+Math.round(587*t.g)+Math.round(114*t.b))/1e3}function it(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"h",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:9,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"rgb",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:100,l=M(t),c=D(l),h=(s-o)*a/i,u=[],f=1;f<=i;f++)c[n]=Math.abs((a-h*f)/a),u.push(e(X(c),r));return u}tt.parula=function(t){return tt(["#352a87","#0f5cdd","#00b5a6","#ffc337","#fdff00"],t)},tt.jet=function(t){return tt(["#00008f","#0020ff","#00ffff","#51ff77","#fdff00","#ff0000","#800000"],t)},tt.hsv=function(t){return tt(["#ff0000","#ffff00","#00ff00","#00ffff","#0000ff","#ff00ff","#ff0000"],t)},tt.hot=function(t){return tt(["#0b0000","#ff0000","#ffff00","#ffffff"],t)},tt.pink=function(t){return tt(["#1e0000","#bd7b7b","#e7e5b2","#ffffff"],t)},tt.bone=function(t){return tt(["#000000","#4a4a68","#a6c6c6","#ffffff"],t)},tt.copper=function(t){return tt(["#000000","#3d2618","#9d623e","#ffa167","#ffc77f"],t)};var rt={interpolateRGB:J,blend:et,mix:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"hex";return et(t,e,n,i)},scale:tt,contrast:nt,contrastColor:function(t){return nt(t)>=128?"black":"white"},gradient:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,n=[],i=e-((t=$(t)).length-1),r=i,o=1,s=t.length;o<s;o++){var a=t[o-1][0],l=t[o][0],c=1==o?t[o][1]:t[o][1]-t[o-1][1],h=o==t.length-1?r:Math.floor(c*i);n=n.concat(tt([a,l],h),[l]),r-=h}return n},scaleHSV:it,scaleH:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"rgb",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:360;return it(t,"h",e,n,i,r,1)},scaleS:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"rgb",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1;return it(t,"s",e,n,i,r,100)},scaleV:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"rgb",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1;return it(t,"v",e,n,i,r,100)}};function ot(t,e){if(t.length!==e.length)return!1;for(var n=0,i=t.length;n<i;++n)if(t[n]!==e[n])return!1;return!0}var st={euclidean:function(t,e){for(var n=0,i=0,r=t.length;i<r;i++)n+=Math.pow(e[i]-t[i],2);return Math.sqrt(n)},manhattan:function(t,e){for(var n=0,i=0,r=t.length;i<r;i++)n+=Math.abs(e[i]-t[i]);return n},max:function(t,e){for(var n=0,i=0,r=t.length;i<r;i++)n=Math.max(n,Math.abs(e[i]-t[i]));return n}},at={linear:function(t,e){var n=[],i=Math.round(Math.random()*t),r=Math.floor(t/e);do{n.push(i),i=(i+r)%t}while(n.length<e);return n},shuffle:function(t,e){for(var n=[];n.length<e;){var i=Math.round(Math.random()*t);-1==n.indexOf(i)&&n.push(i)}return n}};function lt(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"linear",i=at[n](t.length,e);return i.map((function(e){return t[e]}))}function ct(t,e,n){var i=1/0,r=0;return e.forEach((function(e,o){var s=n(t,e);s<i&&(i=s,r=o)})),r}function ht(t){if(!t.length)return[];for(var e=new Array(t[0].length),n=0,i=e.length;n<i;n++)e[n]=0;var r=0;for(i=t.length;r<i;r++)for(var o=t[r],s=r+1,a=0,l=o.length;a<l;a++)e[a]+=(o[a]-e[a])/s;return e=e.map((function(t){return Math.floor(t)})),e}function ut(t,e,n,i){for(var r=new Array(t),o=0;o<t;o++)r[o]=[];for(var s=0,a=e.length;s<a;s++){var l=e[s];r[ct(l,n,i)].push(l)}return r}function ft(t,e,n,i,r,o){for(var s=0;s<t;s++){var a=n[s],l=i[s],c=new Array(l.length);c=a.length>0?ht(a):e[Math.floor(o()*e.length)],r=!ot(c,l),i[s]=c}return r}function dt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"linear";t=t,e=e||Math.max(2,Math.ceil(Math.sqrt(t.length/2)));var o=n||"euclidean";"string"==typeof o&&(o=st[o]);for(var s=0,a=function(){return(s=(9301*s+49297)%233280)/233280},l=lt(t,e,r),c=!0,h=0;c;){var u=ut(e,t,l,o);if(c=ft(e,t,u,l,!1,a),++h%i==0)break}return l}var pt={create:function(t,e){var n=document.createElement("canvas");return n.width=t||0,n.height=e||0,n},drawPixels:function(t){var e=this.create(t.width,t.height),n=e.getContext("2d"),i=n.getImageData(0,0,e.width,e.height);return i.data.set(t.pixels),n.putImageData(i,0,0),e},createHistogram:function(t,e,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{black:!0,red:!1,green:!1,blue:!1},o=this.create(t,e),s=o.getContext("2d");s.clearRect(0,0,t,e),s.fillStyle="white",s.fillRect(0,0,t,e),s.globalAlpha=.7;var a={black:!1};r.black?a.black=!1:a.black=!0,r.red?a.red=!1:a.red=!0,r.green?a.green=!1:a.green=!0,r.blue?a.blue=!1:a.blue=!0,Object.keys(n).forEach((function(i){if(!a[i]){var r=n[i],o=Math.max.apply(Math,r),l=t/r.length;s.fillStyle=i,r.forEach((function(t,n){var i=e*(t/o),r=n*l;s.fillRect(r,e-i,l,i)}))}})),"function"==typeof i&&i(o)},getHistogram:function(t){for(var e=new Array(256),n=new Array(256),i=new Array(256),r=new Array(256),o=0;o<256;o++)e[o]=0,n[o]=0,i[o]=0,r[o]=0;return function(t,e){!function(t,e){for(var n=0;n<t;n+=4)e(n)}(t.pixels.length,(function(n){e(t.pixels,n)}))}(t,(function(t,o){var s=Math.round(sn.brightness(t[o],t[o+1],t[o+2]));e[s]++,n[t[o]]++,i[t[o+1]]++,r[t[o+2]]++})),{black:e,red:n,green:i,blue:r}},getBitmap:function(t,e){var n=this.drawPixels(t);return{pixels:n.getContext("2d").getImageData(e.x||0,e.y||0,e.width||n.width,e.height||n.height).data,width:e.width,height:e.height}},putBitmap:function(t,e,n){var i=this.drawPixels(t),r=this.drawPixels(e),o=i.getContext("2d");return o.drawImage(r,n.x,n.y),t.pixels=o.getImageData(0,0,t.width,t.height).data,t}},gt=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_(this,t),this.isLoaded=!1,this.imageUrl=e,this.opt=n,this.initialize()}return y(t,[{key:"initialize",value:function(){this.canvas=this.createCanvas(),this.context=this.canvas.getContext("2d")}},{key:"createCanvas",value:function(){return document.createElement("canvas")}},{key:"load",value:function(t){this.loadImage(t)}},{key:"loadImage",value:function(t){var e=this,n=this.context;this.newImage=new Image;var i=this.newImage;i.onload=function(){var r=i.height/i.width;e.opt.canvasWidth&&e.opt.canvasHeight?(e.canvas.width=e.opt.canvasWidth,e.canvas.height=e.opt.canvasHeight):(e.canvas.width=e.opt.maxWidth?e.opt.maxWidth:i.width,e.canvas.height=e.canvas.width*r),n.drawImage(i,0,0,i.width,i.height,0,0,e.canvas.width,e.canvas.height),e.isLoaded=!0,t&&t()},this.getImageUrl((function(t){i.src=t}))}},{key:"load",value:function(t){var e=this;this.newImage=new Image;var n=this.newImage;n.onload=function(){e.isLoaded=!0,t&&t()},this.getImageUrl((function(t){n.src=t}))}},{key:"getImageUrl",value:function(t){if("string"==typeof this.imageUrl)return t(this.imageUrl);if(this.imageUrl instanceof Blob){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.readAsDataURL(this.imageUrl)}}},{key:"getRGBA",value:function(t,e,n,i){return[t,e,n,i]}},{key:"toArray",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),r=i.width,o=i.height,s=new Uint8ClampedArray(i.data),a={pixels:s,width:r,height:o};t||(t=function(t,e){e(t)}),t(a,(function(t){var i=pt.drawPixels(t);"canvas"==n.returnTo?e(i):e(i.toDataURL(n.outputFormat||"image/png"))}),n)}},{key:"toHistogram",value:function(t){var e=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),n=e.width,i=e.height,r={pixels:new Uint8ClampedArray(e.data),width:n,height:i};return pt.getHistogram(r)}},{key:"toRGB",value:function(){for(var t=this.context.getImageData(0,0,this.canvas.width,this.canvas.height).data,e=[],n=0,i=t.length;n<i;n+=4)e[e.length]=[t[n+0],t[n+1],t[n+2],t[n+3]];return e}}]),t}(),mt={identity:function(){return[1,0,0,0,1,0,0,0,1]},stretching:function(t){return[t,0,0,0,1,0,0,0,1]},squeezing:function(t){return[t,0,0,0,1/t,0,0,0,1]},scale:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return[t=t||0===t?t:1,0,0,0,e=e||0===e?e:1,0,0,0,1]},scaleX:function(t){return this.scale(t)},scaleY:function(t){return this.scale(1,t)},translate:function(t,e){return[1,0,t,0,1,e,0,0,1]},rotate:function(t){var e=this.radian(t);return[Math.cos(e),-Math.sin(e),0,Math.sin(e),Math.cos(e),0,0,0,1]},rotate90:function(){return[0,-1,0,1,0,0,0,0,1]},rotate180:function(){return[-1,0,0,0,-1,0,0,0,1]},rotate270:function(){return[0,1,0,-1,0,0,0,0,1]},radian:function(t){return t*Math.PI/180},skew:function(t,e){var n=this.radian(t),i=this.radian(e);return[1,Math.tan(n),0,Math.tan(i),1,0,0,0,1]},skewX:function(t){var e=this.radian(t);return[1,Math.tan(e),0,0,1,0,0,0,1]},skewY:function(t){var e=this.radian(t);return[1,0,0,Math.tan(e),1,0,0,0,1]},shear1:function(t){return[1,-Math.tan(this.radian(t)/2),0,0,1,0,0,0,1]},shear2:function(t){return[1,0,0,Math.sin(this.radian(t)),1,0,0,0,1]}},vt={CONSTANT:mt,radian:function(t){return mt.radian(t)},multiply:function(t,e){return[t[0]*e[0]+t[1]*e[1]+t[2]*e[2],t[3]*e[0]+t[4]*e[1]+t[5]*e[2],t[6]*e[0]+t[7]*e[1]+t[8]*e[2]]},identity:function(t){return this.multiply(mt.identity(),t)},translate:function(t,e,n){return this.multiply(mt.translate(t,e),n)},rotate:function(t,e){return this.multiply(mt.rotate(t),e)},shear1:function(t,e){return this.multiply(mt.shear1(t),e)},shear2:function(t,e){return this.multiply(mt.shear2(t),e)},rotateShear:function(t,e){var n=e;return n=this.shear1(t,n),n=this.shear2(t,n),n=this.shear1(t,n)}};function _t(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"center",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"center";return function(i,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=Xt(i.pixels.length,i.width,i.height),a=i.width,l=i.height;"center"==e&&(e=Math.floor(a/2)),"center"==n&&(n=Math.floor(l/2));var c=vt.CONSTANT.translate(-e,-n),h=vt.CONSTANT.translate(e,n),u=vt.CONSTANT.shear1(t),f=vt.CONSTANT.shear2(t);he((function(t,e,n,r){var o=vt.multiply(c,[n,r,1]);o=vt.multiply(u,o).map(Math.round),o=vt.multiply(f,o).map(Math.round),o=vt.multiply(u,o).map(Math.round),o=vt.multiply(h,o);var s=w(o,2),d=s[0],p=s[1];d<0||p<0||d>a-1||p>l-1||de(t,p*a+d<<2,i.pixels,e)}))(s,(function(){r(s)}),o)}}var yt={crop:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments[2],i=arguments[3],r=Xt(n*i*4,n,i);return function(o,s){for(var a=e,l=0;a<i;a++,l++)for(var c=t,h=0;c<n;c++,h++)r.pixels[l*n*h]=o.pixels[a*n*c];s(r)}},resize:function(t,e){return function(n,i){var r=pt.drawPixels(n),o=r.getContext("2d");r.width=t,r.height=e,i({pixels:new Uint8ClampedArray(o.getImageData(0,0,t,e).data),width:t,height:e})}},flipH:function(){return function(t,e){for(var n=t.width,i=t.height,r=n%2==1?Math.floor(n/2):n/2,o=0;o<i;o++)for(var s=0;s<r;s++){var a=o*n+s<<2,l=o*n+(n-1-s)<<2;ce(t.pixels,a,l)}e(t)}},flipV:function(){return function(t,e){for(var n=t.width,i=t.height,r=i%2==1?Math.floor(i/2):i/2,o=0;o<r;o++)for(var s=0;s<n;s++){var a=o*n+s<<2,l=(i-1-o)*n+s<<2;ce(t.pixels,a,l)}e(t)}},rotate:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return t=ne(t),t%=360,function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(0==t)return e;if(90==t||270==t)var r=Xt(e.pixels.length,e.height,e.width);else{if(180!=t)return _t(t)(e,n,i);r=Xt(e.pixels.length,e.width,e.height)}he((function(n,i,o,s){if(90==t)var a=o*r.width+(r.width-1-s)<<2;else 270==t?a=(r.height-1-o)*r.width+s<<2:180==t&&(a=(r.height-1-s)*r.width+(r.width-1-o)<<2);de(r.pixels,a,e.pixels,i)}))(e,(function(){n(r)}),i)}},rotateDegree:_t,histogram:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"gray",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],i=0;i<e.length-1;i++)for(var r=e[i],o=e[i+1],s=o[0]-r[0],a=o[1]-r[1],l=a/s,c=0,h=r[0];c<s;c++,h++)n[h]=r[1]+c*l;return n[255]=255,ae("red"===t?function(){$r=n[$r]}:"green"===t?function(){$g=n[$g]}:"blue"===t?function(){$b=n[$b]}:function(){var t=Color.RGBtoYCrCb($r,$g,$b),e=Color.YCrCbtoRGB(clamp(n[clamp(t.y)]),t.cr,t.cb,0);$r=e.r,$g=e.g,$b=e.b},{},{$realPoints:n})},"rotate-degree":_t};function xt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=ne(t),r=(e=ne(e))/100,o=n;return ae("\n // refer to Color.brightness \n const v = ($C * Math.ceil($r * 0.2126 + $g * 0.7152 + $b * 0.0722) ) >= $scale ? 255 : 0;\n\n if ($hasColor) {\n\n if (v == 0) {\n $r = 0 \n $g = 0 \n $b = 0\n }\n \n } else {\n const value = Math.round(v)\n $r = value \n $g = value \n $b = value \n }\n \n ",{$C:r,$scale:i,$hasColor:o})}var kt={bitonal:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100,i=sn.parse(t),r=sn.parse(e),o=n;return ae("\n const thresholdColor = ( $r + $g + $b ) <= $threshold ? $darkColor : $lightColor\n\n $r = thresholdColor.r\n $g = thresholdColor.g \n $b = thresholdColor.b \n ",{$threshold:o},{$darkColor:i,$lightColor:r})},brightness:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;t=ne(t);var e=Math.floor(t/100*255);return ae("\n $r += $C \n $g += $C \n $b += $C \n ",{$C:e})},brownie:function(){return ae("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:[.5997023498159715,.34553243048391263,-.2708298674538042,0,-.037703249837783157,.8609577587992641,.15059552388459913,0,.24113635128153335,-.07441037908422492,.44972182064877153,0,0,0,0,1]})},clip:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;t=ne(t);var e=2.55*Math.abs(t);return ae("\n\n $r = ($r > 255 - $C) ? 255 : 0\n $g = ($g > 255 - $C) ? 255 : 0\n $b = ($b > 255 - $C) ? 255 : 0\n\n ",{$C:e})},contrast:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;t=ne(t);var e=Math.max((128+t)/128,0);return ae("\n $r *= $C\n $g *= $C\n $b *= $C\n ",{$C:e})},gamma:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=ne(t);return ae("\n $r = Math.pow($r / 255, $C) * 255\n $g = Math.pow($g / 255, $C) * 255\n $b = Math.pow($b / 255, $C) * 255\n ",{$C:e})},gradient:function(){var t=[].concat(Array.prototype.slice.call(arguments));1===t.length&&"string"==typeof t[0]&&(t=sn.convertMatchesArray(t[0]));var e=(t=t.map((function(t){return sn.matches(t).length?{type:"param",value:t}:{type:"scale",value:t}}))).filter((function(t){return"scale"==t.type}))[0];e=e?+e.value:256,t=t.filter((function(t){return"param"==t.type})).map((function(t){return t.value})).join(",");var n=sn.gradient(t,e).map((function(t){var e=sn.parse(t);return{r:e.r,g:e.g,b:e.b,a:e.a}}));return ae("\n const colorIndex = clamp(Math.ceil($r * 0.2126 + $g * 0.7152 + $b * 0.0722))\n const newColorIndex = clamp(Math.floor(colorIndex * ($scale / 256)))\n const color = $colors[newColorIndex]\n\n $r = color.r \n $g = color.g \n $b = color.b \n $a = clamp(Math.floor(color.a * 256))\n ",{},{$colors:n,$scale:e})},grayscale:function(t){var e=(t=ne(t))/100;return e>1&&(e=1),ae("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a\n ",{$matrix:[.2126+.7874*(1-e),.7152-.7152*(1-e),.0722-.0722*(1-e),0,.2126-.2126*(1-e),.7152+.2848*(1-e),.0722-.0722*(1-e),0,.2126-.2126*(1-e),.7152-.7152*(1-e),.0722+.9278*(1-e),0,0,0,0,1]})},hue:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:360,e=ne(t);return ae("\n var hsv = Color.RGBtoHSV($r, $g, $b);\n\n // 0 ~ 360 \n var h = hsv.h;\n h += Math.abs($C)\n h = h % 360\n hsv.h = h\n\n var rgb = Color.HSVtoRGB(hsv);\n\n $r = rgb.r\n $g = rgb.g\n $b = rgb.b\n ",{$C:e})},invert:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,e=(t=ne(t))/100;return ae("\n $r = (255 - $r) * $C\n $g = (255 - $g) * $C\n $b = (255 - $b) * $C\n ",{$C:e})},kodachrome:function(){return ae("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:[1.1285582396593525,-.3967382283601348,-.03992559172921793,0,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,0,0,0,1]})},matrix:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,h=arguments.length>10&&void 0!==arguments[10]?arguments[10]:0,u=arguments.length>11&&void 0!==arguments[11]?arguments[11]:0,f=arguments.length>12&&void 0!==arguments[12]?arguments[12]:0,d=arguments.length>13&&void 0!==arguments[13]?arguments[13]:0,p=arguments.length>14&&void 0!==arguments[14]?arguments[14]:0,g=arguments.length>15&&void 0!==arguments[15]?arguments[15]:0,m=[t,e,n,i,r,o,s,a,l,c,h,u,f,d,p,g];return ae("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:m})},noise:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=ne(t);return ae("\n const C = Math.abs($C) * 5\n const min = -C\n const max = C \n const noiseValue = Math.round(min + (Math.random() * (max - min)))\n\n $r += noiseValue\n $g += noiseValue\n $b += noiseValue\n ",{$C:e})},opacity:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,e=(t=ne(t))/100;return ae("\n $a *= $C \n ",{$C:e})},polaroid:function(){return ae("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:[1.438,-.062,-.062,0,-.122,1.378,-.122,0,-.016,-.016,1.483,0,0,0,0,1]})},saturation:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,e=(t=ne(t))/100,n=1-Math.abs(e),i=[n,0,0,0,0,n,0,0,0,0,n,0,0,0,0,n];return ae("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:i})},sepia:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=ne(t);e>1&&(e=1);var n=[.393+.607*(1-e),.769-.769*(1-e),.189-.189*(1-e),0,.349-.349*(1-e),.686+.314*(1-e),.168-.168*(1-e),0,.272-.272*(1-e),.534-.534*(1-e),.131+.869*(1-e),0,0,0,0,1];return ae("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:n})},shade:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=ne(t),r=ne(e),o=ne(n);return ae("\n $r *= $redValue\n $g *= $greenValue\n $b *= $blueValue\n ",{$redValue:i,$greenValue:r,$blueValue:o})},shift:function(){return ae("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:[1.438,-.062,-.062,0,-.122,1.378,-.122,0,-.016,-.016,1.483,0,0,0,0,1]})},solarize:function(t,e,n){return ae("\n $r = ($r < $redValue) ? 255 - $r: $r\n $g = ($g < $greenValue) ? 255 - $g: $g\n $b = ($b < $blueValue) ? 255 - $b: $b\n ",{$redValue:ne(t),$greenValue:ne(e),$blueValue:ne(n)})},technicolor:function(){return ae("\n $r = $matrix[0] * $r + $matrix[1] * $g + $matrix[2] * $b + $matrix[3] * $a\n $g = $matrix[4] * $r + $matrix[5] * $g + $matrix[6] * $b + $matrix[7] * $a\n $b = $matrix[8] * $r + $matrix[9] * $g + $matrix[10] * $b + $matrix[11] * $a\n $a = $matrix[12] * $r + $matrix[13] * $g + $matrix[14] * $b + $matrix[15] * $a \n ",{$matrix:[1.9125277891456083,-.8545344976951645,-.09155508482755585,0,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-.231103377548616,-.7501899197440212,1.847597816108189,0,0,0,0,1]})},threshold:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return xt(t,e,!1)},"threshold-color":xt,tint:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=ne(t),r=ne(e),o=ne(n);return ae("\n\n $r += (255 - $r) * $redTint\n $g += (255 - $g) * $greenTint\n $b += (255 - $b) * $blueTint\n\n ",{$redTint:i,$greenTint:r,$blueTint:o})}};function bt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,e=(t=ne(t))/100;return me(jt([1,2,1,2,4,2,1,2,1],1/16*e))}function Tt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,e=(t=ne(t))/100;return me(jt([1,4,6,4,1,4,16,24,16,4,6,24,36,24,6,4,16,24,16,4,1,4,6,4,1],1/256*e))}function Ct(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return t=ne(t),me([5,5,5,-3,0,-3,-3,-3,-3])}function wt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return t=ne(t),me([5,-3,-3,5,0,-3,5,-3,-3])}function Et(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return me(jt([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,24,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],(t=ne(t))/100))}function St(){return me(jt([1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1],1/9))}function At(){return me(jt([1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1],1/9))}function Lt(){return me(jt([1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,1],1/9))}function Ot(){return me([-1,-2,-1,0,0,0,1,2,1])}function Nt(){return me([-1,0,1,-2,0,2,-1,0,1])}var It=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Mt=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function $t(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}function Rt(t,e,n){return n?function(t,e,n,i){if(isNaN(i)||i<1)return t;i|=0;var r,o,s,a,l,c,h,u,f,d,p,g,m,v,_,y,x,k,b,T,C=t.pixels,w=t.width,E=t.height,S=i+i+1,A=w-1,L=E-1,O=i+1,N=O*(O+1)/2,I=new $t,M=I;for(s=1;s<S;s++)if(M=M.next=new $t,s==O)var $=M;M.next=I;var R=null,D=null;h=c=0;var P=It[i],F=Mt[i];for(o=0;o<E;o++){for(v=_=y=u=f=d=0,p=O*(x=C[c]),g=O*(k=C[c+1]),m=O*(b=C[c+2]),u+=N*x,f+=N*k,d+=N*b,M=I,s=0;s<O;s++)M.r=x,M.g=k,M.b=b,M=M.next;for(s=1;s<O;s++)a=c+((A<s?A:s)<<2),u+=(M.r=x=C[a])*(T=O-s),f+=(M.g=k=C[a+1])*T,d+=(M.b=b=C[a+2])*T,v+=x,_+=k,y+=b,M=M.next;for(R=I,D=$,r=0;r<w;r++)C[c]=u*P>>F,C[c+1]=f*P>>F,C[c+2]=d*P>>F,u-=p,f-=g,d-=m,p-=R.r,g-=R.g,m-=R.b,a=h+((a=r+i+1)<A?a:A)<<2,u+=v+=R.r=C[a],f+=_+=R.g=C[a+1],d+=y+=R.b=C[a+2],R=R.next,p+=x=D.r,g+=k=D.g,m+=b=D.b,v-=x,_-=k,y-=b,D=D.next,c+=4;h+=w}for(r=0;r<w;r++){for(_=y=v=f=d=u=0,p=O*(x=C[c=r<<2]),g=O*(k=C[c+1]),m=O*(b=C[c+2]),u+=N*x,f+=N*k,d+=N*b,M=I,s=0;s<O;s++)M.r=x,M.g=k,M.b=b,M=M.next;for(l=w,s=1;s<=i;s++)c=l+r<<2,u+=(M.r=x=C[c])*(T=O-s),f+=(M.g=k=C[c+1])*T,d+=(M.b=b=C[c+2])*T,v+=x,_+=k,y+=b,M=M.next,s<L&&(l+=w);for(c=r,R=I,D=$,o=0;o<E;o++)C[a=c<<2]=u*P>>F,C[a+1]=f*P>>F,C[a+2]=d*P>>F,u-=p,f-=g,d-=m,p-=R.r,g-=R.g,m-=R.b,a=r+((a=o+O)<L?a:L)*w<<2,u+=v+=R.r=C[a],f+=_+=R.g=C[a+1],d+=y+=R.b=C[a+2],R=R.next,p+=x=D.r,g+=k=D.g,m+=b=D.b,v-=x,_-=k,y-=b,D=D.next,c+=w}return t}(t,0,0,e):stackBlurCanvasRGB(t,0,0,e)}function Dt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t=ne(t),function(n,i){i(Rt(n,t,e))}}function Pt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;return me(jt([1,4,6,4,1,4,16,24,16,4,6,24,-476,24,6,4,16,24,16,4,1,4,6,4,1],-1/(t=ne(t))))}var Ft,Bt={blur:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3;return me(ue(t=ne(t)))},emboss:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4;return me([-2*(t=ne(t)),-t,0,-t,1,t,0,t,2*t])},gaussianBlur:bt,"gaussian-blur":bt,gaussianBlur5x:Tt,"gaussian-blur-5x":Tt,grayscale2:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return me(jt([.3,.3,.3,0,0,.59,.59,.59,0,0,.11,.11,.11,0,0,0,0,0,0,0,0,0,0,0,0],(t=ne(t))/100))},normal:function(){return me([0,0,0,0,1,0,0,0,0])},kirschHorizontal:Ct,"kirsch-horizontal":Ct,kirschVertical:wt,"kirsch-vertical":wt,laplacian:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return me(jt([-1,-1,-1,-1,8,-1,-1,-1,-1],(t=ne(t))/100))},laplacian5x:Et,"laplacian-5x":Et,motionBlur:St,"motion-blur":St,motionBlur2:At,"motion-blur-2":At,motionBlur3:Lt,"motion-blur-3":Lt,negative:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return me(jt([-1,0,0,0,0,0,-1,0,0,0,0,0,-1,0,0,0,0,0,1,0,1,1,1,1,1],(t=ne(t))/100))},sepia2:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return me(jt([.393,.349,.272,0,0,.769,.686,.534,0,0,.189,.168,.131,0,0,0,0,0,0,0,0,0,0,0,0],(t=ne(t))/100))},sharpen:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return me(jt([0,-1,0,-1,5,-1,0,-1,0],(t=ne(t))/100))},sobelHorizontal:Ot,"sobel-horizontal":Ot,sobelVertical:Nt,"sobel-vertical":Nt,stackBlur:Dt,"stack-blur":Dt,transparency:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return me(jt([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,.3,0,0,0,0,0,1],(t=ne(t))/100))},unsharpMasking:Pt,"unsharp-masking":Pt},Ut=k({},yt,kt,Bt,{kirsch:function(){return xe("kirsch-horizontal kirsch-vertical")},sobel:function(){return xe("sobel-horizontal sobel-vertical")},vintage:function(){return xe("brightness(15) saturation(-20) gamma(1.8)")}}),Ht=0,zt=(Ft={partial:Ce,multi:be,merge:Te,weight:jt,repeat:Gt,colorMatrix:function(t,e,n){var i=t[e],r=t[e+1],o=t[e+2],s=t[e+3];fe(t,e,n[0]*i+n[1]*r+n[2]*o+n[3]*s,n[4]*i+n[5]*r+n[6]*o+n[7]*s,n[8]*i+n[9]*r+n[10]*o+n[11]*s,n[12]*i+n[13]*r+n[14]*o+n[15]*s)},each:Yt,eachXY:Kt,createRandomCount:function(){return[9,16,25,36,49,64,81,100].sort((function(t,e){return.5-Math.random()}))[0]},createRandRange:function(t,e,n){for(var i=[],r=1;r<=n;r++){var o=Math.random()*(e-t)+t,s=Math.floor(10*Math.random())%2==0?-1:1;i.push(s*o)}i.sort();var a=Math.floor(n>>1),l=i[a];return i[a]=i[0],i[0]=l,i},createBitmap:Xt,createBlurMatrix:ue,pack:function(t){return function(e,n){Yt(e.pixels.length,(function(n,i){t(e.pixels,n,i,e.pixels[n],e.pixels[n+1],e.pixels[n+2],e.pixels[n+3])}),(function(){n(e)}))}},packXY:he,pixel:ae,getBitmap:te,putBitmap:ee,radian:function(t){return vt.CONSTANT.radian(t)},convolution:me,parseParamNumber:ne,filter:xe,clamp:ye,fillColor:fe,fillPixelColor:de},x(Ft,"multi",be),x(Ft,"merge",Te),x(Ft,"matches",ve),x(Ft,"parseFilter",_e),x(Ft,"partial",Ce),Ft),Wt=zt;function jt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return t.map((function(t){return t*e}))}function Gt(t,e){for(var n=new Array(e),i=0;i<e;i++)n[i]=t;return n}function qt(t){if("function"==typeof t)return t;"string"==typeof t&&(t=[t]);var e=(t=t.slice(0)).shift();if("function"==typeof e)return e;var n=t,i=Ut[e]||Wt[e];if(!i)throw new Error(e+" is not filter. please check filter name.");return i.apply(i,n)}function Vt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments[3],r=arguments[4],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1e4,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"full",a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:50,l=e,c=function(t){setTimeout(t,0)};function h(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50,e=[].concat(E(Array(t))),n=e.map((function(t){return"cri = ri + i * s; if (cri >= mx) return {currentRunIndex: cri, i: null}; c(cri); i++;"})).join("\n"),i=new Function("ri","i","s","mx","c","\n let cri = ri;\n \n "+n+"\n \n return {currentRunIndex: cri, i: i} \n ");return i}function u(){for(var e=h(a),r=l,s={},c=0;c<o;){if(null==(s=e(l,c,n,t,i)).i){r=s.currentRunIndex;break}c=s.i,r=s.currentRunIndex}f(r)}function f(e){e?l=e:l+=n,l>=t?r():c?c(u):u()}"requestAnimationFrame"==s&&(c=requestAnimationFrame,o=1e3),"full"==s&&(c=null,o=t),u()}function Yt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Vt(t,0,4,(function(t){e(t,t>>2)}),(function(){n()}),i.functionDumpCount,i.frameTimer,i.loopCount)}function Kt(t,e,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};Vt(t,0,4,(function(t){var i=t>>2;n(t,i%e,Math.floor(i/e))}),(function(){i()}),r.functionDumpCount,r.frameTimer,r.loopCount)}function Xt(t,e,n){return{pixels:new Uint8ClampedArray(t),width:e,height:n}}function Qt(t,e,n,i){for(var r=e.pixels.length/4,o=0,s=0,a=0,l=0,c=0,h=0,u=0;u<r;u++)a=u%e.width,s=i+(l=Math.floor(u/e.width)),(o=n+a)>t.width||s>t.height||(c=l*e.width+a<<2,h=s*t.width+o<<2,t.pixels[h]=e.pixels[c],t.pixels[h+1]=e.pixels[c+1],t.pixels[h+2]=e.pixels[c+2],t.pixels[h+3]=e.pixels[c+3])}function Zt(t,e,n,i){for(var r=e.pixels.length>>2,o=0,s=0,a=0,l=0,c=0,h=0,u=0;u<r;u++)a=u%e.width,s=i+(l=Math.floor(u/e.width)),(o=n+a)>t.width||s>t.height||(c=s*t.width+o<<2,h=l*e.width+a<<2,e.pixels[h]=t.pixels[c],e.pixels[h+1]=t.pixels[c+1],e.pixels[h+2]=t.pixels[c+2],e.pixels[h+3]=t.pixels[c+3])}function Jt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=t.width+e,i=t.height+e,r={pixels:new Uint8ClampedArray(n*i*4),width:n,height:i};return r}function te(t,e){return pt.getBitmap(t,e)}function ee(t,e,n){return pt.putBitmap(t,e,n)}function ne(t){return"string"==typeof t&&(t=(t=t.replace(/deg/,"")).replace(/px/,"")),+t}var ie=/(([\w_\-]+)(\(([^\)]*)\))?)+/gi;function re(t){var e=t.map((function(t){return" \n "+t.userFunction.$preContext+"\n\n "+t.userFunction.$preCallbackString+"\n\n $r = clamp($r); $g = clamp($g); $b = clamp($b); $a = clamp($a);\n "})).join("\n\n"),n={clamp:ye,Color:sn};t.forEach((function(t){Object.assign(n,t.userFunction.rootContextObject)}));var i="const "+Object.keys(n).map((function(t){return" "+t+" = $rc."+t+" "})).join(","),r=new Function("$p","$pi","$rc"," \n let $r = $p[$pi], $g = $p[$pi+1], $b = $p[$pi+2], $a = $p[$pi+3];\n \n "+i+"\n\n "+e+"\n \n $p[$pi] = $r; $p[$pi+1] = $g; $p[$pi+2] = $b; $p[$pi+3] = $a;\n ");return function(t,e){r(t,e,n)}}function oe(t){var e={},n=t.map((function(t){var n=[];Object.keys(t.context).forEach((function(t,e){n[t]="n$"+Ht+++t+"$"})),Object.keys(t.rootContext).forEach((function(i,r){n[i]="r$"+Ht+++i+"$",e[n[i]]=t.rootContext[i]}));var i=Object.keys(t.context).filter((function(e){return"number"!=typeof t.context[e]&&"string"!=typeof t.context[e]&&(!Array.isArray(t.context[e])||"number"!=typeof t.context[e][0]&&"string"!=typeof t.context[e][0])})).map((function(e,i){return[n[e],JSON.stringify(t.context[e])].join(" = ")})),r=t.callback;return"function"==typeof t.callback&&((r=t.callback.toString().split("{")).shift(),(r=(r=r.join("{")).split("}")).pop(),r=r.join("}")),Object.keys(n).forEach((function(e){var i=n[e];"number"==typeof t.context[e]||"string"==typeof t.context[e]?r=r.replace(new RegExp("\\"+e,"g"),t.context[e]):!Array.isArray(t.context[e])||"number"!=typeof t.context[e][0]&&"string"!=typeof t.context[e][0]?r=r.replace(new RegExp("\\"+e,"g"),i):t.context[e].forEach((function(t,n){r=r.replace(new RegExp("\\"+e+"\\["+n+"\\]","g"),t)}))})),{preCallbackString:r,preContext:i}})),i=n.map((function(t,e){return t.preContext.length?"const "+t.preContext+";":""})).join("\n\n"),r=n.map((function(t){return t.preCallbackString})).join("\n\n"),o=new Function("$pixels","$pixelIndex","$clamp","$Color"," \n let $r = $pixels[$pixelIndex], $g = $pixels[$pixelIndex+1], $b = $pixels[$pixelIndex+2], $a = $pixels[$pixelIndex+3];\n\n "+i+"\n\n "+r+"\n \n $pixels[$pixelIndex] = $r\n $pixels[$pixelIndex+1] = $g \n $pixels[$pixelIndex+2] = $b \n $pixels[$pixelIndex+3] = $a \n ");return o.$preCallbackString=r,o.$preContext=i,o.rootContextObject=e,o}function se(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return oe([{callback:t,context:e,rootContext:n}])}function ae(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=se(t,e,n),r=function(t,e){};return r.userFunction=i,r}var le=[0,1,2,3];function ce(t,e,n){le.forEach((function(i){var r=t[e+i];t[e+i]=t[n+i],t[n+i]=r}))}function he(t){return function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Kt(e.pixels.length,e.width,(function(n,i,r){t(e.pixels,n,i,r)}),(function(){n(e)}),i)}}function ue(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3,e=Math.pow(t,2),n=1/e;return Gt(n,e)}function fe(t,e,n,i,r,o){if(3==arguments.length){var s=arguments[2];n=s.r,i=s.g,r=s.b,o=s.a}"number"==typeof n&&(t[e]=n),"number"==typeof i&&(t[e+1]=i),"number"==typeof r&&(t[e+2]=r),"number"==typeof o&&(t[e+3]=o)}function de(t,e,n,i){fe(t,e,n[i],n[i+1],n[i+2],n[i+3])}function pe(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:255,i=[];return i=t.map((function(t,e){return[]})),t.forEach((function(t,r){if(0!=t){var o=i[r];for(r=e;r<=n;r++)o[r]=t*r}})),i}function ge(t,e,n,i,r){var o=Math.round(Math.sqrt(t.length)),s=Math.floor(o/2),a=r?1:0,l="let r = 0, g = 0, b = 0, a = 0, scy = 0, scx =0, si = 0; ",c=[],h=[],u=[],f=[];t.forEach((function(t,e){var i=Math.floor(e/o)-s,r=e%o-s;0!=t&&(c.push("$t["+e+"][$sp[(($sy + ("+i+")) * "+n+" + ($sx + ("+r+"))) * 4]]"),h.push("$t["+e+"][$sp[(($sy + ("+i+")) * "+n+" + ($sx + ("+r+"))) * 4 + 1]]"),u.push("$t["+e+"][$sp[(($sy + ("+i+")) * "+n+" + ($sx + ("+r+"))) * 4 + 2]]"),f.push("$t["+e+"][$sp[(($sy + ("+i+")) * "+n+" + ($sx + ("+r+"))) * 4 + 3]]"))})),l+="r = "+c.join(" + ")+"; g = "+h.join(" + ")+"; b = "+u.join(" + ")+"; a = "+f.join(" + ")+";",l+="$dp[$di] = r; $dp[$di+1] = g;$dp[$di+2] = b;$dp[$di+3] = a + ("+a+")*(255-a); ";var d=new Function("$dp","$sp","$di","$sx","$sy","$t",l);return function(t,n,i,r,o){d(t,n,i,r,o,e)}}function me(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=pe(t);return function(i,r){var o=Math.round(Math.sqrt(t.length)),s=Jt(i,2*o);Qt(s,i,o,o);for(var a=Xt(s.pixels.length,s.width,s.height),l=Xt(i.pixels.length,i.width,i.height),c=ge(t,n,s.width,s.height,e),h=i.pixels.length/4,u=0;u<h;u++){var f=u,d=f%i.width+o,p=Math.floor(f/i.width)+o;c(a.pixels,s.pixels,4*(p*s.width+d),d,p)}Zt(a,l,o,o),r(l)}}function ve(t){var e=sn.convertMatches(t),n=e.str.match(ie),i=[];if(!n)return i;i=n.map((function(t){return{filter:t,origin:sn.reverseMatches(t,e.matches)}}));var r={next:0};return i=i.map((function(e){var n=t.indexOf(e.origin,r.next);return e.startIndex=n,e.endIndex=n+e.origin.length,e.arr=_e(e.origin),r.next=e.endIndex,e})).filter((function(t){return!!t.arr.length}))}function _e(t){var e=sn.convertMatches(t),n=e.str.match(ie);if(!n[0])return[];var i=n[0].split("("),r=i.shift(),o=[];return i.length&&(o=i.shift().split(")")[0].split(",").map((function(t){return sn.reverseMatches(t,e.matches)}))),[r].concat(E(o)).map(sn.trim)}function ye(t){return Math.min(255,t)}function xe(t){return Te(ve(t).map((function(t){return t.arr})))}function ke(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=[],n=[],i=0,r=t.length;i<r;i++){var o=t[i];o.userFunction?n.push(o):(n.length&&e.push([].concat(E(n))),e.push(o),n=[])}return n.length&&e.push([].concat(E(n))),e.forEach((function(t,n){var i;Array.isArray(t)&&(e[n]=(i=re(t),function(t,e){for(var n=0,r=t.pixels.length;n<r;n+=4)i(t.pixels,n);e(t)}))})),e}function be(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];e=e.map((function(t){return qt(t)})).filter((function(t){return t}));var i=(e=ke(e)).length;return function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t,s=0;function a(){e[s].call(null,o,(function(t){o=t,l()}),r)}function l(){++s>=i?n(o):a()}a()}}function Te(t){return be.apply(void 0,E(t))}function Ce(t){for(var e=null,n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];return e=1==i.length&&"string"==typeof i[0]?xe(i[0]):Te(i),function(n,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e(te(n,t),(function(e){i(ee(n,e,t))}),r)}}function we(t){return"string"==typeof t&&(t=(t=t.replace(/deg/,"")).replace(/px/,"")),+t}function Ee(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return t.map((function(t){return t*e}))}var Se=0;function Ae(t){return[].concat(Array.prototype.slice.call(arguments))}function Le(t){return{type:"convolution",length:t.length,content:t}}function Oe(t,e){return"\n if (u_filterIndex == "+e+".0) {\n "+t+"\n }\n "}function Ne(t,e){return{type:"shader",index:Se,options:e,content:Oe(t,Se++)}}function Ie(t){return"\n \n if (u_kernelSelect == "+t+".0) {\n vec4 colorSum = "+function(t){var e=Math.sqrt(t),n=Math.floor(e/2);return[].concat(E(Array(t))).map((function(i,r){var o=Math.floor(r/e)-n;return"texture(u_image, v_texCoord + onePixel * vec2("+(r%e-n)+", "+o+")) * u_kernel"+t+"["+r+"]"})).join(" + \n")}(t)+"; \n\n outColor = vec4((colorSum / u_kernel"+t+"Weight).rgb, 1);\n \n }\n "}function Me(t){return"vec4("+(t=[t.r/255,t.g/255,t.b/255,t.a||0].map($e))+")"}function $e(t){return t==Math.floor(t)?t+".0":t}function Re(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=we(t)*(1/16);return Le(Ee([1,2,1,2,4,2,1,2,1],e))}function De(){return Le([1,4,6,4,1,4,16,24,16,4,6,24,36,24,6,4,16,24,16,4,1,4,6,4,1])}function Pe(){return Le([5,5,5,-3,0,-3,-3,-3,-3])}function Fe(){return Le([5,-3,-3,5,0,-3,5,-3,-3])}function Be(){return Le([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,24,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}function Ue(){return Le([1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1])}function He(){return Le([1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1])}function ze(){return Le([1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,1])}function We(){return Le([-1,-2,-1,0,0,0,1,2,1])}function je(){return Le([-1,0,1,-2,0,2,-1,0,1])}function Ge(){return Le(Ee([1,4,6,4,1,4,16,24,16,4,6,24,-476,24,6,4,16,24,16,4,1,4,6,4,1],-1/256))}var qe={blur:function(){return Le([1,1,1,1,1,1,1,1,1])},normal:function(){return Le([0,0,0,0,1,0,0,0,0])},emboss:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4;return Le([-2*(t=we(t)),-t,0,-t,1,t,0,t,2*t])},gaussianBlur:Re,"gaussian-blur":Re,gaussianBlur5x:De,"gaussian-blur-5x":De,grayscale2:function(){return Le([.3,.3,.3,0,0,.59,.59,.59,0,0,.11,.11,.11,0,0,0,0,0,0,0,0,0,0,0,0])},kirschHorizontal:Pe,"kirsch-horizontal":Pe,kirschVertical:Fe,"kirsch-vertical":Fe,laplacian:function(){return Le([-1,-1,-1,-1,8,-1,-1,-1,-1])},laplacian5x:Be,"laplacian-5x":Be,motionBlur:Ue,"motion-blur":Ue,motionBlur2:He,"motion-blur-2":He,motionBlur3:ze,"motion-blur-3":ze,negative:function(){return Le([-1,0,0,0,0,0,-1,0,0,0,0,0,-1,0,0,0,0,0,1,0,1,1,1,1,1])},sepia2:function(){return Le([.393,.349,.272,0,0,.769,.686,.534,0,0,.189,.168,.131,0,0,0,0,0,0,0,0,0,0,0,0])},sharpen:function(){return Le([0,-1,0,-1,5,-1,0,-1,0])},sobelHorizontal:We,"sobel-horizontal":We,sobelVertical:je,"sobel-vertical":je,transparency:function(){return Le([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,.3,0,0,0,0,0,1])},unsharpMasking:Ge,"unsharp-masking":Ge};function Ve(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,h=arguments.length>10&&void 0!==arguments[10]?arguments[10]:0,u=arguments.length>11&&void 0!==arguments[11]?arguments[11]:0,f=arguments.length>12&&void 0!==arguments[12]?arguments[12]:0,d=arguments.length>13&&void 0!==arguments[13]?arguments[13]:0,p=arguments.length>14&&void 0!==arguments[14]?arguments[14]:0,g=arguments.length>15&&void 0!==arguments[15]?arguments[15]:0,m=[t,e,n,i,r,o,s,a,l,c,h,u,f,d,p,g].map($e);return Ne("\n\n outColor = vec4(\n "+m[0]+" * pixelColor.r + "+m[1]+" * pixelColor.g + "+m[2]+" * pixelColor.b + "+m[3]+" * pixelColor.a,\n "+m[4]+" * pixelColor.r + "+m[5]+" * pixelColor.g + "+m[6]+" * pixelColor.b + "+m[7]+" * pixelColor.a,\n "+m[8]+" * pixelColor.r + "+m[9]+" * pixelColor.g + "+m[10]+" * pixelColor.b + "+m[11]+" * pixelColor.a,\n "+m[12]+" * pixelColor.r + "+m[13]+" * pixelColor.g + "+m[14]+" * pixelColor.b + "+m[15]+" * pixelColor.a\n ); \n ")}function Ye(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return Ne("\n float c = ( (pixelColor.r * 0.2126 + pixelColor.g * 0.7152 + pixelColor.b * 0.0722) ) >= "+(t=$e(we(t)))+" ? 1.0 : 0.0;\n\n outColor = vec4(c, c, c, pixelColor.a);\n ")}var Ke={bitonal:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,i=$e(n),r=Me(sn.parse(t)),o=Me(sn.parse(e));return Ne("\n if ((pixelColor.r + pixelColor.g + pixelColor.b) > "+i+") {\n outColor = vec4("+o+".rgb, pixelColor.a);\n } else {\n outColor = vec4("+r+".rgb, pixelColor.a);\n }\n ")},brightness:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=$e(we(t));return Ne("\n outColor = pixelColor + ("+e+");\n ")},brownie:function(){return Ve(.5997023498159715,.34553243048391263,-.2708298674538042,0,-.037703249837783157,.8609577587992641,.15059552388459913,0,.24113635128153335,-.07441037908422492,.44972182064877153,0,0,0,0,1)},clip:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=$e(we(t));return Ne("\n outColor = vec4(\n (pixelColor.r > 1.0 - "+e+") ? 1.0 : 0.0,\n (pixelColor.g > 1.0 - "+e+") ? 1.0 : 0.0,\n (pixelColor.b > 1.0 - "+e+") ? 1.0 : 0.0,\n pixelColor.a \n );\n ")},chaos:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=$e(we(t));return Ne("\n vec2 st = pixelColor.st;\n st *= "+e+";\n \n vec2 ipos = floor(st); // get the integer coords\n\n vec3 color = vec3(random( ipos ));\n\n outColor = vec4(color, pixelColor.a);\n ")},contrast:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=$e(we(t));return Ne("\n outColor = pixelColor * "+e+";\n ")},gamma:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=$e(we(t));return Ne("\n outColor = vec4(pow(pixelColor.r, "+e+"), pow(pixelColor.g, "+e+"), pow(pixelColor.b, "+e+"), pixelColor.a );\n ")},gradient:function(){var t=[].concat(Array.prototype.slice.call(arguments));1===t.length&&"string"==typeof t[0]&&(t=sn.convertMatchesArray(t[0])),t=t.map((function(t){return t})).join(", ");var e=sn.parseGradient(t);e[0][1]=0,e[e.length-1][1]=1,e=e.map((function(t){var e=sn.parse(t[0]);return[{r:e.r,g:e.g,b:e.b,a:e.a},t[1]]}));for(var n=[],i=0,r=e.length;i<r-1;i++){var o=e[i],s=e[i+1],a=Me(o[0]),l=Me(s[0]),c=$e(o[1]),h=$e(s[1]);n.push("\n if ("+c+" <= rate && rate < "+h+") {\n outColor = mix("+a+", "+l+", (rate - "+c+")/("+h+" - "+c+"));\n }\n ")}return Ne("\n float rate = (pixelColor.r * 0.2126 + pixelColor.g * 0.7152 + pixelColor.b * 0.0722); \n\n "+n.join("\n")+" \n ")},grayscale:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=we(t);return e>1&&(e=1),Ve(.2126+.7874*(1-e),.7152-.7152*(1-e),.0722-.0722*(1-e),0,.2126-.2126*(1-e),.7152+.2848*(1-e),.0722-.0722*(1-e),0,.2126-.2126*(1-e),.7152-.7152*(1-e),.0722+.9278*(1-e),0,0,0,0,1)},hue:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=$e(we(t));return Ne("\n vec3 hsv = rgb2hsv(pixelColor.rgb);\n hsv.x += "+e+";\n outColor = vec4(hsv2rgb(hsv).rgb, pixelColor.a);\n ")},invert:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=$e(we(t));return Ne("\n outColor = vec4(\n (1.0 - pixelColor.r) * "+e+",\n (1.0 - pixelColor.g) * "+e+",\n (1.0 - pixelColor.b) * "+e+",\n pixelColor.a\n );\n ")},kodachrome:function(){return Ve(1.1285582396593525,-.3967382283601348,-.03992559172921793,0,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,0,0,0,1)},matrix:Ve,noise:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=Math.abs(we(t)),n=$e(-e),i=$e(e);return Ne("\n float rnd = "+n+" + random( pixelColor.st ) * ("+i+" - "+n+");\n\n outColor = vec4(pixelColor.rgb + rnd, 1.0);\n ")},opacity:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=$e(we(t));return Ne("\n outColor = vec4(pixelColor.rgb, pixelColor.a * "+e+");\n ")},polaroid:function(){return Ve(1.438,-.062,-.062,0,-.122,1.378,-.122,0,-.016,-.016,1.483,0,0,0,0,1)},saturation:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=1-Math.abs(we(t));return Ve(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,e)},sepia:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=we(t);return e>1&&(e=1),Ve(.393+.607*(1-e),.769-.769*(1-e),.189-.189*(1-e),0,.349-.349*(1-e),.686+.314*(1-e),.168-.168*(1-e),0,.272-.272*(1-e),.534-.534*(1-e),.131+.869*(1-e),0,0,0,0,1)},shade:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=$e(we(t)/255),r=$e(we(e)/255),o=$e(we(n)/255);return Ne("\n outColor = vec4(\n pixelColor.r * "+i+",\n pixelColor.g * "+r+",\n pixelColor.b * "+o+",\n pixelColor.a\n );\n ")},shift:function(){return Ve(1.438,-.062,-.062,0,-.122,1.378,-.122,0,-.016,-.016,1.483,0,0,0,0,1)},solarize:function(t,e,n){return Ne("\n outColor = vec4(\n (pixelColor.r < "+$e(we(t))+") ? 1.0 - pixelColor.r: pixelColor.r,\n (pixelColor.g < "+$e(we(e))+") ? 1.0 - pixelColor.g: pixelColor.g,\n (pixelColor.b < "+$e(we(n))+") ? 1.0 - pixelColor.b: pixelColor.b,\n pixelColor.a\n );\n ")},technicolor:function(){return Ve(1.9125277891456083,-.8545344976951645,-.09155508482755585,0,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-.231103377548616,-.7501899197440212,1.847597816108189,0,0,0,0,1)},threshold:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return Ye(t,e,!1)},"threshold-color":Ye,tint:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=we(t),r=we(e),o=we(n);return Ne("\n outColor = vec4(\n pixelColor.r += (1 - pixelColor.r) * "+i+",\n pixelColor.g += (1 - pixelColor.g) * "+r+",\n pixelColor.b += (1 - pixelColor.b) * "+o+",\n pixelColor.a\n );\n ")}},Xe=k({},qe,Ke,{kirsch:function(){return Ae("kirsch-horizontal kirsch-vertical")},sobel:function(){return Ae("sobel-horizontal sobel-vertical")},vintage:function(){return Ae("brightness(0.15) saturation(-0.2) gamma(1.8)")}}),Qe=0,Ze=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{width:"400px",height:"300px"};_(this,t),this.img=e.img,this.width=parseFloat(this.img.width||e.width||"400px"),this.height=parseFloat(this.img.height||e.height||"300px"),this.init()}return y(t,[{key:"resize",value:function(){this.canvas.width=this.width,this.canvas.height=this.height,this.canvas.style.width=this.width+"px",this.canvas.style.height=this.height+"px",this.viewport()}},{key:"clear",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=this.gl;r.clearColor(t,e,n,i),r.clear(r.COLOR_BUFFER_BIT|r.DEPTH_BUFFER_BIT)}},{key:"viewport",value:function(t,e,n,i){var r=this.gl;r.viewport(t||0,e||0,n||r.canvas.width,i||r.canvas.height)}},{key:"initCanvas",value:function(t,e){if(this.canvas=document.createElement("canvas"),this.gl=this.canvas.getContext("webgl2"),!this.gl)throw new Error("you need webgl2 support");this.program=this.createProgram(t,e),this.resize(),this.initBuffer()}},{key:"draw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"TRIANGLES",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:6,i=this.gl;i.drawArrays(i[t],e,n)}},{key:"triangles",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;this.draw("TRIANGLES",t,e)}},{key:"uniform2f",value:function(){for(var t,e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];var r=n.shift();(t=this.gl).uniform2f.apply(t,[this.locations[r]].concat(n))}},{key:"uniform1f",value:function(){for(var t,e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];var r=n.shift();(t=this.gl).uniform1f.apply(t,[this.locations[r]].concat(n))}},{key:"uniform1fv",value:function(){for(var t,e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];var r=n.shift();(t=this.gl).uniform1fv.apply(t,[this.locations[r]].concat(n))}},{key:"uniform1i",value:function(){for(var t,e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];var r=n.shift();(t=this.gl).uniform1i.apply(t,[this.locations[r]].concat(n))}},{key:"useProgram",value:function(){this.gl.useProgram(this.program)}},{key:"bindBuffer",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"STATIC_DRAW",i=this.gl;this.buffers[t]||(this.buffers[t]=i.createBuffer()),i.bindBuffer(i.ARRAY_BUFFER,this.buffers[t]),e&&i.bufferData(i.ARRAY_BUFFER,new Float32Array(e),i[n])}},{key:"enable",value:function(t){this.gl.enableVertexAttribArray(this.locations[t])}},{key:"location",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"attribute";"attribute"===e?this.locations[t]=this.gl.getAttribLocation(this.program,t):"uniform"===e&&(this.locations[t]=this.gl.getUniformLocation(this.program,t))}},{key:"a",value:function(t){return this.location(t)}},{key:"u",value:function(t){return this.location(t,"uniform")}},{key:"pointer",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"FLOAT",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=this.gl;s.vertexAttribPointer(this.locations[t],n,s[e],i,r,o)}},{key:"bufferData",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.gl;e.bufferData(e.ARRAY_BUFFER,new Float32Array(t),e.STATIC_DRAW)}},{key:"isPowerOf2",value:function(t){return 0==(t&t-1)}},{key:"bindTexture",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"RGBA",r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"RGBA",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"UNSIGNED_BYTE",s=this.gl;1!=arguments.length?(this.textures[t]||(this.textures[t]=s.createTexture()),this.textureIndex[t]=Qe++,s.bindTexture(s.TEXTURE_2D,this.textures[t]),this.setTextureParameter(),s.texImage2D(s.TEXTURE_2D,n,s[i],s[r],s[o],e.newImage||e)):s.bindTexture(s.TEXTURE_2D,this.textures[t])}},{key:"bindColorTexture",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:256,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"RGBA",s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"RGBA",a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"UNSIGNED_BYTE",l=this.gl;this.textures[t]||(this.textures[t]=l.createTexture()),this.textureIndex[t]=Qe++,l.bindTexture(l.TEXTURE_2D,this.textures[t]),this.setTextureParameter(),l.texImage2D(l.TEXTURE_2D,r,l[o],n,i,0,l[s],l[a],new Uint8Array(e))}},{key:"bindEmptyTexture",value:function(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"RGBA",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"RGBA",s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"UNSIGNED_BYTE",a=this.gl;this.textures[t]||(this.textures[t]=a.createTexture()),this.textureIndex[t]=Qe++,a.bindTexture(a.TEXTURE_2D,this.textures[t]),this.setTextureParameter();var l=0,c=null;a.texImage2D(a.TEXTURE_2D,i,a[r],e,n,l,a[o],a[s],c)}},{key:"setTextureParameter",value:function(){var t=this.gl;t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST)}},{key:"bindFrameBufferWithTexture",value:function(t,e,n,i){this.bindEmptyTexture(e,n,i),this.bindFrameBuffer(t,e)}},{key:"enumToString",value:function(t){var e=this.gl;if(0===t)return"NONE";for(var n in e)if(e[n]===t)return n;return"0x"+t.toString(16)}},{key:"bindFrameBuffer",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.gl;if(1!==arguments.length){this.framebuffers[t]||(this.framebuffers[t]=n.createFramebuffer()),n.bindFramebuffer(n.FRAMEBUFFER,this.framebuffers[t]);var i=0,r=n.COLOR_ATTACHMENT0;n.framebufferTexture2D(n.FRAMEBUFFER,r,n.TEXTURE_2D,this.textures[e],i),n.checkFramebufferStatus(n.FRAMEBUFFER),n.FRAMEBUFFER_COMPLETE}else n.bindFramebuffer(n.FRAMEBUFFER,null==t?null:this.framebuffers[t])}},{key:"bindVA",value:function(){var t=this.gl;this.vao||(this.vao=t.createVertexArray()),t.bindVertexArray(this.vao)}},{key:"bindAttr",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"STATIC_DRAW",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2;this.bindBuffer(t,e,n),this.enable(t),this.pointer(t,"FLOAT",i)}},{key:"initBuffer",value:function(){var t=this.canvas,e=t.width,n=t.height;this.a("a_position"),this.a("a_texCoord"),this.u("u_resolution"),this.u("u_image"),this.u("u_flipY"),this.u("u_kernelSelect"),this.u("u_filterIndex"),this.u("u_kernel9[0]"),this.u("u_kernel9Weight"),this.u("u_kernel25[0]"),this.u("u_kernel25Weight"),this.u("u_kernel49[0]"),this.u("u_kernel49Weight"),this.u("u_kernel81[0]"),this.u("u_kernel81Weight"),this.bindVA(),this.bindAttr("a_position",[0,0,e,0,0,n,0,n,e,0,e,n],"STATIC_DRAW",2),this.bindAttr("a_texCoord",[0,0,1,0,0,1,0,1,1,0,1,1],"STATIC_DRAW",2),this.bindTexture("u_image",this.img),this.bindFrameBufferWithTexture("frame_buffer_0","img_texture_0",e,n),this.bindFrameBufferWithTexture("frame_buffer_1","img_texture_1",e,n)}},{key:"activeTexture",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=this.gl;e.activeTexture(e.TEXTURE0+t)}},{key:"drawFilter",value:function(){var t=this,e=this.gl;this.resize(),this.clear(),this.useProgram(),this.bindVA(),this.activeTexture(0),this.bindTexture("u_image"),this.uniform1i("u_image",0),this.uniform1f("u_flipY",1);var n=e.canvas,i=n.width,r=n.height;this.eachFilter((function(e,n){t.bindFrameBuffer("frame_buffer_"+n%2),t.uniform2f("u_resolution",i,r),t.viewport(0,0,i,r),t.effectFilter(e),t.bindTexture("img_texture_"+n%2)})),this.uniform1f("u_flipY",-1),this.bindFrameBuffer(null),this.uniform2f("u_resolution",i,r),this.viewport(0,0,i,r),this.clear(),this.effectFilter("normal")}},{key:"effectFilter",value:function(t){"string"==typeof t&&(t=(Xe[t]||Xe.normal).call(Xe)),"convolution"==t.type?(this.uniform1f("u_kernelSelect",t.length),this.uniform1f("u_filterIndex",-1),this.uniform1fv("u_kernel"+t.length+"[0]",t.content),this.uniform1f("u_kernel"+t.length+"Weight",this.computeKernelWeight(t.content))):(this.uniform1f("u_kernelSelect",-1),this.uniform1f("u_filterIndex",t.index)),this.triangles(0,6)}},{key:"computeKernelWeight",value:function(t){var e=t.reduce((function(t,e){return t+e}));return e<=0?1:e}},{key:"createProgram",value:function(t,e){var n=this.gl,i=n.createProgram();if(this.vertexShader=this.createVertexShader(t),this.fragmentShader=this.createFragmentShader(e),n.attachShader(i,this.vertexShader),n.attachShader(i,this.fragmentShader),n.linkProgram(i),n.getProgramParameter(i,n.LINK_STATUS))return i;console.error(n.getProgramInfoLog(i)),n.deleteProgram(i)}},{key:"createShader",value:function(t,e){var n=this.gl,i=n.createShader(t);if(n.shaderSource(i,e),n.compileShader(i),n.getShaderParameter(i,n.COMPILE_STATUS))return i;console.error(n.getShaderInfoLog(i)),n.deleteShader(i)}},{key:"createVertexShader",value:function(t){var e=this.gl;return this.createShader(e.VERTEX_SHADER,t)}},{key:"createFragmentShader",value:function(t){var e=this.gl;return this.createShader(e.FRAGMENT_SHADER,t)}},{key:"eachFilter",value:function(t){this.filterList.forEach(t)}},{key:"init",value:function(){this.locations={},this.buffers={},this.framebuffers={},this.textures={},this.textureIndex={},this.hasTexParameter={}}},{key:"destroy",value:function(){var t=this.gl;this.init(),t.deleteProgram(this.program)}},{key:"filter",value:function(t,e){var n,i,r;this.filterList=t,this.initCanvas("#version 300 es \n\n in vec2 a_position;\n in vec2 a_texCoord; \n\n uniform vec2 u_resolution;\n uniform float u_flipY;\n\n out vec2 v_texCoord; \n\n void main() {\n vec2 zeroToOne = a_position / u_resolution;\n\n vec2 zeroToTwo = zeroToOne * 2.0;\n\n vec2 clipSpace = zeroToTwo - 1.0;\n\n gl_Position = vec4(clipSpace * vec2(1, u_flipY), 0, 1);\n\n v_texCoord = a_texCoord;\n\n }\n ",(n=this.filterList,i=n.filter((function(t){return"shader"==t.type})).map((function(t){return t.content})).join("\n\n"),r={9:!0},n.filter((function(t){return"convolution"==t.type})).forEach((function(t){r[t.length]=!0})),"#version 300 es\n\n precision highp int;\n precision mediump float;\n \n uniform sampler2D u_image;\n\n // 3 is 3x3 matrix kernel \n uniform float u_kernelSelect;\n uniform float u_filterIndex;\n\n uniform float u_kernel9[9];\n uniform float u_kernel9Weight;\n uniform float u_kernel25[25];\n uniform float u_kernel25Weight;\n uniform float u_kernel49[49];\n uniform float u_kernel49Weight;\n uniform float u_kernel81[81];\n uniform float u_kernel81Weight; \n\n in vec2 v_texCoord;\n \n out vec4 outColor;\n\n float random (vec2 st) {\n return fract(sin(dot(st.xy, vec2(12.9898,78.233)))* 43758.5453123);\n } \n\n // \n vec3 rgb2hsv(vec3 c)\n {\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\n vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\n\n float d = q.x - min(q.w, q.y);\n float e = 1.0e-10;\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);\n }\n\n vec3 hsv2rgb(vec3 c)\n {\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\n }\n \n void main() {\n vec4 pixelColor = texture(u_image, v_texCoord);\n vec2 onePixel = vec2(1) / vec2(textureSize(u_image, 0)); \n\n "+i+"\n\n "+Object.keys(r).map((function(t){return Ie(+t)})).join("\n")+"\n\n }")),this.drawFilter(),"function"==typeof e&&e(this)}}]),t}(),Je={GLCanvas:Ze},tn={filter:function(t,e,n,i){var r=new Je.GLCanvas({width:i.width||t.width,height:i.height||t.height,img:t});r.filter(en(e),(function(){"function"==typeof n&&n(r)}))}};function en(t){var e=[];"string"==typeof t?e=ve(t):Array.isArray(t)&&(e=t);var n=[];return e.forEach((function(t){var e=t.arr[0];if(Xe[e]){var i=function(t){var e=t.arr[0],n=Xe[e],i=t.arr;return i.shift(),n.apply(this,i)}(t);"convolution"==i.type||"shader"==i.type?n.push(i):i.forEach((function(t){n=n.concat(en(t))}))}})),n}var nn=k({},Je,tn);function rn(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{frameTimer:"full"},r=new gt(t);r.loadImage((function(){r.toArray(e,(function(t){"function"==typeof n&&n(t)}),i)}))}var on={palette:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"hex";return t.length>n&&(t=dt(t,n)),t.map((function(t){return e(t,i)}))},ImageToCanvas:function(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{frameTimer:"full"};rn(t,e,n,Object.assign({returnTo:"canvas"},i))},ImageToHistogram:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{width:200,height:100},i=new gt(t);i.loadImage((function(){pt.createHistogram(n.width||200,n.height||100,i.toHistogram(n),(function(t){"function"==typeof e&&e(t.toDataURL("image/png"))}),n)}))},ImageToRGB:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];if(n){if(n){var i;(i=new gt(t,e)).loadImage((function(){"function"==typeof n&&n(i.toRGB())}))}}else(i=new gt(t)).loadImage((function(){"function"==typeof e&&e(i.toRGB())}))},ImageToURL:rn,GLToCanvas:function(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=new gt(t);r.load((function(){nn.filter(r.newImage,e,(function(t){"function"==typeof n&&n(t)}),i)}))},histogram:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=new gt(t);i.loadImage((function(){"function"==typeof e&&e(i.toHistogram(n))}))},histogramToPoints:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.2,n=[],i=0;i<t.length;i++){var r=t[i];if(0!=i)if(i!=t.length-1){var o=t[i-1],s=t[i+1],a=(s[1],o[1],s[0],o[0],[o[0]+(s[0]-o[0])*e,o[1]+(s[1]-o[1])*e]),l=[[].concat(E(o)),[].concat(a)],c=Math.sqrt(Math.pow(r[0]-o[0],2)+Math.pow(r[1]-o[1],2)),h=Math.sqrt(Math.pow(s[0]-r[0],2)+Math.pow(s[1]-r[1],2)),u=c/h,f=l[0][0]+(l[1][0]-l[0][0])*u,d=l[0][1]+(l[1][1]-l[0][1])*u;l[0][0]+=r[0]-f,l[0][1]+=r[1]-d,l[1][0]+=r[0]-f,l[1][1]+=r[1]-d,n[i]=l}else n[i]=[];else n[i]=[]}return n}},sn=k({},o,f,rt,R,Z,W,j,Q,v,K,on),an=[{rgb:"#ff0000",start:0},{rgb:"#ffff00",start:.17},{rgb:"#00ff00",start:.33},{rgb:"#00ffff",start:.5},{rgb:"#0000ff",start:.67},{rgb:"#ff00ff",start:.83},{rgb:"#ff0000",start:1}];!function(){for(var t=0,e=an.length;t<e;t++){var n=an[t],i=sn.parse(n.rgb);n.r=i.r,n.g=i.g,n.b=i.b}}();var ln={colors:an,checkHueColor:function(t){for(var e,n,i=0;i<an.length;i++)if(an[i].start>=t){e=an[i-1],n=an[i];break}return e&&n?sn.interpolateRGB(e,n,(t-e.start)/(n.start-e.start)):an[0].rgb}},cn=k({},Ut,zt),hn={Color:sn,HueColor:ln,ColorNames:p,ImageFilter:cn,GL:nn,Canvas:pt,ImageLoader:gt},un=(sn.color,0),fn=[],dn=function(){function t(e,n,i){if(_(this,t),"string"!=typeof e)this.el=e;else{var r=document.createElement(e);for(var o in this.uniqId=un++,n&&(r.className=n),i=i||{})r.setAttribute(o,i[o]);this.el=r}}return y(t,[{key:"attr",value:function(t,e){return 1==arguments.length?this.el.getAttribute(t):(this.el.setAttribute(t,e),this)}},{key:"closest",value:function(e){for(var n=this,i=!1;!(i=n.hasClass(e));){if(!n.el.parentNode)return null;n=new t(n.el.parentNode)}return i?n:null}},{key:"checked",value:function(){return this.el.checked}},{key:"removeClass",value:function(t){return this.el.className=(" "+this.el.className+" ").replace(" "+t+" "," ").trim(),this}},{key:"hasClass",value:function(t){return!!this.el.className&&(" "+this.el.className+" ").indexOf(" "+t+" ")>-1}},{key:"addClass",value:function(t){return this.hasClass(t)||(this.el.className=this.el.className+" "+t),this}},{key:"toggleClass",value:function(t){this.hasClass(t)?this.removeClass(t):this.addClass(t)}},{key:"html",value:function(t){try{"string"==typeof t?this.el.innerHTML=t:this.empty().append(t)}catch(e){console.log(t)}return this}},{key:"find",value:function(t){return this.el.querySelector(t)}},{key:"$",value:function(e){return new t(this.find(e))}},{key:"findAll",value:function(t){return this.el.querySelectorAll(t)}},{key:"$$",value:function(e){return[].concat(E(this.findAll(e))).map((function(e){return new t(e)}))}},{key:"empty",value:function(){return this.html("")}},{key:"append",value:function(t){return"string"==typeof t?this.el.appendChild(document.createTextNode(t)):this.el.appendChild(t.el||t),this}},{key:"appendTo",value:function(t){return(t.el?t.el:t).appendChild(this.el),this}},{key:"remove",value:function(){return this.el.parentNode&&this.el.parentNode.removeChild(this.el),this}},{key:"text",value:function(){return this.el.textContent}},{key:"css",value:function(t,e){var n=this;if(2==arguments.length)this.el.style[t]=e;else if(1==arguments.length){if("string"==typeof t)return getComputedStyle(this.el)[t];var i=t||{};Object.keys(i).forEach((function(t){n.el.style[t]=i[t]}))}return this}},{key:"cssFloat",value:function(t){return parseFloat(this.css(t))}},{key:"cssInt",value:function(t){return parseInt(this.css(t))}},{key:"offset",value:function(){var e=this.el.getBoundingClientRect();return{top:e.top+t.getScrollTop(),left:e.left+t.getScrollLeft()}}},{key:"rect",value:function(){return this.el.getBoundingClientRect()}},{key:"position",value:function(){return this.el.style.top?{top:parseFloat(this.css("top")),left:parseFloat(this.css("left"))}:this.el.getBoundingClientRect()}},{key:"size",value:function(){return[this.width(),this.height()]}},{key:"width",value:function(){return this.el.offsetWidth||this.el.getBoundingClientRect().width}},{key:"contentWidth",value:function(){return this.width()-this.cssFloat("padding-left")-this.cssFloat("padding-right")}},{key:"height",value:function(){return this.el.offsetHeight||this.el.getBoundingClientRect().height}},{key:"contentHeight",value:function(){return this.height()-this.cssFloat("padding-top")-this.cssFloat("padding-bottom")}},{key:"dataKey",value:function(t){return this.uniqId+"."+t}},{key:"data",value:function(t,e){if(2!=arguments.length){if(1==arguments.length)return fn[this.dataKey(t)];var n=Object.keys(fn),i=this.uniqId+".";return n.filter((function(t){return 0==t.indexOf(i)})).map((function(t){return fn[t]}))}return fn[this.dataKey(t)]=e,this}},{key:"val",value:function(t){return 0==arguments.length?this.el.value:(1==arguments.length&&(this.el.value=t),this)}},{key:"int",value:function(){return parseInt(this.val(),10)}},{key:"float",value:function(){return parseFloat(this.val())}},{key:"show",value:function(){return this.css("display","block")}},{key:"hide",value:function(){return this.css("display","none")}},{key:"toggle",value:function(){return"none"==this.css("display")?this.show():this.hide()}},{key:"scrollTop",value:function(){return this.el===document.body?t.getScrollTop():this.el.scrollTop}},{key:"scrollLeft",value:function(){return this.el===document.body?t.getScrollLeft():this.el.scrollLeft}},{key:"on",value:function(t,e,n,i){return this.el.addEventListener(t,e,n,i),this}},{key:"off",value:function(t,e){return this.el.removeEventListener(t,e),this}},{key:"getElement",value:function(){return this.el}},{key:"createChild",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=new t(e,n,i);return o.css(r),this.append(o),o}},{key:"firstChild",value:function(){return new t(this.el.firstElementChild)}},{key:"replace",value:function(t,e){return this.el.replaceChild(e,t),this}}],[{key:"getScrollTop",value:function(){return Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop)}},{key:"getScrollLeft",value:function(){return Math.max(window.pageXOffset,document.documentElement.scrollLeft,document.body.scrollLeft)}}]),t}(),pn=function(){function t(e){_(this,t),this.$store=e,this.initialize()}return y(t,[{key:"initialize",value:function(){var t=this;this.filterProps().forEach((function(e){t.$store.action(e,t)}))}},{key:"filterProps",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";return Object.getOwnPropertyNames(this.__proto__).filter((function(e){return e.startsWith(t)}))}}]),t}(),gn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"initialize",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initialize",this).call(this),this.$store.colorSetsList=[{name:"Material",colors:["#F44336","#E91E63","#9C27B0","#673AB7","#3F51B5","#2196F3","#03A9F4","#00BCD4","#009688","#4CAF50","#8BC34A","#CDDC39","#FFEB3B","#FFC107","#FF9800","#FF5722","#795548","#9E9E9E","#607D8B"]},{name:"Custom",edit:!0,colors:[]},{name:"Color Scale",scale:["red","yellow","black"],count:5}],this.$store.currentColorSets={}}},{key:"/list",value:function(t){return Array.isArray(t.userList)&&t.userList.length?t.userList:t.colorSetsList}},{key:"/setUserPalette",value:function(t,e){t.userList=e,t.dispatch("/resetUserPalette"),t.dispatch("/setCurrentColorSets")}},{key:"/resetUserPalette",value:function(t){t.userList&&t.userList.length&&(t.userList=t.userList.map((function(e,n){if("function"==typeof e.colors){var i=e.colors;e.colors=i(t),e._colors=i}return Object.assign({name:"color-"+n,colors:[]},e)})),t.emit("changeUserList"))}},{key:"/setCurrentColorSets",value:function(t,e){var n=t.dispatch("/list");t.currentColorSets=void 0===e?n[0]:"number"==typeof e?n[e]:n.filter((function(t){return t.name==e}))[0],t.emit("changeCurrentColorSets")}},{key:"/getCurrentColorSets",value:function(t){return t.currentColorSets}},{key:"/addCurrentColor",value:function(t,e){Array.isArray(t.currentColorSets.colors)&&(t.currentColorSets.colors.push(e),t.emit("changeCurrentColorSets"))}},{key:"/setCurrentColorAll",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];t.currentColorSets.colors=e,t.emit("changeCurrentColorSets")}},{key:"/removeCurrentColor",value:function(t,e){t.currentColorSets.colors[e]&&(t.currentColorSets.colors.splice(e,1),t.emit("changeCurrentColorSets"))}},{key:"/removeCurrentColorToTheRight",value:function(t,e){t.currentColorSets.colors[e]&&(t.currentColorSets.colors.splice(e,Number.MAX_VALUE),t.emit("changeCurrentColorSets"))}},{key:"/clearPalette",value:function(t){t.currentColorSets.colors&&(t.currentColorSets.colors=[],t.emit("changeCurrentColorSets"))}},{key:"/getCurrentColors",value:function(t){return t.dispatch("/getColors",t.currentColorSets)}},{key:"/getColors",value:function(t,e){return e.scale?sn.scale(e.scale,e.count):e.colors||[]}},{key:"/getColorSetsList",value:function(t){return t.dispatch("/list").map((function(e){return{name:e.name,edit:e.edit,colors:t.dispatch("/getColors",e)}}))}}]),e}(pn),mn={addEvent:function(t,e,n,i){t&&t.addEventListener(e,n,i)},removeEvent:function(t,e,n){t&&t.removeEventListener(e,n)},pos:function(t){return t.touches&&t.touches[0]?t.touches[0]:t},posXY:function(t){var e=this.pos(t);return{x:e.pageX,y:e.pageY}}},vn=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_(this,t),this.masterObj=e,this.settingObj=n}return y(t,[{key:"set",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;this.settingObj[t]=e||n}},{key:"init",value:function(t){if(!this.has(t)){var e=t.split("."),n=this.masterObj.refs[e[0]]||this.masterObj[e[0]]||this.masterObj,i=e.pop();if(n[i]){for(var r=arguments.length,o=Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];var a=n[i].apply(n,o);this.set(t,a)}}}},{key:"get",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this.init(t,e),this.settingObj[t]||e}},{key:"has",value:function(t){return!!this.settingObj[t]}}]),t}(),_n=/^(click|mouse(down|up|move|enter|leave)|touch(start|move|end)|key(down|up|press)|contextmenu|change|input)/gi,yn=/^load (.*)/gi,xn=["Control","Shift","Alt","Meta"],kn=function(){function t(){_(this,t),this.state=new vn(this),this.refs={},this.childComponents=this.components()}return y(t,[{key:"newChildComponents",value:function(){var t=this;Object.keys(this.childComponents).forEach((function(e){var n=t.childComponents[e];t[e]=new n(t)}))}},{key:"render",value:function(){this.$el=this.parseTemplate(this.template()),this.refs.$el=this.$el,this.parseTarget(),this.load(),this.afterRender()}},{key:"afterRender",value:function(){}},{key:"components",value:function(){return{}}},{key:"parseTemplate",value:function(t){var e=this,n=new dn("div").html(t).firstChild(),i=n.findAll("[ref]");return[].concat(E(i)).forEach((function(t){var n=t.getAttribute("ref");e.refs[n]=new dn(t)})),n}},{key:"parseTarget",value:function(){var t=this,e=this.$el.findAll("[target]");[].concat(E(e)).forEach((function(e){var n=e.getAttribute("target"),i=e.getAttribute("ref")||n,r=new(0,t.childComponents[n])(t);t[i]=r,t.refs[i]=r.$el,r&&(r.render(),new dn(e.parentNode).replace(e,r.$el.el))}))}},{key:"load",value:function(){var t=this;this.filterProps(yn).forEach((function(e){var n=e.split("load ")[1];t.refs[n]&&t.refs[n].html(t.parseTemplate(t[e].call(t)))}))}},{key:"template",value:function(){return"<div></div>"}},{key:"initialize",value:function(){}},{key:"initializeEvent",value:function(){var t=this;this.initializeEventMachin(),Object.keys(this.childComponents).forEach((function(e){t[e]&&t[e].initializeEvent()}))}},{key:"destroy",value:function(){var t=this;this.destroyEventMachin(),Object.keys(this.childComponents).forEach((function(e){t[e]&&t[e].destroy()}))}},{key:"destroyEventMachin",value:function(){this.removeEventAll()}},{key:"initializeEventMachin",value:function(){this.filterProps(_n).forEach(this.parseEvent.bind(this))}},{key:"collectProps",value:function(){if(!this.collapsedProps){var t=this.__proto__,e=[];do{e.push.apply(e,E(Object.getOwnPropertyNames(t))),t=t.__proto__}while(t);this.collapsedProps=e}return this.collapsedProps}},{key:"filterProps",value:function(t){return this.collectProps().filter((function(e){return e.match(t)}))}},{key:"parseEvent",value:function(t){var e=t.split(" ");this.bindingEvent(e,this[t].bind(this))}},{key:"getDefaultDomElement",value:function(t){var e=void 0;return(e=t?this.refs[t]||this[t]||window[t]:this.el||this.$el||this.$root)instanceof dn?e.getElement():e}},{key:"getDefaultEventObject",value:function(t){var e=this,n=t.split("."),i=n.shift(),r=n.includes("Control"),o=n.includes("Shift"),s=n.includes("Alt"),a=n.includes("Meta"),l=(n=n.filter((function(t){return!1===xn.includes(t)}))).filter((function(t){return!!e[t]}));return{eventName:i,isControl:r,isShift:o,isAlt:s,isMeta:a,codes:n=n.filter((function(t){return!1===l.includes(t)})).map((function(t){return t.toLowerCase()})),checkMethodList:l}}},{key:"bindingEvent",value:function(t,e){var n,i=(n=t,Array.isArray(n)?n:Array.from(n)),r=i[0],o=i[1],s=i.slice(2);o=this.getDefaultDomElement(o);var a=this.getDefaultEventObject(r);a.dom=o,a.delegate=s.join(" "),this.addEvent(a,e)}},{key:"matchPath",value:function(t,e){return t?t.matches(e)?t:this.matchPath(t.parentElement,e):null}},{key:"getBindings",value:function(){return this._bindings||this.initBindings(),this._bindings}},{key:"addBinding",value:function(t){this.getBindings().push(t)}},{key:"initBindings",value:function(){this._bindings=[]}},{key:"checkEventType",value:function(t,e){var n=this,i=!e.isControl||t.ctrlKey,r=!e.isShift||t.shiftKey,o=!e.isAlt||t.altKey,s=!e.isMeta||t.metaKey,a=!0;e.codes.length&&(a=e.codes.includes(t.code.toLowerCase())||e.codes.includes(t.key.toLowerCase()));var l=!0;return e.checkMethodList.length&&(l=e.checkMethodList.every((function(e){return n[e].call(n,t)}))),i&&o&&r&&s&&a&&l}},{key:"makeCallback",value:function(t,e){var n=this;return t.delegate?function(i){if(i.xy=mn.posXY(i),n.checkEventType(i,t)){var r=n.matchPath(i.target||i.srcElement,t.delegate);if(r)return i.delegateTarget=r,i.$delegateTarget=new dn(r),e(i)}}:function(i){if(i.xy=mn.posXY(i),n.checkEventType(i,t))return e(i)}}},{key:"addEvent",value:function(t,e){t.callback=this.makeCallback(t,e),this.addBinding(t);var n=!0;"touchstart"===t.eventName&&(n={passive:!0}),mn.addEvent(t.dom,t.eventName,t.callback,n)}},{key:"removeEventAll",value:function(){var t=this;this.getBindings().forEach((function(e){t.removeEvent(e)})),this.initBindings()}},{key:"removeEvent",value:function(t){var e=t.eventName,n=t.dom,i=t.callback;mn.removeEvent(n,e,i)}}]),t}(),bn=/^@/,Tn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.opt=t||{},t&&t.$store&&(n.$store=t.$store),n.initialize(),n.initializeStoreEvent(),n}return T(e,t),y(e,[{key:"initializeStoreEvent",value:function(){var t=this;this.storeEvents={},this.filterProps(bn).forEach((function(e){var n=e.split("@");n.shift();var i=n.join("@");t.storeEvents[i]=t[e].bind(t),t.$store.on(i,t.storeEvents[i])}))}},{key:"destoryStoreEvent",value:function(){var t=this;Object.keys(this.storeEvents).forEach((function(e){t.$store.off(e,t.storeEvents[e])}))}}]),e}(kn),Cn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"initialize",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initialize",this).call(this),this.$store.rgb={},this.$store.hsl={},this.$store.hsv={},this.$store.alpha=1,this.$store.format="hex"}},{key:"/changeFormat",value:function(t,e){t.format=e,t.emit("changeFormat")}},{key:"/initColor",value:function(t,e,n){t.dispatch("/changeColor",e,n,!0),t.emit("initColor")}},{key:"/changeColor",value:function(t,e,n,i){var r;"string"==typeof(e=e||"#FF0000")&&(e=sn.parse(e)),e.source=e.source||n,t.alpha=void 0===(r=e.a)||null==r?t.alpha:e.a,t.format="hsv"!=e.type&&e.type||t.format,"hsl"==e.type?(t.hsl=Object.assign(t.hsl,e),t.rgb=sn.HSLtoRGB(t.hsl),t.hsv=sn.HSLtoHSV(e)):"hex"==e.type||"rgb"==e.type?(t.rgb=Object.assign(t.rgb,e),t.hsl=sn.RGBtoHSL(t.rgb),t.hsv=sn.RGBtoHSV(e)):"hsv"==e.type&&(t.hsv=Object.assign(t.hsv,e),t.rgb=sn.HSVtoRGB(t.hsv),t.hsl=sn.HSVtoHSL(t.hsv)),i||t.emit("changeColor",e.source)}},{key:"/getHueColor",value:function(t){return ln.checkHueColor(t.hsv.h/360)}},{key:"/toString",value:function(t,e){var n=t[e=e||t.format]||t.rgb;return sn.format(k({},n,{a:t.alpha}),e)}},{key:"/toColor",value:function(t,e){return"rgb"==(e=e||t.format)?t.dispatch("/toRGB"):"hsl"==e?t.dispatch("/toHSL"):"hex"==e?t.dispatch("/toHEX"):t.dispatch("/toString",e)}},{key:"/toRGB",value:function(t){return t.dispatch("/toString","rgb")}},{key:"/toHSL",value:function(t){return t.dispatch("/toString","hsl")}},{key:"/toHEX",value:function(t){return t.dispatch("/toString","hex").toUpperCase()}}]),e}(pn),wn=function(){function t(e){_(this,t),this.callbacks=[],this.actions=[],this.modules=e.modules||[],this.initialize()}return y(t,[{key:"initialize",value:function(){this.initializeModule()}},{key:"initializeModule",value:function(){var t=this;this.modules.forEach((function(e){new e(t)}))}},{key:"action",value:function(t,e){this.actions[t]={context:e,callback:e[t]}}},{key:"dispatch",value:function(t){var e=[].concat(Array.prototype.slice.call(arguments)),n=(t=e.shift(),this.actions[t]);if(n)return n.callback.apply(n.context,[this].concat(E(e)))}},{key:"module",value:function(t){}},{key:"on",value:function(t,e){this.callbacks.push({event:t,callback:e})}},{key:"off",value:function(t,e){0==arguments.length?this.callbacks=[]:1==arguments.length?this.callbacks=this.callbacks.filter((function(e){return e.event!=t})):2==arguments.length&&(this.callbacks=this.callbacks.filter((function(n){return n.event!=t&&n.callback!=e})))}},{key:"emit",value:function(){var t=[].concat(Array.prototype.slice.call(arguments)),e=t.shift();this.callbacks.filter((function(t){return t.event==e})).forEach((function(e){e&&"function"==typeof e.callback&&e.callback.apply(e,E(t))}))}}]),t}(),En=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.isColorPickerShow=!1,n.isShortCut=!1,n.hideDelay=+(void 0===n.opt.hideDeplay?2e3:n.opt.hideDelay),n.timerCloseColorPicker,n.autoHide=n.opt.autoHide||!0,n.outputFormat=n.opt.outputFormat,n.$checkColorPickerClass=n.checkColorPickerClass.bind(n),n}return T(e,t),y(e,[{key:"initialize",value:function(){var t=this;this.$body=null,this.$root=null,this.$store=new wn({modules:[Cn,gn]}),this.callbackChange=function(){t.callbackColorValue()},this.callbackLastUpdate=function(){t.callbackLastUpdateColorValue()},this.colorpickerShowCallback=function(){},this.colorpickerHideCallback=function(){},this.colorpickerLastUpdateCallback=function(){},this.$body=new dn(this.getContainer()),this.$root=new dn("div","codemirror-colorpicker"),"inline"==this.opt.position&&this.$body.append(this.$root),this.opt.type&&this.$root.addClass(this.opt.type),this.opt.hideInformation&&this.$root.addClass("hide-information"),this.opt.hideColorsets&&this.$root.addClass("hide-colorsets"),this.$arrow=new dn("div","arrow"),this.$root.append(this.$arrow),this.$store.dispatch("/setUserPalette",this.opt.colorSets),this.render(),this.$root.append(this.$el),this.initColorWithoutChangeEvent(this.opt.color),this.initializeEvent()}},{key:"initColorWithoutChangeEvent",value:function(t){this.$store.dispatch("/initColor",t)}},{key:"show",value:function(t,e,n,i,r){this.colorpickerShowCallback=n,this.colorpickerHideCallback=i,this.colorpickerLastUpdateCallback=r,this.$root.css(this.getInitalizePosition()).show(),this.isColorPickerShow=!0,this.isShortCut=t.isShortCut||!1,this.outputFormat=t.outputFormat,this.hideDelay=+(void 0===t.hideDelay?2e3:t.hideDelay),this.hideDelay>0&&this.setHideDelay(this.hideDelay),this.$root.appendTo(this.$body),this.definePosition(t),this.initColorWithoutChangeEvent(e)}},{key:"initColor",value:function(t,e){this.$store.dispatch("/changeColor",t,e)}},{key:"hide",value:function(){this.isColorPickerShow&&(this.$root.hide(),this.$root.remove(),this.isColorPickerShow=!1,this.callbackHideColorValue())}},{key:"setColorsInPalette",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.$store.dispatch("/setCurrentColorAll",t)}},{key:"setUserPalette",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.$store.dispatch("/setUserPalette",t)}},{key:"getOption",value:function(t){return this.opt[t]}},{key:"setOption",value:function(t,e){this.opt[t]=e}},{key:"isType",value:function(t){return this.getOption("type")==t}},{key:"isPaletteType",value:function(){return this.isType("palette")}},{key:"isSketchType",value:function(){return this.isType("sketch")}},{key:"getContainer",value:function(){return this.opt.container||document.body}},{key:"getColor",value:function(t){return this.$store.dispatch("/toColor",t)}},{key:"definePositionForArrow",value:function(t,e,n){}},{key:"definePosition",value:function(t){var e=this.$root.width(),n=this.$root.height(),i=t.left-this.$body.scrollLeft();e+i>window.innerWidth&&(i-=e+i-window.innerWidth),i<0&&(i=0);var r=t.top-this.$body.scrollTop();n+r>window.innerHeight&&(r-=n+r-window.innerHeight),r<0&&(r=0),this.$root.css({left:i+"px",top:r+"px"})}},{key:"getInitalizePosition",value:function(){return"inline"==this.opt.position?{position:"relative",left:"auto",top:"auto",display:"inline-block"}:{position:"fixed",left:"-10000px",top:"-10000px"}}},{key:"isAbsolute",value:function(){return"inline"!==this.opt.position}},{key:"mouseup.isAbsolute document",value:function(t){this.__isMouseDown=!1,this.checkInHtml(t.target)||(0==this.checkColorPickerClass(t.target)?this.hide():this.__isMouseIn||(clearTimeout(this.timerCloseColorPicker),this.timerCloseColorPicker=setTimeout(this.hide.bind(this),this.delayTime||this.hideDelay)))}},{key:"keyup.isAbsolute.escape $root",value:function(t){this.hide()}},{key:"mouseover.isAbsolute $root",value:function(t){clearTimeout(this.timerCloseColorPicker)}},{key:"mousemove.isAbsolute $root",value:function(t){clearTimeout(this.timerCloseColorPicker)}},{key:"mouseenter.isAbsolute $root",value:function(t){clearTimeout(this.timerCloseColorPicker),this.__isMouseIn=!0}},{key:"mouseleave.isAbsolute $root",value:function(t){this.__isMouseIn=!1,this.__isMouseDown||(clearTimeout(this.timerCloseColorPicker),this.timerCloseColorPicker=setTimeout(this.hide.bind(this),this.delayTime||this.hideDelay))}},{key:"mousedown.isAbsolute $root",value:function(t){this.__isMouseDown=!0}},{key:"setHideDelay",value:function(t){this.delayTime=t||0}},{key:"runHideDelay",value:function(){this.isColorPickerShow&&this.setHideDelay()}},{key:"callbackColorValue",value:function(t){t=t||this.getCurrentColor(),"function"==typeof this.opt.onChange&&this.opt.onChange.call(this,t),"function"==typeof this.colorpickerShowCallback&&this.colorpickerShowCallback(t)}},{key:"callbackLastUpdateColorValue",value:function(t){t=t||this.getCurrentColor(),"function"==typeof this.opt.onLastUpdate&&this.opt.onLastUpdate.call(this,t),"function"==typeof this.colorpickerLastUpdateCallback&&this.colorpickerLastUpdateCallback(t)}},{key:"callbackHideColorValue",value:function(t){t=t||this.getCurrentColor(),"function"==typeof this.opt.onHide&&this.opt.onHide.call(this,t),"function"==typeof this.colorpickerHideCallback&&this.colorpickerHideCallback(t)}},{key:"getCurrentColor",value:function(){return this.$store.dispatch("/toColor",this.outputFormat)}},{key:"checkColorPickerClass",value:function(t){var e=new dn(t).closest("codemirror-colorview"),n=new dn(t).closest("codemirror-colorpicker"),i=new dn(t).closest("CodeMirror");return t.nodeName,!!(n||e||i)}},{key:"checkInHtml",value:function(t){return"HTML"==t.nodeName}},{key:"initializeStoreEvent",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"initializeStoreEvent",this).call(this),this.$store.on("changeColor",this.callbackChange),this.$store.on("lastUpdateColor",this.callbackLastUpdate),this.$store.on("changeFormat",this.callbackChange)}},{key:"destroy",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this),this.$store.off("changeColor",this.callbackChange),this.$store.off("lastUpdateColor",this.callbackLastUpdate),this.$store.off("changeFormat",this.callbackChange),this.callbackChange=void 0,this.callbackLastUpdate=void 0,this.colorpickerShowCallback=void 0,this.colorpickerHideCallback=void 0}}]),e}(Tn),Sn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.minValue=0,n.maxValue=1,n.source="base-slider",n}return T(e,t),y(e,[{key:"getMinMaxPosition",value:function(){var t=this.getMinPosition(),e=this.getMaxDist();return{min:t,max:t+e,width:e}}},{key:"getCurrent",value:function(t){return min+this.getMaxDist()*t}},{key:"getMinPosition",value:function(){return this.refs.$container.offset().left}},{key:"getMaxDist",value:function(){return this.state.get("$container.width")}},{key:"getDist",value:function(t){var e=this.getMinMaxPosition(),n=e.min,i=e.max;return t<n?0:t>i?100:(t-n)/(i-n)*100}},{key:"getCaculatedDist",value:function(t){var e=t?this.getMousePosition(t):this.getCurrent(this.getDefaultValue()/this.maxValue);return this.getDist(e)}},{key:"getDefaultValue",value:function(){return 0}},{key:"setMousePosition",value:function(t){this.refs.$bar.css({left:t+"px"})}},{key:"getMousePosition",value:function(t){return mn.pos(t).pageX}},{key:"refresh",value:function(){this.setColorUI()}},{key:"setColorUI",value:function(t){(t=t||this.getDefaultValue())<=this.minValue?this.refs.$bar.addClass("first").removeClass("last"):t>=this.maxValue?this.refs.$bar.addClass("last").removeClass("first"):this.refs.$bar.removeClass("last").removeClass("first"),this.setMousePosition(this.getMaxDist()*((t||0)/this.maxValue))}}]),e}(function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.source="base-box",n}return T(e,t),y(e,[{key:"refresh",value:function(){}},{key:"refreshColorUI",value:function(t){}},{key:"changeColor",value:function(t){this.$store.dispatch("/changeColor",Object.assign({source:this.source},t||{}))}},{key:"mouseup document",value:function(t){this.onDragEnd(t)}},{key:"mousemove document",value:function(t){this.onDragMove(t)}},{key:"mousedown $bar",value:function(t){t.preventDefault(),this.isDown=!0}},{key:"mousedown $container",value:function(t){this.isDown=!0,this.onDragStart(t)}},{key:"touchend document",value:function(t){this.onDragEnd(t)}},{key:"touchmove document",value:function(t){this.onDragMove(t)}},{key:"touchstart $bar",value:function(t){t.preventDefault(),this.isDown=!0}},{key:"touchstart $container",value:function(t){this.onDragStart(t)}},{key:"onDragStart",value:function(t){this.isDown=!0,this.refreshColorUI(t)}},{key:"onDragMove",value:function(t){this.isDown&&this.refreshColorUI(t)}},{key:"onDragEnd",value:function(t){this.isDown&&(this.$store.emit("lastUpdateColor"),this.isDown=!1)}},{key:"@changeColor",value:function(t){this.source!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(Tn)),An=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.minValue=0,n.maxValue=1,n.source="value-control",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="value">\n <div ref="$container" class="value-container">\n <div ref="$bar" class="drag-bar"></div>\n </div>\n </div>\n '}},{key:"setBackgroundColor",value:function(){this.refs.$container.css("background-color",this.$store.dispatch("/toRGB"))}},{key:"refresh",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"refresh",this).call(this),this.setBackgroundColor()}},{key:"getDefaultValue",value:function(){return this.$store.hsv.v}},{key:"refreshColorUI",value:function(t){var e=this.getCaculatedDist(t);this.setColorUI(e/100*this.maxValue),this.changeColor({type:"hsv",v:e/100*this.maxValue})}}]),e}(Sn),Ln=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.minValue=0,n.maxValue=1,n.source="opacity-control",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="opacity">\n <div ref="$container" class="opacity-container">\n <div ref="$colorbar" class="color-bar"></div>\n <div ref="$bar" class="drag-bar"></div>\n </div>\n </div>\n '}},{key:"refresh",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"refresh",this).call(this),this.setOpacityColorBar()}},{key:"setOpacityColorBar",value:function(){var t=Object.assign({},this.$store.rgb);t.a=0;var e=sn.format(t,"rgb");t.a=1;var n=sn.format(t,"rgb");this.setOpacityColorBarBackground(e,n)}},{key:"setOpacityColorBarBackground",value:function(t,e){this.refs.$colorbar.css("background","linear-gradient(to right, "+t+", "+e+")")}},{key:"getDefaultValue",value:function(){return this.$store.alpha}},{key:"refreshColorUI",value:function(t){var e=this.getCaculatedDist(t);this.setColorUI(e/100*this.maxValue),this.changeColor({a:Math.floor(e)/100*this.maxValue})}}]),e}(Sn),On=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Value:An,Opacity:Ln}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Value" ></div>\n <div target="Opacity" ></div>\n <div ref="$controlPattern" class="empty"></div>\n <div ref="$controlColor" class="color"></div>\n </div>\n '}},{key:"setBackgroundColor",value:function(){this.refs.$controlColor.css("background-color",this.$store.dispatch("/toRGB"))}},{key:"refresh",value:function(){this.setColorUI(),this.setBackgroundColor()}},{key:"setColorUI",value:function(){this.Value.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"macos-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(Tn),Nn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.width=214,n.height=214,n.thinkness=0,n.half_thinkness=0,n.source="colorwheel",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="wheel">\n <canvas class="wheel-canvas" ref="$colorwheel" ></canvas>\n <div class="wheel-canvas" ref="$valuewheel" ></div>\n <div class="drag-pointer" ref="$drag_pointer"></div>\n </div>\n '}},{key:"refresh",value:function(t){this.setColorUI(t)}},{key:"setColorUI",value:function(t){this.renderCanvas(),this.renderValue(),this.setHueColor(null,t)}},{key:"renderValue",value:function(){var t=1-this.$store.hsv.v;this.refs.$valuewheel.css({"background-color":"rgba(0, 0, 0, "+t+")"})}},{key:"renderWheel",value:function(t,e){this.width&&!t&&(t=this.width),this.height&&!e&&(e=this.height);var n=new dn("canvas"),i=n.el.getContext("2d");n.el.width=t,n.el.height=e,n.css({width:t+"px",height:e+"px"});for(var r=i.getImageData(0,0,t,e),o=r.data,s=Math.floor(t/2),a=Math.floor(e/2),l=t>e?a:s,c=s,h=a,f=0;f<e;f++)for(var d=0;d<t;d++){var p=d-c+1,g=f-h+1,m=p*p+g*g,v=u(p,g),_=sn.HSVtoRGB(v,Math.min(Math.sqrt(m)/l,1),1),y=4*(f*t+d);o[y]=_.r,o[y+1]=_.g,o[y+2]=_.b,o[y+3]=255}return i.putImageData(r,0,0),this.thinkness>0&&(i.globalCompositeOperation="destination-out",i.fillStyle="black",i.beginPath(),i.arc(c,h,l-this.thinkness,0,2*Math.PI),i.closePath(),i.fill()),n}},{key:"renderCanvas",value:function(){if(!this.$store.createdWheelCanvas){var t=this.refs.$colorwheel,e=t.el.getContext("2d"),n=t.size(),i=w(n,2),r=i[0],o=i[1];this.width&&!r&&(r=this.width),this.height&&!o&&(o=this.height),t.el.width=r,t.el.height=o,t.css({width:r+"px",height:o+"px"});var s=this.renderWheel(r,o);e.drawImage(s.el,0,0),this.$store.createdWheelCanvas=!0}}},{key:"getDefaultValue",value:function(){return this.$store.hsv.h}},{key:"getDefaultSaturation",value:function(){return this.$store.hsv.s}},{key:"getCurrentXY",value:function(t,e,n,i,r){return t?mn.posXY(t):function(t,e){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return{x:c(t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0),y:h(t,e,n)}}(e,n,i,r)}},{key:"getRectangle",value:function(){var t=this.state.get("$el.width"),e=this.state.get("$el.height"),n=this.state.get("$colorwheel.width")/2,i=this.refs.$el.offset().left,r=i+t/2,o=this.refs.$el.offset().top;return{minX:i,minY:o,width:t,height:e,radius:n,centerX:r,centerY:o+e/2}}},{key:"setHueColor",value:function(t,e){if(this.state.get("$el.width")){var n=this.getRectangle(),i=n.minX,r=n.minY,o=n.radius,s=n.centerX,a=n.centerY,l=this.getCurrentXY(t,this.getDefaultValue(),this.getDefaultSaturation()*o,s,a),c=(g=l.x)-s,h=(m=l.y)-a,f=c*c+h*h,d=u(c,h);if(f>o*o)var p=this.getCurrentXY(null,d,o,s,a),g=p.x,m=p.y;var v=Math.min(Math.sqrt(f)/o,1);this.refs.$drag_pointer.css({left:g-i+"px",top:m-r+"px"}),e||this.changeColor({type:"hsv",h:d,s:v})}}},{key:"changeColor",value:function(t){this.$store.dispatch("/changeColor",Object.assign({source:this.source},t||{}))}},{key:"@changeColor",value:function(t){this.source!=t&&this.refresh(!0)}},{key:"@initColor",value:function(){this.refresh(!0)}},{key:"mouseup document",value:function(t){this.isDown&&(this.isDown=!1,this.$store.emit("lastUpdateColor"))}},{key:"mousemove document",value:function(t){this.isDown&&this.setHueColor(t)}},{key:"mousedown $drag_pointer",value:function(t){t.preventDefault(),this.isDown=!0}},{key:"mousedown $el",value:function(t){this.isDown=!0,this.setHueColor(t)}},{key:"touchend document",value:function(t){this.isDown&&(this.isDown=!1,this.$store.emit("lastUpdateColor"))}},{key:"touchmove document",value:function(t){this.isDown&&this.setHueColor(t)}},{key:"touchstart $drag_pointer",value:function(t){t.preventDefault(),this.isDown=!0}},{key:"touchstart $el",value:function(t){t.preventDefault(),this.isDown=!0,this.setHueColor(t)}}]),e}(Tn),In="chromedevtool-information",Mn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="information hex">\n <div ref="$informationChange" class="information-change">\n <button ref="$formatChangeButton" type="button" class="format-change-button arrow-button"></button>\n </div>\n <div class="information-item hex">\n <div class="input-field hex">\n <input ref="$hexCode" class="input" type="text" />\n <div class="title">HEX</div>\n </div>\n </div>\n <div class="information-item rgb">\n <div class="input-field rgb-r">\n <input ref="$rgb_r" class="input" type="number" step="1" min="0" max="255" />\n <div class="title">R</div>\n </div>\n <div class="input-field rgb-g">\n <input ref="$rgb_g" class="input" type="number" step="1" min="0" max="255" />\n <div class="title">G</div>\n </div>\n <div class="input-field rgb-b">\n <input ref="$rgb_b" class="input" type="number" step="1" min="0" max="255" />\n <div class="title">B</div>\n </div> \n <div class="input-field rgb-a">\n <input ref="$rgb_a" class="input" type="number" step="0.01" min="0" max="1" />\n <div class="title">A</div>\n </div> \n </div>\n <div class="information-item hsl">\n <div class="input-field hsl-h">\n <input ref="$hsl_h" class="input" type="number" step="1" min="0" max="360" />\n <div class="title">H</div>\n </div>\n <div class="input-field hsl-s">\n <input ref="$hsl_s" class="input" type="number" step="1" min="0" max="100" />\n <div class="postfix">%</div>\n <div class="title">S</div>\n </div>\n <div class="input-field hsl-l">\n <input ref="$hsl_l" class="input" type="number" step="1" min="0" max="100" />\n <div class="postfix">%</div> \n <div class="title">L</div>\n </div>\n <div class="input-field hsl-a">\n <input ref="$hsl_a" class="input" type="number" step="0.01" min="0" max="1" />\n <div class="title">A</div>\n </div>\n </div>\n </div>\n '}},{key:"setCurrentFormat",value:function(t){this.format=t,this.initFormat()}},{key:"initFormat",value:function(){var t=this,e=this.format||"hex";["hex","rgb","hsl"].filter((function(t){return t!==e})).forEach((function(e){t.$el.removeClass(e)})),this.$el.addClass(e)}},{key:"nextFormat",value:function(){var t=this.$store.format||"hex",e="hex";"hex"==t?e="rgb":"rgb"==t?e="hsl":"hsl"==t&&(e="hex"),this.format=e,this.$store.dispatch("/changeFormat",e),this.$store.emit("lastUpdateColor"),this.initFormat()}},{key:"goToFormat",value:function(t){this.format=t,this.$store.dispatch("/changeFormat",this.format),this.$store.emit("lastUpdateColor"),this.initFormat()}},{key:"getFormat",value:function(){return this.format||"hex"}},{key:"checkNumberKey",value:function(t){var e=t.which,n=!1;return 37!=e&&39!=e&&8!=e&&46!=e&&9!=e||(n=!0),!(!n&&(e<48||e>57))}},{key:"checkNotNumberKey",value:function(t){return!this.checkNumberKey(t)}},{key:"changeRgbColor",value:function(){this.$store.dispatch("/changeColor",{type:"rgb",r:this.refs.$rgb_r.int(),g:this.refs.$rgb_g.int(),b:this.refs.$rgb_b.int(),a:this.refs.$rgb_a.float(),source:In}),this.$store.emit("lastUpdateColor")}},{key:"changeHslColor",value:function(){this.$store.dispatch("/changeColor",{type:"hsl",h:this.refs.$hsl_h.int(),s:this.refs.$hsl_s.int(),l:this.refs.$hsl_l.int(),a:this.refs.$hsl_a.float(),source:In}),this.$store.emit("lastUpdateColor")}},{key:"@changeColor",value:function(t){In!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}},{key:"input $rgb_r",value:function(t){this.changeRgbColor()}},{key:"input $rgb_g",value:function(t){this.changeRgbColor()}},{key:"input $rgb_b",value:function(t){this.changeRgbColor()}},{key:"input $rgb_a",value:function(t){this.changeRgbColor()}},{key:"input $hsl_h",value:function(t){this.changeHslColor()}},{key:"input $hsl_s",value:function(t){this.changeHslColor()}},{key:"input $hsl_l",value:function(t){this.changeHslColor()}},{key:"input $hsl_a",value:function(t){this.changeHslColor()}},{key:"keyup $hexCode",value:function(t){var e=this.refs.$hexCode.val();"#"!=e.charAt(0)||7!=e.length&&9!==e.length||(this.$store.dispatch("/changeColor",e,In),this.$store.emit("lastUpdateColor"))}},{key:"click $formatChangeButton",value:function(t){this.nextFormat()}},{key:"click $el .information-item.hex .input-field .title",value:function(t){this.goToFormat("rgb")}},{key:"click $el .information-item.rgb .input-field .title",value:function(t){this.goToFormat("hsl")}},{key:"click $el .information-item.hsl .input-field .title",value:function(t){this.goToFormat("hex")}},{key:"setRGBInput",value:function(){this.refs.$rgb_r.val(this.$store.rgb.r),this.refs.$rgb_g.val(this.$store.rgb.g),this.refs.$rgb_b.val(this.$store.rgb.b),this.refs.$rgb_a.val(this.$store.alpha)}},{key:"setHSLInput",value:function(){this.refs.$hsl_h.val(this.$store.hsl.h),this.refs.$hsl_s.val(this.$store.hsl.s),this.refs.$hsl_l.val(this.$store.hsl.l),this.refs.$hsl_a.val(this.$store.alpha)}},{key:"setHexInput",value:function(){this.refs.$hexCode.val(this.$store.dispatch("/toHEX"))}},{key:"refresh",value:function(){this.setCurrentFormat(this.$store.format),this.setRGBInput(),this.setHSLInput(),this.setHexInput()}}]),e}(Tn),$n=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="color-chooser">\n <div class="color-chooser-container">\n <div class="colorsets-item colorsets-item-header">\n <h1 class="title">Color Palettes</h1>\n <span ref="$toggleButton" class="items">&times;</span>\n </div>\n <div ref="$colorsetsList" class="colorsets-list"></div>\n </div>\n </div>\n '}},{key:"refresh",value:function(){this.load()}},{key:"@changeCurrentColorSets",value:function(){this.refresh()}},{key:"@toggleColorChooser",value:function(){this.toggle()}},{key:"load $colorsetsList",value:function(){return"\n <div>\n "+this.$store.dispatch("/getColorSetsList").map((function(t,e){return'\n <div class="colorsets-item" data-colorsets-index="'+e+'" >\n <h1 class="title">'+t.name+'</h1>\n <div class="items">\n <div>\n '+t.colors.filter((function(t,e){return e<5})).map((function(t){return'<div class="color-item" title="'+(t=t||"rgba(255, 255, 255, 1)")+'">\n <div class="color-view" style="background-color: '+t+'"></div>\n </div>'})).join("")+"\n </div>\n </div>\n </div>"})).join("")+"\n </div>\n "}},{key:"show",value:function(){this.$el.addClass("open")}},{key:"hide",value:function(){this.$el.removeClass("open")}},{key:"toggle",value:function(){this.$el.toggleClass("open")}},{key:"click $toggleButton",value:function(t){this.toggle()}},{key:"click $colorsetsList .colorsets-item",value:function(t){var e=t.$delegateTarget;if(e){var n=parseInt(e.attr("data-colorsets-index"));this.$store.dispatch("/setCurrentColorSets",n),this.hide()}}},{key:"destroy",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"destroy",this).call(this),this.hide()}}]),e}(Tn),Rn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="colorsets">\n <div class="menu" title="Open Color Palettes">\n <button ref="$colorSetsChooseButton" type="button" class="color-sets-choose-btn arrow-button"></button>\n </div>\n <div ref="$colorSetsColorList" class="color-list"></div>\n </div>\n '}},{key:"load $colorSetsColorList",value:function(){var t=this.$store.dispatch("/getCurrentColorSets");return'\n <div class="current-color-sets">\n '+this.$store.dispatch("/getCurrentColors").map((function(t,e){return'<div class="color-item" title="'+t+'" data-index="'+e+'" data-color="'+t+'">\n <div class="empty"></div>\n <div class="color-view" style="background-color: '+t+'"></div>\n </div>'})).join("")+" \n "+(t.edit?'<div class="add-color-item">+</div>':"")+" \n </div>\n "}},{key:"refresh",value:function(){this.load()}},{key:"addColor",value:function(t){this.$store.dispatch("/addCurrentColor",t)}},{key:"@changeCurrentColorSets",value:function(){this.refresh()}},{key:"click $colorSetsChooseButton",value:function(t){this.$store.emit("toggleColorChooser")}},{key:"contextmenu $colorSetsColorList",value:function(t){if(t.preventDefault(),this.$store.dispatch("/getCurrentColorSets").edit){var e=new dn(t.target).closest("color-item");if(e){var n=parseInt(e.attr("data-index"));this.$store.emit("showContextMenu",t,n)}else this.$store.emit("showContextMenu",t)}}},{key:"click $colorSetsColorList .add-color-item",value:function(t){this.addColor(this.$store.dispatch("/toColor"))}},{key:"click $colorSetsColorList .color-item",value:function(t){this.$store.dispatch("/changeColor",t.$delegateTarget.attr("data-color")),this.$store.emit("lastUpdateColor")}}]),e}(Tn),Dn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <ul class="colorsets-contextmenu">\n <li class="menu-item small-hide" data-type="remove-color">Remove color</li>\n <li class="menu-item small-hide" data-type="remove-all-to-the-right">Remove all to the right</li>\n <li class="menu-item" data-type="clear-palette">Clear palette</li>\n </ul>\n '}},{key:"show",value:function(t,e){var n=mn.pos(t);this.$el.css({top:n.clientY-10+"px",left:n.clientX+"px"}),this.$el.addClass("show"),this.selectedColorIndex=e,void 0===this.selectedColorIndex?this.$el.addClass("small"):this.$el.removeClass("small")}},{key:"hide",value:function(){this.$el.removeClass("show")}},{key:"runCommand",value:function(t){switch(t){case"remove-color":this.$store.dispatch("/removeCurrentColor",this.selectedColorIndex);break;case"remove-all-to-the-right":this.$store.dispatch("/removeCurrentColorToTheRight",this.selectedColorIndex);break;case"clear-palette":this.$store.dispatch("/clearPalette")}}},{key:"@showContextMenu",value:function(t,e){this.show(t,e)}},{key:"click $el .menu-item",value:function(t){t.preventDefault(),this.runCommand(t.$delegateTarget.attr("data-type")),this.hide()}}]),e}(Tn),Pn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="colorwheel"></div>\n <div target="control"></div>\n <div target="information"></div>\n <div target="currentColorSets"></div>\n <div target="colorSetsChooser"></div>\n <div target="contextMenu"></div> \n </div>\n '}},{key:"components",value:function(){return{colorwheel:Nn,control:On,information:Mn,currentColorSets:Rn,colorSetsChooser:$n,contextMenu:Dn}}}]),e}(En),Fn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.minValue=0,n.maxValue=360,n.source="hue-control",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="hue">\n <div ref="$container" class="hue-container">\n <div ref="$bar" class="drag-bar"></div>\n </div>\n </div>\n '}},{key:"getDefaultValue",value:function(){return this.$store.hsv.h}},{key:"refreshColorUI",value:function(t){var e=this.getCaculatedDist(t);this.setColorUI(e/100*this.maxValue),this.changeColor({h:e/100*this.maxValue,type:"hsv"})}}]),e}(Sn),Bn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Hue:Fn,Opacity:Ln}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Hue" ></div>\n <div target="Opacity" ></div>\n <div ref="$controlPattern" class="empty"></div>\n <div ref="$controlColor" class="color"></div>\n </div>\n '}},{key:"setBackgroundColor",value:function(){this.refs.$controlColor.css("background-color",this.$store.dispatch("/toRGB"))}},{key:"refresh",value:function(){this.setColorUI(),this.setBackgroundColor()}},{key:"setColorUI",value:function(){this.Hue.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"chromedevtool-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(Tn),Un="chromedevtool-palette",Hn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="color">\n <div ref="$saturation" class="saturation">\n <div ref="$value" class="value">\n <div ref="$drag_pointer" class="drag-pointer"></div>\n </div>\n </div> \n </div> \n '}},{key:"setBackgroundColor",value:function(t){this.$el.css("background-color",t)}},{key:"refresh",value:function(){this.setColorUI()}},{key:"caculateSV",value:function(){var t=this.drag_pointer_pos||{x:0,y:0},e=this.state.get("$el.width"),n=this.state.get("$el.height"),i=t.x/e,r=(n-t.y)/n;this.$store.dispatch("/changeColor",{type:"hsv",s:i,v:r,source:Un})}},{key:"setColorUI",value:function(){var t=this.state.get("$el.width")*this.$store.hsv.s,e=this.state.get("$el.height")*(1-this.$store.hsv.v);this.refs.$drag_pointer.css({left:t+"px",top:e+"px"}),this.drag_pointer_pos={x:t,y:e},this.setBackgroundColor(this.$store.dispatch("/getHueColor"))}},{key:"setMainColor",value:function(t){var e=this.$el.offset(),n=this.state.get("$el.contentWidth"),i=this.state.get("$el.contentHeight"),r=mn.pos(t).pageX-e.left,o=mn.pos(t).pageY-e.top;r<0?r=0:r>n&&(r=n),o<0?o=0:o>i&&(o=i),this.refs.$drag_pointer.css({left:r+"px",top:o+"px"}),this.drag_pointer_pos={x:r,y:o},this.caculateSV()}},{key:"@changeColor",value:function(t){Un!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}},{key:"mouseup document",value:function(t){this.isDown&&(this.isDown=!1,this.$store.emit("lastUpdateColor"))}},{key:"mousemove document",value:function(t){this.isDown&&this.setMainColor(t)}},{key:"mousedown",value:function(t){this.isDown=!0,this.setMainColor(t)}},{key:"touchend document",value:function(t){this.isDown&&(this.isDown=!1,this.$store.emit("lastUpdateColor"))}},{key:"touchmove document",value:function(t){this.isDown&&this.setMainColor(t)}},{key:"touchstart",value:function(t){t.preventDefault(),this.isDown=!0,this.setMainColor(t)}}]),e}(Tn),zn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="palette"></div> \n <div target="control"></div>\n <div target="information"></div>\n <div target="currentColorSets"></div>\n <div target="colorSetsChooser"></div>\n <div target="contextMenu"></div>\n </div>\n '}},{key:"components",value:function(){return{palette:Hn,control:Bn,information:Mn,currentColorSets:Rn,colorSetsChooser:$n,contextMenu:Dn}}}]),e}(En),Wn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Hue:Fn,Opacity:Ln}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Hue" ></div>\n <div target="Opacity" ></div>\n </div>\n '}},{key:"refresh",value:function(){this.setColorUI()}},{key:"setColorUI",value:function(){this.Hue.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"mini-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(Tn),jn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="palette"></div>\n <div target="control"></div>\n </div>\n '}},{key:"components",value:function(){return{palette:Hn,control:Wn}}}]),e}(En),Gn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.source="vertical-slider",n}return T(e,t),y(e,[{key:"getMaxDist",value:function(){return this.state.get("$container.height")}},{key:"setMousePosition",value:function(t){this.refs.$bar.css({top:t+"px"})}},{key:"getMousePosition",value:function(t){return mn.pos(t).pageY}},{key:"getMinPosition",value:function(){return this.refs.$container.offset().top}},{key:"getCaculatedDist",value:function(t){var e=t?this.getMousePosition(t):this.getCurrent(this.getDefaultValue()/this.maxValue);return 100-this.getDist(e)}},{key:"setColorUI",value:function(t){(t=t||this.getDefaultValue())<=this.minValue?this.refs.$bar.addClass("first").removeClass("last"):t>=this.maxValue?this.refs.$bar.addClass("last").removeClass("first"):this.refs.$bar.removeClass("last").removeClass("first");var e=1-(t||0)/this.maxValue;this.setMousePosition(this.getMaxDist()*e)}}]),e}(Sn),qn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.minValue=0,n.maxValue=360,n.source="vertical-hue-control",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="hue">\n <div ref="$container" class="hue-container">\n <div ref="$bar" class="drag-bar"></div>\n </div>\n </div>\n '}},{key:"getDefaultValue",value:function(){return this.$store.hsv.h}},{key:"refreshColorUI",value:function(t){var e=this.getCaculatedDist(t);this.setColorUI(e/100*this.maxValue),this.changeColor({h:e/100*this.maxValue,type:"hsv"})}}]),e}(Gn),Vn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.source="vertical-opacity-control",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="opacity">\n <div ref="$container" class="opacity-container">\n <div ref="$colorbar" class="color-bar"></div>\n <div ref="$bar" class="drag-bar2"></div>\n </div>\n </div>\n '}},{key:"refresh",value:function(){b(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"refresh",this).call(this),this.setOpacityColorBar()}},{key:"setOpacityColorBar",value:function(){var t=Object.assign({},this.$store.rgb);t.a=0;var e=sn.format(t,"rgb");t.a=1;var n=sn.format(t,"rgb");this.refs.$colorbar.css("background","linear-gradient(to top, "+e+", "+n+")")}},{key:"getDefaultValue",value:function(){return this.$store.alpha}},{key:"refreshColorUI",value:function(t){var e=this.getCaculatedDist(t);this.setColorUI(e/100*this.maxValue),this.changeColor({a:Math.floor(e)/100*this.maxValue})}}]),e}(Gn),Yn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Hue:qn,Opacity:Vn}}},{key:"template",value:function(){return'<div class="control"><div target="Hue" ></div><div target="Opacity" ></div></div>'}},{key:"refresh",value:function(){this.setColorUI()}},{key:"setColorUI",value:function(){this.Hue.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"mini-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(Tn),Kn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="palette"></div><div target="control"></div>\n </div>\n '}},{key:"components",value:function(){return{palette:Hn,control:Yn}}}]),e}(En),Xn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Value:An,Opacity:Ln}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Value" ></div>\n <div target="Opacity" ></div>\n <div ref="$controlPattern" class="empty"></div>\n <div ref="$controlColor" class="color"></div>\n </div>\n '}},{key:"setBackgroundColor",value:function(){this.refs.$controlColor.css("background-color",this.$store.dispatch("/toRGB"))}},{key:"refresh",value:function(){this.setColorUI(),this.setBackgroundColor()}},{key:"setColorUI",value:function(){this.Value.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"macos-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(Tn),Qn=function(t){function e(t){_(this,e);var n=C(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.width=214,n.height=214,n.thinkness=16,n.half_thinkness=n.thinkness/2,n.source="colorring",n}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class="wheel" data-type="ring">\n <canvas class="wheel-canvas" ref="$colorwheel" ></canvas>\n <div class="drag-pointer" ref="$drag_pointer"></div>\n </div>\n '}},{key:"setColorUI",value:function(t){this.renderCanvas(),this.setHueColor(null,t)}},{key:"getDefaultValue",value:function(){return this.$store.hsv.h}},{key:"setHueColor",value:function(t,e){if(this.state.get("$el.width")){var n=this.getRectangle(),i=n.minX,r=n.minY,o=n.radius,s=n.centerX,a=n.centerY,l=this.getCurrentXY(t,this.getDefaultValue(),o,s,a),c=u((f=l.x)-s,(d=l.y)-a),h=this.getCurrentXY(null,c,o-this.half_thinkness,s,a),f=h.x,d=h.y;this.refs.$drag_pointer.css({left:f-i+"px",top:d-r+"px"}),e||this.changeColor({type:"hsv",h:c})}}}]),e}(Nn),Zn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="colorring"></div>\n <div target="palette"></div> \n <div target="control"></div>\n <div target="information"></div>\n <div target="currentColorSets"></div>\n <div target="colorSetsChooser"></div>\n <div target="contextMenu"></div>\n </div>\n '}},{key:"components",value:function(){return{colorring:Qn,palette:Hn,control:Xn,information:Mn,currentColorSets:Rn,colorSetsChooser:$n,contextMenu:Dn}}}]),e}(En),Jn=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Hue:qn,Opacity:Vn}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Hue" ></div>\n <div target="Opacity" ></div>\n </div>\n '}},{key:"refresh",value:function(){this.setColorUI()}},{key:"setColorUI",value:function(){this.Hue.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(){this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(Tn),ti=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return'\n <div class=\'colorpicker-body\'>\n <div target="palette"></div> \n <div target="control"></div>\n <div target="information"></div>\n <div target="currentColorSets"></div>\n <div target="colorSetsChooser"></div>\n <div target="contextMenu"></div>\n </div>\n '}},{key:"components",value:function(){return{palette:Hn,control:Jn,information:Mn,currentColorSets:Rn,colorSetsChooser:$n,contextMenu:Dn}}}]),e}(En),ei=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"components",value:function(){return{Hue:qn,Opacity:Vn}}},{key:"template",value:function(){return'\n <div class="control">\n <div target="Opacity" ></div> \n <div target="Hue" ></div>\n </div>\n '}},{key:"refresh",value:function(){this.setColorUI()}},{key:"setColorUI",value:function(){this.Hue.setColorUI(),this.Opacity.setColorUI()}},{key:"@changeColor",value:function(t){"mini-control"!=t&&this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(Tn),ni=function(t){function e(){return _(this,e),C(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return T(e,t),y(e,[{key:"template",value:function(){return"\n <div class='colorpicker-body'>\n <div class='color-view'>\n <div class='color-view-container' ref=\"$colorview\"></div>\n </div>\n <div class='color-tool'>\n <div target=\"palette\"></div>\n <div target=\"control\"></div>\n </div>\n </div>\n "}},{key:"components",value:function(){return{palette:Hn,control:ei}}},{key:"initColorWithoutChangeEvent",value:function(t){this.$store.dispatch("/initColor",t),this.refresh()}},{key:"setBackgroundColor",value:function(){var t=this.$store.dispatch("/toColor"),e=this.$store.rgb,n=sn.brightness(e.r,e.g,e.b);this.refs.$colorview.css({"background-color":t,color:n>127?"black":"white"}),this.refs.$colorview.html(t)}},{key:"click $colorview",value:function(t){this.nextFormat()}},{key:"nextFormat",value:function(){var t=this.$store.format||"hex",e="hex";"hex"==t?e="rgb":"rgb"==t?e="hsl":"hsl"==t&&(e="hex"),this.$store.dispatch("/changeFormat",e),this.$store.emit("lastUpdateColor"),this.refresh()}},{key:"refresh",value:function(){this.setBackgroundColor()}},{key:"@changeColor",value:function(){this.refresh()}},{key:"@initColor",value:function(){this.refresh()}}]),e}(En),ii={create:function(t){switch(t.type){case"macos":return new Pn(t);case"xd":return new ti(t);case"ring":return new Zn(t);case"mini":return new jn(t);case"vscode":return new ni(t);case"mini-vertical":return new Kn(t);default:return new zn(t)}},ColorPicker:zn,ChromeDevToolColorPicker:zn,MacOSColorPicker:Pn,RingColorPicker:Zn,MiniColorPicker:jn,VSCodePicker:ni,MiniVerticalColorPicker:Kn},ri="codemirror-colorview",oi="codemirror-colorview-background",si=["comment","builtin","qualifier"];function ai(t,e){"setValue"==e.origin?(t.state.colorpicker.init_color_update(),t.state.colorpicker.style_color_update()):t.state.colorpicker.style_color_update(t.getCursor().line)}function li(t,e){t.state.colorpicker.isUpdate||(t.state.colorpicker.isUpdate=!0,t.state.colorpicker.close_color_picker(),t.state.colorpicker.init_color_update(),t.state.colorpicker.style_color_update())}function ci(t,e){ai(t,{origin:"setValue"})}function hi(t,e){t.state.colorpicker.keyup(e)}function ui(t,e){t.state.colorpicker.is_edit_mode()&&t.state.colorpicker.check_mousedown(e)}function fi(t,e){ai(t,{origin:"setValue"})}function di(t){t.state.colorpicker.close_color_picker()}function pi(t){t.state.colorpicker.hide_delay_color_picker(t.state.colorpicker.opt.hideDelay||1e3)}var gi=function(){function t(e,n){_(this,t),n="boolean"==typeof n?{mode:"edit"}:Object.assign({mode:"edit"},n||{}),this.opt=n,this.cm=e,this.markers={},this.excluded_token=this.opt.excluded_token||si,this.opt.colorpicker?this.colorpicker=this.opt.colorpicker(this.opt):this.colorpicker=ii.create(this.opt),this.init_event()}return y(t,[{key:"init_event",value:function(){var t,e;this.cm.on("mousedown",ui),this.cm.on("keyup",hi),this.cm.on("change",ai),this.cm.on("update",li),this.cm.on("refresh",ci),this.cm.on("blur",pi),this.onPasteCallback=(t=this.cm,e=fi,function(n){e.call(this,t,n)}),this.onScrollEvent=function(t,e){var n=void 0;return function(i,r){n&&clearTimeout(n),n=setTimeout((function(){t(i,r)}),e||300)}}(di,50),this.cm.getWrapperElement().addEventListener("paste",this.onPasteCallback),this.is_edit_mode()&&this.cm.on("scroll",this.onScrollEvent)}},{key:"is_edit_mode",value:function(){return"edit"==this.opt.mode}},{key:"is_view_mode",value:function(){return"view"==this.opt.mode}},{key:"destroy",value:function(){this.cm.off("mousedown",ui),this.cm.off("keyup",hi),this.cm.off("change",ai),this.cm.off("blur",pi),this.cm.getWrapperElement().removeEventListener("paste",this.onPasteCallback),this.is_edit_mode()&&this.cm.off("scroll",this.onScrollEvent)}},{key:"hasClass",value:function(t,e){return!!t.className&&(" "+t.className+" ").indexOf(" "+e+" ")>-1}},{key:"check_mousedown",value:function(t){this.hasClass(t.target,oi)?this.open_color_picker(t.target.parentNode):this.close_color_picker()}},{key:"popup_color_picker",value:function(t){var e=this.cm.getCursor(),n=this,i={lineNo:e.line,ch:e.ch,color:t||"#FFFFFF",isShortCut:!0};Object.keys(this.markers).forEach((function(t){if(("#"+t).indexOf("#"+i.lineNo+":")>-1){var e=n.markers[t];e.ch<=i.ch&&i.ch<=e.ch+e.color.length&&(i.ch=e.ch,i.color=e.color,i.nameColor=e.nameColor)}})),this.open_color_picker(i)}},{key:"open_color_picker",value:function(t){var e=this,n=t.lineNo,i=t.ch,r=t.nameColor,o=t.color;if(this.colorpicker){var s=o,a=this.cm.charCoords({line:n,ch:i});this.colorpicker.show({left:a.left,top:a.bottom,isShortCut:t.isShortCut||!1,hideDelay:this.opt.hideDelay||2e3},r||o,(function(t){e.cm.replaceRange(t,{line:n,ch:i},{line:n,ch:i+s.length},"*colorpicker"),e.cm.focus(),s=t}))}}},{key:"close_color_picker",value:function(){this.colorpicker&&this.colorpicker.hide()}},{key:"hide_delay_color_picker",value:function(){this.colorpicker&&this.colorpicker.runHideDelay()}},{key:"key",value:function(t,e){return[t,e].join(":")}},{key:"keyup",value:function(t){this.colorpicker&&("Escape"==t.key||0==this.colorpicker.isShortCut)&&this.colorpicker.hide()}},{key:"init_color_update",value:function(){this.markers={}}},{key:"style_color_update",value:function(t){if(t)this.match(t);else for(var e=this.cm.lineCount(),n=0;n<e;n++)this.match(n)}},{key:"empty_marker",value:function(t,e){for(var n,i,r=e.markedSpans||[],o=0,s=r.length;o<s;o++){var a=this.key(t,r[o].from);a&&(n=r[o].marker.replacedWith,i=ri,n&&n.className&&(" "+n.className+" ").indexOf(" "+i+" ")>-1)&&(delete this.markers[a],r[o].marker.clear())}}},{key:"match_result",value:function(t){return sn.matches(t.text)}},{key:"submatch",value:function(t,e){var n=this;this.empty_marker(t,e);var i=this.match_result(e),r={next:0};i.forEach((function(i){n.render(r,t,e,i.color,i.nameColor)}))}},{key:"match",value:function(t){var e=this.cm.getLineHandle(t),n=this;this.cm.operation((function(){n.submatch(t,e)}))}},{key:"make_element",value:function(){var t=document.createElement("div");return t.className=ri,this.is_edit_mode()?t.title="open color picker":t.title="",t.back_element=this.make_background_element(),t.appendChild(t.back_element),t}},{key:"make_background_element",value:function(){var t=document.createElement("div");return t.className=oi,t}},{key:"set_state",value:function(t,e,n,i){var r=this.create_marker(t,e);return r.lineNo=t,r.ch=e,r.color=n,r.nameColor=i,r}},{key:"create_marker",value:function(t,e){return this.has_marker(t,e)||this.init_marker(t,e),this.get_marker(t,e)}},{key:"init_marker",value:function(t,e){this.markers[this.key(t,e)]=this.make_element()}},{key:"has_marker",value:function(t,e){return!!this.get_marker(t,e)}},{key:"get_marker",value:function(t,e){var n=this.key(t,e);return this.markers[n]}},{key:"update_element",value:function(t,e){t.back_element.style.backgroundColor=e}},{key:"set_mark",value:function(t,e,n){this.cm.setBookmark({line:t,ch:e},{widget:n,handleMouseEvents:!0})}},{key:"is_excluded_token",value:function(t,e){var n=this.cm.getTokenAt({line:t,ch:e},!0),i=n.type,r=n.state.state;if(null==i&&"block"==r)return!0;if(null==i&&"top"==r)return!0;for(var o=0,s=0,a=this.excluded_token.length;s<a;s++)if(i===this.excluded_token[s]){o++;break}return o>0}},{key:"render",value:function(t,e,n,i,r){var o=n.text.indexOf(i,t.next);if(!0!==this.is_excluded_token(e,o)){if(t.next=o+i.length,this.has_marker(e,o))return this.update_element(this.create_marker(e,o),r||i),void this.set_state(e,o,i,r);var s=this.create_marker(e,o);this.update_element(s,r||i),this.set_state(e,o,i,r||i),this.set_mark(e,o,s)}}}]),t}();try{var mi=t("codemirror")}catch(t){}function vi(){var t=mi||window.CodeMirror;t&&t.defineOption("colorpicker",!1,(function(e,n,i){i&&i!=t.Init&&e.state.colorpicker&&(e.state.colorpicker.destroy(),e.state.colorpicker=null),n&&(e.state.colorpicker=new gi(e,n))}))}return vi(),k({},hn,ii,{load:vi})},"object"==typeof n&&void 0!==e?e.exports=r():"function"==typeof define&&define.amd?define(r):i["codemirror-colorpicker"]=r()},{codemirror:13}],4:[function(t,e,n){var i;i=function(t){function e(e,n,i){var r,o=e.getWrapperElement();return(r=o.appendChild(document.createElement("div"))).className=i?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof n?r.innerHTML=n:r.appendChild(n),t.addClass(o,"dialog-opened"),r}function n(t,e){t.state.currentNotificationClose&&t.state.currentNotificationClose(),t.state.currentNotificationClose=e}t.defineExtension("openDialog",(function(i,r,o){o||(o={}),n(this,null);var s=e(this,i,o.bottom),a=!1,l=this;function c(e){if("string"==typeof e)u.value=e;else{if(a)return;a=!0,t.rmClass(s.parentNode,"dialog-opened"),s.parentNode.removeChild(s),l.focus(),o.onClose&&o.onClose(s)}}var h,u=s.getElementsByTagName("input")[0];return u?(u.focus(),o.value&&(u.value=o.value,!1!==o.selectValueOnOpen&&u.select()),o.onInput&&t.on(u,"input",(function(t){o.onInput(t,u.value,c)})),o.onKeyUp&&t.on(u,"keyup",(function(t){o.onKeyUp(t,u.value,c)})),t.on(u,"keydown",(function(e){o&&o.onKeyDown&&o.onKeyDown(e,u.value,c)||((27==e.keyCode||!1!==o.closeOnEnter&&13==e.keyCode)&&(u.blur(),t.e_stop(e),c()),13==e.keyCode&&r(u.value,e))})),!1!==o.closeOnBlur&&t.on(s,"focusout",(function(t){null!==t.relatedTarget&&c()}))):(h=s.getElementsByTagName("button")[0])&&(t.on(h,"click",(function(){c(),l.focus()})),!1!==o.closeOnBlur&&t.on(h,"blur",c),h.focus()),c})),t.defineExtension("openConfirm",(function(i,r,o){n(this,null);var s=e(this,i,o&&o.bottom),a=s.getElementsByTagName("button"),l=!1,c=this,h=1;function u(){l||(l=!0,t.rmClass(s.parentNode,"dialog-opened"),s.parentNode.removeChild(s),c.focus())}a[0].focus();for(var f=0;f<a.length;++f){var d=a[f];!function(e){t.on(d,"click",(function(n){t.e_preventDefault(n),u(),e&&e(c)}))}(r[f]),t.on(d,"blur",(function(){--h,setTimeout((function(){h<=0&&u()}),200)})),t.on(d,"focus",(function(){++h}))}})),t.defineExtension("openNotification",(function(i,r){n(this,c);var o,s=e(this,i,r&&r.bottom),a=!1,l=r&&void 0!==r.duration?r.duration:5e3;function c(){a||(a=!0,clearTimeout(o),t.rmClass(s.parentNode,"dialog-opened"),s.parentNode.removeChild(s))}return t.on(s,"click",(function(e){t.e_preventDefault(e),c()})),l&&(o=setTimeout(c,l)),c}))},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],5:[function(t,e,n){var i;i=function(t){var e={pairs:"()[]{}''\"\"",closeBefore:")]}'\":;>",triples:"",explode:"[]{}"},n=t.Pos;function i(t,n){return"pairs"==n&&"string"==typeof t?t:"object"==typeof t&&null!=t[n]?t[n]:e[n]}t.defineOption("autoCloseBrackets",!1,(function(e,n,s){s&&s!=t.Init&&(e.removeKeyMap(r),e.state.closeBrackets=null),n&&(o(i(n,"pairs")),e.state.closeBrackets=n,e.addKeyMap(r))}));var r={Backspace:function(e){var r=a(e);if(!r||e.getOption("disableInput"))return t.Pass;for(var o=i(r,"pairs"),s=e.listSelections(),l=0;l<s.length;l++){if(!s[l].empty())return t.Pass;var c=h(e,s[l].head);if(!c||o.indexOf(c)%2!=0)return t.Pass}for(l=s.length-1;l>=0;l--){var u=s[l].head;e.replaceRange("",n(u.line,u.ch-1),n(u.line,u.ch+1),"+delete")}},Enter:function(e){var n=a(e),r=n&&i(n,"explode");if(!r||e.getOption("disableInput"))return t.Pass;for(var o=e.listSelections(),s=0;s<o.length;s++){if(!o[s].empty())return t.Pass;var c=h(e,o[s].head);if(!c||r.indexOf(c)%2!=0)return t.Pass}e.operation((function(){var t=e.lineSeparator()||"\n";e.replaceSelection(t+t,null),l(e,-1),o=e.listSelections();for(var n=0;n<o.length;n++){var i=o[n].head.line;e.indentLine(i,null,!0),e.indentLine(i+1,null,!0)}}))}};function o(t){for(var e=0;e<t.length;e++){var n=t.charAt(e),i="'"+n+"'";r[i]||(r[i]=s(n))}}function s(e){return function(r){return function(e,r){var o=a(e);if(!o||e.getOption("disableInput"))return t.Pass;var s=i(o,"pairs"),h=s.indexOf(r);if(-1==h)return t.Pass;for(var f,d=i(o,"closeBefore"),p=i(o,"triples"),g=s.charAt(h+1)==r,m=e.listSelections(),v=h%2==0,_=0;_<m.length;_++){var y,x=m[_],k=x.head,b=e.getRange(k,n(k.line,k.ch+1));if(v&&!x.empty())y="surround";else if(!g&&v||b!=r)if(g&&k.ch>1&&p.indexOf(r)>=0&&e.getRange(n(k.line,k.ch-2),k)==r+r){if(k.ch>2&&/\bstring/.test(e.getTokenTypeAt(n(k.line,k.ch-2))))return t.Pass;y="addFour"}else if(g){var T=0==k.ch?" ":e.getRange(n(k.line,k.ch-1),k);if(t.isWordChar(b)||T==r||t.isWordChar(T))return t.Pass;y="both"}else{if(!v||!(0===b.length||/\s/.test(b)||d.indexOf(b)>-1))return t.Pass;y="both"}else y=g&&u(e,k)?"both":p.indexOf(r)>=0&&e.getRange(k,n(k.line,k.ch+3))==r+r+r?"skipThree":"skip";if(f){if(f!=y)return t.Pass}else f=y}var C=h%2?s.charAt(h-1):r,w=h%2?r:s.charAt(h+1);e.operation((function(){if("skip"==f)l(e,1);else if("skipThree"==f)l(e,3);else if("surround"==f){for(var t=e.getSelections(),n=0;n<t.length;n++)t[n]=C+t[n]+w;for(e.replaceSelections(t,"around"),t=e.listSelections().slice(),n=0;n<t.length;n++)t[n]=c(t[n]);e.setSelections(t)}else"both"==f?(e.replaceSelection(C+w,null),e.triggerElectric(C+w),l(e,-1)):"addFour"==f&&(e.replaceSelection(C+C+C+C,"before"),l(e,1))}))}(r,e)}}function a(t){var e=t.state.closeBrackets;return!e||e.override?e:t.getModeAt(t.getCursor()).closeBrackets||e}function l(t,e){for(var n=[],i=t.listSelections(),r=0,o=0;o<i.length;o++){var s=i[o];s.head==t.getCursor()&&(r=o);var a=s.head.ch||e>0?{line:s.head.line,ch:s.head.ch+e}:{line:s.head.line-1};n.push({anchor:a,head:a})}t.setSelections(n,r)}function c(e){var i=t.cmpPos(e.anchor,e.head)>0;return{anchor:new n(e.anchor.line,e.anchor.ch+(i?-1:1)),head:new n(e.head.line,e.head.ch+(i?1:-1))}}function h(t,e){var i=t.getRange(n(e.line,e.ch-1),n(e.line,e.ch+1));return 2==i.length?i:null}function u(t,e){var i=t.getTokenAt(n(e.line,e.ch+1));return/\bstring/.test(i.type)&&i.start==e.ch&&(0==e.ch||!/\bstring/.test(t.getTokenTypeAt(e)))}o(e.pairs+"`")},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],6:[function(t,e,n){var i;i=function(t){var e=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=t.Pos,i={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function r(t){return t&&t.bracketRegex||/[(){}[\]]/}function o(t,e,o){var a=t.getLineHandle(e.line),l=e.ch-1,c=o&&o.afterCursor;null==c&&(c=/(^| )cm-fat-cursor($| )/.test(t.getWrapperElement().className));var h=r(o),u=!c&&l>=0&&h.test(a.text.charAt(l))&&i[a.text.charAt(l)]||h.test(a.text.charAt(l+1))&&i[a.text.charAt(++l)];if(!u)return null;var f=">"==u.charAt(1)?1:-1;if(o&&o.strict&&f>0!=(l==e.ch))return null;var d=t.getTokenTypeAt(n(e.line,l+1)),p=s(t,n(e.line,l+(f>0?1:0)),f,d,o);return null==p?null:{from:n(e.line,l),to:p&&p.pos,match:p&&p.ch==u.charAt(0),forward:f>0}}function s(t,e,o,s,a){for(var l=a&&a.maxScanLineLength||1e4,c=a&&a.maxScanLines||1e3,h=[],u=r(a),f=o>0?Math.min(e.line+c,t.lastLine()+1):Math.max(t.firstLine()-1,e.line-c),d=e.line;d!=f;d+=o){var p=t.getLine(d);if(p){var g=o>0?0:p.length-1,m=o>0?p.length:-1;if(!(p.length>l))for(d==e.line&&(g=e.ch-(o<0?1:0));g!=m;g+=o){var v=p.charAt(g);if(u.test(v)&&(void 0===s||(t.getTokenTypeAt(n(d,g+1))||"")==(s||""))){var _=i[v];if(_&&">"==_.charAt(1)==o>0)h.push(v);else{if(!h.length)return{pos:n(d,g),ch:v};h.pop()}}}}}return d-o!=(o>0?t.lastLine():t.firstLine())&&null}function a(t,i,r){for(var s=t.state.matchBrackets.maxHighlightLineLength||1e3,a=r&&r.highlightNonMatching,l=[],c=t.listSelections(),h=0;h<c.length;h++){var u=c[h].empty()&&o(t,c[h].head,r);if(u&&(u.match||!1!==a)&&t.getLine(u.from.line).length<=s){var f=u.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";l.push(t.markText(u.from,n(u.from.line,u.from.ch+1),{className:f})),u.to&&t.getLine(u.to.line).length<=s&&l.push(t.markText(u.to,n(u.to.line,u.to.ch+1),{className:f}))}}if(l.length){e&&t.state.focused&&t.focus();var d=function(){t.operation((function(){for(var t=0;t<l.length;t++)l[t].clear()}))};if(!i)return d;setTimeout(d,800)}}function l(t){t.operation((function(){t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null),t.state.matchBrackets.currentlyHighlighted=a(t,!1,t.state.matchBrackets)}))}function c(t){t.state.matchBrackets&&t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null)}t.defineOption("matchBrackets",!1,(function(e,n,i){i&&i!=t.Init&&(e.off("cursorActivity",l),e.off("focus",l),e.off("blur",c),c(e)),n&&(e.state.matchBrackets="object"==typeof n?n:{},e.on("cursorActivity",l),e.on("focus",l),e.on("blur",c))})),t.defineExtension("matchBrackets",(function(){a(this,!0)})),t.defineExtension("findMatchingBracket",(function(t,e,n){return(n||"boolean"==typeof e)&&(n?(n.strict=e,e=n):e=e?{strict:!0}:null),o(this,t,e)})),t.defineExtension("scanForBracket",(function(t,e,n,i){return s(this,t,e,n,i)}))},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],7:[function(t,e,n){var i;i=function(t){"use strict";var e="CodeMirror-lint-markers";function n(t){t.parentNode&&t.parentNode.removeChild(t)}function i(e,i,r,o){var s=function(e,n,i){var r=document.createElement("div");function o(e){if(!r.parentNode)return t.off(document,"mousemove",o);r.style.top=Math.max(0,e.clientY-r.offsetHeight-5)+"px",r.style.left=e.clientX+5+"px"}return r.className="CodeMirror-lint-tooltip cm-s-"+e.options.theme,r.appendChild(i.cloneNode(!0)),e.state.lint.options.selfContain?e.getWrapperElement().appendChild(r):document.body.appendChild(r),t.on(document,"mousemove",o),o(n),null!=r.style.opacity&&(r.style.opacity=1),r}(e,i,r);function a(){var e;t.off(o,"mouseout",a),s&&((e=s).parentNode&&(null==e.style.opacity&&n(e),e.style.opacity=0,setTimeout((function(){n(e)}),600)),s=null)}var l=setInterval((function(){if(s)for(var t=o;;t=t.parentNode){if(t&&11==t.nodeType&&(t=t.host),t==document.body)return;if(!t){a();break}}if(!s)return clearInterval(l)}),400);t.on(o,"mouseout",a)}function r(t,e,n){for(var r in this.marked=[],e instanceof Function&&(e={getAnnotations:e}),e&&!0!==e||(e={}),this.options={},this.linterOptions=e.options||{},o)this.options[r]=o[r];for(var r in e)o.hasOwnProperty(r)?null!=e[r]&&(this.options[r]=e[r]):e.options||(this.linterOptions[r]=e[r]);this.timeout=null,this.hasGutter=n,this.onMouseOver=function(e){!function(t,e){var n=e.target||e.srcElement;if(/\bCodeMirror-lint-mark-/.test(n.className)){for(var r=n.getBoundingClientRect(),o=(r.left+r.right)/2,s=(r.top+r.bottom)/2,a=t.findMarksAt(t.coordsChar({left:o,top:s},"client")),c=[],h=0;h<a.length;++h){var u=a[h].__annotation;u&&c.push(u)}c.length&&function(t,e,n){for(var r=n.target||n.srcElement,o=document.createDocumentFragment(),s=0;s<e.length;s++){var a=e[s];o.appendChild(l(a))}i(t,n,o,r)}(t,c,e)}}(t,e)},this.waitingFor=0}var o={highlightLines:!1,tooltips:!0,delay:500,lintOnChange:!0,getAnnotations:null,async:!1,selfContain:null,formatAnnotation:null,onUpdateLinting:null};function s(t){var n=t.state.lint;n.hasGutter&&t.clearGutter(e),n.options.highlightLines&&function(t){t.eachLine((function(e){var n=e.wrapClass&&/\bCodeMirror-lint-line-\w+\b/.exec(e.wrapClass);n&&t.removeLineClass(e,"wrap",n[0])}))}(t);for(var i=0;i<n.marked.length;++i)n.marked[i].clear();n.marked.length=0}function a(e,n,r,o,s){var a=document.createElement("div"),l=a;return a.className="CodeMirror-lint-marker CodeMirror-lint-marker-"+r,o&&((l=a.appendChild(document.createElement("div"))).className="CodeMirror-lint-marker CodeMirror-lint-marker-multiple"),0!=s&&t.on(l,"mouseover",(function(t){i(e,t,n,l)})),a}function l(t){var e=t.severity;e||(e="error");var n=document.createElement("div");return n.className="CodeMirror-lint-message CodeMirror-lint-message-"+e,void 0!==t.messageHTML?n.innerHTML=t.messageHTML:n.appendChild(document.createTextNode(t.message)),n}function c(e){var n=e.state.lint;if(n){var i=n.options,r=i.getAnnotations||e.getHelper(t.Pos(0,0),"lint");if(r)if(i.async||r.async)!function(e,n){var i=e.state.lint,r=++i.waitingFor;function o(){r=-1,e.off("change",o)}e.on("change",o),n(e.getValue(),(function(n,s){e.off("change",o),i.waitingFor==r&&(s&&n instanceof t&&(n=s),e.operation((function(){h(e,n)})))}),i.linterOptions,e)}(e,r);else{var o=r(e.getValue(),n.linterOptions,e);if(!o)return;o.then?o.then((function(t){e.operation((function(){h(e,t)}))})):e.operation((function(){h(e,o)}))}}}function h(t,n){var i=t.state.lint;if(i){var r=i.options;s(t);for(var o,c,h=function(t){for(var e=[],n=0;n<t.length;++n){var i=t[n],r=i.from.line;(e[r]||(e[r]=[])).push(i)}return e}(n),u=0;u<h.length;++u){var f=h[u];if(f){var d=[];f=f.filter((function(t){return!(d.indexOf(t.message)>-1)&&d.push(t.message)}));for(var p=null,g=i.hasGutter&&document.createDocumentFragment(),m=0;m<f.length;++m){var v=f[m],_=v.severity;_||(_="error"),c=_,p="error"==(o=p)?o:c,r.formatAnnotation&&(v=r.formatAnnotation(v)),i.hasGutter&&g.appendChild(l(v)),v.to&&i.marked.push(t.markText(v.from,v.to,{className:"CodeMirror-lint-mark CodeMirror-lint-mark-"+_,__annotation:v}))}i.hasGutter&&t.setGutterMarker(u,e,a(t,g,p,h[u].length>1,r.tooltips)),r.highlightLines&&t.addLineClass(u,"wrap","CodeMirror-lint-line-"+p)}}r.onUpdateLinting&&r.onUpdateLinting(n,h,t)}}function u(t){var e=t.state.lint;e&&(clearTimeout(e.timeout),e.timeout=setTimeout((function(){c(t)}),e.options.delay))}t.defineOption("lint",!1,(function(n,i,o){if(o&&o!=t.Init&&(s(n),!1!==n.state.lint.options.lintOnChange&&n.off("change",u),t.off(n.getWrapperElement(),"mouseover",n.state.lint.onMouseOver),clearTimeout(n.state.lint.timeout),delete n.state.lint),i){for(var a=n.getOption("gutters"),l=!1,h=0;h<a.length;++h)a[h]==e&&(l=!0);var f=n.state.lint=new r(n,i,l);f.options.lintOnChange&&n.on("change",u),0!=f.options.tooltips&&"gutter"!=f.options.tooltips&&t.on(n.getWrapperElement(),"mouseover",f.onMouseOver),c(n)}})),t.defineExtension("performLint",(function(){c(this)}))},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],8:[function(t,e,n){var i;i=function(t){"use strict";function e(t,e){function n(t){clearTimeout(i.doRedraw),i.doRedraw=setTimeout((function(){i.redraw()}),t)}this.cm=t,this.options=e,this.buttonHeight=e.scrollButtonHeight||t.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=t.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var i=this;t.on("refresh",this.resizeHandler=function(){clearTimeout(i.doUpdate),i.doUpdate=setTimeout((function(){i.computeScale()&&n(20)}),100)}),t.on("markerAdded",this.resizeHandler),t.on("markerCleared",this.resizeHandler),!1!==e.listenForChanges&&t.on("changes",this.changeHandler=function(){n(250)})}t.defineExtension("annotateScrollbar",(function(t){return"string"==typeof t&&(t={className:t}),new e(this,t)})),t.defineOption("scrollButtonHeight",0),e.prototype.computeScale=function(){var t=this.cm,e=(t.getWrapperElement().clientHeight-t.display.barHeight-2*this.buttonHeight)/t.getScrollerElement().scrollHeight;if(e!=this.hScale)return this.hScale=e,!0},e.prototype.update=function(t){this.annotations=t,this.redraw()},e.prototype.redraw=function(t){!1!==t&&this.computeScale();var e=this.cm,n=this.hScale,i=document.createDocumentFragment(),r=this.annotations,o=e.getOption("lineWrapping"),s=o&&1.5*e.defaultTextHeight(),a=null,l=null;function c(t,n){if(a!=t.line){a=t.line,l=e.getLineHandle(t.line);var i=e.getLineHandleVisualStart(l);i!=l&&(a=e.getLineNumber(i),l=i)}return l.widgets&&l.widgets.length||o&&l.height>s?e.charCoords(t,"local")[n?"top":"bottom"]:e.heightAtLine(l,"local")+(n?0:l.height)}var h=e.lastLine();if(e.display.barWidth)for(var u,f=0;f<r.length;f++){var d=r[f];if(!(d.to.line>h)){for(var p=u||c(d.from,!0)*n,g=c(d.to,!1)*n;f<r.length-1&&!(r[f+1].to.line>h)&&!((u=c(r[f+1].from,!0)*n)>g+.9);)g=c((d=r[++f]).to,!1)*n;if(g!=p){var m=Math.max(g-p,3),v=i.appendChild(document.createElement("div"));v.style.cssText="position: absolute; right: 0px; width: "+Math.max(e.display.barWidth-1,2)+"px; top: "+(p+this.buttonHeight)+"px; height: "+m+"px",v.className=this.options.className,d.id&&v.setAttribute("annotation-id",d.id)}}}this.div.textContent="",this.div.appendChild(i)},e.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("changes",this.changeHandler),this.div.parentNode.removeChild(this.div)}},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],9:[function(t,e,n){var i;i=function(t){"use strict";var e={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};function n(t){for(var n in this.options={},e)this.options[n]=(t&&t.hasOwnProperty(n)?t:e)[n];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function i(t){var e=t.state.matchHighlighter;(e.active||t.hasFocus())&&o(t,e)}function r(t){var e=t.state.matchHighlighter;e.active||(e.active=!0,o(t,e))}function o(t,e){clearTimeout(e.timeout),e.timeout=setTimeout((function(){l(t)}),e.options.delay)}function s(t,e,n,i){var r=t.state.matchHighlighter;if(t.addOverlay(r.overlay=function(t,e,n){return{token:function(i){if(i.match(t)&&(!e||function(t,e){return!(t.start&&e.test(t.string.charAt(t.start-1))||t.pos!=t.string.length&&e.test(t.string.charAt(t.pos)))}(i,e)))return n;i.next(),i.skipTo(t.charAt(0))||i.skipToEnd()}}}(e,n,i)),r.options.annotateScrollbar&&t.showMatchesOnScrollbar){var o=n?new RegExp((/\w/.test(e.charAt(0))?"\\b":"")+e.replace(/[\\\[.+*?(){|^$]/g,"\\$&")+(/\w/.test(e.charAt(e.length-1))?"\\b":"")):e;r.matchesonscroll=t.showMatchesOnScrollbar(o,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function a(t){var e=t.state.matchHighlighter;e.overlay&&(t.removeOverlay(e.overlay),e.overlay=null,e.matchesonscroll&&(e.matchesonscroll.clear(),e.matchesonscroll=null))}function l(t){t.operation((function(){var e=t.state.matchHighlighter;if(a(t),t.somethingSelected()||!e.options.showToken){var n=t.getCursor("from"),i=t.getCursor("to");if(n.line==i.line&&(!e.options.wordsOnly||function(t,e,n){if(null!==t.getRange(e,n).match(/^\w+$/)){if(e.ch>0){var i={line:e.line,ch:e.ch-1};if(null===t.getRange(i,e).match(/\W/))return!1}return!(n.ch<t.getLine(e.line).length&&(i={line:n.line,ch:n.ch+1},null===t.getRange(n,i).match(/\W/)))}return!1}(t,n,i))){var r=t.getRange(n,i);e.options.trim&&(r=r.replace(/^\s+|\s+$/g,"")),r.length>=e.options.minChars&&s(t,r,!1,e.options.style)}}else{for(var o=!0===e.options.showToken?/[\w$]/:e.options.showToken,l=t.getCursor(),c=t.getLine(l.line),h=l.ch,u=h;h&&o.test(c.charAt(h-1));)--h;for(;u<c.length&&o.test(c.charAt(u));)++u;h<u&&s(t,c.slice(h,u),o,e.options.style)}}))}t.defineOption("highlightSelectionMatches",!1,(function(e,o,s){if(s&&s!=t.Init&&(a(e),clearTimeout(e.state.matchHighlighter.timeout),e.state.matchHighlighter=null,e.off("cursorActivity",i),e.off("focus",r)),o){var c=e.state.matchHighlighter=new n(o);e.hasFocus()?(c.active=!0,l(e)):e.on("focus",r),e.on("cursorActivity",i)}}))},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror"),t("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],i):i(CodeMirror)},{"../../lib/codemirror":13,"./matchesonscrollbar":10}],10:[function(t,e,n){var i;i=function(t){"use strict";function e(t,e,n,i){this.cm=t,this.options=i;var r={listenForChanges:!1};for(var o in i)r[o]=i[o];r.className||(r.className="CodeMirror-search-match"),this.annotation=t.annotateScrollbar(r),this.query=e,this.caseFold=n,this.gap={from:t.firstLine(),to:t.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var s=this;t.on("change",this.changeHandler=function(t,e){s.onChange(e)})}function n(t,e,n){return t<=e?t:Math.max(e,t+n)}t.defineExtension("showMatchesOnScrollbar",(function(t,n,i){return"string"==typeof i&&(i={className:i}),i||(i={}),new e(this,t,n,i)})),e.prototype.findMatches=function(){if(this.gap){for(var e=0;e<this.matches.length&&!((r=this.matches[e]).from.line>=this.gap.to);e++)r.to.line>=this.gap.from&&this.matches.splice(e--,1);for(var n=this.cm.getSearchCursor(this.query,t.Pos(this.gap.from,0),{caseFold:this.caseFold,multiline:this.options.multiline}),i=this.options&&this.options.maxMatches||1e3;n.findNext();){var r;if((r={from:n.from(),to:n.to()}).from.line>=this.gap.to)break;if(this.matches.splice(e++,0,r),this.matches.length>i)break}this.gap=null}},e.prototype.onChange=function(e){var i=e.from.line,r=t.changeEnd(e).line,o=r-e.to.line;if(this.gap?(this.gap.from=Math.min(n(this.gap.from,i,o),e.from.line),this.gap.to=Math.max(n(this.gap.to,i,o),e.from.line)):this.gap={from:e.from.line,to:r+1},o)for(var s=0;s<this.matches.length;s++){var a=this.matches[s],l=n(a.from.line,i,o);l!=a.from.line&&(a.from=t.Pos(l,a.from.ch));var c=n(a.to.line,i,o);c!=a.to.line&&(a.to=t.Pos(c,a.to.ch))}clearTimeout(this.update);var h=this;this.update=setTimeout((function(){h.updateAfterChange()}),250)},e.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},e.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror"),t("./searchcursor"),t("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],i):i(CodeMirror)},{"../../lib/codemirror":13,"../scroll/annotatescrollbar":8,"./searchcursor":12}],11:[function(t,e,n){var i;i=function(t){"use strict";function e(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function n(t){return t.state.search||(t.state.search=new e)}function i(t){return"string"==typeof t&&t==t.toLowerCase()}function r(t,e,n){return t.getSearchCursor(e,n,{caseFold:i(e),multiline:!0})}function o(t,e,n,i,r){t.openDialog?t.openDialog(e,r,{value:i,selectValueOnOpen:!0,bottom:t.options.search.bottom}):r(prompt(n,i))}function s(t){return t.replace(/\\([nrt\\])/g,(function(t,e){return"n"==e?"\n":"r"==e?"\r":"t"==e?"\t":"\\"==e?"\\":t}))}function a(t){var e=t.match(/^\/(.*)\/([a-z]*)$/);if(e)try{t=new RegExp(e[1],-1==e[2].indexOf("i")?"":"i")}catch(t){}else t=s(t);return("string"==typeof t?""==t:t.test(""))&&(t=/x^/),t}function l(t,e,n){e.queryText=n,e.query=a(n),t.removeOverlay(e.overlay,i(e.query)),e.overlay=function(t,e){return"string"==typeof t?t=new RegExp(t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),e?"gi":"g"):t.global||(t=new RegExp(t.source,t.ignoreCase?"gi":"g")),{token:function(e){t.lastIndex=e.pos;var n=t.exec(e.string);if(n&&n.index==e.pos)return e.pos+=n[0].length||1,"searching";n?e.pos=n.index:e.skipToEnd()}}}(e.query,i(e.query)),t.addOverlay(e.overlay),t.showMatchesOnScrollbar&&(e.annotate&&(e.annotate.clear(),e.annotate=null),e.annotate=t.showMatchesOnScrollbar(e.query,i(e.query)))}function c(e,i,r,s){var a=n(e);if(a.query)return h(e,i);var c=e.getSelection()||a.lastQuery;if(c instanceof RegExp&&"x^"==c.source&&(c=null),r&&e.openDialog){var f=null,p=function(n,i){t.e_stop(i),n&&(n!=a.queryText&&(l(e,a,n),a.posFrom=a.posTo=e.getCursor()),f&&(f.style.opacity=1),h(e,i.shiftKey,(function(t,n){var i;n.line<3&&document.querySelector&&(i=e.display.wrapper.querySelector(".CodeMirror-dialog"))&&i.getBoundingClientRect().bottom-4>e.cursorCoords(n,"window").top&&((f=i).style.opacity=.4)})))};!function(t,e,n,i,r){t.openDialog(e,i,{value:n,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){u(t)},onKeyDown:r,bottom:t.options.search.bottom})}(e,d(e),c,p,(function(i,r){var o=t.keyName(i),s=e.getOption("extraKeys"),a=s&&s[o]||t.keyMap[e.getOption("keyMap")][o];"findNext"==a||"findPrev"==a||"findPersistentNext"==a||"findPersistentPrev"==a?(t.e_stop(i),l(e,n(e),r),e.execCommand(a)):"find"!=a&&"findPersistent"!=a||(t.e_stop(i),p(r,i))})),s&&c&&(l(e,a,c),h(e,i))}else o(e,d(e),"Search for:",c,(function(t){t&&!a.query&&e.operation((function(){l(e,a,t),a.posFrom=a.posTo=e.getCursor(),h(e,i)}))}))}function h(e,i,o){e.operation((function(){var s=n(e),a=r(e,s.query,i?s.posFrom:s.posTo);(a.find(i)||(a=r(e,s.query,i?t.Pos(e.lastLine()):t.Pos(e.firstLine(),0))).find(i))&&(e.setSelection(a.from(),a.to()),e.scrollIntoView({from:a.from(),to:a.to()},20),s.posFrom=a.from(),s.posTo=a.to(),o&&o(a.from(),a.to()))}))}function u(t){t.operation((function(){var e=n(t);e.lastQuery=e.query,e.query&&(e.query=e.queryText=null,t.removeOverlay(e.overlay),e.annotate&&(e.annotate.clear(),e.annotate=null))}))}function f(t,e){var n=t?document.createElement(t):document.createDocumentFragment();for(var i in e)n[i]=e[i];for(var r=2;r<arguments.length;r++){var o=arguments[r];n.appendChild("string"==typeof o?document.createTextNode(o):o)}return n}function d(t){return f("",null,f("span",{className:"CodeMirror-search-label"},t.phrase("Search:"))," ",f("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field"})," ",f("span",{style:"color: #888",className:"CodeMirror-search-hint"},t.phrase("(Use /re/ syntax for regexp search)")))}function p(t,e,n){t.operation((function(){for(var i=r(t,e);i.findNext();)if("string"!=typeof e){var o=t.getRange(i.from(),i.to()).match(e);i.replace(n.replace(/\$(\d)/g,(function(t,e){return o[e]})))}else i.replace(n)}))}function g(t,e){if(!t.getOption("readOnly")){var i=t.getSelection()||n(t).lastQuery,l=e?t.phrase("Replace all:"):t.phrase("Replace:"),c=f("",null,f("span",{className:"CodeMirror-search-label"},l),function(t){return f("",null," ",f("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field"})," ",f("span",{style:"color: #888",className:"CodeMirror-search-hint"},t.phrase("(Use /re/ syntax for regexp search)")))}(t));o(t,c,l,i,(function(n){n&&(n=a(n),o(t,function(t){return f("",null,f("span",{className:"CodeMirror-search-label"},t.phrase("With:"))," ",f("input",{type:"text",style:"width: 10em",className:"CodeMirror-search-field"}))}(t),t.phrase("Replace with:"),"",(function(i){if(i=s(i),e)p(t,n,i);else{u(t);var o=r(t,n,t.getCursor("from")),a=function(){var e,s=o.from();!(e=o.findNext())&&(o=r(t,n),!(e=o.findNext())||s&&o.from().line==s.line&&o.from().ch==s.ch)||(t.setSelection(o.from(),o.to()),t.scrollIntoView({from:o.from(),to:o.to()}),function(t,e,n,i){t.openConfirm?t.openConfirm(e,i):confirm(n)&&i[0]()}(t,function(t){return f("",null,f("span",{className:"CodeMirror-search-label"},t.phrase("Replace?"))," ",f("button",{},t.phrase("Yes"))," ",f("button",{},t.phrase("No"))," ",f("button",{},t.phrase("All"))," ",f("button",{},t.phrase("Stop")))}(t),t.phrase("Replace?"),[function(){l(e)},a,function(){p(t,n,i)}]))},l=function(t){o.replace("string"==typeof n?i:i.replace(/\$(\d)/g,(function(e,n){return t[n]}))),a()};a()}})))}))}}t.defineOption("search",{bottom:!1}),t.commands.find=function(t){u(t),c(t)},t.commands.findPersistent=function(t){u(t),c(t,!1,!0)},t.commands.findPersistentNext=function(t){c(t,!1,!0,!0)},t.commands.findPersistentPrev=function(t){c(t,!0,!0,!0)},t.commands.findNext=c,t.commands.findPrev=function(t){c(t,!0)},t.commands.clearSearch=u,t.commands.replace=g,t.commands.replaceAll=function(t){g(t,!0)}},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror"),t("./searchcursor"),t("../dialog/dialog")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../dialog/dialog"],i):i(CodeMirror)},{"../../lib/codemirror":13,"../dialog/dialog":4,"./searchcursor":12}],12:[function(t,e,n){var i;i=function(t){"use strict";var e,n,i=t.Pos;function r(t,e){for(var n=function(t){var e=t.flags;return null!=e?e:(t.ignoreCase?"i":"")+(t.global?"g":"")+(t.multiline?"m":"")}(t),i=n,r=0;r<e.length;r++)-1==i.indexOf(e.charAt(r))&&(i+=e.charAt(r));return n==i?t:new RegExp(t.source,i)}function o(t){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(t.source)}function s(t,e,n){e=r(e,"g");for(var o=n.line,s=n.ch,a=t.lastLine();o<=a;o++,s=0){e.lastIndex=s;var l=t.getLine(o),c=e.exec(l);if(c)return{from:i(o,c.index),to:i(o,c.index+c[0].length),match:c}}}function a(t,e,n){if(!o(e))return s(t,e,n);e=r(e,"gm");for(var a,l=1,c=n.line,h=t.lastLine();c<=h;){for(var u=0;u<l&&!(c>h);u++){var f=t.getLine(c++);a=null==a?f:a+"\n"+f}l*=2,e.lastIndex=n.ch;var d=e.exec(a);if(d){var p=a.slice(0,d.index).split("\n"),g=d[0].split("\n"),m=n.line+p.length-1,v=p[p.length-1].length;return{from:i(m,v),to:i(m+g.length-1,1==g.length?v+g[0].length:g[g.length-1].length),match:d}}}}function l(t,e,n){for(var i,r=0;r<=t.length;){e.lastIndex=r;var o=e.exec(t);if(!o)break;var s=o.index+o[0].length;if(s>t.length-n)break;(!i||s>i.index+i[0].length)&&(i=o),r=o.index+1}return i}function c(t,e,n){e=r(e,"g");for(var o=n.line,s=n.ch,a=t.firstLine();o>=a;o--,s=-1){var c=t.getLine(o),h=l(c,e,s<0?0:c.length-s);if(h)return{from:i(o,h.index),to:i(o,h.index+h[0].length),match:h}}}function h(t,e,n){if(!o(e))return c(t,e,n);e=r(e,"gm");for(var s,a=1,h=t.getLine(n.line).length-n.ch,u=n.line,f=t.firstLine();u>=f;){for(var d=0;d<a&&u>=f;d++){var p=t.getLine(u--);s=null==s?p:p+"\n"+s}a*=2;var g=l(s,e,h);if(g){var m=s.slice(0,g.index).split("\n"),v=g[0].split("\n"),_=u+m.length,y=m[m.length-1].length;return{from:i(_,y),to:i(_+v.length-1,1==v.length?y+v[0].length:v[v.length-1].length),match:g}}}}function u(t,e,n,i){if(t.length==e.length)return n;for(var r=0,o=n+Math.max(0,t.length-e.length);;){if(r==o)return r;var s=r+o>>1,a=i(t.slice(0,s)).length;if(a==n)return s;a>n?o=s:r=s+1}}function f(t,r,o,s){if(!r.length)return null;var a=s?e:n,l=a(r).split(/\r|\n\r?/);t:for(var c=o.line,h=o.ch,f=t.lastLine()+1-l.length;c<=f;c++,h=0){var d=t.getLine(c).slice(h),p=a(d);if(1==l.length){var g=p.indexOf(l[0]);if(-1==g)continue t;return o=u(d,p,g,a)+h,{from:i(c,u(d,p,g,a)+h),to:i(c,u(d,p,g+l[0].length,a)+h)}}var m=p.length-l[0].length;if(p.slice(m)==l[0]){for(var v=1;v<l.length-1;v++)if(a(t.getLine(c+v))!=l[v])continue t;var _=t.getLine(c+l.length-1),y=a(_),x=l[l.length-1];if(y.slice(0,x.length)==x)return{from:i(c,u(d,p,m,a)+h),to:i(c+l.length-1,u(_,y,x.length,a))}}}}function d(t,r,o,s){if(!r.length)return null;var a=s?e:n,l=a(r).split(/\r|\n\r?/);t:for(var c=o.line,h=o.ch,f=t.firstLine()-1+l.length;c>=f;c--,h=-1){var d=t.getLine(c);h>-1&&(d=d.slice(0,h));var p=a(d);if(1==l.length){var g=p.lastIndexOf(l[0]);if(-1==g)continue t;return{from:i(c,u(d,p,g,a)),to:i(c,u(d,p,g+l[0].length,a))}}var m=l[l.length-1];if(p.slice(0,m.length)==m){var v=1;for(o=c-l.length+1;v<l.length-1;v++)if(a(t.getLine(o+v))!=l[v])continue t;var _=t.getLine(c+1-l.length),y=a(_);if(y.slice(y.length-l[0].length)==l[0])return{from:i(c+1-l.length,u(_,y,_.length-l[0].length,a)),to:i(c,u(d,p,m.length,a))}}}}function p(t,e,n,o){var l;this.atOccurrence=!1,this.afterEmptyMatch=!1,this.doc=t,n=n?t.clipPos(n):i(0,0),this.pos={from:n,to:n},"object"==typeof o?l=o.caseFold:(l=o,o=null),"string"==typeof e?(null==l&&(l=!1),this.matches=function(n,i){return(n?d:f)(t,e,i,l)}):(e=r(e,"gm"),o&&!1===o.multiline?this.matches=function(n,i){return(n?c:s)(t,e,i)}:this.matches=function(n,i){return(n?h:a)(t,e,i)})}String.prototype.normalize?(e=function(t){return t.normalize("NFD").toLowerCase()},n=function(t){return t.normalize("NFD")}):(e=function(t){return t.toLowerCase()},n=function(t){return t}),p.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(e){var n=this.doc.clipPos(e?this.pos.from:this.pos.to);if(this.afterEmptyMatch&&this.atOccurrence&&(n=i(n.line,n.ch),e?(n.ch--,n.ch<0&&(n.line--,n.ch=(this.doc.getLine(n.line)||"").length)):(n.ch++,n.ch>(this.doc.getLine(n.line)||"").length&&(n.ch=0,n.line++)),0!=t.cmpPos(n,this.doc.clipPos(n))))return this.atOccurrence=!1;var r=this.matches(e,n);if(this.afterEmptyMatch=r&&0==t.cmpPos(r.from,r.to),r)return this.pos=r,this.atOccurrence=!0,this.pos.match||!0;var o=i(e?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:o,to:o},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(e,n){if(this.atOccurrence){var r=t.splitLines(e);this.doc.replaceRange(r,this.pos.from,this.pos.to,n),this.pos.to=i(this.pos.from.line+r.length-1,r[r.length-1].length+(1==r.length?this.pos.from.ch:0))}}},t.defineExtension("getSearchCursor",(function(t,e,n){return new p(this.doc,t,e,n)})),t.defineDocExtension("getSearchCursor",(function(t,e,n){return new p(this,t,e,n)})),t.defineExtension("selectMatches",(function(e,n){for(var i=[],r=this.getSearchCursor(e,this.getCursor("from"),n);r.findNext()&&!(t.cmpPos(r.to(),this.getCursor("to"))>0);)i.push({anchor:r.from(),head:r.to()});i.length&&this.setSelections(i,0)}))},"object"==typeof n&&"object"==typeof e?i(t("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],i):i(CodeMirror)},{"../../lib/codemirror":13}],13:[function(t,e,n){var i,r;i=this,r=function(){"use strict";var t=navigator.userAgent,e=navigator.platform,n=/gecko\/\d/i.test(t),i=/MSIE \d/.test(t),r=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(t),o=/Edge\/(\d+)/.exec(t),s=i||r||o,a=s&&(i?document.documentMode||6:+(o||r)[1]),l=!o&&/WebKit\//.test(t),c=l&&/Qt\/\d+\.\d+/.test(t),h=!o&&/Chrome\//.test(t),u=/Opera\//.test(t),f=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(t),p=/PhantomJS/.test(t),g=f&&(/Mobile\/\w+/.test(t)||navigator.maxTouchPoints>2),m=/Android/.test(t),v=g||m||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(t),_=g||/Mac/.test(e),y=/\bCrOS\b/.test(t),x=/win/i.test(e),k=u&&t.match(/Version\/(\d*\.\d*)/);k&&(k=Number(k[1])),k&&k>=15&&(u=!1,l=!0);var b=_&&(c||u&&(null==k||k<12.11)),T=n||s&&a>=9;function C(t){return new RegExp("(^|\\s)"+t+"(?:$|\\s)\\s*")}var w,E=function(t,e){var n=t.className,i=C(e).exec(n);if(i){var r=n.slice(i.index+i[0].length);t.className=n.slice(0,i.index)+(r?i[1]+r:"")}};function S(t){for(var e=t.childNodes.length;e>0;--e)t.removeChild(t.firstChild);return t}function A(t,e){return S(t).appendChild(e)}function L(t,e,n,i){var r=document.createElement(t);if(n&&(r.className=n),i&&(r.style.cssText=i),"string"==typeof e)r.appendChild(document.createTextNode(e));else if(e)for(var o=0;o<e.length;++o)r.appendChild(e[o]);return r}function O(t,e,n,i){var r=L(t,e,n,i);return r.setAttribute("role","presentation"),r}function N(t,e){if(3==e.nodeType&&(e=e.parentNode),t.contains)return t.contains(e);do{if(11==e.nodeType&&(e=e.host),e==t)return!0}while(e=e.parentNode)}function I(){var t;try{t=document.activeElement}catch(e){t=document.body||null}for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function M(t,e){var n=t.className;C(e).test(n)||(t.className+=(n?" ":"")+e)}function $(t,e){for(var n=t.split(" "),i=0;i<n.length;i++)n[i]&&!C(n[i]).test(e)&&(e+=" "+n[i]);return e}w=document.createRange?function(t,e,n,i){var r=document.createRange();return r.setEnd(i||t,n),r.setStart(t,e),r}:function(t,e,n){var i=document.body.createTextRange();try{i.moveToElementText(t.parentNode)}catch(t){return i}return i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",e),i};var R=function(t){t.select()};function D(t){var e=Array.prototype.slice.call(arguments,1);return function(){return t.apply(null,e)}}function P(t,e,n){for(var i in e||(e={}),t)!t.hasOwnProperty(i)||!1===n&&e.hasOwnProperty(i)||(e[i]=t[i]);return e}function F(t,e,n,i,r){null==e&&-1==(e=t.search(/[^\s\u00a0]/))&&(e=t.length);for(var o=i||0,s=r||0;;){var a=t.indexOf("\t",o);if(a<0||a>=e)return s+(e-o);s+=a-o,s+=n-s%n,o=a+1}}g?R=function(t){t.selectionStart=0,t.selectionEnd=t.value.length}:s&&(R=function(t){try{t.select()}catch(t){}});var B=function(){this.id=null,this.f=null,this.time=0,this.handler=D(this.onTimeout,this)};function U(t,e){for(var n=0;n<t.length;++n)if(t[n]==e)return n;return-1}B.prototype.onTimeout=function(t){t.id=0,t.time<=+new Date?t.f():setTimeout(t.handler,t.time-+new Date)},B.prototype.set=function(t,e){this.f=e;var n=+new Date+t;(!this.id||n<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,t),this.time=n)};var H={toString:function(){return"CodeMirror.Pass"}},z={scroll:!1},W={origin:"*mouse"},j={origin:"+move"};function G(t,e,n){for(var i=0,r=0;;){var o=t.indexOf("\t",i);-1==o&&(o=t.length);var s=o-i;if(o==t.length||r+s>=e)return i+Math.min(s,e-r);if(r+=o-i,i=o+1,(r+=n-r%n)>=e)return i}}var q=[""];function V(t){for(;q.length<=t;)q.push(Y(q)+" ");return q[t]}function Y(t){return t[t.length-1]}function K(t,e){for(var n=[],i=0;i<t.length;i++)n[i]=e(t[i],i);return n}function X(){}function Q(t,e){var n;return Object.create?n=Object.create(t):(X.prototype=t,n=new X),e&&P(e,n),n}var Z=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function J(t){return/\w/.test(t)||t>"€"&&(t.toUpperCase()!=t.toLowerCase()||Z.test(t))}function tt(t,e){return e?!!(e.source.indexOf("\\w")>-1&&J(t))||e.test(t):J(t)}function et(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e])return!1;return!0}var nt=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function it(t){return t.charCodeAt(0)>=768&&nt.test(t)}function rt(t,e,n){for(;(n<0?e>0:e<t.length)&&it(t.charAt(e));)e+=n;return e}function ot(t,e,n){for(var i=e>n?-1:1;;){if(e==n)return e;var r=(e+n)/2,o=i<0?Math.ceil(r):Math.floor(r);if(o==e)return t(o)?e:n;t(o)?n=o:e=o+i}}var st=null;function at(t,e,n){var i;st=null;for(var r=0;r<t.length;++r){var o=t[r];if(o.from<e&&o.to>e)return r;o.to==e&&(o.from!=o.to&&"before"==n?i=r:st=r),o.from==e&&(o.from!=o.to&&"before"!=n?i=r:st=r)}return null!=i?i:st}var lt=function(){var t=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,e=/[stwN]/,n=/[LRr]/,i=/[Lb1n]/,r=/[1n]/;function o(t,e,n){this.level=t,this.from=e,this.to=n}return function(s,a){var l="ltr"==a?"L":"R";if(0==s.length||"ltr"==a&&!t.test(s))return!1;for(var c,h=s.length,u=[],f=0;f<h;++f)u.push((c=s.charCodeAt(f))<=247?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(c):1424<=c&&c<=1524?"R":1536<=c&&c<=1785?"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111".charAt(c-1536):1774<=c&&c<=2220?"r":8192<=c&&c<=8203?"w":8204==c?"b":"L");for(var d=0,p=l;d<h;++d){var g=u[d];"m"==g?u[d]=p:p=g}for(var m=0,v=l;m<h;++m){var _=u[m];"1"==_&&"r"==v?u[m]="n":n.test(_)&&(v=_,"r"==_&&(u[m]="R"))}for(var y=1,x=u[0];y<h-1;++y){var k=u[y];"+"==k&&"1"==x&&"1"==u[y+1]?u[y]="1":","!=k||x!=u[y+1]||"1"!=x&&"n"!=x||(u[y]=x),x=k}for(var b=0;b<h;++b){var T=u[b];if(","==T)u[b]="N";else if("%"==T){var C=void 0;for(C=b+1;C<h&&"%"==u[C];++C);for(var w=b&&"!"==u[b-1]||C<h&&"1"==u[C]?"1":"N",E=b;E<C;++E)u[E]=w;b=C-1}}for(var S=0,A=l;S<h;++S){var L=u[S];"L"==A&&"1"==L?u[S]="L":n.test(L)&&(A=L)}for(var O=0;O<h;++O)if(e.test(u[O])){var N=void 0;for(N=O+1;N<h&&e.test(u[N]);++N);for(var I="L"==(O?u[O-1]:l),M=I==("L"==(N<h?u[N]:l))?I?"L":"R":l,$=O;$<N;++$)u[$]=M;O=N-1}for(var R,D=[],P=0;P<h;)if(i.test(u[P])){var F=P;for(++P;P<h&&i.test(u[P]);++P);D.push(new o(0,F,P))}else{var B=P,U=D.length,H="rtl"==a?1:0;for(++P;P<h&&"L"!=u[P];++P);for(var z=B;z<P;)if(r.test(u[z])){B<z&&(D.splice(U,0,new o(1,B,z)),U+=H);var W=z;for(++z;z<P&&r.test(u[z]);++z);D.splice(U,0,new o(2,W,z)),U+=H,B=z}else++z;B<P&&D.splice(U,0,new o(1,B,P))}return"ltr"==a&&(1==D[0].level&&(R=s.match(/^\s+/))&&(D[0].from=R[0].length,D.unshift(new o(0,0,R[0].length))),1==Y(D).level&&(R=s.match(/\s+$/))&&(Y(D).to-=R[0].length,D.push(new o(0,h-R[0].length,h)))),"rtl"==a?D.reverse():D}}();function ct(t,e){var n=t.order;return null==n&&(n=t.order=lt(t.text,e)),n}var ht=[],ut=function(t,e,n){if(t.addEventListener)t.addEventListener(e,n,!1);else if(t.attachEvent)t.attachEvent("on"+e,n);else{var i=t._handlers||(t._handlers={});i[e]=(i[e]||ht).concat(n)}};function ft(t,e){return t._handlers&&t._handlers[e]||ht}function dt(t,e,n){if(t.removeEventListener)t.removeEventListener(e,n,!1);else if(t.detachEvent)t.detachEvent("on"+e,n);else{var i=t._handlers,r=i&&i[e];if(r){var o=U(r,n);o>-1&&(i[e]=r.slice(0,o).concat(r.slice(o+1)))}}}function pt(t,e){var n=ft(t,e);if(n.length)for(var i=Array.prototype.slice.call(arguments,2),r=0;r<n.length;++r)n[r].apply(null,i)}function gt(t,e,n){return"string"==typeof e&&(e={type:e,preventDefault:function(){this.defaultPrevented=!0}}),pt(t,n||e.type,t,e),kt(e)||e.codemirrorIgnore}function mt(t){var e=t._handlers&&t._handlers.cursorActivity;if(e)for(var n=t.curOp.cursorActivityHandlers||(t.curOp.cursorActivityHandlers=[]),i=0;i<e.length;++i)-1==U(n,e[i])&&n.push(e[i])}function vt(t,e){return ft(t,e).length>0}function _t(t){t.prototype.on=function(t,e){ut(this,t,e)},t.prototype.off=function(t,e){dt(this,t,e)}}function yt(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function xt(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}function kt(t){return null!=t.defaultPrevented?t.defaultPrevented:0==t.returnValue}function bt(t){yt(t),xt(t)}function Tt(t){return t.target||t.srcElement}function Ct(t){var e=t.which;return null==e&&(1&t.button?e=1:2&t.button?e=3:4&t.button&&(e=2)),_&&t.ctrlKey&&1==e&&(e=3),e}var wt,Et,St=function(){if(s&&a<9)return!1;var t=L("div");return"draggable"in t||"dragDrop"in t}();function At(t){if(null==wt){var e=L("span","​");A(t,L("span",[e,document.createTextNode("x")])),0!=t.firstChild.offsetHeight&&(wt=e.offsetWidth<=1&&e.offsetHeight>2&&!(s&&a<8))}var n=wt?L("span","​"):L("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Lt(t){if(null!=Et)return Et;var e=A(t,document.createTextNode("AخA")),n=w(e,0,1).getBoundingClientRect(),i=w(e,1,2).getBoundingClientRect();return S(t),!(!n||n.left==n.right)&&(Et=i.right-n.right<3)}var Ot,Nt=3!="\n\nb".split(/\n/).length?function(t){for(var e=0,n=[],i=t.length;e<=i;){var r=t.indexOf("\n",e);-1==r&&(r=t.length);var o=t.slice(e,"\r"==t.charAt(r-1)?r-1:r),s=o.indexOf("\r");-1!=s?(n.push(o.slice(0,s)),e+=s+1):(n.push(o),e=r+1)}return n}:function(t){return t.split(/\r\n?|\n/)},It=window.getSelection?function(t){try{return t.selectionStart!=t.selectionEnd}catch(t){return!1}}:function(t){var e;try{e=t.ownerDocument.selection.createRange()}catch(t){}return!(!e||e.parentElement()!=t)&&0!=e.compareEndPoints("StartToEnd",e)},Mt="oncopy"in(Ot=L("div"))||(Ot.setAttribute("oncopy","return;"),"function"==typeof Ot.oncopy),$t=null,Rt={},Dt={};function Pt(t,e){arguments.length>2&&(e.dependencies=Array.prototype.slice.call(arguments,2)),Rt[t]=e}function Ft(t){if("string"==typeof t&&Dt.hasOwnProperty(t))t=Dt[t];else if(t&&"string"==typeof t.name&&Dt.hasOwnProperty(t.name)){var e=Dt[t.name];"string"==typeof e&&(e={name:e}),(t=Q(e,t)).name=e.name}else{if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return Ft("application/xml");if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+json$/.test(t))return Ft("application/json")}return"string"==typeof t?{name:t}:t||{name:"null"}}function Bt(t,e){e=Ft(e);var n=Rt[e.name];if(!n)return Bt(t,"text/plain");var i=n(t,e);if(Ut.hasOwnProperty(e.name)){var r=Ut[e.name];for(var o in r)r.hasOwnProperty(o)&&(i.hasOwnProperty(o)&&(i["_"+o]=i[o]),i[o]=r[o])}if(i.name=e.name,e.helperType&&(i.helperType=e.helperType),e.modeProps)for(var s in e.modeProps)i[s]=e.modeProps[s];return i}var Ut={};function Ht(t,e){P(e,Ut.hasOwnProperty(t)?Ut[t]:Ut[t]={})}function zt(t,e){if(!0===e)return e;if(t.copyState)return t.copyState(e);var n={};for(var i in e){var r=e[i];r instanceof Array&&(r=r.concat([])),n[i]=r}return n}function Wt(t,e){for(var n;t.innerMode&&(n=t.innerMode(e))&&n.mode!=t;)e=n.state,t=n.mode;return n||{mode:t,state:e}}function jt(t,e,n){return!t.startState||t.startState(e,n)}var Gt=function(t,e,n){this.pos=this.start=0,this.string=t,this.tabSize=e||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function qt(t,e){if((e-=t.first)<0||e>=t.size)throw new Error("There is no line "+(e+t.first)+" in the document.");for(var n=t;!n.lines;)for(var i=0;;++i){var r=n.children[i],o=r.chunkSize();if(e<o){n=r;break}e-=o}return n.lines[e]}function Vt(t,e,n){var i=[],r=e.line;return t.iter(e.line,n.line+1,(function(t){var o=t.text;r==n.line&&(o=o.slice(0,n.ch)),r==e.line&&(o=o.slice(e.ch)),i.push(o),++r})),i}function Yt(t,e,n){var i=[];return t.iter(e,n,(function(t){i.push(t.text)})),i}function Kt(t,e){var n=e-t.height;if(n)for(var i=t;i;i=i.parent)i.height+=n}function Xt(t){if(null==t.parent)return null;for(var e=t.parent,n=U(e.lines,t),i=e.parent;i;e=i,i=i.parent)for(var r=0;i.children[r]!=e;++r)n+=i.children[r].chunkSize();return n+e.first}function Qt(t,e){var n=t.first;t:do{for(var i=0;i<t.children.length;++i){var r=t.children[i],o=r.height;if(e<o){t=r;continue t}e-=o,n+=r.chunkSize()}return n}while(!t.lines);for(var s=0;s<t.lines.length;++s){var a=t.lines[s].height;if(e<a)break;e-=a}return n+s}function Zt(t,e){return e>=t.first&&e<t.first+t.size}function Jt(t,e){return String(t.lineNumberFormatter(e+t.firstLineNumber))}function te(t,e,n){if(void 0===n&&(n=null),!(this instanceof te))return new te(t,e,n);this.line=t,this.ch=e,this.sticky=n}function ee(t,e){return t.line-e.line||t.ch-e.ch}function ne(t,e){return t.sticky==e.sticky&&0==ee(t,e)}function ie(t){return te(t.line,t.ch)}function re(t,e){return ee(t,e)<0?e:t}function oe(t,e){return ee(t,e)<0?t:e}function se(t,e){return Math.max(t.first,Math.min(e,t.first+t.size-1))}function ae(t,e){if(e.line<t.first)return te(t.first,0);var n=t.first+t.size-1;return e.line>n?te(n,qt(t,n).text.length):function(t,e){var n=t.ch;return null==n||n>e?te(t.line,e):n<0?te(t.line,0):t}(e,qt(t,e.line).text.length)}function le(t,e){for(var n=[],i=0;i<e.length;i++)n[i]=ae(t,e[i]);return n}Gt.prototype.eol=function(){return this.pos>=this.string.length},Gt.prototype.sol=function(){return this.pos==this.lineStart},Gt.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Gt.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Gt.prototype.eat=function(t){var e=this.string.charAt(this.pos);if("string"==typeof t?e==t:e&&(t.test?t.test(e):t(e)))return++this.pos,e},Gt.prototype.eatWhile=function(t){for(var e=this.pos;this.eat(t););return this.pos>e},Gt.prototype.eatSpace=function(){for(var t=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t},Gt.prototype.skipToEnd=function(){this.pos=this.string.length},Gt.prototype.skipTo=function(t){var e=this.string.indexOf(t,this.pos);if(e>-1)return this.pos=e,!0},Gt.prototype.backUp=function(t){this.pos-=t},Gt.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=F(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?F(this.string,this.lineStart,this.tabSize):0)},Gt.prototype.indentation=function(){return F(this.string,null,this.tabSize)-(this.lineStart?F(this.string,this.lineStart,this.tabSize):0)},Gt.prototype.match=function(t,e,n){if("string"!=typeof t){var i=this.string.slice(this.pos).match(t);return i&&i.index>0?null:(i&&!1!==e&&(this.pos+=i[0].length),i)}var r=function(t){return n?t.toLowerCase():t};if(r(this.string.substr(this.pos,t.length))==r(t))return!1!==e&&(this.pos+=t.length),!0},Gt.prototype.current=function(){return this.string.slice(this.start,this.pos)},Gt.prototype.hideFirstChars=function(t,e){this.lineStart+=t;try{return e()}finally{this.lineStart-=t}},Gt.prototype.lookAhead=function(t){var e=this.lineOracle;return e&&e.lookAhead(t)},Gt.prototype.baseToken=function(){var t=this.lineOracle;return t&&t.baseToken(this.pos)};var ce=function(t,e){this.state=t,this.lookAhead=e},he=function(t,e,n,i){this.state=e,this.doc=t,this.line=n,this.maxLookAhead=i||0,this.baseTokens=null,this.baseTokenPos=1};function ue(t,e,n,i){var r=[t.state.modeGen],o={};xe(t,e.text,t.doc.mode,n,(function(t,e){return r.push(t,e)}),o,i);for(var s=n.state,a=function(i){n.baseTokens=r;var a=t.state.overlays[i],l=1,c=0;n.state=!0,xe(t,e.text,a.mode,n,(function(t,e){for(var n=l;c<t;){var i=r[l];i>t&&r.splice(l,1,t,r[l+1],i),l+=2,c=Math.min(t,i)}if(e)if(a.opaque)r.splice(n,l-n,t,"overlay "+e),l=n+2;else for(;n<l;n+=2){var o=r[n+1];r[n+1]=(o?o+" ":"")+"overlay "+e}}),o),n.state=s,n.baseTokens=null,n.baseTokenPos=1},l=0;l<t.state.overlays.length;++l)a(l);return{styles:r,classes:o.bgClass||o.textClass?o:null}}function fe(t,e,n){if(!e.styles||e.styles[0]!=t.state.modeGen){var i=de(t,Xt(e)),r=e.text.length>t.options.maxHighlightLength&&zt(t.doc.mode,i.state),o=ue(t,e,i);r&&(i.state=r),e.stateAfter=i.save(!r),e.styles=o.styles,o.classes?e.styleClasses=o.classes:e.styleClasses&&(e.styleClasses=null),n===t.doc.highlightFrontier&&(t.doc.modeFrontier=Math.max(t.doc.modeFrontier,++t.doc.highlightFrontier))}return e.styles}function de(t,e,n){var i=t.doc,r=t.display;if(!i.mode.startState)return new he(i,!0,e);var o=function(t,e,n){for(var i,r,o=t.doc,s=n?-1:e-(t.doc.mode.innerMode?1e3:100),a=e;a>s;--a){if(a<=o.first)return o.first;var l=qt(o,a-1),c=l.stateAfter;if(c&&(!n||a+(c instanceof ce?c.lookAhead:0)<=o.modeFrontier))return a;var h=F(l.text,null,t.options.tabSize);(null==r||i>h)&&(r=a-1,i=h)}return r}(t,e,n),s=o>i.first&&qt(i,o-1).stateAfter,a=s?he.fromSaved(i,s,o):new he(i,jt(i.mode),o);return i.iter(o,e,(function(n){pe(t,n.text,a);var i=a.line;n.stateAfter=i==e-1||i%5==0||i>=r.viewFrom&&i<r.viewTo?a.save():null,a.nextLine()})),n&&(i.modeFrontier=a.line),a}function pe(t,e,n,i){var r=t.doc.mode,o=new Gt(e,t.options.tabSize,n);for(o.start=o.pos=i||0,""==e&&ge(r,n.state);!o.eol();)me(r,o,n.state),o.start=o.pos}function ge(t,e){if(t.blankLine)return t.blankLine(e);if(t.innerMode){var n=Wt(t,e);return n.mode.blankLine?n.mode.blankLine(n.state):void 0}}function me(t,e,n,i){for(var r=0;r<10;r++){i&&(i[0]=Wt(t,n).mode);var o=t.token(e,n);if(e.pos>e.start)return o}throw new Error("Mode "+t.name+" failed to advance stream.")}he.prototype.lookAhead=function(t){var e=this.doc.getLine(this.line+t);return null!=e&&t>this.maxLookAhead&&(this.maxLookAhead=t),e},he.prototype.baseToken=function(t){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=t;)this.baseTokenPos+=2;var e=this.baseTokens[this.baseTokenPos+1];return{type:e&&e.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-t}},he.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},he.fromSaved=function(t,e,n){return e instanceof ce?new he(t,zt(t.mode,e.state),n,e.lookAhead):new he(t,zt(t.mode,e),n)},he.prototype.save=function(t){var e=!1!==t?zt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ce(e,this.maxLookAhead):e};var ve=function(t,e,n){this.start=t.start,this.end=t.pos,this.string=t.current(),this.type=e||null,this.state=n};function _e(t,e,n,i){var r,o,s=t.doc,a=s.mode,l=qt(s,(e=ae(s,e)).line),c=de(t,e.line,n),h=new Gt(l.text,t.options.tabSize,c);for(i&&(o=[]);(i||h.pos<e.ch)&&!h.eol();)h.start=h.pos,r=me(a,h,c.state),i&&o.push(new ve(h,r,zt(s.mode,c.state)));return i?o:new ve(h,r,c.state)}function ye(t,e){if(t)for(;;){var n=t.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!n)break;t=t.slice(0,n.index)+t.slice(n.index+n[0].length);var i=n[1]?"bgClass":"textClass";null==e[i]?e[i]=n[2]:new RegExp("(?:^|\\s)"+n[2]+"(?:$|\\s)").test(e[i])||(e[i]+=" "+n[2])}return t}function xe(t,e,n,i,r,o,s){var a=n.flattenSpans;null==a&&(a=t.options.flattenSpans);var l,c=0,h=null,u=new Gt(e,t.options.tabSize,i),f=t.options.addModeClass&&[null];for(""==e&&ye(ge(n,i.state),o);!u.eol();){if(u.pos>t.options.maxHighlightLength?(a=!1,s&&pe(t,e,i,u.pos),u.pos=e.length,l=null):l=ye(me(n,u,i.state,f),o),f){var d=f[0].name;d&&(l="m-"+(l?d+" "+l:d))}if(!a||h!=l){for(;c<u.start;)r(c=Math.min(u.start,c+5e3),h);h=l}u.start=u.pos}for(;c<u.pos;){var p=Math.min(u.pos,c+5e3);r(p,h),c=p}}var ke=!1,be=!1;function Te(t,e,n){this.marker=t,this.from=e,this.to=n}function Ce(t,e){if(t)for(var n=0;n<t.length;++n){var i=t[n];if(i.marker==e)return i}}function we(t,e){for(var n,i=0;i<t.length;++i)t[i]!=e&&(n||(n=[])).push(t[i]);return n}function Ee(t,e){if(e.full)return null;var n=Zt(t,e.from.line)&&qt(t,e.from.line).markedSpans,i=Zt(t,e.to.line)&&qt(t,e.to.line).markedSpans;if(!n&&!i)return null;var r=e.from.ch,o=e.to.ch,s=0==ee(e.from,e.to),a=function(t,e,n){var i;if(t)for(var r=0;r<t.length;++r){var o=t[r],s=o.marker;if(null==o.from||(s.inclusiveLeft?o.from<=e:o.from<e)||o.from==e&&"bookmark"==s.type&&(!n||!o.marker.insertLeft)){var a=null==o.to||(s.inclusiveRight?o.to>=e:o.to>e);(i||(i=[])).push(new Te(s,o.from,a?null:o.to))}}return i}(n,r,s),l=function(t,e,n){var i;if(t)for(var r=0;r<t.length;++r){var o=t[r],s=o.marker;if(null==o.to||(s.inclusiveRight?o.to>=e:o.to>e)||o.from==e&&"bookmark"==s.type&&(!n||o.marker.insertLeft)){var a=null==o.from||(s.inclusiveLeft?o.from<=e:o.from<e);(i||(i=[])).push(new Te(s,a?null:o.from-e,null==o.to?null:o.to-e))}}return i}(i,o,s),c=1==e.text.length,h=Y(e.text).length+(c?r:0);if(a)for(var u=0;u<a.length;++u){var f=a[u];if(null==f.to){var d=Ce(l,f.marker);d?c&&(f.to=null==d.to?null:d.to+h):f.to=r}}if(l)for(var p=0;p<l.length;++p){var g=l[p];null!=g.to&&(g.to+=h),null==g.from?Ce(a,g.marker)||(g.from=h,c&&(a||(a=[])).push(g)):(g.from+=h,c&&(a||(a=[])).push(g))}a&&(a=Se(a)),l&&l!=a&&(l=Se(l));var m=[a];if(!c){var v,_=e.text.length-2;if(_>0&&a)for(var y=0;y<a.length;++y)null==a[y].to&&(v||(v=[])).push(new Te(a[y].marker,null,null));for(var x=0;x<_;++x)m.push(v);m.push(l)}return m}function Se(t){for(var e=0;e<t.length;++e){var n=t[e];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&t.splice(e--,1)}return t.length?t:null}function Ae(t){var e=t.markedSpans;if(e){for(var n=0;n<e.length;++n)e[n].marker.detachLine(t);t.markedSpans=null}}function Le(t,e){if(e){for(var n=0;n<e.length;++n)e[n].marker.attachLine(t);t.markedSpans=e}}function Oe(t){return t.inclusiveLeft?-1:0}function Ne(t){return t.inclusiveRight?1:0}function Ie(t,e){var n=t.lines.length-e.lines.length;if(0!=n)return n;var i=t.find(),r=e.find(),o=ee(i.from,r.from)||Oe(t)-Oe(e);if(o)return-o;var s=ee(i.to,r.to)||Ne(t)-Ne(e);return s||e.id-t.id}function Me(t,e){var n,i=be&&t.markedSpans;if(i)for(var r=void 0,o=0;o<i.length;++o)(r=i[o]).marker.collapsed&&null==(e?r.from:r.to)&&(!n||Ie(n,r.marker)<0)&&(n=r.marker);return n}function $e(t){return Me(t,!0)}function Re(t){return Me(t,!1)}function De(t,e){var n,i=be&&t.markedSpans;if(i)for(var r=0;r<i.length;++r){var o=i[r];o.marker.collapsed&&(null==o.from||o.from<e)&&(null==o.to||o.to>e)&&(!n||Ie(n,o.marker)<0)&&(n=o.marker)}return n}function Pe(t,e,n,i,r){var o=qt(t,e),s=be&&o.markedSpans;if(s)for(var a=0;a<s.length;++a){var l=s[a];if(l.marker.collapsed){var c=l.marker.find(0),h=ee(c.from,n)||Oe(l.marker)-Oe(r),u=ee(c.to,i)||Ne(l.marker)-Ne(r);if(!(h>=0&&u<=0||h<=0&&u>=0)&&(h<=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?ee(c.to,n)>=0:ee(c.to,n)>0)||h>=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?ee(c.from,i)<=0:ee(c.from,i)<0)))return!0}}}function Fe(t){for(var e;e=$e(t);)t=e.find(-1,!0).line;return t}function Be(t,e){var n=qt(t,e),i=Fe(n);return n==i?e:Xt(i)}function Ue(t,e){if(e>t.lastLine())return e;var n,i=qt(t,e);if(!He(t,i))return e;for(;n=Re(i);)i=n.find(1,!0).line;return Xt(i)+1}function He(t,e){var n=be&&e.markedSpans;if(n)for(var i=void 0,r=0;r<n.length;++r)if((i=n[r]).marker.collapsed){if(null==i.from)return!0;if(!i.marker.widgetNode&&0==i.from&&i.marker.inclusiveLeft&&ze(t,e,i))return!0}}function ze(t,e,n){if(null==n.to){var i=n.marker.find(1,!0);return ze(t,i.line,Ce(i.line.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==e.text.length)return!0;for(var r=void 0,o=0;o<e.markedSpans.length;++o)if((r=e.markedSpans[o]).marker.collapsed&&!r.marker.widgetNode&&r.from==n.to&&(null==r.to||r.to!=n.from)&&(r.marker.inclusiveLeft||n.marker.inclusiveRight)&&ze(t,e,r))return!0}function We(t){for(var e=0,n=(t=Fe(t)).parent,i=0;i<n.lines.length;++i){var r=n.lines[i];if(r==t)break;e+=r.height}for(var o=n.parent;o;o=(n=o).parent)for(var s=0;s<o.children.length;++s){var a=o.children[s];if(a==n)break;e+=a.height}return e}function je(t){if(0==t.height)return 0;for(var e,n=t.text.length,i=t;e=$e(i);){var r=e.find(0,!0);i=r.from.line,n+=r.from.ch-r.to.ch}for(i=t;e=Re(i);){var o=e.find(0,!0);n-=i.text.length-o.from.ch,n+=(i=o.to.line).text.length-o.to.ch}return n}function Ge(t){var e=t.display,n=t.doc;e.maxLine=qt(n,n.first),e.maxLineLength=je(e.maxLine),e.maxLineChanged=!0,n.iter((function(t){var n=je(t);n>e.maxLineLength&&(e.maxLineLength=n,e.maxLine=t)}))}var qe=function(t,e,n){this.text=t,Le(this,e),this.height=n?n(this):1};function Ve(t){t.parent=null,Ae(t)}qe.prototype.lineNo=function(){return Xt(this)},_t(qe);var Ye={},Ke={};function Xe(t,e){if(!t||/^\s*$/.test(t))return null;var n=e.addModeClass?Ke:Ye;return n[t]||(n[t]=t.replace(/\S+/g,"cm-$&"))}function Qe(t,e){var n=O("span",null,null,l?"padding-right: .1px":null),i={pre:O("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:t,trailingSpace:!1,splitSpaces:t.getOption("lineWrapping")};e.measure={};for(var r=0;r<=(e.rest?e.rest.length:0);r++){var o=r?e.rest[r-1]:e.line,s=void 0;i.pos=0,i.addToken=Je,Lt(t.display.measure)&&(s=ct(o,t.doc.direction))&&(i.addToken=tn(i.addToken,s)),i.map=[],nn(o,i,fe(t,o,e!=t.display.externalMeasured&&Xt(o))),o.styleClasses&&(o.styleClasses.bgClass&&(i.bgClass=$(o.styleClasses.bgClass,i.bgClass||"")),o.styleClasses.textClass&&(i.textClass=$(o.styleClasses.textClass,i.textClass||""))),0==i.map.length&&i.map.push(0,0,i.content.appendChild(At(t.display.measure))),0==r?(e.measure.map=i.map,e.measure.cache={}):((e.measure.maps||(e.measure.maps=[])).push(i.map),(e.measure.caches||(e.measure.caches=[])).push({}))}if(l){var a=i.content.lastChild;(/\bcm-tab\b/.test(a.className)||a.querySelector&&a.querySelector(".cm-tab"))&&(i.content.className="cm-tab-wrap-hack")}return pt(t,"renderLine",t,e.line,i.pre),i.pre.className&&(i.textClass=$(i.pre.className,i.textClass||"")),i}function Ze(t){var e=L("span","•","cm-invalidchar");return e.title="\\u"+t.charCodeAt(0).toString(16),e.setAttribute("aria-label",e.title),e}function Je(t,e,n,i,r,o,l){if(e){var c,h=t.splitSpaces?function(t,e){if(t.length>1&&!/ /.test(t))return t;for(var n=e,i="",r=0;r<t.length;r++){var o=t.charAt(r);" "!=o||!n||r!=t.length-1&&32!=t.charCodeAt(r+1)||(o=" "),i+=o,n=" "==o}return i}(e,t.trailingSpace):e,u=t.cm.state.specialChars,f=!1;if(u.test(e)){c=document.createDocumentFragment();for(var d=0;;){u.lastIndex=d;var p=u.exec(e),g=p?p.index-d:e.length-d;if(g){var m=document.createTextNode(h.slice(d,d+g));s&&a<9?c.appendChild(L("span",[m])):c.appendChild(m),t.map.push(t.pos,t.pos+g,m),t.col+=g,t.pos+=g}if(!p)break;d+=g+1;var v=void 0;if("\t"==p[0]){var _=t.cm.options.tabSize,y=_-t.col%_;(v=c.appendChild(L("span",V(y),"cm-tab"))).setAttribute("role","presentation"),v.setAttribute("cm-text","\t"),t.col+=y}else"\r"==p[0]||"\n"==p[0]?((v=c.appendChild(L("span","\r"==p[0]?"␍":"␤","cm-invalidchar"))).setAttribute("cm-text",p[0]),t.col+=1):((v=t.cm.options.specialCharPlaceholder(p[0])).setAttribute("cm-text",p[0]),s&&a<9?c.appendChild(L("span",[v])):c.appendChild(v),t.col+=1);t.map.push(t.pos,t.pos+1,v),t.pos++}}else t.col+=e.length,c=document.createTextNode(h),t.map.push(t.pos,t.pos+e.length,c),s&&a<9&&(f=!0),t.pos+=e.length;if(t.trailingSpace=32==h.charCodeAt(e.length-1),n||i||r||f||o||l){var x=n||"";i&&(x+=i),r&&(x+=r);var k=L("span",[c],x,o);if(l)for(var b in l)l.hasOwnProperty(b)&&"style"!=b&&"class"!=b&&k.setAttribute(b,l[b]);return t.content.appendChild(k)}t.content.appendChild(c)}}function tn(t,e){return function(n,i,r,o,s,a,l){r=r?r+" cm-force-border":"cm-force-border";for(var c=n.pos,h=c+i.length;;){for(var u=void 0,f=0;f<e.length&&!((u=e[f]).to>c&&u.from<=c);f++);if(u.to>=h)return t(n,i,r,o,s,a,l);t(n,i.slice(0,u.to-c),r,o,null,a,l),o=null,i=i.slice(u.to-c),c=u.to}}}function en(t,e,n,i){var r=!i&&n.widgetNode;r&&t.map.push(t.pos,t.pos+e,r),!i&&t.cm.display.input.needsContentAttribute&&(r||(r=t.content.appendChild(document.createElement("span"))),r.setAttribute("cm-marker",n.id)),r&&(t.cm.display.input.setUneditable(r),t.content.appendChild(r)),t.pos+=e,t.trailingSpace=!1}function nn(t,e,n){var i=t.markedSpans,r=t.text,o=0;if(i)for(var s,a,l,c,h,u,f,d=r.length,p=0,g=1,m="",v=0;;){if(v==p){l=c=h=a="",f=null,u=null,v=1/0;for(var _=[],y=void 0,x=0;x<i.length;++x){var k=i[x],b=k.marker;if("bookmark"==b.type&&k.from==p&&b.widgetNode)_.push(b);else if(k.from<=p&&(null==k.to||k.to>p||b.collapsed&&k.to==p&&k.from==p)){if(null!=k.to&&k.to!=p&&v>k.to&&(v=k.to,c=""),b.className&&(l+=" "+b.className),b.css&&(a=(a?a+";":"")+b.css),b.startStyle&&k.from==p&&(h+=" "+b.startStyle),b.endStyle&&k.to==v&&(y||(y=[])).push(b.endStyle,k.to),b.title&&((f||(f={})).title=b.title),b.attributes)for(var T in b.attributes)(f||(f={}))[T]=b.attributes[T];b.collapsed&&(!u||Ie(u.marker,b)<0)&&(u=k)}else k.from>p&&v>k.from&&(v=k.from)}if(y)for(var C=0;C<y.length;C+=2)y[C+1]==v&&(c+=" "+y[C]);if(!u||u.from==p)for(var w=0;w<_.length;++w)en(e,0,_[w]);if(u&&(u.from||0)==p){if(en(e,(null==u.to?d+1:u.to)-p,u.marker,null==u.from),null==u.to)return;u.to==p&&(u=!1)}}if(p>=d)break;for(var E=Math.min(d,v);;){if(m){var S=p+m.length;if(!u){var A=S>E?m.slice(0,E-p):m;e.addToken(e,A,s?s+l:l,h,p+A.length==v?c:"",a,f)}if(S>=E){m=m.slice(E-p),p=E;break}p=S,h=""}m=r.slice(o,o=n[g++]),s=Xe(n[g++],e.cm.options)}}else for(var L=1;L<n.length;L+=2)e.addToken(e,r.slice(o,o=n[L]),Xe(n[L+1],e.cm.options))}function rn(t,e,n){this.line=e,this.rest=function(t){for(var e,n;e=Re(t);)t=e.find(1,!0).line,(n||(n=[])).push(t);return n}(e),this.size=this.rest?Xt(Y(this.rest))-n+1:1,this.node=this.text=null,this.hidden=He(t,e)}function on(t,e,n){for(var i,r=[],o=e;o<n;o=i){var s=new rn(t.doc,qt(t.doc,o),o);i=o+s.size,r.push(s)}return r}var sn=null,an=null;function ln(t,e){var n=ft(t,e);if(n.length){var i,r=Array.prototype.slice.call(arguments,2);sn?i=sn.delayedCallbacks:an?i=an:(i=an=[],setTimeout(cn,0));for(var o=function(t){i.push((function(){return n[t].apply(null,r)}))},s=0;s<n.length;++s)o(s)}}function cn(){var t=an;an=null;for(var e=0;e<t.length;++e)t[e]()}function hn(t,e,n,i){for(var r=0;r<e.changes.length;r++){var o=e.changes[r];"text"==o?dn(t,e):"gutter"==o?gn(t,e,n,i):"class"==o?pn(t,e):"widget"==o&&mn(t,e,i)}e.changes=null}function un(t){return t.node==t.text&&(t.node=L("div",null,null,"position: relative"),t.text.parentNode&&t.text.parentNode.replaceChild(t.node,t.text),t.node.appendChild(t.text),s&&a<8&&(t.node.style.zIndex=2)),t.node}function fn(t,e){var n=t.display.externalMeasured;return n&&n.line==e.line?(t.display.externalMeasured=null,e.measure=n.measure,n.built):Qe(t,e)}function dn(t,e){var n=e.text.className,i=fn(t,e);e.text==e.node&&(e.node=i.pre),e.text.parentNode.replaceChild(i.pre,e.text),e.text=i.pre,i.bgClass!=e.bgClass||i.textClass!=e.textClass?(e.bgClass=i.bgClass,e.textClass=i.textClass,pn(t,e)):n&&(e.text.className=n)}function pn(t,e){!function(t,e){var n=e.bgClass?e.bgClass+" "+(e.line.bgClass||""):e.line.bgClass;if(n&&(n+=" CodeMirror-linebackground"),e.background)n?e.background.className=n:(e.background.parentNode.removeChild(e.background),e.background=null);else if(n){var i=un(e);e.background=i.insertBefore(L("div",null,n),i.firstChild),t.display.input.setUneditable(e.background)}}(t,e),e.line.wrapClass?un(e).className=e.line.wrapClass:e.node!=e.text&&(e.node.className="");var n=e.textClass?e.textClass+" "+(e.line.textClass||""):e.line.textClass;e.text.className=n||""}function gn(t,e,n,i){if(e.gutter&&(e.node.removeChild(e.gutter),e.gutter=null),e.gutterBackground&&(e.node.removeChild(e.gutterBackground),e.gutterBackground=null),e.line.gutterClass){var r=un(e);e.gutterBackground=L("div",null,"CodeMirror-gutter-background "+e.line.gutterClass,"left: "+(t.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px; width: "+i.gutterTotalWidth+"px"),t.display.input.setUneditable(e.gutterBackground),r.insertBefore(e.gutterBackground,e.text)}var o=e.line.gutterMarkers;if(t.options.lineNumbers||o){var s=un(e),a=e.gutter=L("div",null,"CodeMirror-gutter-wrapper","left: "+(t.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px");if(a.setAttribute("aria-hidden","true"),t.display.input.setUneditable(a),s.insertBefore(a,e.text),e.line.gutterClass&&(a.className+=" "+e.line.gutterClass),!t.options.lineNumbers||o&&o["CodeMirror-linenumbers"]||(e.lineNumber=a.appendChild(L("div",Jt(t.options,n),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+i.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+t.display.lineNumInnerWidth+"px"))),o)for(var l=0;l<t.display.gutterSpecs.length;++l){var c=t.display.gutterSpecs[l].className,h=o.hasOwnProperty(c)&&o[c];h&&a.appendChild(L("div",[h],"CodeMirror-gutter-elt","left: "+i.gutterLeft[c]+"px; width: "+i.gutterWidth[c]+"px"))}}}function mn(t,e,n){e.alignable&&(e.alignable=null);for(var i=C("CodeMirror-linewidget"),r=e.node.firstChild,o=void 0;r;r=o)o=r.nextSibling,i.test(r.className)&&e.node.removeChild(r);_n(t,e,n)}function vn(t,e,n,i){var r=fn(t,e);return e.text=e.node=r.pre,r.bgClass&&(e.bgClass=r.bgClass),r.textClass&&(e.textClass=r.textClass),pn(t,e),gn(t,e,n,i),_n(t,e,i),e.node}function _n(t,e,n){if(yn(t,e.line,e,n,!0),e.rest)for(var i=0;i<e.rest.length;i++)yn(t,e.rest[i],e,n,!1)}function yn(t,e,n,i,r){if(e.widgets)for(var o=un(n),s=0,a=e.widgets;s<a.length;++s){var l=a[s],c=L("div",[l.node],"CodeMirror-linewidget"+(l.className?" "+l.className:""));l.handleMouseEvents||c.setAttribute("cm-ignore-events","true"),xn(l,c,n,i),t.display.input.setUneditable(c),r&&l.above?o.insertBefore(c,n.gutter||n.text):o.appendChild(c),ln(l,"redraw")}}function xn(t,e,n,i){if(t.noHScroll){(n.alignable||(n.alignable=[])).push(e);var r=i.wrapperWidth;e.style.left=i.fixedPos+"px",t.coverGutter||(r-=i.gutterTotalWidth,e.style.paddingLeft=i.gutterTotalWidth+"px"),e.style.width=r+"px"}t.coverGutter&&(e.style.zIndex=5,e.style.position="relative",t.noHScroll||(e.style.marginLeft=-i.gutterTotalWidth+"px"))}function kn(t){if(null!=t.height)return t.height;var e=t.doc.cm;if(!e)return 0;if(!N(document.body,t.node)){var n="position: relative;";t.coverGutter&&(n+="margin-left: -"+e.display.gutters.offsetWidth+"px;"),t.noHScroll&&(n+="width: "+e.display.wrapper.clientWidth+"px;"),A(e.display.measure,L("div",[t.node],null,n))}return t.height=t.node.parentNode.offsetHeight}function bn(t,e){for(var n=Tt(e);n!=t.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&"true"==n.getAttribute("cm-ignore-events")||n.parentNode==t.sizer&&n!=t.mover)return!0}function Tn(t){return t.lineSpace.offsetTop}function Cn(t){return t.mover.offsetHeight-t.lineSpace.offsetHeight}function wn(t){if(t.cachedPaddingH)return t.cachedPaddingH;var e=A(t.measure,L("pre","x","CodeMirror-line-like")),n=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle,i={left:parseInt(n.paddingLeft),right:parseInt(n.paddingRight)};return isNaN(i.left)||isNaN(i.right)||(t.cachedPaddingH=i),i}function En(t){return 50-t.display.nativeBarWidth}function Sn(t){return t.display.scroller.clientWidth-En(t)-t.display.barWidth}function An(t){return t.display.scroller.clientHeight-En(t)-t.display.barHeight}function Ln(t,e,n){if(t.line==e)return{map:t.measure.map,cache:t.measure.cache};if(t.rest){for(var i=0;i<t.rest.length;i++)if(t.rest[i]==e)return{map:t.measure.maps[i],cache:t.measure.caches[i]};for(var r=0;r<t.rest.length;r++)if(Xt(t.rest[r])>n)return{map:t.measure.maps[r],cache:t.measure.caches[r],before:!0}}}function On(t,e,n,i){return Mn(t,In(t,e),n,i)}function Nn(t,e){if(e>=t.display.viewFrom&&e<t.display.viewTo)return t.display.view[hi(t,e)];var n=t.display.externalMeasured;return n&&e>=n.lineN&&e<n.lineN+n.size?n:void 0}function In(t,e){var n=Xt(e),i=Nn(t,n);i&&!i.text?i=null:i&&i.changes&&(hn(t,i,n,oi(t)),t.curOp.forceUpdate=!0),i||(i=function(t,e){var n=Xt(e=Fe(e)),i=t.display.externalMeasured=new rn(t.doc,e,n);i.lineN=n;var r=i.built=Qe(t,i);return i.text=r.pre,A(t.display.lineMeasure,r.pre),i}(t,e));var r=Ln(i,e,n);return{line:e,view:i,rect:null,map:r.map,cache:r.cache,before:r.before,hasHeights:!1}}function Mn(t,e,n,i,r){e.before&&(n=-1);var o,l=n+(i||"");return e.cache.hasOwnProperty(l)?o=e.cache[l]:(e.rect||(e.rect=e.view.text.getBoundingClientRect()),e.hasHeights||(function(t,e,n){var i=t.options.lineWrapping,r=i&&Sn(t);if(!e.measure.heights||i&&e.measure.width!=r){var o=e.measure.heights=[];if(i){e.measure.width=r;for(var s=e.text.firstChild.getClientRects(),a=0;a<s.length-1;a++){var l=s[a],c=s[a+1];Math.abs(l.bottom-c.bottom)>2&&o.push((l.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}(t,e.view,e.rect),e.hasHeights=!0),o=function(t,e,n,i){var r,o=Dn(e.map,n,i),l=o.node,c=o.start,h=o.end,u=o.collapse;if(3==l.nodeType){for(var f=0;f<4;f++){for(;c&&it(e.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+h<o.coverEnd&&it(e.line.text.charAt(o.coverStart+h));)++h;if((r=s&&a<9&&0==c&&h==o.coverEnd-o.coverStart?l.parentNode.getBoundingClientRect():Pn(w(l,c,h).getClientRects(),i)).left||r.right||0==c)break;h=c,c-=1,u="right"}s&&a<11&&(r=function(t,e){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(t){if(null!=$t)return $t;var e=A(t,L("span","x")),n=e.getBoundingClientRect(),i=w(e,0,1).getBoundingClientRect();return $t=Math.abs(n.left-i.left)>1}(t))return e;var n=screen.logicalXDPI/screen.deviceXDPI,i=screen.logicalYDPI/screen.deviceYDPI;return{left:e.left*n,right:e.right*n,top:e.top*i,bottom:e.bottom*i}}(t.display.measure,r))}else{var d;c>0&&(u=i="right"),r=t.options.lineWrapping&&(d=l.getClientRects()).length>1?d["right"==i?d.length-1:0]:l.getBoundingClientRect()}if(s&&a<9&&!c&&(!r||!r.left&&!r.right)){var p=l.parentNode.getClientRects()[0];r=p?{left:p.left,right:p.left+ri(t.display),top:p.top,bottom:p.bottom}:Rn}for(var g=r.top-e.rect.top,m=r.bottom-e.rect.top,v=(g+m)/2,_=e.view.measure.heights,y=0;y<_.length-1&&!(v<_[y]);y++);var x=y?_[y-1]:0,k=_[y],b={left:("right"==u?r.right:r.left)-e.rect.left,right:("left"==u?r.left:r.right)-e.rect.left,top:x,bottom:k};return r.left||r.right||(b.bogus=!0),t.options.singleCursorHeightPerLine||(b.rtop=g,b.rbottom=m),b}(t,e,n,i),o.bogus||(e.cache[l]=o)),{left:o.left,right:o.right,top:r?o.rtop:o.top,bottom:r?o.rbottom:o.bottom}}var $n,Rn={left:0,right:0,top:0,bottom:0};function Dn(t,e,n){for(var i,r,o,s,a,l,c=0;c<t.length;c+=3)if(a=t[c],l=t[c+1],e<a?(r=0,o=1,s="left"):e<l?o=1+(r=e-a):(c==t.length-3||e==l&&t[c+3]>e)&&(r=(o=l-a)-1,e>=l&&(s="right")),null!=r){if(i=t[c+2],a==l&&n==(i.insertLeft?"left":"right")&&(s=n),"left"==n&&0==r)for(;c&&t[c-2]==t[c-3]&&t[c-1].insertLeft;)i=t[2+(c-=3)],s="left";if("right"==n&&r==l-a)for(;c<t.length-3&&t[c+3]==t[c+4]&&!t[c+5].insertLeft;)i=t[(c+=3)+2],s="right";break}return{node:i,start:r,end:o,collapse:s,coverStart:a,coverEnd:l}}function Pn(t,e){var n=Rn;if("left"==e)for(var i=0;i<t.length&&(n=t[i]).left==n.right;i++);else for(var r=t.length-1;r>=0&&(n=t[r]).left==n.right;r--);return n}function Fn(t){if(t.measure&&(t.measure.cache={},t.measure.heights=null,t.rest))for(var e=0;e<t.rest.length;e++)t.measure.caches[e]={}}function Bn(t){t.display.externalMeasure=null,S(t.display.lineMeasure);for(var e=0;e<t.display.view.length;e++)Fn(t.display.view[e])}function Un(t){Bn(t),t.display.cachedCharWidth=t.display.cachedTextHeight=t.display.cachedPaddingH=null,t.options.lineWrapping||(t.display.maxLineChanged=!0),t.display.lineNumChars=null}function Hn(){return h&&m?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function zn(){return h&&m?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function Wn(t){var e=0;if(t.widgets)for(var n=0;n<t.widgets.length;++n)t.widgets[n].above&&(e+=kn(t.widgets[n]));return e}function jn(t,e,n,i,r){if(!r){var o=Wn(e);n.top+=o,n.bottom+=o}if("line"==i)return n;i||(i="local");var s=We(e);if("local"==i?s+=Tn(t.display):s-=t.display.viewOffset,"page"==i||"window"==i){var a=t.display.lineSpace.getBoundingClientRect();s+=a.top+("window"==i?0:zn());var l=a.left+("window"==i?0:Hn());n.left+=l,n.right+=l}return n.top+=s,n.bottom+=s,n}function Gn(t,e,n){if("div"==n)return e;var i=e.left,r=e.top;if("page"==n)i-=Hn(),r-=zn();else if("local"==n||!n){var o=t.display.sizer.getBoundingClientRect();i+=o.left,r+=o.top}var s=t.display.lineSpace.getBoundingClientRect();return{left:i-s.left,top:r-s.top}}function qn(t,e,n,i,r){return i||(i=qt(t.doc,e.line)),jn(t,i,On(t,i,e.ch,r),n)}function Vn(t,e,n,i,r,o){function s(e,s){var a=Mn(t,r,e,s?"right":"left",o);return s?a.left=a.right:a.right=a.left,jn(t,i,a,n)}i=i||qt(t.doc,e.line),r||(r=In(t,i));var a=ct(i,t.doc.direction),l=e.ch,c=e.sticky;if(l>=i.text.length?(l=i.text.length,c="before"):l<=0&&(l=0,c="after"),!a)return s("before"==c?l-1:l,"before"==c);function h(t,e,n){return s(n?t-1:t,1==a[e].level!=n)}var u=at(a,l,c),f=st,d=h(l,u,"before"==c);return null!=f&&(d.other=h(l,f,"before"!=c)),d}function Yn(t,e){var n=0;e=ae(t.doc,e),t.options.lineWrapping||(n=ri(t.display)*e.ch);var i=qt(t.doc,e.line),r=We(i)+Tn(t.display);return{left:n,right:n,top:r,bottom:r+i.height}}function Kn(t,e,n,i,r){var o=te(t,e,n);return o.xRel=r,i&&(o.outside=i),o}function Xn(t,e,n){var i=t.doc;if((n+=t.display.viewOffset)<0)return Kn(i.first,0,null,-1,-1);var r=Qt(i,n),o=i.first+i.size-1;if(r>o)return Kn(i.first+i.size-1,qt(i,o).text.length,null,1,1);e<0&&(e=0);for(var s=qt(i,r);;){var a=ti(t,s,r,e,n),l=De(s,a.ch+(a.xRel>0||a.outside>0?1:0));if(!l)return a;var c=l.find(1);if(c.line==r)return c;s=qt(i,r=c.line)}}function Qn(t,e,n,i){i-=Wn(e);var r=e.text.length,o=ot((function(e){return Mn(t,n,e-1).bottom<=i}),r,0);return{begin:o,end:r=ot((function(e){return Mn(t,n,e).top>i}),o,r)}}function Zn(t,e,n,i){return n||(n=In(t,e)),Qn(t,e,n,jn(t,e,Mn(t,n,i),"line").top)}function Jn(t,e,n,i){return!(t.bottom<=n)&&(t.top>n||(i?t.left:t.right)>e)}function ti(t,e,n,i,r){r-=We(e);var o=In(t,e),s=Wn(e),a=0,l=e.text.length,c=!0,h=ct(e,t.doc.direction);if(h){var u=(t.options.lineWrapping?ni:ei)(t,e,n,o,h,i,r);a=(c=1!=u.level)?u.from:u.to-1,l=c?u.to:u.from-1}var f,d,p=null,g=null,m=ot((function(e){var n=Mn(t,o,e);return n.top+=s,n.bottom+=s,!!Jn(n,i,r,!1)&&(n.top<=r&&n.left<=i&&(p=e,g=n),!0)}),a,l),v=!1;if(g){var _=i-g.left<g.right-i,y=_==c;m=p+(y?0:1),d=y?"after":"before",f=_?g.left:g.right}else{c||m!=l&&m!=a||m++,d=0==m?"after":m==e.text.length?"before":Mn(t,o,m-(c?1:0)).bottom+s<=r==c?"after":"before";var x=Vn(t,te(n,m,d),"line",e,o);f=x.left,v=r<x.top?-1:r>=x.bottom?1:0}return Kn(n,m=rt(e.text,m,1),d,v,i-f)}function ei(t,e,n,i,r,o,s){var a=ot((function(a){var l=r[a],c=1!=l.level;return Jn(Vn(t,te(n,c?l.to:l.from,c?"before":"after"),"line",e,i),o,s,!0)}),0,r.length-1),l=r[a];if(a>0){var c=1!=l.level,h=Vn(t,te(n,c?l.from:l.to,c?"after":"before"),"line",e,i);Jn(h,o,s,!0)&&h.top>s&&(l=r[a-1])}return l}function ni(t,e,n,i,r,o,s){var a=Qn(t,e,i,s),l=a.begin,c=a.end;/\s/.test(e.text.charAt(c-1))&&c--;for(var h=null,u=null,f=0;f<r.length;f++){var d=r[f];if(!(d.from>=c||d.to<=l)){var p=Mn(t,i,1!=d.level?Math.min(c,d.to)-1:Math.max(l,d.from)).right,g=p<o?o-p+1e9:p-o;(!h||u>g)&&(h=d,u=g)}}return h||(h=r[r.length-1]),h.from<l&&(h={from:l,to:h.to,level:h.level}),h.to>c&&(h={from:h.from,to:c,level:h.level}),h}function ii(t){if(null!=t.cachedTextHeight)return t.cachedTextHeight;if(null==$n){$n=L("pre",null,"CodeMirror-line-like");for(var e=0;e<49;++e)$n.appendChild(document.createTextNode("x")),$n.appendChild(L("br"));$n.appendChild(document.createTextNode("x"))}A(t.measure,$n);var n=$n.offsetHeight/50;return n>3&&(t.cachedTextHeight=n),S(t.measure),n||1}function ri(t){if(null!=t.cachedCharWidth)return t.cachedCharWidth;var e=L("span","xxxxxxxxxx"),n=L("pre",[e],"CodeMirror-line-like");A(t.measure,n);var i=e.getBoundingClientRect(),r=(i.right-i.left)/10;return r>2&&(t.cachedCharWidth=r),r||10}function oi(t){for(var e=t.display,n={},i={},r=e.gutters.clientLeft,o=e.gutters.firstChild,s=0;o;o=o.nextSibling,++s){var a=t.display.gutterSpecs[s].className;n[a]=o.offsetLeft+o.clientLeft+r,i[a]=o.clientWidth}return{fixedPos:si(e),gutterTotalWidth:e.gutters.offsetWidth,gutterLeft:n,gutterWidth:i,wrapperWidth:e.wrapper.clientWidth}}function si(t){return t.scroller.getBoundingClientRect().left-t.sizer.getBoundingClientRect().left}function ai(t){var e=ii(t.display),n=t.options.lineWrapping,i=n&&Math.max(5,t.display.scroller.clientWidth/ri(t.display)-3);return function(r){if(He(t.doc,r))return 0;var o=0;if(r.widgets)for(var s=0;s<r.widgets.length;s++)r.widgets[s].height&&(o+=r.widgets[s].height);return n?o+(Math.ceil(r.text.length/i)||1)*e:o+e}}function li(t){var e=t.doc,n=ai(t);e.iter((function(t){var e=n(t);e!=t.height&&Kt(t,e)}))}function ci(t,e,n,i){var r=t.display;if(!n&&"true"==Tt(e).getAttribute("cm-not-content"))return null;var o,s,a=r.lineSpace.getBoundingClientRect();try{o=e.clientX-a.left,s=e.clientY-a.top}catch(t){return null}var l,c=Xn(t,o,s);if(i&&c.xRel>0&&(l=qt(t.doc,c.line).text).length==c.ch){var h=F(l,l.length,t.options.tabSize)-l.length;c=te(c.line,Math.max(0,Math.round((o-wn(t.display).left)/ri(t.display))-h))}return c}function hi(t,e){if(e>=t.display.viewTo)return null;if((e-=t.display.viewFrom)<0)return null;for(var n=t.display.view,i=0;i<n.length;i++)if((e-=n[i].size)<0)return i}function ui(t,e,n,i){null==e&&(e=t.doc.first),null==n&&(n=t.doc.first+t.doc.size),i||(i=0);var r=t.display;if(i&&n<r.viewTo&&(null==r.updateLineNumbers||r.updateLineNumbers>e)&&(r.updateLineNumbers=e),t.curOp.viewChanged=!0,e>=r.viewTo)be&&Be(t.doc,e)<r.viewTo&&di(t);else if(n<=r.viewFrom)be&&Ue(t.doc,n+i)>r.viewFrom?di(t):(r.viewFrom+=i,r.viewTo+=i);else if(e<=r.viewFrom&&n>=r.viewTo)di(t);else if(e<=r.viewFrom){var o=pi(t,n,n+i,1);o?(r.view=r.view.slice(o.index),r.viewFrom=o.lineN,r.viewTo+=i):di(t)}else if(n>=r.viewTo){var s=pi(t,e,e,-1);s?(r.view=r.view.slice(0,s.index),r.viewTo=s.lineN):di(t)}else{var a=pi(t,e,e,-1),l=pi(t,n,n+i,1);a&&l?(r.view=r.view.slice(0,a.index).concat(on(t,a.lineN,l.lineN)).concat(r.view.slice(l.index)),r.viewTo+=i):di(t)}var c=r.externalMeasured;c&&(n<c.lineN?c.lineN+=i:e<c.lineN+c.size&&(r.externalMeasured=null))}function fi(t,e,n){t.curOp.viewChanged=!0;var i=t.display,r=t.display.externalMeasured;if(r&&e>=r.lineN&&e<r.lineN+r.size&&(i.externalMeasured=null),!(e<i.viewFrom||e>=i.viewTo)){var o=i.view[hi(t,e)];if(null!=o.node){var s=o.changes||(o.changes=[]);-1==U(s,n)&&s.push(n)}}}function di(t){t.display.viewFrom=t.display.viewTo=t.doc.first,t.display.view=[],t.display.viewOffset=0}function pi(t,e,n,i){var r,o=hi(t,e),s=t.display.view;if(!be||n==t.doc.first+t.doc.size)return{index:o,lineN:n};for(var a=t.display.viewFrom,l=0;l<o;l++)a+=s[l].size;if(a!=e){if(i>0){if(o==s.length-1)return null;r=a+s[o].size-e,o++}else r=a-e;e+=r,n+=r}for(;Be(t.doc,n)!=n;){if(o==(i<0?0:s.length-1))return null;n+=i*s[o-(i<0?1:0)].size,o+=i}return{index:o,lineN:n}}function gi(t){for(var e=t.display.view,n=0,i=0;i<e.length;i++){var r=e[i];r.hidden||r.node&&!r.changes||++n}return n}function mi(t){t.display.input.showSelection(t.display.input.prepareSelection())}function vi(t,e){void 0===e&&(e=!0);var n=t.doc,i={},r=i.cursors=document.createDocumentFragment(),o=i.selection=document.createDocumentFragment(),s=t.options.$customCursor;s&&(e=!0);for(var a=0;a<n.sel.ranges.length;a++)if(e||a!=n.sel.primIndex){var l=n.sel.ranges[a];if(!(l.from().line>=t.display.viewTo||l.to().line<t.display.viewFrom)){var c=l.empty();if(s){var h=s(t,l);h&&_i(t,h,r)}else(c||t.options.showCursorWhenSelecting)&&_i(t,l.head,r);c||xi(t,l,o)}}return i}function _i(t,e,n){var i=Vn(t,e,"div",null,null,!t.options.singleCursorHeightPerLine),r=n.appendChild(L("div"," ","CodeMirror-cursor"));if(r.style.left=i.left+"px",r.style.top=i.top+"px",r.style.height=Math.max(0,i.bottom-i.top)*t.options.cursorHeight+"px",/\bcm-fat-cursor\b/.test(t.getWrapperElement().className)){var o=qn(t,e,"div",null,null),s=o.right-o.left;r.style.width=(s>0?s:t.defaultCharWidth())+"px"}if(i.other){var a=n.appendChild(L("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));a.style.display="",a.style.left=i.other.left+"px",a.style.top=i.other.top+"px",a.style.height=.85*(i.other.bottom-i.other.top)+"px"}}function yi(t,e){return t.top-e.top||t.left-e.left}function xi(t,e,n){var i=t.display,r=t.doc,o=document.createDocumentFragment(),s=wn(t.display),a=s.left,l=Math.max(i.sizerWidth,Sn(t)-i.sizer.offsetLeft)-s.right,c="ltr"==r.direction;function h(t,e,n,i){e<0&&(e=0),e=Math.round(e),i=Math.round(i),o.appendChild(L("div",null,"CodeMirror-selected","position: absolute; left: "+t+"px;\n top: "+e+"px; width: "+(null==n?l-t:n)+"px;\n height: "+(i-e)+"px"))}function u(e,n,i){var o,s,u=qt(r,e),f=u.text.length;function d(n,i){return qn(t,te(e,n),"div",u,i)}function p(e,n,i){var r=Zn(t,u,null,e),o="ltr"==n==("after"==i)?"left":"right";return d("after"==i?r.begin:r.end-(/\s/.test(u.text.charAt(r.end-1))?2:1),o)[o]}var g=ct(u,r.direction);return function(t,e,n,i){if(!t)return i(e,n,"ltr",0);for(var r=!1,o=0;o<t.length;++o){var s=t[o];(s.from<n&&s.to>e||e==n&&s.to==e)&&(i(Math.max(s.from,e),Math.min(s.to,n),1==s.level?"rtl":"ltr",o),r=!0)}r||i(e,n,"ltr")}(g,n||0,null==i?f:i,(function(t,e,r,u){var m="ltr"==r,v=d(t,m?"left":"right"),_=d(e-1,m?"right":"left"),y=null==n&&0==t,x=null==i&&e==f,k=0==u,b=!g||u==g.length-1;if(_.top-v.top<=3){var T=(c?x:y)&&b,C=(c?y:x)&&k?a:(m?v:_).left,w=T?l:(m?_:v).right;h(C,v.top,w-C,v.bottom)}else{var E,S,A,L;m?(E=c&&y&&k?a:v.left,S=c?l:p(t,r,"before"),A=c?a:p(e,r,"after"),L=c&&x&&b?l:_.right):(E=c?p(t,r,"before"):a,S=!c&&y&&k?l:v.right,A=!c&&x&&b?a:_.left,L=c?p(e,r,"after"):l),h(E,v.top,S-E,v.bottom),v.bottom<_.top&&h(a,v.bottom,null,_.top),h(A,_.top,L-A,_.bottom)}(!o||yi(v,o)<0)&&(o=v),yi(_,o)<0&&(o=_),(!s||yi(v,s)<0)&&(s=v),yi(_,s)<0&&(s=_)})),{start:o,end:s}}var f=e.from(),d=e.to();if(f.line==d.line)u(f.line,f.ch,d.ch);else{var p=qt(r,f.line),g=qt(r,d.line),m=Fe(p)==Fe(g),v=u(f.line,f.ch,m?p.text.length+1:null).end,_=u(d.line,m?0:null,d.ch).start;m&&(v.top<_.top-2?(h(v.right,v.top,null,v.bottom),h(a,_.top,_.left,_.bottom)):h(v.right,v.top,_.left-v.right,v.bottom)),v.bottom<_.top&&h(a,v.bottom,null,_.top)}n.appendChild(o)}function ki(t){if(t.state.focused){var e=t.display;clearInterval(e.blinker);var n=!0;e.cursorDiv.style.visibility="",t.options.cursorBlinkRate>0?e.blinker=setInterval((function(){t.hasFocus()||wi(t),e.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),t.options.cursorBlinkRate):t.options.cursorBlinkRate<0&&(e.cursorDiv.style.visibility="hidden")}}function bi(t){t.hasFocus()||(t.display.input.focus(),t.state.focused||Ci(t))}function Ti(t){t.state.delayingBlurEvent=!0,setTimeout((function(){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1,t.state.focused&&wi(t))}),100)}function Ci(t,e){t.state.delayingBlurEvent&&!t.state.draggingText&&(t.state.delayingBlurEvent=!1),"nocursor"!=t.options.readOnly&&(t.state.focused||(pt(t,"focus",t,e),t.state.focused=!0,M(t.display.wrapper,"CodeMirror-focused"),t.curOp||t.display.selForContextMenu==t.doc.sel||(t.display.input.reset(),l&&setTimeout((function(){return t.display.input.reset(!0)}),20)),t.display.input.receivedFocus()),ki(t))}function wi(t,e){t.state.delayingBlurEvent||(t.state.focused&&(pt(t,"blur",t,e),t.state.focused=!1,E(t.display.wrapper,"CodeMirror-focused")),clearInterval(t.display.blinker),setTimeout((function(){t.state.focused||(t.display.shift=!1)}),150))}function Ei(t){for(var e=t.display,n=e.lineDiv.offsetTop,i=Math.max(0,e.scroller.getBoundingClientRect().top),r=e.lineDiv.getBoundingClientRect().top,o=0,l=0;l<e.view.length;l++){var c=e.view[l],h=t.options.lineWrapping,u=void 0,f=0;if(!c.hidden){if(r+=c.line.height,s&&a<8){var d=c.node.offsetTop+c.node.offsetHeight;u=d-n,n=d}else{var p=c.node.getBoundingClientRect();u=p.bottom-p.top,!h&&c.text.firstChild&&(f=c.text.firstChild.getBoundingClientRect().right-p.left-1)}var g=c.line.height-u;if((g>.005||g<-.005)&&(r<i&&(o-=g),Kt(c.line,u),Si(c.line),c.rest))for(var m=0;m<c.rest.length;m++)Si(c.rest[m]);if(f>t.display.sizerWidth){var v=Math.ceil(f/ri(t.display));v>t.display.maxLineLength&&(t.display.maxLineLength=v,t.display.maxLine=c.line,t.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(e.scroller.scrollTop+=o)}function Si(t){if(t.widgets)for(var e=0;e<t.widgets.length;++e){var n=t.widgets[e],i=n.node.parentNode;i&&(n.height=i.offsetHeight)}}function Ai(t,e,n){var i=n&&null!=n.top?Math.max(0,n.top):t.scroller.scrollTop;i=Math.floor(i-Tn(t));var r=n&&null!=n.bottom?n.bottom:i+t.wrapper.clientHeight,o=Qt(e,i),s=Qt(e,r);if(n&&n.ensure){var a=n.ensure.from.line,l=n.ensure.to.line;a<o?(o=a,s=Qt(e,We(qt(e,a))+t.wrapper.clientHeight)):Math.min(l,e.lastLine())>=s&&(o=Qt(e,We(qt(e,l))-t.wrapper.clientHeight),s=l)}return{from:o,to:Math.max(s,o+1)}}function Li(t,e){var n=t.display,i=ii(t.display);e.top<0&&(e.top=0);var r=t.curOp&&null!=t.curOp.scrollTop?t.curOp.scrollTop:n.scroller.scrollTop,o=An(t),s={};e.bottom-e.top>o&&(e.bottom=e.top+o);var a=t.doc.height+Cn(n),l=e.top<i,c=e.bottom>a-i;if(e.top<r)s.scrollTop=l?0:e.top;else if(e.bottom>r+o){var h=Math.min(e.top,(c?a:e.bottom)-o);h!=r&&(s.scrollTop=h)}var u=t.options.fixedGutter?0:n.gutters.offsetWidth,f=t.curOp&&null!=t.curOp.scrollLeft?t.curOp.scrollLeft:n.scroller.scrollLeft-u,d=Sn(t)-n.gutters.offsetWidth,p=e.right-e.left>d;return p&&(e.right=e.left+d),e.left<10?s.scrollLeft=0:e.left<f?s.scrollLeft=Math.max(0,e.left+u-(p?0:10)):e.right>d+f-3&&(s.scrollLeft=e.right+(p?0:10)-d),s}function Oi(t,e){null!=e&&(Mi(t),t.curOp.scrollTop=(null==t.curOp.scrollTop?t.doc.scrollTop:t.curOp.scrollTop)+e)}function Ni(t){Mi(t);var e=t.getCursor();t.curOp.scrollToPos={from:e,to:e,margin:t.options.cursorScrollMargin}}function Ii(t,e,n){null==e&&null==n||Mi(t),null!=e&&(t.curOp.scrollLeft=e),null!=n&&(t.curOp.scrollTop=n)}function Mi(t){var e=t.curOp.scrollToPos;e&&(t.curOp.scrollToPos=null,$i(t,Yn(t,e.from),Yn(t,e.to),e.margin))}function $i(t,e,n,i){var r=Li(t,{left:Math.min(e.left,n.left),top:Math.min(e.top,n.top)-i,right:Math.max(e.right,n.right),bottom:Math.max(e.bottom,n.bottom)+i});Ii(t,r.scrollLeft,r.scrollTop)}function Ri(t,e){Math.abs(t.doc.scrollTop-e)<2||(n||lr(t,{top:e}),Di(t,e,!0),n&&lr(t),ir(t,100))}function Di(t,e,n){e=Math.max(0,Math.min(t.display.scroller.scrollHeight-t.display.scroller.clientHeight,e)),(t.display.scroller.scrollTop!=e||n)&&(t.doc.scrollTop=e,t.display.scrollbars.setScrollTop(e),t.display.scroller.scrollTop!=e&&(t.display.scroller.scrollTop=e))}function Pi(t,e,n,i){e=Math.max(0,Math.min(e,t.display.scroller.scrollWidth-t.display.scroller.clientWidth)),(n?e==t.doc.scrollLeft:Math.abs(t.doc.scrollLeft-e)<2)&&!i||(t.doc.scrollLeft=e,ur(t),t.display.scroller.scrollLeft!=e&&(t.display.scroller.scrollLeft=e),t.display.scrollbars.setScrollLeft(e))}function Fi(t){var e=t.display,n=e.gutters.offsetWidth,i=Math.round(t.doc.height+Cn(t.display));return{clientHeight:e.scroller.clientHeight,viewHeight:e.wrapper.clientHeight,scrollWidth:e.scroller.scrollWidth,clientWidth:e.scroller.clientWidth,viewWidth:e.wrapper.clientWidth,barLeft:t.options.fixedGutter?n:0,docHeight:i,scrollHeight:i+En(t)+e.barHeight,nativeBarWidth:e.nativeBarWidth,gutterWidth:n}}var Bi=function(t,e,n){this.cm=n;var i=this.vert=L("div",[L("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),r=this.horiz=L("div",[L("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");i.tabIndex=r.tabIndex=-1,t(i),t(r),ut(i,"scroll",(function(){i.clientHeight&&e(i.scrollTop,"vertical")})),ut(r,"scroll",(function(){r.clientWidth&&e(r.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,s&&a<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Bi.prototype.update=function(t){var e=t.scrollWidth>t.clientWidth+1,n=t.scrollHeight>t.clientHeight+1,i=t.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=e?i+"px":"0";var r=t.viewHeight-(e?i:0);this.vert.firstChild.style.height=Math.max(0,t.scrollHeight-t.clientHeight+r)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(e){this.horiz.style.display="block",this.horiz.style.right=n?i+"px":"0",this.horiz.style.left=t.barLeft+"px";var o=t.viewWidth-t.barLeft-(n?i:0);this.horiz.firstChild.style.width=Math.max(0,t.scrollWidth-t.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&t.clientHeight>0&&(0==i&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?i:0,bottom:e?i:0}},Bi.prototype.setScrollLeft=function(t){this.horiz.scrollLeft!=t&&(this.horiz.scrollLeft=t),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Bi.prototype.setScrollTop=function(t){this.vert.scrollTop!=t&&(this.vert.scrollTop=t),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Bi.prototype.zeroWidthHack=function(){var t=_&&!d?"12px":"18px";this.horiz.style.height=this.vert.style.width=t,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new B,this.disableVert=new B},Bi.prototype.enableZeroWidthBar=function(t,e,n){t.style.pointerEvents="auto",e.set(1e3,(function i(){var r=t.getBoundingClientRect();("vert"==n?document.elementFromPoint(r.right-1,(r.top+r.bottom)/2):document.elementFromPoint((r.right+r.left)/2,r.bottom-1))!=t?t.style.pointerEvents="none":e.set(1e3,i)}))},Bi.prototype.clear=function(){var t=this.horiz.parentNode;t.removeChild(this.horiz),t.removeChild(this.vert)};var Ui=function(){};function Hi(t,e){e||(e=Fi(t));var n=t.display.barWidth,i=t.display.barHeight;zi(t,e);for(var r=0;r<4&&n!=t.display.barWidth||i!=t.display.barHeight;r++)n!=t.display.barWidth&&t.options.lineWrapping&&Ei(t),zi(t,Fi(t)),n=t.display.barWidth,i=t.display.barHeight}function zi(t,e){var n=t.display,i=n.scrollbars.update(e);n.sizer.style.paddingRight=(n.barWidth=i.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=i.bottom)+"px",n.heightForcer.style.borderBottom=i.bottom+"px solid transparent",i.right&&i.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=i.bottom+"px",n.scrollbarFiller.style.width=i.right+"px"):n.scrollbarFiller.style.display="",i.bottom&&t.options.coverGutterNextToScrollbar&&t.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=i.bottom+"px",n.gutterFiller.style.width=e.gutterWidth+"px"):n.gutterFiller.style.display=""}Ui.prototype.update=function(){return{bottom:0,right:0}},Ui.prototype.setScrollLeft=function(){},Ui.prototype.setScrollTop=function(){},Ui.prototype.clear=function(){};var Wi={native:Bi,null:Ui};function ji(t){t.display.scrollbars&&(t.display.scrollbars.clear(),t.display.scrollbars.addClass&&E(t.display.wrapper,t.display.scrollbars.addClass)),t.display.scrollbars=new Wi[t.options.scrollbarStyle]((function(e){t.display.wrapper.insertBefore(e,t.display.scrollbarFiller),ut(e,"mousedown",(function(){t.state.focused&&setTimeout((function(){return t.display.input.focus()}),0)})),e.setAttribute("cm-not-content","true")}),(function(e,n){"horizontal"==n?Pi(t,e):Ri(t,e)}),t),t.display.scrollbars.addClass&&M(t.display.wrapper,t.display.scrollbars.addClass)}var Gi=0;function qi(t){var e;t.curOp={cm:t,viewChanged:!1,startHeight:t.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Gi,markArrays:null},e=t.curOp,sn?sn.ops.push(e):e.ownsGroup=sn={ops:[e],delayedCallbacks:[]}}function Vi(t){var e=t.curOp;e&&function(t,e){var n=t.ownsGroup;if(n)try{!function(t){var e=t.delayedCallbacks,n=0;do{for(;n<e.length;n++)e[n].call(null);for(var i=0;i<t.ops.length;i++){var r=t.ops[i];if(r.cursorActivityHandlers)for(;r.cursorActivityCalled<r.cursorActivityHandlers.length;)r.cursorActivityHandlers[r.cursorActivityCalled++].call(null,r.cm)}}while(n<e.length)}(n)}finally{sn=null,e(n)}}(e,(function(t){for(var e=0;e<t.ops.length;e++)t.ops[e].cm.curOp=null;!function(t){for(var e=t.ops,n=0;n<e.length;n++)Yi(e[n]);for(var i=0;i<e.length;i++)Ki(e[i]);for(var r=0;r<e.length;r++)Xi(e[r]);for(var o=0;o<e.length;o++)Qi(e[o]);for(var s=0;s<e.length;s++)Zi(e[s])}(t)}))}function Yi(t){var e=t.cm,n=e.display;!function(t){var e=t.display;!e.scrollbarsClipped&&e.scroller.offsetWidth&&(e.nativeBarWidth=e.scroller.offsetWidth-e.scroller.clientWidth,e.heightForcer.style.height=En(t)+"px",e.sizer.style.marginBottom=-e.nativeBarWidth+"px",e.sizer.style.borderRightWidth=En(t)+"px",e.scrollbarsClipped=!0)}(e),t.updateMaxLine&&Ge(e),t.mustUpdate=t.viewChanged||t.forceUpdate||null!=t.scrollTop||t.scrollToPos&&(t.scrollToPos.from.line<n.viewFrom||t.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&e.options.lineWrapping,t.update=t.mustUpdate&&new or(e,t.mustUpdate&&{top:t.scrollTop,ensure:t.scrollToPos},t.forceUpdate)}function Ki(t){t.updatedDisplay=t.mustUpdate&&sr(t.cm,t.update)}function Xi(t){var e=t.cm,n=e.display;t.updatedDisplay&&Ei(e),t.barMeasure=Fi(e),n.maxLineChanged&&!e.options.lineWrapping&&(t.adjustWidthTo=On(e,n.maxLine,n.maxLine.text.length).left+3,e.display.sizerWidth=t.adjustWidthTo,t.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+t.adjustWidthTo+En(e)+e.display.barWidth),t.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+t.adjustWidthTo-Sn(e))),(t.updatedDisplay||t.selectionChanged)&&(t.preparedSelection=n.input.prepareSelection())}function Qi(t){var e=t.cm;null!=t.adjustWidthTo&&(e.display.sizer.style.minWidth=t.adjustWidthTo+"px",t.maxScrollLeft<e.doc.scrollLeft&&Pi(e,Math.min(e.display.scroller.scrollLeft,t.maxScrollLeft),!0),e.display.maxLineChanged=!1);var n=t.focus&&t.focus==I();t.preparedSelection&&e.display.input.showSelection(t.preparedSelection,n),(t.updatedDisplay||t.startHeight!=e.doc.height)&&Hi(e,t.barMeasure),t.updatedDisplay&&hr(e,t.barMeasure),t.selectionChanged&&ki(e),e.state.focused&&t.updateInput&&e.display.input.reset(t.typing),n&&bi(t.cm)}function Zi(t){var e=t.cm,n=e.display,i=e.doc;if(t.updatedDisplay&&ar(e,t.update),null==n.wheelStartX||null==t.scrollTop&&null==t.scrollLeft&&!t.scrollToPos||(n.wheelStartX=n.wheelStartY=null),null!=t.scrollTop&&Di(e,t.scrollTop,t.forceScroll),null!=t.scrollLeft&&Pi(e,t.scrollLeft,!0,!0),t.scrollToPos){var r=function(t,e,n,i){var r;null==i&&(i=0),t.options.lineWrapping||e!=n||(n="before"==e.sticky?te(e.line,e.ch+1,"before"):e,e=e.ch?te(e.line,"before"==e.sticky?e.ch-1:e.ch,"after"):e);for(var o=0;o<5;o++){var s=!1,a=Vn(t,e),l=n&&n!=e?Vn(t,n):a,c=Li(t,r={left:Math.min(a.left,l.left),top:Math.min(a.top,l.top)-i,right:Math.max(a.left,l.left),bottom:Math.max(a.bottom,l.bottom)+i}),h=t.doc.scrollTop,u=t.doc.scrollLeft;if(null!=c.scrollTop&&(Ri(t,c.scrollTop),Math.abs(t.doc.scrollTop-h)>1&&(s=!0)),null!=c.scrollLeft&&(Pi(t,c.scrollLeft),Math.abs(t.doc.scrollLeft-u)>1&&(s=!0)),!s)break}return r}(e,ae(i,t.scrollToPos.from),ae(i,t.scrollToPos.to),t.scrollToPos.margin);!function(t,e){if(!gt(t,"scrollCursorIntoView")){var n=t.display,i=n.sizer.getBoundingClientRect(),r=null;if(e.top+i.top<0?r=!0:e.bottom+i.top>(window.innerHeight||document.documentElement.clientHeight)&&(r=!1),null!=r&&!p){var o=L("div","​",null,"position: absolute;\n top: "+(e.top-n.viewOffset-Tn(t.display))+"px;\n height: "+(e.bottom-e.top+En(t)+n.barHeight)+"px;\n left: "+e.left+"px; width: "+Math.max(2,e.right-e.left)+"px;");t.display.lineSpace.appendChild(o),o.scrollIntoView(r),t.display.lineSpace.removeChild(o)}}}(e,r)}var o=t.maybeHiddenMarkers,s=t.maybeUnhiddenMarkers;if(o)for(var a=0;a<o.length;++a)o[a].lines.length||pt(o[a],"hide");if(s)for(var l=0;l<s.length;++l)s[l].lines.length&&pt(s[l],"unhide");n.wrapper.offsetHeight&&(i.scrollTop=e.display.scroller.scrollTop),t.changeObjs&&pt(e,"changes",e,t.changeObjs),t.update&&t.update.finish()}function Ji(t,e){if(t.curOp)return e();qi(t);try{return e()}finally{Vi(t)}}function tr(t,e){return function(){if(t.curOp)return e.apply(t,arguments);qi(t);try{return e.apply(t,arguments)}finally{Vi(t)}}}function er(t){return function(){if(this.curOp)return t.apply(this,arguments);qi(this);try{return t.apply(this,arguments)}finally{Vi(this)}}}function nr(t){return function(){var e=this.cm;if(!e||e.curOp)return t.apply(this,arguments);qi(e);try{return t.apply(this,arguments)}finally{Vi(e)}}}function ir(t,e){t.doc.highlightFrontier<t.display.viewTo&&t.state.highlight.set(e,D(rr,t))}function rr(t){var e=t.doc;if(!(e.highlightFrontier>=t.display.viewTo)){var n=+new Date+t.options.workTime,i=de(t,e.highlightFrontier),r=[];e.iter(i.line,Math.min(e.first+e.size,t.display.viewTo+500),(function(o){if(i.line>=t.display.viewFrom){var s=o.styles,a=o.text.length>t.options.maxHighlightLength?zt(e.mode,i.state):null,l=ue(t,o,i,!0);a&&(i.state=a),o.styles=l.styles;var c=o.styleClasses,h=l.classes;h?o.styleClasses=h:c&&(o.styleClasses=null);for(var u=!s||s.length!=o.styles.length||c!=h&&(!c||!h||c.bgClass!=h.bgClass||c.textClass!=h.textClass),f=0;!u&&f<s.length;++f)u=s[f]!=o.styles[f];u&&r.push(i.line),o.stateAfter=i.save(),i.nextLine()}else o.text.length<=t.options.maxHighlightLength&&pe(t,o.text,i),o.stateAfter=i.line%5==0?i.save():null,i.nextLine();if(+new Date>n)return ir(t,t.options.workDelay),!0})),e.highlightFrontier=i.line,e.modeFrontier=Math.max(e.modeFrontier,i.line),r.length&&Ji(t,(function(){for(var e=0;e<r.length;e++)fi(t,r[e],"text")}))}}var or=function(t,e,n){var i=t.display;this.viewport=e,this.visible=Ai(i,t.doc,e),this.editorIsHidden=!i.wrapper.offsetWidth,this.wrapperHeight=i.wrapper.clientHeight,this.wrapperWidth=i.wrapper.clientWidth,this.oldDisplayWidth=Sn(t),this.force=n,this.dims=oi(t),this.events=[]};function sr(t,e){var n=t.display,i=t.doc;if(e.editorIsHidden)return di(t),!1;if(!e.force&&e.visible.from>=n.viewFrom&&e.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==gi(t))return!1;fr(t)&&(di(t),e.dims=oi(t));var r=i.first+i.size,o=Math.max(e.visible.from-t.options.viewportMargin,i.first),s=Math.min(r,e.visible.to+t.options.viewportMargin);n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(i.first,n.viewFrom)),n.viewTo>s&&n.viewTo-s<20&&(s=Math.min(r,n.viewTo)),be&&(o=Be(t.doc,o),s=Ue(t.doc,s));var a=o!=n.viewFrom||s!=n.viewTo||n.lastWrapHeight!=e.wrapperHeight||n.lastWrapWidth!=e.wrapperWidth;!function(t,e,n){var i=t.display;0==i.view.length||e>=i.viewTo||n<=i.viewFrom?(i.view=on(t,e,n),i.viewFrom=e):(i.viewFrom>e?i.view=on(t,e,i.viewFrom).concat(i.view):i.viewFrom<e&&(i.view=i.view.slice(hi(t,e))),i.viewFrom=e,i.viewTo<n?i.view=i.view.concat(on(t,i.viewTo,n)):i.viewTo>n&&(i.view=i.view.slice(0,hi(t,n)))),i.viewTo=n}(t,o,s),n.viewOffset=We(qt(t.doc,n.viewFrom)),t.display.mover.style.top=n.viewOffset+"px";var c=gi(t);if(!a&&0==c&&!e.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var h=function(t){if(t.hasFocus())return null;var e=I();if(!e||!N(t.display.lineDiv,e))return null;var n={activeElt:e};if(window.getSelection){var i=window.getSelection();i.anchorNode&&i.extend&&N(t.display.lineDiv,i.anchorNode)&&(n.anchorNode=i.anchorNode,n.anchorOffset=i.anchorOffset,n.focusNode=i.focusNode,n.focusOffset=i.focusOffset)}return n}(t);return c>4&&(n.lineDiv.style.display="none"),function(t,e,n){var i=t.display,r=t.options.lineNumbers,o=i.lineDiv,s=o.firstChild;function a(e){var n=e.nextSibling;return l&&_&&t.display.currentWheelTarget==e?e.style.display="none":e.parentNode.removeChild(e),n}for(var c=i.view,h=i.viewFrom,u=0;u<c.length;u++){var f=c[u];if(f.hidden);else if(f.node&&f.node.parentNode==o){for(;s!=f.node;)s=a(s);var d=r&&null!=e&&e<=h&&f.lineNumber;f.changes&&(U(f.changes,"gutter")>-1&&(d=!1),hn(t,f,h,n)),d&&(S(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(Jt(t.options,h)))),s=f.node.nextSibling}else{var p=vn(t,f,h,n);o.insertBefore(p,s)}h+=f.size}for(;s;)s=a(s)}(t,n.updateLineNumbers,e.dims),c>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(t){if(t&&t.activeElt&&t.activeElt!=I()&&(t.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(t.activeElt.nodeName)&&t.anchorNode&&N(document.body,t.anchorNode)&&N(document.body,t.focusNode))){var e=window.getSelection(),n=document.createRange();n.setEnd(t.anchorNode,t.anchorOffset),n.collapse(!1),e.removeAllRanges(),e.addRange(n),e.extend(t.focusNode,t.focusOffset)}}(h),S(n.cursorDiv),S(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,a&&(n.lastWrapHeight=e.wrapperHeight,n.lastWrapWidth=e.wrapperWidth,ir(t,400)),n.updateLineNumbers=null,!0}function ar(t,e){for(var n=e.viewport,i=!0;;i=!1){if(i&&t.options.lineWrapping&&e.oldDisplayWidth!=Sn(t))i&&(e.visible=Ai(t.display,t.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(t.doc.height+Cn(t.display)-An(t),n.top)}),e.visible=Ai(t.display,t.doc,n),e.visible.from>=t.display.viewFrom&&e.visible.to<=t.display.viewTo)break;if(!sr(t,e))break;Ei(t);var r=Fi(t);mi(t),Hi(t,r),hr(t,r),e.force=!1}e.signal(t,"update",t),t.display.viewFrom==t.display.reportedViewFrom&&t.display.viewTo==t.display.reportedViewTo||(e.signal(t,"viewportChange",t,t.display.viewFrom,t.display.viewTo),t.display.reportedViewFrom=t.display.viewFrom,t.display.reportedViewTo=t.display.viewTo)}function lr(t,e){var n=new or(t,e);if(sr(t,n)){Ei(t),ar(t,n);var i=Fi(t);mi(t),Hi(t,i),hr(t,i),n.finish()}}function cr(t){var e=t.gutters.offsetWidth;t.sizer.style.marginLeft=e+"px",ln(t,"gutterChanged",t)}function hr(t,e){t.display.sizer.style.minHeight=e.docHeight+"px",t.display.heightForcer.style.top=e.docHeight+"px",t.display.gutters.style.height=e.docHeight+t.display.barHeight+En(t)+"px"}function ur(t){var e=t.display,n=e.view;if(e.alignWidgets||e.gutters.firstChild&&t.options.fixedGutter){for(var i=si(e)-e.scroller.scrollLeft+t.doc.scrollLeft,r=e.gutters.offsetWidth,o=i+"px",s=0;s<n.length;s++)if(!n[s].hidden){t.options.fixedGutter&&(n[s].gutter&&(n[s].gutter.style.left=o),n[s].gutterBackground&&(n[s].gutterBackground.style.left=o));var a=n[s].alignable;if(a)for(var l=0;l<a.length;l++)a[l].style.left=o}t.options.fixedGutter&&(e.gutters.style.left=i+r+"px")}}function fr(t){if(!t.options.lineNumbers)return!1;var e=t.doc,n=Jt(t.options,e.first+e.size-1),i=t.display;if(n.length!=i.lineNumChars){var r=i.measure.appendChild(L("div",[L("div",n)],"CodeMirror-linenumber CodeMirror-gutter-elt")),o=r.firstChild.offsetWidth,s=r.offsetWidth-o;return i.lineGutter.style.width="",i.lineNumInnerWidth=Math.max(o,i.lineGutter.offsetWidth-s)+1,i.lineNumWidth=i.lineNumInnerWidth+s,i.lineNumChars=i.lineNumInnerWidth?n.length:-1,i.lineGutter.style.width=i.lineNumWidth+"px",cr(t.display),!0}return!1}function dr(t,e){for(var n=[],i=!1,r=0;r<t.length;r++){var o=t[r],s=null;if("string"!=typeof o&&(s=o.style,o=o.className),"CodeMirror-linenumbers"==o){if(!e)continue;i=!0}n.push({className:o,style:s})}return e&&!i&&n.push({className:"CodeMirror-linenumbers",style:null}),n}function pr(t){var e=t.gutters,n=t.gutterSpecs;S(e),t.lineGutter=null;for(var i=0;i<n.length;++i){var r=n[i],o=r.className,s=r.style,a=e.appendChild(L("div",null,"CodeMirror-gutter "+o));s&&(a.style.cssText=s),"CodeMirror-linenumbers"==o&&(t.lineGutter=a,a.style.width=(t.lineNumWidth||1)+"px")}e.style.display=n.length?"":"none",cr(t)}function gr(t){pr(t.display),ui(t),ur(t)}function mr(t,e,i,r){var o=this;this.input=i,o.scrollbarFiller=L("div",null,"CodeMirror-scrollbar-filler"),o.scrollbarFiller.setAttribute("cm-not-content","true"),o.gutterFiller=L("div",null,"CodeMirror-gutter-filler"),o.gutterFiller.setAttribute("cm-not-content","true"),o.lineDiv=O("div",null,"CodeMirror-code"),o.selectionDiv=L("div",null,null,"position: relative; z-index: 1"),o.cursorDiv=L("div",null,"CodeMirror-cursors"),o.measure=L("div",null,"CodeMirror-measure"),o.lineMeasure=L("div",null,"CodeMirror-measure"),o.lineSpace=O("div",[o.measure,o.lineMeasure,o.selectionDiv,o.cursorDiv,o.lineDiv],null,"position: relative; outline: none");var c=O("div",[o.lineSpace],"CodeMirror-lines");o.mover=L("div",[c],null,"position: relative"),o.sizer=L("div",[o.mover],"CodeMirror-sizer"),o.sizerWidth=null,o.heightForcer=L("div",null,null,"position: absolute; height: 50px; width: 1px;"),o.gutters=L("div",null,"CodeMirror-gutters"),o.lineGutter=null,o.scroller=L("div",[o.sizer,o.heightForcer,o.gutters],"CodeMirror-scroll"),o.scroller.setAttribute("tabIndex","-1"),o.wrapper=L("div",[o.scrollbarFiller,o.gutterFiller,o.scroller],"CodeMirror"),o.wrapper.setAttribute("translate","no"),s&&a<8&&(o.gutters.style.zIndex=-1,o.scroller.style.paddingRight=0),l||n&&v||(o.scroller.draggable=!0),t&&(t.appendChild?t.appendChild(o.wrapper):t(o.wrapper)),o.viewFrom=o.viewTo=e.first,o.reportedViewFrom=o.reportedViewTo=e.first,o.view=[],o.renderedView=null,o.externalMeasured=null,o.viewOffset=0,o.lastWrapHeight=o.lastWrapWidth=0,o.updateLineNumbers=null,o.nativeBarWidth=o.barHeight=o.barWidth=0,o.scrollbarsClipped=!1,o.lineNumWidth=o.lineNumInnerWidth=o.lineNumChars=null,o.alignWidgets=!1,o.cachedCharWidth=o.cachedTextHeight=o.cachedPaddingH=null,o.maxLine=null,o.maxLineLength=0,o.maxLineChanged=!1,o.wheelDX=o.wheelDY=o.wheelStartX=o.wheelStartY=null,o.shift=!1,o.selForContextMenu=null,o.activeTouch=null,o.gutterSpecs=dr(r.gutters,r.lineNumbers),pr(o),i.init(o)}or.prototype.signal=function(t,e){vt(t,e)&&this.events.push(arguments)},or.prototype.finish=function(){for(var t=0;t<this.events.length;t++)pt.apply(null,this.events[t])};var vr=0,_r=null;function yr(t){var e=t.wheelDeltaX,n=t.wheelDeltaY;return null==e&&t.detail&&t.axis==t.HORIZONTAL_AXIS&&(e=t.detail),null==n&&t.detail&&t.axis==t.VERTICAL_AXIS?n=t.detail:null==n&&(n=t.wheelDelta),{x:e,y:n}}function xr(t){var e=yr(t);return e.x*=_r,e.y*=_r,e}function kr(t,e){var i=yr(e),r=i.x,o=i.y,s=_r;0===e.deltaMode&&(r=e.deltaX,o=e.deltaY,s=1);var a=t.display,c=a.scroller,h=c.scrollWidth>c.clientWidth,f=c.scrollHeight>c.clientHeight;if(r&&h||o&&f){if(o&&_&&l)t:for(var d=e.target,p=a.view;d!=c;d=d.parentNode)for(var g=0;g<p.length;g++)if(p[g].node==d){t.display.currentWheelTarget=d;break t}if(r&&!n&&!u&&null!=s)return o&&f&&Ri(t,Math.max(0,c.scrollTop+o*s)),Pi(t,Math.max(0,c.scrollLeft+r*s)),(!o||o&&f)&&yt(e),void(a.wheelStartX=null);if(o&&null!=s){var m=o*s,v=t.doc.scrollTop,y=v+a.wrapper.clientHeight;m<0?v=Math.max(0,v+m-50):y=Math.min(t.doc.height,y+m+50),lr(t,{top:v,bottom:y})}vr<20&&0!==e.deltaMode&&(null==a.wheelStartX?(a.wheelStartX=c.scrollLeft,a.wheelStartY=c.scrollTop,a.wheelDX=r,a.wheelDY=o,setTimeout((function(){if(null!=a.wheelStartX){var t=c.scrollLeft-a.wheelStartX,e=c.scrollTop-a.wheelStartY,n=e&&a.wheelDY&&e/a.wheelDY||t&&a.wheelDX&&t/a.wheelDX;a.wheelStartX=a.wheelStartY=null,n&&(_r=(_r*vr+n)/(vr+1),++vr)}}),200)):(a.wheelDX+=r,a.wheelDY+=o))}}s?_r=-.53:n?_r=15:h?_r=-.7:f&&(_r=-1/3);var br=function(t,e){this.ranges=t,this.primIndex=e};br.prototype.primary=function(){return this.ranges[this.primIndex]},br.prototype.equals=function(t){if(t==this)return!0;if(t.primIndex!=this.primIndex||t.ranges.length!=this.ranges.length)return!1;for(var e=0;e<this.ranges.length;e++){var n=this.ranges[e],i=t.ranges[e];if(!ne(n.anchor,i.anchor)||!ne(n.head,i.head))return!1}return!0},br.prototype.deepCopy=function(){for(var t=[],e=0;e<this.ranges.length;e++)t[e]=new Tr(ie(this.ranges[e].anchor),ie(this.ranges[e].head));return new br(t,this.primIndex)},br.prototype.somethingSelected=function(){for(var t=0;t<this.ranges.length;t++)if(!this.ranges[t].empty())return!0;return!1},br.prototype.contains=function(t,e){e||(e=t);for(var n=0;n<this.ranges.length;n++){var i=this.ranges[n];if(ee(e,i.from())>=0&&ee(t,i.to())<=0)return n}return-1};var Tr=function(t,e){this.anchor=t,this.head=e};function Cr(t,e,n){var i=t&&t.options.selectionsMayTouch,r=e[n];e.sort((function(t,e){return ee(t.from(),e.from())})),n=U(e,r);for(var o=1;o<e.length;o++){var s=e[o],a=e[o-1],l=ee(a.to(),s.from());if(i&&!s.empty()?l>0:l>=0){var c=oe(a.from(),s.from()),h=re(a.to(),s.to()),u=a.empty()?s.from()==s.head:a.from()==a.head;o<=n&&--n,e.splice(--o,2,new Tr(u?h:c,u?c:h))}}return new br(e,n)}function wr(t,e){return new br([new Tr(t,e||t)],0)}function Er(t){return t.text?te(t.from.line+t.text.length-1,Y(t.text).length+(1==t.text.length?t.from.ch:0)):t.to}function Sr(t,e){if(ee(t,e.from)<0)return t;if(ee(t,e.to)<=0)return Er(e);var n=t.line+e.text.length-(e.to.line-e.from.line)-1,i=t.ch;return t.line==e.to.line&&(i+=Er(e).ch-e.to.ch),te(n,i)}function Ar(t,e){for(var n=[],i=0;i<t.sel.ranges.length;i++){var r=t.sel.ranges[i];n.push(new Tr(Sr(r.anchor,e),Sr(r.head,e)))}return Cr(t.cm,n,t.sel.primIndex)}function Lr(t,e,n){return t.line==e.line?te(n.line,t.ch-e.ch+n.ch):te(n.line+(t.line-e.line),t.ch)}function Or(t){t.doc.mode=Bt(t.options,t.doc.modeOption),Nr(t)}function Nr(t){t.doc.iter((function(t){t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null)})),t.doc.modeFrontier=t.doc.highlightFrontier=t.doc.first,ir(t,100),t.state.modeGen++,t.curOp&&ui(t)}function Ir(t,e){return 0==e.from.ch&&0==e.to.ch&&""==Y(e.text)&&(!t.cm||t.cm.options.wholeLineUpdateBefore)}function Mr(t,e,n,i){function r(t){return n?n[t]:null}function o(t,n,r){!function(t,e,n,i){t.text=e,t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null),null!=t.order&&(t.order=null),Ae(t),Le(t,n);var r=i?i(t):1;r!=t.height&&Kt(t,r)}(t,n,r,i),ln(t,"change",t,e)}function s(t,e){for(var n=[],o=t;o<e;++o)n.push(new qe(c[o],r(o),i));return n}var a=e.from,l=e.to,c=e.text,h=qt(t,a.line),u=qt(t,l.line),f=Y(c),d=r(c.length-1),p=l.line-a.line;if(e.full)t.insert(0,s(0,c.length)),t.remove(c.length,t.size-c.length);else if(Ir(t,e)){var g=s(0,c.length-1);o(u,u.text,d),p&&t.remove(a.line,p),g.length&&t.insert(a.line,g)}else if(h==u)if(1==c.length)o(h,h.text.slice(0,a.ch)+f+h.text.slice(l.ch),d);else{var m=s(1,c.length-1);m.push(new qe(f+h.text.slice(l.ch),d,i)),o(h,h.text.slice(0,a.ch)+c[0],r(0)),t.insert(a.line+1,m)}else if(1==c.length)o(h,h.text.slice(0,a.ch)+c[0]+u.text.slice(l.ch),r(0)),t.remove(a.line+1,p);else{o(h,h.text.slice(0,a.ch)+c[0],r(0)),o(u,f+u.text.slice(l.ch),d);var v=s(1,c.length-1);p>1&&t.remove(a.line+1,p-1),t.insert(a.line+1,v)}ln(t,"change",t,e)}function $r(t,e,n){!function t(i,r,o){if(i.linked)for(var s=0;s<i.linked.length;++s){var a=i.linked[s];if(a.doc!=r){var l=o&&a.sharedHist;n&&!l||(e(a.doc,l),t(a.doc,i,l))}}}(t,null,!0)}function Rr(t,e){if(e.cm)throw new Error("This document is already in use.");t.doc=e,e.cm=t,li(t),Or(t),Dr(t),t.options.direction=e.direction,t.options.lineWrapping||Ge(t),t.options.mode=e.modeOption,ui(t)}function Dr(t){("rtl"==t.doc.direction?M:E)(t.display.lineDiv,"CodeMirror-rtl")}function Pr(t){this.done=[],this.undone=[],this.undoDepth=t?t.undoDepth:1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=t?t.maxGeneration:1}function Fr(t,e){var n={from:ie(e.from),to:Er(e),text:Vt(t,e.from,e.to)};return Wr(t,n,e.from.line,e.to.line+1),$r(t,(function(t){return Wr(t,n,e.from.line,e.to.line+1)}),!0),n}function Br(t){for(;t.length&&Y(t).ranges;)t.pop()}function Ur(t,e,n,i){var r=t.history;r.undone.length=0;var o,s,a=+new Date;if((r.lastOp==i||r.lastOrigin==e.origin&&e.origin&&("+"==e.origin.charAt(0)&&r.lastModTime>a-(t.cm?t.cm.options.historyEventDelay:500)||"*"==e.origin.charAt(0)))&&(o=function(t,e){return e?(Br(t.done),Y(t.done)):t.done.length&&!Y(t.done).ranges?Y(t.done):t.done.length>1&&!t.done[t.done.length-2].ranges?(t.done.pop(),Y(t.done)):void 0}(r,r.lastOp==i)))s=Y(o.changes),0==ee(e.from,e.to)&&0==ee(e.from,s.to)?s.to=Er(e):o.changes.push(Fr(t,e));else{var l=Y(r.done);for(l&&l.ranges||zr(t.sel,r.done),o={changes:[Fr(t,e)],generation:r.generation},r.done.push(o);r.done.length>r.undoDepth;)r.done.shift(),r.done[0].ranges||r.done.shift()}r.done.push(n),r.generation=++r.maxGeneration,r.lastModTime=r.lastSelTime=a,r.lastOp=r.lastSelOp=i,r.lastOrigin=r.lastSelOrigin=e.origin,s||pt(t,"historyAdded")}function Hr(t,e,n,i){var r=t.history,o=i&&i.origin;n==r.lastSelOp||o&&r.lastSelOrigin==o&&(r.lastModTime==r.lastSelTime&&r.lastOrigin==o||function(t,e,n,i){var r=e.charAt(0);return"*"==r||"+"==r&&n.ranges.length==i.ranges.length&&n.somethingSelected()==i.somethingSelected()&&new Date-t.history.lastSelTime<=(t.cm?t.cm.options.historyEventDelay:500)}(t,o,Y(r.done),e))?r.done[r.done.length-1]=e:zr(e,r.done),r.lastSelTime=+new Date,r.lastSelOrigin=o,r.lastSelOp=n,i&&!1!==i.clearRedo&&Br(r.undone)}function zr(t,e){var n=Y(e);n&&n.ranges&&n.equals(t)||e.push(t)}function Wr(t,e,n,i){var r=e["spans_"+t.id],o=0;t.iter(Math.max(t.first,n),Math.min(t.first+t.size,i),(function(n){n.markedSpans&&((r||(r=e["spans_"+t.id]={}))[o]=n.markedSpans),++o}))}function jr(t){if(!t)return null;for(var e,n=0;n<t.length;++n)t[n].marker.explicitlyCleared?e||(e=t.slice(0,n)):e&&e.push(t[n]);return e?e.length?e:null:t}function Gr(t,e){var n=function(t,e){var n=e["spans_"+t.id];if(!n)return null;for(var i=[],r=0;r<e.text.length;++r)i.push(jr(n[r]));return i}(t,e),i=Ee(t,e);if(!n)return i;if(!i)return n;for(var r=0;r<n.length;++r){var o=n[r],s=i[r];if(o&&s)t:for(var a=0;a<s.length;++a){for(var l=s[a],c=0;c<o.length;++c)if(o[c].marker==l.marker)continue t;o.push(l)}else s&&(n[r]=s)}return n}function qr(t,e,n){for(var i=[],r=0;r<t.length;++r){var o=t[r];if(o.ranges)i.push(n?br.prototype.deepCopy.call(o):o);else{var s=o.changes,a=[];i.push({changes:a});for(var l=0;l<s.length;++l){var c=s[l],h=void 0;if(a.push({from:c.from,to:c.to,text:c.text}),e)for(var u in c)(h=u.match(/^spans_(\d+)$/))&&U(e,Number(h[1]))>-1&&(Y(a)[u]=c[u],delete c[u])}}}return i}function Vr(t,e,n,i){if(i){var r=t.anchor;if(n){var o=ee(e,r)<0;o!=ee(n,r)<0?(r=e,e=n):o!=ee(e,n)<0&&(e=n)}return new Tr(r,e)}return new Tr(n||e,e)}function Yr(t,e,n,i,r){null==r&&(r=t.cm&&(t.cm.display.shift||t.extend)),Jr(t,new br([Vr(t.sel.primary(),e,n,r)],0),i)}function Kr(t,e,n){for(var i=[],r=t.cm&&(t.cm.display.shift||t.extend),o=0;o<t.sel.ranges.length;o++)i[o]=Vr(t.sel.ranges[o],e[o],null,r);Jr(t,Cr(t.cm,i,t.sel.primIndex),n)}function Xr(t,e,n,i){var r=t.sel.ranges.slice(0);r[e]=n,Jr(t,Cr(t.cm,r,t.sel.primIndex),i)}function Qr(t,e,n,i){Jr(t,wr(e,n),i)}function Zr(t,e,n){var i=t.history.done,r=Y(i);r&&r.ranges?(i[i.length-1]=e,to(t,e,n)):Jr(t,e,n)}function Jr(t,e,n){to(t,e,n),Hr(t,t.sel,t.cm?t.cm.curOp.id:NaN,n)}function to(t,e,n){(vt(t,"beforeSelectionChange")||t.cm&&vt(t.cm,"beforeSelectionChange"))&&(e=function(t,e,n){var i={ranges:e.ranges,update:function(e){this.ranges=[];for(var n=0;n<e.length;n++)this.ranges[n]=new Tr(ae(t,e[n].anchor),ae(t,e[n].head))},origin:n&&n.origin};return pt(t,"beforeSelectionChange",t,i),t.cm&&pt(t.cm,"beforeSelectionChange",t.cm,i),i.ranges!=e.ranges?Cr(t.cm,i.ranges,i.ranges.length-1):e}(t,e,n));var i=n&&n.bias||(ee(e.primary().head,t.sel.primary().head)<0?-1:1);eo(t,io(t,e,i,!0)),n&&!1===n.scroll||!t.cm||"nocursor"==t.cm.getOption("readOnly")||Ni(t.cm)}function eo(t,e){e.equals(t.sel)||(t.sel=e,t.cm&&(t.cm.curOp.updateInput=1,t.cm.curOp.selectionChanged=!0,mt(t.cm)),ln(t,"cursorActivity",t))}function no(t){eo(t,io(t,t.sel,null,!1))}function io(t,e,n,i){for(var r,o=0;o<e.ranges.length;o++){var s=e.ranges[o],a=e.ranges.length==t.sel.ranges.length&&t.sel.ranges[o],l=oo(t,s.anchor,a&&a.anchor,n,i),c=oo(t,s.head,a&&a.head,n,i);(r||l!=s.anchor||c!=s.head)&&(r||(r=e.ranges.slice(0,o)),r[o]=new Tr(l,c))}return r?Cr(t.cm,r,e.primIndex):e}function ro(t,e,n,i,r){var o=qt(t,e.line);if(o.markedSpans)for(var s=0;s<o.markedSpans.length;++s){var a=o.markedSpans[s],l=a.marker,c="selectLeft"in l?!l.selectLeft:l.inclusiveLeft,h="selectRight"in l?!l.selectRight:l.inclusiveRight;if((null==a.from||(c?a.from<=e.ch:a.from<e.ch))&&(null==a.to||(h?a.to>=e.ch:a.to>e.ch))){if(r&&(pt(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--s;continue}break}if(!l.atomic)continue;if(n){var u=l.find(i<0?1:-1),f=void 0;if((i<0?h:c)&&(u=so(t,u,-i,u&&u.line==e.line?o:null)),u&&u.line==e.line&&(f=ee(u,n))&&(i<0?f<0:f>0))return ro(t,u,e,i,r)}var d=l.find(i<0?-1:1);return(i<0?c:h)&&(d=so(t,d,i,d.line==e.line?o:null)),d?ro(t,d,e,i,r):null}}return e}function oo(t,e,n,i,r){var o=i||1,s=ro(t,e,n,o,r)||!r&&ro(t,e,n,o,!0)||ro(t,e,n,-o,r)||!r&&ro(t,e,n,-o,!0);return s||(t.cantEdit=!0,te(t.first,0))}function so(t,e,n,i){return n<0&&0==e.ch?e.line>t.first?ae(t,te(e.line-1)):null:n>0&&e.ch==(i||qt(t,e.line)).text.length?e.line<t.first+t.size-1?te(e.line+1,0):null:new te(e.line,e.ch+n)}function ao(t){t.setSelection(te(t.firstLine(),0),te(t.lastLine()),z)}function lo(t,e,n){var i={canceled:!1,from:e.from,to:e.to,text:e.text,origin:e.origin,cancel:function(){return i.canceled=!0}};return n&&(i.update=function(e,n,r,o){e&&(i.from=ae(t,e)),n&&(i.to=ae(t,n)),r&&(i.text=r),void 0!==o&&(i.origin=o)}),pt(t,"beforeChange",t,i),t.cm&&pt(t.cm,"beforeChange",t.cm,i),i.canceled?(t.cm&&(t.cm.curOp.updateInput=2),null):{from:i.from,to:i.to,text:i.text,origin:i.origin}}function co(t,e,n){if(t.cm){if(!t.cm.curOp)return tr(t.cm,co)(t,e,n);if(t.cm.state.suppressEdits)return}if(!(vt(t,"beforeChange")||t.cm&&vt(t.cm,"beforeChange"))||(e=lo(t,e,!0))){var i=ke&&!n&&function(t,e,n){var i=null;if(t.iter(e.line,n.line+1,(function(t){if(t.markedSpans)for(var e=0;e<t.markedSpans.length;++e){var n=t.markedSpans[e].marker;!n.readOnly||i&&-1!=U(i,n)||(i||(i=[])).push(n)}})),!i)return null;for(var r=[{from:e,to:n}],o=0;o<i.length;++o)for(var s=i[o],a=s.find(0),l=0;l<r.length;++l){var c=r[l];if(!(ee(c.to,a.from)<0||ee(c.from,a.to)>0)){var h=[l,1],u=ee(c.from,a.from),f=ee(c.to,a.to);(u<0||!s.inclusiveLeft&&!u)&&h.push({from:c.from,to:a.from}),(f>0||!s.inclusiveRight&&!f)&&h.push({from:a.to,to:c.to}),r.splice.apply(r,h),l+=h.length-3}}return r}(t,e.from,e.to);if(i)for(var r=i.length-1;r>=0;--r)ho(t,{from:i[r].from,to:i[r].to,text:r?[""]:e.text,origin:e.origin});else ho(t,e)}}function ho(t,e){if(1!=e.text.length||""!=e.text[0]||0!=ee(e.from,e.to)){var n=Ar(t,e);Ur(t,e,n,t.cm?t.cm.curOp.id:NaN),po(t,e,n,Ee(t,e));var i=[];$r(t,(function(t,n){n||-1!=U(i,t.history)||(_o(t.history,e),i.push(t.history)),po(t,e,null,Ee(t,e))}))}}function uo(t,e,n){var i=t.cm&&t.cm.state.suppressEdits;if(!i||n){for(var r,o=t.history,s=t.sel,a="undo"==e?o.done:o.undone,l="undo"==e?o.undone:o.done,c=0;c<a.length&&(r=a[c],n?!r.ranges||r.equals(t.sel):r.ranges);c++);if(c!=a.length){for(o.lastOrigin=o.lastSelOrigin=null;;){if(!(r=a.pop()).ranges){if(i)return void a.push(r);break}if(zr(r,l),n&&!r.equals(t.sel))return void Jr(t,r,{clearRedo:!1});s=r}var h=[];zr(s,l),l.push({changes:h,generation:o.generation}),o.generation=r.generation||++o.maxGeneration;for(var u=vt(t,"beforeChange")||t.cm&&vt(t.cm,"beforeChange"),f=function(n){var i=r.changes[n];if(i.origin=e,u&&!lo(t,i,!1))return a.length=0,{};h.push(Fr(t,i));var o=n?Ar(t,i):Y(a);po(t,i,o,Gr(t,i)),!n&&t.cm&&t.cm.scrollIntoView({from:i.from,to:Er(i)});var s=[];$r(t,(function(t,e){e||-1!=U(s,t.history)||(_o(t.history,i),s.push(t.history)),po(t,i,null,Gr(t,i))}))},d=r.changes.length-1;d>=0;--d){var p=f(d);if(p)return p.v}}}}function fo(t,e){if(0!=e&&(t.first+=e,t.sel=new br(K(t.sel.ranges,(function(t){return new Tr(te(t.anchor.line+e,t.anchor.ch),te(t.head.line+e,t.head.ch))})),t.sel.primIndex),t.cm)){ui(t.cm,t.first,t.first-e,e);for(var n=t.cm.display,i=n.viewFrom;i<n.viewTo;i++)fi(t.cm,i,"gutter")}}function po(t,e,n,i){if(t.cm&&!t.cm.curOp)return tr(t.cm,po)(t,e,n,i);if(e.to.line<t.first)fo(t,e.text.length-1-(e.to.line-e.from.line));else if(!(e.from.line>t.lastLine())){if(e.from.line<t.first){var r=e.text.length-1-(t.first-e.from.line);fo(t,r),e={from:te(t.first,0),to:te(e.to.line+r,e.to.ch),text:[Y(e.text)],origin:e.origin}}var o=t.lastLine();e.to.line>o&&(e={from:e.from,to:te(o,qt(t,o).text.length),text:[e.text[0]],origin:e.origin}),e.removed=Vt(t,e.from,e.to),n||(n=Ar(t,e)),t.cm?function(t,e,n){var i=t.doc,r=t.display,o=e.from,s=e.to,a=!1,l=o.line;t.options.lineWrapping||(l=Xt(Fe(qt(i,o.line))),i.iter(l,s.line+1,(function(t){if(t==r.maxLine)return a=!0,!0}))),i.sel.contains(e.from,e.to)>-1&&mt(t),Mr(i,e,n,ai(t)),t.options.lineWrapping||(i.iter(l,o.line+e.text.length,(function(t){var e=je(t);e>r.maxLineLength&&(r.maxLine=t,r.maxLineLength=e,r.maxLineChanged=!0,a=!1)})),a&&(t.curOp.updateMaxLine=!0)),function(t,e){if(t.modeFrontier=Math.min(t.modeFrontier,e),!(t.highlightFrontier<e-10)){for(var n=t.first,i=e-1;i>n;i--){var r=qt(t,i).stateAfter;if(r&&(!(r instanceof ce)||i+r.lookAhead<e)){n=i+1;break}}t.highlightFrontier=Math.min(t.highlightFrontier,n)}}(i,o.line),ir(t,400);var c=e.text.length-(s.line-o.line)-1;e.full?ui(t):o.line!=s.line||1!=e.text.length||Ir(t.doc,e)?ui(t,o.line,s.line+1,c):fi(t,o.line,"text");var h=vt(t,"changes"),u=vt(t,"change");if(u||h){var f={from:o,to:s,text:e.text,removed:e.removed,origin:e.origin};u&&ln(t,"change",t,f),h&&(t.curOp.changeObjs||(t.curOp.changeObjs=[])).push(f)}t.display.selForContextMenu=null}(t.cm,e,i):Mr(t,e,i),to(t,n,z),t.cantEdit&&oo(t,te(t.firstLine(),0))&&(t.cantEdit=!1)}}function go(t,e,n,i,r){var o;i||(i=n),ee(i,n)<0&&(n=(o=[i,n])[0],i=o[1]),"string"==typeof e&&(e=t.splitLines(e)),co(t,{from:n,to:i,text:e,origin:r})}function mo(t,e,n,i){n<t.line?t.line+=i:e<t.line&&(t.line=e,t.ch=0)}function vo(t,e,n,i){for(var r=0;r<t.length;++r){var o=t[r],s=!0;if(o.ranges){o.copied||((o=t[r]=o.deepCopy()).copied=!0);for(var a=0;a<o.ranges.length;a++)mo(o.ranges[a].anchor,e,n,i),mo(o.ranges[a].head,e,n,i)}else{for(var l=0;l<o.changes.length;++l){var c=o.changes[l];if(n<c.from.line)c.from=te(c.from.line+i,c.from.ch),c.to=te(c.to.line+i,c.to.ch);else if(e<=c.to.line){s=!1;break}}s||(t.splice(0,r+1),r=0)}}}function _o(t,e){var n=e.from.line,i=e.to.line,r=e.text.length-(i-n)-1;vo(t.done,n,i,r),vo(t.undone,n,i,r)}function yo(t,e,n,i){var r=e,o=e;return"number"==typeof e?o=qt(t,se(t,e)):r=Xt(e),null==r?null:(i(o,r)&&t.cm&&fi(t.cm,r,n),o)}function xo(t){this.lines=t,this.parent=null;for(var e=0,n=0;n<t.length;++n)t[n].parent=this,e+=t[n].height;this.height=e}function ko(t){this.children=t;for(var e=0,n=0,i=0;i<t.length;++i){var r=t[i];e+=r.chunkSize(),n+=r.height,r.parent=this}this.size=e,this.height=n,this.parent=null}Tr.prototype.from=function(){return oe(this.anchor,this.head)},Tr.prototype.to=function(){return re(this.anchor,this.head)},Tr.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},xo.prototype={chunkSize:function(){return this.lines.length},removeInner:function(t,e){for(var n=t,i=t+e;n<i;++n){var r=this.lines[n];this.height-=r.height,Ve(r),ln(r,"delete")}this.lines.splice(t,e)},collapse:function(t){t.push.apply(t,this.lines)},insertInner:function(t,e,n){this.height+=n,this.lines=this.lines.slice(0,t).concat(e).concat(this.lines.slice(t));for(var i=0;i<e.length;++i)e[i].parent=this},iterN:function(t,e,n){for(var i=t+e;t<i;++t)if(n(this.lines[t]))return!0}},ko.prototype={chunkSize:function(){return this.size},removeInner:function(t,e){this.size-=e;for(var n=0;n<this.children.length;++n){var i=this.children[n],r=i.chunkSize();if(t<r){var o=Math.min(e,r-t),s=i.height;if(i.removeInner(t,o),this.height-=s-i.height,r==o&&(this.children.splice(n--,1),i.parent=null),0==(e-=o))break;t=0}else t-=r}if(this.size-e<25&&(this.children.length>1||!(this.children[0]instanceof xo))){var a=[];this.collapse(a),this.children=[new xo(a)],this.children[0].parent=this}},collapse:function(t){for(var e=0;e<this.children.length;++e)this.children[e].collapse(t)},insertInner:function(t,e,n){this.size+=e.length,this.height+=n;for(var i=0;i<this.children.length;++i){var r=this.children[i],o=r.chunkSize();if(t<=o){if(r.insertInner(t,e,n),r.lines&&r.lines.length>50){for(var s=r.lines.length%25+25,a=s;a<r.lines.length;){var l=new xo(r.lines.slice(a,a+=25));r.height-=l.height,this.children.splice(++i,0,l),l.parent=this}r.lines=r.lines.slice(0,s),this.maybeSpill()}break}t-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var t=this;do{var e=new ko(t.children.splice(t.children.length-5,5));if(t.parent){t.size-=e.size,t.height-=e.height;var n=U(t.parent.children,t);t.parent.children.splice(n+1,0,e)}else{var i=new ko(t.children);i.parent=t,t.children=[i,e],t=i}e.parent=t.parent}while(t.children.length>10);t.parent.maybeSpill()}},iterN:function(t,e,n){for(var i=0;i<this.children.length;++i){var r=this.children[i],o=r.chunkSize();if(t<o){var s=Math.min(e,o-t);if(r.iterN(t,s,n))return!0;if(0==(e-=s))break;t=0}else t-=o}}};var bo=function(t,e,n){if(n)for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i]);this.doc=t,this.node=e};function To(t,e,n){We(e)<(t.curOp&&t.curOp.scrollTop||t.doc.scrollTop)&&Oi(t,n)}bo.prototype.clear=function(){var t=this.doc.cm,e=this.line.widgets,n=this.line,i=Xt(n);if(null!=i&&e){for(var r=0;r<e.length;++r)e[r]==this&&e.splice(r--,1);e.length||(n.widgets=null);var o=kn(this);Kt(n,Math.max(0,n.height-o)),t&&(Ji(t,(function(){To(t,n,-o),fi(t,i,"widget")})),ln(t,"lineWidgetCleared",t,this,i))}},bo.prototype.changed=function(){var t=this,e=this.height,n=this.doc.cm,i=this.line;this.height=null;var r=kn(this)-e;r&&(He(this.doc,i)||Kt(i,i.height+r),n&&Ji(n,(function(){n.curOp.forceUpdate=!0,To(n,i,r),ln(n,"lineWidgetChanged",n,t,Xt(i))})))},_t(bo);var Co=0,wo=function(t,e){this.lines=[],this.type=e,this.doc=t,this.id=++Co};function Eo(t,e,n,i,r){if(i&&i.shared)return function(t,e,n,i,r){(i=P(i)).shared=!1;var o=[Eo(t,e,n,i,r)],s=o[0],a=i.widgetNode;return $r(t,(function(t){a&&(i.widgetNode=a.cloneNode(!0)),o.push(Eo(t,ae(t,e),ae(t,n),i,r));for(var l=0;l<t.linked.length;++l)if(t.linked[l].isParent)return;s=Y(o)})),new So(o,s)}(t,e,n,i,r);if(t.cm&&!t.cm.curOp)return tr(t.cm,Eo)(t,e,n,i,r);var o=new wo(t,r),s=ee(e,n);if(i&&P(i,o,!1),s>0||0==s&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=O("span",[o.replacedWith],"CodeMirror-widget"),i.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),i.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Pe(t,e.line,e,n,o)||e.line!=n.line&&Pe(t,n.line,e,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");be=!0}o.addToHistory&&Ur(t,{from:e,to:n,origin:"markText"},t.sel,NaN);var a,l=e.line,c=t.cm;if(t.iter(l,n.line+1,(function(i){c&&o.collapsed&&!c.options.lineWrapping&&Fe(i)==c.display.maxLine&&(a=!0),o.collapsed&&l!=e.line&&Kt(i,0),function(t,e,n){var i=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));i&&i.has(t.markedSpans)?t.markedSpans.push(e):(t.markedSpans=t.markedSpans?t.markedSpans.concat([e]):[e],i&&i.add(t.markedSpans)),e.marker.attachLine(t)}(i,new Te(o,l==e.line?e.ch:null,l==n.line?n.ch:null),t.cm&&t.cm.curOp),++l})),o.collapsed&&t.iter(e.line,n.line+1,(function(e){He(t,e)&&Kt(e,0)})),o.clearOnEnter&&ut(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(ke=!0,(t.history.done.length||t.history.undone.length)&&t.clearHistory()),o.collapsed&&(o.id=++Co,o.atomic=!0),c){if(a&&(c.curOp.updateMaxLine=!0),o.collapsed)ui(c,e.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var h=e.line;h<=n.line;h++)fi(c,h,"text");o.atomic&&no(c.doc),ln(c,"markerAdded",c,o)}return o}wo.prototype.clear=function(){if(!this.explicitlyCleared){var t=this.doc.cm,e=t&&!t.curOp;if(e&&qi(t),vt(this,"clear")){var n=this.find();n&&ln(this,"clear",n.from,n.to)}for(var i=null,r=null,o=0;o<this.lines.length;++o){var s=this.lines[o],a=Ce(s.markedSpans,this);t&&!this.collapsed?fi(t,Xt(s),"text"):t&&(null!=a.to&&(r=Xt(s)),null!=a.from&&(i=Xt(s))),s.markedSpans=we(s.markedSpans,a),null==a.from&&this.collapsed&&!He(this.doc,s)&&t&&Kt(s,ii(t.display))}if(t&&this.collapsed&&!t.options.lineWrapping)for(var l=0;l<this.lines.length;++l){var c=Fe(this.lines[l]),h=je(c);h>t.display.maxLineLength&&(t.display.maxLine=c,t.display.maxLineLength=h,t.display.maxLineChanged=!0)}null!=i&&t&&this.collapsed&&ui(t,i,r+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&no(t.doc)),t&&ln(t,"markerCleared",t,this,i,r),e&&Vi(t),this.parent&&this.parent.clear()}},wo.prototype.find=function(t,e){var n,i;null==t&&"bookmark"==this.type&&(t=1);for(var r=0;r<this.lines.length;++r){var o=this.lines[r],s=Ce(o.markedSpans,this);if(null!=s.from&&(n=te(e?o:Xt(o),s.from),-1==t))return n;if(null!=s.to&&(i=te(e?o:Xt(o),s.to),1==t))return i}return n&&{from:n,to:i}},wo.prototype.changed=function(){var t=this,e=this.find(-1,!0),n=this,i=this.doc.cm;e&&i&&Ji(i,(function(){var r=e.line,o=Xt(e.line),s=Nn(i,o);if(s&&(Fn(s),i.curOp.selectionChanged=i.curOp.forceUpdate=!0),i.curOp.updateMaxLine=!0,!He(n.doc,r)&&null!=n.height){var a=n.height;n.height=null;var l=kn(n)-a;l&&Kt(r,r.height+l)}ln(i,"markerChanged",i,t)}))},wo.prototype.attachLine=function(t){if(!this.lines.length&&this.doc.cm){var e=this.doc.cm.curOp;e.maybeHiddenMarkers&&-1!=U(e.maybeHiddenMarkers,this)||(e.maybeUnhiddenMarkers||(e.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(t)},wo.prototype.detachLine=function(t){if(this.lines.splice(U(this.lines,t),1),!this.lines.length&&this.doc.cm){var e=this.doc.cm.curOp;(e.maybeHiddenMarkers||(e.maybeHiddenMarkers=[])).push(this)}},_t(wo);var So=function(t,e){this.markers=t,this.primary=e;for(var n=0;n<t.length;++n)t[n].parent=this};function Ao(t){return t.findMarks(te(t.first,0),t.clipPos(te(t.lastLine())),(function(t){return t.parent}))}function Lo(t){for(var e=function(e){var n=t[e],i=[n.primary.doc];$r(n.primary.doc,(function(t){return i.push(t)}));for(var r=0;r<n.markers.length;r++){var o=n.markers[r];-1==U(i,o.doc)&&(o.parent=null,n.markers.splice(r--,1))}},n=0;n<t.length;n++)e(n)}So.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var t=0;t<this.markers.length;++t)this.markers[t].clear();ln(this,"clear")}},So.prototype.find=function(t,e){return this.primary.find(t,e)},_t(So);var Oo=0,No=function(t,e,n,i,r){if(!(this instanceof No))return new No(t,e,n,i,r);null==n&&(n=0),ko.call(this,[new xo([new qe("",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=n;var o=te(n,0);this.sel=wr(o),this.history=new Pr(null),this.id=++Oo,this.modeOption=e,this.lineSep=i,this.direction="rtl"==r?"rtl":"ltr",this.extend=!1,"string"==typeof t&&(t=this.splitLines(t)),Mr(this,{from:o,to:o,text:t}),Jr(this,wr(o),z)};No.prototype=Q(ko.prototype,{constructor:No,iter:function(t,e,n){n?this.iterN(t-this.first,e-t,n):this.iterN(this.first,this.first+this.size,t)},insert:function(t,e){for(var n=0,i=0;i<e.length;++i)n+=e[i].height;this.insertInner(t-this.first,e,n)},remove:function(t,e){this.removeInner(t-this.first,e)},getValue:function(t){var e=Yt(this,this.first,this.first+this.size);return!1===t?e:e.join(t||this.lineSeparator())},setValue:nr((function(t){var e=te(this.first,0),n=this.first+this.size-1;co(this,{from:e,to:te(n,qt(this,n).text.length),text:this.splitLines(t),origin:"setValue",full:!0},!0),this.cm&&Ii(this.cm,0,0),Jr(this,wr(e),z)})),replaceRange:function(t,e,n,i){go(this,t,e=ae(this,e),n=n?ae(this,n):e,i)},getRange:function(t,e,n){var i=Vt(this,ae(this,t),ae(this,e));return!1===n?i:""===n?i.join(""):i.join(n||this.lineSeparator())},getLine:function(t){var e=this.getLineHandle(t);return e&&e.text},getLineHandle:function(t){if(Zt(this,t))return qt(this,t)},getLineNumber:function(t){return Xt(t)},getLineHandleVisualStart:function(t){return"number"==typeof t&&(t=qt(this,t)),Fe(t)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(t){return ae(this,t)},getCursor:function(t){var e=this.sel.primary();return null==t||"head"==t?e.head:"anchor"==t?e.anchor:"end"==t||"to"==t||!1===t?e.to():e.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:nr((function(t,e,n){Qr(this,ae(this,"number"==typeof t?te(t,e||0):t),null,n)})),setSelection:nr((function(t,e,n){Qr(this,ae(this,t),ae(this,e||t),n)})),extendSelection:nr((function(t,e,n){Yr(this,ae(this,t),e&&ae(this,e),n)})),extendSelections:nr((function(t,e){Kr(this,le(this,t),e)})),extendSelectionsBy:nr((function(t,e){Kr(this,le(this,K(this.sel.ranges,t)),e)})),setSelections:nr((function(t,e,n){if(t.length){for(var i=[],r=0;r<t.length;r++)i[r]=new Tr(ae(this,t[r].anchor),ae(this,t[r].head||t[r].anchor));null==e&&(e=Math.min(t.length-1,this.sel.primIndex)),Jr(this,Cr(this.cm,i,e),n)}})),addSelection:nr((function(t,e,n){var i=this.sel.ranges.slice(0);i.push(new Tr(ae(this,t),ae(this,e||t))),Jr(this,Cr(this.cm,i,i.length-1),n)})),getSelection:function(t){for(var e,n=this.sel.ranges,i=0;i<n.length;i++){var r=Vt(this,n[i].from(),n[i].to());e=e?e.concat(r):r}return!1===t?e:e.join(t||this.lineSeparator())},getSelections:function(t){for(var e=[],n=this.sel.ranges,i=0;i<n.length;i++){var r=Vt(this,n[i].from(),n[i].to());!1!==t&&(r=r.join(t||this.lineSeparator())),e[i]=r}return e},replaceSelection:function(t,e,n){for(var i=[],r=0;r<this.sel.ranges.length;r++)i[r]=t;this.replaceSelections(i,e,n||"+input")},replaceSelections:nr((function(t,e,n){for(var i=[],r=this.sel,o=0;o<r.ranges.length;o++){var s=r.ranges[o];i[o]={from:s.from(),to:s.to(),text:this.splitLines(t[o]),origin:n}}for(var a=e&&"end"!=e&&function(t,e,n){for(var i=[],r=te(t.first,0),o=r,s=0;s<e.length;s++){var a=e[s],l=Lr(a.from,r,o),c=Lr(Er(a),r,o);if(r=a.to,o=c,"around"==n){var h=t.sel.ranges[s],u=ee(h.head,h.anchor)<0;i[s]=new Tr(u?c:l,u?l:c)}else i[s]=new Tr(l,l)}return new br(i,t.sel.primIndex)}(this,i,e),l=i.length-1;l>=0;l--)co(this,i[l]);a?Zr(this,a):this.cm&&Ni(this.cm)})),undo:nr((function(){uo(this,"undo")})),redo:nr((function(){uo(this,"redo")})),undoSelection:nr((function(){uo(this,"undo",!0)})),redoSelection:nr((function(){uo(this,"redo",!0)})),setExtending:function(t){this.extend=t},getExtending:function(){return this.extend},historySize:function(){for(var t=this.history,e=0,n=0,i=0;i<t.done.length;i++)t.done[i].ranges||++e;for(var r=0;r<t.undone.length;r++)t.undone[r].ranges||++n;return{undo:e,redo:n}},clearHistory:function(){var t=this;this.history=new Pr(this.history),$r(this,(function(e){return e.history=t.history}),!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(t){return t&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(t){return this.history.generation==(t||this.cleanGeneration)},getHistory:function(){return{done:qr(this.history.done),undone:qr(this.history.undone)}},setHistory:function(t){var e=this.history=new Pr(this.history);e.done=qr(t.done.slice(0),null,!0),e.undone=qr(t.undone.slice(0),null,!0)},setGutterMarker:nr((function(t,e,n){return yo(this,t,"gutter",(function(t){var i=t.gutterMarkers||(t.gutterMarkers={});return i[e]=n,!n&&et(i)&&(t.gutterMarkers=null),!0}))})),clearGutter:nr((function(t){var e=this;this.iter((function(n){n.gutterMarkers&&n.gutterMarkers[t]&&yo(e,n,"gutter",(function(){return n.gutterMarkers[t]=null,et(n.gutterMarkers)&&(n.gutterMarkers=null),!0}))}))})),lineInfo:function(t){var e;if("number"==typeof t){if(!Zt(this,t))return null;if(e=t,!(t=qt(this,t)))return null}else if(null==(e=Xt(t)))return null;return{line:e,handle:t,text:t.text,gutterMarkers:t.gutterMarkers,textClass:t.textClass,bgClass:t.bgClass,wrapClass:t.wrapClass,widgets:t.widgets}},addLineClass:nr((function(t,e,n){return yo(this,t,"gutter"==e?"gutter":"class",(function(t){var i="text"==e?"textClass":"background"==e?"bgClass":"gutter"==e?"gutterClass":"wrapClass";if(t[i]){if(C(n).test(t[i]))return!1;t[i]+=" "+n}else t[i]=n;return!0}))})),removeLineClass:nr((function(t,e,n){return yo(this,t,"gutter"==e?"gutter":"class",(function(t){var i="text"==e?"textClass":"background"==e?"bgClass":"gutter"==e?"gutterClass":"wrapClass",r=t[i];if(!r)return!1;if(null==n)t[i]=null;else{var o=r.match(C(n));if(!o)return!1;var s=o.index+o[0].length;t[i]=r.slice(0,o.index)+(o.index&&s!=r.length?" ":"")+r.slice(s)||null}return!0}))})),addLineWidget:nr((function(t,e,n){return function(t,e,n,i){var r=new bo(t,n,i),o=t.cm;return o&&r.noHScroll&&(o.display.alignWidgets=!0),yo(t,e,"widget",(function(e){var n=e.widgets||(e.widgets=[]);if(null==r.insertAt?n.push(r):n.splice(Math.min(n.length,Math.max(0,r.insertAt)),0,r),r.line=e,o&&!He(t,e)){var i=We(e)<t.scrollTop;Kt(e,e.height+kn(r)),i&&Oi(o,r.height),o.curOp.forceUpdate=!0}return!0})),o&&ln(o,"lineWidgetAdded",o,r,"number"==typeof e?e:Xt(e)),r}(this,t,e,n)})),removeLineWidget:function(t){t.clear()},markText:function(t,e,n){return Eo(this,ae(this,t),ae(this,e),n,n&&n.type||"range")},setBookmark:function(t,e){var n={replacedWith:e&&(null==e.nodeType?e.widget:e),insertLeft:e&&e.insertLeft,clearWhenEmpty:!1,shared:e&&e.shared,handleMouseEvents:e&&e.handleMouseEvents};return Eo(this,t=ae(this,t),t,n,"bookmark")},findMarksAt:function(t){var e=[],n=qt(this,(t=ae(this,t)).line).markedSpans;if(n)for(var i=0;i<n.length;++i){var r=n[i];(null==r.from||r.from<=t.ch)&&(null==r.to||r.to>=t.ch)&&e.push(r.marker.parent||r.marker)}return e},findMarks:function(t,e,n){t=ae(this,t),e=ae(this,e);var i=[],r=t.line;return this.iter(t.line,e.line+1,(function(o){var s=o.markedSpans;if(s)for(var a=0;a<s.length;a++){var l=s[a];null!=l.to&&r==t.line&&t.ch>=l.to||null==l.from&&r!=t.line||null!=l.from&&r==e.line&&l.from>=e.ch||n&&!n(l.marker)||i.push(l.marker.parent||l.marker)}++r})),i},getAllMarks:function(){var t=[];return this.iter((function(e){var n=e.markedSpans;if(n)for(var i=0;i<n.length;++i)null!=n[i].from&&t.push(n[i].marker)})),t},posFromIndex:function(t){var e,n=this.first,i=this.lineSeparator().length;return this.iter((function(r){var o=r.text.length+i;if(o>t)return e=t,!0;t-=o,++n})),ae(this,te(n,e))},indexFromPos:function(t){var e=(t=ae(this,t)).ch;if(t.line<this.first||t.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,t.line,(function(t){e+=t.text.length+n})),e},copy:function(t){var e=new No(Yt(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return e.scrollTop=this.scrollTop,e.scrollLeft=this.scrollLeft,e.sel=this.sel,e.extend=!1,t&&(e.history.undoDepth=this.history.undoDepth,e.setHistory(this.getHistory())),e},linkedDoc:function(t){t||(t={});var e=this.first,n=this.first+this.size;null!=t.from&&t.from>e&&(e=t.from),null!=t.to&&t.to<n&&(n=t.to);var i=new No(Yt(this,e,n),t.mode||this.modeOption,e,this.lineSep,this.direction);return t.sharedHist&&(i.history=this.history),(this.linked||(this.linked=[])).push({doc:i,sharedHist:t.sharedHist}),i.linked=[{doc:this,isParent:!0,sharedHist:t.sharedHist}],function(t,e){for(var n=0;n<e.length;n++){var i=e[n],r=i.find(),o=t.clipPos(r.from),s=t.clipPos(r.to);if(ee(o,s)){var a=Eo(t,o,s,i.primary,i.primary.type);i.markers.push(a),a.parent=i}}}(i,Ao(this)),i},unlinkDoc:function(t){if(t instanceof Ss&&(t=t.doc),this.linked)for(var e=0;e<this.linked.length;++e)if(this.linked[e].doc==t){this.linked.splice(e,1),t.unlinkDoc(this),Lo(Ao(this));break}if(t.history==this.history){var n=[t.id];$r(t,(function(t){return n.push(t.id)}),!0),t.history=new Pr(null),t.history.done=qr(this.history.done,n),t.history.undone=qr(this.history.undone,n)}},iterLinkedDocs:function(t){$r(this,t)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(t){return this.lineSep?t.split(this.lineSep):Nt(t)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:nr((function(t){var e;"rtl"!=t&&(t="ltr"),t!=this.direction&&(this.direction=t,this.iter((function(t){return t.order=null})),this.cm&&Ji(e=this.cm,(function(){Dr(e),ui(e)})))}))}),No.prototype.eachLine=No.prototype.iter;var Io=0;function Mo(t){var e=this;if($o(e),!gt(e,t)&&!bn(e.display,t)){yt(t),s&&(Io=+new Date);var n=ci(e,t,!0),i=t.dataTransfer.files;if(n&&!e.isReadOnly())if(i&&i.length&&window.FileReader&&window.File)for(var r=i.length,o=Array(r),a=0,l=function(){++a==r&&tr(e,(function(){var t={from:n=ae(e.doc,n),to:n,text:e.doc.splitLines(o.filter((function(t){return null!=t})).join(e.doc.lineSeparator())),origin:"paste"};co(e.doc,t),Zr(e.doc,wr(ae(e.doc,n),ae(e.doc,Er(t))))}))()},c=function(t,n){if(e.options.allowDropFileTypes&&-1==U(e.options.allowDropFileTypes,t.type))l();else{var i=new FileReader;i.onerror=function(){return l()},i.onload=function(){var t=i.result;/[\x00-\x08\x0e-\x1f]{2}/.test(t)||(o[n]=t),l()},i.readAsText(t)}},h=0;h<i.length;h++)c(i[h],h);else{if(e.state.draggingText&&e.doc.sel.contains(n)>-1)return e.state.draggingText(t),void setTimeout((function(){return e.display.input.focus()}),20);try{var u=t.dataTransfer.getData("Text");if(u){var f;if(e.state.draggingText&&!e.state.draggingText.copy&&(f=e.listSelections()),to(e.doc,wr(n,n)),f)for(var d=0;d<f.length;++d)go(e.doc,"",f[d].anchor,f[d].head,"drag");e.replaceSelection(u,"around","paste"),e.display.input.focus()}}catch(t){}}}}function $o(t){t.display.dragCursor&&(t.display.lineSpace.removeChild(t.display.dragCursor),t.display.dragCursor=null)}function Ro(t){if(document.getElementsByClassName){for(var e=document.getElementsByClassName("CodeMirror"),n=[],i=0;i<e.length;i++){var r=e[i].CodeMirror;r&&n.push(r)}n.length&&n[0].operation((function(){for(var e=0;e<n.length;e++)t(n[e])}))}}var Do=!1;function Po(){var t;Do||(ut(window,"resize",(function(){null==t&&(t=setTimeout((function(){t=null,Ro(Fo)}),100))})),ut(window,"blur",(function(){return Ro(wi)})),Do=!0)}function Fo(t){var e=t.display;e.cachedCharWidth=e.cachedTextHeight=e.cachedPaddingH=null,e.scrollbarsClipped=!1,t.setSize()}for(var Bo={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Mod",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Uo=0;Uo<10;Uo++)Bo[Uo+48]=Bo[Uo+96]=String(Uo);for(var Ho=65;Ho<=90;Ho++)Bo[Ho]=String.fromCharCode(Ho);for(var zo=1;zo<=12;zo++)Bo[zo+111]=Bo[zo+63235]="F"+zo;var Wo={};function jo(t){var e,n,i,r,o=t.split(/-(?!$)/);t=o[o.length-1];for(var s=0;s<o.length-1;s++){var a=o[s];if(/^(cmd|meta|m)$/i.test(a))r=!0;else if(/^a(lt)?$/i.test(a))e=!0;else if(/^(c|ctrl|control)$/i.test(a))n=!0;else{if(!/^s(hift)?$/i.test(a))throw new Error("Unrecognized modifier name: "+a);i=!0}}return e&&(t="Alt-"+t),n&&(t="Ctrl-"+t),r&&(t="Cmd-"+t),i&&(t="Shift-"+t),t}function Go(t){var e={};for(var n in t)if(t.hasOwnProperty(n)){var i=t[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if("..."==i){delete t[n];continue}for(var r=K(n.split(" "),jo),o=0;o<r.length;o++){var s=void 0,a=void 0;o==r.length-1?(a=r.join(" "),s=i):(a=r.slice(0,o+1).join(" "),s="...");var l=e[a];if(l){if(l!=s)throw new Error("Inconsistent bindings for "+a)}else e[a]=s}delete t[n]}for(var c in e)t[c]=e[c];return t}function qo(t,e,n,i){var r=(e=Xo(e)).call?e.call(t,i):e[t];if(!1===r)return"nothing";if("..."===r)return"multi";if(null!=r&&n(r))return"handled";if(e.fallthrough){if("[object Array]"!=Object.prototype.toString.call(e.fallthrough))return qo(t,e.fallthrough,n,i);for(var o=0;o<e.fallthrough.length;o++){var s=qo(t,e.fallthrough[o],n,i);if(s)return s}}}function Vo(t){var e="string"==typeof t?t:Bo[t.keyCode];return"Ctrl"==e||"Alt"==e||"Shift"==e||"Mod"==e}function Yo(t,e,n){var i=t;return e.altKey&&"Alt"!=i&&(t="Alt-"+t),(b?e.metaKey:e.ctrlKey)&&"Ctrl"!=i&&(t="Ctrl-"+t),(b?e.ctrlKey:e.metaKey)&&"Mod"!=i&&(t="Cmd-"+t),!n&&e.shiftKey&&"Shift"!=i&&(t="Shift-"+t),t}function Ko(t,e){if(u&&34==t.keyCode&&t.char)return!1;var n=Bo[t.keyCode];return null!=n&&!t.altGraphKey&&(3==t.keyCode&&t.code&&(n=t.code),Yo(n,t,e))}function Xo(t){return"string"==typeof t?Wo[t]:t}function Qo(t,e){for(var n=t.doc.sel.ranges,i=[],r=0;r<n.length;r++){for(var o=e(n[r]);i.length&&ee(o.from,Y(i).to)<=0;){var s=i.pop();if(ee(s.from,o.from)<0){o.from=s.from;break}}i.push(o)}Ji(t,(function(){for(var e=i.length-1;e>=0;e--)go(t.doc,"",i[e].from,i[e].to,"+delete");Ni(t)}))}function Zo(t,e,n){var i=rt(t.text,e+n,n);return i<0||i>t.text.length?null:i}function Jo(t,e,n){var i=Zo(t,e.ch,n);return null==i?null:new te(e.line,i,n<0?"after":"before")}function ts(t,e,n,i,r){if(t){"rtl"==e.doc.direction&&(r=-r);var o=ct(n,e.doc.direction);if(o){var s,a=r<0?Y(o):o[0],l=r<0==(1==a.level)?"after":"before";if(a.level>0||"rtl"==e.doc.direction){var c=In(e,n);s=r<0?n.text.length-1:0;var h=Mn(e,c,s).top;s=ot((function(t){return Mn(e,c,t).top==h}),r<0==(1==a.level)?a.from:a.to-1,s),"before"==l&&(s=Zo(n,s,1))}else s=r<0?a.to:a.from;return new te(i,s,l)}}return new te(i,r<0?n.text.length:0,r<0?"before":"after")}Wo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Wo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Wo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Wo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Wo.default=_?Wo.macDefault:Wo.pcDefault;var es={selectAll:ao,singleSelection:function(t){return t.setSelection(t.getCursor("anchor"),t.getCursor("head"),z)},killLine:function(t){return Qo(t,(function(e){if(e.empty()){var n=qt(t.doc,e.head.line).text.length;return e.head.ch==n&&e.head.line<t.lastLine()?{from:e.head,to:te(e.head.line+1,0)}:{from:e.head,to:te(e.head.line,n)}}return{from:e.from(),to:e.to()}}))},deleteLine:function(t){return Qo(t,(function(e){return{from:te(e.from().line,0),to:ae(t.doc,te(e.to().line+1,0))}}))},delLineLeft:function(t){return Qo(t,(function(t){return{from:te(t.from().line,0),to:t.from()}}))},delWrappedLineLeft:function(t){return Qo(t,(function(e){var n=t.charCoords(e.head,"div").top+5;return{from:t.coordsChar({left:0,top:n},"div"),to:e.from()}}))},delWrappedLineRight:function(t){return Qo(t,(function(e){var n=t.charCoords(e.head,"div").top+5,i=t.coordsChar({left:t.display.lineDiv.offsetWidth+100,top:n},"div");return{from:e.from(),to:i}}))},undo:function(t){return t.undo()},redo:function(t){return t.redo()},undoSelection:function(t){return t.undoSelection()},redoSelection:function(t){return t.redoSelection()},goDocStart:function(t){return t.extendSelection(te(t.firstLine(),0))},goDocEnd:function(t){return t.extendSelection(te(t.lastLine()))},goLineStart:function(t){return t.extendSelectionsBy((function(e){return ns(t,e.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(t){return t.extendSelectionsBy((function(e){return is(t,e.head)}),{origin:"+move",bias:1})},goLineEnd:function(t){return t.extendSelectionsBy((function(e){return function(t,e){var n=qt(t.doc,e),i=function(t){for(var e;e=Re(t);)t=e.find(1,!0).line;return t}(n);return i!=n&&(e=Xt(i)),ts(!0,t,n,e,-1)}(t,e.head.line)}),{origin:"+move",bias:-1})},goLineRight:function(t){return t.extendSelectionsBy((function(e){var n=t.cursorCoords(e.head,"div").top+5;return t.coordsChar({left:t.display.lineDiv.offsetWidth+100,top:n},"div")}),j)},goLineLeft:function(t){return t.extendSelectionsBy((function(e){var n=t.cursorCoords(e.head,"div").top+5;return t.coordsChar({left:0,top:n},"div")}),j)},goLineLeftSmart:function(t){return t.extendSelectionsBy((function(e){var n=t.cursorCoords(e.head,"div").top+5,i=t.coordsChar({left:0,top:n},"div");return i.ch<t.getLine(i.line).search(/\S/)?is(t,e.head):i}),j)},goLineUp:function(t){return t.moveV(-1,"line")},goLineDown:function(t){return t.moveV(1,"line")},goPageUp:function(t){return t.moveV(-1,"page")},goPageDown:function(t){return t.moveV(1,"page")},goCharLeft:function(t){return t.moveH(-1,"char")},goCharRight:function(t){return t.moveH(1,"char")},goColumnLeft:function(t){return t.moveH(-1,"column")},goColumnRight:function(t){return t.moveH(1,"column")},goWordLeft:function(t){return t.moveH(-1,"word")},goGroupRight:function(t){return t.moveH(1,"group")},goGroupLeft:function(t){return t.moveH(-1,"group")},goWordRight:function(t){return t.moveH(1,"word")},delCharBefore:function(t){return t.deleteH(-1,"codepoint")},delCharAfter:function(t){return t.deleteH(1,"char")},delWordBefore:function(t){return t.deleteH(-1,"word")},delWordAfter:function(t){return t.deleteH(1,"word")},delGroupBefore:function(t){return t.deleteH(-1,"group")},delGroupAfter:function(t){return t.deleteH(1,"group")},indentAuto:function(t){return t.indentSelection("smart")},indentMore:function(t){return t.indentSelection("add")},indentLess:function(t){return t.indentSelection("subtract")},insertTab:function(t){return t.replaceSelection("\t")},insertSoftTab:function(t){for(var e=[],n=t.listSelections(),i=t.options.tabSize,r=0;r<n.length;r++){var o=n[r].from(),s=F(t.getLine(o.line),o.ch,i);e.push(V(i-s%i))}t.replaceSelections(e)},defaultTab:function(t){t.somethingSelected()?t.indentSelection("add"):t.execCommand("insertTab")},transposeChars:function(t){return Ji(t,(function(){for(var e=t.listSelections(),n=[],i=0;i<e.length;i++)if(e[i].empty()){var r=e[i].head,o=qt(t.doc,r.line).text;if(o)if(r.ch==o.length&&(r=new te(r.line,r.ch-1)),r.ch>0)r=new te(r.line,r.ch+1),t.replaceRange(o.charAt(r.ch-1)+o.charAt(r.ch-2),te(r.line,r.ch-2),r,"+transpose");else if(r.line>t.doc.first){var s=qt(t.doc,r.line-1).text;s&&(r=new te(r.line,1),t.replaceRange(o.charAt(0)+t.doc.lineSeparator()+s.charAt(s.length-1),te(r.line-1,s.length-1),r,"+transpose"))}n.push(new Tr(r,r))}t.setSelections(n)}))},newlineAndIndent:function(t){return Ji(t,(function(){for(var e=t.listSelections(),n=e.length-1;n>=0;n--)t.replaceRange(t.doc.lineSeparator(),e[n].anchor,e[n].head,"+input");e=t.listSelections();for(var i=0;i<e.length;i++)t.indentLine(e[i].from().line,null,!0);Ni(t)}))},openLine:function(t){return t.replaceSelection("\n","start")},toggleOverwrite:function(t){return t.toggleOverwrite()}};function ns(t,e){var n=qt(t.doc,e),i=Fe(n);return i!=n&&(e=Xt(i)),ts(!0,t,i,e,1)}function is(t,e){var n=ns(t,e.line),i=qt(t.doc,n.line),r=ct(i,t.doc.direction);if(!r||0==r[0].level){var o=Math.max(n.ch,i.text.search(/\S/)),s=e.line==n.line&&e.ch<=o&&e.ch;return te(n.line,s?0:o,n.sticky)}return n}function rs(t,e,n){if("string"==typeof e&&!(e=es[e]))return!1;t.display.input.ensurePolled();var i=t.display.shift,r=!1;try{t.isReadOnly()&&(t.state.suppressEdits=!0),n&&(t.display.shift=!1),r=e(t)!=H}finally{t.display.shift=i,t.state.suppressEdits=!1}return r}var os=new B;function ss(t,e,n,i){var r=t.state.keySeq;if(r){if(Vo(e))return"handled";if(/\'$/.test(e)?t.state.keySeq=null:os.set(50,(function(){t.state.keySeq==r&&(t.state.keySeq=null,t.display.input.reset())})),as(t,r+" "+e,n,i))return!0}return as(t,e,n,i)}function as(t,e,n,i){var r=function(t,e,n){for(var i=0;i<t.state.keyMaps.length;i++){var r=qo(e,t.state.keyMaps[i],n,t);if(r)return r}return t.options.extraKeys&&qo(e,t.options.extraKeys,n,t)||qo(e,t.options.keyMap,n,t)}(t,e,i);return"multi"==r&&(t.state.keySeq=e),"handled"==r&&ln(t,"keyHandled",t,e,n),"handled"!=r&&"multi"!=r||(yt(n),ki(t)),!!r}function ls(t,e){var n=Ko(e,!0);return!!n&&(e.shiftKey&&!t.state.keySeq?ss(t,"Shift-"+n,e,(function(e){return rs(t,e,!0)}))||ss(t,n,e,(function(e){if("string"==typeof e?/^go[A-Z]/.test(e):e.motion)return rs(t,e)})):ss(t,n,e,(function(e){return rs(t,e)})))}var cs=null;function hs(t){var e=this;if(!(t.target&&t.target!=e.display.input.getField()||(e.curOp.focus=I(),gt(e,t)))){s&&a<11&&27==t.keyCode&&(t.returnValue=!1);var i=t.keyCode;e.display.shift=16==i||t.shiftKey;var r=ls(e,t);u&&(cs=r?i:null,r||88!=i||Mt||!(_?t.metaKey:t.ctrlKey)||e.replaceSelection("",null,"cut")),n&&!_&&!r&&46==i&&t.shiftKey&&!t.ctrlKey&&document.execCommand&&document.execCommand("cut"),18!=i||/\bCodeMirror-crosshair\b/.test(e.display.lineDiv.className)||function(t){var e=t.display.lineDiv;function n(t){18!=t.keyCode&&t.altKey||(E(e,"CodeMirror-crosshair"),dt(document,"keyup",n),dt(document,"mouseover",n))}M(e,"CodeMirror-crosshair"),ut(document,"keyup",n),ut(document,"mouseover",n)}(e)}}function us(t){16==t.keyCode&&(this.doc.sel.shift=!1),gt(this,t)}function fs(t){var e=this;if(!(t.target&&t.target!=e.display.input.getField()||bn(e.display,t)||gt(e,t)||t.ctrlKey&&!t.altKey||_&&t.metaKey)){var n=t.keyCode,i=t.charCode;if(u&&n==cs)return cs=null,void yt(t);if(!u||t.which&&!(t.which<10)||!ls(e,t)){var r=String.fromCharCode(null==i?n:i);"\b"!=r&&(function(t,e,n){return ss(t,"'"+n+"'",e,(function(e){return rs(t,e,!0)}))}(e,t,r)||e.display.input.onKeyPress(t))}}}var ds,ps,gs=function(t,e,n){this.time=t,this.pos=e,this.button=n};function ms(t){var e=this,n=e.display;if(!(gt(e,t)||n.activeTouch&&n.input.supportsTouch()))if(n.input.ensurePolled(),n.shift=t.shiftKey,bn(n,t))l||(n.scroller.draggable=!1,setTimeout((function(){return n.scroller.draggable=!0}),100));else if(!ys(e,t)){var i=ci(e,t),r=Ct(t),o=i?function(t,e){var n=+new Date;return ps&&ps.compare(n,t,e)?(ds=ps=null,"triple"):ds&&ds.compare(n,t,e)?(ps=new gs(n,t,e),ds=null,"double"):(ds=new gs(n,t,e),ps=null,"single")}(i,r):"single";window.focus(),1==r&&e.state.selectingText&&e.state.selectingText(t),i&&function(t,e,n,i,r){var o="Click";return"double"==i?o="Double"+o:"triple"==i&&(o="Triple"+o),ss(t,Yo(o=(1==e?"Left":2==e?"Middle":"Right")+o,r),r,(function(e){if("string"==typeof e&&(e=es[e]),!e)return!1;var i=!1;try{t.isReadOnly()&&(t.state.suppressEdits=!0),i=e(t,n)!=H}finally{t.state.suppressEdits=!1}return i}))}(e,r,i,o,t)||(1==r?i?function(t,e,n,i){s?setTimeout(D(bi,t),0):t.curOp.focus=I();var r,o=function(t,e,n){var i=t.getOption("configureMouse"),r=i?i(t,e,n):{};if(null==r.unit){var o=y?n.shiftKey&&n.metaKey:n.altKey;r.unit=o?"rectangle":"single"==e?"char":"double"==e?"word":"line"}return(null==r.extend||t.doc.extend)&&(r.extend=t.doc.extend||n.shiftKey),null==r.addNew&&(r.addNew=_?n.metaKey:n.ctrlKey),null==r.moveOnDrag&&(r.moveOnDrag=!(_?n.altKey:n.ctrlKey)),r}(t,n,i),c=t.doc.sel;t.options.dragDrop&&St&&!t.isReadOnly()&&"single"==n&&(r=c.contains(e))>-1&&(ee((r=c.ranges[r]).from(),e)<0||e.xRel>0)&&(ee(r.to(),e)>0||e.xRel<0)?function(t,e,n,i){var r=t.display,o=!1,c=tr(t,(function(e){l&&(r.scroller.draggable=!1),t.state.draggingText=!1,t.state.delayingBlurEvent&&(t.hasFocus()?t.state.delayingBlurEvent=!1:Ti(t)),dt(r.wrapper.ownerDocument,"mouseup",c),dt(r.wrapper.ownerDocument,"mousemove",h),dt(r.scroller,"dragstart",u),dt(r.scroller,"drop",c),o||(yt(e),i.addNew||Yr(t.doc,n,null,null,i.extend),l&&!f||s&&9==a?setTimeout((function(){r.wrapper.ownerDocument.body.focus({preventScroll:!0}),r.input.focus()}),20):r.input.focus())})),h=function(t){o=o||Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)>=10},u=function(){return o=!0};l&&(r.scroller.draggable=!0),t.state.draggingText=c,c.copy=!i.moveOnDrag,ut(r.wrapper.ownerDocument,"mouseup",c),ut(r.wrapper.ownerDocument,"mousemove",h),ut(r.scroller,"dragstart",u),ut(r.scroller,"drop",c),t.state.delayingBlurEvent=!0,setTimeout((function(){return r.input.focus()}),20),r.scroller.dragDrop&&r.scroller.dragDrop()}(t,i,e,o):function(t,e,n,i){s&&Ti(t);var r=t.display,o=t.doc;yt(e);var a,l,c=o.sel,h=c.ranges;if(i.addNew&&!i.extend?(l=o.sel.contains(n),a=l>-1?h[l]:new Tr(n,n)):(a=o.sel.primary(),l=o.sel.primIndex),"rectangle"==i.unit)i.addNew||(a=new Tr(n,n)),n=ci(t,e,!0,!0),l=-1;else{var u=vs(t,n,i.unit);a=i.extend?Vr(a,u.anchor,u.head,i.extend):u}i.addNew?-1==l?(l=h.length,Jr(o,Cr(t,h.concat([a]),l),{scroll:!1,origin:"*mouse"})):h.length>1&&h[l].empty()&&"char"==i.unit&&!i.extend?(Jr(o,Cr(t,h.slice(0,l).concat(h.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),c=o.sel):Xr(o,l,a,W):(l=0,Jr(o,new br([a],0),W),c=o.sel);var f=n;function d(e){if(0!=ee(f,e))if(f=e,"rectangle"==i.unit){for(var r=[],s=t.options.tabSize,h=F(qt(o,n.line).text,n.ch,s),u=F(qt(o,e.line).text,e.ch,s),d=Math.min(h,u),p=Math.max(h,u),g=Math.min(n.line,e.line),m=Math.min(t.lastLine(),Math.max(n.line,e.line));g<=m;g++){var v=qt(o,g).text,_=G(v,d,s);d==p?r.push(new Tr(te(g,_),te(g,_))):v.length>_&&r.push(new Tr(te(g,_),te(g,G(v,p,s))))}r.length||r.push(new Tr(n,n)),Jr(o,Cr(t,c.ranges.slice(0,l).concat(r),l),{origin:"*mouse",scroll:!1}),t.scrollIntoView(e)}else{var y,x=a,k=vs(t,e,i.unit),b=x.anchor;ee(k.anchor,b)>0?(y=k.head,b=oe(x.from(),k.anchor)):(y=k.anchor,b=re(x.to(),k.head));var T=c.ranges.slice(0);T[l]=function(t,e){var n=e.anchor,i=e.head,r=qt(t.doc,n.line);if(0==ee(n,i)&&n.sticky==i.sticky)return e;var o=ct(r);if(!o)return e;var s=at(o,n.ch,n.sticky),a=o[s];if(a.from!=n.ch&&a.to!=n.ch)return e;var l,c=s+(a.from==n.ch==(1!=a.level)?0:1);if(0==c||c==o.length)return e;if(i.line!=n.line)l=(i.line-n.line)*("ltr"==t.doc.direction?1:-1)>0;else{var h=at(o,i.ch,i.sticky),u=h-s||(i.ch-n.ch)*(1==a.level?-1:1);l=h==c-1||h==c?u<0:u>0}var f=o[c+(l?-1:0)],d=l==(1==f.level),p=d?f.from:f.to,g=d?"after":"before";return n.ch==p&&n.sticky==g?e:new Tr(new te(n.line,p,g),i)}(t,new Tr(ae(o,b),y)),Jr(o,Cr(t,T,l),W)}}var p=r.wrapper.getBoundingClientRect(),g=0;function m(e){var n=++g,s=ci(t,e,!0,"rectangle"==i.unit);if(s)if(0!=ee(s,f)){t.curOp.focus=I(),d(s);var a=Ai(r,o);(s.line>=a.to||s.line<a.from)&&setTimeout(tr(t,(function(){g==n&&m(e)})),150)}else{var l=e.clientY<p.top?-20:e.clientY>p.bottom?20:0;l&&setTimeout(tr(t,(function(){g==n&&(r.scroller.scrollTop+=l,m(e))})),50)}}function v(e){t.state.selectingText=!1,g=1/0,e&&(yt(e),r.input.focus()),dt(r.wrapper.ownerDocument,"mousemove",_),dt(r.wrapper.ownerDocument,"mouseup",y),o.history.lastSelOrigin=null}var _=tr(t,(function(t){0!==t.buttons&&Ct(t)?m(t):v(t)})),y=tr(t,v);t.state.selectingText=y,ut(r.wrapper.ownerDocument,"mousemove",_),ut(r.wrapper.ownerDocument,"mouseup",y)}(t,i,e,o)}(e,i,o,t):Tt(t)==n.scroller&&yt(t):2==r?(i&&Yr(e.doc,i),setTimeout((function(){return n.input.focus()}),20)):3==r&&(T?e.display.input.onContextMenu(t):Ti(e)))}}function vs(t,e,n){if("char"==n)return new Tr(e,e);if("word"==n)return t.findWordAt(e);if("line"==n)return new Tr(te(e.line,0),ae(t.doc,te(e.line+1,0)));var i=n(t,e);return new Tr(i.from,i.to)}function _s(t,e,n,i){var r,o;if(e.touches)r=e.touches[0].clientX,o=e.touches[0].clientY;else try{r=e.clientX,o=e.clientY}catch(t){return!1}if(r>=Math.floor(t.display.gutters.getBoundingClientRect().right))return!1;i&&yt(e);var s=t.display,a=s.lineDiv.getBoundingClientRect();if(o>a.bottom||!vt(t,n))return kt(e);o-=a.top-s.viewOffset;for(var l=0;l<t.display.gutterSpecs.length;++l){var c=s.gutters.childNodes[l];if(c&&c.getBoundingClientRect().right>=r)return pt(t,n,t,Qt(t.doc,o),t.display.gutterSpecs[l].className,e),kt(e)}}function ys(t,e){return _s(t,e,"gutterClick",!0)}function xs(t,e){bn(t.display,e)||function(t,e){return!!vt(t,"gutterContextMenu")&&_s(t,e,"gutterContextMenu",!1)}(t,e)||gt(t,e,"contextmenu")||T||t.display.input.onContextMenu(e)}function ks(t){t.display.wrapper.className=t.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+t.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Un(t)}gs.prototype.compare=function(t,e,n){return this.time+400>t&&0==ee(e,this.pos)&&n==this.button};var bs={toString:function(){return"CodeMirror.Init"}},Ts={},Cs={};function ws(t,e,n){if(!e!=!(n&&n!=bs)){var i=t.display.dragFunctions,r=e?ut:dt;r(t.display.scroller,"dragstart",i.start),r(t.display.scroller,"dragenter",i.enter),r(t.display.scroller,"dragover",i.over),r(t.display.scroller,"dragleave",i.leave),r(t.display.scroller,"drop",i.drop)}}function Es(t){t.options.lineWrapping?(M(t.display.wrapper,"CodeMirror-wrap"),t.display.sizer.style.minWidth="",t.display.sizerWidth=null):(E(t.display.wrapper,"CodeMirror-wrap"),Ge(t)),li(t),ui(t),Un(t),setTimeout((function(){return Hi(t)}),100)}function Ss(t,e){var n=this;if(!(this instanceof Ss))return new Ss(t,e);this.options=e=e?P(e):{},P(Ts,e,!1);var i=e.value;"string"==typeof i?i=new No(i,e.mode,null,e.lineSeparator,e.direction):e.mode&&(i.modeOption=e.mode),this.doc=i;var r=new Ss.inputStyles[e.inputStyle](this),o=this.display=new mr(t,i,r,e);for(var c in o.wrapper.CodeMirror=this,ks(this),e.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),ji(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new B,keySeq:null,specialChars:null},e.autofocus&&!v&&o.input.focus(),s&&a<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(t){var e=t.display;ut(e.scroller,"mousedown",tr(t,ms)),ut(e.scroller,"dblclick",s&&a<11?tr(t,(function(e){if(!gt(t,e)){var n=ci(t,e);if(n&&!ys(t,e)&&!bn(t.display,e)){yt(e);var i=t.findWordAt(n);Yr(t.doc,i.anchor,i.head)}}})):function(e){return gt(t,e)||yt(e)}),ut(e.scroller,"contextmenu",(function(e){return xs(t,e)})),ut(e.input.getField(),"contextmenu",(function(n){e.scroller.contains(n.target)||xs(t,n)}));var n,i={end:0};function r(){e.activeTouch&&(n=setTimeout((function(){return e.activeTouch=null}),1e3),(i=e.activeTouch).end=+new Date)}function o(t){if(1!=t.touches.length)return!1;var e=t.touches[0];return e.radiusX<=1&&e.radiusY<=1}function l(t,e){if(null==e.left)return!0;var n=e.left-t.left,i=e.top-t.top;return n*n+i*i>400}ut(e.scroller,"touchstart",(function(r){if(!gt(t,r)&&!o(r)&&!ys(t,r)){e.input.ensurePolled(),clearTimeout(n);var s=+new Date;e.activeTouch={start:s,moved:!1,prev:s-i.end<=300?i:null},1==r.touches.length&&(e.activeTouch.left=r.touches[0].pageX,e.activeTouch.top=r.touches[0].pageY)}})),ut(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),ut(e.scroller,"touchend",(function(n){var i=e.activeTouch;if(i&&!bn(e,n)&&null!=i.left&&!i.moved&&new Date-i.start<300){var o,s=t.coordsChar(e.activeTouch,"page");o=!i.prev||l(i,i.prev)?new Tr(s,s):!i.prev.prev||l(i,i.prev.prev)?t.findWordAt(s):new Tr(te(s.line,0),ae(t.doc,te(s.line+1,0))),t.setSelection(o.anchor,o.head),t.focus(),yt(n)}r()})),ut(e.scroller,"touchcancel",r),ut(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(Ri(t,e.scroller.scrollTop),Pi(t,e.scroller.scrollLeft,!0),pt(t,"scroll",t))})),ut(e.scroller,"mousewheel",(function(e){return kr(t,e)})),ut(e.scroller,"DOMMouseScroll",(function(e){return kr(t,e)})),ut(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(e){gt(t,e)||bt(e)},over:function(e){gt(t,e)||(function(t,e){var n=ci(t,e);if(n){var i=document.createDocumentFragment();_i(t,n,i),t.display.dragCursor||(t.display.dragCursor=L("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),t.display.lineSpace.insertBefore(t.display.dragCursor,t.display.cursorDiv)),A(t.display.dragCursor,i)}}(t,e),bt(e))},start:function(e){return function(t,e){if(s&&(!t.state.draggingText||+new Date-Io<100))bt(e);else if(!gt(t,e)&&!bn(t.display,e)&&(e.dataTransfer.setData("Text",t.getSelection()),e.dataTransfer.effectAllowed="copyMove",e.dataTransfer.setDragImage&&!f)){var n=L("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",u&&(n.width=n.height=1,t.display.wrapper.appendChild(n),n._top=n.offsetTop),e.dataTransfer.setDragImage(n,0,0),u&&n.parentNode.removeChild(n)}}(t,e)},drop:tr(t,Mo),leave:function(e){gt(t,e)||$o(t)}};var c=e.input.getField();ut(c,"keyup",(function(e){return us.call(t,e)})),ut(c,"keydown",tr(t,hs)),ut(c,"keypress",tr(t,fs)),ut(c,"focus",(function(e){return Ci(t,e)})),ut(c,"blur",(function(e){return wi(t,e)}))}(this),Po(),qi(this),this.curOp.forceUpdate=!0,Rr(this,i),e.autofocus&&!v||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Ci(n)}),20):wi(this),Cs)Cs.hasOwnProperty(c)&&Cs[c](this,e[c],bs);fr(this),e.finishInit&&e.finishInit(this);for(var h=0;h<As.length;++h)As[h](this);Vi(this),l&&e.lineWrapping&&"optimizelegibility"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering="auto")}Ss.defaults=Ts,Ss.optionHandlers=Cs;var As=[];function Ls(t,e,n,i){var r,o=t.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?r=de(t,e).state:n="prev");var s=t.options.tabSize,a=qt(o,e),l=F(a.text,null,s);a.stateAfter&&(a.stateAfter=null);var c,h=a.text.match(/^\s*/)[0];if(i||/\S/.test(a.text)){if("smart"==n&&((c=o.mode.indent(r,a.text.slice(h.length),a.text))==H||c>150)){if(!i)return;n="prev"}}else c=0,n="not";"prev"==n?c=e>o.first?F(qt(o,e-1).text,null,s):0:"add"==n?c=l+t.options.indentUnit:"subtract"==n?c=l-t.options.indentUnit:"number"==typeof n&&(c=l+n),c=Math.max(0,c);var u="",f=0;if(t.options.indentWithTabs)for(var d=Math.floor(c/s);d;--d)f+=s,u+="\t";if(f<c&&(u+=V(c-f)),u!=h)return go(o,u,te(e,0),te(e,h.length),"+input"),a.stateAfter=null,!0;for(var p=0;p<o.sel.ranges.length;p++){var g=o.sel.ranges[p];if(g.head.line==e&&g.head.ch<h.length){var m=te(e,h.length);Xr(o,p,new Tr(m,m));break}}}Ss.defineInitHook=function(t){return As.push(t)};var Os=null;function Ns(t){Os=t}function Is(t,e,n,i,r){var o=t.doc;t.display.shift=!1,i||(i=o.sel);var s=+new Date-200,a="paste"==r||t.state.pasteIncoming>s,l=Nt(e),c=null;if(a&&i.ranges.length>1)if(Os&&Os.text.join("\n")==e){if(i.ranges.length%Os.text.length==0){c=[];for(var h=0;h<Os.text.length;h++)c.push(o.splitLines(Os.text[h]))}}else l.length==i.ranges.length&&t.options.pasteLinesPerSelection&&(c=K(l,(function(t){return[t]})));for(var u=t.curOp.updateInput,f=i.ranges.length-1;f>=0;f--){var d=i.ranges[f],p=d.from(),g=d.to();d.empty()&&(n&&n>0?p=te(p.line,p.ch-n):t.state.overwrite&&!a?g=te(g.line,Math.min(qt(o,g.line).text.length,g.ch+Y(l).length)):a&&Os&&Os.lineWise&&Os.text.join("\n")==l.join("\n")&&(p=g=te(p.line,0)));var m={from:p,to:g,text:c?c[f%c.length]:l,origin:r||(a?"paste":t.state.cutIncoming>s?"cut":"+input")};co(t.doc,m),ln(t,"inputRead",t,m)}e&&!a&&$s(t,e),Ni(t),t.curOp.updateInput<2&&(t.curOp.updateInput=u),t.curOp.typing=!0,t.state.pasteIncoming=t.state.cutIncoming=-1}function Ms(t,e){var n=t.clipboardData&&t.clipboardData.getData("Text");if(n)return t.preventDefault(),e.isReadOnly()||e.options.disableInput||Ji(e,(function(){return Is(e,n,0,null,"paste")})),!0}function $s(t,e){if(t.options.electricChars&&t.options.smartIndent)for(var n=t.doc.sel,i=n.ranges.length-1;i>=0;i--){var r=n.ranges[i];if(!(r.head.ch>100||i&&n.ranges[i-1].head.line==r.head.line)){var o=t.getModeAt(r.head),s=!1;if(o.electricChars){for(var a=0;a<o.electricChars.length;a++)if(e.indexOf(o.electricChars.charAt(a))>-1){s=Ls(t,r.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(qt(t.doc,r.head.line).text.slice(0,r.head.ch))&&(s=Ls(t,r.head.line,"smart"));s&&ln(t,"electricInput",t,r.head.line)}}}function Rs(t){for(var e=[],n=[],i=0;i<t.doc.sel.ranges.length;i++){var r=t.doc.sel.ranges[i].head.line,o={anchor:te(r,0),head:te(r+1,0)};n.push(o),e.push(t.getRange(o.anchor,o.head))}return{text:e,ranges:n}}function Ds(t,e,n,i){t.setAttribute("autocorrect",n?"":"off"),t.setAttribute("autocapitalize",i?"":"off"),t.setAttribute("spellcheck",!!e)}function Ps(){var t=L("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; min-height: 1em; outline: none"),e=L("div",[t],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return l?t.style.width="1000px":t.setAttribute("wrap","off"),g&&(t.style.border="1px solid black"),Ds(t),e}function Fs(t,e,n,i,r){var o=e,s=n,a=qt(t,e.line),l=r&&"rtl"==t.direction?-n:n;function c(o){var s,c;if("codepoint"==i){var h=a.text.charCodeAt(e.ch+(n>0?0:-1));if(isNaN(h))s=null;else{var u=n>0?h>=55296&&h<56320:h>=56320&&h<57343;s=new te(e.line,Math.max(0,Math.min(a.text.length,e.ch+n*(u?2:1))),-n)}}else s=r?function(t,e,n,i){var r=ct(e,t.doc.direction);if(!r)return Jo(e,n,i);n.ch>=e.text.length?(n.ch=e.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=at(r,n.ch,n.sticky),s=r[o];if("ltr"==t.doc.direction&&s.level%2==0&&(i>0?s.to>n.ch:s.from<n.ch))return Jo(e,n,i);var a,l=function(t,n){return Zo(e,t instanceof te?t.ch:t,n)},c=function(n){return t.options.lineWrapping?(a=a||In(t,e),Zn(t,e,a,n)):{begin:0,end:e.text.length}},h=c("before"==n.sticky?l(n,-1):n.ch);if("rtl"==t.doc.direction||1==s.level){var u=1==s.level==i<0,f=l(n,u?1:-1);if(null!=f&&(u?f<=s.to&&f<=h.end:f>=s.from&&f>=h.begin)){var d=u?"before":"after";return new te(n.line,f,d)}}var p=function(t,e,i){for(var o=function(t,e){return e?new te(n.line,l(t,1),"before"):new te(n.line,t,"after")};t>=0&&t<r.length;t+=e){var s=r[t],a=e>0==(1!=s.level),c=a?i.begin:l(i.end,-1);if(s.from<=c&&c<s.to)return o(c,a);if(c=a?s.from:l(s.to,-1),i.begin<=c&&c<i.end)return o(c,a)}},g=p(o+i,i,h);if(g)return g;var m=i>0?h.end:l(h.begin,-1);return null==m||i>0&&m==e.text.length||!(g=p(i>0?0:r.length-1,i,c(m)))?null:g}(t.cm,a,e,n):Jo(a,e,n);if(null==s){if(o||(c=e.line+l)<t.first||c>=t.first+t.size||(e=new te(c,e.ch,e.sticky),!(a=qt(t,c))))return!1;e=ts(r,t.cm,a,e.line,l)}else e=s;return!0}if("char"==i||"codepoint"==i)c();else if("column"==i)c(!0);else if("word"==i||"group"==i)for(var h=null,u="group"==i,f=t.cm&&t.cm.getHelper(e,"wordChars"),d=!0;!(n<0)||c(!d);d=!1){var p=a.text.charAt(e.ch)||"\n",g=tt(p,f)?"w":u&&"\n"==p?"n":!u||/\s/.test(p)?null:"p";if(!u||d||g||(g="s"),h&&h!=g){n<0&&(n=1,c(),e.sticky="after");break}if(g&&(h=g),n>0&&!c(!d))break}var m=oo(t,e,o,s,!0);return ne(o,m)&&(m.hitSide=!0),m}function Bs(t,e,n,i){var r,o,s=t.doc,a=e.left;if("page"==i){var l=Math.min(t.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),c=Math.max(l-.5*ii(t.display),3);r=(n>0?e.bottom:e.top)+n*c}else"line"==i&&(r=n>0?e.bottom+3:e.top-3);for(;(o=Xn(t,a,r)).outside;){if(n<0?r<=0:r>=s.height){o.hitSide=!0;break}r+=5*n}return o}var Us=function(t){this.cm=t,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new B,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Hs(t,e){var n=Nn(t,e.line);if(!n||n.hidden)return null;var i=qt(t.doc,e.line),r=Ln(n,i,e.line),o=ct(i,t.doc.direction),s="left";o&&(s=at(o,e.ch)%2?"right":"left");var a=Dn(r.map,e.ch,s);return a.offset="right"==a.collapse?a.end:a.start,a}function zs(t,e){return e&&(t.bad=!0),t}function Ws(t,e,n){var i;if(e==t.display.lineDiv){if(!(i=t.display.lineDiv.childNodes[n]))return zs(t.clipPos(te(t.display.viewTo-1)),!0);e=null,n=0}else for(i=e;;i=i.parentNode){if(!i||i==t.display.lineDiv)return null;if(i.parentNode&&i.parentNode==t.display.lineDiv)break}for(var r=0;r<t.display.view.length;r++){var o=t.display.view[r];if(o.node==i)return js(o,e,n)}}function js(t,e,n){var i=t.text.firstChild,r=!1;if(!e||!N(i,e))return zs(te(Xt(t.line),0),!0);if(e==i&&(r=!0,e=i.childNodes[n],n=0,!e)){var o=t.rest?Y(t.rest):t.line;return zs(te(Xt(o),o.text.length),r)}var s=3==e.nodeType?e:null,a=e;for(s||1!=e.childNodes.length||3!=e.firstChild.nodeType||(s=e.firstChild,n&&(n=s.nodeValue.length));a.parentNode!=i;)a=a.parentNode;var l=t.measure,c=l.maps;function h(e,n,i){for(var r=-1;r<(c?c.length:0);r++)for(var o=r<0?l.map:c[r],s=0;s<o.length;s+=3){var a=o[s+2];if(a==e||a==n){var h=Xt(r<0?t.line:t.rest[r]),u=o[s]+i;return(i<0||a!=e)&&(u=o[s+(i?1:0)]),te(h,u)}}}var u=h(s,a,n);if(u)return zs(u,r);for(var f=a.nextSibling,d=s?s.nodeValue.length-n:0;f;f=f.nextSibling){if(u=h(f,f.firstChild,0))return zs(te(u.line,u.ch-d),r);d+=f.textContent.length}for(var p=a.previousSibling,g=n;p;p=p.previousSibling){if(u=h(p,p.firstChild,-1))return zs(te(u.line,u.ch+g),r);g+=p.textContent.length}}Us.prototype.init=function(t){var e=this,n=this,i=n.cm,r=n.div=t.lineDiv;function o(t){for(var e=t.target;e;e=e.parentNode){if(e==r)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(e.className))break}return!1}function s(t){if(o(t)&&!gt(i,t)){if(i.somethingSelected())Ns({lineWise:!1,text:i.getSelections()}),"cut"==t.type&&i.replaceSelection("",null,"cut");else{if(!i.options.lineWiseCopyCut)return;var e=Rs(i);Ns({lineWise:!0,text:e.text}),"cut"==t.type&&i.operation((function(){i.setSelections(e.ranges,0,z),i.replaceSelection("",null,"cut")}))}if(t.clipboardData){t.clipboardData.clearData();var s=Os.text.join("\n");if(t.clipboardData.setData("Text",s),t.clipboardData.getData("Text")==s)return void t.preventDefault()}var a=Ps(),l=a.firstChild;i.display.lineSpace.insertBefore(a,i.display.lineSpace.firstChild),l.value=Os.text.join("\n");var c=I();R(l),setTimeout((function(){i.display.lineSpace.removeChild(a),c.focus(),c==r&&n.showPrimarySelection()}),50)}}r.contentEditable=!0,Ds(r,i.options.spellcheck,i.options.autocorrect,i.options.autocapitalize),ut(r,"paste",(function(t){!o(t)||gt(i,t)||Ms(t,i)||a<=11&&setTimeout(tr(i,(function(){return e.updateFromDOM()})),20)})),ut(r,"compositionstart",(function(t){e.composing={data:t.data,done:!1}})),ut(r,"compositionupdate",(function(t){e.composing||(e.composing={data:t.data,done:!1})})),ut(r,"compositionend",(function(t){e.composing&&(t.data!=e.composing.data&&e.readFromDOMSoon(),e.composing.done=!0)})),ut(r,"touchstart",(function(){return n.forceCompositionEnd()})),ut(r,"input",(function(){e.composing||e.readFromDOMSoon()})),ut(r,"copy",s),ut(r,"cut",s)},Us.prototype.screenReaderLabelChanged=function(t){t?this.div.setAttribute("aria-label",t):this.div.removeAttribute("aria-label")},Us.prototype.prepareSelection=function(){var t=vi(this.cm,!1);return t.focus=I()==this.div,t},Us.prototype.showSelection=function(t,e){t&&this.cm.display.view.length&&((t.focus||e)&&this.showPrimarySelection(),this.showMultipleSelections(t))},Us.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Us.prototype.showPrimarySelection=function(){var t=this.getSelection(),e=this.cm,i=e.doc.sel.primary(),r=i.from(),o=i.to();if(e.display.viewTo==e.display.viewFrom||r.line>=e.display.viewTo||o.line<e.display.viewFrom)t.removeAllRanges();else{var s=Ws(e,t.anchorNode,t.anchorOffset),a=Ws(e,t.focusNode,t.focusOffset);if(!s||s.bad||!a||a.bad||0!=ee(oe(s,a),r)||0!=ee(re(s,a),o)){var l=e.display.view,c=r.line>=e.display.viewFrom&&Hs(e,r)||{node:l[0].measure.map[2],offset:0},h=o.line<e.display.viewTo&&Hs(e,o);if(!h){var u=l[l.length-1].measure,f=u.maps?u.maps[u.maps.length-1]:u.map;h={node:f[f.length-1],offset:f[f.length-2]-f[f.length-3]}}if(c&&h){var d,p=t.rangeCount&&t.getRangeAt(0);try{d=w(c.node,c.offset,h.offset,h.node)}catch(t){}d&&(!n&&e.state.focused?(t.collapse(c.node,c.offset),d.collapsed||(t.removeAllRanges(),t.addRange(d))):(t.removeAllRanges(),t.addRange(d)),p&&null==t.anchorNode?t.addRange(p):n&&this.startGracePeriod()),this.rememberSelection()}else t.removeAllRanges()}}},Us.prototype.startGracePeriod=function(){var t=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){t.gracePeriod=!1,t.selectionChanged()&&t.cm.operation((function(){return t.cm.curOp.selectionChanged=!0}))}),20)},Us.prototype.showMultipleSelections=function(t){A(this.cm.display.cursorDiv,t.cursors),A(this.cm.display.selectionDiv,t.selection)},Us.prototype.rememberSelection=function(){var t=this.getSelection();this.lastAnchorNode=t.anchorNode,this.lastAnchorOffset=t.anchorOffset,this.lastFocusNode=t.focusNode,this.lastFocusOffset=t.focusOffset},Us.prototype.selectionInEditor=function(){var t=this.getSelection();if(!t.rangeCount)return!1;var e=t.getRangeAt(0).commonAncestorContainer;return N(this.div,e)},Us.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()&&I()==this.div||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Us.prototype.blur=function(){this.div.blur()},Us.prototype.getField=function(){return this.div},Us.prototype.supportsTouch=function(){return!0},Us.prototype.receivedFocus=function(){var t=this,e=this;this.selectionInEditor()?setTimeout((function(){return t.pollSelection()}),20):Ji(this.cm,(function(){return e.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,(function t(){e.cm.state.focused&&(e.pollSelection(),e.polling.set(e.cm.options.pollInterval,t))}))},Us.prototype.selectionChanged=function(){var t=this.getSelection();return t.anchorNode!=this.lastAnchorNode||t.anchorOffset!=this.lastAnchorOffset||t.focusNode!=this.lastFocusNode||t.focusOffset!=this.lastFocusOffset},Us.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var t=this.getSelection(),e=this.cm;if(m&&h&&this.cm.display.gutterSpecs.length&&function(t){for(var e=t;e;e=e.parentNode)if(/CodeMirror-gutter-wrapper/.test(e.className))return!0;return!1}(t.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var n=Ws(e,t.anchorNode,t.anchorOffset),i=Ws(e,t.focusNode,t.focusOffset);n&&i&&Ji(e,(function(){Jr(e.doc,wr(n,i),z),(n.bad||i.bad)&&(e.curOp.selectionChanged=!0)}))}}},Us.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var t,e,n,i=this.cm,r=i.display,o=i.doc.sel.primary(),s=o.from(),a=o.to();if(0==s.ch&&s.line>i.firstLine()&&(s=te(s.line-1,qt(i.doc,s.line-1).length)),a.ch==qt(i.doc,a.line).text.length&&a.line<i.lastLine()&&(a=te(a.line+1,0)),s.line<r.viewFrom||a.line>r.viewTo-1)return!1;s.line==r.viewFrom||0==(t=hi(i,s.line))?(e=Xt(r.view[0].line),n=r.view[0].node):(e=Xt(r.view[t].line),n=r.view[t-1].node.nextSibling);var l,c,h=hi(i,a.line);if(h==r.view.length-1?(l=r.viewTo-1,c=r.lineDiv.lastChild):(l=Xt(r.view[h+1].line)-1,c=r.view[h+1].node.previousSibling),!n)return!1;for(var u=i.doc.splitLines(function(t,e,n,i,r){var o="",s=!1,a=t.doc.lineSeparator(),l=!1;function c(t){return function(e){return e.id==t}}function h(){s&&(o+=a,l&&(o+=a),s=l=!1)}function u(t){t&&(h(),o+=t)}function f(e){if(1==e.nodeType){var n=e.getAttribute("cm-text");if(n)return void u(n);var o,d=e.getAttribute("cm-marker");if(d){var p=t.findMarks(te(i,0),te(r+1,0),c(+d));return void(p.length&&(o=p[0].find(0))&&u(Vt(t.doc,o.from,o.to).join(a)))}if("false"==e.getAttribute("contenteditable"))return;var g=/^(pre|div|p|li|table|br)$/i.test(e.nodeName);if(!/^br$/i.test(e.nodeName)&&0==e.textContent.length)return;g&&h();for(var m=0;m<e.childNodes.length;m++)f(e.childNodes[m]);/^(pre|p)$/i.test(e.nodeName)&&(l=!0),g&&(s=!0)}else 3==e.nodeType&&u(e.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "))}for(;f(e),e!=n;)e=e.nextSibling,l=!1;return o}(i,n,c,e,l)),f=Vt(i.doc,te(e,0),te(l,qt(i.doc,l).text.length));u.length>1&&f.length>1;)if(Y(u)==Y(f))u.pop(),f.pop(),l--;else{if(u[0]!=f[0])break;u.shift(),f.shift(),e++}for(var d=0,p=0,g=u[0],m=f[0],v=Math.min(g.length,m.length);d<v&&g.charCodeAt(d)==m.charCodeAt(d);)++d;for(var _=Y(u),y=Y(f),x=Math.min(_.length-(1==u.length?d:0),y.length-(1==f.length?d:0));p<x&&_.charCodeAt(_.length-p-1)==y.charCodeAt(y.length-p-1);)++p;if(1==u.length&&1==f.length&&e==s.line)for(;d&&d>s.ch&&_.charCodeAt(_.length-p-1)==y.charCodeAt(y.length-p-1);)d--,p++;u[u.length-1]=_.slice(0,_.length-p).replace(/^\u200b+/,""),u[0]=u[0].slice(d).replace(/\u200b+$/,"");var k=te(e,d),b=te(l,f.length?Y(f).length-p:0);return u.length>1||u[0]||ee(k,b)?(go(i.doc,u,k,b,"+input"),!0):void 0},Us.prototype.ensurePolled=function(){this.forceCompositionEnd()},Us.prototype.reset=function(){this.forceCompositionEnd()},Us.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Us.prototype.readFromDOMSoon=function(){var t=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(t.readDOMTimeout=null,t.composing){if(!t.composing.done)return;t.composing=null}t.updateFromDOM()}),80))},Us.prototype.updateFromDOM=function(){var t=this;!this.cm.isReadOnly()&&this.pollContent()||Ji(this.cm,(function(){return ui(t.cm)}))},Us.prototype.setUneditable=function(t){t.contentEditable="false"},Us.prototype.onKeyPress=function(t){0==t.charCode||this.composing||(t.preventDefault(),this.cm.isReadOnly()||tr(this.cm,Is)(this.cm,String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),0))},Us.prototype.readOnlyChanged=function(t){this.div.contentEditable=String("nocursor"!=t)},Us.prototype.onContextMenu=function(){},Us.prototype.resetPosition=function(){},Us.prototype.needsContentAttribute=!0;var Gs=function(t){this.cm=t,this.prevInput="",this.pollingFast=!1,this.polling=new B,this.hasSelection=!1,this.composing=null};Gs.prototype.init=function(t){var e=this,n=this,i=this.cm;this.createField(t);var r=this.textarea;function o(t){if(!gt(i,t)){if(i.somethingSelected())Ns({lineWise:!1,text:i.getSelections()});else{if(!i.options.lineWiseCopyCut)return;var e=Rs(i);Ns({lineWise:!0,text:e.text}),"cut"==t.type?i.setSelections(e.ranges,null,z):(n.prevInput="",r.value=e.text.join("\n"),R(r))}"cut"==t.type&&(i.state.cutIncoming=+new Date)}}t.wrapper.insertBefore(this.wrapper,t.wrapper.firstChild),g&&(r.style.width="0px"),ut(r,"input",(function(){s&&a>=9&&e.hasSelection&&(e.hasSelection=null),n.poll()})),ut(r,"paste",(function(t){gt(i,t)||Ms(t,i)||(i.state.pasteIncoming=+new Date,n.fastPoll())})),ut(r,"cut",o),ut(r,"copy",o),ut(t.scroller,"paste",(function(e){if(!bn(t,e)&&!gt(i,e)){if(!r.dispatchEvent)return i.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=e.clipboardData,r.dispatchEvent(o)}})),ut(t.lineSpace,"selectstart",(function(e){bn(t,e)||yt(e)})),ut(r,"compositionstart",(function(){var t=i.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:t,range:i.markText(t,i.getCursor("to"),{className:"CodeMirror-composing"})}})),ut(r,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Gs.prototype.createField=function(t){this.wrapper=Ps(),this.textarea=this.wrapper.firstChild},Gs.prototype.screenReaderLabelChanged=function(t){t?this.textarea.setAttribute("aria-label",t):this.textarea.removeAttribute("aria-label")},Gs.prototype.prepareSelection=function(){var t=this.cm,e=t.display,n=t.doc,i=vi(t);if(t.options.moveInputWithCursor){var r=Vn(t,n.sel.primary().head,"div"),o=e.wrapper.getBoundingClientRect(),s=e.lineDiv.getBoundingClientRect();i.teTop=Math.max(0,Math.min(e.wrapper.clientHeight-10,r.top+s.top-o.top)),i.teLeft=Math.max(0,Math.min(e.wrapper.clientWidth-10,r.left+s.left-o.left))}return i},Gs.prototype.showSelection=function(t){var e=this.cm.display;A(e.cursorDiv,t.cursors),A(e.selectionDiv,t.selection),null!=t.teTop&&(this.wrapper.style.top=t.teTop+"px",this.wrapper.style.left=t.teLeft+"px")},Gs.prototype.reset=function(t){if(!this.contextMenuPending&&!this.composing){var e=this.cm;if(e.somethingSelected()){this.prevInput="";var n=e.getSelection();this.textarea.value=n,e.state.focused&&R(this.textarea),s&&a>=9&&(this.hasSelection=n)}else t||(this.prevInput=this.textarea.value="",s&&a>=9&&(this.hasSelection=null))}},Gs.prototype.getField=function(){return this.textarea},Gs.prototype.supportsTouch=function(){return!1},Gs.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!v||I()!=this.textarea))try{this.textarea.focus()}catch(t){}},Gs.prototype.blur=function(){this.textarea.blur()},Gs.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Gs.prototype.receivedFocus=function(){this.slowPoll()},Gs.prototype.slowPoll=function(){var t=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){t.poll(),t.cm.state.focused&&t.slowPoll()}))},Gs.prototype.fastPoll=function(){var t=!1,e=this;e.pollingFast=!0,e.polling.set(20,(function n(){e.poll()||t?(e.pollingFast=!1,e.slowPoll()):(t=!0,e.polling.set(60,n))}))},Gs.prototype.poll=function(){var t=this,e=this.cm,n=this.textarea,i=this.prevInput;if(this.contextMenuPending||!e.state.focused||It(n)&&!i&&!this.composing||e.isReadOnly()||e.options.disableInput||e.state.keySeq)return!1;var r=n.value;if(r==i&&!e.somethingSelected())return!1;if(s&&a>=9&&this.hasSelection===r||_&&/[\uf700-\uf7ff]/.test(r))return e.display.input.reset(),!1;if(e.doc.sel==e.display.selForContextMenu){var o=r.charCodeAt(0);if(8203!=o||i||(i="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,c=Math.min(i.length,r.length);l<c&&i.charCodeAt(l)==r.charCodeAt(l);)++l;return Ji(e,(function(){Is(e,r.slice(l),i.length-l,null,t.composing?"*compose":null),r.length>1e3||r.indexOf("\n")>-1?n.value=t.prevInput="":t.prevInput=r,t.composing&&(t.composing.range.clear(),t.composing.range=e.markText(t.composing.start,e.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},Gs.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Gs.prototype.onKeyPress=function(){s&&a>=9&&(this.hasSelection=null),this.fastPoll()},Gs.prototype.onContextMenu=function(t){var e=this,n=e.cm,i=n.display,r=e.textarea;e.contextMenuPending&&e.contextMenuPending();var o=ci(n,t),c=i.scroller.scrollTop;if(o&&!u){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&tr(n,Jr)(n.doc,wr(o),z);var h,f=r.style.cssText,d=e.wrapper.style.cssText,p=e.wrapper.offsetParent.getBoundingClientRect();if(e.wrapper.style.cssText="position: static",r.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(t.clientY-p.top-5)+"px; left: "+(t.clientX-p.left-5)+"px;\n z-index: 1000; background: "+(s?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(h=window.scrollY),i.input.focus(),l&&window.scrollTo(null,h),i.input.reset(),n.somethingSelected()||(r.value=e.prevInput=" "),e.contextMenuPending=v,i.selForContextMenu=n.doc.sel,clearTimeout(i.detectingSelectAll),s&&a>=9&&m(),T){bt(t);var g=function(){dt(window,"mouseup",g),setTimeout(v,20)};ut(window,"mouseup",g)}else setTimeout(v,50)}function m(){if(null!=r.selectionStart){var t=n.somethingSelected(),o="​"+(t?r.value:"");r.value="⇚",r.value=o,e.prevInput=t?"":"​",r.selectionStart=1,r.selectionEnd=o.length,i.selForContextMenu=n.doc.sel}}function v(){if(e.contextMenuPending==v&&(e.contextMenuPending=!1,e.wrapper.style.cssText=d,r.style.cssText=f,s&&a<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=c),null!=r.selectionStart)){(!s||s&&a<9)&&m();var t=0,o=function(){i.selForContextMenu==n.doc.sel&&0==r.selectionStart&&r.selectionEnd>0&&"​"==e.prevInput?tr(n,ao)(n):t++<10?i.detectingSelectAll=setTimeout(o,500):(i.selForContextMenu=null,i.input.reset())};i.detectingSelectAll=setTimeout(o,200)}}},Gs.prototype.readOnlyChanged=function(t){t||this.reset(),this.textarea.disabled="nocursor"==t,this.textarea.readOnly=!!t},Gs.prototype.setUneditable=function(){},Gs.prototype.needsContentAttribute=!1,function(t){var e=t.optionHandlers;function n(n,i,r,o){t.defaults[n]=i,r&&(e[n]=o?function(t,e,n){n!=bs&&r(t,e,n)}:r)}t.defineOption=n,t.Init=bs,n("value","",(function(t,e){return t.setValue(e)}),!0),n("mode",null,(function(t,e){t.doc.modeOption=e,Or(t)}),!0),n("indentUnit",2,Or,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(t){Nr(t),Un(t),ui(t)}),!0),n("lineSeparator",null,(function(t,e){if(t.doc.lineSep=e,e){var n=[],i=t.doc.first;t.doc.iter((function(t){for(var r=0;;){var o=t.text.indexOf(e,r);if(-1==o)break;r=o+e.length,n.push(te(i,o))}i++}));for(var r=n.length-1;r>=0;r--)go(t.doc,e,n[r],te(n[r].line,n[r].ch+e.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(t,e,n){t.state.specialChars=new RegExp(e.source+(e.test("\t")?"":"|\t"),"g"),n!=bs&&t.refresh()})),n("specialCharPlaceholder",Ze,(function(t){return t.refresh()}),!0),n("electricChars",!0),n("inputStyle",v?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(t,e){return t.getInputField().spellcheck=e}),!0),n("autocorrect",!1,(function(t,e){return t.getInputField().autocorrect=e}),!0),n("autocapitalize",!1,(function(t,e){return t.getInputField().autocapitalize=e}),!0),n("rtlMoveVisually",!x),n("wholeLineUpdateBefore",!0),n("theme","default",(function(t){ks(t),gr(t)}),!0),n("keyMap","default",(function(t,e,n){var i=Xo(e),r=n!=bs&&Xo(n);r&&r.detach&&r.detach(t,i),i.attach&&i.attach(t,r||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Es,!0),n("gutters",[],(function(t,e){t.display.gutterSpecs=dr(e,t.options.lineNumbers),gr(t)}),!0),n("fixedGutter",!0,(function(t,e){t.display.gutters.style.left=e?si(t.display)+"px":"0",t.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(t){return Hi(t)}),!0),n("scrollbarStyle","native",(function(t){ji(t),Hi(t),t.display.scrollbars.setScrollTop(t.doc.scrollTop),t.display.scrollbars.setScrollLeft(t.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(t,e){t.display.gutterSpecs=dr(t.options.gutters,e),gr(t)}),!0),n("firstLineNumber",1,gr,!0),n("lineNumberFormatter",(function(t){return t}),gr,!0),n("showCursorWhenSelecting",!1,mi,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(t,e){"nocursor"==e&&(wi(t),t.display.input.blur()),t.display.input.readOnlyChanged(e)})),n("screenReaderLabel",null,(function(t,e){e=""===e?null:e,t.display.input.screenReaderLabelChanged(e)})),n("disableInput",!1,(function(t,e){e||t.display.input.reset()}),!0),n("dragDrop",!0,ws),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,mi,!0),n("singleCursorHeightPerLine",!0,mi,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Nr,!0),n("addModeClass",!1,Nr,!0),n("pollInterval",100),n("undoDepth",200,(function(t,e){return t.doc.history.undoDepth=e})),n("historyEventDelay",1250),n("viewportMargin",10,(function(t){return t.refresh()}),!0),n("maxHighlightLength",1e4,Nr,!0),n("moveInputWithCursor",!0,(function(t,e){e||t.display.input.resetPosition()})),n("tabindex",null,(function(t,e){return t.display.input.getField().tabIndex=e||""})),n("autofocus",null),n("direction","ltr",(function(t,e){return t.doc.setDirection(e)}),!0),n("phrases",null)}(Ss),function(t){var e=t.optionHandlers,n=t.helpers={};t.prototype={constructor:t,focus:function(){window.focus(),this.display.input.focus()},setOption:function(t,n){var i=this.options,r=i[t];i[t]==n&&"mode"!=t||(i[t]=n,e.hasOwnProperty(t)&&tr(this,e[t])(this,n,r),pt(this,"optionChange",this,t))},getOption:function(t){return this.options[t]},getDoc:function(){return this.doc},addKeyMap:function(t,e){this.state.keyMaps[e?"push":"unshift"](Xo(t))},removeKeyMap:function(t){for(var e=this.state.keyMaps,n=0;n<e.length;++n)if(e[n]==t||e[n].name==t)return e.splice(n,1),!0},addOverlay:er((function(e,n){var i=e.token?e:t.getMode(this.options,e);if(i.startState)throw new Error("Overlays may not be stateful.");!function(t,e,n){for(var i=0,r=n(e);i<t.length&&n(t[i])<=r;)i++;t.splice(i,0,e)}(this.state.overlays,{mode:i,modeSpec:e,opaque:n&&n.opaque,priority:n&&n.priority||0},(function(t){return t.priority})),this.state.modeGen++,ui(this)})),removeOverlay:er((function(t){for(var e=this.state.overlays,n=0;n<e.length;++n){var i=e[n].modeSpec;if(i==t||"string"==typeof t&&i.name==t)return e.splice(n,1),this.state.modeGen++,void ui(this)}})),indentLine:er((function(t,e,n){"string"!=typeof e&&"number"!=typeof e&&(e=null==e?this.options.smartIndent?"smart":"prev":e?"add":"subtract"),Zt(this.doc,t)&&Ls(this,t,e,n)})),indentSelection:er((function(t){for(var e=this.doc.sel.ranges,n=-1,i=0;i<e.length;i++){var r=e[i];if(r.empty())r.head.line>n&&(Ls(this,r.head.line,t,!0),n=r.head.line,i==this.doc.sel.primIndex&&Ni(this));else{var o=r.from(),s=r.to(),a=Math.max(n,o.line);n=Math.min(this.lastLine(),s.line-(s.ch?0:1))+1;for(var l=a;l<n;++l)Ls(this,l,t);var c=this.doc.sel.ranges;0==o.ch&&e.length==c.length&&c[i].from().ch>0&&Xr(this.doc,i,new Tr(o,c[i].to()),z)}}})),getTokenAt:function(t,e){return _e(this,t,e)},getLineTokens:function(t,e){return _e(this,te(t),e,!0)},getTokenTypeAt:function(t){t=ae(this.doc,t);var e,n=fe(this,qt(this.doc,t.line)),i=0,r=(n.length-1)/2,o=t.ch;if(0==o)e=n[2];else for(;;){var s=i+r>>1;if((s?n[2*s-1]:0)>=o)r=s;else{if(!(n[2*s+1]<o)){e=n[2*s+2];break}i=s+1}}var a=e?e.indexOf("overlay "):-1;return a<0?e:0==a?null:e.slice(0,a-1)},getModeAt:function(e){var n=this.doc.mode;return n.innerMode?t.innerMode(n,this.getTokenAt(e).state).mode:n},getHelper:function(t,e){return this.getHelpers(t,e)[0]},getHelpers:function(t,e){var i=[];if(!n.hasOwnProperty(e))return i;var r=n[e],o=this.getModeAt(t);if("string"==typeof o[e])r[o[e]]&&i.push(r[o[e]]);else if(o[e])for(var s=0;s<o[e].length;s++){var a=r[o[e][s]];a&&i.push(a)}else o.helperType&&r[o.helperType]?i.push(r[o.helperType]):r[o.name]&&i.push(r[o.name]);for(var l=0;l<r._global.length;l++){var c=r._global[l];c.pred(o,this)&&-1==U(i,c.val)&&i.push(c.val)}return i},getStateAfter:function(t,e){var n=this.doc;return de(this,(t=se(n,null==t?n.first+n.size-1:t))+1,e).state},cursorCoords:function(t,e){var n=this.doc.sel.primary();return Vn(this,null==t?n.head:"object"==typeof t?ae(this.doc,t):t?n.from():n.to(),e||"page")},charCoords:function(t,e){return qn(this,ae(this.doc,t),e||"page")},coordsChar:function(t,e){return Xn(this,(t=Gn(this,t,e||"page")).left,t.top)},lineAtHeight:function(t,e){return t=Gn(this,{top:t,left:0},e||"page").top,Qt(this.doc,t+this.display.viewOffset)},heightAtLine:function(t,e,n){var i,r=!1;if("number"==typeof t){var o=this.doc.first+this.doc.size-1;t<this.doc.first?t=this.doc.first:t>o&&(t=o,r=!0),i=qt(this.doc,t)}else i=t;return jn(this,i,{top:0,left:0},e||"page",n||r).top+(r?this.doc.height-We(i):0)},defaultTextHeight:function(){return ii(this.display)},defaultCharWidth:function(){return ri(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(t,e,n,i,r){var o,s,a,l=this.display,c=(t=Vn(this,ae(this.doc,t))).bottom,h=t.left;if(e.style.position="absolute",e.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(e),l.sizer.appendChild(e),"over"==i)c=t.top;else if("above"==i||"near"==i){var u=Math.max(l.wrapper.clientHeight,this.doc.height),f=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==i||t.bottom+e.offsetHeight>u)&&t.top>e.offsetHeight?c=t.top-e.offsetHeight:t.bottom+e.offsetHeight<=u&&(c=t.bottom),h+e.offsetWidth>f&&(h=f-e.offsetWidth)}e.style.top=c+"px",e.style.left=e.style.right="","right"==r?(h=l.sizer.clientWidth-e.offsetWidth,e.style.right="0px"):("left"==r?h=0:"middle"==r&&(h=(l.sizer.clientWidth-e.offsetWidth)/2),e.style.left=h+"px"),n&&(o=this,s={left:h,top:c,right:h+e.offsetWidth,bottom:c+e.offsetHeight},null!=(a=Li(o,s)).scrollTop&&Ri(o,a.scrollTop),null!=a.scrollLeft&&Pi(o,a.scrollLeft))},triggerOnKeyDown:er(hs),triggerOnKeyPress:er(fs),triggerOnKeyUp:us,triggerOnMouseDown:er(ms),execCommand:function(t){if(es.hasOwnProperty(t))return es[t].call(null,this)},triggerElectric:er((function(t){$s(this,t)})),findPosH:function(t,e,n,i){var r=1;e<0&&(r=-1,e=-e);for(var o=ae(this.doc,t),s=0;s<e&&!(o=Fs(this.doc,o,r,n,i)).hitSide;++s);return o},moveH:er((function(t,e){var n=this;this.extendSelectionsBy((function(i){return n.display.shift||n.doc.extend||i.empty()?Fs(n.doc,i.head,t,e,n.options.rtlMoveVisually):t<0?i.from():i.to()}),j)})),deleteH:er((function(t,e){var n=this.doc.sel,i=this.doc;n.somethingSelected()?i.replaceSelection("",null,"+delete"):Qo(this,(function(n){var r=Fs(i,n.head,t,e,!1);return t<0?{from:r,to:n.head}:{from:n.head,to:r}}))})),findPosV:function(t,e,n,i){var r=1,o=i;e<0&&(r=-1,e=-e);for(var s=ae(this.doc,t),a=0;a<e;++a){var l=Vn(this,s,"div");if(null==o?o=l.left:l.left=o,(s=Bs(this,l,r,n)).hitSide)break}return s},moveV:er((function(t,e){var n=this,i=this.doc,r=[],o=!this.display.shift&&!i.extend&&i.sel.somethingSelected();if(i.extendSelectionsBy((function(s){if(o)return t<0?s.from():s.to();var a=Vn(n,s.head,"div");null!=s.goalColumn&&(a.left=s.goalColumn),r.push(a.left);var l=Bs(n,a,t,e);return"page"==e&&s==i.sel.primary()&&Oi(n,qn(n,l,"div").top-a.top),l}),j),r.length)for(var s=0;s<i.sel.ranges.length;s++)i.sel.ranges[s].goalColumn=r[s]})),findWordAt:function(t){var e=qt(this.doc,t.line).text,n=t.ch,i=t.ch;if(e){var r=this.getHelper(t,"wordChars");"before"!=t.sticky&&i!=e.length||!n?++i:--n;for(var o=e.charAt(n),s=tt(o,r)?function(t){return tt(t,r)}:/\s/.test(o)?function(t){return/\s/.test(t)}:function(t){return!/\s/.test(t)&&!tt(t)};n>0&&s(e.charAt(n-1));)--n;for(;i<e.length&&s(e.charAt(i));)++i}return new Tr(te(t.line,n),te(t.line,i))},toggleOverwrite:function(t){null!=t&&t==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?M(this.display.cursorDiv,"CodeMirror-overwrite"):E(this.display.cursorDiv,"CodeMirror-overwrite"),pt(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==I()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:er((function(t,e){Ii(this,t,e)})),getScrollInfo:function(){var t=this.display.scroller;return{left:t.scrollLeft,top:t.scrollTop,height:t.scrollHeight-En(this)-this.display.barHeight,width:t.scrollWidth-En(this)-this.display.barWidth,clientHeight:An(this),clientWidth:Sn(this)}},scrollIntoView:er((function(t,e){null==t?(t={from:this.doc.sel.primary().head,to:null},null==e&&(e=this.options.cursorScrollMargin)):"number"==typeof t?t={from:te(t,0),to:null}:null==t.from&&(t={from:t,to:null}),t.to||(t.to=t.from),t.margin=e||0,null!=t.from.line?function(t,e){Mi(t),t.curOp.scrollToPos=e}(this,t):$i(this,t.from,t.to,t.margin)})),setSize:er((function(t,e){var n=this,i=function(t){return"number"==typeof t||/^\d+$/.test(String(t))?t+"px":t};null!=t&&(this.display.wrapper.style.width=i(t)),null!=e&&(this.display.wrapper.style.height=i(e)),this.options.lineWrapping&&Bn(this);var r=this.display.viewFrom;this.doc.iter(r,this.display.viewTo,(function(t){if(t.widgets)for(var e=0;e<t.widgets.length;e++)if(t.widgets[e].noHScroll){fi(n,r,"widget");break}++r})),this.curOp.forceUpdate=!0,pt(this,"refresh",this)})),operation:function(t){return Ji(this,t)},startOperation:function(){return qi(this)},endOperation:function(){return Vi(this)},refresh:er((function(){var t=this.display.cachedTextHeight;ui(this),this.curOp.forceUpdate=!0,Un(this),Ii(this,this.doc.scrollLeft,this.doc.scrollTop),cr(this.display),(null==t||Math.abs(t-ii(this.display))>.5||this.options.lineWrapping)&&li(this),pt(this,"refresh",this)})),swapDoc:er((function(t){var e=this.doc;return e.cm=null,this.state.selectingText&&this.state.selectingText(),Rr(this,t),Un(this),this.display.input.reset(),Ii(this,t.scrollLeft,t.scrollTop),this.curOp.forceScroll=!0,ln(this,"swapDoc",this,e),e})),phrase:function(t){var e=this.options.phrases;return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:t},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},_t(t),t.registerHelper=function(e,i,r){n.hasOwnProperty(e)||(n[e]=t[e]={_global:[]}),n[e][i]=r},t.registerGlobalHelper=function(e,i,r,o){t.registerHelper(e,i,o),n[e]._global.push({pred:r,val:o})}}(Ss);var qs="iter insert remove copy getEditor constructor".split(" ");for(var Vs in No.prototype)No.prototype.hasOwnProperty(Vs)&&U(qs,Vs)<0&&(Ss.prototype[Vs]=function(t){return function(){return t.apply(this.doc,arguments)}}(No.prototype[Vs]));return _t(No),Ss.inputStyles={textarea:Gs,contenteditable:Us},Ss.defineMode=function(t){Ss.defaults.mode||"null"==t||(Ss.defaults.mode=t),Pt.apply(this,arguments)},Ss.defineMIME=function(t,e){Dt[t]=e},Ss.defineMode("null",(function(){return{token:function(t){return t.skipToEnd()}}})),Ss.defineMIME("text/plain","null"),Ss.defineExtension=function(t,e){Ss.prototype[t]=e},Ss.defineDocExtension=function(t,e){No.prototype[t]=e},Ss.fromTextArea=function(t,e){if((e=e?P(e):{}).value=t.value,!e.tabindex&&t.tabIndex&&(e.tabindex=t.tabIndex),!e.placeholder&&t.placeholder&&(e.placeholder=t.placeholder),null==e.autofocus){var n=I();e.autofocus=n==t||null!=t.getAttribute("autofocus")&&n==document.body}function i(){t.value=a.getValue()}var r;if(t.form&&(ut(t.form,"submit",i),!e.leaveSubmitMethodAlone)){var o=t.form;r=o.submit;try{var s=o.submit=function(){i(),o.submit=r,o.submit(),o.submit=s}}catch(t){}}e.finishInit=function(n){n.save=i,n.getTextArea=function(){return t},n.toTextArea=function(){n.toTextArea=isNaN,i(),t.parentNode.removeChild(n.getWrapperElement()),t.style.display="",t.form&&(dt(t.form,"submit",i),e.leaveSubmitMethodAlone||"function"!=typeof t.form.submit||(t.form.submit=r))}},t.style.display="none";var a=Ss((function(e){return t.parentNode.insertBefore(e,t.nextSibling)}),e);return a},function(t){t.off=dt,t.on=ut,t.wheelEventPixels=xr,t.Doc=No,t.splitLines=Nt,t.countColumn=F,t.findColumn=G,t.isWordChar=J,t.Pass=H,t.signal=pt,t.Line=qe,t.changeEnd=Er,t.scrollbarModel=Wi,t.Pos=te,t.cmpPos=ee,t.modes=Rt,t.mimeModes=Dt,t.resolveMode=Ft,t.getMode=Bt,t.modeExtensions=Ut,t.extendMode=Ht,t.copyState=zt,t.startState=jt,t.innerMode=Wt,t.commands=es,t.keyMap=Wo,t.keyName=Ko,t.isModifierKey=Vo,t.lookupKey=qo,t.normalizeKeyMap=Go,t.StringStream=Gt,t.SharedTextMarker=So,t.TextMarker=wo,t.LineWidget=bo,t.e_preventDefault=yt,t.e_stopPropagation=xt,t.e_stop=bt,t.addClass=M,t.contains=N,t.rmClass=E,t.keyNames=Bo}(Ss),Ss.version="5.64.0",Ss},"object"==typeof n&&void 0!==e?e.exports=r():"function"==typeof define&&define.amd?define(r):(i=i||self).CodeMirror=r()},{}],14:[function(t,e,n){var i;i=function(t){"use strict";function e(t,e,n,i,r,o){this.indented=t,this.column=e,this.type=n,this.info=i,this.align=r,this.prev=o}function n(t,n,i,r){var o=t.indented;return t.context&&"statement"==t.context.type&&"statement"!=i&&(o=t.context.indented),t.context=new e(o,n,i,r,null,t.context)}function i(t){var e=t.context.type;return")"!=e&&"]"!=e&&"}"!=e||(t.indented=t.context.indented),t.context=t.context.prev}function r(t,e,n){return"variable"==e.prevToken||"type"==e.prevToken||!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(t.string.slice(0,n))||!(!e.typeAtEndOfLine||t.column()!=t.indentation())||void 0}function o(t){for(;;){if(!t||"top"==t.type)return!0;if("}"==t.type&&"namespace"!=t.prev.info)return!1;t=t.prev}}function s(t){for(var e={},n=t.split(" "),i=0;i<n.length;++i)e[n[i]]=!0;return e}function a(t,e){return"function"==typeof t?t(e):t.propertyIsEnumerable(e)}t.defineMode("clike",(function(s,l){var c,h,u=s.indentUnit,f=l.statementIndentUnit||u,d=l.dontAlignCalls,p=l.keywords||{},g=l.types||{},m=l.builtin||{},v=l.blockKeywords||{},_=l.defKeywords||{},y=l.atoms||{},x=l.hooks||{},k=l.multiLineStrings,b=!1!==l.indentStatements,T=!1!==l.indentSwitch,C=l.namespaceSeparator,w=l.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,E=l.numberStart||/[\d\.]/,S=l.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,A=l.isOperatorChar||/[+\-*&%=<>!?|\/]/,L=l.isIdentifierChar||/[\w\$_\xa1-\uffff]/,O=l.isReservedIdentifier||!1;function N(t,e){var n,i=t.next();if(x[i]){var r=x[i](t,e);if(!1!==r)return r}if('"'==i||"'"==i)return e.tokenize=(n=i,function(t,e){for(var i,r=!1,o=!1;null!=(i=t.next());){if(i==n&&!r){o=!0;break}r=!r&&"\\"==i}return(o||!r&&!k)&&(e.tokenize=null),"string"}),e.tokenize(t,e);if(E.test(i)){if(t.backUp(1),t.match(S))return"number";t.next()}if(w.test(i))return c=i,null;if("/"==i){if(t.eat("*"))return e.tokenize=I,I(t,e);if(t.eat("/"))return t.skipToEnd(),"comment"}if(A.test(i)){for(;!t.match(/^\/[\/*]/,!1)&&t.eat(A););return"operator"}if(t.eatWhile(L),C)for(;t.match(C);)t.eatWhile(L);var o=t.current();return a(p,o)?(a(v,o)&&(c="newstatement"),a(_,o)&&(h=!0),"keyword"):a(g,o)?"type":a(m,o)||O&&O(o)?(a(v,o)&&(c="newstatement"),"builtin"):a(y,o)?"atom":"variable"}function I(t,e){for(var n,i=!1;n=t.next();){if("/"==n&&i){e.tokenize=null;break}i="*"==n}return"comment"}function M(t,e){l.typeFirstDefinitions&&t.eol()&&o(e.context)&&(e.typeAtEndOfLine=r(t,e,t.pos))}return{startState:function(t){return{tokenize:null,context:new e((t||0)-u,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(t,e){var s=e.context;if(t.sol()&&(null==s.align&&(s.align=!1),e.indented=t.indentation(),e.startOfLine=!0),t.eatSpace())return M(t,e),null;c=h=null;var a=(e.tokenize||N)(t,e);if("comment"==a||"meta"==a)return a;if(null==s.align&&(s.align=!0),";"==c||":"==c||","==c&&t.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==e.context.type;)i(e);else if("{"==c)n(e,t.column(),"}");else if("["==c)n(e,t.column(),"]");else if("("==c)n(e,t.column(),")");else if("}"==c){for(;"statement"==s.type;)s=i(e);for("}"==s.type&&(s=i(e));"statement"==s.type;)s=i(e)}else c==s.type?i(e):b&&(("}"==s.type||"top"==s.type)&&";"!=c||"statement"==s.type&&"newstatement"==c)&&n(e,t.column(),"statement",t.current());if("variable"==a&&("def"==e.prevToken||l.typeFirstDefinitions&&r(t,e,t.start)&&o(e.context)&&t.match(/^\s*\(/,!1))&&(a="def"),x.token){var u=x.token(t,e,a);void 0!==u&&(a=u)}return"def"==a&&!1===l.styleDefs&&(a="variable"),e.startOfLine=!1,e.prevToken=h?"def":a||c,M(t,e),a},indent:function(e,n){if(e.tokenize!=N&&null!=e.tokenize||e.typeAtEndOfLine)return t.Pass;var i=e.context,r=n&&n.charAt(0),o=r==i.type;if("statement"==i.type&&"}"==r&&(i=i.prev),l.dontIndentStatements)for(;"statement"==i.type&&l.dontIndentStatements.test(i.info);)i=i.prev;if(x.indent){var s=x.indent(e,i,n,u);if("number"==typeof s)return s}var a=i.prev&&"switch"==i.prev.info;if(l.allmanIndentation&&/[{(]/.test(r)){for(;"top"!=i.type&&"}"!=i.type;)i=i.prev;return i.indent