Server IP : 195.201.23.43 / Your IP : 18.189.145.112 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/kdecoratie/public_html/media/editors/codemirror/keymap/ |
Upload File : |
!(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../lib/codemirror"),require("../addon/search/searchcursor"),require("../addon/dialog/dialog"),require("../addon/edit/matchbrackets.js")):"function"==typeof define&&define.amd?define(["../lib/codemirror","../addon/search/searchcursor","../addon/dialog/dialog","../addon/edit/matchbrackets"],a):a(CodeMirror)})((function(a){"use strict";var b=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<Del>",type:"keyToKey",toKeys:"x",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:"=",type:"operator",operator:"indentAuto"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"gn",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!0}},{keys:"gN",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!1}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-w>",type:"idle",context:"normal"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"gi",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"lastEdit"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"gI",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"bol"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"gJ",type:"action",action:"joinLines",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0},context:"normal"},{keys:"R",type:"operator",operator:"change",operatorArgs:{linewise:!0,fullLine:!0},context:"visual",exitVisualBlock:!0},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],c=b.length,d=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"vglobal",shortName:"v"},{name:"global",shortName:"g"}],e=a.Pos;a.Vim=(function(){function f(b){b.setOption("disableInput",!0),b.setOption("showCursorWhenSelecting",!1),a.signal(b,"vim-mode-change",{mode:"normal"}),b.on("cursorActivity",nb),D(b),a.on(b.getInputField(),"paste",p(b))}function g(b){b.setOption("disableInput",!1),b.off("cursorActivity",nb),a.off(b.getInputField(),"paste",p(b)),b.state.vim=null}function h(b,c){this==a.keyMap.vim&&(a.rmClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(m(b),b.getInputField().style.caretColor="")),c&&c.attach==i||g(b)}function i(b,c){this==a.keyMap.vim&&(a.addClass(b.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==b.getOption("inputStyle")&&null!=document.body.style.caretColor&&(l(b),b.getInputField().style.caretColor="transparent")),c&&c.attach==i||f(b)}function j(a){if(a.state.fatCursorMarks){k(a);for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){var f=b[d];if(f.empty()){var g=a.getLine(f.anchor.line).length;f.anchor.ch<g?c.push(a.markText(f.anchor,e(f.anchor.line,f.anchor.ch+1),{className:"cm-fat-cursor-mark"})):c.push(a.markText(e(f.anchor.line,g-1),e(f.anchor.line,g),{className:"cm-fat-cursor-mark"}))}}a.state.fatCursorMarks=c}}function k(a){var b=a.state.fatCursorMarks;if(b)for(var c=0;c<b.length;c++)b[c].clear()}function l(a){a.state.fatCursorMarks=[],j(a),a.on("cursorActivity",j)}function m(a){k(a),a.off("cursorActivity",j),a.state.fatCursorMarks=null}function n(b,c){if(c){if(this[b])return this[b];var d=o(b);if(!d)return!1;var e=a.Vim.findKey(c,d);return"function"==typeof e&&a.signal(c,"vim-keypress",d),e}}function o(a){if("'"==a.charAt(0))return a.charAt(1);var b=a.split(/-(?!$)/),c=b[b.length-1];if(1==b.length&&1==b[0].length)return!1;if(2==b.length&&"Shift"==b[0]&&1==c.length)return!1;for(var d=!1,e=0;e<b.length;e++){var f=b[e];f in vb?b[e]=vb[f]:d=!0,f in wb&&(b[e]=wb[f])}return!!d&&(v(c)&&(b[b.length-1]=c.toLowerCase()),"<"+b.join("-")+">")}function p(a){var b=a.state.vim;return b.onPasteFn||(b.onPasteFn=function(){b.insertMode||(a.setCursor(R(a.getCursor(),0,1)),Ob.enterInsertMode(a,{},b))}),b.onPasteFn}function q(a,b){for(var c=[],d=a;d<a+b;d++)c.push(String.fromCharCode(d));return c}function r(a,b){return b>=a.firstLine()&&b<=a.lastLine()}function s(a){return/^[a-z]$/.test(a)}function t(a){return-1!="()[]{}".indexOf(a)}function u(a){return xb.test(a)}function v(a){return/^[A-Z]$/.test(a)}function w(a){return/^\s*$/.test(a)}function x(a){return-1!=".?!".indexOf(a)}function y(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return!0;return!1}function z(a,b,c,d,e){if(void 0===b&&!e)throw Error("defaultValue is required unless callback is provided");if(c||(c="string"),Fb[a]={type:c,defaultValue:b,callback:e},d)for(var f=0;f<d.length;f++)Fb[d[f]]=Fb[a];b&&A(a,b)}function A(a,b,c,d){var e=Fb[a];d=d||{};var f=d.scope;if(!e)return new Error("Unknown option: "+a);if("boolean"==e.type){if(b&&!0!==b)return new Error("Invalid argument: "+a+"="+b);!1!==b&&(b=!0)}e.callback?("local"!==f&&e.callback(b,void 0),"global"!==f&&c&&e.callback(b,c)):("local"!==f&&(e.value="boolean"==e.type?!!b:b),"global"!==f&&c&&(c.state.vim.options[a]={value:b}))}function B(a,b,c){var d=Fb[a];c=c||{};var e=c.scope;if(!d)return new Error("Unknown option: "+a);{if(!d.callback){var f="global"!==e&&b&&b.state.vim.options[a];return(f||"local"!==e&&d||{}).value}var f=b&&d.callback(void 0,b);if("global"!==e&&void 0!==f)return f;if("local"!==e)return d.callback()}}function C(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=Hb()}function D(a){return a.state.vim||(a.state.vim={inputState:new F,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),a.state.vim}function E(){Ib={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:Gb(),macroModeState:new C,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new J({}),searchHistoryController:new K,exCommandHistoryController:new K};for(var a in Fb){var b=Fb[a];b.value=b.defaultValue}}function F(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function G(b,c){b.state.vim.inputState=new F,a.signal(b,"vim-command-done",c)}function H(a,b,c){this.clear(),this.keyBuffer=[a||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!b,this.blockwise=!!c}function I(a,b){var c=Ib.registerController.registers;if(!a||1!=a.length)throw Error("Register name must be 1 character");if(c[a])throw Error("Register already defined "+a);c[a]=b,Eb.push(a)}function J(a){this.registers=a,this.unnamedRegister=a['"']=new H,a["."]=new H,a[":"]=new H,a["/"]=new H}function K(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function L(a,b){Mb[a]=b}function M(a,b){for(var c=[],d=0;d<b;d++)c.push(a);return c}function N(a,b){Nb[a]=b}function O(a,b){Ob[a]=b}function P(a,b){var c=a.state.vim,d=c.insertMode||c.visualMode,f=Math.min(Math.max(a.firstLine(),b.line),a.lastLine()),g=aa(a,f)-1+!!d,h=Math.min(Math.max(0,b.ch),g);return e(f,h)}function Q(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function R(a,b,c){return"object"==typeof b&&(c=b.ch,b=b.line),e(a.line+b,a.ch+c)}function S(a,b,c,d){for(var e,f=[],g=[],h=0;h<b.length;h++){var i=b[h];"insert"==c&&"insert"!=i.context||i.context&&i.context!=c||d.operator&&"action"==i.type||!(e=T(a,i.keys))||("partial"==e&&f.push(i),"full"==e&&g.push(i))}return{partial:f.length&&f,full:g.length&&g}}function T(a,b){if("<character>"==b.slice(-11)){var c=b.length-11,d=a.slice(0,c),e=b.slice(0,c);return d==e&&a.length>c?"full":0==e.indexOf(d)&&"partial"}return a==b?"full":0==b.indexOf(a)&&"partial"}function U(a){var b=/^.*(<[^>]+>)$/.exec(a),c=b?b[1]:a.slice(-1);if(c.length>1)switch(c){case"<CR>":c="\n";break;case"<Space>":c=" ";break;default:c=""}return c}function V(a,b,c){return function(){for(var d=0;d<c;d++)b(a)}}function W(a){return e(a.line,a.ch)}function X(a,b){return a.ch==b.ch&&a.line==b.line}function Y(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Z(a,b){return arguments.length>2&&(b=Z.apply(void 0,Array.prototype.slice.call(arguments,1))),Y(a,b)?a:b}function $(a,b){return arguments.length>2&&(b=$.apply(void 0,Array.prototype.slice.call(arguments,1))),Y(a,b)?b:a}function _(a,b,c){var d=Y(a,b),e=Y(b,c);return d&&e}function aa(a,b){return a.getLine(b).length}function ba(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ca(a){return a.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function da(a,b,c){var d=aa(a,b),f=new Array(c-d+1).join(" ");a.setCursor(e(b,d)),a.replaceRange(f,a.getCursor())}function ea(a,b){var c=[],d=a.listSelections(),f=W(a.clipPos(b)),g=!X(b,f),h=a.getCursor("head"),i=ga(d,h),j=X(d[i].head,d[i].anchor),k=d.length-1,l=k-i>i?k:0,m=d[l].anchor,n=Math.min(m.line,f.line),o=Math.max(m.line,f.line),p=m.ch,q=f.ch,r=d[l].head.ch-p,s=q-p;r>0&&s<=0?(p++,g||q--):r<0&&s>=0?(p--,j||q++):r<0&&-1==s&&(p--,q++);for(var t=n;t<=o;t++){var u={anchor:new e(t,p),head:new e(t,q)};c.push(u)}return a.setSelections(c),b.ch=q,m.ch=p,m}function fa(a,b,c){for(var d=[],e=0;e<c;e++){var f=R(b,e,0);d.push({anchor:f,head:f})}a.setSelections(d,0)}function ga(a,b,c){for(var d=0;d<a.length;d++){var e="head"!=c&&X(a[d].anchor,b),f="anchor"!=c&&X(a[d].head,b);if(e||f)return d}return-1}function ha(a,b){var c=b.lastSelection;return b.visualMode?(function(){var b=a.listSelections(),c=b[0],d=b[b.length-1];return[Y(c.anchor,c.head)?c.anchor:c.head,Y(d.anchor,d.head)?d.head:d.anchor]})():(function(){var b=a.getCursor(),d=a.getCursor(),f=c.visualBlock;if(f){var g=f.width,h=f.height;d=e(b.line+h,b.ch+g);for(var i=[],j=b.line;j<d.line;j++){var k=e(j,b.ch),l=e(j,d.ch),m={anchor:k,head:l};i.push(m)}a.setSelections(i)}else{var n=c.anchorMark.find(),o=c.headMark.find(),p=o.line-n.line,q=o.ch-n.ch;d={line:d.line+p,ch:p?d.ch:q+d.ch},c.visualLine&&(b=e(b.line,0),d=e(d.line,aa(a,d.line))),a.setSelection(b,d)}return[b,d]})()}function ia(a,b){var c=b.sel.anchor,d=b.sel.head;b.lastPastedText&&(d=a.posFromIndex(a.indexFromPos(c)+b.lastPastedText.length),b.lastPastedText=null),b.lastSelection={anchorMark:a.setBookmark(c),headMark:a.setBookmark(d),anchor:W(c),head:W(d),visualMode:b.visualMode,visualLine:b.visualLine,visualBlock:b.visualBlock}}function ja(a,b,c){var d,f=a.state.vim.sel,g=f.head,h=f.anchor;return Y(c,b)&&(d=c,c=b,b=d),Y(g,h)?(g=Z(b,g),h=$(h,c)):(h=Z(b,h),g=$(g,c),g=R(g,0,-1),-1==g.ch&&g.line!=a.firstLine()&&(g=e(g.line-1,aa(a,g.line-1)))),[h,g]}function ka(a,b,c){var d=a.state.vim;b=b||d.sel;var c=c||d.visualLine?"line":d.visualBlock?"block":"char",e=la(a,b,c);a.setSelections(e.ranges,e.primary),ob(a)}function la(a,b,c,d){var f=W(b.head),g=W(b.anchor);if("char"==c){var h=d||Y(b.head,b.anchor)?0:1,i=Y(b.head,b.anchor)?1:0;return f=R(b.head,0,h),g=R(b.anchor,0,i),{ranges:[{anchor:g,head:f}],primary:0}}if("line"==c){if(Y(b.head,b.anchor))f.ch=0,g.ch=aa(a,g.line);else{g.ch=0;var j=a.lastLine();f.line>j&&(f.line=j),f.ch=aa(a,f.line)}return{ranges:[{anchor:g,head:f}],primary:0}}if("block"==c){for(var k=Math.min(g.line,f.line),l=Math.min(g.ch,f.ch),m=Math.max(g.line,f.line),n=Math.max(g.ch,f.ch)+1,o=m-k+1,p=f.line==k?0:o-1,q=[],r=0;r<o;r++)q.push({anchor:e(k+r,l),head:e(k+r,n)});return{ranges:q,primary:p}}}function ma(a){var b=a.getCursor("head");return 1==a.getSelection().length&&(b=Z(b,a.getCursor("anchor"))),b}function na(b,c){var d=b.state.vim;!1!==c&&b.setCursor(P(b,d.sel.head)),ia(b,d),d.visualMode=!1,d.visualLine=!1,d.visualBlock=!1,d.insertMode||a.signal(b,"vim-mode-change",{mode:"normal"}),pb(d)}function oa(a,b,c){var d=a.getRange(b,c);if(/\n\s*$/.test(d)){var e=d.split("\n");e.pop();for(var f,f=e.pop();e.length>0&&f&&w(f);f=e.pop())c.line--,c.ch=0;f?(c.line--,c.ch=aa(a,c.line)):c.ch=0}}function pa(a,b,c){b.ch=0,c.ch=0,c.line++}function qa(a){if(!a)return 0;var b=a.search(/\S/);return-1==b?a.length:b}function ra(a,b,c,d,f){for(var g=ma(a),h=a.getLine(g.line),i=g.ch,j=f?yb[0]:zb[0];!j(h.charAt(i));)if(++i>=h.length)return null;d?j=zb[0]:(j=yb[0])(h.charAt(i))||(j=yb[1]);for(var k=i,l=i;j(h.charAt(k))&&k<h.length;)k++;for(;j(h.charAt(l))&&l>=0;)l--;if(l++,b){for(var m=k;/\s/.test(h.charAt(k))&&k<h.length;)k++;if(m==k){for(var n=l;/\s/.test(h.charAt(l-1))&&l>0;)l--;l||(l=n)}}return{start:e(g.line,l),end:e(g.line,k)}}function sa(b,c,d){var e=c;if(!a.findMatchingTag||!a.findEnclosingTag)return{start:e,end:e};var f=a.findMatchingTag(b,c)||a.findEnclosingTag(b,c);return f&&f.open&&f.close?d?{start:f.open.from,end:f.close.to}:{start:f.open.to,end:f.close.from}:{start:e,end:e}}function ta(a,b,c){X(b,c)||Ib.jumpList.add(a,b,c)}function ua(a,b){Ib.lastCharacterSearch.increment=a,Ib.lastCharacterSearch.forward=b.forward,Ib.lastCharacterSearch.selectedCharacter=b.selectedCharacter}function va(a,b,c,d){var f=W(a.getCursor()),g=c?1:-1,h=c?a.lineCount():-1,i=f.ch,j=f.line,k=a.getLine(j),l={lineText:k,nextCh:k.charAt(i),lastCh:null,index:i,symb:d,reverseSymb:(c?{")":"(","}":"{"}:{"(":")","{":"}"})[d],forward:c,depth:0,curMoveThrough:!1},m=Pb[d];if(!m)return f;var n=Qb[m].init,o=Qb[m].isComplete;for(n&&n(l);j!==h&&b;){if(l.index+=g,l.nextCh=l.lineText.charAt(l.index),!l.nextCh){if(j+=g,l.lineText=a.getLine(j)||"",g>0)l.index=0;else{var p=l.lineText.length;l.index=p>0?p-1:0}l.nextCh=l.lineText.charAt(l.index)}o(l)&&(f.line=j,f.ch=l.index,b--)}return l.nextCh||l.curMoveThrough?e(j,l.index):f}function wa(a,b,c,d,e){var f=b.line,g=b.ch,h=a.getLine(f),i=c?1:-1,j=d?zb:yb;if(e&&""==h){if(f+=i,h=a.getLine(f),!r(a,f))return null;g=c?0:h.length}for(;;){if(e&&""==h)return{from:0,to:0,line:f};for(var k=i>0?h.length:-1,l=k,m=k;g!=k;){for(var n=!1,o=0;o<j.length&&!n;++o)if(j[o](h.charAt(g))){for(l=g;g!=k&&j[o](h.charAt(g));)g+=i;if(m=g,n=l!=m,l==b.ch&&f==b.line&&m==l+i)continue;return{from:Math.min(l,m+1),to:Math.max(l,m),line:f}}n||(g+=i)}if(f+=i,!r(a,f))return null;h=a.getLine(f),g=i>0?0:h.length}}function xa(a,b,c,d,f,g){var h=W(b),i=[];(d&&!f||!d&&f)&&c++;for(var j=!(d&&f),k=0;k<c;k++){var l=wa(a,b,d,g,j);if(!l){var m=aa(a,a.lastLine());i.push(d?{line:a.lastLine(),from:m,to:m}:{line:0,from:0,to:0});break}i.push(l),b=e(l.line,d?l.to-1:l.from)}var n=i.length!=c,o=i[0],p=i.pop();return d&&!f?(n||o.from==h.ch&&o.line==h.line||(p=i.pop()),e(p.line,p.from)):d&&f?e(p.line,p.to-1):!d&&f?(n||o.to==h.ch&&o.line==h.line||(p=i.pop()),e(p.line,p.to)):e(p.line,p.from)}function ya(a,b,c,d,f){var g=b,h=e(g.line+c.repeat-1,1/0),i=a.clipPos(h);return i.ch--,f||(d.lastHPos=1/0,d.lastHSPos=a.charCoords(i,"div").left),h}function za(a,b,c,d){for(var f,g=a.getCursor(),h=g.ch,i=0;i<b;i++){if(-1==(f=Ca(h,a.getLine(g.line),d,c,!0)))return null;h=f}return e(a.getCursor().line,f)}function Aa(a,b){var c=a.getCursor().line;return P(a,e(c,b-1))}function Ba(a,b,c,d){y(c,Db)&&(b.marks[c]&&b.marks[c].clear(),b.marks[c]=a.setBookmark(d))}function Ca(a,b,c,d,e){var f;return d?-1==(f=b.indexOf(c,a+1))||e||(f-=1):-1==(f=b.lastIndexOf(c,a-1))||e||(f+=1),f}function Da(a,b,c,d,f){function g(b){return!a.getLine(b)}function h(a,b,c){return c?g(a)!=g(a+b):!g(a)&&g(a+b)}var i,j,k=b.line,l=a.firstLine(),m=a.lastLine(),n=k;if(d){for(;l<=n&&n<=m&&c>0;)h(n,d)&&c--,n+=d;return new e(n,0)}var o=a.state.vim;if(o.visualLine&&h(k,1,!0)){var p=o.sel.anchor;h(p.line,-1,!0)&&(f&&p.line==k||(k+=1))}var q=g(k);for(n=k;n<=m&&c;n++)h(n,1,!0)&&(f&&g(n)==q||c--);for(j=new e(n,0),n>m&&!q?q=!0:f=!1,n=k;n>l&&(f&&g(n)!=q&&n!=k||!h(n,-1,!0));n--);return i=new e(n,0),{start:i,end:j}}function Ea(a,b,c,d){function f(a,b){if(b.pos+b.dir<0||b.pos+b.dir>=b.line.length){if(b.ln+=b.dir,!r(a,b.ln))return b.line=null,b.ln=null,void(b.pos=null);b.line=a.getLine(b.ln),b.pos=b.dir>0?0:b.line.length-1}else b.pos+=b.dir}for(var g={ln:b.line,pos:b.ch};c>0;)g=d<0?(function(a,b,c,d){var e=a.getLine(b),g={line:e,ln:b,pos:c,dir:d},h={ln:g.ln,pos:null},i=""===g.line;for(f(a,g);null!==g.line;){if(""===g.line&&!i)return null!==h.pos?h:{ln:g.ln,pos:g.pos};if(x(g.line[g.pos])&&null!==h.pos&&(g.ln!==h.ln||g.pos+1!==h.pos))return h;""===g.line||w(g.line[g.pos])||(i=!1,h={ln:g.ln,pos:g.pos}),f(a,g)}var e=a.getLine(h.ln);h.pos=0;for(var j=0;j<e.length;++j)if(!w(e[j])){h.pos=j;break}return h})(a,g.ln,g.pos,d):(function(a,b,c,d){var e=a.getLine(b),g=""===e,h={line:e,ln:b,pos:c,dir:d},i={ln:h.ln,pos:h.pos},j=""===h.line;for(f(a,h);null!==h.line;){if(i.ln=h.ln,i.pos=h.pos,""===h.line&&!j)return{ln:h.ln,pos:h.pos};if(g&&""!==h.line&&!w(h.line[h.pos]))return{ln:h.ln,pos:h.pos};!x(h.line[h.pos])||g||h.pos!==h.line.length-1&&!w(h.line[h.pos+1])||(g=!0),f(a,h)}var e=a.getLine(i.ln);i.pos=0;for(var k=e.length-1;k>=0;--k)if(!w(e[k])){i.pos=k;break}return i})(a,g.ln,g.pos,d),c--;return e(g.ln,g.pos)}function Fa(a,b,c,d){var f,g,h=b,i={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/,"<":/[<>]/,">":/[<>]/}[c],j={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{","<":"<",">":"<"}[c],k=a.getLine(h.line).charAt(h.ch),l=k===j?1:0;if(f=a.scanForBracket(e(h.line,h.ch+l),-1,void 0,{bracketRegex:i}),g=a.scanForBracket(e(h.line,h.ch+l),1,void 0,{bracketRegex:i}),!f||!g)return{start:h,end:h};if(f=f.pos,g=g.pos,f.line==g.line&&f.ch>g.ch||f.line>g.line){var m=f;f=g,g=m}return d?g.ch+=1:f.ch+=1,{start:f,end:g}}function Ga(a,b,c,d){var f,g,h,i,j=W(b),k=a.getLine(j.line),l=k.split(""),m=l.indexOf(c);if(j.ch<m?j.ch=m:m<j.ch&&l[j.ch]==c&&(g=j.ch,--j.ch),l[j.ch]!=c||g)for(h=j.ch;h>-1&&!f;h--)l[h]==c&&(f=h+1);else f=j.ch+1;if(f&&!g)for(h=f,i=l.length;h<i&&!g;h++)l[h]==c&&(g=h);return f&&g?(d&&(--f,++g),{start:e(j.line,f),end:e(j.line,g)}):{start:j,end:j}}function Ha(){}function Ia(a){var b=a.state.vim;return b.searchState_||(b.searchState_=new Ha)}function Ja(a){return La(a,"/")}function Ka(a){return Ma(a,"/")}function La(a,b){var c=Ma(a,b)||[];if(!c.length)return[];var d=[];if(0===c[0]){for(var e=0;e<c.length;e++)"number"==typeof c[e]&&d.push(a.substring(c[e]+1,c[e+1]));return d}}function Ma(a,b){b||(b="/");for(var c=!1,d=[],e=0;e<a.length;e++){var f=a.charAt(e);c||f!=b||d.push(e),c=!c&&"\\"==f}return d}function Na(a){for(var b="|(){",c="}",d=!1,e=[],f=-1;f<a.length;f++){var g=a.charAt(f)||"",h=a.charAt(f+1)||"",i=h&&-1!=b.indexOf(h);d?("\\"===g&&i||e.push(g),d=!1):"\\"===g?(d=!0,h&&-1!=c.indexOf(h)&&(i=!0),i&&"\\"!==h||e.push(g)):(e.push(g),i&&"\\"!==h&&e.push("\\"))}return e.join("")}function Oa(a){for(var b=!1,c=[],d=-1;d<a.length;d++){var e=a.charAt(d)||"",f=a.charAt(d+1)||"";Rb[e+f]?(c.push(Rb[e+f]),d++):b?(c.push(e),b=!1):"\\"===e?(b=!0,u(f)||"$"===f?c.push("$"):"/"!==f&&"\\"!==f&&c.push("\\")):("$"===e&&c.push("$"),c.push(e),"/"===f&&c.push("\\"))}return c.join("")}function Pa(b){for(var c=new a.StringStream(b),d=[];!c.eol();){for(;c.peek()&&"\\"!=c.peek();)d.push(c.next());var e=!1;for(var f in Sb)if(c.match(f,!0)){e=!0,d.push(Sb[f]);break}e||d.push(c.next())}return d.join("")}function Qa(a,b,c){if(Ib.registerController.getRegister("/").setText(a),a instanceof RegExp)return a;var d,e,f=Ka(a);if(f.length){d=a.substring(0,f[0]);e=-1!=a.substring(f[0]).indexOf("i")}else d=a;return d?(B("pcre")||(d=Na(d)),c&&(b=/^[^A-Z]*$/.test(d)),new RegExp(d,b||e?"i":void 0)):null}function Ra(a){"string"==typeof a&&(a=document.createElement(a));for(var b,c=1;c<arguments.length;c++)if(b=arguments[c])if("object"!=typeof b&&(b=document.createTextNode(b)),b.nodeType)a.appendChild(b);else for(var d in b)Object.prototype.hasOwnProperty.call(b,d)&&("$"===d[0]?a.style[d.slice(1)]=b[d]:a.setAttribute(d,b[d]));return a}function Sa(a,b){var c=Ra("pre",{$color:"red"},b);a.openNotification?a.openNotification(c,{bottom:!0,duration:5e3}):alert(c.innerText)}function Ta(a,b){return Ra(document.createDocumentFragment(),Ra("span",{$fontFamily:"monospace",$whiteSpace:"pre"},a,Ra("input",{type:"text",autocorrect:"off",autocapitalize:"off",spellcheck:"false" })),b&&Ra("span",{$color:"#888"},b))}function Ua(a,b){var c=(b.prefix||"")+" "+(b.desc||""),d=Ta(b.prefix,b.desc);a.openDialog?a.openDialog(d,b.onClose,{onKeyDown:b.onKeyDown,onKeyUp:b.onKeyUp,bottom:!0,selectValueOnOpen:!1,value:b.value}):b.onClose(prompt(c,""))}function Va(a,b){if(a instanceof RegExp&&b instanceof RegExp){for(var c=["global","multiline","ignoreCase","source"],d=0;d<c.length;d++){var e=c[d];if(a[e]!==b[e])return!1}return!0}return!1}function Wa(a,b,c,d){if(b){var e=Ia(a),f=Qa(b,!!c,!!d);if(f)return Ya(a,f),Va(f,e.getQuery())?f:(e.setQuery(f),f)}}function Xa(a){if("^"==a.source.charAt(0))var b=!0;return{token:function(c){if(b&&!c.sol())return void c.skipToEnd();var d=c.match(a,!1);if(d)return 0==d[0].length?(c.next(),"searching"):c.sol()||(c.backUp(1),a.exec(c.next()+d[0]))?(c.match(a),"searching"):(c.next(),null);for(;!c.eol()&&(c.next(),!c.match(a,!1)););},query:a}}function Ya(a,b){clearTimeout(Tb),Tb=setTimeout((function(){var c=Ia(a),d=c.getOverlay();d&&b==d.query||(d&&a.removeOverlay(d),d=Xa(b),a.addOverlay(d),a.showMatchesOnScrollbar&&(c.getScrollbarAnnotate()&&c.getScrollbarAnnotate().clear(),c.setScrollbarAnnotate(a.showMatchesOnScrollbar(b))),c.setOverlay(d))}),50)}function Za(a,b,c,d){return void 0===d&&(d=1),a.operation((function(){for(var f=a.getCursor(),g=a.getSearchCursor(c,f),h=0;h<d;h++){var i=g.find(b);if(0==h&&i&&X(g.from(),f)&&(i=g.find(b)),!i&&(g=a.getSearchCursor(c,b?e(a.lastLine()):e(a.firstLine(),0)),!g.find(b)))return}return g.from()}))}function $a(a,b,c,d,f){return void 0===d&&(d=1),a.operation((function(){var g=a.getCursor(),h=a.getSearchCursor(c,g),i=h.find(!b);!f.visualMode&&i&&X(h.from(),g)&&h.find(!b);for(var j=0;j<d;j++)if(!(i=h.find(b))&&(h=a.getSearchCursor(c,b?e(a.lastLine()):e(a.firstLine(),0)),!h.find(b)))return;return[h.from(),h.to()]}))}function _a(a){var b=Ia(a);a.removeOverlay(Ia(a).getOverlay()),b.setOverlay(null),b.getScrollbarAnnotate()&&(b.getScrollbarAnnotate().clear(),b.setScrollbarAnnotate(null))}function ab(a,b,c){return"number"!=typeof a&&(a=a.line),b instanceof Array?y(a,b):"number"==typeof c?a>=b&&a<=c:a==b}function bb(a){var b=a.getScrollInfo(),c=a.coordsChar({left:0,top:6+b.top},"local"),d=b.clientHeight-10+b.top,e=a.coordsChar({left:0,top:d},"local");return{top:c.line,bottom:e.line}}function cb(a,b,c){if("'"==c||"`"==c)return Ib.jumpList.find(a,-1)||e(0,0);if("."==c)return db(a);var d=b.marks[c];return d&&d.find()}function db(a){for(var b=a.doc.history.done,c=b.length;c--;)if(b[c].changes)return W(b[c].changes[0].to)}function eb(b,c,d,e,f,g,h,i,j){function k(){b.operation((function(){for(;!s;)l(),m();n()}))}function l(){var a=b.getRange(g.from(),g.to()),c=a.replace(h,i),d=g.to().line;g.replace(c),q=g.to().line,f+=q-d,r=q<d}function m(){for(;g.findNext()&&ab(g.from(),e,f);)if(d||g.from().line!=q||r)return b.scrollIntoView(g.from(),30),b.setSelection(g.from(),g.to()),p=g.from(),void(s=!1);s=!0}function n(a){if(a&&a(),b.focus(),p){b.setCursor(p);var c=b.state.vim;c.exMode=!1,c.lastHPos=c.lastHSPos=p.ch}j&&j()}function o(c,d,e){switch(a.e_stop(c),a.keyName(c)){case"Y":l(),m();break;case"N":m();break;case"A":var f=j;j=void 0,b.operation(k),j=f;break;case"L":l();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":n(e)}return s&&n(e),!0}b.state.vim.exMode=!0;var p,q,r,s=!1;return m(),s?void Sa(b,"No matches for "+h.source):c?void Ua(b,{prefix:Ra("span","replace with ",Ra("strong",i)," (y/n/a/q/l)"),onKeyDown:o}):(k(),void(j&&j()))}function fb(b){var c=b.state.vim,d=Ib.macroModeState,e=Ib.registerController.getRegister("."),f=d.isPlaying,g=d.lastInsertModeChanges;f||(b.off("change",mb),a.off(b.getInputField(),"keydown",sb)),!f&&c.insertModeRepeat>1&&(tb(b,c,c.insertModeRepeat-1,!0),c.lastEditInputState.repeatOverride=c.insertModeRepeat),delete c.insertModeRepeat,c.insertMode=!1,b.setCursor(b.getCursor().line,b.getCursor().ch-1),b.setOption("keyMap","vim"),b.setOption("disableInput",!0),b.toggleOverwrite(!1),e.setText(g.changes.join("")),a.signal(b,"vim-mode-change",{mode:"normal"}),d.isRecording&&kb(d)}function gb(a){b.unshift(a)}function hb(a,b,c,d,e){var f={keys:a,type:b};f[b]=c,f[b+"Args"]=d;for(var g in e)f[g]=e[g];gb(f)}function ib(b,c,d,e){var f=Ib.registerController.getRegister(e);if(":"==e)return f.keyBuffer[0]&&Wb.processCommand(b,f.keyBuffer[0]),void(d.isPlaying=!1);var g=f.keyBuffer,h=0;d.isPlaying=!0,d.replaySearchQueries=f.searchQueries.slice(0);for(var i=0;i<g.length;i++)for(var j,k,l=g[i];l;)if(j=/<\w+-.+?>|<\w+>|./.exec(l),k=j[0],l=l.substring(j.index+k.length),a.Vim.handleKey(b,k,"macro"),c.insertMode){var m=f.insertModeChanges[h++].changes;Ib.macroModeState.lastInsertModeChanges.changes=m,ub(b,m,1),fb(b)}d.isPlaying=!1}function jb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Ib.registerController.getRegister(c);d&&d.pushText(b)}}function kb(a){if(!a.isPlaying){var b=a.latestRegister,c=Ib.registerController.getRegister(b);c&&c.pushInsertModeChanges&&c.pushInsertModeChanges(a.lastInsertModeChanges)}}function lb(a,b){if(!a.isPlaying){var c=a.latestRegister,d=Ib.registerController.getRegister(c);d&&d.pushSearchQuery&&d.pushSearchQuery(b)}}function mb(a,b){var c=Ib.macroModeState,d=c.lastInsertModeChanges;if(!c.isPlaying)for(;b;){if(d.expectCursorActivityForChange=!0,d.ignoreCount>1)d.ignoreCount--;else if("+input"==b.origin||"paste"==b.origin||void 0===b.origin){var e=a.listSelections().length;e>1&&(d.ignoreCount=e);var f=b.text.join("\n");d.maybeReset&&(d.changes=[],d.maybeReset=!1),f&&(a.state.overwrite&&!/\n/.test(f)?d.changes.push([f]):d.changes.push(f))}b=b.next}}function nb(a){var b=a.state.vim;if(b.insertMode){var c=Ib.macroModeState;if(c.isPlaying)return;var d=c.lastInsertModeChanges;d.expectCursorActivityForChange?d.expectCursorActivityForChange=!1:d.maybeReset=!0}else a.curOp.isVimOp||qb(a,b);b.visualMode&&ob(a)}function ob(a){var b=a.state.vim,c=P(a,W(b.sel.head)),d=R(c,0,1);if(pb(b),c.ch==a.getLine(c.line).length){var e=Ra("span",{class:"cm-animate-fat-cursor"}," ");b.fakeCursorBookmark=a.setBookmark(c,{widget:e})}else b.fakeCursor=a.markText(c,d,{className:"cm-animate-fat-cursor"})}function pb(a){a.fakeCursor&&(a.fakeCursor.clear(),a.fakeCursor=null),a.fakeCursorBookmark&&(a.fakeCursorBookmark.clear(),a.fakeCursorBookmark=null)}function qb(b,c){var d=b.getCursor("anchor"),e=b.getCursor("head");if(c.visualMode&&!b.somethingSelected()?na(b,!1):c.visualMode||c.insertMode||!b.somethingSelected()||(c.visualMode=!0,c.visualLine=!1,a.signal(b,"vim-mode-change",{mode:"visual"})),c.visualMode){var f=Y(e,d)?0:-1,g=Y(e,d)?-1:0;e=R(e,0,f),d=R(d,0,g),c.sel={anchor:d,head:e},Ba(b,c,"<",Z(e,d)),Ba(b,c,">",$(e,d))}else c.insertMode||(c.lastHPos=b.getCursor().ch)}function rb(a){this.keyName=a}function sb(b){function c(){return e.maybeReset&&(e.changes=[],e.maybeReset=!1),e.changes.push(new rb(f)),!0}var d=Ib.macroModeState,e=d.lastInsertModeChanges,f=a.keyName(b);f&&(-1==f.indexOf("Delete")&&-1==f.indexOf("Backspace")||a.lookupKey(f,"vim-insert",c))}function tb(a,b,c,d){function e(){h?Lb.processAction(a,b,b.lastEditActionCommand):Lb.evalInput(a,b)}function f(c){if(g.lastInsertModeChanges.changes.length>0){c=b.lastEditActionCommand?c:1;var d=g.lastInsertModeChanges;ub(a,d.changes,c)}}var g=Ib.macroModeState;g.isPlaying=!0;var h=!!b.lastEditActionCommand,i=b.inputState;if(b.inputState=b.lastEditInputState,h&&b.lastEditActionCommand.interlaceInsertRepeat)for(var j=0;j<c;j++)e(),f(1);else d||e(),f(c);b.inputState=i,b.insertMode&&!d&&fb(a),g.isPlaying=!1}function ub(b,c,d){function e(c){return"string"==typeof c?a.commands[c](b):c(b),!0}var f=b.getCursor("head"),g=Ib.macroModeState.lastInsertModeChanges.visualBlock;g&&(fa(b,f,g+1),d=b.listSelections().length,b.setCursor(f));for(var h=0;h<d;h++){g&&b.setCursor(R(f,h,0));for(var i=0;i<c.length;i++){var j=c[i];if(j instanceof rb)a.lookupKey(j.keyName,"vim-insert",e);else if("string"==typeof j){var k=b.getCursor();b.replaceRange(j,k,k)}else{var l=b.getCursor(),m=R(l,0,j[0].length);b.replaceRange(j[0],l,m)}}}g&&b.setCursor(R(f,0,1))}a.defineOption("vimMode",!1,(function(b,c,d){c&&"vim"!=b.getOption("keyMap")?b.setOption("keyMap","vim"):!c&&d!=a.Init&&/^vim/.test(b.getOption("keyMap"))&&b.setOption("keyMap","default")}));var vb={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A",CapsLock:""},wb={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"},xb=/[\d]/,yb=[a.isWordChar,function(b){return b&&!a.isWordChar(b)&&!/\s/.test(b)}],zb=[function(a){return/\S/.test(a)}],Ab=q(65,26),Bb=q(97,26),Cb=q(48,10),Db=[].concat(Ab,Bb,Cb,["<",">"]),Eb=[].concat(Ab,Bb,Cb,["-",'"',".",":","_","/"]),Fb={};z("filetype",void 0,"string",["ft"],(function(a,b){if(void 0!==b){if(void 0===a){var c=b.getOption("mode");return"null"==c?"":c}var c=""==a?"null":a;b.setOption("mode",c)}}));var Gb=function(){function a(a,b,c){function i(b){var c=++e%d,f=h[c];f&&f.clear(),h[c]=a.setBookmark(b)}var j=e%d,k=h[j];if(k){var l=k.find();l&&!X(l,b)&&i(b)}else i(b);i(c),f=e,(g=e-d+1)<0&&(g=0)}function b(a,b){e+=b,e>f?e=f:e<g&&(e=g);var c=h[(d+e)%d];if(c&&!c.find()){var i,j=b>0?1:-1,k=a.getCursor();do{if(e+=j,(c=h[(d+e)%d])&&(i=c.find())&&!X(k,i))break}while(e<f&&e>g)}return c}function c(a,c){var d=e,f=b(a,c);return e=d,f&&f.find()}var d=100,e=-1,f=0,g=0,h=new Array(d);return{cachedCursor:void 0,add:a,find:c,move:b}},Hb=function(a){return a?{changes:a.changes,expectCursorActivityForChange:a.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};C.prototype={exitMacroRecordMode:function(){var a=Ib.macroModeState;a.onRecordingDone&&a.onRecordingDone(),a.onRecordingDone=void 0,a.isRecording=!1},enterMacroRecordMode:function(a,b){var c=Ib.registerController.getRegister(b);c&&(c.clear(),this.latestRegister=b,a.openDialog&&(this.onRecordingDone=a.openDialog("(recording)["+b+"]",null,{bottom:!0})),this.isRecording=!0)}};var Ib,Jb,Kb={buildKeyMap:function(){},getRegisterController:function(){return Ib.registerController},resetVimGlobalState_:E,getVimGlobalState_:function(){return Ib},maybeInitVimState_:D,suppressErrorLogging:!1,InsertModeKey:rb,map:function(a,b,c){Wb.map(a,b,c)},unmap:function(a,b){Wb.unmap(a,b)},noremap:function(a,d,e){function f(a){return a?[a]:["normal","insert","visual"]}for(var g=f(e),h=b.length,i=c,j=h-i;j<h&&g.length;j++){var k=b[j];if(!(k.keys!=d||e&&k.context&&k.context!==e||"ex"===k.type.substr(0,2)||"key"===k.type.substr(0,3))){var l={};for(var m in k)l[m]=k[m];l.keys=a,e&&!l.context&&(l.context=e),this._mapCommand(l);var n=f(k.context);g=g.filter((function(a){return-1===n.indexOf(a)}))}}},mapclear:function(a){var d=b.length,e=c,f=b.slice(0,d-e);if(b=b.slice(d-e),a)for(var g=f.length-1;g>=0;g--){var h=f[g];if(a!==h.context)if(h.context)this._mapCommand(h);else{var i=["normal","insert","visual"];for(var j in i)if(i[j]!==a){var k={};for(var l in h)k[l]=h[l];k.context=i[j],this._mapCommand(k)}}}},setOption:A,getOption:B,defineOption:z,defineEx:function(a,b,c){if(b){if(0!==a.indexOf(b))throw new Error('(Vim.defineEx) "'+b+'" is not a prefix of "'+a+'", command not registered')}else b=a;Vb[a]=c,Wb.commandMap_[b]={name:a,shortName:b,type:"api"}},handleKey:function(a,b,c){var d=this.findKey(a,b,c);if("function"==typeof d)return d()},findKey:function(c,d,e){function f(){var a=Ib.macroModeState;if(a.isRecording){if("q"==d)return a.exitMacroRecordMode(),G(c),!0;"mapping"!=e&&jb(a,d)}}function g(){if("<Esc>"==d)return G(c),j.visualMode?na(c):j.insertMode&&fb(c),!0}function h(b){for(var e;b;)e=/<\w+-.+?>|<\w+>|./.exec(b),d=e[0],b=b.substring(e.index+d.length),a.Vim.handleKey(c,d,"mapping")}var i,j=D(c);return i=j.insertMode?(function(){if(g())return!0;for(var a=j.inputState.keyBuffer=j.inputState.keyBuffer+d,e=1==d.length,f=Lb.matchCommand(a,b,j.inputState,"insert");a.length>1&&"full"!=f.type;){var a=j.inputState.keyBuffer=a.slice(1),h=Lb.matchCommand(a,b,j.inputState,"insert");"none"!=h.type&&(f=h)}if("none"==f.type)return G(c),!1;if("partial"==f.type)return Jb&&window.clearTimeout(Jb),Jb=window.setTimeout((function(){j.insertMode&&j.inputState.keyBuffer&&G(c)}),B("insertModeEscKeysTimeout")),!e;if(Jb&&window.clearTimeout(Jb),e){for(var i=c.listSelections(),k=0;k<i.length;k++){var l=i[k].head;c.replaceRange("",R(l,0,-(a.length-1)),l,"+input")}Ib.macroModeState.lastInsertModeChanges.changes.pop()}return G(c),f.command})():(function(){if(f()||g())return!0;var a=j.inputState.keyBuffer=j.inputState.keyBuffer+d;if(/^[1-9]\d*$/.test(a))return!0;var e=/^(\d*)(.*)$/.exec(a);if(!e)return G(c),!1;var h=j.visualMode?"visual":"normal",i=Lb.matchCommand(e[2]||e[1],b,j.inputState,h);if("none"==i.type)return G(c),!1;if("partial"==i.type)return!0;j.inputState.keyBuffer="";var e=/^(\d*)(.*)$/.exec(a);return e[1]&&"0"!=e[1]&&j.inputState.pushRepeatDigit(e[1]),i.command})(),!1===i?j.insertMode||1!==d.length?void 0:function(){return!0}:!0===i?function(){return!0}:function(){return c.operation((function(){c.curOp.isVimOp=!0;try{"keyToKey"==i.type?h(i.toKeys):Lb.processCommand(c,j,i)}catch(b){throw c.state.vim=void 0,D(c),a.Vim.suppressErrorLogging||console.log(b),b}return!0}))}},handleEx:function(a,b){Wb.processCommand(a,b)},defineMotion:L,defineAction:O,defineOperator:N,mapCommand:hb,_mapCommand:gb,defineRegister:I,exitVisualMode:na,exitInsertMode:fb};F.prototype.pushRepeatDigit=function(a){this.operator?this.motionRepeat=this.motionRepeat.concat(a):this.prefixRepeat=this.prefixRepeat.concat(a)},F.prototype.getRepeat=function(){var a=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(a=1,this.prefixRepeat.length>0&&(a*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(a*=parseInt(this.motionRepeat.join(""),10))),a},H.prototype={setText:function(a,b,c){this.keyBuffer=[a||""],this.linewise=!!b,this.blockwise=!!c},pushText:function(a,b){b&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(a)},pushInsertModeChanges:function(a){this.insertModeChanges.push(Hb(a))},pushSearchQuery:function(a){this.searchQueries.push(a)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},J.prototype={pushText:function(a,b,c,d,e){if("_"!==a){d&&"\n"!==c.charAt(c.length-1)&&(c+="\n");var f=this.isValidRegister(a)?this.getRegister(a):null;if(!f){switch(b){case"yank":this.registers[0]=new H(c,d,e);break;case"delete":case"change":-1==c.indexOf("\n")?this.registers["-"]=new H(c,d):(this.shiftNumericRegisters_(),this.registers[1]=new H(c,d))}return void this.unnamedRegister.setText(c,d,e)}v(a)?f.pushText(c,d):f.setText(c,d,e),this.unnamedRegister.setText(f.toString(),d)}},getRegister:function(a){return this.isValidRegister(a)?(a=a.toLowerCase(),this.registers[a]||(this.registers[a]=new H),this.registers[a]):this.unnamedRegister},isValidRegister:function(a){return a&&y(a,Eb)},shiftNumericRegisters_:function(){for(var a=9;a>=2;a--)this.registers[a]=this.getRegister(""+(a-1))}},K.prototype={nextMatch:function(a,b){var c=this.historyBuffer,d=b?-1:1;null===this.initialPrefix&&(this.initialPrefix=a);for(var e=this.iterator+d;b?e>=0:e<c.length;e+=d)for(var f=c[e],g=0;g<=f.length;g++)if(this.initialPrefix==f.substring(0,g))return this.iterator=e,f;return e>=c.length?(this.iterator=c.length,this.initialPrefix):e<0?a:void 0},pushInput:function(a){var b=this.historyBuffer.indexOf(a);b>-1&&this.historyBuffer.splice(b,1),a.length&&this.historyBuffer.push(a)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Lb={matchCommand:function(a,b,c,d){var e=S(a,b,d,c);if(!e.full&&!e.partial)return{type:"none"};if(!e.full&&e.partial)return{type:"partial"};for(var f,g=0;g<e.full.length;g++){var h=e.full[g];f||(f=h)}if("<character>"==f.keys.slice(-11)){var i=U(a);if(!i)return{type:"none"};c.selectedCharacter=i}return{type:"full",command:f}},processCommand:function(a,b,c){switch(b.inputState.repeatOverride=c.repeatOverride,c.type){case"motion":this.processMotion(a,b,c);break;case"operator":this.processOperator(a,b,c);break;case"operatorMotion":this.processOperatorMotion(a,b,c);break;case"action":this.processAction(a,b,c);break;case"search":this.processSearch(a,b,c);break;case"ex":case"keyToEx":this.processEx(a,b,c)}},processMotion:function(a,b,c){b.inputState.motion=c.motion,b.inputState.motionArgs=Q(c.motionArgs),this.evalInput(a,b)},processOperator:function(a,b,c){var d=b.inputState;if(d.operator){if(d.operator==c.operator)return d.motion="expandToLine",d.motionArgs={linewise:!0},void this.evalInput(a,b);G(a)}d.operator=c.operator,d.operatorArgs=Q(c.operatorArgs),c.exitVisualBlock&&(b.visualBlock=!1,ka(a)),b.visualMode&&this.evalInput(a,b)},processOperatorMotion:function(a,b,c){var d=b.visualMode,e=Q(c.operatorMotionArgs);e&&d&&e.visualLine&&(b.visualLine=!0),this.processOperator(a,b,c),d||this.processMotion(a,b,c)},processAction:function(a,b,c){var d=b.inputState,e=d.getRepeat(),f=!!e,g=Q(c.actionArgs)||{};d.selectedCharacter&&(g.selectedCharacter=d.selectedCharacter),c.operator&&this.processOperator(a,b,c),c.motion&&this.processMotion(a,b,c),(c.motion||c.operator)&&this.evalInput(a,b),g.repeat=e||1,g.repeatIsExplicit=f,g.registerName=d.registerName,G(a),b.lastMotion=null,c.isEdit&&this.recordLastEdit(b,d,c),Ob[c.action](a,g,b)},processSearch:function(b,c,d){function e(a,e,f){Ib.searchHistoryController.pushInput(a),Ib.searchHistoryController.reset();try{Wa(b,a,e,f)}catch(c){return Sa(b,"Invalid regex: "+a),void G(b)}Lb.processMotion(b,c,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:d.searchArgs.toJumplist}})}function f(a){b.scrollTo(m.left,m.top),e(a,!0,!0);var c=Ib.macroModeState;c.isRecording&&lb(c,a)}function g(c,d,e){var f,g,h=a.keyName(c);"Up"==h||"Down"==h?(f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Ib.searchHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Ib.searchHistoryController.reset();var j;try{j=Wa(b,d,!0,!0)}catch(c){}j?b.scrollIntoView(Za(b,!i,j),30):(_a(b),b.scrollTo(m.left,m.top))}function h(c,d,e){var f=a.keyName(c);"Esc"==f||"Ctrl-C"==f||"Ctrl-["==f||"Backspace"==f&&""==d?(Ib.searchHistoryController.pushInput(d),Ib.searchHistoryController.reset(),Wa(b,l),_a(b),b.scrollTo(m.left,m.top),a.e_stop(c),G(b),e(),b.focus()):"Up"==f||"Down"==f?a.e_stop(c):"Ctrl-U"==f&&(a.e_stop(c),e(""))}if(b.getSearchCursor){var i=d.searchArgs.forward,j=d.searchArgs.wholeWordOnly;Ia(b).setReversed(!i);var k=i?"/":"?",l=Ia(b).getQuery(),m=b.getScrollInfo();switch(d.searchArgs.querySrc){case"prompt":var n=Ib.macroModeState;if(n.isPlaying){var o=n.replaySearchQueries.shift();e(o,!0,!1)}else Ua(b,{onClose:f,prefix:k,desc:"(JavaScript regexp)",onKeyUp:g,onKeyDown:h});break;case"wordUnderCursor":var p=ra(b,!1,!0,!1,!0),q=!0;if(p||(p=ra(b,!1,!0,!1,!1),q=!1),!p)return;var o=b.getLine(p.start.line).substring(p.start.ch,p.end.ch);o=q&&j?"\\b"+o+"\\b":ca(o),Ib.jumpList.cachedCursor=b.getCursor(),b.setCursor(p.start),e(o,!0,!1)}}},processEx:function(b,c,d){function e(a){Ib.exCommandHistoryController.pushInput(a),Ib.exCommandHistoryController.reset(),Wb.processCommand(b,a)}function f(c,d,e){var f,g,h=a.keyName(c);("Esc"==h||"Ctrl-C"==h||"Ctrl-["==h||"Backspace"==h&&""==d)&&(Ib.exCommandHistoryController.pushInput(d),Ib.exCommandHistoryController.reset(),a.e_stop(c),G(b),e(),b.focus()),"Up"==h||"Down"==h?(a.e_stop(c),f="Up"==h,g=c.target?c.target.selectionEnd:0,d=Ib.exCommandHistoryController.nextMatch(d,f)||"",e(d),g&&c.target&&(c.target.selectionEnd=c.target.selectionStart=Math.min(g,c.target.value.length))):"Ctrl-U"==h?(a.e_stop(c),e("")):"Left"!=h&&"Right"!=h&&"Ctrl"!=h&&"Alt"!=h&&"Shift"!=h&&Ib.exCommandHistoryController.reset()}"keyToEx"==d.type?Wb.processCommand(b,d.exArgs.input):c.visualMode?Ua(b,{onClose:e,prefix:":",value:"'<,'>",onKeyDown:f,selectValueOnOpen:!1}):Ua(b,{onClose:e,prefix:":",onKeyDown:f})},evalInput:function(a,b){var c,d,f,g=b.inputState,h=g.motion,i=g.motionArgs||{},j=g.operator,k=g.operatorArgs||{},l=g.registerName,m=b.sel,n=W(b.visualMode?P(a,m.head):a.getCursor("head")),o=W(b.visualMode?P(a,m.anchor):a.getCursor("anchor")),p=W(n),q=W(o);if(j&&this.recordLastEdit(b,g),f=void 0!==g.repeatOverride?g.repeatOverride:g.getRepeat(),f>0&&i.explicitRepeat?i.repeatIsExplicit=!0:(i.noRepeat||!i.explicitRepeat&&0===f)&&(f=1,i.repeatIsExplicit=!1),g.selectedCharacter&&(i.selectedCharacter=k.selectedCharacter=g.selectedCharacter),i.repeat=f,G(a),h){var r=Mb[h](a,n,i,b,g);if(b.lastMotion=Mb[h],!r)return;if(i.toJumplist){var s=Ib.jumpList,t=s.cachedCursor;t?(ta(a,t,r),delete s.cachedCursor):ta(a,n,r)}r instanceof Array?(d=r[0],c=r[1]):c=r,c||(c=W(n)),b.visualMode?(b.visualBlock&&c.ch===1/0||(c=P(a,c)),d&&(d=P(a,d)),d=d||q,m.anchor=d,m.head=c,ka(a),Ba(a,b,"<",Y(d,c)?d:c),Ba(a,b,">",Y(d,c)?c:d)):j||(c=P(a,c),a.setCursor(c.line,c.ch))}if(j){if(k.lastSel){d=q;var u=k.lastSel,v=Math.abs(u.head.line-u.anchor.line),w=Math.abs(u.head.ch-u.anchor.ch);c=u.visualLine?e(q.line+v,q.ch):u.visualBlock?e(q.line+v,q.ch+w):u.head.line==u.anchor.line?e(q.line,q.ch+w):e(q.line+v,q.ch),b.visualMode=!0,b.visualLine=u.visualLine,b.visualBlock=u.visualBlock,m=b.sel={anchor:d,head:c},ka(a)}else b.visualMode&&(k.lastSel={anchor:W(m.anchor),head:W(m.head),visualBlock:b.visualBlock,visualLine:b.visualLine});var x,y,z,A,B;if(b.visualMode){if(x=Z(m.head,m.anchor),y=$(m.head,m.anchor),z=b.visualLine||k.linewise,A=b.visualBlock?"block":z?"line":"char",B=la(a,{anchor:x,head:y},A),z){var C=B.ranges;if("block"==A)for(var D=0;D<C.length;D++)C[D].head.ch=aa(a,C[D].head.line);else"line"==A&&(C[0].head=e(C[0].head.line+1,0))}}else{if(x=W(d||q),y=W(c||p),Y(y,x)){var E=x;x=y,y=E}z=i.linewise||k.linewise,z?pa(a,x,y):i.forward&&oa(a,x,y),A="char";B=la(a,{anchor:x,head:y},A,!i.inclusive||z)}a.setSelections(B.ranges,B.primary),b.lastMotion=null,k.repeat=f,k.registerName=l,k.linewise=z;var F=Nb[j](a,k,B.ranges,q,c);b.visualMode&&na(a,null!=F),F&&a.setCursor(F)}},recordLastEdit:function(a,b,c){var d=Ib.macroModeState;d.isPlaying||(a.lastEditInputState=b,a.lastEditActionCommand=c,d.lastInsertModeChanges.changes=[],d.lastInsertModeChanges.expectCursorActivityForChange=!1,d.lastInsertModeChanges.visualBlock=a.visualBlock?a.sel.head.line-a.sel.anchor.line:0)}},Mb={moveToTopLine:function(a,b,c){var d=bb(a).top+c.repeat-1;return e(d,qa(a.getLine(d)))},moveToMiddleLine:function(a){var b=bb(a),c=Math.floor(.5*(b.top+b.bottom));return e(c,qa(a.getLine(c)))},moveToBottomLine:function(a,b,c){var d=bb(a).bottom-c.repeat+1;return e(d,qa(a.getLine(d)))},expandToLine:function(a,b,c){return e(b.line+c.repeat-1,1/0)},findNext:function(a,b,c){var d=Ia(a),e=d.getQuery();if(e){var f=!c.forward;return f=d.isReversed()?!f:f,Ya(a,e),Za(a,f,e,c.repeat)}},findAndSelectNextInclusive:function(b,c,d,f,g){var h=Ia(b),i=h.getQuery();if(i){var j=!d.forward;j=h.isReversed()?!j:j;var k=$a(b,j,i,d.repeat,f);if(k){if(g.operator)return k;var l=k[0],m=e(k[1].line,k[1].ch-1);if(f.visualMode){(f.visualLine||f.visualBlock)&&(f.visualLine=!1,f.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"visual",subMode:""}));var n=f.sel.anchor;if(n)return h.isReversed()?d.forward?[n,l]:[n,m]:d.forward?[n,m]:[n,l]}else f.visualMode=!0,f.visualLine=!1,f.visualBlock=!1,a.signal(b,"vim-mode-change",{mode:"visual",subMode:""});return j?[m,l]:[l,m]}}},goToMark:function(a,b,c,d){var e=cb(a,d,c.selectedCharacter);return e?c.linewise?{line:e.line,ch:qa(a.getLine(e.line))}:e:null},moveToOtherHighlightedEnd:function(a,b,c,d){if(d.visualBlock&&c.sameLine){var f=d.sel;return[P(a,e(f.anchor.line,f.head.ch)),P(a,e(f.head.line,f.anchor.ch))]}return[d.sel.head,d.sel.anchor]},jumpToMark:function(a,b,c,d){for(var f=b,g=0;g<c.repeat;g++){var h=f;for(var i in d.marks)if(s(i)){var j=d.marks[i].find(),k=c.forward?Y(j,h):Y(h,j);if(!(k||c.linewise&&j.line==h.line)){var l=X(h,f),m=c.forward?_(h,j,f):_(f,j,h);(l||m)&&(f=j)}}}return c.linewise&&(f=e(f.line,qa(a.getLine(f.line)))),f},moveByCharacters:function(a,b,c){var d=b,f=c.repeat,g=c.forward?d.ch+f:d.ch-f;return e(d.line,g)},moveByLines:function(a,b,c,d){var f=b,g=f.ch;switch(d.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:g=d.lastHPos;break;default:d.lastHPos=g}var h=c.repeat+(c.repeatOffset||0),i=c.forward?f.line+h:f.line-h,j=a.firstLine(),k=a.lastLine(),l=a.findPosV(f,c.forward?h:-h,"line",d.lastHSPos);return(c.forward?l.line>i:l.line<i)&&(i=l.line,g=l.ch),i<j&&f.line==j?this.moveToStartOfLine(a,b,c,d):i>k&&f.line==k?ya(a,b,c,d,!0):(c.toFirstChar&&(g=qa(a.getLine(i)),d.lastHPos=g),d.lastHSPos=a.charCoords(e(i,g),"div").left,e(i,g))},moveByDisplayLines:function(a,b,c,d){var f=b;switch(d.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:d.lastHSPos=a.charCoords(f,"div").left}var g=c.repeat,h=a.findPosV(f,c.forward?g:-g,"line",d.lastHSPos);if(h.hitSide)if(c.forward)var i=a.charCoords(h,"div"),j={top:i.top+8,left:d.lastHSPos},h=a.coordsChar(j,"div");else{var k=a.charCoords(e(a.firstLine(),0),"div");k.left=d.lastHSPos,h=a.coordsChar(k,"div")}return d.lastHPos=h.ch,h},moveByPage:function(a,b,c){var d=b,e=c.repeat;return a.findPosV(d,c.forward?e:-e,"page")},moveByParagraph:function(a,b,c){var d=c.forward?1:-1;return Da(a,b,c.repeat,d)},moveBySentence:function(a,b,c){var d=c.forward?1:-1;return Ea(a,b,c.repeat,d)},moveByScroll:function(a,b,c,d){var e=a.getScrollInfo(),f=null,g=c.repeat;g||(g=e.clientHeight/(2*a.defaultTextHeight()));var h=a.charCoords(b,"local");c.repeat=g;var f=Mb.moveByDisplayLines(a,b,c,d);if(!f)return null;var i=a.charCoords(f,"local");return a.scrollTo(null,e.top+i.top-h.top),f},moveByWords:function(a,b,c){return xa(a,b,c.repeat,!!c.forward,!!c.wordEnd,!!c.bigWord)},moveTillCharacter:function(a,b,c){var d=c.repeat,e=za(a,d,c.forward,c.selectedCharacter),f=c.forward?-1:1;return ua(f,c),e?(e.ch+=f,e):null},moveToCharacter:function(a,b,c){var d=c.repeat;return ua(0,c),za(a,d,c.forward,c.selectedCharacter)||b},moveToSymbol:function(a,b,c){return va(a,c.repeat,c.forward,c.selectedCharacter)||b},moveToColumn:function(a,b,c,d){var e=c.repeat;return d.lastHPos=e-1,d.lastHSPos=a.charCoords(b,"div").left,Aa(a,e)},moveToEol:function(a,b,c,d){return ya(a,b,c,d,!1)},moveToFirstNonWhiteSpaceCharacter:function(a,b){var c=b;return e(c.line,qa(a.getLine(c.line)))},moveToMatchedSymbol:function(a,b){for(var c,d=b,f=d.line,g=d.ch,h=a.getLine(f);g<h.length;g++)if((c=h.charAt(g))&&t(c)){var i=a.getTokenTypeAt(e(f,g+1));if("string"!==i&&"comment"!==i)break}if(g<h.length){var j="<"===g||">"===g?/[(){}[\]<>]/:/[(){}[\]]/;return a.findMatchingBracket(e(f,g),{bracketRegex:j}).to}return d},moveToStartOfLine:function(a,b){return e(b.line,0)},moveToLineOrEdgeOfDocument:function(a,b,c){var d=c.forward?a.lastLine():a.firstLine();return c.repeatIsExplicit&&(d=c.repeat-a.getOption("firstLineNumber")),e(d,qa(a.getLine(d)))},textObjectManipulation:function(a,b,c,d){var e={"(":")",")":"(","{":"}","}":"{","[":"]","]":"[","<":">",">":"<"},f={"'":!0,'"':!0,"`":!0},g=c.selectedCharacter;"b"==g?g="(":"B"==g&&(g="{");var h,i=!c.textObjectInner;if(e[g])h=Fa(a,b,g,i);else if(f[g])h=Ga(a,b,g,i);else if("W"===g)h=ra(a,i,!0,!0);else if("w"===g)h=ra(a,i,!0,!1);else if("p"===g)if(h=Da(a,b,c.repeat,0,i),c.linewise=!0,d.visualMode)d.visualLine||(d.visualLine=!0);else{var j=d.inputState.operatorArgs;j&&(j.linewise=!0),h.end.line--}else{if("t"!==g)return null;h=sa(a,b,i)}return a.state.vim.visualMode?ja(a,h.start,h.end):[h.start,h.end]},repeatLastCharacterSearch:function(a,b,c){var d=Ib.lastCharacterSearch,e=c.repeat,f=c.forward===d.forward,g=(d.increment?1:0)*(f?-1:1);a.moveH(-g,"char"),c.inclusive=!!f;var h=za(a,e,f,d.selectedCharacter);return h?(h.ch+=g,h):(a.moveH(g,"char"),b)}},Nb={change:function(b,c,d){var f,g,h=b.state.vim,i=d[0].anchor,j=d[0].head;if(h.visualMode)if(c.fullLine)j.ch=Number.MAX_VALUE,j.line--,b.setSelection(i,j),g=b.getSelection(),b.replaceSelection(""),f=i;else{g=b.getSelection();var k=M("",d.length);b.replaceSelections(k),f=Z(d[0].head,d[0].anchor)}else{g=b.getRange(i,j);var l=h.lastEditInputState||{};if("moveByWords"==l.motion&&!w(g)){var m=/\s+$/.exec(g);m&&l.motionArgs&&l.motionArgs.forward&&(j=R(j,0,-m[0].length),g=g.slice(0,-m[0].length))}var n=new e(i.line-1,Number.MAX_VALUE),o=b.firstLine()==b.lastLine();j.line>b.lastLine()&&c.linewise&&!o?b.replaceRange("",n,j):b.replaceRange("",i,j),c.linewise&&(o||(b.setCursor(n),a.commands.newlineAndIndent(b)),i.ch=Number.MAX_VALUE),f=i}Ib.registerController.pushText(c.registerName,"change",g,c.linewise,d.length>1),Ob.enterInsertMode(b,{head:f},b.state.vim)},delete:function(a,b,c){var d,f,g=a.state.vim;if(g.visualBlock){f=a.getSelection();var h=M("",c.length);a.replaceSelections(h),d=c[0].anchor}else{var i=c[0].anchor,j=c[0].head;b.linewise&&j.line!=a.firstLine()&&i.line==a.lastLine()&&i.line==j.line-1&&(i.line==a.firstLine()?i.ch=0:i=e(i.line-1,aa(a,i.line-1))),f=a.getRange(i,j),a.replaceRange("",i,j),d=i,b.linewise&&(d=Mb.moveToFirstNonWhiteSpaceCharacter(a,i))}return Ib.registerController.pushText(b.registerName,"delete",f,b.linewise,g.visualBlock),P(a,d)},indent:function(a,b,c){var d=a.state.vim,e=c[0].anchor.line,f=d.visualBlock?c[c.length-1].anchor.line:c[0].head.line,g=d.visualMode?b.repeat:1;b.linewise&&f--;for(var h=e;h<=f;h++)for(var i=0;i<g;i++)a.indentLine(h,b.indentRight);return Mb.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},indentAuto:function(a,b,c){return a.execCommand("indentAuto"),Mb.moveToFirstNonWhiteSpaceCharacter(a,c[0].anchor)},changeCase:function(a,b,c,d,e){for(var f=a.getSelections(),g=[],h=b.toLower,i=0;i<f.length;i++){var j=f[i],k="";if(!0===h)k=j.toLowerCase();else if(!1===h)k=j.toUpperCase();else for(var l=0;l<j.length;l++){var m=j.charAt(l);k+=v(m)?m.toLowerCase():m.toUpperCase()}g.push(k)}return a.replaceSelections(g),b.shouldMoveCursor?e:!a.state.vim.visualMode&&b.linewise&&c[0].anchor.line+1==c[0].head.line?Mb.moveToFirstNonWhiteSpaceCharacter(a,d):b.linewise?d:Z(c[0].anchor,c[0].head)},yank:function(a,b,c,d){var e=a.state.vim,f=a.getSelection(),g=e.visualMode?Z(e.sel.anchor,e.sel.head,c[0].head,c[0].anchor):d;return Ib.registerController.pushText(b.registerName,"yank",f,b.linewise,e.visualBlock),g}},Ob={jumpListWalk:function(a,b,c){if(!c.visualMode){var d=b.repeat,e=b.forward,f=Ib.jumpList,g=f.move(a,e?d:-d),h=g?g.find():void 0;h=h||a.getCursor(),a.setCursor(h)}},scroll:function(a,b,c){if(!c.visualMode){var d=b.repeat||1,e=a.defaultTextHeight(),f=a.getScrollInfo().top,g=e*d,h=b.forward?f+g:f-g,i=W(a.getCursor()),j=a.charCoords(i,"local");if(b.forward)h>j.top?(i.line+=(h-j.top)/e,i.line=Math.ceil(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.top)):a.scrollTo(null,h);else{var k=h+a.getScrollInfo().clientHeight;k<j.bottom?(i.line-=(j.bottom-k)/e,i.line=Math.floor(i.line),a.setCursor(i),j=a.charCoords(i,"local"),a.scrollTo(null,j.bottom-a.getScrollInfo().clientHeight)):a.scrollTo(null,h)}}},scrollToCursor:function(a,b){var c=a.getCursor().line,d=a.charCoords(e(c,0),"local"),f=a.getScrollInfo().clientHeight,g=d.top,h=d.bottom-g;switch(b.position){case"center":g=g-f/2+h;break;case"bottom":g=g-f+h}a.scrollTo(null,g)},replayMacro:function(a,b,c){var d=b.selectedCharacter,e=b.repeat,f=Ib.macroModeState;for("@"==d?d=f.latestRegister:f.latestRegister=d;e--;)ib(a,c,f,d)},enterMacroRecordMode:function(a,b){var c=Ib.macroModeState,d=b.selectedCharacter;Ib.registerController.isValidRegister(d)&&c.enterMacroRecordMode(a,d)},toggleOverwrite:function(b){b.state.overwrite?(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})):(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(b,c,d){if(!b.getOption("readOnly")){d.insertMode=!0,d.insertModeRepeat=c&&c.repeat||1;var f=c?c.insertAt:null,g=d.sel,h=c.head||b.getCursor("head"),i=b.listSelections().length ;if("eol"==f)h=e(h.line,aa(b,h.line));else if("bol"==f)h=e(h.line,0);else if("charAfter"==f)h=R(h,0,1);else if("firstNonBlank"==f)h=Mb.moveToFirstNonWhiteSpaceCharacter(b,h);else if("startOfSelectedArea"==f){if(!d.visualMode)return;d.visualBlock?(h=e(Math.min(g.head.line,g.anchor.line),Math.min(g.head.ch,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line<g.anchor.line?g.head:e(g.anchor.line,0)}else if("endOfSelectedArea"==f){if(!d.visualMode)return;d.visualBlock?(h=e(Math.min(g.head.line,g.anchor.line),Math.max(g.head.ch+1,g.anchor.ch)),i=Math.abs(g.head.line-g.anchor.line)+1):h=g.head.line>=g.anchor.line?R(g.head,0,1):e(g.anchor.line,0)}else if("inplace"==f){if(d.visualMode)return}else"lastEdit"==f&&(h=db(b)||h);b.setOption("disableInput",!1),c&&c.replace?(b.toggleOverwrite(!0),b.setOption("keyMap","vim-replace"),a.signal(b,"vim-mode-change",{mode:"replace"})):(b.toggleOverwrite(!1),b.setOption("keyMap","vim-insert"),a.signal(b,"vim-mode-change",{mode:"insert"})),Ib.macroModeState.isPlaying||(b.on("change",mb),a.on(b.getInputField(),"keydown",sb)),d.visualMode&&na(b),fa(b,h,i)}},toggleVisualMode:function(b,c,d){var f,g=c.repeat,h=b.getCursor();d.visualMode?d.visualLine^c.linewise||d.visualBlock^c.blockwise?(d.visualLine=!!c.linewise,d.visualBlock=!!c.blockwise,a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""}),ka(b)):na(b):(d.visualMode=!0,d.visualLine=!!c.linewise,d.visualBlock=!!c.blockwise,f=P(b,e(h.line,h.ch+g-1)),d.sel={anchor:h,head:f},a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""}),ka(b),Ba(b,d,"<",Z(h,f)),Ba(b,d,">",$(h,f)))},reselectLastSelection:function(b,c,d){var e=d.lastSelection;if(d.visualMode&&ia(b,d),e){var f=e.anchorMark.find(),g=e.headMark.find();if(!f||!g)return;d.sel={anchor:f,head:g},d.visualMode=!0,d.visualLine=e.visualLine,d.visualBlock=e.visualBlock,ka(b),Ba(b,d,"<",Z(f,g)),Ba(b,d,">",$(f,g)),a.signal(b,"vim-mode-change",{mode:"visual",subMode:d.visualLine?"linewise":d.visualBlock?"blockwise":""})}},joinLines:function(a,b,c){var d,f;if(c.visualMode){if(d=a.getCursor("anchor"),f=a.getCursor("head"),Y(f,d)){var g=f;f=d,d=g}f.ch=aa(a,f.line)-1}else{var h=Math.max(b.repeat,2);d=a.getCursor(),f=P(a,e(d.line+h-1,1/0))}for(var i=0,j=d.line;j<f.line;j++){i=aa(a,d.line);var g=e(d.line+1,aa(a,d.line+1)),k=a.getRange(d,g);k=b.keepSpaces?k.replace(/\n\r?/g,""):k.replace(/\n\s*/g," "),a.replaceRange(k,d,g)}var l=e(d.line,i);c.visualMode&&na(a,!1),a.setCursor(l)},newLineAndEnterInsertMode:function(b,c,d){d.insertMode=!0;var f=W(b.getCursor());if(f.line!==b.firstLine()||c.after){f.line=c.after?f.line:f.line-1,f.ch=aa(b,f.line),b.setCursor(f);(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b)}else b.replaceRange("\n",e(b.firstLine(),0)),b.setCursor(b.firstLine(),0);this.enterInsertMode(b,{repeat:c.repeat},d)},paste:function(a,b,c){var d=W(a.getCursor()),f=Ib.registerController.getRegister(b.registerName),g=f.toString();if(g){if(b.matchIndent){var h=a.getOption("tabSize"),i=function(a){var b=a.split("\t").length-1,c=a.split(" ").length-1;return b*h+1*c},j=a.getLine(a.getCursor().line),k=i(j.match(/^\s*/)[0]),l=g.replace(/\n$/,""),m=g!==l,n=i(g.match(/^\s*/)[0]),g=l.replace(/^\s*/gm,(function(b){var c=k+(i(b)-n);if(c<0)return"";if(a.getOption("indentWithTabs")){var d=Math.floor(c/h);return Array(d+1).join("\t")}return Array(c+1).join(" ")}));g+=m?"\n":""}if(b.repeat>1)var g=Array(b.repeat+1).join(g);var o=f.linewise,p=f.blockwise;if(p){g=g.split("\n"),o&&g.pop();for(var q=0;q<g.length;q++)g[q]=""==g[q]?" ":g[q];d.ch+=b.after?1:0,d.ch=Math.min(aa(a,d.line),d.ch)}else o?c.visualMode?g=c.visualLine?g.slice(0,-1):"\n"+g.slice(0,g.length-1)+"\n":b.after?(g="\n"+g.slice(0,g.length-1),d.ch=aa(a,d.line)):d.ch=0:d.ch+=b.after?1:0;var r,s;if(c.visualMode){c.lastPastedText=g;var t,u=ha(a,c),v=u[0],w=u[1],x=a.getSelection(),y=a.listSelections(),z=new Array(y.length).join("1").split("1");c.lastSelection&&(t=c.lastSelection.headMark.find()),Ib.registerController.unnamedRegister.setText(x),p?(a.replaceSelections(z),w=e(v.line+g.length-1,v.ch),a.setCursor(v),ea(a,w),a.replaceSelections(g),r=v):c.visualBlock?(a.replaceSelections(z),a.setCursor(v),a.replaceRange(g,v,v),r=v):(a.replaceRange(g,v,w),r=a.posFromIndex(a.indexFromPos(v)+g.length-1)),t&&(c.lastSelection.headMark=a.setBookmark(t)),o&&(r.ch=0)}else if(p){a.setCursor(d);for(var q=0;q<g.length;q++){var A=d.line+q;A>a.lastLine()&&a.replaceRange("\n",e(A,0));var B=aa(a,A);B<d.ch&&da(a,A,d.ch)}a.setCursor(d),ea(a,e(d.line+g.length-1,d.ch)),a.replaceSelections(g),r=d}else a.replaceRange(g,d),o&&b.after?r=e(d.line+1,qa(a.getLine(d.line+1))):o&&!b.after?r=e(d.line,qa(a.getLine(d.line))):!o&&b.after?(s=a.indexFromPos(d),r=a.posFromIndex(s+g.length-1)):(s=a.indexFromPos(d),r=a.posFromIndex(s+g.length));c.visualMode&&na(a,!1),a.setCursor(r)}},undo:function(b,c){b.operation((function(){V(b,a.commands.undo,c.repeat)(),b.setCursor(b.getCursor("anchor"))}))},redo:function(b,c){V(b,a.commands.redo,c.repeat)()},setRegister:function(a,b,c){c.inputState.registerName=b.selectedCharacter},setMark:function(a,b,c){Ba(a,c,b.selectedCharacter,a.getCursor())},replace:function(b,c,d){var f,g,h=c.selectedCharacter,i=b.getCursor(),j=b.listSelections();if(d.visualMode)i=b.getCursor("start"),g=b.getCursor("end");else{var k=b.getLine(i.line);f=i.ch+c.repeat,f>k.length&&(f=k.length),g=e(i.line,f)}if("\n"==h)d.visualMode||b.replaceRange("",i,g),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(b);else{var l=b.getRange(i,g);if(l=l.replace(/[^\n]/g,h),d.visualBlock){var m=new Array(b.getOption("tabSize")+1).join(" ");l=b.getSelection(),l=l.replace(/\t/g,m).replace(/[^\n]/g,h).split("\n"),b.replaceSelections(l)}else b.replaceRange(l,i,g);d.visualMode?(i=Y(j[0].anchor,j[0].head)?j[0].anchor:j[0].head,b.setCursor(i),na(b,!1)):b.setCursor(R(g,0,-1))}},incrementNumberToken:function(a,b){for(var c,d,f,g,h=a.getCursor(),i=a.getLine(h.line),j=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(c=j.exec(i))&&(d=c.index,f=d+c[0].length,!(h.ch<f)););if((b.backtrack||!(f<=h.ch))&&c){var k=c[2]||c[4],l=c[3]||c[5],m=b.increase?1:-1,n={"0b":2,0:8,"":10,"0x":16}[k.toLowerCase()];g=(parseInt(c[1]+l,n)+m*b.repeat).toString(n);var o=k?new Array(l.length-g.length+1+c[1].length).join("0"):"";g="-"===g.charAt(0)?"-"+k+o+g.substr(1):k+o+g;var p=e(h.line,d),q=e(h.line,f);a.replaceRange(g,p,q),a.setCursor(e(h.line,d+g.length-1))}},repeatLastEdit:function(a,b,c){if(c.lastEditInputState){var d=b.repeat;d&&b.repeatIsExplicit?c.lastEditInputState.repeatOverride=d:d=c.lastEditInputState.repeatOverride||d,tb(a,c,d,!1)}},indent:function(a,b){a.indentLine(a.getCursor().line,b.indentRight)},exitInsertMode:fb},Pb={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Qb={bracket:{isComplete:function(a){if(a.nextCh===a.symb){if(++a.depth>=1)return!0}else a.nextCh===a.reverseSymb&&a.depth--;return!1}},section:{init:function(a){a.curMoveThrough=!0,a.symb=(a.forward?"]":"[")===a.symb?"{":"}"},isComplete:function(a){return 0===a.index&&a.nextCh===a.symb}},comment:{isComplete:function(a){var b="*"===a.lastCh&&"/"===a.nextCh;return a.lastCh=a.nextCh,b}},method:{init:function(a){a.symb="m"===a.symb?"{":"}",a.reverseSymb="{"===a.symb?"}":"{"},isComplete:function(a){return a.nextCh===a.symb}},preprocess:{init:function(a){a.index=0},isComplete:function(a){if("#"===a.nextCh){var b=a.lineText.match(/^#(\w+)/)[1];if("endif"===b){if(a.forward&&0===a.depth)return!0;a.depth++}else if("if"===b){if(!a.forward&&0===a.depth)return!0;a.depth--}if("else"===b&&0===a.depth)return!0}return!1}}};z("pcre",!0,"boolean"),Ha.prototype={getQuery:function(){return Ib.query},setQuery:function(a){Ib.query=a},getOverlay:function(){return this.searchOverlay},setOverlay:function(a){this.searchOverlay=a},isReversed:function(){return Ib.isReversed},setReversed:function(a){Ib.isReversed=a},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(a){this.annotate=a}};var Rb={"\\n":"\n","\\r":"\r","\\t":"\t"},Sb={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t","\\&":"&"},Tb=0,Ub=function(){this.buildCommandMap_()};Ub.prototype={processCommand:function(a,b,c){var d=this;a.operation((function(){a.curOp.isVimOp=!0,d._processCommand(a,b,c)}))},_processCommand:function(b,c,d){var e=b.state.vim,f=Ib.registerController.getRegister(":"),g=f.toString();e.visualMode&&na(b);var h=new a.StringStream(c);f.setText(c);var i=d||{};i.input=c;try{this.parseInput_(b,h,i)}catch(a){throw Sa(b,a.toString()),a}var j,k;if(i.commandName){if(j=this.matchCommand_(i.commandName)){if(k=j.name,j.excludeFromCommandHistory&&f.setText(g),this.parseCommandArgs_(h,i,j),"exToKey"==j.type){for(var l=0;l<j.toKeys.length;l++)a.Vim.handleKey(b,j.toKeys[l],"mapping");return}if("exToEx"==j.type)return void this.processCommand(b,j.toInput)}}else void 0!==i.line&&(k="move");if(!k)return void Sa(b,'Not an editor command ":'+c+'"');try{Vb[k](b,i),j&&j.possiblyAsync||!i.callback||i.callback()}catch(a){throw Sa(b,a.toString()),a}},parseInput_:function(a,b,c){b.eatWhile(":"),b.eat("%")?(c.line=a.firstLine(),c.lineEnd=a.lastLine()):(c.line=this.parseLineSpec_(a,b),void 0!==c.line&&b.eat(",")&&(c.lineEnd=this.parseLineSpec_(a,b)));var d=b.match(/^(\w+|!!|@@|[!#&*<=>@~])/);return c.commandName=d?d[1]:b.match(/.*/)[0],c},parseLineSpec_:function(a,b){var c=b.match(/^(\d+)/);if(c)return parseInt(c[1],10)-1;switch(b.next()){case".":return this.parseLineSpecOffset_(b,a.getCursor().line);case"$":return this.parseLineSpecOffset_(b,a.lastLine());case"'":var d=b.next(),e=cb(a,a.state.vim,d);if(!e)throw new Error("Mark not set");return this.parseLineSpecOffset_(b,e.line);case"-":case"+":return b.backUp(1),this.parseLineSpecOffset_(b,a.getCursor().line);default:return void b.backUp(1)}},parseLineSpecOffset_:function(a,b){var c=a.match(/^([+-])?(\d+)/);if(c){var d=parseInt(c[2],10);"-"==c[1]?b-=d:b+=d}return b},parseCommandArgs_:function(a,b,c){if(!a.eol()){b.argString=a.match(/.*/)[0];var d=c.argDelimiter||/\s+/,e=ba(b.argString).split(d);e.length&&e[0]&&(b.args=e)}},matchCommand_:function(a){for(var b=a.length;b>0;b--){var c=a.substring(0,b);if(this.commandMap_[c]){var d=this.commandMap_[c];if(0===d.name.indexOf(a))return d}}return null},buildCommandMap_:function(){this.commandMap_={};for(var a=0;a<d.length;a++){var b=d[a],c=b.shortName||b.name;this.commandMap_[c]=b}},map:function(a,c,d){if(":"!=a&&":"==a.charAt(0)){if(d)throw Error("Mode not supported for ex mappings");var e=a.substring(1);":"!=c&&":"==c.charAt(0)?this.commandMap_[e]={name:e,type:"exToEx",toInput:c.substring(1),user:!0}:this.commandMap_[e]={name:e,type:"exToKey",toKeys:c,user:!0}}else if(":"!=c&&":"==c.charAt(0)){var f={keys:a,type:"keyToEx",exArgs:{input:c.substring(1)}};d&&(f.context=d),b.unshift(f)}else{var f={keys:a,type:"keyToKey",toKeys:c};d&&(f.context=d),b.unshift(f)}},unmap:function(a,c){if(":"!=a&&":"==a.charAt(0)){if(c)throw Error("Mode not supported for ex mappings");var d=a.substring(1);if(this.commandMap_[d]&&this.commandMap_[d].user)return void delete this.commandMap_[d]}else for(var e=a,f=0;f<b.length;f++)if(e==b[f].keys&&b[f].context===c)return void b.splice(f,1);throw Error("No such mapping.")}};var Vb={colorscheme:function(a,b){if(!b.args||b.args.length<1)return void Sa(a,a.getOption("theme"));a.setOption("theme",b.args[0])},map:function(a,b,c){var d=b.args;if(!d||d.length<2)return void(a&&Sa(a,"Invalid mapping: "+b.input));Wb.map(d[0],d[1],c)},imap:function(a,b){this.map(a,b,"insert")},nmap:function(a,b){this.map(a,b,"normal")},vmap:function(a,b){this.map(a,b,"visual")},unmap:function(a,b,c){var d=b.args;if(!d||d.length<1)return void(a&&Sa(a,"No such mapping: "+b.input));Wb.unmap(d[0],c)},move:function(a,b){Lb.processCommand(a,a.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:b.line+1})},set:function(a,b){var c=b.args,d=b.setCfg||{};if(!c||c.length<1)return void(a&&Sa(a,"Invalid mapping: "+b.input));var e=c[0].split("="),f=e[0],g=e[1],h=!1;if("?"==f.charAt(f.length-1)){if(g)throw Error("Trailing characters: "+b.argString);f=f.substring(0,f.length-1),h=!0}void 0===g&&"no"==f.substring(0,2)&&(f=f.substring(2),g=!1);var i=Fb[f]&&"boolean"==Fb[f].type;if(i&&void 0==g&&(g=!0),!i&&void 0===g||h){var j=B(f,a,d);j instanceof Error?Sa(a,j.message):!0===j||!1===j?Sa(a," "+(j?"":"no")+f):Sa(a," "+f+"="+j)}else{var k=A(f,g,a,d);k instanceof Error&&Sa(a,k.message)}},setlocal:function(a,b){b.setCfg={scope:"local"},this.set(a,b)},setglobal:function(a,b){b.setCfg={scope:"global"},this.set(a,b)},registers:function(a,b){var c=b.args,d=Ib.registerController.registers,e="----------Registers----------\n\n";if(c){var f;c=c.join("");for(var g=0;g<c.length;g++)if(f=c.charAt(g),Ib.registerController.isValidRegister(f)){var h=d[f]||new H;e+='"'+f+" "+h.toString()+"\n"}}else for(var f in d){var i=d[f].toString();i.length&&(e+='"'+f+" "+i+"\n")}Sa(a,e)},sort:function(b,c){function d(a,b){if(g){var c;c=a,a=b,b=c}h&&(a=a.toLowerCase(),b=b.toLowerCase());var d=j&&r.exec(a),e=j&&r.exec(b);return d?(d=parseInt((d[1]+d[2]).toLowerCase(),s),e=parseInt((e[1]+e[2]).toLowerCase(),s),d-e):a<b?-1:1}function f(a,b){if(g){var c;c=a,a=b,b=c}return h&&(a[0]=a[0].toLowerCase(),b[0]=b[0].toLowerCase()),a[0]<b[0]?-1:1}var g,h,i,j,k,l=(function(){if(c.argString){var b=new a.StringStream(c.argString);if(b.eat("!")&&(g=!0),b.eol())return;if(!b.eatSpace())return"Invalid arguments";var d=b.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!d&&!b.eol())return"Invalid arguments";if(d[1]){h=-1!=d[1].indexOf("i"),i=-1!=d[1].indexOf("u");var e=-1!=d[1].indexOf("d")||-1!=d[1].indexOf("n")&&1,f=-1!=d[1].indexOf("x")&&1,l=-1!=d[1].indexOf("o")&&1;if(e+f+l>1)return"Invalid arguments";j=e&&"decimal"||f&&"hex"||l&&"octal"}d[2]&&(k=new RegExp(d[2].substr(1,d[2].length-2),h?"i":""))}})();if(l)return void Sa(b,l+": "+c.argString);var m=c.line||b.firstLine(),n=c.lineEnd||c.line||b.lastLine();if(m!=n){var o=e(m,0),p=e(n,aa(b,n)),q=b.getRange(o,p).split("\n"),r=k||("decimal"==j?/(-?)([\d]+)/:"hex"==j?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==j?/([0-7]+)/:null),s="decimal"==j?10:"hex"==j?16:"octal"==j?8:null,t=[],u=[];if(j||k)for(var v=0;v<q.length;v++){var w=k?q[v].match(k):null;w&&""!=w[0]?t.push(w):!k&&r.exec(q[v])?t.push(q[v]):u.push(q[v])}else u=q;if(t.sort(k?f:d),k)for(var v=0;v<t.length;v++)t[v]=t[v].input;else j||u.sort(d);if(q=g?t.concat(u):u.concat(t),i){var x,y=q;q=[];for(var v=0;v<y.length;v++)y[v]!=x&&q.push(y[v]),x=y[v]}b.replaceRange(q.join("\n"),o,p)}},vglobal:function(a,b){this.global(a,b)},global:function(a,b){var c=b.argString;if(!c)return void Sa(a,"Regular Expression missing from global");var d,e="v"===b.commandName[0],f=void 0!==b.line?b.line:a.firstLine(),g=b.lineEnd||b.line||a.lastLine(),h=Ja(c),i=c;if(h.length&&(i=h[0],d=h.slice(1,h.length).join("/")),i)try{Wa(a,i,!0,!0)}catch(b){return void Sa(a,"Invalid regex: "+i)}for(var j=Ia(a).getQuery(),k=[],l=f;l<=g;l++){var m=a.getLineHandle(l);j.test(m.text)!==e&&k.push(d?m:m.text)}if(!d)return void Sa(a,k.join("\n"));var n=0,o=function(){if(n<k.length){var b=k[n++],c=a.getLineNumber(b);if(null==c)return void o();var e=c+1+d;Wb.processCommand(a,e,{callback:o})}};o()},substitute:function(a,b){if(!a.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var c,d,f,g,h=b.argString,i=h?La(h,h[0]):[],j="",k=!1,l=!1;if(i.length)c=i[0],B("pcre")&&""!==c&&(c=new RegExp(c).source),j=i[1],/(^|[^\\])(\\\\)*\$$/.test(c)&&(c=c.slice(0,-1)+"\\n",j=(j||"")+"\n"),void 0!==j&&(j=B("pcre")?Pa(j.replace(/([^\\])&/g,"$1$$&")):Oa(j),Ib.lastSubstituteReplacePart=j),d=i[2]?i[2].split(" "):[];else if(h&&h.length)return void Sa(a,"Substitutions should be of the form :s/pattern/replace/");if(d&&(f=d[0],g=parseInt(d[1]),f&&(-1!=f.indexOf("c")&&(k=!0),-1!=f.indexOf("g")&&(l=!0),c=B("pcre")?c+"/"+f:c.replace(/\//g,"\\/")+"/"+f)),c)try{Wa(a,c,!0,!0)}catch(b){return void Sa(a,"Invalid regex: "+c)}if(void 0===(j=j||Ib.lastSubstituteReplacePart))return void Sa(a,"No previous substitute regular expression");var m=Ia(a),n=m.getQuery(),o=void 0!==b.line?b.line:a.getCursor().line,p=b.lineEnd||o;o==a.firstLine()&&p==a.lastLine()&&(p=1/0),g&&(o=p,p=o+g-1);var q=P(a,e(o,0)),r=a.getSearchCursor(n,q);eb(a,k,l,o,p,r,n,j,b.callback)},redo:a.commands.redo,undo:a.commands.undo,write:function(b){a.commands.save?a.commands.save(b):b.save&&b.save()},nohlsearch:function(a){_a(a)},yank:function(a){var b=W(a.getCursor()),c=b.line,d=a.getLine(c);Ib.registerController.pushText("0","yank",d,!0,!0)},delmarks:function(b,c){if(!c.argString||!ba(c.argString))return void Sa(b,"Argument required");for(var d=b.state.vim,e=new a.StringStream(ba(c.argString));!e.eol();){e.eatSpace();var f=e.pos;if(!e.match(/[a-zA-Z]/,!1))return void Sa(b,"Invalid argument: "+c.argString.substring(f));var g=e.next();if(e.match("-",!0)){if(!e.match(/[a-zA-Z]/,!1))return void Sa(b,"Invalid argument: "+c.argString.substring(f));var h=g,i=e.next();if(!(s(h)&&s(i)||v(h)&&v(i)))return void Sa(b,"Invalid argument: "+h+"-");var j=h.charCodeAt(0),k=i.charCodeAt(0);if(j>=k)return void Sa(b,"Invalid argument: "+c.argString.substring(f));for(var l=0;l<=k-j;l++){var m=String.fromCharCode(j+l);delete d.marks[m]}}else delete d.marks[g]}}},Wb=new Ub;return a.keyMap.vim={attach:i,detach:h,call:n},z("insertModeEscKeysTimeout",200,"number"),a.keyMap["vim-insert"]={fallthrough:["default"],attach:i,detach:h,call:n},a.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:i,detach:h,call:n},E(),Kb})()}));Private