MCPcopy
hub / github.com/vitest-dev/vitest / Ig

Function Ig

test/cli/test/fixtures/reporters/html/fail/assets/index-BUCFJtth.js:28–28  ·  view source on GitHub ↗
(n)

Source from the content-addressed store, hash-verified

26 top: `+(i.top-a.viewOffset-nc(n.display))+`px;
27 height: `+(i.bottom-i.top+qr(n)+a.barHeight)+`px;
28 left: `+i.left+"px; width: "+Math.max(2,i.right-i.left)+"px;");n.display.lineSpace.appendChild(y),y.scrollIntoView(u),n.display.lineSpace.removeChild(y)}}}function _k(n,i,a,l){l==null&&(l=0);var u;!n.options.lineWrapping&&i==a&&(a=i.sticky=="before"?fe(i.line,i.ch+1,"before"):i,i=i.ch?fe(i.line,i.sticky=="before"?i.ch-1:i.ch,"after"):i);for(var m=0;m<5;m++){var y=!1,x=_r(n,i),S=!a||a==i?x:_r(n,a);u={left:Math.min(x.left,S.left),top:Math.min(x.top,S.top)-l,right:Math.max(x.left,S.left),bottom:Math.max(x.bottom,S.bottom)+l};var T=Hf(n,u),H=n.doc.scrollTop,V=n.doc.scrollLeft;if(T.scrollTop!=null&&(yl(n,T.scrollTop),Math.abs(n.doc.scrollTop-H)>1&&(y=!0)),T.scrollLeft!=null&&(_o(n,T.scrollLeft),Math.abs(n.doc.scrollLeft-V)>1&&(y=!0)),!y)break}return u}function Tk(n,i){var a=Hf(n,i);a.scrollTop!=null&&yl(n,a.scrollTop),a.scrollLeft!=null&&_o(n,a.scrollLeft)}function Hf(n,i){var a=n.display,l=as(n.display);i.top<0&&(i.top=0);var u=n.curOp&&n.curOp.scrollTop!=null?n.curOp.scrollTop:a.scroller.scrollTop,m=Ef(n),y={};i.bottom-i.top>m&&(i.bottom=i.top+m);var x=n.doc.height+Cf(a),S=i.top<l,T=i.bottom>x-l;if(i.top<u)y.scrollTop=S?0:i.top;else if(i.bottom>u+m){var H=Math.min(i.top,(T?x:i.bottom)-m);H!=u&&(y.scrollTop=H)}var V=n.options.fixedGutter?0:a.gutters.offsetWidth,se=n.curOp&&n.curOp.scrollLeft!=null?n.curOp.scrollLeft:a.scroller.scrollLeft-V,te=wo(n)-a.gutters.offsetWidth,pe=i.right-i.left>te;return pe&&(i.right=i.left+te),i.left<10?y.scrollLeft=0:i.left<se?y.scrollLeft=Math.max(0,i.left+V-(pe?0:10)):i.right>te+se-3&&(y.scrollLeft=i.right+(pe?0:10)-te),y}function Bf(n,i){i!=null&&(cc(n),n.curOp.scrollTop=(n.curOp.scrollTop==null?n.doc.scrollTop:n.curOp.scrollTop)+i)}function fs(n){cc(n);var i=n.getCursor();n.curOp.scrollToPos={from:i,to:i,margin:n.options.cursorScrollMargin}}function vl(n,i,a){(i!=null||a!=null)&&cc(n),i!=null&&(n.curOp.scrollLeft=i),a!=null&&(n.curOp.scrollTop=a)}function Ck(n,i){cc(n),n.curOp.scrollToPos=i}function cc(n){var i=n.curOp.scrollToPos;if(i){n.curOp.scrollToPos=null;var a=_g(n,i.from),l=_g(n,i.to);Og(n,a,l,i.margin)}}function Og(n,i,a,l){var u=Hf(n,{left:Math.min(i.left,a.left),top:Math.min(i.top,a.top)-l,right:Math.max(i.right,a.right),bottom:Math.max(i.bottom,a.bottom)+l});vl(n,u.scrollLeft,u.scrollTop)}function yl(n,i){Math.abs(n.doc.scrollTop-i)<2||(s||qf(n,{top:i}),Pg(n,i,!0),s&&qf(n),xl(n,100))}function Pg(n,i,a){i=Math.max(0,Math.min(n.display.scroller.scrollHeight-n.display.scroller.clientHeight,i)),!(n.display.scroller.scrollTop==i&&!a)&&(n.doc.scrollTop=i,n.display.scrollbars.setScrollTop(i),n.display.scroller.scrollTop!=i&&(n.display.scroller.scrollTop=i))}function _o(n,i,a,l){i=Math.max(0,Math.min(i,n.display.scroller.scrollWidth-n.display.scroller.clientWidth)),!((a?i==n.doc.scrollLeft:Math.abs(n.doc.scrollLeft-i)<2)&&!l)&&(n.doc.scrollLeft=i,zg(n),n.display.scroller.scrollLeft!=i&&(n.display.scroller.scrollLeft=i),n.display.scrollbars.setScrollLeft(i))}function bl(n){var i=n.display,a=i.gutters.offsetWidth,l=Math.round(n.doc.height+Cf(n.display));return{clientHeight:i.scroller.clientHeight,viewHeight:i.wrapper.clientHeight,scrollWidth:i.scroller.scrollWidth,clientWidth:i.scroller.clientWidth,viewWidth:i.wrapper.clientWidth,barLeft:n.options.fixedGutter?a:0,docHeight:l,scrollHeight:l+qr(n)+i.barHeight,nativeBarWidth:i.nativeBarWidth,gutterWidth:a}}var To=function(n,i,a){this.cm=a;var l=this.vert=k("div",[k("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),u=this.horiz=k("div",[k("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");l.tabIndex=u.tabIndex=-1,n(l),n(u),Xe(l,"scroll",function(){l.clientHeight&&i(l.scrollTop,"vertical")}),Xe(u,"scroll",function(){u.clientWidth&&i(u.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,h&&p<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};To.prototype.update=function(n){var i=n.scrollWidth>n.clientWidth+1,a=n.scrollHeight>n.clientHeight+1,l=n.nativeBarWidth;if(a){this.vert.style.display="block",this.vert.style.bottom=i?l+"px":"0";var u=n.viewHeight-(i?l:0);this.vert.firstChild.style.height=Math.max(0,n.scrollHeight-n.clientHeight+u)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(i){this.horiz.style.display="block",this.horiz.style.right=a?l+"px":"0",this.horiz.style.left=n.barLeft+"px";var m=n.viewWidth-n.barLeft-(a?l:0);this.horiz.firstChild.style.width=Math.max(0,n.scrollWidth-n.clientWidth+m)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&n.clientHeight>0&&(l==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:a?l:0,bottom:i?l:0}},To.prototype.setScrollLeft=function(n){this.horiz.scrollLeft!=n&&(this.horiz.scrollLeft=n),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},To.prototype.setScrollTop=function(n){this.vert.scrollTop!=n&&(this.vert.scrollTop=n),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},To.prototype.zeroWidthHack=function(){var n=$&&!P?"12px":"18px";this.horiz.style.height=this.vert.style.width=n,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new le,this.disableVert=new le},To.prototype.enableZeroWidthBar=function(n,i,a){n.style.visibility="";function l(){var u=n.getBoundingClientRect(),m=a=="vert"?document.elementFromPoint(u.right-1,(u.top+u.bottom)/2):document.elementFromPoint((u.right+u.left)/2,u.bottom-1);m!=n?n.style.visibility="hidden":i.set(1e3,l)}i.set(1e3,l)},To.prototype.clear=function(){var n=this.horiz.parentNode;n.removeChild(this.horiz),n.removeChild(this.vert)};var wl=function(){};wl.prototype.update=function(){return{bottom:0,right:0}},wl.prototype.setScrollLeft=function(){},wl.prototype.setScrollTop=function(){},wl.prototype.clear=function(){};function ds(n,i){i||(i=bl(n));var a=n.display.barWidth,l=n.display.barHeight;Rg(n,i);for(var u=0;u<4&&a!=n.display.barWidth||l!=n.display.barHeight;u++)a!=n.display.barWidth&&n.options.lineWrapping&&lc(n),Rg(n,bl(n)),a=n.display.barWidth,l=n.display.barHeight}function Rg(n,i){var a=n.display,l=a.scrollbars.update(i);a.sizer.style.paddingRight=(a.barWidth=l.right)+"px",a.sizer.style.paddingBottom=(a.barHeight=l.bottom)+"px",a.heightForcer.style.borderBottom=l.bottom+"px solid transparent",l.right&&l.bottom?(a.scrollbarFiller.style.display="block",a.scrollbarFiller.style.height=l.bottom+"px",a.scrollbarFiller.style.width=l.right+"px"):a.scrollbarFiller.style.display="",l.bottom&&n.options.coverGutterNextToScrollbar&&n.options.fixedGutter?(a.gutterFiller.style.display="block",a.gutterFiller.style.height=l.bottom+"px",a.gutterFiller.style.width=i.gutterWidth+"px"):a.gutterFiller.style.display=""}var $g={native:To,null:wl};function Ig(n){n.display.scrollbars&&(n.display.scrollbars.clear(),n.display.scrollbars.addClass&&N(n.display.wrapper,n.display.scrollbars.addClass)),n.display.scrollbars=new $g[n.options.scrollbarStyle](function(i){n.display.wrapper.insertBefore(i,n.display.scrollbarFiller),Xe(i,"mousedown",function(){n.state.focused&&setTimeout(function(){return n.display.input.focus()},0)}),i.setAttribute("cm-not-content","true")},function(i,a){a=="horizontal"?_o(n,i):yl(n,i)},n),n.display.scrollbars.addClass&&Se(n.display.wrapper,n.display.scrollbars.addClass)}var Ek=0;function Co(n){n.curOp={cm:n,viewChanged:!1,startHeight:n.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Ek,markArrays:null},ik(n.curOp)}function Eo(n){var i=n.curOp;i&&sk(i,function(a){for(var l=0;l<a.ops.length;l++)a.ops[l].cm.curOp=null;Ak(a)})}function Ak(n){for(var i=n.ops,a=0;a<i.length;a++)Lk(i[a]);for(var l=0;l<i.length;l++)Mk(i[l]);for(var u=0;u<i.length;u++)Nk(i[u]);for(var m=0;m<i.length;m++)Ok(i[m]);for(var y=0;y<i.length;y++)Pk(i[y])}function Lk(n){var i=n.cm,a=i.display;$k(i),n.updateMaxLine&&_f(i),n.mustUpdate=n.viewChanged||n.forceUpdate||n.scrollTop!=null||n.scrollToPos&&(n.scrollToPos.from.line<a.viewFrom||n.scrollToPos.to.line>=a.viewTo)||a.maxLineChanged&&i.options.lineWrapping,n.update=n.mustUpdate&&new uc(i,n.mustUpdate&&{top:n.scrollTop,ensure:n.scrollToPos},n.forceUpdate)}function Mk(n){n.updatedDisplay=n.mustUpdate&&Wf(n.cm,n.update)}function Nk(n){var i=n.cm,a=i.display;n.updatedDisplay&&lc(i),n.barMeasure=bl(i),a.maxLineChanged&&!i.options.lineWrapping&&(n.adjustWidthTo=mg(i,a.maxLine,a.maxLine.text.length).left+3,i.display.sizerWidth=n.adjustWidthTo,n.barMeasure.scrollWidth=Math.max(a.scroller.clientWidth,a.sizer.offsetLeft+n.adjustWidthTo+qr(i)+i.display.barWidth),n.maxScrollLeft=Math.max(0,a.sizer.offsetLeft+n.adjustWidthTo-wo(i))),(n.updatedDisplay||n.selectionChanged)&&(n.preparedSelection=a.input.prepareSelection())}function Ok(n){var i=n.cm;n.adjustWidthTo!=null&&(i.display.sizer.style.minWidth=n.adjustWidthTo+"px",n.maxScrollLeft<i.doc.scrollLeft&&_o(i,Math.min(i.display.scroller.scrollLeft,n.maxScrollLeft),!0),i.display.maxLineChanged=!1);var a=n.focus&&n.focus==be(je(i));n.preparedSelection&&i.display.input.showSelection(n.preparedSelection,a),(n.updatedDisplay||n.startHeight!=i.doc.height)&&ds(i,n.barMeasure),n.updatedDisplay&&Uf(i,n.barMeasure),n.selectionChanged&&Df(i),i.state.focused&&n.updateInput&&i.display.input.reset(n.typing),a&&Mg(n.cm)}function Pk(n){var i=n.cm,a=i.display,l=i.doc;if(n.updatedDisplay&&Dg(i,n.update),a.wheelStartX!=null&&(n.scrollTop!=null||n.scrollLeft!=null||n.scrollToPos)&&(a.wheelStartX=a.wheelStartY=null),n.scrollTop!=null&&Pg(i,n.scrollTop,n.forceScroll),n.scrollLeft!=null&&_o(i,n.scrollLeft,!0,!0),n.scrollToPos){var u=_k(i,tt(l,n.scrollToPos.from),tt(l,n.scrollToPos.to),n.scrollToPos.margin);Sk(i,u)}var m=n.maybeHiddenMarkers,y=n.maybeUnhiddenMarkers;if(m)for(var x=0;x<m.length;++x)m[x].lines.length||Pt(m[x],"hide");if(y)for(var S=0;S<y.length;++S)y[S].lines.length&&Pt(y[S],"unhide");a.wrapper.offsetHeight&&(l.scrollTop=i.display.scroller.scrollTop),n.changeObjs&&Pt(i,"changes",i,n.changeObjs),n.update&&n.update.finish()}function Wn(n,i){if(n.curOp)return i();Co(n);try{return i()}finally{Eo(n)}}function Qt(n,i){return function(){if(n.curOp)return i.apply(n,arguments);Co(n);try{return i.apply(n,arguments)}finally{Eo(n)}}}function vn(n){return function(){if(this.curOp)return n.apply(this,arguments);Co(this);try{return n.apply(this,arguments)}finally{Eo(this)}}}function en(n){return function(){var i=this.cm;if(!i||i.curOp)return n.apply(this,arguments);Co(i);try{return n.apply(this,arguments)}finally{Eo(i)}}}function xl(n,i){n.doc.highlightFrontier<n.display.viewTo&&n.state.highlight.set(i,F(Rk,n))}function Rk(n){var i=n.doc;if(!(i.highlightFrontier>=n.display.viewTo)){var a=+new Date+n.options.workTime,l=ul(n,i.highlightFrontier),u=[];i.iter(l.line,Math.min(i.first+i.size,n.display.viewTo+500),function(m){if(l.line>=n.display.viewFrom){var y=m.styles,x=m.text.length>n.options.maxHighlightLength?Br(i.mode,l.state):null,S=jp(n,m,l,!0);x&&(l.state=x),m.styles=S.styles;var T=m.styleClasses,H=S.classes;H?m.styleClasses=H:T&&(m.styleClasses=null);for(var V=!y||y.length!=m.styles.length||T!=H&&(!T||!H||T.bgClass!=H.bgClass||T.textClass!=H.textClass),se=0;!V&&se<y.length;++se)V=y[se]!=m.styles[se];V&&u.push(l.line),m.stateAfter=l.save(),l.nextLine()}else m.text.length<=n.options.maxHighlightLength&&yf(n,m.text,l),m.stateAfter=l.line%5==0?l.save():null,l.nextLine();if(+new Date>a)return xl(n,n.options.workDelay),!0}),i.highlightFrontier=l.line,i.modeFrontier=Math.max(i.modeFrontier,l.line),u.length&&Wn(n,function(){for(var m=0;m<u.length;m++)Di(n,u[m],"text")})}}var uc=function(n,i,a){var l=n.display;this.viewport=i,this.visible=ac(l,n.doc,i),this.editorIsHidden=!l.wrapper.offsetWidth,this.wrapperHeight=l.wrapper.clientHeight,this.wrapperWidth=l.wrapper.clientWidth,this.oldDisplayWidth=wo(n),this.force=a,this.dims=Pf(n),this.events=[]};uc.prototype.signal=function(n,i){Bn(n,i)&&this.events.push(arguments)},uc.prototype.finish=function(){for(var n=0;n<this.events.length;n++)Pt.apply(null,this.events[n])};function $k(n){var i=n.display;!i.scrollbarsClipped&&i.scroller.offsetWidth&&(i.nativeBarWidth=i.scroller.offsetWidth-i.scroller.clientWidth,i.heightForcer.style.height=qr(n)+"px",i.sizer.style.marginBottom=-i.nativeBarWidth+"px",i.sizer.style.borderRightWidth=qr(n)+"px",i.scrollbarsClipped=!0)}function Ik(n){if(n.hasFocus())return null;var i=be(je(n));if(!i||!ce(n.display.lineDiv,i))return null;var a={activeElt:i};if(window.getSelection){var l=Pe(n).getSelection();l.anchorNode&&l.extend&&ce(n.display.lineDiv,l.anchorNode)&&(a.anchorNode=l.anchorNode,a.anchorOffset=l.anchorOffset,a.focusNode=l.focusNode,a.focusOffset=l.focusOffset)}return a}function Dk(n){if(!(!n||!n.activeElt||n.activeElt==be(Fe(n.activeElt)))&&(n.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(n.activeElt.nodeName)&&n.anchorNode&&ce(document.body,n.anchorNode)&&ce(document.body,n.focusNode))){var i=n.activeElt.ownerDocument,a=i.defaultView.getSelection(),l=i.createRange();l.setEnd(n.anchorNode,n.anchorOffset),l.collapse(!1),a.removeAllRanges(),a.addRange(l),a.extend(n.focusNode,n.focusOffset)}}function Wf(n,i){var a=n.display,l=n.doc;if(i.editorIsHidden)return zi(n),!1;if(!i.force&&i.visible.from>=a.viewFrom&&i.visible.to<=a.viewTo&&(a.updateLineNumbers==null||a.updateLineNumbers>=a.viewTo)&&a.renderedView==a.view&&Ag(n)==0)return!1;Fg(n)&&(zi(n),i.dims=Pf(n));var u=l.first+l.size,m=Math.max(i.visible.from-n.options.viewportMargin,l.first),y=Math.min(u,i.visible.to+n.options.viewportMargin);a.viewFrom<m&&m-a.viewFrom<20&&(m=Math.max(l.first,a.viewFrom)),a.viewTo>y&&a.viewTo-y<20&&(y=Math.min(u,a.viewTo)),oi&&(m=kf(n.doc,m),y=ig(n.doc,y));var x=m!=a.viewFrom||y!=a.viewTo||a.lastWrapHeight!=i.wrapperHeight||a.lastWrapWidth!=i.wrapperWidth;xk(n,m,y),a.viewOffset=si(qe(n.doc,a.viewFrom)),n.display.mover.style.top=a.viewOffset+"px";var S=Ag(n);if(!x&&S==0&&!i.force&&a.renderedView==a.view&&(a.updateLineNumbers==null||a.updateLineNumbers>=a.viewTo))return!1;var T=Ik(n);return S>4&&(a.lineDiv.style.display="none"),zk(n,a.updateLineNumbers,i.dims),S>4&&(a.lineDiv.style.display=""),a.renderedView=a.view,Dk(T),O(a.cursorDiv),O(a.selectionDiv),a.gutters.style.height=a.sizer.style.minHeight=0,x&&(a.lastWrapHeight=i.wrapperHeight,a.lastWrapWidth=i.wrapperWidth,xl(n,400)),a.updateLineNumbers=null,!0}function Dg(n,i){for(var a=i.viewport,l=!0;;l=!1){if(!l||!n.options.lineWrapping||i.oldDisplayWidth==wo(n)){if(a&&a.top!=null&&(a={top:Math.min(n.doc.height+Cf(n.display)-Ef(n),a.top)}),i.visible=ac(n.display,n.doc,a),i.visible.from>=n.display.viewFrom&&i.visible.to<=n.display.viewTo)break}else l&&(i.visible=ac(n.display,n.doc,a));if(!Wf(n,i))break;lc(n);var u=bl(n);ml(n),ds(n,u),Uf(n,u),i.force=!1}i.signal(n,"update",n),(n.display.viewFrom!=n.display.reportedViewFrom||n.display.viewTo!=n.display.reportedViewTo)&&(i.signal(n,"viewportChange",n,n.display.viewFrom,n.display.viewTo),n.display.reportedViewFrom=n.display.viewFrom,n.display.reportedViewTo=n.display.viewTo)}function qf(n,i){var a=new uc(n,i);if(Wf(n,a)){lc(n),Dg(n,a);var l=bl(n);ml(n),ds(n,l),Uf(n,l),a.finish()}}function zk(n,i,a){var l=n.display,u=n.options.lineNumbers,m=l.lineDiv,y=m.firstChild;function x(pe){var we=pe.nextSibling;return g&&$&&n.display.currentWheelTarget==pe?pe.style.display="none":pe.parentNode.removeChild(pe),we}for(var S=l.view,T=l.viewFrom,H=0;H<S.length;H++){var V=S[H];if(!V.hidden)if(!V.node||V.node.parentNode!=m){var se=fk(n,V,T,a);m.insertBefore(se,y)}else{for(;y!=V.node;)y=x(y);var te=u&&i!=null&&i<=T&&V.lineNumber;V.changes&&(ae(V.changes,"gutter")>-1&&(te=!1),cg(n,V,T,a)),te&&(O(V.lineNumber),V.lineNumber.appendChild(document.createTextNode(_e(n.options,T)))),y=V.node.nextSibling}T+=V.size}for(;y;)y=x(y)}function jf(n){var i=n.gutters.offsetWidth;n.sizer.style.marginLeft=i+"px",Jt(n,"gutterChanged",n)}function Uf(n,i){n.display.sizer.style.minHeight=i.docHeight+"px",n.display.heightForcer.style.top=i.docHeight+"px",n.display.gutters.style.height=i.docHeight+n.display.barHeight+qr(n)+"px"}function zg(n){var i=n.display,a=i.view;if(!(!i.alignWidgets&&(!i.gutters.firstChild||!n.options.fixedGutter))){for(var l=Rf(i)-i.scroller.scrollLeft+n.doc.scrollLeft,u=i.gutters.offsetWidth,m=l+"px",y=0;y<a.length;y++)if(!a[y].hidden){n.options.fixedGutter&&(a[y].gutter&&(a[y].gutter.style.left=m),a[y].gutterBackground&&(a[y].gutterBackground.style.left=m));var x=a[y].alignable;if(x)for(var S=0;S<x.length;S++)x[S].style.left=m}n.options.fixedGutter&&(i.gutters.style.left=l+u+"px")}}function Fg(n){if(!n.options.lineNumbers)return!1;var i=n.doc,a=_e(n.options,i.first+i.size-1),l=n.display;if(a.length!=l.lineNumChars){var u=l.measure.appendChild(k("div",[k("div",a)],"CodeMirror-linenumber CodeMirror-gutter-elt")),m=u.firstChild.offsetWidth,y=u.offsetWidth-m;return l.lineGutter.style.width="",l.lineNumInnerWidth=Math.max(m,l.lineGutter.offsetWidth-y)+1,l.lineNumWidth=l.lineNumInnerWidth+y,l.lineNumChars=l.lineNumInnerWidth?a.length:-1,l.lineGutter.style.width=l.lineNumWidth+"px",jf(n.display),!0}return!1}function Vf(n,i){for(var a=[],l=!1,u=0;u<n.length;u++){var m=n[u],y=null;if(typeof m!="string"&&(y=m.style,m=m.className),m=="CodeMirror-linenumbers")if(i)l=!0;else continue;a.push({className:m,style:y})}return i&&!l&&a.push({className:"CodeMirror-linenumbers",style:null}),a}function Hg(n){var i=n.gutters,a=n.gutterSpecs;O(i),n.lineGutter=null;for(var l=0;l<a.length;++l){var u=a[l],m=u.className,y=u.style,x=i.appendChild(k("div",null,"CodeMirror-gutter "+m));y&&(x.style.cssText=y),m=="CodeMirror-linenumbers"&&(n.lineGutter=x,x.style.width=(n.lineNumWidth||1)+"px")}i.style.display=a.length?"":"none",jf(n)}function kl(n){Hg(n.display),_n(n),zg(n)}function Fk(n,i,a,l){var u=this;this.input=a,u.scrollbarFiller=k("div",null,"CodeMirror-scrollbar-filler"),u.scrollbarFiller.setAttribute("cm-not-content","true"),u.gutterFiller=k("div",null,"CodeMirror-gutter-filler"),u.gutterFiller.setAttribute("cm-not-content","true"),u.lineDiv=z("div",null,"CodeMirror-code"),u.selectionDiv=k("div",null,null,"position: relative; z-index: 1"),u.cursorDiv=k("div",null,"CodeMirror-cursors"),u.measure=k("div",null,"CodeMirror-measure"),u.lineMeasure=k("div",null,"CodeMirror-measure"),u.lineSpace=z("div",[u.measure,u.lineMeasure,u.selectionDiv,u.cursorDiv,u.lineDiv],null,"position: relative; outline: none");var m=z("div",[u.lineSpace],"CodeMirror-lines");u.mover=k("div",[m],null,"position: relative"),u.sizer=k("div",[u.mover],"CodeMirror-sizer"),u.sizerWidth=null,u.heightForcer=k("div",null,null,"position: absolute; height: "+D+"px; width: 1px;"),u.gutters=k("div",null,"CodeMirror-gutters"),u.lineGutter=null,u.scroller=k("div",[u.sizer,u.heightForcer,u.gutters],"CodeMirror-scroll"),u.scroller.setAttribute("tabIndex","-1"),u.wrapper=k("div",[u.scrollbarFiller,u.gutterFiller,u.scroller],"CodeMirror"),b&&w>=105&&(u.wrapper.style.clipPath="inset(0px)"),u.wrapper.setAttribute("translate","no"),h&&p<8&&(u.gutters.style.zIndex=-1,u.scroller.style.paddingRight=0),!g&&!(s&&_)&&(u.scroller.draggable=!0),n&&(n.appendChild?n.appendChild(u.wrapper):n(u.wrapper)),u.viewFrom=u.viewTo=i.first,u.reportedViewFrom=u.reportedViewTo=i.first,u.view=[],u.renderedView=null,u.externalMeasured=null,u.viewOffset=0,u.lastWrapHeight=u.lastWrapWidth=0,u.updateLineNumbers=null,u.nativeBarWidth=u.barHeight=u.barWidth=0,u.scrollbarsClipped=!1,u.lineNumWidth=u.lineNumInnerWidth=u.lineNumChars=null,u.alignWidgets=!1,u.cachedCharWidth=u.cachedTextHeight=u.cachedPaddingH=null,u.maxLine=null,u.maxLineLength=0,u.maxLineChanged=!1,u.wheelDX=u.wheelDY=u.wheelStartX=u.wheelStartY=null,u.shift=!1,u.selForContextMenu=null,u.activeTouch=null,u.gutterSpecs=Vf(l.gutters,l.lineNumbers),Hg(u),a.init(u)}var fc=0,ai=null;h?ai=-.53:s?ai=15:b?ai=-.7:L&&(ai=-1/3);function Bg(n){var i=n.wheelDeltaX,a=n.wheelDeltaY;return i==null&&n.detail&&n.axis==n.HORIZONTAL_AXIS&&(i=n.detail),a==null&&n.detail&&n.axis==n.VERTICAL_AXIS?a=n.detail:a==null&&(a=n.wheelDelta),{x:i,y:a}}function Hk(n){var i=Bg(n);return i.x*=ai,i.y*=ai,i}function Wg(n,i){b&&w==102&&(n.display.chromeScrollHack==null?n.display.sizer.style.pointerEvents="none":clearTimeout(n.display.chromeScrollHack),n.display.chromeScrollHack=setTimeout(function(){n.display.chromeScrollHack=null,n.display.sizer.style.pointerEvents=""},100));var a=Bg(i),l=a.x,u=a.y,m=ai;i.deltaMode===0&&(l=i.deltaX,u=i.deltaY,m=1);var y=n.display,x=y.scroller,S=x.scrollWidth>x.clientWidth,T=x.scrollHeight>x.clientHeight;if(l&&S||u&&T){if(u&&$&&g){e:for(var H=i.target,V=y.view;H!=x;H=H.parentNode)for(var se=0;se<V.length;se++)if(V[se].node==H){n.display.currentWheelTarget=H;break e}}if(l&&!s&&!E&&m!=null){u&&T&&yl(n,Math.max(0,x.scrollTop+u*m)),_o(n,Math.max(0,x.scrollLeft+l*m)),(!u||u&&T)&&cn(i),y.wheelStartX=null;return}if(u&&m!=null){var te=u*m,pe=n.doc.scrollTop,we=pe+y.wrapper.clientHeight;te<0?pe=Math.max(0,pe+te-50):we=Math.min(n.doc.height,we+te+50),qf(n,{top:pe,bottom:we})}fc<20&&i.deltaMode!==0&&(y.wheelStartX==null?(y.wheelStartX=x.scrollLeft,y.wheelStartY=x.scrollTop,y.wheelDX=l,y.wheelDY=u,setTimeout(function(){if(y.wheelStartX!=null){var Te=x.scrollLeft-y.wheelStartX,Le=x.scrollTop-y.wheelStartY,De=Le&&y.wheelDY&&Le/y.wheelDY||Te&&y.wheelDX&&Te/y.wheelDX;y.wheelStartX=y.wheelStartY=null,De&&(ai=(ai*fc+De)/(fc+1),++fc)}},200)):(y.wheelDX+=l,y.wheelDY+=u))}}var er=function(n,i){this.ranges=n,this.primIndex=i};er.prototype.primary=function(){return this.ranges[this.primIndex]},er.prototype.equals=function(n){if(n==this)return!0;if(n.primIndex!=this.primIndex||n.ranges.length!=this.ranges.length)return!1;for(var i=0;i<this.ranges.length;i++){var a=this.ranges[i],l=n.ranges[i];if(!pt(a.anchor,l.anchor)||!pt(a.head,l.head))return!1}return!0},er.prototype.deepCopy=function(){for(var n=[],i=0;i<this.ranges.length;i++)n[i]=new gt(Zt(this.ranges[i].anchor),Zt(this.ranges[i].head));return new er(n,this.primIndex)},er.prototype.somethingSelected=function(){for(var n=0;n<this.ranges.length;n++)if(!this.ranges[n].empty())return!0;return!1},er.prototype.contains=function(n,i){i||(i=n);for(var a=0;a<this.ranges.length;a++){var l=this.ranges[a];if(Ie(i,l.from())>=0&&Ie(n,l.to())<=0)return a}return-1};var gt=function(n,i){this.anchor=n,this.head=i};gt.prototype.from=function(){return is(this.anchor,this.head)},gt.prototype.to=function(){return Sn(this.anchor,this.head)},gt.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function Tr(n,i,a){var l=n&&n.options.selectionsMayTouch,u=i[a];i.sort(function(se,te){return Ie(se.from(),te.from())}),a=ae(i,u);for(var m=1;m<i.length;m++){var y=i[m],x=i[m-1],S=Ie(x.to(),y.from());if(l&&!y.empty()?S>0:S>=0){var T=is(x.from(),y.from()),H=Sn(x.to(),y.to()),V=x.empty()?y.from()==y.head:x.from()==x.head;m<=a&&--a,i.splice(--m,2,new gt(V?H:T,V?T:H))}}return new er(i,a)}function Fi(n,i){return new er([new gt(n,i||n)],0)}function Hi(n){return n.text?fe(n.from.line+n.text.length-1,xe(n.text).length+(n.text.length==1?n.from.ch:0)):n.to}function qg(n,i){if(Ie(n,i.from)<0)return n;if(Ie(n,i.to)<=0)return Hi(i);var a=n.line+i.text.length-(i.to.line-i.from.line)-1,l=n.ch;return n.line==i.to.line&&(l+=Hi(i).ch-i.to.ch),fe(a,l)}function Gf(n,i){for(var a=[],l=0;l<n.sel.ranges.length;l++){var u=n.sel.ranges[l];a.push(new gt(qg(u.anchor,i),qg(u.head,i)))}return Tr(n.cm,a,n.sel.primIndex)}function jg(n,i,a){return n.line==i.line?fe(a.line,n.ch-i.ch+a.ch):fe(a.line+(n.line-i.line),n.ch)}function Bk(n,i,a){for(var l=[],u=fe(n.first,0),m=u,y=0;y<i.length;y++){var x=i[y],S=jg(x.from,u,m),T=jg(Hi(x),u,m);if(u=x.to,m=T,a=="around"){var H=n.sel.ranges[y],V=Ie(H.head,H.anchor)<0;l[y]=new gt(V?T:S,V?S:T)}else l[y]=new gt(S,S)}return new er(l,n.sel.primIndex)}function Kf(n){n.doc.mode=ts(n.options,n.doc.modeOption),Sl(n)}function Sl(n){n.doc.iter(function(i){i.stateAfter&&(i.stateAfter=null),i.styles&&(i.styles=null)}),n.doc.modeFrontier=n.doc.highlightFrontier=n.doc.first,xl(n,100),n.state.modeGen++,n.curOp&&_n(n)}function Ug(n,i){return i.from.ch==0&&i.to.ch==0&&xe(i.text)==""&&(!n.cm||n.cm.options.wholeLineUpdateBefore)}function Xf(n,i,a,l){function u(De){return a?a[De]:null}function m(De,Me,ze){X1(De,Me,ze,l),Jt(De,"change",De,i)}function y(De,Me){for(var ze=[],Ye=De;Ye<Me;++Ye)ze.push(new os(T[Ye],u(Ye),l));return ze}var x=i.from,S=i.to,T=i.text,H=qe(n,x.line),V=qe(n,S.line),se=xe(T),te=u(T.length-1),pe=S.line-x.line;if(i.full)n.insert(0,y(0,T.length)),n.remove(T.length,n.size-T.length);else if(Ug(n,i)){var we=y(0,T.length-1);m(V,V.text,te),pe&&n.remove(x.line,pe),we.length&&n.insert(x.line,we)}else if(H==V)if(T.length==1)m(H,H.text.slice(0,x.ch)+se+H.text.slice(S.ch),te);else{var Te=y(1,T.length-1);Te.push(new os(se+H.text.slice(S.ch),te,l)),m(H,H.text.slice(0,x.ch)+T[0],u(0)),n.insert(x.line+1,Te)}else if(T.length==1)m(H,H.text.slice(0,x.ch)+T[0]+V.text.slice(S.ch),u(0)),n.remove(x.line+1,pe);else{m(H,H.text.slice(0,x.ch)+T[0],u(0)),m(V,se+V.text.slice(S.ch),te);var Le=y(1,T.length-1);pe>1&&n.remove(x.line+1,pe-1),n.insert(x.line+1,Le)}Jt(n,"change",n,i)}function Bi(n,i,a){function l(u,m,y){if(u.linked)for(var x=0;x<u.linked.length;++x){var S=u.linked[x];if(S.doc!=m){var T=y&&S.sharedHist;a&&!T||(i(S.doc,T),l(S.doc,u,T))}}}l(n,null,!0)}function Vg(n,i){if(i.cm)throw new Error("This document is already in use.");n.doc=i,i.cm=n,$f(n),Kf(n),Gg(n),n.options.direction=i.direction,n.options.lineWrapping||_f(n),n.options.mode=i.modeOption,_n(n)}function Gg(n){(n.doc.direction=="rtl"?Se:N)(n.display.lineDiv,"CodeMirror-rtl")}function Wk(n){Wn(n,function(){Gg(n),_n(n)})}function dc(n){this.done=[],this.undone=[],this.undoDepth=n?n.undoDepth:1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=n?n.maxGeneration:1}function Yf(n,i){var a={from:Zt(i.from),to:Hi(i),text:ii(n,i.from,i.to)};return Yg(n,a,i.from.line,i.to.line+1),Bi(n,function(l){return Yg(l,a,i.from.line,i.to.line+1)},!0),a}function Kg(n){for(;n.length;){var i=xe(n);if(i.ranges)n.pop();else break}}function qk(n,i){if(i)return Kg(n.done),xe(n.done);if(n.done.length&&!xe(n.done).ranges)return xe(n.done);if(n.done.length>1&&!n.done[n.done.length-2].ranges)return n.done.pop(),xe(n.done)}function Xg(n,i,a,l){var u=n.history;u.undone.length=0;var m=+new Date,y,x;if((u.lastOp==l||u.lastOrigin==i.origin&&i.origin&&(i.origin.charAt(0)=="+"&&u.lastModTime>m-(n.cm?n.cm.options.historyEventDelay:500)||i.origin.charAt(0)=="*"))&&(y=qk(u,u.lastOp==l)))x=xe(y.changes),Ie(i.from,i.to)==0&&Ie(i.from,x.to)==0?x.to=Hi(i):y.changes.push(Yf(n,i));else{var S=xe(u.done);for((!S||!S.ranges)&&hc(n.sel,u.done),y={changes:[Yf(n,i)],generation:u.generation},u.done.push(y);u.done.length>u.undoDepth;)u.done.shift(),u.done[0].ranges||u.done.shift()}u.done.push(a),u.generation=++u.maxGeneration,u.lastModTime=u.lastSelTime=m,u.lastOp=u.lastSelOp=l,u.lastOrigin=u.lastSelOrigin=i.origin,x||Pt(n,"historyAdded")}function jk(n,i,a,l){var u=i.charAt(0);return u=="*"||u=="+"&&a.ranges.length==l.ranges.length&&a.somethingSelected()==l.somethingSelected()&&new Date-n.history.lastSelTime<=(n.cm?n.cm.options.historyEventDelay:500)}function Uk(n,i,a,l){var u=n.history,m=l&&l.origin;a==u.lastSelOp||m&&u.lastSelOrigin==m&&(u.lastModTime==u.lastSelTime&&u.lastOrigin==m||jk(n,m,xe(u.done),i))?u.done[u.done.length-1]=i:hc(i,u.done),u.lastSelTime=+new Date,u.lastSelOrigin=m,u.lastSelOp=a,l&&l.clearRedo!==!1&&Kg(u.undone)}function hc(n,i){var a=xe(i);a&&a.ranges&&a.equals(n)||i.push(n)}function Yg(n,i,a,l){var u=i["spans_"+n.id],m=0;n.iter(Math.max(n.first,a),Math.min(n.first+n.size,l),function(y){y.markedSpans&&((u||(u=i["spans_"+n.id]={}))[m]=y.markedSpans),++m})}function Vk(n){if(!n)return null;for(var i,a=0;a<n.length;++a)n[a].marker.explicitlyCleared?i||(i=n.slice(0,a)):i&&i.push(n[a]);return i?i.length?i:null:n}function Gk(n,i){var a=i["spans_"+n.id];if(!a)return null;for(var l=[],u=0;u<i.text.length;++u)l.push(Vk(a[u]));return l}function Zg(n,i){var a=Gk(n,i),l=wf(n,i);if(!a)return l;if(!l)return a;for(var u=0;u<a.length;++u){var m=a[u],y=l[u];if(m&&y)e:for(var x=0;x<y.length;++x){for(var S=y[x],T=0;T<m.length;++T)if(m[T].marker==S.marker)continue e;m.push(S)}else y&&(a[u]=y)}return a}function hs(n,i,a){for(var l=[],u=0;u<n.length;++u){var m=n[u];if(m.ranges){l.push(a?er.prototype.deepCopy.call(m):m);continue}var y=m.changes,x=[];l.push({changes:x});for(var S=0;S<y.length;++S){var T=y[S],H=void 0;if(x.push({from:T.from,to:T.to,text:T.text}),i)for(var V in T)(H=V.match(/^spans_(\d+)$/))&&ae(i,Number(H[1]))>-1&&(xe(x)[V]=T[V],delete T[V])}}return l}function Zf(n,i,a,l){if(l){var u=n.anchor;if(a){var m=Ie(i,u)<0;m!=Ie(a,u)<0?(u=i,i=a):m!=Ie(i,a)<0&&(i=a)}return new gt(u,i)}else return new gt(a||i,i)}function pc(n,i,a,l,u){u==null&&(u=n.cm&&(n.cm.display.shift||n.extend)),un(n,new er([Zf(n.sel.primary(),i,a,u)],0),l)}function Jg(n,i,a){for(var l=[],u=n.cm&&(n.cm.display.shift||n.extend),m=0;m<n.sel.ranges.length;m++)l[m]=Zf(n.sel.ranges[m],i[m],null,u);var y=Tr(n.cm,l,n.sel.primIndex);un(n,y,a)}function Jf(n,i,a,l){var u=n.sel.ranges.slice(0);u[i]=a,un(n,Tr(n.cm,u,n.sel.primIndex),l)}function Qg(n,i,a,l){un(n,Fi(i,a),l)}function Kk(n,i,a){var l={ranges:i.ranges,update:function(u){this.ranges=[];for(var m=0;m<u.length;m++)this.ranges[m]=new gt(tt(n,u[m].anchor),tt(n,u[m].head))},origin:a&&a.origin};return Pt(n,"beforeSelectionChange",n,l),n.cm&&Pt(n.cm,"beforeSelectionChange",n.cm,l),l.ranges!=i.ranges?Tr(n.cm,l.ranges,l.ranges.length-1):i}function em(n,i,a){var l=n.history.done,u=xe(l);u&&u.ranges?(l[l.length-1]=i,gc(n,i,a)):un(n,i,a)}function un(n,i,a){gc(n,i,a),Uk(n,n.sel,n.cm?n.cm.curOp.id:NaN,a)}function gc(n,i,a){(Bn(n,"beforeSelectionChange")||n.cm&&Bn(n.cm,"beforeSelectionChange"))&&(i=Kk(n,i,a));var l=a&&a.bias||(Ie(i.primary().head,n.sel.primary().head)<0?-1:1);tm(n,rm(n,i,l,!0)),!(a&&a.scroll===!1)&&n.cm&&n.cm.getOption("readOnly")!="nocursor"&&fs(n.cm)}function tm(n,i){i.equals(n.sel)||(n.sel=i,n.cm&&(n.cm.curOp.updateInput=1,n.cm.curOp.selectionChanged=!0,ar(n.cm)),Jt(n,"cursorActivity",n))}function nm(n){tm(n,rm(n,n.sel,null,!1))}function rm(n,i,a,l){for(var u,m=0;m<i.ranges.length;m++){var y=i.ranges[m],x=i.ranges.length==n.sel.ranges.length&&n.sel.ranges[m],S=mc(n,y.anchor,x&&x.anchor,a,l),T=y.head==y.anchor?S:mc(n,y.head,x&&x.head,a,l);(u||S!=y.anchor||T!=y.head)&&(u||(u=i.ranges.slice(0,m)),u[m]=new gt(S,T))}return u?Tr(n.cm,u,i.primIndex):i}function ps(n,i,a,l,u){var m=qe(n,i.line);if(m.markedSpans)for(var y=0;y<m.markedSpans.length;++y){var x=m.markedSpans[y],S=x.marker,T="selectLeft"in S?!S.selectLeft:S.inclusiveLeft,H="selectRight"in S?!S.selectRight:S.inclusiveRight;if((x.from==null||(T?x.from<=i.ch:x.from<i.ch))&&(x.to==null||(H?x.to>=i.ch:x.to>i.ch))){if(u&&(Pt(S,"beforeCursorEnter"),S.explicitlyCleared))if(m.markedSpans){--y;continue}else break;if(!S.atomic)continue;if(a){var V=S.find(l<0?1:-1),se=void 0;if((l<0?H:T)&&(V=im(n,V,-l,V&&V.line==i.line?m:null)),V&&V.line==i.line&&(se=Ie(V,a))&&(l<0?se<0:se>0))return ps(n,V,i,l,u)}var te=S.find(l<0?-1:1);return(l<0?T:H)&&(te=im(n,te,l,te.line==i.line?m:null)),te?ps(n,te,i,l,u):null}}return i}function mc(n,i,a,l,u){var m=l||1,y=ps(n,i,a,m,u)||!u&&ps(n,i,a,m,!0)||ps(n,i,a,-m,u)||!u&&ps(n,i,a,-m,!0);return y||(n.cantEdit=!0,fe(n.first,0))}function im(n,i,a,l){return a<0&&i.ch==0?i.line>n.first?tt(n,fe(i.line-1)):null:a>0&&i.ch==(l||qe(n,i.line)).text.length?i.line<n.first+n.size-1?fe(i.line+1,0):null:new fe(i.line,i.ch+a)}function om(n){n.setSelection(fe(n.firstLine(),0),fe(n.lastLine()),Q)}function sm(n,i,a){var l={canceled:!1,from:i.from,to:i.to,text:i.text,origin:i.origin,cancel:function(){return l.canceled=!0}};return a&&(l.update=function(u,m,y,x){u&&(l.from=tt(n,u)),m&&(l.to=tt(n,m)),y&&(l.text=y),x!==void 0&&(l.origin=x)}),Pt(n,"beforeChange",n,l),n.cm&&Pt(n.cm,"beforeChange",n.cm,l),l.canceled?(n.cm&&(n.cm.curOp.updateInput=2),null):{from:l.from,to:l.to,text:l.text,origin:l.origin}}function gs(n,i,a){if(n.cm){if(!n.cm.curOp)return Qt(n.cm,gs)(n,i,a);if(n.cm.state.suppressEdits)return}if(!((Bn(n,"beforeChange")||n.cm&&Bn(n.cm,"beforeChange"))&&(i=sm(n,i,!0),!i))){var l=Zp&&!a&&U1(n,i.from,i.to);if(l)for(var u=l.length-1;u>=0;--u)lm(n,{from:l[u].from,to:l[u].to,text:u?[""]:i.text,origin:i.origin});else lm(n,i)}}function lm(n,i){if(!(i.text.length==1&&i.text[0]==""&&Ie(i.from,i.to)==0)){var a=Gf(n,i);Xg(n,i,a,n.cm?n.cm.curOp.id:NaN),_l(n,i,a,wf(n,i));var l=[];Bi(n,function(u,m){!m&&ae(l,u.history)==-1&&(fm(u.history,i),l.push(u.history)),_l(u,i,null,wf(u,i))})}}function vc(n,i,a){var l=n.cm&&n.cm.state.suppressEdits;if(!(l&&!a)){for(var u=n.history,m,y=n.sel,x=i=="undo"?u.done:u.undone,S=i=="undo"?u.undone:u.done,T=0;T<x.length&&(m=x[T],!(a?m.ranges&&!m.equals(n.sel):!m.ranges));T++);if(T!=x.length){for(u.lastOrigin=u.lastSelOrigin=null;;)if(m=x.pop(),m.ranges){if(hc(m,S),a&&!m.equals(n.sel)){un(n,m,{clearRedo:!1});return}y=m}else if(l){x.push(m);return}else break;var H=[];hc(y,S),S.push({changes:H,generation:u.generation}),u.generation=m.generation||++u.maxGeneration;for(var V=Bn(n,"beforeChange")||n.cm&&Bn(n.cm,"beforeChange"),se=function(we){var Te=m.changes[we];if(Te.origin=i,V&&!sm(n,Te,!1))return x.length=0,{};H.push(Yf(n,Te));var Le=we?Gf(n,Te):xe(x);_l(n,Te,Le,Zg(n,Te)),!we&&n.cm&&n.cm.scrollIntoView({from:Te.from,to:Hi(Te)});var De=[];Bi(n,function(Me,ze){!ze&&ae(De,Me.history)==-1&&(fm(Me.history,Te),De.push(Me.history)),_l(Me,Te,null,Zg(Me,Te))})},te=m.changes.length-1;te>=0;--te){var pe=se(te);if(pe)return pe.v}}}}function am(n,i){if(i!=0&&(n.first+=i,n.sel=new er(ye(n.sel.ranges,function(u){return new gt(fe(u.anchor.line+i,u.anchor.ch),fe(u.head.line+i,u.head.ch))}),n.sel.primIndex),n.cm)){_n(n.cm,n.first,n.first-i,i);for(var a=n.cm.display,l=a.viewFrom;l<a.viewTo;l++)Di(n.cm,l,"gutter")}}function _l(n,i,a,l){if(n.cm&&!n.cm.curOp)return Qt(n.cm,_l)(n,i,a,l);if(i.to.line<n.first){am(n,i.text.length-1-(i.to.line-i.from.line));return}if(!(i.from.line>n.lastLine())){if(i.from.line<n.first){var u=i.text.length-1-(n.first-i.from.line);am(n,u),i={from:fe(n.first,0),to:fe(i.to.line+u,i.to.ch),text:[xe(i.text)],origin:i.origin}}var m=n.lastLine();i.to.line>m&&(i={from:i.from,to:fe(m,qe(n,m).text.length),text:[i.text[0]],origin:i.origin}),i.removed=ii(n,i.from,i.to),a||(a=Gf(n,i)),n.cm?Xk(n.cm,i,l):Xf(n,i,l),gc(n,a,Q),n.cantEdit&&mc(n,fe(n.firstLine(),0))&&(n.cantEdit=!1)}}function Xk(n,i,a){var l=n.doc,u=n.display,m=i.from,y=i.to,x=!1,S=m.line;n.options.lineWrapping||(S=A(Sr(qe(l,m.line))),l.iter(S,y.line+1,function(te){if(te==u.maxLine)return x=!0,!0})),l.sel.contains(i.from,i.to)>-1&&ar(n),Xf(l,i,a,Eg(n)),n.options.lineWrapping||(l.iter(S,m.line+i.text.length,function(te){var pe=ec(te);pe>u.maxLineLength&&(u.maxLine=te,u.maxLineLength=pe,u.maxLineChanged=!0,x=!1)}),x&&(n.curOp.updateMaxLine=!0)),z1(l,m.line),xl(n,400);var T=i.text.length-(y.line-m.line)-1;i.full?_n(n):m.line==y.line&&i.text.length==1&&!Ug(n.doc,i)?Di(n,m.line,"text"):_n(n,m.line,y.line+1,T);var H=Bn(n,"changes"),V=Bn(n,"change");if(V||H){var se={from:m,to:y,text:i.text,removed:i.removed,origin:i.origin};V&&Jt(n,"change",n,se),H&&(n.curOp.changeObjs||(n.curOp.changeObjs=[])).push(se)}n.display.selForContextMenu=null}function ms(n,i,a,l,u){var m;l||(l=a),Ie(l,a)<0&&(m=[l,a],a=m[0],l=m[1]),typeof i=="string"&&(i=n.splitLines(i)),gs(n,{from:a,to:l,text:i,origin:u})}function cm(n,i,a,l){a<n.line?n.line+=l:i<n.line&&(n.line=i,n.ch=0)}function um(n,i,a,l){for(var u=0;u<n.length;++u){var m=n[u],y=!0;if(m.ranges){m.copied||(m=n[u]=m.deepCopy(),m.copied=!0);for(var x=0;x<m.ranges.length;x++)cm(m.ranges[x].anchor,i,a,l),cm(m.ranges[x].head,i,a,l);continue}for(var S=0;S<m.changes.length;++S){var T=m.changes[S];if(a<T.from.line)T.from=fe(T.from.line+l,T.from.ch),T.to=fe(T.to.line+l,T.to.ch);else if(i<=T.to.line){y=!1;break}}y||(n.splice(0,u+1),u=0)}}function fm(n,i){var a=i.from.line,l=i.to.line,u=i.text.length-(l-a)-1;um(n.done,a,l,u),um(n.undone,a,l,u)}function Tl(n,i,a,l){var u=i,m=i;return typeof i=="number"?m=qe(n,Wp(n,i)):u=A(i),u==null?null:(l(m,u)&&n.cm&&Di(n.cm,u,a),m)}function Cl(n){this.lines=n,this.parent=null;for(var i=0,a=0;a<n.length;++a)n[a].parent=this,i+=n[a].height;this.height=i}Cl.prototype={chunkSize:function(){return this.lines.length},removeInner:function(n,i){for(var a=n,l=n+i;a<l;++a){var u=this.lines[a];this.height-=u.height,Y1(u),Jt(u,"delete")}this.lines.splice(n,i)},collapse:function(n){n.push.apply(n,this.lines)},insertInner:function(n,i,a){this.height+=a,this.lines=this.lines.slice(0,n).concat(i).concat(this.lines.slice(n));for(var l=0;l<i.length;++l)i[l].parent=this},iterN:function(n,i,a){for(var l=n+i;n<l;++n)if(a(this.lines[n]))return!0}};function El(n){this.children=n;for(var i=0,a=0,l=0;l<n.length;++l){var u=n[l];i+=u.chunkSize(),a+=u.height,u.parent=this}this.size=i,this.height=a,this.parent=null}El.prototype={chunkSize:function(){return this.size},removeInner:function(n,i){this.size-=i;for(var a=0;a<this.children.length;++a){var l=this.children[a],u=l.chunkSize();if(n<u){var m=Math.min(i,u-n),y=l.height;if(l.removeInner(n,m),this.height-=y-l.height,u==m&&(this.children.splice(a--,1),l.parent=null),(i-=m)==0)break;n=0}else n-=u}if(this.size-i<25&&(this.children.length>1||!(this.children[0]instanceof Cl))){var x=[];this.collapse(x),this.children=[new Cl(x)],this.children[0].parent=this}},collapse:function(n){for(var i=0;i<this.children.length;++i)this.children[i].collapse(n)},insertInner:function(n,i,a){this.size+=i.length,this.height+=a;for(var l=0;l<this.children.length;++l){var u=this.children[l],m=u.chunkSize();if(n<=m){if(u.insertInner(n,i,a),u.lines&&u.lines.length>50){for(var y=u.lines.length%25+25,x=y;x<u.lines.length;){var S=new Cl(u.lines.slice(x,x+=25));u.height-=S.height,this.children.splice(++l,0,S),S.parent=this}u.lines=u.lines.slice(0,y),this.maybeSpill()}break}n-=m}},maybeSpill:function(){if(!(this.children.length<=10)){var n=this;do{var i=n.children.splice(n.children.length-5,5),a=new El(i);if(n.parent){n.size-=a.size,n.height-=a.height;var u=ae(n.parent.children,n);n.parent.children.splice(u+1,0,a)}else{var l=new El(n.children);l.parent=n,n.children=[l,a],n=l}a.parent=n.parent}while(n.children.length>10);n.parent.maybeSpill()}},iterN:function(n,i,a){for(var l=0;l<this.children.length;++l){var u=this.children[l],m=u.chunkSize();if(n<m){var y=Math.min(i,m-n);if(u.iterN(n,y,a))return!0;if((i-=y)==0)break;n=0}else n-=m}}};var Al=function(n,i,a){if(a)for(var l in a)a.hasOwnProperty(l)&&(this[l]=a[l]);this.doc=n,this.node=i};Al.prototype.clear=function(){var n=this.doc.cm,i=this.line.widgets,a=this.line,l=A(a);if(!(l==null||!i)){for(var u=0;u<i.length;++u)i[u]==this&&i.splice(u--,1);i.length||(a.widgets=null);var m=pl(this);Qn(a,Math.max(0,a.height-m)),n&&(Wn(n,function(){dm(n,a,-m),Di(n,l,"widget")}),Jt(n,"lineWidgetCleared",n,this,l))}},Al.prototype.changed=function(){var n=this,i=this.height,a=this.doc.cm,l=this.line;this.height=null;var u=pl(this)-i;u&&(Ii(this.doc,l)||Qn(l,l.height+u),a&&Wn(a,function(){a.curOp.forceUpdate=!0,dm(a,l,u),Jt(a,"lineWidgetChanged",a,n,A(l))}))},yr(Al);function dm(n,i,a){si(i)<(n.curOp&&n.curOp.scrollTop||n.doc.scrollTop)&&Bf(n,a)}function Yk(n,i,a,l){var u=new Al(n,a,l),m=n.cm;return m&&u.noHScroll&&(m.display.alignWidgets=!0),Tl(n,i,"widget",function(y){var x=y.widgets||(y.widgets=[]);if(u.insertAt==null?x.push(u):x.splice(Math.min(x.length,Math.max(0,u.insertAt)),0,u),u.line=y,m&&!Ii(n,y)){var S=si(y)<n.scrollTop;Qn(y,y.height+pl(u)),S&&Bf(m,u.height),m.curOp.forceUpdate=!0}return!0}),m&&Jt(m,"lineWidgetAdded",m,u,typeof i=="number"?i:A(i)),u}var hm=0,Wi=function(n,i){this.lines=[],this.type=i,this.doc=n,this.id=++hm};Wi.prototype.clear=function(){if(!this.explicitlyCleared){var n=this.doc.cm,i=n&&!n.curOp;if(i&&Co(n),Bn(this,"clear")){var a=this.find();a&&Jt(this,"clear",a.from,a.to)}for(var l=null,u=null,m=0;m<this.lines.length;++m){var y=this.lines[m],x=fl(y.markedSpans,this);n&&!this.collapsed?Di(n,A(y),"text"):n&&(x.to!=null&&(u=A(y)),x.from!=null&&(l=A(y))),y.markedSpans=B1(y.markedSpans,x),x.from==null&&this.collapsed&&!Ii(this.doc,y)&&n&&Qn(y,as(n.display))}if(n&&this.collapsed&&!n.options.lineWrapping)for(var S=0;S<this.lines.length;++S){var T=Sr(this.lines[S]),H=ec(T);H>n.display.maxLineLength&&(n.display.maxLine=T,n.display.maxLineLength=H,n.display.maxLineChanged=!0)}l!=null&&n&&this.collapsed&&_n(n,l,u+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,n&&nm(n.doc)),n&&Jt(n,"markerCleared",n,this,l,u),i&&Eo(n),this.parent&&this.parent.clear()}},Wi.prototype.find=function(n,i){n==null&&this.type=="bookmark"&&(n=1);for(var a,l,u=0;u<this.lines.length;++u){var m=this.lines[u],y=fl(m.markedSpans,this);if(y.from!=null&&(a=fe(i?m:A(m),y.from),n==-1))return a;if(y.to!=null&&(l=fe(i?m:A(m),y.to),n==1))return l}return a&&{from:a,to:l}},Wi.prototype.changed=function(){var n=this,i=this.find(-1,!0),a=this,l=this.doc.cm;!i||!l||Wn(l,function(){var u=i.line,m=A(i.line),y=Af(l,m);if(y&&(bg(y),l.curOp.selectionChanged=l.curOp.forceUpdate=!0),l.curOp.updateMaxLine=!0,!Ii(a.doc,u)&&a.height!=null){var x=a.height;a.height=null;var S=pl(a)-x;S&&Qn(u,u.height+S)}Jt(l,"markerChanged",l,n)})},Wi.prototype.attachLine=function(n){if(!this.lines.length&&this.doc.cm){var i=this.doc.cm.curOp;(!i.maybeHiddenMarkers||ae(i.maybeHiddenMarkers,this)==-1)&&(i.maybeUnhiddenMarkers||(i.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(n)},Wi.prototype.detachLine=function(n){if(this.lines.splice(ae(this.lines,n),1),!this.lines.length&&this.doc.cm){var i=this.doc.cm.curOp;(i.maybeHiddenMarkers||(i.maybeHiddenMarkers=[])).push(this)}},yr(Wi);function vs(n,i,a,l,u){if(l&&l.shared)return Zk(n,i,a,l,u);if(n.cm&&!n.cm.curOp)return Qt(n.cm,vs)(n,i,a,l,u);var m=new Wi(n,u),y=Ie(i,a);if(l&&Y(l,m,!1),y>0||y==0&&m.clearWhenEmpty!==!1)return m;if(m.replacedWith&&(m.collapsed=!0,m.widgetNode=z("span",[m.replacedWith],"CodeMirror-widget"),l.handleMouseEvents||m.widgetNode.setAttribute("cm-ignore-events","true"),l.insertLeft&&(m.widgetNode.insertLeft=!0)),m.collapsed){if(rg(n,i.line,i,a,m)||i.line!=a.line&&rg(n,a.line,i,a,m))throw new Error("Inserting collapsed marker partially overlapping an existing one");H1()}m.addToHistory&&Xg(n,{from:i,to:a,origin:"markText"},n.sel,NaN);var x=i.line,S=n.cm,T;if(n.iter(x,a.line+1,function(V){S&&m.collapsed&&!S.options.lineWrapping&&Sr(V)==S.display.maxLine&&(T=!0),m.collapsed&&x!=i.line&&Qn(V,0),W1(V,new Ya(m,x==i.line?i.ch:null,x==a.line?a.ch:null),n.cm&&n.cm.curOp),++x}),m.collapsed&&n.iter(i.line,a.line+1,function(V){Ii(n,V)&&Qn(V,0)}),m.clearOnEnter&&Xe(m,"beforeCursorEnter",function(){return m.clear()}),m.readOnly&&(F1(),(n.history.done.length||n.history.undone.length)&&n.clearHistory()),m.collapsed&&(m.id=++hm,m.atomic=!0),S){if(T&&(S.curOp.updateMaxLine=!0),m.collapsed)_n(S,i.line,a.line+1);else if(m.className||m.startStyle||m.endStyle||m.css||m.attributes||m.title)for(var H=i.line;H<=a.line;H++)Di(S,H,"text");m.atomic&&nm(S.doc),Jt(S,"markerAdded",S,m)}return m}var Ll=function(n,i){this.markers=n,this.primary=i;for(var a=0;a<n.length;++a)n[a].parent=this};Ll.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var n=0;n<this.markers.length;++n)this.markers[n].clear();Jt(this,"clear")}},Ll.prototype.find=function(n,i){return this.primary.find(n,i)},yr(Ll);function Zk(n,i,a,l,u){l=Y(l),l.shared=!1;var m=[vs(n,i,a,l,u)],y=m[0],x=l.widgetNode;return Bi(n,function(S){x&&(l.widgetNode=x.cloneNode(!0)),m.push(vs(S,tt(S,i),tt(S,a),l,u));for(var T=0;T<S.linked.length;++T)if(S.linked[T].isParent)return;y=xe(m)}),new Ll(m,y)}function pm(n){return n.findMarks(fe(n.first,0),n.clipPos(fe(n.lastLine())),function(i){return i.parent})}function Jk(n,i){for(var a=0;a<i.length;a++){var l=i[a],u=l.find(),m=n.clipPos(u.from),y=n.clipPos(u.to);if(Ie(m,y)){var x=vs(n,m,y,l.primary,l.primary.type);l.markers.push(x),x.parent=l}}}function Qk(n){for(var i=function(l){var u=n[l],m=[u.primary.doc];Bi(u.primary.doc,function(S){return m.push(S)});for(var y=0;y<u.markers.length;y++){var x=u.markers[y];ae(m,x.doc)==-1&&(x.parent=null,u.markers.splice(y--,1))}},a=0;a<n.length;a++)i(a)}var eS=0,Tn=function(n,i,a,l,u){if(!(this instanceof Tn))return new Tn(n,i,a,l,u);a==null&&(a=0),El.call(this,[new Cl([new os("",null)])]),this.first=a,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=a;var m=fe(a,0);this.sel=Fi(m),this.history=new dc(null),this.id=++eS,this.modeOption=i,this.lineSep=l,this.direction=u=="rtl"?"rtl":"ltr",this.extend=!1,typeof n=="string"&&(n=this.splitLines(n)),Xf(this,{from:m,to:m,text:n}),un(this,Fi(m),Q)};Tn.prototype=oe(El.prototype,{constructor:Tn,iter:function(n,i,a){a?this.iterN(n-this.first,i-n,a):this.iterN(this.first,this.first+this.size,n)},insert:function(n,i){for(var a=0,l=0;l<i.length;++l)a+=i[l].height;this.insertInner(n-this.first,i,a)},remove:function(n,i){this.removeInner(n-this.first,i)},getValue:function(n){var i=cl(this,this.first,this.first+this.size);return n===!1?i:i.join(n||this.lineSeparator())},setValue:en(function(n){var i=fe(this.first,0),a=this.first+this.size-1;gs(this,{from:i,to:fe(a,qe(this,a).text.length),text:this.splitLines(n),origin:"setValue",full:!0},!0),this.cm&&vl(this.cm,0,0),un(this,Fi(i),Q)}),replaceRange:function(n,i,a,l){i=tt(this,i),a=a?tt(this,a):i,ms(this,n,i,a,l)},getRange:function(n,i,a){var l=ii(this,tt(this,n),tt(this,i));return a===!1?l:a===""?l.join(""):l.join(a||this.lineSeparator())},getLine:function(n){var i=this.getLineHandle(n);return i&&i.text},getLineHandle:function(n){if(me(this,n))return qe(this,n)},getLineNumber:function(n){return A(n)},getLineHandleVisualStart:function(n){return typeof n=="number"&&(n=qe(this,n)),Sr(n)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(n){return tt(this,n)},getCursor:function(n){var i=this.sel.primary(),a;return n==null||n=="head"?a=i.head:n=="anchor"?a=i.anchor:n=="end"||n=="to"||n===!1?a=i.to():a=i.from(),a},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:en(function(n,i,a){Qg(this,tt(this,typeof n=="number"?fe(n,i||0):n),null,a)}),setSelection:en(function(n,i,a){Qg(this,tt(this,n),tt(this,i||n),a)}),extendSelection:en(function(n,i,a){pc(this,tt(this,n),i&&tt(this,i),a)}),extendSelections:en(function(n,i){Jg(this,qp(this,n),i)}),extendSelectionsBy:en(function(n,i){var a=ye(this.sel.ranges,n);Jg(this,qp(this,a),i)}),setSelections:en(function(n,i,a){if(n.length){for(var l=[],u=0;u<n.length;u++)l[u]=new gt(tt(this,n[u].anchor),tt(this,n[u].head||n[u].anchor));i==null&&(i=Math.min(n.length-1,this.sel.primIndex)),un(this,Tr(this.cm,l,i),a)}}),addSelection:en(function(n,i,a){var l=this.sel.ranges.slice(0);l.push(new gt(tt(this,n),tt(this,i||n))),un(this,Tr(this.cm,l,l.length-1),a)}),getSelection:function(n){for(var i=this.sel.ranges,a,l=0;l<i.length;l++){var u=ii(this,i[l].from(),i[l].to());a=a?a.concat(u):u}return n===!1?a:a.join(n||this.lineSeparator())},getSelections:function(n){for(var i=[],a=this.sel.ranges,l=0;l<a.length;l++){var u=ii(this,a[l].from(),a[l].to());n!==!1&&(u=u.join(n||this.lineSeparator())),i[l]=u}return i},replaceSelection:function(n,i,a){for(var l=[],u=0;u<this.sel.ranges.length;u++)l[u]=n;this.replaceSelections(l,i,a||"+input")},replaceSelections:en(function(n,i,a){for(var l=[],u=this.sel,m=0;m<u.ranges.length;m++){var y=u.ranges[m];l[m]={from:y.from(),to:y.to(),text:this.splitLines(n[m]),origin:a}}for(var x=i&&i!="end"&&Bk(this,l,i),S=l.length-1;S>=0;S--)gs(this,l[S]);x?em(this,x):this.cm&&fs(this.cm)}),undo:en(function(){vc(this,"undo")}),redo:en(function(){vc(this,"redo")}),undoSelection:en(function(){vc(this,"undo",!0)}),redoSelection:en(function(){vc(this,"redo",!0)}),setExtending:function(n){this.extend=n},getExtending:function(){return this.extend},historySize:function(){for(var n=this.history,i=0,a=0,l=0;l<n.done.length;l++)n.done[l].ranges||++i;for(var u=0;u<n.undone.length;u++)n.undone[u].ranges||++a;return{undo:i,redo:a}},clearHistory:function(){var n=this;this.history=new dc(this.history),Bi(this,function(i){return i.history=n.history},!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(n){return n&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(n){return this.history.generation==(n||this.cleanGeneration)},getHistory:function(){return{done:hs(this.history.done),undone:hs(this.history.undone)}},setHistory:function(n){var i=this.history=new dc(this.history);i.done=hs(n.done.slice(0),null,!0),i.undone=hs(n.undone.slice(0),null,!0)},setGutterMarker:en(function(n,i,a){return Tl(this,n,"gutter",function(l){var u=l.gutterMarkers||(l.gutterMarkers={});return u[i]=a,!a&&dt(u)&&(l.gutterMarkers=null),!0})}),clearGutter:en(function(n){var i=this;this.iter(function(a){a.gutterMarkers&&a.gutterMarkers[n]&&Tl(i,a,"gutter",function(){return a.gutterMarkers[n]=null,dt(a.gutterMarkers)&&(a.gutterMarkers=null),!0})})}),lineInfo:function(n){var i;if(typeof n=="number"){if(!me(this,n)||(i=n,n=qe(this,n),!n))return null}else if(i=A(n),i==null)return null;return{line:i,handle:n,text:n.text,gutterMarkers:n.gutterMarkers,textClass:n.textClass,bgClass:n.bgClass,wrapClass:n.wrapClass,widgets:n.widgets}},addLineClass:en(function(n,i,a){return Tl(this,n,i=="gutter"?"gutter":"class",function(l){var u=i=="text"?"textClass":i=="background"?"bgClass":i=="gutter"?"gutterClass":"wrapClass";if(!l[u])l[u]=a;else{if(j(a).test(l[u]))return!1;l[u]+=" "+a}return!0})}),removeLineClass:en(function(n,i,a){return Tl(this,n,i=="gutter"?"gutter":"class",function(l){var u=i=="text"?"textClass":i=="background"?"bgClass":i=="gutter"?"gutterClass":"wrapClass",m=l[u];if(m)if(a==null)l[u]=null;else{var y=m.match(j(a));if(!y)return!1;var x=y.index+y[0].length;l[u]=m.slice(0,y.index)+(!y.index||x==m.length?"":" ")+m.slice(x)||null}else return!1;return!0})}),addLineWidget:en(function(n,i,a){return Yk(this,n,i,a)}),removeLineWidget:function(n){n.clear()},markText:function(n,i,a){return vs(this,tt(this,n),tt(this,i),a,a&&a.type||"range")},setBookmark:function(n,i){var a={replacedWith:i&&(i.nodeType==null?i.widget:i),insertLeft:i&&i.insertLeft,clearWhenEmpty:!1,shared:i&&i.shared,handleMouseEvents:i&&i.handleMouseEvents};return n=tt(this,n),vs(this,n,n,a,"bookmark")},findMarksAt:function(n){n=tt(this,n);var i=[],a=qe(this,n.line).markedSpans;if(a)for(var l=0;l<a.length;++l){var u=a[l];(u.from==null||u.from<=n.ch)&&(u.to==null||u.to>=n.ch)&&i.push(u.marker.parent||u.marker)}return i},findMarks:function(n,i,a){n=tt(this,n),i=tt(this,i);var l=[],u=n.line;return this.iter(n.line,i.line+1,function(m){var y=m.markedSpans;if(y)for(var x=0;x<y.length;x++){var S=y[x];!(S.to!=null&&u==n.line&&n.ch>=S.to||S.from==null&&u!=n.line||S.from!=null&&u==i.line&&S.from>=i.ch)&&(!a||a(S.marker))&&l.push(S.marker.parent||S.marker)}++u}),l},getAllMarks:function(){var n=[];return this.iter(function(i){var a=i.markedSpans;if(a)for(var l=0;l<a.length;++l)a[l].from!=null&&n.push(a[l].marker)}),n},posFromIndex:function(n){var i,a=this.first,l=this.lineSeparator().length;return this.iter(function(u){var m=u.text.length+l;if(m>n)return i=n,!0;n-=m,++a}),tt(this,fe(a,i))},indexFromPos:function(n){n=tt(this,n);var i=n.ch;if(n.line<this.first||n.ch<0)return 0;var a=this.lineSeparator().length;return this.iter(this.first,n.line,function(l){i+=l.text.length+a}),i},copy:function(n){var i=new Tn(cl(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return i.scrollTop=this.scrollTop,i.scrollLeft=this.scrollLeft,i.sel=this.sel,i.extend=!1,n&&(i.history.undoDepth=this.history.undoDepth,i.setHistory(this.getHistory())),i},linkedDoc:function(n){n||(n={});var i=this.first,a=this.first+this.size;n.from!=null&&n.from>i&&(i=n.from),n.to!=null&&n.to<a&&(a=n.to);var l=new Tn(cl(this,i,a),n.mode||this.modeOption,i,this.lineSep,this.direction);return n.sharedHist&&(l.history=this.history),(this.linked||(this.linked=[])).push({doc:l,sharedHist:n.sharedHist}),l.linked=[{doc:this,isParent:!0,sharedHist:n.sharedHist}],Jk(l,pm(this)),l},unlinkDoc:function(n){if(n instanceof Ct&&(n=n.doc),this.linked)for(var i=0;i<this.linked.length;++i){var a=this.linked[i];if(a.doc==n){this.linked.splice(i,1),n.unlinkDoc(this),Qk(pm(this));break}}if(n.history==this.history){var l=[n.id];Bi(n,function(u){return l.push(u.id)},!0),n.history=new dc(null),n.history.done=hs(this.history.done,l),n.history.undone=hs(this.history.undone,l)}},iterLinkedDocs:function(n){Bi(this,n)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(n){return this.lineSep?n.split(this.lineSep):cr(n)},lineSeparator:function(){return this.lineSep||`
29`},setDirection:en(function(n){n!="rtl"&&(n="ltr"),n!=this.direction&&(this.direction=n,this.iter(function(i){return i.order=null}),this.cm&&Wk(this.cm))})}),Tn.prototype.eachLine=Tn.prototype.iter;var gm=0;function tS(n){var i=this;if(mm(i),!(Rt(i,n)||li(i.display,n))){cn(n),h&&(gm=+new Date);var a=ko(i,n,!0),l=n.dataTransfer.files;if(!(!a||i.isReadOnly()))if(l&&l.length&&window.FileReader&&window.File)for(var u=l.length,m=Array(u),y=0,x=function(){++y==u&&Qt(i,function(){a=tt(i.doc,a);var te={from:a,to:a,text:i.doc.splitLines(m.filter(function(pe){return pe!=null}).join(i.doc.lineSeparator())),origin:"paste"};gs(i.doc,te),em(i.doc,Fi(tt(i.doc,a),tt(i.doc,Hi(te))))})()},S=function(te,pe){if(i.options.allowDropFileTypes&&ae(i.options.allowDropFileTypes,te.type)==-1){x();return}var we=new FileReader;we.onerror=function(){return x()},we.onload=function(){var Te=we.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(Te)){x();return}m[pe]=Te,x()},we.readAsText(te)},T=0;T<l.length;T++)S(l[T],T);else{if(i.state.draggingText&&i.doc.sel.contains(a)>-1){i.state.draggingText(n),setTimeout(function(){return i.display.input.focus()},20);return}try{var H=n.dataTransfer.getData("Text");if(H){var V;if(i.state.draggingText&&!i.state.draggingText.copy&&(V=i.listSelections()),gc(i.doc,Fi(a,a)),V)for(var se=0;se<V.length;++se)ms(i.doc,"",V[se].anchor,V[se].head,"drag");i.replaceSelection(H,"around","paste"),i.display.input.focus()}}catch{}}}}function nS(n,i){if(h&&(!n.state.draggingText||+new Date-gm<100)){Oi(i);return}if(!(Rt(n,i)||li(n.display,i))&&(i.dataTransfer.setData("Text",n.getSelection()),i.dataTransfer.effectAllowed="copyMove",i.dataTransfer.setDragImage&&!L)){var a=k("img",null,null,"position: fixed; left: 0; top: 0;");a.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",E&&(a.width=a.height=1,n.display.wrapper.appendChild(a),a._top=a.offsetTop),i.dataTransfer.setDragImage(a,0,0),E&&a.parentNode.removeChild(a)}}function rS(n,i){var a=ko(n,i);if(a){var l=document.createDocumentFragment();If(n,a,l),n.display.dragCursor||(n.display.dragCursor=k("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),n.display.lineSpace.insertBefore(n.display.dragCursor,n.display.cursorDiv)),C(n.display.dragCursor,l)}}function mm(n){n.display.dragCursor&&(n.display.lineSpace.removeChild(n.display.dragCursor),n.display.dragCursor=null)}function vm(n){if(document.getElementsByClassName){for(var i=document.getElementsByClassName("CodeMirror"),a=[],l=0;l<i.length;l++){var u=i[l].CodeMirror;u&&a.push(u)}a.length&&a[0].operation(function(){for(var m=0;m<a.length;m++)n(a[m])})}}var ym=!1;function iS(){ym||(oS(),ym=!0)}function oS(){var n;Xe(window,"resize",function(){n==null&&(n=setTimeout(function(){n=null,vm(sS)},100))}),Xe(window,"blur",function(){return vm(us)})}function sS(n){var i=n.display;i.cachedCharWidth=i.cachedTextHeight=i.cachedPaddingH=null,i.scrollbarsClipped=!1,n.setSize()}for(var qi={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Mod",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Ml=0;Ml<10;Ml++)qi[Ml+48]=qi[Ml+96]=String(Ml);for(var yc=65;yc<=90;yc++)qi[yc]=String.fromCharCode(yc);for(var Nl=1;Nl<=12;Nl++)qi[Nl+111]=qi[Nl+63235]="F"+Nl;var ci={};ci.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"},ci.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"},ci.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},ci.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"]},ci.default=$?ci.macDefault:ci.pcDefault;function lS(n){var i=n.split(/-(?!$)/);n=i[i.length-1];for(var a,l,u,m,y=0;y<i.length-1;y++){var x=i[y];if(/^(cmd|meta|m)$/i.test(x))m=!0;else if(/^a(lt)?$/i.test(x))a=!0;else if(/^(c|ctrl|control)$/i.test(x))l=!0;else if(/^s(hift)?$/i.test(x))u=!0;else throw new Error("Unrecognized modifier name: "+x)}return a&&(n="Alt-"+n),l&&(n="Ctrl-"+n),m&&(n="Cmd-"+n),u&&(n="Shift-"+n),n}function aS(n){var i={};for(var a in n)if(n.hasOwnProperty(a)){var l=n[a];if(/^(name|fallthrough|(de|at)tach)$/.test(a))continue;if(l=="..."){delete n[a];continue}for(var u=ye(a.split(" "),lS),m=0;m<u.length;m++){var y=void 0,x=void 0;m==u.length-1?(x=u.join(" "),y=l):(x=u.slice(0,m+1).join(" "),y="...");var S=i[x];if(!S)i[x]=y;else if(S!=y)throw new Error("Inconsistent bindings for "+x)}delete n[a]}for(var T in i)n[T]=i[T];return n}function ys(n,i,a,l){i=bc(i);var u=i.call?i.call(n,l):i[n];if(u===!1)return"nothing";if(u==="...")return"multi";if(u!=null&&a(u))return"handled";if(i.fallthrough){if(Object.prototype.toString.call(i.fallthrough)!="[object Array]")return ys(n,i.fallthrough,a,l);for(var m=0;m<i.fallthrough.length;m++){var y=ys(n,i.fallthrough[m],a,l);if(y)return y}}}function bm(n){var i=typeof n=="string"?n:qi[n.keyCode];return i=="Ctrl"||i=="Alt"||i=="Shift"||i=="Mod"}function wm(n,i,a){var l=n;return i.altKey&&l!="Alt"&&(n="Alt-"+n),(Z?i.metaKey:i.ctrlKey)&&l!="Ctrl"&&(n="Ctrl-"+n),(Z?i.ctrlKey:i.metaKey)&&l!="Mod"&&(n="Cmd-"+n),!a&&i.shiftKey&&l!="Shift"&&(n="Shift-"+n),n}function xm(n,i){if(E&&n.keyCode==34&&n.char)return!1;var a=qi[n.keyCode];return a==null||n.altGraphKey?!1:(n.keyCode==3&&n.code&&(a=n.code),wm(a,n,i))}function bc(n){return typeof n=="string"?ci[n]:n}function bs(n,i){for(var a=n.doc.sel.ranges,l=[],u=0;u<a.length;u++){for(var m=i(a[u]);l.length&&Ie(m.from,xe(l).to)<=0;){var y=l.pop();if(Ie(y.from,m.from)<0){m.from=y.from;break}}l.push(m)}Wn(n,function(){for(var x=l.length-1;x>=0;x--)ms(n.doc,"",l[x].from,l[x].to,"+delete");fs(n)})}function Qf(n,i,a){var l=Yt(n.text,i+a,a);return l<0||l>n.text.length?null:l}function ed(n,i,a){var l=Qf(n,i.ch,a);return l==null?null:new fe(i.line,l,a<0?"after":"before")}function td(n,i,a,l,u){if(n){i.doc.direction=="rtl"&&(u=-u);var m=lt(a,i.doc.direction);if(m){var y=u<0?xe(m):m[0],x=u<0==(y.level==1),S=x?"after":"before",T;if(y.level>0||i.doc.direction=="rtl"){var H=ls(i,a);T=u<0?a.text.length-1:0;var V=jr(i,H,T).top;T=jt(function(se){return jr(i,H,se).top==V},u<0==(y.level==1)?y.from:y.to-1,T),S=="before"&&(T=Qf(a,T,1))}else T=u<0?y.to:y.from;return new fe(l,T,S)}}return new fe(l,u<0?a.text.length:0,u<0?"before":"after")}function cS(n,i,a,l){var u=lt(i,n.doc.direction);if(!u)return ed(i,a,l);a.ch>=i.text.length?(a.ch=i.text.length,a.sticky="before"):a.ch<=0&&(a.ch=0,a.sticky="after");var m=Bt(u,a.ch,a.sticky),y=u[m];if(n.doc.direction=="ltr"&&y.level%2==0&&(l>0?y.to>a.ch:y.from<a.ch))return ed(i,a,l);var x=function(Le,De){return Qf(i,Le instanceof fe?Le.ch:Le,De)},S,T=function(Le){return n.options.lineWrapping?(S=S||ls(n,i),Cg(n,i,S,Le)):{begin:0,end:i.text.length}},H=T(a.sticky=="before"?x(a,-1):a.ch);if(n.doc.direction=="rtl"||y.level==1){var V=y.level==1==l<0,se=x(a,V?1:-1);if(se!=null&&(V?se<=y.to&&se<=H.end:se>=y.from&&se>=H.begin)){var te=V?"before":"after";return new fe(a.line,se,te)}}var pe=function(Le,De,Me){for(var ze=function(St,tn){return tn?new fe(a.line,x(St,1),"before"):new fe(a.line,St,"after")};Le>=0&&Le<u.length;Le+=De){var Ye=u[Le],Ue=De>0==(Ye.level!=1),st=Ue?Me.begin:x(Me.end,-1);if(Ye.from<=st&&st<Ye.to||(st=Ue?Ye.from:x(Ye.to,-1),Me.begin<=st&&st<Me.end))return ze(st,Ue)}},we=pe(m+l,l,H);if(we)return we;var Te=l>0?H.end:x(H.begin,-1);return Te!=null&&!(l>0&&Te==i.text.length)&&(we=pe(l>0?0:u.length-1,l,T(Te)),we)?we:null}var Ol={selectAll:om,singleSelection:function(n){return n.setSelection(n.getCursor("anchor"),n.getCursor("head"),Q)},killLine:function(n){return bs(n,function(i){if(i.empty()){var a=qe(n.doc,i.head.line).text.length;return i.head.ch==a&&i.head.line<n.lastLine()?{from:i.head,to:fe(i.head.line+1,0)}:{from:i.head,to:fe(i.head.line,a)}}else return{from:i.from(),to:i.to()}})},deleteLine:function(n){return bs(n,function(i){return{from:fe(i.from().line,0),to:tt(n.doc,fe(i.to().line+1,0))}})},delLineLeft:function(n){return bs(n,function(i){return{from:fe(i.from().line,0),to:i.from()}})},delWrappedLineLeft:function(n){return bs(n,function(i){var a=n.charCoords(i.head,"div").top+5,l=n.coordsChar({left:0,top:a},"div");return{from:l,to:i.from()}})},delWrappedLineRight:function(n){return bs(n,function(i){var a=n.charCoords(i.head,"div").top+5,l=n.coordsChar({left:n.display.lineDiv.offsetWidth+100,top:a},"div");return{from:i.from(),to:l}})},undo:function(n){return n.undo()},redo:function(n){return n.redo()},undoSelection:function(n){return n.undoSelection()},redoSelection:function(n){return n.redoSelection()},goDocStart:function(n){return n.extendSelection(fe(n.firstLine(),0))},goDocEnd:function(n){return n.extendSelection(fe(n.lastLine()))},goLineStart:function(n){return n.extendSelectionsBy(function(i){return km(n,i.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(n){return n.extendSelectionsBy(function(i){return Sm(n,i.head)},{origin:"+move",bias:1})},goLineEnd:function(n){return n.extendSelectionsBy(function(i){return uS(n,i.head.line)},{origin:"+move",bias:-1})},goLineRight:function(n){return n.extendSelectionsBy(function(i){var a=n.cursorCoords(i.head,"div").top+5;return n.coordsChar({left:n.display.lineDiv.offsetWidth+100,top:a},"div")},de)},goLineLeft:function(n){return n.extendSelectionsBy(function(i){var a=n.cursorCoords(i.head,"div").top+5;return n.coordsChar({left:0,top:a},"div")},de)},goLineLeftSmart:function(n){return n.extendSelectionsBy(function(i){var a=n.cursorCoords(i.head,"div").top+5,l=n.coordsChar({left:0,top:a},"div");return l.ch<n.getLine(l.line).search(/\S/)?Sm(n,i.head):l},de)},goLineUp:function(n){return n.moveV(-1,"line")},goLineDown:function(n){return n.moveV(1,"line")},goPageUp:function(n){return n.moveV(-1,"page")},goPageDown:function(n){return n.moveV(1,"page")},goCharLeft:function(n){return n.moveH(-1,"char")},goCharRight:function(n){return n.moveH(1,"char")},goColumnLeft:function(n){return n.moveH(-1,"column")},goColumnRight:function(n){return n.moveH(1,"column")},goWordLeft:function(n){return n.moveH(-1,"word")},goGroupRight:function(n){return n.moveH(1,"group")},goGroupLeft:function(n){return n.moveH(-1,"group")},goWordRight:function(n){return n.moveH(1,"word")},delCharBefore:function(n){return n.deleteH(-1,"codepoint")},delCharAfter:function(n){return n.deleteH(1,"char")},delWordBefore:function(n){return n.deleteH(-1,"word")},delWordAfter:function(n){return n.deleteH(1,"word")},delGroupBefore:function(n){return n.deleteH(-1,"group")},delGroupAfter:function(n){return n.deleteH(1,"group")},indentAuto:function(n){return n.indentSelection("smart")},indentMore:function(n){return n.indentSelection("add")},indentLess:function(n){return n.indentSelection("subtract")},insertTab:function(n){return n.replaceSelection(" ")},insertSoftTab:function(n){for(var i=[],a=n.listSelections(),l=n.options.tabSize,u=0;u<a.length;u++){var m=a[u].from(),y=re(n.getLine(m.line),m.ch,l);i.push(Ee(l-y%l))}n.replaceSelections(i)},defaultTab:function(n){n.somethingSelected()?n.indentSelection("add"):n.execCommand("insertTab")},transposeChars:function(n){return Wn(n,function(){for(var i=n.listSelections(),a=[],l=0;l<i.length;l++)if(i[l].empty()){var u=i[l].head,m=qe(n.doc,u.line).text;if(m){if(u.ch==m.length&&(u=new fe(u.line,u.ch-1)),u.ch>0)u=new fe(u.line,u.ch+1),n.replaceRange(m.charAt(u.ch-1)+m.charAt(u.ch-2),fe(u.line,u.ch-2),u,"+transpose");else if(u.line>n.doc.first){var y=qe(n.doc,u.line-1).text;y&&(u=new fe(u.line,1),n.replaceRange(m.charAt(0)+n.doc.lineSeparator()+y.charAt(y.length-1),fe(u.line-1,y.length-1),u,"+transpose"))}}a.push(new gt(u,u))}n.setSelections(a)})},newlineAndIndent:function(n){return Wn(n,function(){for(var i=n.listSelections(),a=i.length-1;a>=0;a--)n.replaceRange(n.doc.lineSeparator(),i[a].anchor,i[a].head,"+input");i=n.listSelections();for(var l=0;l<i.length;l++)n.indentLine(i[l].from().line,null,!0);fs(n)})},openLine:function(n){return n.replaceSelection(`
30`,"start")},toggleOverwrite:function(n){return n.toggleOverwrite()}};function km(n,i){var a=qe(n.doc,i),l=Sr(a);return l!=a&&(i=A(l)),td(!0,n,l,i,1)}function uS(n,i){var a=qe(n.doc,i),l=G1(a);return l!=a&&(i=A(l)),td(!0,n,a,i,-1)}function Sm(n,i){var a=km(n,i.line),l=qe(n.doc,a.line),u=lt(l,n.doc.direction);if(!u||u[0].level==0){var m=Math.max(a.ch,l.text.search(/\S/)),y=i.line==a.line&&i.ch<=m&&i.ch;return fe(a.line,y?0:m,a.sticky)}return a}function wc(n,i,a){if(typeof i=="string"&&(i=Ol[i],!i))return!1;n.display.input.ensurePolled();var l=n.display.shift,u=!1;try{n.isReadOnly()&&(n.state.suppressEdits=!0),a&&(n.display.shift=!1),u=i(n)!=q}finally{n.display.shift=l,n.state.suppressEdits=!1}return u}function fS(n,i,a){for(var l=0;l<n.state.keyMaps.length;l++){var u=ys(i,n.state.keyMaps[l],a,n);if(u)return u}return n.options.extraKeys&&ys(i,n.options.extraKeys,a,n)||ys(i,n.options.keyMap,a,n)}var dS=new le;function Pl(n,i,a,l){var u=n.state.keySeq;if(u){if(bm(i))return"handled";if(/\'$/.test(i)?n.state.keySeq=null:dS.set(50,function(){n.state.keySeq==u&&(n.state.keySeq=null,n.display.input.reset())}),_m(n,u+" "+i,a,l))return!0}return _m(n,i,a,l)}function _m(n,i,a,l){var u=fS(n,i,l);return u=="multi"&&(n.state.keySeq=i),u=="handled"&&Jt(n,"keyHandled",n,i,a),(u=="handled"||u=="multi")&&(cn(a),Df(n)),!!u}function Tm(n,i){var a=xm(i,!0);return a?i.shiftKey&&!n.state.keySeq?Pl(n,"Shift-"+a,i,function(l){return wc(n,l,!0)})||Pl(n,a,i,function(l){if(typeof l=="string"?/^go[A-Z]/.test(l):l.motion)return wc(n,l)}):Pl(n,a,i,function(l){return wc(n,l)}):!1}function hS(n,i,a){return Pl(n,"'"+a+"'",i,function(l){return wc(n,l,!0)})}var nd=null;function Cm(n){var i=this;if(!(n.target&&n.target!=i.display.input.getField())&&(i.curOp.focus=be(je(i)),!Rt(i,n))){h&&p<11&&n.keyCode==27&&(n.returnValue=!1);var a=n.keyCode;i.display.shift=a==16||n.shiftKey;var l=Tm(i,n);E&&(nd=l?a:null,!l&&a==88&&!Ka&&($?n.metaKey:n.ctrlKey)&&i.replaceSelection("",null,"cut")),s&&!$&&!l&&a==46&&n.shiftKey&&!n.ctrlKey&&document.execCommand&&document.execCommand("cut"),a==18&&!/\bCodeMirror-crosshair\b/.test(i.display.lineDiv.className)&&pS(i)}}function pS(n){var i=n.display.lineDiv;Se(i,"CodeMirror-crosshair");function a(l){(l.keyCode==18||!l.altKey)&&(N(i,"CodeMirror-crosshair"),an(document,"keyup",a),an(document,"mouseover",a))}Xe(document,"keyup",a),Xe(document,"mouseover",a)}function Em(n){n.keyCode==16&&(this.doc.sel.shift=!1),Rt(this,n)}function Am(n){var i=this;if(!(n.target&&n.target!=i.display.input.getField())&&!(li(i.display,n)||Rt(i,n)||n.ctrlKey&&!n.altKey||$&&n.metaKey)){var a=n.keyCode,l=n.charCode;if(E&&a==nd){nd=null,cn(n);return}if(!(E&&(!n.which||n.which<10)&&Tm(i,n))){var u=String.fromCharCode(l??a);u!="\b"&&(hS(i,n,u)||i.display.input.onKeyPress(n))}}}var gS=400,rd=function(n,i,a){this.time=n,this.pos=i,this.button=a};rd.prototype.compare=function(n,i,a){return this.time+gS>n&&Ie(i,this.pos)==0&&a==this.button};var Rl,$l;function mS(n,i){var a=+new Date;return $l&&$l.compare(a,n,i)?(Rl=$l=null,"triple"):Rl&&Rl.compare(a,n,i)?($l=new rd(a,n,i),Rl=null,"double"):(Rl=new rd(a,n,i),$l=null,"single")}function Lm(n){var i=this,a=i.display;if(!(Rt(i,n)||a.activeTouch&&a.input.supportsTouch())){if(a.input.ensurePolled(),a.shift=n.shiftKey,li(a,n)){g||(a.scroller.draggable=!1,setTimeout(function(){return a.scroller.draggable=!0},100));return}if(!id(i,n)){var l=ko(i,n),u=br(n),m=l?mS(l,u):"single";Pe(i).focus(),u==1&&i.state.selectingText&&i.state.selectingText(n),!(l&&vS(i,u,l,m,n))&&(u==1?l?bS(i,l,m,n):sl(n)==a.scroller&&cn(n):u==2?(l&&pc(i.doc,l),setTimeout(function(){return a.input.focus()},20)):u==3&&(G?i.display.input.onContextMenu(n):zf(i)))}}}function vS(n,i,a,l,u){var m="Click";return l=="double"?m="Double"+m:l=="triple"&&(m="Triple"+m),m=(i==1?"Left":i==2?"Middle":"Right")+m,Pl(n,wm(m,u),u,function(y){if(typeof y=="string"&&(y=Ol[y]),!y)return!1;var x=!1;try{n.isReadOnly()&&(n.state.suppressEdits=!0),x=y(n,a)!=q}finally{n.state.suppressEdits=!1}return x})}function yS(n,i,a){var l=n.getOption("configureMouse"),u=l?l(n,i,a):{};if(u.unit==null){var m=W?a.shiftKey&&a.metaKey:a.altKey;u.unit=m?"rectangle":i=="single"?"char":i=="double"?"word":"line"}return(u.extend==null||n.doc.extend)&&(u.extend=n.doc.extend||a.shiftKey),u.addNew==null&&(u.addNew=$?a.metaKey:a.ctrlKey),u.moveOnDrag==null&&(u.moveOnDrag=!($?a.altKey:a.ctrlKey)),u}function bS(n,i,a,l){h?setTimeout(F(Mg,n),0):n.curOp.focus=be(je(n));var u=yS(n,a,l),m=n.doc.sel,y;n.options.dragDrop&&mf&&!n.isReadOnly()&&a=="single"&&(y=m.contains(i))>-1&&(Ie((y=m.ranges[y]).from(),i)<0||i.xRel>0)&&(Ie(y.to(),i)>0||i.xRel<0)?wS(n,l,i,u):xS(n,l,i,u)}function wS(n,i,a,l){var u=n.display,m=!1,y=Qt(n,function(T){g&&(u.scroller.draggable=!1),n.state.draggingText=!1,n.state.delayingBlurEvent&&(n.hasFocus()?n.state.delayingBlurEvent=!1:zf(n)),an(u.wrapper.ownerDocument,"mouseup",y),an(u.wrapper.ownerDocument,"mousemove",x),an(u.scroller,"dragstart",S),an(u.scroller,"drop",y),m||(cn(T),l.addNew||pc(n.doc,a,null,null,l.extend),g&&!L||h&&p==9?setTimeout(function(){u.wrapper.ownerDocument.body.focus({preventScroll:!0}),u.input.focus()},20):u.input.focus())}),x=function(T){m=m||Math.abs(i.clientX-T.clientX)+Math.abs(i.clientY-T.clientY)>=10},S=function(){return m=!0};g&&(u.scroller.draggable=!0),n.state.draggingText=y,y.copy=!l.moveOnDrag,Xe(u.wrapper.ownerDocument,"mouseup",y),Xe(u.wrapper.ownerDocument,"mousemove",x),Xe(u.scroller,"dragstart",S),Xe(u.scroller,"drop",y),n.state.delayingBlurEvent=!0,setTimeout(function(){return u.input.focus()},20),u.scroller.dragDrop&&u.scroller.dragDrop()}function Mm(n,i,a){if(a=="char")return new gt(i,i);if(a=="word")return n.findWordAt(i);if(a=="line")return new gt(fe(i.line,0),tt(n.doc,fe(i.line+1,0)));var l=a(n,i);return new gt(l.from,l.to)}function xS(n,i,a,l){h&&zf(n);var u=n.display,m=n.doc;cn(i);var y,x,S=m.sel,T=S.ranges;if(l.addNew&&!l.extend?(x=m.sel.contains(a),x>-1?y=T[x]:y=new gt(a,a)):(y=m.sel.primary(),x=m.sel.primIndex),l.unit=="rectangle")l.addNew||(y=new gt(a,a)),a=ko(n,i,!0,!0),x=-1;else{var H=Mm(n,a,l.unit);l.extend?y=Zf(y,H.anchor,H.head,l.extend):y=H}l.addNew?x==-1?(x=T.length,un(m,Tr(n,T.concat([y]),x),{scroll:!1,origin:"*mouse"})):T.length>1&&T[x].empty()&&l.unit=="char"&&!l.extend?(un(m,Tr(n,T.slice(0,x).concat(T.slice(x+1)),0),{scroll:!1,origin:"*mouse"}),S=m.sel):Jf(m,x,y,he):(x=0,un(m,new er([y],0),he),S=m.sel);var V=a;function se(Me){if(Ie(V,Me)!=0)if(V=Me,l.unit=="rectangle"){for(var ze=[],Ye=n.options.tabSize,Ue=re(qe(m,a.line).text,a.ch,Ye),st=re(qe(m,Me.line).text,Me.ch,Ye),St=Math.min(Ue,st),tn=Math.max(Ue,st),Ot=Math.min(a.line,Me.line),qn=Math.min(n.lastLine(),Math.max(a.line,Me.line));Ot<=qn;Ot++){var Cn=qe(m,Ot).text,Ut=ge(Cn,St,Ye);St==tn?ze.push(new gt(fe(Ot,Ut),fe(Ot,Ut))):Cn.length>Ut&&ze.push(new gt(fe(Ot,Ut),fe(Ot,ge(Cn,tn,Ye))))}ze.length||ze.push(new gt(a,a)),un(m,Tr(n,S.ranges.slice(0,x).concat(ze),x),{origin:"*mouse",scroll:!1}),n.scrollIntoView(Me)}else{var En=y,sn=Mm(n,Me,l.unit),Kt=En.anchor,Vt;Ie(sn.anchor,Kt)>0?(Vt=sn.head,Kt=is(En.from(),sn.anchor)):(Vt=sn.anchor,Kt=Sn(En.to(),sn.head));var It=S.ranges.slice(0);It[x]=kS(n,new gt(tt(m,Kt),Vt)),un(m,Tr(n,It,x),he)}}var te=u.wrapper.getBoundingClientRect(),pe=0;function we(Me){var ze=++pe,Ye=ko(n,Me,!0,l.unit=="rectangle");if(Ye)if(Ie(Ye,V)!=0){n.curOp.focus=be(je(n)),se(Ye);var Ue=ac(u,m);(Ye.line>=Ue.to||Ye.line<Ue.from)&&setTimeout(Qt(n,function(){pe==ze&&we(Me)}),150)}else{var st=Me.clientY<te.top?-20:Me.clientY>te.bottom?20:0;st&&setTimeout(Qt(n,function(){pe==ze&&(u.scroller.scrollTop+=st,we(Me))}),50)}}function Te(Me){n.state.selectingText=!1,pe=1/0,Me&&(cn(Me),u.input.focus()),an(u.wrapper.ownerDocument,"mousemove",Le),an(u.wrapper.ownerDocument,"mouseup",De),m.history.lastSelOrigin=null}var Le=Qt(n,function(Me){Me.buttons===0||!br(Me)?Te(Me):we(Me)}),De=Qt(n,Te);n.state.selectingText=De,Xe(u.wrapper.ownerDocument,"mousemove",Le),Xe(u.wrapper.ownerDocument,"mouseup",De)}function kS(n,i){var a=i.anchor,l=i.head,u=qe(n.doc,a.line);if(Ie(a,l)==0&&a.sticky==l.sticky)return i;var m=lt(u);if(!m)return i;var y=Bt(m,a.ch,a.sticky),x=m[y];if(x.from!=a.ch&&x.to!=a.ch)return i;var S=y+(x.from==a.ch==(x.level!=1)?0:1);if(S==0||S==m.length)return i;var T;if(l.line!=a.line)T=(l.line-a.line)*(n.doc.direction=="ltr"?1:-1)>0;else{var H=Bt(m,l.ch,l.sticky),V=H-y||(l.ch-a.ch)*(x.level==1?-1:1);H==S-1||H==S?T=V<0:T=V>0}var se=m[S+(T?-1:0)],te=T==(se.level==1),pe=te?se.from:se.to,we=te?"after":"before";return a.ch==pe&&a.sticky==we?i:new gt(new fe(a.line,pe,we),l)}function Nm(n,i,a,l){var u,m;if(i.touches)u=i.touches[0].clientX,m=i.touches[0].clientY;else try{u=i.clientX,m=i.clientY}catch{return!1}if(u>=Math.floor(n.display.gutters.getBoundingClientRect().right))return!1;l&&cn(i);var y=n.display,x=y.lineDiv.getBoundingClientRect();if(m>x.bottom||!Bn(n,a))return kn(i);m-=x.top-y.viewOffset;for(var S=0;S<n.display.gutterSpecs.length;++S){var T=y.gutters.childNodes[S];if(T&&T.getBoundingClientRect().right>=u){var H=U(n.doc,m),V=n.display.gutterSpecs[S];return Pt(n,a,n,H,V.className,i),kn(i)}}}function id(n,i){return Nm(n,i,"gutterClick",!0)}function Om(n,i){li(n.display,i)||SS(n,i)||Rt(n,i,"contextmenu")||G||n.display.input.onContextMenu(i)}function SS(n,i){return Bn(n,"gutterContextMenu")?Nm(n,i,"gutterContextMenu",!1):!1}function Pm(n){n.display.wrapper.className=n.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+n.options.theme.replace(/(^|\s)\s*/g," cm-s-"),gl(n)}var ws={toString:function(){return"CodeMirror.Init"}},Rm={},xc={};function _S(n){var i=n.optionHandlers;function a(l,u,m,y){n.defaults[l]=u,m&&(i[l]=y?function(x,S,T){T!=ws&&m(x,S,T)}:m)}n.defineOption=a,n.Init=ws,a("value","",function(l,u){return l.setValue(u)},!0),a("mode",null,function(l,u){l.doc.modeOption=u,Kf(l)},!0),a("indentUnit",2,Kf,!0),a("indentWithTabs",!1),a("smartIndent",!0),a("tabSize",4,function(l){Sl(l),gl(l),_n(l)},!0),a("lineSeparator",null,function(l,u){if(l.doc.lineSep=u,!!u){var m=[],y=l.doc.first;l.doc.iter(function(S){for(var T=0;;){var H=S.text.indexOf(u,T);if(H==-1)break;T=H+u.length,m.push(fe(y,H))}y++});for(var x=m.length-1;x>=0;x--)ms(l.doc,u,m[x],fe(m[x].line,m[x].ch+u.length))}}),a("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,function(l,u,m){l.state.specialChars=new RegExp(u.source+(u.test(" ")?"":"| "),"g"),m!=ws&&l.refresh()}),a("specialCharPlaceholder",Q1,function(l){return l.refresh()},!0),a("electricChars",!0),a("inputStyle",_?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),a("spellcheck",!1,function(l,u){return l.getInputField().spellcheck=u},!0),a("autocorrect",!1,function(l,u){return l.getInputField().autocorrect=u},!0),a("autocapitalize",!1,function(l,u){return l.getInputField().autocapitalize=u},!0),a("rtlMoveVisually",!ne),a("wholeLineUpdateBefore",!0),a("theme","default",function(l){Pm(l),kl(l)},!0),a("keyMap","default",function(l,u,m){var y=bc(u),x=m!=ws&&bc(m);x&&x.detach&&x.detach(l,y),y.attach&&y.attach(l,x||null)}),a("extraKeys",null),a("configureMouse",null),a("lineWrapping",!1,CS,!0),a("gutters",[],function(l,u){l.display.gutterSpecs=Vf(u,l.options.lineNumbers),kl(l)},!0),a("fixedGutter",!0,function(l,u){l.display.gutters.style.left=u?Rf(l.display)+"px":"0",l.refresh()},!0),a("coverGutterNextToScrollbar",!1,function(l){return ds(l)},!0),a("scrollbarStyle","native",function(l){Ig(l),ds(l),l.display.scrollbars.setScrollTop(l.doc.scrollTop),l.display.scrollbars.setScrollLeft(l.doc.scrollLeft)},!0),a("lineNumbers",!1,function(l,u){l.display.gutterSpecs=Vf(l.options.gutters,u),kl(l)},!0),a("firstLineNumber",1,kl,!0),a("lineNumberFormatter",function(l){return l},kl,!0),a("showCursorWhenSelecting",!1,ml,!0),a("resetSelectionOnContextMenu",!0),a("lineWiseCopyCut",!0),a("pasteLinesPerSelection",!0),a("selectionsMayTouch",!1),a("readOnly",!1,function(l,u){u=="nocursor"&&(us(l),l.display.input.blur()),l.display.input.readOnlyChanged(u)}),a("screenReaderLabel",null,function(l,u){u=u===""?null:u,l.display.input.screenReaderLabelChanged(u)}),a("disableInput",!1,function(l,u){u||l.display.input.reset()},!0),a("dragDrop",!0,TS),a("allowDropFileTypes",null),a("cursorBlinkRate",530),a("cursorScrollMargin",0),a("cursorHeight",1,ml,!0),a("singleCursorHeightPerLine",!0,ml,!0),a("workTime",100),a("workDelay",100),a("flattenSpans",!0,Sl,!0),a("addModeClass",!1,Sl,!0),a("pollInterval",100),a("undoDepth",200,function(l,u){return l.doc.history.undoDepth=u}),a("historyEventDelay",1250),a("viewportMargin",10,function(l){return l.refresh()},!0),a("maxHighlightLength",1e4,Sl,!0),a("moveInputWithCursor",!0,function(l,u){u||l.display.input.resetPosition()}),a("tabindex",null,function(l,u){return l.display.input.getField().tabIndex=u||""}),a("autofocus",null),a("direction","ltr",function(l,u){return l.doc.setDirection(u)},!0),a("phrases",null)}function TS(n,i,a){var l=a&&a!=ws;if(!i!=!l){var u=n.display.dragFunctions,m=i?Xe:an;m(n.display.scroller,"dragstart",u.start),m(n.display.scroller,"dragenter",u.enter),m(n.display.scroller,"dragover",u.over),m(n.display.scroller,"dragleave",u.leave),m(n.display.scroller,"drop",u.drop)}}function CS(n){n.options.lineWrapping?(Se(n.display.wrapper,"CodeMirror-wrap"),n.display.sizer.style.minWidth="",n.display.sizerWidth=null):(N(n.display.wrapper,"CodeMirror-wrap"),_f(n)),$f(n),_n(n),gl(n),setTimeout(function(){return ds(n)},100)}function Ct(n,i){var a=this;if(!(this instanceof Ct))return new Ct(n,i);this.options=i=i?Y(i):{},Y(Rm,i,!1);var l=i.value;typeof l=="string"?l=new Tn(l,i.mode,null,i.lineSeparator,i.direction):i.mode&&(l.modeOption=i.mode),this.doc=l;var u=new Ct.inputStyles[i.inputStyle](this),m=this.display=new Fk(n,l,u,i);m.wrapper.CodeMirror=this,Pm(this),i.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Ig(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new le,keySeq:null,specialChars:null},i.autofocus&&!_&&m.input.focus(),h&&p<11&&setTimeout(function(){return a.display.input.reset(!0)},20),ES(this),iS(),Co(this),this.curOp.forceUpdate=!0,Vg(this,l),i.autofocus&&!_||this.hasFocus()?setTimeout(function(){a.hasFocus()&&!a.state.focused&&Ff(a)},20):us(this);for(var y in xc)xc.hasOwnProperty(y)&&xc[y](this,i[y],ws);Fg(this),i.finishInit&&i.finishInit(this);for(var x=0;x<od.length;++x)od[x](this);Eo(this),g&&i.lineWrapping&&getComputedStyle(m.lineDiv).textRendering=="optimizelegibility"&&(m.lineDiv.style.textRendering="auto")}Ct.defaults=Rm,Ct.optionHandlers=xc;function ES(n){var i=n.display;Xe(i.scroller,"mousedown",Qt(n,Lm)),h&&p<11?Xe(i.scroller,"dblclick",Qt(n,function(S){if(!Rt(n,S)){var T=ko(n,S);if(!(!T||id(n,S)||li(n.display,S))){cn(S);var H=n.findWordAt(T);pc(n.doc,H.anchor,H.head)}}})):Xe(i.scroller,"dblclick",function(S){return Rt(n,S)||cn(S)}),Xe(i.scroller,"contextmenu",function(S){return Om(n,S)}),Xe(i.input.getField(),"contextmenu",function(S){i.scroller.contains(S.target)||Om(n,S)});var a,l={end:0};function u(){i.activeTouch&&(a=setTimeout(function(){return i.activeTouch=null},1e3),l=i.activeTouch,l.end=+new Date)}function m(S){if(S.touches.length!=1)return!1;var T=S.touches[0];return T.radiusX<=1&&T.radiusY<=1}function y(S,T){if(T.left==null)return!0;var H=T.left-S.left,V=T.top-S.top;return H*H+V*V>400}Xe(i.scroller,"touchstart",function(S){if(!Rt(n,S)&&!m(S)&&!id(n,S)){i.input.ensurePolled(),clearTimeout(a);var T=+new Date;i.activeTouch={start:T,moved:!1,prev:T-l.end<=300?l:null},S.touches.length==1&&(i.activeTouch.left=S.touches[0].pageX,i.activeTouch.top=S.touches[0].pageY)}}),Xe(i.scroller,"touchmove",function(){i.activeTouch&&(i.activeTouch.moved=!0)}),Xe(i.scroller,"touchend",function(S){var T=i.activeTouch;if(T&&!li(i,S)&&T.left!=null&&!T.moved&&new Date-T.start<300){var H=n.coordsChar(i.activeTouch,"page"),V;!T.prev||y(T,T.prev)?V=new gt(H,H):!T.prev.prev||y(T,T.prev.prev)?V=n.findWordAt(H):V=new gt(fe(H.line,0),tt(n.doc,fe(H.line+1,0))),n.setSelection(V.anchor,V.head),n.focus(),cn(S)}u()}),Xe(i.scroller,"touchcancel",u),Xe(i.scroller,"scroll",function(){i.scroller.clientHeight&&(yl(n,i.scroller.scrollTop),_o(n,i.scroller.scrollLeft,!0),Pt(n,"scroll",n))}),Xe(i.scroller,"mousewheel",function(S){return Wg(n,S)}),Xe(i.scroller,"DOMMouseScroll",function(S){return Wg(n,S)}),Xe(i.wrapper,"scroll",function(){return i.wrapper.scrollTop=i.wrapper.scrollLeft=0}),i.dragFunctions={enter:function(S){Rt(n,S)||Oi(S)},over:function(S){Rt(n,S)||(rS(n,S),Oi(S))},start:function(S){return nS(n,S)},drop:Qt(n,tS),leave:function(S){Rt(n,S)||mm(n)}};var x=i.input.getField();Xe(x,"keyup",function(S){return Em.call(n,S)}),Xe(x,"keydown",Qt(n,Cm)),Xe(x,"keypress",Qt(n,Am)),Xe(x,"focus",function(S){return Ff(n,S)}),Xe(x,"blur",function(S){return us(n,S)})}var od=[];Ct.defineInitHook=function(n){return od.push(n)};function Il(n,i,a,l){var u=n.doc,m;a==null&&(a="add"),a=="smart"&&(u.mode.indent?m=ul(n,i).state:a="prev");var y=n.options.tabSize,x=qe(u,i),S=re(x.text,null,y);x.stateAfter&&(x.stateAfter=null);var T=x.text.match(/^\s*/)[0],H;if(!l&&!/\S/.test(x.text))H=0,a="not";else if(a=="smart"&&(H=u.mode.indent(m,x.text.slice(T.length),x.text),H==q||H>150)){if(!l)return;a="prev"}a=="prev"?i>u.first?H=re(qe(u,i-1).text,null,y):H=0:a=="add"?H=S+n.options.indentUnit:a=="subtract"?H=S-n.options.indentUnit:typeof a=="number"&&(H=S+a),H=Math.max(0,H);var V="",se=0;if(n.options.indentWithTabs)for(var te=Math.floor(H/y);te;--te)se+=y,V+=" ";if(se<H&&(V+=Ee(H-se)),V!=T)return ms(u,V,fe(i,0),fe(i,T.length),"+input"),x.stateAfter=null,!0;for(var pe=0;pe<u.sel.ranges.length;pe++){var we=u.sel.ranges[pe];if(we.head.line==i&&we.head.ch<T.length){var Te=fe(i,T.length);Jf(u,pe,new gt(Te,Te));break}}}var Cr=null;function kc(n){Cr=n}function sd(n,i,a,l,u){var m=n.doc;n.display.shift=!1,l||(l=m.sel);var y=+new Date-200,x=u=="paste"||n.state.pasteIncoming>y,S=cr(i),T=null;if(x&&l.ranges.length>1)if(Cr&&Cr.text.join(`
31`)==i){if(l.ranges.length%Cr.text.length==0){T=[];for(var H=0;H<Cr.text.length;H++)T.push(m.splitLines(Cr.text[H]))}}else S.length==l.ranges.length&&n.options.pasteLinesPerSelection&&(T=ye(S,function(Le){return[Le]}));for(var V=n.curOp.updateInput,se=l.ranges.length-1;se>=0;se--){var te=l.ranges[se],pe=te.from(),we=te.to();te.empty()&&(a&&a>0?pe=fe(pe.line,pe.ch-a):n.state.overwrite&&!x?we=fe(we.line,Math.min(qe(m,we.line).text.length,we.ch+xe(S).length)):x&&Cr&&Cr.lineWise&&Cr.text.join(`

Callers 2

_SFunction · 0.70
CtFunction · 0.70

Calls 6

NFunction · 0.70
XeFunction · 0.70
_oFunction · 0.70
ylFunction · 0.70
SeFunction · 0.70
clearMethod · 0.65

Tested by

no test coverage detected