(function(){ shadow$provide[453]=function(wa,V,Ta,E){(function(p,S){"object"===typeof E&&"undefined"!==typeof Ta?Ta.exports=S():"function"===typeof define&&define.amd?define(S):(p=p||self,p.CodeMirror=S())})(this,function(){function p(y){return new RegExp("(^|\\s)"+y+"(?:$|\\s)\\s*")}function S(y){for(var U=y.childNodes.length;0ab||ab>=U)return Fa+(U-ta);Fa+=ab-ta;Fa+=xa-Fa%xa;ta=ab+1}}function h(y,U){for(var xa=0;xa=U)return ta+Math.min(pb,U-Fa);Fa+=ab-ta;Fa+=xa-Fa%xa;ta=ab+1;if(Fa>=U)return ta}}function w(y){for(;ri.length<=y;)ri.push(x(ri)+" ");return ri[y]}function x(y){return y[y.length-1]}function J(y, U){for(var xa=[],ta=0;taxa?0xa?-1:1;;){if(U==xa)return U;var Fa=(U+xa)/2;Fa=0>ta?Math.ceil(Fa):Math.floor(Fa);if(Fa==U)return y(Fa)?U:xa;y(Fa)?xa=Fa:U=Fa+ta}}function fa(y,U,xa,ta){if(!y)return ta(U,xa,"ltr",0);for(var Fa=!1,ab=0;abU||U==xa&&pb.to==U)ta(Math.max(pb.from,U),Math.min(pb.to,xa),1==pb.level?"rtl":"ltr", ab),Fa=!0}Fa||ta(U,xa,"ltr")}function H(y,U,xa){var ta;Ij=null;for(var Fa=0;FaU)return Fa;ab.to==U&&(ab.from!=ab.to&&"before"==xa?ta=Fa:Ij=Fa);ab.from==U&&(ab.from!=ab.to&&"before"!=xa?ta=Fa:Ij=Fa)}return null!=ta?ta:Ij}function aa(y,U){var xa=y.order;null==xa&&(xa=y.order=Yl(y.text,U));return xa}function M(y,U,xa){if(y.removeEventListener)y.removeEventListener(U,xa,!1);else if(y.detachEvent)y.detachEvent("on"+U,xa);else{var ta=(y=y._handlers)&&y[U]; ta&&(xa=h(ta,xa),-1U||U>=y.size)throw Error("There is no line "+(U+y.first)+" in the document.");for(;!y.lines;)for(var xa= 0;;++xa){var ta=y.children[xa],Fa=ta.chunkSize();if(U=y.first&&Ura(y,U)?U:y}function Bb(y,U){return 0>ra(y,U)?y:U}function ib(y,U){if(U.linexa)return Ca(xa,Ea(y,xa).text.length);y=Ea(y,U.line).text.length;xa= U.ch;U=null==xa||xa>y?Ca(U.line,y):0>xa?Ca(U.line,0):U;return U}function Ob(y,U){for(var xa=[],ta=0;taPd&&Fa.splice(Cc,1,Pd,Fa[Cc+1],yf);Cc+=2;Hd=Math.min(Pd, yf)}if(qd)if(Ac.opaque)Fa.splice(Ce,Cc-Ce,Pd,"overlay "+qd),Cc=Ce+2;else for(;Cey.options.maxHighlightLength&&ya(y.doc.mode,ta.state),ab=Wb(y,U,ta);Fa&&(ta.state=Fa);U.stateAfter= ta.save(!Fa);U.styles=ab.styles;ab.classes?U.styleClasses=ab.classes:U.styleClasses&&(U.styleClasses=null);xa===y.doc.highlightFrontier&&(y.doc.modeFrontier=Math.max(y.doc.modeFrontier,++y.doc.highlightFrontier))}return U.styles}function Pa(y,U,xa){var ta=y.doc,Fa=y.display;if(!ta.mode.startState)return new Jd(ta,!0,U);var ab=Gb(y,U,xa),pb=ab>ta.first&&Ea(ta,ab-1).stateAfter,tb=pb?Jd.fromSaved(ta,pb,ab):new Jd(ta,Ua(ta.mode),ab);ta.iter(ab,U,function(ac){nb(y,ac.text,tb);var Ac=tb.line;ac.stateAfter= Ac==U-1||0==Ac%5||Ac>=Fa.viewFrom&&AcFa;Fa++){ta&&(ta[0]=Ha(y,xa).mode);var ab=y.token(U, xa);if(U.pos>U.start)return ab}throw Error("Mode "+y.name+" failed to advance stream.");}function Jc(y,U,xa,ta){var Fa=y.doc,ab=Fa.mode;U=ib(Fa,U);var pb=Ea(Fa,U.line);xa=Pa(y,U.line,xa);y=new wh(pb.text,y.options.tabSize,xa);var tb;for(ta&&(tb=[]);(ta||y.posy.options.maxHighlightLength){tb=!1;pb&&nb(y,U,ta,Cc.pos);Cc.pos=U.length;var Pd=null}else Pd= ad(Zb(xa,Cc,ta.state,Hd),ab);if(Hd){var qd=Hd[0].name;qd&&(Pd="m-"+(Pd?qd+" "+Pd:qd))}if(!tb||Ac!=Pd){for(;acpb;--U){if(U<=ab.first)return ab.first;var tb=Ea(ab,U-1),ac=tb.stateAfter;if(ac&&(!xa||U+(ac instanceof wl?ac.lookAhead:0)<=ab.modeFrontier))return U;tb=k(tb.text,null,y.options.tabSize); if(null==Fa||ta>tb)Fa=U-1,ta=tb}return Fa}function xc(y,U){y.modeFrontier=Math.min(y.modeFrontier,U);if(!(y.highlightFrontierxa;ta--){var Fa=Ea(y,ta).stateAfter;if(Fa&&(!(Fa instanceof wl)||ta+Fa.lookAhead=y:ac.to>y);(pb||=[]).push(new Wc(Ac,ac.from,Cc?null:ac.to))}}xa=pb;var Hd;if(ta)for(pb=0;pb< ta.length;++pb)if(tb=ta[pb],ac=tb.marker,null==tb.to||(ac.inclusiveRight?tb.to>=Fa:tb.to>Fa)||tb.from==Fa&&"bookmark"==ac.type&&(!ab||tb.marker.insertLeft))Ac=null==tb.from||(ac.inclusiveLeft?tb.from<=Fa:tb.fromra(pb.to,Fa.from)||0ac||!xa.inclusiveLeft&&!ac)&&tb.push({from:pb.from, to:Fa.from});(0Yd(Fa,xa.marker)))var Fa=xa.marker;return Fa}function Qd(y,U,xa,ta,Fa){y=Ea(y,U);if(y=ze&&y.markedSpans)for(U=0;U=ac||0>=tb&&0<=ac)&&(0>=tb&&(ab.marker.inclusiveRight&&Fa.inclusiveLeft?0<=ra(pb.to,xa):0=ra(pb.from,ta):0>ra(pb.from,ta))))return!0}}}function ld(y){for(var U;U=ud(y,!0);)y=U.find(-1,!0).line;return y}function Sd(y,U){y=Ea(y,U);var xa=ld(y);return y==xa?U:fb(xa)}function Nb(y,U){if(U>y.lastLine())return U;var xa=Ea(y,U);if(!gc(y,xa))return U; for(;y=ud(xa,!1);)xa=y.find(1,!0).line;return fb(xa)+1}function gc(y,U){var xa=ze&&U.markedSpans;if(xa)for(var ta,Fa=0;FaU.maxLineLength&&(U.maxLineLength=ta,U.maxLine=xa)})}function uc(y,U){if(!y||/^\s*$/.test(y))return null;U=U.addModeClass?ii:Jg;return U[y]||(U[y]=y.replace(/\S+/g,"cm-$\x26"))}function Uc(y, U){var xa=d("span",null,null,Id?"padding-right: .1px":null);xa={pre:d("pre",[xa],"CodeMirror-line"),content:xa,col:0,pos:0,cm:y,trailingSpace:!1,splitSpaces:y.getOption("lineWrapping")};U.measure={};for(var ta=0;ta<=(U.rest?U.rest.length:0);ta++){var Fa=ta?U.rest[ta-1]:U.line,ab=void 0;xa.pos=0;xa.addToken=Od;var pb=y.display.measure;if(null!=$l)pb=$l;else{var tb=A(pb,document.createTextNode("AخA")),ac=hg(tb,0,1).getBoundingClientRect();tb=hg(tb,1,2).getBoundingClientRect();S(pb);pb=ac&&ac.left!= ac.right?$l=3>tb.right-ac.right:!1}pb&&(ab=aa(Fa,y.doc.direction))&&(xa.addToken=be(xa.addToken,ab));xa.map=[];var Ac=U!=y.display.externalMeasured&&fb(Fa);a:{var Cc=tb=ac=pb=void 0,Hd=void 0,Pd=void 0,qd=void 0;ab=xa;Ac=ic(y,Fa,Ac);var Ce=Fa.markedSpans,yf=Fa.text,Eg=0;if(Ce)for(var kj=yf.length,kg=0,Vg=1,Hg="",ki=0;;){if(ki==kg){Hd=Cc=tb=Pd="";ac=pb=null;ki=Infinity;for(var Ph=[],bg=void 0,Nf=0;Nfkg||dh.collapsed&&Bh.to==kg&&Bh.from==kg)){null!=Bh.to&&Bh.to!=kg&&ki>Bh.to&&(ki=Bh.to,Cc="");dh.className&&(Hd+=" "+dh.className);dh.css&&(Pd=(Pd?Pd+";":"")+dh.css);dh.startStyle&&Bh.from==kg&&(tb+=" "+dh.startStyle);dh.endStyle&&Bh.to==ki&&(bg||=[]).push(dh.endStyle,Bh.to);dh.title&&((pb||={}).title=dh.title);if(dh.attributes)for(var lj in dh.attributes)(pb||={})[lj]=dh.attributes[lj];dh.collapsed&&(!ac||0>Yd(ac.marker,dh))&&(ac=Bh)}else Bh.from>kg&&ki>Bh.from&& (ki=Bh.from)}if(bg)for(Nf=0;Nf=kj)break;for(Ph=Math.min(kj,ki);;){if(Hg){bg=kg+Hg.length;ac||(Nf=bg>Ph?Hg.slice(0,Ph-kg):Hg,ab.addToken(ab,Nf,qd?qd+Hd:Hd,tb,kg+Nf.length==ki?Cc:"",Pd,pb));if(bg>=Ph){Hg=Hg.slice(Ph-kg);kg=Ph;break}kg=bg;tb=""}Hg=yf.slice(Eg, Eg=Ac[Vg++]);qd=uc(Ac[Vg++],ab.cm.options)}}else for(pb=1;pb=Cc.offsetWidth&&2Cd))),tb=Lm?q("span","​"):q("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px"),tb.setAttribute("cm-text",""),ab.call(Fa,0,0,ac.call(pb,tb)));0==ta?(U.measure.map=xa.map,U.measure.cache={}):((U.measure.maps||(U.measure.maps=[])).push(xa.map),(U.measure.caches||(U.measure.caches=[])).push({}))}Id&&(lj=xa.content.lastChild,/\bcm-tab\b/.test(lj.className)||lj.querySelector&&lj.querySelector(".cm-tab"))&& (xa.content.className="cm-tab-wrap-hack");Q(y,"renderLine",y,U.line,xa.pre);xa.pre.className&&(xa.textClass=a(xa.pre.className,xa.textClass||""));return xa}function cd(y){var U=q("span","•","cm-invalidchar");U.title="\\u"+y.charCodeAt(0).toString(16);U.setAttribute("aria-label",U.title);return U}function Od(y,U,xa,ta,Fa,ab,pb){if(U){if(y.splitSpaces){var tb=y.trailingSpace;if(1Cd?tb.appendChild(q("span",[Ce])):tb.appendChild(Ce);y.map.push(y.pos,y.pos+qd,Ce);y.col+=qd;y.pos+=qd}if(!Pd)break;Hd+=qd+1;"\t"==Pd[0]?(Pd=y.cm.options.tabSize,Pd-=y.col%Pd,qd=tb.appendChild(q("span", w(Pd),"cm-tab")),qd.setAttribute("role","presentation"),qd.setAttribute("cm-text","\t"),y.col+=Pd):("\r"==Pd[0]||"\n"==Pd[0]?(qd=tb.appendChild(q("span","\r"==Pd[0]?"␍":"␤","cm-invalidchar")),qd.setAttribute("cm-text",Pd[0])):(qd=y.cm.options.specialCharPlaceholder(Pd[0]),qd.setAttribute("cm-text",Pd[0]),Gd&&9>Cd?tb.appendChild(q("span",[qd])):tb.appendChild(qd)),y.col+=1);y.map.push(y.pos,y.pos+1,qd);y.pos++}}else y.col+=U.length,tb=document.createTextNode(ac),y.map.push(y.pos,y.pos+U.length,tb), Gd&&9>Cd&&(Cc=!0),y.pos+=U.length;y.trailingSpace=32==ac.charCodeAt(U.length-1);if(xa||ta||Fa||Cc||ab||pb){U=xa||"";ta&&(U+=ta);Fa&&(U+=Fa);ta=q("span",[tb],U,ab);if(pb)for(var yf in pb)pb.hasOwnProperty(yf)&&"style"!=yf&&"class"!=yf&&ta.setAttribute(yf,pb[yf]);return y.content.appendChild(ta)}y.content.appendChild(tb)}}function be(y,U){return function(xa,ta,Fa,ab,pb,tb,ac){Fa=Fa?Fa+" cm-force-border":"cm-force-border";for(var Ac=xa.pos,Cc=Ac+ta.length;;){for(var Hd=void 0,Pd=0;PdAc&&Hd.from<=Ac);Pd++);if(Hd.to>=Cc)return y(xa,ta,Fa,ab,pb,tb,ac);y(xa,ta.slice(0,Hd.to-Ac),Fa,ab,null,tb,ac);ab=null;ta=ta.slice(Hd.to-Ac);Ac=Hd.to}}}function oe(y,U,xa,ta){var Fa=!ta&&xa.widgetNode;Fa&&y.map.push(y.pos,y.pos+U,Fa);!ta&&y.cm.display.input.needsContentAttribute&&(Fa||=y.content.appendChild(document.createElement("span")),Fa.setAttribute("cm-marker",xa.id));Fa&&(y.cm.display.input.setUneditable(Fa),y.content.appendChild(Fa));y.pos+=U;y.trailingSpace=!1}function rd(y,U, xa){for(var ta=this.line=U,Fa;ta=ud(ta,!1);)ta=ta.find(1,!0).line,(Fa||=[]).push(ta);this.size=(this.rest=Fa)?fb(x(this.rest))-xa+1:1;this.node=this.text=null;this.hidden=gc(y,U)}function vc(y,U,xa){var ta=[],Fa;for(Fa=U;FaCd&&(y.node.style.zIndex=2));return y.node}function Lc(y,U){var xa=y.display.externalMeasured;return xa&&xa.line==U.line?(y.display.externalMeasured=null, U.measure=xa.measure,xa.built):Uc(y,U)}function Ub(y,U){var xa=U.bgClass?U.bgClass+" "+(U.line.bgClass||""):U.line.bgClass;xa&&(xa+=" CodeMirror-linebackground");if(U.background)xa?U.background.className=xa:(U.background.parentNode.removeChild(U.background),U.background=null);else if(xa){var ta=Sb(U);U.background=ta.insertBefore(q("div",null,xa),ta.firstChild);y.display.input.setUneditable(U.background)}U.line.wrapClass?Sb(U).className=U.line.wrapClass:U.node!=U.text&&(U.node.className="");U.text.className= (U.textClass?U.textClass+" "+(U.line.textClass||""):U.line.textClass)||""}function ed(y,U,xa,ta){U.gutter&&(U.node.removeChild(U.gutter),U.gutter=null);U.gutterBackground&&(U.node.removeChild(U.gutterBackground),U.gutterBackground=null);if(U.line.gutterClass){var Fa=Sb(U);U.gutterBackground=q("div",null,"CodeMirror-gutter-background "+U.line.gutterClass,"left: "+(y.options.fixedGutter?ta.fixedPos:-ta.gutterTotalWidth)+"px; width: "+ta.gutterTotalWidth+"px");y.display.input.setUneditable(U.gutterBackground); Fa.insertBefore(U.gutterBackground,U.text)}Fa=U.line.gutterMarkers;if(y.options.lineNumbers||Fa){var ab=Sb(U),pb=U.gutter=q("div",null,"CodeMirror-gutter-wrapper","left: "+(y.options.fixedGutter?ta.fixedPos:-ta.gutterTotalWidth)+"px");y.display.input.setUneditable(pb);ab.insertBefore(pb,U.text);U.line.gutterClass&&(pb.className+=" "+U.line.gutterClass);!y.options.lineNumbers||Fa&&Fa["CodeMirror-linenumbers"]||(U.lineNumber=pb.appendChild(q("div",oa(y.options,xa),"CodeMirror-linenumber CodeMirror-gutter-elt", "left: "+ta.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+y.display.lineNumInnerWidth+"px")));if(Fa)for(U=0;Uxa)return{map:y.measure.maps[U],cache:y.measure.caches[U],before:!0}}function pg(y,U){if(U>=y.display.viewFrom&&U=y.lineN&&UPd;Pd++){for(;tb&&L(U.line.text.charAt(pb.coverStart+ tb));)--tb;for(;pb.coverStart+acCd&&0==tb&&ac==pb.coverEnd-pb.coverStart)var qd=ta.parentNode.getBoundingClientRect();else{qd=hg(ta,tb,ac).getClientRects();ac=He;if("left"==Cc)for(Ac=0;AcCd&&((Pd=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI== screen.deviceXDPI)||(null!=Jf?Pd=Jf:(Cc=A(y.display.measure,q("span","x")),Pd=Cc.getBoundingClientRect(),Cc=hg(Cc,0,1).getBoundingClientRect(),Pd=Jf=1Cd)|| tb||qd&&(qd.left||qd.right)||(qd=(qd=ta.parentNode.getClientRects()[0])?{left:qd.left,right:qd.left+kd(y.display),top:qd.top,bottom:qd.bottom}:He);ta=qd.top-U.rect.top;tb=qd.bottom-U.rect.top;Pd=(ta+tb)/2;Cc=U.view.measure.heights;for(pb=0;pbU)ab=ac-tb,Fa=ab-1,U>=ac&&(pb="right");if(null!=Fa){ta=y[Ac+2];tb==ac&&xa==(ta.insertLeft?"left":"right")&&(pb=xa);if("left"==xa&&0==Fa)for(;Ac&&y[Ac-2]==y[Ac-3]&&y[Ac-1].insertLeft;)ta=y[(Ac-=3)+2], pb="left";if("right"==xa&&Fa==ac-tb)for(;Ac=ta.text.length?(Ac=ta.text.length,U="before"):0>=Ac&&(Ac=0,U="after");if(!ac)return pb("before"==U?Ac-1:Ac,"before"==U);var Cc=H(ac,Ac,U),Hd=Ij;Cc=tb(Ac,Cc,"before"==U);null!=Hd&&(Cc.other=tb(Ac,Hd,"before"!=U));return Cc}function vg(y,U){var xa=0;U=ib(y.doc,U);y.options.lineWrapping||(xa=kd(y.display)*U.ch);U=Ea(y.doc, U.line);y=qb(U)+y.display.lineSpace.offsetTop;return{left:xa,right:xa,top:y,bottom:y+U.height}}function uf(y,U,xa,ta,Fa){y=Ca(y,U,xa);y.xRel=Fa;ta&&(y.outside=ta);return y}function Ab(y,U,xa){var ta=y.doc;xa+=y.display.viewOffset;if(0>xa)return uf(ta.first,0,null,-1,-1);var Fa=eb(ta,xa),ab=ta.first+ta.size-1;if(Fa>ab)return uf(ta.first+ta.size-1,Ea(ta,ab).text.length,null,1,1);0>U&&(U=0);for(var pb=Ea(ta,Fa);;){ab=cb(y,pb,Fa,U,xa);var tb=void 0;var ac=ab.ch+(0ac)&&(!tb||0>Yd(tb,Cc.marker))&&(tb=Cc.marker)}if(!tb)return ab;ab=tb.find(1);if(ab.line==Fa)return ab;pb=Ea(ta,Fa=ab.line)}}function sa(y,U,xa,ta){ta-=ke(U);U=U.text.length;var Fa=Y(function(ab){return Db(y,xa,ab-1).bottom<=ta},U,0);U=Y(function(ab){return Db(y,xa,ab).top>ta},Fa,U);return{begin:Fa,end:U}}function qa(y,U,xa,ta){xa||=bb(y,U);ta=Xd(y,U,Db(y,xa,ta),"line").top; return sa(y,U,xa,ta)}function Ia(y,U,xa,ta){return y.bottom<=xa?!1:y.top>xa?!0:(ta?y.left:y.right)>U}function cb(y,U,xa,ta,Fa){Fa-=qb(U);var ab=bb(y,U),pb=ke(U),tb=0,ac=U.text.length,Ac=!0,Cc=aa(U,y.doc.direction);Cc&&(Cc=(y.options.lineWrapping?lc:Jb)(y,U,xa,ab,Cc,ta,Fa),tb=(Ac=1!=Cc.level)?Cc.from:Cc.to-1,ac=Ac?Cc.to:Cc.from-1);var Hd=null,Pd=null;Cc=Y(function(Ce){var yf=Db(y,ab,Ce);yf.top+=pb;yf.bottom+=pb;if(!Ia(yf,ta,Fa,!1))return!1;yf.top<=Fa&&yf.left<=ta&&(Hd=Ce,Pd=yf);return!0},tb,ac);var qd= !1;Pd?(tb=ta-Pd.left=qd.bottom?1:0);Cc=ma(U.text,Cc,1);return uf(xa,Cc,Ac,qd,ta-tb)}function Jb(y,U,xa,ta,Fa,ab,pb){var tb=Y(function(Cc){Cc=Fa[Cc];var Hd=1!=Cc.level;return Ia(ff(y,Ca(xa,Hd?Cc.to:Cc.from,Hd?"before":"after"), "line",U,ta),ab,pb,!0)},0,Fa.length-1),ac=Fa[tb];if(0pb&&(ac=Fa[tb-1])}return ac}function lc(y,U,xa,ta,Fa,ab,pb){pb=sa(y,U,ta,pb);xa=pb.begin;pb=pb.end;/\s/.test(U.text.charAt(pb-1))&&pb--;for(var tb=U=null,ac=0;ac=pb||Ac.to<=xa)){var Cc=Db(y,ta,1!=Ac.level?Math.min(pb,Ac.to)-1:Math.max(xa,Ac.from)).right;Cc=CcCc)U= Ac,tb=Cc}}U||=Fa[Fa.length-1];U.frompb&&(U={from:U.from,to:pb,level:U.level});return U}function Sc(y){if(null!=y.cachedTextHeight)return y.cachedTextHeight;if(null==ue){ue=q("pre",null,"CodeMirror-line-like");for(var U=0;49>U;++U)ue.appendChild(document.createTextNode("x")),ue.appendChild(q("br"));ue.appendChild(document.createTextNode("x"))}A(y.measure,ue);U=ue.offsetHeight/50;3=y.display.viewTo)return null;U-=y.display.viewFrom;if(0>U)return null;y=y.display.view;for(var xa=0;xaU)return xa}function Qf(y,U,xa,ta){null==U&&(U=y.doc.first);null==xa&&(xa=y.doc.first+y.doc.size);ta||=0;var Fa=y.display;ta&&xaU)&&(Fa.updateLineNumbers=U);y.curOp.viewChanged=!0;if(U>=Fa.viewTo)ze&&Sd(y.doc,U)Fa.viewFrom?ei(y):(Fa.viewFrom+=ta,Fa.viewTo+=ta);else if(U<=Fa.viewFrom&&xa>=Fa.viewTo)ei(y);else if(U<=Fa.viewFrom){var ab=uh(y,xa,xa+ta,1);ab?(Fa.view=Fa.view.slice(ab.index),Fa.viewFrom=ab.lineN,Fa.viewTo+=ta):ei(y)}else if(xa>=Fa.viewTo)(ab=uh(y,U,U,-1))?(Fa.view=Fa.view.slice(0,ab.index),Fa.viewTo=ab.lineN):ei(y);else{ab=uh(y,U,U,-1);var pb=uh(y,xa,xa+ta,1);ab&&pb?(Fa.view=Fa.view.slice(0,ab.index).concat(vc(y,ab.lineN,pb.lineN)).concat(Fa.view.slice(pb.index)), Fa.viewTo+=ta):ei(y)}if(y=Fa.externalMeasured)xa=Fa.lineN&&U=ta.viewTo||(y=ta.view[xf(y,U)],null!=y.node&&(y=y.changes||(y.changes=[]),-1==h(y,xa)&&y.push(xa)))}function ei(y){y.display.viewFrom=y.display.viewTo=y.doc.first;y.display.view=[];y.display.viewOffset=0}function uh(y, U,xa,ta){var Fa=xf(y,U),ab=y.display.view;if(!ze||xa==y.doc.first+y.doc.size)return{index:Fa,lineN:xa};for(var pb=y.display.viewFrom,tb=0;tbta?0:ab.length-1))return null;xa+=ta*ab[Fa-(0>ta?1:0)].size;Fa+=ta}return{index:Fa,lineN:xa}}function li(y){y=y.display.view;for(var U=0,xa=0;xa=y.display.viewTo||tb.to().lineCe&&(Ce=0);Ce=Math.round(Ce);Eg=Math.round(Eg);tb.appendChild(q("div",null,"CodeMirror-selected","position: absolute; left: "+qd+"px;\n top: "+Ce+"px; width: "+(null==yf?Cc-qd:yf)+"px;\n height: "+(Eg-Ce)+"px"))}function Fa(qd,Ce,yf){function Eg(bg,Nf){return qe(y,Ca(qd,bg),"div",kg,Nf)}function kj(bg,Nf,Bh){bg=qa(y,kg,null,bg);Nf="ltr"==Nf==("after"==Bh)?"left":"right";Bh="after"== Bh?bg.begin:bg.end-(/\s/.test(kg.text.charAt(bg.end-1))?2:1);return Eg(Bh,Nf)[Nf]}var kg=Ea(pb,qd),Vg=kg.text.length,Hg,ki,Ph=aa(kg,pb.direction);fa(Ph,Ce||0,null==yf?Vg:yf,function(bg,Nf,Bh,dh){var lj="ltr"==Bh,Gh=Eg(bg,lj?"left":"right"),zj=Eg(Nf-1,lj?"right":"left"),gl=null==Ce&&0==bg,Dk=null==yf&&Nf==Vg,hm=0==dh;dh=!Ph||dh==Ph.length-1;3>=zj.top-Gh.top?(Nf=(Hd?gl:Dk)&&hm?Ac:(lj?Gh:zj).left,ta(Nf,Gh.top,((Hd?Dk:gl)&&dh?Cc:(lj?zj:Gh).right)-Nf,Gh.bottom)):(lj?(lj=Hd&&gl&&hm?Ac:Gh.left,gl=Hd?Cc: kj(bg,Bh,"before"),bg=Hd?Ac:kj(Nf,Bh,"after"),Dk=Hd&&Dk&&dh?Cc:zj.right):(lj=Hd?kj(bg,Bh,"before"):Ac,gl=!Hd&&gl&&hm?Cc:Gh.right,bg=!Hd&&Dk&&dh?Ac:zj.left,Dk=Hd?kj(Nf,Bh,"after"):Cc),ta(lj,Gh.top,gl-lj,Gh.bottom),Gh.bottomdf(Gh,Hg))Hg=Gh;0>df(zj,Hg)&&(Hg=zj);if(!ki||0>df(Gh,ki))ki=Gh;0>df(zj,ki)&&(ki=zj)});return{start:Hg,end:ki}}var ab=y.display,pb=y.doc,tb=document.createDocumentFragment(),ac=pd(y.display),Ac=ac.left, Cc=Math.max(ab.sizerWidth,Ne(y)-ab.sizer.offsetLeft)-ac.right,Hd="ltr"==pb.direction;ab=U.from();U=U.to();if(ab.line==U.line)Fa(ab.line,ab.ch,U.ch);else{var Pd=Ea(pb,ab.line);ac=Ea(pb,U.line);ac=ld(Pd)==ld(ac);ab=Fa(ab.line,ab.ch,ac?Pd.text.length+1:null).end;U=Fa(U.line,ac?0:null,U.ch).start;ac&&(ab.topy.options.cursorBlinkRate&&(U.cursorDiv.style.visibility="hidden")}}function Cl(y){y.state.focused||(y.display.input.focus(),zf(y))}function vj(y){y.state.delayingBlurEvent=!0;setTimeout(function(){y.state.delayingBlurEvent&&(y.state.delayingBlurEvent=!1,Bj(y))}, 100)}function zf(y,U){y.state.delayingBlurEvent&&(y.state.delayingBlurEvent=!1);"nocursor"!=y.options.readOnly&&(y.state.focused||(Q(y,"focus",y,U),y.state.focused=!0,C(y.display.wrapper,"CodeMirror-focused"),y.curOp||y.display.selForContextMenu==y.doc.sel||(y.display.input.reset(),Id&&setTimeout(function(){return y.display.input.reset(!0)},20)),y.display.input.receivedFocus()),yi(y))}function Bj(y,U){y.state.delayingBlurEvent||(y.state.focused&&(Q(y,"blur",y,U),y.state.focused=!1,sg(y.display.wrapper, "CodeMirror-focused")),clearInterval(y.display.blinker),setTimeout(function(){y.state.focused||(y.display.shift=!1)},150))}function oj(y){for(var U=y.display,xa=U.lineDiv.offsetTop,ta=0;taCd){ab=Fa.node.offsetTop+Fa.node.offsetHeight;var tb=ab-xa;xa=ab}else{var ac=Fa.node.getBoundingClientRect();tb=ac.bottom-ac.top;!ab&&Fa.text.firstChild&&(pb=Fa.text.firstChild.getBoundingClientRect().right-ac.left-1)}ab= Fa.line.height-tb;if(.005ab)if(Ma(Fa.line,tb),Wh(Fa.line),Fa.rest)for(tb=0;tby.display.sizerWidth&&(pb=Math.ceil(pb/kd(y.display)),pb>y.display.maxLineLength&&(y.display.maxLineLength=pb,y.display.maxLine=Fa.line,y.display.maxLineChanged=!0))}}}function Wh(y){if(y.widgets)for(var U=0;U=Fa&&(ta=eb(U,qb(Ea(U,xa))-y.wrapper.clientHeight),Fa=xa)}return{from:ta,to:Math.max(Fa,ta+1)}}function wk(y,U){var xa=y.display,ta=Sc(y.display);0>U.top&&(U.top=0);var Fa=y.curOp&&null!=y.curOp.scrollTop?y.curOp.scrollTop: xa.scroller.scrollTop,ab=Wf(y),pb={};U.bottom-U.top>ab&&(U.bottom=U.top+ab);var tb=y.doc.height+ce(xa),ac=U.toptb-ta;U.topFa+ab&&(ab=Math.min(U.top,(ta?tb:U.bottom)-ab),ab!=Fa&&(pb.scrollTop=ab));Fa=y.curOp&&null!=y.curOp.scrollLeft?y.curOp.scrollLeft:xa.scroller.scrollLeft;y=Ne(y)-(y.options.fixedGutter?xa.gutters.offsetWidth:0);if(xa=U.right-U.left>y)U.right=U.left+y;10>U.left?pb.scrollLeft=0:U.lefty+Fa-3&&(pb.scrollLeft=U.right+(xa?0:10)-y);return pb}function xk(y,U){null!=U&&(Cj(y),y.curOp.scrollTop=(null==y.curOp.scrollTop?y.doc.scrollTop:y.curOp.scrollTop)+U)}function Kg(y){Cj(y);var U=y.getCursor();y.curOp.scrollToPos={from:U,to:U,margin:y.options.cursorScrollMargin}}function Oj(y,U,xa){null==U&&null==xa||Cj(y);null!=U&&(y.curOp.scrollLeft=U);null!=xa&&(y.curOp.scrollTop=xa)}function Cj(y){var U=y.curOp.scrollToPos;if(U){y.curOp.scrollToPos=null;var xa=vg(y,U.from),ta=vg(y,U.to); Ki(y,xa,ta,U.margin)}}function Ki(y,U,xa,ta){U=wk(y,{left:Math.min(U.left,xa.left),top:Math.min(U.top,xa.top)-ta,right:Math.max(U.right,xa.right),bottom:Math.max(U.bottom,xa.bottom)+ta});Oj(y,U.scrollLeft,U.scrollTop)}function lk(y,U){2>Math.abs(y.doc.scrollTop-U)||(Pc||nk(y,{top:U}),Yj(y,U,!0),Pc&&nk(y),Xg(y,100))}function Yj(y,U,xa){U=Math.max(0,Math.min(y.display.scroller.scrollHeight-y.display.scroller.clientHeight,U));if(y.display.scroller.scrollTop!=U||xa)y.doc.scrollTop=U,y.display.scrollbars.setScrollTop(U), y.display.scroller.scrollTop!=U&&(y.display.scroller.scrollTop=U)}function Pj(y,U,xa,ta){U=Math.max(0,Math.min(U,y.display.scroller.scrollWidth-y.display.scroller.clientWidth));(xa?U==y.doc.scrollLeft:2>Math.abs(y.doc.scrollLeft-U))&&!ta||(y.doc.scrollLeft=U,Lh(y),y.display.scroller.scrollLeft!=U&&(y.display.scroller.scrollLeft=U),y.display.scrollbars.setScrollLeft(U))}function kl(y){var U=y.display,xa=U.gutters.offsetWidth,ta=Math.round(y.doc.height+ce(y.display));return{clientHeight:U.scroller.clientHeight, viewHeight:U.wrapper.clientHeight,scrollWidth:U.scroller.scrollWidth,clientWidth:U.scroller.clientWidth,viewWidth:U.wrapper.clientWidth,barLeft:y.options.fixedGutter?xa:0,docHeight:ta,scrollHeight:ta+mc(y)+U.barHeight,nativeBarWidth:U.nativeBarWidth,gutterWidth:xa}}function Xk(y,U){U||=kl(y);var xa=y.display.barWidth,ta=y.display.barHeight;El(y,U);for(U=0;4>U&&xa!=y.display.barWidth||ta!=y.display.barHeight;U++)xa!=y.display.barWidth&&y.options.lineWrapping&&oj(y),El(y,kl(y)),xa=y.display.barWidth, ta=y.display.barHeight}function El(y,U){var xa=y.display,ta=xa.scrollbars.update(U);xa.sizer.style.paddingRight=(xa.barWidth=ta.right)+"px";xa.sizer.style.paddingBottom=(xa.barHeight=ta.bottom)+"px";xa.heightForcer.style.borderBottom=ta.bottom+"px solid transparent";ta.right&&ta.bottom?(xa.scrollbarFiller.style.display="block",xa.scrollbarFiller.style.height=ta.bottom+"px",xa.scrollbarFiller.style.width=ta.right+"px"):xa.scrollbarFiller.style.display="";ta.bottom&&y.options.coverGutterNextToScrollbar&& y.options.fixedGutter?(xa.gutterFiller.style.display="block",xa.gutterFiller.style.height=ta.bottom+"px",xa.gutterFiller.style.width=U.gutterWidth+"px"):xa.gutterFiller.style.display=""}function Zj(y){y.display.scrollbars&&(y.display.scrollbars.clear(),y.display.scrollbars.addClass&&sg(y.display.wrapper,y.display.scrollbars.addClass));y.display.scrollbars=new xi[y.options.scrollbarStyle](function(U){y.display.wrapper.insertBefore(U,y.display.scrollbarFiller);ag(U,"mousedown",function(){y.state.focused&& setTimeout(function(){return y.display.input.focus()},0)});U.setAttribute("cm-not-content","true")},function(U,xa){"horizontal"==xa?Pj(y,U):lk(y,U)},y);y.display.scrollbars.addClass&&C(y.display.wrapper,y.display.scrollbars.addClass)}function Qj(y){y.curOp={cm:y,viewChanged:!1,startHeight:y.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:++th};y=y.curOp;sh?sh.ops.push(y):y.ownsGroup=sh={ops:[y],delayedCallbacks:[]}}function xg(y){(y=y.curOp)&&Mc(y,function(U){for(var xa=0;xa=ab.viewTo)||ab.maxLineChanged&&Fa.options.lineWrapping;ta.update=ta.mustUpdate&&new xl(Fa,ta.mustUpdate&&{top:ta.scrollTop,ensure:ta.scrollToPos},ta.forceUpdate)}for(xa=0;xaHd;Hd++){var Pd=!1;tb=ff(Fa,ac);var qd=Ac&&Ac!=ac?ff(Fa,Ac):tb;tb={left:Math.min(tb.left,qd.left),top:Math.min(tb.top,qd.top)-Cc,right:Math.max(tb.left,qd.left),bottom:Math.max(tb.bottom,qd.bottom)+Cc};qd=wk(Fa,tb);var Ce=Fa.doc.scrollTop,yf=Fa.doc.scrollLeft;null!=qd.scrollTop&&(lk(Fa, qd.scrollTop),1Ac.top+Hd.top?ac=!0:Ac.bottom+Hd.top>(window.innerHeight||document.documentElement.clientHeight)&&(ac=!1),null==ac||Re||(Ac=q("div","​",null,"position: absolute;\n top: "+(Ac.top-Cc.viewOffset-Fa.display.lineSpace.offsetTop)+ "px;\n height: "+(Ac.bottom-Ac.top+mc(Fa)+Cc.barHeight)+"px;\n left: "+Ac.left+"px; width: "+Math.max(2,Ac.right-Ac.left)+"px;"),Fa.display.lineSpace.appendChild(Ac),Ac.scrollIntoView(ac),Fa.display.lineSpace.removeChild(Ac)))}Ac=ta.maybeHiddenMarkers;ac=ta.maybeUnhiddenMarkers;if(Ac)for(Cc=0;Cc=y.display.viewTo)){var xa=+new Date+y.options.workTime,ta=Pa(y,U.highlightFrontier),Fa=[];U.iter(ta.line,Math.min(U.first+U.size,y.display.viewTo+500),function(ab){if(ta.line>=y.display.viewFrom){var pb=ab.styles,tb=ab.text.length>y.options.maxHighlightLength? ya(U.mode,ta.state):null,ac=Wb(y,ab,ta,!0);tb&&(ta.state=tb);ab.styles=ac.styles;tb=ab.styleClasses;(ac=ac.classes)?ab.styleClasses=ac:tb&&(ab.styleClasses=null);ac=!pb||pb.length!=ab.styles.length||tb!=ac&&(!tb||!ac||tb.bgClass!=ac.bgClass||tb.textClass!=ac.textClass);for(tb=0;!ac&&tb xa)return Xg(y,y.options.workDelay),!0});U.highlightFrontier=ta.line;U.modeFrontier=Math.max(U.modeFrontier,ta.line);Fa.length&&jg(y,function(){for(var ab=0;ab=xa.viewFrom&&U.visible.to<=xa.viewTo&&(null==xa.updateLineNumbers||xa.updateLineNumbers>=xa.viewTo)&&xa.renderedView==xa.view&&0==li(y))return!1;Yk(y)&&(ei(y),U.dims=ve(y));var Fa=ta.first+ta.size, ab=Math.max(U.visible.from-y.options.viewportMargin,ta.first),pb=Math.min(Fa,U.visible.to+y.options.viewportMargin);xa.viewFromab-xa.viewFrom&&(ab=Math.max(ta.first,xa.viewFrom));xa.viewTo>pb&&20>xa.viewTo-pb&&(pb=Math.min(Fa,xa.viewTo));ze&&(ab=Sd(y.doc,ab),pb=Nb(y.doc,pb));ta=ab!=xa.viewFrom||pb!=xa.viewTo||xa.lastWrapHeight!=U.wrapperHeight||xa.lastWrapWidth!=U.wrapperWidth;Fa=y.display;0==Fa.view.length||ab>=Fa.viewTo||pb<=Fa.viewFrom?(Fa.view=vc(y,ab,pb),Fa.viewFrom=ab):(Fa.viewFrom> ab?Fa.view=vc(y,ab,Fa.viewFrom).concat(Fa.view):Fa.viewFrompb&&(Fa.view=Fa.view.slice(0,xf(y,pb))));Fa.viewTo=pb;xa.viewOffset=qb(Ea(y.doc,xa.viewFrom));y.display.mover.style.top=xa.viewOffset+"px";pb=li(y);if(!ta&&0==pb&&!U.force&&xa.renderedView==xa.view&&(null==xa.updateLineNumbers||xa.updateLineNumbers>=xa.viewTo))return!1;y.hasFocus()?ab=null:(ab=B())&&r(y.display.lineDiv,ab)? (ab={activeElt:ab},window.getSelection&&(Fa=window.getSelection(),Fa.anchorNode&&Fa.extend&&r(y.display.lineDiv,Fa.anchorNode)&&(ab.anchorNode=Fa.anchorNode,ab.anchorOffset=Fa.anchorOffset,ab.focusNode=Fa.focusNode,ab.focusOffset=Fa.focusOffset))):ab=null;4=y.display.viewFrom&&U.visible.to<=y.display.viewTo)break;if(!Ag(y,U))break;oj(y);ta=kl(y);Zh(y);Xk(y,ta);Di(y,ta);U.force=!1}U.signal(y,"update",y);if(y.display.viewFrom!=y.display.reportedViewFrom||y.display.viewTo!=y.display.reportedViewTo)U.signal(y,"viewportChange", y,y.display.viewFrom,y.display.viewTo),y.display.reportedViewFrom=y.display.viewFrom,y.display.reportedViewTo=y.display.viewTo}function nk(y,U){U=new xl(y,U);if(Ag(y,U)){oj(y);Th(y,U);var xa=kl(y);Zh(y);Xk(y,xa);Di(y,xa);U.finish()}}function yk(y,U,xa){function ta(Pd){var qd=Pd.nextSibling;Id&&Pf&&y.display.currentWheelTarget==Pd?Pd.style.display="none":Pd.parentNode.removeChild(Pd);return qd}var Fa=y.display,ab=y.options.lineNumbers,pb=Fa.lineDiv,tb=pb.firstChild,ac=Fa.view;Fa=Fa.viewFrom;for(var Ac= 0;AcCd&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight=0);Id||Pc&&Ni||(this.scroller.draggable=!0);y&&(y.appendChild?y.appendChild(this.wrapper):y(this.wrapper));this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=U.first;this.view=[];this.externalMeasured=this.renderedView=null;this.lastWrapHeight=this.lastWrapWidth=this.viewOffset=0;this.updateLineNumbers=null;this.nativeBarWidth=this.barHeight=this.barWidth=0;this.scrollbarsClipped= !1;this.lineNumWidth=this.lineNumInnerWidth=this.lineNumChars=null;this.alignWidgets=!1;this.maxLine=this.cachedCharWidth=this.cachedTextHeight=this.cachedPaddingH=null;this.maxLineLength=0;this.maxLineChanged=!1;this.wheelDX=this.wheelDY=this.wheelStartX=this.wheelStartY=null;this.shift=!1;this.activeTouch=this.selForContextMenu=null;this.gutterSpecs=bk(ta.gutters,ta.lineNumbers);wj(this);xa.init(this)}function Rj(y){var U=y.wheelDeltaX,xa=y.wheelDeltaY;null==U&&y.detail&&y.axis==y.HORIZONTAL_AXIS&& (U=y.detail);null==xa&&y.detail&&y.axis==y.VERTICAL_AXIS?xa=y.detail:null==xa&&(xa=y.wheelDelta);return{x:U,y:xa}}function fi(y){y=Rj(y);y.x*=xh;y.y*=xh;return y}function Sj(y,U){var xa=Rj(U),ta=xa.x;xa=xa.y;var Fa=y.display,ab=Fa.scroller,pb=ab.scrollWidth>ab.clientWidth,tb=ab.scrollHeight>ab.clientHeight;if(ta&&pb||xa&&tb){if(xa&&Pf&&Id){pb=U.target;var ac=Fa.view;a:for(;pb!=ab;pb=pb.parentNode)for(var Ac=0;AcU?tb=Math.max(0,tb+U-50):pb=Math.min(y.doc.height,pb+U+50),nk(y,{top:tb,bottom:pb})),20>si&&(null==Fa.wheelStartX?(Fa.wheelStartX=ab.scrollLeft,Fa.wheelStartY=ab.scrollTop,Fa.wheelDX=ta,Fa.wheelDY=xa,setTimeout(function(){if(null!=Fa.wheelStartX){var Cc=ab.scrollLeft-Fa.wheelStartX,Hd=ab.scrollTop-Fa.wheelStartY;Cc=Hd&&Fa.wheelDY&&Hd/Fa.wheelDY||Cc&&Fa.wheelDX&&Cc/Fa.wheelDX;Fa.wheelStartX=Fa.wheelStartY=null; Cc&&(xh=(xh*si+Cc)/(si+1),++si)}},200)):(Fa.wheelDX+=ta,Fa.wheelDY+=xa))):(xa&&tb&&lk(y,Math.max(0,ab.scrollTop+xa*xh)),Pj(y,Math.max(0,ab.scrollLeft+ta*xh)),(!xa||xa&&tb)&&X(U),Fa.wheelStartX=null)}}function Mh(y,U,xa){y=y&&y.options.selectionsMayTouch;xa=U[xa];U.sort(function(ac,Ac){return ra(ac.from(),Ac.from())});xa=h(U,xa);for(var ta=1;tara(y,U.from))return y;if(0>=ra(y,U.to))return Nh(U);var xa=y.line+U.text.length-(U.to.line-U.from.line)-1,ta=y.ch;y.line==U.to.line&&(ta+=Nh(U).ch-U.to.ch);return Ca(xa,ta)}function mi(y,U){for(var xa= [],ta=0;taab-(y.cm?y.cm.options.historyEventDelay:500)||"*"==U.origin.charAt(0))){if(Fa.lastOp==ta){pj(Fa.done);var tb=x(Fa.done)}else Fa.done.length&&!x(Fa.done).ranges? tb=x(Fa.done):1Fa.undoDepth;)Fa.done.shift(),Fa.done[0].ranges||Fa.done.shift();Fa.done.push(xa);Fa.generation=++Fa.maxGeneration;Fa.lastModTime=Fa.lastSelTime=ab;Fa.lastOp= Fa.lastSelOp=ta;Fa.lastOrigin=Fa.lastSelOrigin=U.origin;ac||Q(y,"historyAdded")}function Ak(y,U){var xa=x(U);xa&&xa.ranges&&xa.equals(y)||U.push(y)}function nl(y,U,xa,ta){var Fa=U["spans_"+y.id],ab=0;y.iter(Math.max(y.first,xa),Math.min(y.first+y.size,ta),function(pb){pb.markedSpans&&((Fa||=U["spans_"+y.id]={})[ab]=pb.markedSpans);++ab})}function qj(y,U){var xa;if(xa=U["spans_"+y.id]){for(var ta=[],Fa=0;Fara(U,y),ta!=0>ra(xa,y)?(y=U,U=xa):ta!=0>ra(U,xa)&&(U=xa)),new Yg(y,U)):new Yg(xa||U,U)}function Pl(y,U,xa,ta,Fa){null==Fa&&(Fa=y.cm&&(y.cm.display.shift||y.extend));rg(y,new Ff([sm(y.sel.primary(), U,xa,Fa)],0),ta)}function pk(y,U,xa){for(var ta=[],Fa=y.cm&&(y.cm.display.shift||y.extend),ab=0;abra(U.primary().head,y.sel.primary().head)?-1:1);rh(y,sf(y,U,ta,!0));xa&&!1===xa.scroll||!y.cm|| Kg(y.cm)}function rh(y,U){U.equals(y.sel)||(y.sel=U,y.cm&&(y.cm.curOp.updateInput=1,y.cm.curOp.selectionChanged=!0,O(y.cm)),Me(y,"cursorActivity",y))}function Li(y){rh(y,sf(y,y.sel,null,!1))}function sf(y,U,xa,ta){for(var Fa,ab=0;ab=U.ch:tb.to>U.ch))){if(Fa&&(Q(ac,"beforeCursorEnter"),ac.explicitlyCleared))if(ab.markedSpans){--pb;continue}else break;if(ac.atomic){if(xa){pb=ac.find(0> ta?1:-1);tb=void 0;if(0>ta?Cc:Ac)pb=Bk(y,pb,-ta,pb&&pb.line==U.line?ab:null);if(pb&&pb.line==U.line&&(tb=ra(pb,xa))&&(0>ta?0>tb:0ta?-1:1);if(0>ta?Ac:Cc)xa=Bk(y,xa,ta,xa.line==U.line?ab:null);return xa?xj(y,xa,U,ta,Fa):null}}}return U}function Mi(y,U,xa,ta,Fa){ta=ta||1;U=xj(y,U,xa,ta,Fa)||!Fa&&xj(y,U,xa,ta,!0)||xj(y,U,xa,-ta,Fa)||!Fa&&xj(y,U,xa,-ta,!0);return U?U:(y.cantEdit=!0,Ca(y.first,0))}function Bk(y,U,xa,ta){return 0>xa&&0==U.ch?U.line>y.first?ib(y, Ca(U.line-1)):null:0y.lastLine())){if(U.from.lineFa&&(U={from:U.from,to:Ca(Fa,Ea(y,Fa).text.length),text:[U.text[0]],origin:U.origin});U.removed=Oa(y,U.from,U.to);xa||=mi(y,U);y.cm?em(y.cm,U,ta):Ei(y, U,ta);bm(y,xa,kh);y.cantEdit&&Mi(y,Ca(y.firstLine(),0))&&(y.cantEdit=!1)}}function em(y,U,xa){var ta=y.doc,Fa=y.display,ab=U.from,pb=U.to,tb=!1,ac=ab.line;y.options.lineWrapping||(ac=fb(ld(Ea(ta,ab.line))),ta.iter(ac,pb.line+1,function(Ac){if(Ac==Fa.maxLine)return tb=!0}));-1Fa.maxLineLength&&(Fa.maxLine=Ac,Fa.maxLineLength=Cc,Fa.maxLineChanged=!0,tb=!1)}), tb&&(y.curOp.updateMaxLine=!0));xc(ta,ab.line);Xg(y,400);xa=U.text.length-(pb.line-ab.line)-1;U.full?Qf(y):ab.line!=pb.line||1!=U.text.length||zg(y.doc,U)?Qf(y,ab.line,pb.line+1,xa):Pg(y,ab.line,"text");xa=P(y,"changes");if((ta=P(y,"change"))||xa)U={from:ab,to:pb,text:U.text,removed:U.removed,origin:U.origin},ta&&Me(y,"change",y,U),xa&&(y.curOp.changeObjs||(y.curOp.changeObjs=[])).push(U);y.display.selForContextMenu=null}function Lk(y,U,xa,ta,Fa){ta||=xa;0>ra(ta,xa)&&(ta=[ta,xa],xa=ta[0],ta=ta[1]); "string"==typeof U&&(U=y.splitLines(U));re(y,{from:xa,to:ta,text:U,origin:Fa})}function mg(y,U,xa,ta){xa=ra(ab.from,x(ta).to);){var pb= ta.pop();if(0>ra(pb.from,ab.from)){ab.from=pb.from;break}}ta.push(ab)}jg(y,function(){for(var tb=ta.length-1;0<=tb;tb--)Lk(y.doc,"",ta[tb].from,ta[tb].to,"+delete");Kg(y)})}function Pk(y,U,xa){U=ma(y.text,U+xa,xa);return 0>U||U>y.text.length?null:U}function Hj(y,U,xa){y=Pk(y,U.ch,xa);return null==y?null:new Ca(U.line,y,0>xa?"after":"before")}function Vj(y,U,xa,ta,Fa){if(y&&("rtl"==U.doc.direction&&(Fa=-Fa),y=aa(xa,U.doc.direction))){y=0>Fa?x(y):y[0];var ab=0>Fa==(1==y.level)?"after":"before";if(0< y.level||"rtl"==U.doc.direction){var pb=bb(U,xa);var tb=0>Fa?xa.text.length-1:0;var ac=Db(U,pb,tb).top;tb=Y(function(Ac){return Db(U,pb,Ac).top==ac},0>Fa==(1==y.level)?y.from:y.to-1,tb);"before"==ab&&(tb=Pk(xa,tb,1))}else tb=0>Fa?y.to:y.from;return new Ca(ta,tb,ab)}return new Ca(ta,0>Fa?xa.text.length:0,0>Fa?"before":"after")}function tk(y,U,xa,ta){var Fa=aa(U,y.doc.direction);if(!Fa)return Hj(U,xa,ta);xa.ch>=U.text.length?(xa.ch=U.text.length,xa.sticky="before"):0>=xa.ch&&(xa.ch=0,xa.sticky="after"); var ab=H(Fa,xa.ch,xa.sticky),pb=Fa[ab];if("ltr"==y.doc.direction&&0==pb.level%2&&(0xa.ch:pb.fromta,Pd=tb(xa,Hd?1:-1);if(null!=Pd&&(Hd?Pd<=pb.to&&Pd<=Cc.end:Pd>=pb.from&&Pd>=Cc.begin))return new Ca(xa.line, Pd,Hd?"before":"after")}pb=function(qd,Ce,yf){for(var Eg=function(Hg,ki){return ki?new Ca(xa.line,tb(Hg,1),"before"):new Ca(xa.line,Hg,"after")};0<=qd&&qdCd&&27==y.keyCode&&(y.returnValue=!1);var U=y.keyCode;this.display.shift=16==U||y.shiftKey;var xa=gm(this,y);se&&(pn=xa?U:null,!xa&&88==U&&!Ci&&(Pf?y.metaKey:y.ctrlKey)&&this.replaceSelection("",null,"cut"));Pc&&!Pf&&!xa&&46==U&&y.shiftKey&&!y.ctrlKey&&document.execCommand&&document.execCommand("cut");18!=U||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)||Jh(this)}}function Jh(y){function U(ta){18!= ta.keyCode&&ta.altKey||(sg(xa,"CodeMirror-crosshair"),M(document,"keyup",U),M(document,"mouseover",U))}var xa=y.display.lineDiv;C(xa,"CodeMirror-crosshair");ag(document,"keyup",U);ag(document,"mouseover",U)}function gj(y){16==y.keyCode&&(this.doc.sel.shift=!1);D(this,y)}function uk(y){if(!(y.target&&y.target!=this.display.input.getField()||Kd(this.display,y)||D(this,y)||y.ctrlKey&&!y.altKey||Pf&&y.metaKey)){var U=y.keyCode,xa=y.charCode;if(se&&U==pn)pn=null,X(y);else if(!se||y.which&&!(10>y.which)|| !gm(this,y))if(U=String.fromCharCode(null==xa?U:xa),"\b"!=U&&!qk(this,y,U))this.display.input.onKeyPress(y)}}function mk(y,U){var xa=+new Date;if(Nm&&Nm.compare(xa,y,U))return Xh=Nm=null,"triple";if(Xh&&Xh.compare(xa,y,U))return Nm=new Wk(xa,y,U),Xh=null,"double";Xh=new Wk(xa,y,U);Nm=null;return"single"}function ph(y){var U=this.display;if(!(D(this,y)||U.activeTouch&&U.input.supportsTouch()))if(U.input.ensurePolled(),U.shift=y.shiftKey,Kd(U,y))Id||(U.scroller.draggable=!1,setTimeout(function(){return U.scroller.draggable= !0},100));else if(!Oi(this,y,"gutterClick",!0)){var xa=Hf(this,y),ta=Z(y),Fa=xa?mk(xa,ta):"single";window.focus();1==ta&&this.state.selectingText&&this.state.selectingText(y);if(!xa||!ih(this,ta,xa,Fa,y))if(1==ta)xa?Dg(this,xa,Fa,y):(y.target||y.srcElement)==U.scroller&&X(y);else if(2==ta)xa&&Pl(this.doc,xa),setTimeout(function(){return U.input.focus()},20);else if(3==ta)if(lh)this.display.input.onContextMenu(y);else vj(this)}}function ih(y,U,xa,ta,Fa){var ab="Click";"double"==ta?ab="Double"+ab:"triple"== ta&&(ab="Triple"+ab);return sj(y,Ck((1==U?"Left":2==U?"Middle":"Right")+ab,Fa),Fa,function(pb){"string"==typeof pb&&(pb=Wj[pb]);if(!pb)return!1;var tb=!1;try{y.isReadOnly()&&(y.state.suppressEdits=!0),tb=pb(y,xa)!=Ri}finally{y.state.suppressEdits=!1}return tb})}function Dg(y,U,xa,ta){Gd?setTimeout(G(Cl,y),0):y.curOp.focus=B();var Fa=y.getOption("configureMouse");Fa=Fa?Fa(y,xa,ta):{};null==Fa.unit&&(Fa.unit=(gg?ta.shiftKey&&ta.metaKey:ta.altKey)?"rectangle":"single"==xa?"char":"double"==xa?"word": "line");if(null==Fa.extend||y.doc.extend)Fa.extend=y.doc.extend||ta.shiftKey;null==Fa.addNew&&(Fa.addNew=Pf?ta.metaKey:ta.ctrlKey);null==Fa.moveOnDrag&&(Fa.moveOnDrag=!(Pf?ta.altKey:ta.ctrlKey));var ab=y.doc.sel,pb;y.options.dragDrop&&di&&!y.isReadOnly()&&"single"==xa&&-1<(pb=ab.contains(U))&&(0>ra((pb=ab.ranges[pb]).from(),U)||0U.xRel)?Xj(y,ta,U,Fa):$i(y,ta,U,Fa)}function Xj(y,U,xa,ta){var Fa=y.display,ab=!1,pb=lg(y,function(Ac){Id&&(Fa.scroller.draggable=!1);y.state.draggingText= !1;M(Fa.wrapper.ownerDocument,"mouseup",pb);M(Fa.wrapper.ownerDocument,"mousemove",tb);M(Fa.scroller,"dragstart",ac);M(Fa.scroller,"drop",pb);ab||(X(Ac),ta.addNew||Pl(y.doc,xa,null,null,ta.extend),Id&&!$e||Gd&&9==Cd?setTimeout(function(){Fa.wrapper.ownerDocument.body.focus({preventScroll:!0});Fa.input.focus()},20):Fa.input.focus())}),tb=function(Ac){ab=ab||10<=Math.abs(U.clientX-Ac.clientX)+Math.abs(U.clientY-Ac.clientY)},ac=function(){return ab=!0};Id&&(Fa.scroller.draggable=!0);y.state.draggingText= pb;pb.copy=!ta.moveOnDrag;Fa.scroller.dragDrop&&Fa.scroller.dragDrop();ag(Fa.wrapper.ownerDocument,"mouseup",pb);ag(Fa.wrapper.ownerDocument,"mousemove",tb);ag(Fa.scroller,"dragstart",ac);ag(Fa.scroller,"drop",pb);vj(y);setTimeout(function(){return Fa.input.focus()},20)}function Dh(y,U,xa){if("char"==xa)return new Yg(U,U);if("word"==xa)return y.findWordAt(U);if("line"==xa)return new Yg(Ca(U.line,0),ib(y.doc,Ca(U.line+1,0)));y=xa(y,U);return new Yg(y.from,y.to)}function $i(y,U,xa,ta){function Fa(kg){if(0!= ra(qd,kg))if(qd=kg,"rectangle"==ta.unit){var Vg=[],Hg=y.options.tabSize,ki=k(Ea(ac,xa.line).text,xa.ch,Hg),Ph=k(Ea(ac,kg.line).text,kg.ch,Hg),bg=Math.min(ki,Ph);ki=Math.max(ki,Ph);Ph=Math.min(xa.line,kg.line);for(var Nf=Math.min(y.lastLine(),Math.max(xa.line,kg.line));Ph<=Nf;Ph++){var Bh=Ea(ac,Ph).text,dh=f(Bh,bg,Hg);bg==ki?Vg.push(new Yg(Ca(Ph,dh),Ca(Ph,dh))):Bh.length>dh&&Vg.push(new Yg(Ca(Ph,dh),Ca(Ph,f(Bh,ki,Hg))))}Vg.length||Vg.push(new Yg(xa,xa));rg(ac,Mh(y,Ac.ranges.slice(0,Hd).concat(Vg), Hd),{origin:"*mouse",scroll:!1});y.scrollIntoView(kg)}else Vg=Pd,bg=Dh(y,kg,ta.unit),kg=Vg.anchor,0=ki.to||Hg.lineCe.bottom?20:0;Ph&&setTimeout(lg(y,function(){yf==Vg&&(tb.scroller.scrollTop+=Ph,ab(kg))}),50)}}function pb(kg){y.state.selectingText=!1;yf=Infinity;kg&&(X(kg),tb.input.focus());M(tb.wrapper.ownerDocument,"mousemove",Eg);M(tb.wrapper.ownerDocument,"mouseup",kj);ac.history.lastSelOrigin=null}var tb=y.display,ac=y.doc;X(U);var Ac=ac.sel,Cc=Ac.ranges;if(ta.addNew&&!ta.extend){var Hd=ac.sel.contains(xa);var Pd=-1ab:0=Math.floor(y.display.gutters.getBoundingClientRect().right))return!1; ta&&X(U);ta=y.display;var pb=ta.lineDiv.getBoundingClientRect();if(ab>pb.bottom||!P(y,xa))return ha(U);ab-=pb.top-ta.viewOffset;for(pb=0;pb=Fa)return Fa=eb(y.doc,ab),Q(y,xa,y,Fa,y.display.gutterSpecs[pb].className,U),ha(U)}}function Sf(y,U){var xa;(xa=Kd(y.display,U))||(xa=P(y,"gutterContextMenu")?Oi(y,U,"gutterContextMenu",!1):!1);if(!xa&&!D(y,U,"contextmenu")&&!lh)y.display.input.onContextMenu(U)} function Ig(y){y.display.wrapper.className=y.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+y.options.theme.replace(/(^|\s)\s*/g," cm-s-");jb(y)}function jj(y,U,xa){!U!=!(xa&&xa!=Ah)&&(xa=y.display.dragFunctions,U=U?ag:M,U(y.display.scroller,"dragstart",xa.start),U(y.display.scroller,"dragenter",xa.enter),U(y.display.scroller,"dragover",xa.over),U(y.display.scroller,"dragleave",xa.leave),U(y.display.scroller,"drop",xa.drop))}function oi(y){y.options.lineWrapping?(C(y.display.wrapper,"CodeMirror-wrap"), y.display.sizer.style.minWidth="",y.display.sizerWidth=null):(sg(y.display.wrapper,"CodeMirror-wrap"),cc(y));eg(y);Qf(y);jb(y);setTimeout(function(){return Xk(y)},100)}function nh(y,U){var xa=this;if(!(this instanceof nh))return new nh(y,U);this.options=U=U?v(U):{};v(Fi,U,!1);var ta=U.value;"string"==typeof ta?ta=new Bf(ta,U.mode,null,U.lineSeparator,U.direction):U.mode&&(ta.modeOption=U.mode);this.doc=ta;var Fa=new nh.inputStyles[U.inputStyle](this);y=this.display=new Em(y,ta,Fa,U);y.wrapper.CodeMirror= this;Ig(this);U.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap");Zj(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 Mf,keySeq:null,specialChars:null};U.autofocus&&!Ni&&y.input.focus();Gd&&11>Cd&&setTimeout(function(){return xa.display.input.reset(!0)},20);ig(this);ch||(um(),ch=!0);Qj(this);this.curOp.forceUpdate=!0;Ej(this,ta);U.autofocus&& !Ni||this.hasFocus()?setTimeout(function(){xa.hasFocus()&&!xa.state.focused&&zf(xa)},20):Bj(this);for(var ab in Mm)if(Mm.hasOwnProperty(ab))Mm[ab](this,U[ab],Ah);Yk(this);U.finishInit&&U.finishInit(this);for(ta=0;taCd?ag(ta.scroller,"dblclick",lg(y,function(tb){if(!D(y,tb)){var ac=Hf(y,tb);!ac||Oi(y,tb,"gutterClick",!0)||Kd(y.display,tb)||(X(tb),tb=y.findWordAt(ac),Pl(y.doc,tb.anchor,tb.head))}})):ag(ta.scroller,"dblclick",function(tb){return D(y,tb)||X(tb)});ag(ta.scroller,"contextmenu",function(tb){return Sf(y,tb)});ag(ta.input.getField(), "contextmenu",function(tb){ta.scroller.contains(tb.target)||Sf(y,tb)});var Fa,ab={end:0};ag(ta.scroller,"touchstart",function(tb){var ac;if(ac=!D(y,tb))1!=tb.touches.length?ac=!1:(ac=tb.touches[0],ac=1>=ac.radiusX&&1>=ac.radiusY),ac=!ac;ac&&!Oi(y,tb,"gutterClick",!0)&&(ta.input.ensurePolled(),clearTimeout(Fa),ac=+new Date,ta.activeTouch={start:ac,moved:!1,prev:300>=ac-ab.end?ab:null},1==tb.touches.length&&(ta.activeTouch.left=tb.touches[0].pageX,ta.activeTouch.top=tb.touches[0].pageY))});ag(ta.scroller, "touchmove",function(){ta.activeTouch&&(ta.activeTouch.moved=!0)});ag(ta.scroller,"touchend",function(tb){var ac=ta.activeTouch;if(ac&&!Kd(ta,tb)&&null!=ac.left&&!ac.moved&&300>new Date-ac.start){var Ac=y.coordsChar(ta.activeTouch,"page");ac=!ac.prev||xa(ac,ac.prev)?new Yg(Ac,Ac):!ac.prev.prev||xa(ac,ac.prev.prev)?y.findWordAt(Ac):new Yg(Ca(Ac.line,0),ib(y.doc,Ca(Ac.line+1,0)));y.setSelection(ac.anchor,ac.head);y.focus();X(tb)}U()});ag(ta.scroller,"touchcancel",U);ag(ta.scroller,"scroll",function(){ta.scroller.clientHeight&& (lk(y,ta.scroller.scrollTop),Pj(y,ta.scroller.scrollLeft,!0),Q(y,"scroll",y))});ag(ta.scroller,"mousewheel",function(tb){return Sj(y,tb)});ag(ta.scroller,"DOMMouseScroll",function(tb){return Sj(y,tb)});ag(ta.wrapper,"scroll",function(){return ta.wrapper.scrollTop=ta.wrapper.scrollLeft=0});ta.dragFunctions={enter:function(tb){D(y,tb)||K(tb)},over:function(tb){if(!D(y,tb)){var ac=Hf(y,tb);if(ac){var Ac=document.createDocumentFragment();Rh(y,ac,Ac);y.display.dragCursor||(y.display.dragCursor=q("div", null,"CodeMirror-cursors CodeMirror-dragcursors"),y.display.lineSpace.insertBefore(y.display.dragCursor,y.display.cursorDiv));A(y.display.dragCursor,Ac)}K(tb)}},start:function(tb){if(Gd&&(!y.state.draggingText||100>+new Date-dl))K(tb);else if(!D(y,tb)&&!Kd(y.display,tb)&&(tb.dataTransfer.setData("Text",y.getSelection()),tb.dataTransfer.effectAllowed="copyMove",tb.dataTransfer.setDragImage&&!$e)){var ac=q("img",null,null,"position: fixed; left: 0; top: 0;");ac.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"; se&&(ac.width=ac.height=1,y.display.wrapper.appendChild(ac),ac._top=ac.offsetTop);tb.dataTransfer.setDragImage(ac,0,0);se&&ac.parentNode.removeChild(ac)}},drop:lg(y,$k),leave:function(tb){D(y,tb)||sk(y)}};var pb=ta.input.getField();ag(pb,"keyup",function(tb){return gj.call(y,tb)});ag(pb,"keydown",lg(y,fk));ag(pb,"keypress",lg(y,uk));ag(pb,"focus",function(tb){return zf(y,tb)});ag(pb,"blur",function(tb){return Bj(y,tb)})}function Qg(y,U,xa,ta){var Fa=y.doc,ab;null==xa&&(xa="add");"smart"==xa&&(Fa.mode.indent? ab=Pa(y,U).state:xa="prev");var pb=y.options.tabSize,tb=Ea(Fa,U),ac=k(tb.text,null,pb);tb.stateAfter&&(tb.stateAfter=null);var Ac=tb.text.match(/^\s*/)[0];if(!ta&&!/\S/.test(tb.text)){var Cc=0;xa="not"}else if("smart"==xa&&(Cc=Fa.mode.indent(ab,tb.text.slice(Ac.length),tb.text),Cc==Ri||150Fa.first?k(Ea(Fa,U-1).text,null,pb):0:"add"==xa?Cc=ac+y.options.indentUnit:"subtract"==xa?Cc=ac-y.options.indentUnit:"number"==typeof xa&&(Cc=ac+xa);Cc=Math.max(0,Cc); xa="";ta=0;if(y.options.indentWithTabs)for(y=Math.floor(Cc/pb);y;--y)ta+=pb,xa+="\t";tapb,ac=Vk(U),Ac=null;if(tb&&1pb?"cut":"+input")};re(y.doc,Pd);Me(y,"inputRead",y,Pd)}U&&!tb&&Qi(y,U);Kg(y);2>y.curOp.updateInput&&(y.curOp.updateInput=Cc);y.curOp.typing=!0;y.state.pasteIncoming=y.state.cutIncoming=-1}function Ai(y,U){var xa=y.clipboardData&&y.clipboardData.getData("Text");if(xa)return y.preventDefault(),U.isReadOnly()||U.options.disableInput||jg(U,function(){return Hl(U, xa,0,null,"paste")}),!0}function Qi(y,U){if(y.options.electricChars&&y.options.smartIndent)for(var xa=y.doc.sel,ta=xa.ranges.length-1;0<=ta;ta--){var Fa=xa.ranges[ta];if(!(100Eg?2:1))),-xa)}else Eg=Fa?tk(y.cm,ac,U,xa):Hj(ac,U,xa);if(null==Eg){if(yf=!yf)yf=U.line+Ac,yf=y.first+ y.size?yf=!1:(U=new Ca(yf,U.ch,U.sticky),yf=ac=Ea(y,yf));if(yf)U=Vj(Fa,y.cm,ac,U.line,Ac);else return!1}else U=Eg;return!0}var pb=U,tb=xa,ac=Ea(y,U.line),Ac=Fa&&"rtl"==y.direction?-xa:xa;if("char"==ta||"codepoint"==ta)ab();else if("column"==ta)ab(!0);else if("word"==ta||"group"==ta)for(var Cc=null,Hd="group"==ta,Pd=y.cm&&y.cm.getHelper(U,"wordChars"),qd=!0;!(0>xa)||ab(!qd);qd=!1){var Ce=ac.text.charAt(U.ch)||"\n";Ce=R(Ce,Pd)?"w":Hd&&"\n"==Ce?"n":!Hd||/\s/.test(Ce)?null:"p";!Hd||qd||Ce||(Ce="s");if(Cc&& Cc!=Ce){0>xa&&(xa=1,ab(),U.sticky="after");break}Ce&&(Cc=Ce);if(0xa?0>=pb:pb>=Fa.height){U.hitSide=!0;break}pb+= 5*xa}return U}function Tb(y,U){var xa=pg(y,U.line);if(!xa||xa.hidden)return null;var ta=Ea(y.doc,U.line);xa=cf(xa,ta,U.line);y=aa(ta,y.doc.direction);ta="left";y&&(ta=H(y,U.ch)%2?"right":"left");U=db(xa.map,U.ch,ta);U.offset="right"==U.collapse?U.end:U.start;return U}function wb(y){for(;y;y=y.parentNode)if(/CodeMirror-gutter-wrapper/.test(y.className))return!0;return!1}function zb(y,U){U&&(y.bad=!0);return y}function Pb(y,U,xa,ta,Fa){function ab(qd){return function(Ce){return Ce.id==qd}}function pb(){Cc&& (Ac+=Hd,Pd&&(Ac+=Hd),Cc=Pd=!1)}function tb(qd){qd&&(pb(),Ac+=qd)}function ac(qd){if(1==qd.nodeType){var Ce=qd.getAttribute("cm-text");if(Ce)tb(Ce);else{Ce=qd.getAttribute("cm-marker");var yf;if(Ce)qd=y.findMarks(Ca(ta,0),Ca(Fa+1,0),ab(+Ce)),qd.length&&(yf=qd[0].find(0))&&tb(Oa(y.doc,yf.from,yf.to).join(Hd));else if("false"!=qd.getAttribute("contenteditable")&&(yf=/^(pre|div|p|li|table|br)$/i.test(qd.nodeName),/^br$/i.test(qd.nodeName)||0!=qd.textContent.length)){yf&&pb();for(Ce=0;Ceqd?ac.map:Ac[qd],yf=0;yfqd?y.line:y.rest[qd]);qd=Ce[yf]+Pd;if(0>Pd||Eg!=Cc)qd=Ce[yf+(Pd?1:0)];return Ca(Hd,qd)}}}var Fa=y.text.firstChild,ab=!1;if(!U||!r(Fa,U))return zb(Ca(fb(y.line),0),!0);if(U==Fa&&(ab=!0,U=Fa.childNodes[xa], xa=0,!U))return xa=y.rest?x(y.rest):y.line,zb(Ca(fb(xa),xa.text.length),ab);var pb=3==U.nodeType?U:null,tb=U;pb||1!=U.childNodes.length||3!=U.firstChild.nodeType||(pb=U.firstChild,xa&&(xa=pb.nodeValue.length));for(;tb.parentNode!=Fa;)tb=tb.parentNode;var ac=y.measure,Ac=ac.maps;if(U=ta(pb,tb,xa))return zb(U,ab);Fa=tb.nextSibling;for(pb=pb?pb.nodeValue.length-xa:0;Fa;Fa=Fa.nextSibling){if(U=ta(Fa,Fa.firstChild,0))return zb(Ca(U.line,U.ch-pb),ab);pb+=Fa.textContent.length}for(tb=tb.previousSibling;tb;tb= tb.previousSibling){if(U=ta(tb,tb.firstChild,-1))return zb(Ca(U.line,U.ch+xa),ab);xa+=tb.textContent.length}}var $b=navigator.userAgent,Bc=navigator.platform,Pc=/gecko\/\d/i.test($b),Tc=/MSIE \d/.test($b),wd=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec($b),Rd=/Edge\/(\d+)/.exec($b),Gd=Tc||wd||Rd,Cd=Gd&&(Tc?document.documentMode||6:+(Rd||wd)[1]),Id=!Rd&&/WebKit\//.test($b),xe=Id&&/Qt\/\d+\.\d+/.test($b),Tf=!Rd&&/Chrome\//.test($b),se=/Opera\//.test($b),$e=/Apple Computer/.test(navigator.vendor),Pe= /Mac OS X 1\d\D([8-9]|\d\d)\D/.test($b),Re=/PhantomJS/.test($b),ng=!Rd&&/AppleWebKit/.test($b)&&/Mobile\/\w+/.test($b),Rf=/Android/.test($b),Ni=ng||Rf||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test($b),Pf=ng||/Mac/.test(Bc),gg=/\bCrOS\b/.test($b),mh=/win/i.test(Bc),Og=se&&$b.match(/Version\/(\d*\.\d*)/);Og&&=Number(Og[1]);Og&&15<=Og&&(se=!1,Id=!0);var Lg=Pf&&(xe||se&&(null==Og||12.11>Og)),lh=Pc||Gd&&9<=Cd,sg=function(y,U){var xa=y.className;if(U=p(U).exec(xa)){var ta=xa.slice(U.index+U[0].length); y.className=xa.slice(0,U.index)+(ta?U[1]+ta:"")}};var hg=document.createRange?function(y,U,xa,ta){var Fa=document.createRange();Fa.setEnd(ta||y,xa);Fa.setStart(y,U);return Fa}:function(y,U,xa){var ta=document.body.createTextRange();try{ta.moveToElementText(y.parentNode)}catch(Fa){return ta}ta.collapse(!0);ta.moveEnd("character",xa);ta.moveStart("character",U);return ta};var $g=function(y){y.select()};ng?$g=function(y){y.selectionStart=0;y.selectionEnd=y.value.length}:Gd&&($g=function(y){try{y.select()}catch(U){}}); var Mf=function(){this.f=this.id=null;this.time=0;this.handler=G(this.onTimeout,this)};Mf.prototype.onTimeout=function(y){y.id=0;y.time<=+new Date?y.f():setTimeout(y.handler,y.time-+new Date)};Mf.prototype.set=function(y,U){this.f=U;U=+new Date+y;if(!this.id||U=Ce?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(Ce): 1424<=Ce&&1524>=Ce?"R":1536<=Ce&&1785>=Ce?"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111".charAt(Ce-1536):1774<=Ce&&2220>=Ce?"r":8192<=Ce&&8203>=Ce?"w":8204==Ce?"b":"L";qd.call(Pd,Ce)}Hd=0;for(Pd=ac;HdCd)return!1; var y=q("div");return"draggable"in y||"dragDrop"in y}(),Lm,$l,Vk=3!="\n\nb".split(/\n/).length?function(y){for(var U=0,xa=[],ta=y.length;U<=ta;){var Fa=y.indexOf("\n",U);-1==Fa&&(Fa=y.length);var ab=y.slice(U,"\r"==y.charAt(Fa-1)?Fa-1:Fa),pb=ab.indexOf("\r");-1!=pb?(xa.push(ab.slice(0,pb)),U+=pb+1):(xa.push(ab),U=Fa+1)}return xa}:function(y){return y.split(/\r\n?|\n/)},Yf=window.getSelection?function(y){try{return y.selectionStart!=y.selectionEnd}catch(U){return!1}}:function(y){try{var U=y.ownerDocument.selection.createRange()}catch(xa){}return U&& U.parentElement()==y?0!=U.compareEndPoints("StartToEnd",U):!1},Ci=function(){var y=q("div");if("oncopy"in y)return!0;y.setAttribute("oncopy","return;");return"function"==typeof y.oncopy}(),Jf=null,rf={},Zl={},uj={},wh=function(y,U,xa){this.pos=this.start=0;this.string=y;this.tabSize=U||8;this.lineStart=this.lastColumnPos=this.lastColumnValue=0;this.lineOracle=xa};wh.prototype.eol=function(){return this.pos>=this.string.length};wh.prototype.sol=function(){return this.pos==this.lineStart};wh.prototype.peek= function(){return this.string.charAt(this.pos)||void 0};wh.prototype.next=function(){if(this.posU};wh.prototype.eatSpace=function(){for(var y=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos> y};wh.prototype.skipToEnd=function(){this.pos=this.string.length};wh.prototype.skipTo=function(y){y=this.string.indexOf(y,this.pos);if(-1this.maxLookAhead&&(this.maxLookAhead=y);return U};Jd.prototype.baseToken=function(y){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=y;)this.baseTokenPos+=2;var U=this.baseTokens[this.baseTokenPos+1];return{type:U&&U.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-y}};Jd.prototype.nextLine=function(){this.line++;0Cd&&(this.horiz.style.minHeight=this.vert.style.minWidth= "18px")};qi.prototype.update=function(y){var U=y.scrollWidth>y.clientWidth+1,xa=y.scrollHeight>y.clientHeight+1,ta=y.nativeBarWidth;xa?(this.vert.style.display="block",this.vert.style.bottom=U?ta+"px":"0",this.vert.firstChild.style.height=Math.max(0,y.scrollHeight-y.clientHeight+(y.viewHeight-(U?ta:0)))+"px"):(this.vert.style.display="",this.vert.firstChild.style.height="0");U?(this.horiz.style.display="block",this.horiz.style.right=xa?ta+"px":"0",this.horiz.style.left=y.barLeft+"px",this.horiz.firstChild.style.width= Math.max(0,y.scrollWidth-y.clientWidth+(y.viewWidth-y.barLeft-(xa?ta:0)))+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0");!this.checkedZeroWidth&&0=ra(y,ta.to()))return xa}return-1};var Yg=function(y,U){this.anchor=y;this.head=U};Yg.prototype.from=function(){return Bb(this.anchor,this.head)};Yg.prototype.to=function(){return Sa(this.anchor,this.head)};Yg.prototype.empty=function(){return this.head.line== this.anchor.line&&this.head.ch==this.anchor.ch};rk.prototype={chunkSize:function(){return this.lines.length},removeInner:function(y,U){for(var xa=y,ta=y+U;xathis.size-U&&(1=this.children.length)){var y=this;do{var U=y.children.splice(y.children.length-5,5);U=new Dj(U);if(y.parent){y.size-=U.size;y.height-=U.height;var xa=h(y.parent.children,y);y.parent.children.splice(xa+1,0,U)}else xa=new Dj(y.children),xa.parent=y,y.children=[xa,U],y=xa;U.parent=y.parent}while(10y.display.maxLineLength&&(y.display.maxLine=ab,y.display.maxLineLength=pb,y.display.maxLineChanged=!0);null!=xa&&y&&this.collapsed&&Qf(y,xa,ta+1);this.lines.length=0;this.explicitlyCleared=!0;this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,y&&Li(y.doc));y&&Me(y,"markerCleared",y,this,xa,ta);U&&xg(y);this.parent&& this.parent.clear()}};Ve.prototype.find=function(y,U){null==y&&"bookmark"==this.type&&(y=1);for(var xa,ta,Fa=0;Fara(tb.head,tb.anchor),y[ab]=new Yg(tb?ac:pb,tb?pb:ac)):y[ab]=new Yg(pb,pb)}y=new Ff(y,this.sel.primIndex)}U=y;for(y=ta.length-1;0<=y;y--)re(this,ta[y]);U?dk(this,U):this.cm&&Kg(this.cm)}),undo:Eh(function(){Zi(this,"undo")}),redo:Eh(function(){Zi(this,"redo")}),undoSelection:Eh(function(){Zi(this,"undo",!0)}),redoSelection:Eh(function(){Zi(this,"redo",!0)}),setExtending:function(y){this.extend=y},getExtending:function(){return this.extend}, historySize:function(){for(var y=this.history,U=0,xa=0,ta=0;ta=y.ch)&&U.push(Fa.marker.parent||Fa.marker)}return U},findMarks:function(y,U,xa){y=ib(this,y);U=ib(this,U);var ta=[],Fa=y.line;this.iter(y.line,U.line+1,function(ab){if(ab=ab.markedSpans)for(var pb=0;pb=tb.to||null==tb.from&&Fa!=y.line||null!=tb.from&&Fa==U.line&&tb.from>=U.ch||xa&&!xa(tb.marker)||ta.push(tb.marker.parent||tb.marker)}++Fa});return ta},getAllMarks:function(){var y=[];this.iter(function(U){if(U=U.markedSpans)for(var xa=0;xay)return U=y,!0;y-=Fa;++xa});return ib(this,Ca(xa,U))},indexFromPos:function(y){y= ib(this,y);var U=y.ch;if(y.liney.ch)return 0;var xa=this.lineSeparator().length;this.iter(this.first,y.line,function(ta){U+=ta.text.length+xa});return U},copy:function(y){var U=new Bf(Za(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);U.scrollTop=this.scrollTop;U.scrollLeft=this.scrollLeft;U.sel=this.sel;U.extend=!1;y&&(U.history.undoDepth=this.history.undoDepth,U.setHistory(this.getHistory()));return U},linkedDoc:function(y){y||={};var U= this.first,xa=this.first+this.size;null!=y.from&&y.from>U&&(U=y.from);null!=y.to&&y.toQk;Qk++)ji[Qk+48]=ji[Qk+96]=String(Qk); for(var zl=65;90>=zl;zl++)ji[zl]=String.fromCharCode(zl);for(var el=1;12>=el;el++)ji[el+111]=ji[el+63235]="F"+el;var hl={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"},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"},emacsy:{"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"}, 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"]}};hl["default"]=Pf?hl.macDefault:hl.pcDefault;var Wj={selectAll:ek,singleSelection:function(y){return y.setSelection(y.getCursor("anchor"),y.getCursor("head"),kh)},killLine:function(y){return Gj(y,function(U){if(U.empty()){var xa=Ea(y.doc,U.head.line).text.length; return U.head.ch==xa&&U.head.liney.doc.first){var pb=Ea(y.doc,Fa.line-1).text;pb&&(Fa=new Ca(Fa.line,1),y.replaceRange(ab.charAt(0)+y.doc.lineSeparator()+pb.charAt(pb.length-1),Ca(Fa.line-1,pb.length-1),Fa,"+transpose"))}xa.push(new Yg(Fa,Fa))}y.setSelections(xa)})}, newlineAndIndent:function(y){return jg(y,function(){for(var U=y.listSelections(),xa=U.length-1;0<=xa;xa--)y.replaceRange(y.doc.lineSeparator(),U[xa].anchor,U[xa].head,"+input");U=y.listSelections();for(xa=0;xay&&0==ra(U,this.pos)&&xa==this.button};var Xh,Nm,Ah={toString:function(){return"CodeMirror.Init"}},Fi={},Mm={};nh.defaults=Fi;nh.optionHandlers=Mm;var vm=[];nh.defineInitHook=function(y){return vm.push(y)};var Aj=null,dg=function(y){this.cm=y;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new Mf;this.composing=null;this.gracePeriod=!1;this.readDOMTimeout=null};dg.prototype.init=function(y){function U(tb){for(tb=tb.target;tb;tb= tb.parentNode){if(tb==pb)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(tb.className))break}return!1}function xa(tb){if(U(tb)&&!D(ab,tb)){if(ab.somethingSelected())Aj={lineWise:!1,text:ab.getSelections()},"cut"==tb.type&&ab.replaceSelection("",null,"cut");else if(ab.options.lineWiseCopyCut){var ac=Qb(ab);Aj={lineWise:!0,text:ac.text};"cut"==tb.type&&ab.operation(function(){ab.setSelections(ac.ranges,0,kh);ab.replaceSelection("",null,"cut")})}else return;if(tb.clipboardData){tb.clipboardData.clearData(); var Ac=Aj.text.join("\n");tb.clipboardData.setData("Text",Ac);if(tb.clipboardData.getData("Text")==Ac){tb.preventDefault();return}}var Cc=dc();tb=Cc.firstChild;ab.display.lineSpace.insertBefore(Cc,ab.display.lineSpace.firstChild);tb.value=Aj.text.join("\n");var Hd=document.activeElement;$g(tb);setTimeout(function(){ab.display.lineSpace.removeChild(Cc);Hd.focus();Hd==pb&&Fa.showPrimarySelection()},50)}}var ta=this,Fa=this,ab=Fa.cm,pb=Fa.div=y.lineDiv;fc(pb,ab.options.spellcheck,ab.options.autocorrect, ab.options.autocapitalize);ag(pb,"paste",function(tb){!U(tb)||D(ab,tb)||Ai(tb,ab)||11>=Cd&&setTimeout(lg(ab,function(){return ta.updateFromDOM()}),20)});ag(pb,"compositionstart",function(tb){ta.composing={data:tb.data,done:!1}});ag(pb,"compositionupdate",function(tb){ta.composing||(ta.composing={data:tb.data,done:!1})});ag(pb,"compositionend",function(tb){ta.composing&&(tb.data!=ta.composing.data&&ta.readFromDOMSoon(),ta.composing.done=!0)});ag(pb,"touchstart",function(){return Fa.forceCompositionEnd()}); ag(pb,"input",function(){ta.composing||ta.readFromDOMSoon()});ag(pb,"copy",xa);ag(pb,"cut",xa)};dg.prototype.screenReaderLabelChanged=function(y){y?this.div.setAttribute("aria-label",y):this.div.removeAttribute("aria-label")};dg.prototype.prepareSelection=function(){var y=qg(this.cm,!1);y.focus=document.activeElement==this.div;return y};dg.prototype.showSelection=function(y,U){y&&this.cm.display.view.length&&((y.focus||U)&&this.showPrimarySelection(),this.showMultipleSelections(y))};dg.prototype.getSelection= function(){return this.cm.display.wrapper.ownerDocument.getSelection()};dg.prototype.showPrimarySelection=function(){var y=this.getSelection(),U=this.cm,xa=U.doc.sel.primary(),ta=xa.from();xa=xa.to();if(U.display.viewTo==U.display.viewFrom||ta.line>=U.display.viewTo||xa.line=U.display.viewFrom&& Tb(U,ta)||{node:Fa[0].measure.map[2],offset:0},xa=xa.liney.firstLine()&&(ta=Ca(ta.line-1,Ea(y.doc,ta.line-1).length));Fa.ch==Ea(y.doc,Fa.line).text.length&&Fa.lineU.viewTo-1)return!1;var ab;ta.line==U.viewFrom||0==(ab=xf(y,ta.line))?(xa=fb(U.view[0].line),ab=U.view[0].node):(xa=fb(U.view[ab].line),ab=U.view[ab-1].node.nextSibling);var pb=xf(y,Fa.line);pb==U.view.length-1?(Fa=U.viewTo-1,U=U.lineDiv.lastChild):(Fa=fb(U.view[pb+1].line)-1,U=U.view[pb+1].node.previousSibling);if(!ab)return!1;U=y.doc.splitLines(Pb(y,ab,U,xa,Fa));for(ab=Oa(y.doc,Ca(xa,0),Ca(Fa,Ea(y.doc,Fa).text.length));1ta.ch&&ac.charCodeAt(ac.length-pb-1)==Ac.charCodeAt(Ac.length-pb-1);)tb--, pb++;U[U.length-1]=ac.slice(0,ac.length-pb).replace(/^\u200b+/,"");U[0]=U[0].slice(tb).replace(/\u200b+$/,"");ta=Ca(xa,tb);xa=Ca(Fa,ab.length?x(ab).length-pb:0);if(1Cd&&ab.scrollbars.setScrollTop(ab.scroller.scrollTop=ac),null!=pb.selectionStart)){(!Gd||Gd&&9>Cd)&&U();var qd=0,Ce=function(){ab.selForContextMenu==Fa.doc.sel&&0==pb.selectionStart&&0qd++?ab.detectingSelectAll=setTimeout(Ce,500):(ab.selForContextMenu=null,ab.input.reset())};ab.detectingSelectAll= setTimeout(Ce,200)}}var ta=this,Fa=ta.cm,ab=Fa.display,pb=ta.textarea;ta.contextMenuPending&&ta.contextMenuPending();var tb=Hf(Fa,y),ac=ab.scroller.scrollTop;if(tb&&!se){Fa.options.resetSelectionOnContextMenu&&-1==Fa.doc.sel.contains(tb)&&lg(Fa,rg)(Fa.doc,ej(tb),kh);var Ac=pb.style.cssText,Cc=ta.wrapper.style.cssText;tb=ta.wrapper.offsetParent.getBoundingClientRect();ta.wrapper.style.cssText="position: static";pb.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(y.clientY- tb.top-5)+"px; left: "+(y.clientX-tb.left-5)+"px;\n z-index: 1000; background: "+(Gd?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity\x3d5);";if(Id)var Hd=window.scrollY;ab.input.focus();Id&&window.scrollTo(null,Hd);ab.input.reset();Fa.somethingSelected()||(pb.value=ta.prevInput=" ");ta.contextMenuPending=xa;ab.selForContextMenu=Fa.doc.sel;clearTimeout(ab.detectingSelectAll);Gd&&9<=Cd&&U(); if(lh){K(y);var Pd=function(){M(window,"mouseup",Pd);setTimeout(xa,20)};ag(window,"mouseup",Pd)}else setTimeout(xa,50)}};Ji.prototype.readOnlyChanged=function(y){y||this.reset();this.textarea.disabled="nocursor"==y;this.textarea.readOnly=!!y};Ji.prototype.setUneditable=function(){};Ji.prototype.needsContentAttribute=!1;(function(y){function U(ta,Fa,ab,pb){y.defaults[ta]=Fa;ab&&(xa[ta]=pb?function(tb,ac,Ac){Ac!=Ah&&ab(tb,ac,Ac)}:ab)}var xa=y.optionHandlers;y.defineOption=U;y.Init=Ah;U("value","",function(ta, Fa){return ta.setValue(Fa)},!0);U("mode",null,function(ta,Fa){ta.doc.modeOption=Fa;ck(ta)},!0);U("indentUnit",2,ck,!0);U("indentWithTabs",!1);U("smartIndent",!0);U("tabSize",4,function(ta){fj(ta);jb(ta);Qf(ta)},!0);U("lineSeparator",null,function(ta,Fa){if(ta.doc.lineSep=Fa){var ab=[],pb=ta.doc.first;ta.doc.iter(function(ac){for(var Ac=0;;){var Cc=ac.text.indexOf(Fa,Ac);if(-1==Cc)break;Ac=Cc+Fa.length;ab.push(Ca(pb,Cc))}pb++});for(var tb=ab.length-1;0<=tb;tb--)Lk(ta.doc,Fa,ab[tb],Ca(ab[tb].line,ab[tb].ch+ Fa.length))}});U("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200c\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,function(ta,Fa,ab){ta.state.specialChars=new RegExp(Fa.source+(Fa.test("\t")?"":"|\t"),"g");ab!=Ah&&ta.refresh()});U("specialCharPlaceholder",cd,function(ta){return ta.refresh()},!0);U("electricChars",!0);U("inputStyle",Ni?"contenteditable":"textarea",function(){throw Error("inputStyle can not (yet) be changed in a running editor");},!0);U("spellcheck",!1,function(ta, Fa){return ta.getInputField().spellcheck=Fa},!0);U("autocorrect",!1,function(ta,Fa){return ta.getInputField().autocorrect=Fa},!0);U("autocapitalize",!1,function(ta,Fa){return ta.getInputField().autocapitalize=Fa},!0);U("rtlMoveVisually",!mh);U("wholeLineUpdateBefore",!0);U("theme","default",function(ta){Ig(ta);Fl(ta)},!0);U("keyMap","default",function(ta,Fa,ab){Fa=Ok(Fa);(ab=ab!=Ah&&Ok(ab))&&ab.detach&&ab.detach(ta,Fa);Fa.attach&&Fa.attach(ta,ab||null)});U("extraKeys",null);U("configureMouse",null); U("lineWrapping",!1,oi,!0);U("gutters",[],function(ta,Fa){ta.display.gutterSpecs=bk(Fa,ta.options.lineNumbers);Fl(ta)},!0);U("fixedGutter",!0,function(ta,Fa){ta.display.gutters.style.left=Fa?Ue(ta.display)+"px":"0";ta.refresh()},!0);U("coverGutterNextToScrollbar",!1,function(ta){return Xk(ta)},!0);U("scrollbarStyle","native",function(ta){Zj(ta);Xk(ta);ta.display.scrollbars.setScrollTop(ta.doc.scrollTop);ta.display.scrollbars.setScrollLeft(ta.doc.scrollLeft)},!0);U("lineNumbers",!1,function(ta,Fa){ta.display.gutterSpecs= bk(ta.options.gutters,Fa);Fl(ta)},!0);U("firstLineNumber",1,Fl,!0);U("lineNumberFormatter",function(ta){return ta},Fl,!0);U("showCursorWhenSelecting",!1,Zh,!0);U("resetSelectionOnContextMenu",!0);U("lineWiseCopyCut",!0);U("pasteLinesPerSelection",!0);U("selectionsMayTouch",!1);U("readOnly",!1,function(ta,Fa){"nocursor"==Fa&&(Bj(ta),ta.display.input.blur());ta.display.input.readOnlyChanged(Fa)});U("screenReaderLabel",null,function(ta,Fa){ta.display.input.screenReaderLabelChanged(""===Fa?null:Fa)}); U("disableInput",!1,function(ta,Fa){Fa||ta.display.input.reset()},!0);U("dragDrop",!0,jj);U("allowDropFileTypes",null);U("cursorBlinkRate",530);U("cursorScrollMargin",0);U("cursorHeight",1,Zh,!0);U("singleCursorHeightPerLine",!0,Zh,!0);U("workTime",100);U("workDelay",100);U("flattenSpans",!0,fj,!0);U("addModeClass",!1,fj,!0);U("pollInterval",100);U("undoDepth",200,function(ta,Fa){return ta.doc.history.undoDepth=Fa});U("historyEventDelay",1250);U("viewportMargin",10,function(ta){return ta.refresh()}, !0);U("maxHighlightLength",1E4,fj,!0);U("moveInputWithCursor",!0,function(ta,Fa){Fa||ta.display.input.resetPosition()});U("tabindex",null,function(ta,Fa){return ta.display.input.getField().tabIndex=Fa||""});U("autofocus",null);U("direction","ltr",function(ta,Fa){return ta.doc.setDirection(Fa)},!0);U("phrases",null)})(nh);(function(y){var U=y.optionHandlers,xa=y.helpers={};y.prototype={constructor:y,focus:function(){window.focus();this.display.input.focus()},setOption:function(ta,Fa){var ab=this.options, pb=ab[ta];if(ab[ta]!=Fa||"mode"==ta)ab[ta]=Fa,U.hasOwnProperty(ta)&&lg(this,U[ta])(this,Fa,pb),Q(this,"optionChange",this,ta)},getOption:function(ta){return this.options[ta]},getDoc:function(){return this.doc},addKeyMap:function(ta,Fa){this.state.keyMaps[Fa?"push":"unshift"](Ok(ta))},removeKeyMap:function(ta){for(var Fa=this.state.keyMaps,ab=0;abab&&(Qg(this,tb.head.line,ta,!0),ab=tb.head.line,pb==this.doc.sel.primIndex&&Kg(this));else{var ac=tb.from();tb=tb.to();var Ac=Math.max(ab,ac.line);ab=Math.min(this.lastLine(),tb.line-(tb.ch?0:1))+1;for(tb=Ac;tb>1;if((tb?Fa[2*tb-1]:0)>=ta)pb=tb;else if(Fa[2*tb+1]ab?Fa:0==ab?null:Fa.slice(0,ab-1)},getModeAt:function(ta){var Fa= this.doc.mode;return Fa.innerMode?y.innerMode(Fa,this.getTokenAt(ta).state).mode:Fa},getHelper:function(ta,Fa){return this.getHelpers(ta,Fa)[0]},getHelpers:function(ta,Fa){var ab=[];if(!xa.hasOwnProperty(Fa))return ab;var pb=xa[Fa];ta=this.getModeAt(ta);if("string"==typeof ta[Fa])pb[ta[Fa]]&&ab.push(pb[ta[Fa]]);else if(ta[Fa])for(var tb=0;tbtb&&(ta=tb,pb=!0);ta=Ea(this.doc,ta)}return Xd(this,ta,{top:0,left:0},Fa||"page",ab||pb).top+(pb?this.doc.height-qb(ta):0)},defaultTextHeight:function(){return Sc(this.display)}, defaultCharWidth:function(){return kd(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(ta,Fa,ab,pb,tb){var ac=this.display;ta=ff(this,ib(this.doc,ta));var Ac=ta.bottom,Cc=ta.left;Fa.style.position="absolute";Fa.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(Fa);ac.sizer.appendChild(Fa);if("over"==pb)Ac=ta.top;else if("above"==pb||"near"==pb){var Hd=Math.max(ac.wrapper.clientHeight,this.doc.height),Pd=Math.max(ac.sizer.clientWidth, ac.lineSpace.clientWidth);("above"==pb||ta.bottom+Fa.offsetHeight>Hd)&&ta.top>Fa.offsetHeight?Ac=ta.top-Fa.offsetHeight:ta.bottom+Fa.offsetHeight<=Hd&&(Ac=ta.bottom);Cc+Fa.offsetWidth>Pd&&(Cc=Pd-Fa.offsetWidth)}Fa.style.top=Ac+"px";Fa.style.left=Fa.style.right="";"right"==tb?(Cc=ac.sizer.clientWidth-Fa.offsetWidth,Fa.style.right="0px"):("left"==tb?Cc=0:"middle"==tb&&(Cc=(ac.sizer.clientWidth-Fa.offsetWidth)/2),Fa.style.left=Cc+"px");ab&&(ta=wk(this,{left:Cc,top:Ac,right:Cc+Fa.offsetWidth,bottom:Ac+ Fa.offsetHeight}),null!=ta.scrollTop&&lk(this,ta.scrollTop),null!=ta.scrollLeft&&Pj(this,ta.scrollLeft))},triggerOnKeyDown:dj(fk),triggerOnKeyPress:dj(uk),triggerOnKeyUp:gj,triggerOnMouseDown:dj(ph),execCommand:function(ta){if(Wj.hasOwnProperty(ta))return Wj[ta].call(null,this)},triggerElectric:dj(function(ta){Qi(this,ta)}),findPosH:function(ta,Fa,ab,pb){var tb=1;0>Fa&&(tb=-1,Fa=-Fa);ta=ib(this.doc,ta);for(var ac=0;acta?pb.from():pb.to()},Nj)}),deleteH:dj(function(ta,Fa){var ab=this.doc;this.doc.sel.somethingSelected()?ab.replaceSelection("",null,"+delete"):Gj(this,function(pb){var tb=ja(ab,pb.head,ta,Fa,!1);return 0>ta?{from:tb,to:pb.head}:{from:pb.head,to:tb}})}),findPosV:function(ta,Fa,ab,pb){var tb=1;0>Fa&&(tb=-1,Fa=-Fa);var ac=ib(this.doc,ta);for(ta= 0;tata?Cc.from():Cc.to();var Hd=ff(ab,Cc.head,"div");null!=Cc.goalColumn&&(Hd.left=Cc.goalColumn);tb.push(Hd.left);var Pd=Fb(ab,Hd,ta,Fa);"page"==Fa&&Cc==pb.sel.primary()&&xk(ab,qe(ab,Pd,"div").top-Hd.top);return Pd},Nj);if(tb.length)for(var Ac= 0;Ach(wm,Cm)&&(nh.prototype[Cm]=function(y){return function(){return y.apply(this.doc,arguments)}}(Bf.prototype[Cm]));ba(Bf);nh.inputStyles={textarea:Ji, contenteditable:dg};nh.defineMode=function(y){nh.defaults.mode||"null"==y||(nh.defaults.mode=y);ea.apply(this,arguments)};nh.defineMIME=function(y,U){Zl[y]=U};nh.defineMode("null",function(){return{token:function(y){return y.skipToEnd()}}});nh.defineMIME("text/plain","null");nh.defineExtension=function(y,U){nh.prototype[y]=U};nh.defineDocExtension=function(y,U){Bf.prototype[y]=U};nh.fromTextArea=function(y,U){function xa(){y.value=tb.getValue()}U=U?v(U):{};U.value=y.value;!U.tabindex&&y.tabIndex&& (U.tabindex=y.tabIndex);!U.placeholder&&y.placeholder&&(U.placeholder=y.placeholder);if(null==U.autofocus){var ta=B();U.autofocus=ta==y||null!=y.getAttribute("autofocus")&&ta==document.body}if(y.form&&(ag(y.form,"submit",xa),!U.leaveSubmitMethodAlone)){var Fa=y.form;var ab=Fa.submit;try{var pb=Fa.submit=function(){xa();Fa.submit=ab;Fa.submit();Fa.submit=pb}}catch(ac){}}U.finishInit=function(ac){ac.save=xa;ac.getTextArea=function(){return y};ac.toTextArea=function(){ac.toTextArea=isNaN;xa();y.parentNode.removeChild(ac.getWrapperElement()); y.style.display="";y.form&&(M(y.form,"submit",xa),U.leaveSubmitMethodAlone||"function"!=typeof y.form.submit||(y.form.submit=ab))}};y.style.display="none";var tb=nh(function(ac){return y.parentNode.insertBefore(ac,y.nextSibling)},U);return tb};(function(y){y.off=M;y.on=ag;y.wheelEventPixels=fi;y.Doc=Bf;y.splitLines=Vk;y.countColumn=k;y.findColumn=f;y.isWordChar=n;y.Pass=Ri;y.signal=Q;y.Line=Gf;y.changeEnd=Nh;y.scrollbarModel=xi;y.Pos=Ca;y.cmpPos=ra;y.modes=rf;y.mimeModes=Zl;y.resolveMode=ca;y.getMode= pa;y.modeExtensions=uj;y.extendMode=za;y.copyState=ya;y.startState=Ua;y.innerMode=Ha;y.commands=Wj;y.keyMap=hl;y.keyName=Vi;y.isModifierKey=Fj;y.lookupKey=Mk;y.normalizeKeyMap=Qm;y.StringStream=wh;y.SharedTextMarker=Ml;y.TextMarker=Ve;y.LineWidget=Ul;y.e_preventDefault=X;y.e_stopPropagation=F;y.e_stop=K;y.addClass=C;y.contains=r;y.rmClass=sg;y.keyNames=ji})(nh);nh.version="5.58.1";return nh})}; shadow$provide[454]=function(wa,V,Ta,E){(function(p){"object"==typeof E&&"object"==typeof Ta?p(V(453)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){function S(k,h){return"pairs"==h&&"string"==typeof k?k:"object"==typeof k&&null!=k[h]?k[h]:a[h]}function A(k){for(var h=0;hH;H++)k.execCommand("goCharRight");else if("surround"==n){var aa=k.getSelections();for(H=0;Hf))for(J==G.line&&(u=G.ch-(0>v?1:0));u!=t;u+=v){var n=z.charAt(u);if(h.test(n)&&(void 0===k||a.getTokenTypeAt(B(J,u+1))==k)){var R=C[n];if(R&&"\x3e"==R.charAt(1)==0document.documentMode),B=p.Pos,C={"(":")\x3e",")":"(\x3c","[":"]\x3e","]":"[\x3c","{":"}\x3e","}":"{\x3c","\x3c":"\x3e\x3e","\x3e":"\x3c\x3c"};p.defineOption("matchBrackets",!1,function(a,G,v){function k(h){h.state.matchBrackets&&h.state.matchBrackets.currentlyHighlighted&& (h.state.matchBrackets.currentlyHighlighted(),h.state.matchBrackets.currentlyHighlighted=null)}v&&v!=p.Init&&(a.off("cursorActivity",d),a.off("focus",d),a.off("blur",k),k(a));G&&(a.state.matchBrackets="object"==typeof G?G:{},a.on("cursorActivity",d),a.on("focus",d),a.on("blur",k))});p.defineExtension("matchBrackets",function(){q(this,!0)});p.defineExtension("findMatchingBracket",function(a,G,v){if(v||"boolean"==typeof G)v?(v.strict=G,G=v):G=G?{strict:!0}:null;return S(this,a,G)});p.defineExtension("scanForBracket", function(a,G,v,k){return A(this,a,G,v,k)})})}; shadow$provide[456]=function(wa,V,Ta,E){(function(p){"object"==typeof E&&"object"==typeof Ta?p(V(453)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){function S(r){for(var B=0;B≥≠≡≢∈⍷∪∩∼∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢]/,B=/←/,C=/[⍝#].*$/,a=function(G){var v=!1;return function(k){v=k;return k===G?"\\"===v:!0}};return{startState:function(){return{prev:!1,func:!1,op:!1,string:!1,escape:!1}},token:function(G,v){if(G.eatSpace())return null;var k=G.next();if('"'===k||"'"===k)return G.eatWhile(a(k)),G.next(),v.prev=!0,"string";if(/[\[{\(]/.test(k))return v.prev= !1,null;if(/[\]}\)]/.test(k))return v.prev=!0,null;if(d.test(k))return v.prev=!1,"niladic";if(/[¯\d]/.test(k))return v.func?(v.func=!1,v.prev=!1):v.prev=!0,G.eatWhile(/[\w\.]/),"number";if(q.test(k))return"operator apl-"+S[k];if(B.test(k))return"apl-arrow";if(r.test(k))return G="apl-",null!=A[k]&&(G=v.prev?G+A[k][1]:G+A[k][0]),v.func=!0,v.prev=!1,"function "+G;if(C.test(k))return G.skipToEnd(),"comment";if("∘"===k&&"."===G.peek())return G.next(),"function jot-dot";G.eatWhile(/[\w\$_]/);v.prev=!0; return"keyword"}}});p.defineMIME("text/apl","apl")})}; shadow$provide[458]=function(wa,V,Ta,E){(function(p){"object"==typeof E&&"object"==typeof Ta?p(V(453)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){function S(A){var q=A.match(/^\s*\S/);A.skipToEnd();return q?"error":null}p.defineMode("asciiarmor",function(){return{token:function(A,q){var d;if("top"==q.state)return A.sol()&&(d=A.match(/^-----BEGIN (.*)?-----\s*$/))?(q.state="headers",q.type=d[1],"tag"):S(A);if("headers"==q.state){if(A.sol()&& A.match(/^\w+:/))return q.state="header","atom";if(A=S(A))q.state="body";return A}if("header"==q.state)return A.skipToEnd(),q.state="headers","string";if("body"==q.state){if(A.sol()&&(d=A.match(/^-----END (.*)?-----\s*$/))){if(d[1]!=q.type)return"error";q.state="end";return"tag"}if(A.eatWhile(/[A-Za-z0-9+\/=]/))return null;A.next();return"error"}if("end"==q.state)return S(A)},blankLine:function(A){"headers"==A.state&&(A.state="body")},startState:function(){return{state:"top",type:null}}}});p.defineMIME("application/pgp", "asciiarmor");p.defineMIME("application/pgp-encrypted","asciiarmor");p.defineMIME("application/pgp-keys","asciiarmor");p.defineMIME("application/pgp-signature","asciiarmor")})}; shadow$provide[459]=function(wa,V,Ta,E){(function(p){"object"==typeof E&&"object"==typeof Ta?p(V(453)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){function S(A){var q={};A=A.split(" ");for(var d=0;d?$/.test(C))return B.extenExten=!0,B.extenStart=!1,"strong";B.extenStart=!1;r.skipToEnd();return"error"}if(B.extenExten)return B.extenExten=!1,B.extenPriority=!0,r.eatWhile(/[^,]/),B.extenInclude&&(r.skipToEnd(),B.extenPriority=!1,B.extenInclude= !1),B.extenSame&&(B.extenPriority=!1,B.extenSame=!1,B.extenApplication=!0),"tag";if(B.extenPriority){B.extenPriority=!1;B.extenApplication=!0;r.next();if(B.extenSame)return null;r.eatWhile(/[^,]/);return"number"}if(B.extenApplication){r.eatWhile(/,/);C=r.current();if(","===C)return null;r.eatWhile(/\w/);C=r.current().toLowerCase();B.extenApplication=!1;if(-1!==d.indexOf(C))return"def strong"}else return S(r,B);return null},blockCommentStart:";--",blockCommentEnd:"--;",lineComment:";"}});p.defineMIME("text/x-asterisk", "asterisk")})}; shadow$provide[461]=function(wa,V,Ta,E){(function(p){"object"==typeof E&&"object"==typeof Ta?p(V(453)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){var S="\x3e\x3c+-.,[]".split("");p.defineMode("brainfuck",function(){return{startState:function(){return{commentLine:!1,left:0,right:0,commentLoop:!1}},token:function(A,q){if(A.eatSpace())return null;A.sol()&&(q.commentLine=!1);var d=A.next().toString();if(-1!==S.indexOf(d)){if(!0===q.commentLine)return A.eol()&& (q.commentLine=!1),"comment";if("]"===d||"["===d)return"["===d?q.left++:q.right++,"bracket";if("+"===d||"-"===d)return"keyword";if("\x3c"===d||"\x3e"===d)return"atom";if("."===d||","===d)return"def"}else return q.commentLine=!0,A.eol()&&(q.commentLine=!1),"comment";A.eol()&&(q.commentLine=!1)}}});p.defineMIME("text/x-brainfuck","brainfuck")})}; shadow$provide[462]=function(wa,V,Ta,E){(function(p){"object"==typeof E&&"object"==typeof Ta?p(V(453)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){function S(fa,H,aa,M,Q,D){this.indented=fa;this.column=H;this.type=aa;this.info=M;this.align=Q;this.prev=D}function A(fa,H,aa,M){var Q=fa.indented;fa.context&&"statement"==fa.context.type&&"statement"!=aa&&(Q=fa.context.indented);return fa.context=new S(Q,H,aa,M,null,fa.context)}function q(fa){var H= fa.context.type;if(")"==H||"]"==H||"}"==H)fa.indented=fa.context.indented;return fa.context=fa.context.prev}function d(fa,H,aa){if("variable"==H.prevToken||"type"==H.prevToken||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(fa.string.slice(0,aa))||H.typeAtEndOfLine&&fa.column()==fa.indentation())return!0}function r(fa){for(;;){if(!fa||"top"==fa.type)return!0;if("}"==fa.type&&"namespace"!=fa.prev.info)return!1;fa=fa.prev}}function B(fa){var H={};fa=fa.split(" ");for(var aa=0;aafa.length||"_"!=fa[0]?!1:"_"==fa[1]||fa[1]!==fa[1].toLowerCase()} function f(fa){fa.eatWhile(/[\w\.']/);return"number"}function w(fa,H){fa.backUp(1);if(fa.match(/(R|u8R|uR|UR|LR)/)){var aa=fa.match(/"([^\s\\()]{0,16})\(/);if(!aa)return!1;H.cpp11RawStringDelim=aa[1];H.tokenize=z;return z(fa,H)}if(fa.match(/(u8|u|U|L)/))return fa.match(/["']/,!1)?"string":!1;fa.next();return!1}function x(fa){return(fa=/(\w+)::~?(\w+)$/.exec(fa))&&fa[1]==fa[2]}function J(fa,H){for(var aa;null!=(aa=fa.next());)if('"'==aa&&!fa.eat('"')){H.tokenize=null;break}return"string"}function z(fa, H){var aa=H.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$\x26");fa.match(new RegExp(".*?\\)"+aa+'"'))?H.tokenize=null:fa.skipToEnd();return"string"}function u(fa,H){function aa(D){if(D)for(var O in D)D.hasOwnProperty(O)&&M.push(O)}"string"==typeof fa&&(fa=[fa]);var M=[];aa(H.keywords);aa(H.types);aa(H.builtin);aa(H.atoms);M.length&&(H.helperType=fa[0],p.registerHelper("hintWords",fa[0],M));for(var Q=0;Q!?|\/]/,Za=H.isIdentifierChar||/[\w\$_\xa1-\uffff]/,Ma=H.isReservedIdentifier||!1,fb,eb;return{startState:function(Na){return{tokenize:null,context:new S((Na||0)-O, 0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(Na,oa){var Ca=oa.context;Na.sol()&&(null==Ca.align&&(Ca.align=!1),oa.indented=Na.indentation(),oa.startOfLine=!0);if(Na.eatSpace())return D(Na,oa),null;fb=eb=null;var ra=(oa.tokenize||aa)(Na,oa);if("comment"==ra||"meta"==ra)return ra;null==Ca.align&&(Ca.align=!0);if(";"==fb||":"==fb||","==fb&&Na.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==oa.context.type;)q(oa);else if("{"==fb)A(oa,Na.column(),"}");else if("["==fb)A(oa, Na.column(),"]");else if("("==fb)A(oa,Na.column(),")");else if("}"==fb){for(;"statement"==Ca.type;)Ca=q(oa);for("}"==Ca.type&&(Ca=q(oa));"statement"==Ca.type;)Ca=q(oa)}else fb==Ca.type?q(oa):za&&(("}"==Ca.type||"top"==Ca.type)&&";"!=fb||"statement"==Ca.type&&"newstatement"==fb)&&A(oa,Na.column(),"statement",Na.current());"variable"==ra&&("def"==oa.prevToken||H.typeFirstDefinitions&&d(Na,oa,Na.start)&&r(oa.context)&&Na.match(/^\s*\(/,!1))&&(ra="def");ca.token&&(Ca=ca.token(Na,oa,ra),void 0!==Ca&&(ra= Ca));"def"==ra&&!1===H.styleDefs&&(ra="variable");oa.startOfLine=!1;oa.prevToken=eb?"def":ra||fb;D(Na,oa);return ra},indent:function(Na,oa){if(Na.tokenize!=aa&&null!=Na.tokenize||Na.typeAtEndOfLine)return p.Pass;var Ca=Na.context,ra=oa&&oa.charAt(0),Aa=ra==Ca.type;"statement"==Ca.type&&"}"==ra&&(Ca=Ca.prev);if(H.dontIndentStatements)for(;"statement"==Ca.type&&H.dontIndentStatements.test(Ca.info);)Ca=Ca.prev;if(ca.indent&&(Na=ca.indent(Na,Ca,oa,O),"number"==typeof Na))return Na;Na=Ca.prev&&"switch"== Ca.prev.info;if(H.allmanIndentation&&/[{(]/.test(ra)){for(;"top"!=Ca.type&&"}"!=Ca.type;)Ca=Ca.prev;return Ca.indented}return"statement"==Ca.type?Ca.indented+("{"==ra?0:P):!Ca.align||ba&&")"==Ca.type?")"!=Ca.type||Aa?Ca.indented+(Aa?0:O)+(Aa||!Na||/^(?:case|default)\b/.test(oa)?0:O):Ca.indented+P:Ca.column+(Aa?0:1)},electricInput:!1!==H.indentSwitch?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}}); var L=B("int long char short double float unsigned signed void bool"),ma=B("SEL instancetype id Class Protocol BOOL");u(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:B("auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran"),types:a,blockKeywords:B("case do else for if switch while struct enum union"),defKeywords:B("struct enum union"),typeFirstDefinitions:!0,atoms:B("NULL true false"), isReservedIdentifier:h,hooks:{"#":v,"*":k},modeProps:{fold:["brace","include"]}});u(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:B("auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq"), types:a,blockKeywords:B("case do else for if switch while struct enum union class try catch"),defKeywords:B("struct enum union class namespace"),typeFirstDefinitions:!0,atoms:B("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:h,hooks:{"#":v,"*":k,u:w,U:w,L:w,R:w,0:f,1:f,2:f,3:f,4:f,5:f,6:f,7:f,8:f,9:f,token:function(fa,H,aa){if("variable"==aa&&"("==fa.peek()&&(";"==H.prevToken||null==H.prevToken||"}"==H.prevToken)&&x(fa.current()))return"def"}}, namespaceSeparator:"::",modeProps:{fold:["brace","include"]}});u("text/x-java",{name:"clike",keywords:B("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:B("byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"), blockKeywords:B("catch class do else finally for if switch try while"),defKeywords:B("class interface enum @interface"),typeFirstDefinitions:!0,atoms:B("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(fa){if(fa.match("interface",!1))return!1;fa.eatWhile(/[\w\$_]/);return"meta"}},modeProps:{fold:["brace","import"]}});u("text/x-csharp",{name:"clike",keywords:B("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"), types:B("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:B("catch class do else finally for foreach if struct switch try while"),defKeywords:B("class interface namespace struct var"),typeFirstDefinitions:!0,atoms:B("true false null"),hooks:{"@":function(fa,H){if(fa.eat('"'))return H.tokenize= J,J(fa,H);fa.eatWhile(/[\w\$_]/);return"meta"}}});u("text/x-scala",{name:"clike",keywords:B("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:B("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"), multiLineStrings:!0,blockKeywords:B("catch class enum do else finally for forSome if match switch try while"),defKeywords:B("class enum def object package trait type val var"),atoms:B("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(fa){fa.eatWhile(/[\w\$_]/);return"meta"},'"':function(fa,H){if(!fa.match('""'))return!1;H.tokenize=t;return H.tokenize(fa,H)},"'":function(fa){fa.eatWhile(/[\w\$_\xa1-\uffff]/);return"atom"},"\x3d":function(fa, H){var aa=H.context;return"}"==aa.type&&aa.align&&fa.eat("\x3e")?(H.context=new S(aa.indented,aa.column,aa.type,aa.info,null,aa.prev),"operator"):!1},"/":function(fa,H){if(!fa.eat("*"))return!1;H.tokenize=n(1);return H.tokenize(fa,H)}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});u("text/x-kotlin",{name:"clike",keywords:B("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"), types:B("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1, indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:B("catch class do else finally for if where try while enum"),defKeywords:B("class val var object interface fun"),atoms:B("true false null this"),hooks:{"@":function(fa){fa.eatWhile(/[\w\$_]/);return"meta"},"*":function(fa,H){return"."==H.prevToken?"variable":"operator"},'"':function(fa,H){H.tokenize=R(fa.match('""'));return H.tokenize(fa,H)},"/":function(fa, H){if(!fa.eat("*"))return!1;H.tokenize=n(1);return H.tokenize(fa,H)},indent:function(fa,H,aa,M){var Q=aa&&aa.charAt(0);if(("}"==fa.prevToken||")"==fa.prevToken)&&""==aa)return fa.indented;if("operator"==fa.prevToken&&"}"!=aa&&"}"!=fa.context.type||"variable"==fa.prevToken&&"."==Q||("}"==fa.prevToken||")"==fa.prevToken)&&"."==Q)return 2*M+H.indented;if(H.align&&"}"==H.type)return H.indented+(fa.context.type==(aa||"").charAt(0)?0:M)}},modeProps:{closeBrackets:{triples:'"'}}});u(["x-shader/x-vertex", "x-shader/x-fragment"],{name:"clike",keywords:B("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:B("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:B("for while do if else struct"),builtin:B("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"), atoms:B("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"), indentSwitch:!1,hooks:{"#":v},modeProps:{fold:["brace","include"]}});u("text/x-nesc",{name:"clike",keywords:B("auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:a,blockKeywords:B("case do else for if switch while struct enum union"), atoms:B("null true false"),hooks:{"#":v},modeProps:{fold:["brace","include"]}});u("text/x-objectivec",{name:"clike",keywords:B("auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available"), types:G,builtin:B("FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT"),blockKeywords:B("case do else for if switch while struct enum union @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:B("struct enum union @interface @implementation @protocol @class"), dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:B("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:h,hooks:{"#":v,"*":k},modeProps:{fold:["brace","include"]}});u("text/x-objectivec++",{name:"clike",keywords:B("auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq"), types:G,builtin:B("FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT"),blockKeywords:B("case do else for if switch while struct enum union @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:B("struct enum union @interface @implementation @protocol @class class namespace"), dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:B("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:h,hooks:{"#":v,"*":k,u:w,U:w,L:w,R:w,0:f,1:f,2:f,3:f,4:f,5:f,6:f,7:f,8:f,9:f,token:function(fa,H,aa){if("variable"==aa&&"("==fa.peek()&&(";"==H.prevToken||null==H.prevToken||"}"==H.prevToken)&&x(fa.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}});u("text/x-squirrel",{name:"clike",keywords:B("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"), types:a,blockKeywords:B("case catch class else for foreach if switch try while"),defKeywords:B("function local class"),typeFirstDefinitions:!0,atoms:B("true false null"),hooks:{"#":v},modeProps:{fold:["brace","include"]}});var Y=null;u("text/x-ceylon",{name:"clike",keywords:B("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"), types:function(fa){fa=fa.charAt(0);return fa===fa.toUpperCase()&&fa!==fa.toLowerCase()},blockKeywords:B("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:B("class dynamic function interface module object package value"),builtin:B("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;:\.`]/, isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:B("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(fa){fa.eatWhile(/[\w\$_]/);return"meta"},'"':function(fa,H){H.tokenize=ka(fa.match('""')?"triple":"single");return H.tokenize(fa,H)},"`":function(fa,H){if(!Y||!fa.match("`"))return!1; H.tokenize=Y;Y=null;return H.tokenize(fa,H)},"'":function(fa){fa.eatWhile(/[\w\$_\xa1-\uffff]/);return"atom"},token:function(fa,H,aa){if(("variable"==aa||"type"==aa)&&"."==H.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})}; shadow$provide[463]=function(wa,V,Ta,E){(function(p){"object"===typeof E&&"object"===typeof Ta?p(V(453)):"function"===typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){p.defineMode("clojure",function(S){function A(u,t){if(u.eatSpace()||u.eat(","))return["space",null];if(u.match(x))return[null,"number"];if(u.match(J))return[null,"string-2"];if(u.eat(/^"/))return(t.tokenize=q)(u,t);if(u.eat(/^[(\[{]/))return["open","bracket"];if(u.eat(/^[)\]}]/))return["close", "bracket"];if(u.eat(/^;/))return u.skipToEnd(),["space","comment"];if(u.eat(/^[#'@^`~]/))return[null,"meta"];var n=u.match(z);n=n&&n[0];return n?"comment"===n&&"("===t.lastToken?(t.tokenize=d)(u,t):B(n,v)||":"===n.charAt(0)?["symbol","atom"]:B(n,k)||B(n,h)?["symbol","keyword"]:"("===t.lastToken?["symbol","builtin"]:["symbol","variable"]:(u.next(),u.eatWhile(function(R){return!B(R,w)}),[null,"error"])}function q(u,t){for(var n=!1,R;R=u.next();){if('"'===R&&!n){t.tokenize=A;break}n=!n&&"\\"===R}return[null, "string"]}function d(u,t){for(var n=1,R;R=u.next();)if(")"===R&&n--,"("===R&&n++,0===n){u.backUp(1);t.tokenize=A;break}return["space","comment"]}function r(u){for(var t={},n=0;n=f)k="def";else if(72<=f&&79>=f)k.skipToEnd(),k="header";else if("*"== w&&6==f)k.skipToEnd(),k="comment";else if('"'==w||"'"==w)k=h.mode="string";else if("'"!=w||B.test(k.peek()))if("."==w)k="link";else if(h=w,"0"===h&&k.eat(/x/i)?(k.eatWhile(C),h=!0):("+"!=h&&"-"!=h||!r.test(k.peek())||(k.eat(a),h=k.next()),r.test(h)?(k.eat(h),k.eatWhile(r),"."==k.peek()&&(k.eat("."),k.eatWhile(r)),k.eat(G)&&(k.eat(a),k.eatWhile(r)),h=!0):h=!1),h)k="number";else{if(k.current().match(v))for(;71>f&&void 0!==k.eat(v);)f++;k=q&&q.propertyIsEnumerable(k.current().toUpperCase())?"keyword": d&&d.propertyIsEnumerable(k.current().toUpperCase())?"builtin":A&&A.propertyIsEnumerable(k.current().toUpperCase())?"atom":null}else k="atom"}return k},indent:function(k){return null==k.indentStack?k.indentation:k.indentStack.indent}}});p.defineMIME("text/x-cobol","cobol")})}; shadow$provide[466]=function(wa,V,Ta,E){(function(p){"object"==typeof E&&"object"==typeof Ta?p(V(453)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){p.defineMode("coffeescript",function(S,A){function q(t){return new RegExp("^(("+t.join(")|(")+"))\\b")}function d(t,n){if(t.sol()){null===n.scope.align&&(n.scope.align=!1);var R=n.scope.offset;if(t.eatSpace())return t=t.indentation(),t>R&&"coffee"==n.scope.type?"indent":t|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|~|!|\?|(or|and|\|\||&&|\?)=)/,v=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,k=/^[_A-Za-z$][_A-Za-z$0-9]*/,h=/^@[_A-Za-z$][_A-Za-z$0-9]*/, f=q("and or not is isnt in instanceof typeof".split(" ")),w="for while loop if unless else switch try catch finally class".split(" "),x=q(w.concat("break by continue debugger delete do in of new return then this @ throw when until extends".split(" ")));w=q(w);var J=/^('{3}|"{3}|['"])/,z=/^(\/{3}|\/)/,u=q("Infinity NaN undefined null true false on off yes no".split(" "));return{startState:function(t){return{tokenize:d,scope:{offset:t||0,type:"coffee",prev:null,align:!1},prop:!1,dedent:0}},token:function(t, n){var R=null===n.scope.align&&n.scope;R&&t.sol()&&(R.align=!1);var ka=n.tokenize(t,n);var L=t.current();"return"===L&&(n.dedent=!0);(("-\x3e"===L||"\x3d\x3e"===L)&&t.eol()||"indent"===ka)&&C(t,n);var ma="[({".indexOf(L);-1!==ma&&C(t,n,"])}".slice(ma,ma+1));w.exec(L)&&C(t,n);"then"==L&&a(t,n);if("dedent"===ka&&a(t,n))ka="error";else{ma="])}".indexOf(L);if(-1!==ma){for(;"coffee"==n.scope.type&&n.scope.prev;)n.scope=n.scope.prev;n.scope.type==L&&(n.scope=n.scope.prev)}n.dedent&&t.eol()&&("coffee"== n.scope.type&&n.scope.prev&&(n.scope=n.scope.prev),n.dedent=!1)}ka&&"comment"!=ka&&(R&&(R.align=!0),n.prop="punctuation"==ka&&"."==t.current());return ka},indent:function(t,n){if(t.tokenize!=d)return 0;t=t.scope;var R=n&&-1<"])}".indexOf(n.charAt(0));if(R)for(;"coffee"==t.type&&t.prev;)t=t.prev;n=R&&t.type===n.charAt(0);return t.align?t.alignOffset-(n?1:0):(n?t.prev:t).offset},lineComment:"#",fold:"indent"}});p.defineMIME("application/vnd.coffeescript","coffeescript");p.defineMIME("text/x-coffeescript", "coffeescript");p.defineMIME("text/coffeescript","coffeescript")})}; shadow$provide[467]=function(wa,V,Ta,E){(function(p){"object"==typeof E&&"object"==typeof Ta?p(V(453)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){p.defineMode("commonlisp",function(S){function A(k){for(var h;h=k.next();)if("\\"==h)k.next();else if(!G.test(h)){k.backUp(1);break}return k.current()}function q(k,h){if(k.eatSpace())return v="ws",null;if(k.match(a))return"number";var f=k.next();"\\"==f&&(f=k.next());if('"'==f)return(h.tokenize=d)(k, h);if("("==f)return v="open","bracket";if(")"==f||"]"==f)return v="close","bracket";if(";"==f)return k.skipToEnd(),v="ws","comment";if(/['`,@]/.test(f))return null;if("|"==f){if(k.skipTo("|"))return k.next(),"symbol";k.skipToEnd();return"error"}if("#"==f)return f=k.next(),"("==f?(v="open","bracket"):/[+\-=\.']/.test(f)||/\d/.test(f)&&k.match(/^\d*#/)?null:"|"==f?(h.tokenize=r)(k,h):":"==f?(A(k),"meta"):"\\"==f?(k.next(),A(k),"string-2"):"error";k=A(k);if("."==k)return null;v="symbol";return"nil"== k||"t"==k||":"==k.charAt(0)?"atom":"open"==h.lastType&&(B.test(k)||C.test(k))?"keyword":"\x26"==k.charAt(0)?"variable-2":"variable"}function d(k,h){for(var f=!1,w;w=k.next();){if('"'==w&&!f){h.tokenize=q;break}f=!f&&"\\"==w}return"string"}function r(k,h){for(var f,w;f=k.next();){if("#"==f&&"|"==w){h.tokenize=q;break}w=f}v="ws";return"comment"}var B=/^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/, C=/^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/,a=/^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/,G=/[^\s'`,@()\[\]";]/,v;return{startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastType:null,tokenize:q}},token:function(k,h){k.sol()&&"number"!=typeof h.ctx.indentTo&&(h.ctx.indentTo=h.ctx.start+1);v=null;var f=h.tokenize(k,h);"ws"!=v&&(null==h.ctx.indentTo?"symbol"==v&&C.test(k.current())?h.ctx.indentTo= h.ctx.start+S.indentUnit:h.ctx.indentTo="next":"next"==h.ctx.indentTo&&(h.ctx.indentTo=k.column()),h.lastType=v);"open"==v?h.ctx={prev:h.ctx,start:k.column(),indentTo:null}:"close"==v&&(h.ctx=h.ctx.prev||h.ctx);return f},indent:function(k,h){h=k.ctx.indentTo;return"number"==typeof h?h:k.ctx.start+1},closeBrackets:{pairs:'()[]{}""'},lineComment:";;",blockCommentStart:"#|",blockCommentEnd:"|#"}});p.defineMIME("text/x-common-lisp","commonlisp")})}; shadow$provide[468]=function(wa,V,Ta,E){(function(p){"object"==typeof E&&"object"==typeof Ta?p(V(453)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){p.defineMode("crystal",function(S){function A(H,aa){return new RegExp((aa?"":"^")+"(?:"+H.join("|")+")"+(aa?"$":"\\b"))}function q(H,aa,M){M.tokenize.push(H);return H(aa,M)}function d(H,aa){if(H.eatSpace())return null;if("\\"!=aa.lastToken&&H.match("{%",!1))return q(B("%","%"),H,aa);if("\\"!=aa.lastToken&& H.match("{{",!1))return q(B("{","}"),H,aa);if("#"==H.peek())return H.skipToEnd(),"comment";if(H.match(x)){H.eat(/[?!]/);var M=H.current();return H.eat(":")?"atom":"."==aa.lastToken?"property":z.test(M)?(t.test(M)?"fun"==M&&0<=aa.blocks.indexOf("lib")||"def"==M&&"abstract"==aa.lastToken||(aa.blocks.push(M),aa.currentIndent+=1):"operator"!=aa.lastStyle&&aa.lastStyle||!n.test(M)?"end"==M&&(aa.blocks.pop(),--aa.currentIndent):(aa.blocks.push(M),aa.currentIndent+=1),Y.hasOwnProperty(M)&&aa.tokenize.push(Y[M]), "keyword"):u.test(M)?"atom":"variable"}if(H.eat("@")){if("["==H.peek())return q(r("[","]","meta"),H,aa);H.eat("@");H.match(x)||H.match(J);return"variable-2"}if(H.match(J))return"tag";if(H.eat(":")){if(H.eat('"'))return q(G('"',"atom",!1),H,aa);if(H.match(x)||H.match(J)||H.match(k)||H.match(h)||H.match(f))return"atom";H.eat(":");return"operator"}if(H.eat('"'))return q(G('"',"string",!0),H,aa);if("%"==H.peek()){M="string";var Q=!0;if(H.match("%r")){M="string-2";var D=H.next()}else if(H.match("%w"))Q= !1,D=H.next();else if(H.match("%q"))Q=!1,D=H.next();else if(D=H.match(/^%([^\w\s=])/))D=D[1];else return H.match(/^%[a-zA-Z0-9_\u009F-\uFFFF]*/)?"meta":"operator";fa.hasOwnProperty(D)&&(D=fa[D]);return q(G(D,M,Q),H,aa)}if(M=H.match(/^<<-('?)([A-Z]\w*)\1/))return q(v(M[2],!M[1]),H,aa);if(H.eat("'"))return H.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/),H.eat("'"),"atom";if(H.eat("0"))return H.eat("x")?H.match(/^[0-9a-fA-F]+/):H.eat("o")?H.match(/^[0-7]+/): H.eat("b")&&H.match(/^[01]+/),"number";if(H.eat(/^\d/))return H.match(/^\d*(?:\.\d+)?(?:[eE][+-]?\d+)?/),"number";if(H.match(k))return H.eat("\x3d"),"operator";if(H.match(h)||H.match(w))return"operator";if(M=H.match(/[({[]/,!1))return M=M[0],q(r(M,fa[M],null),H,aa);if(H.eat("\\"))return H.next(),"meta";H.next();return null}function r(H,aa,M,Q){return function(D,O){if(!Q&&D.match(H))return O.tokenize[O.tokenize.length-1]=r(H,aa,M,!0),O.currentIndent+=1,M;var P=d(D,O);D.current()===aa&&(O.tokenize.pop(), --O.currentIndent,P=M);return P}}function B(H,aa,M){return function(Q,D){return!M&&Q.match("{"+H)?(D.currentIndent+=1,D.tokenize[D.tokenize.length-1]=B(H,aa,!0),"meta"):Q.match(aa+"}")?(--D.currentIndent,D.tokenize.pop(),"meta"):d(Q,D)}}function C(H,aa){if(H.eatSpace())return null;H.match(x)?H.eat(/[!?]/):H.match(k)||H.match(h)||H.match(f);aa.tokenize.pop();return"def"}function a(H,aa){if(H.eatSpace())return null;H.match(J);aa.tokenize.pop();return"def"}function G(H,aa,M){return function(Q,D){for(var O= !1;Q.peek();)if(O)Q.next(),O=!1;else{if(Q.match("{%",!1)){D.tokenize.push(B("%","%"));break}if(Q.match("{{",!1)){D.tokenize.push(B("{","}"));break}if(M&&Q.match("#{",!1)){D.tokenize.push(r("#{","}","meta"));break}O=Q.next();if(O==H){D.tokenize.pop();break}O=M&&"\\"==O}return aa}}function v(H,aa){return function(M,Q){if(M.sol()&&(M.eatSpace(),M.match(H)))return Q.tokenize.pop(),"string";for(var D=!1;M.peek();)if(D)M.next(),D=!1;else{if(M.match("{%",!1)){Q.tokenize.push(B("%","%"));break}if(M.match("{{", !1)){Q.tokenize.push(B("{","}"));break}if(aa&&M.match("#{",!1)){Q.tokenize.push(r("#{","}","meta"));break}D=aa&&"\\"==M.next()}return"string"}}var k=/^(?:[-+/%|&^]|\*\*?|[<>]{2})/,h=/^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/,f=/^(?:\[\][?=]?)/,w=/^(?:\.(?:\.{2})?|->|[?:])/,x=/^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,J=/^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,z=A("abstract alias as asm begin break case class def do else elsif end ensure enum extend for fun if include instance_sizeof lib macro module next of out pointerof private protected rescue return require select sizeof struct super then type typeof uninitialized union unless until when while with yield __DIR__ __END_LINE__ __FILE__ __LINE__".split(" ")), u=A(["true","false","nil","self"]),t=A("def fun macro class module struct lib enum union do for".split(" ")),n=A("if unless case while until begin then".split(" ")),R=["end","else","elsif","rescue","ensure"],ka=A(R),L=["\\)","\\}","\\]"],ma=new RegExp("^(?:"+L.join("|")+")$"),Y={def:C,fun:C,macro:function(H,aa){if(H.eatSpace())return null;var M;if(M=H.match(x)){if("def"==M)return"keyword";H.eat(/[?!]/)}aa.tokenize.pop();return"def"},"class":a,module:a,struct:a,lib:a,"enum":a,union:a},fa={"[":"]", "{":"}","(":")","\x3c":"\x3e"};return{startState:function(){return{tokenize:[d],currentIndent:0,lastToken:null,lastStyle:null,blocks:[]}},token:function(H,aa){var M=aa.tokenize[aa.tokenize.length-1](H,aa);H=H.current();M&&"comment"!=M&&(aa.lastToken=H,aa.lastStyle=M);return M},indent:function(H,aa){aa=aa.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g,"");return ka.test(aa)||ma.test(aa)?S.indentUnit*(H.currentIndent-1):S.indentUnit*H.currentIndent},fold:"indent",electricInput:A(L.concat(R),!0),lineComment:"#"}}); p.defineMIME("text/x-crystal","crystal")})}; shadow$provide[469]=function(wa,V,Ta,E){(function(p){"object"==typeof E&&"object"==typeof Ta?p(V(453)):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){function S(R){for(var ka={},L=0;L*\/]/.test(eb)?L(null,"select-op"):"."==eb&&Ma.match(/^-?[_a-z][_a-z0-9-]*/i)?L("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(eb)?L(null,eb):Ma.match(/[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/.test(Ma.current().toLowerCase())&&(fb.tokenize=fa),L("variable callee","variable")): /[\w\\\-]/.test(eb)?(Ma.eatWhile(/[\w\\\-]/),L("property","word")):L(null,null)}function Y(Ma){return function(fb,eb){for(var Na=!1,oa;null!=(oa=fb.next());){if(oa==Ma&&!Na){")"==Ma&&fb.backUp(1);break}Na=!Na&&"\\"==oa}if(oa==Ma||!Na&&")"!=Ma)eb.tokenize=null;return L("string","string")}}function fa(Ma,fb){Ma.next();Ma.match(/\s*["')]/,!1)?fb.tokenize=null:fb.tokenize=Y(")");return L(null,"(")}function H(Ma,fb,eb){this.type=Ma;this.indent=fb;this.prev=eb}function aa(Ma,fb,eb,Na){Ma.context=new H(eb, fb.indentation()+(!1===Na?0:P),Ma.context);return eb}function M(Ma){Ma.context.prev&&(Ma.context=Ma.context.prev);return Ma.context.type}function Q(Ma,fb,eb,Na){for(Na=Na||1;0