| (function(a){if(typeof exports=="object"&&typeof module=="object"){module.exports=a()}else{if(typeof define=="function"&&define.amd){return define([],a)}else{this.CodeMirror=a()}}})(function(){var d2=navigator.userAgent;var ed=navigator.platform;var co=/gecko\/\d/i.test(d2);var eO=/MSIE \d/.test(d2);var bJ=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(d2);var dL=eO||bJ;var k=dL&&(eO?document.documentMode||6:bJ[1]);var c0=/WebKit\//.test(d2);var dO=c0&&/Qt\/\d+\.\d+/.test(d2);var dd=/Chrome\//.test(d2);var d5=/Opera\//.test(d2);var aC=/Apple Computer/.test(navigator.vendor);var c7=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(d2);var fz=/PhantomJS/.test(d2);var e5=/AppleWebKit/.test(d2)&&/Mobile\/\w+/.test(d2);var ej=e5||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(d2);var b7=e5||/Mac/.test(ed);var aP=/win/i.test(ed);var aZ=d5&&d2.match(/Version\/(\d*\.\d*)/);if(aZ){aZ=Number(aZ[1])}if(aZ&&aZ>=15){d5=false;c0=true}var bQ=b7&&(dO||d5&&(aZ==null||aZ<12.11));var gf=co||(dL&&k>=9);var gi=false,a7=false;function H(gp,gr){if(!(this instanceof H)){return new H(gp,gr)}this.options=gr=gr?aN(gr):{};aN(e7,gr,false);ce(gr);var gv=gr.value;if(typeof gv=="string"){gv=new at(gv,gr.mode,null,gr.lineSeparator)}this.doc=gv;var gq=new H.inputStyles[gr.inputStyle](this);var gu=this.display=new eM(gp,gv,gq);gu.wrapper.CodeMirror=this;ef(this);cO(this);if(gr.lineWrapping){this.display.wrapper.className+=" CodeMirror-wrap"}if(gr.autofocus&&!ej){gu.input.focus()}aD(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:false,delayingBlurEvent:false,focused:false,suppressEdits:false,pasteIncoming:false,cutIncoming:false,selectingText:false,draggingText:false,highlight:new gn(),keySeq:null,specialChars:null};var go=this;if(dL&&k<11){setTimeout(function(){go.display.input.reset(true)},20)}fV(this);bj();cI(this);this.curOp.forceUpdate=true;ee(this,gv);if((gr.autofocus&&!ej)||go.hasFocus()){setTimeout(cv(cB,this),20)}else{aV(this)}for(var gt in bf){if(bf.hasOwnProperty(gt)){bf[gt](this,gr[gt],cc)}}d7(this);if(gr.finishInit){gr.finishInit(this)}for(var gs=0;gs<a8.length;++gs){a8[gs](this)}am(this);if(c0&&gr.lineWrapping&&getComputedStyle(gu.lineDiv).textRendering=="optimizelegibility"){gu.lineDiv.style.textRendering="auto"}}function eM(go,gq,gp){var gr=this;this.input=gp;gr.scrollbarFiller=f8("div",null,"CodeMirror-scrollbar-filler");gr.scrollbarFiller.setAttribute("cm-not-content","true");gr.gutterFiller=f8("div",null,"CodeMirror-gutter-filler");gr.gutterFiller.setAttribute("cm-not-content","true");gr.lineDiv=f8("div",null,"CodeMirror-code");gr.selectionDiv=f8("div",null,null,"position: relative; z-index: 1");gr.cursorDiv=f8("div",null,"CodeMirror-cursors");gr.measure=f8("div",null,"CodeMirror-measure");gr.lineMeasure=f8("div",null,"CodeMirror-measure");gr.lineSpace=f8("div",[gr.measure,gr.lineMeasure,gr.selectionDiv,gr.cursorDiv,gr.lineDiv],null,"position: relative; outline: none");gr.mover=f8("div",[f8("div",[gr.lineSpace],"CodeMirror-lines")],null,"position: relative");gr.sizer=f8("div",[gr.mover],"CodeMirror-sizer");gr.sizerWidth=null;gr.heightForcer=f8("div",null,null,"position: absolute; height: "+dK+"px; width: 1px;");gr.gutters=f8("div",null,"CodeMirror-gutters");gr.lineGutter=null;gr.scroller=f8("div",[gr.sizer,gr.heightForcer,gr.gutters],"CodeMirror-scroll");gr.scroller.setAttribute("tabIndex","-1");gr.wrapper=f8("div",[gr.scrollbarFiller,gr.gutterFiller,gr.scroller],"CodeMirror");if(dL&&k<8){gr.gutters.style.zIndex=-1;gr.scroller.style.paddingRight=0}if(!c0&&!(co&&ej)){gr.scroller.draggable=true}if(go){if(go.appendChild){go.appendChild(gr.wrapper)}else{go(gr.wrapper)}}gr.viewFrom=gr.viewTo=gq.first;gr.reportedViewFrom=gr.reportedViewTo=gq.first;gr.view=[];gr.renderedView=null;gr.externalMeasured=null;gr.viewOffset=0;gr.lastWrapHeight=gr.lastWrapWidth=0;gr.updateLineNumbers=null;gr.nativeBarWidth=gr.barHeight=gr.barWidth=0;gr.scrollbarsClipped=false;gr.lineNumWidth=gr.lineNumInnerWidth=gr.lineNumChars=null;gr.alignWidgets=false;gr.cachedCharWidth=gr.cachedTextHeight=gr.cachedPaddingH=null;gr.maxLine=null;gr.maxLineLength=0;gr.maxLineChanged=false;gr.wheelDX=gr.wheelDY=gr.wheelStartX=gr.wheelStartY=null;gr.shift=false;gr.selForContextMenu=null;gr.activeTouch=null;gp.init(gr)}function br(go){go.doc.mode=H.getMode(go.options,go.doc.modeOption);ep(go)}function ep(go){go.doc.iter(function(gp){if(gp.stateAfter){gp.stateAfter=null}if(gp.styles){gp.styles=null}});go.doc.frontier=go.doc.first;ei(go,100);go.state.modeGen++;if(go.curOp){ah(go)}}function eK(go){if(go.options.lineWrapping){fF(go.display.wrapper,"CodeMirror-wrap");go.display.sizer.style.minWidth="";go.display.sizerWidth=null}else{f(go.display.wrapper,"CodeMirror-wrap");h(go)}X(go);ah(go);ak(go);setTimeout(function(){e2(go)},100)}function be(go){var gq=aY(go.display),gp=go.options.lineWrapping;var gr=gp&&Math.max(5,go.display.scroller.clientWidth/dE(go.display)-3);return function(gt){if(fB(go.doc,gt)){return 0}var gs=0;if(gt.widgets){for(var gu=0;gu<gt.widgets.length;gu++){if(gt.widgets[gu].height){gs+=gt.widgets[gu].height}}}if(gp){return gs+(Math.ceil(gt.text.length/gr)||1)*gq}else{return gs+gq}}}function X(go){var gq=go.doc,gp=be(go);gq.iter(function(gr){var gs=gp(gr);if(gs!=gr.height){gb(gr,gs)}})}function cO(go){go.display.wrapper.className=go.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+go.options.theme.replace(/(^|\s)\s*/g," cm-s-");ak(go)}function dx(go){ef(go);ah(go);setTimeout(function(){eI(go)},20)}function ef(go){var gp=go.display.gutters,gt=go.options.gutters;d3(gp);for(var gq=0;gq<gt.length;++gq){var gr=gt[gq];var gs=gp.appendChild(f8("div",null,"CodeMirror-gutter "+gr));if(gr=="CodeMirror-linenumbers"){go.display.lineGutter=gs;gs.style.width=(go.display.lineNumWidth||1)+"px"}}gp.style.display=gq?"":"none";c4(go)}function c4(go){var gp=go.display.gutters.offsetWidth;go.display.sizer.style.marginLeft=gp+"px"}function er(gq){if(gq.height==0){return 0}var gp=gq.text.length,go,gs=gq;while(go=eS(gs)){var gr=go.find(0,true);gs=gr.from.line;gp+=gr.from.ch-gr.to.ch}gs=gq;while(go=ey(gs)){var gr=go.find(0,true);gp-=gs.text.length-gr.from.ch;gs=gr.to.line;gp+=gs.text.length-gr.to.ch}return gp}function h(go){var gq=go.display,gp=go.doc;gq.maxLine=fk(gp,gp.first);gq.maxLineLength=er(gq.maxLine);gq.maxLineChanged=true;gp.iter(function(gs){var gr=er(gs);if(gr>gq.maxLineLength){gq.maxLineLength=gr;gq.maxLine=gs}})}function ce(go){var gp=di(go.gutters,"CodeMirror-linenumbers");if(gp==-1&&go.lineNumbers){go.gutters=go.gutters.concat(["CodeMirror-linenumbers"])}else{if(gp>-1&&!go.lineNumbers){go.gutters=go.gutters.slice(0);go.gutters.splice(gp,1)}}}function dB(go){var gr=go.display,gq=gr.gutters.offsetWidth;var gp=Math.round(go.doc.height+bI(go.display));return{clientHeight:gr.scroller.clientHeight,viewHeight:gr.wrapper.clientHeight,scrollWidth:gr.scroller.scrollWidth,clientWidth:gr.scroller.clientWidth,viewWidth:gr.wrapper.clientWidth,barLeft:go.options.fixedGutter?gq:0,docHeight:gp,scrollHeight:gp+cT(go)+gr.barHeight,nativeBarWidth:gr.nativeBarWidth,gutterWidth:gq}}function dl(gq,gp,go){this.cm=go;var gr=this.vert=f8("div",[f8("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar");var gs=this.horiz=f8("div",[f8("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");gq(gr);gq(gs);bX(gr,"scroll",function(){if(gr.clientHeight){gp(gr.scrollTop,"vertical")}});bX(gs,"scroll",function(){if(gs.clientWidth){gp(gs.scrollLeft,"horizontal")}});this.checkedOverlay=false;if(dL&&k<8){this.horiz.style.minHeight=this.vert.style.minWidth="18px"}}dl.prototype=aN({update:function(gr){var gs=gr.scrollWidth>gr.clientWidth+1;var gq=gr.scrollHeight>gr.clientHeight+1;var gt=gr.nativeBarWidth;if(gq){this.vert.style.display="block";this.vert.style.bottom=gs?gt+"px":"0";var gp=gr.viewHeight-(gs?gt:0);this.vert.firstChild.style.height=Math.max(0,gr.scrollHeight-gr.clientHeight+gp)+"px"}else{this.vert.style.display="";this.vert.firstChild.style.height="0"}if(gs){this.horiz.style.display="block";this.horiz.style.right=gq?gt+"px":"0";this.horiz.style.left=gr.barLeft+"px";var go=gr.viewWidth-gr.barLeft-(gq?gt:0);this.horiz.firstChild.style.width=(gr.scrollWidth-gr.clientWidth+go)+"px"}else{this.horiz.style.display="";this.horiz.firstChild.style.width="0"}if(!this.checkedOverlay&&gr.clientHeight>0){if(gt==0){this.overlayHack()}this.checkedOverlay=true}return{right:gq?gt:0,bottom:gs?gt:0}},setScrollLeft:function(go){if(this.horiz.scrollLeft!=go){this.horiz.scrollLeft=go}},setScrollTop:function(go){if(this.vert.scrollTop!=go){this.vert.scrollTop=go}},overlayHack:function(){var go=b7&&!c7?"12px":"18px";this.horiz.style.minHeight=this.vert.style.minWidth=go;var gp=this;var gq=function(gr){if(L(gr)!=gp.vert&&L(gr)!=gp.horiz){c2(gp.cm,ez)(gr)}};bX(this.vert,"mousedown",gq);bX(this.horiz,"mousedown",gq)},clear:function(){var go=this.horiz.parentNode;go.removeChild(this.horiz);go.removeChild(this.vert)}},dl.prototype);function e8(){}e8.prototype=aN({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},e8.prototype);H.scrollbarModel={"native":dl,"null":e8};function aD(go){if(go.display.scrollbars){go.display.scrollbars.clear();if(go.display.scrollbars.addClass){f(go.display.wrapper,go.display.scrollbars.addClass)}}go.display.scrollbars=new H.scrollbarModel[go.options.scrollbarStyle](function(gp){go.display.wrapper.insertBefore(gp,go.display.scrollbarFiller);bX(gp,"mousedown",function(){if(go.state.focused){setTimeout(function(){go.display.input.focus()},0)}});gp.setAttribute("cm-not-content","true")},function(gq,gp){if(gp=="horizontal"){bE(go,gq)}else{N(go,gq)}},go);if(go.display.scrollbars.addClass){fF(go.display.wrapper,go.display.scrollbars.addClass)}}function e2(gq,gs){if(!gs){gs=dB(gq)}var gp=gq.display.barWidth,go=gq.display.barHeight;aU(gq,gs);for(var gr=0;gr<4&&gp!=gq.display.barWidth||go!=gq.display.barHeight;gr++){if(gp!=gq.display.barWidth&&gq.options.lineWrapping){a9(gq)}aU(gq,dB(gq));gp=gq.display.barWidth;go=gq.display.barHeight}}function aU(go,gp){var gr=go.display;var gq=gr.scrollbars.update(gp);gr.sizer.style.paddingRight=(gr.barWidth=gq.right)+"px";gr.sizer.style.paddingBottom=(gr.barHeight=gq.bottom)+"px";if(gq.right&&gq.bottom){gr.scrollbarFiller.style.display="block";gr.scrollbarFiller.style.height=gq.bottom+"px";gr.scrollbarFiller.style.width=gq.right+"px"}else{gr.scrollbarFiller.style.display=""}if(gq.bottom&&go.options.coverGutterNextToScrollbar&&go.options.fixedGutter){gr.gutterFiller.style.display="block";gr.gutterFiller.style.height=gq.bottom+"px";gr.gutterFiller.style.width=gp.gutterWidth+"px"}else{gr.gutterFiller.style.display=""}}function b6(gr,gv,gq){var gs=gq&&gq.top!=null?Math.max(0,gq.top):gr.scroller.scrollTop;gs=Math.floor(gs-fd(gr));var go=gq&&gq.bottom!=null?gq.bottom:gs+gr.wrapper.clientHeight;var gt=bG(gv,gs),gu=bG(gv,go);if(gq&&gq.ensure){var gp=gq.ensure.from.line,gw=gq.ensure.to.line;if(gp<gt){gt=gp;gu=bG(gv,bM(fk(gv,gp))+gr.wrapper.clientHeight)}else{if(Math.min(gw,gv.lastLine())>=gu){gt=bG(gv,bM(fk(gv,gw))-gr.wrapper.clientHeight);gu=gw}}}return{from:gt,to:Math.max(gu,gt+1)}}function eI(gw){var gu=gw.display,gv=gu.view;if(!gu.alignWidgets&&(!gu.gutters.firstChild||!gw.options.fixedGutter)){return}var gs=dY(gu)-gu.scroller.scrollLeft+gw.doc.scrollLeft;var go=gu.gutters.offsetWidth,gp=gs+"px";for(var gr=0;gr<gv.length;gr++){if(!gv[gr].hidden){if(gw.options.fixedGutter&&gv[gr].gutter){gv[gr].gutter.style.left=gp}var gt=gv[gr].alignable;if(gt){for(var gq=0;gq<gt.length;gq++){gt[gq].style.left=gp}}}}if(gw.options.fixedGutter){gu.gutters.style.left=(gs+go)+"px"}}function d7(go){if(!go.options.lineNumbers){return false}var gt=go.doc,gp=ew(go.options,gt.first+gt.size-1),gs=go.display;if(gp.length!=gs.lineNumChars){var gu=gs.measure.appendChild(f8("div",[f8("div",gp)],"CodeMirror-linenumber CodeMirror-gutter-elt"));var gq=gu.firstChild.offsetWidth,gr=gu.offsetWidth-gq;gs.lineGutter.style.width="";gs.lineNumInnerWidth=Math.max(gq,gs.lineGutter.offsetWidth-gr)+1;gs.lineNumWidth=gs.lineNumInnerWidth+gr;gs.lineNumChars=gs.lineNumInnerWidth?gp.length:-1;gs.lineGutter.style.width=gs.lineNumWidth+"px";c4(go);return true}return false}function ew(go,gp){return String(go.lineNumberFormatter(gp+go.firstLineNumber))}function dY(go){return go.scroller.getBoundingClientRect().left-go.sizer.getBoundingClientRect().left}function aI(gp,go,gq){var gr=gp.display;this.viewport=go;this.visible=b6(gr,gp.doc,go);this.editorIsHidden=!gr.wrapper.offsetWidth;this.wrapperHeight=gr.wrapper.clientHeight;this.wrapperWidth=gr.wrapper.clientWidth;this.oldDisplayWidth=dm(gp);this.force=gq;this.dims=fi(gp);this.events=[]}aI.prototype.signal=function(gp,go){if(fn(gp,go)){this.events.push(arguments)}};aI.prototype.finish=function(){for(var go=0;go<this.events.length;go++){aE.apply(null,this.events[go])}};function J(go){var gp=go.display;if(!gp.scrollbarsClipped&&gp.scroller.offsetWidth){gp.nativeBarWidth=gp.scroller.offsetWidth-gp.scroller.clientWidth;gp.heightForcer.style.height=cT(go)+"px";gp.sizer.style.marginBottom=-gp.nativeBarWidth+"px";gp.sizer.style.borderRightWidth=cT(go)+"px";gp.scrollbarsClipped=true}}function B(gx,gr){var gs=gx.display,gw=gx.doc;if(gr.editorIsHidden){eB(gx);return false}if(!gr.force&&gr.visible.from>=gs.viewFrom&&gr.visible.to<=gs.viewTo&&(gs.updateLineNumbers==null||gs.updateLineNumbers>=gs.viewTo)&&gs.renderedView==gs.view&&dc(gx)==0){return false}if(d7(gx)){eB(gx);gr.dims=fi(gx)}var gq=gw.first+gw.size;var gu=Math.max(gr.visible.from-gx.options.viewportMargin,gw.first);var gv=Math.min(gq,gr.visible.to+gx.options.viewportMargin);if(gs.viewFrom<gu&&gu-gs.viewFrom<20){gu=Math.max(gw.first,gs.viewFrom)}if(gs.viewTo>gv&&gs.viewTo-gv<20){gv=Math.min(gq,gs.viewTo)}if(a7){gu=aW(gx.doc,gu);gv=d4(gx.doc,gv)}var gp=gu!=gs.viewFrom||gv!=gs.viewTo||gs.lastWrapHeight!=gr.wrapperHeight||gs.lastWrapWidth!=gr.wrapperWidth;cR(gx,gu,gv);gs.viewOffset=bM(fk(gx.doc,gs.viewFrom));gx.display.mover.style.top=gs.viewOffset+"px";var go=dc(gx);if(!gp&&go==0&&!gr.force&&gs.renderedView==gs.view&&(gs.updateLineNumbers==null||gs.updateLineNumbers>=gs.viewTo)){return false}var gt=dP();if(go>4){gs.lineDiv.style.display="none"}cm(gx,gs.updateLineNumbers,gr.dims);if(go>4){gs.lineDiv.style.display=""}gs.renderedView=gs.view;if(gt&&dP()!=gt&>.offsetHeight){gt.focus()}d3(gs.cursorDiv);d3(gs.selectionDiv);gs.gutters.style.height=gs.sizer.style.minHeight=0;if(gp){gs.lastWrapHeight=gr.wrapperHeight;gs.lastWrapWidth=gr.wrapperWidth;ei(gx,400)}gs.updateLineNumbers=null;return true}function cj(gp,gs){var go=gs.viewport;for(var gr=true;;gr=false){if(!gr||!gp.options.lineWrapping||gs.oldDisplayWidth==dm(gp)){if(go&&go.top!=null){go={top:Math.min(gp.doc.height+bI(gp.display)-cV(gp),go.top)}}gs.visible=b6(gp.display,gp.doc,go);if(gs.visible.from>=gp.display.viewFrom&&gs.visible.to<=gp.display.viewTo){break}}if(!B(gp,gs)){break}a9(gp);var gq=dB(gp);bC(gp);dA(gp,gq);e2(gp,gq)}gs.signal(gp,"update",gp);if(gp.display.viewFrom!=gp.display.reportedViewFrom||gp.display.viewTo!=gp.display.reportedViewTo){gs.signal(gp,"viewportChange",gp,gp.display.viewFrom,gp.display.viewTo);gp.display.reportedViewFrom=gp.display.viewFrom;gp.display.reportedViewTo=gp.display.viewTo}}function dU(gp,go){var gr=new aI(gp,go);if(B(gp,gr)){a9(gp);cj(gp,gr);var gq=dB(gp);bC(gp);dA(gp,gq);e2(gp,gq);gr.finish()}}function dA(go,gp){go.display.sizer.style.minHeight=gp.docHeight+"px";var gq=gp.docHeight+go.display.barHeight;go.display.heightForcer.style.top=gq+"px";go.display.gutters.style.height=Math.max(gq+cT(go),gp.clientHeight)+"px"}function a9(gv){var gt=gv.display;var gp=gt.lineDiv.offsetTop;for(var gq=0;gq<gt.view.length;gq++){var gw=gt.view[gq],gx;if(gw.hidden){continue}if(dL&&k<8){var gs=gw.node.offsetTop+gw.node.offsetHeight;gx=gs-gp;gp=gs}else{var gr=gw.node.getBoundingClientRect();gx=gr.bottom-gr.top}var gu=gw.line.height-gx;if(gx<2){gx=aY(gt)}if(gu>0.001||gu<-0.001){gb(gw.line,gx);cb(gw.line);if(gw.rest){for(var go=0;go<gw.rest.length;go++){cb(gw.rest[go])}}}}}function cb(go){if(go.widgets){for(var gp=0;gp<go.widgets.length;++gp){go.widgets[gp].height=go.widgets[gp].node.offsetHeight}}}function fi(go){var gt=go.display,gr={},gq={};var gs=gt.gutters.clientLeft;for(var gu=gt.gutters.firstChild,gp=0;gu;gu=gu.nextSibling,++gp){gr[go.options.gutters[gp]]=gu.offsetLeft+gu.clientLeft+gs;gq[go.options.gutters[gp]]=gu.clientWidth}return{fixedPos:dY(gt),gutterTotalWidth:gt.gutters.offsetWidth,gutterLeft:gr,gutterWidth:gq,wrapperWidth:gt.wrapper.clientWidth}}function cm(gz,gq,gy){var gv=gz.display,gB=gz.options.lineNumbers;var go=gv.lineDiv,gA=go.firstChild;function gu(gD){var gC=gD.nextSibling;if(c0&&b7&&gz.display.currentWheelTarget==gD){gD.style.display="none"}else{gD.parentNode.removeChild(gD)}return gC}var gw=gv.view,gt=gv.viewFrom;for(var gr=0;gr<gw.length;gr++){var gs=gw[gr];if(gs.hidden){}else{if(!gs.node||gs.node.parentNode!=go){var gp=aF(gz,gs,gt,gy);go.insertBefore(gp,gA)}else{while(gA!=gs.node){gA=gu(gA)}var gx=gB&&gq!=null&&gq<=gt&&gs.lineNumber;if(gs.changes){if(di(gs.changes,"gutter")>-1){gx=false}ab(gz,gs,gt,gy)}if(gx){d3(gs.lineNumber);gs.lineNumber.appendChild(document.createTextNode(ew(gz.options,gt)))}gA=gs.node.nextSibling}}gt+=gs.size}while(gA){gA=gu(gA)}}function ab(go,gq,gs,gt){for(var gp=0;gp<gq.changes.length;gp++){var gr=gq.changes[gp];if(gr=="text"){fq(go,gq)}else{if(gr=="gutter"){dg(go,gq,gs,gt)}else{if(gr=="class"){dH(gq)}else{if(gr=="widget"){ao(go,gq,gt)}}}}}gq.changes=null}function fM(go){if(go.node==go.text){go.node=f8("div",null,null,"position: relative");if(go.text.parentNode){go.text.parentNode.replaceChild(go.node,go.text)}go.node.appendChild(go.text);if(dL&&k<8){go.node.style.zIndex=2}}return go.node}function eA(gp){var go=gp.bgClass?gp.bgClass+" "+(gp.line.bgClass||""):gp.line.bgClass;if(go){go+=" CodeMirror-linebackground"}if(gp.background){if(go){gp.background.className=go}else{gp.background.parentNode.removeChild(gp.background);gp.background=null}}else{if(go){var gq=fM(gp);gp.background=gq.insertBefore(f8("div",null,go),gq.firstChild)}}}function dW(go,gp){var gq=go.display.externalMeasured;if(gq&&gq.line==gp.line){go.display.externalMeasured=null;gp.measure=gq.measure;return gq.built}return eV(go,gp)}function fq(go,gr){var gp=gr.text.className;var gq=dW(go,gr);if(gr.text==gr.node){gr.node=gq.pre}gr.text.parentNode.replaceChild(gq.pre,gr.text);gr.text=gq.pre;if(gq.bgClass!=gr.bgClass||gq.textClass!=gr.textClass){gr.bgClass=gq.bgClass;gr.textClass=gq.textClass;dH(gr)}else{if(gp){gr.text.className=gp}}}function dH(gp){eA(gp);if(gp.line.wrapClass){fM(gp).className=gp.line.wrapClass}else{if(gp.node!=gp.text){gp.node.className=""}}var go=gp.textClass?gp.textClass+" "+(gp.line.textClass||""):gp.line.textClass;gp.text.className=go||""}function dg(gw,gu,gt,gv){if(gu.gutter){gu.node.removeChild(gu.gutter);gu.gutter=null}if(gu.gutterBackground){gu.node.removeChild(gu.gutterBackground);gu.gutterBackground=null}if(gu.line.gutterClass){var gp=fM(gu);gu.gutterBackground=f8("div",null,"CodeMirror-gutter-background "+gu.line.gutterClass,"left: "+(gw.options.fixedGutter?gv.fixedPos:-gv.gutterTotalWidth)+"px; width: "+gv.gutterTotalWidth+"px");gp.insertBefore(gu.gutterBackground,gu.text)}var gr=gu.line.gutterMarkers;if(gw.options.lineNumbers||gr){var gp=fM(gu);var gs=gu.gutter=f8("div",null,"CodeMirror-gutter-wrapper","left: "+(gw.options.fixedGutter?gv.fixedPos:-gv.gutterTotalWidth)+"px");gw.display.input.setUneditable(gs);gp.insertBefore(gs,gu.text);if(gu.line.gutterClass){gs.className+=" "+gu.line.gutterClass}if(gw.options.lineNumbers&&(!gr||!gr["CodeMirror-linenumbers"])){gu.lineNumber=gs.appendChild(f8("div",ew(gw.options,gt),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+gv.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+gw.display.lineNumInnerWidth+"px"))}if(gr){for(var gq=0;gq<gw.options.gutters.length;++gq){var go=gw.options.gutters[gq],gx=gr.hasOwnProperty(go)&&gr[go];if(gx){gs.appendChild(f8("div",[gx],"CodeMirror-gutter-elt","left: "+gv.gutterLeft[go]+"px; width: "+gv.gutterWidth[go]+"px"))}}}}}function ao(go,gp,gs){if(gp.alignable){gp.alignable=null}for(var gr=gp.node.firstChild,gq;gr;gr=gq){var gq=gr.nextSibling;if(gr.className=="CodeMirror-linewidget"){gp.node.removeChild(gr)}}fy(go,gp,gs)}function aF(go,gq,gr,gs){var gp=dW(go,gq);gq.text=gq.node=gp.pre;if(gp.bgClass){gq.bgClass=gp.bgClass}if(gp.textClass){gq.textClass=gp.textClass}dH(gq);dg(go,gq,gr,gs);fy(go,gq,gs);return gq.node}function fy(go,gq,gr){gd(go,gq.line,gq,gr,true);if(gq.rest){for(var gp=0;gp<gq.rest.length;gp++){gd(go,gq.rest[gp],gq,gr,false)}}}function gd(gw,gx,gt,gv,gr){if(!gx.widgets){return}var go=fM(gt);for(var gq=0,gu=gx.widgets;gq<gu.length;++gq){var gs=gu[gq],gp=f8("div",[gs.node],"CodeMirror-linewidget");if(!gs.handleMouseEvents){gp.setAttribute("cm-ignore-events","true")}bF(gs,gp,gt,gv);gw.display.input.setUneditable(gp);if(gr&&gs.above){go.insertBefore(gp,gt.gutter||gt.text)}else{go.appendChild(gp)}ae(gs,"redraw")}}function bF(gr,gq,go,gs){if(gr.noHScroll){(go.alignable||(go.alignable=[])).push(gq);var gp=gs.wrapperWidth;gq.style.left=gs.fixedPos+"px";if(!gr.coverGutter){gp-=gs.gutterTotalWidth;gq.style.paddingLeft=gs.gutterTotalWidth+"px"}gq.style.width=gp+"px"}if(gr.coverGutter){gq.style.zIndex=5;gq.style.position="relative";if(!gr.noHScroll){gq.style.marginLeft=-gs.gutterTotalWidth+"px"}}}var W=H.Pos=function(go,gp){if(!(this instanceof W)){return new W(go,gp)}this.line=go;this.ch=gp};var cf=H.cmpPos=function(gp,go){return gp.line-go.line||gp.ch-go.ch};function ci(go){return W(go.line,go.ch)}function bx(gp,go){return cf(gp,go)<0?go:gp}function ar(gp,go){return cf(gp,go)<0?gp:go}function r(go){if(!go.state.focused){go.display.input.focus();cB(go)}}function aj(go){return go.options.readOnly||go.doc.cantEdit}var bm=null;function f4(gC,gs,gq,gp,gB){var gA=gC.doc;gC.display.shift=false;if(!gp){gp=gA.sel}var gr=gC.state.pasteIncoming||gB=="paste";var gv=gA.splitLines(gs),go=null;if(gr&&gp.ranges.length>1){if(bm&&bm.join("\n")==gs){if(gp.ranges.length%bm.length==0){go=[];for(var gt=0;gt<bm.length;gt++){go.push(gA.splitLines(bm[gt]))}}}else{if(gv.length==gp.ranges.length){go=bS(gv,function(gD){return[gD]})}}}for(var gt=gp.ranges.length-1;gt>=0;gt--){var gu=gp.ranges[gt];var gz=gu.from(),gy=gu.to();if(gu.empty()){if(gq&&gq>0){gz=W(gz.line,gz.ch-gq)}else{if(gC.state.overwrite&&!gr){gy=W(gy.line,Math.min(fk(gA,gy.line).text.length,gy.ch+fL(gv).length))}}}var gw=gC.curOp.updateInput;var gx={from:gz,to:gy,text:go?go[gt%go.length]:gv,origin:gB||(gr?"paste":gC.state.cutIncoming?"cut":"+input")};bg(gC.doc,gx);ae(gC,"inputRead",gC,gx)}if(gs&&!gr){f1(gC,gs)}fK(gC);gC.curOp.updateInput=gw;gC.curOp.typing=true;gC.state.pasteIncoming=gC.state.cutIncoming=false}function ba(gq,go){var gp=gq.clipboardData&&gq.clipboardData.getData("text/plain");if(gp){gq.preventDefault();if(!aj(go)&&!go.options.disableInput){cM(go,function(){f4(go,gp,0,null,"paste")})}return true}}function f1(go,gs){if(!go.options.electricChars||!go.options.smartIndent){return}var gt=go.doc.sel;for(var gr=gt.ranges.length-1;gr>=0;gr--){var gp=gt.ranges[gr];if(gp.head.ch>100||(gr&>.ranges[gr-1].head.line==gp.head.line)){continue}var gu=go.getModeAt(gp.head);var gv=false;if(gu.electricChars){for(var gq=0;gq<gu.electricChars.length;gq++){if(gs.indexOf(gu.electricChars.charAt(gq))>-1){gv=ad(go,gp.head.line,"smart");break}}}else{if(gu.electricInput){if(gu.electricInput.test(fk(go.doc,gp.head.line).text.slice(0,gp.head.ch))){gv=ad(go,gp.head.line,"smart")}}}if(gv){ae(go,"electricInput",go,gp.head.line)}}}function dk(go){var gt=[],gq=[];for(var gr=0;gr<go.doc.sel.ranges.length;gr++){var gp=go.doc.sel.ranges[gr].head.line;var gs={anchor:W(gp,0),head:W(gp+1,0)};gq.push(gs);gt.push(go.getRange(gs.anchor,gs.head))}return{text:gt,ranges:gq}}function fU(go){go.setAttribute("autocorrect","off");go.setAttribute("autocapitalize","off");go.setAttribute("spellcheck","false")}function Y(go){this.cm=go;this.prevInput="";this.pollingFast=false;this.polling=new gn();this.inaccurateSelection=false;this.hasSelection=false;this.composing=null}function aX(){var go=f8("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none");var gp=f8("div",[go],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");if(c0){go.style.width="1000px"}else{go.setAttribute("wrap","off")}if(e5){go.style.border="1px solid black"}fU(go);return gp}Y.prototype=aN({init:function(gq){var gp=this,go=this.cm;var gt=this.wrapper=aX();var gr=this.textarea=gt.firstChild;gq.wrapper.insertBefore(gt,gq.wrapper.firstChild);if(e5){gr.style.width="0px"}bX(gr,"input",function(){if(dL&&k>=9&&gp.hasSelection){gp.hasSelection=null}gp.poll()});bX(gr,"paste",function(gu){if(ba(gu,go)){return true}go.state.pasteIncoming=true;gp.fastPoll()});function gs(gv){if(go.somethingSelected()){bm=go.getSelections();if(gp.inaccurateSelection){gp.prevInput="";gp.inaccurateSelection=false;gr.value=bm.join("\n");dM(gr)}}else{if(!go.options.lineWiseCopyCut){return}else{var gu=dk(go);bm=gu.text;if(gv.type=="cut"){go.setSelections(gu.ranges,null,Z)}else{gp.prevInput="";gr.value=gu.text.join("\n");dM(gr)}}}if(gv.type=="cut"){go.state.cutIncoming=true}}bX(gr,"cut",gs);bX(gr,"copy",gs);bX(gq.scroller,"paste",function(gu){if(bb(gq,gu)){return}go.state.pasteIncoming=true;gp.focus()});bX(gq.lineSpace,"selectstart",function(gu){if(!bb(gq,gu)){cG(gu)}});bX(gr,"compositionstart",function(){var gu=go.getCursor("from");if(gp.composing){gp.composing.range.clear()}gp.composing={start:gu,range:go.markText(gu,go.getCursor("to"),{className:"CodeMirror-composing"})}});bX(gr,"compositionend",function(){if(gp.composing){gp.poll();gp.composing.range.clear();gp.composing=null}})},prepareSelection:function(){var gp=this.cm,gt=gp.display,gs=gp.doc;var go=fN(gp);if(gp.options.moveInputWithCursor){var gu=dV(gp,gs.sel.primary().head,"div");var gq=gt.wrapper.getBoundingClientRect(),gr=gt.lineDiv.getBoundingClientRect();go.teTop=Math.max(0,Math.min(gt.wrapper.clientHeight-10,gu.top+gr.top-gq.top));go.teLeft=Math.max(0,Math.min(gt.wrapper.clientWidth-10,gu.left+gr.left-gq.left))}return go},showSelection:function(gq){var go=this.cm,gp=go.display;bR(gp.cursorDiv,gq.cursors);bR(gp.selectionDiv,gq.selection);if(gq.teTop!=null){this.wrapper.style.top=gq.teTop+"px";this.wrapper.style.left=gq.teLeft+"px"}},reset:function(gs){if(this.contextMenuPending){return}var gp,gr,go=this.cm,gu=go.doc;if(go.somethingSelected()){this.prevInput="";var gq=gu.sel.primary();gp=da&&(gq.to().line-gq.from().line>100||(gr=go.getSelection()).length>1000);var gt=gp?"-":gr||go.getSelection();this.textarea.value=gt;if(go.state.focused){dM(this.textarea)}if(dL&&k>=9){this.hasSelection=gt}}else{if(!gs){this.prevInput=this.textarea.value="";if(dL&&k>=9){this.hasSelection=null}}}this.inaccurateSelection=gp},getField:function(){return this.textarea},supportsTouch:function(){return false},focus:function(){if(this.cm.options.readOnly!="nocursor"&&(!ej||dP()!=this.textarea)){try{this.textarea.focus()}catch(go){}}},blur:function(){this.textarea.blur()},resetPosition:function(){this.wrapper.style.top=this.wrapper.style.left=0},receivedFocus:function(){this.slowPoll()},slowPoll:function(){var go=this;if(go.pollingFast){return}go.polling.set(this.cm.options.pollInterval,function(){go.poll();if(go.cm.state.focused){go.slowPoll()}})},fastPoll:function(){var gp=false,go=this;go.pollingFast=true;function gq(){var gr=go.poll();if(!gr&&!gp){gp=true;go.polling.set(60,gq)}else{go.pollingFast=false;go.slowPoll()}}go.polling.set(20,gq)},poll:function(){var go=this.cm,gr=this.textarea,gs=this.prevInput;if(this.contextMenuPending||!go.state.focused||(bs(gr)&&!gs&&!this.composing)||aj(go)||go.options.disableInput||go.state.keySeq){return false}var gu=gr.value;if(gu==gs&&!go.somethingSelected()){return false}if(dL&&k>=9&&this.hasSelection===gu||b7&&/[\uf700-\uf7ff]/.test(gu)){go.display.input.reset();return false}if(go.doc.sel==go.display.selForContextMenu){var gt=gu.charCodeAt(0);if(gt==8203&&!gs){gs="\u200b"}if(gt==8666){this.reset();return this.cm.execCommand("undo")}}var gv=0,gp=Math.min(gs.length,gu.length);while(gv<gp&&gs.charCodeAt(gv)==gu.charCodeAt(gv)){++gv}var gq=this;cM(go,function(){f4(go,gu.slice(gv),gs.length-gv,null,gq.composing?"*compose":null);if(gu.length>1000||gu.indexOf("\n")>-1){gr.value=gq.prevInput=""}else{gq.prevInput=gu}if(gq.composing){gq.composing.range.clear();gq.composing.range=go.markText(gq.composing.start,go.getCursor("to"),{className:"CodeMirror-composing"})}});return true},ensurePolled:function(){if(this.pollingFast&&this.poll()){this.pollingFast=false}},onKeyPress:function(){if(dL&&k>=9){this.hasSelection=null}this.fastPoll()},onContextMenu:function(gt){var gy=this,gz=gy.cm,gv=gz.display,gp=gy.textarea;var gx=cn(gz,gt),go=gv.scroller.scrollTop;if(!gx||d5){return}var gs=gz.options.resetSelectionOnContextMenu;if(gs&&gz.doc.sel.contains(gx)==-1){c2(gz,bU)(gz.doc,eW(gx),Z)}var gu=gp.style.cssText;gy.wrapper.style.position="absolute";gp.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(gt.clientY-5)+"px; left: "+(gt.clientX-5)+"px; z-index: 1000; background: "+(dL?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";if(c0){var gA=window.scrollY}gv.input.focus();if(c0){window.scrollTo(null,gA)}gv.input.reset();if(!gz.somethingSelected()){gp.value=gy.prevInput=" "}gy.contextMenuPending=true;gv.selForContextMenu=gz.doc.sel;clearTimeout(gv.detectingSelectAll);function gr(){if(gp.selectionStart!=null){var gB=gz.somethingSelected();var gC="\u200b"+(gB?gp.value:"");gp.value="\u21da";gp.value=gC;gy.prevInput=gB?"":"\u200b";gp.selectionStart=1;gp.selectionEnd=gC.length;gv.selForContextMenu=gz.doc.sel}}function gw(){gy.contextMenuPending=false;gy.wrapper.style.position="relative";gp.style.cssText=gu;if(dL&&k<9){gv.scrollbars.setScrollTop(gv.scroller.scrollTop=go)}if(gp.selectionStart!=null){if(!dL||(dL&&k<9)){gr()}var gB=0,gC=function(){if(gv.selForContextMenu==gz.doc.sel&&gp.selectionStart==0&&gp.selectionEnd>0&&gy.prevInput=="\u200b"){c2(gz,eH.selectAll)(gz)}else{if(gB++<10){gv.detectingSelectAll=setTimeout(gC,500)}else{gv.input.reset()}}};gv.detectingSelectAll=setTimeout(gC,200)}}if(dL&&k>=9){gr()}if(gf){ev(gt);var gq=function(){eg(window,"mouseup",gq);setTimeout(gw,20)};bX(window,"mouseup",gq)}else{setTimeout(gw,50)}},readOnlyChanged:function(go){if(!go){this.reset()}},setUneditable:f0,needsContentAttribute:false},Y.prototype);function dw(go){this.cm=go;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new gn();this.gracePeriod=false}dw.prototype=aN({init:function(gr){var gq=this,go=gq.cm;var gs=gq.div=gr.lineDiv;fU(gs);bX(gs,"paste",function(gt){ba(gt,go)});bX(gs,"compositionstart",function(gx){var gw=gx.data;gq.composing={sel:go.doc.sel,data:gw,startData:gw};if(!gw){return}var gu=go.doc.sel.primary();var gt=go.getLine(gu.head.line);var gv=gt.indexOf(gw,Math.max(0,gu.head.ch-gw.length));if(gv>-1&&gv<=gu.head.ch){gq.composing.sel=eW(W(gu.head.line,gv),W(gu.head.line,gv+gw.length))}});bX(gs,"compositionupdate",function(gt){gq.composing.data=gt.data});bX(gs,"compositionend",function(gu){var gt=gq.composing;if(!gt){return}if(gu.data!=gt.startData&&!/\u200b/.test(gu.data)){gt.data=gu.data}setTimeout(function(){if(!gt.handled){gq.applyComposition(gt)}if(gq.composing==gt){gq.composing=null}},50)});bX(gs,"touchstart",function(){gq.forceCompositionEnd()});bX(gs,"input",function(){if(gq.composing){return}if(aj(go)||!gq.pollContent()){cM(gq.cm,function(){ah(go)})}});function gp(gw){if(go.somethingSelected()){bm=go.getSelections();if(gw.type=="cut"){go.replaceSelection("",null,"cut")}}else{if(!go.options.lineWiseCopyCut){return}else{var gu=dk(go);bm=gu.text;if(gw.type=="cut"){go.operation(function(){go.setSelections(gu.ranges,0,Z);go.replaceSelection("",null,"cut")})}}}if(gw.clipboardData&&!e5){gw.preventDefault();gw.clipboardData.clearData();gw.clipboardData.setData("text/plain",bm.join("\n"))}else{var gv=aX(),gx=gv.firstChild;go.display.lineSpace.insertBefore(gv,go.display.lineSpace.firstChild);gx.value=bm.join("\n");var gt=document.activeElement;dM(gx);setTimeout(function(){go.display.lineSpace.removeChild(gv);gt.focus()},50)}}bX(gs,"copy",gp);bX(gs,"cut",gp)},prepareSelection:function(){var go=fN(this.cm,false);go.focus=this.cm.state.focused;return go},showSelection:function(go){if(!go||!this.cm.display.view.length){return}if(go.focus){this.showPrimarySelection()}this.showMultipleSelections(go)},showPrimarySelection:function(){var gs=window.getSelection(),gv=this.cm.doc.sel.primary();var gt=az(this.cm,gs.anchorNode,gs.anchorOffset);var gx=az(this.cm,gs.focusNode,gs.focusOffset);if(gt&&!gt.bad&&gx&&!gx.bad&&cf(ar(gt,gx),gv.from())==0&&cf(bx(gt,gx),gv.to())==0){return}var gr=cz(this.cm,gv.from());var gw=cz(this.cm,gv.to());if(!gr&&!gw){return}var gz=this.cm.display.view;var gu=gs.rangeCount&&gs.getRangeAt(0);if(!gr){gr={node:gz[0].measure.map[2],offset:0}}else{if(!gw){var gq=gz[gz.length-1].measure;var gp=gq.maps?gq.maps[gq.maps.length-1]:gq.map;gw={node:gp[gp.length-1],offset:gp[gp.length-2]-gp[gp.length-3]}}}try{var go=cl(gr.node,gr.offset,gw.offset,gw.node)}catch(gy){}if(go){gs.removeAllRanges();gs.addRange(go);if(gu&&gs.anchorNode==null){gs.addRange(gu)}else{if(co){this.startGracePeriod()}}}this.rememberSelection()},startGracePeriod:function(){var go=this;clearTimeout(this.gracePeriod);this.gracePeriod=setTimeout(function(){go.gracePeriod=false;if(go.selectionChanged()){go.cm.operation(function(){go.cm.curOp.selectionChanged=true})}},20)},showMultipleSelections:function(go){bR(this.cm.display.cursorDiv,go.cursors);bR(this.cm.display.selectionDiv,go.selection)},rememberSelection:function(){var go=window.getSelection();this.lastAnchorNode=go.anchorNode;this.lastAnchorOffset=go.anchorOffset;this.lastFocusNode=go.focusNode;this.lastFocusOffset=go.focusOffset},selectionInEditor:function(){var gp=window.getSelection();if(!gp.rangeCount){return false}var go=gp.getRangeAt(0).commonAncestorContainer;return gg(this.div,go)},focus:function(){if(this.cm.options.readOnly!="nocursor"){this.div.focus()}},blur:function(){this.div.blur()},getField:function(){return this.div},supportsTouch:function(){return true},receivedFocus:function(){var go=this;if(this.selectionInEditor()){this.pollSelection()}else{cM(this.cm,function(){go.cm.curOp.selectionChanged=true})}function gp(){if(go.cm.state.focused){go.pollSelection();go.polling.set(go.cm.options.pollInterval,gp)}}this.polling.set(this.cm.options.pollInterval,gp)},selectionChanged:function(){var go=window.getSelection();return go.anchorNode!=this.lastAnchorNode||go.anchorOffset!=this.lastAnchorOffset||go.focusNode!=this.lastFocusNode||go.focusOffset!=this.lastFocusOffset},pollSelection:function(){if(!this.composing&&!this.gracePeriod&&this.selectionChanged()){var gr=window.getSelection(),go=this.cm;this.rememberSelection();var gp=az(go,gr.anchorNode,gr.anchorOffset);var gq=az(go,gr.focusNode,gr.focusOffset);if(gp&&gq){cM(go,function(){bU(go.doc,eW(gp,gq),Z);if(gp.bad||gq.bad){go.curOp.selectionChanged=true}})}}},pollContent:function(){var gy=this.cm,gI=gy.display,gG=gy.doc.sel.primary();var gH=gG.from(),gs=gG.to();if(gH.line<gI.viewFrom||gs.line>gI.viewTo-1){return false}var gv;if(gH.line==gI.viewFrom||(gv=ds(gy,gH.line))==0){var gt=bN(gI.view[0].line);var gx=gI.view[0].node}else{var gt=bN(gI.view[gv].line);var gx=gI.view[gv-1].node.nextSibling}var gF=ds(gy,gs.line);if(gF==gI.view.length-1){var gA=gI.viewTo-1;var gD=gI.lineDiv.lastChild}else{var gA=bN(gI.view[gF+1].line)-1;var gD=gI.view[gF+1].node.previousSibling}var gJ=gy.doc.splitLines(f5(gy,gx,gD,gt,gA));var gC=ga(gy.doc,W(gt,0),W(gA,fk(gy.doc,gA).text.length));while(gJ.length>1&&gC.length>1){if(fL(gJ)==fL(gC)){gJ.pop();gC.pop();gA--}else{if(gJ[0]==gC[0]){gJ.shift();gC.shift();gt++}else{break}}}var gE=0,gq=0;var gz=gJ[0],gp=gC[0],go=Math.min(gz.length,gp.length);while(gE<go&&gz.charCodeAt(gE)==gp.charCodeAt(gE)){++gE}var gw=fL(gJ),gK=fL(gC);var gr=Math.min(gw.length-(gJ.length==1?gE:0),gK.length-(gC.length==1?gE:0));while(gq<gr&&gw.charCodeAt(gw.length-gq-1)==gK.charCodeAt(gK.length-gq-1)){++gq}gJ[gJ.length-1]=gw.slice(0,gw.length-gq);gJ[0]=gJ[0].slice(gE);var gu=W(gt,gE);var gB=W(gA,gC.length?fL(gC).length-gq:0);if(gJ.length>1||gJ[0]||cf(gu,gB)){a1(gy.doc,gJ,gu,gB,"+input");return true}},ensurePolled:function(){this.forceCompositionEnd()},reset:function(){this.forceCompositionEnd()},forceCompositionEnd:function(){if(!this.composing||this.composing.handled){return}this.applyComposition(this.composing);this.composing.handled=true;this.div.blur();this.div.focus()},applyComposition:function(go){if(aj(this.cm)){c2(this.cm,ah)(this.cm)}else{if(go.data&&go.data!=go.startData){c2(this.cm,f4)(this.cm,go.data,0,go.sel)}}},setUneditable:function(go){go.contentEditable="false"},onKeyPress:function(go){go.preventDefault();if(!aj(this.cm)){c2(this.cm,f4)(this.cm,String.fromCharCode(go.charCode==null?go.keyCode:go.charCode),0)}},readOnlyChanged:function(go){this.div.contentEditable=String(go!="nocursor")},onContextMenu:f0,resetPosition:f0,needsContentAttribute:true},dw.prototype);function cz(gu,gs){var gt=fg(gu,gs.line);if(!gt||gt.hidden){return null}var gw=fk(gu.doc,gs.line);var gp=ct(gt,gw,gs.line);var gq=a(gw),gr="left";if(gq){var go=aG(gq,gs.ch);gr=go%2?"right":"left"}var gv=aL(gp.map,gs.ch,gr);gv.offset=gv.collapse=="right"?gv.end:gv.start;return gv}function ex(gp,go){if(go){gp.bad=true}return gp}function az(go,gr,gt){var gs;if(gr==go.display.lineDiv){gs=go.display.lineDiv.childNodes[gt];if(!gs){return ex(go.clipPos(W(go.display.viewTo-1)),true)}gr=null;gt=0}else{for(gs=gr;;gs=gs.parentNode){if(!gs||gs==go.display.lineDiv){return null}if(gs.parentNode&&gs.parentNode==go.display.lineDiv){break}}}for(var gq=0;gq<go.display.view.length;gq++){var gp=go.display.view[gq];if(gp.node==gs){return aa(gp,gr,gt)}}}function aa(gw,gs,gu){var gq=gw.text.firstChild,gr=false;if(!gs||!gg(gq,gs)){return ex(W(bN(gw.line),0),true)}if(gs==gq){gr=true;gs=gq.childNodes[gu];gu=0;if(!gs){var gC=gw.rest?fL(gw.rest):gw.line;return ex(W(bN(gC),gC.text.length),gr)}}var gt=gs.nodeType==3?gs:null,gA=gs;if(!gt&&gs.childNodes.length==1&&gs.firstChild.nodeType==3){gt=gs.firstChild;if(gu){gu=gt.nodeValue.length}}while(gA.parentNode!=gq){gA=gA.parentNode}var gp=gw.measure,gy=gp.maps;function gv(gF,gK,gH){for(var gJ=-1;gJ<(gy?gy.length:0);gJ++){var gE=gJ<0?gp.map:gy[gJ];for(var gI=0;gI<gE.length;gI+=3){var gG=gE[gI+2];if(gG==gF||gG==gK){var gL=bN(gJ<0?gw.line:gw.rest[gJ]);var gD=gE[gI]+gH;if(gH<0||gG!=gF){gD=gE[gI+(gH?1:0)]}return W(gL,gD)}}}}var gB=gv(gt,gA,gu);if(gB){return ex(gB,gr)}for(var go=gA.nextSibling,gx=gt?gt.nodeValue.length-gu:0;go;go=go.nextSibling){gB=gv(go,go.firstChild,0);if(gB){return ex(W(gB.line,gB.ch-gx),gr)}else{gx+=go.textContent.length}}for(var gz=gA.previousSibling,gx=gu;gz;gz=gz.previousSibling){gB=gv(gz,gz.firstChild,-1);if(gB){return ex(W(gB.line,gB.ch+gx),gr)}else{gx+=go.textContent.length}}}function f5(gw,gu,gv,gr,gp){var gx="",gq=false,go=gw.doc.lineSeparator();function gs(gy){return function(gz){return gz.id==gy}}function gt(gC){if(gC.nodeType==1){var gz=gC.getAttribute("cm-text");if(gz!=null){if(gz==""){gz=gC.textContent.replace(/\u200b/g,"")}gx+=gz;return}var gB=gC.getAttribute("cm-marker"),gy;if(gB){var gD=gw.findMarks(W(gr,0),W(gp+1,0),gs(+gB));if(gD.length&&(gy=gD[0].find())){gx+=ga(gw.doc,gy.from,gy.to).join(go)}return}if(gC.getAttribute("contenteditable")=="false"){return}for(var gA=0;gA<gC.childNodes.length;gA++){gt(gC.childNodes[gA])}if(/^(pre|div|p)$/i.test(gC.nodeName)){gq=true}}else{if(gC.nodeType==3){var gE=gC.nodeValue;if(!gE){return}if(gq){gx+=go;gq=false}gx+=gE}}}for(;;){gt(gu);if(gu==gv){break}gu=gu.nextSibling}return gx}H.inputStyles={textarea:Y,contenteditable:dw};function f9(go,gp){this.ranges=go;this.primIndex=gp}f9.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(go){if(go==this){return true}if(go.primIndex!=this.primIndex||go.ranges.length!=this.ranges.length){return false}for(var gq=0;gq<this.ranges.length;gq++){var gp=this.ranges[gq],gr=go.ranges[gq];if(cf(gp.anchor,gr.anchor)!=0||cf(gp.head,gr.head)!=0){return false}}return true},deepCopy:function(){for(var go=[],gp=0;gp<this.ranges.length;gp++){go[gp]=new dZ(ci(this.ranges[gp].anchor),ci(this.ranges[gp].head))}return new f9(go,this.primIndex)},somethingSelected:function(){for(var go=0;go<this.ranges.length;go++){if(!this.ranges[go].empty()){return true}}return false},contains:function(gr,go){if(!go){go=gr}for(var gq=0;gq<this.ranges.length;gq++){var gp=this.ranges[gq];if(cf(go,gp.from())>=0&&cf(gr,gp.to())<=0){return gq}}return -1}};function dZ(go,gp){this.anchor=go;this.head=gp}dZ.prototype={from:function(){return ar(this.anchor,this.head)},to:function(){return bx(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};function cw(go,gv){var gq=go[gv];go.sort(function(gy,gx){return cf(gy.from(),gx.from())});gv=di(go,gq);for(var gs=1;gs<go.length;gs++){var gw=go[gs],gp=go[gs-1];if(cf(gp.to(),gw.from())>=0){var gt=ar(gp.from(),gw.from()),gu=bx(gp.to(),gw.to());var gr=gp.empty()?gw.from()==gw.head:gp.from()==gp.head;if(gs<=gv){--gv}go.splice(--gs,2,new dZ(gr?gu:gt,gr?gt:gu))}}return new f9(go,gv)}function eW(go,gp){return new f9([new dZ(go,gp||go)],0)}function c5(go,gp){return Math.max(go.first,Math.min(gp,go.first+go.size-1))}function fO(gp,gq){if(gq.line<gp.first){return W(gp.first,0)}var go=gp.first+gp.size-1;if(gq.line>go){return W(go,fk(gp,go).text.length)}return fx(gq,fk(gp,gq.line).text.length)}function fx(gq,gp){var go=gq.ch;if(go==null||go>gp){return W(gq.line,gp)}else{if(go<0){return W(gq.line,0)}else{return gq}}}function b9(gp,go){return go>=gp.first&&go<gp.first+gp.size}function d1(gq,gr){for(var go=[],gp=0;gp<gr.length;gp++){go[gp]=fO(gq,gr[gp])}return go}function fA(gt,gp,gs,go){if(gt.cm&>.cm.display.shift||gt.extend){var gr=gp.anchor;if(go){var gq=cf(gs,gr)<0;if(gq!=(cf(go,gr)<0)){gr=gs;gs=go}else{if(gq!=(cf(gs,go)<0)){gs=go}}}return new dZ(gr,gs)}else{return new dZ(go||gs,gs)}}function f2(gr,gq,go,gp){bU(gr,new f9([fA(gr,gr.sel.primary(),gq,go)],0),gp)}function aw(gt,gs,gq){for(var gp=[],gr=0;gr<gt.sel.ranges.length;gr++){gp[gr]=fA(gt,gt.sel.ranges[gr],gs[gr],null)}var go=cw(gp,gt.sel.primIndex);bU(gt,go,gq)}function e(gs,gr,gp,gq){var go=gs.sel.ranges.slice(0);go[gr]=gp;bU(gs,cw(go,gs.sel.primIndex),gq)}function F(gr,gp,gq,go){bU(gr,eW(gp,gq),go)}function c(gq,go){var gp={ranges:go.ranges,update:function(gr){this.ranges=[];for(var gs=0;gs<gr.length;gs++){this.ranges[gs]=new dZ(fO(gq,gr[gs].anchor),fO(gq,gr[gs].head))}}};aE(gq,"beforeSelectionChange",gq,gp);if(gq.cm){aE(gq.cm,"beforeSelectionChange",gq.cm,gp)}if(gp.ranges!=go.ranges){return cw(gp.ranges,gp.ranges.length-1)}else{return go}}function fc(gs,gr,gp){var go=gs.history.done,gq=fL(go);if(gq&&gq.ranges){go[go.length-1]=gr;et(gs,gr,gp)}else{bU(gs,gr,gp)}}function bU(gq,gp,go){et(gq,gp,go);gh(gq,gq.sel,gq.cm?gq.cm.curOp.id:NaN,go)}function et(gr,gq,gp){if(fn(gr,"beforeSelectionChange")||gr.cm&&fn(gr.cm,"beforeSelectionChange")){gq=c(gr,gq)}var go=gp&&gp.bias||(cf(gq.primary().head,gr.sel.primary().head)<0?-1:1);c9(gr,n(gr,gq,go,true));if(!(gp&&gp.scroll===false)&&gr.cm){fK(gr.cm)}}function c9(gp,go){if(go.equals(gp.sel)){return}gp.sel=go;if(gp.cm){gp.cm.curOp.updateInput=gp.cm.curOp.selectionChanged=true;V(gp.cm)}ae(gp,"cursorActivity",gp)}function eC(go){c9(go,n(go,go.sel,null,false),Z)}function n(gw,go,gt,gu){var gq;for(var gr=0;gr<go.ranges.length;gr++){var gs=go.ranges[gr];var gv=bV(gw,gs.anchor,gt,gu);var gp=bV(gw,gs.head,gt,gu);if(gq||gv!=gs.anchor||gp!=gs.head){if(!gq){gq=go.ranges.slice(0,gr)}gq[gr]=new dZ(gv,gp)}}return gq?cw(gq,go.primIndex):go}function bV(gx,gw,gt,gu){var gy=false,gq=gw;var gr=gt||1;gx.cantEdit=false;search:for(;;){var gz=fk(gx,gq.line);if(gz.markedSpans){for(var gs=0;gs<gz.markedSpans.length;++gs){var go=gz.markedSpans[gs],gp=go.marker;if((go.from==null||(gp.inclusiveLeft?go.from<=gq.ch:go.from<gq.ch))&&(go.to==null||(gp.inclusiveRight?go.to>=gq.ch:go.to>gq.ch))){if(gu){aE(gp,"beforeCursorEnter");if(gp.explicitlyCleared){if(!gz.markedSpans){break}else{--gs;continue}}}if(!gp.atomic){continue}var gv=gp.find(gr<0?-1:1);if(cf(gv,gq)==0){gv.ch+=gr;if(gv.ch<0){if(gv.line>gx.first){gv=fO(gx,W(gv.line-1))}else{gv=null}}else{if(gv.ch>gz.text.length){if(gv.line<gx.first+gx.size-1){gv=W(gv.line+1,0)}else{gv=null}}}if(!gv){if(gy){if(!gu){return bV(gx,gw,gt,true)}gx.cantEdit=true;return W(gx.first,0)}gy=true;gv=gw;gr=-gr}}gq=gv;continue search}}}return gq}}function bC(go){go.display.input.showSelection(go.display.input.prepareSelection())}function fN(gv,go){var gu=gv.doc,gw={};var gt=gw.cursors=document.createDocumentFragment();var gp=gw.selection=document.createDocumentFragment();for(var gr=0;gr<gu.sel.ranges.length;gr++){if(go===false&&gr==gu.sel.primIndex){continue}var gs=gu.sel.ranges[gr];var gq=gs.empty();if(gq||gv.options.showCursorWhenSelecting){A(gv,gs.head,gt)}if(!gq){bD(gv,gs,gp)}}return gw}function A(go,gr,gq){var gt=dV(go,gr,"div",null,null,!go.options.singleCursorHeightPerLine);var gs=gq.appendChild(f8("div","\u00a0","CodeMirror-cursor"));gs.style.left=gt.left+"px";gs.style.top=gt.top+"px";gs.style.height=Math.max(0,gt.bottom-gt.top)*go.options.cursorHeight+"px";if(gt.other){var gp=gq.appendChild(f8("div","\u00a0","CodeMirror-cursor CodeMirror-secondarycursor"));gp.style.display="";gp.style.left=gt.other.left+"px";gp.style.top=gt.other.top+"px";gp.style.height=(gt.other.bottom-gt.other.top)*0.85+"px"}}function bD(gs,gy,gt){var gB=gs.display,gF=gs.doc;var go=document.createDocumentFragment();var gx=e9(gs.display),gr=gx.left;var gC=Math.max(gB.sizerWidth,dm(gs)-gB.sizer.offsetLeft)-gx.right;function gz(gJ,gI,gH,gG){if(gI<0){gI=0}gI=Math.round(gI);gG=Math.round(gG);go.appendChild(f8("div",null,"CodeMirror-selected","position: absolute; left: "+gJ+"px; top: "+gI+"px; width: "+(gH==null?gC-gJ:gH)+"px; height: "+(gG-gI)+"px"))}function gp(gH,gJ,gM){var gI=fk(gF,gH);var gK=gI.text.length;var gN,gG;function gL(gP,gO){return cJ(gs,W(gH,gP),"div",gI,gO)}d6(a(gI),gJ||0,gM==null?gK:gM,function(gV,gU,gO){var gR=gL(gV,"left"),gS,gT,gQ;if(gV==gU){gS=gR;gT=gQ=gR.left}else{gS=gL(gU-1,"right");if(gO=="rtl"){var gP=gR;gR=gS;gS=gP}gT=gR.left;gQ=gS.right}if(gJ==null&&gV==0){gT=gr}if(gS.top-gR.top>3){gz(gT,gR.top,null,gR.bottom);gT=gr;if(gR.bottom<gS.top){gz(gT,gR.bottom,null,gS.top)}}if(gM==null&&gU==gK){gQ=gC}if(!gN||gR.top<gN.top||gR.top==gN.top&&gR.left<gN.left){gN=gR}if(!gG||gS.bottom>gG.bottom||gS.bottom==gG.bottom&&gS.right>gG.right){gG=gS}if(gT<gr+1){gT=gr}gz(gT,gS.top,gQ-gT,gS.bottom)});return{start:gN,end:gG}}var gE=gy.from(),gD=gy.to();if(gE.line==gD.line){gp(gE.line,gE.ch,gD.ch)}else{var gq=fk(gF,gE.line),gv=fk(gF,gD.line);var gu=x(gq)==x(gv);var gw=gp(gE.line,gE.ch,gu?gq.text.length+1:null).end;var gA=gp(gD.line,gu?0:null,gD.ch).start;if(gu){if(gw.top<gA.top-2){gz(gw.right,gw.top,null,gw.bottom);gz(gr,gA.top,gA.left,gA.bottom)}else{gz(gw.right,gw.top,gA.left-gw.right,gw.bottom)}}if(gw.bottom<gA.top){gz(gr,gw.bottom,null,gA.top)}}gt.appendChild(go)}function o(go){if(!go.state.focused){return}var gq=go.display;clearInterval(gq.blinker);var gp=true;gq.cursorDiv.style.visibility="";if(go.options.cursorBlinkRate>0){gq.blinker=setInterval(function(){gq.cursorDiv.style.visibility=(gp=!gp)?"":"hidden"},go.options.cursorBlinkRate)}else{if(go.options.cursorBlinkRate<0){gq.cursorDiv.style.visibility="hidden"}}}function ei(go,gp){if(go.doc.mode.startState&&go.doc.frontier<go.display.viewTo){go.state.highlight.set(gp,cv(cP,go))}}function cP(go){var gs=go.doc;if(gs.frontier<gs.first){gs.frontier=gs.first}if(gs.frontier>=go.display.viewTo){return}var gq=+new Date+go.options.workTime;var gr=b3(gs.mode,dD(go,gs.frontier));var gp=[];gs.iter(gs.frontier,Math.min(gs.first+gs.size,go.display.viewTo+500),function(gt){if(gs.frontier>=go.display.viewFrom){var gw=gt.styles,gA=gt.text.length>go.options.maxHighlightLength;var gy=fE(go,gt,gA?b3(gs.mode,gr):gr,true);gt.styles=gy.styles;var gv=gt.styleClasses,gx=gy.classes;if(gx){gt.styleClasses=gx}else{if(gv){gt.styleClasses=null}}var gz=!gw||gw.length!=gt.styles.length||gv!=gx&&(!gv||!gx||gv.bgClass!=gx.bgClass||gv.textClass!=gx.textClass);for(var gu=0;!gz&&gu<gw.length;++gu){gz=gw[gu]!=gt.styles[gu]}if(gz){gp.push(gs.frontier)}gt.stateAfter=gA?gr:b3(gs.mode,gr)}else{if(gt.text.length<=go.options.maxHighlightLength){dy(go,gt.text,gr)}gt.stateAfter=gs.frontier%5==0?b3(gs.mode,gr):null}++gs.frontier;if(+new Date>gq){ei(go,go.options.workDelay);return true}});if(gp.length){cM(go,function(){for(var gt=0;gt<gp.length;gt++){R(go,gp[gt],"text")}})}}function cy(gu,go,gr){var gp,gs,gt=gu.doc;var gq=gr?-1:go-(gu.doc.mode.innerMode?1000:100);for(var gx=go;gx>gq;--gx){if(gx<=gt.first){return gt.first}var gw=fk(gt,gx-1);if(gw.stateAfter&&(!gr||gx<=gt.frontier)){return gx}var gv=bT(gw.text,null,gu.options.tabSize);if(gs==null||gp>gv){gs=gx-1;gp=gv}}return gs}function dD(go,gu,gp){var gs=go.doc,gr=go.display;if(!gs.mode.startState){return true}var gt=cy(go,gu,gp),gq=gt>gs.first&&fk(gs,gt-1).stateAfter;if(!gq){gq=b0(gs.mode)}else{gq=b3(gs.mode,gq)}gs.iter(gt,gu,function(gv){dy(go,gv.text,gq);var gw=gt==gu-1||gt%5==0||gt>=gr.viewFrom&><gr.viewTo;gv.stateAfter=gw?b3(gs.mode,gq):null;++gt});if(gp){gs.frontier=gt}return gq}function fd(go){return go.lineSpace.offsetTop}function bI(go){return go.mover.offsetHeight-go.lineSpace.offsetHeight}function e9(gr){if(gr.cachedPaddingH){return gr.cachedPaddingH}var gq=bR(gr.measure,f8("pre","x"));var go=window.getComputedStyle?window.getComputedStyle(gq):gq.currentStyle;var gp={left:parseInt(go.paddingLeft),right:parseInt(go.paddingRight)};if(!isNaN(gp.left)&&!isNaN(gp.right)){gr.cachedPaddingH=gp}return gp}function cT(go){return dK-go.display.nativeBarWidth}function dm(go){return go.display.scroller.clientWidth-cT(go)-go.display.barWidth}function cV(go){return go.display.scroller.clientHeight-cT(go)-go.display.barHeight}function ch(gv,gr,gu){var gq=gv.options.lineWrapping;var gs=gq&&dm(gv);if(!gr.measure.heights||gq&&gr.measure.width!=gs){var gt=gr.measure.heights=[];if(gq){gr.measure.width=gs;var gx=gr.text.firstChild.getClientRects();for(var go=0;go<gx.length-1;go++){var gw=gx[go],gp=gx[go+1];if(Math.abs(gw.bottom-gp.bottom)>2){gt.push((gw.bottom+gp.top)/2-gu.top)}}}gt.push(gu.bottom-gu.top)}}function ct(gq,go,gr){if(gq.line==go){return{map:gq.measure.map,cache:gq.measure.cache}}for(var gp=0;gp<gq.rest.length;gp++){if(gq.rest[gp]==go){return{map:gq.measure.maps[gp],cache:gq.measure.caches[gp]}}}for(var gp=0;gp<gq.rest.length;gp++){if(bN(gq.rest[gp])>gr){return{map:gq.measure.maps[gp],cache:gq.measure.caches[gp],before:true}}}}function c1(go,gq){gq=x(gq);var gs=bN(gq);var gp=go.display.externalMeasured=new bv(go.doc,gq,gs);gp.lineN=gs;var gr=gp.built=eV(go,gp);gp.text=gr.pre;bR(go.display.lineMeasure,gr.pre);return gp}function ek(go,gp,gr,gq){return C(go,a4(go,gp),gr,gq)}function fg(go,gq){if(gq>=go.display.viewFrom&&gq<go.display.viewTo){return go.display.view[ds(go,gq)]}var gp=go.display.externalMeasured;if(gp&&gq>=gp.lineN&&gq<gp.lineN+gp.size){return gp}}function a4(go,gq){var gr=bN(gq);var gp=fg(go,gr);if(gp&&!gp.text){gp=null}else{if(gp&&gp.changes){ab(go,gp,gr,fi(go));go.curOp.forceUpdate=true}}if(!gp){gp=c1(go,gq)}var gs=ct(gp,gq,gr);return{line:gq,view:gp,rect:null,map:gs.map,cache:gs.cache,before:gs.before,hasHeights:false}}function C(go,gu,gs,gp,gr){if(gu.before){gs=-1}var gq=gs+(gp||""),gt;if(gu.cache.hasOwnProperty(gq)){gt=gu.cache[gq]}else{if(!gu.rect){gu.rect=gu.view.text.getBoundingClientRect()}if(!gu.hasHeights){ch(go,gu.view,gu.rect);gu.hasHeights=true}gt=j(go,gu,gs,gp);if(!gt.bogus){gu.cache[gq]=gt}}return{left:gt.left,right:gt.right,top:gr?gt.rtop:gt.top,bottom:gr?gt.rbottom:gt.bottom}}var eF={left:0,right:0,top:0,bottom:0};function aL(gp,go,gv){var gr,gq,gt,gw;for(var gu=0;gu<gp.length;gu+=3){var gs=gp[gu],gx=gp[gu+1];if(go<gs){gq=0;gt=1;gw="left"}else{if(go<gx){gq=go-gs;gt=gq+1}else{if(gu==gp.length-3||go==gx&&gp[gu+3]>go){gt=gx-gs;gq=gt-1;if(go>=gx){gw="right"}}}}if(gq!=null){gr=gp[gu+2];if(gs==gx&&gv==(gr.insertLeft?"left":"right")){gw=gv}if(gv=="left"&&gq==0){while(gu&&gp[gu-2]==gp[gu-3]&&gp[gu-1].insertLeft){gr=gp[(gu-=3)+2];gw="left"}}if(gv=="right"&&gq==gx-gs){while(gu<gp.length-3&&gp[gu+3]==gp[gu+4]&&!gp[gu+5].insertLeft){gr=gp[(gu+=3)+2];gw="right"}}break}}return{node:gr,start:gq,end:gt,collapse:gw,coverStart:gs,coverEnd:gx}}function j(gv,gF,gy,gt){var gw=aL(gF.map,gy,gt);var gD=gw.node,gs=gw.start,gr=gw.end,go=gw.collapse;var gp;if(gD.nodeType==3){for(var gE=0;gE<4;gE++){while(gs&&fu(gF.line.text.charAt(gw.coverStart+gs))){--gs}while(gw.coverStart+gr<gw.coverEnd&&fu(gF.line.text.charAt(gw.coverStart+gr))){++gr}if(dL&&k<9&&gs==0&&gr==gw.coverEnd-gw.coverStart){gp=gD.parentNode.getBoundingClientRect()}else{if(dL&&gv.options.lineWrapping){var gq=cl(gD,gs,gr).getClientRects();if(gq.length){gp=gq[gt=="right"?gq.length-1:0]}else{gp=eF}}else{gp=cl(gD,gs,gr).getBoundingClientRect()||eF}}if(gp.left||gp.right||gs==0){break}gr=gs;gs=gs-1;go="right"}if(dL&&k<11){gp=eR(gv.display.measure,gp)}}else{if(gs>0){go=gt="right"}var gq;if(gv.options.lineWrapping&&(gq=gD.getClientRects()).length>1){gp=gq[gt=="right"?gq.length-1:0]}else{gp=gD.getBoundingClientRect()}}if(dL&&k<9&&!gs&&(!gp||!gp.left&&!gp.right)){var gu=gD.parentNode.getClientRects()[0];if(gu){gp={left:gu.left,right:gu.left+dE(gv.display),top:gu.top,bottom:gu.bottom}}else{gp=eF}}var gB=gp.top-gF.rect.top,gz=gp.bottom-gF.rect.top;var gH=(gB+gz)/2;var gG=gF.view.measure.heights;for(var gE=0;gE<gG.length-1;gE++){if(gH<gG[gE]){break}}var gC=gE?gG[gE-1]:0,gA=gG[gE];var gx={left:(go=="right"?gp.right:gp.left)-gF.rect.left,right:(go=="left"?gp.left:gp.right)-gF.rect.left,top:gC,bottom:gA};if(!gp.left&&!gp.right){gx.bogus=true}if(!gv.options.singleCursorHeightPerLine){gx.rtop=gB;gx.rbottom=gz}return gx}function eR(gq,gr){if(!window.screen||screen.logicalXDPI==null||screen.logicalXDPI==screen.deviceXDPI||!aK(gq)){return gr}var gp=screen.logicalXDPI/screen.deviceXDPI;var go=screen.logicalYDPI/screen.deviceYDPI;return{left:gr.left*gp,right:gr.right*gp,top:gr.top*go,bottom:gr.bottom*go}}function au(gp){if(gp.measure){gp.measure.cache={};gp.measure.heights=null;if(gp.rest){for(var go=0;go<gp.rest.length;go++){gp.measure.caches[go]={}}}}}function aO(go){go.display.externalMeasure=null;d3(go.display.lineMeasure);for(var gp=0;gp<go.display.view.length;gp++){au(go.display.view[gp])}}function ak(go){aO(go);go.display.cachedCharWidth=go.display.cachedTextHeight=go.display.cachedPaddingH=null;if(!go.options.lineWrapping){go.display.maxLineChanged=true}go.display.lineNumChars=null}function cu(){return window.pageXOffset||(document.documentElement||document.body).scrollLeft}function cs(){return window.pageYOffset||(document.documentElement||document.body).scrollTop}function eU(gu,gr,gt,gp){if(gr.widgets){for(var gq=0;gq<gr.widgets.length;++gq){if(gr.widgets[gq].above){var gw=cY(gr.widgets[gq]);gt.top+=gw;gt.bottom+=gw}}}if(gp=="line"){return gt}if(!gp){gp="local"}var gs=bM(gr);if(gp=="local"){gs+=fd(gu.display)}else{gs-=gu.display.viewOffset}if(gp=="page"||gp=="window"){var go=gu.display.lineSpace.getBoundingClientRect();gs+=go.top+(gp=="window"?0:cs());var gv=go.left+(gp=="window"?0:cu());gt.left+=gv;gt.right+=gv}gt.top+=gs;gt.bottom+=gs;return gt}function gk(gp,gs,gq){if(gq=="div"){return gs}var gu=gs.left,gt=gs.top;if(gq=="page"){gu-=cu();gt-=cs()}else{if(gq=="local"||!gq){var gr=gp.display.sizer.getBoundingClientRect();gu+=gr.left;gt+=gr.top}}var go=gp.display.lineSpace.getBoundingClientRect();return{left:gu-go.left,top:gt-go.top}}function cJ(go,gs,gr,gq,gp){if(!gq){gq=fk(go.doc,gs.line)}return eU(go,gq,ek(go,gq,gs.ch,gp),gr)}function dV(gx,gw,gq,gu,gz,gv){gu=gu||fk(gx.doc,gw.line);if(!gz){gz=a4(gx,gu)}function gs(gC,gB){var gA=C(gx,gz,gC,gB?"right":"left",gv);if(gB){gA.left=gA.right}else{gA.right=gA.left}return eU(gx,gu,gA,gq)}function gy(gD,gA){var gB=gt[gA],gC=gB.level%2;if(gD==dz(gB)&&gA&&gB.level<gt[gA-1].level){gB=gt[--gA];gD=gj(gB)-(gB.level%2?0:1);gC=true}else{if(gD==gj(gB)&&gA<gt.length-1&&gB.level<gt[gA+1].level){gB=gt[++gA];gD=dz(gB)-gB.level%2;gC=false}}if(gC&&gD==gB.to&&gD>gB.from){return gs(gD-1)}return gs(gD,gC)}var gt=a(gu),go=gw.ch;if(!gt){return gs(go)}var gp=aG(gt,go);var gr=gy(go,gp);if(e6!=null){gr.other=gy(go,e6)}return gr}function dI(go,gs){var gr=0,gs=fO(go.doc,gs);if(!go.options.lineWrapping){gr=dE(go.display)*gs.ch}var gp=fk(go.doc,gs.line);var gq=bM(gp)+fd(go.display);return{left:gr,right:gr,top:gq,bottom:gq+gp.height}}function f7(go,gp,gq,gs){var gr=W(go,gp);gr.xRel=gs;if(gq){gr.outside=true}return gr}function fT(gv,gs,gr){var gu=gv.doc;gr+=gv.display.viewOffset;if(gr<0){return f7(gu.first,0,true,-1)}var gq=bG(gu,gr),gw=gu.first+gu.size-1;if(gq>gw){return f7(gu.first+gu.size-1,fk(gu,gw).text.length,true,1)}if(gs<0){gs=0}var gp=fk(gu,gq);for(;;){var gx=cZ(gv,gp,gq,gs,gr);var gt=ey(gp);var go=gt&>.find(0,true);if(gt&&(gx.ch>go.from.ch||gx.ch==go.from.ch&&gx.xRel>0)){gq=bN(gp=go.to.line)}else{return gx}}}function cZ(gy,gq,gB,gA,gz){var gx=gz-bM(gq);var gu=false,gH=2*gy.display.wrapper.clientWidth;var gE=a4(gy,gq);function gL(gN){var gO=dV(gy,W(gB,gN),"line",gq,gE);gu=true;if(gx>gO.bottom){return gO.left-gH}else{if(gx<gO.top){return gO.left+gH}else{gu=false}}return gO.left}var gD=a(gq),gG=gq.text.length;var gI=cE(gq),gr=cS(gq);var gF=gL(gI),go=gu,gp=gL(gr),gt=gu;if(gA>gp){return f7(gB,gr,gt,1)}for(;;){if(gD?gr==gI||gr==u(gq,gI,1):gr-gI<=1){var gC=gA<gF||gA-gF<=gp-gA?gI:gr;var gK=gA-(gC==gI?gF:gp);while(fu(gq.text.charAt(gC))){++gC}var gw=f7(gB,gC,gC==gI?go:gt,gK<-1?-1:gK>1?1:0);return gw}var gv=Math.ceil(gG/2),gM=gI+gv;if(gD){gM=gI;for(var gJ=0;gJ<gv;++gJ){gM=u(gq,gM,1)}}var gs=gL(gM);if(gs>gA){gr=gM;gp=gs;if(gt=gu){gp+=1000}gG=gv}else{gI=gM;gF=gs;go=gu;gG-=gv}}}var aH;function aY(gq){if(gq.cachedTextHeight!=null){return gq.cachedTextHeight}if(aH==null){aH=f8("pre");for(var gp=0;gp<49;++gp){aH.appendChild(document.createTextNode("x"));aH.appendChild(f8("br"))}aH.appendChild(document.createTextNode("x"))}bR(gq.measure,aH);var go=aH.offsetHeight/50;if(go>3){gq.cachedTextHeight=go}d3(gq.measure);return go||1}function dE(gs){if(gs.cachedCharWidth!=null){return gs.cachedCharWidth}var go=f8("span","xxxxxxxxxx");var gr=f8("pre",[go]);bR(gs.measure,gr);var gq=go.getBoundingClientRect(),gp=(gq.right-gq.left)/10;if(gp>2){gs.cachedCharWidth=gp}return gp||10}var bp=null;var ea=0;function cI(go){go.curOp={cm:go,viewChanged:false,startHeight:go.doc.height,forceUpdate:false,updateInput:null,typing:false,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:false,updateMaxLine:false,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:false,id:++ea};if(bp){bp.ops.push(go.curOp)}else{go.curOp.ownsGroup=bp={ops:[go.curOp],delayedCallbacks:[]}}}function cU(gr){var gq=gr.delayedCallbacks,gp=0;do{for(;gp<gq.length;gp++){gq[gp].call(null)}for(var go=0;go<gr.ops.length;go++){var gs=gr.ops[go];if(gs.cursorActivityHandlers){while(gs.cursorActivityCalled<gs.cursorActivityHandlers.length){gs.cursorActivityHandlers[gs.cursorActivityCalled++].call(null,gs.cm)}}}}while(gp<gq.length)}function am(go){var gr=go.curOp,gq=gr.ownsGroup;if(!gq){return}try{cU(gq)}finally{bp=null;for(var gp=0;gp<gq.ops.length;gp++){gq.ops[gp].cm.curOp=null}cK(gq)}}function cK(gq){var gp=gq.ops;for(var go=0;go<gp.length;go++){b5(gp[go])}for(var go=0;go<gp.length;go++){aq(gp[go])}for(var go=0;go<gp.length;go++){b2(gp[go])}for(var go=0;go<gp.length;go++){ap(gp[go])}for(var go=0;go<gp.length;go++){e4(gp[go])}}function b5(gq){var go=gq.cm,gp=go.display;J(go);if(gq.updateMaxLine){h(go)}gq.mustUpdate=gq.viewChanged||gq.forceUpdate||gq.scrollTop!=null||gq.scrollToPos&&(gq.scrollToPos.from.line<gp.viewFrom||gq.scrollToPos.to.line>=gp.viewTo)||gp.maxLineChanged&&go.options.lineWrapping;gq.update=gq.mustUpdate&&new aI(go,gq.mustUpdate&&{top:gq.scrollTop,ensure:gq.scrollToPos},gq.forceUpdate)}function aq(go){go.updatedDisplay=go.mustUpdate&&B(go.cm,go.update)}function b2(gq){var go=gq.cm,gp=go.display;if(gq.updatedDisplay){a9(go)}gq.barMeasure=dB(go);if(gp.maxLineChanged&&!go.options.lineWrapping){gq.adjustWidthTo=ek(go,gp.maxLine,gp.maxLine.text.length).left+3;go.display.sizerWidth=gq.adjustWidthTo;gq.barMeasure.scrollWidth=Math.max(gp.scroller.clientWidth,gp.sizer.offsetLeft+gq.adjustWidthTo+cT(go)+go.display.barWidth);gq.maxScrollLeft=Math.max(0,gp.sizer.offsetLeft+gq.adjustWidthTo-dm(go))}if(gq.updatedDisplay||gq.selectionChanged){gq.preparedSelection=gp.input.prepareSelection()}}function ap(gp){var go=gp.cm;if(gp.adjustWidthTo!=null){go.display.sizer.style.minWidth=gp.adjustWidthTo+"px";if(gp.maxScrollLeft<go.doc.scrollLeft){bE(go,Math.min(go.display.scroller.scrollLeft,gp.maxScrollLeft),true)}go.display.maxLineChanged=false}if(gp.preparedSelection){go.display.input.showSelection(gp.preparedSelection)}if(gp.updatedDisplay){dA(go,gp.barMeasure)}if(gp.updatedDisplay||gp.startHeight!=go.doc.height){e2(go,gp.barMeasure)}if(gp.selectionChanged){o(go)}if(go.state.focused&&gp.updateInput){go.display.input.reset(gp.typing)}if(gp.focus&&gp.focus==dP()){r(gp.cm)}}function e4(gv){var go=gv.cm,gt=go.display,gs=go.doc;if(gv.updatedDisplay){cj(go,gv.update)}if(gt.wheelStartX!=null&&(gv.scrollTop!=null||gv.scrollLeft!=null||gv.scrollToPos)){gt.wheelStartX=gt.wheelStartY=null}if(gv.scrollTop!=null&&(gt.scroller.scrollTop!=gv.scrollTop||gv.forceScroll)){gs.scrollTop=Math.max(0,Math.min(gt.scroller.scrollHeight-gt.scroller.clientHeight,gv.scrollTop));gt.scrollbars.setScrollTop(gs.scrollTop);gt.scroller.scrollTop=gs.scrollTop}if(gv.scrollLeft!=null&&(gt.scroller.scrollLeft!=gv.scrollLeft||gv.forceScroll)){gs.scrollLeft=Math.max(0,Math.min(gt.scroller.scrollWidth-dm(go),gv.scrollLeft));gt.scrollbars.setScrollLeft(gs.scrollLeft);gt.scroller.scrollLeft=gs.scrollLeft;eI(go)}if(gv.scrollToPos){var gr=D(go,fO(gs,gv.scrollToPos.from),fO(gs,gv.scrollToPos.to),gv.scrollToPos.margin);if(gv.scrollToPos.isCursor&&go.state.focused){d8(go,gr)}}var gq=gv.maybeHiddenMarkers,gu=gv.maybeUnhiddenMarkers;if(gq){for(var gp=0;gp<gq.length;++gp){if(!gq[gp].lines.length){aE(gq[gp],"hide")}}}if(gu){for(var gp=0;gp<gu.length;++gp){if(gu[gp].lines.length){aE(gu[gp],"unhide")}}}if(gt.wrapper.offsetHeight){gs.scrollTop=go.display.scroller.scrollTop}if(gv.changeObjs){aE(go,"changes",go,gv.changeObjs)}if(gv.update){gv.update.finish()}}function cM(go,gp){if(go.curOp){return gp()}cI(go);try{return gp()}finally{am(go)}}function c2(go,gp){return function(){if(go.curOp){return gp.apply(go,arguments)}cI(go);try{return gp.apply(go,arguments)}finally{am(go)}}}function c8(go){return function(){if(this.curOp){return go.apply(this,arguments)}cI(this);try{return go.apply(this,arguments)}finally{am(this)}}}function cD(go){return function(){var gp=this.cm;if(!gp||gp.curOp){return go.apply(this,arguments)}cI(gp);try{return go.apply(this,arguments)}finally{am(gp)}}}function bv(gq,go,gp){this.line=go;this.rest=g(go);this.size=this.rest?bN(fL(this.rest))-gp+1:1;this.node=this.text=null;this.hidden=fB(gq,go)}function eZ(go,gu,gt){var gs=[],gq;for(var gr=gu;gr<gt;gr=gq){var gp=new bv(go.doc,fk(go.doc,gr),gr);gq=gr+gp.size;gs.push(gp)}return gs}function ah(gv,gt,gu,gw){if(gt==null){gt=gv.doc.first}if(gu==null){gu=gv.doc.first+gv.doc.size}if(!gw){gw=0}var gq=gv.display;if(gw&&gu<gq.viewTo&&(gq.updateLineNumbers==null||gq.updateLineNumbers>gt)){gq.updateLineNumbers=gt}gv.curOp.viewChanged=true;if(gt>=gq.viewTo){if(a7&&aW(gv.doc,gt)<gq.viewTo){eB(gv)}}else{if(gu<=gq.viewFrom){if(a7&&d4(gv.doc,gu+gw)>gq.viewFrom){eB(gv)}else{gq.viewFrom+=gw;gq.viewTo+=gw}}else{if(gt<=gq.viewFrom&&gu>=gq.viewTo){eB(gv)}else{if(gt<=gq.viewFrom){var gs=df(gv,gu,gu+gw,1);if(gs){gq.view=gq.view.slice(gs.index);gq.viewFrom=gs.lineN;gq.viewTo+=gw}else{eB(gv)}}else{if(gu>=gq.viewTo){var gs=df(gv,gt,gt,-1);if(gs){gq.view=gq.view.slice(0,gs.index);gq.viewTo=gs.lineN}else{eB(gv)}}else{var gr=df(gv,gt,gt,-1);var gp=df(gv,gu,gu+gw,1);if(gr&&gp){gq.view=gq.view.slice(0,gr.index).concat(eZ(gv,gr.lineN,gp.lineN)).concat(gq.view.slice(gp.index));gq.viewTo+=gw}else{eB(gv)}}}}}}var go=gq.externalMeasured;if(go){if(gu<go.lineN){go.lineN+=gw}else{if(gt<go.lineN+go.size){gq.externalMeasured=null}}}}function R(gp,gq,gt){gp.curOp.viewChanged=true;var gu=gp.display,gs=gp.display.externalMeasured;if(gs&&gq>=gs.lineN&&gq<gs.lineN+gs.size){gu.externalMeasured=null}if(gq<gu.viewFrom||gq>=gu.viewTo){return}var gr=gu.view[ds(gp,gq)];if(gr.node==null){return}var go=gr.changes||(gr.changes=[]);if(di(go,gt)==-1){go.push(gt)}}function eB(go){go.display.viewFrom=go.display.viewTo=go.doc.first;go.display.view=[];go.display.viewOffset=0}function ds(go,gr){if(gr>=go.display.viewTo){return null}gr-=go.display.viewFrom;if(gr<0){return null}var gp=go.display.view;for(var gq=0;gq<gp.length;gq++){gr-=gp[gq].size;if(gr<0){return gq}}}function df(gw,gq,gs,gp){var gt=ds(gw,gq),gv,gu=gw.display.view;if(!a7||gs==gw.doc.first+gw.doc.size){return{index:gt,lineN:gs}}for(var gr=0,go=gw.display.viewFrom;gr<gt;gr++){go+=gu[gr].size}if(go!=gq){if(gp>0){if(gt==gu.length-1){return null}gv=(go+gu[gt].size)-gq;gt++}else{gv=go-gq}gq+=gv;gs+=gv}while(aW(gw.doc,gs)!=gs){if(gt==(gp<0?0:gu.length-1)){return null}gs+=gp*gu[gt-(gp<0?1:0)].size;gt+=gp}return{index:gt,lineN:gs}}function cR(go,gs,gr){var gq=go.display,gp=gq.view;if(gp.length==0||gs>=gq.viewTo||gr<=gq.viewFrom){gq.view=eZ(go,gs,gr);gq.viewFrom=gs}else{if(gq.viewFrom>gs){gq.view=eZ(go,gs,gq.viewFrom).concat(gq.view)}else{if(gq.viewFrom<gs){gq.view=gq.view.slice(ds(go,gs))}}gq.viewFrom=gs;if(gq.viewTo<gr){gq.view=gq.view.concat(eZ(go,gq.viewTo,gr))}else{if(gq.viewTo>gr){gq.view=gq.view.slice(0,ds(go,gr))}}}gq.viewTo=gr}function dc(go){var gp=go.display.view,gs=0;for(var gr=0;gr<gp.length;gr++){var gq=gp[gr];if(!gq.hidden&&(!gq.node||gq.changes)){++gs}}return gs}function fV(gp){var gt=gp.display;bX(gt.scroller,"mousedown",c2(gp,ez));if(dL&&k<11){bX(gt.scroller,"dblclick",c2(gp,function(gx){if(aR(gp,gx)){return}var gy=cn(gp,gx);if(!gy||l(gp,gx)||bb(gp.display,gx)){return}cG(gx);var gw=gp.findWordAt(gy);f2(gp.doc,gw.anchor,gw.head)}))}else{bX(gt.scroller,"dblclick",function(gw){aR(gp,gw)||cG(gw)})}if(!gf){bX(gt.scroller,"contextmenu",function(gw){ay(gp,gw)})}var gv,go={end:0};function gu(){if(gt.activeTouch){gv=setTimeout(function(){gt.activeTouch=null},1000);go=gt.activeTouch;go.end=+new Date}}function gr(gw){if(gw.touches.length!=1){return false}var gx=gw.touches[0];return gx.radiusX<=1&&gx.radiusY<=1}function gq(gz,gw){if(gw.left==null){return true}var gy=gw.left-gz.left,gx=gw.top-gz.top;return gy*gy+gx*gx>20*20}bX(gt.scroller,"touchstart",function(gx){if(!gr(gx)){clearTimeout(gv);var gw=+new Date;gt.activeTouch={start:gw,moved:false,prev:gw-go.end<=300?go:null};if(gx.touches.length==1){gt.activeTouch.left=gx.touches[0].pageX;gt.activeTouch.top=gx.touches[0].pageY}}});bX(gt.scroller,"touchmove",function(){if(gt.activeTouch){gt.activeTouch.moved=true}});bX(gt.scroller,"touchend",function(gx){var gz=gt.activeTouch;if(gz&&!bb(gt,gx)&&gz.left!=null&&!gz.moved&&new Date-gz.start<300){var gy=gp.coordsChar(gt.activeTouch,"page"),gw;if(!gz.prev||gq(gz,gz.prev)){gw=new dZ(gy,gy)}else{if(!gz.prev.prev||gq(gz,gz.prev.prev)){gw=gp.findWordAt(gy)}else{gw=new dZ(W(gy.line,0),fO(gp.doc,W(gy.line+1,0)))}}gp.setSelection(gw.anchor,gw.head);gp.focus();cG(gx)}gu()});bX(gt.scroller,"touchcancel",gu);bX(gt.scroller,"scroll",function(){if(gt.scroller.clientHeight){N(gp,gt.scroller.scrollTop);bE(gp,gt.scroller.scrollLeft,true);aE(gp,"scroll",gp)}});bX(gt.scroller,"mousewheel",function(gw){b(gp,gw)});bX(gt.scroller,"DOMMouseScroll",function(gw){b(gp,gw)});bX(gt.wrapper,"scroll",function(){gt.wrapper.scrollTop=gt.wrapper.scrollLeft=0});gt.dragFunctions={enter:function(gw){if(!aR(gp,gw)){ev(gw)}},over:function(gw){if(!aR(gp,gw)){gl(gp,gw);ev(gw)}},start:function(gw){Q(gp,gw)},drop:c2(gp,bk),leave:function(){db(gp)}};var gs=gt.input.getField();bX(gs,"keyup",function(gw){bi.call(gp,gw)});bX(gs,"keydown",c2(gp,p));bX(gs,"keypress",c2(gp,cx));bX(gs,"focus",cv(cB,gp));bX(gs,"blur",cv(aV,gp))}function f6(gp,gs,gq){var gt=gq&&gq!=H.Init;if(!gs!=!gt){var gr=gp.display.dragFunctions;var go=gs?bX:eg;go(gp.display.scroller,"dragstart",gr.start);go(gp.display.scroller,"dragenter",gr.enter);go(gp.display.scroller,"dragover",gr.over);go(gp.display.scroller,"dragleave",gr.leave);go(gp.display.scroller,"drop",gr.drop)}}function aT(go){var gp=go.display;if(gp.lastWrapHeight==gp.wrapper.clientHeight&&gp.lastWrapWidth==gp.wrapper.clientWidth){return}gp.cachedCharWidth=gp.cachedTextHeight=gp.cachedPaddingH=null;gp.scrollbarsClipped=false;go.setSize()}function bb(gp,go){for(var gq=L(go);gq!=gp.wrapper;gq=gq.parentNode){if(!gq||(gq.nodeType==1&&gq.getAttribute("cm-ignore-events")=="true")||(gq.parentNode==gp.sizer&&gq!=gp.mover)){return true}}}function cn(gx,gs,gp,gq){var gt=gx.display;if(!gp&&L(gs).getAttribute("cm-not-content")=="true"){return null}var gw,gu,go=gt.lineSpace.getBoundingClientRect();try{gw=gs.clientX-go.left;gu=gs.clientY-go.top}catch(gs){return null}var gv=fT(gx,gw,gu),gy;if(gq&&gv.xRel==1&&(gy=fk(gx.doc,gv.line).text).length==gv.ch){var gr=bT(gy,gy.length,gx.options.tabSize)-gy.length;gv=W(gv.line,Math.max(0,Math.round((gw-e9(gx.display).left)/dE(gx.display))-gr))}return gv}function ez(gq){var go=this,gp=go.display;if(gp.activeTouch&&gp.input.supportsTouch()||aR(go,gq)){return}gp.shift=gq.shiftKey;if(bb(gp,gq)){if(!c0){gp.scroller.draggable=false;setTimeout(function(){gp.scroller.draggable=true},100)}return}if(l(go,gq)){return}var gr=cn(go,gq);window.focus();switch(fS(gq)){case 1:if(go.state.selectingText){go.state.selectingText(gq)}else{if(gr){ax(go,gq,gr)}else{if(L(gq)==gp.scroller){cG(gq)}}}break;case 2:if(c0){go.state.lastMiddleDown=+new Date}if(gr){f2(go.doc,gr)}setTimeout(function(){gp.input.focus()},20);cG(gq);break;case 3:if(gf){ay(go,gq)}else{al(go)}break}}var dp,de;function ax(gp,gu,gv){if(dL){setTimeout(cv(r,gp),0)}else{gp.curOp.focus=dP()}var gq=+new Date,gs;if(de&&de.time>gq-400&&cf(de.pos,gv)==0){gs="triple"}else{if(dp&&dp.time>gq-400&&cf(dp.pos,gv)==0){gs="double";de={time:gq,pos:gv}}else{gs="single";dp={time:gq,pos:gv}}}var gt=gp.doc.sel,go=b7?gu.metaKey:gu.ctrlKey,gr;if(gp.options.dragDrop&&eP&&!aj(gp)&&gs=="single"&&(gr=gt.contains(gv))>-1&&(cf((gr=gt.ranges[gr]).from(),gv)<0||gv.xRel>0)&&(cf(gr.to(),gv)>0||gv.xRel<0)){a3(gp,gu,gv,go)}else{m(gp,gu,gv,gs,go)}}function a3(gq,gt,gu,gp){var gs=gq.display,gr=+new Date;var go=c2(gq,function(gv){if(c0){gs.scroller.draggable=false}gq.state.draggingText=false;eg(document,"mouseup",go);eg(gs.scroller,"drop",go);if(Math.abs(gt.clientX-gv.clientX)+Math.abs(gt.clientY-gv.clientY)<10){cG(gv);if(!gp&&+new Date-200<gr){f2(gq.doc,gu)}if(c0||dL&&k==9){setTimeout(function(){document.body.focus();gs.input.focus()},20)}else{gs.input.focus()}}});if(c0){gs.scroller.draggable=true}gq.state.draggingText=go;if(gs.scroller.dragDrop){gs.scroller.dragDrop()}bX(document,"mouseup",go);bX(gs.scroller,"drop",go)}function m(gs,gG,gr,gp,gu){var gD=gs.display,gI=gs.doc;cG(gG);var gq,gH,gt=gI.sel,go=gt.ranges;if(gu&&!gG.shiftKey){gH=gI.sel.contains(gr);if(gH>-1){gq=go[gH]}else{gq=new dZ(gr,gr)}}else{gq=gI.sel.primary();gH=gI.sel.primIndex}if(gG.altKey){gp="rect";if(!gu){gq=new dZ(gr,gr)}gr=cn(gs,gG,true,true);gH=-1}else{if(gp=="double"){var gE=gs.findWordAt(gr);if(gs.display.shift||gI.extend){gq=fA(gI,gq,gE.anchor,gE.head)}else{gq=gE}}else{if(gp=="triple"){var gx=new dZ(W(gr.line,0),fO(gI,W(gr.line+1,0)));if(gs.display.shift||gI.extend){gq=fA(gI,gq,gx.anchor,gx.head)}else{gq=gx}}else{gq=fA(gI,gq,gr)}}}if(!gu){gH=0;bU(gI,new f9([gq],0),M);gt=gI.sel}else{if(gH==-1){gH=go.length;bU(gI,cw(go.concat([gq]),gH),{scroll:false,origin:"*mouse"})}else{if(go.length>1&&go[gH].empty()&&gp=="single"&&!gG.shiftKey){bU(gI,cw(go.slice(0,gH).concat(go.slice(gH+1)),0),{scroll:false,origin:"*mouse"});gt=gI.sel}else{e(gI,gH,gq,M)}}}var gC=gr;function gB(gT){if(cf(gC,gT)==0){return}gC=gT;if(gp=="rect"){var gK=[],gQ=gs.options.tabSize;var gJ=bT(fk(gI,gr.line).text,gr.ch,gQ);var gW=bT(fk(gI,gT.line).text,gT.ch,gQ);var gL=Math.min(gJ,gW),gU=Math.max(gJ,gW);for(var gX=Math.min(gr.line,gT.line),gN=Math.min(gs.lastLine(),Math.max(gr.line,gT.line));gX<=gN;gX++){var gV=fk(gI,gX).text,gM=eu(gV,gL,gQ);if(gL==gU){gK.push(new dZ(W(gX,gM),W(gX,gM)))}else{if(gV.length>gM){gK.push(new dZ(W(gX,gM),W(gX,eu(gV,gU,gQ))))}}}if(!gK.length){gK.push(new dZ(gr,gr))}bU(gI,cw(gt.ranges.slice(0,gH).concat(gK),gH),{origin:"*mouse",scroll:false});gs.scrollIntoView(gT)}else{var gR=gq;var gO=gR.anchor,gS=gT;if(gp!="single"){if(gp=="double"){var gP=gs.findWordAt(gT)}else{var gP=new dZ(W(gT.line,0),fO(gI,W(gT.line+1,0)))}if(cf(gP.anchor,gO)>0){gS=gP.head;gO=ar(gR.from(),gP.anchor)}else{gS=gP.anchor;gO=bx(gR.to(),gP.head)}}var gK=gt.ranges.slice(0);gK[gH]=new dZ(fO(gI,gO),gS);bU(gI,cw(gK,gH),M)}}var gz=gD.wrapper.getBoundingClientRect();var gv=0;function gF(gL){var gJ=++gv;var gN=cn(gs,gL,true,gp=="rect");if(!gN){return}if(cf(gN,gC)!=0){gs.curOp.focus=dP();gB(gN);var gM=b6(gD,gI);if(gN.line>=gM.to||gN.line<gM.from){setTimeout(c2(gs,function(){if(gv==gJ){gF(gL)}}),150)}}else{var gK=gL.clientY<gz.top?-20:gL.clientY>gz.bottom?20:0;if(gK){setTimeout(c2(gs,function(){if(gv!=gJ){return}gD.scroller.scrollTop+=gK;gF(gL)}),50)}}}function gy(gJ){gs.state.selectingText=false;gv=Infinity;cG(gJ);gD.input.focus();eg(document,"mousemove",gA);eg(document,"mouseup",gw);gI.history.lastSelOrigin=null}var gA=c2(gs,function(gJ){if(!fS(gJ)){gy(gJ)}else{gF(gJ)}});var gw=c2(gs,gy);gs.state.selectingText=gw;bX(document,"mousemove",gA);bX(document,"mouseup",gw)}function gm(gz,gv,gx,gy,gr){try{var gp=gv.clientX,go=gv.clientY}catch(gv){return false}if(gp>=Math.floor(gz.display.gutters.getBoundingClientRect().right)){return false}if(gy){cG(gv)}var gw=gz.display;var gu=gw.lineDiv.getBoundingClientRect();if(go>gu.bottom||!fn(gz,gx)){return bL(gv)}go-=gu.top-gw.viewOffset;for(var gs=0;gs<gz.options.gutters.length;++gs){var gt=gw.gutters.childNodes[gs];if(gt&>.getBoundingClientRect().right>=gp){var gA=bG(gz.doc,go);var gq=gz.options.gutters[gs];gr(gz,gx,gz,gA,gq,gv);return bL(gv)}}}function l(go,gp){return gm(go,gp,"gutterClick",true,ae)}var ag=0;function bk(gu){var gw=this;db(gw);if(aR(gw,gu)||bb(gw.display,gu)){return}cG(gu);if(dL){ag=+new Date}var gv=cn(gw,gu,true),go=gu.dataTransfer.files;if(!gv||aj(gw)){return}if(go&&go.length&&window.FileReader&&window.File){var gq=go.length,gx=Array(gq),gp=0;var gs=function(gA,gz){if(gw.options.allowDropFileTypes&&di(gw.options.allowDropFileTypes,gA.type)==-1){return}var gy=new FileReader;gy.onload=c2(gw,function(){var gB=gy.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(gB)){gB=""}gx[gz]=gB;if(++gp==gq){gv=fO(gw.doc,gv);var gC={from:gv,to:gv,text:gw.doc.splitLines(gx.join(gw.doc.lineSeparator())),origin:"paste"};bg(gw.doc,gC);fc(gw.doc,eW(gv,cX(gC)))}});gy.readAsText(gA)};for(var gt=0;gt<gq;++gt){gs(go[gt],gt)}}else{if(gw.state.draggingText&&gw.doc.sel.contains(gv)>-1){gw.state.draggingText(gu);setTimeout(function(){gw.display.input.focus()},20);return}try{var gx=gu.dataTransfer.getData("Text");if(gx){if(gw.state.draggingText&&!(b7?gu.altKey:gu.ctrlKey)){var gr=gw.listSelections()}et(gw.doc,eW(gv,gv));if(gr){for(var gt=0;gt<gr.length;++gt){a1(gw.doc,"",gr[gt].anchor,gr[gt].head,"drag")}}gw.replaceSelection(gx,"around","paste");gw.display.input.focus()}}catch(gu){}}}function Q(go,gq){if(dL&&(!go.state.draggingText||+new Date-ag<100)){ev(gq);return}if(aR(go,gq)||bb(go.display,gq)){return}gq.dataTransfer.setData("Text",go.getSelection());if(gq.dataTransfer.setDragImage&&!aC){var gp=f8("img",null,null,"position: fixed; left: 0; top: 0;");gp.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";if(d5){gp.width=gp.height=1;go.display.wrapper.appendChild(gp);gp._top=gp.offsetTop}gq.dataTransfer.setDragImage(gp,0,0);if(d5){gp.parentNode.removeChild(gp)}}}function gl(go,gp){var gr=cn(go,gp);if(!gr){return}var gq=document.createDocumentFragment();A(go,gr,gq);if(!go.display.dragCursor){go.display.dragCursor=f8("div",null,"CodeMirror-cursors CodeMirror-dragcursors");go.display.lineSpace.insertBefore(go.display.dragCursor,go.display.cursorDiv)}bR(go.display.dragCursor,gq)}function db(go){if(go.display.dragCursor){go.display.lineSpace.removeChild(go.display.dragCursor);go.display.dragCursor=null}}function N(go,gp){if(Math.abs(go.doc.scrollTop-gp)<2){return}go.doc.scrollTop=gp;if(!co){dU(go,{top:gp})}if(go.display.scroller.scrollTop!=gp){go.display.scroller.scrollTop=gp}go.display.scrollbars.setScrollTop(gp);if(co){dU(go)}ei(go,100)}function bE(go,gq,gp){if(gp?gq==go.doc.scrollLeft:Math.abs(go.doc.scrollLeft-gq)<2){return}gq=Math.min(gq,go.display.scroller.scrollWidth-go.display.scroller.clientWidth);go.doc.scrollLeft=gq;eI(go);if(go.display.scroller.scrollLeft!=gq){go.display.scroller.scrollLeft=gq}go.display.scrollbars.setScrollLeft(gq)}var fr=0,cg=null;if(dL){cg=-0.53}else{if(co){cg=15}else{if(dd){cg=-0.7}else{if(aC){cg=-1/3}}}}var cQ=function(gq){var gp=gq.wheelDeltaX,go=gq.wheelDeltaY;if(gp==null&&gq.detail&&gq.axis==gq.HORIZONTAL_AXIS){gp=gq.detail}if(go==null&&gq.detail&&gq.axis==gq.VERTICAL_AXIS){go=gq.detail}else{if(go==null){go=gq.wheelDelta}}return{x:gp,y:go}};H.wheelEventPixels=function(go){var gp=cQ(go);gp.x*=cg;gp.y*=cg;return gp};function b(gy,gs){var gA=cQ(gs),gC=gA.x,gB=gA.y;var gu=gy.display,gx=gu.scroller;var gr=gx.scrollWidth>gx.clientWidth;var gq=gx.scrollHeight>gx.clientHeight;if(!(gC&&gr||gB&&gq)){return}if(gB&&b7&&c0){outer:for(var gz=gs.target,gw=gu.view;gz!=gx;gz=gz.parentNode){for(var gp=0;gp<gw.length;gp++){if(gw[gp].node==gz){gy.display.currentWheelTarget=gz;break outer}}}}if(gC&&!co&&!d5&&cg!=null){if(gB&&gq){N(gy,Math.max(0,Math.min(gx.scrollTop+gB*cg,gx.scrollHeight-gx.clientHeight)))}bE(gy,Math.max(0,Math.min(gx.scrollLeft+gC*cg,gx.scrollWidth-gx.clientWidth)));if(!gB||(gB&&gq)){cG(gs)}gu.wheelStartX=null;return}if(gB&&cg!=null){var go=gB*cg;var gv=gy.doc.scrollTop,gt=gv+gu.wrapper.clientHeight;if(go<0){gv=Math.max(0,gv+go-50)}else{gt=Math.min(gy.doc.height,gt+go+50)}dU(gy,{top:gv,bottom:gt})}if(fr<20){if(gu.wheelStartX==null){gu.wheelStartX=gx.scrollLeft;gu.wheelStartY=gx.scrollTop;gu.wheelDX=gC;gu.wheelDY=gB;setTimeout(function(){if(gu.wheelStartX==null){return}var gD=gx.scrollLeft-gu.wheelStartX;var gF=gx.scrollTop-gu.wheelStartY;var gE=(gF&&gu.wheelDY&&gF/gu.wheelDY)||(gD&&gu.wheelDX&&gD/gu.wheelDX);gu.wheelStartX=gu.wheelStartY=null;if(!gE){return}cg=(cg*fr+gE)/(fr+1);++fr},200)}else{gu.wheelDX+=gC;gu.wheelDY+=gB}}}function fW(gp,gs,go){if(typeof gs=="string"){gs=eH[gs];if(!gs){return false}}gp.display.input.ensurePolled();var gr=gp.display.shift,gq=false;try{if(aj(gp)){gp.state.suppressEdits=true}if(go){gp.display.shift=false}gq=gs(gp)!=ca}finally{gp.display.shift=gr;gp.state.suppressEdits=false}return gq}function ec(gp,gq,gs){for(var gr=0;gr<gp.state.keyMaps.length;gr++){var go=i(gq,gp.state.keyMaps[gr],gs,gp);if(go){return go}}return(gp.options.extraKeys&&i(gq,gp.options.extraKeys,gs,gp))||i(gq,gp.options.keyMap,gs,gp)}var dN=new gn;function bd(gp,gr,gt,gs){var gq=gp.state.keySeq;if(gq){if(eG(gr)){return"handled"}dN.set(50,function(){if(gp.state.keySeq==gq){gp.state.keySeq=null;gp.display.input.reset()}});gr=gq+" "+gr}var go=ec(gp,gr,gs);if(go=="multi"){gp.state.keySeq=gr}if(go=="handled"){ae(gp,"keyHandled",gp,gr,gt)}if(go=="handled"||go=="multi"){cG(gt);o(gp)}if(gq&&!go&&/\'$/.test(gr)){cG(gt);return true}return !!go}function fo(go,gq){var gp=fw(gq,true);if(!gp){return false}if(gq.shiftKey&&!go.state.keySeq){return bd(go,"Shift-"+gp,gq,function(gr){return fW(go,gr,true)})||bd(go,gp,gq,function(gr){if(typeof gr=="string"?/^go[A-Z]/.test(gr):gr.motion){return fW(go,gr)}})}else{return bd(go,gp,gq,function(gr){return fW(go,gr)})}}function em(go,gq,gp){return bd(go,"'"+gp+"'",gq,function(gr){return fW(go,gr,true)})}var dn=null;function p(gr){var go=this;go.curOp.focus=dP();if(aR(go,gr)){return}if(dL&&k<11&&gr.keyCode==27){gr.returnValue=false}var gp=gr.keyCode;go.display.shift=gp==16||gr.shiftKey;var gq=fo(go,gr);if(d5){dn=gq?gp:null;if(!gq&&gp==88&&!da&&(b7?gr.metaKey:gr.ctrlKey)){go.replaceSelection("",null,"cut")}}if(gp==18&&!/\bCodeMirror-crosshair\b/.test(go.display.lineDiv.className)){av(go)}}function av(gp){var gq=gp.display.lineDiv;fF(gq,"CodeMirror-crosshair");function go(gr){if(gr.keyCode==18||!gr.altKey){f(gq,"CodeMirror-crosshair");eg(document,"keyup",go);eg(document,"mouseover",go)}}bX(document,"keyup",go);bX(document,"mouseover",go)}function bi(go){if(go.keyCode==16){this.doc.sel.shift=false}aR(this,go)}function cx(gs){var go=this;if(bb(go.display,gs)||aR(go,gs)||gs.ctrlKey&&!gs.altKey||b7&&gs.metaKey){return}var gr=gs.keyCode,gp=gs.charCode;if(d5&&gr==dn){dn=null;cG(gs);return}if((d5&&(!gs.which||gs.which<10))&&fo(go,gs)){return}var gq=String.fromCharCode(gp==null?gr:gp);if(em(go,gs,gq)){return}go.display.input.onKeyPress(gs)}function al(go){go.state.delayingBlurEvent=true;setTimeout(function(){if(go.state.delayingBlurEvent){go.state.delayingBlurEvent=false;aV(go)}},100)}function cB(go){if(go.state.delayingBlurEvent){go.state.delayingBlurEvent=false}if(go.options.readOnly=="nocursor"){return}if(!go.state.focused){aE(go,"focus",go);go.state.focused=true;fF(go.display.wrapper,"CodeMirror-focused");if(!go.curOp&&go.display.selForContextMenu!=go.doc.sel){go.display.input.reset();if(c0){setTimeout(function(){go.display.input.reset(true)},20)}}go.display.input.receivedFocus()}o(go)}function aV(go){if(go.state.delayingBlurEvent){return}if(go.state.focused){aE(go,"blur",go);go.state.focused=false;f(go.display.wrapper,"CodeMirror-focused")}clearInterval(go.display.blinker);setTimeout(function(){if(!go.state.focused){go.display.shift=false}},150)}function ay(go,gp){if(bb(go.display,gp)||dh(go,gp)){return}if(aR(go,gp,"contextmenu")){return}go.display.input.onContextMenu(gp)}function dh(go,gp){if(!fn(go,"gutterContextMenu")){return false}return gm(go,gp,"gutterContextMenu",false,aE)}var cX=H.changeEnd=function(go){if(!go.text){return go.to}return W(go.from.line+go.text.length-1,fL(go.text).length+(go.text.length==1?go.from.ch:0))};function bZ(gr,gq){if(cf(gr,gq.from)<0){return gr}if(cf(gr,gq.to)<=0){return cX(gq)}var go=gr.line+gq.text.length-(gq.to.line-gq.from.line)-1,gp=gr.ch;if(gr.line==gq.to.line){gp+=cX(gq).ch-gq.to.ch}return W(go,gp)}function fp(gr,gs){var gp=[];for(var gq=0;gq<gr.sel.ranges.length;gq++){var go=gr.sel.ranges[gq];gp.push(new dZ(bZ(go.anchor,gs),bZ(go.head,gs)))}return cw(gp,gr.sel.primIndex)}function bu(gq,gp,go){if(gq.line==gp.line){return W(go.line,gq.ch-gp.ch+go.ch)}else{return W(go.line+(gq.line-gp.line),gq.ch)}}function af(gy,gv,gp){var gq=[];var go=W(gy.first,0),gz=go;for(var gs=0;gs<gv.length;gs++){var gu=gv[gs];var gx=bu(gu.from,go,gz);var gw=bu(cX(gu),go,gz);go=gu.to;gz=gw;if(gp=="around"){var gt=gy.sel.ranges[gs],gr=cf(gt.head,gt.anchor)<0;gq[gs]=new dZ(gr?gw:gx,gr?gx:gw)}else{gq[gs]=new dZ(gx,gx)}}return new f9(gq,gy.sel.primIndex)}function dS(gp,gr,gq){var go={canceled:false,from:gr.from,to:gr.to,text:gr.text,origin:gr.origin,cancel:function(){this.canceled=true}};if(gq){go.update=function(gv,gu,gt,gs){if(gv){this.from=fO(gp,gv)}if(gu){this.to=fO(gp,gu)}if(gt){this.text=gt}if(gs!==undefined){this.origin=gs}}}aE(gp,"beforeChange",gp,go);if(gp.cm){aE(gp.cm,"beforeChange",gp.cm,go)}if(go.canceled){return null}return{from:go.from,to:go.to,text:go.text,origin:go.origin}}function bg(gr,gs,gq){if(gr.cm){if(!gr.cm.curOp){return c2(gr.cm,bg)(gr,gs,gq)}if(gr.cm.state.suppressEdits){return}}if(fn(gr,"beforeChange")||gr.cm&&fn(gr.cm,"beforeChange")){gs=dS(gr,gs,true);if(!gs){return}}var gp=gi&&!gq&&cH(gr,gs.from,gs.to);if(gp){for(var go=gp.length-1;go>=0;--go){K(gr,{from:gp[go].from,to:gp[go].to,text:go?[""]:gs.text})}}else{K(gr,gs)}}function K(gq,gr){if(gr.text.length==1&&gr.text[0]==""&&cf(gr.from,gr.to)==0){return}var gp=fp(gq,gr);fR(gq,gr,gp,gq.cm?gq.cm.curOp.id:NaN);eh(gq,gr,gp,en(gq,gr));var go=[];d9(gq,function(gt,gs){if(!gs&&di(go,gt.history)==-1){dF(gt.history,gr);go.push(gt.history)}eh(gt,gr,null,en(gt,gr))})}function b8(gz,gx,gB){if(gz.cm&&gz.cm.state.suppressEdits){return}var gw=gz.history,gq,gs=gz.sel;var go=gx=="undo"?gw.done:gw.undone,gA=gx=="undo"?gw.undone:gw.done;for(var gt=0;gt<go.length;gt++){gq=go[gt];if(gB?gq.ranges&&!gq.equals(gz.sel):!gq.ranges){break}}if(gt==go.length){return}gw.lastOrigin=gw.lastSelOrigin=null;for(;;){gq=go.pop();if(gq.ranges){cN(gq,gA);if(gB&&!gq.equals(gz.sel)){bU(gz,gq,{clearRedo:false});return}gs=gq}else{break}}var gv=[];cN(gs,gA);gA.push({changes:gv,generation:gw.generation});gw.generation=gq.generation||++gw.maxGeneration;var gr=fn(gz,"beforeChange")||gz.cm&&fn(gz.cm,"beforeChange");for(var gt=gq.changes.length-1;gt>=0;--gt){var gy=gq.changes[gt];gy.origin=gx;if(gr&&!dS(gz,gy,false)){go.length=0;return}gv.push(dv(gz,gy));var gp=gt?fp(gz,gy):fL(go);eh(gz,gy,gp,eb(gz,gy));if(!gt&&gz.cm){gz.cm.scrollIntoView({from:gy.from,to:cX(gy)})}var gu=[];d9(gz,function(gD,gC){if(!gC&&di(gu,gD.history)==-1){dF(gD.history,gy);gu.push(gD.history)}eh(gD,gy,null,eb(gD,gy))})}}function fs(gp,gr){if(gr==0){return}gp.first+=gr;gp.sel=new f9(bS(gp.sel.ranges,function(gs){return new dZ(W(gs.anchor.line+gr,gs.anchor.ch),W(gs.head.line+gr,gs.head.ch))}),gp.sel.primIndex);if(gp.cm){ah(gp.cm,gp.first,gp.first-gr,gr);for(var gq=gp.cm.display,go=gq.viewFrom;go<gq.viewTo;go++){R(gp.cm,go,"gutter")}}}function eh(gs,gt,gr,gp){if(gs.cm&&!gs.cm.curOp){return c2(gs.cm,eh)(gs,gt,gr,gp)}if(gt.to.line<gs.first){fs(gs,gt.text.length-1-(gt.to.line-gt.from.line));return}if(gt.from.line>gs.lastLine()){return}if(gt.from.line<gs.first){var go=gt.text.length-1-(gs.first-gt.from.line);fs(gs,go);gt={from:W(gs.first,0),to:W(gt.to.line+go,gt.to.ch),text:[fL(gt.text)],origin:gt.origin}}var gq=gs.lastLine();if(gt.to.line>gq){gt={from:gt.from,to:W(gq,fk(gs,gq).text.length),text:[gt.text[0]],origin:gt.origin}}gt.removed=ga(gs,gt.from,gt.to);if(!gr){gr=fp(gs,gt)}if(gs.cm){aJ(gs.cm,gt,gp)}else{fD(gs,gt,gp)}et(gs,gr,Z)}function aJ(gz,gv,gt){var gy=gz.doc,gu=gz.display,gw=gv.from,gx=gv.to;var go=false,gs=gw.line;if(!gz.options.lineWrapping){gs=bN(x(fk(gy,gw.line)));gy.iter(gs,gx.line+1,function(gB){if(gB==gu.maxLine){go=true;return true}})}if(gy.sel.contains(gv.from,gv.to)>-1){V(gz)}fD(gy,gv,gt,be(gz));if(!gz.options.lineWrapping){gy.iter(gs,gw.line+gv.text.length,function(gC){var gB=er(gC);if(gB>gu.maxLineLength){gu.maxLine=gC;gu.maxLineLength=gB;gu.maxLineChanged=true;go=false}});if(go){gz.curOp.updateMaxLine=true}}gy.frontier=Math.min(gy.frontier,gw.line);ei(gz,400);var gA=gv.text.length-(gx.line-gw.line)-1;if(gv.full){ah(gz)}else{if(gw.line==gx.line&&gv.text.length==1&&!dT(gz.doc,gv)){R(gz,gw.line,"text")}else{ah(gz,gw.line,gx.line+1,gA)}}var gq=fn(gz,"changes"),gr=fn(gz,"change");if(gr||gq){var gp={from:gw,to:gx,text:gv.text,removed:gv.removed,origin:gv.origin};if(gr){ae(gz,"change",gz,gp)}if(gq){(gz.curOp.changeObjs||(gz.curOp.changeObjs=[])).push(gp)}}gz.display.selForContextMenu=null}function a1(gr,gq,gt,gs,go){if(!gs){gs=gt}if(cf(gs,gt)<0){var gp=gs;gs=gt;gt=gp}if(typeof gq=="string"){gq=gr.splitLines(gq)}bg(gr,{from:gt,to:gs,text:gq,origin:go})}function d8(gp,gs){if(aR(gp,"scrollCursorIntoView")){return}var gt=gp.display,gq=gt.sizer.getBoundingClientRect(),go=null;if(gs.top+gq.top<0){go=true}else{if(gs.bottom+gq.top>(window.innerHeight||document.documentElement.clientHeight)){go=false}}if(go!=null&&!fz){var gr=f8("div","\u200b",null,"position: absolute; top: "+(gs.top-gt.viewOffset-fd(gp.display))+"px; height: "+(gs.bottom-gs.top+cT(gp)+gt.barHeight)+"px; left: "+gs.left+"px; width: 2px;");gp.display.lineSpace.appendChild(gr);gr.scrollIntoView(go);gp.display.lineSpace.removeChild(gr)}}function D(gy,gw,gs,gr){if(gr==null){gr=0}for(var gt=0;gt<5;gt++){var gu=false,gx=dV(gy,gw);var go=!gs||gs==gw?gx:dV(gy,gs);var gq=G(gy,Math.min(gx.left,go.left),Math.min(gx.top,go.top)-gr,Math.max(gx.left,go.left),Math.max(gx.bottom,go.bottom)+gr);var gv=gy.doc.scrollTop,gp=gy.doc.scrollLeft;if(gq.scrollTop!=null){N(gy,gq.scrollTop);if(Math.abs(gy.doc.scrollTop-gv)>1){gu=true}}if(gq.scrollLeft!=null){bE(gy,gq.scrollLeft);if(Math.abs(gy.doc.scrollLeft-gp)>1){gu=true}}if(!gu){break}}return gx}function E(go,gq,gs,gp,gr){var gt=G(go,gq,gs,gp,gr);if(gt.scrollTop!=null){N(go,gt.scrollTop)}if(gt.scrollLeft!=null){bE(go,gt.scrollLeft)}}function G(gA,gr,gz,gp,gy){var gw=gA.display,gu=aY(gA.display);if(gz<0){gz=0}var gs=gA.curOp&&gA.curOp.scrollTop!=null?gA.curOp.scrollTop:gw.scroller.scrollTop;var gC=cV(gA),gE={};if(gy-gz>gC){gy=gz+gC}var gq=gA.doc.height+bI(gw);var go=gz<gu,gv=gy>gq-gu;if(gz<gs){gE.scrollTop=go?0:gz}else{if(gy>gs+gC){var gx=Math.min(gz,(gv?gq:gy)-gC);if(gx!=gs){gE.scrollTop=gx}}}var gD=gA.curOp&&gA.curOp.scrollLeft!=null?gA.curOp.scrollLeft:gw.scroller.scrollLeft;var gB=dm(gA)-(gA.options.fixedGutter?gw.gutters.offsetWidth:0);var gt=gp-gr>gB;if(gt){gp=gr+gB}if(gr<10){gE.scrollLeft=0}else{if(gr<gD){gE.scrollLeft=Math.max(0,gr-(gt?0:10))}else{if(gp>gB+gD-3){gE.scrollLeft=gp+(gt?0:10)-gB}}}return gE}function cL(go,gq,gp){if(gq!=null||gp!=null){fH(go)}if(gq!=null){go.curOp.scrollLeft=(go.curOp.scrollLeft==null?go.doc.scrollLeft:go.curOp.scrollLeft)+gq}if(gp!=null){go.curOp.scrollTop=(go.curOp.scrollTop==null?go.doc.scrollTop:go.curOp.scrollTop)+gp}}function fK(go){fH(go);var gp=go.getCursor(),gr=gp,gq=gp;if(!go.options.lineWrapping){gr=gp.ch?W(gp.line,gp.ch-1):gp;gq=W(gp.line,gp.ch+1)}go.curOp.scrollToPos={from:gr,to:gq,margin:go.options.cursorScrollMargin,isCursor:true}}function fH(go){var gq=go.curOp.scrollToPos;if(gq){go.curOp.scrollToPos=null;var gs=dI(go,gq.from),gr=dI(go,gq.to);var gp=G(go,Math.min(gs.left,gr.left),Math.min(gs.top,gr.top)-gq.margin,Math.max(gs.right,gr.right),Math.max(gs.bottom,gr.bottom)+gq.margin);go.scrollTo(gp.scrollLeft,gp.scrollTop)}}function ad(gB,gr,gA,gq){var gz=gB.doc,gp;if(gA==null){gA="add"}if(gA=="smart"){if(!gz.mode.indent){gA="prev"}else{gp=dD(gB,gr)}}var gv=gB.options.tabSize;var gC=fk(gz,gr),gu=bT(gC.text,null,gv);if(gC.stateAfter){gC.stateAfter=null}var go=gC.text.match(/^\s*/)[0],gx;if(!gq&&!/\S/.test(gC.text)){gx=0;gA="not"}else{if(gA=="smart"){gx=gz.mode.indent(gp,gC.text.slice(go.length),gC.text);if(gx==ca||gx>150){if(!gq){return}gA="prev"}}}if(gA=="prev"){if(gr>gz.first){gx=bT(fk(gz,gr-1).text,null,gv)}else{gx=0}}else{if(gA=="add"){gx=gu+gB.options.indentUnit}else{if(gA=="subtract"){gx=gu-gB.options.indentUnit}else{if(typeof gA=="number"){gx=gu+gA}}}}gx=Math.max(0,gx);var gy="",gw=0;if(gB.options.indentWithTabs){for(var gs=Math.floor(gx/gv);gs;--gs){gw+=gv;gy+="\t"}}if(gw<gx){gy+=cp(gx-gw)}if(gy!=go){a1(gz,gy,W(gr,0),W(gr,go.length),"+input");gC.stateAfter=null;return true}else{for(var gs=0;gs<gz.sel.ranges.length;gs++){var gt=gz.sel.ranges[gs];if(gt.head.line==gr&>.head.ch<go.length){var gw=W(gr,go.length);e(gz,gs,new dZ(gw,gw));break}}}}function eD(gr,gq,go,gt){var gs=gq,gp=gq;if(typeof gq=="number"){gp=fk(gr,c5(gr,gq))}else{gs=bN(gq)}if(gs==null){return null}if(gt(gp,gs)&&gr.cm){R(gr.cm,gs,go)}return gp}function e1(go,gu){var gp=go.doc.sel.ranges,gs=[];for(var gr=0;gr<gp.length;gr++){var gq=gu(gp[gr]);while(gs.length&&cf(gq.from,fL(gs).to)<=0){var gt=gs.pop();if(cf(gt.from,gq.from)<0){gq.from=gt.from;break}}gs.push(gq)}cM(go,function(){for(var gv=gs.length-1;gv>=0;gv--){a1(go.doc,"",gs[gv].from,gs[gv].to,"+delete")}fK(go)})}function bw(gG,gs,gA,gz,gu){var gx=gs.line,gy=gs.ch,gF=gA;var gp=fk(gG,gx);var gD=true;function gE(){var gH=gx+gA;if(gH<gG.first||gH>=gG.first+gG.size){return(gD=false)}gx=gH;return gp=fk(gG,gH)}function gC(gI){var gH=(gu?u:ai)(gp,gy,gA,true);if(gH==null){if(!gI&&gE()){if(gu){gy=(gA<0?cS:cE)(gp)}else{gy=gA<0?gp.text.length:0}}else{return(gD=false)}}else{gy=gH}return true}if(gz=="char"){gC()}else{if(gz=="column"){gC(true)}else{if(gz=="word"||gz=="group"){var gB=null,gv=gz=="group";var go=gG.cm&&gG.cm.getHelper(gs,"wordChars");for(var gt=true;;gt=false){if(gA<0&&!gC(!gt)){break}var gq=gp.text.charAt(gy)||"\n";var gr=cA(gq,go)?"w":gv&&gq=="\n"?"n":!gv||/\s/.test(gq)?null:"p";if(gv&&!gt&&!gr){gr="s"}if(gB&&gB!=gr){if(gA<0){gA=1;gC()}break}if(gr){gB=gr}if(gA>0&&!gC(!gt)){break}}}}}var gw=bV(gG,W(gx,gy),gF,true);if(!gD){gw.hitSide=true}return gw}function bq(gw,gr,go,gv){var gu=gw.doc,gt=gr.left,gs;if(gv=="page"){var gq=Math.min(gw.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);gs=gr.top+go*(gq-(go<0?1.5:0.5)*aY(gw.display))}else{if(gv=="line"){gs=go>0?gr.bottom+3:gr.top-3}}for(;;){var gp=fT(gw,gt,gs);if(!gp.outside){break}if(go<0?gs<=0:gs>=gu.height){gp.hitSide=true;break}gs+=go*5}return gp}H.prototype={constructor:H,focus:function(){window.focus();this.display.input.focus()},setOption:function(gq,gr){var gp=this.options,go=gp[gq];if(gp[gq]==gr&&gq!="mode"){return}gp[gq]=gr;if(bf.hasOwnProperty(gq)){c2(this,bf[gq])(this,gr,go)}},getOption:function(go){return this.options[go]},getDoc:function(){return this.doc},addKeyMap:function(gp,go){this.state.keyMaps[go?"push":"unshift"](f3(gp))},removeKeyMap:function(gp){var gq=this.state.keyMaps;for(var go=0;go<gq.length;++go){if(gq[go]==gp||gq[go].name==gp){gq.splice(go,1);return true}}},addOverlay:c8(function(go,gp){var gq=go.token?go:H.getMode(this.options,go);if(gq.startState){throw new Error("Overlays may not be stateful.")}this.state.overlays.push({mode:gq,modeSpec:go,opaque:gp&&gp.opaque});this.state.modeGen++;ah(this)}),removeOverlay:c8(function(go){var gq=this.state.overlays;for(var gp=0;gp<gq.length;++gp){var gr=gq[gp].modeSpec;if(gr==go||typeof go=="string"&&gr.name==go){gq.splice(gp,1);this.state.modeGen++;ah(this);return}}}),indentLine:c8(function(gq,go,gp){if(typeof go!="string"&&typeof go!="number"){if(go==null){go=this.options.smartIndent?"smart":"prev"}else{go=go?"add":"subtract"}}if(b9(this.doc,gq)){ad(this,gq,go,gp)}}),indentSelection:c8(function(gx){var go=this.doc.sel.ranges,gr=-1;for(var gt=0;gt<go.length;gt++){var gu=go[gt];if(!gu.empty()){var gv=gu.from(),gw=gu.to();var gp=Math.max(gr,gv.line);gr=Math.min(this.lastLine(),gw.line-(gw.ch?0:1))+1;for(var gs=gp;gs<gr;++gs){ad(this,gs,gx)}var gq=this.doc.sel.ranges;if(gv.ch==0&&go.length==gq.length&&gq[gt].from().ch>0){e(this.doc,gt,new dZ(gv,gq[gt].to()),Z)}}else{if(gu.head.line>gr){ad(this,gu.head.line,gx,true);gr=gu.head.line;if(gt==this.doc.sel.primIndex){fK(this)}}}}}),getTokenAt:function(gp,go){return cq(this,gp,go)},getLineTokens:function(gp,go){return cq(this,W(gp),go,true)},getTokenTypeAt:function(gv){gv=fO(this.doc,gv);var gr=c6(this,fk(this.doc,gv.line));var gt=0,gu=(gr.length-1)/2,gq=gv.ch;var gp;if(gq==0){gp=gr[2]}else{for(;;){var go=(gt+gu)>>1;if((go?gr[go*2-1]:0)>=gq){gu=go}else{if(gr[go*2+1]<gq){gt=go+1}else{gp=gr[go*2+2];break}}}}var gs=gp?gp.indexOf("cm-overlay "):-1;return gs<0?gp:gs==0?null:gp.slice(0,gs-1)},getModeAt:function(gp){var go=this.doc.mode;if(!go.innerMode){return go}return H.innerMode(go,this.getTokenAt(gp).state).mode},getHelper:function(gp,go){return this.getHelpers(gp,go)[0]},getHelpers:function(gv,gq){var gr=[];if(!ft.hasOwnProperty(gq)){return gr}var go=ft[gq],gu=this.getModeAt(gv);if(typeof gu[gq]=="string"){if(go[gu[gq]]){gr.push(go[gu[gq]])}}else{if(gu[gq]){for(var gp=0;gp<gu[gq].length;gp++){var gt=go[gu[gq][gp]];if(gt){gr.push(gt)}}}else{if(gu.helperType&&go[gu.helperType]){gr.push(go[gu.helperType])}else{if(go[gu.name]){gr.push(go[gu.name])}}}}for(var gp=0;gp<go._global.length;gp++){var gs=go._global[gp];if(gs.pred(gu,this)&&di(gr,gs.val)==-1){gr.push(gs.val)}}return gr},getStateAfter:function(gp,go){var gq=this.doc;gp=c5(gq,gp==null?gq.first+gq.size-1:gp);return dD(this,gp+1,go)},cursorCoords:function(gr,gp){var gq,go=this.doc.sel.primary();if(gr==null){gq=go.head}else{if(typeof gr=="object"){gq=fO(this.doc,gr)}else{gq=gr?go.from():go.to()}}return dV(this,gq,gp||"page")},charCoords:function(gp,go){return cJ(this,fO(this.doc,gp),go||"page")},coordsChar:function(go,gp){go=gk(this,go,gp||"page");return fT(this,go.left,go.top)},lineAtHeight:function(go,gp){go=gk(this,{top:go,left:0},gp||"page").top;return bG(this.doc,go+this.display.viewOffset)},heightAtLine:function(gp,gs){var go=false,gq;if(typeof gp=="number"){var gr=this.doc.first+this.doc.size-1;if(gp<this.doc.first){gp=this.doc.first}else{if(gp>gr){gp=gr;go=true}}gq=fk(this.doc,gp)}else{gq=gp}return eU(this,gq,{top:0,left:0},gs||"page").top+(go?this.doc.height-bM(gq):0)},defaultTextHeight:function(){return aY(this.display)},defaultCharWidth:function(){return dE(this.display)},setGutterMarker:c8(function(go,gp,gq){return eD(this.doc,go,"gutter",function(gr){var gs=gr.gutterMarkers||(gr.gutterMarkers={});gs[gp]=gq;if(!gq&&eY(gs)){gr.gutterMarkers=null}return true})}),clearGutter:c8(function(gq){var go=this,gr=go.doc,gp=gr.first;gr.iter(function(gs){if(gs.gutterMarkers&&gs.gutterMarkers[gq]){gs.gutterMarkers[gq]=null;R(go,gp,"gutter");if(eY(gs.gutterMarkers)){gs.gutterMarkers=null}}++gp})}),lineInfo:function(go){if(typeof go=="number"){if(!b9(this.doc,go)){return null}var gp=go;go=fk(this.doc,go);if(!go){return null}}else{var gp=bN(go);if(gp==null){return null}}return{line:gp,handle:go,text:go.text,gutterMarkers:go.gutterMarkers,textClass:go.textClass,bgClass:go.bgClass,wrapClass:go.wrapClass,widgets:go.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(gt,gq,gv,gr,gx){var gs=this.display;gt=dV(this,fO(this.doc,gt));var gu=gt.bottom,gp=gt.left;gq.style.position="absolute";gq.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(gq);gs.sizer.appendChild(gq);if(gr=="over"){gu=gt.top}else{if(gr=="above"||gr=="near"){var go=Math.max(gs.wrapper.clientHeight,this.doc.height),gw=Math.max(gs.sizer.clientWidth,gs.lineSpace.clientWidth);if((gr=="above"||gt.bottom+gq.offsetHeight>go)&>.top>gq.offsetHeight){gu=gt.top-gq.offsetHeight}else{if(gt.bottom+gq.offsetHeight<=go){gu=gt.bottom}}if(gp+gq.offsetWidth>gw){gp=gw-gq.offsetWidth}}}gq.style.top=gu+"px";gq.style.left=gq.style.right="";if(gx=="right"){gp=gs.sizer.clientWidth-gq.offsetWidth;gq.style.right="0px"}else{if(gx=="left"){gp=0}else{if(gx=="middle"){gp=(gs.sizer.clientWidth-gq.offsetWidth)/2}}gq.style.left=gp+"px"}if(gv){E(this,gp,gu,gp+gq.offsetWidth,gu+gq.offsetHeight)}},triggerOnKeyDown:c8(p),triggerOnKeyPress:c8(cx),triggerOnKeyUp:bi,execCommand:function(go){if(eH.hasOwnProperty(go)){return eH[go].call(null,this)}},triggerElectric:c8(function(go){f1(this,go)}),findPosH:function(gu,gr,gs,gp){var go=1;if(gr<0){go=-1;gr=-gr}for(var gq=0,gt=fO(this.doc,gu);gq<gr;++gq){gt=bw(this.doc,gt,go,gs,gp);if(gt.hitSide){break}}return gt},moveH:c8(function(gp,gq){var go=this;go.extendSelectionsBy(function(gr){if(go.display.shift||go.doc.extend||gr.empty()){return bw(go.doc,gr.head,gp,gq,go.options.rtlMoveVisually)}else{return gp<0?gr.from():gr.to()}},cW)}),deleteH:c8(function(go,gp){var gq=this.doc.sel,gr=this.doc;if(gq.somethingSelected()){gr.replaceSelection("",null,"+delete")}else{e1(this,function(gt){var gs=bw(gr,gt.head,go,gp,false);return go<0?{from:gs,to:gt.head}:{from:gt.head,to:gs}})}}),findPosV:function(gt,gq,gu,gw){var go=1,gs=gw;if(gq<0){go=-1;gq=-gq}for(var gp=0,gv=fO(this.doc,gt);gp<gq;++gp){var gr=dV(this,gv,"div");if(gs==null){gs=gr.left}else{gr.left=gs}gv=bq(this,gr,go,gu);if(gv.hitSide){break}}return gv},moveV:c8(function(gp,gr){var go=this,gt=this.doc,gs=[];var gu=!go.display.shift&&!gt.extend&>.sel.somethingSelected();gt.extendSelectionsBy(function(gv){if(gu){return gp<0?gv.from():gv.to()}var gx=dV(go,gv.head,"div");if(gv.goalColumn!=null){gx.left=gv.goalColumn}gs.push(gx.left);var gw=bq(go,gx,gp,gr);if(gr=="page"&&gv==gt.sel.primary()){cL(go,null,cJ(go,gw,"div").top-gx.top)}return gw},cW);if(gs.length){for(var gq=0;gq<gt.sel.ranges.length;gq++){gt.sel.ranges[gq].goalColumn=gs[gq]}}}),findWordAt:function(gv){var gt=this.doc,gr=fk(gt,gv.line).text;var gu=gv.ch,gq=gv.ch;if(gr){var gs=this.getHelper(gv,"wordChars");if((gv.xRel<0||gq==gr.length)&&gu){--gu}else{++gq}var gp=gr.charAt(gu);var go=cA(gp,gs)?function(gw){return cA(gw,gs)}:/\s/.test(gp)?function(gw){return/\s/.test(gw)}:function(gw){return !/\s/.test(gw)&&!cA(gw)};while(gu>0&&go(gr.charAt(gu-1))){--gu}while(gq<gr.length&&go(gr.charAt(gq))){++gq}}return new dZ(W(gv.line,gu),W(gv.line,gq))},toggleOverwrite:function(go){if(go!=null&&go==this.state.overwrite){return}if(this.state.overwrite=!this.state.overwrite){fF(this.display.cursorDiv,"CodeMirror-overwrite")}else{f(this.display.cursorDiv,"CodeMirror-overwrite")}aE(this,"overwriteToggle",this,this.state.overwrite)},hasFocus:function(){return this.display.input.getField()==dP()},scrollTo:c8(function(go,gp){if(go!=null||gp!=null){fH(this)}if(go!=null){this.curOp.scrollLeft=go}if(gp!=null){this.curOp.scrollTop=gp}}),getScrollInfo:function(){var go=this.display.scroller;return{left:go.scrollLeft,top:go.scrollTop,height:go.scrollHeight-cT(this)-this.display.barHeight,width:go.scrollWidth-cT(this)-this.display.barWidth,clientHeight:cV(this),clientWidth:dm(this)}},scrollIntoView:c8(function(gp,gq){if(gp==null){gp={from:this.doc.sel.primary().head,to:null};if(gq==null){gq=this.options.cursorScrollMargin}}else{if(typeof gp=="number"){gp={from:W(gp,0),to:null}}else{if(gp.from==null){gp={from:gp,to:null}}}}if(!gp.to){gp.to=gp.from}gp.margin=gq||0;if(gp.from.line!=null){fH(this);this.curOp.scrollToPos=gp}else{var go=G(this,Math.min(gp.from.left,gp.to.left),Math.min(gp.from.top,gp.to.top)-gp.margin,Math.max(gp.from.right,gp.to.right),Math.max(gp.from.bottom,gp.to.bottom)+gp.margin);this.scrollTo(go.scrollLeft,go.scrollTop)}}),setSize:c8(function(gr,gp){var go=this;function gq(gt){return typeof gt=="number"||/^\d+$/.test(String(gt))?gt+"px":gt}if(gr!=null){go.display.wrapper.style.width=gq(gr)}if(gp!=null){go.display.wrapper.style.height=gq(gp)}if(go.options.lineWrapping){aO(this)}var gs=go.display.viewFrom;go.doc.iter(gs,go.display.viewTo,function(gt){if(gt.widgets){for(var gu=0;gu<gt.widgets.length;gu++){if(gt.widgets[gu].noHScroll){R(go,gs,"widget");break}}}++gs});go.curOp.forceUpdate=true;aE(go,"refresh",this)}),operation:function(go){return cM(this,go)},refresh:c8(function(){var go=this.display.cachedTextHeight;ah(this);this.curOp.forceUpdate=true;ak(this);this.scrollTo(this.doc.scrollLeft,this.doc.scrollTop);c4(this);if(go==null||Math.abs(go-aY(this.display))>0.5){X(this)}aE(this,"refresh",this)}),swapDoc:c8(function(gp){var go=this.doc;go.cm=null;ee(this,gp);ak(this);this.display.input.reset();this.scrollTo(gp.scrollLeft,gp.scrollTop);this.curOp.forceScroll=true;ae(this,"swapDoc",this,go);return go}),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}};by(H);var e7=H.defaults={};var bf=H.optionHandlers={};function s(go,gr,gq,gp){H.defaults[go]=gr;if(gq){bf[go]=gp?function(gs,gu,gt){if(gt!=cc){gq(gs,gu,gt)}}:gq}}var cc=H.Init={toString:function(){return"CodeMirror.Init"}};s("value","",function(go,gp){go.setValue(gp)},true);s("mode",null,function(go,gp){go.doc.modeOption=gp;br(go)},true);s("indentUnit",2,br,true);s("indentWithTabs",false);s("smartIndent",true);s("tabSize",4,function(go){ep(go);ak(go);ah(go)},true);s("lineSeparator",null,function(go,gr){go.doc.lineSep=gr;if(!gr){return}var gq=[],gs=go.doc.first;go.doc.iter(function(gt){for(var gv=0;;){var gu=gt.text.indexOf(gr,gv);if(gu==-1){break}gv=gu+gr.length;gq.push(W(gs,gu))}gs++});for(var gp=gq.length-1;gp>=0;gp--){a1(go.doc,gr,gq[gp],W(gq[gp].line,gq[gp].ch+gr.length))}});s("specialChars",/[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(go,gq,gp){go.state.specialChars=new RegExp(gq.source+(gq.test("\t")?"":"|\t"),"g");if(gp!=H.Init){go.refresh()}});s("specialCharPlaceholder",fh,function(go){go.refresh()},true);s("electricChars",true);s("inputStyle",ej?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},true);s("rtlMoveVisually",!aP);s("wholeLineUpdateBefore",true);s("theme","default",function(go){cO(go);dx(go)},true);s("keyMap","default",function(go,gs,gp){var gq=f3(gs);var gr=gp!=H.Init&&f3(gp);if(gr&&gr.detach){gr.detach(go,gq)}if(gq.attach){gq.attach(go,gr||null)}});s("extraKeys",null);s("lineWrapping",false,eK,true);s("gutters",[],function(go){ce(go.options);dx(go)},true);s("fixedGutter",true,function(go,gp){go.display.gutters.style.left=gp?dY(go.display)+"px":"0";go.refresh()},true);s("coverGutterNextToScrollbar",false,function(go){e2(go)},true);s("scrollbarStyle","native",function(go){aD(go);e2(go);go.display.scrollbars.setScrollTop(go.doc.scrollTop);go.display.scrollbars.setScrollLeft(go.doc.scrollLeft)},true);s("lineNumbers",false,function(go){ce(go.options);dx(go)},true);s("firstLineNumber",1,dx,true);s("lineNumberFormatter",function(go){return go},dx,true);s("showCursorWhenSelecting",false,bC,true);s("resetSelectionOnContextMenu",true);s("lineWiseCopyCut",true);s("readOnly",false,function(go,gp){if(gp=="nocursor"){aV(go);go.display.input.blur();go.display.disabled=true}else{go.display.disabled=false}go.display.input.readOnlyChanged(gp)});s("disableInput",false,function(go,gp){if(!gp){go.display.input.reset()}},true);s("dragDrop",true,f6);s("allowDropFileTypes",null);s("cursorBlinkRate",530);s("cursorScrollMargin",0);s("cursorHeight",1,bC,true);s("singleCursorHeightPerLine",true,bC,true);s("workTime",100);s("workDelay",100);s("flattenSpans",true,ep,true);s("addModeClass",false,ep,true);s("pollInterval",100);s("undoDepth",200,function(go,gp){go.doc.history.undoDepth=gp});s("historyEventDelay",1250);s("viewportMargin",10,function(go){go.refresh()},true);s("maxHighlightLength",10000,ep,true);s("moveInputWithCursor",true,function(go,gp){if(!gp){go.display.input.resetPosition()}});s("tabindex",null,function(go,gp){go.display.input.getField().tabIndex=gp||""});s("autofocus",null);var dt=H.modes={},aS=H.mimeModes={};H.defineMode=function(go,gp){if(!H.defaults.mode&&go!="null"){H.defaults.mode=go}if(arguments.length>2){gp.dependencies=Array.prototype.slice.call(arguments,2)}dt[go]=gp};H.defineMIME=function(gp,go){aS[gp]=go};H.resolveMode=function(go){if(typeof go=="string"&&aS.hasOwnProperty(go)){go=aS[go]}else{if(go&&typeof go.name=="string"&&aS.hasOwnProperty(go.name)){var gp=aS[go.name];if(typeof gp=="string"){gp={name:gp}}go=ck(gp,go);go.name=gp.name}else{if(typeof go=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(go)){return H.resolveMode("application/xml")}}}if(typeof go=="string"){return{name:go}}else{return go||{name:"null"}}};H.getMode=function(gp,go){var go=H.resolveMode(go);var gr=dt[go.name];if(!gr){return H.getMode(gp,"text/plain")}var gs=gr(gp,go);if(dq.hasOwnProperty(go.name)){var gq=dq[go.name];for(var gt in gq){if(!gq.hasOwnProperty(gt)){continue}if(gs.hasOwnProperty(gt)){gs["_"+gt]=gs[gt]}gs[gt]=gq[gt]}}gs.name=go.name;if(go.helperType){gs.helperType=go.helperType}if(go.modeProps){for(var gt in go.modeProps){gs[gt]=go.modeProps[gt]}}return gs};H.defineMode("null",function(){return{token:function(go){go.skipToEnd()}}});H.defineMIME("text/plain","null");var dq=H.modeExtensions={};H.extendMode=function(gq,gp){var go=dq.hasOwnProperty(gq)?dq[gq]:(dq[gq]={});aN(gp,go)};H.defineExtension=function(go,gp){H.prototype[go]=gp};H.defineDocExtension=function(go,gp){at.prototype[go]=gp};H.defineOption=s;var a8=[];H.defineInitHook=function(go){a8.push(go)};var ft=H.helpers={};H.registerHelper=function(gp,go,gq){if(!ft.hasOwnProperty(gp)){ft[gp]=H[gp]={_global:[]}}ft[gp][go]=gq};H.registerGlobalHelper=function(gq,gp,go,gr){H.registerHelper(gq,gp,gr);ft[gq]._global.push({pred:go,val:gr})};var b3=H.copyState=function(gr,go){if(go===true){return go}if(gr.copyState){return gr.copyState(go)}var gq={};for(var gs in go){var gp=go[gs];if(gp instanceof Array){gp=gp.concat([])}gq[gs]=gp}return gq};var b0=H.startState=function(gq,gp,go){return gq.startState?gq.startState(gp,go):true};H.innerMode=function(gq,go){while(gq.innerMode){var gp=gq.innerMode(go);if(!gp||gp.mode==gq){break}go=gp.state;gq=gp.mode}return gp||{mode:gq,state:go}};var eH=H.commands={selectAll:function(go){go.setSelection(W(go.firstLine(),0),W(go.lastLine()),Z)},singleSelection:function(go){go.setSelection(go.getCursor("anchor"),go.getCursor("head"),Z)},killLine:function(go){e1(go,function(gq){if(gq.empty()){var gp=fk(go.doc,gq.head.line).text.length;if(gq.head.ch==gp&&gq.head.line<go.lastLine()){return{from:gq.head,to:W(gq.head.line+1,0)}}else{return{from:gq.head,to:W(gq.head.line,gp)}}}else{return{from:gq.from(),to:gq.to()}}})},deleteLine:function(go){e1(go,function(gp){return{from:W(gp.from().line,0),to:fO(go.doc,W(gp.to().line+1,0))}})},delLineLeft:function(go){e1(go,function(gp){return{from:W(gp.from().line,0),to:gp.from()}})},delWrappedLineLeft:function(go){e1(go,function(gp){var gr=go.charCoords(gp.head,"div").top+5;var gq=go.coordsChar({left:0,top:gr},"div");return{from:gq,to:gp.from()}})},delWrappedLineRight:function(go){e1(go,function(gp){var gr=go.charCoords(gp.head,"div").top+5;var gq=go.coordsChar({left:go.display.lineDiv.offsetWidth+100,top:gr},"div");return{from:gp.from(),to:gq}})},undo:function(go){go.undo()},redo:function(go){go.redo()},undoSelection:function(go){go.undoSelection()},redoSelection:function(go){go.redoSelection()},goDocStart:function(go){go.extendSelection(W(go.firstLine(),0))},goDocEnd:function(go){go.extendSelection(W(go.lastLine()))},goLineStart:function(go){go.extendSelectionsBy(function(gp){return bt(go,gp.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(go){go.extendSelectionsBy(function(gp){return dJ(go,gp.head)},{origin:"+move",bias:1})},goLineEnd:function(go){go.extendSelectionsBy(function(gp){return dQ(go,gp.head.line)},{origin:"+move",bias:-1})},goLineRight:function(go){go.extendSelectionsBy(function(gp){var gq=go.charCoords(gp.head,"div").top+5;return go.coordsChar({left:go.display.lineDiv.offsetWidth+100,top:gq},"div")},cW)},goLineLeft:function(go){go.extendSelectionsBy(function(gp){var gq=go.charCoords(gp.head,"div").top+5;return go.coordsChar({left:0,top:gq},"div")},cW)},goLineLeftSmart:function(go){go.extendSelectionsBy(function(gp){var gq=go.charCoords(gp.head,"div").top+5;var gr=go.coordsChar({left:0,top:gq},"div");if(gr.ch<go.getLine(gr.line).search(/\S/)){return dJ(go,gp.head)}return gr},cW)},goLineUp:function(go){go.moveV(-1,"line")},goLineDown:function(go){go.moveV(1,"line")},goPageUp:function(go){go.moveV(-1,"page")},goPageDown:function(go){go.moveV(1,"page")},goCharLeft:function(go){go.moveH(-1,"char")},goCharRight:function(go){go.moveH(1,"char")},goColumnLeft:function(go){go.moveH(-1,"column")},goColumnRight:function(go){go.moveH(1,"column")},goWordLeft:function(go){go.moveH(-1,"word")},goGroupRight:function(go){go.moveH(1,"group")},goGroupLeft:function(go){go.moveH(-1,"group")},goWordRight:function(go){go.moveH(1,"word")},delCharBefore:function(go){go.deleteH(-1,"char")},delCharAfter:function(go){go.deleteH(1,"char")},delWordBefore:function(go){go.deleteH(-1,"word")},delWordAfter:function(go){go.deleteH(1,"word")},delGroupBefore:function(go){go.deleteH(-1,"group")},delGroupAfter:function(go){go.deleteH(1,"group")},indentAuto:function(go){go.indentSelection("smart")},indentMore:function(go){go.indentSelection("add")},indentLess:function(go){go.indentSelection("subtract")},insertTab:function(go){go.replaceSelection("\t")},insertSoftTab:function(go){var gq=[],gp=go.listSelections(),gt=go.options.tabSize;for(var gs=0;gs<gp.length;gs++){var gu=gp[gs].from();var gr=bT(go.getLine(gu.line),gu.ch,gt);gq.push(new Array(gt-gr%gt+1).join(" "))}go.replaceSelections(gq)},defaultTab:function(go){if(go.somethingSelected()){go.indentSelection("add")}else{go.execCommand("insertTab")}},transposeChars:function(go){cM(go,function(){var gr=go.listSelections(),gq=[];for(var gs=0;gs<gr.length;gs++){var gu=gr[gs].head,gp=fk(go.doc,gu.line).text;if(gp){if(gu.ch==gp.length){gu=new W(gu.line,gu.ch-1)}if(gu.ch>0){gu=new W(gu.line,gu.ch+1);go.replaceRange(gp.charAt(gu.ch-1)+gp.charAt(gu.ch-2),W(gu.line,gu.ch-2),gu,"+transpose")}else{if(gu.line>go.doc.first){var gt=fk(go.doc,gu.line-1).text;if(gt){go.replaceRange(gp.charAt(0)+go.doc.lineSeparator()+gt.charAt(gt.length-1),W(gu.line-1,gt.length-1),W(gu.line,1),"+transpose")}}}}gq.push(new dZ(gu,gu))}go.setSelections(gq)})},newlineAndIndent:function(go){cM(go,function(){var gp=go.listSelections().length;for(var gr=0;gr<gp;gr++){var gq=go.listSelections()[gr];go.replaceRange(go.doc.lineSeparator(),gq.anchor,gq.head,"+input");go.indentLine(gq.from().line+1,null,true)}fK(go)})},toggleOverwrite:function(go){go.toggleOverwrite()}};var ff=H.keyMap={};ff.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"};ff.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"};ff.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"};ff.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"]};ff["default"]=b7?ff.macDefault:ff.pcDefault;function du(gp){var gv=gp.split(/-(?!$)/),gp=gv[gv.length-1];var gu,gt,go,gs;for(var gr=0;gr<gv.length-1;gr++){var gq=gv[gr];if(/^(cmd|meta|m)$/i.test(gq)){gs=true}else{if(/^a(lt)?$/i.test(gq)){gu=true}else{if(/^(c|ctrl|control)$/i.test(gq)){gt=true}else{if(/^s(hift)$/i.test(gq)){go=true}else{throw new Error("Unrecognized modifier name: "+gq)}}}}}if(gu){gp="Alt-"+gp}if(gt){gp="Ctrl-"+gp}if(gs){gp="Cmd-"+gp}if(go){gp="Shift-"+gp}return gp}H.normalizeKeyMap=function(gv){var gp={};for(var gu in gv){if(gv.hasOwnProperty(gu)){var gw=gv[gu];if(/^(name|fallthrough|(de|at)tach)$/.test(gu)){continue}if(gw=="..."){delete gv[gu];continue}var gx=bS(gu.split(" "),du);for(var gt=0;gt<gx.length;gt++){var gr,gq;if(gt==gx.length-1){gq=gx.join(" ");gr=gw}else{gq=gx.slice(0,gt+1).join(" ");gr="..."}var gs=gp[gq];if(!gs){gp[gq]=gr}else{if(gs!=gr){throw new Error("Inconsistent bindings for "+gq)}}}delete gv[gu]}}for(var go in gp){gv[go]=gp[go]}return gv};var i=H.lookupKey=function(gr,gu,gt,gq){gu=f3(gu);var gs=gu.call?gu.call(gr,gq):gu[gr];if(gs===false){return"nothing"}if(gs==="..."){return"multi"}if(gs!=null&>(gs)){return"handled"}if(gu.fallthrough){if(Object.prototype.toString.call(gu.fallthrough)!="[object Array]"){return i(gr,gu.fallthrough,gt,gq)}for(var gp=0;gp<gu.fallthrough.length;gp++){var go=i(gr,gu.fallthrough[gp],gt,gq);if(go){return go}}}};var eG=H.isModifierKey=function(gp){var go=typeof gp=="string"?gp:fl[gp.keyCode];return go=="Ctrl"||go=="Alt"||go=="Shift"||go=="Mod"};var fw=H.keyName=function(gp,gr){if(d5&&gp.keyCode==34&&gp["char"]){return false}var gq=fl[gp.keyCode],go=gq;if(go==null||gp.altGraphKey){return false}if(gp.altKey&&gq!="Alt"){go="Alt-"+go}if((bQ?gp.metaKey:gp.ctrlKey)&&gq!="Ctrl"){go="Ctrl-"+go}if((bQ?gp.ctrlKey:gp.metaKey)&&gq!="Cmd"){go="Cmd-"+go}if(!gr&&gp.shiftKey&&gq!="Shift"){go="Shift-"+go}return go};function f3(go){return typeof go=="string"?ff[go]:go}H.fromTextArea=function(gv,gw){gw=gw?aN(gw):{};gw.value=gv.value;if(!gw.tabindex&&gv.tabIndex){gw.tabindex=gv.tabIndex}if(!gw.placeholder&&gv.placeholder){gw.placeholder=gv.placeholder}if(gw.autofocus==null){var go=dP();gw.autofocus=go==gv||gv.getAttribute("autofocus")!=null&&go==document.body}function gs(){gv.value=gu.getValue()}if(gv.form){bX(gv.form,"submit",gs);if(!gw.leaveSubmitMethodAlone){var gp=gv.form,gt=gp.submit;try{var gr=gp.submit=function(){gs();gp.submit=gt;gp.submit();gp.submit=gr}}catch(gq){}}}gw.finishInit=function(gx){gx.save=gs;gx.getTextArea=function(){return gv};gx.toTextArea=function(){gx.toTextArea=isNaN;gs();gv.parentNode.removeChild(gx.getWrapperElement());gv.style.display="";if(gv.form){eg(gv.form,"submit",gs);if(typeof gv.form.submit=="function"){gv.form.submit=gt}}}};gv.style.display="none";var gu=H(function(gx){gv.parentNode.insertBefore(gx,gv.nextSibling)},gw);return gu};var eX=H.StringStream=function(go,gp){this.pos=this.start=0;this.string=go;this.tabSize=gp||8;this.lastColumnPos=this.lastColumnValue=0;this.lineStart=0};eX.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.pos<this.string.length){return this.string.charAt(this.pos++)}},eat:function(go){var gq=this.string.charAt(this.pos);if(typeof go=="string"){var gp=gq==go}else{var gp=gq&&(go.test?go.test(gq):go(gq))}if(gp){++this.pos;return gq}},eatWhile:function(go){var gp=this.pos;while(this.eat(go)){}return this.pos>gp},eatSpace:function(){var go=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>go},skipToEnd:function(){this.pos=this.string.length},skipTo:function(go){var gp=this.string.indexOf(go,this.pos);if(gp>-1){this.pos=gp;return true}},backUp:function(go){this.pos-=go},column:function(){if(this.lastColumnPos<this.start){this.lastColumnValue=bT(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue);this.lastColumnPos=this.start}return this.lastColumnValue-(this.lineStart?bT(this.string,this.lineStart,this.tabSize):0)},indentation:function(){return bT(this.string,null,this.tabSize)-(this.lineStart?bT(this.string,this.lineStart,this.tabSize):0)},match:function(gs,gp,go){if(typeof gs=="string"){var gt=function(gu){return go?gu.toLowerCase():gu};var gr=this.string.substr(this.pos,gs.length);if(gt(gr)==gt(gs)){if(gp!==false){this.pos+=gs.length}return true}}else{var gq=this.string.slice(this.pos).match(gs);if(gq&&gq.index>0){return null}if(gq&&gp!==false){this.pos+=gq[0].length}return gq}},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(gp,go){this.lineStart+=gp;try{return go()}finally{this.lineStart-=gp}}};var a5=0;var P=H.TextMarker=function(gp,go){this.lines=[];this.type=go;this.doc=gp;this.id=++a5};by(P);P.prototype.clear=function(){if(this.explicitlyCleared){return}var gv=this.doc.cm,gp=gv&&!gv.curOp;if(gp){cI(gv)}if(fn(this,"clear")){var gw=this.find();if(gw){ae(this,"clear",gw.from,gw.to)}}var gq=null,gt=null;for(var gr=0;gr<this.lines.length;++gr){var gx=this.lines[gr];var gu=fe(gx.markedSpans,this);if(gv&&!this.collapsed){R(gv,bN(gx),"text")}else{if(gv){if(gu.to!=null){gt=bN(gx)}if(gu.from!=null){gq=bN(gx)}}}gx.markedSpans=eL(gx.markedSpans,gu);if(gu.from==null&&this.collapsed&&!fB(this.doc,gx)&&gv){gb(gx,aY(gv.display))}}if(gv&&this.collapsed&&!gv.options.lineWrapping){for(var gr=0;gr<this.lines.length;++gr){var go=x(this.lines[gr]),gs=er(go);if(gs>gv.display.maxLineLength){gv.display.maxLine=go;gv.display.maxLineLength=gs;gv.display.maxLineChanged=true}}}if(gq!=null&&gv&&this.collapsed){ah(gv,gq,gt+1)}this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;if(gv){eC(gv.doc)}}if(gv){ae(gv,"markerCleared",gv,this)}if(gp){am(gv)}if(this.parent){this.parent.clear()}};P.prototype.find=function(gr,gp){if(gr==null&&this.type=="bookmark"){gr=1}var gu,gt;for(var gq=0;gq<this.lines.length;++gq){var go=this.lines[gq];var gs=fe(go.markedSpans,this);if(gs.from!=null){gu=W(gp?go:bN(go),gs.from);if(gr==-1){return gu}}if(gs.to!=null){gt=W(gp?go:bN(go),gs.to);if(gr==1){return gt}}}return gu&&{from:gu,to:gt}};P.prototype.changed=function(){var gq=this.find(-1,true),gp=this,go=this.doc.cm;if(!gq||!go){return}cM(go,function(){var gs=gq.line,gt=bN(gq.line);var gr=fg(go,gt);if(gr){au(gr);go.curOp.selectionChanged=go.curOp.forceUpdate=true}go.curOp.updateMaxLine=true;if(!fB(gp.doc,gs)&&gp.height!=null){var gv=gp.height;gp.height=null;var gu=cY(gp)-gv;if(gu){gb(gs,gs.height+gu)}}})};P.prototype.attachLine=function(go){if(!this.lines.length&&this.doc.cm){var gp=this.doc.cm.curOp;if(!gp.maybeHiddenMarkers||di(gp.maybeHiddenMarkers,this)==-1){(gp.maybeUnhiddenMarkers||(gp.maybeUnhiddenMarkers=[])).push(this)}}this.lines.push(go)};P.prototype.detachLine=function(go){this.lines.splice(di(this.lines,go),1);if(!this.lines.length&&this.doc.cm){var gp=this.doc.cm.curOp;(gp.maybeHiddenMarkers||(gp.maybeHiddenMarkers=[])).push(this)}};var a5=0;function eJ(gw,gu,gv,gy,gs){if(gy&&gy.shared){return O(gw,gu,gv,gy,gs)}if(gw.cm&&!gw.cm.curOp){return c2(gw.cm,eJ)(gw,gu,gv,gy,gs)}var gr=new P(gw,gs),gx=cf(gu,gv);if(gy){aN(gy,gr,false)}if(gx>0||gx==0&&gr.clearWhenEmpty!==false){return gr}if(gr.replacedWith){gr.collapsed=true;gr.widgetNode=f8("span",[gr.replacedWith],"CodeMirror-widget");if(!gy.handleMouseEvents){gr.widgetNode.setAttribute("cm-ignore-events","true")}if(gy.insertLeft){gr.widgetNode.insertLeft=true}}if(gr.collapsed){if(z(gw,gu.line,gu,gv,gr)||gu.line!=gv.line&&z(gw,gv.line,gu,gv,gr)){throw new Error("Inserting collapsed marker partially overlapping an existing one")}a7=true}if(gr.addToHistory){fR(gw,{from:gu,to:gv,origin:"markText"},gw.sel,NaN)}var gp=gu.line,gt=gw.cm,go;gw.iter(gp,gv.line+1,function(gz){if(gt&&gr.collapsed&&!gt.options.lineWrapping&&x(gz)==gt.display.maxLine){go=true}if(gr.collapsed&&gp!=gu.line){gb(gz,0)}cd(gz,new el(gr,gp==gu.line?gu.ch:null,gp==gv.line?gv.ch:null));++gp});if(gr.collapsed){gw.iter(gu.line,gv.line+1,function(gz){if(fB(gw,gz)){gb(gz,0)}})}if(gr.clearOnEnter){bX(gr,"beforeCursorEnter",function(){gr.clear()})}if(gr.readOnly){gi=true;if(gw.history.done.length||gw.history.undone.length){gw.clearHistory()}}if(gr.collapsed){gr.id=++a5;gr.atomic=true}if(gt){if(go){gt.curOp.updateMaxLine=true}if(gr.collapsed){ah(gt,gu.line,gv.line+1)}else{if(gr.className||gr.title||gr.startStyle||gr.endStyle||gr.css){for(var gq=gu.line;gq<=gv.line;gq++){R(gt,gq,"text")}}}if(gr.atomic){eC(gt.doc)}ae(gt,"markerAdded",gt,gr)}return gr}var y=H.SharedTextMarker=function(gq,gp){this.markers=gq;this.primary=gp;for(var go=0;go<gq.length;++go){gq[go].parent=this}};by(y);y.prototype.clear=function(){if(this.explicitlyCleared){return}this.explicitlyCleared=true;for(var go=0;go<this.markers.length;++go){this.markers[go].clear()}ae(this,"clear")};y.prototype.find=function(gp,go){return this.primary.find(gp,go)};function O(gs,gv,gu,go,gq){go=aN(go);go.shared=false;var gt=[eJ(gs,gv,gu,go,gq)],gp=gt[0];var gr=go.widgetNode;d9(gs,function(gx){if(gr){go.widgetNode=gr.cloneNode(true)}gt.push(eJ(gx,fO(gx,gv),fO(gx,gu),go,gq));for(var gw=0;gw<gx.linked.length;++gw){if(gx.linked[gw].isParent){return}}gp=fL(gt)});return new y(gt,gp)}function eT(go){return go.findMarks(W(go.first,0),go.clipPos(W(go.lastLine())),function(gp){return gp.parent})}function dG(gt,gu){for(var gr=0;gr<gu.length;gr++){var gp=gu[gr],gv=gp.find();var go=gt.clipPos(gv.from),gs=gt.clipPos(gv.to);if(cf(go,gs)){var gq=eJ(gt,go,gs,gp.primary,gp.primary.type);gp.markers.push(gq);gq.parent=gp}}}function es(gr){for(var gq=0;gq<gr.length;gq++){var go=gr[gq],gt=[go.primary.doc];d9(go.primary.doc,function(gu){gt.push(gu)});for(var gp=0;gp<go.markers.length;gp++){var gs=go.markers[gp];if(di(gt,gs.doc)==-1){gs.parent=null;go.markers.splice(gp--,1)}}}}function el(go,gq,gp){this.marker=go;this.from=gq;this.to=gp}function fe(gq,go){if(gq){for(var gp=0;gp<gq.length;++gp){var gr=gq[gp];if(gr.marker==go){return gr}}}}function eL(gp,gq){for(var gr,go=0;go<gp.length;++go){if(gp[go]!=gq){(gr||(gr=[])).push(gp[go])}}return gr}function cd(go,gp){go.markedSpans=go.markedSpans?go.markedSpans.concat([gp]):[gp];gp.marker.attachLine(go)}function aQ(gp,gq,gu){if(gp){for(var gs=0,gv;gs<gp.length;++gs){var gw=gp[gs],gt=gw.marker;var go=gw.from==null||(gt.inclusiveLeft?gw.from<=gq:gw.from<gq);if(go||gw.from==gq&>.type=="bookmark"&&(!gu||!gw.marker.insertLeft)){var gr=gw.to==null||(gt.inclusiveRight?gw.to>=gq:gw.to>gq);(gv||(gv=[])).push(new el(gt,gw.from,gr?null:gw.to))}}}return gv}function aB(gp,gr,gu){if(gp){for(var gs=0,gv;gs<gp.length;++gs){var gw=gp[gs],gt=gw.marker;var gq=gw.to==null||(gt.inclusiveRight?gw.to>=gr:gw.to>gr);if(gq||gw.from==gr&>.type=="bookmark"&&(!gu||gw.marker.insertLeft)){var go=gw.from==null||(gt.inclusiveLeft?gw.from<=gr:gw.from<gr);(gv||(gv=[])).push(new el(gt,go?null:gw.from-gr,gw.to==null?null:gw.to-gr))}}}return gv}function en(gA,gx){if(gx.full){return null}var gw=b9(gA,gx.from.line)&&fk(gA,gx.from.line).markedSpans;var gD=b9(gA,gx.to.line)&&fk(gA,gx.to.line).markedSpans;if(!gw&&!gD){return null}var gp=gx.from.ch,gs=gx.to.ch,gv=cf(gx.from,gx.to)==0;var gu=aQ(gw,gp,gv);var gC=aB(gD,gs,gv);var gB=gx.text.length==1,gq=fL(gx.text).length+(gB?gp:0);if(gu){for(var gr=0;gr<gu.length;++gr){var gz=gu[gr];if(gz.to==null){var gE=fe(gC,gz.marker);if(!gE){gz.to=gp}else{if(gB){gz.to=gE.to==null?null:gE.to+gq}}}}}if(gC){for(var gr=0;gr<gC.length;++gr){var gz=gC[gr];if(gz.to!=null){gz.to+=gq}if(gz.from==null){var gE=fe(gu,gz.marker);if(!gE){gz.from=gq;if(gB){(gu||(gu=[])).push(gz)}}}else{gz.from+=gq;if(gB){(gu||(gu=[])).push(gz)}}}}if(gu){gu=q(gu)}if(gC&&gC!=gu){gC=q(gC)}var gt=[gu];if(!gB){var gy=gx.text.length-2,go;if(gy>0&&gu){for(var gr=0;gr<gu.length;++gr){if(gu[gr].to==null){(go||(go=[])).push(new el(gu[gr].marker,null,null))}}}for(var gr=0;gr<gy;++gr){gt.push(go)}gt.push(gC)}return gt}function q(gp){for(var go=0;go<gp.length;++go){var gq=gp[go];if(gq.from!=null&&gq.from==gq.to&&gq.marker.clearWhenEmpty!==false){gp.splice(go--,1)}}if(!gp.length){return null}return gp}function eb(gw,gu){var go=b4(gw,gu);var gx=en(gw,gu);if(!go){return gx}if(!gx){return go}for(var gr=0;gr<go.length;++gr){var gs=go[gr],gt=gx[gr];if(gs&>){spans:for(var gq=0;gq<gt.length;++gq){var gv=gt[gq];for(var gp=0;gp<gs.length;++gp){if(gs[gp].marker==gv.marker){continue spans}}gs.push(gv)}}else{if(gt){go[gr]=gt}}}return go}function cH(gA,gy,gz){var gs=null;gA.iter(gy.line,gz.line+1,function(gB){if(gB.markedSpans){for(var gC=0;gC<gB.markedSpans.length;++gC){var gD=gB.markedSpans[gC].marker;if(gD.readOnly&&(!gs||di(gs,gD)==-1)){(gs||(gs=[])).push(gD)}}}});if(!gs){return null}var gt=[{from:gy,to:gz}];for(var gu=0;gu<gs.length;++gu){var gv=gs[gu],gq=gv.find(0);for(var gr=0;gr<gt.length;++gr){var gp=gt[gr];if(cf(gp.to,gq.from)<0||cf(gp.from,gq.to)>0){continue}var gx=[gr,1],go=cf(gp.from,gq.from),gw=cf(gp.to,gq.to);if(go<0||!gv.inclusiveLeft&&!go){gx.push({from:gp.from,to:gq.from})}if(gw>0||!gv.inclusiveRight&&!gw){gx.push({from:gq.to,to:gp.to})}gt.splice.apply(gt,gx);gr+=gx.length-1}}return gt}function ge(go){var gq=go.markedSpans;if(!gq){return}for(var gp=0;gp<gq.length;++gp){gq[gp].marker.detachLine(go)}go.markedSpans=null}function c3(go,gq){if(!gq){return}for(var gp=0;gp<gq.length;++gp){gq[gp].marker.attachLine(go)}go.markedSpans=gq}function v(go){return go.inclusiveLeft?-1:0}function bW(go){return go.inclusiveRight?1:0}function dR(gr,gp){var gt=gr.lines.length-gp.lines.length;if(gt!=0){return gt}var gq=gr.find(),gu=gp.find();var go=cf(gq.from,gu.from)||v(gr)-v(gp);if(go){return -go}var gs=cf(gq.to,gu.to)||bW(gr)-bW(gp);if(gs){return gs}return gp.id-gr.id}function a6(gp,gt){var go=a7&&gp.markedSpans,gs;if(go){for(var gr,gq=0;gq<go.length;++gq){gr=go[gq];if(gr.marker.collapsed&&(gt?gr.from:gr.to)==null&&(!gs||dR(gs,gr.marker)<0)){gs=gr.marker}}}return gs}function eS(go){return a6(go,true)}function ey(go){return a6(go,false)}function z(gw,gq,gu,gv,gs){var gz=fk(gw,gq);var go=a7&&gz.markedSpans;if(go){for(var gr=0;gr<go.length;++gr){var gp=go[gr];if(!gp.marker.collapsed){continue}var gy=gp.marker.find(0);var gx=cf(gy.from,gu)||v(gp.marker)-v(gs);var gt=cf(gy.to,gv)||bW(gp.marker)-bW(gs);if(gx>=0&><=0||gx<=0&>>=0){continue}if(gx<=0&&(cf(gy.to,gu)>0||(gp.marker.inclusiveRight&&gs.inclusiveLeft))||gx>=0&&(cf(gy.from,gv)<0||(gp.marker.inclusiveLeft&&gs.inclusiveRight))){return true}}}}function x(gp){var go;while(go=eS(gp)){gp=go.find(-1,true).line}return gp}function g(gq){var go,gp;while(go=ey(gq)){gq=go.find(1,true).line;(gp||(gp=[])).push(gq)}return gp}function aW(gr,gp){var go=fk(gr,gp),gq=x(go);if(go==gq){return gp}return bN(gq)}function d4(gr,gq){if(gq>gr.lastLine()){return gq}var gp=fk(gr,gq),go;if(!fB(gr,gp)){return gq}while(go=ey(gp)){gp=go.find(1,true).line}return bN(gp)+1}function fB(gs,gp){var go=a7&&gp.markedSpans;if(go){for(var gr,gq=0;gq<go.length;++gq){gr=go[gq];if(!gr.marker.collapsed){continue}if(gr.from==null){return true}if(gr.marker.widgetNode){continue}if(gr.from==0&&gr.marker.inclusiveLeft&&T(gs,gp,gr)){return true}}}}function T(gt,gp,gr){if(gr.to==null){var go=gr.marker.find(1,true);return T(gt,go.line,fe(go.line.markedSpans,gr.marker))}if(gr.marker.inclusiveRight&&gr.to==gp.text.length){return true}for(var gs,gq=0;gq<gp.markedSpans.length;++gq){gs=gp.markedSpans[gq];if(gs.marker.collapsed&&!gs.marker.widgetNode&&gs.from==gr.to&&(gs.to==null||gs.to!=gr.from)&&(gs.marker.inclusiveLeft||gr.marker.inclusiveRight)&&T(gt,gp,gs)){return true}}}var dC=H.LineWidget=function(gr,gq,go){if(go){for(var gp in go){if(go.hasOwnProperty(gp)){this[gp]=go[gp]}}}this.doc=gr;this.node=gq};by(dC);function d0(go,gp,gq){if(bM(gp)<((go.curOp&&go.curOp.scrollTop)||go.doc.scrollTop)){cL(go,null,gq)}}dC.prototype.clear=function(){var gp=this.doc.cm,gr=this.line.widgets,gq=this.line,gt=bN(gq);if(gt==null||!gr){return}for(var gs=0;gs<gr.length;++gs){if(gr[gs]==this){gr.splice(gs--,1)}}if(!gr.length){gq.widgets=null}var go=cY(this);gb(gq,Math.max(0,gq.height-go));if(gp){cM(gp,function(){d0(gp,gq,-go);R(gp,gt,"widget")})}};dC.prototype.changed=function(){var gp=this.height,go=this.doc.cm,gq=this.line;this.height=null;var gr=cY(this)-gp;if(!gr){return}gb(gq,gq.height+gr);if(go){cM(go,function(){go.curOp.forceUpdate=true;d0(go,gq,gr)})}};function cY(gq){if(gq.height!=null){return gq.height}var go=gq.doc.cm;if(!go){return 0}if(!gg(document.body,gq.node)){var gp="position: relative;";if(gq.coverGutter){gp+="margin-left: -"+go.display.gutters.offsetWidth+"px;"}if(gq.noHScroll){gp+="width: "+go.display.wrapper.clientWidth+"px;"}bR(go.display.measure,f8("div",[gq.node],null,gp))}return gq.height=gq.node.offsetHeight}function bH(gt,gs,gq,gp){var gr=new dC(gt,gq,gp);var go=gt.cm;if(go&&gr.noHScroll){go.display.alignWidgets=true}eD(gt,gs,"widget",function(gv){var gw=gv.widgets||(gv.widgets=[]);if(gr.insertAt==null){gw.push(gr)}else{gw.splice(Math.min(gw.length-1,Math.max(0,gr.insertAt)),0,gr)}gr.line=gv;if(go&&!fB(gt,gv)){var gu=bM(gv)<gt.scrollTop;gb(gv,gv.height+cY(gr));if(gu){cL(go,null,gr.height)}go.curOp.forceUpdate=true}return true});return gr}var gc=H.Line=function(gq,gp,go){this.text=gq;c3(this,gp);this.height=go?go(this):1};by(gc);gc.prototype.lineNo=function(){return bN(this)};function eq(gp,gs,gq,go){gp.text=gs;if(gp.stateAfter){gp.stateAfter=null}if(gp.styles){gp.styles=null}if(gp.order!=null){gp.order=null}ge(gp);c3(gp,gq);var gr=go?go(gp):1;if(gr!=gp.height){gb(gp,gr)}}function bB(go){go.parent=null;ge(go)}function dj(gq,gp){if(gq){for(;;){var go=gq.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!go){break}gq=gq.slice(0,go.index)+gq.slice(go.index+go[0].length);var gr=go[1]?"bgClass":"textClass";if(gp[gr]==null){gp[gr]=go[2]}else{if(!(new RegExp("(?:^|s)"+go[2]+"(?:$|s)")).test(gp[gr])){gp[gr]+=" "+go[2]}}}}return gq}function fv(gq,gp){if(gq.blankLine){return gq.blankLine(gp)}if(!gq.innerMode){return}var go=H.innerMode(gq,gp);if(go.mode.blankLine){return go.mode.blankLine(go.state)}}function eE(gt,gs,gr,go){for(var gp=0;gp<10;gp++){if(go){go[0]=H.innerMode(gt,gr).mode}var gq=gt.token(gs,gr);if(gs.pos>gs.start){return gq}}throw new Error("Mode "+gt.name+" failed to advance stream.")}function cq(gx,gv,gs,gr){function go(gA){return{start:gy.start,end:gy.pos,string:gy.current(),type:gq||null,state:gA?b3(gw.mode,gp):gp}}var gw=gx.doc,gt=gw.mode,gq;gv=fO(gw,gv);var gz=fk(gw,gv.line),gp=dD(gx,gv.line,gs);var gy=new eX(gz.text,gx.options.tabSize),gu;if(gr){gu=[]}while((gr||gy.pos<gv.ch)&&!gy.eol()){gy.start=gy.pos;gq=eE(gt,gy,gp);if(gr){gu.push(go(true))}}return gr?gu:go()}function w(gy,gA,gt,gp,gu,gr,gs){var gq=gt.flattenSpans;if(gq==null){gq=gy.options.flattenSpans}var gw=0,gv=null;var gz=new eX(gA,gy.options.tabSize),go;var gC=gy.options.addModeClass&&[null];if(gA==""){dj(fv(gt,gp),gr)}while(!gz.eol()){if(gz.pos>gy.options.maxHighlightLength){gq=false;if(gs){dy(gy,gA,gp,gz.pos)}gz.pos=gA.length;go=null}else{go=dj(eE(gt,gz,gp,gC),gr)}if(gC){var gB=gC[0].name;if(gB){go="m-"+(go?gB+" "+go:gB)}}if(!gq||gv!=go){while(gw<gz.start){gw=Math.min(gz.start,gw+50000);gu(gw,gv)}gv=go}gz.start=gz.pos}while(gw<gz.pos){var gx=Math.min(gz.pos,gw+50000);gu(gx,gv);gw=gx}}function fE(gv,gx,go,gs){var gw=[gv.state.modeGen],gr={};w(gv,gx.text,gv.doc.mode,go,function(gy,gz){gw.push(gy,gz)},gr,gs);for(var gp=0;gp<gv.state.overlays.length;++gp){var gt=gv.state.overlays[gp],gu=1,gq=0;w(gv,gx.text,gt.mode,true,function(gy,gA){var gC=gu;while(gq<gy){var gz=gw[gu];if(gz>gy){gw.splice(gu,1,gy,gw[gu+1],gz)}gu+=2;gq=Math.min(gy,gz)}if(!gA){return}if(gt.opaque){gw.splice(gC,gu-gC,gy,"cm-overlay "+gA);gu=gC+2}else{for(;gC<gu;gC+=2){var gB=gw[gC+1];gw[gC+1]=(gB?gB+" ":"")+"cm-overlay "+gA}}},gr)}return{styles:gw,classes:gr.bgClass||gr.textClass?gr:null}}function c6(gp,gq,gs){if(!gq.styles||gq.styles[0]!=gp.state.modeGen){var gr=dD(gp,bN(gq));var go=fE(gp,gq,gq.text.length>gp.options.maxHighlightLength?b3(gp.doc.mode,gr):gr);gq.stateAfter=gr;gq.styles=go.styles;if(go.classes){gq.styleClasses=go.classes}else{if(gq.styleClasses){gq.styleClasses=null}}if(gs===gp.doc.frontier){gp.doc.frontier++}}return gq.styles}function dy(go,gt,gq,gp){var gs=go.doc.mode;var gr=new eX(gt,go.options.tabSize);gr.start=gr.pos=gp||0;if(gt==""){fv(gs,gq)}while(!gr.eol()){eE(gs,gr,gq);gr.start=gr.pos}}var dX={},b1={};function e0(gq,gp){if(!gq||/^\s*$/.test(gq)){return null}var go=gp.addModeClass?b1:dX;return go[gq]||(go[gq]=gq.replace(/\S+/g,"cm-$&"))}function eV(gp,gt){var gu=f8("span",null,null,c0?"padding-right: .1px":null);var gr={pre:f8("pre",[gu],"CodeMirror-line"),content:gu,col:0,pos:0,cm:gp,splitSpaces:(dL||c0)&&gp.getOption("lineWrapping")};gt.measure={};for(var gs=0;gs<=(gt.rest?gt.rest.length:0);gs++){var gq=gs?gt.rest[gs-1]:gt.line,go;gr.pos=0;gr.addToken=t;if(bO(gp.display.measure)&&(go=a(gq))){gr.addToken=U(gr.addToken,go)}gr.map=[];var gv=gt!=gp.display.externalMeasured&&bN(gq);bo(gq,gr,c6(gp,gq,gv));if(gq.styleClasses){if(gq.styleClasses.bgClass){gr.bgClass=fY(gq.styleClasses.bgClass,gr.bgClass||"")}if(gq.styleClasses.textClass){gr.textClass=fY(gq.styleClasses.textClass,gr.textClass||"")}}if(gr.map.length==0){gr.map.push(0,0,gr.content.appendChild(bn(gp.display.measure)))}if(gs==0){gt.measure.map=gr.map;gt.measure.cache={}}else{(gt.measure.maps||(gt.measure.maps=[])).push(gr.map);(gt.measure.caches||(gt.measure.caches=[])).push({})}}if(c0&&/\bcm-tab\b/.test(gr.content.lastChild.className)){gr.content.className="cm-tab-wrap-hack"}aE(gp,"renderLine",gp,gt.line,gr.pre);if(gr.pre.className){gr.textClass=fY(gr.pre.className,gr.textClass||"")}return gr}function fh(gp){var go=f8("span","\u2022","cm-invalidchar");go.title="\\u"+gp.charCodeAt(0).toString(16);go.setAttribute("aria-label",go.title);return go}function t(gz,gu,gE,gB,gx,gG,gt){if(!gu){return}var gD=gz.splitSpaces?gu.replace(/ {3,}/g,cF):gu;var go=gz.cm.state.specialChars,gp=false;if(!go.test(gu)){gz.col+=gu.length;var gC=document.createTextNode(gD);gz.map.push(gz.pos,gz.pos+gu.length,gC);if(dL&&k<9){gp=true}gz.pos+=gu.length}else{var gC=document.createDocumentFragment(),gr=0;while(true){go.lastIndex=gr;var gA=go.exec(gu);var gF=gA?gA.index-gr:gu.length-gr;if(gF){var gw=document.createTextNode(gD.slice(gr,gr+gF));if(dL&&k<9){gC.appendChild(f8("span",[gw]))}else{gC.appendChild(gw)}gz.map.push(gz.pos,gz.pos+gF,gw);gz.col+=gF;gz.pos+=gF}if(!gA){break}gr+=gF+1;if(gA[0]=="\t"){var gy=gz.cm.options.tabSize,gv=gy-gz.col%gy;var gw=gC.appendChild(f8("span",cp(gv),"cm-tab"));gw.setAttribute("role","presentation");gw.setAttribute("cm-text","\t");gz.col+=gv}else{if(gA[0]=="\r"||gA[0]=="\n"){var gw=gC.appendChild(f8("span",gA[0]=="\r"?"\u240d":"\u2424","cm-invalidchar"));gw.setAttribute("cm-text",gA[0]);gz.col+=1}else{var gw=gz.cm.options.specialCharPlaceholder(gA[0]);gw.setAttribute("cm-text",gA[0]);if(dL&&k<9){gC.appendChild(f8("span",[gw]))}else{gC.appendChild(gw)}gz.col+=1}}gz.map.push(gz.pos,gz.pos+1,gw);gz.pos++}}if(gE||gB||gx||gp||gt){var gq=gE||"";if(gB){gq+=gB}if(gx){gq+=gx}var gs=f8("span",[gC],gq,gt);if(gG){gs.title=gG}return gz.content.appendChild(gs)}gz.content.appendChild(gC)}function cF(go){var gp=" ";for(var gq=0;gq<go.length-2;++gq){gp+=gq%2?" ":"\u00a0"}gp+=" ";return gp}function U(gp,go){return function(gx,gz,gq,gu,gA,gy,gw){gq=gq?gq+" cm-force-border":"cm-force-border";var gr=gx.pos,gt=gr+gz.length;for(;;){for(var gv=0;gv<go.length;gv++){var gs=go[gv];if(gs.to>gr&&gs.from<=gr){break}}if(gs.to>=gt){return gp(gx,gz,gq,gu,gA,gy,gw)}gp(gx,gz.slice(0,gs.to-gr),gq,gu,null,gy,gw);gu=null;gz=gz.slice(gs.to-gr);gr=gs.to}}}function ac(gp,gr,go,gq){var gs=!gq&&go.widgetNode;if(gs){gp.map.push(gp.pos,gp.pos+gr,gs)}if(!gq&&gp.cm.display.input.needsContentAttribute){if(!gs){gs=gp.content.appendChild(document.createElement("span"))}gs.setAttribute("cm-marker",go.id)}if(gs){gp.cm.display.input.setUneditable(gs);gp.content.appendChild(gs)}gp.pos+=gr}function bo(gx,gE,gw){var gt=gx.markedSpans,gv=gx.text,gC=0;if(!gt){for(var gH=1;gH<gw.length;gH+=2){gE.addToken(gE,gv.slice(gC,gC=gw[gH]),e0(gw[gH+1],gE.cm.options))}return}var gI=gv.length,gs=0,gH=1,gA="",gJ,gy;var gL=0,go,gK,gB,gM,gq;for(;;){if(gL==gs){go=gK=gB=gM=gy="";gq=null;gL=Infinity;var gu=[];for(var gF=0;gF<gt.length;++gF){var gG=gt[gF],gD=gG.marker;if(gD.type=="bookmark"&&gG.from==gs&&gD.widgetNode){gu.push(gD)}else{if(gG.from<=gs&&(gG.to==null||gG.to>gs||gD.collapsed&&gG.to==gs&&gG.from==gs)){if(gG.to!=null&&gG.to!=gs&&gL>gG.to){gL=gG.to;gK=""}if(gD.className){go+=" "+gD.className}if(gD.css){gy=gD.css}if(gD.startStyle&&gG.from==gs){gB+=" "+gD.startStyle}if(gD.endStyle&&gG.to==gL){gK+=" "+gD.endStyle}if(gD.title&&!gM){gM=gD.title}if(gD.collapsed&&(!gq||dR(gq.marker,gD)<0)){gq=gG}}else{if(gG.from>gs&&gL>gG.from){gL=gG.from}}}}if(gq&&(gq.from||0)==gs){ac(gE,(gq.to==null?gI+1:gq.to)-gs,gq.marker,gq.from==null);if(gq.to==null){return}if(gq.to==gs){gq=false}}if(!gq&&gu.length){for(var gF=0;gF<gu.length;++gF){ac(gE,0,gu[gF])}}}if(gs>=gI){break}var gz=Math.min(gI,gL);while(true){if(gA){var gp=gs+gA.length;if(!gq){var gr=gp>gz?gA.slice(0,gz-gs):gA;gE.addToken(gE,gr,gJ?gJ+go:go,gB,gs+gr.length==gL?gK:"",gM,gy)}if(gp>=gz){gA=gA.slice(gz-gs);gs=gz;break}gs=gp;gB=""}gA=gv.slice(gC,gC=gw[gH++]);gJ=e0(gw[gH++],gE.cm.options)}}}function dT(go,gp){return gp.from.ch==0&&gp.to.ch==0&&fL(gp.text)==""&&(!go.cm||go.cm.options.wholeLineUpdateBefore)}function fD(gB,gw,gp,gs){function gC(gE){return gp?gp[gE]:null}function gq(gE,gG,gF){eq(gE,gG,gF,gs);ae(gE,"change",gE,gw)}function go(gH,gF){for(var gG=gH,gE=[];gG<gF;++gG){gE.push(new gc(gD[gG],gC(gG),gs))}return gE}var gA=gw.from,gz=gw.to,gD=gw.text;var gx=fk(gB,gA.line),gy=fk(gB,gz.line);var gv=fL(gD),gr=gC(gD.length-1),gu=gz.line-gA.line;if(gw.full){gB.insert(0,go(0,gD.length));gB.remove(gD.length,gB.size-gD.length)}else{if(dT(gB,gw)){var gt=go(0,gD.length-1);gq(gy,gy.text,gr);if(gu){gB.remove(gA.line,gu)}if(gt.length){gB.insert(gA.line,gt)}}else{if(gx==gy){if(gD.length==1){gq(gx,gx.text.slice(0,gA.ch)+gv+gx.text.slice(gz.ch),gr)}else{var gt=go(1,gD.length-1);gt.push(new gc(gv+gx.text.slice(gz.ch),gr,gs));gq(gx,gx.text.slice(0,gA.ch)+gD[0],gC(0));gB.insert(gA.line+1,gt)}}else{if(gD.length==1){gq(gx,gx.text.slice(0,gA.ch)+gD[0]+gy.text.slice(gz.ch),gC(0));gB.remove(gA.line+1,gu)}else{gq(gx,gx.text.slice(0,gA.ch)+gD[0],gC(0));gq(gy,gv+gy.text.slice(gz.ch),gr);var gt=go(1,gD.length-1);if(gu>1){gB.remove(gA.line+1,gu-1)}gB.insert(gA.line+1,gt)}}}}ae(gB,"change",gB,gw)}function e3(gp){this.lines=gp;this.parent=null;for(var gq=0,go=0;gq<gp.length;++gq){gp[gq].parent=this;go+=gp[gq].height}this.height=go}e3.prototype={chunkSize:function(){return this.lines.length},removeInner:function(go,gs){for(var gq=go,gr=go+gs;gq<gr;++gq){var gp=this.lines[gq];this.height-=gp.height;bB(gp);ae(gp,"delete")}this.lines.splice(go,gs)},collapse:function(go){go.push.apply(go,this.lines)},insertInner:function(gp,gq,go){this.height+=go;this.lines=this.lines.slice(0,gp).concat(gq).concat(this.lines.slice(gp));for(var gr=0;gr<gq.length;++gr){gq[gr].parent=this}},iterN:function(go,gr,gq){for(var gp=go+gr;go<gp;++go){if(gq(this.lines[go])){return true}}}};function fC(gr){this.children=gr;var gq=0,go=0;for(var gp=0;gp<gr.length;++gp){var gs=gr[gp];gq+=gs.chunkSize();go+=gs.height;gs.parent=this}this.size=gq;this.height=go;this.parent=null}fC.prototype={chunkSize:function(){return this.size},removeInner:function(go,gv){this.size-=gv;for(var gq=0;gq<this.children.length;++gq){var gu=this.children[gq],gs=gu.chunkSize();if(go<gs){var gr=Math.min(gv,gs-go),gt=gu.height;gu.removeInner(go,gr);this.height-=gt-gu.height;if(gs==gr){this.children.splice(gq--,1);gu.parent=null}if((gv-=gr)==0){break}go=0}else{go-=gs}}if(this.size-gv<25&&(this.children.length>1||!(this.children[0] instanceof e3))){var gp=[];this.collapse(gp);this.children=[new e3(gp)];this.children[0].parent=this}},collapse:function(go){for(var gp=0;gp<this.children.length;++gp){this.children[gp].collapse(go)}},insertInner:function(gp,gq,go){this.size+=gq.length;this.height+=go;for(var gt=0;gt<this.children.length;++gt){var gv=this.children[gt],gu=gv.chunkSize();if(gp<=gu){gv.insertInner(gp,gq,go);if(gv.lines&&gv.lines.length>50){while(gv.lines.length>50){var gs=gv.lines.splice(gv.lines.length-25,25);var gr=new e3(gs);gv.height-=gr.height;this.children.splice(gt+1,0,gr);gr.parent=this}this.maybeSpill()}break}gp-=gu}},maybeSpill:function(){if(this.children.length<=10){return}var gr=this;do{var gp=gr.children.splice(gr.children.length-5,5);var gq=new fC(gp);if(!gr.parent){var gs=new fC(gr.children);gs.parent=gr;gr.children=[gs,gq];gr=gs}else{gr.size-=gq.size;gr.height-=gq.height;var go=di(gr.parent.children,gr);gr.parent.children.splice(go+1,0,gq)}gq.parent=gr.parent}while(gr.children.length>10);gr.parent.maybeSpill()},iterN:function(go,gu,gt){for(var gp=0;gp<this.children.length;++gp){var gs=this.children[gp],gr=gs.chunkSize();if(go<gr){var gq=Math.min(gu,gr-go);if(gs.iterN(go,gq,gt)){return true}if((gu-=gq)==0){break}go=0}else{go-=gr}}}};var cr=0;var at=H.Doc=function(gr,gq,go,gp){if(!(this instanceof at)){return new at(gr,gq,go,gp)}if(go==null){go=0}fC.call(this,[new e3([new gc("",null)])]);this.first=go;this.scrollTop=this.scrollLeft=0;this.cantEdit=false;this.cleanGeneration=1;this.frontier=go;var gs=W(go,0);this.sel=eW(gs);this.history=new fZ(null);this.id=++cr;this.modeOption=gq;this.lineSep=gp;if(typeof gr=="string"){gr=this.splitLines(gr)}fD(this,{from:gs,to:gs,text:gr});bU(this,eW(gs),Z)};at.prototype=ck(fC.prototype,{constructor:at,iter:function(gq,gp,go){if(go){this.iterN(gq-this.first,gp-gq,go)}else{this.iterN(this.first,this.first+this.size,gq)}},insert:function(gp,gq){var go=0;for(var gr=0;gr<gq.length;++gr){go+=gq[gr].height}this.insertInner(gp-this.first,gq,go)},remove:function(go,gp){this.removeInner(go-this.first,gp)},getValue:function(gp){var go=a2(this,this.first,this.first+this.size);if(gp===false){return go}return go.join(gp||this.lineSeparator())},setValue:cD(function(gp){var gq=W(this.first,0),go=this.first+this.size-1;bg(this,{from:gq,to:W(go,fk(this,go).text.length),text:this.splitLines(gp),origin:"setValue",full:true},true);bU(this,eW(gq))}),replaceRange:function(gp,gr,gq,go){gr=fO(this,gr);gq=gq?fO(this,gq):gr;a1(this,gp,gr,gq,go)},getRange:function(gr,gq,gp){var go=ga(this,fO(this,gr),fO(this,gq));if(gp===false){return go}return go.join(gp||this.lineSeparator())},getLine:function(gp){var go=this.getLineHandle(gp);return go&&go.text},getLineHandle:function(go){if(b9(this,go)){return fk(this,go)}},getLineNumber:function(go){return bN(go)},getLineHandleVisualStart:function(go){if(typeof go=="number"){go=fk(this,go)}return x(go)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(go){return fO(this,go)},getCursor:function(gq){var go=this.sel.primary(),gp;if(gq==null||gq=="head"){gp=go.head}else{if(gq=="anchor"){gp=go.anchor}else{if(gq=="end"||gq=="to"||gq===false){gp=go.to()}else{gp=go.from()}}}return gp},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:cD(function(go,gq,gp){F(this,fO(this,typeof go=="number"?W(go,gq||0):go),null,gp)}),setSelection:cD(function(gp,gq,go){F(this,fO(this,gp),fO(this,gq||gp),go)}),extendSelection:cD(function(gq,go,gp){f2(this,fO(this,gq),go&&fO(this,go),gp)}),extendSelections:cD(function(gp,go){aw(this,d1(this,gp,go))}),extendSelectionsBy:cD(function(gp,go){aw(this,bS(this.sel.ranges,gp),go)}),setSelections:cD(function(go,gs,gq){if(!go.length){return}for(var gr=0,gp=[];gr<go.length;gr++){gp[gr]=new dZ(fO(this,go[gr].anchor),fO(this,go[gr].head))}if(gs==null){gs=Math.min(go.length-1,this.sel.primIndex)}bU(this,cw(gp,gs),gq)}),addSelection:cD(function(gq,gr,gp){var go=this.sel.ranges.slice(0);go.push(new dZ(fO(this,gq),fO(this,gr||gq)));bU(this,cw(go,go.length-1),gp)}),getSelection:function(gs){var gp=this.sel.ranges,go;for(var gq=0;gq<gp.length;gq++){var gr=ga(this,gp[gq].from(),gp[gq].to());go=go?go.concat(gr):gr}if(gs===false){return go}else{return go.join(gs||this.lineSeparator())}},getSelections:function(gs){var gr=[],go=this.sel.ranges;for(var gp=0;gp<go.length;gp++){var gq=ga(this,go[gp].from(),go[gp].to());if(gs!==false){gq=gq.join(gs||this.lineSeparator())}gr[gp]=gq}return gr},replaceSelection:function(gq,gs,go){var gr=[];for(var gp=0;gp<this.sel.ranges.length;gp++){gr[gp]=gq}this.replaceSelections(gr,gs,go||"+input")},replaceSelections:cD(function(gt,gv,gq){var gs=[],gu=this.sel;for(var gr=0;gr<gu.ranges.length;gr++){var gp=gu.ranges[gr];gs[gr]={from:gp.from(),to:gp.to(),text:this.splitLines(gt[gr]),origin:gq}}var go=gv&&gv!="end"&&af(this,gs,gv);for(var gr=gs.length-1;gr>=0;gr--){bg(this,gs[gr])}if(go){fc(this,go)}else{if(this.cm){fK(this.cm)}}}),undo:cD(function(){b8(this,"undo")}),redo:cD(function(){b8(this,"redo")}),undoSelection:cD(function(){b8(this,"undo",true)}),redoSelection:cD(function(){b8(this,"redo",true)}),setExtending:function(go){this.extend=go},getExtending:function(){return this.extend},historySize:function(){var gr=this.history,go=0,gq=0;for(var gp=0;gp<gr.done.length;gp++){if(!gr.done[gp].ranges){++go}}for(var gp=0;gp<gr.undone.length;gp++){if(!gr.undone[gp].ranges){++gq}}return{undo:go,redo:gq}},clearHistory:function(){this.history=new fZ(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(true)},changeGeneration:function(go){if(go){this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null}return this.history.generation},isClean:function(go){return this.history.generation==(go||this.cleanGeneration)},getHistory:function(){return{done:bP(this.history.done),undone:bP(this.history.undone)}},setHistory:function(gp){var go=this.history=new fZ(this.history.maxGeneration);go.done=bP(gp.done.slice(0),null,true);go.undone=bP(gp.undone.slice(0),null,true)},addLineClass:cD(function(gq,gp,go){return eD(this,gq,gp=="gutter"?"gutter":"class",function(gr){var gs=gp=="text"?"textClass":gp=="background"?"bgClass":gp=="gutter"?"gutterClass":"wrapClass";if(!gr[gs]){gr[gs]=go}else{if(S(go).test(gr[gs])){return false}else{gr[gs]+=" "+go}}return true})}),removeLineClass:cD(function(gq,gp,go){return eD(this,gq,gp=="gutter"?"gutter":"class",function(gs){var gv=gp=="text"?"textClass":gp=="background"?"bgClass":gp=="gutter"?"gutterClass":"wrapClass";var gu=gs[gv];if(!gu){return false}else{if(go==null){gs[gv]=null}else{var gt=gu.match(S(go));if(!gt){return false}var gr=gt.index+gt[0].length;gs[gv]=gu.slice(0,gt.index)+(!gt.index||gr==gu.length?"":" ")+gu.slice(gr)||null}}return true})}),addLineWidget:cD(function(gq,gp,go){return bH(this,gq,gp,go)}),removeLineWidget:function(go){go.clear()},markText:function(gq,gp,go){return eJ(this,fO(this,gq),fO(this,gp),go,go&&go.type||"range")},setBookmark:function(gq,go){var gp={replacedWith:go&&(go.nodeType==null?go.widget:go),insertLeft:go&&go.insertLeft,clearWhenEmpty:false,shared:go&&go.shared,handleMouseEvents:go&&go.handleMouseEvents};gq=fO(this,gq);return eJ(this,gq,gq,gp,"bookmark")},findMarksAt:function(gs){gs=fO(this,gs);var gr=[],gp=fk(this,gs.line).markedSpans;if(gp){for(var go=0;go<gp.length;++go){var gq=gp[go];if((gq.from==null||gq.from<=gs.ch)&&(gq.to==null||gq.to>=gs.ch)){gr.push(gq.marker.parent||gq.marker)}}}return gr},findMarks:function(gs,gr,go){gs=fO(this,gs);gr=fO(this,gr);var gp=[],gq=gs.line;this.iter(gs.line,gr.line+1,function(gt){var gv=gt.markedSpans;if(gv){for(var gu=0;gu<gv.length;gu++){var gw=gv[gu];if(!(gq==gs.line&&gs.ch>gw.to||gw.from==null&&gq!=gs.line||gq==gr.line&&gw.from>gr.ch)&&(!go||go(gw.marker))){gp.push(gw.marker.parent||gw.marker)}}}++gq});return gp},getAllMarks:function(){var go=[];this.iter(function(gq){var gp=gq.markedSpans;if(gp){for(var gr=0;gr<gp.length;++gr){if(gp[gr].from!=null){go.push(gp[gr].marker)}}}});return go},posFromIndex:function(gp){var go,gq=this.first;this.iter(function(gr){var gs=gr.text.length+1;if(gs>gp){go=gp;return true}gp-=gs;++gq});return fO(this,W(gq,go))},indexFromPos:function(gp){gp=fO(this,gp);var go=gp.ch;if(gp.line<this.first||gp.ch<0){return 0}this.iter(this.first,gp.line,function(gq){go+=gq.text.length+1});return go},copy:function(go){var gp=new at(a2(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep);gp.scrollTop=this.scrollTop;gp.scrollLeft=this.scrollLeft;gp.sel=this.sel;gp.extend=false;if(go){gp.history.undoDepth=this.history.undoDepth;gp.setHistory(this.getHistory())}return gp},linkedDoc:function(go){if(!go){go={}}var gr=this.first,gq=this.first+this.size;if(go.from!=null&&go.from>gr){gr=go.from}if(go.to!=null&&go.to<gq){gq=go.to}var gp=new at(a2(this,gr,gq),go.mode||this.modeOption,gr,this.lineSep);if(go.sharedHist){gp.history=this.history}(this.linked||(this.linked=[])).push({doc:gp,sharedHist:go.sharedHist});gp.linked=[{doc:this,isParent:true,sharedHist:go.sharedHist}];dG(gp,eT(this));return gp},unlinkDoc:function(gp){if(gp instanceof H){gp=gp.doc}if(this.linked){for(var gq=0;gq<this.linked.length;++gq){var gr=this.linked[gq];if(gr.doc!=gp){continue}this.linked.splice(gq,1);gp.unlinkDoc(this);es(eT(this));break}}if(gp.history==this.history){var go=[gp.id];d9(gp,function(gs){go.push(gs.id)},true);gp.history=new fZ(null);gp.history.done=bP(this.history.done,go);gp.history.undone=bP(this.history.undone,go)}},iterLinkedDocs:function(go){d9(this,go)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(go){if(this.lineSep){return go.split(this.lineSep)}return fX(go)},lineSeparator:function(){return this.lineSep||"\n"}});at.prototype.eachLine=at.prototype.iter;var d="iter insert remove copy getEditor constructor".split(" ");for(var bK in at.prototype){if(at.prototype.hasOwnProperty(bK)&&di(d,bK)<0){H.prototype[bK]=(function(go){return function(){return go.apply(this.doc,arguments)}})(at.prototype[bK])}}by(at);function d9(gr,gq,gp){function go(gx,gv,gt){if(gx.linked){for(var gu=0;gu<gx.linked.length;++gu){var gs=gx.linked[gu];if(gs.doc==gv){continue}var gw=gt&&gs.sharedHist;if(gp&&!gw){continue}gq(gs.doc,gw);go(gs.doc,gx,gw)}}}go(gr,null,true)}function ee(go,gp){if(gp.cm){throw new Error("This document is already in use.")}go.doc=gp;gp.cm=go;X(go);br(go);if(!go.options.lineWrapping){h(go)}go.options.mode=gp.modeOption;ah(go)}function fk(gr,gt){gt-=gr.first;if(gt<0||gt>=gr.size){throw new Error("There is no line "+(gt+gr.first)+" in the document.")}for(var go=gr;!go.lines;){for(var gp=0;;++gp){var gs=go.children[gp],gq=gs.chunkSize();if(gt<gq){go=gs;break}gt-=gq}}return go.lines[gt]}function ga(gq,gs,go){var gp=[],gr=gs.line;gq.iter(gs.line,go.line+1,function(gt){var gu=gt.text;if(gr==go.line){gu=gu.slice(0,go.ch)}if(gr==gs.line){gu=gu.slice(gs.ch)}gp.push(gu);++gr});return gp}function a2(gp,gr,gq){var go=[];gp.iter(gr,gq,function(gs){go.push(gs.text)});return go}function gb(gp,go){var gq=go-gp.height;if(gq){for(var gr=gp;gr;gr=gr.parent){gr.height+=gq}}}function bN(go){if(go.parent==null){return null}var gs=go.parent,gr=di(gs.lines,go);for(var gp=gs.parent;gp;gs=gp,gp=gp.parent){for(var gq=0;;++gq){if(gp.children[gq]==gs){break}gr+=gp.children[gq].chunkSize()}}return gr+gs.first}function bG(gq,gt){var gv=gq.first;outer:do{for(var gr=0;gr<gq.children.length;++gr){var gu=gq.children[gr],gs=gu.height;if(gt<gs){gq=gu;continue outer}gt-=gs;gv+=gu.chunkSize()}return gv}while(!gq.lines);for(var gr=0;gr<gq.lines.length;++gr){var gp=gq.lines[gr],go=gp.height;if(gt<go){break}gt-=go}return gv+gr}function bM(gq){gq=x(gq);var gs=0,gp=gq.parent;for(var gr=0;gr<gp.lines.length;++gr){var go=gp.lines[gr];if(go==gq){break}else{gs+=go.height}}for(var gt=gp.parent;gt;gp=gt,gt=gp.parent){for(var gr=0;gr<gt.children.length;++gr){var gu=gt.children[gr];if(gu==gp){break}else{gs+=gu.height}}}return gs}function a(gp){var go=gp.order;if(go==null){go=gp.order=bh(gp.text)}return go}function fZ(go){this.done=[];this.undone=[];this.undoDepth=Infinity;this.lastModTime=this.lastSelTime=0;this.lastOp=this.lastSelOp=null;this.lastOrigin=this.lastSelOrigin=null;this.generation=this.maxGeneration=go||1}function dv(go,gq){var gp={from:ci(gq.from),to:cX(gq),text:ga(go,gq.from,gq.to)};bY(go,gp,gq.from.line,gq.to.line+1);d9(go,function(gr){bY(gr,gp,gq.from.line,gq.to.line+1)},true);return gp}function fG(gp){while(gp.length){var go=fL(gp);if(go.ranges){gp.pop()}else{break}}}function eQ(gp,go){if(go){fG(gp.done);return fL(gp.done)}else{if(gp.done.length&&!fL(gp.done).ranges){return fL(gp.done)}else{if(gp.done.length>1&&!gp.done[gp.done.length-2].ranges){gp.done.pop();return fL(gp.done)}}}}function fR(gu,gs,go,gr){var gq=gu.history;gq.undone.length=0;var gp=+new Date,gv;if((gq.lastOp==gr||gq.lastOrigin==gs.origin&&gs.origin&&((gs.origin.charAt(0)=="+"&&gu.cm&&gq.lastModTime>gp-gu.cm.options.historyEventDelay)||gs.origin.charAt(0)=="*"))&&(gv=eQ(gq,gq.lastOp==gr))){var gw=fL(gv.changes);if(cf(gs.from,gs.to)==0&&cf(gs.from,gw.to)==0){gw.to=cX(gs)}else{gv.changes.push(dv(gu,gs))}}else{var gt=fL(gq.done);if(!gt||!gt.ranges){cN(gu.sel,gq.done)}gv={changes:[dv(gu,gs)],generation:gq.generation};gq.done.push(gv);while(gq.done.length>gq.undoDepth){gq.done.shift();if(!gq.done[0].ranges){gq.done.shift()}}}gq.done.push(go);gq.generation=++gq.maxGeneration;gq.lastModTime=gq.lastSelTime=gp;gq.lastOp=gq.lastSelOp=gr;gq.lastOrigin=gq.lastSelOrigin=gs.origin;if(!gw){aE(gu,"historyAdded")}}function bA(gs,go,gq,gr){var gp=go.charAt(0);return gp=="*"||gp=="+"&&gq.ranges.length==gr.ranges.length&&gq.somethingSelected()==gr.somethingSelected()&&new Date-gs.history.lastSelTime<=(gs.cm?gs.cm.options.historyEventDelay:500)}function gh(gt,gr,go,gq){var gs=gt.history,gp=gq&&gq.origin;if(go==gs.lastSelOp||(gp&&gs.lastSelOrigin==gp&&(gs.lastModTime==gs.lastSelTime&&gs.lastOrigin==gp||bA(gt,gp,fL(gs.done),gr)))){gs.done[gs.done.length-1]=gr}else{cN(gr,gs.done)}gs.lastSelTime=+new Date;gs.lastSelOrigin=gp;gs.lastSelOp=go;if(gq&&gq.clearRedo!==false){fG(gs.undone)}}function cN(gp,go){var gq=fL(go);if(!(gq&&gq.ranges&&gq.equals(gp))){go.push(gp)}}function bY(gp,gt,gs,gr){var go=gt["spans_"+gp.id],gq=0;gp.iter(Math.max(gp.first,gs),Math.min(gp.first+gp.size,gr),function(gu){if(gu.markedSpans){(go||(go=gt["spans_"+gp.id]={}))[gq]=gu.markedSpans}++gq})}function bl(gq){if(!gq){return null}for(var gp=0,go;gp<gq.length;++gp){if(gq[gp].marker.explicitlyCleared){if(!go){go=gq.slice(0,gp)}}else{if(go){go.push(gq[gp])}}}return !go?gq:go.length?go:null}function b4(gr,gs){var gq=gs["spans_"+gr.id];if(!gq){return null}for(var gp=0,go=[];gp<gs.text.length;++gp){go.push(bl(gq[gp]))}return go}function bP(gz,gr,gy){for(var gu=0,gp=[];gu<gz.length;++gu){var gq=gz[gu];if(gq.ranges){gp.push(gy?f9.prototype.deepCopy.call(gq):gq);continue}var gw=gq.changes,gx=[];gp.push({changes:gx});for(var gt=0;gt<gw.length;++gt){var gv=gw[gt],gs;gx.push({from:gv.from,to:gv.to,text:gv.text});if(gr){for(var go in gv){if(gs=go.match(/^spans_(\d+)$/)){if(di(gr,Number(gs[1]))>-1){fL(gx)[go]=gv[go];delete gv[go]}}}}}}return gp}function I(gr,gq,gp,go){if(gp<gr.line){gr.line+=go}else{if(gq<gr.line){gr.line=gq;gr.ch=0}}}function fm(gr,gt,gu,gv){for(var gq=0;gq<gr.length;++gq){var go=gr[gq],gs=true;if(go.ranges){if(!go.copied){go=gr[gq]=go.deepCopy();go.copied=true}for(var gp=0;gp<go.ranges.length;gp++){I(go.ranges[gp].anchor,gt,gu,gv);I(go.ranges[gp].head,gt,gu,gv)}continue}for(var gp=0;gp<go.changes.length;++gp){var gw=go.changes[gp];if(gu<gw.from.line){gw.from=W(gw.from.line+gv,gw.from.ch);gw.to=W(gw.to.line+gv,gw.to.ch)}else{if(gt<=gw.to.line){gs=false;break}}}if(!gs){gr.splice(0,gq+1);gq=0}}}function dF(gp,gs){var gr=gs.from.line,gq=gs.to.line,go=gs.text.length-(gq-gr)-1;fm(gp.done,gr,gq,go);fm(gp.undone,gr,gq,go)}var cG=H.e_preventDefault=function(go){if(go.preventDefault){go.preventDefault()}else{go.returnValue=false}};var dr=H.e_stopPropagation=function(go){if(go.stopPropagation){go.stopPropagation()}else{go.cancelBubble=true}};function bL(go){return go.defaultPrevented!=null?go.defaultPrevented:go.returnValue==false}var ev=H.e_stop=function(go){cG(go);dr(go)};function L(go){return go.target||go.srcElement}function fS(gp){var go=gp.which;if(go==null){if(gp.button&1){go=1}else{if(gp.button&2){go=3}else{if(gp.button&4){go=2}}}}if(b7&&gp.ctrlKey&&go==1){go=3}return go}var bX=H.on=function(gr,gp,gq){if(gr.addEventListener){gr.addEventListener(gp,gq,false)}else{if(gr.attachEvent){gr.attachEvent("on"+gp,gq)}else{var gs=gr._handlers||(gr._handlers={});var go=gs[gp]||(gs[gp]=[]);go.push(gq)}}};var fa=[];function eo(gq,gp,gr){var go=gq._handlers&&gq._handlers[gp];if(gr){return go&&go.length>0?go.slice():fa}else{return go||fa}}var eg=H.off=function(gs,gq,gr){if(gs.removeEventListener){gs.removeEventListener(gq,gr,false)}else{if(gs.detachEvent){gs.detachEvent("on"+gq,gr)}else{var go=eo(gs,gq,false);for(var gp=0;gp<go.length;++gp){if(go[gp]==gr){go.splice(gp,1);break}}}}};var aE=H.signal=function(gs,gr){var go=eo(gs,gr,true);if(!go.length){return}var gp=Array.prototype.slice.call(arguments,2);for(var gq=0;gq<go.length;++gq){go[gq].apply(null,gp)}};var bz=null;function ae(gu,gs){var go=eo(gu,gs,false);if(!go.length){return}var gq=Array.prototype.slice.call(arguments,2),gt;if(bp){gt=bp.delayedCallbacks}else{if(bz){gt=bz}else{gt=bz=[];setTimeout(aM,0)}}function gp(gv){return function(){gv.apply(null,gq)}}for(var gr=0;gr<go.length;++gr){gt.push(gp(go[gr]))}}function aM(){var go=bz;bz=null;for(var gp=0;gp<go.length;++gp){go[gp]()}}function aR(go,gq,gp){if(typeof gq=="string"){gq={type:gq,preventDefault:function(){this.defaultPrevented=true}}}aE(go,gp||gq.type,go,gq);return bL(gq)||gq.codemirrorIgnore}function V(gp){var go=gp._handlers&&gp._handlers.cursorActivity;if(!go){return}var gr=gp.curOp.cursorActivityHandlers||(gp.curOp.cursorActivityHandlers=[]);for(var gq=0;gq<go.length;++gq){if(di(gr,go[gq])==-1){gr.push(go[gq])}}}function fn(gp,go){return eo(gp,go).length>0}function by(go){go.prototype.on=function(gp,gq){bX(this,gp,gq)};go.prototype.off=function(gp,gq){eg(this,gp,gq)}}var dK=30;var ca=H.Pass={toString:function(){return"CodeMirror.Pass"}};var Z={scroll:false},M={origin:"*mouse"},cW={origin:"+move"};function gn(){this.id=null}gn.prototype.set=function(go,gp){clearTimeout(this.id);this.id=setTimeout(gp,go)};var bT=H.countColumn=function(gr,gp,gt,gu,gq){if(gp==null){gp=gr.search(/[^\s\u00a0]/);if(gp==-1){gp=gr.length}}for(var gs=gu||0,gv=gq||0;;){var go=gr.indexOf("\t",gs);if(go<0||go>=gp){return gv+(gp-gs)}gv+=go-gs;gv+=gt-(gv%gt);gs=go+1}};var eu=H.findColumn=function(gs,gr,gt){for(var gu=0,gq=0;;){var gp=gs.indexOf("\t",gu);if(gp==-1){gp=gs.length}var go=gp-gu;if(gp==gs.length||gq+go>=gr){return gu+Math.min(go,gr-gq)}gq+=gp-gu;gq+=gt-(gq%gt);gu=gp+1;if(gq>=gr){return gu}}};var a0=[""];function cp(go){while(a0.length<=go){a0.push(fL(a0)+" ")}return a0[go]}function fL(go){return go[go.length-1]}var dM=function(go){go.select()};if(e5){dM=function(go){go.selectionStart=0;go.selectionEnd=go.value.length}}else{if(dL){dM=function(gp){try{gp.select()}catch(go){}}}}function di(gq,go){for(var gp=0;gp<gq.length;++gp){if(gq[gp]==go){return gp}}return -1}function bS(gr,gq){var go=[];for(var gp=0;gp<gr.length;gp++){go[gp]=gq(gr[gp],gp)}return go}function f0(){}function ck(gq,go){var gp;if(Object.create){gp=Object.create(gq)}else{f0.prototype=gq;gp=new f0()}if(go){aN(go,gp)}return gp}function aN(gq,gp,go){if(!gp){gp={}}for(var gr in gq){if(gq.hasOwnProperty(gr)&&(go!==false||!gp.hasOwnProperty(gr))){gp[gr]=gq[gr]}}return gp}function cv(gp){var go=Array.prototype.slice.call(arguments,1);return function(){return gp.apply(null,go)}}var bc=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;var fI=H.isWordChar=function(go){return/\w/.test(go)||go>"\x80"&&(go.toUpperCase()!=go.toLowerCase()||bc.test(go))};function cA(go,gp){if(!gp){return fI(go)}if(gp.source.indexOf("\\w")>-1&&fI(go)){return true}return gp.test(go)}function eY(go){for(var gp in go){if(go.hasOwnProperty(gp)&&go[gp]){return false}}return true}var eN=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function fu(go){return go.charCodeAt(0)>=768&&eN.test(go)}function f8(go,gs,gr,gq){var gt=document.createElement(go);if(gr){gt.className=gr}if(gq){gt.style.cssText=gq}if(typeof gs=="string"){gt.appendChild(document.createTextNode(gs))}else{if(gs){for(var gp=0;gp<gs.length;++gp){gt.appendChild(gs[gp])}}}return gt}var cl;if(document.createRange){cl=function(gr,gs,gp,go){var gq=document.createRange();gq.setEnd(go||gr,gp);gq.setStart(gr,gs);return gq}}else{cl=function(gq,gs,go){var gp=document.body.createTextRange();try{gp.moveToElementText(gq.parentNode)}catch(gr){return gp}gp.collapse(true);gp.moveEnd("character",go);gp.moveStart("character",gs);return gp}}function d3(gp){for(var go=gp.childNodes.length;go>0;--go){gp.removeChild(gp.firstChild)}return gp}function bR(go,gp){return d3(go).appendChild(gp)}var gg=H.contains=function(go,gp){if(gp.nodeType==3){gp=gp.parentNode}if(go.contains){return go.contains(gp)}do{if(gp.nodeType==11){gp=gp.host}if(gp==go){return true}}while(gp=gp.parentNode)};function dP(){var go=document.activeElement;while(go&&go.root&&go.root.activeElement){go=go.root.activeElement}return go}if(dL&&k<11){dP=function(){try{return document.activeElement}catch(go){return document.body}}}function S(go){return new RegExp("(^|\\s)"+go+"(?:$|\\s)\\s*")}var f=H.rmClass=function(gq,go){var gr=gq.className;var gp=S(go).exec(gr);if(gp){var gs=gr.slice(gp.index+gp[0].length);gq.className=gr.slice(0,gp.index)+(gs?gp[1]+gs:"")}};var fF=H.addClass=function(gp,go){var gq=gp.className;if(!S(go).test(gq)){gp.className+=(gq?" ":"")+go}};function fY(gq,go){var gp=gq.split(" ");for(var gr=0;gr<gp.length;gr++){if(gp[gr]&&!S(gp[gr]).test(go)){go+=" "+gp[gr]}}return go}function aA(gr){if(!document.body.getElementsByClassName){return}var gq=document.body.getElementsByClassName("CodeMirror");for(var gp=0;gp<gq.length;gp++){var go=gq[gp].CodeMirror;if(go){gr(go)}}}var cC=false;function bj(){if(cC){return}fJ();cC=true}function fJ(){var go;bX(window,"resize",function(){if(go==null){go=setTimeout(function(){go=null;aA(aT)},100)}});bX(window,"blur",function(){aA(aV)})}var eP=function(){if(dL&&k<9){return false}var go=f8("div");return"draggable" in go||"dragDrop" in go}();var fQ;function bn(go){if(fQ==null){var gq=f8("span","\u200b");bR(go,f8("span",[gq,document.createTextNode("x")]));if(go.firstChild.offsetHeight!=0){fQ=gq.offsetWidth<=1&&gq.offsetHeight>2&&!(dL&&k<8)}}var gp=fQ?f8("span","\u200b"):f8("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px");gp.setAttribute("cm-text","");return gp}var fP;function bO(gr){if(fP!=null){return fP}var go=bR(gr,document.createTextNode("A\u062eA"));var gq=cl(go,0,1).getBoundingClientRect();if(!gq||gq.left==gq.right){return false}var gp=cl(go,1,2).getBoundingClientRect();return fP=(gp.right-gq.right<3)}var fX=H.splitLines="\n\nb".split(/\n/).length!=3?function(gt){var gu=0,go=[],gs=gt.length;while(gu<=gs){var gr=gt.indexOf("\n",gu);if(gr==-1){gr=gt.length}var gq=gt.slice(gu,gt.charAt(gr-1)=="\r"?gr-1:gr);var gp=gq.indexOf("\r");if(gp!=-1){go.push(gq.slice(0,gp));gu+=gp+1}else{go.push(gq);gu=gr+1}}return go}:function(go){return go.split(/\r\n?|\n/)};var bs=window.getSelection?function(gp){try{return gp.selectionStart!=gp.selectionEnd}catch(go){return false}}:function(gq){try{var go=gq.ownerDocument.selection.createRange()}catch(gp){}if(!go||go.parentElement()!=gq){return false}return go.compareEndPoints("StartToEnd",go)!=0};var da=(function(){var go=f8("div");if("oncopy" in go){return true}go.setAttribute("oncopy","return;");return typeof go.oncopy=="function"})();var fb=null;function aK(gp){if(fb!=null){return fb}var gq=bR(gp,f8("span","x"));var gr=gq.getBoundingClientRect();var go=cl(gq,0,1).getBoundingClientRect();return fb=Math.abs(gr.left-go.left)>1}var fl=H.keyNames={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"};(function(){for(var go=0;go<10;go++){fl[go+48]=fl[go+96]=String(go)}for(var go=65;go<=90;go++){fl[go]=String.fromCharCode(go)}for(var go=1;go<=12;go++){fl[go+111]=fl[go+63235]="F"+go}})();function d6(go,gu,gt,gs){if(!go){return gs(gu,gt,"ltr")}var gr=false;for(var gq=0;gq<go.length;++gq){var gp=go[gq];if(gp.from<gt&&gp.to>gu||gu==gt&&gp.to==gu){gs(Math.max(gp.from,gu),Math.min(gp.to,gt),gp.level==1?"rtl":"ltr");gr=true}}if(!gr){gs(gu,gt,"ltr")}}function dz(go){return go.level%2?go.to:go.from}function gj(go){return go.level%2?go.from:go.to}function cE(gp){var go=a(gp);return go?dz(go[0]):0}function cS(gp){var go=a(gp);if(!go){return gp.text.length}return gj(fL(go))}function bt(gp,gs){var gq=fk(gp.doc,gs);var gt=x(gq);if(gt!=gq){gs=bN(gt)}var go=a(gt);var gr=!go?0:go[0].level%2?cS(gt):cE(gt);return W(gs,gr)}function dQ(gq,gt){var gp,gr=fk(gq.doc,gt);while(gp=ey(gr)){gr=gp.find(1,true).line;gt=null}var go=a(gr);var gs=!go?gr.text.length:go[0].level%2?cE(gr):cS(gr);return W(gt==null?bN(gr):gt,gs)}function dJ(gp,gu){var gt=bt(gp,gu.line);var gq=fk(gp.doc,gt.line);var go=a(gq);if(!go||go[0].level==0){var gs=Math.max(0,gq.text.search(/\S/));var gr=gu.line==gt.line&&gu.ch<=gs&&gu.ch;return W(gt.line,gr?0:gs)}return gt}function an(gp,gq,go){var gr=gp[0].level;if(gq==gr){return true}if(go==gr){return false}return gq<go}var e6;function aG(go,gs){e6=null;for(var gp=0,gq;gp<go.length;++gp){var gr=go[gp];if(gr.from<gs&&gr.to>gs){return gp}if((gr.from==gs||gr.to==gs)){if(gq==null){gq=gp}else{if(an(go,gr.level,go[gq].level)){if(gr.from!=gr.to){e6=gq}return gp}else{if(gr.from!=gr.to){e6=gp}return gq}}}}return gq}function fj(go,gr,gp,gq){if(!gq){return gr+gp}do{gr+=gp}while(gr>0&&fu(go.text.charAt(gr)));return gr}function u(go,gv,gq,gr){var gs=a(go);if(!gs){return ai(go,gv,gq,gr)}var gu=aG(gs,gv),gp=gs[gu];var gt=fj(go,gv,gp.level%2?-gq:gq,gr);for(;;){if(gt>gp.from&><gp.to){return gt}if(gt==gp.from||gt==gp.to){if(aG(gs,gt)==gu){return gt}gp=gs[gu+=gq];return(gq>0)==gp.level%2?gp.to:gp.from}else{gp=gs[gu+=gq];if(!gp){return null}if((gq>0)==gp.level%2){gt=fj(go,gp.to,-1,gr)}else{gt=fj(go,gp.from,1,gr)}}}}function ai(go,gs,gp,gq){var gr=gs+gp;if(gq){while(gr>0&&fu(go.text.charAt(gr))){gr+=gp}}return gr<0||gr>go.text.length?null:gr}var bh=(function(){var gu="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN";var gs="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm";function gr(gy){if(gy<=247){return gu.charAt(gy)}else{if(1424<=gy&&gy<=1524){return"R"}else{if(1536<=gy&&gy<=1773){return gs.charAt(gy-1536)}else{if(1774<=gy&&gy<=2220){return"r"}else{if(8192<=gy&&gy<=8203){return"w"}else{if(gy==8204){return"b"}else{return"L"}}}}}}}var go=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;var gx=/[stwN]/,gq=/[LRr]/,gp=/[Lb1n]/,gt=/[1n]/;var gw="L";function gv(gA,gz,gy){this.level=gA;this.from=gz;this.to=gy}return function(gI){if(!go.test(gI)){return false}var gO=gI.length,gE=[];for(var gN=0,gA;gN<gO;++gN){gE.push(gA=gr(gI.charCodeAt(gN)))}for(var gN=0,gH=gw;gN<gO;++gN){var gA=gE[gN];if(gA=="m"){gE[gN]=gH}else{gH=gA}}for(var gN=0,gy=gw;gN<gO;++gN){var gA=gE[gN];if(gA=="1"&&gy=="r"){gE[gN]="n"}else{if(gq.test(gA)){gy=gA;if(gA=="r"){gE[gN]="R"}}}}for(var gN=1,gH=gE[0];gN<gO-1;++gN){var gA=gE[gN];if(gA=="+"&&gH=="1"&&gE[gN+1]=="1"){gE[gN]="1"}else{if(gA==","&&gH==gE[gN+1]&&(gH=="1"||gH=="n")){gE[gN]=gH}}gH=gA}for(var gN=0;gN<gO;++gN){var gA=gE[gN];if(gA==","){gE[gN]="N"}else{if(gA=="%"){for(var gB=gN+1;gB<gO&&gE[gB]=="%";++gB){}var gP=(gN&&gE[gN-1]=="!")||(gB<gO&&gE[gB]=="1")?"1":"N";for(var gL=gN;gL<gB;++gL){gE[gL]=gP}gN=gB-1}}}for(var gN=0,gy=gw;gN<gO;++gN){var gA=gE[gN];if(gy=="L"&&gA=="1"){gE[gN]="L"}else{if(gq.test(gA)){gy=gA}}}for(var gN=0;gN<gO;++gN){if(gx.test(gE[gN])){for(var gB=gN+1;gB<gO&&gx.test(gE[gB]);++gB){}var gF=(gN?gE[gN-1]:gw)=="L";var gz=(gB<gO?gE[gB]:gw)=="L";var gP=gF||gz?"L":"R";for(var gL=gN;gL<gB;++gL){gE[gL]=gP}gN=gB-1}}var gM=[],gJ;for(var gN=0;gN<gO;){if(gp.test(gE[gN])){var gC=gN;for(++gN;gN<gO&&gp.test(gE[gN]);++gN){}gM.push(new gv(0,gC,gN))}else{var gD=gN,gG=gM.length;for(++gN;gN<gO&&gE[gN]!="L";++gN){}for(var gL=gD;gL<gN;){if(gt.test(gE[gL])){if(gD<gL){gM.splice(gG,0,new gv(1,gD,gL))}var gK=gL;for(++gL;gL<gN&>.test(gE[gL]);++gL){}gM.splice(gG,0,new gv(2,gK,gL));gD=gL}else{++gL}}if(gD<gN){gM.splice(gG,0,new gv(1,gD,gN))}}}if(gM[0].level==1&&(gJ=gI.match(/^\s+/))){gM[0].from=gJ[0].length;gM.unshift(new gv(0,0,gJ[0].length))}if(fL(gM).level==1&&(gJ=gI.match(/\s+$/))){fL(gM).to-=gJ[0].length;gM.push(new gv(0,gO-gJ[0].length,gO))}if(gM[0].level==2){gM.unshift(new gv(1,gM[0].to,gM[0].to))}if(gM[0].level!=fL(gM).level){gM.push(new gv(gM[0].level,gO,gO))}return gM}})();H.version="5.8.0";return H}); |