define("ace/keyboard/vim",["require","exports","module","ace/keyboard/vim/commands","ace/keyboard/vim/maps/util","ace/lib/useragent"],function(a,b,c){var d=a("./vim/commands"),e=d.coreCommands,f=a("./vim/maps/util"),g=a("../lib/useragent"),h={i:{command:e.start},I:{command:e.startBeginning},a:{command:e.append},A:{command:e.appendEnd},"ctrl-f":{command:"gotopagedown"},"ctrl-b":{command:"gotopageup"}};b.handler={handleMacRepeat:function(a,b,c){if(b==-1)a.inputChar=c,a.lastEvent="input";else if(a.inputChar&&a.$lastHash==b&&a.$lastKey==c){if(a.lastEvent=="input")a.lastEvent="input1";else if(a.lastEvent=="input1")return!0}else a.$lastHash=b,a.$lastKey=c,a.lastEvent="keypress"},handleKeyboard:function(a,b,c,f,i){if(b!=0&&(c==""||c=="\0"))return null;b==1&&(c="ctrl-"+c);if(c=="esc"&&b==0||c=="ctrl-[")return{command:e.stop};if(a.state=="start"){g.isMac&&this.handleMacRepeat(a,b,c)&&(b=-1,c=a.inputChar);if(b==-1||b==1)return d.inputBuffer.idle&&h[c]?h[c]:{command:{exec:function(a){d.inputBuffer.push(a,c)}}};if(c.length==1&&(b==0||b==4))return{command:"null",passEvent:!0};if(c=="esc"&&b==0)return{command:e.stop}}else if(c=="ctrl-w")return{command:"removewordleft"}},attach:function(a){a.on("click",b.onCursorMove),f.currentMode!=="insert"&&d.coreCommands.stop.exec(a),a.$vimModeHandler=this},detach:function(a){a.removeListener("click",b.onCursorMove),f.noMode(a),f.currentMode="normal"},actions:d.actions,getStatusText:function(){return f.currentMode=="insert"?"INSERT":f.onVisualMode?(f.onVisualLineMode?"VISUAL LINE ":"VISUAL ")+d.inputBuffer.status:d.inputBuffer.status}},b.onCursorMove=function(a){d.onCursorMove(a.editor,a),b.onCursorMove.scheduled=!1}}),define("ace/keyboard/vim/commands",["require","exports","module","ace/keyboard/vim/maps/util","ace/keyboard/vim/maps/motions","ace/keyboard/vim/maps/operators","ace/keyboard/vim/maps/aliases","ace/keyboard/vim/registers"],function(a,b,c){function r(a){q.previous={action:{action:{fn:a}}}}"never use strict";var d=a("./maps/util"),e=a("./maps/motions"),f=a("./maps/operators"),g=a("./maps/aliases"),h=a("./registers"),i=1,j=2,k=3,l=4,m=8,n=function(b,c,d){while(0b.$size.scrollerHeight&&(e=b.$size.scrollerHeight/2),b.scrollTop>d-e&&b.session.setScrollTop(d-e),b.scrollTop+b.$size.scrollerHeight0&&a.navigateLeft()),a.setOverwrite(!0),a.keyBinding.$data.buffer="",a.keyBinding.$data.state="start",this.onVisualMode=!1,this.onVisualLineMode=!1,a._emit("changeStatus"),a.commands.recording?(a.commands.toggleRecording(a),a.commands.macro):[]},visualMode:function(a,b){if(this.onVisualLineMode&&b||this.onVisualMode&&!b){this.normalMode(a);return}a.setStyle("insert-mode"),a.unsetStyle("normal-mode"),a._emit("changeStatus"),b?this.onVisualLineMode=!0:(this.onVisualMode=!0,this.onVisualLineMode=!1)},getRightNthChar:function(a,b,c,d){var e=a.getSession().getLine(b.row),f=e.substr(b.column+1).split(c);return d~!@#$%^&*|+=\[\]{}`~?]/,h=/[.\/\\()\"'-:,.;<>~!@#$%^&*|+=\[\]{}`~?]/,i=/\s/,j=function(a,b){var c=a.selection;this.range=c.getRange(),b=b||c.selectionLead,this.row=b.row,this.col=b.column;var d=a.session.getLine(this.row),e=a.session.getLength();this.ch=d[this.col]||"\n",this.skippedLines=0,this.next=function(){return this.ch=d[++this.col]||this.handleNewLine(1),this.ch},this.prev=function(){return this.ch=d[--this.col]||this.handleNewLine(-1),this.ch},this.peek=function(b){var c=d[this.col+b];return c?c:b==-1?"\n":this.col==d.length-1?"\n":a.session.getLine(this.row+1)[0]||"\n"},this.handleNewLine=function(b){if(b==1)return this.col==d.length?"\n":this.row==e-1?"":(this.col=0,this.row++,d=a.session.getLine(this.row),this.skippedLines++,d[0]||"\n");if(b==-1)return this.row==0?"":(this.row--,d=a.session.getLine(this.row),this.col=d.length,this.skippedLines--,"\n")},this.debug=function(){console.log(d.substring(0,this.col)+"|"+this.ch+"'"+this.col+"'"+d.substr(this.col+1))}},k=a("ace/search").Search,l=new k,n=a("ace/range").Range;c.exports={w:new f(function(a){var b=new j(a);if(b.ch&&h.test(b.ch))while(b.ch&&h.test(b.ch))b.next();else while(b.ch&&!g.test(b.ch))b.next();while(b.ch&&i.test(b.ch)&&b.skippedLines<2)b.next();return b.skippedLines==2&&b.prev(),{column:b.col,row:b.row}}),W:new f(function(a){var b=new j(a);while(b.ch&&(!i.test(b.ch)||!!i.test(b.peek(1)))&&b.skippedLines<2)b.next();return b.skippedLines==2?b.prev():b.next(),{column:b.col,row:b.row}}),b:new f(function(a){var b=new j(a);b.prev();while(b.ch&&i.test(b.ch)&&b.skippedLines>-2)b.prev();if(b.ch&&h.test(b.ch))while(b.ch&&h.test(b.ch))b.prev();else while(b.ch&&!g.test(b.ch))b.prev();return b.ch&&b.next(),{column:b.col,row:b.row}}),B:new f(function(a){var b=new j(a);b.prev();while(b.ch&&(!!i.test(b.ch)||!i.test(b.peek(-1)))&&b.skippedLines>-2)b.prev();return b.skippedLines==-2&&b.next(),{column:b.col,row:b.row}},!0),e:new f(function(a){var b=new j(a);b.next();while(b.ch&&i.test(b.ch))b.next();if(b.ch&&h.test(b.ch))while(b.ch&&h.test(b.ch))b.next();else while(b.ch&&!g.test(b.ch))b.next();return b.ch&&b.prev(),{column:b.col,row:b.row}}),E:new f(function(a){var b=new j(a);b.next();while(b.ch&&(!!i.test(b.ch)||!i.test(b.peek(1))))b.next();return{column:b.col,row:b.row}}),l:{nav:function(a){a.navigateRight()},sel:function(a){var b=a.getCursorPosition(),c=b.column,d=a.session.getLine(b.row).length;d&&c!==d&&a.selection.selectRight()}},h:{nav:function(a){var b=a.getCursorPosition();b.column>0&&a.navigateLeft()},sel:function(a){var b=a.getCursorPosition();b.column>0&&a.selection.selectLeft()}},H:{nav:function(a){var b=a.renderer.getScrollTopRow();a.moveCursorTo(b)},sel:function(a){var b=a.renderer.getScrollTopRow();a.selection.selectTo(b)}},M:{nav:function(a){var b=a.renderer.getScrollTopRow(),c=a.renderer.getScrollBottomRow(),d=b+(c-b)/2;a.moveCursorTo(d)},sel:function(a){var b=a.renderer.getScrollTopRow(),c=a.renderer.getScrollBottomRow(),d=b+(c-b)/2;a.selection.selectTo(d)}},L:{nav:function(a){var b=a.renderer.getScrollBottomRow();a.moveCursorTo(b)},sel:function(a){var b=a.renderer.getScrollBottomRow();a.selection.selectTo(b)}},k:{nav:function(a){a.navigateUp()},sel:function(a){a.selection.selectUp()}},j:{nav:function(a){a.navigateDown()},sel:function(a){a.selection.selectDown()}},i:{param:!0,sel:function(a,b,c,d){switch(d){case"w":a.selection.selectWord();break;case"W":a.selection.selectAWord();break;case"(":case"{":case"[":var e=a.getCursorPosition(),f=a.session.$findClosingBracket(d,e,/paren/);if(!f)return;var g=a.session.$findOpeningBracket(a.session.$brackets[d],e,/paren/);if(!g)return;g.column++,a.selection.setSelectionRange(n.fromPoints(g,f));break;case"'":case'"':case"/":var f=m(a,d,1);if(!f)return;var g=m(a,d,-1);if(!g)return;a.selection.setSelectionRange(n.fromPoints(g.end,f.start))}}},a:{param:!0,sel:function(a,b,c,d){switch(d){case"w":a.selection.selectAWord();break;case"W":a.selection.selectAWord();break;case"(":case"{":case"[":var e=a.getCursorPosition(),f=a.session.$findClosingBracket(d,e,/paren/);if(!f)return;var g=a.session.$findOpeningBracket(a.session.$brackets[d],e,/paren/);if(!g)return;f.column++,a.selection.setSelectionRange(n.fromPoints(g,f));break;case"'":case'"':case"/":var f=m(a,d,1);if(!f)return;var g=m(a,d,-1);if(!g)return;f.column++,a.selection.setSelectionRange(n.fromPoints(g.start,f.end))}}},f:{param:!0,handlesCount:!0,nav:function(a,b,c,e){var f=a,g=f.getCursorPosition(),h=d.getRightNthChar(a,g,e,c||1);typeof h=="number"&&(f.selection.clearSelection(),f.moveCursorTo(g.row,h+g.column+1))},sel:function(a,b,c,e){var f=a,g=f.getCursorPosition(),h=d.getRightNthChar(a,g,e,c||1);typeof h=="number"&&f.moveCursorTo(g.row,h+g.column+1)}},F:{param:!0,handlesCount:!0,nav:function(a,b,c,e){var f=a,g=f.getCursorPosition(),h=d.getLeftNthChar(a,g,e,c||1);typeof h=="number"&&(f.selection.clearSelection(),f.moveCursorTo(g.row,g.column-h-1))},sel:function(a,b,c,e){var f=a,g=f.getCursorPosition(),h=d.getLeftNthChar(a,g,e,c||1);typeof h=="number"&&f.moveCursorTo(g.row,g.column-h-1)}},t:{param:!0,handlesCount:!0,nav:function(a,b,c,e){var f=a,g=f.getCursorPosition(),h=d.getRightNthChar(a,g,e,c||1);typeof h=="number"&&(f.selection.clearSelection(),f.moveCursorTo(g.row,h+g.column))},sel:function(a,b,c,e){var f=a,g=f.getCursorPosition(),h=d.getRightNthChar(a,g,e,c||1);typeof h=="number"&&f.moveCursorTo(g.row,h+g.column)}},T:{param:!0,handlesCount:!0,nav:function(a,b,c,e){var f=a,g=f.getCursorPosition(),h=d.getLeftNthChar(a,g,e,c||1);typeof h=="number"&&(f.selection.clearSelection(),f.moveCursorTo(g.row,-h+g.column))},sel:function(a,b,c,e){var f=a,g=f.getCursorPosition(),h=d.getLeftNthChar(a,g,e,c||1);typeof h=="number"&&f.moveCursorTo(g.row,-h+g.column)}},"^":{nav:function(a){a.navigateLineStart()},sel:function(a){a.selection.selectLineStart()}},$:{nav:function(a){a.navigateLineEnd()},sel:function(a){a.selection.selectLineEnd()}},0:new f(function(a){return{row:a.selection.lead.row,column:0}}),G:{nav:function(a,b,c,d){!c&&c!==0&&(c=a.session.getLength()),a.gotoLine(c)},sel:function(a,b,c,d){!c&&c!==0&&(c=a.session.getLength()),a.selection.selectTo(c,0)}},g:{param:!0,nav:function(a,b,c,d){switch(d){case"m":console.log("Middle line");break;case"e":console.log("End of prev word");break;case"g":a.gotoLine(c||0);case"u":a.gotoLine(c||0);case"U":a.gotoLine(c||0)}},sel:function(a,b,c,d){switch(d){case"m":console.log("Middle line");break;case"e":console.log("End of prev word");break;case"g":a.selection.selectTo(c||0,0)}}},o:{nav:function(a,b,c,e){c=c||1;var f="";while(00?(a.navigateUp(),a.navigateLineEnd(),a.insert(g)):(a.session.insert({row:0,column:0},g),a.navigateUp()),d.insertMode(a))}},"%":new f(function(a){var b=/[\[\]{}()]/g,c=a.getCursorPosition(),d=a.session.getLine(c.row)[c.column];if(!b.test(d)){var e=m(a,b);if(!e)return;c=e.start}var f=a.session.findMatchingBracket({row:c.row,column:c.column+1});return f}),"{":new f(function(a){var b=a.session,c=b.selection.lead.row;while(c>0&&!/\S/.test(b.getLine(c)))c--;while(/\S/.test(b.getLine(c)))c--;return{column:0,row:c}}),"}":new f(function(a){var b=a.session,c=b.getLength(),d=b.selection.lead.row;while(d":{selFn:function(a,b,c,e){c=c||1;for(var f=0;f":var e=a.getCursorPosition();a.selection.selectLine();for(var f=0;f