- Scan ID:
- 97115883-623e-48ae-8f12-47f607e9f9d2Finished
- Submitted URL:
- https://rextester.com/ERKJF75171
- Report Finished:
Links · 4 found
The outgoing links identified from the page
Link | Text |
---|---|
https://groups.google.com/g/rextester | Feedback |
https://www.patreon.com/rextester | Patreon |
https://srv.carbonads.net/ads/click/x/GTND427LCAYDLKJUC67LYKQUCVSIK2QIFT7I4Z3JCA7D527UC6AD42JKCABITKJECEYDK2JNCTSIKKQEC6SIEK3KC6SI627JC6YDEK3EHJNCLSIZ | Servidores dedicados Eco: ¡el rendimiento al mejor precio! |
http://carbonads.net/?utm_source=rextestercom&utm_medium=ad_via_link&utm_campaign=in_unit&utm_term=carbon | ads via Carbon |
JavaScript Variables · 20 found
Global JavaScript variables loaded on the window object of a page, are variables declared outside of functions and accessible from anywhere in the code within the current scope
Name | Type |
---|---|
onbeforetoggle | string |
documentPictureInPicture | string |
onscrollend | string |
$ | string |
jQuery | string |
CodeMirror | string |
has_changes | string |
GlobalEditor | string |
Save | string |
RunClientSide | string |
Console log messages · 0 found
Messages logged to the web console
HTML
The raw HTML body of the page
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><title> mvpmvpllapo, C# - rextester </title><meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="Keywords" content="compile c# online"><meta name="Description" content="mvpmvpllapo in C#"> <style type="text/css"> .CodeMirror{font-family:monospace;height:500px;border-bottom:solid 1px #1a1a1a;border-top:solid 1px #1a1a1a;border-right:solid 1px #1a1a1a;color:#000}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #7991e8;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-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{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.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:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;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{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected,.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background:#ffa;background: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:0 0}.CodeMirror-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;height:auto;z-index:9}.CodeMirror-dialog{position:absolute;left:0;right:0;background:#fff;z-index:15;padding:.1em .8em;overflow:hidden;color:#333}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{border:none;outline:0;background:0 0;width:20em;color:inherit;font-family:monospace}.CodeMirror-dialog button{font-size:70%}.CodeMirror-hints{position:absolute;z-index:10;overflow:hidden;list-style:none;margin:0;padding:2px;-webkit-box-shadow:2px 3px 5px rgba(0,0,0,.2);-moz-box-shadow:2px 3px 5px rgba(0,0,0,.2);box-shadow:2px 3px 5px rgba(0,0,0,.2);border-radius:3px;border:1px solid silver;background:#2e2e30;font-size:80%;font-family:Monaco,Menlo,"Andale Mono","lucida console","Courier New",monospace!important;max-height:20em;overflow-y:auto}.CodeMirror-hint{margin:0;padding:0 4px;border-radius:2px;max-width:19em;overflow:hidden;white-space:pre;color:#ffb795;cursor:pointer}.CodeMirror-hint-active{background:#434347;color:#ffb795}.cm-s-ambiance .cm-header{color:#00f}.cm-s-ambiance .cm-quote{color:#24c2c7}.cm-s-ambiance .cm-keyword{color:#cda869}.cm-s-ambiance .cm-atom{color:#cf7ea9}.cm-s-ambiance .cm-number{color:#78cf8a}.cm-s-ambiance .cm-def{color:#aac6e3}.cm-s-ambiance .cm-variable{color:#ffb795}.cm-s-ambiance .cm-variable-2{color:#eed1b3}.cm-s-ambiance .cm-type,.cm-s-ambiance .cm-variable-3{color:#faded3}.cm-s-ambiance .cm-property{color:#eed1b3}.cm-s-ambiance .cm-operator{color:#fa8d6a}.cm-s-ambiance .cm-comment{color:#b3b3b3;font-style:italic}.cm-s-ambiance .cm-string{color:#8f9d6a}.cm-s-ambiance .cm-string-2{color:#9d937c}.cm-s-ambiance .cm-meta{color:#d2a8a1}.cm-s-ambiance .cm-qualifier{color:#ff0}.cm-s-ambiance .cm-builtin{color:#99c}.cm-s-ambiance .cm-bracket{color:#24c2c7}.cm-s-ambiance .cm-tag{color:#fee4ff}.cm-s-ambiance .cm-attribute{color:#9b859d}.cm-s-ambiance .cm-hr{color:pink}.cm-s-ambiance .cm-link{color:#f4c20b}.cm-s-ambiance .cm-special{color:#ff9d00}.cm-s-ambiance .cm-error{color:#af2018}.cm-s-ambiance .CodeMirror-matchingbracket{color:#0f0}.cm-s-ambiance .CodeMirror-nonmatchingbracket{color:#f22}.cm-s-ambiance div.CodeMirror-selected{background:rgba(255,255,255,.15)}.cm-s-ambiance .CodeMirror-line::selection,.cm-s-ambiance .CodeMirror-line>span::selection,.cm-s-ambiance .CodeMirror-line>span>span::selection,.cm-s-ambiance.CodeMirror-focused div.CodeMirror-selected{background:rgba(255,255,255,.1)}.cm-s-ambiance .CodeMirror-line::-moz-selection,.cm-s-ambiance .CodeMirror-line>span::-moz-selection,.cm-s-ambiance .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,.1)}.cm-s-ambiance.CodeMirror{line-height:1.4em;color:#e6e1dc;background-color:#202020;-webkit-box-shadow:inset 0 0 10px #000;-moz-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000}.cm-s-ambiance .CodeMirror-gutters{background:#3d3d3d;border-right:1px solid #4d4d4d;box-shadow:0 10px 20px #000}.cm-s-ambiance .CodeMirror-linenumber{text-shadow:0 1px 1px #4d4d4d;color:#111;padding:0 5px}.cm-s-ambiance .CodeMirror-guttermarker{color:#aaa}.cm-s-ambiance .CodeMirror-guttermarker-subtle{color:#111}.cm-s-ambiance .CodeMirror-cursor{border-left:1px solid #7991e8}.cm-s-ambiance .CodeMirror-activeline-background{background:rgba(255,255,255,.031)}.cm-s-ambiance .CodeMirror-gutters,.cm-s-ambiance.CodeMirror{background-image:url(data:image/png;base64,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)} </style> <style type="text/css"> body { font-family: Arial; background-color: #1a1a1a; color: #929292; /*background-image: linear-gradient(to bottom, #2c2c2c, #1a1a1a 116px);*/ } h2 { color:Gray; margin-top: 0.5em; margin-bottom: 0.5em; } select{ background: #1a1a1a; color: #929292; } .langdropdown option { background: #1a1a1a; color: #929292; } pre.resultarea, code { font-family: "Consolas",monospace; font-size: 14px; white-space: pre-wrap; /* css-3 */ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ word-wrap: break-word; /* Internet Explorer 5.5+ */ width: 99%; } a { color: #929292; } a.related { text-decoration:none; color: #929292; } a.related:visited { text-decoration:none; color:#929292; } a.related:hover { text-decoration:underline; color: #929292; } span.yellow { background: yellow; color:black; } span.blue { background: #CCFFFF; color:black; } span.magenta { background: #FFCCFF; color:black; } span.options { font-family: Arial; font-size: 13px; white-space:nowrap; } div.formcontent { background: #1a1a1a; margin-bottom:0.5em; } a.selectedlink { background: gray; color: White; } a.notselectedlink { color: gray; } a.notselectedlink:hover { background: gray; color: White; } a.smalllink:hover { background-color: #777; color: white; text-decoration: none; cursor: pointer; font-family: sans-serif; font-size: 14px; } a.smalllink { color: #444; font-family: sans-serif; font-size: 14px; text-decoration: none; } span.smalllink { color: #444; font-family: sans-serif; font-size: 14px; text-decoration: none; } span.hov:hover { background-color: #777; color: white; text-decoration: none; cursor: pointer; } pre#Result { margin-left: 0.5em; } input[type=button], input[type=submit] { color: #8f8f8f; background-color:#1a1a1a; border: 1px solid #555; font-weight: bold; } .input_box { color: #afafaf; background-color:#2a2a2a; } input { color: #afafaf; background-color:#2a2a2a; } textarea { color: #8f8f8f; background-color:#1a1a1a; } .sqloutput { border-style: none; border-collapse: collapse; } .sqloutput th, .sqloutput td { border-style: solid; border-width: 1px; border-color: Gray; padding: 0 3px 0 3px; } .CodeMirror {font-size: 13px} </style> <script src="/Scripts/jquery-latest.min.js" type="text/javascript"></script> <script type="text/javascript"> </script> <script defer="" data-domain="rextester.com" src="https://plausible.io/js/script.js"></script> </head> <body> <script type="text/javascript"> !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.CodeMirror=t()}(this,function(){"use strict";function e(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}function t(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function n(e,n){return t(e).appendChild(n)}function r(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function i(e,t,n,i){var o=r(e,t,n,i);return o.setAttribute("role","presentation"),o}function o(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do{if(11==t.nodeType&&(t=t.host),t==e)return!0}while(t=t.parentNode)}function l(){var e;try{e=document.activeElement}catch(t){e=document.body||null}for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;return e}function s(t,n){var r=t.className;e(n).test(r)||(t.className+=(r?" ":"")+n)}function a(t,n){for(var r=t.split(" "),i=0;i<r.length;i++)r[i]&&!e(r[i]).test(n)&&(n+=" "+r[i]);return n}function c(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function u(e,t,n){t||(t={});for(var r in e)!e.hasOwnProperty(r)||!1===n&&t.hasOwnProperty(r)||(t[r]=e[r]);return t}function h(e,t,n,r,i){null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);for(var o=r||0,l=i||0;;){var s=e.indexOf("\t",o);if(s<0||s>=t)return l+(t-o);l+=s-o,l+=n-l%n,o=s+1}}function f(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}function d(e,t,n){for(var r=0,i=0;;){var o=e.indexOf("\t",r);-1==o&&(o=e.length);var l=o-r;if(o==e.length||i+l>=t)return r+Math.min(l,t-i);if(i+=o-r,i+=n-i%n,r=o+1,i>=t)return r}}function p(e){for(;Bl.length<=e;)Bl.push(g(Bl)+" ");return Bl[e]}function g(e){return e[e.length-1]}function m(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=t(e[r],r);return n}function v(e,t,n){for(var r=0,i=n(t);r<e.length&&n(e[r])<=i;)r++;e.splice(r,0,t)}function y(){}function b(e,t){var n;return Object.create?n=Object.create(e):(y.prototype=e,n=new y),t&&u(t,n),n}function w(e){return/\w/.test(e)||e>""&&(e.toUpperCase()!=e.toLowerCase()||Ul.test(e))}function x(e,t){return t?!!(t.source.indexOf("\\w")>-1&&w(e))||t.test(e):w(e)}function C(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}function S(e){return e.charCodeAt(0)>=768&&Gl.test(e)}function L(e,t,n){for(;(n<0?t>0:t<e.length)&&S(e.charAt(t));)t+=n;return t}function M(e,t,n){for(;;){if(Math.abs(t-n)<=1)return e(t)?t:n;var r=Math.floor((t+n)/2);e(r)?n=r:t=r}}function k(e,t,n){var o=this;this.input=n,o.scrollbarFiller=r("div",null,"CodeMirror-scrollbar-filler"),o.scrollbarFiller.setAttribute("cm-not-content","true"),o.gutterFiller=r("div",null,"CodeMirror-gutter-filler"),o.gutterFiller.setAttribute("cm-not-content","true"),o.lineDiv=i("div",null,"CodeMirror-code"),o.selectionDiv=r("div",null,null,"position: relative; z-index: 1"),o.cursorDiv=r("div",null,"CodeMirror-cursors"),o.measure=r("div",null,"CodeMirror-measure"),o.lineMeasure=r("div",null,"CodeMirror-measure"),o.lineSpace=i("div",[o.measure,o.lineMeasure,o.selectionDiv,o.cursorDiv,o.lineDiv],null,"position: relative; outline: none");var l=i("div",[o.lineSpace],"CodeMirror-lines");o.mover=r("div",[l],null,"position: relative"),o.sizer=r("div",[o.mover],"CodeMirror-sizer"),o.sizerWidth=null,o.heightForcer=r("div",null,null,"position: absolute; height: "+Fl+"px; width: 1px;"),o.gutters=r("div",null,"CodeMirror-gutters"),o.lineGutter=null,o.scroller=r("div",[o.sizer,o.heightForcer,o.gutters],"CodeMirror-scroll"),o.scroller.setAttribute("tabIndex","-1"),o.wrapper=r("div",[o.scrollbarFiller,o.gutterFiller,o.scroller],"CodeMirror"),hl&&fl<8&&(o.gutters.style.zIndex=-1,o.scroller.style.paddingRight=0),dl||sl&&Cl||(o.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(o.wrapper):e(o.wrapper)),o.viewFrom=o.viewTo=t.first,o.reportedViewFrom=o.reportedViewTo=t.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,n.init(o)}function T(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t<o){n=i;break}t-=o}return n.lines[t]}function N(e,t,n){var r=[],i=t.line;return e.iter(t.line,n.line+1,function(e){var o=e.text;i==n.line&&(o=o.slice(0,n.ch)),i==t.line&&(o=o.slice(t.ch)),r.push(o),++i}),r}function O(e,t,n){var r=[];return e.iter(t,n,function(e){r.push(e.text)}),r}function A(e,t){var n=t-e.height;if(n)for(var r=e;r;r=r.parent)r.height+=n}function W(e){if(null==e.parent)return null;for(var t=e.parent,n=f(t.lines,e),r=t.parent;r;t=r,r=r.parent)for(var i=0;r.children[i]!=t;++i)n+=r.children[i].chunkSize();return n+t.first}function D(e,t){var n=e.first;e:do{for(var r=0;r<e.children.length;++r){var i=e.children[r],o=i.height;if(t<o){e=i;continue e}t-=o,n+=i.chunkSize()}return n}while(!e.lines);for(var l=0;l<e.lines.length;++l){var s=e.lines[l].height;if(t<s)break;t-=s}return n+l}function H(e,t){return t>=e.first&&t<e.first+e.size}function E(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function F(e,t,n){if(void 0===n&&(n=null),!(this instanceof F))return new F(e,t,n);this.line=e,this.ch=t,this.sticky=n}function P(e,t){return e.line-t.line||e.ch-t.ch}function I(e,t){return e.sticky==t.sticky&&0==P(e,t)}function R(e){return F(e.line,e.ch)}function z(e,t){return P(e,t)<0?t:e}function B(e,t){return P(e,t)<0?e:t}function U(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function G(e,t){if(t.line<e.first)return F(e.first,0);var n=e.first+e.size-1;return t.line>n?F(n,T(e,n).text.length):K(t,T(e,t.line).text.length)}function K(e,t){var n=e.ch;return null==n||n>t?F(e.line,t):n<0?F(e.line,0):e}function V(e,t){for(var n=[],r=0;r<t.length;r++)n[r]=G(e,t[r]);return n}function _(){Kl=!0}function j(){Vl=!0}function X(e,t,n){this.marker=e,this.from=t,this.to=n}function Y(e,t){if(e)for(var n=0;n<e.length;++n){var r=e[n];if(r.marker==t)return r}}function q(e,t){for(var n,r=0;r<e.length;++r)e[r]!=t&&(n||(n=[])).push(e[r]);return n}function $(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e)}function Z(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],l=o.marker;if(null==o.from||(l.inclusiveLeft?o.from<=t:o.from<t)||o.from==t&&"bookmark"==l.type&&(!n||!o.marker.insertLeft)){var s=null==o.to||(l.inclusiveRight?o.to>=t:o.to>t);(r||(r=[])).push(new X(l,o.from,s?null:o.to))}}return r}function Q(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],l=o.marker;if(null==o.to||(l.inclusiveRight?o.to>=t:o.to>t)||o.from==t&&"bookmark"==l.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(l.inclusiveLeft?o.from<=t:o.from<t);(r||(r=[])).push(new X(l,s?null:o.from-t,null==o.to?null:o.to-t))}}return r}function J(e,t){if(t.full)return null;var n=H(e,t.from.line)&&T(e,t.from.line).markedSpans,r=H(e,t.to.line)&&T(e,t.to.line).markedSpans;if(!n&&!r)return null;var i=t.from.ch,o=t.to.ch,l=0==P(t.from,t.to),s=Z(n,i,l),a=Q(r,o,l),c=1==t.text.length,u=g(t.text).length+(c?i:0);if(s)for(var h=0;h<s.length;++h){var f=s[h];if(null==f.to){var d=Y(a,f.marker);d?c&&(f.to=null==d.to?null:d.to+u):f.to=i}}if(a)for(var p=0;p<a.length;++p){var m=a[p];null!=m.to&&(m.to+=u),null==m.from?Y(s,m.marker)||(m.from=u,c&&(s||(s=[])).push(m)):(m.from+=u,c&&(s||(s=[])).push(m))}s&&(s=ee(s)),a&&a!=s&&(a=ee(a));var v=[s];if(!c){var y,b=t.text.length-2;if(b>0&&s)for(var w=0;w<s.length;++w)null==s[w].to&&(y||(y=[])).push(new X(s[w].marker,null,null));for(var x=0;x<b;++x)v.push(y);v.push(a)}return v}function ee(e){for(var t=0;t<e.length;++t){var n=e[t];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function te(e,t,n){var r=null;if(e.iter(t.line,n.line+1,function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var n=e.markedSpans[t].marker;!n.readOnly||r&&-1!=f(r,n)||(r||(r=[])).push(n)}}),!r)return null;for(var i=[{from:t,to:n}],o=0;o<r.length;++o)for(var l=r[o],s=l.find(0),a=0;a<i.length;++a){var c=i[a];if(!(P(c.to,s.from)<0||P(c.from,s.to)>0)){var u=[a,1],h=P(c.from,s.from),d=P(c.to,s.to);(h<0||!l.inclusiveLeft&&!h)&&u.push({from:c.from,to:s.from}),(d>0||!l.inclusiveRight&&!d)&&u.push({from:s.to,to:c.to}),i.splice.apply(i,u),a+=u.length-3}}return i}function ne(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function re(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function ie(e){return e.inclusiveLeft?-1:0}function oe(e){return e.inclusiveRight?1:0}function le(e,t){var n=e.lines.length-t.lines.length;if(0!=n)return n;var r=e.find(),i=t.find(),o=P(r.from,i.from)||ie(e)-ie(t);if(o)return-o;var l=P(r.to,i.to)||oe(e)-oe(t);return l||t.id-e.id}function se(e,t){var n,r=Vl&&e.markedSpans;if(r)for(var i=void 0,o=0;o<r.length;++o)(i=r[o]).marker.collapsed&&null==(t?i.from:i.to)&&(!n||le(n,i.marker)<0)&&(n=i.marker);return n}function ae(e){return se(e,!0)}function ce(e){return se(e,!1)}function ue(e,t,n,r,i){var o=T(e,t),l=Vl&&o.markedSpans;if(l)for(var s=0;s<l.length;++s){var a=l[s];if(a.marker.collapsed){var c=a.marker.find(0),u=P(c.from,n)||ie(a.marker)-ie(i),h=P(c.to,r)||oe(a.marker)-oe(i);if(!(u>=0&&h<=0||u<=0&&h>=0)&&(u<=0&&(a.marker.inclusiveRight&&i.inclusiveLeft?P(c.to,n)>=0:P(c.to,n)>0)||u>=0&&(a.marker.inclusiveRight&&i.inclusiveLeft?P(c.from,r)<=0:P(c.from,r)<0)))return!0}}}function he(e){for(var t;t=ae(e);)e=t.find(-1,!0).line;return e}function fe(e){for(var t;t=ce(e);)e=t.find(1,!0).line;return e}function de(e){for(var t,n;t=ce(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}function pe(e,t){var n=T(e,t),r=he(n);return n==r?t:W(r)}function ge(e,t){if(t>e.lastLine())return t;var n,r=T(e,t);if(!me(e,r))return t;for(;n=ce(r);)r=n.find(1,!0).line;return W(r)+1}function me(e,t){var n=Vl&&t.markedSpans;if(n)for(var r=void 0,i=0;i<n.length;++i)if((r=n[i]).marker.collapsed){if(null==r.from)return!0;if(!r.marker.widgetNode&&0==r.from&&r.marker.inclusiveLeft&&ve(e,t,r))return!0}}function ve(e,t,n){if(null==n.to){var r=n.marker.find(1,!0);return ve(e,r.line,Y(r.line.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==t.text.length)return!0;for(var i=void 0,o=0;o<t.markedSpans.length;++o)if((i=t.markedSpans[o]).marker.collapsed&&!i.marker.widgetNode&&i.from==n.to&&(null==i.to||i.to!=n.from)&&(i.marker.inclusiveLeft||n.marker.inclusiveRight)&&ve(e,t,i))return!0}function ye(e){for(var t=0,n=(e=he(e)).parent,r=0;r<n.lines.length;++r){var i=n.lines[r];if(i==e)break;t+=i.height}for(var o=n.parent;o;n=o,o=n.parent)for(var l=0;l<o.children.length;++l){var s=o.children[l];if(s==n)break;t+=s.height}return t}function be(e){if(0==e.height)return 0;for(var t,n=e.text.length,r=e;t=ae(r);){var i=t.find(0,!0);r=i.from.line,n+=i.from.ch-i.to.ch}for(r=e;t=ce(r);){var o=t.find(0,!0);n-=r.text.length-o.from.ch,n+=(r=o.to.line).text.length-o.to.ch}return n}function we(e){var t=e.display,n=e.doc;t.maxLine=T(n,n.first),t.maxLineLength=be(t.maxLine),t.maxLineChanged=!0,n.iter(function(e){var n=be(e);n>t.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)})}function xe(e,t,n,r){if(!e)return r(t,n,"ltr");for(var i=!1,o=0;o<e.length;++o){var l=e[o];(l.from<n&&l.to>t||t==n&&l.to==t)&&(r(Math.max(l.from,t),Math.min(l.to,n),1==l.level?"rtl":"ltr"),i=!0)}i||r(t,n,"ltr")}function Ce(e,t,n){var r;_l=null;for(var i=0;i<e.length;++i){var o=e[i];if(o.from<t&&o.to>t)return i;o.to==t&&(o.from!=o.to&&"before"==n?r=i:_l=i),o.from==t&&(o.from!=o.to&&"before"!=n?r=i:_l=i)}return null!=r?r:_l}function Se(e,t){var n=e.order;return null==n&&(n=e.order=jl(e.text,t)),n}function Le(e,t,n){var r=L(e.text,t+n,n);return r<0||r>e.text.length?null:r}function Me(e,t,n){var r=Le(e,t.ch,n);return null==r?null:new F(t.line,r,n<0?"after":"before")}function ke(e,t,n,r,i){if(e){var o=Se(n,t.doc.direction);if(o){var l,s=i<0?g(o):o[0],a=i<0==(1==s.level)?"after":"before";if(s.level>0){var c=Zt(t,n);l=i<0?n.text.length-1:0;var u=Qt(t,c,l).top;l=M(function(e){return Qt(t,c,e).top==u},i<0==(1==s.level)?s.from:s.to-1,l),"before"==a&&(l=Le(n,l,1))}else l=i<0?s.to:s.from;return new F(r,l,a)}}return new F(r,i<0?n.text.length:0,i<0?"before":"after")}function Te(e,t,n,r){var i=Se(t,e.doc.direction);if(!i)return Me(t,n,r);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=Ce(i,n.ch,n.sticky),l=i[o];if("ltr"==e.doc.direction&&l.level%2==0&&(r>0?l.to>n.ch:l.from<n.ch))return Me(t,n,r);var s,a=function(e,n){return Le(t,e instanceof F?e.ch:e,n)},c=function(n){return e.options.lineWrapping?(s=s||Zt(e,t),vn(e,t,s,n)):{begin:0,end:t.text.length}},u=c("before"==n.sticky?a(n,-1):n.ch);if("rtl"==e.doc.direction||1==l.level){var h=1==l.level==r<0,f=a(n,h?1:-1);if(null!=f&&(h?f<=l.to&&f<=u.end:f>=l.from&&f>=u.begin)){var d=h?"before":"after";return new F(n.line,f,d)}}var p=function(e,t,r){for(var o=function(e,t){return t?new F(n.line,a(e,1),"before"):new F(n.line,e,"after")};e>=0&&e<i.length;e+=t){var l=i[e],s=t>0==(1!=l.level),c=s?r.begin:a(r.end,-1);if(l.from<=c&&c<l.to)return o(c,s);if(c=s?l.from:a(l.to,-1),r.begin<=c&&c<r.end)return o(c,s)}},g=p(o+r,r,u);if(g)return g;var m=r>0?u.end:a(u.begin,-1);return null==m||r>0&&m==t.text.length||!(g=p(r>0?0:i.length-1,r,c(m)))?null:g}function Ne(e,t){return e._handlers&&e._handlers[t]||Xl}function Oe(e,t,n){if(e.removeEventListener)e.removeEventListener(t,n,!1);else if(e.detachEvent)e.detachEvent("on"+t,n);else{var r=e._handlers,i=r&&r[t];if(i){var o=f(i,n);o>-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function Ae(e,t){var n=Ne(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i<n.length;++i)n[i].apply(null,r)}function We(e,t,n){return"string"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),Ae(e,n||t.type,e,t),Ie(t)||t.codemirrorIgnore}function De(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var n=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),r=0;r<t.length;++r)-1==f(n,t[r])&&n.push(t[r])}function He(e,t){return Ne(e,t).length>0}function Ee(e){e.prototype.on=function(e,t){Yl(this,e,t)},e.prototype.off=function(e,t){Oe(this,e,t)}}function Fe(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Pe(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ie(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Re(e){Fe(e),Pe(e)}function ze(e){return e.target||e.srcElement}function Be(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),Sl&&e.ctrlKey&&1==t&&(t=3),t}function Ue(e){if(null==Hl){var t=r("span","");n(e,r("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Hl=t.offsetWidth<=1&&t.offsetHeight>2&&!(hl&&fl<8))}var i=Hl?r("span",""):r("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return i.setAttribute("cm-text",""),i}function Ge(e){if(null!=El)return El;var r=n(e,document.createTextNode("AخA")),i=Tl(r,0,1).getBoundingClientRect(),o=Tl(r,1,2).getBoundingClientRect();return t(e),!(!i||i.left==i.right)&&(El=o.right-i.right<3)}function Ke(e){if(null!=Jl)return Jl;var t=n(e,r("span","x")),i=t.getBoundingClientRect(),o=Tl(t,0,1).getBoundingClientRect();return Jl=Math.abs(i.left-o.left)>1}function Ve(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),es[e]=t}function _e(e,t){ts[e]=t}function je(e){if("string"==typeof e&&ts.hasOwnProperty(e))e=ts[e];else if(e&&"string"==typeof e.name&&ts.hasOwnProperty(e.name)){var t=ts[e.name];"string"==typeof t&&(t={name:t}),(e=b(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return je("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return je("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function Xe(e,t){t=je(t);var n=es[t.name];if(!n)return Xe(e,"text/plain");var r=n(e,t);if(ns.hasOwnProperty(t.name)){var i=ns[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)r[l]=t.modeProps[l];return r}function Ye(e,t){u(t,ns.hasOwnProperty(e)?ns[e]:ns[e]={})}function qe(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function $e(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Ze(e,t,n){return!e.startState||e.startState(t,n)}function Qe(e,t,n,r){var i=[e.state.modeGen],o={};lt(e,t.text,e.doc.mode,n,function(e,t){return i.push(e,t)},o,r);for(var l=n.state,s=0;s<e.state.overlays.length;++s)!function(r){var l=e.state.overlays[r],s=1,a=0;n.state=!0,lt(e,t.text,l.mode,n,function(e,t){for(var n=s;a<e;){var r=i[s];r>e&&i.splice(s,1,e,i[s+1],r),s+=2,a=Math.min(e,r)}if(t)if(l.opaque)i.splice(n,s-n,e,"overlay "+t),s=n+2;else for(;n<s;n+=2){var o=i[n+1];i[n+1]=(o?o+" ":"")+"overlay "+t}},o)}(s);return n.state=l,{styles:i,classes:o.bgClass||o.textClass?o:null}}function Je(e,t,n){if(!t.styles||t.styles[0]!=e.state.modeGen){var r=et(e,W(t)),i=t.text.length>e.options.maxHighlightLength&&qe(e.doc.mode,r.state),o=Qe(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function et(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new os(r,!0,t);var o=st(e,t,n),l=o>r.first&&T(r,o-1).stateAfter,s=l?os.fromSaved(r,l,o):new os(r,Ze(r.mode),o);return r.iter(o,t,function(n){tt(e,n.text,s);var r=s.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&r<i.viewTo?s.save():null,s.nextLine()}),n&&(r.modeFrontier=s.line),s}function tt(e,t,n,r){var i=e.doc.mode,o=new rs(t,e.options.tabSize,n);for(o.start=o.pos=r||0,""==t&&nt(i,n.state);!o.eol();)rt(i,o,n.state),o.start=o.pos}function nt(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode){var n=$e(e,t);return n.mode.blankLine?n.mode.blankLine(n.state):void 0}}function rt(e,t,n,r){for(var i=0;i<10;i++){r&&(r[0]=$e(e,n).mode);var o=e.token(t,n);if(t.pos>t.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}function it(e,t,n,r){var i,o,l=e.doc,s=l.mode,a=T(l,(t=G(l,t)).line),c=et(e,t.line,n),u=new rs(a.text,e.options.tabSize,c);for(r&&(o=[]);(r||u.pos<t.ch)&&!u.eol();)u.start=u.pos,i=rt(s,u,c.state),r&&o.push(new ls(u,i,qe(l.mode,c.state)));return r?o:new ls(u,i,c.state)}function ot(e,t){if(e)for(;;){var n=e.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var r=n[1]?"bgClass":"textClass";null==t[r]?t[r]=n[2]:new RegExp("(?:^|s)"+n[2]+"(?:$|s)").test(t[r])||(t[r]+=" "+n[2])}return e}function lt(e,t,n,r,i,o,l){var s=n.flattenSpans;null==s&&(s=e.options.flattenSpans);var a,c=0,u=null,h=new rs(t,e.options.tabSize,r),f=e.options.addModeClass&&[null];for(""==t&&ot(nt(n,r.state),o);!h.eol();){if(h.pos>e.options.maxHighlightLength?(s=!1,l&&tt(e,t,r,h.pos),h.pos=t.length,a=null):a=ot(rt(n,h,r.state,f),o),f){var d=f[0].name;d&&(a="m-"+(a?d+" "+a:d))}if(!s||u!=a){for(;c<h.start;)i(c=Math.min(h.start,c+5e3),u);u=a}h.start=h.pos}for(;c<h.pos;){var p=Math.min(h.pos,c+5e3);i(p,u),c=p}}function st(e,t,n){for(var r,i,o=e.doc,l=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>l;--s){if(s<=o.first)return o.first;var a=T(o,s-1),c=a.stateAfter;if(c&&(!n||s+(c instanceof is?c.lookAhead:0)<=o.modeFrontier))return s;var u=h(a.text,null,e.options.tabSize);(null==i||r>u)&&(i=s-1,r=u)}return i}function at(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontier<t-10)){for(var n=e.first,r=t-1;r>n;r--){var i=T(e,r).stateAfter;if(i&&(!(i instanceof is)||r+i.lookAhead<t)){n=r+1;break}}e.highlightFrontier=Math.min(e.highlightFrontier,n)}}function ct(e,t,n,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),null!=e.order&&(e.order=null),ne(e),re(e,n);var i=r?r(e):1;i!=e.height&&A(e,i)}function ut(e){e.parent=null,ne(e)}function ht(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?us:cs;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function ft(e,t){var n=i("span",null,null,dl?"padding-right: .1px":null),r={pre:i("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:(hl||dl)&&e.getOption("lineWrapping")};t.measure={};for(var o=0;o<=(t.rest?t.rest.length:0);o++){var l=o?t.rest[o-1]:t.line,s=void 0;r.pos=0,r.addToken=pt,Ge(e.display.measure)&&(s=Se(l,e.doc.direction))&&(r.addToken=mt(r.addToken,s)),r.map=[],yt(l,r,Je(e,l,t!=e.display.externalMeasured&&W(l))),l.styleClasses&&(l.styleClasses.bgClass&&(r.bgClass=a(l.styleClasses.bgClass,r.bgClass||"")),l.styleClasses.textClass&&(r.textClass=a(l.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Ue(e.display.measure))),0==o?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(dl){var c=r.content.lastChild;(/\bcm-tab\b/.test(c.className)||c.querySelector&&c.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return Ae(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=a(r.pre.className,r.textClass||"")),r}function dt(e){var t=r("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function pt(e,t,n,i,o,l,s){if(t){var a,c=e.splitSpaces?gt(t,e.trailingSpace):t,u=e.cm.state.specialChars,h=!1;if(u.test(t)){a=document.createDocumentFragment();for(var f=0;;){u.lastIndex=f;var d=u.exec(t),g=d?d.index-f:t.length-f;if(g){var m=document.createTextNode(c.slice(f,f+g));hl&&fl<9?a.appendChild(r("span",[m])):a.appendChild(m),e.map.push(e.pos,e.pos+g,m),e.col+=g,e.pos+=g}if(!d)break;f+=g+1;var v=void 0;if("\t"==d[0]){var y=e.cm.options.tabSize,b=y-e.col%y;(v=a.appendChild(r("span",p(b),"cm-tab"))).setAttribute("role","presentation"),v.setAttribute("cm-text","\t"),e.col+=b}else"\r"==d[0]||"\n"==d[0]?((v=a.appendChild(r("span","\r"==d[0]?"␍":"","cm-invalidchar"))).setAttribute("cm-text",d[0]),e.col+=1):((v=e.cm.options.specialCharPlaceholder(d[0])).setAttribute("cm-text",d[0]),hl&&fl<9?a.appendChild(r("span",[v])):a.appendChild(v),e.col+=1);e.map.push(e.pos,e.pos+1,v),e.pos++}}else e.col+=t.length,a=document.createTextNode(c),e.map.push(e.pos,e.pos+t.length,a),hl&&fl<9&&(h=!0),e.pos+=t.length;if(e.trailingSpace=32==c.charCodeAt(t.length-1),n||i||o||h||s){var w=n||"";i&&(w+=i),o&&(w+=o);var x=r("span",[a],w,s);return l&&(x.title=l),e.content.appendChild(x)}e.content.appendChild(a)}}function gt(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;i<e.length;i++){var o=e.charAt(i);" "!=o||!n||i!=e.length-1&&32!=e.charCodeAt(i+1)||(o=" "),r+=o,n=" "==o}return r}function mt(e,t){return function(n,r,i,o,l,s,a){i=i?i+" cm-force-border":"cm-force-border";for(var c=n.pos,u=c+r.length;;){for(var h=void 0,f=0;f<t.length&&!((h=t[f]).to>c&&h.from<=c);f++);if(h.to>=u)return e(n,r,i,o,l,s,a);e(n,r.slice(0,h.to-c),i,o,null,s,a),o=null,r=r.slice(h.to-c),c=h.to}}}function vt(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function yt(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var l,s,a,c,u,h,f,d=i.length,p=0,g=1,m="",v=0;;){if(v==p){a=c=u=h=s="",f=null,v=1/0;for(var y=[],b=void 0,w=0;w<r.length;++w){var x=r[w],C=x.marker;"bookmark"==C.type&&x.from==p&&C.widgetNode?y.push(C):x.from<=p&&(null==x.to||x.to>p||C.collapsed&&x.to==p&&x.from==p)?(null!=x.to&&x.to!=p&&v>x.to&&(v=x.to,c=""),C.className&&(a+=" "+C.className),C.css&&(s=(s?s+";":"")+C.css),C.startStyle&&x.from==p&&(u+=" "+C.startStyle),C.endStyle&&x.to==v&&(b||(b=[])).push(C.endStyle,x.to),C.title&&!h&&(h=C.title),C.collapsed&&(!f||le(f.marker,C)<0)&&(f=x)):x.from>p&&v>x.from&&(v=x.from)}if(b)for(var S=0;S<b.length;S+=2)b[S+1]==v&&(c+=" "+b[S]);if(!f||f.from==p)for(var L=0;L<y.length;++L)vt(t,0,y[L]);if(f&&(f.from||0)==p){if(vt(t,(null==f.to?d+1:f.to)-p,f.marker,null==f.from),null==f.to)return;f.to==p&&(f=!1)}}if(p>=d)break;for(var M=Math.min(d,v);;){if(m){var k=p+m.length;if(!f){var T=k>M?m.slice(0,M-p):m;t.addToken(t,T,l?l+a:a,u,p+T.length==v?c:"",h,s)}if(k>=M){m=m.slice(M-p),p=M;break}p=k,u=""}m=i.slice(o,o=n[g++]),l=ht(n[g++],t.cm.options)}}else for(var N=1;N<n.length;N+=2)t.addToken(t,i.slice(o,o=n[N]),ht(n[N+1],t.cm.options))}function bt(e,t,n){this.line=t,this.rest=de(t),this.size=this.rest?W(g(this.rest))-n+1:1,this.node=this.text=null,this.hidden=me(e,t)}function wt(e,t,n){for(var r,i=[],o=t;o<n;o=r){var l=new bt(e.doc,T(e.doc,o),o);r=o+l.size,i.push(l)}return i}function xt(e){hs?hs.ops.push(e):e.ownsGroup=hs={ops:[e],delayedCallbacks:[]}}function Ct(e){var t=e.delayedCallbacks,n=0;do{for(;n<t.length;n++)t[n].call(null);for(var r=0;r<e.ops.length;r++){var i=e.ops[r];if(i.cursorActivityHandlers)for(;i.cursorActivityCalled<i.cursorActivityHandlers.length;)i.cursorActivityHandlers[i.cursorActivityCalled++].call(null,i.cm)}}while(n<t.length)}function St(e,t){var n=e.ownsGroup;if(n)try{Ct(n)}finally{hs=null,t(n)}}function Lt(e,t){var n=Ne(e,t);if(n.length){var r,i=Array.prototype.slice.call(arguments,2);hs?r=hs.delayedCallbacks:fs?r=fs:(r=fs=[],setTimeout(Mt,0));for(var o=0;o<n.length;++o)!function(e){r.push(function(){return n[e].apply(null,i)})}(o)}}function Mt(){var e=fs;fs=null;for(var t=0;t<e.length;++t)e[t]()}function kt(e,t,n,r){for(var i=0;i<t.changes.length;i++){var o=t.changes[i];"text"==o?At(e,t):"gutter"==o?Dt(e,t,n,r):"class"==o?Wt(e,t):"widget"==o&&Ht(e,t,r)}t.changes=null}function Tt(e){return e.node==e.text&&(e.node=r("div",null,null,"position: relative"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),hl&&fl<8&&(e.node.style.zIndex=2)),e.node}function Nt(e,t){var n=t.bgClass?t.bgClass+" "+(t.line.bgClass||""):t.line.bgClass;if(n&&(n+=" CodeMirror-linebackground"),t.background)n?t.background.className=n:(t.background.parentNode.removeChild(t.background),t.background=null);else if(n){var i=Tt(t);t.background=i.insertBefore(r("div",null,n),i.firstChild),e.display.input.setUneditable(t.background)}}function Ot(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):ft(e,t)}function At(e,t){var n=t.text.className,r=Ot(e,t);t.text==t.node&&(t.node=r.pre),t.text.parentNode.replaceChild(r.pre,t.text),t.text=r.pre,r.bgClass!=t.bgClass||r.textClass!=t.textClass?(t.bgClass=r.bgClass,t.textClass=r.textClass,Wt(e,t)):n&&(t.text.className=n)}function Wt(e,t){Nt(e,t),t.line.wrapClass?Tt(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className="");var n=t.textClass?t.textClass+" "+(t.line.textClass||""):t.line.textClass;t.text.className=n||""}function Dt(e,t,n,i){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var o=Tt(t);t.gutterBackground=r("div",null,"CodeMirror-gutter-background "+t.line.gutterClass,"left: "+(e.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px; width: "+i.gutterTotalWidth+"px"),e.display.input.setUneditable(t.gutterBackground),o.insertBefore(t.gutterBackground,t.text)}var l=t.line.gutterMarkers;if(e.options.lineNumbers||l){var s=Tt(t),a=t.gutter=r("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px");if(e.display.input.setUneditable(a),s.insertBefore(a,t.text),t.line.gutterClass&&(a.className+=" "+t.line.gutterClass),!e.options.lineNumbers||l&&l["CodeMirror-linenumbers"]||(t.lineNumber=a.appendChild(r("div",E(e.options,n),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+i.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),l)for(var c=0;c<e.options.gutters.length;++c){var u=e.options.gutters[c],h=l.hasOwnProperty(u)&&l[u];h&&a.appendChild(r("div",[h],"CodeMirror-gutter-elt","left: "+i.gutterLeft[u]+"px; width: "+i.gutterWidth[u]+"px"))}}}function Ht(e,t,n){t.alignable&&(t.alignable=null);for(var r=t.node.firstChild,i=void 0;r;r=i)i=r.nextSibling,"CodeMirror-linewidget"==r.className&&t.node.removeChild(r);Ft(e,t,n)}function Et(e,t,n,r){var i=Ot(e,t);return t.text=t.node=i.pre,i.bgClass&&(t.bgClass=i.bgClass),i.textClass&&(t.textClass=i.textClass),Wt(e,t),Dt(e,t,n,r),Ft(e,t,r),t.node}function Ft(e,t,n){if(Pt(e,t.line,t,n,!0),t.rest)for(var r=0;r<t.rest.length;r++)Pt(e,t.rest[r],t,n,!1)}function Pt(e,t,n,i,o){if(t.widgets)for(var l=Tt(n),s=0,a=t.widgets;s<a.length;++s){var c=a[s],u=r("div",[c.node],"CodeMirror-linewidget");c.handleMouseEvents||u.setAttribute("cm-ignore-events","true"),It(c,u,n,i),e.display.input.setUneditable(u),o&&c.above?l.insertBefore(u,n.gutter||n.text):l.appendChild(u),Lt(c,"redraw")}}function It(e,t,n,r){if(e.noHScroll){(n.alignable||(n.alignable=[])).push(t);var i=r.wrapperWidth;t.style.left=r.fixedPos+"px",e.coverGutter||(i-=r.gutterTotalWidth,t.style.paddingLeft=r.gutterTotalWidth+"px"),t.style.width=i+"px"}e.coverGutter&&(t.style.zIndex=5,t.style.position="relative",e.noHScroll||(t.style.marginLeft=-r.gutterTotalWidth+"px"))}function Rt(e){if(null!=e.height)return e.height;var t=e.doc.cm;if(!t)return 0;if(!o(document.body,e.node)){var i="position: relative;";e.coverGutter&&(i+="margin-left: -"+t.display.gutters.offsetWidth+"px;"),e.noHScroll&&(i+="width: "+t.display.wrapper.clientWidth+"px;"),n(t.display.measure,r("div",[e.node],null,i))}return e.height=e.node.parentNode.offsetHeight}function zt(e,t){for(var n=ze(t);n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&"true"==n.getAttribute("cm-ignore-events")||n.parentNode==e.sizer&&n!=e.mover)return!0}function Bt(e){return e.lineSpace.offsetTop}function Ut(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function Gt(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=n(e.measure,r("pre","x")),i=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,o={left:parseInt(i.paddingLeft),right:parseInt(i.paddingRight)};return isNaN(o.left)||isNaN(o.right)||(e.cachedPaddingH=o),o}function Kt(e){return Fl-e.display.nativeBarWidth}function Vt(e){return e.display.scroller.clientWidth-Kt(e)-e.display.barWidth}function _t(e){return e.display.scroller.clientHeight-Kt(e)-e.display.barHeight}function jt(e,t,n){var r=e.options.lineWrapping,i=r&&Vt(e);if(!t.measure.heights||r&&t.measure.width!=i){var o=t.measure.heights=[];if(r){t.measure.width=i;for(var l=t.text.firstChild.getClientRects(),s=0;s<l.length-1;s++){var a=l[s],c=l[s+1];Math.abs(a.bottom-c.bottom)>2&&o.push((a.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}function Xt(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};for(var r=0;r<e.rest.length;r++)if(e.rest[r]==t)return{map:e.measure.maps[r],cache:e.measure.caches[r]};for(var i=0;i<e.rest.length;i++)if(W(e.rest[i])>n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function Yt(e,t){var r=W(t=he(t)),i=e.display.externalMeasured=new bt(e.doc,t,r);i.lineN=r;var o=i.built=ft(e,i);return i.text=o.pre,n(e.display.lineMeasure,o.pre),i}function qt(e,t,n,r){return Qt(e,Zt(e,t),n,r)}function $t(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[kn(e,t)];var n=e.display.externalMeasured;return n&&t>=n.lineN&&t<n.lineN+n.size?n:void 0}function Zt(e,t){var n=W(t),r=$t(e,n);r&&!r.text?r=null:r&&r.changes&&(kt(e,r,n,xn(e)),e.curOp.forceUpdate=!0),r||(r=Yt(e,t));var i=Xt(r,t,n);return{line:t,view:r,rect:null,map:i.map,cache:i.cache,before:i.before,hasHeights:!1}}function Qt(e,t,n,r,i){t.before&&(n=-1);var o,l=n+(r||"");return t.cache.hasOwnProperty(l)?o=t.cache[l]:(t.rect||(t.rect=t.view.text.getBoundingClientRect()),t.hasHeights||(jt(e,t.view,t.rect),t.hasHeights=!0),(o=tn(e,t,n,r)).bogus||(t.cache[l]=o)),{left:o.left,right:o.right,top:i?o.rtop:o.top,bottom:i?o.rbottom:o.bottom}}function Jt(e,t,n){for(var r,i,o,l,s,a,c=0;c<e.length;c+=3)if(s=e[c],a=e[c+1],t<s?(i=0,o=1,l="left"):t<a?o=(i=t-s)+1:(c==e.length-3||t==a&&e[c+3]>t)&&(i=(o=a-s)-1,t>=a&&(l="right")),null!=i){if(r=e[c+2],s==a&&n==(r.insertLeft?"left":"right")&&(l=n),"left"==n&&0==i)for(;c&&e[c-2]==e[c-3]&&e[c-1].insertLeft;)r=e[2+(c-=3)],l="left";if("right"==n&&i==a-s)for(;c<e.length-3&&e[c+3]==e[c+4]&&!e[c+5].insertLeft;)r=e[(c+=3)+2],l="right";break}return{node:r,start:i,end:o,collapse:l,coverStart:s,coverEnd:a}}function en(e,t){var n=ds;if("left"==t)for(var r=0;r<e.length&&(n=e[r]).left==n.right;r++);else for(var i=e.length-1;i>=0&&(n=e[i]).left==n.right;i--);return n}function tn(e,t,n,r){var i,o=Jt(t.map,n,r),l=o.node,s=o.start,a=o.end,c=o.collapse;if(3==l.nodeType){for(var u=0;u<4;u++){for(;s&&S(t.line.text.charAt(o.coverStart+s));)--s;for(;o.coverStart+a<o.coverEnd&&S(t.line.text.charAt(o.coverStart+a));)++a;if((i=hl&&fl<9&&0==s&&a==o.coverEnd-o.coverStart?l.parentNode.getBoundingClientRect():en(Tl(l,s,a).getClientRects(),r)).left||i.right||0==s)break;a=s,s-=1,c="right"}hl&&fl<11&&(i=nn(e.display.measure,i))}else{s>0&&(c=r="right");var h;i=e.options.lineWrapping&&(h=l.getClientRects()).length>1?h["right"==r?h.length-1:0]:l.getBoundingClientRect()}if(hl&&fl<9&&!s&&(!i||!i.left&&!i.right)){var f=l.parentNode.getClientRects()[0];i=f?{left:f.left,right:f.left+wn(e.display),top:f.top,bottom:f.bottom}:ds}for(var d=i.top-t.rect.top,p=i.bottom-t.rect.top,g=(d+p)/2,m=t.view.measure.heights,v=0;v<m.length-1&&!(g<m[v]);v++);var y=v?m[v-1]:0,b=m[v],w={left:("right"==c?i.right:i.left)-t.rect.left,right:("left"==c?i.left:i.right)-t.rect.left,top:y,bottom:b};return i.left||i.right||(w.bogus=!0),e.options.singleCursorHeightPerLine||(w.rtop=d,w.rbottom=p),w}function nn(e,t){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!Ke(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}function rn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function on(e){e.display.externalMeasure=null,t(e.display.lineMeasure);for(var n=0;n<e.display.view.length;n++)rn(e.display.view[n])}function ln(e){on(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function sn(){return gl&&xl?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function an(){return gl&&xl?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function cn(e,t,n,r,i){if(!i&&t.widgets)for(var o=0;o<t.widgets.length;++o)if(t.widgets[o].above){var l=Rt(t.widgets[o]);n.top+=l,n.bottom+=l}if("line"==r)return n;r||(r="local");var s=ye(t);if("local"==r?s+=Bt(e.display):s-=e.display.viewOffset,"page"==r||"window"==r){var a=e.display.lineSpace.getBoundingClientRect();s+=a.top+("window"==r?0:an());var c=a.left+("window"==r?0:sn());n.left+=c,n.right+=c}return n.top+=s,n.bottom+=s,n}function un(e,t,n){if("div"==n)return t;var r=t.left,i=t.top;if("page"==n)r-=sn(),i-=an();else if("local"==n||!n){var o=e.display.sizer.getBoundingClientRect();r+=o.left,i+=o.top}var l=e.display.lineSpace.getBoundingClientRect();return{left:r-l.left,top:i-l.top}}function hn(e,t,n,r,i){return r||(r=T(e.doc,t.line)),cn(e,r,qt(e,r,t.ch,i),n)}function fn(e,t,n,r,i,o){function l(t,l){var s=Qt(e,i,t,l?"right":"left",o);return l?s.left=s.right:s.right=s.left,cn(e,r,s,n)}function s(e,t,n){var r=a[t].level%2!=0;return l(n?e-1:e,r!=n)}r=r||T(e.doc,t.line),i||(i=Zt(e,r));var a=Se(r,e.doc.direction),c=t.ch,u=t.sticky;if(c>=r.text.length?(c=r.text.length,u="before"):c<=0&&(c=0,u="after"),!a)return l("before"==u?c-1:c,"before"==u);var h=Ce(a,c,u),f=_l,d=s(c,h,"before"==u);return null!=f&&(d.other=s(c,f,"before"!=u)),d}function dn(e,t){var n=0;t=G(e.doc,t),e.options.lineWrapping||(n=wn(e.display)*t.ch);var r=T(e.doc,t.line),i=ye(r)+Bt(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function pn(e,t,n,r,i){var o=F(e,t,n);return o.xRel=i,r&&(o.outside=!0),o}function gn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return pn(r.first,0,null,!0,-1);var i=D(r,n),o=r.first+r.size-1;if(i>o)return pn(r.first+r.size-1,T(r,o).text.length,null,!0,1);t<0&&(t=0);for(var l=T(r,i);;){var s=yn(e,l,i,t,n),a=ce(l),c=a&&a.find(0,!0);if(!a||!(s.ch>c.from.ch||s.ch==c.from.ch&&s.xRel>0))return s;i=W(l=c.to.line)}}function mn(e,t,n,r){var i=function(r){return cn(e,t,Qt(e,n,r),"line")},o=t.text.length,l=M(function(e){return i(e-1).bottom<=r},o,0);return o=M(function(e){return i(e).top>r},l,o),{begin:l,end:o}}function vn(e,t,n,r){return mn(e,t,n,cn(e,t,Qt(e,n,r),"line").top)}function yn(e,t,n,r,i){i-=ye(t);var o,l=0,s=t.text.length,a=Zt(e,t);if(Se(t,e.doc.direction)){if(e.options.lineWrapping){var c;l=(c=mn(e,t,a,i)).begin,s=c.end}o=new F(n,Math.floor(l+(s-l)/2));var u,h,f=fn(e,o,"line",t,a).left,d=f<r?1:-1,p=f-r,g=Math.ceil((s-l)/4);e:do{u=p,h=o;for(var m=0;m<g;++m){var v=o;if(null==(o=Te(e,t,o,d))||o.ch<l||s<=("before"==o.sticky?o.ch-1:o.ch)){o=v;break e}}if(p=fn(e,o,"line",t,a).left-r,g>1){var y=Math.abs(p-u)/g;g=Math.min(g,Math.ceil(Math.abs(p)/y)),d=p<0?1:-1}}while(0!=p&&(g>1||d<0!=p<0&&Math.abs(p)<=Math.abs(u)));if(Math.abs(p)>Math.abs(u)){if(p<0==u<0)throw new Error("Broke out of infinite loop in coordsCharInner");o=h}}else{var b=M(function(n){var o=cn(e,t,Qt(e,a,n),"line");return o.top>i?(s=Math.min(n,s),!0):!(o.bottom<=i)&&(o.left>r||!(o.right<r)&&r-o.left<o.right-r)},l,s);o=new F(n,b=L(t.text,b,1),b==s?"before":"after")}var w=fn(e,o,"line",t,a);return(i<w.top||w.bottom<i)&&(o.outside=!0),o.xRel=r<w.left?-1:r>w.right?1:0,o}function bn(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==as){as=r("pre");for(var i=0;i<49;++i)as.appendChild(document.createTextNode("x")),as.appendChild(r("br"));as.appendChild(document.createTextNode("x"))}n(e.measure,as);var o=as.offsetHeight/50;return o>3&&(e.cachedTextHeight=o),t(e.measure),o||1}function wn(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=r("span","xxxxxxxxxx"),i=r("pre",[t]);n(e.measure,i);var o=t.getBoundingClientRect(),l=(o.right-o.left)/10;return l>2&&(e.cachedCharWidth=l),l||10}function xn(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l)n[e.options.gutters[l]]=o.offsetLeft+o.clientLeft+i,r[e.options.gutters[l]]=o.clientWidth;return{fixedPos:Cn(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function Cn(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function Sn(e){var t=bn(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/wn(e.display)-3);return function(i){if(me(e.doc,i))return 0;var o=0;if(i.widgets)for(var l=0;l<i.widgets.length;l++)i.widgets[l].height&&(o+=i.widgets[l].height);return n?o+(Math.ceil(i.text.length/r)||1)*t:o+t}}function Ln(e){var t=e.doc,n=Sn(e);t.iter(function(e){var t=n(e);t!=e.height&&A(e,t)})}function Mn(e,t,n,r){var i=e.display;if(!n&&"true"==ze(t).getAttribute("cm-not-content"))return null;var o,l,s=i.lineSpace.getBoundingClientRect();try{o=t.clientX-s.left,l=t.clientY-s.top}catch(t){return null}var a,c=gn(e,o,l);if(r&&1==c.xRel&&(a=T(e.doc,c.line).text).length==c.ch){var u=h(a,a.length,e.options.tabSize)-a.length;c=F(c.line,Math.max(0,Math.round((o-Gt(e.display).left)/wn(e.display))-u))}return c}function kn(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;r<n.length;r++)if((t-=n[r].size)<0)return r}function Tn(e){e.display.input.showSelection(e.display.input.prepareSelection())}function Nn(e,t){for(var n=e.doc,r={},i=r.cursors=document.createDocumentFragment(),o=r.selection=document.createDocumentFragment(),l=0;l<n.sel.ranges.length;l++)if(!1!==t||l!=n.sel.primIndex){var s=n.sel.ranges[l];if(!(s.from().line>=e.display.viewTo||s.to().line<e.display.viewFrom)){var a=s.empty();(a||e.options.showCursorWhenSelecting)&&On(e,s.head,i),a||An(e,s,o)}}return r}function On(e,t,n){var i=fn(e,t,"div",null,null,!e.options.singleCursorHeightPerLine),o=n.appendChild(r("div"," ","CodeMirror-cursor"));if(o.style.left=i.left+"px",o.style.top=i.top+"px",o.style.height=Math.max(0,i.bottom-i.top)*e.options.cursorHeight+"px",i.other){var l=n.appendChild(r("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));l.style.display="",l.style.left=i.other.left+"px",l.style.top=i.other.top+"px",l.style.height=.85*(i.other.bottom-i.other.top)+"px"}}function An(e,t,n){function i(e,t,n,i){t<0&&(t=0),t=Math.round(t),i=Math.round(i),a.appendChild(r("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px;\n top: "+t+"px; width: "+(null==n?h-e:n)+"px;\n height: "+(i-t)+"px"))}function o(t,n,r){function o(n,r){return hn(e,F(t,n),"div",c,r)}var l,a,c=T(s,t),f=c.text.length;return xe(Se(c,s.direction),n||0,null==r?f:r,function(e,t,s){var c,d,p,g=o(e,"left");if(e==t)c=g,d=p=g.left;else{if(c=o(t-1,"right"),"rtl"==s){var m=g;g=c,c=m}d=g.left,p=c.right}null==n&&0==e&&(d=u),c.top-g.top>3&&(i(d,g.top,null,g.bottom),d=u,g.bottom<c.top&&i(d,g.bottom,null,c.top)),null==r&&t==f&&(p=h),(!l||g.top<l.top||g.top==l.top&&g.left<l.left)&&(l=g),(!a||c.bottom>a.bottom||c.bottom==a.bottom&&c.right>a.right)&&(a=c),d<u+1&&(d=u),i(d,c.top,p-d,c.bottom)}),{start:l,end:a}}var l=e.display,s=e.doc,a=document.createDocumentFragment(),c=Gt(e.display),u=c.left,h=Math.max(l.sizerWidth,Vt(e)-l.sizer.offsetLeft)-c.right,f=t.from(),d=t.to();if(f.line==d.line)o(f.line,f.ch,d.ch);else{var p=T(s,f.line),g=T(s,d.line),m=he(p)==he(g),v=o(f.line,f.ch,m?p.text.length+1:null).end,y=o(d.line,m?0:null,d.ch).start;m&&(v.top<y.top-2?(i(v.right,v.top,null,v.bottom),i(u,y.top,y.left,y.bottom)):i(v.right,v.top,y.left-v.right,v.bottom)),v.bottom<y.top&&i(u,v.bottom,null,y.top)}n.appendChild(a)}function Wn(e){if(e.state.focused){var t=e.display;clearInterval(t.blinker);var n=!0;t.cursorDiv.style.visibility="",e.options.cursorBlinkRate>0?t.blinker=setInterval(function(){return t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Dn(e){e.state.focused||(e.display.input.focus(),En(e))}function Hn(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,Fn(e))},100)}function En(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(Ae(e,"focus",e,t),e.state.focused=!0,s(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),dl&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),Wn(e))}function Fn(e,t){e.state.delayingBlurEvent||(e.state.focused&&(Ae(e,"blur",e,t),e.state.focused=!1,Al(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function Pn(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r<t.view.length;r++){var i=t.view[r],o=void 0;if(!i.hidden){if(hl&&fl<8){var l=i.node.offsetTop+i.node.offsetHeight;o=l-n,n=l}else{var s=i.node.getBoundingClientRect();o=s.bottom-s.top}var a=i.line.height-o;if(o<2&&(o=bn(t)),(a>.005||a<-.005)&&(A(i.line,o),In(i.line),i.rest))for(var c=0;c<i.rest.length;c++)In(i.rest[c])}}}function In(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t)e.widgets[t].height=e.widgets[t].node.parentNode.offsetHeight}function Rn(e,t,n){var r=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop;r=Math.floor(r-Bt(e));var i=n&&null!=n.bottom?n.bottom:r+e.wrapper.clientHeight,o=D(t,r),l=D(t,i);if(n&&n.ensure){var s=n.ensure.from.line,a=n.ensure.to.line;s<o?(o=s,l=D(t,ye(T(t,s))+e.wrapper.clientHeight)):Math.min(a,t.lastLine())>=l&&(o=D(t,ye(T(t,a))-e.wrapper.clientHeight),l=a)}return{from:o,to:Math.max(l,o+1)}}function zn(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=Cn(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+"px",l=0;l<n.length;l++)if(!n[l].hidden){e.options.fixedGutter&&(n[l].gutter&&(n[l].gutter.style.left=o),n[l].gutterBackground&&(n[l].gutterBackground.style.left=o));var s=n[l].alignable;if(s)for(var a=0;a<s.length;a++)s[a].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=r+i+"px")}}function Bn(e){if(!e.options.lineNumbers)return!1;var t=e.doc,n=E(e.options,t.first+t.size-1),i=e.display;if(n.length!=i.lineNumChars){var o=i.measure.appendChild(r("div",[r("div",n)],"CodeMirror-linenumber CodeMirror-gutter-elt")),l=o.firstChild.offsetWidth,s=o.offsetWidth-l;return i.lineGutter.style.width="",i.lineNumInnerWidth=Math.max(l,i.lineGutter.offsetWidth-s)+1,i.lineNumWidth=i.lineNumInnerWidth+s,i.lineNumChars=i.lineNumInnerWidth?n.length:-1,i.lineGutter.style.width=i.lineNumWidth+"px",Wr(e),!0}return!1}function Un(e,t){if(!We(e,"scrollCursorIntoView")){var n=e.display,i=n.sizer.getBoundingClientRect(),o=null;if(t.top+i.top<0?o=!0:t.bottom+i.top>(window.innerHeight||document.documentElement.clientHeight)&&(o=!1),null!=o&&!bl){var l=r("div","",null,"position: absolute;\n top: "+(t.top-n.viewOffset-Bt(e.display))+"px;\n height: "+(t.bottom-t.top+Kt(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(l),l.scrollIntoView(o),e.display.lineSpace.removeChild(l)}}}function Gn(e,t,n,r){null==r&&(r=0);var i;e.options.lineWrapping||t!=n||(n="before"==(t=t.ch?F(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t).sticky?F(t.line,t.ch+1,"before"):t);for(var o=0;o<5;o++){var l=!1,s=fn(e,t),a=n&&n!=t?fn(e,n):s,c=Vn(e,i={left:Math.min(s.left,a.left),top:Math.min(s.top,a.top)-r,right:Math.max(s.left,a.left),bottom:Math.max(s.bottom,a.bottom)+r}),u=e.doc.scrollTop,h=e.doc.scrollLeft;if(null!=c.scrollTop&&(Zn(e,c.scrollTop),Math.abs(e.doc.scrollTop-u)>1&&(l=!0)),null!=c.scrollLeft&&(Jn(e,c.scrollLeft),Math.abs(e.doc.scrollLeft-h)>1&&(l=!0)),!l)break}return i}function Kn(e,t){var n=Vn(e,t);null!=n.scrollTop&&Zn(e,n.scrollTop),null!=n.scrollLeft&&Jn(e,n.scrollLeft)}function Vn(e,t){var n=e.display,r=bn(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=_t(e),l={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+Ut(n),a=t.top<r,c=t.bottom>s-r;if(t.top<i)l.scrollTop=a?0:t.top;else if(t.bottom>i+o){var u=Math.min(t.top,(c?s:t.bottom)-o);u!=i&&(l.scrollTop=u)}var h=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft,f=Vt(e)-(e.options.fixedGutter?n.gutters.offsetWidth:0),d=t.right-t.left>f;return d&&(t.right=t.left+f),t.left<10?l.scrollLeft=0:t.left<h?l.scrollLeft=Math.max(0,t.left-(d?0:10)):t.right>f+h-3&&(l.scrollLeft=t.right+(d?0:10)-f),l}function _n(e,t){null!=t&&(qn(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function jn(e){qn(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Xn(e,t,n){null==t&&null==n||qn(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Yn(e,t){qn(e),e.curOp.scrollToPos=t}function qn(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,$n(e,dn(e,t.from),dn(e,t.to),t.margin))}function $n(e,t,n,r){var i=Vn(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Xn(e,i.scrollLeft,i.scrollTop)}function Zn(e,t){Math.abs(e.doc.scrollTop-t)<2||(sl||Or(e,{top:t}),Qn(e,t,!0),sl&&Or(e),Cr(e,100))}function Qn(e,t,n){t=Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Jn(e,t,n,r){t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,zn(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function er(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+Ut(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Kt(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}function tr(e,t){t||(t=er(e));var n=e.display.barWidth,r=e.display.barHeight;nr(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&Pn(e),nr(e,er(e)),n=e.display.barWidth,r=e.display.barHeight}function nr(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}function rr(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&Al(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new ms[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),Yl(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,n){"horizontal"==n?Jn(e,t):Zn(e,t)},e),e.display.scrollbars.addClass&&s(e.display.wrapper,e.display.scrollbars.addClass)}function ir(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++vs},xt(e.curOp)}function or(e){St(e.curOp,function(e){for(var t=0;t<e.ops.length;t++)e.ops[t].cm.curOp=null;lr(e)})}function lr(e){for(var t=e.ops,n=0;n<t.length;n++)sr(t[n]);for(var r=0;r<t.length;r++)ar(t[r]);for(var i=0;i<t.length;i++)cr(t[i]);for(var o=0;o<t.length;o++)ur(t[o]);for(var l=0;l<t.length;l++)hr(t[l])}function sr(e){var t=e.cm,n=t.display;Lr(t),e.updateMaxLine&&we(t),e.mustUpdate=e.viewChanged||e.forceUpdate||null!=e.scrollTop||e.scrollToPos&&(e.scrollToPos.from.line<n.viewFrom||e.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ys(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function ar(e){e.updatedDisplay=e.mustUpdate&&Tr(e.cm,e.update)}function cr(e){var t=e.cm,n=t.display;e.updatedDisplay&&Pn(t),e.barMeasure=er(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=qt(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Kt(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Vt(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection(e.focus))}function ur(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft<t.doc.scrollLeft&&Jn(t,Math.min(t.display.scroller.scrollLeft,e.maxScrollLeft),!0),t.display.maxLineChanged=!1);var n=e.focus&&e.focus==l()&&(!document.hasFocus||document.hasFocus());e.preparedSelection&&t.display.input.showSelection(e.preparedSelection,n),(e.updatedDisplay||e.startHeight!=t.doc.height)&&tr(t,e.barMeasure),e.updatedDisplay&&Dr(t,e.barMeasure),e.selectionChanged&&Wn(t),t.state.focused&&e.updateInput&&t.display.input.reset(e.typing),n&&Dn(e.cm)}function hr(e){var t=e.cm,n=t.display,r=t.doc;e.updatedDisplay&&Nr(t,e.update),null==n.wheelStartX||null==e.scrollTop&&null==e.scrollLeft&&!e.scrollToPos||(n.wheelStartX=n.wheelStartY=null),null!=e.scrollTop&&Qn(t,e.scrollTop,e.forceScroll),null!=e.scrollLeft&&Jn(t,e.scrollLeft,!0,!0),e.scrollToPos&&Un(t,Gn(t,G(r,e.scrollToPos.from),G(r,e.scrollToPos.to),e.scrollToPos.margin));var i=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(i)for(var l=0;l<i.length;++l)i[l].lines.length||Ae(i[l],"hide");if(o)for(var s=0;s<o.length;++s)o[s].lines.length&&Ae(o[s],"unhide");n.wrapper.offsetHeight&&(r.scrollTop=t.display.scroller.scrollTop),e.changeObjs&&Ae(t,"changes",t,e.changeObjs),e.update&&e.update.finish()}function fr(e,t){if(e.curOp)return t();ir(e);try{return t()}finally{or(e)}}function dr(e,t){return function(){if(e.curOp)return t.apply(e,arguments);ir(e);try{return t.apply(e,arguments)}finally{or(e)}}}function pr(e){return function(){if(this.curOp)return e.apply(this,arguments);ir(this);try{return e.apply(this,arguments)}finally{or(this)}}}function gr(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);ir(t);try{return e.apply(this,arguments)}finally{or(t)}}}function mr(e,t,n,r){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size),r||(r=0);var i=e.display;if(r&&n<i.viewTo&&(null==i.updateLineNumbers||i.updateLineNumbers>t)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Vl&&pe(e.doc,t)<i.viewTo&&yr(e);else if(n<=i.viewFrom)Vl&&ge(e.doc,n+r)>i.viewFrom?yr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)yr(e);else if(t<=i.viewFrom){var o=br(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):yr(e)}else if(n>=i.viewTo){var l=br(e,t,t,-1);l?(i.view=i.view.slice(0,l.index),i.viewTo=l.lineN):yr(e)}else{var s=br(e,t,t,-1),a=br(e,n,n+r,1);s&&a?(i.view=i.view.slice(0,s.index).concat(wt(e,s.lineN,a.lineN)).concat(i.view.slice(a.index)),i.viewTo+=r):yr(e)}var c=i.externalMeasured;c&&(n<c.lineN?c.lineN+=r:t<c.lineN+c.size&&(i.externalMeasured=null))}function vr(e,t,n){e.curOp.viewChanged=!0;var r=e.display,i=e.display.externalMeasured;if(i&&t>=i.lineN&&t<i.lineN+i.size&&(r.externalMeasured=null),!(t<r.viewFrom||t>=r.viewTo)){var o=r.view[kn(e,t)];if(null!=o.node){var l=o.changes||(o.changes=[]);-1==f(l,n)&&l.push(n)}}}function yr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function br(e,t,n,r){var i,o=kn(e,t),l=e.display.view;if(!Vl||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,a=0;a<o;a++)s+=l[a].size;if(s!=t){if(r>0){if(o==l.length-1)return null;i=s+l[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;pe(e.doc,n)!=n;){if(o==(r<0?0:l.length-1))return null;n+=r*l[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function wr(e,t,n){var r=e.display;0==r.view.length||t>=r.viewTo||n<=r.viewFrom?(r.view=wt(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=wt(e,t,r.viewFrom).concat(r.view):r.viewFrom<t&&(r.view=r.view.slice(kn(e,t))),r.viewFrom=t,r.viewTo<n?r.view=r.view.concat(wt(e,r.viewTo,n)):r.viewTo>n&&(r.view=r.view.slice(0,kn(e,n)))),r.viewTo=n}function xr(e){for(var t=e.display.view,n=0,r=0;r<t.length;r++){var i=t[r];i.hidden||i.node&&!i.changes||++n}return n}function Cr(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,c(Sr,e))}function Sr(e){var t=e.doc;if(!(t.highlightFrontier>=e.display.viewTo)){var n=+new Date+e.options.workTime,r=et(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(r.line>=e.display.viewFrom){var l=o.styles,s=o.text.length>e.options.maxHighlightLength?qe(t.mode,r.state):null,a=Qe(e,o,r,!0);s&&(r.state=s),o.styles=a.styles;var c=o.styleClasses,u=a.classes;u?o.styleClasses=u:c&&(o.styleClasses=null);for(var h=!l||l.length!=o.styles.length||c!=u&&(!c||!u||c.bgClass!=u.bgClass||c.textClass!=u.textClass),f=0;!h&&f<l.length;++f)h=l[f]!=o.styles[f];h&&i.push(r.line),o.stateAfter=r.save(),r.nextLine()}else o.text.length<=e.options.maxHighlightLength&&tt(e,o.text,r),o.stateAfter=r.line%5==0?r.save():null,r.nextLine();if(+new Date>n)return Cr(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&fr(e,function(){for(var t=0;t<i.length;t++)vr(e,i[t],"text")})}}function Lr(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=Kt(e)+"px",t.sizer.style.marginBottom=-t.nativeBarWidth+"px",t.sizer.style.borderRightWidth=Kt(e)+"px",t.scrollbarsClipped=!0)}function Mr(e){if(e.hasFocus())return null;var t=l();if(!t||!o(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&o(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}function kr(e){if(e&&e.activeElt&&e.activeElt!=l()&&(e.activeElt.focus(),e.anchorNode&&o(document.body,e.anchorNode)&&o(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}function Tr(e,n){var r=e.display,i=e.doc;if(n.editorIsHidden)return yr(e),!1;if(!n.force&&n.visible.from>=r.viewFrom&&n.visible.to<=r.viewTo&&(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo)&&r.renderedView==r.view&&0==xr(e))return!1;Bn(e)&&(yr(e),n.dims=xn(e));var o=i.first+i.size,l=Math.max(n.visible.from-e.options.viewportMargin,i.first),s=Math.min(o,n.visible.to+e.options.viewportMargin);r.viewFrom<l&&l-r.viewFrom<20&&(l=Math.max(i.first,r.viewFrom)),r.viewTo>s&&r.viewTo-s<20&&(s=Math.min(o,r.viewTo)),Vl&&(l=pe(e.doc,l),s=ge(e.doc,s));var a=l!=r.viewFrom||s!=r.viewTo||r.lastWrapHeight!=n.wrapperHeight||r.lastWrapWidth!=n.wrapperWidth;wr(e,l,s),r.viewOffset=ye(T(e.doc,r.viewFrom)),e.display.mover.style.top=r.viewOffset+"px";var c=xr(e);if(!a&&0==c&&!n.force&&r.renderedView==r.view&&(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo))return!1;var u=Mr(e);return c>4&&(r.lineDiv.style.display="none"),Ar(e,r.updateLineNumbers,n.dims),c>4&&(r.lineDiv.style.display=""),r.renderedView=r.view,kr(u),t(r.cursorDiv),t(r.selectionDiv),r.gutters.style.height=r.sizer.style.minHeight=0,a&&(r.lastWrapHeight=n.wrapperHeight,r.lastWrapWidth=n.wrapperWidth,Cr(e,400)),r.updateLineNumbers=null,!0}function Nr(e,t){for(var n=t.viewport,r=!0;(r&&e.options.lineWrapping&&t.oldDisplayWidth!=Vt(e)||(n&&null!=n.top&&(n={top:Math.min(e.doc.height+Ut(e.display)-_t(e),n.top)}),t.visible=Rn(e.display,e.doc,n),!(t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)))&&Tr(e,t);r=!1){Pn(e);var i=er(e);Tn(e),tr(e,i),Dr(e,i),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function Or(e,t){var n=new ys(e,t);if(Tr(e,n)){Pn(e),Nr(e,n);var r=er(e);Tn(e),tr(e,r),Dr(e,r),n.finish()}}function Ar(e,n,r){function i(t){var n=t.nextSibling;return dl&&Sl&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var o=e.display,l=e.options.lineNumbers,s=o.lineDiv,a=s.firstChild,c=o.view,u=o.viewFrom,h=0;h<c.length;h++){var d=c[h];if(d.hidden);else if(d.node&&d.node.parentNode==s){for(;a!=d.node;)a=i(a);var p=l&&null!=n&&n<=u&&d.lineNumber;d.changes&&(f(d.changes,"gutter")>-1&&(p=!1),kt(e,d,u,r)),p&&(t(d.lineNumber),d.lineNumber.appendChild(document.createTextNode(E(e.options,u)))),a=d.node.nextSibling}else{var g=Et(e,d,u,r);s.insertBefore(g,a)}u+=d.size}for(;a;)a=i(a)}function Wr(e){var t=e.display.gutters.offsetWidth;e.display.sizer.style.marginLeft=t+"px"}function Dr(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Kt(e)+"px"}function Hr(e){var n=e.display.gutters,i=e.options.gutters;t(n);for(var o=0;o<i.length;++o){var l=i[o],s=n.appendChild(r("div",null,"CodeMirror-gutter "+l));"CodeMirror-linenumbers"==l&&(e.display.lineGutter=s,s.style.width=(e.display.lineNumWidth||1)+"px")}n.style.display=o?"":"none",Wr(e)}function Er(e){var t=f(e.gutters,"CodeMirror-linenumbers");-1==t&&e.lineNumbers?e.gutters=e.gutters.concat(["CodeMirror-linenumbers"]):t>-1&&!e.lineNumbers&&(e.gutters=e.gutters.slice(0),e.gutters.splice(t,1))}function Fr(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}}function Pr(e){var t=Fr(e);return t.x*=ws,t.y*=ws,t}function Ir(e,t){var n=Fr(t),r=n.x,i=n.y,o=e.display,l=o.scroller,s=l.scrollWidth>l.clientWidth,a=l.scrollHeight>l.clientHeight;if(r&&s||i&&a){if(i&&Sl&&dl)e:for(var c=t.target,u=o.view;c!=l;c=c.parentNode)for(var h=0;h<u.length;h++)if(u[h].node==c){e.display.currentWheelTarget=c;break e}if(r&&!sl&&!ml&&null!=ws)return i&&a&&Zn(e,Math.max(0,l.scrollTop+i*ws)),Jn(e,Math.max(0,l.scrollLeft+r*ws)),(!i||i&&a)&&Fe(t),void(o.wheelStartX=null);if(i&&null!=ws){var f=i*ws,d=e.doc.scrollTop,p=d+o.wrapper.clientHeight;f<0?d=Math.max(0,d+f-50):p=Math.min(e.doc.height,p+f+50),Or(e,{top:d,bottom:p})}bs<20&&(null==o.wheelStartX?(o.wheelStartX=l.scrollLeft,o.wheelStartY=l.scrollTop,o.wheelDX=r,o.wheelDY=i,setTimeout(function(){if(null!=o.wheelStartX){var e=l.scrollLeft-o.wheelStartX,t=l.scrollTop-o.wheelStartY,n=t&&o.wheelDY&&t/o.wheelDY||e&&o.wheelDX&&e/o.wheelDX;o.wheelStartX=o.wheelStartY=null,n&&(ws=(ws*bs+n)/(bs+1),++bs)}},200)):(o.wheelDX+=r,o.wheelDY+=i))}}function Rr(e,t){var n=e[t];e.sort(function(e,t){return P(e.from(),t.from())}),t=f(e,n);for(var r=1;r<e.length;r++){var i=e[r],o=e[r-1];if(P(o.to(),i.from())>=0){var l=B(o.from(),i.from()),s=z(o.to(),i.to()),a=o.empty()?i.from()==i.head:o.from()==o.head;r<=t&&--t,e.splice(--r,2,new Cs(a?s:l,a?l:s))}}return new xs(e,t)}function zr(e,t){return new xs([new Cs(e,t||e)],0)}function Br(e){return e.text?F(e.from.line+e.text.length-1,g(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Ur(e,t){if(P(e,t.from)<0)return e;if(P(e,t.to)<=0)return Br(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=Br(t).ch-t.to.ch),F(n,r)}function Gr(e,t){for(var n=[],r=0;r<e.sel.ranges.length;r++){var i=e.sel.ranges[r];n.push(new Cs(Ur(i.anchor,t),Ur(i.head,t)))}return Rr(n,e.sel.primIndex)}function Kr(e,t,n){return e.line==t.line?F(n.line,e.ch-t.ch+n.ch):F(n.line+(e.line-t.line),e.ch)}function Vr(e,t,n){for(var r=[],i=F(e.first,0),o=i,l=0;l<t.length;l++){var s=t[l],a=Kr(s.from,i,o),c=Kr(Br(s),i,o);if(i=s.to,o=c,"around"==n){var u=e.sel.ranges[l],h=P(u.head,u.anchor)<0;r[l]=new Cs(h?c:a,h?a:c)}else r[l]=new Cs(a,a)}return new xs(r,e.sel.primIndex)}function _r(e){e.doc.mode=Xe(e.options,e.doc.modeOption),jr(e)}function jr(e){e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,Cr(e,100),e.state.modeGen++,e.curOp&&mr(e)}function Xr(e,t){return 0==t.from.ch&&0==t.to.ch&&""==g(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function Yr(e,t,n,r){function i(e){return n?n[e]:null}function o(e,n,i){ct(e,n,i,r),Lt(e,"change",e,t)}function l(e,t){for(var n=[],o=e;o<t;++o)n.push(new ss(c[o],i(o),r));return n}var s=t.from,a=t.to,c=t.text,u=T(e,s.line),h=T(e,a.line),f=g(c),d=i(c.length-1),p=a.line-s.line;if(t.full)e.insert(0,l(0,c.length)),e.remove(c.length,e.size-c.length);else if(Xr(e,t)){var m=l(0,c.length-1);o(h,h.text,d),p&&e.remove(s.line,p),m.length&&e.insert(s.line,m)}else if(u==h)if(1==c.length)o(u,u.text.slice(0,s.ch)+f+u.text.slice(a.ch),d);else{var v=l(1,c.length-1);v.push(new ss(f+u.text.slice(a.ch),d,r)),o(u,u.text.slice(0,s.ch)+c[0],i(0)),e.insert(s.line+1,v)}else if(1==c.length)o(u,u.text.slice(0,s.ch)+c[0]+h.text.slice(a.ch),i(0)),e.remove(s.line+1,p);else{o(u,u.text.slice(0,s.ch)+c[0],i(0)),o(h,f+h.text.slice(a.ch),d);var y=l(1,c.length-1);p>1&&e.remove(s.line+1,p-1),e.insert(s.line+1,y)}Lt(e,"change",e,t)}function qr(e,t,n){function r(e,i,o){if(e.linked)for(var l=0;l<e.linked.length;++l){var s=e.linked[l];if(s.doc!=i){var a=o&&s.sharedHist;n&&!a||(t(s.doc,a),r(s.doc,e,a))}}}r(e,null,!0)}function $r(e,t){if(t.cm)throw new Error("This document is already in use.");e.doc=t,t.cm=e,Ln(e),_r(e),Zr(e),e.options.lineWrapping||we(e),e.options.mode=t.modeOption,mr(e)}function Zr(e){("rtl"==e.doc.direction?s:Al)(e.display.lineDiv,"CodeMirror-rtl")}function Qr(e){fr(e,function(){Zr(e),mr(e)})}function Jr(e){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e||1}function ei(e,t){var n={from:R(t.from),to:Br(t),text:N(e,t.from,t.to)};return si(e,n,t.from.line,t.to.line+1),qr(e,function(e){return si(e,n,t.from.line,t.to.line+1)},!0),n}function ti(e){for(;e.length&&g(e).ranges;)e.pop()}function ni(e,t){return t?(ti(e.done),g(e.done)):e.done.length&&!g(e.done).ranges?g(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),g(e.done)):void 0}function ri(e,t,n,r){var i=e.history;i.undone.length=0;var o,l,s=+new Date;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&("+"==t.origin.charAt(0)&&e.cm&&i.lastModTime>s-e.cm.options.historyEventDelay||"*"==t.origin.charAt(0)))&&(o=ni(i,i.lastOp==r)))l=g(o.changes),0==P(t.from,t.to)&&0==P(t.from,l.to)?l.to=Br(t):o.changes.push(ei(e,t));else{var a=g(i.done);for(a&&a.ranges||li(e.sel,i.done),o={changes:[ei(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,l||Ae(e,"historyAdded")}function ii(e,t,n,r){var i=t.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}function oi(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||ii(e,o,g(i.done),t))?i.done[i.done.length-1]=t:li(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&ti(i.undone)}function li(e,t){var n=g(t);n&&n.ranges&&n.equals(e)||t.push(e)}function si(e,t,n,r){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(n){n.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=n.markedSpans),++o})}function ai(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t||(t=e.slice(0,n)):t&&t.push(e[n]);return t?t.length?t:null:e}function ci(e,t){var n=t["spans_"+e.id];if(!n)return null;for(var r=[],i=0;i<t.text.length;++i)r.push(ai(n[i]));return r}function ui(e,t){var n=ci(e,t),r=J(e,t);if(!n)return r;if(!r)return n;for(var i=0;i<n.length;++i){var o=n[i],l=r[i];if(o&&l)e:for(var s=0;s<l.length;++s){for(var a=l[s],c=0;c<o.length;++c)if(o[c].marker==a.marker)continue e;o.push(a)}else l&&(n[i]=l)}return n}function hi(e,t,n){for(var r=[],i=0;i<e.length;++i){var o=e[i];if(o.ranges)r.push(n?xs.prototype.deepCopy.call(o):o);else{var l=o.changes,s=[];r.push({changes:s});for(var a=0;a<l.length;++a){var c=l[a],u=void 0;if(s.push({from:c.from,to:c.to,text:c.text}),t)for(var h in c)(u=h.match(/^spans_(\d+)$/))&&f(t,Number(u[1]))>-1&&(g(s)[h]=c[h],delete c[h])}}}return r}function fi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=P(t,i)<0;o!=P(n,i)<0?(i=t,t=n):o!=P(t,n)<0&&(t=n)}return new Cs(i,t)}return new Cs(n||t,t)}function di(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),bi(e,new xs([fi(e.sel.primary(),t,n,i)],0),r)}function pi(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)r[o]=fi(e.sel.ranges[o],t[o],null,i);bi(e,Rr(r,e.sel.primIndex),n)}function gi(e,t,n,r){var i=e.sel.ranges.slice(0);i[t]=n,bi(e,Rr(i,e.sel.primIndex),r)}function mi(e,t,n,r){bi(e,zr(t,n),r)}function vi(e,t,n){var r={ranges:t.ranges,update:function(t){var n=this;this.ranges=[];for(var r=0;r<t.length;r++)n.ranges[r]=new Cs(G(e,t[r].anchor),G(e,t[r].head))},origin:n&&n.origin};return Ae(e,"beforeSelectionChange",e,r),e.cm&&Ae(e.cm,"beforeSelectionChange",e.cm,r),r.ranges!=t.ranges?Rr(r.ranges,r.ranges.length-1):t}function yi(e,t,n){var r=e.history.done,i=g(r);i&&i.ranges?(r[r.length-1]=t,wi(e,t,n)):bi(e,t,n)}function bi(e,t,n){wi(e,t,n),oi(e,e.sel,e.cm?e.cm.curOp.id:NaN,n)}function wi(e,t,n){(He(e,"beforeSelectionChange")||e.cm&&He(e.cm,"beforeSelectionChange"))&&(t=vi(e,t,n)),xi(e,Si(e,t,n&&n.bias||(P(t.primary().head,e.sel.primary().head)<0?-1:1),!0)),n&&!1===n.scroll||!e.cm||jn(e.cm)}function xi(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=e.cm.curOp.selectionChanged=!0,De(e.cm)),Lt(e,"cursorActivity",e))}function Ci(e){xi(e,Si(e,e.sel,null,!1))}function Si(e,t,n,r){for(var i,o=0;o<t.ranges.length;o++){var l=t.ranges[o],s=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],a=Mi(e,l.anchor,s&&s.anchor,n,r),c=Mi(e,l.head,s&&s.head,n,r);(i||a!=l.anchor||c!=l.head)&&(i||(i=t.ranges.slice(0,o)),i[o]=new Cs(a,c))}return i?Rr(i,t.primIndex):t}function Li(e,t,n,r,i){var o=T(e,t.line);if(o.markedSpans)for(var l=0;l<o.markedSpans.length;++l){var s=o.markedSpans[l],a=s.marker;if((null==s.from||(a.inclusiveLeft?s.from<=t.ch:s.from<t.ch))&&(null==s.to||(a.inclusiveRight?s.to>=t.ch:s.to>t.ch))){if(i&&(Ae(a,"beforeCursorEnter"),a.explicitlyCleared)){if(o.markedSpans){--l;continue}break}if(!a.atomic)continue;if(n){var c=a.find(r<0?1:-1),u=void 0;if((r<0?a.inclusiveRight:a.inclusiveLeft)&&(c=ki(e,c,-r,c&&c.line==t.line?o:null)),c&&c.line==t.line&&(u=P(c,n))&&(r<0?u<0:u>0))return Li(e,c,t,r,i)}var h=a.find(r<0?-1:1);return(r<0?a.inclusiveLeft:a.inclusiveRight)&&(h=ki(e,h,r,h.line==t.line?o:null)),h?Li(e,h,t,r,i):null}}return t}function Mi(e,t,n,r,i){var o=r||1,l=Li(e,t,n,o,i)||!i&&Li(e,t,n,o,!0)||Li(e,t,n,-o,i)||!i&&Li(e,t,n,-o,!0);return l||(e.cantEdit=!0,F(e.first,0))}function ki(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?G(e,F(t.line-1)):null:n>0&&t.ch==(r||T(e,t.line)).text.length?t.line<e.first+e.size-1?F(t.line+1,0):null:new F(t.line,t.ch+n)}function Ti(e){e.setSelection(F(e.firstLine(),0),F(e.lastLine()),Il)}function Ni(e,t,n){var r={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){return r.canceled=!0}};return n&&(r.update=function(t,n,i,o){t&&(r.from=G(e,t)),n&&(r.to=G(e,n)),i&&(r.text=i),void 0!==o&&(r.origin=o)}),Ae(e,"beforeChange",e,r),e.cm&&Ae(e.cm,"beforeChange",e.cm,r),r.canceled?null:{from:r.from,to:r.to,text:r.text,origin:r.origin}}function Oi(e,t,n){if(e.cm){if(!e.cm.curOp)return dr(e.cm,Oi)(e,t,n);if(e.cm.state.suppressEdits)return}if(!(He(e,"beforeChange")||e.cm&&He(e.cm,"beforeChange"))||(t=Ni(e,t,!0))){var r=Kl&&!n&&te(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)Ai(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text});else Ai(e,t)}}function Ai(e,t){if(1!=t.text.length||""!=t.text[0]||0!=P(t.from,t.to)){var n=Gr(e,t);ri(e,t,n,e.cm?e.cm.curOp.id:NaN),Hi(e,t,n,J(e,t));var r=[];qr(e,function(e,n){n||-1!=f(r,e.history)||(Ri(e.history,t),r.push(e.history)),Hi(e,t,null,J(e,t))})}}function Wi(e,t,n){if(!e.cm||!e.cm.state.suppressEdits||n){for(var r,i=e.history,o=e.sel,l="undo"==t?i.done:i.undone,s="undo"==t?i.undone:i.done,a=0;a<l.length&&(r=l[a],n?!r.ranges||r.equals(e.sel):r.ranges);a++);if(a!=l.length){for(i.lastOrigin=i.lastSelOrigin=null;(r=l.pop()).ranges;){if(li(r,s),n&&!r.equals(e.sel))return void bi(e,r,{clearRedo:!1});o=r}var c=[];li(o,s),s.push({changes:c,generation:i.generation}),i.generation=r.generation||++i.maxGeneration;for(var u=He(e,"beforeChange")||e.cm&&He(e.cm,"beforeChange"),h=r.changes.length-1;h>=0;--h){var d=function(n){var i=r.changes[n];if(i.origin=t,u&&!Ni(e,i,!1))return l.length=0,{};c.push(ei(e,i));var o=n?Gr(e,i):g(l);Hi(e,i,o,ui(e,i)),!n&&e.cm&&e.cm.scrollIntoView({from:i.from,to:Br(i)});var s=[];qr(e,function(e,t){t||-1!=f(s,e.history)||(Ri(e.history,i),s.push(e.history)),Hi(e,i,null,ui(e,i))})}(h);if(d)return d.v}}}}function Di(e,t){if(0!=t&&(e.first+=t,e.sel=new xs(m(e.sel.ranges,function(e){return new Cs(F(e.anchor.line+t,e.anchor.ch),F(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){mr(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;r<n.viewTo;r++)vr(e.cm,r,"gutter")}}function Hi(e,t,n,r){if(e.cm&&!e.cm.curOp)return dr(e.cm,Hi)(e,t,n,r);if(t.to.line<e.first)Di(e,t.text.length-1-(t.to.line-t.from.line));else if(!(t.from.line>e.lastLine())){if(t.from.line<e.first){var i=t.text.length-1-(e.first-t.from.line);Di(e,i),t={from:F(e.first,0),to:F(t.to.line+i,t.to.ch),text:[g(t.text)],origin:t.origin}}var o=e.lastLine();t.to.line>o&&(t={from:t.from,to:F(o,T(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=N(e,t.from,t.to),n||(n=Gr(e,t)),e.cm?Ei(e.cm,t,r):Yr(e,t,r),wi(e,n,Il)}}function Ei(e,t,n){var r=e.doc,i=e.display,o=t.from,l=t.to,s=!1,a=o.line;e.options.lineWrapping||(a=W(he(T(r,o.line))),r.iter(a,l.line+1,function(e){if(e==i.maxLine)return s=!0,!0})),r.sel.contains(t.from,t.to)>-1&&De(e),Yr(r,t,n,Sn(e)),e.options.lineWrapping||(r.iter(a,o.line+t.text.length,function(e){var t=be(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)}),s&&(e.curOp.updateMaxLine=!0)),at(r,o.line),Cr(e,400);var c=t.text.length-(l.line-o.line)-1;t.full?mr(e):o.line!=l.line||1!=t.text.length||Xr(e.doc,t)?mr(e,o.line,l.line+1,c):vr(e,o.line,"text");var u=He(e,"changes"),h=He(e,"change");if(h||u){var f={from:o,to:l,text:t.text,removed:t.removed,origin:t.origin};h&&Lt(e,"change",e,f),u&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(f)}e.display.selForContextMenu=null}function Fi(e,t,n,r,i){if(r||(r=n),P(r,n)<0){var o=r;r=n,n=o}"string"==typeof t&&(t=e.splitLines(t)),Oi(e,{from:n,to:r,text:t,origin:i})}function Pi(e,t,n,r){n<e.line?e.line+=r:t<e.line&&(e.line=t,e.ch=0)}function Ii(e,t,n,r){for(var i=0;i<e.length;++i){var o=e[i],l=!0;if(o.ranges){o.copied||((o=e[i]=o.deepCopy()).copied=!0);for(var s=0;s<o.ranges.length;s++)Pi(o.ranges[s].anchor,t,n,r),Pi(o.ranges[s].head,t,n,r)}else{for(var a=0;a<o.changes.length;++a){var c=o.changes[a];if(n<c.from.line)c.from=F(c.from.line+r,c.from.ch),c.to=F(c.to.line+r,c.to.ch);else if(t<=c.to.line){l=!1;break}}l||(e.splice(0,i+1),i=0)}}}function Ri(e,t){var n=t.from.line,r=t.to.line,i=t.text.length-(r-n)-1;Ii(e.done,n,r,i),Ii(e.undone,n,r,i)}function zi(e,t,n,r){var i=t,o=t;return"number"==typeof t?o=T(e,U(e,t)):i=W(t),null==i?null:(r(o,i)&&e.cm&&vr(e.cm,i,n),o)}function Bi(e){var t=this;this.lines=e,this.parent=null;for(var n=0,r=0;r<e.length;++r)e[r].parent=t,n+=e[r].height;this.height=n}function Ui(e){var t=this;this.children=e;for(var n=0,r=0,i=0;i<e.length;++i){var o=e[i];n+=o.chunkSize(),r+=o.height,o.parent=t}this.size=n,this.height=r,this.parent=null}function Gi(e,t,n){ye(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&_n(e,n)}function Ki(e,t,n,r){var i=new Ss(e,n,r),o=e.cm;return o&&i.noHScroll&&(o.display.alignWidgets=!0),zi(e,t,"widget",function(t){var n=t.widgets||(t.widgets=[]);if(null==i.insertAt?n.push(i):n.splice(Math.min(n.length-1,Math.max(0,i.insertAt)),0,i),i.line=t,o&&!me(e,t)){var r=ye(t)<e.scrollTop;A(t,t.height+Rt(i)),r&&_n(o,i.height),o.curOp.forceUpdate=!0}return!0}),Lt(o,"lineWidgetAdded",o,i,"number"==typeof t?t:W(t)),i}function Vi(e,t,n,r,o){if(r&&r.shared)return _i(e,t,n,r,o);if(e.cm&&!e.cm.curOp)return dr(e.cm,Vi)(e,t,n,r,o);var l=new Ms(e,o),s=P(t,n);if(r&&u(r,l,!1),s>0||0==s&&!1!==l.clearWhenEmpty)return l;if(l.replacedWith&&(l.collapsed=!0,l.widgetNode=i("span",[l.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||l.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(l.widgetNode.insertLeft=!0)),l.collapsed){if(ue(e,t.line,t,n,l)||t.line!=n.line&&ue(e,n.line,t,n,l))throw new Error("Inserting collapsed marker partially overlapping an existing one");j()}l.addToHistory&&ri(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var a,c=t.line,h=e.cm;if(e.iter(c,n.line+1,function(e){h&&l.collapsed&&!h.options.lineWrapping&&he(e)==h.display.maxLine&&(a=!0),l.collapsed&&c!=t.line&&A(e,0),$(e,new X(l,c==t.line?t.ch:null,c==n.line?n.ch:null)),++c}),l.collapsed&&e.iter(t.line,n.line+1,function(t){me(e,t)&&A(t,0)}),l.clearOnEnter&&Yl(l,"beforeCursorEnter",function(){return l.clear()}),l.readOnly&&(_(),(e.history.done.length||e.history.undone.length)&&e.clearHistory()),l.collapsed&&(l.id=++Ls,l.atomic=!0),h){if(a&&(h.curOp.updateMaxLine=!0),l.collapsed)mr(h,t.line,n.line+1);else if(l.className||l.title||l.startStyle||l.endStyle||l.css)for(var f=t.line;f<=n.line;f++)vr(h,f,"text");l.atomic&&Ci(h.doc),Lt(h,"markerAdded",h,l)}return l}function _i(e,t,n,r,i){(r=u(r)).shared=!1;var o=[Vi(e,t,n,r,i)],l=o[0],s=r.widgetNode;return qr(e,function(e){s&&(r.widgetNode=s.cloneNode(!0)),o.push(Vi(e,G(e,t),G(e,n),r,i));for(var a=0;a<e.linked.length;++a)if(e.linked[a].isParent)return;l=g(o)}),new ks(o,l)}function ji(e){return e.findMarks(F(e.first,0),e.clipPos(F(e.lastLine())),function(e){return e.parent})}function Xi(e,t){for(var n=0;n<t.length;n++){var r=t[n],i=r.find(),o=e.clipPos(i.from),l=e.clipPos(i.to);if(P(o,l)){var s=Vi(e,o,l,r.primary,r.primary.type);r.markers.push(s),s.parent=r}}}function Yi(e){for(var t=0;t<e.length;t++)!function(t){var n=e[t],r=[n.primary.doc];qr(n.primary.doc,function(e){return r.push(e)});for(var i=0;i<n.markers.length;i++){var o=n.markers[i];-1==f(r,o.doc)&&(o.parent=null,n.markers.splice(i--,1))}}(t)}function qi(e){var t=this;if(Qi(t),!We(t,e)&&!zt(t.display,e)){Fe(e),hl&&(Os=+new Date);var n=Mn(t,e,!0),r=e.dataTransfer.files;if(n&&!t.isReadOnly())if(r&&r.length&&window.FileReader&&window.File)for(var i=r.length,o=Array(i),l=0,s=0;s<i;++s)!function(e,r){if(!t.options.allowDropFileTypes||-1!=f(t.options.allowDropFileTypes,e.type)){var s=new FileReader;s.onload=dr(t,function(){var e=s.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(e)&&(e=""),o[r]=e,++l==i){var a={from:n=G(t.doc,n),to:n,text:t.doc.splitLines(o.join(t.doc.lineSeparator())),origin:"paste"};Oi(t.doc,a),yi(t.doc,zr(n,Br(a)))}}),s.readAsText(e)}}(r[s],s);else{if(t.state.draggingText&&t.doc.sel.contains(n)>-1)return t.state.draggingText(e),void setTimeout(function(){return t.display.input.focus()},20);try{var a=e.dataTransfer.getData("Text");if(a){var c;if(t.state.draggingText&&!t.state.draggingText.copy&&(c=t.listSelections()),wi(t.doc,zr(n,n)),c)for(var u=0;u<c.length;++u)Fi(t.doc,"",c[u].anchor,c[u].head,"drag");t.replaceSelection(a,"around","paste"),t.display.input.focus()}}catch(e){}}}}function $i(e,t){if(hl&&(!e.state.draggingText||+new Date-Os<100))Re(t);else if(!We(e,t)&&!zt(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!vl)){var n=r("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",ml&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),ml&&n.parentNode.removeChild(n)}}function Zi(e,t){var i=Mn(e,t);if(i){var o=document.createDocumentFragment();On(e,i,o),e.display.dragCursor||(e.display.dragCursor=r("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),n(e.display.dragCursor,o)}}function Qi(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function Ji(e){if(document.getElementsByClassName)for(var t=document.getElementsByClassName("CodeMirror"),n=0;n<t.length;n++){var r=t[n].CodeMirror;r&&e(r)}}function eo(){As||(to(),As=!0)}function to(){var e;Yl(window,"resize",function(){null==e&&(e=setTimeout(function(){e=null,Ji(no)},100))}),Yl(window,"blur",function(){return Ji(Fn)})}function no(e){var t=e.display;t.lastWrapHeight==t.wrapper.clientHeight&&t.lastWrapWidth==t.wrapper.clientWidth||(t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize())}function ro(e){var t=e.split(/-(?!$)/);e=t[t.length-1];for(var n,r,i,o,l=0;l<t.length-1;l++){var s=t[l];if(/^(cmd|meta|m)$/i.test(s))o=!0;else if(/^a(lt)?$/i.test(s))n=!0;else if(/^(c|ctrl|control)$/i.test(s))r=!0;else{if(!/^s(hift)?$/i.test(s))throw new Error("Unrecognized modifier name: "+s);i=!0}}return n&&(e="Alt-"+e),r&&(e="Ctrl-"+e),o&&(e="Cmd-"+e),i&&(e="Shift-"+e),e}function io(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if("..."==r){delete e[n];continue}for(var i=m(n.split(" "),ro),o=0;o<i.length;o++){var l=void 0,s=void 0;o==i.length-1?(s=i.join(" "),l=r):(s=i.slice(0,o+1).join(" "),l="...");var a=t[s];if(a){if(a!=l)throw new Error("Inconsistent bindings for "+s)}else t[s]=l}delete e[n]}for(var c in t)e[c]=t[c];return e}function oo(e,t,n,r){var i=(t=co(t)).call?t.call(e,r):t[e];if(!1===i)return"nothing";if("..."===i)return"multi";if(null!=i&&n(i))return"handled";if(t.fallthrough){if("[object Array]"!=Object.prototype.toString.call(t.fallthrough))return oo(e,t.fallthrough,n,r);for(var o=0;o<t.fallthrough.length;o++){var l=oo(e,t.fallthrough[o],n,r);if(l)return l}}}function lo(e){var t="string"==typeof e?e:Ws[e.keyCode];return"Ctrl"==t||"Alt"==t||"Shift"==t||"Mod"==t}function so(e,t,n){var r=e;return t.altKey&&"Alt"!=r&&(e="Alt-"+e),(Nl?t.metaKey:t.ctrlKey)&&"Ctrl"!=r&&(e="Ctrl-"+e),(Nl?t.ctrlKey:t.metaKey)&&"Cmd"!=r&&(e="Cmd-"+e),!n&&t.shiftKey&&"Shift"!=r&&(e="Shift-"+e),e}function ao(e,t){if(ml&&34==e.keyCode&&e.char)return!1;var n=Ws[e.keyCode];return null!=n&&!e.altGraphKey&&so(n,e,t)}function co(e){return"string"==typeof e?Fs[e]:e}function uo(e,t){for(var n=e.doc.sel.ranges,r=[],i=0;i<n.length;i++){for(var o=t(n[i]);r.length&&P(o.from,g(r).to)<=0;){var l=r.pop();if(P(l.from,o.from)<0){o.from=l.from;break}}r.push(o)}fr(e,function(){for(var t=r.length-1;t>=0;t--)Fi(e.doc,"",r[t].from,r[t].to,"+delete");jn(e)})}function ho(e,t){var n=T(e.doc,t),r=he(n);return r!=n&&(t=W(r)),ke(!0,e,r,t,1)}function fo(e,t){var n=T(e.doc,t),r=fe(n);return r!=n&&(t=W(r)),ke(!0,e,n,t,-1)}function po(e,t){var n=ho(e,t.line),r=T(e.doc,n.line),i=Se(r,e.doc.direction);if(!i||0==i[0].level){var o=Math.max(0,r.text.search(/\S/)),l=t.line==n.line&&t.ch<=o&&t.ch;return F(n.line,l?0:o,n.sticky)}return n}function go(e,t,n){if("string"==typeof t&&!(t=Ps[t]))return!1;e.display.input.ensurePolled();var r=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),i=t(e)!=Pl}finally{e.display.shift=r,e.state.suppressEdits=!1}return i}function mo(e,t,n){for(var r=0;r<e.state.keyMaps.length;r++){var i=oo(t,e.state.keyMaps[r],n,e);if(i)return i}return e.options.extraKeys&&oo(t,e.options.extraKeys,n,e)||oo(t,e.options.keyMap,n,e)}function vo(e,t,n,r){var i=e.state.keySeq;if(i){if(lo(t))return"handled";Is.set(50,function(){e.state.keySeq==i&&(e.state.keySeq=null,e.display.input.reset())}),t=i+" "+t}var o=mo(e,t,r);return"multi"==o&&(e.state.keySeq=t),"handled"==o&&Lt(e,"keyHandled",e,t,n),"handled"!=o&&"multi"!=o||(Fe(n),Wn(e)),i&&!o&&/\'$/.test(t)?(Fe(n),!0):!!o}function yo(e,t){var n=ao(t,!0);return!!n&&(t.shiftKey&&!e.state.keySeq?vo(e,"Shift-"+n,t,function(t){return go(e,t,!0)})||vo(e,n,t,function(t){if("string"==typeof t?/^go[A-Z]/.test(t):t.motion)return go(e,t)}):vo(e,n,t,function(t){return go(e,t)}))}function bo(e,t,n){return vo(e,"'"+n+"'",t,function(t){return go(e,t,!0)})}function wo(e){var t=this;if(t.curOp.focus=l(),!We(t,e)){hl&&fl<11&&27==e.keyCode&&(e.returnValue=!1);var n=e.keyCode;t.display.shift=16==n||e.shiftKey;var r=yo(t,e);ml&&(Rs=r?n:null,!r&&88==n&&!Ql&&(Sl?e.metaKey:e.ctrlKey)&&t.replaceSelection("",null,"cut")),18!=n||/\bCodeMirror-crosshair\b/.test(t.display.lineDiv.className)||xo(t)}}function xo(e){function t(e){18!=e.keyCode&&e.altKey||(Al(n,"CodeMirror-crosshair"),Oe(document,"keyup",t),Oe(document,"mouseover",t))}var n=e.display.lineDiv;s(n,"CodeMirror-crosshair"),Yl(document,"keyup",t),Yl(document,"mouseover",t)}function Co(e){16==e.keyCode&&(this.doc.sel.shift=!1),We(this,e)}function So(e){var t=this;if(!(zt(t.display,e)||We(t,e)||e.ctrlKey&&!e.altKey||Sl&&e.metaKey)){var n=e.keyCode,r=e.charCode;if(ml&&n==Rs)return Rs=null,void Fe(e);if(!ml||e.which&&!(e.which<10)||!yo(t,e)){var i=String.fromCharCode(null==r?n:r);"\b"!=i&&(bo(t,e,i)||t.display.input.onKeyPress(e))}}}function Lo(e,t){var n=+new Date;return Us&&Us.compare(n,e,t)?(Bs=Us=null,"triple"):Bs&&Bs.compare(n,e,t)?(Us=new zs(n,e,t),Bs=null,"double"):(Bs=new zs(n,e,t),Us=null,"single")}function Mo(e){var t=this,n=t.display;if(!(We(t,e)||n.activeTouch&&n.input.supportsTouch()))if(n.input.ensurePolled(),n.shift=e.shiftKey,zt(n,e))dl||(n.scroller.draggable=!1,setTimeout(function(){return n.scroller.draggable=!0},100));else if(!Ho(t,e)){var r=Mn(t,e),i=Be(e),o=r?Lo(r,i):"single";window.focus(),1==i&&t.state.selectingText&&t.state.selectingText(e),r&&ko(t,i,r,o,e)||(1==i?r?No(t,r,o,e):ze(e)==n.scroller&&Fe(e):2==i?(r&&di(t.doc,r),setTimeout(function(){return n.input.focus()},20)):3==i&&(Ol?Eo(t,e):Hn(t)))}}function ko(e,t,n,r,i){var o="Click";return"double"==r?o="Double"+o:"triple"==r&&(o="Triple"+o),o=(1==t?"Left":2==t?"Middle":"Right")+o,vo(e,so(o,i),i,function(t){if("string"==typeof t&&(t=Ps[t]),!t)return!1;var r=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),r=t(e,n)!=Pl}finally{e.state.suppressEdits=!1}return r})}function To(e,t,n){var r=e.getOption("configureMouse"),i=r?r(e,t,n):{};if(null==i.unit){var o=Ll?n.shiftKey&&n.metaKey:n.altKey;i.unit=o?"rectangle":"single"==t?"char":"double"==t?"word":"line"}return(null==i.extend||e.doc.extend)&&(i.extend=e.doc.extend||n.shiftKey),null==i.addNew&&(i.addNew=Sl?n.metaKey:n.ctrlKey),null==i.moveOnDrag&&(i.moveOnDrag=!(Sl?n.altKey:n.ctrlKey)),i}function No(e,t,n,r){hl?setTimeout(c(Dn,e),0):e.curOp.focus=l();var i,o=To(e,n,r),s=e.doc.sel;e.options.dragDrop&&ql&&!e.isReadOnly()&&"single"==n&&(i=s.contains(t))>-1&&(P((i=s.ranges[i]).from(),t)<0||t.xRel>0)&&(P(i.to(),t)>0||t.xRel<0)?Oo(e,r,t,o):Wo(e,r,t,o)}function Oo(e,t,n,r){var i=e.display,o=!1,l=dr(e,function(t){dl&&(i.scroller.draggable=!1),e.state.draggingText=!1,Oe(document,"mouseup",l),Oe(document,"mousemove",s),Oe(i.scroller,"dragstart",a),Oe(i.scroller,"drop",l),o||(Fe(t),r.addNew||di(e.doc,n,null,null,r.extend),dl||hl&&9==fl?setTimeout(function(){document.body.focus(),i.input.focus()},20):i.input.focus())}),s=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},a=function(){return o=!0};dl&&(i.scroller.draggable=!0),e.state.draggingText=l,l.copy=!r.moveOnDrag,i.scroller.dragDrop&&i.scroller.dragDrop(),Yl(document,"mouseup",l),Yl(document,"mousemove",s),Yl(i.scroller,"dragstart",a),Yl(i.scroller,"drop",l),Hn(e),setTimeout(function(){return i.input.focus()},20)}function Ao(e,t,n){if("char"==n)return new Cs(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new Cs(F(t.line,0),G(e.doc,F(t.line+1,0)));var r=n(e,t);return new Cs(r.from,r.to)}function Wo(e,t,n,r){function i(t){if(0!=P(v,t))if(v=t,"rectangle"==r.unit){for(var i=[],o=e.options.tabSize,l=h(T(c,n.line).text,n.ch,o),s=h(T(c,t.line).text,t.ch,o),a=Math.min(l,s),g=Math.max(l,s),m=Math.min(n.line,t.line),y=Math.min(e.lastLine(),Math.max(n.line,t.line));m<=y;m++){var b=T(c,m).text,w=d(b,a,o);a==g?i.push(new Cs(F(m,w),F(m,w))):b.length>w&&i.push(new Cs(F(m,w),F(m,d(b,g,o))))}i.length||i.push(new Cs(n,n)),bi(c,Rr(p.ranges.slice(0,f).concat(i),f),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var x,C=u,S=Ao(e,t,r.unit),L=C.anchor;P(S.anchor,L)>0?(x=S.head,L=B(C.from(),S.anchor)):(x=S.anchor,L=z(C.to(),S.head));var M=p.ranges.slice(0);M[f]=new Cs(G(c,L),x),bi(c,Rr(M,f),Rl)}}function o(t){var n=++b,s=Mn(e,t,!0,"rectangle"==r.unit);if(s)if(0!=P(s,v)){e.curOp.focus=l(),i(s);var u=Rn(a,c);(s.line>=u.to||s.line<u.from)&&setTimeout(dr(e,function(){b==n&&o(t)}),150)}else{var h=t.clientY<y.top?-20:t.clientY>y.bottom?20:0;h&&setTimeout(dr(e,function(){b==n&&(a.scroller.scrollTop+=h,o(t))}),50)}}function s(t){e.state.selectingText=!1,b=1/0,Fe(t),a.input.focus(),Oe(document,"mousemove",w),Oe(document,"mouseup",x),c.history.lastSelOrigin=null}var a=e.display,c=e.doc;Fe(t);var u,f,p=c.sel,g=p.ranges;if(r.addNew&&!r.extend?(f=c.sel.contains(n),u=f>-1?g[f]:new Cs(n,n)):(u=c.sel.primary(),f=c.sel.primIndex),"rectangle"==r.unit)r.addNew||(u=new Cs(n,n)),n=Mn(e,t,!0,!0),f=-1;else{var m=Ao(e,n,r.unit);u=r.extend?fi(u,m.anchor,m.head,r.extend):m}r.addNew?-1==f?(f=g.length,bi(c,Rr(g.concat([u]),f),{scroll:!1,origin:"*mouse"})):g.length>1&&g[f].empty()&&"char"==r.unit&&!r.extend?(bi(c,Rr(g.slice(0,f).concat(g.slice(f+1)),0),{scroll:!1,origin:"*mouse"}),p=c.sel):gi(c,f,u,Rl):(f=0,bi(c,new xs([u],0),Rl),p=c.sel);var v=n,y=a.wrapper.getBoundingClientRect(),b=0,w=dr(e,function(e){Be(e)?o(e):s(e)}),x=dr(e,s);e.state.selectingText=x,Yl(document,"mousemove",w),Yl(document,"mouseup",x)}function Do(e,t,n,r){var i,o;try{i=t.clientX,o=t.clientY}catch(t){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&Fe(t);var l=e.display,s=l.lineDiv.getBoundingClientRect();if(o>s.bottom||!He(e,n))return Ie(t);o-=s.top-l.viewOffset;for(var a=0;a<e.options.gutters.length;++a){var c=l.gutters.childNodes[a];if(c&&c.getBoundingClientRect().right>=i)return Ae(e,n,e,D(e.doc,o),e.options.gutters[a],t),Ie(t)}}function Ho(e,t){return Do(e,t,"gutterClick",!0)}function Eo(e,t){zt(e.display,t)||Fo(e,t)||We(e,t,"contextmenu")||e.display.input.onContextMenu(t)}function Fo(e,t){return!!He(e,"gutterContextMenu")&&Do(e,t,"gutterContextMenu",!1)}function Po(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),ln(e)}function Io(e){Hr(e),mr(e),zn(e)}function Ro(e,t,n){if(!t!=!(n&&n!=Gs)){var r=e.display.dragFunctions,i=t?Yl:Oe;i(e.display.scroller,"dragstart",r.start),i(e.display.scroller,"dragenter",r.enter),i(e.display.scroller,"dragover",r.over),i(e.display.scroller,"dragleave",r.leave),i(e.display.scroller,"drop",r.drop)}}function zo(e){e.options.lineWrapping?(s(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(Al(e.display.wrapper,"CodeMirror-wrap"),we(e)),Ln(e),mr(e),ln(e),setTimeout(function(){return tr(e)},100)}function Bo(e,t){var n=this;if(!(this instanceof Bo))return new Bo(e,t);this.options=t=t?u(t):{},u(Ks,t,!1),Er(t);var r=t.value;"string"==typeof r&&(r=new Ns(r,t.mode,null,t.lineSeparator,t.direction)),this.doc=r;var i=new Bo.inputStyles[t.inputStyle](this),o=this.display=new k(e,r,i);o.wrapper.CodeMirror=this,Hr(this),Po(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),rr(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 Dl,keySeq:null,specialChars:null},t.autofocus&&!Cl&&o.input.focus(),hl&&fl<11&&setTimeout(function(){return n.display.input.reset(!0)},20),Uo(this),eo(),ir(this),this.curOp.forceUpdate=!0,$r(this,r),t.autofocus&&!Cl||this.hasFocus()?setTimeout(c(En,this),20):Fn(this);for(var l in Vs)Vs.hasOwnProperty(l)&&Vs[l](n,t[l],Gs);Bn(this),t.finishInit&&t.finishInit(this);for(var s=0;s<_s.length;++s)_s[s](n);or(this),dl&&t.lineWrapping&&"optimizelegibility"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering="auto")}function Uo(e){function t(){i.activeTouch&&(o=setTimeout(function(){return i.activeTouch=null},1e3),(l=i.activeTouch).end=+new Date)}function n(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}function r(e,t){if(null==t.left)return!0;var n=t.left-e.left,r=t.top-e.top;return n*n+r*r>400}var i=e.display;Yl(i.scroller,"mousedown",dr(e,Mo)),hl&&fl<11?Yl(i.scroller,"dblclick",dr(e,function(t){if(!We(e,t)){var n=Mn(e,t);if(n&&!Ho(e,t)&&!zt(e.display,t)){Fe(t);var r=e.findWordAt(n);di(e.doc,r.anchor,r.head)}}})):Yl(i.scroller,"dblclick",function(t){return We(e,t)||Fe(t)}),Ol||Yl(i.scroller,"contextmenu",function(t){return Eo(e,t)});var o,l={end:0};Yl(i.scroller,"touchstart",function(t){if(!We(e,t)&&!n(t)){i.input.ensurePolled(),clearTimeout(o);var r=+new Date;i.activeTouch={start:r,moved:!1,prev:r-l.end<=300?l:null},1==t.touches.length&&(i.activeTouch.left=t.touches[0].pageX,i.activeTouch.top=t.touches[0].pageY)}}),Yl(i.scroller,"touchmove",function(){i.activeTouch&&(i.activeTouch.moved=!0)}),Yl(i.scroller,"touchend",function(n){var o=i.activeTouch;if(o&&!zt(i,n)&&null!=o.left&&!o.moved&&new Date-o.start<300){var l,s=e.coordsChar(i.activeTouch,"page");l=!o.prev||r(o,o.prev)?new Cs(s,s):!o.prev.prev||r(o,o.prev.prev)?e.findWordAt(s):new Cs(F(s.line,0),G(e.doc,F(s.line+1,0))),e.setSelection(l.anchor,l.head),e.focus(),Fe(n)}t()}),Yl(i.scroller,"touchcancel",t),Yl(i.scroller,"scroll",function(){i.scroller.clientHeight&&(Zn(e,i.scroller.scrollTop),Jn(e,i.scroller.scrollLeft,!0),Ae(e,"scroll",e))}),Yl(i.scroller,"mousewheel",function(t){return Ir(e,t)}),Yl(i.scroller,"DOMMouseScroll",function(t){return Ir(e,t)}),Yl(i.wrapper,"scroll",function(){return i.wrapper.scrollTop=i.wrapper.scrollLeft=0}),i.dragFunctions={enter:function(t){We(e,t)||Re(t)},over:function(t){We(e,t)||(Zi(e,t),Re(t))},start:function(t){return $i(e,t)},drop:dr(e,qi),leave:function(t){We(e,t)||Qi(e)}};var s=i.input.getField();Yl(s,"keyup",function(t){return Co.call(e,t)}),Yl(s,"keydown",dr(e,wo)),Yl(s,"keypress",dr(e,So)),Yl(s,"focus",function(t){return En(e,t)}),Yl(s,"blur",function(t){return Fn(e,t)})}function Go(e,t,n,r){var i,o=e.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?i=et(e,t).state:n="prev");var l=e.options.tabSize,s=T(o,t),a=h(s.text,null,l);s.stateAfter&&(s.stateAfter=null);var c,u=s.text.match(/^\s*/)[0];if(r||/\S/.test(s.text)){if("smart"==n&&((c=o.mode.indent(i,s.text.slice(u.length),s.text))==Pl||c>150)){if(!r)return;n="prev"}}else c=0,n="not";"prev"==n?c=t>o.first?h(T(o,t-1).text,null,l):0:"add"==n?c=a+e.options.indentUnit:"subtract"==n?c=a-e.options.indentUnit:"number"==typeof n&&(c=a+n),c=Math.max(0,c);var f="",d=0;if(e.options.indentWithTabs)for(var g=Math.floor(c/l);g;--g)d+=l,f+="\t";if(d<c&&(f+=p(c-d)),f!=u)return Fi(o,f,F(t,0),F(t,u.length),"+input"),s.stateAfter=null,!0;for(var m=0;m<o.sel.ranges.length;m++){var v=o.sel.ranges[m];if(v.head.line==t&&v.head.ch<u.length){var y=F(t,u.length);gi(o,m,new Cs(y,y));break}}}function Ko(e){js=e}function Vo(e,t,n,r,i){var o=e.doc;e.display.shift=!1,r||(r=o.sel);var l=e.state.pasteIncoming||"paste"==i,s=$l(t),a=null;if(l&&r.ranges.length>1)if(js&&js.text.join("\n")==t){if(r.ranges.length%js.text.length==0){a=[];for(var c=0;c<js.text.length;c++)a.push(o.splitLines(js.text[c]))}}else s.length==r.ranges.length&&e.options.pasteLinesPerSelection&&(a=m(s,function(e){return[e]}));for(var u,h=r.ranges.length-1;h>=0;h--){var f=r.ranges[h],d=f.from(),p=f.to();f.empty()&&(n&&n>0?d=F(d.line,d.ch-n):e.state.overwrite&&!l?p=F(p.line,Math.min(T(o,p.line).text.length,p.ch+g(s).length)):js&&js.lineWise&&js.text.join("\n")==t&&(d=p=F(d.line,0))),u=e.curOp.updateInput;var v={from:d,to:p,text:a?a[h%a.length]:s,origin:i||(l?"paste":e.state.cutIncoming?"cut":"+input")};Oi(e.doc,v),Lt(e,"inputRead",e,v)}t&&!l&&jo(e,t),jn(e),e.curOp.updateInput=u,e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=!1}function _o(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||fr(t,function(){return Vo(t,n,0,null,"paste")}),!0}function jo(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),l=!1;if(o.electricChars){for(var s=0;s<o.electricChars.length;s++)if(t.indexOf(o.electricChars.charAt(s))>-1){l=Go(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(T(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=Go(e,i.head.line,"smart"));l&&Lt(e,"electricInput",e,i.head.line)}}}function Xo(e){for(var t=[],n=[],r=0;r<e.doc.sel.ranges.length;r++){var i=e.doc.sel.ranges[r].head.line,o={anchor:F(i,0),head:F(i+1,0)};n.push(o),t.push(e.getRange(o.anchor,o.head))}return{text:t,ranges:n}}function Yo(e,t){e.setAttribute("autocorrect","off"),e.setAttribute("autocapitalize","off"),e.setAttribute("spellcheck",!!t)}function qo(){var e=r("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),t=r("div",[e],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return dl?e.style.width="1000px":e.setAttribute("wrap","off"),wl&&(e.style.border="1px solid black"),Yo(e),t}function $o(e,t,n,r,i){function o(){var r=t.line+n;return!(r<e.first||r>=e.first+e.size)&&(t=new F(r,t.ch,t.sticky),c=T(e,r))}function l(r){var l;if(null==(l=i?Te(e.cm,c,t,n):Me(c,t,n))){if(r||!o())return!1;t=ke(i,e.cm,c,t.line,n)}else t=l;return!0}var s=t,a=n,c=T(e,t.line);if("char"==r)l();else if("column"==r)l(!0);else if("word"==r||"group"==r)for(var u=null,h="group"==r,f=e.cm&&e.cm.getHelper(t,"wordChars"),d=!0;!(n<0)||l(!d);d=!1){var p=c.text.charAt(t.ch)||"\n",g=x(p,f)?"w":h&&"\n"==p?"n":!h||/\s/.test(p)?null:"p";if(!h||d||g||(g="s"),u&&u!=g){n<0&&(n=1,l(),t.sticky="after");break}if(g&&(u=g),n>0&&!l(!d))break}var m=Mi(e,t,s,a,!0);return I(s,m)&&(m.hitSide=!0),m}function Zo(e,t,n,r){var i,o=e.doc,l=t.left;if("page"==r){var s=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),a=Math.max(s-.5*bn(e.display),3);i=(n>0?t.bottom:t.top)+n*a}else"line"==r&&(i=n>0?t.bottom+3:t.top-3);for(var c;(c=gn(e,l,i)).outside;){if(n<0?i<=0:i>=o.height){c.hitSide=!0;break}i+=5*n}return c}function Qo(e,t){var n=$t(e,t.line);if(!n||n.hidden)return null;var r=T(e.doc,t.line),i=Xt(n,r,t.line),o=Se(r,e.doc.direction),l="left";o&&(l=Ce(o,t.ch)%2?"right":"left");var s=Jt(i.map,t.ch,l);return s.offset="right"==s.collapse?s.end:s.start,s}function Jo(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}function el(e,t){return t&&(e.bad=!0),e}function tl(e,t,n,r,i){function o(e){return function(t){return t.id==e}}function l(){u&&(c+=h,u=!1)}function s(e){e&&(l(),c+=e)}function a(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(null!=n)return void s(n||t.textContent.replace(/\u200b/g,""));var c,f=t.getAttribute("cm-marker");if(f){var d=e.findMarks(F(r,0),F(i+1,0),o(+f));return void(d.length&&(c=d[0].find())&&s(N(e.doc,c.from,c.to).join(h)))}if("false"==t.getAttribute("contenteditable"))return;var p=/^(pre|div|p)$/i.test(t.nodeName);p&&l();for(var g=0;g<t.childNodes.length;g++)a(t.childNodes[g]);p&&(u=!0)}else 3==t.nodeType&&s(t.nodeValue)}for(var c="",u=!1,h=e.doc.lineSeparator();a(t),t!=n;)t=t.nextSibling;return c}function nl(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return el(e.clipPos(F(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i<e.display.view.length;i++){var o=e.display.view[i];if(o.node==r)return rl(o,t,n)}}function rl(e,t,n){function r(t,n,r){for(var i=-1;i<(h?h.length:0);i++)for(var o=i<0?u.map:h[i],l=0;l<o.length;l+=3){var s=o[l+2];if(s==t||s==n){var a=W(i<0?e.line:e.rest[i]),c=o[l]+r;return(r<0||s!=t)&&(c=o[l+(r?1:0)]),F(a,c)}}}var i=e.text.firstChild,l=!1;if(!t||!o(i,t))return el(F(W(e.line),0),!0);if(t==i&&(l=!0,t=i.childNodes[n],n=0,!t)){var s=e.rest?g(e.rest):e.line;return el(F(W(s),s.text.length),l)}var a=3==t.nodeType?t:null,c=t;for(a||1!=t.childNodes.length||3!=t.firstChild.nodeType||(a=t.firstChild,n&&(n=a.nodeValue.length));c.parentNode!=i;)c=c.parentNode;var u=e.measure,h=u.maps,f=r(a,c,n);if(f)return el(f,l);for(var d=c.nextSibling,p=a?a.nodeValue.length-n:0;d;d=d.nextSibling){if(f=r(d,d.firstChild,0))return el(F(f.line,f.ch-p),l);p+=d.textContent.length}for(var m=c.previousSibling,v=n;m;m=m.previousSibling){if(f=r(m,m.firstChild,-1))return el(F(f.line,f.ch+v),l);v+=m.textContent.length}}function il(e,t){function n(){e.value=a.getValue()}if(t=t?u(t):{},t.value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var r=l();t.autofocus=r==e||null!=e.getAttribute("autofocus")&&r==document.body}var i;if(e.form&&(Yl(e.form,"submit",n),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var s=o.submit=function(){n(),o.submit=i,o.submit(),o.submit=s}}catch(e){}}t.finishInit=function(t){t.save=n,t.getTextArea=function(){return e},t.toTextArea=function(){t.toTextArea=isNaN,n(),e.parentNode.removeChild(t.getWrapperElement()),e.style.display="",e.form&&(Oe(e.form,"submit",n),"function"==typeof e.form.submit&&(e.form.submit=i))}},e.style.display="none";var a=Bo(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return a}var ol=navigator.userAgent,ll=navigator.platform,sl=/gecko\/\d/i.test(ol),al=/MSIE \d/.test(ol),cl=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ol),ul=/Edge\/(\d+)/.exec(ol),hl=al||cl||ul,fl=hl&&(al?document.documentMode||6:+(ul||cl)[1]),dl=!ul&&/WebKit\//.test(ol),pl=dl&&/Qt\/\d+\.\d+/.test(ol),gl=!ul&&/Chrome\//.test(ol),ml=/Opera\//.test(ol),vl=/Apple Computer/.test(navigator.vendor),yl=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ol),bl=/PhantomJS/.test(ol),wl=!ul&&/AppleWebKit/.test(ol)&&/Mobile\/\w+/.test(ol),xl=/Android/.test(ol),Cl=wl||xl||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ol),Sl=wl||/Mac/.test(ll),Ll=/\bCrOS\b/.test(ol),Ml=/win/i.test(ll),kl=ml&&ol.match(/Version\/(\d*\.\d*)/);kl&&(kl=Number(kl[1])),kl&&kl>=15&&(ml=!1,dl=!0);var Tl,Nl=Sl&&(pl||ml&&(null==kl||kl<12.11)),Ol=sl||hl&&fl>=9,Al=function(t,n){var r=t.className,i=e(n).exec(r);if(i){var o=r.slice(i.index+i[0].length);t.className=r.slice(0,i.index)+(o?i[1]+o:"")}};Tl=document.createRange?function(e,t,n,r){var i=document.createRange();return i.setEnd(r||e,n),i.setStart(e,t),i}:function(e,t,n){var r=document.body.createTextRange();try{r.moveToElementText(e.parentNode)}catch(e){return r}return r.collapse(!0),r.moveEnd("character",n),r.moveStart("character",t),r};var Wl=function(e){e.select()};wl?Wl=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:hl&&(Wl=function(e){try{e.select()}catch(e){}});var Dl=function(){this.id=null};Dl.prototype.set=function(e,t){clearTimeout(this.id),this.id=setTimeout(t,e)};var Hl,El,Fl=30,Pl={toString:function(){return"CodeMirror.Pass"}},Il={scroll:!1},Rl={origin:"*mouse"},zl={origin:"+move"},Bl=[""],Ul=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Gl=/[\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]/,Kl=!1,Vl=!1,_l=null,jl=function(){function e(e){return e<=247?n.charAt(e):1424<=e&&e<=1524?"R":1536<=e&&e<=1785?r.charAt(e-1536):1774<=e&&e<=2220?"r":8192<=e&&e<=8203?"w":8204==e?"b":"L"}function t(e,t,n){this.level=e,this.from=t,this.to=n}var n="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",r="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111",i=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,o=/[stwN]/,l=/[LRr]/,s=/[Lb1n]/,a=/[1n]/;return function(n,r){var c="ltr"==r?"L":"R";if(0==n.length||"ltr"==r&&!i.test(n))return!1;for(var u=n.length,h=[],f=0;f<u;++f)h.push(e(n.charCodeAt(f)));for(var d=0,p=c;d<u;++d){var m=h[d];"m"==m?h[d]=p:p=m}for(var v=0,y=c;v<u;++v){var b=h[v];"1"==b&&"r"==y?h[v]="n":l.test(b)&&(y=b,"r"==b&&(h[v]="R"))}for(var w=1,x=h[0];w<u-1;++w){var C=h[w];"+"==C&&"1"==x&&"1"==h[w+1]?h[w]="1":","!=C||x!=h[w+1]||"1"!=x&&"n"!=x||(h[w]=x),x=C}for(var S=0;S<u;++S){var L=h[S];if(","==L)h[S]="N";else if("%"==L){var M=void 0;for(M=S+1;M<u&&"%"==h[M];++M);for(var k=S&&"!"==h[S-1]||M<u&&"1"==h[M]?"1":"N",T=S;T<M;++T)h[T]=k;S=M-1}}for(var N=0,O=c;N<u;++N){var A=h[N];"L"==O&&"1"==A?h[N]="L":l.test(A)&&(O=A)}for(var W=0;W<u;++W)if(o.test(h[W])){var D=void 0;for(D=W+1;D<u&&o.test(h[D]);++D);for(var H="L"==(W?h[W-1]:c),E=H==("L"==(D<u?h[D]:c))?H?"L":"R":c,F=W;F<D;++F)h[F]=E;W=D-1}for(var P,I=[],R=0;R<u;)if(s.test(h[R])){var z=R;for(++R;R<u&&s.test(h[R]);++R);I.push(new t(0,z,R))}else{var B=R,U=I.length;for(++R;R<u&&"L"!=h[R];++R);for(var G=B;G<R;)if(a.test(h[G])){B<G&&I.splice(U,0,new t(1,B,G));var K=G;for(++G;G<R&&a.test(h[G]);++G);I.splice(U,0,new t(2,K,G)),B=G}else++G;B<R&&I.splice(U,0,new t(1,B,R))}return 1==I[0].level&&(P=n.match(/^\s+/))&&(I[0].from=P[0].length,I.unshift(new t(0,0,P[0].length))),1==g(I).level&&(P=n.match(/\s+$/))&&(g(I).to-=P[0].length,I.push(new t(0,u-P[0].length,u))),"rtl"==r?I.reverse():I}}(),Xl=[],Yl=function(e,t,n){if(e.addEventListener)e.addEventListener(t,n,!1);else if(e.attachEvent)e.attachEvent("on"+t,n);else{var r=e._handlers||(e._handlers={});r[t]=(r[t]||Xl).concat(n)}},ql=function(){if(hl&&fl<9)return!1;var e=r("div");return"draggable"in e||"dragDrop"in e}(),$l=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),l=o.indexOf("\r");-1!=l?(n.push(o.slice(0,l)),t+=l+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},Zl=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},Ql=function(){var e=r("div");return"oncopy"in e||(e.setAttribute("oncopy","return;"),"function"==typeof e.oncopy)}(),Jl=null,es={},ts={},ns={},rs=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};rs.prototype.eol=function(){return this.pos>=this.string.length},rs.prototype.sol=function(){return this.pos==this.lineStart},rs.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},rs.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},rs.prototype.eat=function(e){var t=this.string.charAt(this.pos);if("string"==typeof e?t==e:t&&(e.test?e.test(t):e(t)))return++this.pos,t},rs.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},rs.prototype.eatSpace=function(){for(var e=this,t=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++e.pos;return this.pos>t},rs.prototype.skipToEnd=function(){this.pos=this.string.length},rs.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},rs.prototype.backUp=function(e){this.pos-=e},rs.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=h(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?h(this.string,this.lineStart,this.tabSize):0)},rs.prototype.indentation=function(){return h(this.string,null,this.tabSize)-(this.lineStart?h(this.string,this.lineStart,this.tabSize):0)},rs.prototype.match=function(e,t,n){if("string"!=typeof e){var r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},rs.prototype.current=function(){return this.string.slice(this.start,this.pos)},rs.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},rs.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)};var is=function(e,t){this.state=e,this.lookAhead=t},os=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0};os.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},os.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},os.fromSaved=function(e,t,n){return t instanceof is?new os(e,qe(e.mode,t.state),n,t.lookAhead):new os(e,qe(e.mode,t),n)},os.prototype.save=function(e){var t=!1!==e?qe(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new is(t,this.maxLookAhead):t};var ls=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n},ss=function(e,t,n){this.text=e,re(this,t),this.height=n?n(this):1};ss.prototype.lineNo=function(){return W(this)},Ee(ss);var as,cs={},us={},hs=null,fs=null,ds={left:0,right:0,top:0,bottom:0},ps=function(e,t,n){this.cm=n;var i=this.vert=r("div",[r("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),o=this.horiz=r("div",[r("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");e(i),e(o),Yl(i,"scroll",function(){i.clientHeight&&t(i.scrollTop,"vertical")}),Yl(o,"scroll",function(){o.clientWidth&&t(o.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,hl&&fl<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};ps.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},ps.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},ps.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},ps.prototype.zeroWidthHack=function(){var e=Sl&&!yl?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Dl,this.disableVert=new Dl},ps.prototype.enableZeroWidthBar=function(e,t,n){function r(){var i=e.getBoundingClientRect();("vert"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1))!=e?e.style.pointerEvents="none":t.set(1e3,r)}e.style.pointerEvents="auto",t.set(1e3,r)},ps.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var gs=function(){};gs.prototype.update=function(){return{bottom:0,right:0}},gs.prototype.setScrollLeft=function(){},gs.prototype.setScrollTop=function(){},gs.prototype.clear=function(){};var ms={native:ps,null:gs},vs=0,ys=function(e,t,n){var r=e.display;this.viewport=t,this.visible=Rn(r,e.doc,t),this.editorIsHidden=!r.wrapper.offsetWidth,this.wrapperHeight=r.wrapper.clientHeight,this.wrapperWidth=r.wrapper.clientWidth,this.oldDisplayWidth=Vt(e),this.force=n,this.dims=xn(e),this.events=[]};ys.prototype.signal=function(e,t){He(e,t)&&this.events.push(arguments)},ys.prototype.finish=function(){for(var e=this,t=0;t<this.events.length;t++)Ae.apply(null,e.events[t])};var bs=0,ws=null;hl?ws=-.53:sl?ws=15:gl?ws=-.7:vl&&(ws=-1/3);var xs=function(e,t){this.ranges=e,this.primIndex=t};xs.prototype.primary=function(){return this.ranges[this.primIndex]},xs.prototype.equals=function(e){var t=this;if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var n=0;n<this.ranges.length;n++){var r=t.ranges[n],i=e.ranges[n];if(!I(r.anchor,i.anchor)||!I(r.head,i.head))return!1}return!0},xs.prototype.deepCopy=function(){for(var e=this,t=[],n=0;n<this.ranges.length;n++)t[n]=new Cs(R(e.ranges[n].anchor),R(e.ranges[n].head));return new xs(t,this.primIndex)},xs.prototype.somethingSelected=function(){for(var e=this,t=0;t<this.ranges.length;t++)if(!e.ranges[t].empty())return!0;return!1},xs.prototype.contains=function(e,t){var n=this;t||(t=e);for(var r=0;r<this.ranges.length;r++){var i=n.ranges[r];if(P(t,i.from())>=0&&P(e,i.to())<=0)return r}return-1};var Cs=function(e,t){this.anchor=e,this.head=t};Cs.prototype.from=function(){return B(this.anchor,this.head)},Cs.prototype.to=function(){return z(this.anchor,this.head)},Cs.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Bi.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n=this,r=e,i=e+t;r<i;++r){var o=n.lines[r];n.height-=o.height,ut(o),Lt(o,"delete")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){var r=this;this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var i=0;i<t.length;++i)t[i].parent=r},iterN:function(e,t,n){for(var r=this,i=e+t;e<i;++e)if(n(r.lines[e]))return!0}},Ui.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){var n=this;this.size-=t;for(var r=0;r<this.children.length;++r){var i=n.children[r],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e),s=i.height;if(i.removeInner(e,l),n.height-=s-i.height,o==l&&(n.children.splice(r--,1),i.parent=null),0==(t-=l))break;e=0}else e-=o}if(this.size-t<25&&(this.children.length>1||!(this.children[0]instanceof Bi))){var a=[];this.collapse(a),this.children=[new Bi(a)],this.children[0].parent=this}},collapse:function(e){for(var t=this,n=0;n<this.children.length;++n)t.children[n].collapse(e)},insertInner:function(e,t,n){var r=this;this.size+=t.length,this.height+=n;for(var i=0;i<this.children.length;++i){var o=r.children[i],l=o.chunkSize();if(e<=l){if(o.insertInner(e,t,n),o.lines&&o.lines.length>50){for(var s=o.lines.length%25+25,a=s;a<o.lines.length;){var c=new Bi(o.lines.slice(a,a+=25));o.height-=c.height,r.children.splice(++i,0,c),c.parent=r}o.lines=o.lines.slice(0,s),r.maybeSpill()}break}e-=l}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t=new Ui(e.children.splice(e.children.length-5,5));if(e.parent){e.size-=t.size,e.height-=t.height;var n=f(e.parent.children,e);e.parent.children.splice(n+1,0,t)}else{var r=new Ui(e.children);r.parent=e,e.children=[r,t],e=r}t.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=this,i=0;i<this.children.length;++i){var o=r.children[i],l=o.chunkSize();if(e<l){var s=Math.min(t,l-e);if(o.iterN(e,s,n))return!0;if(0==(t-=s))break;e=0}else e-=l}}};var Ss=function(e,t,n){var r=this;if(n)for(var i in n)n.hasOwnProperty(i)&&(r[i]=n[i]);this.doc=e,this.node=t};Ss.prototype.clear=function(){var e=this,t=this.doc.cm,n=this.line.widgets,r=this.line,i=W(r);if(null!=i&&n){for(var o=0;o<n.length;++o)n[o]==e&&n.splice(o--,1);n.length||(r.widgets=null);var l=Rt(this);A(r,Math.max(0,r.height-l)),t&&(fr(t,function(){Gi(t,r,-l),vr(t,i,"widget")}),Lt(t,"lineWidgetCleared",t,this,i))}},Ss.prototype.changed=function(){var e=this,t=this.height,n=this.doc.cm,r=this.line;this.height=null;var i=Rt(this)-t;i&&(A(r,r.height+i),n&&fr(n,function(){n.curOp.forceUpdate=!0,Gi(n,r,i),Lt(n,"lineWidgetChanged",n,e,W(r))}))},Ee(Ss);var Ls=0,Ms=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++Ls};Ms.prototype.clear=function(){var e=this;if(!this.explicitlyCleared){var t=this.doc.cm,n=t&&!t.curOp;if(n&&ir(t),He(this,"clear")){var r=this.find();r&&Lt(this,"clear",r.from,r.to)}for(var i=null,o=null,l=0;l<this.lines.length;++l){var s=e.lines[l],a=Y(s.markedSpans,e);t&&!e.collapsed?vr(t,W(s),"text"):t&&(null!=a.to&&(o=W(s)),null!=a.from&&(i=W(s))),s.markedSpans=q(s.markedSpans,a),null==a.from&&e.collapsed&&!me(e.doc,s)&&t&&A(s,bn(t.display))}if(t&&this.collapsed&&!t.options.lineWrapping)for(var c=0;c<this.lines.length;++c){var u=he(e.lines[c]),h=be(u);h>t.display.maxLineLength&&(t.display.maxLine=u,t.display.maxLineLength=h,t.display.maxLineChanged=!0)}null!=i&&t&&this.collapsed&&mr(t,i,o+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&Ci(t.doc)),t&&Lt(t,"markerCleared",t,this,i,o),n&&or(t),this.parent&&this.parent.clear()}},Ms.prototype.find=function(e,t){var n=this;null==e&&"bookmark"==this.type&&(e=1);for(var r,i,o=0;o<this.lines.length;++o){var l=n.lines[o],s=Y(l.markedSpans,n);if(null!=s.from&&(r=F(t?l:W(l),s.from),-1==e))return r;if(null!=s.to&&(i=F(t?l:W(l),s.to),1==e))return i}return r&&{from:r,to:i}},Ms.prototype.changed=function(){var e=this,t=this.find(-1,!0),n=this,r=this.doc.cm;t&&r&&fr(r,function(){var i=t.line,o=W(t.line),l=$t(r,o);if(l&&(rn(l),r.curOp.selectionChanged=r.curOp.forceUpdate=!0),r.curOp.updateMaxLine=!0,!me(n.doc,i)&&null!=n.height){var s=n.height;n.height=null;var a=Rt(n)-s;a&&A(i,i.height+a)}Lt(r,"markerChanged",r,e)})},Ms.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;t.maybeHiddenMarkers&&-1!=f(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)},Ms.prototype.detachLine=function(e){if(this.lines.splice(f(this.lines,e),1),!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(t.maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)}},Ee(Ms);var ks=function(e,t){var n=this;this.markers=e,this.primary=t;for(var r=0;r<e.length;++r)e[r].parent=n};ks.prototype.clear=function(){var e=this;if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var t=0;t<this.markers.length;++t)e.markers[t].clear();Lt(this,"clear")}},ks.prototype.find=function(e,t){return this.primary.find(e,t)},Ee(ks);var Ts=0,Ns=function(e,t,n,r,i){if(!(this instanceof Ns))return new Ns(e,t,n,r,i);null==n&&(n=0),Ui.call(this,[new Bi([new ss("",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=n;var o=F(n,0);this.sel=zr(o),this.history=new Jr(null),this.id=++Ts,this.modeOption=t,this.lineSep=r,this.direction="rtl"==i?"rtl":"ltr",this.extend=!1,"string"==typeof e&&(e=this.splitLines(e)),Yr(this,{from:o,to:o,text:e}),bi(this,zr(o),Il)};Ns.prototype=b(Ui.prototype,{constructor:Ns,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,r=0;r<t.length;++r)n+=t[r].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=O(this,this.first,this.first+this.size);return!1===e?t:t.join(e||this.lineSeparator())},setValue:gr(function(e){var t=F(this.first,0),n=this.first+this.size-1;Oi(this,{from:t,to:F(n,T(this,n).text.length),text:this.splitLines(e),origin:"setValue",full:!0},!0),this.cm&&Xn(this.cm,0,0),bi(this,zr(t),Il)}),replaceRange:function(e,t,n,r){Fi(this,e,t=G(this,t),n=n?G(this,n):t,r)},getRange:function(e,t,n){var r=N(this,G(this,e),G(this,t));return!1===n?r:r.join(n||this.lineSeparator())},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},getLineHandle:function(e){if(H(this,e))return T(this,e)},getLineNumber:function(e){return W(e)},getLineHandleVisualStart:function(e){return"number"==typeof e&&(e=T(this,e)),he(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return G(this,e)},getCursor:function(e){var t=this.sel.primary();return null==e||"head"==e?t.head:"anchor"==e?t.anchor:"end"==e||"to"==e||!1===e?t.to():t.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:gr(function(e,t,n){mi(this,G(this,"number"==typeof e?F(e,t||0):e),null,n)}),setSelection:gr(function(e,t,n){mi(this,G(this,e),G(this,t||e),n)}),extendSelection:gr(function(e,t,n){di(this,G(this,e),t&&G(this,t),n)}),extendSelections:gr(function(e,t){pi(this,V(this,e),t)}),extendSelectionsBy:gr(function(e,t){pi(this,V(this,m(this.sel.ranges,e)),t)}),setSelections:gr(function(e,t,n){var r=this;if(e.length){for(var i=[],o=0;o<e.length;o++)i[o]=new Cs(G(r,e[o].anchor),G(r,e[o].head));null==t&&(t=Math.min(e.length-1,this.sel.primIndex)),bi(this,Rr(i,t),n)}}),addSelection:gr(function(e,t,n){var r=this.sel.ranges.slice(0);r.push(new Cs(G(this,e),G(this,t||e))),bi(this,Rr(r,r.length-1),n)}),getSelection:function(e){for(var t,n=this,r=this.sel.ranges,i=0;i<r.length;i++){var o=N(n,r[i].from(),r[i].to());t=t?t.concat(o):o}return!1===e?t:t.join(e||this.lineSeparator())},getSelections:function(e){for(var t=this,n=[],r=this.sel.ranges,i=0;i<r.length;i++){var o=N(t,r[i].from(),r[i].to());!1!==e&&(o=o.join(e||t.lineSeparator())),n[i]=o}return n},replaceSelection:function(e,t,n){for(var r=[],i=0;i<this.sel.ranges.length;i++)r[i]=e;this.replaceSelections(r,t,n||"+input")},replaceSelections:gr(function(e,t,n){for(var r=this,i=[],o=this.sel,l=0;l<o.ranges.length;l++){var s=o.ranges[l];i[l]={from:s.from(),to:s.to(),text:r.splitLines(e[l]),origin:n}}for(var a=t&&"end"!=t&&Vr(this,i,t),c=i.length-1;c>=0;c--)Oi(r,i[c]);a?yi(this,a):this.cm&&jn(this.cm)}),undo:gr(function(){Wi(this,"undo")}),redo:gr(function(){Wi(this,"redo")}),undoSelection:gr(function(){Wi(this,"undo",!0)}),redoSelection:gr(function(){Wi(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r<e.done.length;r++)e.done[r].ranges||++t;for(var i=0;i<e.undone.length;i++)e.undone[i].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){this.history=new Jr(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:hi(this.history.done),undone:hi(this.history.undone)}},setHistory:function(e){var t=this.history=new Jr(this.history.maxGeneration);t.done=hi(e.done.slice(0),null,!0),t.undone=hi(e.undone.slice(0),null,!0)},setGutterMarker:gr(function(e,t,n){return zi(this,e,"gutter",function(e){var r=e.gutterMarkers||(e.gutterMarkers={});return r[t]=n,!n&&C(r)&&(e.gutterMarkers=null),!0})}),clearGutter:gr(function(e){var t=this;this.iter(function(n){n.gutterMarkers&&n.gutterMarkers[e]&&zi(t,n,"gutter",function(){return n.gutterMarkers[e]=null,C(n.gutterMarkers)&&(n.gutterMarkers=null),!0})})}),lineInfo:function(e){var t;if("number"==typeof e){if(!H(this,e))return null;if(t=e,!(e=T(this,e)))return null}else if(null==(t=W(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:gr(function(t,n,r){return zi(this,t,"gutter"==n?"gutter":"class",function(t){var i="text"==n?"textClass":"background"==n?"bgClass":"gutter"==n?"gutterClass":"wrapClass";if(t[i]){if(e(r).test(t[i]))return!1;t[i]+=" "+r}else t[i]=r;return!0})}),removeLineClass:gr(function(t,n,r){return zi(this,t,"gutter"==n?"gutter":"class",function(t){var i="text"==n?"textClass":"background"==n?"bgClass":"gutter"==n?"gutterClass":"wrapClass",o=t[i];if(!o)return!1;if(null==r)t[i]=null;else{var l=o.match(e(r));if(!l)return!1;var s=l.index+l[0].length;t[i]=o.slice(0,l.index)+(l.index&&s!=o.length?" ":"")+o.slice(s)||null}return!0})}),addLineWidget:gr(function(e,t,n){return Ki(this,e,t,n)}),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return Vi(this,G(this,e),G(this,t),n,n&&n.type||"range")},setBookmark:function(e,t){var n={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return e=G(this,e),Vi(this,e,e,n,"bookmark")},findMarksAt:function(e){var t=[],n=T(this,(e=G(this,e)).line).markedSpans;if(n)for(var r=0;r<n.length;++r){var i=n[r];(null==i.from||i.from<=e.ch)&&(null==i.to||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=G(this,e),t=G(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(o){var l=o.markedSpans;if(l)for(var s=0;s<l.length;s++){var a=l[s];null!=a.to&&i==e.line&&e.ch>=a.to||null==a.from&&i!=e.line||null!=a.from&&i==t.line&&a.from>=t.ch||n&&!n(a.marker)||r.push(a.marker.parent||a.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;r<n.length;++r)null!=n[r].from&&e.push(n[r].marker)}),e},posFromIndex:function(e){var t,n=this.first,r=this.lineSeparator().length;return this.iter(function(i){var o=i.text.length+r;if(o>e)return t=e,!0;e-=o,++n}),G(this,F(n,t))},indexFromPos:function(e){var t=(e=G(this,e)).ch;if(e.line<this.first||e.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,e.line,function(e){t+=e.text.length+n}),t},copy:function(e){var t=new Ns(O(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,n=this.first+this.size;null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.to<n&&(n=e.to);var r=new Ns(O(this,t,n),e.mode||this.modeOption,t,this.lineSep,this.direction);return e.sharedHist&&(r.history=this.history),(this.linked||(this.linked=[])).push({doc:r,sharedHist:e.sharedHist}),r.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],Xi(r,ji(this)),r},unlinkDoc:function(e){var t=this;if(e instanceof Bo&&(e=e.doc),this.linked)for(var n=0;n<this.linked.length;++n)if(t.linked[n].doc==e){t.linked.splice(n,1),e.unlinkDoc(t),Yi(ji(t));break}if(e.history==this.history){var r=[e.id];qr(e,function(e){return r.push(e.id)},!0),e.history=new Jr(null),e.history.done=hi(this.history.done,r),e.history.undone=hi(this.history.undone,r)}},iterLinkedDocs:function(e){qr(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):$l(e)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:gr(function(e){"rtl"!=e&&(e="ltr"),e!=this.direction&&(this.direction=e,this.iter(function(e){return e.order=null}),this.cm&&Qr(this.cm))})}),Ns.prototype.eachLine=Ns.prototype.iter;for(var Os=0,As=!1,Ws={3:"Enter",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:"/",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Ds=0;Ds<10;Ds++)Ws[Ds+48]=Ws[Ds+96]=String(Ds);for(var Hs=65;Hs<=90;Hs++)Ws[Hs]=String.fromCharCode(Hs);for(var Es=1;Es<=12;Es++)Ws[Es+111]=Ws[Es+63235]="F"+Es;var Fs={};Fs.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"},Fs.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"},Fs.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Fs.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"]},Fs.default=Sl?Fs.macDefault:Fs.pcDefault;var Ps={selectAll:Ti,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),Il)},killLine:function(e){return uo(e,function(t){if(t.empty()){var n=T(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line<e.lastLine()?{from:t.head,to:F(t.head.line+1,0)}:{from:t.head,to:F(t.head.line,n)}}return{from:t.from(),to:t.to()}})},deleteLine:function(e){return uo(e,function(t){return{from:F(t.from().line,0),to:G(e.doc,F(t.to().line+1,0))}})},delLineLeft:function(e){return uo(e,function(e){return{from:F(e.from().line,0),to:e.from()}})},delWrappedLineLeft:function(e){return uo(e,function(t){var n=e.charCoords(t.head,"div").top+5;return{from:e.coordsChar({left:0,top:n},"div"),to:t.from()}})},delWrappedLineRight:function(e){return uo(e,function(t){var n=e.charCoords(t.head,"div").top+5,r=e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div");return{from:t.from(),to:r}})},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(F(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(F(e.lastLine()))},goLineStart:function(e){return e.extendSelectionsBy(function(t){return ho(e,t.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(e){return e.extendSelectionsBy(function(t){return po(e,t.head)},{origin:"+move",bias:1})},goLineEnd:function(e){return e.extendSelectionsBy(function(t){return fo(e,t.head.line)},{origin:"+move",bias:-1})},goLineRight:function(e){return e.extendSelectionsBy(function(t){var n=e.charCoords(t.head,"div").top+5;return e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div")},zl)},goLineLeft:function(e){return e.extendSelectionsBy(function(t){var n=e.charCoords(t.head,"div").top+5;return e.coordsChar({left:0,top:n},"div")},zl)},goLineLeftSmart:function(e){return e.extendSelectionsBy(function(t){var n=e.charCoords(t.head,"div").top+5,r=e.coordsChar({left:0,top:n},"div");return r.ch<e.getLine(r.line).search(/\S/)?po(e,t.head):r},zl)},goLineUp:function(e){return e.moveV(-1,"line")},goLineDown:function(e){return e.moveV(1,"line")},goPageUp:function(e){return e.moveV(-1,"page")},goPageDown:function(e){return e.moveV(1,"page")},goCharLeft:function(e){return e.moveH(-1,"char")},goCharRight:function(e){return e.moveH(1,"char")},goColumnLeft:function(e){return e.moveH(-1,"column")},goColumnRight:function(e){return e.moveH(1,"column")},goWordLeft:function(e){return e.moveH(-1,"word")},goGroupRight:function(e){return e.moveH(1,"group")},goGroupLeft:function(e){return e.moveH(-1,"group")},goWordRight:function(e){return e.moveH(1,"word")},delCharBefore:function(e){return e.deleteH(-1,"char")},delCharAfter:function(e){return e.deleteH(1,"char")},delWordBefore:function(e){return e.deleteH(-1,"word")},delWordAfter:function(e){return e.deleteH(1,"word")},delGroupBefore:function(e){return e.deleteH(-1,"group")},delGroupAfter:function(e){return e.deleteH(1,"group")},indentAuto:function(e){return e.indentSelection("smart")},indentMore:function(e){return e.indentSelection("add")},indentLess:function(e){return e.indentSelection("subtract")},insertTab:function(e){return e.replaceSelection("\t")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),r=e.options.tabSize,i=0;i<n.length;i++){var o=n[i].from(),l=h(e.getLine(o.line),o.ch,r);t.push(p(r-l%r))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.execCommand("insertTab")},transposeChars:function(e){return fr(e,function(){for(var t=e.listSelections(),n=[],r=0;r<t.length;r++)if(t[r].empty()){var i=t[r].head,o=T(e.doc,i.line).text;if(o)if(i.ch==o.length&&(i=new F(i.line,i.ch-1)),i.ch>0)i=new F(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),F(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var l=T(e.doc,i.line-1).text;l&&(i=new F(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+l.charAt(l.length-1),F(i.line-1,l.length-1),i,"+transpose"))}n.push(new Cs(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){return fr(e,function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;r<t.length;r++)e.indentLine(t[r].from().line,null,!0);jn(e)})},openLine:function(e){return e.replaceSelection("\n","start")},toggleOverwrite:function(e){return e.toggleOverwrite()}},Is=new Dl,Rs=null,zs=function(e,t,n){this.time=e,this.pos=t,this.button=n};zs.prototype.compare=function(e,t,n){return this.time+400>e&&0==P(t,this.pos)&&n==this.button};var Bs,Us,Gs={toString:function(){return"CodeMirror.Init"}},Ks={},Vs={};Bo.defaults=Ks,Bo.optionHandlers=Vs;var _s=[];Bo.defineInitHook=function(e){return _s.push(e)};var js=null,Xs=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Dl,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};Xs.prototype.init=function(e){function t(e){if(!We(i,e)){if(i.somethingSelected())Ko({lineWise:!1,text:i.getSelections()}),"cut"==e.type&&i.replaceSelection("",null,"cut");else{if(!i.options.lineWiseCopyCut)return;var t=Xo(i);Ko({lineWise:!0,text:t.text}),"cut"==e.type&&i.operation(function(){i.setSelections(t.ranges,0,Il),i.replaceSelection("",null,"cut")})}if(e.clipboardData){e.clipboardData.clearData();var n=js.text.join("\n");if(e.clipboardData.setData("Text",n),e.clipboardData.getData("Text")==n)return void e.preventDefault()}var l=qo(),s=l.firstChild;i.display.lineSpace.insertBefore(l,i.display.lineSpace.firstChild),s.value=js.text.join("\n");var a=document.activeElement;Wl(s),setTimeout(function(){i.display.lineSpace.removeChild(l),a.focus(),a==o&&r.showPrimarySelection()},50)}}var n=this,r=this,i=r.cm,o=r.div=e.lineDiv;Yo(o,i.options.spellcheck),Yl(o,"paste",function(e){We(i,e)||_o(e,i)||fl<=11&&setTimeout(dr(i,function(){return n.updateFromDOM()}),20)}),Yl(o,"compositionstart",function(e){n.composing={data:e.data,done:!1}}),Yl(o,"compositionupdate",function(e){n.composing||(n.composing={data:e.data,done:!1})}),Yl(o,"compositionend",function(e){n.composing&&(e.data!=n.composing.data&&n.readFromDOMSoon(),n.composing.done=!0)}),Yl(o,"touchstart",function(){return r.forceCompositionEnd()}),Yl(o,"input",function(){n.composing||n.readFromDOMSoon()}),Yl(o,"copy",t),Yl(o,"cut",t)},Xs.prototype.prepareSelection=function(){var e=Nn(this.cm,!1);return e.focus=this.cm.state.focused,e},Xs.prototype.showSelection=function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Xs.prototype.showPrimarySelection=function(){var e=window.getSelection(),t=this.cm,n=t.doc.sel.primary(),r=n.from(),i=n.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||i.line<t.display.viewFrom)e.removeAllRanges();else{var o=nl(t,e.anchorNode,e.anchorOffset),l=nl(t,e.focusNode,e.focusOffset);if(!o||o.bad||!l||l.bad||0!=P(B(o,l),r)||0!=P(z(o,l),i)){var s=t.display.view,a=r.line>=t.display.viewFrom&&Qo(t,r)||{node:s[0].measure.map[2],offset:0},c=i.line<t.display.viewTo&&Qo(t,i);if(!c){var u=s[s.length-1].measure,h=u.maps?u.maps[u.maps.length-1]:u.map;c={node:h[h.length-1],offset:h[h.length-2]-h[h.length-3]}}if(a&&c){var f,d=e.rangeCount&&e.getRangeAt(0);try{f=Tl(a.node,a.offset,c.offset,c.node)}catch(e){}f&&(!sl&&t.state.focused?(e.collapse(a.node,a.offset),f.collapsed||(e.removeAllRanges(),e.addRange(f))):(e.removeAllRanges(),e.addRange(f)),d&&null==e.anchorNode?e.addRange(d):sl&&this.startGracePeriod()),this.rememberSelection()}else e.removeAllRanges()}}},Xs.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation(function(){return e.cm.curOp.selectionChanged=!0})},20)},Xs.prototype.showMultipleSelections=function(e){n(this.cm.display.cursorDiv,e.cursors),n(this.cm.display.selectionDiv,e.selection)},Xs.prototype.rememberSelection=function(){var e=window.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},Xs.prototype.selectionInEditor=function(){var e=window.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return o(this.div,t)},Xs.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Xs.prototype.blur=function(){this.div.blur()},Xs.prototype.getField=function(){return this.div},Xs.prototype.supportsTouch=function(){return!0},Xs.prototype.receivedFocus=function(){function e(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,e))}var t=this;this.selectionInEditor()?this.pollSelection():fr(this.cm,function(){return t.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,e)},Xs.prototype.selectionChanged=function(){var e=window.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},Xs.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var e=window.getSelection(),t=this.cm;if(xl&&gl&&this.cm.options.gutters.length&&Jo(e.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var n=nl(t,e.anchorNode,e.anchorOffset),r=nl(t,e.focusNode,e.focusOffset);n&&r&&fr(t,function(){bi(t.doc,zr(n,r),Il),(n.bad||r.bad)&&(t.curOp.selectionChanged=!0)})}}},Xs.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e=this.cm,t=e.display,n=e.doc.sel.primary(),r=n.from(),i=n.to();if(0==r.ch&&r.line>e.firstLine()&&(r=F(r.line-1,T(e.doc,r.line-1).length)),i.ch==T(e.doc,i.line).text.length&&i.line<e.lastLine()&&(i=F(i.line+1,0)),r.line<t.viewFrom||i.line>t.viewTo-1)return!1;var o,l,s;r.line==t.viewFrom||0==(o=kn(e,r.line))?(l=W(t.view[0].line),s=t.view[0].node):(l=W(t.view[o].line),s=t.view[o-1].node.nextSibling);var a,c,u=kn(e,i.line);if(u==t.view.length-1?(a=t.viewTo-1,c=t.lineDiv.lastChild):(a=W(t.view[u+1].line)-1,c=t.view[u+1].node.previousSibling),!s)return!1;for(var h=e.doc.splitLines(tl(e,s,c,l,a)),f=N(e.doc,F(l,0),F(a,T(e.doc,a).text.length));h.length>1&&f.length>1;)if(g(h)==g(f))h.pop(),f.pop(),a--;else{if(h[0]!=f[0])break;h.shift(),f.shift(),l++}for(var d=0,p=0,m=h[0],v=f[0],y=Math.min(m.length,v.length);d<y&&m.charCodeAt(d)==v.charCodeAt(d);)++d;for(var b=g(h),w=g(f),x=Math.min(b.length-(1==h.length?d:0),w.length-(1==f.length?d:0));p<x&&b.charCodeAt(b.length-p-1)==w.charCodeAt(w.length-p-1);)++p;if(1==h.length&&1==f.length&&l==r.line)for(;d&&d>r.ch&&b.charCodeAt(b.length-p-1)==w.charCodeAt(w.length-p-1);)d--,p++;h[h.length-1]=b.slice(0,b.length-p).replace(/^\u200b+/,""),h[0]=h[0].slice(d).replace(/\u200b+$/,"");var C=F(l,d),S=F(a,f.length?g(f).length-p:0);return h.length>1||h[0]||P(C,S)?(Fi(e.doc,h,C,S,"+input"),!0):void 0},Xs.prototype.ensurePolled=function(){this.forceCompositionEnd()},Xs.prototype.reset=function(){this.forceCompositionEnd()},Xs.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Xs.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80))},Xs.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||fr(this.cm,function(){return mr(e.cm)})},Xs.prototype.setUneditable=function(e){e.contentEditable="false"},Xs.prototype.onKeyPress=function(e){0!=e.charCode&&(e.preventDefault(),this.cm.isReadOnly()||dr(this.cm,Vo)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Xs.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},Xs.prototype.onContextMenu=function(){},Xs.prototype.resetPosition=function(){},Xs.prototype.needsContentAttribute=!0;var Ys=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new Dl,this.inaccurateSelection=!1,this.hasSelection=!1,this.composing=null};Ys.prototype.init=function(e){function t(e){if(!We(i,e)){if(i.somethingSelected())Ko({lineWise:!1,text:i.getSelections()}),r.inaccurateSelection&&(r.prevInput="",r.inaccurateSelection=!1,l.value=js.text.join("\n"),Wl(l));else{if(!i.options.lineWiseCopyCut)return;var t=Xo(i);Ko({lineWise:!0,text:t.text}),"cut"==e.type?i.setSelections(t.ranges,null,Il):(r.prevInput="",l.value=t.text.join("\n"),Wl(l))}"cut"==e.type&&(i.state.cutIncoming=!0)}}var n=this,r=this,i=this.cm,o=this.wrapper=qo(),l=this.textarea=o.firstChild;e.wrapper.insertBefore(o,e.wrapper.firstChild),wl&&(l.style.width="0px"),Yl(l,"input",function(){hl&&fl>=9&&n.hasSelection&&(n.hasSelection=null),r.poll()}),Yl(l,"paste",function(e){We(i,e)||_o(e,i)||(i.state.pasteIncoming=!0,r.fastPoll())}),Yl(l,"cut",t),Yl(l,"copy",t),Yl(e.scroller,"paste",function(t){zt(e,t)||We(i,t)||(i.state.pasteIncoming=!0,r.focus())}),Yl(e.lineSpace,"selectstart",function(t){zt(e,t)||Fe(t)}),Yl(l,"compositionstart",function(){var e=i.getCursor("from");r.composing&&r.composing.range.clear(),r.composing={start:e,range:i.markText(e,i.getCursor("to"),{className:"CodeMirror-composing"})}}),Yl(l,"compositionend",function(){r.composing&&(r.poll(),r.composing.range.clear(),r.composing=null)})},Ys.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=Nn(e);if(e.options.moveInputWithCursor){var i=fn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),l=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+l.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+l.left-o.left))}return r},Ys.prototype.showSelection=function(e){var t=this.cm.display;n(t.cursorDiv,e.cursors),n(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Ys.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t,n,r=this.cm,i=r.doc;if(r.somethingSelected()){this.prevInput="";var o=i.sel.primary(),l=(t=Ql&&(o.to().line-o.from().line>100||(n=r.getSelection()).length>1e3))?"-":n||r.getSelection();this.textarea.value=l,r.state.focused&&Wl(this.textarea),hl&&fl>=9&&(this.hasSelection=l)}else e||(this.prevInput=this.textarea.value="",hl&&fl>=9&&(this.hasSelection=null));this.inaccurateSelection=t}},Ys.prototype.getField=function(){return this.textarea},Ys.prototype.supportsTouch=function(){return!1},Ys.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!Cl||l()!=this.textarea))try{this.textarea.focus()}catch(e){}},Ys.prototype.blur=function(){this.textarea.blur()},Ys.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ys.prototype.receivedFocus=function(){this.slowPoll()},Ys.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},Ys.prototype.fastPoll=function(){function e(){n.poll()||t?(n.pollingFast=!1,n.slowPoll()):(t=!0,n.polling.set(60,e))}var t=!1,n=this;n.pollingFast=!0,n.polling.set(20,e)},Ys.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||Zl(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(hl&&fl>=9&&this.hasSelection===i||Sl&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r=""),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,s=Math.min(r.length,i.length);l<s&&r.charCodeAt(l)==i.charCodeAt(l);)++l;return fr(t,function(){Vo(t,i.slice(l),r.length-l,null,e.composing?"*compose":null),i.length>1e3||i.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Ys.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ys.prototype.onKeyPress=function(){hl&&fl>=9&&(this.hasSelection=null),this.fastPoll()},Ys.prototype.onContextMenu=function(e){function t(){if(null!=l.selectionStart){var e=i.somethingSelected(),t=""+(e?l.value:"");l.value="⇚",l.value=t,r.prevInput=e?"":"",l.selectionStart=1,l.selectionEnd=t.length,o.selForContextMenu=i.doc.sel}}function n(){if(r.contextMenuPending=!1,r.wrapper.style.cssText=u,l.style.cssText=c,hl&&fl<9&&o.scrollbars.setScrollTop(o.scroller.scrollTop=a),null!=l.selectionStart){(!hl||hl&&fl<9)&&t();var e=0,n=function(){o.selForContextMenu==i.doc.sel&&0==l.selectionStart&&l.selectionEnd>0&&""==r.prevInput?dr(i,Ti)(i):e++<10?o.detectingSelectAll=setTimeout(n,500):(o.selForContextMenu=null,o.input.reset())};o.detectingSelectAll=setTimeout(n,200)}}var r=this,i=r.cm,o=i.display,l=r.textarea,s=Mn(i,e),a=o.scroller.scrollTop;if(s&&!ml){i.options.resetSelectionOnContextMenu&&-1==i.doc.sel.contains(s)&&dr(i,bi)(i.doc,zr(s),Il);var c=l.style.cssText,u=r.wrapper.style.cssText;r.wrapper.style.cssText="position: absolute";var h=r.wrapper.getBoundingClientRect();l.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-h.top-5)+"px; left: "+(e.clientX-h.left-5)+"px;\n z-index: 1000; background: "+(hl?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var f;if(dl&&(f=window.scrollY),o.input.focus(),dl&&window.scrollTo(null,f),o.input.reset(),i.somethingSelected()||(l.value=r.prevInput=" "),r.contextMenuPending=!0,o.selForContextMenu=i.doc.sel,clearTimeout(o.detectingSelectAll),hl&&fl>=9&&t(),Ol){Re(e);var d=function(){Oe(window,"mouseup",d),setTimeout(n,20)};Yl(window,"mouseup",d)}else setTimeout(n,50)}},Ys.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e},Ys.prototype.setUneditable=function(){},Ys.prototype.needsContentAttribute=!1,function(e){function t(t,r,i,o){e.defaults[t]=r,i&&(n[t]=o?function(e,t,n){n!=Gs&&i(e,t,n)}:i)}var n=e.optionHandlers;e.defineOption=t,e.Init=Gs,t("value","",function(e,t){return e.setValue(t)},!0),t("mode",null,function(e,t){e.doc.modeOption=t,_r(e)},!0),t("indentUnit",2,_r,!0),t("indentWithTabs",!1),t("smartIndent",!0),t("tabSize",4,function(e){jr(e),ln(e),mr(e)},!0),t("lineSeparator",null,function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter(function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(F(r,o))}r++});for(var i=n.length-1;i>=0;i--)Fi(e.doc,t,n[i],F(n[i].line,n[i].ch+t.length))}}),t("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=Gs&&e.refresh()}),t("specialCharPlaceholder",dt,function(e){return e.refresh()},!0),t("electricChars",!0),t("inputStyle",Cl?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),t("spellcheck",!1,function(e,t){return e.getInputField().spellcheck=t},!0),t("rtlMoveVisually",!Ml),t("wholeLineUpdateBefore",!0),t("theme","default",function(e){Po(e),Io(e)},!0),t("keyMap","default",function(e,t,n){var r=co(t),i=n!=Gs&&co(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)}),t("extraKeys",null),t("configureMouse",null),t("lineWrapping",!1,zo,!0),t("gutters",[],function(e){Er(e.options),Io(e)},!0),t("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?Cn(e.display)+"px":"0",e.refresh()},!0),t("coverGutterNextToScrollbar",!1,function(e){return tr(e)},!0),t("scrollbarStyle","native",function(e){rr(e),tr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),t("lineNumbers",!1,function(e){Er(e.options),Io(e)},!0),t("firstLineNumber",1,Io,!0),t("lineNumberFormatter",function(e){return e},Io,!0),t("showCursorWhenSelecting",!1,Tn,!0),t("resetSelectionOnContextMenu",!0),t("lineWiseCopyCut",!0),t("pasteLinesPerSelection",!0),t("readOnly",!1,function(e,t){"nocursor"==t&&(Fn(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),t("disableInput",!1,function(e,t){t||e.display.input.reset()},!0),t("dragDrop",!0,Ro),t("allowDropFileTypes",null),t("cursorBlinkRate",530),t("cursorScrollMargin",0),t("cursorHeight",1,Tn,!0),t("singleCursorHeightPerLine",!0,Tn,!0),t("workTime",100),t("workDelay",100),t("flattenSpans",!0,jr,!0),t("addModeClass",!1,jr,!0),t("pollInterval",100),t("undoDepth",200,function(e,t){return e.doc.history.undoDepth=t}),t("historyEventDelay",1250),t("viewportMargin",10,function(e){return e.refresh()},!0),t("maxHighlightLength",1e4,jr,!0),t("moveInputWithCursor",!0,function(e,t){t||e.display.input.resetPosition()}),t("tabindex",null,function(e,t){return e.display.input.getField().tabIndex=t||""}),t("autofocus",null),t("direction","ltr",function(e,t){return e.doc.setDirection(t)},!0)}(Bo),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var r=this.options,i=r[e];r[e]==n&&"mode"!=e||(r[e]=n,t.hasOwnProperty(e)&&dr(this,t[e])(this,n,i),Ae(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](co(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;n<t.length;++n)if(t[n]==e||t[n].name==e)return t.splice(n,1),!0},addOverlay:pr(function(t,n){var r=t.token?t:e.getMode(this.options,t);if(r.startState)throw new Error("Overlays may not be stateful.");v(this.state.overlays,{mode:r,modeSpec:t,opaque:n&&n.opaque,priority:n&&n.priority||0},function(e){return e.priority}),this.state.modeGen++,mr(this)}),removeOverlay:pr(function(e){for(var t=this,n=this.state.overlays,r=0;r<n.length;++r){var i=n[r].modeSpec;if(i==e||"string"==typeof e&&i.name==e)return n.splice(r,1),t.state.modeGen++,void mr(t)}}),indentLine:pr(function(e,t,n){"string"!=typeof t&&"number"!=typeof t&&(t=null==t?this.options.smartIndent?"smart":"prev":t?"add":"subtract"),H(this.doc,e)&&Go(this,e,t,n)}),indentSelection:pr(function(e){for(var t=this,n=this.doc.sel.ranges,r=-1,i=0;i<n.length;i++){var o=n[i];if(o.empty())o.head.line>r&&(Go(t,o.head.line,e,!0),r=o.head.line,i==t.doc.sel.primIndex&&jn(t));else{var l=o.from(),s=o.to(),a=Math.max(r,l.line);r=Math.min(t.lastLine(),s.line-(s.ch?0:1))+1;for(var c=a;c<r;++c)Go(t,c,e);var u=t.doc.sel.ranges;0==l.ch&&n.length==u.length&&u[i].from().ch>0&&gi(t.doc,i,new Cs(l,u[i].to()),Il)}}}),getTokenAt:function(e,t){return it(this,e,t)},getLineTokens:function(e,t){return it(this,F(e),t,!0)},getTokenTypeAt:function(e){e=G(this.doc,e);var t,n=Je(this,T(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var l=r+i>>1;if((l?n[2*l-1]:0)>=o)i=l;else{if(!(n[2*l+1]<o)){t=n[2*l+2];break}r=l+1}}var s=t?t.indexOf("overlay "):-1;return s<0?t:0==s?null:t.slice(0,s-1)},getModeAt:function(t){var n=this.doc.mode;return n.innerMode?e.innerMode(n,this.getTokenAt(t).state).mode:n},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var r=this,i=[];if(!n.hasOwnProperty(t))return i;var o=n[t],l=this.getModeAt(e);if("string"==typeof l[t])o[l[t]]&&i.push(o[l[t]]);else if(l[t])for(var s=0;s<l[t].length;s++){var a=o[l[t][s]];a&&i.push(a)}else l.helperType&&o[l.helperType]?i.push(o[l.helperType]):o[l.name]&&i.push(o[l.name]);for(var c=0;c<o._global.length;c++){var u=o._global[c];u.pred(l,r)&&-1==f(i,u.val)&&i.push(u.val)}return i},getStateAfter:function(e,t){var n=this.doc;return e=U(n,null==e?n.first+n.size-1:e),et(this,e+1,t).state},cursorCoords:function(e,t){var n,r=this.doc.sel.primary();return n=null==e?r.head:"object"==typeof e?G(this.doc,e):e?r.from():r.to(),fn(this,n,t||"page")},charCoords:function(e,t){return hn(this,G(this.doc,e),t||"page")},coordsChar:function(e,t){return e=un(this,e,t||"page"),gn(this,e.left,e.top)},lineAtHeight:function(e,t){return e=un(this,{top:e,left:0},t||"page").top,D(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t,n){var r,i=!1;if("number"==typeof e){var o=this.doc.first+this.doc.size-1;e<this.doc.first?e=this.doc.first:e>o&&(e=o,i=!0),r=T(this.doc,e)}else r=e;return cn(this,r,{top:0,left:0},t||"page",n||i).top+(i?this.doc.height-ye(r):0)},defaultTextHeight:function(){return bn(this.display)},defaultCharWidth:function(){return wn(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o=this.display,l=(e=fn(this,G(this.doc,e))).bottom,s=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),o.sizer.appendChild(t),"over"==r)l=e.top;else if("above"==r||"near"==r){var a=Math.max(o.wrapper.clientHeight,this.doc.height),c=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==r||e.bottom+t.offsetHeight>a)&&e.top>t.offsetHeight?l=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=a&&(l=e.bottom),s+t.offsetWidth>c&&(s=c-t.offsetWidth)}t.style.top=l+"px",t.style.left=t.style.right="","right"==i?(s=o.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?s=0:"middle"==i&&(s=(o.sizer.clientWidth-t.offsetWidth)/2),t.style.left=s+"px"),n&&Kn(this,{left:s,top:l,right:s+t.offsetWidth,bottom:l+t.offsetHeight})},triggerOnKeyDown:pr(wo),triggerOnKeyPress:pr(So),triggerOnKeyUp:Co,triggerOnMouseDown:pr(Mo),execCommand:function(e){if(Ps.hasOwnProperty(e))return Ps[e].call(null,this)},triggerElectric:pr(function(e){jo(this,e)}),findPosH:function(e,t,n,r){var i=this,o=1;t<0&&(o=-1,t=-t);for(var l=G(this.doc,e),s=0;s<t&&!(l=$o(i.doc,l,o,n,r)).hitSide;++s);return l},moveH:pr(function(e,t){var n=this;this.extendSelectionsBy(function(r){return n.display.shift||n.doc.extend||r.empty()?$o(n.doc,r.head,e,t,n.options.rtlMoveVisually):e<0?r.from():r.to()},zl)}),deleteH:pr(function(e,t){var n=this.doc.sel,r=this.doc;n.somethingSelected()?r.replaceSelection("",null,"+delete"):uo(this,function(n){var i=$o(r,n.head,e,t,!1);return e<0?{from:i,to:n.head}:{from:n.head,to:i}})}),findPosV:function(e,t,n,r){var i=this,o=1,l=r;t<0&&(o=-1,t=-t);for(var s=G(this.doc,e),a=0;a<t;++a){var c=fn(i,s,"div");if(null==l?l=c.left:c.left=l,(s=Zo(i,c,o,n)).hitSide)break}return s},moveV:pr(function(e,t){var n=this,r=this.doc,i=[],o=!this.display.shift&&!r.extend&&r.sel.somethingSelected();if(r.extendSelectionsBy(function(l){if(o)return e<0?l.from():l.to();var s=fn(n,l.head,"div");null!=l.goalColumn&&(s.left=l.goalColumn),i.push(s.left);var a=Zo(n,s,e,t);return"page"==t&&l==r.sel.primary()&&_n(n,hn(n,a,"div").top-s.top),a},zl),i.length)for(var l=0;l<r.sel.ranges.length;l++)r.sel.ranges[l].goalColumn=i[l]}),findWordAt:function(e){var t=T(this.doc,e.line).text,n=e.ch,r=e.ch;if(t){var i=this.getHelper(e,"wordChars");"before"!=e.sticky&&r!=t.length||!n?++r:--n;for(var o=t.charAt(n),l=x(o,i)?function(e){return x(e,i)}:/\s/.test(o)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&!x(e)};n>0&&l(t.charAt(n-1));)--n;for(;r<t.length&&l(t.charAt(r));)++r}return new Cs(F(e.line,n),F(e.line,r))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?s(this.display.cursorDiv,"CodeMirror-overwrite"):Al(this.display.cursorDiv,"CodeMirror-overwrite"),Ae(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==l()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:pr(function(e,t){Xn(this,e,t)}),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-Kt(this)-this.display.barHeight,width:e.scrollWidth-Kt(this)-this.display.barWidth,clientHeight:_t(this),clientWidth:Vt(this)}},scrollIntoView:pr(function(e,t){null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):"number"==typeof e?e={from:F(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line?Yn(this,e):$n(this,e.from,e.to,e.margin)}),setSize:pr(function(e,t){var n=this,r=function(e){return"number"==typeof e||/^\d+$/.test(String(e))?e+"px":e};null!=e&&(this.display.wrapper.style.width=r(e)),null!=t&&(this.display.wrapper.style.height=r(t)),this.options.lineWrapping&&on(this);var i=this.display.viewFrom;this.doc.iter(i,this.display.viewTo,function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){vr(n,i,"widget");break}++i}),this.curOp.forceUpdate=!0,Ae(this,"refresh",this)}),operation:function(e){return fr(this,e)},refresh:pr(function(){var e=this.display.cachedTextHeight;mr(this),this.curOp.forceUpdate=!0,ln(this),Xn(this,this.doc.scrollLeft,this.doc.scrollTop),Wr(this),(null==e||Math.abs(e-bn(this.display))>.5)&&Ln(this),Ae(this,"refresh",this)}),swapDoc:pr(function(e){var t=this.doc;return t.cm=null,$r(this,e),ln(this),this.display.input.reset(),Xn(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,Lt(this,"swapDoc",this,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}},Ee(e),e.registerHelper=function(t,r,i){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][r]=i},e.registerGlobalHelper=function(t,r,i,o){e.registerHelper(t,r,o),n[t]._global.push({pred:i,val:o})}}(Bo);var qs="iter insert remove copy getEditor constructor".split(" ");for(var $s in Ns.prototype)Ns.prototype.hasOwnProperty($s)&&f(qs,$s)<0&&(Bo.prototype[$s]=function(e){return function(){return e.apply(this.doc,arguments)}}(Ns.prototype[$s]));return Ee(Ns),Bo.inputStyles={textarea:Ys,contenteditable:Xs},Bo.defineMode=function(e){Bo.defaults.mode||"null"==e||(Bo.defaults.mode=e),Ve.apply(this,arguments)},Bo.defineMIME=_e,Bo.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),Bo.defineMIME("text/plain","null"),Bo.defineExtension=function(e,t){Bo.prototype[e]=t},Bo.defineDocExtension=function(e,t){Ns.prototype[e]=t},Bo.fromTextArea=il,function(e){e.off=Oe,e.on=Yl,e.wheelEventPixels=Pr,e.Doc=Ns,e.splitLines=$l,e.countColumn=h,e.findColumn=d,e.isWordChar=w,e.Pass=Pl,e.signal=Ae,e.Line=ss,e.changeEnd=Br,e.scrollbarModel=ms,e.Pos=F,e.cmpPos=P,e.modes=es,e.mimeModes=ts,e.resolveMode=je,e.getMode=Xe,e.modeExtensions=ns,e.extendMode=Ye,e.copyState=qe,e.startState=Ze,e.innerMode=$e,e.commands=Ps,e.keyMap=Fs,e.keyName=ao,e.isModifierKey=lo,e.lookupKey=oo,e.normalizeKeyMap=io,e.StringStream=rs,e.SharedTextMarker=ks,e.TextMarker=Ms,e.LineWidget=Ss,e.e_preventDefault=Fe,e.e_stopPropagation=Pe,e.e_stop=Re,e.addClass=s,e.contains=o,e.rmClass=Al,e.keyNames=Ws}(Bo),Bo.version="5.27.4",Bo}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){function t(e,t,r){var i=e.getLineHandle(t.line),o=t.ch-1,a=r&&r.afterCursor;null==a&&(a=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var c=!a&&o>=0&&s[i.text.charAt(o)]||s[i.text.charAt(++o)];if(!c)return null;var u=">"==c.charAt(1)?1:-1;if(r&&r.strict&&u>0!=(o==t.ch))return null;var h=e.getTokenTypeAt(l(t.line,o+1)),f=n(e,l(t.line,o+(u>0?1:0)),u,h||null,r);return null==f?null:{from:l(t.line,o),to:f&&f.pos,match:f&&f.ch==c.charAt(0),forward:u>0}}function n(e,t,n,r,i){for(var o=i&&i.maxScanLineLength||1e4,a=i&&i.maxScanLines||1e3,c=[],u=i&&i.bracketRegex?i.bracketRegex:/[(){}[\]]/,h=n>0?Math.min(t.line+a,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-a),f=t.line;f!=h;f+=n){var d=e.getLine(f);if(d){var p=n>0?0:d.length-1,g=n>0?d.length:-1;if(!(d.length>o))for(f==t.line&&(p=t.ch-(n<0?1:0));p!=g;p+=n){var m=d.charAt(p);if(u.test(m)&&(void 0===r||e.getTokenTypeAt(l(f,p+1))==r))if(">"==s[m].charAt(1)==n>0)c.push(m);else{if(!c.length)return{pos:l(f,p),ch:m};c.pop()}}}}return f-n!=(n>0?e.lastLine():e.firstLine())&&null}function r(e,n,r){for(var i=e.state.matchBrackets.maxHighlightLineLength||1e3,s=[],a=e.listSelections(),c=0;c<a.length;c++){var u=a[c].empty()&&t(e,a[c].head,r);if(u&&e.getLine(u.from.line).length<=i){var h=u.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";s.push(e.markText(u.from,l(u.from.line,u.from.ch+1),{className:h})),u.to&&e.getLine(u.to.line).length<=i&&s.push(e.markText(u.to,l(u.to.line,u.to.ch+1),{className:h}))}}if(s.length){o&&e.state.focused&&e.focus();var f=function(){e.operation(function(){for(var e=0;e<s.length;e++)s[e].clear()})};if(!n)return f;setTimeout(f,800)}}function i(e){e.operation(function(){a&&(a(),a=null),a=r(e,!1,e.state.matchBrackets)})}var o=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),l=e.Pos,s={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},a=null;e.defineOption("matchBrackets",!1,function(t,n,r){r&&r!=e.Init&&(t.off("cursorActivity",i),a&&(a(),a=null)),n&&(t.state.matchBrackets="object"==typeof n?n:{},t.on("cursorActivity",i))}),e.defineExtension("matchBrackets",function(){r(this,!0)}),e.defineExtension("findMatchingBracket",function(e,n,r){return(r||"boolean"==typeof n)&&(r?(r.strict=n,n=r):n=n?{strict:!0}:null),t(this,e,n)}),e.defineExtension("scanForBracket",function(e,t,r,i){return n(this,e,t,r,i)})}),function(){"use strict";function e(e){var t=e.getWrapperElement();e.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:t.style.width,height:t.style.height},t.style.width=t.style.height="",t.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",e.refresh()}function t(e){var t=e.getWrapperElement();t.className=t.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var n=e.state.fullScreenRestore;t.style.width=n.width,t.style.height=n.height,window.scrollTo(n.scrollLeft,n.scrollTop),e.refresh()}CodeMirror.defineOption("fullScreen",!1,function(n,r,i){i==CodeMirror.Init&&(i=!1),!i!=!r&&(r?e(n):t(n))})}(),function(){function e(e,t,n){var r;return r=e.getWrapperElement().appendChild(document.createElement("div")),r.className=n?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top",r.innerHTML=t,r}CodeMirror.defineExtension("openDialog",function(t,n,r){function i(){s||(s=!0,l.parentNode.removeChild(l))}var o,l=e(this,t,r&&r.bottom),s=!1,a=this,c=l.getElementsByTagName("input")[0];return c?(CodeMirror.on(c,"keydown",function(e){r&&r.onKeyDown&&r.onKeyDown(e,c.value,i)||13!=e.keyCode&&27!=e.keyCode||(CodeMirror.e_stop(e),i(),a.focus(),13==e.keyCode&&n(c.value))}),r&&r.onKeyUp&&CodeMirror.on(c,"keyup",function(e){r.onKeyUp(e,c.value,i)}),r&&r.value&&(c.value=r.value),c.focus(),CodeMirror.on(c,"blur",i)):(o=l.getElementsByTagName("button")[0])&&(CodeMirror.on(o,"click",function(){i(),a.focus()}),o.focus(),CodeMirror.on(o,"blur",i)),i}),CodeMirror.defineExtension("openConfirm",function(t,n,r){function i(){s||(s=!0,o.parentNode.removeChild(o),a.focus())}var o=e(this,t,r&&r.bottom),l=o.getElementsByTagName("button"),s=!1,a=this,c=1;l[0].focus();for(var u=0;u<l.length;++u){var h=l[u];!function(e){CodeMirror.on(h,"click",function(t){CodeMirror.e_preventDefault(t),i(),e&&e(a)})}(n[u]),CodeMirror.on(h,"blur",function(){--c,setTimeout(function(){c<=0&&i()},200)}),CodeMirror.on(h,"focus",function(){++c})}})}(),function(){function e(e,n,r,i){if(this.atOccurrence=!1,this.doc=e,null==i&&"string"==typeof n&&(i=!1),r=r?e.clipPos(r):t(0,0),this.pos={from:r,to:r},"string"!=typeof n)n.global||(n=new RegExp(n.source,n.ignoreCase?"ig":"g")),this.matches=function(r,i){if(r){n.lastIndex=0;for(var o,l,s=e.getLine(i.line).slice(0,i.ch),a=0;;){n.lastIndex=a;var c=n.exec(s);if(!c)break;if(o=c,l=o.index,(a=o.index+(o[0].length||1))==s.length)break}(u=o&&o[0].length||0)||(0==l&&0==s.length?o=void 0:l!=e.getLine(i.line).length&&u++)}else{n.lastIndex=i.ch;var s=e.getLine(i.line),u=(o=n.exec(s))&&o[0].length||0;(l=o&&o.index)+u==s.length||u||(u=1)}if(o&&u)return{from:t(i.line,l),to:t(i.line,l+u),match:o}};else{i&&(n=n.toLowerCase());var o=i?function(e){return e.toLowerCase()}:function(e){return e},l=n.split("\n");1==l.length?n.length?this.matches=function(r,i){var l,s=o(e.getLine(i.line)),a=n.length;if(r?i.ch>=a&&-1!=(l=s.lastIndexOf(n,i.ch-a)):-1!=(l=s.indexOf(n,i.ch)))return{from:t(i.line,l),to:t(i.line,l+a)}}:this.matches=function(){}:this.matches=function(n,r){var i=r.line,s=n?l.length-1:0,a=l[s],c=o(e.getLine(i)),u=n?c.indexOf(a)+a.length:c.lastIndexOf(a);if(!(n?u>r.ch||u!=a.length:u<r.ch||u!=c.length-a.length))for(;;){if(n?!i:i==e.lineCount()-1)return;if(c=o(e.getLine(i+=n?-1:1)),a=l[n?--s:++s],!(s>0&&s<l.length-1)){var h=n?c.lastIndexOf(a):c.indexOf(a)+a.length;if(n?h!=c.length-a.length:h!=a.length)return;var f=t(r.line,u),d=t(i,h);return{from:n?d:f,to:n?f:d}}if(c!=a)return}}}}var t=CodeMirror.Pos;e.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(e){function n(e){var n=t(e,0);return r.pos={from:n,to:n},r.atOccurrence=!1,!1}for(var r=this,i=this.doc.clipPos(e?this.pos.from:this.pos.to);;){if(this.pos=this.matches(e,i))return this.pos.from&&this.pos.to||console.log(this.matches,this.pos),this.atOccurrence=!0,this.pos.match||!0;if(e){if(!i.line)return n(0);i=t(i.line-1,this.doc.getLine(i.line-1).length)}else{var o=this.doc.lineCount();if(i.line==o-1)return n(o);i=t(i.line+1,0)}}},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(e){if(this.atOccurrence){var n=CodeMirror.splitLines(e);this.doc.replaceRange(n,this.pos.from,this.pos.to),this.pos.to=t(this.pos.from.line+n.length-1,n[n.length-1].length+(1==n.length?this.pos.from.ch:0))}}},CodeMirror.defineExtension("getSearchCursor",function(t,n,r){return new e(this.doc,t,n,r)}),CodeMirror.defineDocExtension("getSearchCursor",function(t,n,r){return new e(this,t,n,r)})}(),function(){function e(e){return"string"==typeof e?{token:function(t){if(t.match(e))return"searching";t.next(),t.skipTo(e.charAt(0))||t.skipToEnd()}}:{token:function(t){if(t.match(e))return"searching";for(;!t.eol()&&(t.next(),!t.match(e,!1)););}}}function t(){this.posFrom=this.posTo=this.query=null,this.overlay=null}function n(e){return e.state.search||(e.state.search=new t)}function r(e,t,n){return e.getSearchCursor(t,n,"string"==typeof t&&t==t.toLowerCase())}function i(e,t,n,r){e.openDialog?e.openDialog(t,r):r(prompt(n,""))}function o(e,t,n,r){e.openConfirm?e.openConfirm(t,r):confirm(n)&&r[0]()}function l(e){var t=e.match(/^\/(.*)\/([a-z]*)$/);return t?new RegExp(t[1],-1==t[2].indexOf("i")?"":"i"):e}function s(t,r){var o=n(t);if(o.query)return a(t,r);i(t,h,"Search for:",function(n){t.operation(function(){n&&!o.query&&(o.query=l(n),t.removeOverlay(o.overlay),o.overlay=e(o.query),t.addOverlay(o.overlay),o.posFrom=o.posTo=t.getCursor(),a(t,r))})})}function a(e,t){e.operation(function(){var i=n(e),o=r(e,i.query,t?i.posFrom:i.posTo);(o.find(t)||(o=r(e,i.query,t?CodeMirror.Pos(e.lastLine()):CodeMirror.Pos(e.firstLine(),0))).find(t))&&(e.setSelection(o.from(),o.to()),e.scrollIntoView({from:o.from(),to:o.to()}),i.posFrom=o.from(),i.posTo=o.to())})}function c(e){e.operation(function(){var t=n(e);t.query&&(t.query=null,e.removeOverlay(t.overlay))})}function u(e,t){i(e,f,"Replace:",function(n){n&&(n=l(n),i(e,d,"Replace with:",function(i){if(t)e.operation(function(){for(var t=r(e,n);t.findNext();)if("string"!=typeof n){var o=e.getRange(t.from(),t.to()).match(n);t.replace(i.replace(/\$(\d)/,function(e,t){return o[t]}))}else t.replace(i)});else{c(e);var l=r(e,n,e.getCursor()),s=function(){var t,i=l.from();!(t=l.findNext())&&(l=r(e,n),!(t=l.findNext())||i&&l.from().line==i.line&&l.from().ch==i.ch)||(e.setSelection(l.from(),l.to()),e.scrollIntoView({from:l.from(),to:l.to()}),o(e,p,"Replace?",[function(){a(t)},s]))},a=function(e){l.replace("string"==typeof n?i:i.replace(/\$(\d)/,function(t,n){return e[n]})),s()};s()}}))})}var h='Search: <input type="text" style="width: 10em"/> <span style="color: #888">(Use /re/ syntax for regexp search)</span>',f='Replace: <input type="text" style="width: 10em"/> <span style="color: #888">(Use /re/ syntax for regexp search)</span>',d='With: <input type="text" style="width: 10em"/>',p="Replace? <button>Yes</button> <button>No</button> <button>Stop</button>";CodeMirror.commands.find=function(e){c(e),s(e)},CodeMirror.commands.findNext=s,CodeMirror.commands.findPrev=function(e){s(e,!0)},CodeMirror.commands.clearSearch=c,CodeMirror.commands.replace=u,CodeMirror.commands.replaceAll=function(e){u(e,!0)}}(),function(){"use strict";function e(e,t,n){this.cm=e,this.getHints=t,this.options=n,this.widget=this.onClose=null}function t(e,t,n,r){if(e.replaceRange(t,n,r),-1!==t.indexOf("(")&&-1!==t.indexOf(")"))(i={line:n.line,ch:n.ch}).ch=i.ch+t.indexOf("(")+1,(o={line:n.line,ch:n.ch}).ch=o.ch+t.lastIndexOf(")"),i.ch<o.ch&&e.setSelection(i,o);else if(-1!==t.indexOf("<")&&-1!==t.indexOf(">")){var i={line:n.line,ch:n.ch};i.ch=i.ch+t.indexOf("<")+1;var o={line:n.line,ch:n.ch};o.ch=o.ch+t.lastIndexOf(">"),i.ch<o.ch&&e.setSelection(i,o)}}function n(e){return"string"==typeof e?e:e.text}function r(e,t){function n(e,n){var o;o="string"!=typeof n?function(e){return n(e,t)}:r.hasOwnProperty(n)?r[n]:n,i[e]=o}var r={Up:function(){t.moveFocus(-1)},Down:function(){t.moveFocus(1)},PageUp:function(){t.moveFocus(1-t.menuSize(),!0)},PageDown:function(){t.moveFocus(t.menuSize()-1,!0)},Home:function(){t.setFocus(0)},End:function(){t.setFocus(t.length-1)},Enter:t.pick,Tab:t.pick,Esc:t.close},i=e.customKeys?{}:r;if(e.customKeys)for(var o in e.customKeys)e.customKeys.hasOwnProperty(o)&&n(o,e.customKeys[o]);if(e.extraKeys)for(var o in e.extraKeys)e.extraKeys.hasOwnProperty(o)&&n(o,e.extraKeys[o]);return i}function i(e,t){this.completion=e,this.data=t;var i=this,o=e.cm,l=e.options,s=this.hints=document.createElement("ul");s.className="CodeMirror-hints",this.selectedHint=0;for(var a=t.list,c=0;c<a.length;++c){var u=s.appendChild(document.createElement("li")),h=a[c],f="CodeMirror-hint"+(c?"":" CodeMirror-hint-active");null!=h.className&&(f=h.className+" "+f),u.className=f,h.render?h.render(u,t,h):u.appendChild(document.createTextNode(h.displayText||n(h))),u.hintId=c}var d=o.cursorCoords(!1!==l.alignWithWord?t.from:null),p=d.left,g=d.bottom,m=!0;s.style.left=p+"px",s.style.top=g+"px";var v=window.innerWidth||Math.max(document.body.offsetWidth,document.documentElement.offsetWidth),y=window.innerHeight||Math.max(document.body.offsetHeight,document.documentElement.offsetHeight);(l.container||document.body).appendChild(s);var b=s.getBoundingClientRect(),w=b.right-v,x=b.bottom-y;if(w>0&&(b.right-b.left>v&&(s.style.width=v-5+"px",w-=b.right-b.left-v),s.style.left=(p=d.left-w)+"px"),x>0){var C=b.bottom-b.top;b.top-(d.bottom-d.top)-C>0?(x=C+(d.bottom-d.top),m=!1):C>y&&(s.style.height=y-5+"px",x-=C-y),s.style.top=(g=d.bottom-x)+"px"}if(o.addKeyMap(this.keyMap=r(l,{moveFocus:function(e,t){i.changeActive(i.selectedHint+e,t)},setFocus:function(e){i.changeActive(e)},menuSize:function(){return i.screenAmount()},length:a.length,close:function(){e.close()},pick:function(){i.pick()}})),!1!==l.closeOnUnfocus){var S;o.on("blur",this.onBlur=function(){S=setTimeout(function(){e.close()},100)}),o.on("focus",this.onFocus=function(){clearTimeout(S)})}var L=o.getScrollInfo();return o.on("scroll",this.onScroll=function(){var t=o.getScrollInfo(),n=o.getWrapperElement().getBoundingClientRect(),r=g+L.top-t.top,i=r-(window.pageYOffset||(document.documentElement||document.body).scrollTop);if(m||(i+=s.offsetHeight),i<=n.top||i>=n.bottom)return e.close();s.style.top=r+"px",s.style.left=p+L.left-t.left+"px"}),CodeMirror.on(s,"dblclick",function(e){var t=e.target||e.srcElement;null!=t.hintId&&(i.changeActive(t.hintId),i.pick())}),CodeMirror.on(s,"click",function(e){var t=e.target||e.srcElement;null!=t.hintId&&i.changeActive(t.hintId)}),CodeMirror.on(s,"mousedown",function(){setTimeout(function(){o.focus()},20)}),CodeMirror.signal(t,"select",a[0],s.firstChild),!0}CodeMirror.showHint=function(t,n,r){if(!t.somethingSelected()&&(null==n&&(n=t.getHelper(t.getCursor(),"hint")),null!=n)){t.state.completionActive&&t.state.completionActive.close();var i=t.state.completionActive=new e(t,n,r||{});if(CodeMirror.signal(t,"startCompletion",t),!i.options.async)return i.showHints(n(t,i.options));n(t,function(e){i.showHints(e)},i.options)}},e.prototype={close:function(){this.cm.cache=null,this.active()&&(this.cm.state.completionActive=null,this.widget&&this.widget.close(),this.onClose&&this.onClose(),CodeMirror.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(e,r){var i=e.list[r];i.hint?i.hint(this.cm,e,i):t(this.cm,n(i),e.from,e.to),this.close()},showHints:function(e){if(!e||!e.list.length||!this.active())return this.close();0!=this.options.completeSingle&&1==e.list.length?this.pick(e,0):this.showWidget(e)},showWidget:function(e){function t(){l||(l=!0,a.close(),a.cm.off("cursorActivity",o),e&&CodeMirror.signal(e,"close"))}function n(){l||(CodeMirror.signal(e,"update"),a.options.async?a.getHints(a.cm,r,a.options):r(a.getHints(a.cm,a.options)))}function r(n){if(e=n,!l)return e&&e.list.length?void(a.widget=new i(a,e)):t()}function o(){clearTimeout(s);var e=a.cm.getCursor(),t=a.cm.getLine(e.line);e.line!=u.line||t.length-e.ch!=h-u.ch||e.ch<u.ch||a.cm.somethingSelected()||e.ch&&c.test(t.charAt(e.ch-1))?a.close():(s=setTimeout(n,170),a.widget&&a.widget.close())}this.widget=new i(this,e),CodeMirror.signal(e,"shown");var l,s=null,a=this,c=this.options.closeCharacters||/[\s()\[\]{};:>,]/,u=this.cm.getCursor(),h=this.cm.getLine(u.line).length;this.cm.on("cursorActivity",o),this.onClose=t}},i.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var e=this.completion.cm;!1!==this.completion.options.closeOnUnfocus&&(e.off("blur",this.onBlur),e.off("focus",this.onFocus)),e.off("scroll",this.onScroll)}},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(e,t){if(e>=this.data.list.length?e=t?this.data.list.length-1:0:e<0&&(e=t?0:this.data.list.length-1),this.selectedHint!=e){var n=this.hints.childNodes[this.selectedHint];n.className=n.className.replace(" CodeMirror-hint-active",""),(n=this.hints.childNodes[this.selectedHint=e]).className+=" CodeMirror-hint-active",n.offsetTop<this.hints.scrollTop?this.hints.scrollTop=n.offsetTop-3:n.offsetTop+n.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=n.offsetTop+n.offsetHeight-this.hints.clientHeight+3),CodeMirror.signal(this.data,"select",this.data.list[this.selectedHint],n)}},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}}}(),function(){function e(e,t,n){if(void 0!==e.cache&&null!==e.cache){var r=e.getCursor(),o=(a=t(e,r),e.indexFromPos(r)),l=e.cache;l.to={line:r.line,ch:r.ch};var s=[];if(null!=a&&"."!==a.string&&null!=l.initial_list&&l.initial_list.length>0){for(i=0;i<l.initial_list.length;i++)l.initial_list[i].substring(0,a.string.length).toLowerCase()===a.string.toLowerCase()&&s.push(l.initial_list[i]);l.list=s}return void n(l)}var r=e.getCursor(),a=t(e,r),o=e.indexFromPos(r);$.post("/service/codecompletion",{code:e.getValue(),position:o,language:$("#LanguageChoiceWrapper").val(),line:r.line,ch:r.ch},function(t){var r=e.getCursor(),l=jQuery.parseJSON(t),s={list:null===l?[]:l,initial_list:l,from:{line:r.line,ch:r.ch},to:{line:r.line,ch:r.ch}},r=e.getCursor(),a=e.getTokenAt(r);if(e.indexFromPos(r)<o)return s.list=[],s;var c=a.string.indexOf(".");a.string.length>1&&-1!==c&&(a.string=a.string.substring(c+1),a.start=a.start+c+1);var u=[];if(-1!=c){if(null!=a&&"."!==a.string&&null!=s.initial_list&&s.initial_list.length>0){for(i=0;i<s.initial_list.length;i++)s.initial_list[i].substring(0,a.string.length).toLowerCase()===a.string.toLowerCase()&&u.push(s.initial_list[i]);s.list=u}1==s.list.length&&s.list.push(" ")}else if(null!=a&&null!=s.initial_list&&s.initial_list.length>0){for(i=0;i<s.initial_list.length;i++)u.push(s.initial_list[i]);s.list=u,1==s.list.length&&s.list.push(" ")}if(-1!=c)"."===a.string&&(s.list=null===s.initial_list?[]:s.initial_list),s.from={line:r.line,ch:"."===a.string?a.start+1:a.start},s.to={line:r.line,ch:a.end};else{var h=e.getValue().split("\n")[r.line],f=0;for(i=r.ch-1;i>=0;i--)if("."==h[i]||">"==h[i]||" "==h[i]||":"==h[i]||"\t"==h[i]||"="==h[i]||"!"==h[i]||"+"==h[i]||"-"==h[i]||"*"==h[i]||"&"==h[i]||"|"==h[i]||"<"==h[i]||"/"==h[i]){f=i+1;break}s.from={line:r.line,ch:f},s.to={line:r.line,ch:a.end}}s.list.sort(),e.cache=s,n(s)},"text")}function t(t,n){return e(t,function(e,t){return e.getTokenAt(t)},n)}CodeMirror.csharpHint=t,CodeMirror.registerHelper("hint","csharp",t)}(); </script> <script type="text/javascript"> //<![CDATA[ var has_changes = false; var GlobalEditor; $(document).ready(function () { $('#delete_link').on('click', function () { var a = confirm('Are you sure?'); if (a) { window.location = "https://rextester.com/delete/ERKJF75171"; } }); $("#Input_label").click(function() { $("#Input").toggle(); if($("#Expand_input_sign").text() == "-") { $("#Expand_input_sign").text("+"); $("#Expand_input_text").text("Show input"); } else { $("#Expand_input_sign").text("-"); $("#Expand_input_text").text("Hide input"); } }); $("#Input").bind('keydown', function (e) { var code = e.keyCode || e.which; if (code == 119 || code == 116) //F8 or F5 { e.preventDefault(); Run(); } }); $("#Help").click(function () { window.open("https://rextester.com/main/faq",'_blank'); }); $("#Full").click(function () { if(!GlobalEditor.hasFocus()) { GlobalEditor.focus() } GlobalEditor.setOption("fullScreen", !GlobalEditor.getOption("fullScreen")); }); $("#Save").click(function () { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Title:<br/><br/> <input style=\"border-style:solid;border-width:1px;border-color:#FF9900;\" size=\"70\" type=\"text\" id=\"titleInput\"/>" + "" + "<br/><br/> <input type=\"button\" id=\"OKButton\" value=\"Ok\"/> <span style=\"color:red\" id=\"titleError\"></span><br/><br/><br/></pre>"); $("#titleInput").focus(); $('html, body').animate({ scrollTop: $("#Run").offset().top }, 200); $("#OKButton").click(function() { if($("#titleInput").val().trim() == "") { $("#titleError").text("Title shouldn't be empty."); return; } if($("#titleInput").val().length > 100) { $("#titleError").text("Title shouldn't be longer than 100 characters."); return; } $("#Title").val($("#titleInput").val()); $("#Privacy").val($('input[name=privacyInput]:checked').val()); $("#PrivacyUsers").val($("#privacyUsersInput").val()); $("#SavedOutput").val($("#Result").text()); $("#WholeError").val($("#ErrorSpan").text()); $("#WholeWarning").val($("#WarningSpan").text()); $("#StatsToSave").val($("#Stats").text()); Save(1); }); }); $("#Wall").click(function () { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Title:<br/><br/> <input style=\"border-style:solid;border-width:1px;border-color:#FF9900;\" size=\"70\" type=\"text\" id=\"titleInput\"/> <br/><br/>" + "" + "<br/><br/><input type=\"button\" id=\"OKButton\" value=\"Ok\"/> <span style=\"color:red\" id=\"titleError\"></span><br/><br/><br/></pre>"); $("#titleInput").focus(); $('html, body').animate({ scrollTop: $("#Run").offset().top }, 200); $("#OKButton").click(function() { if($("#titleInput").val().trim() == "") { $("#titleError").text("Title shouldn't be empty."); return; } if($("#titleInput").val().length > 100) { $("#titleError").text("Title shouldn't be longer than 100 characters."); return; } $("#Title").val($("#titleInput").val()); $("#Privacy").val($('input[name=privacyInput]:checked').val()); $("#SavedOutput").val($("#Result").text()); $("#WholeError").val($("#ErrorSpan").text()); $("#WholeWarning").val($("#WarningSpan").text()); $("#StatsToSave").val($("#Stats").text()); Save(2); }); }); $("#Live").click(function () { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Live collaboration feature is for patrons only. Visit <a href=\"https://www.patreon.com/rextester\">https://www.patreon.com/rextester</a> for more information.</pre>"); return; $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Title:<br/><br/> <input style=\"border-style:solid;border-width:1px;border-color:#FF9900;\" size=\"70\" type=\"text\" id=\"titleInput\"/>"+ "" +"<br/><br/> <input type=\"button\" id=\"OKButton\" value=\"Ok\"/> <span style=\"color:red\" id=\"titleError\"></span><br/><br/><br/></pre>"); $("#titleInput").focus(); $('html, body').animate({ scrollTop: $("#Run").offset().top }, 200); $("#OKButton").click(function() { if($("#titleInput").val().trim() == "") { $("#titleError").text("Title shouldn't be empty."); return; } if($("#titleInput").val().length > 100) { $("#titleError").text("Title shouldn't be longer than 100 characters."); return; } $("#Title").val($("#titleInput").val()); $("#Privacy").val($('input[name=privacyInput]:checked').val()); $("#PrivacyUsers").val($("#privacyUsersInput").val()); $("#SavedOutput").val($("#Result").text()); $("#WholeError").val($("#ErrorSpan").text()); $("#WholeWarning").val($("#WarningSpan").text()); $("#StatsToSave").val($("#Stats").text()); Save(3); }); }); $("#Run").click(function () { Run(); }); $("#LanguageChoiceWrapper").change(function () { Reload(); }); $("#EditorChoiceWrapper").change(function () { Reload(); }); $("#LayoutChoiceWrapper").change(function () { Reload(); }); var AreYouSure = function() { if (!GlobalEditor.isClean()) { return confirm('Current changes will be lost, continue?'); } else { return true; } } function disableF5(e) { if ((e.which || e.keyCode) == 116 && !AreYouSure()) { e.preventDefault(); } }; $(document).bind("keydown", disableF5); var Reload = function () { if(!AreYouSure()) { $("#LanguageChoiceWrapper").val("1"); $("#EditorChoiceWrapper").val("1"); $("#LayoutChoiceWrapper").val("1"); return; } window.onbeforeunload = null; var act = ""; if ($("#LanguageChoiceWrapper").val() == 15) { act = "/l/nasm_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 1) { act = "/l/csharp_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 7) { act = "/l/cpp_online_compiler_gcc"; } else if ($("#LanguageChoiceWrapper").val() == 27) { act = "/l/cpp_online_compiler_clang"; } else if ($("#LanguageChoiceWrapper").val() == 28) { act = "/l/cpp_online_compiler_visual"; } else if ($("#LanguageChoiceWrapper").val() == 6) { act = "/l/c_online_compiler_gcc"; } else if ($("#LanguageChoiceWrapper").val() == 26) { act = "/l/c_online_compiler_clang"; } else if ($("#LanguageChoiceWrapper").val() == 29) { act = "/l/c_online_compiler_visual"; } else if ($("#LanguageChoiceWrapper").val() == 18) { act = "/l/common_lisp_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 30) { act = "/l/d_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 3) { act = "/l/fsharp_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 20) { act = "/l/go_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 11) { act = "/l/haskell_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 4) { act = "/l/java_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 17) { act = "/l/js_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 14) { act = "/l/lua_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 23) { act = "/l/nodejs_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 25) { act = "/l/octave_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 10) { act = "/l/objectivec_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 9) { act = "/l/pascal_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 13) { act = "/l/perl_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 8) { act = "/l/php_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 19) { act = "/l/prolog_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 5) { act = "/l/python_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 24) { act = "/l/python3_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 31) { act = "/l/r_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 12) { act = "/l/ruby_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 21) { act = "/l/scala_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 22) { act = "/l/scheme_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 16) { act = "/l/sql_server_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 33) { act = "/l/mysql_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 35) { act = "/l/oracle_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 34) { act = "/l/postgresql_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 32) { act = "/l/tcl_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 2) { act = "/l/visual_basic_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 36) { act = "/l/client_side"; } else if ($("#LanguageChoiceWrapper").val() == 37) { act = "/l/swift_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 38) { act = "/l/bash_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 39) { act = "/l/ada_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 40) { act = "/l/erlang_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 41) { act = "/l/elixir_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 42) { act = "/l/ocaml_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 43) { act = "/l/kotlin_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 44) { act = "/l/brainfuck_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 45) { act = "/l/fortran_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 46) { act = "/l/rust_online_compiler"; } else if ($("#LanguageChoiceWrapper").val() == 47) { act = "/l/clojure_online_compiler"; } else { act = "/l/csharp_online_compiler"; } $('#mainForm').attr('action', act); $("#Input").val(''); $("#SavedOutput").val(''); $("#WholeError").val(''); $("#WholeWarning").val(''); $("#StatsToSave").val(''); $("#Title").val(''); $("#mainForm").submit(); }; $.ajaxSetup({ timeout: 60000, error: function (request, status, err) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Error occurred ("+err+"). Try again later.</pre>"); } }); }); function Save(what) { $('html, body').animate({ scrollTop: $("#Link").offset().top }, 500); $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Saving...</pre>"); $("#Warning").replaceWith("<div id=\"Warning\"></div>"); $("#Error").replaceWith("<div id=\"Error\"></div>"); $("#Result").replaceWith("<pre id=\"Result\" class=\"resultarea\"></pre>"); $("#Files").replaceWith("<pre id=\"Files\"></pre>"); $("#Program").val(GlobalEditor.getValue()); var serializedData = $("#mainForm").serialize(); if(what == 1) { $.post('/rundotnet/save', serializedData, function (data) { var obj = jQuery.parseJSON(data); if (obj.NotLoggedIn == true) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Please <a href=\"https://rextester.com//login\">log in</a> first.</pre>"); return; } if (obj.Banned == true) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">You are not allowed to do this action.</pre>"); return; } if(obj.Errors != null) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\"></pre>"); $("#Error").replaceWith("<div id=\"Error\"><pre style=\"color: Red\" class=\"resultarea\">Error:</pre><pre id=\"ErrorSpan\" class=\"resultarea\"></pre></div>"); $("#ErrorSpan").text(obj.Errors.replace(/\r/g, "")); return; } has_changes = false; window.onbeforeunload = null; if(obj.Updated == true) $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Version created, updates saved</pre>"); else $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Permanent link: <a href=\""+obj.Url+"\">"+obj.Url+"</a></pre>"); }, 'text'); } else if(what == 2) { $.post('/rundotnet/saveonwall', serializedData, function (data) { var obj = jQuery.parseJSON(data); if (obj.NotLoggedIn == true) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Please <a href=\"https://rextester.com//login\">log in</a> first.</pre>"); return; } if (obj.Banned == true) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">You are not allowed to do this action.</pre>"); return; } if (obj.NotPatron == true) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">This feature is for patrons only. Visit <a href=\"https://www.patreon.com/rextester\">https://www.patreon.com/rextester</a> for more information.</pre>"); return; } if(obj.Errors != null) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\"></pre>"); $("#Error").replaceWith("<div id=\"Error\"><pre style=\"color: Red\" class=\"resultarea\">Error:</pre><pre id=\"ErrorSpan\" class=\"resultarea\"></pre></div>"); $("#ErrorSpan").text(obj.Errors.replace(/\r/g, "")); return; } $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">This snippet is on a wall, permanent link: <a href=\""+obj.Url+"\">"+obj.Url+"</a></pre>"); }, 'text'); } else if(what == 4) { $.post('/rundotnet/saveonpersonalwall', serializedData, function (data) { var obj = jQuery.parseJSON(data); if(obj.NotLoggedIn == true) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Please <a href=\"https://rextester.com//login\">log in</a> first.</pre>"); return; } if (obj.Banned == true) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">You are not allowed to do this action.</pre>"); return; } if (obj.Errors != null) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\"></pre>"); $("#Error").replaceWith("<div id=\"Error\"><pre style=\"color: Red\" class=\"resultarea\">Error:</pre><pre id=\"ErrorSpan\" class=\"resultarea\"></pre></div>"); $("#ErrorSpan").text(obj.Errors.replace(/\r/g, "")); return; } $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">This snippet is on a wall, permanent link: <a href=\""+obj.Url+"\">"+obj.Url+"</a></pre>"); }, 'text'); } else if(what == 3) { $.post('/rundotnet/savelive', serializedData, function (data) { var obj = jQuery.parseJSON(data); if(obj.Errors != null) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\"></pre>"); $("#Error").replaceWith("<div id=\"Error\"><pre style=\"color: Red\" class=\"resultarea\">Error:</pre><pre id=\"ErrorSpan\" class=\"resultarea\"></pre></div>"); $("#ErrorSpan").text(obj.Errors.replace(/\r/g, "")); return; } $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Permanent live session created at <a href=\""+obj.Url+"\">"+obj.Url+"</a>\nAnyone who has rights to visit this link can edit code and see changes that others make in real-time.</pre>"); }, 'text'); } }; function RunClientSide() { $('html, body').animate({ scrollTop: $("#Link").offset().top }, 500); $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\"></pre>"); $("#Warning").replaceWith("<div id=\"Warning\"></div>"); $("#Error").replaceWith("<div id=\"Error\"></div>"); $("#Program").val(GlobalEditor.getValue()); $("#ifr").replaceWith("<iframe style=\"width:100%;height:600px;\" name=\"ifr\" id=\"ifr\" frameBorder=\"0\" sandbox=\"allow-scripts allow-pointer-lock allow-same-origin allow-popups allow-modals allow-forms\" allowtransparency=\"true\"></iframe>"); var iframe = document.getElementById('ifr'); iframe = iframe.contentWindow || ( iframe.contentDocument.document || iframe.contentDocument); iframe.document.open(); iframe.document.write($("#Program").val()); iframe.document.close(); } function RunNonCS() { $('html, body').animate({ scrollTop: $("#Link").offset().top }, 500); $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\">Working...</pre>"); $("#Warning").replaceWith("<div id=\"Warning\"></div>"); $("#Error").replaceWith("<div id=\"Error\"></div>"); $("#Result").replaceWith("<pre id=\"Result\" class=\"resultarea\"></pre>"); $("#Files").replaceWith("<pre id=\"Files\"></pre>"); $("#Program").val(GlobalEditor.getValue()); var serializedData = $("#mainForm").serialize(); $.post('/rundotnet/Run', serializedData, function (data) { $("#Link").replaceWith("<pre id=\"Link\" class=\"resultarea\"></pre>"); var obj = jQuery.parseJSON(data); if(obj.Warnings != null) { $("#Warning").replaceWith("<div id=\"Warning\"><pre style=\"color: Orange\" class=\"resultarea\">Warning(s):</pre><pre id=\"WarningSpan\" class=\"resultarea\"></pre></div>"); $("#WarningSpan").text(obj.Warnings.replace(/\r/g, "")); } if(obj.Errors != null) { $("#Error").replaceWith("<div id=\"Error\"><pre style=\"color: Red\" class=\"resultarea\">Error(s)"+''+":</pre><pre id=\"ErrorSpan\" class=\"resultarea\"></pre></div>"); $("#ErrorSpan").text(obj.Errors.replace(/\r/g, "")); } if(obj.Result != null) $("#Result").text(obj.Result.replace(/\r/g, "")); if(obj.Files != null) { for (var key in obj.Files) { var img_div = $(document.createElement('div')); var img = $(document.createElement('img')); img.attr('src', "data:image/png;base64," + obj.Files[key]).height(600).width(700); img.appendTo(img_div); img_div.appendTo($('#Files')); } } $("#Stats").text(obj.Stats); $('html, body').animate({ scrollTop: $("#Run").offset().top }, 500); }, 'text'); } var total_runs = 0; function Run () { RunNonCS(); total_runs++; }; $('body').keypress(function(e){ if(String.fromCharCode( e.which ) == ':') { var cur = GlobalEditor.getCursor(); var ln = GlobalEditor.getValue().split("\n")[cur.line]; if(cur.ch > 0 && ln[cur.ch-1] == ':' ) { setTimeout(function() { CodeMirror.showHint(GlobalEditor, CodeMirror.hint.csharp, {async: true}); }, 100) } } if(String.fromCharCode( e.which ) == '>') { var cur = GlobalEditor.getCursor(); var ln = GlobalEditor.getValue().split("\n")[cur.line]; if(cur.ch > 0 && ln[cur.ch-1] == '-' ) { setTimeout(function() { CodeMirror.showHint(GlobalEditor, CodeMirror.hint.csharp, {async: true}); }, 100) } } if(String.fromCharCode( e.which ) == '.') { setTimeout(function() { CodeMirror.showHint(GlobalEditor, CodeMirror.hint.csharp, {async: true}); }, 100) } }); //]]> </script> <script type="text/javascript"> CodeMirror.defineMode("clike",function(e,t){function r(e,t){var r=e.next();if(h[r]){var a=h[r](e,t);if(!1!==a)return a}if('"'==r||"'"==r)return t.tokenize=n(r),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(r))return s=r,null;if(/\d/.test(r))return e.eatWhile(/[\w\.]/),"number";if("/"==r){if(e.eat("*"))return t.tokenize=o,o(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(y.test(r))return e.eatWhile(y),"operator";e.eatWhile(/[\w\$_]/);var l=e.current();return f.propertyIsEnumerable(l)?(m.propertyIsEnumerable(l)&&(s="newstatement"),"keyword"):g.propertyIsEnumerable(l)?(m.propertyIsEnumerable(l)&&(s="newstatement"),"builtin"):p.propertyIsEnumerable(l)?"atom":"variable"}function n(e){return function(t,r){for(var n,o=!1,a=!1;null!=(n=t.next());){if(n==e&&!o){a=!0;break}o=!o&&"\\"==n}return(a||!o&&!x)&&(r.tokenize=null),"string"}}function o(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=null;break}n="*"==r}return"comment"}function a(e,t,r,n,o){this.indented=e,this.column=t,this.type=r,this.align=n,this.prev=o}function l(e,t,r){var n=e.indented;return e.context&&"statement"==e.context.type&&(n=e.context.indented),e.context=new a(n,t,r,null,e.context)}function i(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}var s,c=e.indentUnit,u=t.statementIndentUnit||c,d=t.dontAlignCalls,f=t.keywords||{},g=t.builtin||{},m=t.blockKeywords||{},p=t.atoms||{},h=t.hooks||{},x=t.multiLineStrings,y=/[+\-*&%=<>!?|\/]/;return{startState:function(e){return{tokenize:null,context:new a((e||0)-c,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;s=null;var o=(t.tokenize||r)(e,t);if("comment"==o||"meta"==o)return o;if(null==n.align&&(n.align=!0),";"!=s&&":"!=s&&","!=s||"statement"!=n.type)if("{"==s)l(t,e.column(),"}");else if("["==s)l(t,e.column(),"]");else if("("==s)l(t,e.column(),")");else if("}"==s){for(;"statement"==n.type;)n=i(t);for("}"==n.type&&(n=i(t));"statement"==n.type;)n=i(t)}else s==n.type?i(t):(("}"==n.type||"top"==n.type)&&";"!=s||"statement"==n.type&&"newstatement"==s)&&l(t,e.column(),"statement");else i(t);return t.startOfLine=!1,o},indent:function(e,t){if(e.tokenize!=r&&null!=e.tokenize)return CodeMirror.Pass;var n=e.context,o=t&&t.charAt(0);"statement"==n.type&&"}"==o&&(n=n.prev);var a=o==n.type;return"statement"==n.type?n.indented+("{"==o?0:u):!n.align||d&&")"==n.type?")"!=n.type||a?n.indented+(a?0:c):n.indented+u:n.column+(a?0:1)},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}}),function(){function e(e){for(var t={},r=e.split(" "),n=0;n<r.length;++n)t[r[n]]=!0;return t}function t(e,r){if(!r.startOfLine)return!1;for(;;){if(!e.skipTo("\\")){e.skipToEnd(),r.tokenize=null;break}if(e.next(),e.eol()){r.tokenize=t;break}}return"meta"}function r(e,t){for(var r;null!=(r=e.next());)if('"'==r&&!e.eat('"')){t.tokenize=null;break}return"string"}function n(e,t){for(var r=0;r<e.length;++r)CodeMirror.defineMIME(e[r],t)}var o="auto if break int case long char register continue return default short do sizeof double static else struct entry switch extern typedef float union for unsigned goto while enum void const signed volatile";n(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:e(o),blockKeywords:e("case do else for if switch while struct"),atoms:e("null"),hooks:{"#":t}}),n(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:e(o+" asm dynamic_cast namespace reinterpret_cast try bool explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected wchar_t"),blockKeywords:e("catch class do else finally for if struct switch try while"),atoms:e("true false null"),hooks:{"#":t}}),CodeMirror.defineMIME("text/x-java",{name:"clike",keywords:e("abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while"),blockKeywords:e("catch class do else finally for if switch try while"),atoms:e("true false null"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"}}}),CodeMirror.defineMIME("text/x-csharp",{name:"clike",keywords:e("abstract as 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"),blockKeywords:e("catch class do else finally for foreach if struct switch try while"),builtin:e("Boolean Byte Char DateTime DateTimeOffset Decimal Double Guid Int16 Int32 Int64 Object SByte Single String TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),atoms:e("true false null"),hooks:{"@":function(e,t){return e.eat('"')?(t.tokenize=r,r(e,t)):(e.eatWhile(/[\w\$_]/),"meta")}}}),CodeMirror.defineMIME("text/x-scala",{name:"clike",keywords:e("abstract case catch class def do else extends false final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try trye type val var while with yield _ : = => <- <: >: # @ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq 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"),blockKeywords:e("catch class do else finally for forSome if match switch try while"),atoms:e("true false null"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"}}}),CodeMirror.defineMIME("text/x-fsharp",{name:"clike",keywords:e("abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new not null of open or override private public rec return static struct then to true try type upcast use val void when while with yield asr land lor lsl lsr lxor mod sig"),atoms:e("true false null"),hooks:{"@":function(e,t){return e.eat('"')?(t.tokenize=r,r(e,t)):(e.eatWhile(/[\w\$_]/),"meta")}}}),n(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:e("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4 sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadowconst attribute uniform varying break continue discard return for while do if else struct in out inout"),blockKeywords:e("for while do if else struct"),builtin:e("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 smootstep 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:e("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_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragColor gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose 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"),hooks:{"#":t}})}(); </script> <script type="text/javascript"> //<![CDATA[ $(document).ready(function () { var editor = CodeMirror.fromTextArea(document.getElementById("Program"), { //matchBrackets : true, mode: "text/x-csharp", lineNumbers: true, indentUnit: 4, matchBrackets: true, theme: "ambiance", //onKeyEvent: keyEvent, extraKeys: { "Ctrl-Space" : "autocomplete", "Tab": "indentMore", "Shift-Tab": "indentLess", "F11": function(cm) { cm.setOption("fullScreen", !cm.getOption("fullScreen")); }, "Esc": function(cm) { if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false); }, "F8": function (cm) { if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false); Run(); } } }); GlobalEditor = editor; GlobalEditor.setSize(null, $(window).height() * 0.6); CodeMirror.commands.autocomplete = function (cm) { CodeMirror.showHint(cm, CodeMirror.hint.csharp, { async: true }); }; }); //]]> </script> <table style="width: 100%; padding-right: 2em"> <tbody><tr> <td align="right"> <a class="selectedlink" href="https://rextester.com/">Run Code</a> | <a class="notselectedlink" href="https://rextester.com/main">API</a> | <a class="notselectedlink" href="https://rextester.com/codewall">Code Wall</a> | <a class="notselectedlink" href="https://rextester.com/tester">Misc</a> | <a class="notselectedlink" href="https://groups.google.com/g/rextester">Feedback</a> | <a class="notselectedlink" href="https://rextester.com/login">Login</a> | <a href="https://rextester.com/theme" class="notselectedlink" title="Change theme">Theme</a> | <a class="notselectedlink" href="https://rextester.com/main/privacy" title="Privacy policy">Privacy</a> | <a href="https://www.patreon.com/rextester" class="notselectedlink" title="Patreon">Patreon</a> </td> </tr> </tbody></table> <table style="table-layout:fixed;width:100%;"> <tbody><tr> <td width="100%" valign="top"> <h2 style="margin-top:0.5em; margin-bottom:0.5em; word-wrap: break-word;" title="mvpmvpllapo">mvpmvpllapo</h2> <form action="/runcode" id="mainForm" method="post"> <div class="formcontent" style="padding-top: 0.5em; margin-bottom: 0.5em;"> <table style="width: 95%; margin:0;"> <tbody><tr> <td align="left"> <span style="margin: 0 0.5em 0 0">Language:</span><select class="langdropdown" id="LanguageChoiceWrapper" name="LanguageChoiceWrapper"><option value="39">Ada</option> <option value="15">Assembly</option> <option value="38">Bash</option> <option selected="selected" value="1">C#</option> <option value="7">C++ (gcc)</option> <option value="27">C++ (clang)</option> <option value="28">C++ (vc++)</option> <option value="6">C (gcc)</option> <option value="26">C (clang)</option> <option value="29">C (vc)</option> <option value="36">Client Side</option> <option value="47">Clojure</option> <option value="18">Common Lisp</option> <option value="30">D</option> <option value="41">Elixir</option> <option value="40">Erlang</option> <option value="3">F#</option> <option value="45">Fortran</option> <option value="20">Go</option> <option value="11">Haskell</option> <option value="4">Java</option> <option value="17">Javascript</option> <option value="43">Kotlin</option> <option value="14">Lua</option> <option value="33">MySql</option> <option value="23">Node.js</option> <option value="42">Ocaml</option> <option value="25">Octave</option> <option value="10">Objective-C</option> <option value="35">Oracle</option> <option value="9">Pascal</option> <option value="13">Perl</option> <option value="8">Php</option> <option value="34">PostgreSQL</option> <option value="19">Prolog</option> <option value="5">Python</option> <option value="24">Python 3</option> <option value="31">R</option> <option value="46">Rust</option> <option value="12">Ruby</option> <option value="21">Scala</option> <option value="22">Scheme</option> <option value="16">Sql Server</option> <option value="37">Swift</option> <option value="32">Tcl</option> <option value="2">Visual Basic</option> </select> <input type="hidden" name="EditorChoiceWrapper" id="EditorChoiceWrapper" value="1"> <span style="margin: 0 0.5em 0 0.5em">Layout:</span><select id="LayoutChoiceWrapper" name="LayoutChoiceWrapper"><option selected="selected" value="1">Vertical</option> <option value="2">Horizontal</option> </select> </td> </tr> </tbody></table> <div style="width: 95%; margin-top:1em;"> <textarea class="editor" spellcheck="false" cols="1000" id="Program" name="Program" rows="30" style="width: 100%; resize: none; display: none;">https://www.strava.com/athletes/147416991/posts/32502323 https://www.strava.com/athletes/147416991/posts/32502367 https://www.strava.com/athletes/147416991/posts/32502386 https://www.strava.com/athletes/147416991/posts/32502428 https://www.strava.com/athletes/147416991/posts/32502468 https://www.strava.com/athletes/147416991/posts/32502490 https://www.strava.com/athletes/147416991/posts/32502510 https://www.strava.com/athletes/147416991/posts/32502537 https://www.strava.com/athletes/147211394/posts/32502618 https://www.strava.com/athletes/147211394/posts/32502657 https://www.strava.com/athletes/147211394/posts/32502692 https://www.strava.com/athletes/147211394/posts/32502747 https://www.strava.com/athletes/147211394/posts/32502773 https://www.strava.com/athletes/147211394/posts/32502799 https://www.strava.com/athletes/147211394/posts/32502825 https://www.strava.com/athletes/147211394/posts/32502853 https://www.strava.com/athletes/147417333/posts/32500842 https://www.strava.com/athletes/147417333/posts/32500880 https://www.strava.com/athletes/147417333/posts/32500916 https://www.strava.com/athletes/147417333/posts/32500951 https://www.strava.com/athletes/147417333/posts/32501046 https://www.strava.com/athletes/147417333/posts/32501082 https://www.strava.com/athletes/147417333/posts/32501128 https://www.strava.com/athletes/147417333/posts/32501147 https://www.strava.com/athletes/147417333/posts/32501176 https://www.strava.com/clubs/1302359/posts/32501366 https://www.strava.com/clubs/1302244/posts/32500306 https://www.strava.com/clubs/1302244/posts/32500564 https://www.strava.com/clubs/1302244/posts/32500585 https://www.strava.com/clubs/1302244/posts/32500604 https://www.strava.com/clubs/1302244/posts/32498097 https://www.strava.com/clubs/1302244/posts/32499134 https://www.strava.com/clubs/1302244/posts/32500091 https://www.strava.com/clubs/1302244/posts/32500184 https://www.strava.com/clubs/1302244/posts/32500220 https://www.strava.com/clubs/1302244/posts/32500274 https://profile.hatena.ne.jp/myshowflikxz/ https://b.hatena.ne.jp/myshowflikxz/bookmark https://forum.daoyidh.com/topic/2233/starsvision https://toirscript.com/topic/6906/starsvision https://lessons.drawspace.com/post/772935/starsvisions https://ultrafighteronline.com/topic/7649/fhfhfhfufu https://nodebb.klangknecht.com/topic/3637/fhfhfhfhfyfyfyfy https://forum.realdigital.org/d/123750-fhfhfhfuufuf https://foro.ribbon.es/topic/21411/fhfhffufu https://herbalmeds-forum.biolife.com.my/d/146514-mvpmvpmvpallaa https://forum.instube.com/d/143145-mvpmvpmvpllao https://forum.thecodingcolosseum.com/topic/10494/mvpmvpmvpllapo https://web3devcommunity.com/topic/13278/mvpmvpmvpllapoo https://www.hebergementweb.org/threads/mvpmvpmvpllapo.1810238/ https://highdesertdeals.com/threads/mvpmvpmvpllapo.16199/ https://www.bitsdujour.com/profiles/X8WbSX https://solo.to/myshowflikxz https://hackmd.io/@megacinemaxhd/BJkntGkCA https://jsitor.com/LbZcr0VLC5 https://wokwi.com/projects/409837229528934401 https://jsfiddle.net/cindyyuvia/02ne4xdz/ https://jsbin.com/weworey/edit?html,output https://yamcode.com/uyiyuiyuiii https://pastebin.com/rbvsSUk3 https://pastelink.net/9pgz3yyg https://www.etextpad.com/gt8ajdkghr https://paiza.io/projects/0mVwllj75vwg9iAFvYRxEQ https://bitbin.it/QTYp355Q/ https://paste.intergen.online/view/eb363000 https://paste.ee/p/Ph9DO https://rentry.co/mdnhufbo https://onlinegdb.com/WG5V5dJzrK https://dictanote.co/n/1072012/ https://paste.feed-the-beast.com/view/f923ae59 </textarea><div class="CodeMirror cm-s-ambiance" style="height: 360px;"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;" tabindex="0"></textarea></div><div class="CodeMirror-vscrollbar" cm-not-content="true" style="display: block; bottom: 0px;"><div style="min-width: 1px; height: 1299px;"></div></div><div class="CodeMirror-hscrollbar" cm-not-content="true"><div style="height: 100%; min-height: 1px; width: 0px;"></div></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 32px; margin-bottom: -10px; border-right-width: 20px; min-height: 1299px; min-width: 511px; padding-right: 10px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"></div><div class="CodeMirror-measure"><pre class="CodeMirror-line" role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//herbalmeds-forum.biolife.com.my/d/146514-mvpmvpmvpallaa</span></span></pre></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-cursors"><div class="CodeMirror-cursor" style="left: 4px; top: 0px; height: 18.1875px;"> </div></div><div class="CodeMirror-code" role="presentation" style=""><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147416991/posts/32502323</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147416991/posts/32502367</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147416991/posts/32502386</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147416991/posts/32502428</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147416991/posts/32502468</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147416991/posts/32502490</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147416991/posts/32502510</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147416991/posts/32502537</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147211394/posts/32502618</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147211394/posts/32502657</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147211394/posts/32502692</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147211394/posts/32502747</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147211394/posts/32502773</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147211394/posts/32502799</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147211394/posts/32502825</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147211394/posts/32502853</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147417333/posts/32500842</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147417333/posts/32500880</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147417333/posts/32500916</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147417333/posts/32500951</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147417333/posts/32501046</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147417333/posts/32501082</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147417333/posts/32501128</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147417333/posts/32501147</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/athletes/147417333/posts/32501176</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/clubs/1302359/posts/32501366</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/clubs/1302244/posts/32500306</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/clubs/1302244/posts/32500564</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/clubs/1302244/posts/32500585</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">30</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/clubs/1302244/posts/32500604</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">31</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/clubs/1302244/posts/32498097</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">32</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/clubs/1302244/posts/32499134</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">33</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/clubs/1302244/posts/32500091</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">34</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/clubs/1302244/posts/32500184</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">35</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/clubs/1302244/posts/32500220</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">36</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//www.strava.com/clubs/1302244/posts/32500274</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -32px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">37</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">https</span>:<span class="cm-comment">//profile.hatena.ne.jp/myshowflikxz/</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 20px; width: 1px; border-bottom: 0px solid transparent; top: 1299px;"></div><div class="CodeMirror-gutters" style="height: 1319px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 31px;"></div></div></div></div> </div> <div style="width: 94.5%; margin-top:0.5em;margin-left:0;"> <textarea spellcheck="false" cols="1000" id="Input" name="Input" rows="5" class="input_box" style="width: 100%;display:none;"></textarea> </div> <table style="width: 95%; margin-top:0.5em;"> <tbody><tr> <td align="left"> <input id="Run" type="button" value="Run it (F8)"> <input style="margin-left:1em" id="Save" type="button" value="Fork it"> <input id="ShowWarnings" name="ShowWarnings" style="vertical-align: middle; margin-left: 1.5em;" type="checkbox" value="true"><input name="ShowWarnings" type="hidden" value="false"> <label for="ShowWarnings" style="margin-left: 0.2em;font-size: 0.85em;vertical-align: middle;">Show compiler warnings</label> <span id="Input_label" style="margin-left: 0.5em;font-size: 0.85em; cursor:pointer;">[ <span id="Expand_input_sign" style="font-size: 0.85em;">+</span> ] <span id="Expand_input_text">Show input</span></span> </td> <td align="right"> <input style="margin-left:1em;" id="Live" type="button" value="Live cooperation"> <input style="margin-left:1em;" id="Wall" type="button" value="Put on a wall"> <input title="Fullscreen (F11), Esc to exit" style="margin-left:1em;" id="Full" type="button" value="F"> <input style="margin-left:1em;" id="Help" type="button" value="?"> </td> </tr> <tr> <td colspan="2"> <div style="margin-top: 0.8em;font-size: 0.85em;" id="Stats">Compilation time: 0.32 sec, absolute service time: 0,41 sec </div> </td> </tr> </tbody></table> <input id="Privacy" name="Privacy" type="hidden"> <input id="PrivacyUsers" name="PrivacyUsers" type="hidden"> <input id="Title" name="Title" type="hidden"> <input id="SavedOutput" name="SavedOutput" type="hidden"> <input id="WholeError" name="WholeError" type="hidden"> <input id="WholeWarning" name="WholeWarning" type="hidden"> <input id="StatsToSave" name="StatsToSave" type="hidden"> <input id="CodeGuid" name="CodeGuid" type="hidden" value="ERKJF75171"> <input id="IsInEditMode" name="IsInEditMode" type="hidden" value="False"> <input id="IsLive" name="IsLive" type="hidden" value="False"> </div> <table style="width: 95%; margin-top:0;"> <tbody><tr> <td align="right"> <a class="smalllink" href="https://rextester.com/edit/ERKJF75171">edit mode</a> <span class="smalllink">|</span> <a class="smalllink" href="https://rextester.com/history/ERKJF75171">history</a> </td> </tr> </tbody></table> </form> <pre id="Link" class="resultarea"></pre> <div id="Warning"></div> <div id="Error"><pre style="color: Red" class="resultarea">Error(s):</pre><pre id="ErrorSpan" class="resultarea">Microsoft (R) Visual C# Compiler version 3.4.0-beta4-19562-05 (ff930dec) Copyright (C) Microsoft Corporation. All rights reserved. source.cs(1,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(2,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(3,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(4,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(5,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(6,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(7,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(8,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(9,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(10,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(11,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(12,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(13,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(14,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(15,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(16,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(17,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(18,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(19,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(20,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(21,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(22,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(23,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(24,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(25,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(26,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(27,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(28,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(29,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(30,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(31,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(32,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(33,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(34,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(35,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(36,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(37,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(38,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(39,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(40,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(41,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(42,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(43,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(44,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(45,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(46,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(47,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(48,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(49,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(50,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(51,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(52,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(53,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(54,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(55,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(56,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(57,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(58,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(59,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(60,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(61,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(62,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(63,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(64,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(65,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(66,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(67,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(68,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(69,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(70,6): error CS1022: Type or namespace definition, or end-of-file expected source.cs(1,1): error CS0116: A namespace cannot directly contain members such as fields or methods </pre></div> <pre id="Result" class="resultarea"></pre> <pre id="Files"></pre> </td> <td style="width:160px;padding-top:65px;" valign="top"> <!-- Rextester_S2S_Sidebar_ROS_ATF --> <div id="bsa-zone_1573677541197-0_123456"></div> <!-- /8691100/Rextester_S2S_Sidebar_ROS_ATF --> <script async="" type="text/javascript" src="//cdn.carbonads.com/carbon.js?serve=CWYIP27U&placement=rextestercom&format=responsive" ;="" id="_carbonads_js"></script><div id="carbonads"><div id="carbon-responsive"> <style> #carbon-responsive a,#carbon-responsive a:hover{color:var(--carbon-text-color)}#carbon-responsive *{margin:unset;padding:unset;line-height:unset}#carbon-responsive{--carbon-padding:1em;--carbon-max-char:20ch;--carbon-bg-primary:hsl(0, 0%, 98%);--carbon-bg-secondary:hsl(0, 0%, 92%);--carbon-text-color:hsl(0, 0%, 20%);font-size:14px;font-family:system-ui,sans-serif;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;min-inline-size:130px;max-inline-size:400px;gap:1ex;line-height:1.5}#carbon-responsive .carbon-responsive-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:var(--carbon-padding);gap:var(--carbon-padding);border:solid 1px var(--carbon-bg-secondary);background-color:var(--carbon-bg-primary)}#carbon-responsive a{text-decoration:none}#carbon-responsive .carbon-img{-webkit-box-flex:0;-ms-flex:0 0 130px;flex:0 0 130px}#carbon-responsive .carbon-img img{display:block}#carbon-responsive .carbon-text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:var(--carbon-max-char);flex-basis:var(--carbon-max-char);line-height:1.4;text-align:left}#carbon-responsive .carbon-poweredby{font-size:.85em;text-align:right;opacity:.5} </style> <style>#carbon-responsive .carbon-poweredby{color:#fff}</style> <div class="carbon-responsive-wrap"> <a href="https://srv.carbonads.net/ads/click/x/GTND427LCAYDLKJUC67LYKQUCVSIK2QIFT7I4Z3JCA7D527UC6AD42JKCABITKJECEYDK2JNCTSIKKQEC6SIEK3KC6SI627JC6YDEK3EHJNCLSIZ" class="carbon-img" target="_blank" rel="noopener sponsored"> <img src="https://srv.carbonads.net/static/30242/bb46a9232291705ecfb95dee61c32d2bcd1d53dc" alt="ads via Carbon" border="0" height="100" width="130" data-no-statview="no" style="max-width: 130px;"> </a> <a href="https://srv.carbonads.net/ads/click/x/GTND427LCAYDLKJUC67LYKQUCVSIK2QIFT7I4Z3JCA7D527UC6AD42JKCABITKJECEYDK2JNCTSIKKQEC6SIEK3KC6SI627JC6YDEK3EHJNCLSIZ" class="carbon-text" target="_blank" rel="noopener sponsored"> Servidores dedicados Eco: ¡el rendimiento al mejor precio! </a> </div> <a href="http://carbonads.net/?utm_source=rextestercom&utm_medium=ad_via_link&utm_campaign=in_unit&utm_term=carbon" class="carbon-poweredby" target="_blank" rel="noopener sponsored">ads via Carbon</a> <div class="carbon-pixels" style="display: none;"><img src="https://ovh.commander1.com/v3/?tcs=3810&rand=$CACHEBUSTER$&chn=display&src=buysellads&cty=ES&site_domain=https://www.ovhcloud.com/&cmp=es_int_2024_ovh_cloud_baremetal_ecowaterfall24_es_fy25_sale_acquisition&crtive=dimg_mpu_260x200_v1" border="0" height="1" width="1" alt="ads via Carbon" style="display: none;"></div></div></div> </td> </tr> </tbody></table> </body></html>