// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) { Math.imul = function (a, b) { var ah = (a >>> 16) & 0xffff; var al = a & 0xffff; var bh = (b >>> 16) & 0xffff; var bl = b & 0xffff; // the shift by 0 fixes the sign on the high part // the final |0 converts the unsigned value into a signed value return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0); } } (function(q){if("object"==typeof exports&&"object"==typeof module)module.exports=q();else{if("function"==typeof define&&define.amd)return define([],q);(this||window).CodeMirror=q()}})(function(){function q(a,b){if(!(this instanceof q))return new q(a,b);this.options=b=b?X(b):{};X(wf,b,!1);wc(b);var c=b.value;"string"==typeof c&&(c=new Q(c,b.mode,null,b.lineSeparator));this.doc=c;var d=new q.inputStyles[b.inputStyle](this),d=this.display=new xf(a,c,d);d.wrapper.CodeMirror=this;zd(this);Ad(this);b.lineWrapping&& (this.display.wrapper.className+=" CodeMirror-wrap");b.autofocus&&!ab&&d.input.focus();Bd(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 ua,keySeq:null,specialChars:null};var e=this;A&&11>B&&setTimeout(function(){e.display.input.reset(!0)},20);yf(this);Cd||(zf(),Cd=!0);Ja(this);this.curOp.forceUpdate=!0;Dd(this,c);b.autofocus&&!ab||e.hasFocus()?setTimeout(xc(yc, this),20):bb(this);for(var f in Ka)if(Ka.hasOwnProperty(f))Ka[f](this,b[f],Ed);Fd(this);b.finishInit&&b.finishInit(this);for(c=0;cB&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight=0);K||oa&&ab||(this.scroller.draggable=!0);a&&(a.appendChild?a.appendChild(this.wrapper):a(this.wrapper));this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=b.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;c.init(this)}function Ac(a){a.doc.mode=q.getMode(a.options,a.doc.modeOption);cb(a)}function cb(a){a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null)});a.doc.frontier=a.doc.first; db(a,100);a.state.modeGen++;a.curOp&&M(a)}function Hd(a){var b=va(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/eb(a.display)-3);return function(e){if(wa(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;gb.maxLineLength&&(b.maxLineLength=d,b.maxLine=a)})}function wc(a){var b=D(a.gutters,"CodeMirror-linenumbers");-1==b&&a.lineNumbers?a.gutters= a.gutters.concat(["CodeMirror-linenumbers"]):-1B&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")}function Hc(){}function Bd(a){a.display.scrollbars&& (a.display.scrollbars.clear(),a.display.scrollbars.addClass&&ib(a.display.wrapper,a.display.scrollbars.addClass));a.display.scrollbars=new q.scrollbarModel[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller);v(b,"mousedown",function(){a.state.focused&&setTimeout(function(){a.display.input.focus()},0)});b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?Ma(a,b):jb(a,b)},a);a.display.scrollbars.addClass&&kb(a.display.wrapper,a.display.scrollbars.addClass)} function Na(a,b){b||(b=hb(a));var c=a.display.barWidth,d=a.display.barHeight;Id(a,b);for(var e=0;4>e&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&Jb(a),Id(a,hb(a)),c=a.display.barWidth,d=a.display.barHeight}function Id(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px";c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px";c.heightForcer.style.borderBottom=d.bottom+"px solid transparent";d.right&& d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height=d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="";d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function Ic(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop,d=Math.floor(d-a.lineSpace.offsetTop), e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,d=ya(b,d),e=ya(b,e);if(c&&c.ensure){var f=c.ensure.from.line;c=c.ensure.to.line;f=e&&(d=ya(b,ea(t(b,c))-a.wrapper.clientHeight),e=c)}return{from:d,to:Math.max(e,d+1)}}function Cc(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=Jc(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g=c.viewFrom&&b.visible.to<=c.viewTo&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo)&&c.renderedView==c.view&&0==Jd(a))return!1;Fd(a)&&(qa(a),b.dims=Lc(a));var e=d.first+d.size,f=Math.max(b.visible.from-a.options.viewportMargin, d.first),g=Math.min(e,b.visible.to+a.options.viewportMargin);c.viewFromf-c.viewFrom&&(f=Math.max(d.first,c.viewFrom));c.viewTo>g&&20>c.viewTo-g&&(g=Math.min(e,c.viewTo));ra&&(f=Nc(a.doc,f),g=Kd(a.doc,g));d=f!=c.viewFrom||g!=c.viewTo||c.lastWrapHeight!=b.wrapperHeight||c.lastWrapWidth!=b.wrapperWidth;e=a.display;0==e.view.length||f>=e.viewTo||g<=e.viewFrom?(e.view=Lb(a,f,g),e.viewFrom=f):(e.viewFrom>f?e.view=Lb(a,f,e.viewFrom).concat(e.view):e.viewFromg&&(e.view=e.view.slice(0,Aa(a,g))));e.viewTo=g;c.viewOffset=ea(t(a.doc,c.viewFrom));a.display.mover.style.top=c.viewOffset+"px";g=Jd(a);if(!d&&0==g&&!b.force&&c.renderedView==c.view&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo))return!1;f=fa();4=a.display.viewFrom&&b.visible.to<=a.display.viewTo)break;if(!Mc(a,b))break;Jb(a);d=hb(a); lb(a);Na(a,d);Pc(a,d)}b.signal(a,"update",a);if(a.display.viewFrom!=a.display.reportedViewFrom||a.display.viewTo!=a.display.reportedViewTo)b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo}function Qc(a,b){var c=new Kb(a,b);if(Mc(a,c)){Jb(a);Ld(a,c);var d=hb(a);lb(a);Na(a,d);Pc(a,d);c.finish()}}function Pc(a,b){a.display.sizer.style.minHeight=b.docHeight+"px";a.display.heightForcer.style.top=b.docHeight+ "px";a.display.gutters.style.height=b.docHeight+a.display.barHeight+da(a)+"px"}function Jb(a){a=a.display;for(var b=a.lineDiv.offsetTop,c=0;cB){var f=d.node.offsetTop+d.node.offsetHeight;e=f-b;b=f}else e=d.node.getBoundingClientRect(),e=e.bottom-e.top;f=d.line.height-e;2>e&&(e=va(a));if(.001f)if(ca(d.line,e),Md(d.line),d.rest)for(e=0;eB&&(a.node.style.zIndex=2));return a.node}function Od(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):Rd(a,b)}function Rc(a){var b=a.bgClass?a.bgClass+" "+(a.line.bgClass||""):a.line.bgClass; b&&(b+=" CodeMirror-linebackground");if(a.background)b?a.background.className=b:(a.background.parentNode.removeChild(a.background),a.background=null);else if(b){var c=mb(a);a.background=c.insertBefore(s("div",null,b),c.firstChild)}a.line.wrapClass?mb(a).className=a.line.wrapClass:a.node!=a.text&&(a.node.className="");a.text.className=(a.textClass?a.textClass+" "+(a.line.textClass||""):a.line.textClass)||""}function Pd(a,b,c,d){b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null);b.gutterBackground&& (b.node.removeChild(b.gutterBackground),b.gutterBackground=null);if(b.line.gutterClass){var e=mb(b);b.gutterBackground=s("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?d.fixedPos:-d.gutterTotalWidth)+"px; width: "+d.gutterTotalWidth+"px");e.insertBefore(b.gutterBackground,b.text)}var f=b.line.gutterMarkers;if(a.options.lineNumbers||f){var e=mb(b),g=b.gutter=s("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?d.fixedPos:-d.gutterTotalWidth)+ "px");a.display.input.setUneditable(g);e.insertBefore(g,b.text);b.line.gutterClass&&(g.className+=" "+b.line.gutterClass);!a.options.lineNumbers||f&&f["CodeMirror-linenumbers"]||(b.lineNumber=g.appendChild(s("div",Kc(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+d.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px")));if(f)for(b=0;bw(a,b)?b:a}function Nb(a,b){return 0>w(a,b)?a:b}function Td(a){a.state.focused||(a.display.input.focus(),yc(a))}function Ob(a,b,c,d,e){var f=a.doc;a.display.shift=!1;d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=f.splitLines(b),k=null;if(g&&1e?k.map:l[e],g=0;ge?a.line:a.rest[e]);e=f[g]+d;if(0>d||h!=b)e=f[g+(d?1:0)];return r(c,e)}}}var e=a.text.firstChild,f=!1;if(!b||!Wc(e, b))return Qa(r(F(a.line),0),!0);if(b==e&&(f=!0,b=e.childNodes[c],c=0,!b))return c=a.rest?z(a.rest):a.line,Qa(r(F(c),c.text.length),f);var g=3==b.nodeType?b:null,h=b;g||1!=b.childNodes.length||3!=b.firstChild.nodeType||(g=b.firstChild,c&&(c=g.nodeValue.length));for(;h.parentNode!=e;)h=h.parentNode;var k=a.measure,l=k.maps;if(b=d(g,h,c))return Qa(b,f);e=h.nextSibling;for(g=g?g.nodeValue.length-c:0;e;e=e.nextSibling){if(b=d(e,e.firstChild,0))return Qa(r(b.line,b.ch-g),f);g+=e.textContent.length}h=h.previousSibling; for(g=c;h;h=h.previousSibling){if(b=d(h,h.firstChild,-1))return Qa(r(b.line,b.ch+g),f);g+=h.textContent.length}}function Df(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)""==c&&(c=b.textContent.replace(/\u200b/g,"")),h+=c;else{var c=b.getAttribute("cm-marker"),n;if(c)b=a.findMarks(r(d,0),r(e+1,0),f(+c)),b.length&&(n=b[0].find())&&(h+=Ba(a.doc,n.from,n.to).join(l));else if("false"!=b.getAttribute("contenteditable")){for(n= 0;nc)return r(c,t(a,c).text.length);var c=t(a,b.line).text.length,d=b.ch,c=null==d||d>c?r(b.line,c):0>d?r(b.line,0):b;return c}function pb(a,b){return b>=a.first&&bw(c,a),b!=0>w(d,a)?(a=c,c=d):b!=0>w(c,d)&&(c=d)),new y(a,c)):new y(d||c,c)}function Sb(a,b,c,d){C(a,new ka([qb(a,a.sel.primary(),b,c)],0),d)}function ce(a,b,c){for(var d=[],e=0;ew(b.primary().head,a.sel.primary().head)? -1:1);fe(a,ge(a,b,d,!0));c&&!1===c.scroll||!a.cm||Pa(a.cm)}function fe(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,he(a.cm)),R(a,"cursorActivity",a))}function ie(a){fe(a,ge(a,a.sel,null,!1),ha)}function ge(a,b,c,d){for(var e,f=0;f=b.ch:h.to>b.ch))){if(e&&(J(k,"beforeCursorEnter"),k.explicitlyCleared))if(f.markedSpans){--g;continue}else break;if(k.atomic){if(c){var g=k.find(0>d?1:-1),l;if(0>d?k.inclusiveRight:k.inclusiveLeft)g=je(a,g,-d,g&&g.line==b.line?f:null);if(g&& g.line==b.line&&(l=w(g,c))&&(0>d?0>l:0d?-1:1);if(0>d?k.inclusiveLeft:k.inclusiveRight)c=je(a,c,d,c.line==b.line?f:null);return c?Ra(a,c,b,d,e):null}}}return b}function Yc(a,b,c,d,e){d=d||1;b=Ra(a,b,c,d,e)||!e&&Ra(a,b,c,d,!0)||Ra(a,b,c,-d,e)||!e&&Ra(a,b,c,-d,!0);return b?b:(a.cantEdit=!0,r(a.first,0))}function je(a,b,c,d){return 0>c&&0==b.ch?b.line>a.first?x(a,r(b.line-1)):null:0=a.display.viewTo||h.to().lineb&&(b=0);b=Math.round(b); d=Math.round(d);h.appendChild(s("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px; top: "+b+"px; width: "+(null==c?m-a:c)+"px; height: "+(d-b)+"px"))}function e(b,c,e){var f=t(g,b),h=f.text.length,k,p;Gf(Z(f),c||0,null==e?h:e,function(g,q,s){var t=Vb(a,r(b,g),"div",f,"left"),v,u;g==q?(v=t,s=u=t.left):(v=Vb(a,r(b,q-1),"div",f,"right"),"rtl"==s&&(s=t,t=v,v=s),s=t.left,u=v.right);null==c&&0==g&&(s=l);3p.bottom||v.bottom==p.bottom&&v.right>p.right)p=v;sa.options.cursorBlinkRate&&(b.cursorDiv.style.visibility= "hidden")}}function db(a,b){a.doc.mode.startState&&a.doc.frontier=a.display.viewTo)){var c=+new Date+a.options.workTime,d=sa(b.mode,rb(a,b.frontier)),e=[];b.iter(b.frontier,Math.min(b.first+b.size,a.display.viewTo+500),function(f){if(b.frontier>=a.display.viewFrom){var g=f.styles,h=f.text.length>a.options.maxHighlightLength,k=ne(a,f,h?sa(b.mode,d):d,!0);f.styles= k.styles;var l=f.styleClasses;(k=k.classes)?f.styleClasses=k:l&&(f.styleClasses=null);l=!g||g.length!=f.styles.length||l!=k&&(!l||!k||l.bgClass!=k.bgClass||l.textClass!=k.textClass);for(k=0;!l&&kc)return db(a,a.options.workDelay),!0});e.length&&T(a,function(){for(var b=0;bg;--b){if(b<=f.first)return f.first;var h=t(f,b-1);if(h.stateAfter&&(!c||b<=f.frontier))return b;h=aa(h.text,null,a.options.tabSize);if(null==e||d>h)e=b-1,d=h}return e}function rb(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return!0;var f=If(a,b,c),g=f>d.first&&t(d,f-1).stateAfter,g=g?sa(d.mode,g):Jf(d.mode);d.iter(f,b,function(c){$c(a,c.text,g);c.stateAfter=f==b-1||0==f%5||f>=e.viewFrom&&fc)return{map:a.measure.maps[d],cache:a.measure.caches[d],before:!0}}function Vc(a,b){if(b>=a.display.viewFrom&&b=c.lineN&&bE;E++){for(;h&&sb(b.line.text.charAt(g.coverStart+h));)--h;for(;g.coverStart+kB&&0==h&&k==g.coverEnd-g.coverStart)n=d.parentNode.getBoundingClientRect();else{n=Sa(d,h,k).getClientRects();k=pe;if("left"==m)for(l=0;lB&&((E=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI== screen.deviceXDPI)||(null!=ad?E=ad:(m=U(a.display.measure,s("span","x")),E=m.getBoundingClientRect(),m=Sa(m,0,1).getBoundingClientRect(),E=ad=1B)||h||n&&(n.left||n.right)||(n=(n=d.parentNode.getClientRects()[0])? {left:n.left,right:n.left+eb(a.display),top:n.top,bottom:n.bottom}:pe);d=n.top-b.rect.top;h=n.bottom-b.rect.top;m=(d+h)/2;g=b.view.measure.heights;for(E=0;Eb)f=l-k,e=f-1,b>=l&&(g="right");if(null!=e){d=a[h+2];k==l&&c==(d.insertLeft?"left":"right")&&(g=c);if("left"==c&&0==e)for(;h&&a[h-2]==a[h-3]&&a[h-1].insertLeft;)d=a[(h-=3)+2],g="left";if("right"==c&&e==l-k)for(;hc.from?g(a-1):g(a,d)}d=d||t(a.doc,b.line);e||(e=Wb(a,d));var k=Z(d);b=b.ch;if(!k)return g(b);var l=Qb(k,b),l=h(b,l);null!=ub&&(l.other=h(b,ub));return l}function te(a, b){var c=0;b=x(a.doc,b);a.options.lineWrapping||(c=eb(a.display)*b.ch);var d=t(a.doc,b.line),e=ea(d)+a.display.lineSpace.offsetTop;return{left:c,right:c,top:e,bottom:e+d.height}}function Yb(a,b,c,d){a=r(a,b);a.xRel=d;c&&(a.outside=!0);return a}function ed(a,b,c){var d=a.doc;c+=a.display.viewOffset;if(0>c)return Yb(d.first,0,!0,-1);var e=ya(d,c),f=d.first+d.size-1;if(e>f)return Yb(d.first+d.size-1,t(d,f).text.length,!0,1);0>b&&(b=0);for(d=t(d,e);;)if(e=Kf(a,d,e,b,c),f=(d=xa(d,!1))&&d.find(0,!0),d&& (e.ch>f.from.ch||e.ch==f.from.ch&&0d.bottom)return d.left-k;if(gs)return Yb(c,n,t,1);for(;;){if(e?n==p||n==fd(b,p,1):1>=n-p){m=d=e.top&&Math.abs(d-e.right)p?-1:1d){n=u;s=w;if(t=h)s+=1E3;m=v}else p=u,E=w,q=h,m-=v}}function va(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==Ca){Ca=s("pre");for(var b=0;49>b;++b)Ca.appendChild(document.createTextNode("x")),Ca.appendChild(s("br")); Ca.appendChild(document.createTextNode("x"))}U(a.measure,Ca);b=Ca.offsetHeight/50;3=d.viewTo)||d.maxLineChanged&&c.options.lineWrapping;e.update=e.mustUpdate&&new Kb(c,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}for(b=0;bl;l++){var m=!1,p=la(c,h),n=g&&g!=h?la(c,g):p,n=ac(c,Math.min(p.left,n.left),Math.min(p.top,n.top)-k,Math.max(p.left,n.left),Math.max(p.bottom,n.bottom)+k),q=c.doc.scrollTop,r=c.doc.scrollLeft;null!=n.scrollTop&&(jb(c,n.scrollTop),1g.top+l.top?h=!0:g.bottom+l.top>(window.innerHeight||document.documentElement.clientHeight)&&(h=!1),null==h||Mf||(g=s("div","​",null,"position: absolute; top: "+(g.top-k.viewOffset-c.display.lineSpace.offsetTop)+"px; height: "+(g.bottom-g.top+da(c)+k.barHeight)+"px; left: "+g.left+ "px; width: 2px;"),c.display.lineSpace.appendChild(g),g.scrollIntoView(h),c.display.lineSpace.removeChild(g))))}h=e.maybeHiddenMarkers;g=e.maybeUnhiddenMarkers;if(h)for(k=0;kb)&&(e.updateLineNumbers=b);a.curOp.viewChanged=!0;if(b>=e.viewTo)ra&&Nc(a.doc,b)e.viewFrom? qa(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)qa(a);else if(b<=e.viewFrom){var f=bc(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):qa(a)}else if(c>=e.viewTo)(f=bc(a,b,b,-1))?(e.view=e.view.slice(0,f.index),e.viewTo=f.lineN):qa(a);else{var f=bc(a,b,b,-1),g=bc(a,c,c+d,1);f&&g?(e.view=e.view.slice(0,f.index).concat(Lb(a,f.lineN,g.lineN)).concat(e.view.slice(g.index)),e.viewTo+=d):qa(a)}if(a=e.externalMeasured)c=e.lineN&&b=d.viewTo||(a=d.view[Aa(a,b)],null!=a.node&&(a=a.changes||(a.changes=[]),-1==D(a,c)&&a.push(c)))}function qa(a){a.display.viewFrom=a.display.viewTo=a.doc.first;a.display.view=[];a.display.viewOffset=0}function Aa(a,b){if(b>=a.display.viewTo)return null;b-=a.display.viewFrom;if(0>b)return null;for(var c=a.display.view,d=0;db)return d}function bc(a,b,c,d){var e=Aa(a,b),f=a.display.view;if(!ra||c==a.doc.first+a.doc.size)return{index:e,lineN:c};for(var g=0,h=a.display.viewFrom;gd?0:f.length-1))return null;c+=d*f[e-(0>d?1:0)].size;e+=d}return{index:e,lineN:c}}function Jd(a){a=a.display.view;for(var b=0,c=0;cB?v(d.scroller,"dblclick",G(a,function(b){if(!H(a,b)){var c=Da(a,b);!c||gd(a,b,"gutterClick",!0)||na(a.display,b)||(O(b),b=a.findWordAt(c),Sb(a.doc,b.anchor,b.head))}})):v(d.scroller,"dblclick",function(b){H(a,b)||O(b)});hd||v(d.scroller,"contextmenu",function(b){ue(a, b)});var e,f={end:0};v(d.scroller,"touchstart",function(b){var c;if(c=!H(a,b))1!=b.touches.length?c=!1:(c=b.touches[0],c=1>=c.radiusX&&1>=c.radiusY),c=!c;c&&(clearTimeout(e),c=+new Date,d.activeTouch={start:c,moved:!1,prev:300>=c-f.end?f:null},1==b.touches.length&&(d.activeTouch.left=b.touches[0].pageX,d.activeTouch.top=b.touches[0].pageY))});v(d.scroller,"touchmove",function(){d.activeTouch&&(d.activeTouch.moved=!0)});v(d.scroller,"touchend",function(e){var f=d.activeTouch;if(f&&!na(d,e)&&null!= f.left&&!f.moved&&300>new Date-f.start){var g=a.coordsChar(d.activeTouch,"page"),f=!f.prev||c(f,f.prev)?new y(g,g):!f.prev.prev||c(f,f.prev.prev)?a.findWordAt(g):new y(r(g.line,0),x(a.doc,r(g.line+1,0)));a.setSelection(f.anchor,f.head);a.focus();O(e)}b()});v(d.scroller,"touchcancel",b);v(d.scroller,"scroll",function(){d.scroller.clientHeight&&(jb(a,d.scroller.scrollTop),Ma(a,d.scroller.scrollLeft,!0),J(a,"scroll",a))});v(d.scroller,"mousewheel",function(b){ve(a,b)});v(d.scroller,"DOMMouseScroll", function(b){ve(a,b)});v(d.wrapper,"scroll",function(){d.wrapper.scrollTop=d.wrapper.scrollLeft=0});d.dragFunctions={enter:function(b){H(a,b)||cc(b)},over:function(b){if(!H(a,b)){var c=Da(a,b);if(c){var d=document.createDocumentFragment();le(a,c,d);a.display.dragCursor||(a.display.dragCursor=s("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv));U(a.display.dragCursor,d)}cc(b)}},start:function(b){if(A&&(!a.state.draggingText|| 100>+new Date-we))cc(b);else if(!H(a,b)&&!na(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.effectAllowed="copyMove",b.dataTransfer.setDragImage&&!xe)){var c=s("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d";ba&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop);b.dataTransfer.setDragImage(c,0,0);ba&&c.parentNode.removeChild(c)}},drop:G(a,Of),leave:function(b){H(a, b)||ye(a)}};var g=d.input.getField();v(g,"keyup",function(b){ze.call(a,b)});v(g,"keydown",G(a,Ae));v(g,"keypress",G(a,Be));v(g,"focus",function(b){yc(a,b)});v(g,"blur",function(b){bb(a,b)})}function Pf(a){var b=a.display;if(b.lastWrapHeight!=b.wrapper.clientHeight||b.lastWrapWidth!=b.wrapper.clientWidth)b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize()}function na(a,b){for(var c=b.target||b.srcElement;c!=a.wrapper;c=c.parentNode)if(!c||1==c.nodeType&&"true"== c.getAttribute("cm-ignore-events")||c.parentNode==a.sizer&&c!=a.mover)return!0}function Da(a,b,c,d){var e=a.display;if(!c&&"true"==(b.target||b.srcElement).getAttribute("cm-not-content"))return null;var f,g;c=e.lineSpace.getBoundingClientRect();try{f=b.clientX-c.left,g=b.clientY-c.top}catch(h){return null}b=ed(a,f,g);var k;d&&1==b.xRel&&(k=t(a.doc,b.line).text).length==b.ch&&(d=aa(k,k.length,a.options.tabSize)-k.length,b=r(b.line,Math.max(0,Math.round((f-me(a.display).left)/eb(a.display))-d)));return b} function Nf(a){var b=this.display;if(!(H(this,a)||b.activeTouch&&b.input.supportsTouch()))if(b.shift=a.shiftKey,na(b,a))K||(b.scroller.draggable=!1,setTimeout(function(){b.scroller.draggable=!0},100));else if(!gd(this,a,"gutterClick",!0)){var c=Da(this,a);window.focus();switch(Ce(a)){case 1:this.state.selectingText?this.state.selectingText(a):c?Qf(this,a,c):(a.target||a.srcElement)==b.scroller&&O(a);break;case 2:K&&(this.state.lastMiddleDown=+new Date);c&&Sb(this.doc,c);setTimeout(function(){b.input.focus()}, 20);O(a);break;case 3:hd?ue(this,a):Rf(this)}}}function Qf(a,b,c){A?setTimeout(xc(Td,a),0):a.curOp.focus=fa();var d=+new Date,e;dc&&dc.time>d-400&&0==w(dc.pos,c)?e="triple":ec&&ec.time>d-400&&0==w(ec.pos,c)?(e="double",dc={time:d,pos:c}):(e="single",ec={time:d,pos:c});var d=a.doc.sel,f=Y?b.metaKey:b.ctrlKey,g;a.options.dragDrop&&Sf&&!a.isReadOnly()&&"single"==e&&-1<(g=d.contains(c))&&(0>w((g=d.ranges[g]).from(),c)||0c.xRel)?Tf(a,b,c,f):Uf(a,b,c,e,f)}function Tf(a,b,c,d){var e= a.display,f=+new Date,g=G(a,function(h){K&&(e.scroller.draggable=!1);a.state.draggingText=!1;ja(document,"mouseup",g);ja(e.scroller,"drop",g);10>Math.abs(b.clientX-h.clientX)+Math.abs(b.clientY-h.clientY)&&(O(h),!d&&+new Date-200E&&e.push(new y(r(h,E),r(h,De(s,g,f))))}e.length||e.push(new y(c,c));C(l,$(n.ranges.slice(0,p).concat(e),p),{origin:"*mouse",scroll:!1});a.scrollIntoView(b)}else e= m,f=e.anchor,k=b,"single"!=d&&(b="double"==d?a.findWordAt(b):new y(r(b.line,0),x(l,r(b.line+1,0))),0=h.to||e.lineA.bottom?20:0;m&&setTimeout(G(a,function(){z== c&&(k.scroller.scrollTop+=m,g(b))}),50)}}function h(b){a.state.selectingText=!1;z=Infinity;O(b);k.input.focus();ja(document,"mousemove",F);ja(document,"mouseup",B);l.history.lastSelOrigin=null}var k=a.display,l=a.doc;O(b);var m,p,n=l.sel,q=n.ranges;e&&!b.shiftKey?(p=l.sel.contains(c),m=-1=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&O(b);d=a.display;var h=d.lineDiv.getBoundingClientRect();if(f>h.bottom||!W(a,c))return jd(b);f-=h.top-d.viewOffset;for(h=0;h=e)return e=ya(a.doc,f),J(a,c,a,e,a.options.gutters[h],b),jd(b)}}function Of(a){var b= this;ye(b);if(!H(b,a)&&!na(b.display,a)){O(a);A&&(we=+new Date);var c=Da(b,a,!0),d=a.dataTransfer.files;if(c&&!b.isReadOnly())if(d&&d.length&&window.FileReader&&window.File){var e=d.length,f=Array(e),g=0;a=function(a,d){if(!b.options.allowDropFileTypes||-1!=D(b.options.allowDropFileTypes,a.type)){var h=new FileReader;h.onload=G(b,function(){var a=h.result;/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a="");f[d]=a;++g==e&&(c=x(b.doc,c),a={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"}, Oa(b.doc,a),de(b.doc,ga(c,Ea(a))))});h.readAsText(a)}};for(var h=0;hMath.abs(a.doc.scrollTop-b)||(a.doc.scrollTop=b,oa||Qc(a,{top:b}),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b),a.display.scrollbars.setScrollTop(b),oa&&Qc(a),db(a,100))}function Ma(a,b,c){(c?b==a.doc.scrollLeft:2>Math.abs(a.doc.scrollLeft-b))||(b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),a.doc.scrollLeft=b,Cc(a), a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function ve(a,b){var c=Ee(b),d=c.x,c=c.y,e=a.display,f=e.scroller,g=f.scrollWidth>f.clientWidth,h=f.scrollHeight>f.clientHeight;if(d&&g||c&&h){if(c&&Y&&K){var g=b.target,k=e.view;a:for(;g!=f;g=g.parentNode)for(var l=0;lh?g=Math.max(0,g+ h-50):k=Math.min(a.doc.height,k+h+50),Qc(a,{top:g,bottom:k})),20>fc&&(null==e.wheelStartX?(e.wheelStartX=f.scrollLeft,e.wheelStartY=f.scrollTop,e.wheelDX=d,e.wheelDY=c,setTimeout(function(){if(null!=e.wheelStartX){var a=f.scrollLeft-e.wheelStartX,b=f.scrollTop-e.wheelStartY,a=b&&e.wheelDY&&b/e.wheelDY||a&&e.wheelDX&&a/e.wheelDX;e.wheelStartX=e.wheelStartY=null;a&&(V=(V*fc+a)/(fc+1),++fc)}},200)):(e.wheelDX+=d,e.wheelDY+=c))):(c&&h&&jb(a,Math.max(0,Math.min(f.scrollTop+c*V,f.scrollHeight-f.clientHeight))), Ma(a,Math.max(0,Math.min(f.scrollLeft+d*V,f.scrollWidth-f.clientWidth))),(!c||c&&h)&&O(b),e.wheelStartX=null)}}function gc(a,b,c){if("string"==typeof b&&(b=hc[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{a.isReadOnly()&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Fe}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function Wf(a,b,c){for(var d=0;dB&&27==a.keyCode&&(a.returnValue=!1);var b=a.keyCode;this.display.shift=16==b||a.shiftKey;var c=Ge(this,a);ba&&(kd=c?b:null,!c&&88==b&&!He&&(Y?a.metaKey:a.ctrlKey)&&this.replaceSelection("",null,"cut"));18!=b||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)|| ag(this)}}function ag(a){function b(a){18!=a.keyCode&&a.altKey||(ib(c,"CodeMirror-crosshair"),ja(document,"keyup",b),ja(document,"mouseover",b))}var c=a.display.lineDiv;kb(c,"CodeMirror-crosshair");v(document,"keyup",b);v(document,"mouseover",b)}function ze(a){16==a.keyCode&&(this.doc.sel.shift=!1);H(this,a)}function Be(a){if(!(na(this.display,a)||H(this,a)||a.ctrlKey&&!a.altKey||Y&&a.metaKey)){var b=a.keyCode,c=a.charCode;if(ba&&b==kd)kd=null,O(a);else if(!ba||a.which&&!(10>a.which)||!Ge(this,a))if(b= String.fromCharCode(null==c?b:c),!$f(this,a,b))this.display.input.onKeyPress(a)}}function Rf(a){a.state.delayingBlurEvent=!0;setTimeout(function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,bb(a))},100)}function yc(a,b){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1);"nocursor"!=a.options.readOnly&&(a.state.focused||(J(a,"focus",a,b),a.state.focused=!0,kb(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),K&&setTimeout(function(){a.display.input.reset(!0)}, 20)),a.display.input.receivedFocus()),Zc(a))}function bb(a,b){a.state.delayingBlurEvent||(a.state.focused&&(J(a,"blur",a,b),a.state.focused=!1,ib(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused||(a.display.shift=!1)},150))}function ue(a,b){var c;(c=na(a.display,b))||(c=W(a,"gutterContextMenu")?gd(a,b,"gutterContextMenu",!1):!1);if(!c&&!H(a,b,"contextmenu"))a.display.input.onContextMenu(b)}function Ie(a,b){if(0>w(a,b.from))return a;if(0>= w(a,b.to))return Ea(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;a.line==b.to.line&&(d+=Ea(b).ch-b.to.ch);return r(c,d)}function ld(a,b){for(var c=[],d=0;da.lastLine())){if(b.from.linee&&(b={from:b.from,to:r(e,t(a,e).text.length),text:[b.text[0]],origin:b.origin});b.removed=Ba(a,b.from,b.to);c||(c=ld(a,b));a.cm?cg(a.cm,b,d):od(a,b,d);Tb(a,c,ha)}}function cg(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,k=f.line;a.options.lineWrapping|| (k=F(ia(t(d,f.line))),d.iter(k,g.line+1,function(a){if(a==e.maxLine)return h=!0}));-1e.maxLineLength&&(e.maxLine=a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)}),h&&(a.curOp.updateMaxLine=!0));d.frontier=Math.min(d.frontier,f.line);db(a,400);c=b.text.length-(g.line-f.line)-1;b.full?M(a):f.line!=g.line||1!=b.text.length||Re(a.doc,b)?M(a,f.line,g.line+1,c):ma(a,f.line, "text");c=W(a,"changes");if((d=W(a,"change"))||c)b={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin},d&&R(a,"change",a,b),c&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(b);a.display.selForContextMenu=null}function Ua(a,b,c,d,e){d||(d=c);if(0>w(d,c)){var f=d;d=c;c=f}"string"==typeof b&&(b=a.splitLines(b));Oa(a,{from:c,to:d,text:b,origin:e})}function ac(a,b,c,d,e){var f=a.display,g=va(a.display);0>c&&(c=0);var h=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:f.scroller.scrollTop, k=Oc(a),l={};e-c>k&&(e=c+k);var m=a.doc.height+Fc(f),p=cm-g;ch+k&&(c=Math.min(c,(g?m:e)-k),c!=h&&(l.scrollTop=c));h=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:f.scroller.scrollLeft;a=za(a)-(a.options.fixedGutter?f.gutters.offsetWidth:0);(f=d-b>a)&&(d=b+a);10>b?l.scrollLeft=0:ba+h-3&&(l.scrollLeft=d+(f?0:10)-a);return l}function kc(a,b,c){null==b&&null==c||lc(a);null!=b&&(a.curOp.scrollLeft=(null==a.curOp.scrollLeft?a.doc.scrollLeft: a.curOp.scrollLeft)+b);null!=c&&(a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+c)}function Pa(a){lc(a);var b=a.getCursor(),c=b,d=b;a.options.lineWrapping||(c=b.ch?r(b.line,b.ch-1):b,d=r(b.line,b.ch+1));a.curOp.scrollToPos={from:c,to:d,margin:a.options.cursorScrollMargin,isCursor:!0}}function lc(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=te(a,b.from),d=te(a,b.to),b=ac(a,Math.min(c.left,d.left),Math.min(c.top,d.top)-b.margin,Math.max(c.right,d.right), Math.max(c.bottom,d.bottom)+b.margin);a.scrollTo(b.scrollLeft,b.scrollTop)}}function nb(a,b,c,d){var e=a.doc,f;null==c&&(c="add");"smart"==c&&(e.mode.indent?f=rb(a,b):c="prev");var g=a.options.tabSize,h=t(e,b),k=aa(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var l=h.text.match(/^\s*/)[0],m;if(!d&&!/\S/.test(h.text))m=0,c="not";else if("smart"==c&&(m=e.mode.indent(f,h.text.slice(l.length),h.text),m==Fe||150e.first?aa(t(e,b-1).text,null,g):0:"add"==c?m= k+a.options.indentUnit:"subtract"==c?m=k-a.options.indentUnit:"number"==typeof c&&(m=k+c);m=Math.max(0,m);c="";d=0;if(a.options.indentWithTabs)for(a=Math.floor(m/g);a;--a)d+=g,c+="\t";d=w(f.from,z(d).to);){var g=d.pop();if(0>w(g.from,f.from)){f.from=g.from;break}}d.push(f)}T(a,function(){for(var b=d.length-1;0<=b;b--)Ua(a.doc,"",d[b].from,d[b].to,"+delete");Pa(a)})}function qd(a,b,c,d,e){function f(b){var d=(e?fd:Se)(l,h,c,!0);if(null==d){if(b=!b)b=g+c,b=a.first+a.size?b=!1:(g=b,b=l=t(a,b));if(b)h= e?(0>c?$b:Zb)(l):0>c?l.text.length:0;else return!1}else h=d;return!0}var g=b.line,h=b.ch,k=c,l=t(a,g);if("char"==d)f();else if("column"==d)f(!0);else if("word"==d||"group"==d){var m=null;d="group"==d;for(var p=a.cm&&a.cm.getHelper(b,"wordChars"),n=!0;!(0>c)||f(!n);n=!1){var q=l.text.charAt(h)||"\n",q=nc(q,p)?"w":d&&"\n"==q?"n":!d||/\s/.test(q)?null:"p";!d||n||q||(q="s");if(m&&m!=q){0>c&&(c=1,f());break}q&&(m=q);if(0c?0>=g:g>=e.height){b.hitSide=!0;break}g+=5*c}return b}function u(a,b,c,d){q.defaults[a]=b;c&&(Ka[a]=d?function(a,b,d){d!=Ed&&c(a,b,d)}:c)}function dg(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g< b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else if(/^s(hift)$/i.test(h))e=!0;else throw Error("Unrecognized modifier name: "+h);}c&&(a="Alt-"+a);d&&(a="Ctrl-"+a);f&&(a="Cmd-"+a);e&&(a="Shift-"+a);return a}function oc(a){return"string"==typeof a?ta[a]:a}function Wa(a,b,c,d,e){if(d&&d.shared)return eg(a,b,c,d,e);if(a.cm&&!a.cm.curOp)return G(a.cm,Wa)(a,b,c,d,e);var f=new Ga(a,e);e=w(b,c);d&&X(d,f,!1);if(0< e||0==e&&!1!==f.clearWhenEmpty)return f;f.replacedWith&&(f.collapsed=!0,f.widgetNode=s("span",[f.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||f.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(f.widgetNode.insertLeft=!0));if(f.collapsed){if(Ue(a,b.line,b,c,f)||b.line!=c.line&&Ue(a,c.line,b,c,f))throw Error("Inserting collapsed marker partially overlapping an existing one");ra=!0}f.addToHistory&&Ne(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var g=b.line,h=a.cm,k;a.iter(g, c.line+1,function(a){h&&f.collapsed&&!h.options.lineWrapping&&ia(a)==h.display.maxLine&&(k=!0);f.collapsed&&g!=b.line&&ca(a,0);var d=new pc(f,g==b.line?b.ch:null,g==c.line?c.ch:null);a.markedSpans=a.markedSpans?a.markedSpans.concat([d]):[d];d.marker.attachLine(a);++g});f.collapsed&&a.iter(b.line,c.line+1,function(b){wa(a,b)&&ca(b,0)});f.clearOnEnter&&v(f,"beforeCursorEnter",function(){f.clear()});f.readOnly&&(Le=!0,(a.history.done.length||a.history.undone.length)&&a.clearHistory());f.collapsed&&(f.id= ++rd,f.atomic=!0);if(h){k&&(h.curOp.updateMaxLine=!0);if(f.collapsed)M(h,b.line,c.line+1);else if(f.className||f.title||f.startStyle||f.endStyle||f.css)for(d=b.line;d<=c.line;d++)ma(h,d,"text");f.atomic&&ie(h.doc);R(h,"markerAdded",h,f)}return f}function eg(a,b,c,d,e){d=X(d);d.shared=!1;var f=[Wa(a,b,c,d,e)],g=f[0],h=d.widgetNode;Fa(a,function(a){h&&(d.widgetNode=h.cloneNode(!0));f.push(Wa(a,x(a,b),x(a,c),d,e));for(var l=0;l=e:l.to>e);(k||(k=[])).push(new pc(m,l.from,p?null:l.to))}}c=k;if(d)for(var h=0,n;h=f:k.to>f)||k.from==f&&"bookmark"==l.type&&(!g||k.marker.insertLeft))m=null==k.from||(l.inclusiveLeft?k.from<=f:k.fromw(g.to,e.from)||0k||!c.inclusiveLeft&&!k)&&h.push({from:g.from,to:e.from});(0Ze(d,e.marker))&&(d=e.marker);return d}function Ue(a,b,c,d,e){a=t(a,b);if(a=ra&&a.markedSpans)for(b=0;b=k||0>=h&&0<=k)&&(0>=h&&(f.marker.inclusiveRight&&e.inclusiveLeft?0<=w(g.to,c):0=w(g.from,d):0>w(g.from,d))))return!0}}}function ia(a){for(var b;b=xa(a,!0);)a=b.find(-1,!0).line;return a}function Nc(a,b){var c=t(a,b),d=ia(c);return c==d?b:F(d)} function Kd(a,b){if(b>a.lastLine())return b;var c=t(a,b),d;if(!wa(a,c))return b;for(;d=xa(c,!1);)c=d.find(1,!0).line;return F(c)+1}function wa(a,b){var c=ra&&b.markedSpans;if(c)for(var d,e=0;ee;e++){d&&(d[0]=q.innerMode(a,c).mode);var f=a.token(b,c);if(b.pos>b.start)return f}throw Error("Mode "+a.name+" failed to advance stream."); }function bf(a,b,c,d){function e(a){return{start:m.start,end:m.pos,string:m.current(),type:h||null,state:a?sa(f.mode,l):l}}var f=a.doc,g=f.mode,h;b=x(f,b);var k=t(f,b.line),l=rb(a,b.line,c),m=new sc(k.text,a.options.tabSize),p;for(d&&(p=[]);(d||m.posa.options.maxHighlightLength?(h=!1,g&&$c(a,b,d,m.pos),m.pos=b.length,p=null):p=$e(td(c,m,d,n),f);if(n){var q=n[0].name;q&&(p="m-"+(p?q+" "+p:q))}if(!h||l!=p){for(;ka&&e.splice(h,1,a,e[h+1],d);h+=2;k=Math.min(a,d)}if(b)if(g.opaque)e.splice(c,h-c,a,"cm-overlay "+b),h=c+2;else for(;ca.options.maxHighlightLength?sa(a.doc.mode,d):d);b.stateAfter=d;b.styles=e.styles;e.classes?b.styleClasses=e.classes:b.styleClasses&& (b.styleClasses=null);c===a.doc.frontier&&a.doc.frontier++}return b.styles}function $c(a,b,c,d){var e=a.doc.mode;a=new sc(b,a.options.tabSize);a.start=a.pos=d||0;for(""==b&&af(e,c);!a.eol();)td(e,a,c),a.start=a.pos}function ef(a,b){if(!a||/^\s*$/.test(a))return null;var c=b.addModeClass?ig:jg;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$\x26"))}function Rd(a,b){var c=s("span",null,null,K?"padding-right: .1px":null),c={pre:s("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,trailingSpace:!1,splitSpaces:(A|| K)&&a.getOption("lineWrapping")};b.measure={};for(var d=0;d<=(b.rest?b.rest.length:0);d++){var e=d?b.rest[d-1]:b.line,f;c.pos=0;c.addToken=kg;var g;g=a.display.measure;if(null!=ud)g=ud;else{var h=U(g,document.createTextNode("AخA")),k=Sa(h,0,1).getBoundingClientRect(),h=Sa(h,1,2).getBoundingClientRect();pa(g);g=k&&k.left!=k.right?ud=3>h.right-k.right:!1}g&&(f=Z(e))&&(c.addToken=lg(c.addToken,f));c.map=[];k=b!=a.display.externalMeasured&&F(e);a:{g=c;var k=df(a,e,k),h=e.markedSpans,l=e.text,m=0;if(h)for(var p= l.length,n=0,q=1,r="",t=void 0,v=void 0,u=0,w=void 0,x=void 0,z=void 0,B=void 0,y=void 0;;){if(u==n){for(var w=x=z=B=v="",y=null,u=Infinity,G=[],H,C=0;Cn||D.collapsed&&I.to==n&&I.from==n)?(null!=I.to&&I.to!=n&&u>I.to&&(u=I.to,x=""),D.className&&(w+=" "+D.className),D.css&&(v=(v?v+";":"")+D.css),D.startStyle&&I.from==n&&(z+=" "+D.startStyle),D.endStyle&&I.to==u&&(H||(H=[])).push(D.endStyle, I.to),D.title&&!B&&(B=D.title),D.collapsed&&(!y||0>Ze(y.marker,D))&&(y=I)):I.from>n&&u>I.from&&(u=I.from)}if(H)for(C=0;C=p)break;for(G=Math.min(p,u);;){if(r){C=n+r.length;y||(I=C>G?r.slice(0,G-n):r,g.addToken(g,I,t?t+w:w,z,n+I.length==u?x:"",B,v));if(C>=G){r=r.slice(G-n);n=G;break}n=C;z=""}r= l.slice(m,m=k[q++]);t=ef(k[q++],g.cm.options)}}else for(var q=1;qB?h.appendChild(s("span",[r])):h.appendChild(r);a.map.push(a.pos,a.pos+q,r);a.col+=q;a.pos+=q}if(!n)break;p+=q+1;"\t"==n[0]?(r=a.cm.options.tabSize,n=r-a.col%r,r=h.appendChild(s("span",pd(n),"cm-tab")),r.setAttribute("role","presentation"),r.setAttribute("cm-text", "\t"),a.col+=n):("\r"==n[0]||"\n"==n[0]?(r=h.appendChild(s("span","\r"==n[0]?"␍":"␤","cm-invalidchar")),r.setAttribute("cm-text",n[0])):(r=a.cm.options.specialCharPlaceholder(n[0]),r.setAttribute("cm-text",n[0]),A&&9>B?h.appendChild(s("span",[r])):h.appendChild(r)),a.col+=1);a.map.push(a.pos,a.pos+1,r);a.pos++}}else a.col+=b.length,h=document.createTextNode(k),a.map.push(a.pos,a.pos+b.length,h),A&&9>B&&(m=!0),a.pos+=b.length;a.trailingSpace=32==k.charCodeAt(b.length-1);if(c||d||e||m||g)return b=c|| "",d&&(b+=d),e&&(b+=e),d=s("span",[h],b,g),f&&(d.title=f),a.content.appendChild(d);a.content.appendChild(h)}}function lg(a,b){return function(c,d,e,f,g,h,k){e=e?e+" cm-force-border":"cm-force-border";for(var l=c.pos,m=l+d.length;;){for(var p=0;pl&&n.from<=l)break}if(n.to>=m)return a(c,d,e,f,g,h,k);a(c,d.slice(0,n.to-l),e,f,null,h,k);f=null;d=d.slice(n.to-l);l=n.to}}}function ff(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e);!d&&a.cm.display.input.needsContentAttribute&& (e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id));e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e));a.pos+=b;a.trailingSpace=!1}function Re(a,b){return 0==b.from.ch&&0==b.to.ch&&""==z(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function od(a,b,c,d){function e(a,c,e){a.text=c;a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null);null!=a.order&&(a.order=null);Xe(a);Ye(a,e);c=d?d(a):1;c!=a.height&&ca(a,c);R(a,"change",a,b)} function f(a,b){for(var e=a,f=[];eb||b>=a.size)throw Error("There is no line "+ (b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(bf-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))e.lastOp==d?(ee(e.done),g=z(e.done)):e.done.length&&!z(e.done).ranges?g=z(e.done):1e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift();e.done.push(c);e.generation=++e.maxGeneration;e.lastModTime=e.lastSelTime=f;e.lastOp=e.lastSelOp=d;e.lastOrigin=e.lastSelOrigin=b.origin;k||J(a,"historyAdded")}function Ub(a,b){var c=z(b);c&& c.ranges&&c.equals(a)||b.push(a)}function gf(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans);++f})}function gg(a){if(!a)return null;for(var b=0,c;b=b.offsetWidth&&2B))}a=xd?s("span","​"):s("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");a.setAttribute("cm-text","");return a}function Gf(a,b,c,d){if(!a)return d(b, c,"ltr");for(var e=!1,f=0;fb||b==c&&g.to==b)d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr"),e=!0}e||d(b,c,"ltr")}function cd(a){return a.level%2?a.to:a.from}function dd(a){return a.level%2?a.from:a.to}function Zb(a){return(a=Z(a))?cd(a[0]):0}function $b(a){var b=Z(a);return b?dd(z(b)):a.text.length}function pf(a,b){var c=t(a.doc,b),d=ia(c);d!=c&&(b=F(d));d=(c=Z(d))?c[0].level%2?$b(d):Zb(d):0;return r(b,d)}function qf(a,b){var c=pf(a,b.line), d=t(a.doc,c.line),e=Z(d);return e&&0!=e[0].level?c:(d=Math.max(0,d.text.search(/\S/)),r(c.line,b.line==c.line&&b.ch<=d&&b.ch?0:d))}function Qb(a,b){ub=null;for(var c=0,d;cb)return c;if(e.from==b||e.to==b)if(null==d)d=c;else{var f;f=e.level;var g=a[d].level,h=a[0].level;f=f==h?!0:g==h?!1:fg.from&&bb||b>a.text.length?null:b}var S=navigator.userAgent,rf=navigator.platform,oa=/gecko\/\d/i.test(S),sf=/MSIE \d/.test(S),tf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(S), A=sf||tf,B=A&&(sf?document.documentMode||6:tf[1]),K=/WebKit\//.test(S),rg=K&&/Qt\/\d+\.\d+/.test(S),sg=/Chrome\//.test(S),ba=/Opera\//.test(S),xe=/Apple Computer/.test(navigator.vendor),tg=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(S),Mf=/PhantomJS/.test(S),ob=/AppleWebKit/.test(S)&&/Mobile\/\w+/.test(S),ab=ob||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(S),Y=ob||/Mac/.test(rf),Vf=/\bCrOS\b/.test(S),ug=/win/i.test(rf),Ha=ba&&S.match(/Version\/(\d*\.\d*)/);Ha&&(Ha=Number(Ha[1]));Ha&&15<= Ha&&(ba=!1,K=!0);var uf=Y&&(rg||ba&&(null==Ha||12.11>Ha)),hd=oa||A&&9<=B,Le=!1,ra=!1;Gc.prototype=X({update:function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;c?(this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0",this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+(a.viewHeight-(b?d:0)))+"px"):(this.vert.style.display="",this.vert.firstChild.style.height="0");b?(this.horiz.style.display="block",this.horiz.style.right= c?d+"px":"0",this.horiz.style.left=a.barLeft+"px",this.horiz.firstChild.style.width=a.scrollWidth-a.clientWidth+(a.viewWidth-a.barLeft-(c?d:0))+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0");!this.checkedZeroWidth&&0B&&f.scrollbars.setScrollTop(f.scroller.scrollTop=k);if(null!=g.selectionStart){(!A||A&&9>B)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&0 a++?f.detectingSelectAll=setTimeout(c,500):f.input.reset()};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=Da(e,a),k=f.scroller.scrollTop;if(h&&!ba){e.options.resetSelectionOnContextMenu&&-1==e.doc.sel.contains(h)&&G(e,C)(e.doc,ga(h),ha);var l=g.style.cssText,m=d.wrapper.style.cssText;d.wrapper.style.cssText="position: absolute";h=d.wrapper.getBoundingClientRect();g.style.cssText="position: absolute; width: 30px; height: 30px; top: "+(a.clientY-h.top-5)+"px; left: "+ (a.clientX-h.left-5)+"px; z-index: 1000; background: "+(A?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity\x3d5);";if(K)var p=window.scrollY;f.input.focus();K&&window.scrollTo(null,p);f.input.reset();e.somethingSelected()||(g.value=d.prevInput=" ");d.contextMenuPending=!0;f.selForContextMenu=e.doc.sel;clearTimeout(f.detectingSelectAll);A&&9<=B&&b();if(hd){cc(a);var n=function(){ja(window,"mouseup",n); setTimeout(c,20)};v(window,"mouseup",n)}else setTimeout(c,50)}},readOnlyChanged:function(a){a||this.reset()},setUneditable:Cb,needsContentAttribute:!1},Tc.prototype);Uc.prototype=X({init:function(a){function b(a){if(!H(d,a)){if(d.somethingSelected())P={lineWise:!1,text:d.getSelections()},"cut"==a.type&&d.replaceSelection("",null,"cut");else if(d.options.lineWiseCopyCut){var b=Wd(d);P={lineWise:!0,text:b.text};"cut"==a.type&&d.operation(function(){d.setSelections(b.ranges,0,ha);d.replaceSelection("", null,"cut")})}else return;if(a.clipboardData){a.clipboardData.clearData();var h=P.text.join("\n");a.clipboardData.setData("Text",h);if(a.clipboardData.getData("Text")==h){a.preventDefault();return}}var k=Yd();a=k.firstChild;d.display.lineSpace.insertBefore(k,d.display.lineSpace.firstChild);a.value=P.text.join("\n");var l=document.activeElement;Za(a);setTimeout(function(){d.display.lineSpace.removeChild(k);l.focus();l==e&&c.showPrimarySelection()},50)}}var c=this,d=c.cm,e=c.div=a.lineDiv;Xd(e,d.options.spellcheck); v(e,"paste",function(a){H(d,a)||Vd(a,d)||11>=B&&setTimeout(G(d,function(){c.pollContent()||M(d)}),20)});v(e,"compositionstart",function(a){a=a.data;c.composing={sel:d.doc.sel,data:a,startData:a};if(a){var b=d.doc.sel.primary(),e=d.getLine(b.head.line).indexOf(a,Math.max(0,b.head.ch-a.length));-1b.viewTo-1)return!1;var e;d.line==b.viewFrom||0==(e=Aa(a,d.line))?(d=F(b.view[0].line),e=b.view[0].node):(d=F(b.view[e].line),e=b.view[e-1].node.nextSibling);var f=Aa(a,c.line);f==b.view.length-1?(c=b.viewTo-1,b=b.lineDiv.lastChild):(c=F(b.view[f+1].line)-1,b=b.view[f+1].node.previousSibling);b=a.doc.splitLines(Df(a,e,b,d,c));for(e=Ba(a.doc,r(d,0),r(c,t(a.doc,c).text.length));1=w(a,d.to()))return c}return-1}};y.prototype={from:function(){return Nb(this.anchor,this.head)},to:function(){return Mb(this.anchor, this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};var pe={left:0,right:0,top:0,bottom:0},Ca,Ta=null,Lf=0,ec,dc,we=0,fc=0,V=null;A?V=-.53:oa?V=15:sg?V=-.7:xe&&(V=-1/3);var Ee=function(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail);null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta);return{x:b,y:c}};q.wheelEventPixels=function(a){a=Ee(a);a.x*=V;a.y*=V;return a};var Yf=new ua, kd=null,Ea=q.changeEnd=function(a){return a.text?r(a.from.line+a.text.length-1,z(a.text).length+(1==a.text.length?a.from.ch:0)):a.to};q.prototype={constructor:q,focus:function(){window.focus();this.display.input.focus()},setOption:function(a,b){var c=this.options,d=c[a];if(c[a]!=b||"mode"==a)c[a]=b,Ka.hasOwnProperty(a)&&G(this,Ka[a])(this,b,d)},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](oc(a))},removeKeyMap:function(a){for(var b= this.state.keyMaps,c=0;cc&&(nb(this,e.head.line,a,!0),c=e.head.line,d==this.doc.sel.primIndex&&Pa(this));else{for(var f=e.from(),e=e.to(),g=Math.max(c,f.line),c=Math.min(this.lastLine(), e.line-(e.ch?0:1))+1,e=g;e>1;if((e?b[2*e-1]:0)>=a)d=e;else if(b[2*e+1]c?b:0==c?null:b.slice(0,c-1)},getModeAt:function(a){var b=this.doc.mode;return b.innerMode?q.innerMode(b,this.getTokenAt(a).state).mode:b},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var c=[];if(!$a.hasOwnProperty(b))return c;var d=$a[b],e=this.getModeAt(a);if("string"==typeof e[b])d[e[b]]&&c.push(d[e[b]]);else if(e[b])for(var f=0;fd&&(a=d,c=!0),d=t(this.doc,a)):d=a;return bd(this,d,{top:0,left:0},b||"page").top+(c?this.doc.height-ea(d):0)},defaultTextHeight:function(){return va(this.display)},defaultCharWidth:function(){return eb(this.display)}, setGutterMarker:L(function(a,b,c){return mc(this.doc,a,"gutter",function(a){var e=a.gutterMarkers||(a.gutterMarkers={});e[b]=c;!c&&nf(e)&&(a.gutterMarkers=null);return!0})}),clearGutter:L(function(a){var b=this,c=b.doc,d=c.first;c.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&(c.gutterMarkers[a]=null,ma(b,d,"gutter"),nf(c.gutterMarkers)&&(c.gutterMarkers=null));++d})}),lineInfo:function(a){if("number"==typeof a){if(!pb(this.doc,a))return null;var b=a;a=t(this.doc,a);if(!a)return null}else if(b= F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=la(this,x(this.doc,a));var g=a.bottom,h=a.left;b.style.position="absolute";b.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(b);f.sizer.appendChild(b);if("over"==d)g=a.top; else if("above"==d||"near"==d){var k=Math.max(f.wrapper.clientHeight,this.doc.height),l=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>k)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=k&&(g=a.bottom);h+b.offsetWidth>l&&(h=l-b.offsetWidth)}b.style.top=g+"px";b.style.left=b.style.right="";"right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left= h+"px");c&&(a=ac(this,h,g,h+b.offsetWidth,g+b.offsetHeight),null!=a.scrollTop&&jb(this,a.scrollTop),null!=a.scrollLeft&&Ma(this,a.scrollLeft))},triggerOnKeyDown:L(Ae),triggerOnKeyPress:L(Be),triggerOnKeyUp:ze,execCommand:function(a){if(hc.hasOwnProperty(a))return hc[a].call(null,this)},triggerElectric:L(function(a){Ud(this,a)}),findPosH:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);var f=0;for(a=x(this.doc,a);fa?d.from():d.to()},Eb)}),deleteH:L(function(a,b){var c=this.doc;this.doc.sel.somethingSelected()?c.replaceSelection("",null,"+delete"):Va(this,function(d){var e=qd(c,d.head,a,b,!1);return 0>a?{from:e,to:d.head}:{from:d.head,to:e}})}),findPosV:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);var f=0;for(a=x(this.doc,a);fa?g.from():g.to();var k=la(c,g.head,"div");null!=g.goalColumn&&(k.left=g.goalColumn);e.push(k.left);var l=Te(c,k,a,b);"page"==b&&g==d.sel.primary()&&kc(c,null,Vb(c,l,"div").top-k.top);return l},Eb);if(e.length)for(var g=0;ga.xRel||d==b.length)&&c?--c:++d;for(var f=b.charAt(c),f=nc(f,e)?function(a){return nc(a,e)}:/\s/.test(f)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!nc(a)};0a.doc.first){var g=t(a.doc,e.line-1).text;g&&a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),r(e.line-1,g.length-1),r(e.line,1),"+transpose")}c.push(new y(e, e))}a.setSelections(c)})},newlineAndIndent:function(a){T(a,function(){for(var b=a.listSelections().length,c=0;c=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.posb},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){a=this.string.indexOf(a,this.pos);if(-1a.display.maxLineLength&&(a.display.maxLine=f,a.display.maxLineLength=g,a.display.maxLineChanged=!0);null!=c&&a&&this.collapsed&&M(a,c,d+1);this.lines.length=0;this.explicitlyCleared=!0;this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,a&&ie(a.doc));a&&R(a,"markerCleared",a,this);b&&La(a);this.parent&&this.parent.clear()}};Ga.prototype.find=function(a,b){null==a&&"bookmark"==this.type&&(a=1);for(var c,d,e=0;ethis.size-b&&(1=this.children.length)){var a=this;do{var b=a.children.splice(a.children.length- 5,5),b=new Ab(b);if(a.parent){a.size-=b.size;a.height-=b.height;var c=D(a.parent.children,a);a.parent.children.splice(c+1,0,b)}else c=new Ab(a.children),c.parent=a,a.children=[c,b],a=c;b.parent=a.parent}while(10w(h.head,h.anchor),f[e]=new y(h?k:g,h?g:k)):f[e]=new y(g,g)}f=new ka(f,this.sel.primIndex)}b=f;for(f=d.length-1;0<=f;f--)Oa(this,d[f]);b?de(this,b):this.cm&&Pa(this.cm)}),undo:N(function(){jc(this,"undo")}), redo:N(function(){jc(this,"redo")}),undoSelection:N(function(){jc(this,"undo",!0)}),redoSelection:N(function(){jc(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=x(this,a);b=x(this,b);var d=[],e=a.line;this.iter(a.line,b.line+1,function(f){if(f=f.markedSpans)for(var g=0;g=h.to||null==h.from&&e!=a.line||null!=h.from&&e==b.line&&h.from>=b.ch||c&& !c(h.marker)||d.push(h.marker.parent||h.marker)}++e});return d},getAllMarks:function(){var a=[];this.iter(function(b){if(b=b.markedSpans)for(var c=0;ca)return b=a,!0;a-=e;++c});return x(this,r(c,b))},indexFromPos:function(a){a=x(this,a);var b=a.ch;if(a.linea.ch)return 0;var c=this.lineSeparator().length; this.iter(this.first,a.line,function(a){b+=a.text.length+c});return b},copy:function(a){var b=new Q(wd(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep);b.scrollTop=this.scrollTop;b.scrollLeft=this.scrollLeft;b.sel=this.sel;b.extend=!1;a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory()));return b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from);null!=a.to&&a.toD(yg,Hb)&&(q.prototype[Hb]=function(a){return function(){return a.apply(this.doc,arguments)}}(Q.prototype[Hb]));Ya(Q);var O=q.e_preventDefault=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},zg=q.e_stopPropagation=function(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},cc=q.e_stop=function(a){O(a);zg(a)},v=q.on=function(a,b,c){a.addEventListener? a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):(a=a._handlers||(a._handlers={}),(a[b]||(a[b]=[])).push(c))},kf=[],ja=q.off=function(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else for(a=uc(a,b,!1),b=0;bf||f>=b)return e+(b-d);e+=f-d;e+=c-e%c;d=f+1}},De=q.findColumn=function(a,b,c){for(var d=0,e=0;;){var f=a.indexOf("\t",d);-1==f&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);e+=f-d;e+=c-e%c;d=f+ 1;if(e>=b)return d}},vc=[""],Za=function(a){a.select()};ob?Za=function(a){a.selectionStart=0;a.selectionEnd=a.value.length}:A&&(Za=function(a){try{a.select()}catch(b){}});var Ag=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,mf=q.isWordChar=function(a){return/\w/.test(a)||"€"B&&(fa=function(){try{return document.activeElement}catch(a){return document.body}}); var ib=q.rmClass=function(a,b){var c=a.className,d=Db(b).exec(c);if(d){var e=c.slice(d.index+d[0].length);a.className=c.slice(0,d.index)+(e?d[1]+e:"")}},kb=q.addClass=function(a,b){var c=a.className;Db(b).test(c)||(a.className+=(c?" ":"")+b)},Cd=!1,Sf=function(){if(A&&9>B)return!1;var a=s("div");return"draggable"in a||"dragDrop"in a}(),xd,ud,xg=q.splitLines=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);-1==e&&(e=a.length);var f=a.slice(b,"\r"== a.charAt(e-1)?e-1:e),g=f.indexOf("\r");-1!=g?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},vg=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1},He=function(){var a=s("div");if("oncopy"in a)return!0;a.setAttribute("oncopy","return;");return"function"==typeof a.oncopy}(), ad=null,Ia=q.keyNames={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"\x3d",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"\x3d",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"\x3d",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left", 63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};(function(){for(var a=0;10>a;a++)Ia[a+48]=Ia[a+96]=String(a);for(a=65;90>=a;a++)Ia[a]=String.fromCharCode(a);for(a=1;12>=a;a++)Ia[a+111]=Ia[a+63235]="F"+a})();var ub,ng=function(){function a(a){return 247>=a?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(a): 1424<=a&&1524>=a?"R":1536<=a&&1773>=a?"rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm".charAt(a-1536):1774<=a&&2220>=a?"r":8192<=a&&8203>=a?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a;this.from=b;this.to=c}var c=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,d=/[stwN]/,e=/[LRr]/,f=/[Lb1n]/,g=/[1n]/;return function(h){if(!c.test(h))return!1; for(var k=h.length,l=[],m=0,p;m 1) return; // By default, don't allow completion when something is selected. // A hint function can have a `supportsSelection` property to // indicate that it can handle selections. if (this.somethingSelected()) { if (!options.hint.supportsSelection) return; // Don't try with cross-line selections for (var i = 0; i < selections.length; i++) if (selections[i].head.line != selections[i].anchor.line) return; } if (this.state.completionActive) this.state.completionActive.close(); var completion = this.state.completionActive = new Completion(this, options); if (!completion.options.hint) return; CodeMirror.signal(this, "startCompletion", this); completion.update(true); }); function Completion(cm, options) { this.cm = cm; this.options = options; this.widget = null; this.debounce = 0; this.tick = 0; this.startPos = this.cm.getCursor("start"); this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length; var self = this; cm.on("cursorActivity", this.activityFunc = function() { self.cursorActivity(); }); } var requestAnimationFrame = window.requestAnimationFrame || function(fn) { return setTimeout(fn, 1000/60); }; var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout; Completion.prototype = { close: function() { if (!this.active()) return; this.cm.state.completionActive = null; this.tick = null; this.cm.off("cursorActivity", this.activityFunc); if (this.widget && this.data) CodeMirror.signal(this.data, "close"); if (this.widget) this.widget.close(); CodeMirror.signal(this.cm, "endCompletion", this.cm); }, active: function() { return this.cm.state.completionActive == this; }, pick: function(data, i) { var completion = data.list[i]; if (completion.hint) completion.hint(this.cm, data, completion); else this.cm.replaceRange(getText(completion), completion.from || data.from, completion.to || data.to, "complete"); CodeMirror.signal(data, "pick", completion); this.close(); }, cursorActivity: function() { if (this.debounce) { cancelAnimationFrame(this.debounce); this.debounce = 0; } var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line); if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch || pos.ch < this.startPos.ch || this.cm.somethingSelected() || (pos.ch && this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) { this.close(); } else { var self = this; this.debounce = requestAnimationFrame(function() {self.update();}); if (this.widget) this.widget.disable(); } }, update: function(first) { if (this.tick == null) return var self = this, myTick = ++this.tick fetchHints(this.options.hint, this.cm, this.options, function(data) { if (self.tick == myTick) self.finishUpdate(data, first) }) }, finishUpdate: function(data, first) { if (this.data) CodeMirror.signal(this.data, "update"); var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle); if (this.widget) this.widget.close(); if (data && this.data && isNewCompletion(this.data, data)) return; this.data = data; if (data && data.list.length) { if (picked && data.list.length == 1) { this.pick(data, 0); } else { this.widget = new Widget(this, data); CodeMirror.signal(data, "shown"); } } } }; function isNewCompletion(old, nw) { var moved = CodeMirror.cmpPos(nw.from, old.from) return moved > 0 && old.to.ch - old.from.ch != nw.to.ch - nw.from.ch } function parseOptions(cm, pos, options) { var editor = cm.options.hintOptions; var out = {}; for (var prop in defaultOptions) out[prop] = defaultOptions[prop]; if (editor) for (var prop in editor) if (editor[prop] !== undefined) out[prop] = editor[prop]; if (options) for (var prop in options) if (options[prop] !== undefined) out[prop] = options[prop]; if (out.hint.resolve) out.hint = out.hint.resolve(cm, pos) return out; } function getText(completion) { if (typeof completion == "string") return completion; else return completion.text; } function buildKeyMap(completion, handle) { var baseMap = { Up: function() {handle.moveFocus(-1);}, Down: function() {handle.moveFocus(1);}, PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);}, PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);}, Home: function() {handle.setFocus(0);}, End: function() {handle.setFocus(handle.length - 1);}, Enter: handle.pick, Tab: handle.pick, Esc: handle.close }; var custom = completion.options.customKeys; var ourMap = custom ? {} : baseMap; function addBinding(key, val) { var bound; if (typeof val != "string") bound = function(cm) { return val(cm, handle); }; // This mechanism is deprecated else if (baseMap.hasOwnProperty(val)) bound = baseMap[val]; else bound = val; ourMap[key] = bound; } if (custom) for (var key in custom) if (custom.hasOwnProperty(key)) addBinding(key, custom[key]); var extra = completion.options.extraKeys; if (extra) for (var key in extra) if (extra.hasOwnProperty(key)) addBinding(key, extra[key]); return ourMap; } function getHintElement(hintsElement, el) { while (el && el != hintsElement) { if (el.nodeName.toUpperCase() === "LI" && el.parentNode == hintsElement) return el; el = el.parentNode; } } function Widget(completion, data) { this.completion = completion; this.data = data; this.picked = false; var widget = this, cm = completion.cm; var hints = this.hints = document.createElement("ul"); hints.className = "CodeMirror-hints"; this.selectedHint = data.selectedHint || 0; var completions = data.list; for (var i = 0; i < completions.length; ++i) { var elt = hints.appendChild(document.createElement("li")), cur = completions[i]; var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? "" : " " + ACTIVE_HINT_ELEMENT_CLASS); if (cur.className != null) className = cur.className + " " + className; elt.className = className; if (cur.render) cur.render(elt, data, cur); else elt.appendChild(document.createTextNode(cur.displayText || getText(cur))); elt.hintId = i; } var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null); var left = pos.left, top = pos.bottom, below = true; hints.style.left = left + "px"; hints.style.top = top + "px"; // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor. var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth); var winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight); (completion.options.container || document.body).appendChild(hints); var box = hints.getBoundingClientRect(), overlapY = box.bottom - winH; var scrolls = hints.scrollHeight > hints.clientHeight + 1 var startScroll = cm.getScrollInfo(); if (overlapY > 0) { var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top); if (curTop - height > 0) { // Fits above cursor hints.style.top = (top = pos.top - height) + "px"; below = false; } else if (height > winH) { hints.style.height = (winH - 5) + "px"; hints.style.top = (top = pos.bottom - box.top) + "px"; var cursor = cm.getCursor(); if (data.from.ch != cursor.ch) { pos = cm.cursorCoords(cursor); hints.style.left = (left = pos.left) + "px"; box = hints.getBoundingClientRect(); } } } var overlapX = box.right - winW; if (overlapX > 0) { if (box.right - box.left > winW) { hints.style.width = (winW - 5) + "px"; overlapX -= (box.right - box.left) - winW; } hints.style.left = (left = pos.left - overlapX) + "px"; } if (scrolls) for (var node = hints.firstChild; node; node = node.nextSibling) node.style.paddingRight = cm.display.nativeBarWidth + "px" cm.addKeyMap(this.keyMap = buildKeyMap(completion, { moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); }, setFocus: function(n) { widget.changeActive(n); }, menuSize: function() { return widget.screenAmount(); }, length: completions.length, close: function() { completion.close(); }, pick: function() { widget.pick(); }, data: data })); if (completion.options.closeOnUnfocus) { var closingOnBlur; cm.on("blur", this.onBlur = function() { closingOnBlur = setTimeout(function() { completion.close(); }, 100); }); cm.on("focus", this.onFocus = function() { clearTimeout(closingOnBlur); }); } cm.on("scroll", this.onScroll = function() { var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect(); var newTop = top + startScroll.top - curScroll.top; var point = newTop - (window.pageYOffset || (document.documentElement || document.body).scrollTop); if (!below) point += hints.offsetHeight; if (point <= editor.top || point >= editor.bottom) return completion.close(); hints.style.top = newTop + "px"; hints.style.left = (left + startScroll.left - curScroll.left) + "px"; }); CodeMirror.on(hints, "dblclick", function(e) { var t = getHintElement(hints, e.target || e.srcElement); if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();} }); CodeMirror.on(hints, "click", function(e) { var t = getHintElement(hints, e.target || e.srcElement); if (t && t.hintId != null) { widget.changeActive(t.hintId); if (completion.options.completeOnSingleClick) widget.pick(); } }); CodeMirror.on(hints, "mousedown", function() { setTimeout(function(){cm.focus();}, 20); }); CodeMirror.signal(data, "select", completions[0], hints.firstChild); return true; } Widget.prototype = { close: function() { if (this.completion.widget != this) return; this.completion.widget = null; this.hints.parentNode.removeChild(this.hints); this.completion.cm.removeKeyMap(this.keyMap); var cm = this.completion.cm; if (this.completion.options.closeOnUnfocus) { cm.off("blur", this.onBlur); cm.off("focus", this.onFocus); } cm.off("scroll", this.onScroll); }, disable: function() { this.completion.cm.removeKeyMap(this.keyMap); var widget = this; this.keyMap = {Enter: function() { widget.picked = true; }}; this.completion.cm.addKeyMap(this.keyMap); }, pick: function() { this.completion.pick(this.data, this.selectedHint); }, changeActive: function(i, avoidWrap) { if (i >= this.data.list.length) i = avoidWrap ? this.data.list.length - 1 : 0; else if (i < 0) i = avoidWrap ? 0 : this.data.list.length - 1; if (this.selectedHint == i) return; var node = this.hints.childNodes[this.selectedHint]; node.className = node.className.replace(" " + ACTIVE_HINT_ELEMENT_CLASS, ""); node = this.hints.childNodes[this.selectedHint = i]; node.className += " " + ACTIVE_HINT_ELEMENT_CLASS; if (node.offsetTop < this.hints.scrollTop) this.hints.scrollTop = node.offsetTop - 3; else if (node.offsetTop + node.offsetHeight > this.hints.scrollTop + this.hints.clientHeight) this.hints.scrollTop = node.offsetTop + node.offsetHeight - this.hints.clientHeight + 3; CodeMirror.signal(this.data, "select", this.data.list[this.selectedHint], node); }, screenAmount: function() { return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1; } }; function applicableHelpers(cm, helpers) { if (!cm.somethingSelected()) return helpers var result = [] for (var i = 0; i < helpers.length; i++) if (helpers[i].supportsSelection) result.push(helpers[i]) return result } function fetchHints(hint, cm, options, callback) { if (hint.async) { hint(cm, callback, options) } else { var result = hint(cm, options) if (result && result.then) result.then(callback) else callback(result) } } function resolveAutoHints(cm, pos) { var helpers = cm.getHelpers(pos, "hint"), words if (helpers.length) { var resolved = function(cm, callback, options) { var app = applicableHelpers(cm, helpers); function run(i) { if (i == app.length) return callback(null) fetchHints(app[i], cm, options, function(result) { if (result && result.list.length > 0) callback(result) else run(i + 1) }) } run(0) } resolved.async = true resolved.supportsSelection = true return resolved } else if (words = cm.getHelper(cm.getCursor(), "hintWords")) { return function(cm) { return CodeMirror.hint.fromList(cm, {words: words}) } } else if (CodeMirror.hint.anyword) { return function(cm, options) { return CodeMirror.hint.anyword(cm, options) } } else { return function() {} } } CodeMirror.registerHelper("hint", "auto", { resolve: resolveAutoHints }); CodeMirror.registerHelper("hint", "fromList", function(cm, options) { var cur = cm.getCursor(), token = cm.getTokenAt(cur); var to = CodeMirror.Pos(cur.line, token.end); if (token.string && /\w/.test(token.string[token.string.length - 1])) { var term = token.string, from = CodeMirror.Pos(cur.line, token.start); } else { var term = "", from = to; } var found = []; for (var i = 0; i < options.words.length; i++) { var word = options.words[i]; if (word.slice(0, term.length) == term) found.push(word); } if (found.length) return {list: found, from: from, to: to}; }); CodeMirror.commands.autocomplete = CodeMirror.showHint; var defaultOptions = { hint: CodeMirror.hint.auto, completeSingle: true, alignWithWord: true, closeCharacters: /[\s()\[\]{};:>,]/, closeOnUnfocus: true, completeOnSingleClick: true, container: null, customKeys: null, extraKeys: null }; CodeMirror.defineOption("hintOptions", null); }); // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { var ie_lt8 = /MSIE \d/.test(navigator.userAgent) && (document.documentMode == null || document.documentMode < 8); var Pos = CodeMirror.Pos; var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<"}; function findMatchingBracket(cm, where, strict, config) { var line = cm.getLineHandle(where.line), pos = where.ch - 1; var match = (pos >= 0 && matching[line.text.charAt(pos)]) || matching[line.text.charAt(++pos)]; if (!match) return null; var dir = match.charAt(1) == ">" ? 1 : -1; if (strict && (dir > 0) != (pos == where.ch)) return null; var style = cm.getTokenTypeAt(Pos(where.line, pos + 1)); var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style || null, config); if (found == null) return null; return {from: Pos(where.line, pos), to: found && found.pos, match: found && found.ch == match.charAt(0), forward: dir > 0}; } // bracketRegex is used to specify which type of bracket to scan // should be a regexp, e.g. /[[\]]/ // // Note: If "where" is on an open bracket, then this bracket is ignored. // // Returns false when no bracket was found, null when it reached // maxScanLines and gave up function scanForBracket(cm, where, dir, style, config) { var maxScanLen = (config && config.maxScanLineLength) || 10000; var maxScanLines = (config && config.maxScanLines) || 1000; var stack = []; var re = config && config.bracketRegex ? config.bracketRegex : /[(){}[\]]/; var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1) : Math.max(cm.firstLine() - 1, where.line - maxScanLines); for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) { var line = cm.getLine(lineNo); if (!line) continue; var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1; if (line.length > maxScanLen) continue; if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0); for (; pos != end; pos += dir) { var ch = line.charAt(pos); if (re.test(ch) && (style === undefined || cm.getTokenTypeAt(Pos(lineNo, pos + 1)) == style)) { var match = matching[ch]; if ((match.charAt(1) == ">") == (dir > 0)) stack.push(ch); else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch}; else stack.pop(); } } } return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null; } function matchBrackets(cm, autoclear, config) { // Disable brace matching in long lines, since it'll cause hugely slow updates var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000; var marks = [], ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, false, config); if (match && cm.getLine(match.from.line).length <= maxHighlightLen) { var style = match.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket"; marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style})); if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen) marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style})); } } if (marks.length) { // Kludge to work around the IE bug from issue #1193, where text // input stops going to the textare whever this fires. if (ie_lt8 && cm.state.focused) cm.focus(); var clear = function() { cm.operation(function() { for (var i = 0; i < marks.length; i++) marks[i].clear(); }); }; if (autoclear) setTimeout(clear, 800); else return clear; } } var currentlyHighlighted = null; function doMatchBrackets(cm) { cm.operation(function() { if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;} currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets); }); } CodeMirror.defineOption("matchBrackets", false, function(cm, val, old) { if (old && old != CodeMirror.Init) { cm.off("cursorActivity", doMatchBrackets); if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;} } if (val) { cm.state.matchBrackets = typeof val == "object" ? val : {}; cm.on("cursorActivity", doMatchBrackets); } }); CodeMirror.defineExtension("matchBrackets", function() {matchBrackets(this, true);}); CodeMirror.defineExtension("findMatchingBracket", function(pos, strict, config){ return findMatchingBracket(this, pos, strict, config); }); CodeMirror.defineExtension("scanForBracket", function(pos, dir, style, config){ return scanForBracket(this, pos, dir, style, config); }); }); // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { var defaults = { pairs: "()[]{}''\"\"", triples: "", explode: "[]{}" }; var Pos = CodeMirror.Pos; CodeMirror.defineOption("autoCloseBrackets", false, function(cm, val, old) { if (old && old != CodeMirror.Init) { cm.removeKeyMap(keyMap); cm.state.closeBrackets = null; } if (val) { cm.state.closeBrackets = val; cm.addKeyMap(keyMap); } }); function getOption(conf, name) { if (name == "pairs" && typeof conf == "string") return conf; if (typeof conf == "object" && conf[name] != null) return conf[name]; return defaults[name]; } var bind = defaults.pairs + "`"; var keyMap = {Backspace: handleBackspace, Enter: handleEnter}; for (var i = 0; i < bind.length; i++) keyMap["'" + bind.charAt(i) + "'"] = handler(bind.charAt(i)); function handler(ch) { return function(cm) { return handleChar(cm, ch); }; } function getConfig(cm) { var deflt = cm.state.closeBrackets; if (!deflt) return null; var mode = cm.getModeAt(cm.getCursor()); return mode.closeBrackets || deflt; } function handleBackspace(cm) { var conf = getConfig(cm); if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass; var pairs = getOption(conf, "pairs"); var ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var around = charsAround(cm, ranges[i].head); if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass; } for (var i = ranges.length - 1; i >= 0; i--) { var cur = ranges[i].head; cm.replaceRange("", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), "+delete"); } } function handleEnter(cm) { var conf = getConfig(cm); var explode = conf && getOption(conf, "explode"); if (!explode || cm.getOption("disableInput")) return CodeMirror.Pass; var ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var around = charsAround(cm, ranges[i].head); if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass; } cm.operation(function() { cm.replaceSelection("\n\n", null); cm.execCommand("goCharLeft"); ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { var line = ranges[i].head.line; cm.indentLine(line, null, true); cm.indentLine(line + 1, null, true); } }); } function contractSelection(sel) { var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0; return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)), head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))}; } function handleChar(cm, ch) { var conf = getConfig(cm); if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass; var pairs = getOption(conf, "pairs"); var pos = pairs.indexOf(ch); if (pos == -1) return CodeMirror.Pass; var triples = getOption(conf, "triples"); var identical = pairs.charAt(pos + 1) == ch; var ranges = cm.listSelections(); var opening = pos % 2 == 0; var type; for (var i = 0; i < ranges.length; i++) { var range = ranges[i], cur = range.head, curType; var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1)); if (opening && !range.empty()) { curType = "surround"; } else if ((identical || !opening) && next == ch) { if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch) curType = "skipThree"; else curType = "skip"; } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 && cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch && (cur.ch <= 2 || cm.getRange(Pos(cur.line, cur.ch - 3), Pos(cur.line, cur.ch - 2)) != ch)) { curType = "addFour"; } else if (identical) { if (!CodeMirror.isWordChar(next) && enteringString(cm, cur, ch)) curType = "both"; else return CodeMirror.Pass; } else if (opening && (cm.getLine(cur.line).length == cur.ch || isClosingBracket(next, pairs) || /\s/.test(next))) { curType = "both"; } else { return CodeMirror.Pass; } if (!type) type = curType; else if (type != curType) return CodeMirror.Pass; } var left = pos % 2 ? pairs.charAt(pos - 1) : ch; var right = pos % 2 ? ch : pairs.charAt(pos + 1); cm.operation(function() { if (type == "skip") { cm.execCommand("goCharRight"); } else if (type == "skipThree") { for (var i = 0; i < 3; i++) cm.execCommand("goCharRight"); } else if (type == "surround") { var sels = cm.getSelections(); for (var i = 0; i < sels.length; i++) sels[i] = left + sels[i] + right; cm.replaceSelections(sels, "around"); sels = cm.listSelections().slice(); for (var i = 0; i < sels.length; i++) sels[i] = contractSelection(sels[i]); cm.setSelections(sels); } else if (type == "both") { cm.replaceSelection(left + right, null); cm.triggerElectric(left + right); cm.execCommand("goCharLeft"); } else if (type == "addFour") { cm.replaceSelection(left + left + left + left, "before"); cm.execCommand("goCharRight"); } }); } function isClosingBracket(ch, pairs) { var pos = pairs.lastIndexOf(ch); return pos > -1 && pos % 2 == 1; } function charsAround(cm, pos) { var str = cm.getRange(Pos(pos.line, pos.ch - 1), Pos(pos.line, pos.ch + 1)); return str.length == 2 ? str : null; } // Project the token type that will exists after the given char is // typed, and use it to determine whether it would cause the start // of a string token. function enteringString(cm, pos, ch) { var line = cm.getLine(pos.line); var token = cm.getTokenAt(pos); if (/\bstring2?\b/.test(token.type)) return false; var stream = new CodeMirror.StringStream(line.slice(0, pos.ch) + ch + line.slice(pos.ch), 4); stream.pos = stream.start = token.start; for (;;) { var type1 = cm.getMode().token(stream, token.state); if (stream.pos >= pos.ch + 1) return /\bstring2?\b/.test(type1); stream.start = stream.pos; } } }); var h,aa=aa||{},ba=this;function ca(a){return"string"==typeof a}function da(){} function ha(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null"; else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function ia(a){return"array"==ha(a)}function ja(a){var b=ha(a);return"array"==b||"object"==b&&"number"==typeof a.length}function ka(a){return"function"==ha(a)}function la(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}function ma(a){return a[oa]||(a[oa]=++pa)}var oa="closure_uid_"+(1E9*Math.random()>>>0),pa=0;function ra(a,b,c){return a.call.apply(a.bind,arguments)} function sa(a,b,c){if(!a)throw Error();if(2/g,Ga=/"/g,Ha=/'/g,Ia=/\x00/g,Ca=/[\x00&<>"']/;function Ja(a,b){return ab?1:0} function Ka(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};function La(a){if(Error.captureStackTrace)Error.captureStackTrace(this,La);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))}ya(La,Error);La.prototype.name="CustomError";function Ma(a,b){b.unshift(a);La.call(this,za.apply(null,b));b.shift()}ya(Ma,La);Ma.prototype.name="AssertionError";function Na(a,b){throw new Ma("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));};var Oa=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(ca(a))return ca(b)&&1==b.length?a.indexOf(b,0):-1;for(var c=0;cb?null:ca(a)?a.charAt(b):a[b]}function Ua(a){return Array.prototype.concat.apply([],arguments)}function Va(a){var b=a.length;if(0b?1:a2*this.Aa&&lb(this),!0):!1}; function lb(a){if(a.Aa!=a.gb.length){for(var b=0,c=0;bb)throw Error("Bad port number "+b);a.Ac=b}else a.Ac=null} function zb(a,b,c){wb(a);a.cc=c?Bb(b,!0):b}function Ab(a,b,c){wb(a);b instanceof Cb?(a.yb=b,a.yb.zf(a.Fb)):(c||(b=Db(b,Ib)),a.yb=new Cb(b,a.Fb))}h.getQuery=function(){return this.yb.toString()};function Jb(a,b,c){wb(a);ia(c)||(c=[String(c)]);Kb(a.yb,b,c)}h.removeParameter=function(a){wb(this);this.yb.remove(a);return this};h.isReadOnly=function(){return this.bg};function wb(a){if(a.bg)throw Error("Tried to modify a read-only Uri");}h.zf=function(a){this.Fb=a;this.yb&&this.yb.zf(a)}; function Bb(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""}function Db(a,b,c){return ca(a)?(a=encodeURI(a).replace(b,Lb),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null}function Lb(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var Eb=/[#\/\?@]/g,Gb=/[#\?:]/g,Fb=/[#\?]/g,Ib=/[#\?@]/g,Hb=/#/g;function Cb(a,b){this.Aa=this.Ga=null;this.vb=a||null;this.Fb=!!b} function Mb(a){a.Ga||(a.Ga=new kb,a.Aa=0,a.vb&&rb(a.vb,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))}h=Cb.prototype;h.Zf=function(){Mb(this);return this.Aa};h.add=function(a,b){Mb(this);this.vb=null;a=Nb(this,a);var c=this.Ga.get(a);c||this.Ga.set(a,c=[]);c.push(b);this.Aa+=1;return this};h.remove=function(a){Mb(this);a=Nb(this,a);return this.Ga.Od(a)?(this.vb=null,this.Aa-=this.Ga.get(a).length,this.Ga.remove(a)):!1};h.clear=function(){this.Ga=this.vb=null;this.Aa=0}; h.Qc=function(){Mb(this);return 0==this.Aa};h.Od=function(a){Mb(this);a=Nb(this,a);return this.Ga.Od(a)};h.forEach=function(a,b){Mb(this);this.Ga.forEach(function(c,d){Pa(c,function(c){a.call(b,c,d,this)},this)},this)};h.wb=function(){Mb(this);for(var a=this.Ga.Mb(),b=this.Ga.wb(),c=[],d=0;da){var b=Pb[a];if(b)return b}b=new Ob([a|0],0>a?-1:0);-128<=a&&128>a&&(Pb[a]=b);return b}function Sb(a){if(isNaN(a)||!isFinite(a))return Tb;if(0>a)return Sb(-a).ha();for(var b=[],c=1,d=0;a>=c;d++)b[d]=a/c|0,c*=Ub;return new Ob(b,0)}var Ub=4294967296,Tb=Qb(0),Vb=Qb(1),Xb=Qb(16777216);h=Ob.prototype; h.ge=function(){return 0a||36>>0).toString(a);c=e;if(c.$a())return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};function Yb(a,b){return 0>b?0:bthis.compare(a)};h.tf=function(a){return 0>=this.compare(a)}; h.compare=function(a){a=this.rc(a);return a.ma()?-1:a.$a()?0:1};h.ha=function(){return this.uf().add(Vb)};h.add=function(a){for(var b=Math.max(this.oa.length,a.oa.length),c=[],d=0,e=0;e<=b;e++){var f=d+(Yb(this,e)&65535)+(Yb(a,e)&65535),g=(f>>>16)+(Yb(this,e)>>>16)+(Yb(a,e)>>>16);d=g>>>16;f&=65535;g&=65535;c[e]=g<<16|f}return new Ob(c,c[c.length-1]&-2147483648?-1:0)};h.rc=function(a){return this.add(a.ha())}; h.multiply=function(a){if(this.$a()||a.$a())return Tb;if(this.ma())return a.ma()?this.ha().multiply(a.ha()):this.ha().multiply(a).ha();if(a.ma())return this.multiply(a.ha()).ha();if(this.sd(Xb)&&a.sd(Xb))return Sb(this.Vb()*a.Vb());for(var b=this.oa.length+a.oa.length,c=[],d=0;d<2*b;d++)c[d]=0;for(d=0;d>>16,g=Yb(this,d)&65535,k=Yb(a,e)>>>16,l=Yb(a,e)&65535;c[2*d+2*e]+=g*l;$b(c,2*d+2*e);c[2*d+2*e+1]+=f*l;$b(c,2*d+2*e+1);c[2*d+2*e+ 1]+=g*k;$b(c,2*d+2*e+1);c[2*d+2*e+2]+=f*k;$b(c,2*d+2*e+2)}for(d=0;d>>16,a[b]&=65535,b++} function Zb(a,b){if(b.$a())throw Error("division by zero");if(a.$a())return Tb;if(a.ma())return b.ma()?Zb(a.ha(),b.ha()):Zb(a.ha(),b).ha();if(b.ma())return Zb(a,b.ha()).ha();if(30=e?1:Math.pow(2,e-48);f=Sb(d);for(var g=f.multiply(b);g.ma()||g.xe(a);)d-=e,f=Sb(d),g=f.multiply(b);f.$a()&&(f=Vb);c=c.add(f);a=a.rc(g)}return c}h.uf=function(){for(var a=this.oa.length,b=[],c=0;c>5;a%=32;for(var c=this.oa.length+b+(0>>32-a:Yb(this,e-b);return new Ob(d,this.mb)}; h.Bc=function(a){var b=a>>5;a%=32;for(var c=this.oa.length-b,d=[],e=0;e>>a|Yb(this,e+b+1)<<32-a:Yb(this,e+b);return new Ob(d,this.mb)};function ac(a,b){null!=a&&this.append.apply(this,arguments)}h=ac.prototype;h.uc="";h.set=function(a){this.uc=""+a};h.append=function(a,b,c){this.uc+=String(a);if(null!=b)for(var d=1;da?-1:0)})}function ic(a){a|=0;return-128<=a&&128>a?hc(a):new dc(a,0>a?-1:0)}function jc(a){return isNaN(a)?hc(0):a<=-kc?lc():a+1>=kc?mc():0>a?jc(-a).ha():new dc(a%nc|0,a/nc|0)}function oc(a,b){return new dc(a,b)} function pc(a,b){if(0==a.length)throw Error("number format error: empty string");b=b||10;if(2>b||36f?(f=jc(Math.pow(b,f)),d=d.multiply(f).add(jc(g))):(d=d.multiply(c),d=d.add(jc(g)))}return d} var nc=4294967296,kc=nc*nc/2;function mc(){return cc(fc,qc,function(){return oc(-1,2147483647)})}function lc(){return cc(fc,rc,function(){return oc(0,-2147483648)})}function sc(){return cc(fc,tc,function(){return ic(16777216)})}h=dc.prototype;h.ge=function(){return this.Ba};h.Vb=function(){return this.Fa*nc+(0<=this.Ba?this.Ba:nc+this.Ba)}; h.toString=function(a){a=a||10;if(2>a||36>>0).toString(a);b=e;if(b.$a())return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};h.$a=function(){return 0==this.Fa&&0==this.Ba};h.ma=function(){return 0>this.Fa}; h.sf=function(){return 1==(this.Ba&1)};h.kb=function(a){return this.Fa==a.Fa&&this.Ba==a.Ba};h.sd=function(a){return 0>this.compare(a)};h.tf=function(a){return 0>=this.compare(a)};h.xe=function(a){return 0>>16,c=this.Fa&65535,d=this.Ba>>>16,e=a.Fa>>>16,f=a.Fa&65535,g=a.Ba>>>16;a=(this.Ba&65535)+(a.Ba&65535);g=(a>>>16)+(d+g);d=g>>>16;d+=c+f;b=(d>>>16)+(b+e)&65535;return oc((g&65535)<<16|a&65535,b<<16|d&65535)};h.rc=function(a){return this.add(a.ha())}; h.multiply=function(a){if(this.$a()||a.$a())return hc(0);if(this.kb(lc()))return a.sf()?lc():hc(0);if(a.kb(lc()))return this.sf()?lc():hc(0);if(this.ma())return a.ma()?this.ha().multiply(a.ha()):this.ha().multiply(a).ha();if(a.ma())return this.multiply(a.ha()).ha();if(this.sd(sc())&&a.sd(sc()))return jc(this.Vb()*a.Vb());var b=this.Fa>>>16,c=this.Fa&65535,d=this.Ba>>>16,e=this.Ba&65535,f=a.Fa>>>16,g=a.Fa&65535,k=a.Ba>>>16;a=a.Ba&65535;var l=e*a;var m=(l>>>16)+d*a;var p=m>>>16;m=(m&65535)+e*k;p+=m>>> 16;p+=c*a;var t=p>>>16;p=(p&65535)+d*k;t+=p>>>16;p=(p&65535)+e*g;t=t+(p>>>16)+(b*a+c*k+d*g+e*f)&65535;return oc((m&65535)<<16|l&65535,t<<16|p&65535)}; function uc(a,b){if(b.$a())throw Error("division by zero");if(a.$a())return hc(0);if(a.kb(lc())){if(b.kb(hc(1))||b.kb(hc(-1)))return lc();if(b.kb(lc()))return hc(1);var c=uc(a.Bc(1),b).shiftLeft(1);if(c.kb(hc(0)))return b.ma()?hc(1):hc(-1);a=a.rc(b.multiply(c));return c.add(uc(a,b))}if(b.kb(lc()))return hc(0);if(a.ma())return b.ma()?uc(a.ha(),b.ha()):uc(a.ha(),b).ha();if(b.ma())return uc(a,b.ha()).ha();for(var d=hc(0);a.qf(b);){c=Math.max(1,Math.floor(a.Vb()/b.Vb()));var e=Math.ceil(Math.log(c)/Math.LN2); e=48>=e?1:Math.pow(2,e-48);for(var f=jc(c),g=f.multiply(b);g.ma()||g.xe(a);)c-=e,f=jc(c),g=f.multiply(b);f.$a()&&(f=hc(1));d=d.add(f);a=a.rc(g)}return d}h.uf=function(){return oc(~this.Ba,~this.Fa)};h.and=function(a){return oc(this.Ba&a.Ba,this.Fa&a.Fa)};h.or=function(a){return oc(this.Ba|a.Ba,this.Fa|a.Fa)};h.xor=function(a){return oc(this.Ba^a.Ba,this.Fa^a.Fa)};h.shiftLeft=function(a){a&=63;if(0==a)return this;var b=this.Ba;return 32>a?oc(b<>>32-a):oc(0,b<a?oc(this.Ba>>>a|b<<32-a,b>>a):oc(b>>a-32,0<=b?0:-1)};function vc(a,b){b&=63;if(0==b)return a;var c=a.Fa;return 32>b?oc(a.Ba>>>b|c<<32-b,c>>>b):32==b?oc(c,0):oc(c>>>b-32,0)}var qc=1,rc=2,tc=6;var wc={},xc={},yc;if("undefined"===typeof wc||"undefined"===typeof xc||"undefined"===typeof n)var n={};if("undefined"===typeof wc||"undefined"===typeof xc||"undefined"===typeof zc)var zc=null;if("undefined"===typeof wc||"undefined"===typeof xc||"undefined"===typeof Ac)var Ac=null;var Bc=!0,Cc=null;if("undefined"===typeof wc||"undefined"===typeof xc||"undefined"===typeof Dc)var Dc=null;function Ec(){return new q(null,5,[Fc,!0,Hc,!0,Ic,!1,Jc,!1,Kc,null],null)} function Lc(){Bc=!1;zc=function(){return console.log.apply(console,Va(arguments))};Ac=function(){return console.error.apply(console,Va(arguments))}}function r(a){return null!=a&&!1!==a}function Mc(a){return null==a}function Nc(a){return a instanceof Array}function Oc(a){return"number"===typeof a}function Pc(a){return null==a?!0:!1===a?!0:!1}function Qc(a){return null!=a}function Rc(a){return ca(a)}function Sc(a){return"string"===typeof a&&1===a.length}function Tc(){return!0} function Uc(a,b){return a[ha(null==b?null:b)]?!0:a._?!0:!1}function Vc(a){return null==a?null:a.constructor}function Wc(a,b){var c=Vc(b);c=r(r(c)?c.Db:c)?c.qb:ha(b);return Error(["No protocol method ",a," defined for type ",c,": ",b].join(""))}function Xc(a){var b=a.qb;return r(b)?b:u.a(a)} var Yc="undefined"!==typeof Symbol&&"function"===ha(Symbol)?Symbol.iterator:"@@iterator",Zc={_RBRACE_:"}",_COLON_:":",_BANG_:"!",_QMARK_:"?",_BSLASH_:"\\\\",_SLASH_:"/",_PERCENT_:"%",_PLUS_:"+",_SHARP_:"#",_LBRACE_:"{",_BAR_:"|",_LBRACK_:"[",_EQ_:"\x3d",_:"-",_TILDE_:"~",_RBRACK_:"]",_GT_:"\x3e",_SINGLEQUOTE_:"'",_CIRCA_:"@",_AMPERSAND_:"\x26",_DOUBLEQUOTE_:'\\"',_CARET_:"^",_LT_:"\x3c",_STAR_:"*"},$c=null; function ad(a){for(var b=a.length,c=Array(b),d=0;;)if(d>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};function te(a){a=se(a|0,-862048943);return se(a<<15|a>>>-15,461845907)}function ue(a,b){a=(a|0)^(b|0);return se(a<<13|a>>>-13,5)+-430675100|0}function ve(a,b){a=(a|0)^b;a=se(a^a>>>16,-2048144789);a=se(a^a>>>13,-1028477387);return a^a>>>16} function we(a){a:{var b=1;for(var c=0;;)if(b>2)}function Ce(a){return a instanceof w} function De(a,b){if(a.hb===b.hb)return 0;if(r(Pc(a.bb)?b.bb:!1))return-1;if(r(a.bb)){if(Pc(b.bb))return 1;var c=Xa(a.bb,b.bb);return 0===c?Xa(a.name,b.name):c}return Xa(a.name,b.name)}function w(a,b,c,d,e){this.bb=a;this.name=b;this.hb=c;this.Zc=d;this.Xb=e;this.o=2154168321;this.K=4096}h=w.prototype;h.toString=function(){return this.hb};h.equiv=function(a){return this.M(null,a)};h.M=function(a,b){return b instanceof w?this.hb===b.hb:!1}; h.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return x.g(c,this);case 3:return x.h(c,this,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.g=function(a,c){return x.g(c,this)};a.h=function(a,c,d){return x.h(c,this,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(ad(b)))};h.a=function(a){return x.g(a,this)};h.g=function(a,b){return x.h(a,this,b)};h.S=function(){return this.Xb}; h.U=function(a,b){return new w(this.bb,this.name,this.hb,this.Zc,b)};h.X=function(){var a=this.Zc;return null!=a?a:this.Zc=a=Be(we(this.name),ze(this.bb))};h.Fd=function(){return this.name};h.Gd=function(){return this.bb};h.T=function(a,b){return Zd(b,this.hb)};var Ee=function Ee(a){switch(arguments.length){case 1:return Ee.a(arguments[0]);case 2:return Ee.g(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",u.a(arguments.length)].join(""));}}; Ee.a=function(a){for(;;){if(a instanceof w)return a;if("string"===typeof a){var b=a.indexOf("/");return 1>b?Ee.g(null,a):Ee.g(a.substring(0,b),a.substring(b+1,a.length))}if(a instanceof z)a=a.eb;else throw Error("no conversion to symbol");}};Ee.g=function(a,b){var c=null!=a?[u.a(a),"/",u.a(b)].join(""):b;return new w(a,b,c,null,null)};Ee.J=2;function Fe(a){return null!=a?a.K&131072||n===a.ti?!0:a.K?!1:Uc(oe,a):Uc(oe,a)} function B(a){if(null==a)return null;if(null!=a&&(a.o&8388608||n===a.Of))return a.Z(null);if(Nc(a)||"string"===typeof a)return 0===a.length?null:new E(a,0,null);if(Uc(Sd,a))return Td(a);throw Error([u.a(a)," is not ISeqable"].join(""));}function F(a){if(null==a)return null;if(null!=a&&(a.o&64||n===a.L))return a.ua(null);a=B(a);return null==a?null:pd(a)}function H(a){return null!=a?null!=a&&(a.o&64||n===a.L)?a.Da(null):(a=B(a))?a.Da(null):He:He} function I(a){return null==a?null:null!=a&&(a.o&128||n===a.Hd)?a.xa(null):B(H(a))}var J=function J(a){switch(arguments.length){case 1:return J.a(arguments[0]);case 2:return J.g(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e=d)return-1;!(0c&&(c+=d,c=0>c?0:c);for(;;)if(cc?d+c:c;for(;;)if(0<=c){if(J.g(cf(a,c),b))return c;--c}else return-1}function ef(a,b){this.l=a;this.D=b} ef.prototype.ga=function(){return this.Da?0:a};h.jc=function(){var a=this.aa(null);return 0b)throw Error("Index out of bounds");a:for(;;){if(null==a)throw Error("Index out of bounds"); if(0===b){if(B(a)){a=F(a);break a}throw Error("Index out of bounds");}if(bf(a)){a=nd.g(a,b);break a}if(B(a))a=I(a),--b;else throw Error("Index out of bounds");}return a}if(Uc(md,a))return nd.g(a,b);throw Error(["nth not supported on this type ",u.a(Xc(Vc(a)))].join(""));} function P(a,b){if("number"!==typeof b)throw Error("Index argument to nth must be a number.");if(null==a)return null;if(null!=a&&(a.o&16||n===a.Nf))return a.da(null,b,null);if(Nc(a))return-1b?null:rf(a,b);if(Uc(md,a))return nd.h(a,b,null);throw Error(["nth not supported on this type ",u.a(Xc(Vc(a)))].join(""));} var x=function x(a){switch(arguments.length){case 2:return x.g(arguments[0],arguments[1]);case 3:return x.h(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",u.a(arguments.length)].join(""));}};x.g=function(a,b){return null==a?null:null!=a&&(a.o&256||n===a.Zg)?a.Y(null,b):Nc(a)?null!=b&&ba:a instanceof Ob?a.ma():a instanceof dc?a.ma():!1}function Xf(a){return Tf(a)?!(0>a):a instanceof Ob?Pc(a.ma()):a instanceof dc?Pc(a.ma()):!1}function Yf(a){return"number"===typeof a} function Zf(a){return"number"===typeof a}function $f(a,b){return x.h(a,b,Lf)===Lf?!1:!0}function ag(a,b){return(null!=a?n===a.xc||(a.Ld?0:Uc(xd,a)):Uc(xd,a))?yd(a,b):null!=a&&Df(a)&&$f(a,b)?new bg(b,x.g(a,b),null):null} function cg(a,b){if(a===b)return 0;if(null==a)return-1;if(null==b)return 1;if("number"===typeof a){if("number"===typeof b)return Xa(a,b);throw Error(["Cannot compare ",u.a(a)," to ",u.a(b)].join(""));}if(null!=a?a.K&2048||n===a.Yb||(a.K?0:Uc(fe,a)):Uc(fe,a))return ge(a,b);if("string"!==typeof a&&!Nc(a)&&!0!==a&&!1!==a||Vc(a)!==Vc(b))throw Error(["Cannot compare ",u.a(a)," to ",u.a(b)].join(""));return Xa(a,b)} function dg(a,b){var c=M(a),d=M(b);if(cd)a=1;else if(0===c)a=0;else a:for(d=0;;){var e=cg(cf(a,d),cf(b,d));if(0===e&&d+1>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24} function ug(a){switch(arguments.length){case 1:return!0;case 2:return Qd(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(dd:e))c[d]=a.next(),d+=1;else return Vg(new Sg(c,0,d),Ch.a?Ch.a(a):Ch.call(null,a))}else return null},null,null)};function Dh(a){this.buffer=Bh;this.tb=yh;this.jf=!1;this.Wb=null;this.Bf=a;this.Qh=!1} Dh.prototype.step=function(){if(this.tb!==yh)return!0;for(;;)if(this.tb===yh)if(this.buffer.Qc()){if(this.jf)return!1;if(this.Bf.ga()){if(this.Qh)var a=T(this.Wb,hf(null,this.Bf.next()));else a=this.Bf.next(),a=this.Wb.g?this.Wb.g(null,a):this.Wb.call(null,null,a);Te(a)&&(this.Wb.a?this.Wb.a(null):this.Wb.call(null,null),this.jf=!0)}else this.Wb.a?this.Wb.a(null):this.Wb.call(null,null),this.jf=!0}else this.tb=this.buffer.remove();else return!0};Dh.prototype.ga=function(){return this.step()}; Dh.prototype.next=function(){if(this.ga()){var a=this.tb;this.tb=yh;return a}throw Error("No such element");};Dh.prototype.remove=function(){return Error("Unsupported operation")};Dh.prototype[Yc]=function(){return Je(this)}; function Eh(a,b){var c=new Dh(b);c.Wb=function(){var b=function(){function a(a,b){c.buffer=c.buffer.add(b);return a}var b=null;b=function(b,c){switch(arguments.length){case 0:return null;case 1:return b;case 2:return a.call(this,b,c)}throw Error("Invalid arity: "+arguments.length);};b.j=function(){return null};b.a=function(a){return a};b.g=a;return b}();return a.a?a.a(b):a.call(null,b)}();return c}function Fh(a){return Pf(a)?a:(a=B(a))?a:He} function Gh(a,b){for(;;){if(null==B(b))return!0;var c=F(b);c=a.a?a.a(c):a.call(null,c);if(r(c))b=I(b);else return!1}}function Hh(a,b){for(;;)if(b=B(b)){var c=F(b);c=a.a?a.a(c):a.call(null,c);if(r(c))return c;b=I(b)}else return null}function Ih(a){if(Tf(a))return 0===(a&1);throw Error(["Argument must be an integer: ",u.a(a)].join(""));} function Jh(a){return function(){function b(b,c){return Pc(a.g?a.g(b,c):a.call(null,b,c))}function c(b){return Pc(a.a?a.a(b):a.call(null,b))}function d(){return Pc(a.j?a.j():a.call(null))}var e=null,f=function(){function b(a,b,d){var e=null;if(2a?0:a-1>>>5<<5}function ti(a,b,c){for(;;){if(0===b)return c;var d=qi(a);d.l[0]=c;c=d;b-=5}}var ui=function ui(a,b,c,d){var f=ri(c),g=a.C-1>>>b&31;5===b?f.l[g]=d:(c=c.l[g],null!=c?(b-=5,a=ui.H?ui.H(a,b,c,d):ui.call(null,a,b,c,d)):a=ti(null,b-5,d),f.l[g]=a);return f};function vi(a,b){throw Error(["No item ",u.a(a)," in vector of length ",u.a(b)].join(""));} function wi(a,b){if(b>=si(a))return a.ia;var c=a.root;for(a=a.shift;;)if(0>>a&31];a=d}else return c.l}var xi=function xi(a,b,c,d,e){var g=ri(c);if(0===b)g.l[d&31]=e;else{var k=d>>>b&31;b-=5;c=c.l[k];a=xi.P?xi.P(a,b,c,d,e):xi.call(null,a,b,c,d,e);g.l[k]=a}return g},yi=function yi(a,b,c){var e=a.C-2>>>b&31;if(5=this.C)a=new E(this.ia,0,null);else{a:{a=this.root;for(var b=this.shift;;)if(0this.C-si(this)){a=this.ia.length;for(var c=Array(a+1),d=0;;)if(d>>5>1<c)return new U(null,c,5,V,a,null);b=32;for(var d=(new U(null,32,5,V,a.slice(0,32),null)).fd(null);;)if(bb)return null;a=this.start+b;return ab||this.end<=this.start+b?vi(b,this.end-this.start):nd.g(this.Ha,this.start+b)};h.da=function(a,b,c){return 0>b||this.end<=this.start+b?c:nd.h(this.Ha,this.start+b,c)}; h.Jb=function(a,b,c){a=this.start+b;if(0>b||this.end+1<=a)throw Error(["Index ",u.a(b)," out of bounds [0,",u.a(this.aa(null)),"]"].join(""));b=this.w;c=sf.h(this.Ha,a,c);var d=this.end;a+=1;return Ki(b,c,this.start,d>a?d:a,null)};h.jb=function(){return null!=this.Ha&&n===this.Ha.af?Ai(this.Ha,this.start,this.end):new vh(this)};h.S=function(){return this.w};h.ib=function(){return new Ji(this.w,this.Ha,this.start,this.end,this.F)};h.aa=function(){return this.end-this.start}; h.kc=function(){return this.start===this.end?null:nd.g(this.Ha,this.end-1)};h.lc=function(){if(this.start===this.end)throw Error("Can't pop empty vector");return Ki(this.w,this.Ha,this.start,this.end-1,null)};h.jc=function(){return this.start!==this.end?new ff(this,this.end-this.start-1,null):null};h.X=function(){var a=this.F;return null!=a?a:this.F=a=Le(this)};h.M=function(a,b){return gf(this,b)};h.fa=function(){return Kd(of,this.w)}; h.ya=function(a,b){return null!=this.Ha&&n===this.Ha.af?Bi(this.Ha,b,this.start,this.end):We(this,b)};h.za=function(a,b,c){return null!=this.Ha&&n===this.Ha.af?Ci(this.Ha,b,c,this.start,this.end):Xe(this,b,c)};h.nb=function(a,b,c){if("number"===typeof b)return this.Jb(null,b,c);throw Error("Subvec's key for assoc must be a number.");};h.Z=function(){var a=this;return function d(c){return c===a.end?null:hf(nd.g(a.Ha,c),new Pg(null,function(){return d(c+1)},null,null))}(a.start)}; h.U=function(a,b){return b===this.w?this:Ki(b,this.Ha,this.start,this.end,this.F)};h.ja=function(a,b){return Ki(this.w,Hd(this.Ha,this.end,b),this.start,this.end+1,null)};h.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.O(null,c);case 3:return this.da(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.g=function(a,c){return this.O(null,c)};a.h=function(a,c,d){return this.da(null,c,d)};return a}(); h.apply=function(a,b){return this.call.apply(this,[this].concat(ad(b)))};h.a=function(a){return this.O(null,a)};h.g=function(a,b){return this.da(null,a,b)};Ji.prototype[Yc]=function(){return Je(this)};function Ki(a,b,c,d,e){for(;;)if(b instanceof Ji)c=b.start+c,d=b.start+d,b=b.Ha;else{if(!If(b))throw Error("v must satisfy IVector");if(0>c||dM(b))throw Error("Index out of bounds");return new Ji(a,b,c,d,e)}} function Li(a,b){if(null==b)throw Error("Assert failed: (and (not (nil? start)) (not (nil? end)))");return Ki(null,a,0,b|0,null)}function Mi(a,b){return a===b.pa?b:new pi(a,ad(b.l))}var Ni=function Ni(a,b,c,d){c=Mi(a.root.pa,c);var f=a.C-1>>>b&31;if(5===b)a=d;else{var g=c.l[f];null!=g?(b-=5,a=Ni.H?Ni.H(a,b,g,d):Ni.call(null,a,b,g,d)):a=ti(a.root.pa,b-5,d)}c.l[f]=a;return c};function Di(a,b,c,d){this.C=a;this.shift=b;this.root=c;this.ia=d;this.K=88;this.o=275}h=Di.prototype; h.hd=function(a,b){if(this.root.pa){if(32>this.C-si(this))this.ia[this.C&31]=b;else{a=new pi(this.root.pa,this.ia);var c=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];c[0]=b;this.ia=c;this.C>>>5>1<>>d&31;d=k(d-5,g.l[f]);g.l[f]=d}return g}(a.shift,a.root)}();a.root=d}return a}if(b===a.C)return a.hd(null,c);throw Error(["Index ",u.a(b)," out of bounds for TransientVector of length",u.a(a.C)].join(""));}throw Error("assoc! after persistent!");} h.aa=function(){if(this.root.pa)return this.C;throw Error("count after persistent!");};h.O=function(a,b){if(this.root.pa)return(0<=b&&b=a)return new q(this.w,this.C-1,c,null);J.g(b,this.l[d])?d+=2:(c[e]=this.l[d],c[e+1]=this.l[d+1],e+=2,d+=2)}}else return this}; h.nb=function(a,b,c){a=Zi(this.l,b);if(-1===a){if(this.Cb?4:2*(b+1));Kf(this.l,0,c,0,2*b);return new pj(a,this.ta,c)};h.Wd=function(){return qj(this.l,0,null)};h.Sc=function(a,b){return nj(this.l,a,b)};h.Pc=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.ta&e))return d;var f=tg(this.ta&e-1);e=this.l[2*f];f=this.l[2*f+1];return null==e?f.Pc(a+5,b,c,d):jj(c,e)?f:d}; h.Pb=function(a,b,c,d,e,f){var g=1<<(c>>>b&31),k=tg(this.ta&g-1);if(0===(this.ta&g)){var l=tg(this.ta);if(2*l>>b&31]=rj.Pb(a,b+5,c,d,e,f);for(e=d=0;;)if(32>d)0=== (this.ta>>>d&1)?d+=1:(k[d]=null!=this.l[e]?rj.Pb(a,b+5,Ae(this.l[e]),this.l[e],this.l[e+1],f):this.l[e+1],e+=2,d+=1);else break;return new sj(a,l+1,k)}b=Array(2*(l+4));Kf(this.l,0,b,0,2*k);b[2*k]=d;b[2*k+1]=e;Kf(this.l,2*k,b,2*(k+1),2*(l-k));f.v=!0;a=this.Jc(a);a.l=b;a.ta|=g;return a}l=this.l[2*k];g=this.l[2*k+1];if(null==l)return l=g.Pb(a,b+5,c,d,e,f),l===g?this:mj(this,a,2*k+1,l);if(jj(d,l))return e===g?this:mj(this,a,2*k+1,e);f.v=!0;f=b+5;b=Ae(l);if(b===c)e=new tj(null,b,2,[l,g,d,e]);else{var m= new ij;e=rj.Pb(a,f,b,l,g,m).Pb(a,f,c,d,e,m)}d=2*k;k=2*k+1;a=this.Jc(a);a.l[d]=null;a.l[k]=e;return a}; h.Ob=function(a,b,c,d,e){var f=1<<(b>>>a&31),g=tg(this.ta&f-1);if(0===(this.ta&f)){var k=tg(this.ta);if(16<=k){g=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];g[b>>>a&31]=rj.Ob(a+5,b,c,d,e);for(d=c=0;;)if(32>c)0===(this.ta>>>c&1)?c+=1:(g[c]=null!=this.l[d]?rj.Ob(a+5,Ae(this.l[d]),this.l[d],this.l[d+1],e):this.l[d+1],d+=2,c+=1);else break;return new sj(null,k+1,g)}a=Array(2*(k+1));Kf(this.l, 0,a,0,2*g);a[2*g]=c;a[2*g+1]=d;Kf(this.l,2*g,a,2*(g+1),2*(k-g));e.v=!0;return new pj(null,this.ta|f,a)}var l=this.l[2*g];f=this.l[2*g+1];if(null==l)return k=f.Ob(a+5,b,c,d,e),k===f?this:new pj(null,this.ta,kj(this.l,2*g+1,k));if(jj(c,l))return d===f?this:new pj(null,this.ta,kj(this.l,2*g+1,d));e.v=!0;e=this.ta;k=this.l;a+=5;var m=Ae(l);if(m===b)c=new tj(null,m,2,[l,f,c,d]);else{var p=new ij;c=rj.Ob(a,m,l,f,p).Ob(a,b,c,d,p)}a=2*g;g=2*g+1;d=ad(k);d[a]=null;d[g]=c;return new pj(null,e,d)}; h.Vd=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.ta&e))return d;var f=tg(this.ta&e-1);e=this.l[2*f];f=this.l[2*f+1];return null==e?f.Vd(a+5,b,c,d):jj(c,e)?new bg(e,f,null):d};h.Xd=function(a,b,c){var d=1<<(b>>>a&31);if(0===(this.ta&d))return this;var e=tg(this.ta&d-1),f=this.l[2*e],g=this.l[2*e+1];return null==f?(a=g.Xd(a+5,b,c),a===g?this:null!=a?new pj(null,this.ta,kj(this.l,2*e+1,a)):this.ta===d?null:new pj(null,this.ta^d,lj(this.l,e))):jj(c,f)?new pj(null,this.ta^d,lj(this.l,e)):this}; h.jb=function(){return new oj(this.l)};var rj=new pj(null,0,[]);function uj(a){this.l=a;this.D=0;this.Rb=null}uj.prototype.ga=function(){for(var a=this.l.length;;){if(null!=this.Rb&&this.Rb.ga())return!0;if(this.D>>a&31];return null!=e?e.Pc(a+5,b,c,d):d}; h.Pb=function(a,b,c,d,e,f){var g=c>>>b&31,k=this.l[g];if(null==k)return a=mj(this,a,g,rj.Pb(a,b+5,c,d,e,f)),a.C+=1,a;b=k.Pb(a,b+5,c,d,e,f);return b===k?this:mj(this,a,g,b)};h.Ob=function(a,b,c,d,e){var f=b>>>a&31,g=this.l[f];if(null==g)return new sj(null,this.C+1,kj(this.l,f,rj.Ob(a+5,b,c,d,e)));a=g.Ob(a+5,b,c,d,e);return a===g?this:new sj(null,this.C,kj(this.l,f,a))};h.Vd=function(a,b,c,d){var e=this.l[b>>>a&31];return null!=e?e.Vd(a+5,b,c,d):d}; h.Xd=function(a,b,c){var d=b>>>a&31,e=this.l[d];if(null!=e){a=e.Xd(a+5,b,c);if(a===e)d=this;else if(null==a)if(8>=this.C)a:{e=this.l;a=e.length;b=Array(2*(this.C-1));c=0;for(var f=1,g=0;;)if(ca?d:jj(c,this.l[a])?this.l[a+1]:d}; h.Pb=function(a,b,c,d,e,f){if(c===this.mc){b=wj(this.l,this.C,d);if(-1===b){if(this.l.length>2*this.C)return b=2*this.C,c=2*this.C+1,a=this.Jc(a),a.l[b]=d,a.l[c]=e,f.v=!0,a.C+=1,a;c=this.l.length;b=Array(c+2);Kf(this.l,0,b,0,c);b[c]=d;b[c+1]=e;f.v=!0;d=this.C+1;a===this.pa?(this.l=b,this.C=d,a=this):a=new tj(this.pa,this.mc,d,b);return a}return this.l[b+1]===e?this:mj(this,a,b+1,e)}return(new pj(a,1<<(this.mc>>>b&31),[null,this,null,null])).Pb(a,b,c,d,e,f)}; h.Ob=function(a,b,c,d,e){return b===this.mc?(a=wj(this.l,this.C,c),-1===a?(a=2*this.C,b=Array(a+2),Kf(this.l,0,b,0,a),b[a]=c,b[a+1]=d,e.v=!0,new tj(null,this.mc,this.C+1,b)):J.g(this.l[a+1],d)?this:new tj(null,this.mc,this.C,kj(this.l,a+1,d))):(new pj(null,1<<(this.mc>>>a&31),[null,this])).Ob(a,b,c,d,e)};h.Vd=function(a,b,c,d){a=wj(this.l,this.C,c);return 0>a?d:jj(c,this.l[a])?new bg(this.l[a],this.l[a+1],null):d}; h.Xd=function(a,b,c){a=wj(this.l,this.C,c);return-1===a?this:1===this.C?null:new tj(null,this.mc,this.C-1,lj(this.l,sg(a)))};h.jb=function(){return new oj(this.l)};function xj(a,b,c,d,e){this.w=a;this.Sb=b;this.D=c;this.R=d;this.F=e;this.o=32374988;this.K=0}h=xj.prototype;h.toString=function(){return re(this)};h.equiv=function(a){return this.M(null,a)}; h.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return K(this,a,0);case 2:return K(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a){return K(this,a,0)};a.g=function(a,c){return K(this,a,c)};return a}(); h.lastIndexOf=function(){function a(a){return df(this,a,M(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return df(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.a=a;b.g=function(a,b){return df(this,a,b)};return b}();h.S=function(){return this.w};h.xa=function(){return null==this.R?qj(this.Sb,this.D+2,null):qj(this.Sb,this.D,I(this.R))};h.X=function(){var a=this.F;return null!=a?a:this.F=a=Le(this)};h.M=function(a,b){return gf(this,b)}; h.fa=function(){return He};h.ya=function(a,b){return jf(b,this)};h.za=function(a,b,c){return kf(b,c,this)};h.ua=function(){return null==this.R?new bg(this.Sb[this.D],this.Sb[this.D+1],null):F(this.R)};h.Da=function(){var a=null==this.R?qj(this.Sb,this.D+2,null):qj(this.Sb,this.D,I(this.R));return null!=a?a:He};h.Z=function(){return this};h.U=function(a,b){return b===this.w?this:new xj(b,this.Sb,this.D,this.R,this.F)};h.ja=function(a,b){return hf(b,this)};xj.prototype[Yc]=function(){return Je(this)}; function qj(a,b,c){if(null==c)for(c=a.length;;)if(bthis.C?M(I(this))+1:this.C}; h.X=function(){var a=this.F;return null!=a?a:this.F=a=Le(this)};h.M=function(a,b){return gf(this,b)};h.fa=function(){return He};h.ya=function(a,b){return jf(b,this)};h.za=function(a,b,c){return kf(b,c,this)};h.ua=function(){var a=this.stack;return null==a?null:Ed(a)};h.Da=function(){var a=F(this.stack);a=Ej(this.Ec?a.right:a.left,I(this.stack),this.Ec);return null!=a?new Fj(null,a,this.Ec,this.C-1,null):He};h.Z=function(){return this}; h.U=function(a,b){return b===this.w?this:new Fj(b,this.stack,this.Ec,this.C,this.F)};h.ja=function(a,b){return hf(b,this)};Fj.prototype[Yc]=function(){return Je(this)};function Gj(a,b,c){return new Fj(null,Ej(a,null,b),b,c,null)} function Hj(a,b,c,d){return c instanceof Ij?c.left instanceof Ij?new Ij(c.key,c.v,c.left.hc(),new Jj(a,b,c.right,d,null),null):c.right instanceof Ij?new Ij(c.right.key,c.right.v,new Jj(c.key,c.v,c.left,c.right.left,null),new Jj(a,b,c.right.right,d,null),null):new Jj(a,b,c,d,null):new Jj(a,b,c,d,null)} function Kj(a,b,c,d){return d instanceof Ij?d.right instanceof Ij?new Ij(d.key,d.v,new Jj(a,b,c,d.left,null),d.right.hc(),null):d.left instanceof Ij?new Ij(d.left.key,d.left.v,new Jj(a,b,c,d.left.left,null),new Jj(d.key,d.v,d.left.right,d.right,null),null):new Jj(a,b,c,d,null):new Jj(a,b,c,d,null)} function Lj(a,b,c,d){if(c instanceof Ij)return new Ij(a,b,c.hc(),d,null);if(d instanceof Jj)return Kj(a,b,c,d.ce());if(d instanceof Ij&&d.left instanceof Jj)return new Ij(d.left.key,d.left.v,new Jj(a,b,c,d.left.left,null),Kj(d.key,d.v,d.left.right,d.right.ce()),null);throw Error("red-black tree invariant violation");} function Mj(a,b,c,d){if(d instanceof Ij)return new Ij(a,b,c,d.hc(),null);if(c instanceof Jj)return Hj(a,b,c.ce(),d);if(c instanceof Ij&&c.right instanceof Jj)return new Ij(c.right.key,c.right.v,Hj(c.key,c.v,c.left.ce(),c.right.left),new Jj(a,b,c.right.right,d,null),null);throw Error("red-black tree invariant violation");} var Nj=function Nj(a,b,c){var e=null!=a.left?function(){var e=a.left;return Nj.h?Nj.h(e,b,c):Nj.call(null,e,b,c)}():c;if(Te(e))return e;var f=function(){var c=a.key,f=a.v;return b.h?b.h(e,c,f):b.call(null,e,c,f)}();if(Te(f))return f;if(null!=a.right){var g=a.right;return Nj.h?Nj.h(g,b,f):Nj.call(null,g,b,f)}return f};function Jj(a,b,c,d,e){this.key=a;this.v=b;this.left=c;this.right=d;this.F=e;this.o=166619935;this.K=0}h=Jj.prototype;h.xc=n; h.ic=function(a,b){switch(b){case 0:return new bg(0,this.key,null);case 1:return new bg(1,this.v,null);default:return null}};h.lastIndexOf=function(){function a(a){return df(this,a,M(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return df(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.a=a;b.g=function(a,b){return df(this,a,b)};return b}(); h.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return K(this,a,0);case 2:return K(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a){return K(this,a,0)};a.g=function(a,c){return K(this,a,c)};return a}();h.Ff=function(a){return a.If(this)};h.ce=function(){return new Ij(this.key,this.v,this.left,this.right,null)};h.hc=function(){return this};h.Ef=function(a){return a.Hf(this)};h.replace=function(a,b,c,d){return new Jj(a,b,c,d,null)}; h.Hf=function(a){return new Jj(a.key,a.v,this,a.right,null)};h.If=function(a){return new Jj(a.key,a.v,a.left,this,null)};h.Sc=function(a,b){return Nj(this,a,b)};h.Y=function(a,b){return this.da(null,b,null)};h.N=function(a,b,c){return this.da(null,b,c)};h.O=function(a,b){if(0===b)return this.key;if(1===b)return this.v;throw Error("Index out of bounds");};h.da=function(a,b,c){return 0===b?this.key:1===b?this.v:c};h.Jb=function(a,b,c){return(new U(null,2,5,V,[this.key,this.v],null)).Jb(null,b,c)}; h.S=function(){return null};h.aa=function(){return 2};h.ff=function(){return this.key};h.gf=function(){return this.v};h.kc=function(){return this.v};h.lc=function(){return new U(null,1,5,V,[this.key],null)};h.jc=function(){return new E([this.v,this.key],0,null)};h.X=function(){var a=this.F;return null!=a?a:this.F=a=Le(this)};h.M=function(a,b){return gf(this,b)};h.fa=function(){return null};h.ya=function(a,b){return We(this,b)};h.za=function(a,b,c){return Xe(this,b,c)}; h.nb=function(a,b,c){return sf.h(new U(null,2,5,V,[this.key,this.v],null),b,c)};h.Z=function(){return new E([this.key,this.v],0,null)};h.U=function(a,b){return Kd(new U(null,2,5,V,[this.key,this.v],null),b)};h.ja=function(a,b){return new U(null,3,5,V,[this.key,this.v,b],null)}; h.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.O(null,c);case 3:return this.da(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.g=function(a,c){return this.O(null,c)};a.h=function(a,c,d){return this.da(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(ad(b)))};h.a=function(a){return this.O(null,a)};h.g=function(a,b){return this.da(null,a,b)};Jj.prototype[Yc]=function(){return Je(this)}; function Ij(a,b,c,d,e){this.key=a;this.v=b;this.left=c;this.right=d;this.F=e;this.o=166619935;this.K=0}h=Ij.prototype;h.xc=n;h.ic=function(a,b){switch(b){case 0:return new bg(0,this.key,null);case 1:return new bg(1,this.v,null);default:return null}}; h.lastIndexOf=function(){function a(a){return df(this,a,M(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return df(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.a=a;b.g=function(a,b){return df(this,a,b)};return b}(); h.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return K(this,a,0);case 2:return K(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a){return K(this,a,0)};a.g=function(a,c){return K(this,a,c)};return a}();h.Ff=function(a){return new Ij(this.key,this.v,this.left,a,null)};h.ce=function(){throw Error("red-black tree invariant violation");};h.hc=function(){return new Jj(this.key,this.v,this.left,this.right,null)}; h.Ef=function(a){return new Ij(this.key,this.v,a,this.right,null)};h.replace=function(a,b,c,d){return new Ij(a,b,c,d,null)};h.Hf=function(a){return this.left instanceof Ij?new Ij(this.key,this.v,this.left.hc(),new Jj(a.key,a.v,this.right,a.right,null),null):this.right instanceof Ij?new Ij(this.right.key,this.right.v,new Jj(this.key,this.v,this.left,this.right.left,null),new Jj(a.key,a.v,this.right.right,a.right,null),null):new Jj(a.key,a.v,this,a.right,null)}; h.If=function(a){return this.right instanceof Ij?new Ij(this.key,this.v,new Jj(a.key,a.v,a.left,this.left,null),this.right.hc(),null):this.left instanceof Ij?new Ij(this.left.key,this.left.v,new Jj(a.key,a.v,a.left,this.left.left,null),new Jj(this.key,this.v,this.left.right,this.right,null),null):new Jj(a.key,a.v,a.left,this,null)};h.Sc=function(a,b){return Nj(this,a,b)};h.Y=function(a,b){return this.da(null,b,null)};h.N=function(a,b,c){return this.da(null,b,c)}; h.O=function(a,b){if(0===b)return this.key;if(1===b)return this.v;throw Error("Index out of bounds");};h.da=function(a,b,c){return 0===b?this.key:1===b?this.v:c};h.Jb=function(a,b,c){return(new U(null,2,5,V,[this.key,this.v],null)).Jb(null,b,c)};h.S=function(){return null};h.aa=function(){return 2};h.ff=function(){return this.key};h.gf=function(){return this.v};h.kc=function(){return this.v};h.lc=function(){return new U(null,1,5,V,[this.key],null)}; h.jc=function(){return new E([this.v,this.key],0,null)};h.X=function(){var a=this.F;return null!=a?a:this.F=a=Le(this)};h.M=function(a,b){return gf(this,b)};h.fa=function(){return null};h.ya=function(a,b){return We(this,b)};h.za=function(a,b,c){return Xe(this,b,c)};h.nb=function(a,b,c){return sf.h(new U(null,2,5,V,[this.key,this.v],null),b,c)};h.Z=function(){return new E([this.key,this.v],0,null)};h.U=function(a,b){return Kd(new U(null,2,5,V,[this.key,this.v],null),b)}; h.ja=function(a,b){return new U(null,3,5,V,[this.key,this.v,b],null)};h.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.O(null,c);case 3:return this.da(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.g=function(a,c){return this.O(null,c)};a.h=function(a,c,d){return this.da(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(ad(b)))};h.a=function(a){return this.O(null,a)}; h.g=function(a,b){return this.da(null,a,b)};Ij.prototype[Yc]=function(){return Je(this)}; var Oj=function Oj(a,b,c,d,e){if(null==b)return new Ij(c,d,null,null,null);var g=function(){var d=b.key;return a.g?a.g(c,d):a.call(null,c,d)}();if(0===g)return e[0]=b,null;if(0>g)return g=function(){var g=b.left;return Oj.P?Oj.P(a,g,c,d,e):Oj.call(null,a,g,c,d,e)}(),null!=g?b.Ef(g):null;g=function(){var g=b.right;return Oj.P?Oj.P(a,g,c,d,e):Oj.call(null,a,g,c,d,e)}();return null!=g?b.Ff(g):null},Pj=function Pj(a,b){if(null==a)return b;if(null==b)return a;if(a instanceof Ij){if(b instanceof Ij){var d= function(){var d=a.right,f=b.left;return Pj.g?Pj.g(d,f):Pj.call(null,d,f)}();return d instanceof Ij?new Ij(d.key,d.v,new Ij(a.key,a.v,a.left,d.left,null),new Ij(b.key,b.v,d.right,b.right,null),null):new Ij(a.key,a.v,a.left,new Ij(b.key,b.v,d,b.right,null),null)}return new Ij(a.key,a.v,a.left,function(){var d=a.right;return Pj.g?Pj.g(d,b):Pj.call(null,d,b)}(),null)}if(b instanceof Ij)return new Ij(b.key,b.v,function(){var d=b.left;return Pj.g?Pj.g(a,d):Pj.call(null,a,d)}(),b.right,null);d=function(){var d= a.right,f=b.left;return Pj.g?Pj.g(d,f):Pj.call(null,d,f)}();return d instanceof Ij?new Ij(d.key,d.v,new Jj(a.key,a.v,a.left,d.left,null),new Jj(b.key,b.v,d.right,b.right,null),null):Lj(a.key,a.v,a.left,new Jj(b.key,b.v,d,b.right,null))},Qj=function Qj(a,b,c,d){if(null!=b){var f=function(){var d=b.key;return a.g?a.g(c,d):a.call(null,c,d)}();if(0===f)return d[0]=b,Pj(b.left,b.right);if(0>f)return f=function(){var f=b.left;return Qj.H?Qj.H(a,f,c,d):Qj.call(null,a,f,c,d)}(),null!=f||null!=d[0]?b.left instanceof Jj?Lj(b.key,b.v,f,b.right):new Ij(b.key,b.v,f,b.right,null):null;f=function(){var f=b.right;return Qj.H?Qj.H(a,f,c,d):Qj.call(null,a,f,c,d)}();return null!=f||null!=d[0]?b.right instanceof Jj?Mj(b.key,b.v,b.left,f):new Ij(b.key,b.v,b.left,f,null):null}return null},Rj=function Rj(a,b,c,d){var f=b.key,g=a.g?a.g(c,f):a.call(null,c,f);return 0===g?b.replace(f,d,b.left,b.right):0>g?b.replace(f,b.v,function(){var f=b.left;return Rj.H?Rj.H(a,f,c,d):Rj.call(null,a,f,c,d)}(),b.right):b.replace(f,b.v,b.left, function(){var f=b.right;return Rj.H?Rj.H(a,f,c,d):Rj.call(null,a,f,c,d)}())};function Sj(a,b,c,d,e){this.ub=a;this.fc=b;this.C=c;this.w=d;this.F=e;this.o=418776847;this.K=8192}h=Sj.prototype;h.xc=n;h.ic=function(a,b){return Tj(this,b)}; h.forEach=function(a){for(var b=B(this),c=null,d=0,e=0;;)if(ed?c.left:c.right}else return null}h.has=function(a){return $f(this,a)};h.Y=function(a,b){return this.N(null,b,null)};h.N=function(a,b,c){a=Tj(this,b);return null!=a?a.v:c};h.Hc=function(a,b,c){return null!=this.fc?Ve(Nj(this.fc,b,c)):c};h.S=function(){return this.w};h.ib=function(){return new Sj(this.ub,this.fc,this.C,this.w,this.F)}; h.aa=function(){return this.C};h.jc=function(){return 0=this.count)throw Error("-drop-first of empty chunk");return new kk(this.start+this.step,this.step,this.count-1)};function lk(a,b,c){this.D=a;this.end=b;this.step=c}lk.prototype.ga=function(){return 0this.end};lk.prototype.next=function(){var a=this.D;this.D+=this.step;return a};function mk(a,b,c,d,e,f,g){this.w=a;this.start=b;this.end=c;this.step=d;this.Ca=e;this.Cd=f;this.F=g;this.o=32375006;this.K=140800}h=mk.prototype;h.toString=function(){return re(this)}; h.equiv=function(a){return this.M(null,a)};h.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return K(this,a,0);case 2:return K(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a){return K(this,a,0)};a.g=function(a,c){return K(this,a,c)};return a}(); h.lastIndexOf=function(){function a(a){return df(this,a,M(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return df(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.a=a;b.g=function(a,b){return df(this,a,b)};return b}();function nk(a){if(null==a.Ca){var b=a.aa(null);32this.end&&0===this.step)return this.start;throw Error("Index out of bounds");};h.da=function(a,b,c){return 0<=b&&bthis.end&&0===this.step?this.start:c};h.jb=function(){return new lk(this.start,this.end,this.step)};h.S=function(){return this.w};h.ib=function(){return new mk(this.w,this.start,this.end,this.step,this.Ca,this.Cd,this.F)}; h.xa=function(){return 0this.end?new mk(null,this.start+this.step,this.end,this.step,null,null,null):null};h.aa=function(){return Math.ceil((this.end-this.start)/this.step)};h.X=function(){var a=this.F;return null!=a?a:this.F=a=Le(this)};h.M=function(a,b){return gf(this,b)};h.fa=function(){return He};h.ya=function(a,b){return We(this,b)}; h.za=function(a,b,c){for(a=this.start;;)if(0this.end){c=b.g?b.g(c,a):b.call(null,c,a);if(Te(c))return v(c);a+=this.step}else return c};h.ua=function(){return this.start};h.Da=function(){var a=this.xa(null);return null==a?He:a};h.Z=function(){return this};h.ne=function(){nk(this);return this.Ca};h.ed=function(){nk(this);return null==this.Cd?He:this.Cd};h.U=function(a,b){return b===this.w?this:new mk(b,this.start,this.end,this.step,this.Ca,this.Cd,this.F)}; h.ja=function(a,b){return hf(b,this)};h.cf=function(){return B(this.ed(null))};mk.prototype[Yc]=function(){return Je(this)};function ok(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new Pg(null,function(){var c=B(b);return c?hf(F(c),ok(a,Xh(a,c))):null},null,null)}function pk(a){return de(cd(function(a,c){return bh.h(a,c,x.h(a,c,0)+1)},be(qh),a))} var qk=function qk(a){switch(arguments.length){case 1:return qk.a(arguments[0]);case 2:return qk.g(arguments[0],arguments[1]);case 3:return qk.h(arguments[0],arguments[1],arguments[2]);default:for(var c=[],d=arguments.length,e=0;;)if(eCc)return Zd(a,"#");Zd(a,c);if(0===Kc.a(f))B(g)&&Zd(a,function(){var a=xk.a(f);return r(a)?a:"..."}());else{if(B(g)){var l=F(g);b.h?b.h(l,a,f):b.call(null,l,a,f)}for(var m=I(g),p=Kc.a(f)-1;;)if(!m||null!=p&&0===p){B(m)&&0===p&&(Zd(a,d),Zd(a,function(){var a=xk.a(f);return r(a)?a:"..."}()));break}else{Zd(a,d);var t=F(m);c=a;g=f;b.h?b.h(t,c,g):b.call(null,t,c,g);var y=I(m);c=p-1;m=y;p=c}}return Zd(a,e)}finally{Cc=k}} function yk(a,b){b=B(b);for(var c=null,d=0,e=0;;)if(e=b||b>=2+M(a))return nf.g(Gi(hf("",Vh.g(u,B(a)))),"");if(r(vg?Qd(1,b):ug.call(null,1,b)))return new U(null,1,5,V,[a],null);if(r(vg?Qd(2,b):ug.call(null,2,b)))return new U(null,2,5,V,["",a],null);b-=2;return nf.g(Gi(hf("",Li(Gi(Vh.g(u,B(a))),b))),a.substring(b))}function Dt(a,b){return Et(a,b,0)} function Et(a,b,c){if("/(?:)/"===u.a(b))b=Ct(a,c);else if(1>c)b=Gi(u.a(a).split(b));else a:for(var d=c,e=of;;){if(1===d){b=nf.g(e,a);break a}var f=uk(b,a);if(null!=f){var g=a.indexOf(f);f=a.substring(g+M(f));--d;e=nf.g(e,a.substring(0,g));a=f}else{b=nf.g(e,a);break a}}if(0===c&&1parseFloat(hu)){gu=String(ju);break a}}gu=hu}var ku={}; function lu(a){return cc(ku,a,function(){for(var b=0,c=Aa(String(gu)).split("."),d=Aa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f=b.Xe&&b.cancel())}this.gg?this.gg.call(this.Vf,this):this.Af=!0;this.od||(a=new iv(this),jv(this),kv(this,!1,a))}};hv.prototype.Uf=function(a,b){this.We=!1;kv(this,a,b)}; function kv(a,b,c){a.od=!0;a.qc=c;a.Sd=!b;lv(a)}function jv(a){if(a.od){if(!a.Af)throw new mv(a);a.Af=!1}}function nv(a,b,c,d){a.Je.push([b,c,d]);a.od&&lv(a)}hv.prototype.then=function(a,b,c){var d,e,f=new Pu(function(a,b){d=a;e=b});nv(this,d,function(a){a instanceof iv?f.cancel():e(a)});return f.then(a,b,c)};zu(hv);function ov(a){return Qa(a.Je,function(a){return ka(a[1])})} function lv(a){if(a.Me&&a.od&&ov(a)){var b=a.Me,c=pv[b];c&&(ba.clearTimeout(c.Oc),delete pv[b]);a.Me=0}a.ab&&(a.ab.Xe--,delete a.ab);b=a.qc;for(var d=c=!1;a.Je.length&&!a.We;){var e=a.Je.shift(),f=e[0],g=e[1];e=e[2];if(f=a.Sd?g:f)try{var k=f.call(e||a.Vf,b);void 0!==k&&(a.Sd=a.Sd&&(k==b||k instanceof Error),a.qc=b=k);if(Au(b)||"function"===typeof ba.Promise&&b instanceof ba.Promise)d=!0,a.We=!0}catch(l){b=l,a.Sd=!0,ov(a)||(c=!0)}}a.qc=b;d&&(k=ua(a.Uf,a,!0),d=ua(a.Uf,a,!1),b instanceof hv?(nv(b,k, d),b.Jg=!0):b.then(k,d));c&&(b=new qv(b),pv[b.Oc]=b,a.Me=b.Oc)}function mv(){La.call(this)}ya(mv,La);mv.prototype.message="Deferred has already fired";mv.prototype.name="AlreadyCalledError";function iv(){La.call(this)}ya(iv,La);iv.prototype.message="Deferred was canceled";iv.prototype.name="CanceledError";function qv(a){this.Oc=ba.setTimeout(ua(this.fi,this),0);this.ue=a}qv.prototype.fi=function(){delete pv[this.Oc];throw this.ue;};var pv={};function rv(a,b){var c=b||{};b=c.document||document;var d=ru(a),e=document.createElement("SCRIPT"),f={Ag:e,Cc:void 0},g=new hv(sv,f),k=null,l=null!=c.timeout?c.timeout:5E3;0=a.keyCode)a.keyCode=-1}catch(b){}};var Kv="closure_listenable_"+(1E6*Math.random()|0),Lv=0;function Mv(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.rb=e;this.key=++Lv;this.ud=this.le=!1}function Nv(a){a.ud=!0;a.listener=null;a.proxy=null;a.src=null;a.rb=null};function Ov(a){this.src=a;this.Gb={};this.Le=0}Ov.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.Gb[f];a||(a=this.Gb[f]=[],this.Le++);var g=Pv(a,b,d,e);-1d.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.currentTarget;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;!b.Vc&&0<=e;e--){b.currentTarget=d[e];var f=ew(d[e],a,!0,b);c=c&&f}for(e=0;!b.Vc&&e>>0);function Wv(a){if(ka(a))return a;a[gw]||(a[gw]=function(b){return a.handleEvent(b)});return a[gw]};function hw(){Dv.call(this);this.Kc=new Ov(this);this.Hg=this;this.ng=null}ya(hw,Dv);hw.prototype[Kv]=!0;hw.prototype.addEventListener=function(a,b,c,d){Uv(this,a,b,c,d)};hw.prototype.removeEventListener=function(a,b,c,d){cw(this,a,b,c,d)}; hw.prototype.dispatchEvent=function(a){var b,c=this.ng;if(c)for(b=[];c;c=c.ng)b.push(c);c=this.Hg;var d=a.type||a;if(ca(a))a=new Iv(a,c);else if(a instanceof Iv)a.target=a.target||c;else{var e=a;a=new Iv(d,c);hb(a,e)}e=!0;if(b)for(var f=b.length-1;!a.Vc&&0<=f;f--){var g=a.currentTarget=b[f];e=iw(g,d,!0,a)&&e}a.Vc||(g=a.currentTarget=c,e=iw(g,d,!0,a)&&e,a.Vc||(e=iw(g,d,!1,a)&&e));if(b)for(f=0;!a.Vc&&f=tw(this).value)for(ka(b)&&(b=b()),a=new lw(a,String(b),this.dg),c&&(a.Xf=c),c="log:"+a.Ph,(b=ba.console)&&b.timeStamp&&b.timeStamp(c),(b=ba.msWriteProfilerMark)&&b(c),c=this;c;){var d=c,e=a;if(d.$f)for(var f=0;b=d.$f[f];f++)b(e);c=c.getParent()}};h.info=function(a,b){this.log(qw,a,b)};var uw={},vw=null; function ww(a){vw||(vw=new nw(""),uw[""]=vw,vw.Bg(rw));var b;if(!(b=uw[a])){b=new nw(a);var c=a.lastIndexOf("."),d=a.substr(c+1);c=ww(a.substr(0,c));c.$e||(c.$e={});c.$e[d]=b;b.ab=c;uw[a]=b}return b};function xw(a,b){a&&a.log(sw,b,void 0)};function yw(){}yw.prototype.Lf=null;function zw(a){var b;(b=a.Lf)||(b={},Aw(a)&&(b[0]=!0,b[1]=!0),b=a.Lf=b);return b};var Bw;function Cw(){}ya(Cw,yw);function Dw(a){return(a=Aw(a))?new ActiveXObject(a):new XMLHttpRequest}function Aw(a){if(!a.ag&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var b=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],c=0;cthis.wd){var a=this.R.charAt(this.wd);this.wd+=1;return a}return null}; mx.prototype.Nd=function(){return this.zg>this.wd?this.R.charAt(this.wd):null};function nx(a){var b=Xg(1);this.sg=a;this.V=b;this.Ib=this.Ye=1}nx.prototype.Ic=function(){var a=this.Iba?'..."':'"',d=b.length;return['"',u.a(b.substring(0,ad?"...}":"}")});yl(rx,Vr,function(a,b){return qx(a,b,"#{","}")});yl(rx,ip,function(a,b){return qx(a,b,"[","]")});yl(rx,wl,function(a,b){return Lk(N([Vc(b)]))}); function yx(a){return rx.g?rx.g(!1,a):rx.call(null,!1,a)};function zx(a,b,c){b=new q(null,2,[Io,jn,Tl,b],null);a=ox(a)?sf.s(b,fo,lx(a),N([sq,jx(a),Dq,kx(a)])):b;var d=fo.a(a);b=sq.a(a);var e=Dq.a(a);d=r(d)?[u.a(d)," "].join(""):null;b=r(b)?["[line ",u.a(b),", col ",u.a(e),"]"].join(""):null;c=lh(u,d,b,r(r(d)?d:b)?" ":null,c);throw new Dl(c,a,null);}function Ax(a,b){return zx(a,Yl,N([T(u,b)]))}function Bx(a,b){return zx(a,kp,N([T(u,b)]))}function Cx(a,b){return zx(a,ds,N([T(u,b)]))} function Dx(a,b,c,d){Ax(a,N(["The map literal starting with ",yx(F(d)),r(b)?[" on line ",u.a(b)," column ",u.a(c)].join(""):null," contains ",M(d)," form(s). Map literals must contain an even number of forms."]))}function Ex(a,b,c){return Ax(a,N(["Invalid ",Og(b),": ",c,"."]))}function Fx(a,b,c){return Ax(a,N(["Invalid character: ",c," found while reading ",Og(b),"."]))} function Gx(a,b){a:{var c=dp instanceof z?dp.eb:null;switch(c){case "regex":c='#"';break a;case "string":c='"';break a;default:throw Error(["No matching clause: ",u.a(c)].join(""));}}return Cx(a,N(["Unexpected EOF reading ",Og(dp)," starting ",jh(u,c,b),"."]))}function Hx(a,b){return Bx(a,N(["Invalid digit ",b," in unicode character."]))}function Ix(a){return Ax(a,N(["Octal escape sequence must be in range [0, 377]."]))} function Jx(a,b){b=function(a){return function f(a){return new Pg(null,function(){for(var b=a;;)if(b=B(b)){if(Jf(b)){var c=ie(b),e=M(c),m=Tg(e);a:for(var p=0;;)if(pc?(b=c.toString(16),a=Ax(a,N(["Invalid character literal \\u",b,"."]))):a=b,a;if(0==b.lastIndexOf("o",0)){--c;if(3a.uc.length)a=a.append("0");else{a=a.toString();break a}a=Fy(a);return r(a)?a:0}();m=(J.g(m,"-")?-1:1)*(60*function(){var a=Fy(p);return r(a)?a:0}()+function(){var a=Fy(t);return r(a)?a:0}());return new U(null,8,5,V,[y,Gy(1,A,12,"timestamp month field must be in range 1..12"),Gy(1,a,function(){var a=0===(y%4+4)%4&&(0!==(y%100+100)%100||0===(y%400+400)%400);return Dy.g?Dy.g(A,a):Dy.call(null,A,a)}(),"timestamp day field must be in range 1..last day in month"),Gy(0,b, 23,"timestamp hour field must be in range 0..23"),Gy(0,c,59,"timestamp minute field must be in range 0..59"),Gy(0,D,J.g(c,59)?60:59,"timestamp second field must be in range 0..60"),Gy(0,C,999,"timestamp millisecond field must be in range 0..999"),m],null)} var Iy=Rh(null),Jy=Rh(Zj.s(N([new q(null,4,[Ho,function(a){if("string"===typeof a){var b=Hy(a);if(r(b)){a=P(b,0);var c=P(b,1),d=P(b,2),e=P(b,3),f=P(b,4),g=P(b,5),k=P(b,6);b=P(b,7);b=new Date(Date.UTC(a,c-1,d,e,f,g,k)-6E4*b)}else throw Error(["Unrecognized date/time syntax: ",u.a(a)].join(""));return b}throw Error("Instance literal expects a string for its timestamp.");},Nl,function(a){if("string"===typeof a)return Al(a);throw Error("UUID literal expects a string as its representation.");},ep,function(a){if(If(a))return ii.g(Si, a);throw Error("Queue literal expects a vector for its elements.");},ko,function(a){if(If(a)){var b=[];a=B(a);for(var c=null,d=0,e=0;;)if(e>=8);b[c++]=e}if(!Xw)for(Xw={},a=0;65>a;a++)Xw[a]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d".charAt(a);a=Xw;c=[];for(d=0;d>2;f=(f&3)<<4|g>>4;g=(g&15)<<2|l>>6;l&=63;k||(l=64,e||(g=64));c.push(a[m],a[f],a[g],a[l])}b=c.join("")}else b=null;return b} function My(a){for(var b=[],c=arguments.length,d=0;;)if(d>2)}var Vy={},Wy=0; function Xy(a){var b=0;if(null!=a.forEach)a.forEach(function(a,c){b=(b+(Yy(c)^Yy(a)))%4503599627370496});else for(var c=Py(a),d=0;da.size)return!1;a.Df++;return 32=a.length){if(b){var d=a;a=[];for(b=0;b>(-2*b&6)):0)d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d".indexOf(d); c=f}a=c.length;b=new Uint8Array(a);for(d=0;dd;d+=2,c-=8)b|=parseInt(a.substring(d,d+2),16)<d;d+=2,c-=8)e|=parseInt(a.substring(d,d+2),16)<d;d+=2,c-=8)b|=parseInt(a.substring(d, d+2),16)<d;d+=2,c-=8)e|=parseInt(a.substring(d,d+2),16)<a.length&&this.Hb.Mc){d=[];for(c=1;cc.length&&this.Hb.Mc){var f=[];for(d=0;d=b.length&&a.cd.Mc){f=[];for(e=0;e>8-d%1*8)){c=a.charCodeAt(d+=.75);if(255this.head?(UA(this.l,this.ia,a,0,this.l.length-this.ia),UA(this.l,0,a,this.l.length-this.ia,this.head),this.ia=0,this.head=this.length,this.l=a):this.ia===this.head?(this.head=this.ia=0,this.l=a):null};function XA(a,b){for(var c=a.length,d=0;;)if(d=a.n}ZA.prototype.Sf=function(a,b){WA(this.V,b);return this};ZA.prototype.aa=function(){return this.V.length};if("undefined"===typeof wc||"undefined"===typeof xc||"undefined"===typeof HA||"undefined"===typeof LA||"undefined"===typeof TA||"undefined"===typeof aB)var aB={};var bB=YA(32),cB=!1,dB=!1;function eB(){cB=!0;dB=!1;for(var a=0;;){var b=bB.pop();if(null!=b&&(b.j?b.j():b.call(null),1024>a)){a+=1;continue}break}cB=!1;return 0 d.dc.length))throw Error(["Assert failed: ",["No more than ",u.a(1024)," pending puts are allowed on a single channel. Consider using a windowed buffer."].join(""),"\n(\x3c (.-length puts) impl/MAX-QUEUE-SIZE)"].join(""));WA(d.dc,new lB(c,b))}return null}return kB(!f)}; nB.prototype.hf=function(a,b){var c=this;if(b.pb(null)){if(null!=c.V&&0c.Yc.length))throw Error(["Assert failed: ",["No more than ",u.a(1024)," pending takes are allowed on a single channel."].join(""),"\n(\x3c (.-length takes) impl/MAX-QUEUE-SIZE)"].join(""));WA(c.Yc, b)}}return null};nB.prototype.Jd=function(){var a=this;if(!a.closed)for(a.closed=!0,r(function(){var b=a.V;return r(b)?0===a.dc.length:b}())&&(a.Bb.a?a.Bb.a(a.V):a.Bb.call(null,a.V));;){var b=a.Yc.pop();if(null!=b){if(b.pb(null)){var c=b.cb(null),d=r(function(){var b=a.V;return r(b)?0c)return a;a:for(;;){var e=cMath.random()&&15>d)d+=1;else break a;if(d>this.level){for(var e=this.level+1;;)if(e<=d+1)c[e]=this.Nc,e+=1;else break;this.level=d}a=AB(a,b,Array(d));for(b=0;;)if(b<=this.level)d=c[b].forward,bb)return J.g(c.key,a)?c:c.forward[0];var d;a:for(d=c;;){var e=ba)break a;d=e}else{d=0===b?d:null;break a}}r(d)?(--b,c=d):--b}}CB.prototype.Z=function(){return function c(b){return new Pg(null,function(){return null==b?null:hf(new U(null,2,5,V,[b.key,b.v],null),c(b.forward[0]))},null,null)}(this.Nc.forward[0])}; CB.prototype.T=function(a,b,c){return wk(b,function(a){return wk(b,Ek,""," ","",c,a)},"{",", ","}",c,this)};var EB=new CB;function FB(a){var b=(new Date).valueOf()+a,c=DB(b);c=r(r(c)?c.key=e?He:new mk(null,0,e,1,null,null,null));if(0===e)OA(d);else{var m=Z(1);gB(function(){var b=function(){function b(b){var f=b[1];if(7===f)return b[2]=null,b[1]=8,W;if(1===f)return b[2]=null,b[1]=2,W;if(4===f){f=b[7];var p=b[8];b[1]=r(fkm.a(a)&&$f(fk(c),d)}function mG(a,b){return sf.h(a,b,function(){var c=x.g(a,b);return r(c)?c:0}()+1)} function nG(a,b,c,d){if(r(a)){var e=XF(a);if(r(e))return cG(e,b);if(Sf(a))return r(d)?a.a?a.a(b):a.call(null,b):r(a.a?a.a(b):a.call(null,b))?b:Vp;throw Error([Lk(N([c]))," is not a fn, expected predicate fn"].join(""));}return b}function oG(a,b,c,d,e,f){b=VF(b);r(RF(b))?(a=UF(b),d=r(a)?nf.g(d,a):d,c=LF(b,c,d,e,f)):c=new U(null,1,5,V,[new q(null,5,[Ol,c,Xm,a,Tk,f,Gn,d,kt,e],null)],null);return c} function pG(a){return a instanceof z?ZE(N([a])):J.g(Gp,F(a))?qG(1,H(a)):J.g(Ys,F(a))?T(XE,Vh.g(pG,H(a))):null}function qG(a,b){return PE(N([XE.s(N([RE(N([a,M(b)])),cF(N([Vh.g(pG,b)]))])),function(a){var b=P(a,0);a=P(a,1);return T(XE,Wh.g(b,a))}]))} var rG=function rG(a){var c=null!=a&&(a.o&64||n===a.L)?T(Uj,a):a,d=x.g(c,pt),e=x.g(c,Rl),f=x.g(c,Sl),g=x.g(c,jm),k=x.g(c,rm),l=x.g(c,ym),m=x.g(c,Qm),p=x.g(c,Xn),t=x.g(c,Yp),y=x.g(c,Vq),A=x.g(c,hr),D=x.g(c,Cr),C=jk($g.g(y,m),$g.g(p,A)),G=Bl();if("undefined"===typeof wc||"undefined"===typeof pE||"undefined"===typeof EF||"undefined"===typeof FF)FF=function(a,c,d,e,f,g,k,l,m,p,t,y,A,C,G,D,Wb,Sa,fb){this.lb=a;this.jg=c;this.Th=d;this.wg=e;this.mg=f;this.ra=g;this.og=k;this.Ce=l;this.Gf=m;this.kg=p;this.Ch= t;this.vg=y;this.tg=A;this.id=C;this.ug=G;this.lg=D;this.vh=Wb;this.pg=Sa;this.Kh=fb;this.o=393216;this.K=0},FF.prototype.U=function(a,c){return new FF(this.lb,this.jg,this.Th,this.wg,this.mg,this.ra,this.og,this.Ce,this.Gf,this.kg,this.Ch,this.vg,this.tg,this.id,this.ug,this.lg,this.vh,this.pg,c)},FF.prototype.S=function(){return this.Kh},FF.prototype.Zb=function(){return this},FF.prototype.$b=function(){return this},FF.prototype.Md=n,FF.prototype.jd=function(a,c){if(r(this.Ce.a?this.Ce.a(c):this.Ce.call(null, c))){a=v(OF);var d=B(c),e=F(d);I(d);P(e,0);P(e,1);for(e=d=c;;){c=d;var f=B(e);d=F(f);var g=I(f);f=d;d=P(f,0);f=P(f,1);if(r(e))if(e=this.lb.a?this.lb.a(d):this.lb.call(null,d),e=x.g(a,e),r(e)){e=cG(e,f);if(bG(e))return Vp;c=e===f?c:sf.h(c,d,e);e=g;d=c}else e=g,d=c;else return c}}else return Vp},FF.prototype.kd=function(a,c,d,e,f){var g=this;if(Ff(f)){var k=v(OF);return jh($g,function(){var a=B(Ph(ng,Vh.h(function(a,c){return r(a.a?a.a(f):a.call(null,f))?null:c},g.og,g.pg)));return a?Vh.g(function(a){return new q(null, 5,[Ol,c,Xm,a,Tk,f,Gn,d,kt,e],null)},a):null}(),Vh.g(function(a){var f=P(a,0);a=P(a,1);var l;(l=!$f(k,g.lb.a?g.lb.a(f):g.lb.call(null,f)))||(l=g.lb.a?g.lb.a(f):g.lb.call(null,f),l=!bG(nG(l,a,f,null)));return l?null:oG(g.lb.a?g.lb.a(f):g.lb.call(null,f),g.lb.a?g.lb.a(f):g.lb.call(null,f),nf.g(c,f),d,nf.g(e,f),a)},B(f)))}return new U(null,1,5,V,[new q(null,5,[Ol,c,Xm,$o,Tk,f,Gn,d,kt,e],null)],null)},FF.prototype.ld=function(a,c,d,e){var f=this;if(r(f.ra))return f.ra.j?f.ra.j():f.ra.call(null);var g= mG(e,f.id),k=Vh.h(function(a,e){return new U(null,2,5,V,[a,iG(e,c,nf.g(d,a),g,a)],null)},f.ug,f.vg),l=fi(Mc,Vh.h(function(a,e){return lG(g,f.id,d,a)?null:new U(null,2,5,V,[a,zE(new Uk(function(){return iG(e,c,nf.g(d,a),g,a)}))],null)},f.kg,f.lg));return Gh(ng,$g.g(Vh.g(lf,k),Vh.g(lf,l)))?PE(N([XE.s(N([T(XE,Vh.g(pG,f.tg)),qG(0,f.jg),T(XE,Vh.g(pG,f.wg)),qG(0,f.mg)])),function(a){var c=P(a,0),d=P(a,1),e=P(a,2);a=P(a,3);var f=hi($g.g(c,d)),g=Vh.g(Lh.g(Ng,Og),hi($g.g(e,a)));return T(BE,T($g,ei(function(a){a= F(a);var c=fk($g.g(f,g));return c.a?c.a(a):c.call(null,a)},ii.g(k,l))))}])):null},FF.prototype.md=function(a,c){a=sf.h(this.Gf,jm,c);return rG.a?rG.a(a):rG.call(null,a)},FF.ac=function(){return new U(null,19,5,V,[Tm,fn,nn,wn,xn,$n,jo,lo,xo,Jo,pp,Ep,Dr,as,os,Ds,et,ut,eq],null)},FF.Db=!0,FF.qb="cljs.spec.alpha/t_cljs$spec$alpha22408",FF.Kb=function(a){return Zd(a,"cljs.spec.alpha/t_cljs$spec$alpha22408")};return new FF(function(a){var c=C.a?C.a(a):C.call(null,a);return r(c)?c:a},d,a,e,f,g,k,l,c,m,c, p,t,G,y,A,C,D,qh)};function $F(a,b){return sG(a,b,null,null,null)} function sG(a,b,c,d,e){if(r(RF(b)))return r(c)?eG(b,c):b;if(r(SF(b)))return WF(b,c);if(Gg(b))return a=XF(b),r(c)?eG(a,c):a;if("undefined"===typeof wc||"undefined"===typeof pE||"undefined"===typeof EF||"undefined"===typeof GF)GF=function(a,b,c,d,e,p){this.form=a;this.Uc=b;this.ra=c;this.re=d;this.Dg=e;this.Lh=p;this.o=393216;this.K=0},GF.prototype.U=function(a,b){return new GF(this.form,this.Uc,this.ra,this.re,this.Dg,b)},GF.prototype.S=function(){return this.Lh},GF.prototype.Zb=function(){return this}, GF.prototype.$b=function(){return this},GF.prototype.Md=n,GF.prototype.jd=function(a,b){a=this.Uc.a?this.Uc.a(b):this.Uc.call(null,b);return r(this.re)?a:r(a)?b:Vp},GF.prototype.kd=function(a,b,c,d,e){return bG(nG(this.Uc,e,this.form,this.re))?new U(null,1,5,V,[new q(null,5,[Ol,b,Xm,this.form,Tk,e,Gn,c,kt,d],null)],null):null},GF.prototype.ld=function(){if(r(this.ra))var a=this.ra.j?this.ra.j():this.ra.call(null);else a=this.Uc,a=Cf(a)?NE(N([a])):x.g(v(DF),a);return a},GF.prototype.md=function(a, b){return sG(this.form,this.Uc,b,this.re,this.Dg)},GF.ac=function(){return new U(null,6,5,V,[Jl,So,$n,to,Wl,Sr],null)},GF.Db=!0,GF.qb="cljs.spec.alpha/t_cljs$spec$alpha22467",GF.Kb=function(a){return Zd(a,"cljs.spec.alpha/t_cljs$spec$alpha22467")};return new GF(a,b,c,d,e,qh)}function tG(a,b){return new bg(a,b,null)} function uG(a,b,c){var d=B(b);F(d);I(d);d=B(c);F(d);I(d);for(d=c;;){c=a;b=B(b);a=F(b);b=I(b);var e=B(d);d=F(e);e=I(e);var f=d;d=e;if(r(a)){c=nG(a,c,f,null);if(bG(c))return Vp;a=c}else return c}}function vG(a,b,c,d,e,f){var g=B(a);F(g);I(g);g=B(b);F(g);I(g);for(g=b;;){b=f;a=B(a);f=F(a);a=I(a);var k=B(g);g=F(k);var l=I(k);k=g;if(r(k)){g=nG(k,b,f,null);if(bG(g))return oG(f,k,c,d,e,b);b=a;k=l;f=g;a=b;g=k}else return null}}function wG(a){return new q(null,2,[Fo,gn,dm,a],null)} function xG(a){a=null!=a&&(a.o&64||n===a.L)?T(Uj,a):a;a=x.g(a,Fo);return J.g(gn,a)}var yG=function yG(a){var c=null!=a&&(a.o&64||n===a.L)?T(Uj,a):a,d=x.g(c,$s);a=B(d);var e=F(a);a=I(a);var f=x.g(c,sn),g=B(f),k=F(g);g=I(g);var l=x.g(c,Ts),m=B(l);F(m);m=I(m);var p=x.g(c,dm);c=x.g(c,Fm);return Gh(ng,d)?xG(e)?(d=dm.a(e),d=nf.g(p,r(f)?tf([k,d]):d),a?(a=new q(null,4,[$s,a,sn,g,Ts,m,dm,d],null),yG.a?yG.a(a):yG.call(null,a)):wG(d)):new q(null,6,[Fo,st,$s,d,dm,p,sn,f,Ts,l,Fm,c],null):null}; function zG(a,b,c){return yG(new q(null,4,[sn,a,$s,b,Ts,c,dm,qh],null))}function AG(a,b,c,d,e){return r(a)?(d=new q(null,5,[Fo,Wm,$l,b,cn,d,Ts,e,Eq,Bl()],null),xG(a)?sf.s(d,fp,b,N([dm,nf.g(c,dm.a(a))])):sf.s(d,fp,a,N([dm,c]))):null} function BG(a,b,c,d){return r(r(b)?b:c)?(a=ei(function(a){a=F(a);return d.a?d.a(a):d.call(null,a)},Vh.H(Ii,a,function(){var a=B(b);return a?a:$h(null)}(),function(){var a=B(c);return a?a:$h(null)}())),new U(null,3,5,V,[B(Vh.g(F,a)),r(b)?B(Vh.g(lf,a)):null,r(c)?B(Vh.g(function(a){return cf(a,2)},a)):null],null)):new U(null,3,5,V,[B(ei(d,a)),b,c],null)} function CG(a,b,c){var d=BG(a,b,c,ng);b=P(d,0);c=B(b);a=F(c);c=I(c);var e=P(d,1),f=P(e,0);d=P(d,2);return r(b)?(b=new q(null,4,[Fo,Is,$s,b,sn,e,Ts,d],null),null==c?r(f)?xG(a)?wG(tG(f,dm.a(a))):b:a:b):null}function DG(a,b){return r(r(a)?b:a)?CG(N([a,b]),null,null):r(a)?a:b} var EG=function EG(a){a=QF(a);var c=null!=a&&(a.o&64||n===a.L)?T(Uj,a):a,d=x.g(c,Fo),e=x.g(c,$s);a=x.g(c,fp);var f=x.g(c,$l);c=x.g(c,Ts);if(J.g(gn,d))return!0;if(J.g(null,d))return null;if(J.g(Cq,d))return d=EG.a?EG.a(a):EG.call(null,a),r(d)?(a=uG(FG(a),e,I(c)),!bG(a)):d;if(J.g(Wm,d))return(e=a===f)?e:EG.a?EG.a(a):EG.call(null,a);if(J.g(st,d))return Gh(EG,e);if(J.g(Is,d))return Hh(EG,e);throw Error(["No matching clause: ",u.a(d)].join(""));},FG=function FG(a){a=QF(a);var c=null!=a&&(a.o&64||n===a.L)? T(Uj,a):a;a=x.g(c,$s);var d=B(a),e=F(d);I(d);var f=x.g(c,sn),g=P(f,0),k=x.g(c,Fo);d=x.g(c,fp);var l=x.g(c,dm);c=x.g(c,Ts);if(J.g(gn,k))return l;if(J.g(null,k))return null;if(J.g(Cq,k))return e=FG.a?FG.a(d):FG.call(null,d),(f=J.g(e,Zs))?d=f:(d=Fo.a(QF(d)),f=new bk(null,new q(null,2,[Wm,null,st,null],null),null),d=f.a?f.a(d):f.call(null,d),d=r(d)?Af(e):d,d=r(d)?d:null),r(d)?Zs:uG(e,a,c);if(J.g(Wm,k))return GG(d,l,g);if(J.g(st,k))return GG(e,l,g);if(J.g(Is,k))return c=BG(a,f,c,EG),a=P(c,0),a=P(a,0), c=P(c,1),c=P(c,0),a=null==a?Zs:FG.a?FG.a(a):FG.call(null,a),r(c)?tG(c,a):a;throw Error(["No matching clause: ",u.a(k)].join(""));}; function GG(a,b,c){a=QF(a);var d=null!=a&&(a.o&64||n===a.L)?T(Uj,a):a,e=x.g(d,Fo);x.g(d,$s);a=x.g(d,cn);if(J.g(null,e))return b;if(J.g(Is,e)||J.g(gn,e)||J.g(Cq,e))return a=FG(d),J.g(a,Zs)?b:nf.g(b,r(c)?tf([c,a]):a);if(J.g(Wm,e)||J.g(st,e))return d=FG(d),Af(d)||(c=r(c)?tf([c,d]):d,a=r(a)?ii:nf,b=a.g?a.g(b,c):a.call(null,b,c)),b;throw Error(["No matching clause: ",u.a(e)].join(""));} var HG=function HG(a,b){a=QF(a);var d=null!=a&&(a.o&64||n===a.L)?T(Uj,a):a,e=x.g(d,Ts),f=x.g(d,$l);a=x.g(d,$s);var g=B(a),k=F(g),l=I(g),m=x.g(d,dm);g=x.g(d,Fo);var p=x.g(d,cn),t=x.g(d,sn),y=B(t),A=F(y),D=I(y);y=x.g(d,Ao);var C=x.g(d,fp);if(r(d)){if(J.g(gn,g))return null;if(J.g(null,g))return a=nG(d,b,d,null),bG(a)?null:wG(a);if(J.g(Cq,g))return d=HG.g?HG.g(C,b):HG.call(null,C,b),r(d)?J.g(gn,Fo.a(d))?(a=uG(FG(d),a,I(e)),bG(a)?null:wG(a)):new q(null,5,[Fo,Cq,fp,d,Ao,y,$s,a,Ts,e],null):null;if(J.g(st, g))return DG(yG(new q(null,4,[$s,hf(HG.g?HG.g(k,b):HG.call(null,k,b),l),sn,t,Ts,e,dm,m],null)),r(EG(k))?function(){var a=yG(new q(null,4,[$s,l,sn,D,Ts,I(e),dm,GG(k,m,A)],null));return HG.g?HG.g(a,b):HG.call(null,a,b)}():null);if(J.g(Is,g))return CG(Vh.g(function(a){return HG.g?HG.g(a,b):HG.call(null,a,b)},a),t,e);if(J.g(Wm,g))return DG(AG(HG.g?HG.g(C,b):HG.call(null,C,b),f,m,p,e),r(EG(C))?function(){var a=AG(f,f,GG(C,m,null),p,e);return HG.g?HG.g(a,b):HG.call(null,a,b)}():null);throw Error(["No matching clause: ", u.a(g)].join(""));}return null}; function IG(a){a=QF(a);var b=null!=a&&(a.o&64||n===a.L)?T(Uj,a):a;x.g(b,$s);a=x.g(b,Ts);var c=x.g(b,Fm),d=x.g(b,Fo),e=x.g(b,cn),f=x.g(b,sn),g=x.g(b,Fn),k=x.g(b,Ao);x.g(b,fp);if(r(b)){if(J.g(gn,d))return null;if(J.g(null,d))return b;if(J.g(Cq,d))return hf(ot,hf(k,a));if(J.g(st,d))return r(c)?a=new pf(null,Zl,new pf(null,c,null,1,null),2,null):(b=B(f),a=hf(An,di(Ii,N([b?b:$h(Bn),a])))),a;if(J.g(Is,d))return r(g)?new pf(null,wt,new pf(null,g,null,1,null),2,null):hf(Cm,di(Ii,N([f,a])));if(J.g(Wm,d))return new pf(null, r(e)?Zl:Ml,new pf(null,a,null,1,null),2,null);throw Error(["No matching clause: ",u.a(d)].join(""));}return null} var JG=function JG(a,b,c,d,e,f){function k(a,b){return new U(null,1,5,V,[new q(null,6,[Ol,a,Up,"Insufficient input",Xm,b,Tk,He,Gn,C,kt,e],null)],null)}var l=P(f,0);b=QF(b);var m=null!=b&&(b.o&64||n===b.L)?T(Uj,b):b,p=x.g(m,Fo),t=x.g(m,$s),y=x.g(m,sn),A=x.g(m,Ts);x.g(m,cn);b=x.g(m,fp);var D=x.g(m,$l),C=function(){var a=UF(m);return r(a)?nf.g(d,a):d}();if(r(m)){if(J.g(gn,p))return null;if(J.g(null,p))return Af(f)?k(c,a):oG(a,m,c,C,e,l);if(J.g(Cq,p)){if(Af(f))return r(EG(b))?vG(A,t,c,C,e,FG(b)):k(c, Ao.a(m));a=HG(b,l);if(r(a))return vG(A,t,c,C,e,FG(a));a=Ao.a(m);return JG.ka?JG.ka(a,b,c,C,e,f):JG.call(null,a,b,c,C,e,f)}if(J.g(st,p))return b=Vh.H(Ii,t,function(){var a=B(y);return a?a:$h(null)}(),function(){var a=B(A);return a?a:$h(null)}()),l=J.g(1,M(b))?F(b):F(fi(function(a){a=P(a,0);return EG(a)},b)),b=P(l,0),a=P(l,1),l=P(l,2),a=r(a)?nf.g(c,a):c,l=r(l)?l:IG(b),Af(f)&&Pc(b)?k(a,l):JG.ka?JG.ka(l,b,a,C,e,f):JG.call(null,l,b,a,C,e,f);if(J.g(Is,p))return Af(f)?k(c,IG(m)):T($g,Vh.H(function(a,b,d){b= r(b)?b:IG(d);a=r(a)?nf.g(c,a):c;return JG.ka?JG.ka(b,d,a,C,e,f):JG.call(null,b,d,a,C,e,f)},function(){var a=B(y);return a?a:$h(null)}(),function(){var a=B(A);return a?a:$h(null)}(),t));if(J.g(Wm,p))return a=b===D?A:IG(b),JG.ka?JG.ka(a,b,c,C,e,f):JG.call(null,a,b,c,C,e,f);throw Error(["No matching clause: ",u.a(p)].join(""));}return null},KG=function KG(a,b,c,d,e){function g(a,d,e){return Vh.H(function(a,d,e){if(r(r(G)?r(C)?r(d)?lG(G,C,c,d):d:C:G))return null;if(r(C))return zE(new Uk(function(){var g= r(d)?nf.g(c,d):c,k=r(e)?e:a;return KG.P?KG.P(a,b,g,G,k):KG.call(null,a,b,g,G,k)}));var g=r(d)?nf.g(c,d):c,k=r(e)?e:a;return KG.P?KG.P(a,b,g,G,k):KG.call(null,a,b,g,G,k)},a,function(){var a=B(d);return a?a:$h(null)}(),function(){var a=B(e);return a?a:$h(null)}())}a=QF(a);var k=null!=a&&(a.o&64||n===a.L)?T(Uj,a):a,l=x.g(k,$s),m=x.g(k,Ts),p=x.g(k,$l),t=x.g(k,dm),y=x.g(k,bo),A=x.g(k,Fo);x.g(k,cn);var D=x.g(k,sn);a=x.g(k,fp);var C=x.g(k,Eq),G=r(C)?mG(d,C):d;d=function(){var a=x.g(b,c);return r(a)?J.g(nt, A)?LE(N([Ii,a])):J.g(null,A)?LE(N([Ii,a])):a:null}();if(r(d))return d;d=r(y)?y.j?y.j():y.call(null):null;if(r(d))return d;if(r(k)){if(J.g(gn,A))return J.g(t,Zs)?ZE(N([of])):ZE(N([new U(null,1,5,V,[t],null)]));if(J.g(null,A))return e=iG(k,b,c,G,e),r(e)?LE(N([Ii,e])):null;if(J.g(Cq,A))return e=IG(a),KG.P?KG.P(a,b,c,G,e):KG.call(null,a,b,c,G,e);if(J.g(st,A))return e=g(l,D,m),Gh(ng,e)?T(BF,e):null;if(J.g(Is,A))return e=fi(Mc,g(l,D,m)),Af(e)?null:TE(N([e]));if(J.g(Wm,A)){if(lG(G,C,new U(null,1,5,V,[C], null),C))return ZE(N([of]));e=KG.P?KG.P(p,b,c,G,m):KG.call(null,p,b,c,G,m);return r(e)?LE(N([function(a){return T($g,a)},JE(N([e]))])):null}throw Error(["No matching clause: ",u.a(A)].join(""));}return null};function LG(a,b){for(;;){var c=B(b),d=F(c);c=I(c);if(Af(b))return r(EG(a))?(a=FG(a),J.g(a,Zs)?null:a):Vp;a=HG(a,d);if(r(a))b=c;else return Vp}} var WF=function WF(a,b){if("undefined"===typeof wc||"undefined"===typeof pE||"undefined"===typeof EF||"undefined"===typeof IF)IF=function(a,b,f){this.Wc=a;this.ra=b;this.Nh=f;this.o=393216;this.K=0},IF.prototype.U=function(a,b){return new IF(this.Wc,this.ra,b)},IF.prototype.S=function(){return this.Nh},IF.prototype.Zb=function(){return this},IF.prototype.$b=function(){return this},IF.prototype.Md=n,IF.prototype.jd=function(a,b){return null==b||Ef(b)?LG(this.Wc,B(b)):Vp},IF.prototype.kd=function(a, b,f,g,k){if(null==k||Ef(k))a:{a=this.Wc;var d=B(k);k=B(d);F(k);I(k);k=a;var e=d;for(d=0;;){var p=B(e),t=F(p);p=I(p);if(Af(e)){b=r(EG(k))?null:JG(IG(k),k,b,f,g,null);break a}t=HG(k,t);if(r(t))e=p,d+=1,k=t;else{if(xG(k)){b=J.g(Fo.a(k),st)?JG(IG(k),k,b,f,nf.g(g,d),B(e)):new U(null,1,5,V,[new q(null,6,[Ol,b,Up,"Extra input",Xm,IG(a),Tk,e,Gn,f,kt,nf.g(g,d)],null)],null);break a}a=JG(IG(k),k,b,f,nf.g(g,d),B(e));b=r(a)?a:new U(null,1,5,V,[new q(null,6,[Ol,b,Up,"Extra input",Xm,IG(k),Tk,e,Gn,f,kt,nf.g(g, d)],null)],null);break a}}}else b=new U(null,1,5,V,[new q(null,5,[Ol,b,Xm,Fh(B($g.s(new pf(null,$q,null,1,null),new pf(null,Gi(Fh(B($g.a(new pf(null,qp,null,1,null))))),null,1,null),N([new pf(null,Fh(B($g.s(new pf(null,Ks,null,1,null),new pf(null,Fh(B($g.g(new pf(null,Tq,null,1,null),new pf(null,qp,null,1,null)))),null,1,null),N([new pf(null,Fh(B($g.g(new pf(null,fm,null,1,null),new pf(null,qp,null,1,null)))),null,1,null)])))),null,1,null)])))),Tk,k,Gn,f,kt,g],null)],null);return b},IF.prototype.ld= function(a,b,f,g){return r(this.ra)?this.ra.j?this.ra.j():this.ra.call(null):KG(this.Wc,b,f,g,IG(this.Wc))},IF.prototype.md=function(a,b){return WF.g?WF.g(this.Wc,b):WF.call(null,this.Wc,b)},IF.ac=function(){return new U(null,3,5,V,[Pp,$n,mn],null)},IF.Db=!0,IF.qb="cljs.spec.alpha/t_cljs$spec$alpha22833",IF.Kb=function(a){return Zd(a,"cljs.spec.alpha/t_cljs$spec$alpha22833")};return new IF(a,b,qh)}; function MG(a,b,c){var d=jG(Ll.a(b),null);d=uE(N([new U(null,1,5,V,[d],null),function(c){var d=cG(Ll.a(b),c);if(bG(d))d=null;else if(c=T(a,c),c=cG(dm.a(b),c),bG(c))d=!1;else if(r(Bm.a(b))){var e=Bm.a(b);d=nG(e,new q(null,2,[Ll,d,dm,c],null),em,null);d=!bG(d)}else d=!0;return d}]));c=sE(N([c,d]));c=Oq.a(Am.a(c));return r(c)?P(c,0):a} var NG=function NG(a,b,c,d,e,f,g){var l=new q(null,3,[Ll,a,dm,c,Bm,e],null);if("undefined"===typeof wc||"undefined"===typeof pE||"undefined"===typeof EF||"undefined"===typeof JF)JF=function(a,b,c,d,e,f,g,l,L){this.bd=a;this.Ve=b;this.vd=c;this.ee=d;this.Qd=e;this.ve=f;this.ra=g;this.Xc=l;this.Oh=L;this.o=393472;this.K=0},JF.prototype.U=function(a,b){return new JF(this.bd,this.Ve,this.vd,this.ee,this.Qd,this.ve,this.ra,this.Xc,b)},JF.prototype.S=function(){return this.Oh},JF.prototype.Y=function(a, b){return x.g(this.Xc,b)},JF.prototype.N=function(a,b,c){return x.h(this.Xc,b,c)},JF.prototype.Zb=function(){return this},JF.prototype.$b=function(){return this},JF.prototype.Md=n,JF.prototype.jd=function(a,b){return Sf(b)?b===MG(b,this.Xc,21)?b:Vp:Vp},JF.prototype.kd=function(a,b,c,d,e){if(Sf(e)){a=MG(e,this.Xc,100);if(e===a)return null;try{var f=T(e,a)}catch(C){if(C instanceof Error)f=C;else throw C;}if(f instanceof Error)return new U(null,1,5,V,[new q(null,6,[Ol,b,Xm,Bg(rs,yo),Tk,a,Up,f.message, Gn,c,kt,d],null)],null);e=nG(this.vd,f,this.ee,null);return bG(e)?oG(this.ee,this.vd,nf.g(b,dm),c,d,f):r(this.Qd)?(f=cG(this.bd,a),oG(this.ve,this.Qd,nf.g(b,Bm),c,d,new q(null,2,[Ll,f,dm,e],null))):null}return new U(null,1,5,V,[new q(null,5,[Ol,b,Xm,Ar,Tk,e,Gn,c,kt,d],null)],null)},JF.prototype.ld=function(a,b){var c=this;return r(c.ra)?c.ra.j?c.ra.j():c.ra.call(null):ZE(N([function(){function a(a){var b=null;if(0b?c:b,Jm,a,Rp,f,po,e,Ul,d],null))} function yH(a,b){if(r(a))return Us;switch(b){case "code-mirror":return Kl;case "dom":return Us;case "html":return mt;default:return Kl}} function zH(a,b){var c=Z(1);gB(function(){var d=function(){function c(c){var d=c[1];if(1===d)return c[1]=r(b)?2:3,W;if(2===d)return c[2]=new U(null,2,5,V,[Hq,Hq],null),c[1]=4,W;if(3===d)return d=PC.a?PC.a(a):PC.call(null,a),wB(c,5,d);if(4===d)return yB(c,c[2]);if(5===d){var e=c[2],f=P(e,0);d=P(e,1);e=P(e,2);f=J.g(Hq,f);c[7]=d;c[8]=e;c[1]=f?6:7;return W}return 6===d?(c[2]=new U(null,2,5,V,[Hq,Hq],null),c[1]=8,W):7===d?(e=c[8],d=c[7],f=V,d=["Cannot load script: ",u.a(e),"\nError: ",u.a(d)].join(""), c[2]=new U(null,2,5,f,[Er,d],null),c[1]=8,W):8===d?(c[2]=c[2],c[1]=4,W):null}return function(){function a(a){for(;;){a:try{for(;;){var b=c(a);if(!R(b,W)){var d=b;break a}}}catch(y){d=y;a[2]=d;if(B(a[4]))a[1]=F(a[4]);else throw d;d=W}if(!R(d,W))return d}}function b(){var a=[null,null,null,null,null,null,null,null,null];a[0]=d;a[1]=1;return a}var d=null;d=function(c){switch(arguments.length){case 0:return b.call(this);case 1:return a.call(this,c)}throw Error("Invalid arity: "+arguments.length);};d.j= b;d.a=a;return d}()}(),e=function(){var a=d.j?d.j():d.call(null);a[6]=c;return a}();return vB(e)});return c} function AH(a,b,c,d){b=null!=b&&(b.o&64||n===b.L)?T(Uj,b):b;var e=x.g(b,is),f=x.h(b,ws,qh),g=x.h(b,Ps,20),k=x.h(b,gm,qh),l=x.h(b,un,1E3),m=x.g(b,vo),p=x.h(b,lp,!1),t=x.h(b,hq,!1),y=x.g(b,Fr);c=null!=c&&(c.o&64||n===c.L)?T(Uj,c):c;var A=x.g(c,Xr),D=x.h(c,xs,!0),C=x.g(c,Es),G=x.g(c,yt),L=x.g(c,kn),O=x.h(c,no,!0),Q=x.h(c,Po,0),ea=x.g(c,Yo),ta=x.g(c,cr),S=x.h(c,or,of),Ya=Z(1);gB(function(){var b=function(){function b(b){var c=b[1];if(7===c)return b[2]=!1,b[1]=8,W;if(20===c){var X=b[7];b[2]=X;b[1]=21; return W}if(27===c){c=b[8];var fa=b[2];c=J.g(Hq,c);b[9]=fa;b[1]=c?28:29;return W}if(1===c)return b[1]=r(a)?2:3,W;if(24===c){X=b[11];c=b[12];var na=b[13],wa=b[15];X=b[7];var Ya=b[16];c=b[8];var Sa=b[18],fb=b[19],sb=b[2],tb=function(){return function(a){var b=Z(1);gB(function(){var c=function(){return function(){function b(b){for(;;){a:try{for(;;){var c=b,d=c[1];var e=1===d?xB(c,2,uH,a):2===d?yB(c,c[2]):null;if(!R(e,W)){var f=e;break a}}}catch(qn){f=qn;b[2]=f;if(B(b[4]))b[1]=F(b[4]);else throw f;f= W}if(!R(f,W))return f}}function c(){var a=[null,null,null,null,null,null,null];a[0]=d;a[1]=1;return a}var d=null;d=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this,a)}throw Error("Invalid arity: "+arguments.length);};d.j=c;d.a=b;return d}()}(),d=function(){var a=c.j?c.j():c.call(null);a[6]=b;return a}();return vB(d)});return b}}(),Rb=wH();c=J.g(Hq,c);b[20]=sb;b[21]=tb;b[22]=Rb;b[1]=c?25:26;return W}if(4===c)return yB(b,b[2]);if(15===c)return c=b[23],b[2]=c, b[1]=17,W;if(21===c){c=b[8];var gc=b[2];c=J.g(Hq,c);b[24]=gc;b[1]=c?22:23;return W}if(13===c)return c=b[25],b[2]=c,b[1]=14,W;if(22===c)return b[2]=O,b[1]=24,W;if(29===c)return b[2]=!1,b[1]=30,W;if(6===c)return c=b[25],X=n===c.L,b[1]=r(c.o&64||X)?9:10,W;if(28===c)return b[2]=D,b[1]=30,W;if(25===c)return c=b[12],b[2]=c,b[1]=27,W;if(17===c)return X=yH(p,b[2]),c=Mt(S),c=zH(c,e),b[11]=X,wB(b,18,c);if(3===c)return b[2]=null,b[1]=4,W;if(12===c)return c=b[25],c=T(Uj,c),b[2]=c,b[1]=14,W;if(2===c){c=Cj([Os, Kc,Vn],[y,l,t]);var Gc=oE(a,c);c=function(){return function(a,b){b=Zj.s(N([Gc,b]));return A.g?A.g(a,b):A.call(null,a,b)}}();X=nE(a,ea);b[17]=Gc;b[12]=c;return wB(b,5,X)}return 23===c?(b[2]=!1,b[1]=24,W):19===c?(b[2]="the evaluation will appear here (soon)...",b[1]=21,W):11===c?(b[2]=b[2],b[1]=8,W):9===c?(b[2]=!0,b[1]=11,W):5===c?(c=b[25],Sa=b[2],c=xH(a,g,Q,m),X=Pc(null==c),b[18]=Sa,b[25]=c,b[1]=X?6:7,W):14===c?(c=b[23],c=b[2],na=x.g(c,Gm),X=x.g(c,Ul),wa=x.g(c,Jm),Ya=x.g(c,po),fb=x.g(c,Rp),b[10]=c, b[13]=na,b[23]=X,b[15]=wa,b[16]=Ya,b[19]=fb,b[1]=r(X)?15:16,W):26===c?(X=b[11],c=b[12],na=b[13],wa=b[15],X=b[7],Ya=b[16],c=b[8],Sa=b[18],fb=b[19],b[2]=function(){return function(){return Z(null)}}(),b[1]=27,W):16===c?(b[2]=G,b[1]=17,W):30===c?(gc=b[24],sb=b[20],na=b[13],wa=b[15],tb=b[21],Ya=b[16],Sa=b[18],fb=b[19],Rb=b[22],fa=b[9],c=b[26],X=b[11],c=Cj(c,[gc,sb,na,wa,a,L,tb,Ya,d,Sa,fb,k,ta,Rb,fa,C,f,b[2]]),c=pH.g?pH.g(X,c):pH.call(null,X,c),b[2]=c,b[1]=4,W):10===c?(b[2]=!1,b[1]=11,W):18===c?(c=b[8], Sa=b[2],fb=P(Sa,0),X=P(Sa,1),c=[im,vm,Gm,Jm,Zm,kn,tn,po,qo,tp,Rp,Iq,cr,ir,Xr,Es,ft,ht],fa=J.g(Hq,fb),b[14]=Sa,b[8]=fb,b[7]=X,b[26]=c,b[1]=fa?19:20,W):8===c?(b[1]=r(b[2])?12:13,W):null}return function(){function a(a){for(;;){a:try{for(;;){var c=b(a);if(!R(c,W)){var d=c;break a}}}catch(Wb){d=Wb;a[2]=d;if(B(a[4]))a[1]=F(a[4]);else throw d;d=W}if(!R(d,W))return d}}function c(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null];a[0]=d;a[1]=1;return a}var d=null;d=function(b){switch(arguments.length){case 0:return c.call(this);case 1:return a.call(this,b)}throw Error("Invalid arity: "+arguments.length);};d.j=c;d.a=a;return d}()}(),c=function(){var a=b.j?b.j():b.call(null);a[6]=Ya;return a}();return vB(c)});return Ya}kG(lt,so,function(a){return la(a)&&1==a.nodeType});kG(ys,Tn,Rc);kG(Bs,Tn,Rc);kG(um,zp,vf); kG(Hr,Bg(Zn,Bm,zp,pq,Tn),function BH(a,b,c,d){var f=Bl(),g=jk(a,c),k=new Uk(function(){return ii.g(of,Vh.h(aG,c,b))}),l=function(){switch(M(c)){case 2:return function(b){var c=v(k),d=KF(c.a?c.a(0):c.call(null,0),b);return bG(d)?(b=KF(c.a?c.a(1):c.call(null,1),b),bG(b)?Vp:tG(a.a?a.a(1):a.call(null,1),b)):tG(a.a?a.a(0):a.call(null,0),d)};case 3:return function(b){var c=v(k),d=KF(c.a?c.a(0):c.call(null,0),b);return bG(d)?(d=KF(c.a?c.a(1):c.call(null,1),b),bG(d)?(b=KF(c.a?c.a(2):c.call(null,2),b),bG(b)? Vp:tG(a.a?a.a(2):a.call(null,2),b)):tG(a.a?a.a(1):a.call(null,1),d)):tG(a.a?a.a(0):a.call(null,0),d)};default:return function(b){for(var c=v(k),d=0;;)if(d