ace.define("ace/keyboard/vim",["require","exports","module","ace/keyboard/vim/commands","ace/keyboard/vim/maps/util","ace/lib/useragent"],function(e,t,n){var r=e("./vim/commands");var i=r.coreCommands;var s=e("./vim/maps/util");var o=e("../lib/useragent");var u={i:{command:i.start},I:{command:i.startBeginning},a:{command:i.append},A:{command:i.appendEnd},"ctrl-f":{command:"gotopagedown"},"ctrl-b":{command:"gotopageup"}};t.handler={handleMacRepeat:function(e,t,n){if(t==-1)e.inputChar=n,e.lastEvent=
"input";else if(e.inputChar&&e.$lastHash==t&&e.$lastKey==n)if(e.lastEvent=="input")e.lastEvent="input1";else{if(e.lastEvent=="input1")return!0}else e.$lastHash=t,e.$lastKey=n,e.lastEvent="keypress"},handleKeyboard:function(e$$0,t,n,s,a){if(t!=0&&(n==""||n=="\x00"))return null;t==1&&(n="ctrl-"+n);if(n=="esc"&&t==0||n=="ctrl-[")return{command:i.stop};if(e$$0.state=="start"){o.isMac&&this.handleMacRepeat(e$$0,t,n)&&(t=-1,n=e$$0.inputChar);if(t==-1||t==1)return r.inputBuffer.idle&&u[n]?u[n]:{command:{exec:function(e){r.inputBuffer.push(e,
n)}}};if(n.length==1&&(t==0||t==4))return{command:"null",passEvent:!0};if(n=="esc"&&t==0)return{command:i.stop}}else if(n=="ctrl-w")return{command:"removewordleft"}},attach:function(e){e.on("click",t.onCursorMove),s.currentMode!=="insert"&&r.coreCommands.stop.exec(e),e.$vimModeHandler=this},detach:function(e){e.removeListener("click",t.onCursorMove),s.noMode(e),s.currentMode="normal"},actions:r.actions,getStatusText:function(){return s.currentMode=="insert"?"INSERT":s.onVisualMode?(s.onVisualLineMode?
"VISUAL LINE ":"VISUAL ")+r.inputBuffer.status:r.inputBuffer.status}},t.onCursorMove=function(e){r.onCursorMove(e.editor,e),t.onCursorMove.scheduled=!1}}),ace.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(e$$0,t$$1,n$$1){function g(e){m.previous={action:{action:{fn:e}}}}"never use strict";var r$$0=e$$0("./maps/util");
var i$$0=e$$0("./maps/motions");var s$$0=e$$0("./maps/operators");var o$$0=e$$0("./maps/aliases");var u$$0=e$$0("./registers");var a$$0=1;var f=2;var l=3;var c=4;var h=8;var p=function(t,n,r){for(;0<n--;)t.apply(this,r)};var d=function(e){var t=e.renderer;var n=t.$cursorLayer.getPixelPosition();var r=n.top;var i=h*t.layerConfig.lineHeight;2*i>t.$size.scrollerHeight&&(i=t.$size.scrollerHeight/2),t.scrollTop>r-i&&t.session.setScrollTop(r-i),t.scrollTop+t.$size.scrollerHeight<r+i+t.lineHeight&&t.session.setScrollTop(r+
i+t.lineHeight-t.$size.scrollerHeight)};var v=t$$1.actions={z:{param:!0,fn:function(e,t,n,r){switch(r){case "z":e.renderer.alignCursor(null,0.5);break;case "t":e.renderer.alignCursor(null,0);break;case "b":e.renderer.alignCursor(null,1)}}},r:{param:!0,fn:function(e,t,n,r){r&&r.length&&(p(function(){e.insert(r)},n||1),e.navigateLeft())}},R:{fn:function(e,t,n,i){r$$0.insertMode(e),e.setOverwrite(!0)}},"~":{fn:function(e,t$$0,n$$0){p(function(){var t=e.selection.getRange();t.isEmpty()&&t.end.column++;
var n=e.session.getTextRange(t);var r=n.toUpperCase();r==n?e.navigateRight():e.session.replace(t,r)},n$$0||1)}},"*":{fn:function(e,t,n,r){e.selection.selectWord(),e.findNext(),d(e);var i=e.selection.getRange();e.selection.setSelectionRange(i,!0)}},"#":{fn:function(e,t,n,r){e.selection.selectWord(),e.findPrevious(),d(e);var i=e.selection.getRange();e.selection.setSelectionRange(i,!0)}},n:{fn:function(e,t,n,r){var i=e.getLastSearchOptions();i.backwards=!1,e.selection.moveCursorRight(),e.selection.clearSelection(),
e.findNext(i),d(e);var s=e.selection.getRange();s.end.row=s.start.row,s.end.column=s.start.column,e.selection.setSelectionRange(s,!0)}},N:{fn:function(e,t,n,r){var i=e.getLastSearchOptions();i.backwards=!0,e.findPrevious(i),d(e);var s=e.selection.getRange();s.end.row=s.start.row,s.end.column=s.start.column,e.selection.setSelectionRange(s,!0)}},v:{fn:function(e,t,n,i){e.selection.selectRight(),r$$0.visualMode(e,!1)},acceptsMotion:!0},V:{fn:function(e,t,n,i){var s=e.getCursorPosition().row;e.selection.clearSelection(),
e.selection.moveCursorTo(s,0),e.selection.selectLineEnd(),e.selection.visualLineStart=s,r$$0.visualMode(e,!0)},acceptsMotion:!0},Y:{fn:function(e,t,n,i){r$$0.copyLine(e)}},p:{fn:function(e,t,n,r){var i=u$$0._default;e.setOverwrite(!1);if(i.isLine){var s=e.getCursorPosition();var o=i.text.split("\n");e.session.getDocument().insertLines(s.row+1,o),e.moveCursorTo(s.row+1,0)}else e.navigateRight(),e.insert(i.text),e.navigateLeft();e.setOverwrite(!0),e.selection.clearSelection()}},P:{fn:function(e,t,n,
r){var i=u$$0._default;e.setOverwrite(!1);if(i.isLine){var s=e.getCursorPosition();var o=i.text.split("\n");e.session.getDocument().insertLines(s.row,o),e.moveCursorTo(s.row,0)}else e.insert(i.text);e.setOverwrite(!0),e.selection.clearSelection()}},J:{fn:function(e,t,n,r){var i=e.session;t=e.getSelectionRange();var s={row:t.start.row,column:t.start.column};n=n||t.end.row-t.start.row;var o=Math.min(s.row+(n||1),i.getLength()-1);t.start.column=i.getLine(s.row).length,t.end.column=i.getLine(o).length,
t.end.row=o;var u="";for(var a=s.row;a<o;a++){var f=i.getLine(a+1);u+=" "+/^\s*(.*)$/.exec(f)[1]||""}i.replace(t,u),e.moveCursorTo(s.row,s.column)}},u:{fn:function(e,t,n,r){n=parseInt(n||1,10);for(var i=0;i<n;i++)e.undo();e.selection.clearSelection()}},"ctrl-r":{fn:function(e,t,n,r){n=parseInt(n||1,10);for(var i=0;i<n;i++)e.redo();e.selection.clearSelection()}},":":{fn:function(e,t,n,r){}},"/":{fn:function(e,t,n,r){}},"?":{fn:function(e,t,n,r){}},".":{fn:function(e,t,n,i){r$$0.onInsertReplaySequence=
m.lastInsertCommands;var s=m.previous;s&&m.exec(e,s.action,s.param)}}};var m=t$$1.inputBuffer={accepting:[a$$0,f,l,c],currentCmd:null,currentCount:"",status:"",operator:null,motion:null,lastInsertCommands:[],push:function(e,t,n){this.idle=!1;var r=this.waitingForParam;if(r)this.exec(e,r,t);else if(t==="0"&&!this.currentCount.length||!t.match(/^\d+$/)||!this.isAccepting(a$$0))if(!this.operator&&this.isAccepting(f)&&s$$0[t])this.operator={ch:t,count:this.getCount()},this.currentCmd=f,this.accepting=
[a$$0,l,c],this.exec(e,{operator:this.operator});else if(i$$0[t]&&this.isAccepting(l)){this.currentCmd=l;var u={operator:this.operator,motion:{ch:t,count:this.getCount()}};i$$0[t].param?this.waitForParam(u):this.exec(e,u)}else if(o$$0[t]&&this.isAccepting(l))o$$0[t].operator.count=this.getCount(),this.exec(e,o$$0[t]);else if(v[t]&&this.isAccepting(c)){var h={action:{fn:v[t].fn,count:this.getCount()}};v[t].param?this.waitForParam(h):this.exec(e,h),v[t].acceptsMotion&&(this.idle=!1)}else this.operator?
this.exec(e,{operator:this.operator},t):this.reset();else this.currentCount+=t,this.currentCmd=a$$0,this.accepting=[a$$0,f,l,c];if(this.waitingForParam||this.motion||this.operator)this.status+=t;else if(this.currentCount)this.status=this.currentCount;else{if(!this.status)return;this.status=""}e._emit("changeStatus")},waitForParam:function(e){this.waitingForParam=e},getCount:function(){var e=this.currentCount;return this.currentCount="",e&&parseInt(e,10)},exec:function(e,t$$0,n){var o=t$$0.motion;
var u=t$$0.operator;var a=t$$0.action;n||(n=t$$0.param),u&&(this.previous={action:t$$0,param:n});if(u&&!e.selection.isEmpty()){s$$0[u.ch].selFn&&(s$$0[u.ch].selFn(e,e.getSelectionRange(),u.count,n),this.reset());return}if(!o&&!a&&u&&n)s$$0[u.ch].fn(e,null,u.count,n),this.reset();else if(o){var f=function(t){t&&typeof t=="function"&&(o.count&&!l.handlesCount?p(t,o.count,[e,null,o.count,n]):t(e,null,o.count,n))};var l=i$$0[o.ch];var c=l.sel;u?c&&p(function(){f(l.sel),s$$0[u.ch].fn(e,e.getSelectionRange(),
u.count,n)},u.count||1):(r$$0.onVisualMode||r$$0.onVisualLineMode)&&c?f(l.sel):f(l.nav),this.reset()}else a&&(a.fn(e,e.getSelectionRange(),a.count,n),this.reset());y(e)},isAccepting:function(e){return this.accepting.indexOf(e)!==-1},reset:function(){this.operator=null,this.motion=null,this.currentCount="",this.status="",this.accepting=[a$$0,f,l,c],this.idle=!0,this.waitingForParam=null}};t$$1.coreCommands={start:{exec:function b(e){r$$0.insertMode(e),g(b)}},startBeginning:{exec:function w(e){e.navigateLineStart(),
r$$0.insertMode(e),g(w)}},stop:{exec:function(t){m.reset(),r$$0.onVisualMode=!1,r$$0.onVisualLineMode=!1,m.lastInsertCommands=r$$0.normalMode(t)}},append:{exec:function E(e){var t=e.getCursorPosition();var n=e.session.getLine(t.row).length;n&&e.navigateRight(),r$$0.insertMode(e),g(E)}},appendEnd:{exec:function S(e){e.navigateLineEnd(),r$$0.insertMode(e),g(S)}}};var y=t$$1.onCursorMove=function(e,t){if(r$$0.currentMode==="insert"||y.running)return;if(!e.selection.isEmpty()){y.running=!0;if(r$$0.onVisualLineMode){var n=
e.selection.visualLineStart;var i=e.getCursorPosition().row;if(n<=i){var s=e.session.getLine(i);e.selection.clearSelection(),e.selection.moveCursorTo(n,0),e.selection.selectTo(i,s.length)}else{s=e.session.getLine(n);e.selection.clearSelection(),e.selection.moveCursorTo(n,s.length),e.selection.selectTo(i,0)}}y.running=!1;return}t&&(r$$0.onVisualLineMode||r$$0.onVisualMode)&&(e.selection.clearSelection(),r$$0.normalMode(e)),y.running=!0;var o=e.getCursorPosition();var u=e.session.getLine(o.row).length;
u&&o.column===u&&e.navigateLeft(),y.running=!1}}),ace.define("ace/keyboard/vim/maps/util",["require","exports","module","ace/keyboard/vim/registers","ace/lib/dom"],function(e$$0,t$$0,n$$0){var r$$0=e$$0("../registers");var i$$0=e$$0("../../../lib/dom");i$$0.importCssString(".insert-mode .ace_cursor{    border-left: 2px solid #333333;}.ace_dark.insert-mode .ace_cursor{    border-left: 2px solid #eeeeee;}.normal-mode .ace_cursor{    border: 0!important;    background-color: red;    opacity: 0.5;}",
"vimMode"),n$$0.exports={onVisualMode:!1,onVisualLineMode:!1,currentMode:"normal",noMode:function(e){e.unsetStyle("insert-mode"),e.unsetStyle("normal-mode"),e.commands.recording&&e.commands.toggleRecording(e),e.setOverwrite(!1)},insertMode:function(e){this.currentMode="insert",e.setStyle("insert-mode"),e.unsetStyle("normal-mode"),e.setOverwrite(!1),e.keyBinding.$data.buffer="",e.keyBinding.$data.state="insertMode",this.onVisualMode=!1,this.onVisualLineMode=!1,this.onInsertReplaySequence?(e.commands.macro=
this.onInsertReplaySequence,e.commands.replay(e),this.onInsertReplaySequence=null,this.normalMode(e)):(e._emit("changeStatus"),e.commands.recording||e.commands.toggleRecording(e))},normalMode:function(e){this.currentMode="normal",e.unsetStyle("insert-mode"),e.setStyle("normal-mode"),e.clearSelection();var t;return e.getOverwrite()||(t=e.getCursorPosition(),t.column>0&&e.navigateLeft()),e.setOverwrite(!0),e.keyBinding.$data.buffer="",e.keyBinding.$data.state="start",this.onVisualMode=!1,this.onVisualLineMode=
!1,e._emit("changeStatus"),e.commands.recording?(e.commands.toggleRecording(e),e.commands.macro):[]},visualMode:function(e,t){if(this.onVisualLineMode&&t||this.onVisualMode&&!t){this.normalMode(e);return}e.setStyle("insert-mode"),e.unsetStyle("normal-mode"),e._emit("changeStatus"),t?this.onVisualLineMode=!0:(this.onVisualMode=!0,this.onVisualLineMode=!1)},getRightNthChar:function(e,t,n,r){var i=e.getSession().getLine(t.row);var s=i.substr(t.column+1).split(n);return r<s.length?s.slice(0,r).join(n).length:
null},getLeftNthChar:function(e,t,n,r){var i=e.getSession().getLine(t.row);var s=i.substr(0,t.column).split(n);return r<s.length?s.slice(-1*r).join(n).length:null},toRealChar:function(e){return e.length===1?e:/^shift-./.test(e)?e[e.length-1].toUpperCase():""},copyLine:function(e){var t=e.getCursorPosition();e.selection.clearSelection(),e.moveCursorTo(t.row,t.column),e.selection.selectLine(),r$$0._default.isLine=!0,r$$0._default.text=e.getCopyText().replace(/\n$/,""),e.selection.clearSelection(),e.moveCursorTo(t.row,
t.column)}}}),ace.define("ace/keyboard/vim/registers",["require","exports","module"],function(e,t,n){"never use strict";n.exports={_default:{text:"",isLine:!1}}}),ace.define("ace/keyboard/vim/maps/motions",["require","exports","module","ace/keyboard/vim/maps/util","ace/search","ace/range"],function(e$$1,t$$1,n$$1){function s$$0(e$$0){if(typeof e$$0=="function"){var t=e$$0;e$$0=this}else t=e$$0.getPos;return e$$0.nav=function(e,n,r,i){var s=t(e,n,r,i,!1);if(!s)return;e.clearSelection(),e.moveCursorTo(s.row,
s.column)},e$$0.sel=function(e,n,r,i){var s=t(e,n,r,i,!0);if(!s)return;e.selection.selectTo(s.row,s.column)},e$$0}function h(e,t,n){return c.$options.needle=t,c.$options.backwards=n==-1,c.find(e.session)}var r$$0=e$$1("./util");var i$$0=function(e,t){var n=e.renderer.getScrollTopRow();var r=e.getCursorPosition().row;var i=r-n;t&&t.call(e),e.renderer.scrollToRow(e.getCursorPosition().row-i)};var o$$0=/[\s.\/\\()\"'-:,.;<>~!@#$%^&*|+=\[\]{}`~?]/;var u$$0=/[.\/\\()\"'-:,.;<>~!@#$%^&*|+=\[\]{}`~?]/;var a=
/\s/;var f=function(e,t$$0){var n$$0=e.selection;this.range=n$$0.getRange(),t$$0=t$$0||n$$0.selectionLead,this.row=t$$0.row,this.col=t$$0.column;var r=e.session.getLine(this.row);var i=e.session.getLength();this.ch=r[this.col]||"\n",this.skippedLines=0,this.next=function(){return this.ch=r[++this.col]||this.handleNewLine(1),this.ch},this.prev=function(){return this.ch=r[--this.col]||this.handleNewLine(-1),this.ch},this.peek=function(t){var n=r[this.col+t];return n?n:t==-1?"\n":this.col==r.length-
1?"\n":e.session.getLine(this.row+1)[0]||"\n"},this.handleNewLine=function(t){if(t==1)return this.col==r.length?"\n":this.row==i-1?"":(this.col=0,this.row++,r=e.session.getLine(this.row),this.skippedLines++,r[0]||"\n");if(t==-1)return this.row===0?"":(this.row--,r=e.session.getLine(this.row),this.col=r.length,this.skippedLines--,"\n")},this.debug=function(){console.log(r.substring(0,this.col)+"|"+this.ch+"'"+this.col+"'"+r.substr(this.col+1))}};var l=e$$1("../../../search").Search;var c=new l;var p=
e$$1("../../../range").Range;n$$1.exports={w:new s$$0(function(e){var t=new f(e);if(t.ch&&u$$0.test(t.ch))for(;t.ch&&u$$0.test(t.ch);)t.next();else for(;t.ch&&!o$$0.test(t.ch);)t.next();for(;t.ch&&a.test(t.ch)&&t.skippedLines<2;)t.next();return t.skippedLines==2&&t.prev(),{column:t.col,row:t.row}}),W:new s$$0(function(e){for(var t=new f(e);t.ch&&(!a.test(t.ch)||!!a.test(t.peek(1)))&&t.skippedLines<2;)t.next();return t.skippedLines==2?t.prev():t.next(),{column:t.col,row:t.row}}),b:new s$$0(function(e){var t=
new f(e);for(t.prev();t.ch&&a.test(t.ch)&&t.skippedLines>-2;)t.prev();if(t.ch&&u$$0.test(t.ch))for(;t.ch&&u$$0.test(t.ch);)t.prev();else for(;t.ch&&!o$$0.test(t.ch);)t.prev();return t.ch&&t.next(),{column:t.col,row:t.row}}),B:new s$$0(function(e){var t=new f(e);for(t.prev();t.ch&&(!!a.test(t.ch)||!a.test(t.peek(-1)))&&t.skippedLines>-2;)t.prev();return t.skippedLines==-2&&t.next(),{column:t.col,row:t.row}}),e:new s$$0(function(e){var t=new f(e);for(t.next();t.ch&&a.test(t.ch);)t.next();if(t.ch&&u$$0.test(t.ch))for(;t.ch&&
u$$0.test(t.ch);)t.next();else for(;t.ch&&!o$$0.test(t.ch);)t.next();return t.ch&&t.prev(),{column:t.col,row:t.row}}),E:new s$$0(function(e){var t=new f(e);for(t.next();t.ch&&(!!a.test(t.ch)||!a.test(t.peek(1)));)t.next();return{column:t.col,row:t.row}}),l:{nav:function(e){e.navigateRight()},sel:function(e){var t=e.getCursorPosition();var n=t.column;var r=e.session.getLine(t.row).length;r&&n!==r&&e.selection.selectRight()}},h:{nav:function(e){var t=e.getCursorPosition();t.column>0&&e.navigateLeft()},
sel:function(e){var t=e.getCursorPosition();t.column>0&&e.selection.selectLeft()}},H:{nav:function(e){var t=e.renderer.getScrollTopRow();e.moveCursorTo(t)},sel:function(e){var t=e.renderer.getScrollTopRow();e.selection.selectTo(t)}},M:{nav:function(e){var t=e.renderer.getScrollTopRow();var n=e.renderer.getScrollBottomRow();var r=t+(n-t)/2;e.moveCursorTo(r)},sel:function(e){var t=e.renderer.getScrollTopRow();var n=e.renderer.getScrollBottomRow();var r=t+(n-t)/2;e.selection.selectTo(r)}},L:{nav:function(e){var t=
e.renderer.getScrollBottomRow();e.moveCursorTo(t)},sel:function(e){var t=e.renderer.getScrollBottomRow();e.selection.selectTo(t)}},k:{nav:function(e){e.navigateUp()},sel:function(e){e.selection.selectUp()}},j:{nav:function(e){e.navigateDown()},sel:function(e){e.selection.selectDown()}},i:{param:!0,sel:function(e,t,n,r){switch(r){case "w":e.selection.selectWord();break;case "W":e.selection.selectAWord();break;case "(":case "{":case "[":var i=e.getCursorPosition();var s=e.session.$findClosingBracket(r,
i,/paren/);if(!s)return;var o=e.session.$findOpeningBracket(e.session.$brackets[r],i,/paren/);if(!o)return;o.column++,e.selection.setSelectionRange(p.fromPoints(o,s));break;case "'":case '"':case "/":s=h(e,r,1);if(!s)return;o=h(e,r,-1);if(!o)return;e.selection.setSelectionRange(p.fromPoints(o.end,s.start))}}},a:{param:!0,sel:function(e,t,n,r){switch(r){case "w":e.selection.selectAWord();break;case "W":e.selection.selectAWord();break;case "(":case "{":case "[":var i=e.getCursorPosition();var s=e.session.$findClosingBracket(r,
i,/paren/);if(!s)return;var o=e.session.$findOpeningBracket(e.session.$brackets[r],i,/paren/);if(!o)return;s.column++,e.selection.setSelectionRange(p.fromPoints(o,s));break;case "'":case '"':case "/":s=h(e,r,1);if(!s)return;o=h(e,r,-1);if(!o)return;s.column++,e.selection.setSelectionRange(p.fromPoints(o.start,s.end))}}},f:new s$$0({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s){var o=e.getCursorPosition();var u=r$$0.getRightNthChar(e,o,i,n||1);if(typeof u=="number")return o.column+=u+(s?2:1),
o}}),F:new s$$0({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s){var o=e.getCursorPosition();var u=r$$0.getLeftNthChar(e,o,i,n||1);if(typeof u=="number")return o.column-=u+1,o}}),t:new s$$0({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s){var o=e.getCursorPosition();var u=r$$0.getRightNthChar(e,o,i,n||1);if(typeof u=="number")return o.column+=u+(s?1:0),o}}),T:new s$$0({param:!0,handlesCount:!0,getPos:function(e,t,n,i,s){var o=e.getCursorPosition();var u=r$$0.getLeftNthChar(e,o,i,n||1);if(typeof u==
"number")return o.column-=u,o}}),"^":{nav:function(e){e.navigateLineStart()},sel:function(e){e.selection.selectLineStart()}},$:{nav:function(e){e.navigateLineEnd()},sel:function(e){e.selection.selectLineEnd()}},"0":new s$$0(function(e){return{row:e.selection.lead.row,column:0}}),G:{nav:function(e,t,n,r){!n&&n!==0&&(n=e.session.getLength()),e.gotoLine(n)},sel:function(e,t,n,r){!n&&n!==0&&(n=e.session.getLength()),e.selection.selectTo(n,0)}},g:{param:!0,nav:function(e,t,n,r){switch(r){case "m":console.log("Middle line");
break;case "e":console.log("End of prev word");break;case "g":e.gotoLine(n||0);case "u":e.gotoLine(n||0);case "U":e.gotoLine(n||0)}},sel:function(e,t,n,r){switch(r){case "m":console.log("Middle line");break;case "e":console.log("End of prev word");break;case "g":e.selection.selectTo(n||0,0)}}},o:{nav:function(e,t,n,i){n=n||1;for(var s="";0<n--;)s+="\n";s.length&&(e.navigateLineEnd(),e.insert(s),r$$0.insertMode(e))}},O:{nav:function(e,t,n,i){var s=e.getCursorPosition().row;n=n||1;for(var o="";0<n--;)o+=
"\n";o.length&&(s>0?(e.navigateUp(),e.navigateLineEnd(),e.insert(o)):(e.session.insert({row:0,column:0},o),e.navigateUp()),r$$0.insertMode(e))}},"%":new s$$0(function(e){var t=/[\[\]{}()]/g;var n=e.getCursorPosition();var r=e.session.getLine(n.row)[n.column];if(!t.test(r)){var i=h(e,t);if(!i)return;n=i.start}var s=e.session.findMatchingBracket({row:n.row,column:n.column+1});return s}),"{":new s$$0(function(e){var t=e.session;for(var n=t.selection.lead.row;n>0&&!/\S/.test(t.getLine(n));)n--;for(;/\S/.test(t.getLine(n));)n--;
return{column:0,row:n}}),"}":new s$$0(function(e){var t=e.session;var n=t.getLength();for(var r=t.selection.lead.row;r<n&&!/\S/.test(t.getLine(r));)r++;for(;/\S/.test(t.getLine(r));)r++;return{column:0,row:r}}),"ctrl-d":{nav:function(e,t,n,r){e.selection.clearSelection(),i$$0(e,e.gotoPageDown)},sel:function(e,t,n,r){i$$0(e,e.selectPageDown)}},"ctrl-u":{nav:function(e,t,n,r){e.selection.clearSelection(),i$$0(e,e.gotoPageUp)},sel:function(e,t,n,r){i$$0(e,e.selectPageUp)}}},n$$1.exports.backspace=n$$1.exports.left=
n$$1.exports.h,n$$1.exports.right=n$$1.exports.l,n$$1.exports.up=n$$1.exports.k,n$$1.exports.down=n$$1.exports.j,n$$1.exports.pagedown=n$$1.exports["ctrl-d"],n$$1.exports.pageup=n$$1.exports["ctrl-u"]}),ace.define("ace/keyboard/vim/maps/operators",["require","exports","module","ace/keyboard/vim/maps/util","ace/keyboard/vim/registers"],function(e$$0,t$$0,n$$0){"never use strict";var r$$0=e$$0("./util");var i$$0=e$$0("../registers");n$$0.exports={d:{selFn:function(e,t,n,s){i$$0._default.text=e.getCopyText(),
i$$0._default.isLine=r$$0.onVisualLineMode,r$$0.onVisualLineMode?e.removeLines():e.session.remove(t),r$$0.normalMode(e)},fn:function(e,t,n,r){n=n||1;switch(r){case "d":i$$0._default.text="",i$$0._default.isLine=!0;for(var s=0;s<n;s++){e.selection.selectLine(),i$$0._default.text+=e.getCopyText();var o=e.getSelectionRange();if(!o.isMultiLine()){lastLineReached=!0;var u=o.start.row-1;var a=e.session.getLine(u).length;o.setStart(u,a),e.session.remove(o),e.selection.clearSelection();break}e.session.remove(o),
e.selection.clearSelection()}i$$0._default.text=i$$0._default.text.replace(/\n$/,"");break;default:t&&(e.selection.setSelectionRange(t),i$$0._default.text=e.getCopyText(),i$$0._default.isLine=!1,e.session.remove(t),e.selection.clearSelection())}}},c:{selFn:function(e,t,n,i){e.session.remove(t),r$$0.insertMode(e)},fn:function(e,t,n,i){n=n||1;switch(i){case "c":for(var s=0;s<n;s++)e.removeLines(),r$$0.insertMode(e);break;default:t&&(e.session.remove(t),r$$0.insertMode(e))}}},y:{selFn:function(e,t,n,
s){i$$0._default.text=e.getCopyText(),i$$0._default.isLine=r$$0.onVisualLineMode,e.selection.clearSelection(),r$$0.normalMode(e)},fn:function(e,t,n,r){n=n||1;switch(r){case "y":var s=e.getCursorPosition();e.selection.selectLine();for(var o=0;o<n-1;o++)e.selection.moveCursorDown();i$$0._default.text=e.getCopyText().replace(/\n$/,""),e.selection.clearSelection(),i$$0._default.isLine=!0,e.moveCursorToPosition(s);break;default:if(t){s=e.getCursorPosition();e.selection.setSelectionRange(t),i$$0._default.text=
e.getCopyText(),i$$0._default.isLine=!1,e.selection.clearSelection(),e.moveCursorTo(s.row,s.column)}}}},">":{selFn:function(e,t,n,i){n=n||1;for(var s=0;s<n;s++)e.indent();r$$0.normalMode(e)},fn:function(e,t,n,r){n=parseInt(n||1,10);switch(r){case ">":var i=e.getCursorPosition();e.selection.selectLine();for(var s=0;s<n-1;s++)e.selection.moveCursorDown();e.indent(),e.selection.clearSelection(),e.moveCursorToPosition(i),e.navigateLineEnd(),e.navigateLineStart()}}},"<":{selFn:function(e,t,n,i){n=n||1;
for(var s=0;s<n;s++)e.blockOutdent();r$$0.normalMode(e)},fn:function(e,t,n,r){n=n||1;switch(r){case "<":var i=e.getCursorPosition();e.selection.selectLine();for(var s=0;s<n-1;s++)e.selection.moveCursorDown();e.blockOutdent(),e.selection.clearSelection(),e.moveCursorToPosition(i),e.navigateLineEnd(),e.navigateLineStart()}}}}}),"use strict",ace.define("ace/keyboard/vim/maps/aliases",["require","exports","module"],function(e,t,n){n.exports={x:{operator:{ch:"d",count:1},motion:{ch:"l",count:1}},X:{operator:{ch:"d",
count:1},motion:{ch:"h",count:1}},D:{operator:{ch:"d",count:1},motion:{ch:"$",count:1}},C:{operator:{ch:"c",count:1},motion:{ch:"$",count:1}},s:{operator:{ch:"c",count:1},motion:{ch:"l",count:1}},S:{operator:{ch:"c",count:1},param:"c"}}});