All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.57e33c6c-13.11b9f72925818240e61d.js Maven / Gradle / Ivy

There is a newer version: 6.0.2
Show newest version
(window.webpackJsonp=window.webpackJsonp||[]).push([["57e33c6c-13"],{"+22IkjtS":function(e,exports,t){e.exports=t.p+"b808fb222140a85b23ebbe0fffa906d9.js"},"+BTHcvgl":function(e,exports,t){e.exports=t.p+"7508d134804c21d34e50379103e765c0.js"},"+Sh2jr7a":function(e,exports,t){e.exports=t.p+"fd5bc50b18c9f46380cbe5ec1ac2127b.js"},"+XDBpGjx":function(e,exports,t){e.exports=t.p+"3c71a5c0e85afc5486ee9ac29099843d.js"},"+cVymqkx":function(e,exports,t){e.exports=t.p+"47f0fbf038314894ac52f2d67466b5e9.js"},"+ddR406Z":function(e,exports,t){e.exports=t.p+"8235ebecd3b3d28b5475f1f89136a91a.js"},"+pplBdld":function(e,exports,t){e.exports=t.p+"2f7c864f08b00c01f04ac22375f7ddd9.js"},"+vFBB9YF":function(e,exports,t){e.exports=t.p+"cbdbd623038183a8c068dd24ecd90682.js"},"+wrvkhXU":function(e,exports,t){e.exports=t.p+"25718a469574ade47e23567d8c543169.js"},"/M/zAlk8":function(e,exports,t){e.exports=t.p+"b20056c149af6b50c851ecfff90e0ccb.js"},"/RP92CQA":function(e,exports,t){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(exports,"__esModule",{value:!0});var s=t("ii0bleBb"),o=t("ivGQtwpr"),r=t("zJCIirni"),a=t("vlKMHcvz"),c=function(e){function t(t){var i=e.call(this,t)||this;return i.state={value:i.props.value},i.onChange=i.onChange.bind(i),i.diff=i.diff.bind(i),i}return n(t,e),t.prototype.componentDidUpdate=function(){var e=this.props.value;e!==this.state.value&&this.setState({value:e})},t.prototype.onChange=function(e){this.setState({value:e}),this.props.onChange&&this.props.onChange(e)},t.prototype.diff=function(){var e=new a,t=this.state.value[0],i=this.state.value[1];if(0===t.length&&0===i.length)return[];var n=e.diff_main(t,i);e.diff_cleanupSemantic(n);var s=this.generateDiffedLines(n);return this.setCodeMarkers(s)},t.prototype.generateDiffedLines=function(e){var t=0,i=-1,n=1,s={left:[],right:[]},o={left:1,right:1};return e.forEach((function(e){var r=e[0],a=e[1],c=a.split("\n").length-1;if(0!==a.length){var l=a[0],h=a[a.length-1],d=0;switch(r){case t:o.left+=c,o.right+=c;break;case i:"\n"===l&&(o.left++,c--),0===(d=c)&&s.right.push({startLine:o.right,endLine:o.right}),"\n"===h&&(d-=1),s.left.push({startLine:o.left,endLine:o.left+d}),o.left+=c;break;case n:"\n"===l&&(o.right++,c--),0===(d=c)&&s.left.push({startLine:o.left,endLine:o.left}),"\n"===h&&(d-=1),s.right.push({startLine:o.right,endLine:o.right+d}),o.right+=c;break;default:throw new Error("Diff type was not defined.")}}})),s},t.prototype.setCodeMarkers=function(e){void 0===e&&(e={left:[],right:[]});for(var t=[],i={left:[],right:[]},n=0;n=0?parseFloat((n.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((n.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),exports.isOldIE=exports.isIE&&exports.isIE<9,exports.isGecko=exports.isMozilla=n.match(/ Gecko\/\d+/),exports.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),exports.isWebKit=parseFloat(n.split("WebKit/")[1])||void 0,exports.isChrome=parseFloat(n.split(" Chrome/")[1])||void 0,exports.isEdge=parseFloat(n.split(" Edge/")[1])||void 0,exports.isAIR=n.indexOf("AdobeAIR")>=0,exports.isAndroid=n.indexOf("Android")>=0,exports.isChromeOS=n.indexOf(" CrOS ")>=0,exports.isIOS=/iPad|iPhone|iPod/.test(n)&&!window.MSStream,exports.isIOS&&(exports.isMac=!0),exports.isMobile=exports.isIOS||exports.isAndroid})),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],(function(require,exports,e){"use strict";var t=require("./useragent");if(exports.buildDom=function e(t,i,n){if("string"==typeof t&&t){var s=document.createTextNode(t);return i&&i.appendChild(s),s}if(!Array.isArray(t))return t&&t.appendChild&&i&&i.appendChild(t),t;if("string"!=typeof t[0]||!t[0]){for(var o=[],r=0;r=1.5,"undefined"!=typeof document){var i=document.createElement("div");exports.HI_DPI&&void 0!==i.style.transform&&(exports.HAS_CSS_TRANSFORMS=!0),t.isEdge||void 0===i.style.animationName||(exports.HAS_CSS_ANIMATION=!0),i=null}exports.HAS_CSS_TRANSFORMS?exports.translate=function(e,t,i){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(i)+"px)"}:exports.translate=function(e,t,i){e.style.top=Math.round(i)+"px",e.style.left=Math.round(t)+"px"}})),ace.define("ace/lib/oop",["require","exports","module"],(function(require,exports,e){"use strict";exports.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(e,t){for(var i in t)e[i]=t[i];return e},exports.implement=function(e,t){exports.mixin(e,t)}})),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],(function(require,exports,e){"use strict";var t=require("./oop"),i=function(){var e,i,n={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}};for(i in n.FUNCTION_KEYS)e=n.FUNCTION_KEYS[i].toLowerCase(),n[e]=parseInt(i,10);for(i in n.PRINTABLE_KEYS)e=n.PRINTABLE_KEYS[i].toLowerCase(),n[e]=parseInt(i,10);return t.mixin(n,n.MODIFIER_KEYS),t.mixin(n,n.PRINTABLE_KEYS),t.mixin(n,n.FUNCTION_KEYS),n.enter=n.return,n.escape=n.esc,n.del=n.delete,n[173]="-",function(){for(var e=["cmd","ctrl","alt","shift"],t=Math.pow(2,e.length);t--;)n.KEY_MODS[t]=e.filter((function(e){return t&n.KEY_MODS[e]})).join("-")+"-"}(),n.KEY_MODS[0]="",n.KEY_MODS[-1]="input-",n}();t.mixin(exports,i),exports.keyCodeToString=function(e){var t=i[e];return"string"!=typeof t&&(t=String.fromCharCode(e)),t.toLowerCase()}})),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(require,exports,e){"use strict";var t,i=require("./keys"),n=require("./useragent"),s=null,o=0;function r(){return null==t&&function(){t=!1;try{document.createComment("").addEventListener("test",(function(){}),{get passive(){t={passive:!1}}})}catch(e){}}(),t}function a(e,t,i){this.elem=e,this.type=t,this.callback=i}a.prototype.destroy=function(){l(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var c=exports.addListener=function(e,t,i,n){e.addEventListener(t,i,r()),n&&n.$toDestroy.push(new a(e,t,i))},l=exports.removeListener=function(e,t,i){e.removeEventListener(t,i,r())};exports.stopEvent=function(e){return exports.stopPropagation(e),exports.preventDefault(e),!1},exports.stopPropagation=function(e){e.stopPropagation&&e.stopPropagation()},exports.preventDefault=function(e){e.preventDefault&&e.preventDefault()},exports.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||n.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.button},exports.capture=function(e,t,i){var n=e&&e.ownerDocument||document;function s(e){t&&t(e),i&&i(e),l(n,"mousemove",t),l(n,"mouseup",s),l(n,"dragstart",s)}return c(n,"mousemove",t),c(n,"mouseup",s),c(n,"dragstart",s),s},exports.addMouseWheelListener=function(e,t,i){"onmousewheel"in e?c(e,"mousewheel",(function(e){void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/8,e.wheelY=-e.wheelDeltaY/8):(e.wheelX=0,e.wheelY=-e.wheelDelta/8),t(e)}),i):"onwheel"in e?c(e,"wheel",(function(e){switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=.35*e.deltaX||0,e.wheelY=.35*e.deltaY||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}t(e)}),i):c(e,"DOMMouseScroll",(function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),t(e)}),i)},exports.addMultiMouseDownListener=function(e,t,i,s,o){var r,a,l,h=0,d={2:"dblclick",3:"tripleclick",4:"quadclick"};function u(e){if(0!==exports.getButton(e)?h=0:e.detail>1?++h>4&&(h=1):h=1,n.isIE){var o=Math.abs(e.clientX-r)>5||Math.abs(e.clientY-a)>5;l&&!o||(h=1),l&&clearTimeout(l),l=setTimeout((function(){l=null}),t[h-1]||600),1==h&&(r=e.clientX,a=e.clientY)}if(e._clicks=h,i[s]("mousedown",e),h>4)h=0;else if(h>1)return i[s](d[h],e)}Array.isArray(e)||(e=[e]),e.forEach((function(e){c(e,"mousedown",u,o)}))};var h=function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)};function d(e,t,r){var a=h(t);if(!n.isMac&&s){if(t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(a|=8),s.altGr){if(3==(3&a))return;s.altGr=0}if(18===r||17===r){var c="location"in t?t.location:t.keyLocation;if(17===r&&1===c)1==s[r]&&(o=t.timeStamp);else if(18===r&&3===a&&2===c){t.timeStamp-o<50&&(s.altGr=!0)}}}if((r in i.MODIFIER_KEYS&&(r=-1),!a&&13===r)&&(3===(c="location"in t?t.location:t.keyLocation)&&(e(t,a,-r),t.defaultPrevented)))return;if(n.isChromeOS&&8&a){if(e(t,a,r),t.defaultPrevented)return;a&=-9}return!!(a||r in i.FUNCTION_KEYS||r in i.PRINTABLE_KEYS)&&e(t,a,r)}function u(){s=Object.create(null)}if(exports.getModifierString=function(e){return i.KEY_MODS[h(e)]},exports.addCommandKeyListener=function(e,t,i){if(n.isOldGecko||n.isOpera&&!("KeyboardEvent"in window)){var o=null;c(e,"keydown",(function(e){o=e.keyCode}),i),c(e,"keypress",(function(e){return d(t,e,o)}),i)}else{var r=null;c(e,"keydown",(function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var i=d(t,e,e.keyCode);return r=e.defaultPrevented,i}),i),c(e,"keypress",(function(e){r&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(exports.stopEvent(e),r=null)}),i),c(e,"keyup",(function(e){s[e.keyCode]=null}),i),s||(u(),c(window,"focus",u))}},"object"==typeof window&&window.postMessage&&!n.isOldIE){var f=1;exports.nextTick=function(e,t){t=t||window;var i="zero-timeout-message-"+f++,n=function(s){s.data==i&&(exports.stopPropagation(s),l(t,"message",n),e())};c(t,"message",n),t.postMessage(i,"*")}}exports.$idleBlocked=!1,exports.onIdle=function(e,t){return setTimeout((function t(){exports.$idleBlocked?setTimeout(t,100):e()}),t)},exports.$idleBlockId=null,exports.blockIdle=function(e){exports.$idleBlockId&&clearTimeout(exports.$idleBlockId),exports.$idleBlocked=!0,exports.$idleBlockId=setTimeout((function(){exports.$idleBlocked=!1}),e||100)},exports.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),exports.nextFrame?exports.nextFrame=exports.nextFrame.bind(window):exports.nextFrame=function(e){setTimeout(e,17)}})),ace.define("ace/range",["require","exports","module"],(function(require,exports,e){"use strict";var t=function(e,t,i,n){this.start={row:e,column:t},this.end={row:i,column:n}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,i=e.end,n=e.start;return 1==(t=this.compare(i.row,i.column))?1==(t=this.compare(n.row,n.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(n.row,n.column))?-1:1==t?42:0},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return-1==t||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&(!this.isEnd(e,t)&&!this.isStart(e,t))},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:tthis.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,i){if(this.end.row>i)var n={row:i+1,column:0};else if(this.end.rowi)var s={row:i+1,column:0};else if(this.start.row0;)1&t&&(i+=e),(t>>=1)&&(e+=e);return i};var t=/^\s\s*/,i=/\s\s*$/;exports.stringTrimLeft=function(e){return e.replace(t,"")},exports.stringTrimRight=function(e){return e.replace(i,"")},exports.copyObject=function(e){var t={};for(var i in e)t[i]=e[i];return t},exports.copyArray=function(e){for(var t=[],i=0,n=e.length;iDate.now()-50)||(t=!1)},cancel:function(){t=Date.now()}}})),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],(function(require,exports,e){"use strict";var t=require("../lib/event"),i=require("../lib/useragent"),n=require("../lib/dom"),s=require("../lib/lang"),o=require("../clipboard"),r=i.isChrome<18,a=i.isIE,c=i.isChrome>63,l=400,h=require("../lib/keys"),d=h.KEY_MODS,u=i.isIOS,f=u?/\s/:/\n/,g=i.isMobile;exports.TextInput=function(e,p){var m=n.createElement("textarea");m.className="ace_text-input",m.setAttribute("wrap","off"),m.setAttribute("autocorrect","off"),m.setAttribute("autocapitalize","off"),m.setAttribute("spellcheck",!1),m.style.opacity="0",e.insertBefore(m,e.firstChild);var b=!1,v=!1,w=!1,y=!1,x="";g||(m.style.fontSize="1px");var S=!1,C=!1,M="",k=0,A=0,L=0;try{var R=document.activeElement===m}catch(e){}t.addListener(m,"blur",(function(e){C||(p.onBlur(e),R=!1)}),p),t.addListener(m,"focus",(function(e){if(!C){if(R=!0,i.isEdge)try{if(!document.hasFocus())return}catch(e){}p.onFocus(e),i.isEdge?setTimeout(_):_()}}),p),this.$focusScroll=!1,this.focus=function(){if(x||c||"browser"==this.$focusScroll)return m.focus({preventScroll:!0});var e=m.style.top;m.style.position="fixed",m.style.top="0px";try{var t=0!=m.getBoundingClientRect().top}catch(e){return}var i=[];if(t)for(var n=m.parentElement;n&&1==n.nodeType;)i.push(n),n.setAttribute("ace_nocontext",!0),n=!n.parentElement&&n.getRootNode?n.getRootNode().host:n.parentElement;m.focus({preventScroll:!0}),t&&i.forEach((function(e){e.removeAttribute("ace_nocontext")})),setTimeout((function(){m.style.position="","0px"==m.style.top&&(m.style.top=e)}),0)},this.blur=function(){m.blur()},this.isFocused=function(){return R},p.on("beforeEndOperation",(function(){var e=p.curOp,t=e&&e.command&&e.command.name;if("insertstring"!=t){var i=t&&(e.docChanged||e.selectionChanged);w&&i&&(M=m.value="",D()),_()}}));var _=u?function(e){if(R&&(!b||e)&&!y){e||(e="");var t="\n ab"+e+"cde fg\n";t!=m.value&&(m.value=M=t);var i=4+(e.length||(p.selection.isEmpty()?0:1));4==k&&A==i||m.setSelectionRange(4,i),k=4,A=i}}:function(){if(!w&&!y&&(R||T)){w=!0;var e=0,t=0,i="";if(p.session){var n=p.selection,s=n.getRange(),o=n.cursor.row;if(e=s.start.column,t=s.end.column,i=p.session.getLine(o),s.start.row!=o){var r=p.session.getLine(o-1);e=s.start.rowo+1?a.length:t,t+=i.length+1,i=i+"\n"+a}else g&&o>0&&(i="\n"+i,t+=1,e+=1);i.length>l&&(e0&&M[h]==e[h];)h++,o--;for(a=a.slice(h),h=1;r>0&&M.length-h>k-1&&M[M.length-h]==e[e.length-h];)h++,r--;c-=h-1,l-=h-1;var d=a.length-h+1;if(d<0&&(o=-d,d=0),a=a.slice(0,d),!(t||a||c||o||r||l))return"";y=!0;var u=!1;return i.isAndroid&&". "==a&&(a="  ",u=!0),a&&!o&&!r&&!c&&!l||S?p.onTextInput(a):p.onTextInput(a,{extendLeft:o,extendRight:r,restoreStart:c,restoreEnd:l}),y=!1,M=e,k=n,A=s,L=l,u?"\n":a},O=function(e){if(w)return P();if(e&&e.inputType){if("historyUndo"==e.inputType)return p.execCommand("undo");if("historyRedo"==e.inputType)return p.execCommand("redo")}var t=m.value,i=U(t,!0);(t.length>500||f.test(i)||g&&k<1&&k==A)&&_()},F=function(e,t,i){var n=e.clipboardData||window.clipboardData;if(n&&!r){var s=a||i?"Text":"text/plain";try{return t?!1!==n.setData(s,t):n.getData(s)}catch(e){if(!i)return F(e,t,!0)}}},I=function(e,i){var n=p.getCopyText();if(!n)return t.preventDefault(e);F(e,n)?(u&&(_(n),b=n,setTimeout((function(){b=!1}),10)),i?p.onCut():p.onCopy(),t.preventDefault(e)):(b=!0,m.value=n,m.select(),setTimeout((function(){b=!1,_(),i?p.onCut():p.onCopy()})))},j=function(e){I(e,!0)},B=function(e){I(e,!1)},W=function(e){var n=F(e);o.pasteCancelled()||("string"==typeof n?(n&&p.onPaste(n,e),i.isIE&&setTimeout(_),t.preventDefault(e)):(m.value="",v=!0))};t.addCommandKeyListener(m,p.onCommandKey.bind(p),p),t.addListener(m,"select",(function(e){w||(b?b=!1:!function(e){return 0===e.selectionStart&&e.selectionEnd>=M.length&&e.value===M&&M&&e.selectionEnd!==A}(m)?g&&m.selectionStart!=k&&_():(p.selectAll(),_()))}),p),t.addListener(m,"input",O,p),t.addListener(m,"cut",j,p),t.addListener(m,"copy",B,p),t.addListener(m,"paste",W,p),"oncut"in m&&"oncopy"in m&&"onpaste"in m||t.addListener(e,"keydown",(function(e){if((!i.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:B(e);break;case 86:W(e);break;case 88:j(e)}}),p);var P=function(){if(w&&p.onCompositionUpdate&&!p.$readOnly){if(S)return N();if(w.useTextareaForIME)p.onCompositionUpdate(m.value);else{var e=m.value;U(e),w.markerRange&&(w.context&&(w.markerRange.start.column=w.selectionStart=w.context.compositionStartOffset),w.markerRange.end.column=w.markerRange.start.column+A-w.selectionStart+L)}}},D=function(e){p.onCompositionEnd&&!p.$readOnly&&(w=!1,p.onCompositionEnd(),p.off("mousedown",N),e&&O())};function N(){C=!0,m.blur(),m.focus(),C=!1}var H,z=s.delayedCall(P,50).schedule.bind(null,null);function V(){clearTimeout(H),H=setTimeout((function(){x&&(m.style.cssText=x,x=""),p.renderer.$isMousePressed=!1,p.renderer.$keepTextAreaAtCursor&&p.renderer.$moveTextAreaToCursor()}),0)}t.addListener(m,"compositionstart",(function(e){if(!w&&p.onCompositionStart&&!p.$readOnly&&(w={},!S)){e.data&&(w.useTextareaForIME=!1),setTimeout(P,0),p._signal("compositionStart"),p.on("mousedown",N);var t=p.getSelectionRange();t.end.row=t.start.row,t.end.column=t.start.column,w.markerRange=t,w.selectionStart=k,p.onCompositionStart(w),w.useTextareaForIME?(M=m.value="",k=0,A=0):(m.msGetInputContext&&(w.context=m.msGetInputContext()),m.getInputContext&&(w.context=m.getInputContext()))}}),p),t.addListener(m,"compositionupdate",P,p),t.addListener(m,"keyup",(function(e){27==e.keyCode&&m.value.lengthA&&"\n"==M[o]?r=h.end:nA&&M.slice(0,o).split("\n").length>2?r=h.down:o>A&&" "==M[o-1]?(r=h.right,a=d.option):(o>A||o==A&&A!=k&&n==o)&&(r=h.right),n!==o&&(a|=d.shift),r){if(!t.onCommandKey({},a,r)&&t.commands){r=h.keyCodeToString(r);var c=t.commands.findKeyCommand(a,r);c&&t.execCommand(c)}k=n,A=o,_("")}}};document.addEventListener("selectionchange",o),t.on("destroy",(function(){document.removeEventListener("selectionchange",o)}))}(0,p,m)},exports.$setUserAgentForTests=function(e,t){g=e,u=t}})),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],(function(require,exports,e){"use strict";var t=require("../lib/useragent");function i(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach((function(t){e[t]=this[t]}),this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function n(e,t){if(e.start.row==e.end.row)var i=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)i=2*t.row-e.start.row-e.end.row;else var i=t.column-4;return i<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}(function(){this.onMouseDown=function(e){var i=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var s=this.editor,o=e.getButton();return 0!==o?((s.getSelectionRange().isEmpty()||1==o)&&s.selection.moveToPosition(n),void(2==o&&(s.textInput.onContextMenu(e.domEvent),t.isMozilla||e.preventDefault()))):(this.mousedownEvent.time=Date.now(),!i||s.isFocused()||(s.focus(),!this.$focusTimeout||this.$clickSelection||s.inMultiSelectMode)?(this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()):(this.setState("focusWait"),void this.captureMouse(e)))},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var i=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?i.selection.selectToPosition(e):t||i.selection.moveToPosition(e),t||this.select(),i.renderer.scroller.setCapture&&i.renderer.scroller.setCapture(),i.setStyle("ace_selecting"),this.setState("select"))},this.select=function(){var e,t=this.editor,i=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i);if(-1==s)e=this.$clickSelection.end;else if(1==s)e=this.$clickSelection.start;else{var o=n(this.$clickSelection,i);i=o.cursor,e=o.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(i),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,i=this.editor,s=i.renderer.screenToTextCoordinates(this.x,this.y),o=i.selection[e](s.row,s.column);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(o.start),a=this.$clickSelection.comparePoint(o.end);if(-1==r&&a<=0)t=this.$clickSelection.end,o.end.row==s.row&&o.end.column==s.column||(s=o.start);else if(1==a&&r>=0)t=this.$clickSelection.start,o.start.row==s.row&&o.start.column==s.column||(s=o.end);else if(-1==r&&1==a)s=o.end,t=o.start;else{var c=n(this.$clickSelection,s);s=c.cursor,t=c.anchor}i.selection.setSelectionAnchor(t.row,t.column)}i.selection.selectToPosition(s),i.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e,t,i,n,s=(e=this.mousedownEvent.x,t=this.mousedownEvent.y,i=this.x,n=this.y,Math.sqrt(Math.pow(i-e,2)+Math.pow(n-t,2))),o=Date.now();(s>0||o-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),i=this.editor,n=i.session.getBracketRange(t);n?(n.isEmpty()&&(n.start.column--,n.end.column++),this.setState("select")):(n=i.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=n,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),i=this.editor;this.setState("selectByLines");var n=i.getSelectionRange();n.isMultiLine()&&n.contains(t.row,t.column)?(this.$clickSelection=i.selection.getLineRange(n.start.row),this.$clickSelection.end=i.selection.getLineRange(n.end.row).end):this.$clickSelection=i.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var i=this.$lastScroll,n=e.domEvent.timeStamp,s=n-i.t,o=s?e.wheelX/s:i.vx,r=s?e.wheelY/s:i.vy;s<550&&(o=(o+i.vx)/2,r=(r+i.vy)/2);var a=Math.abs(o/r),c=!1;if(a>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(c=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(c=!0),c)i.allowed=n;else if(n-i.allowed<550){Math.abs(o)<=1.5*Math.abs(i.vx)&&Math.abs(r)<=1.5*Math.abs(i.vy)?(c=!0,i.allowed=n):i.allowed=0}return i.t=n,i.vx=o,i.vy=r,c?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}}}).call(i.prototype),exports.DefaultHandlers=i})),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],(function(require,exports,e){"use strict";require("./lib/oop");var t=require("./lib/dom");function i(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}(function(){this.$init=function(){return this.$element=t.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){this.getElement().textContent=e},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){t.addCssClass(this.getElement(),e)},this.show=function(e,t,i){null!=e&&this.setText(e),null!=t&&null!=i&&this.setPosition(t,i),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(i.prototype),exports.Tooltip=i})),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],(function(require,exports,e){"use strict";var t=require("../lib/dom"),i=require("../lib/oop"),n=require("../lib/event"),s=require("../tooltip").Tooltip;function o(e){s.call(this,e)}i.inherits(o,s),function(){this.setPosition=function(e,t){var i=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,o=this.getWidth(),r=this.getHeight();(e+=15)+o>i&&(e-=e+o-i),(t+=15)+r>n&&(t-=20+r),s.prototype.setPosition.call(this,e,t)}}.call(o.prototype),exports.GutterHandler=function(e){var i,s,r,a=e.editor,c=a.renderer.$gutterLayer,l=new o(a.container);function h(){i&&(i=clearTimeout(i)),r&&(l.hide(),r=null,a._signal("hideGutterTooltip",l),a.off("mousewheel",h))}function d(e){l.setPosition(e.x,e.y)}e.editor.setDefaultHandler("guttermousedown",(function(t){if(a.isFocused()&&0==t.getButton()&&"foldWidgets"!=c.getRegion(t)){var i=t.getDocumentPosition().row,n=a.session.selection;if(t.getShiftKey())n.selectTo(i,0);else{if(2==t.domEvent.detail)return a.selectAll(),t.preventDefault();e.$clickSelection=a.selection.getLineRange(i)}return e.setState("selectByLines"),e.captureMouse(t),t.preventDefault()}})),e.editor.setDefaultHandler("guttermousemove",(function(n){var o=n.domEvent.target||n.domEvent.srcElement;if(t.hasCssClass(o,"ace_fold-widget"))return h();r&&e.$tooltipFollowsMouse&&d(n),s=n,i||(i=setTimeout((function(){i=null,s&&!e.isMousePressed?function(){var t=s.getDocumentPosition().row,i=c.$annotations[t];if(!i)return h();if(t==a.session.getLength()){var n=a.renderer.pixelToScreenCoordinates(0,s.y).row,o=s.$pos;if(n>a.session.documentToScreenRow(o.row,o.column))return h()}if(r!=i)if(r=i.text.join("
"),l.setHtml(r),l.show(),a._signal("showGutterTooltip",l),a.on("mousewheel",h),e.$tooltipFollowsMouse)d(s);else{var u=s.domEvent.target.getBoundingClientRect(),f=l.getElement().style;f.left=u.right+"px",f.top=u.bottom+"px"}}():h()}),50))})),n.addListener(a.renderer.$gutter,"mouseout",(function(e){s=null,r&&!i&&(i=setTimeout((function(){i=null,h()}),50))}),a),a.on("changeSession",h)}})),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],(function(require,exports,e){"use strict";var t=require("../lib/event"),i=require("../lib/useragent"),n=exports.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){t.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){t.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY)),this.$pos},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return this.$inSelection},this.getButton=function(){return t.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(n.prototype)})),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],(function(require,exports,e){"use strict";var t=require("../lib/dom"),i=require("../lib/event"),n=require("../lib/useragent");function s(e){var s=e.editor,r=t.createElement("img");r.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",n.isOpera&&(r.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach((function(t){e[t]=this[t]}),this),s.on("mousedown",this.onMouseDown.bind(e));var a,c,l,h,d,u,f,g,p,m,b,v=s.container,w=0;function y(){var e=u;(function(e,t){var i=Date.now(),n=!t||e.row!=t.row,r=!t||e.column!=t.column;!m||n||r?(s.moveCursorToPosition(e),m=i,b={x:c,y:l}):o(b.x,b.y,c,l)>5?m=null:i-m>=200&&(s.renderer.scrollCursorIntoView(),m=null)})(u=s.renderer.screenToTextCoordinates(c,l),e),function(e,t){var i=Date.now(),n=s.renderer.layerConfig.lineHeight,o=s.renderer.layerConfig.characterWidth,r=s.renderer.scroller.getBoundingClientRect(),a={x:{left:c-r.left,right:r.right-c},y:{top:l-r.top,bottom:r.bottom-l}},h=Math.min(a.x.left,a.x.right),d=Math.min(a.y.top,a.y.bottom),u={row:e.row,column:e.column};h/o<=2&&(u.column+=a.x.left=200&&s.renderer.scrollCursorIntoView(u):p=i:p=null}(u,e)}function x(){d=s.selection.toOrientedRange(),a=s.session.addMarker(d,"ace_selection",s.getSelectionStyle()),s.clearSelection(),s.isFocused()&&s.renderer.$cursorLayer.setBlinking(!1),clearInterval(h),y(),h=setInterval(y,20),w=0,i.addListener(document,"mousemove",M)}function S(){clearInterval(h),s.session.removeMarker(a),a=null,s.selection.fromOrientedRange(d),s.isFocused()&&!g&&s.$resetCursorStyle(),d=null,u=null,w=0,p=null,m=null,i.removeListener(document,"mousemove",M)}this.onDragStart=function(e){if(this.cancelDrag||!v.draggable){var t=this;return setTimeout((function(){t.startSelect(),t.captureMouse(e)}),0),e.preventDefault()}d=s.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=s.getReadOnly()?"copy":"copyMove",n.isOpera&&(s.container.appendChild(r),r.scrollTop=0),i.setDragImage&&i.setDragImage(r,0,0),n.isOpera&&s.container.removeChild(r),i.clearData(),i.setData("Text",s.session.getTextRange()),g=!0,this.setState("drag")},this.onDragEnd=function(e){if(v.draggable=!1,g=!1,this.setState(null),!s.getReadOnly()){var t=e.dataTransfer.dropEffect;f||"move"!=t||s.session.remove(s.getSelectionRange()),s.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(!s.getReadOnly()&&k(e.dataTransfer))return c=e.clientX,l=e.clientY,a||x(),w++,e.dataTransfer.dropEffect=f=A(e),i.preventDefault(e)},this.onDragOver=function(e){if(!s.getReadOnly()&&k(e.dataTransfer))return c=e.clientX,l=e.clientY,a||(x(),w++),null!==C&&(C=null),e.dataTransfer.dropEffect=f=A(e),i.preventDefault(e)},this.onDragLeave=function(e){if(--w<=0&&a)return S(),f=null,i.preventDefault(e)},this.onDrop=function(e){if(u){var t=e.dataTransfer;if(g)switch(f){case"move":d=d.contains(u.row,u.column)?{start:u,end:u}:s.moveText(d,u);break;case"copy":d=s.moveText(d,u,!0)}else{var n=t.getData("Text");d={start:u,end:s.session.insert(u,n)},s.focus(),f=null}return S(),i.preventDefault(e)}},i.addListener(v,"dragstart",this.onDragStart.bind(e),s),i.addListener(v,"dragend",this.onDragEnd.bind(e),s),i.addListener(v,"dragenter",this.onDragEnter.bind(e),s),i.addListener(v,"dragover",this.onDragOver.bind(e),s),i.addListener(v,"dragleave",this.onDragLeave.bind(e),s),i.addListener(v,"drop",this.onDrop.bind(e),s);var C=null;function M(){null==C&&(C=setTimeout((function(){null!=C&&a&&S()}),20))}function k(e){var t=e.types;return!t||Array.prototype.some.call(t,(function(e){return"text/plain"==e||"Text"==e}))}function A(e){var t=["copy","copymove","all","uninitialized"],i=n.isMac?e.altKey:e.ctrlKey,s="uninitialized";try{s=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return i&&t.indexOf(s)>=0?o="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(s)>=0?o="move":t.indexOf(s)>=0&&(o="copy"),o}}function o(e,t,i,n){return Math.sqrt(Math.pow(i-e,2)+Math.pow(n-t,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var t=n.isWin?"default":"move";e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;n.isIE&&"dragReady"==this.state&&(o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>3&&t.dragDrop());"dragWait"===this.state&&(o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition())))},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,i=e.inSelection(),s=e.getButton();if(1===(e.domEvent.detail||1)&&0===s&&i){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;if("unselectable"in o&&(o.unselectable="on"),t.getDragDelay()){if(n.isWebKit)this.cancelDrag=!0,t.container.draggable=!0;this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(s.prototype),exports.DragdropHandler=s})),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],(function(require,exports,e){"use strict";var t=require("./mouse_event").MouseEvent,i=require("../lib/event"),n=require("../lib/dom");exports.addTouchListeners=function(e,s){var o,r,a,c,l,h,d,u,f,g="scroll",p=0,m=0,b=0,v=0;function w(){var e=window.navigator&&window.navigator.clipboard,t=!1,i=function(i){var o,r,a=i.target.getAttribute("action");if("more"==a||!t)return t=!t,o=s.getCopyText(),r=s.session.getUndoManager().hasUndo(),void f.replaceChild(n.buildDom(t?["span",!o&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],o&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],o&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],e&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],r&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],["span",{class:"ace_mobile-button",action:"find"},"Find"],["span",{class:"ace_mobile-button",action:"openCommandPallete"},"Pallete"]]:["span"]),f.firstChild);"paste"==a?e.readText().then((function(e){s.execCommand(a,e)})):a&&("cut"!=a&&"copy"!=a||(e?e.writeText(s.getCopyText()):document.execCommand("copy")),s.execCommand(a)),f.firstChild.style.display="none",t=!1,"openCommandPallete"!=a&&s.focus()};f=n.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(e){g="menu",e.stopPropagation(),e.preventDefault(),s.textInput.focus()},ontouchend:function(e){e.stopPropagation(),e.preventDefault(),i(e)},onclick:i},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],s.container)}function y(){f||w();var e=s.selection.cursor,t=s.renderer.textToScreenCoordinates(e.row,e.column),i=s.renderer.textToScreenCoordinates(0,0).pageX,n=s.renderer.scrollLeft,o=s.container.getBoundingClientRect();f.style.top=t.pageY-o.top-3+"px",t.pageX-o.left1)return clearTimeout(l),l=null,a=-1,void(g="zoom");u=s.$mouseHandler.isMousePressed=!0;var n=s.renderer.layerConfig.lineHeight,h=s.renderer.layerConfig.lineHeight,f=e.timeStamp;c=f;var w=i[0],y=w.clientX,x=w.clientY;Math.abs(o-y)+Math.abs(r-x)>n&&(a=-1),o=e.clientX=y,r=e.clientY=x,b=v=0;var C=new t(e,s);if(d=C.getDocumentPosition(),f-a<500&&1==i.length&&!p)m++,e.preventDefault(),e.button=0,function(){l=null,clearTimeout(l),s.selection.moveToPosition(d);var e=m>=2?s.selection.getLineRange(d.row):s.session.getBracketRange(d);e&&!e.isEmpty()?s.selection.setRange(e):s.selection.selectWord(),g="wait"}();else{m=0;var M=s.selection.cursor,k=s.selection.isEmpty()?M:s.selection.anchor,A=s.renderer.$cursorLayer.getPixelPosition(M,!0),L=s.renderer.$cursorLayer.getPixelPosition(k,!0),R=s.renderer.scroller.getBoundingClientRect(),_=s.renderer.layerConfig.offset,E=s.renderer.scrollLeft,T=function(e,t){return(e/=h)*e+(t=t/n-.75)*t};if(e.clientXO?"cursor":"anchor"),g=O<3.5?"anchor":U<3.5?"cursor":"scroll",l=setTimeout(S,450)}a=f}),s),i.addListener(e,"touchend",(function(e){u=s.$mouseHandler.isMousePressed=!1,h&&clearInterval(h),"zoom"==g?(g="",p=0):l?(s.selection.moveToPosition(d),p=0,y()):"scroll"==g?(p+=60,h=setInterval((function(){p--<=0&&(clearInterval(h),h=null),Math.abs(b)<.01&&(b=0),Math.abs(v)<.01&&(v=0),p<20&&(b*=.9),p<20&&(v*=.9);var e=s.session.getScrollTop();s.renderer.scrollBy(10*b,10*v),e==s.session.getScrollTop()&&(p=0)}),10),x()):y(),clearTimeout(l),l=null}),s),i.addListener(e,"touchmove",(function(e){l&&(clearTimeout(l),l=null);var i=e.touches;if(!(i.length>1||"zoom"==g)){var n=i[0],a=o-n.clientX,h=r-n.clientY;if("wait"==g){if(!(a*a+h*h>4))return e.preventDefault();g="cursor"}o=n.clientX,r=n.clientY,e.clientX=n.clientX,e.clientY=n.clientY;var d=e.timeStamp,u=d-c;if(c=d,"scroll"==g){var f=new t(e,s);f.speed=1,f.wheelX=a,f.wheelY=h,10*Math.abs(a)1&&(s=i[i.length-2]);var a=r[t+"Path"];return null==a?a=r.basePath:"/"==n&&(t=n=""),a&&"/"!=a.slice(-1)&&(a+="/"),a+t+n+s+this.get("suffix")},exports.setModuleUrl=function(e,t){return r.$moduleUrls[e]=t},exports.$loading={},exports.loadModule=function(e,t){var i,s;Array.isArray(e)&&(s=e[0],e=e[1]);try{i=require(e)}catch(e){}if(i&&!exports.$loading[e])return t&&t(i);if(exports.$loading[e]||(exports.$loading[e]=[]),exports.$loading[e].push(t),!(exports.$loading[e].length>1)){var o=function(){require([e],(function(t){exports._emit("load.module",{name:e,module:t});var i=exports.$loading[e];exports.$loading[e]=null,i.forEach((function(e){e&&e(t)}))}))};if(!exports.get("packaged"))return o();n.loadScript(exports.moduleUrl(e,s),o),a()}};var a=function(){r.basePath||r.workerPath||r.modePath||r.themePath||Object.keys(r.$moduleUrls).length||(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),a=function(){})};function c(i){if(o&&o.document){r.packaged=i||require.packaged||e.packaged||o.define&&t("MNGAHOYH").packaged;for(var n,s={},a="",c=document.currentScript||document._currentScript,l=(c&&c.ownerDocument||document).getElementsByTagName("script"),h=0;h=e){for(r=d+1;r=e;)r++;for(a=d,c=r-1;a=i.length||2!=(h=r[a-1])&&3!=h||2!=(d=i[a+1])&&3!=d?4:(n&&(d=3),d==h?d:4);case 10:return 2==(h=a>0?r[a-1]:5)&&a+10&&2==r[a-1])return 2;if(n)return 4;for(f=a+1,u=i.length;f=1425&&p<=2303||64286==p;if(h=i[f],m&&(1==h||7==h))return 1}return a<1||5==(h=i[a-1])?4:r[a-1];case 5:return n=!1,s=!0,t;case 6:return o=!0,4;case 13:case 14:case 16:case 17:case 15:n=!1;case l:return 4}}function g(e){var t=e.charCodeAt(0),i=t>>8;return 0==i?t>191?0:h[t]:5==i?/[\u0591-\u05f4]/.test(e)?1:0:6==i?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?12:/[\u0660-\u0669\u066b-\u066c]/.test(e)?3:1642==t?c:/[\u06f0-\u06f9]/.test(e)?2:7:32==i&&t<=8287?d[255&t]:254==i&&t>=65136?7:4}exports.L=0,exports.R=1,exports.EN=2,exports.ON_R=3,exports.AN=4,exports.R_H=5,exports.B=6,exports.RLE=7,exports.DOT="·",exports.doBidiReorder=function(e,c,h){if(e.length<2)return{};var d=e.split(""),p=new Array(d.length),m=new Array(d.length),b=[];t=h?1:0,function(e,c,l,h){var d=t?a:r,u=null,p=null,m=null,b=0,v=null,w=-1,y=null,x=null,S=[];if(!h)for(y=0,h=[];y0)if(16==v){for(y=w;y-1){for(y=w;y=0&&8==h[C];C--)c[C]=t}}(d,b,d.length,c);for(var v=0;v7&&c[v]<13||4===c[v]||c[v]===l)?b[v]=exports.ON_R:v>0&&"ل"===d[v-1]&&/\u0622|\u0623|\u0625|\u0627/.test(d[v])&&(b[v-1]=b[v]=exports.R_H,v++);d[d.length-1]===exports.DOT&&(b[d.length-1]=exports.B),"‫"===d[0]&&(b[0]=exports.RLE);for(v=0;v=0&&(e=this.session.$docRowCache[i])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var i,n=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(i=this.session.$getRowCacheIndex(t,this.currentRow-e-1))===n;)n=i,e++;else e=this.currentRow;return e},this.updateRowLine=function(e,n){void 0===e&&(e=this.getDocumentRow());var s=e===this.session.getLength()-1?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(void 0===n&&(n=this.getSplitIndex()),n>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[t.L],this.line=ni?this.session.getOverwrite()?e:e-1:i,s=t.getVisualFromLogicalIdx(n,this.bidiMap),o=this.bidiMap.bidiLevels,r=0;!this.session.getOverwrite()&&e<=i&&o[s]%2!=0&&s++;for(var a=0;ai&&o[s]%2==0&&(r+=this.charWidths[o[s]]),this.wrapIndent&&(r+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(r+=this.rtlLineOffset),r},this.getSelections=function(e,t){var i,n=this.bidiMap,s=n.bidiLevels,o=[],r=0,a=Math.min(e,t)-this.wrapIndent,c=Math.max(e,t)-this.wrapIndent,l=!1,h=!1,d=0;this.wrapIndent&&(r+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var u,f=0;f=a&&ui+o/2;){if(i+=o,n===s.length-1){o=0;break}o=this.charWidths[s[++n]]}return n>0&&s[n-1]%2!=0&&s[n]%2==0?(e0&&s[n-1]%2==0&&s[n]%2!=0?t=1+(e>i?this.bidiMap.logicalFromVisual[n]:this.bidiMap.logicalFromVisual[n-1]):this.isRtlDir&&n===s.length-1&&0===o&&s[n-1]%2==0||!this.isRtlDir&&0===n&&s[n]%2!=0?t=1+this.bidiMap.logicalFromVisual[n]:(n>0&&s[n-1]%2!=0&&0!==o&&n--,t=this.bidiMap.logicalFromVisual[n]),0===t&&this.isRtlDir&&t++,t+this.wrapIndent}}).call(s.prototype),exports.BidiHandler=s})),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],(function(require,exports,e){"use strict";var t=require("./lib/oop"),i=require("./lib/lang"),n=require("./lib/event_emitter").EventEmitter,s=require("./range").Range,o=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",(function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),t.$isEmpty||t.$silent||t._emit("changeSelection"),t.$keepDesiredColumnOnChange||e.old.column==e.value.column||(t.$desiredColumn=null)})),this.anchor.on("change",(function(){t.$anchorChanged=!0,t.$isEmpty||t.$silent||t._emit("changeSelection")}))};(function(){t.implement(this,n),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?s.fromPoints(t,t):this.isBackwards()?s.fromPoints(t,e):s.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var i=t?e.end:e.start,n=t?e.start:e.end;this.$setSelection(i.row,i.column,n.row,n.column)},this.$setSelection=function(e,t,i,n){if(!this.$silent){var o=this.$isEmpty,r=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(i,n),this.$isEmpty=!s.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||o!=this.$isEmpty||r)&&this._emit("changeSelection")}},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection((function(){this.moveCursorTo(e,t)}))},this.selectToPosition=function(e){this.$moveSelection((function(){this.moveCursorToPosition(e)}))},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(void 0===t){var i=e||this.lead;e=i.row,t=i.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var i,n="number"==typeof e?e:this.lead.row,o=this.session.getFoldLine(n);return o?(n=o.start.row,i=o.end.row):i=n,!0===t?new s(n,0,i,this.session.getLine(i).length):new s(n,0,i+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,i){var n=e.column,s=e.column+t;return i<0&&(n=e.column-t,s=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(n,s).split(" ").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var i=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,i,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-i):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=n)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,i=this.doc.getLine(e),n=i.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s)this.moveCursorTo(s.end.row,s.end.column);else{if(this.session.nonTokenRe.exec(n)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,n=i.substring(t)),t>=i.length)return this.moveCursorTo(e,i.length),this.moveCursorRight(),void(e0&&this.moveCursorWordLeft());this.session.tokenRe.exec(o)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,n)}},this.$shortWordEndIndex=function(e){var t,i=0,n=/\s/,s=this.session.tokenRe;if(s.lastIndex=0,this.session.tokenRe.exec(e))i=this.session.tokenRe.lastIndex;else{for(;(t=e[i])&&n.test(t);)i++;if(i<1)for(s.lastIndex=0;(t=e[i])&&!s.test(t);)if(s.lastIndex=0,i++,n.test(t)){if(i>2){i--;break}for(;(t=e[i])&&n.test(t);)i++;if(i>2)break}}return s.lastIndex=0,i},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,i=this.doc.getLine(e),n=i.substring(t),s=this.session.getFoldAt(e,t,1);if(s)return this.moveCursorTo(s.end.row,s.end.column);if(t==i.length){var o=this.doc.getLength();do{e++,n=this.doc.getLine(e)}while(e0&&/^\s*$/.test(s));n=s.length,/\s+$/.test(s)||(s="")}var o=i.stringReverse(s),r=this.$shortWordEndIndex(o);return this.moveCursorTo(t,n-r)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var i,n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);if(0===t&&(0!==e&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(i=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(i/this.session.$bidiHandler.charWidths[0])):i=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column),0!=e&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var s=this.session.lineWidgets[this.lead.row];e<0?e-=s.rowsAbove||0:e>0&&(e+=s.rowCount-(s.rowsAbove||0))}var o=this.session.screenToDocumentPosition(n.row+e,n.column,i);0!==e&&0===t&&o.row===this.lead.row&&(o.column,this.lead.column),this.moveCursorTo(o.row,o.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,i){var n=this.session.getFoldAt(e,t,1);n&&(e=n.start.row,t=n.start.column),this.$keepDesiredColumnOnChange=!0;var s=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(s.charAt(t))&&s.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,i||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,i){var n=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(n.row,n.column,i)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var i=this.getCursor();return s.fromPoints(t,i)}catch(e){return s.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map((function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t}));else(e=this.getRange()).isBackwards=this.isBackwards();return e},this.fromJSON=function(e){if(null==e.start){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var i=s.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(i.cursor=i.start),this.addRange(i,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(o.prototype),exports.Selection=o})),ace.define("ace/tokenizer",["require","exports","module","ace/config"],(function(require,exports,e){"use strict";var t=require("./config"),i=2e3,n=function(e){for(var t in this.states=e,this.regExps={},this.matchMappings={},this.states){for(var i=this.states[t],n=[],s=0,o=this.matchMappings[t]={defaultToken:"text"},r="g",a=[],c=0;c1?this.$applyToken:l.token),d>1&&(/\\\d/.test(l.regex)?h=l.regex.replace(/\\([0-9]+)/g,(function(e,t){return"\\"+(parseInt(t,10)+s+1)})):(d=1,h=this.removeCapturingGroups(l.regex)),l.splitRegex||"string"==typeof l.token||a.push(l)),o[s]=c,s+=d,n.push(h),l.onMatch||(l.onMatch=null)}}n.length||(o[0]=0,n.push("$")),a.forEach((function(e){e.splitRegex=this.createSplitterRegexp(e.regex,r)}),this),this.regExps[t]=new RegExp("("+n.join(")|(")+")|($)",r)}};(function(){this.$setMaxTokenCount=function(e){i=0|e},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),i=this.token.apply(this,t);if("string"==typeof i)return[{type:i,value:e}];for(var n=[],s=0,o=i.length;sh){var b=e.substring(h,m-p.length);u.type==f?u.value+=b:(u.type&&l.push(u),u={type:f,value:b})}for(var v=0;vi){for(d>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});h1&&n[0]!==s&&n.unshift("#tmp",s),{tokens:l,state:n.length?n:s}},this.reportError=t.reportError}).call(n.prototype),exports.Tokenizer=n})),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],(function(require,exports,e){"use strict";var t=require("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(t)for(var i in e){for(var n=e[i],s=0;s=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,i=e[t].start;if(void 0!==i)return i;for(i=0;t>0;)i+=e[t-=1].value.length;return i},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],i=this.getCurrentTokenColumn();return new t(this.$row,i,this.$row,i+e.value.length)}}).call(i.prototype),exports.TokenIterator=i})),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],(function(require,exports,e){"use strict";var t,i=require("../../lib/oop"),n=require("../behaviour").Behaviour,s=require("../../token_iterator").TokenIterator,o=require("../../lib/lang"),r=["text","paren.rparen","rparen","paren","punctuation.operator"],a=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],c={},l={'"':'"',"'":"'"},h=function(e){var i=-1;if(e.multiSelect&&(i=e.selection.index,c.rangeCount!=e.multiSelect.rangeCount&&(c={rangeCount:e.multiSelect.rangeCount})),c[i])return t=c[i];t=c[i]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},d=function(e,t,i,n){var s=e.end.row-e.start.row;return{text:i+t+n,selection:[0,e.start.column+1,s,e.end.column+(s?0:1)]}},u=function(e){this.add("braces","insertion",(function(i,n,s,r,a){var c=s.getCursorPosition(),l=r.doc.getLine(c.row);if("{"==a){h(s);var f=s.getSelectionRange(),g=r.doc.getTextRange(f);if(""!==g&&"{"!==g&&s.getWrapBehavioursEnabled())return d(f,g,"{","}");if(u.isSaneInsertion(s,r))return/[\]\}\)]/.test(l[c.column])||s.inMultiSelectMode||e&&e.braces?(u.recordAutoInsert(s,r,"}"),{text:"{}",selection:[1,1]}):(u.recordMaybeInsert(s,r,"{"),{text:"{",selection:[1,1]})}else if("}"==a){if(h(s),"}"==l.substring(c.column,c.column+1))if(null!==r.$findOpeningBracket("}",{column:c.column+1,row:c.row})&&u.isAutoInsertedClosing(c,l,a))return u.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==a||"\r\n"==a){h(s);var p="";if(u.isMaybeInsertedClosing(c,l)&&(p=o.stringRepeat("}",t.maybeInsertedBrackets),u.clearMaybeInsertedClosing()),"}"===l.substring(c.column,c.column+1)){var m=r.findMatchingBracket({row:c.row,column:c.column+1},"}");if(!m)return null;var b=this.$getIndent(r.getLine(m.row))}else{if(!p)return void u.clearMaybeInsertedClosing();b=this.$getIndent(l)}var v=b+r.getTabString();return{text:"\n"+v+"\n"+b+p,selection:[1,v.length,1,v.length]}}u.clearMaybeInsertedClosing()}})),this.add("braces","deletion",(function(e,i,n,s,o){var r=s.doc.getTextRange(o);if(!o.isMultiLine()&&"{"==r){if(h(n),"}"==s.doc.getLine(o.start.row).substring(o.end.column,o.end.column+1))return o.end.column++,o;t.maybeInsertedBrackets--}})),this.add("parens","insertion",(function(e,t,i,n,s){if("("==s){h(i);var o=i.getSelectionRange(),r=n.doc.getTextRange(o);if(""!==r&&i.getWrapBehavioursEnabled())return d(o,r,"(",")");if(u.isSaneInsertion(i,n))return u.recordAutoInsert(i,n,")"),{text:"()",selection:[1,1]}}else if(")"==s){h(i);var a=i.getCursorPosition(),c=n.doc.getLine(a.row);if(")"==c.substring(a.column,a.column+1))if(null!==n.$findOpeningBracket(")",{column:a.column+1,row:a.row})&&u.isAutoInsertedClosing(a,c,s))return u.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("parens","deletion",(function(e,t,i,n,s){var o=n.doc.getTextRange(s);if(!s.isMultiLine()&&"("==o&&(h(i),")"==n.doc.getLine(s.start.row).substring(s.start.column+1,s.start.column+2)))return s.end.column++,s})),this.add("brackets","insertion",(function(e,t,i,n,s){if("["==s){h(i);var o=i.getSelectionRange(),r=n.doc.getTextRange(o);if(""!==r&&i.getWrapBehavioursEnabled())return d(o,r,"[","]");if(u.isSaneInsertion(i,n))return u.recordAutoInsert(i,n,"]"),{text:"[]",selection:[1,1]}}else if("]"==s){h(i);var a=i.getCursorPosition(),c=n.doc.getLine(a.row);if("]"==c.substring(a.column,a.column+1))if(null!==n.$findOpeningBracket("]",{column:a.column+1,row:a.row})&&u.isAutoInsertedClosing(a,c,s))return u.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("brackets","deletion",(function(e,t,i,n,s){var o=n.doc.getTextRange(s);if(!s.isMultiLine()&&"["==o&&(h(i),"]"==n.doc.getLine(s.start.row).substring(s.start.column+1,s.start.column+2)))return s.end.column++,s})),this.add("string_dquotes","insertion",(function(e,t,i,n,s){var o=n.$mode.$quotes||l;if(1==s.length&&o[s]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(s))return;h(i);var r=s,a=i.getSelectionRange(),c=n.doc.getTextRange(a);if(!(""===c||1==c.length&&o[c])&&i.getWrapBehavioursEnabled())return d(a,c,r,r);if(!c){var u=i.getCursorPosition(),f=n.doc.getLine(u.row),g=f.substring(u.column-1,u.column),p=f.substring(u.column,u.column+1),m=n.getTokenAt(u.row,u.column),b=n.getTokenAt(u.row,u.column+1);if("\\"==g&&m&&/escape/.test(m.type))return null;var v,w=m&&/string|escape/.test(m.type),y=!b||/string|escape/.test(b.type);if(p==r)(v=w!==y)&&/string\.end/.test(b.type)&&(v=!1);else{if(w&&!y)return null;if(w&&y)return null;var x=n.$mode.tokenRe;x.lastIndex=0;var S=x.test(g);x.lastIndex=0;var C=x.test(g);if(S||C)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;var M=f[u.column-2];if(g==r&&(M==r||x.test(M)))return null;v=!0}return{text:v?r+r:"",selection:[1,1]}}}})),this.add("string_dquotes","deletion",(function(e,t,i,n,s){var o=n.$mode.$quotes||l,r=n.doc.getTextRange(s);if(!s.isMultiLine()&&o.hasOwnProperty(r)&&(h(i),n.doc.getLine(s.start.row).substring(s.start.column+1,s.start.column+2)==r))return s.end.column++,s}))};u.isSaneInsertion=function(e,t){var i=e.getCursorPosition(),n=new s(t,i.row,i.column);if(!this.$matchTokenType(n.getCurrentToken()||"text",r)){if(/[)}\]]/.test(e.session.getLine(i.row)[i.column]))return!0;var o=new s(t,i.row,i.column+1);if(!this.$matchTokenType(o.getCurrentToken()||"text",r))return!1}return n.stepForward(),n.getCurrentTokenRow()!==i.row||this.$matchTokenType(n.getCurrentToken()||"text",a)},u.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},u.recordAutoInsert=function(e,i,n){var s=e.getCursorPosition(),o=i.doc.getLine(s.row);this.isAutoInsertedClosing(s,o,t.autoInsertedLineEnd[0])||(t.autoInsertedBrackets=0),t.autoInsertedRow=s.row,t.autoInsertedLineEnd=n+o.substr(s.column),t.autoInsertedBrackets++},u.recordMaybeInsert=function(e,i,n){var s=e.getCursorPosition(),o=i.doc.getLine(s.row);this.isMaybeInsertedClosing(s,o)||(t.maybeInsertedBrackets=0),t.maybeInsertedRow=s.row,t.maybeInsertedLineStart=o.substr(0,s.column)+n,t.maybeInsertedLineEnd=o.substr(s.column),t.maybeInsertedBrackets++},u.isAutoInsertedClosing=function(e,i,n){return t.autoInsertedBrackets>0&&e.row===t.autoInsertedRow&&n===t.autoInsertedLineEnd[0]&&i.substr(e.column)===t.autoInsertedLineEnd},u.isMaybeInsertedClosing=function(e,i){return t.maybeInsertedBrackets>0&&e.row===t.maybeInsertedRow&&i.substr(e.column)===t.maybeInsertedLineEnd&&i.substr(0,e.column)==t.maybeInsertedLineStart},u.popAutoInsertedClosing=function(){t.autoInsertedLineEnd=t.autoInsertedLineEnd.substr(1),t.autoInsertedBrackets--},u.clearMaybeInsertedClosing=function(){t&&(t.maybeInsertedBrackets=0,t.maybeInsertedRow=-1)},i.inherits(u,n),exports.CstyleBehaviour=u})),ace.define("ace/unicode",["require","exports","module"],(function(require,exports,e){"use strict";for(var t=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],i=0,n=[],s=0;s2?n%l!=l-1:n%l==0})}else{if(!this.blockComment)return!1;var f=this.blockComment.start,g=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+r.escapeRegExp(f)+")"),m=new RegExp("(?:"+r.escapeRegExp(g)+")\\s*$"),b=function(e,t){w(e,t)||o&&!/\S/.test(e)||(s.insertInLine({row:t,column:e.length},g),s.insertInLine({row:t,column:c},f))},v=function(e,t){var i;(i=e.match(m))&&s.removeInLine(t,e.length-i[0].length,e.length),(i=e.match(p))&&s.removeInLine(t,i[1].length,i[0].length)},w=function(e,i){if(p.test(e))return!0;for(var n=t.getTokens(i),s=0;se.length&&(x=e.length)})),c==1/0&&(c=x,o=!1,a=!1),h&&c%l!=0&&(c=Math.floor(c/l)*l),y(a?v:b)},this.toggleBlockComment=function(e,t,i,n){var s=this.blockComment;if(s){!s.start&&s[0]&&(s=s[0]);var o,r,l=(p=new a(t,n.row,n.column)).getCurrentToken(),h=(t.selection,t.selection.toOrientedRange());if(l&&/comment/.test(l.type)){for(var d,u;l&&/comment/.test(l.type);){if(-1!=(m=l.value.indexOf(s.start))){var f=p.getCurrentTokenRow(),g=p.getCurrentTokenColumn()+m;d=new c(f,g,f,g+s.start.length);break}l=p.stepBackward()}var p;for(l=(p=new a(t,n.row,n.column)).getCurrentToken();l&&/comment/.test(l.type);){var m;if(-1!=(m=l.value.indexOf(s.end))){f=p.getCurrentTokenRow(),g=p.getCurrentTokenColumn()+m;u=new c(f,g,f,g+s.end.length);break}l=p.stepForward()}u&&t.remove(u),d&&(t.remove(d),o=d.start.row,r=-s.start.length)}else r=s.start.length,o=i.start.row,t.insert(i.end,s.end),t.insert(i.start,s.start);h.start.row==o&&(h.start.column+=r),h.end.row==o&&(h.end.column+=r),t.selection.fromOrientedRange(h)}},this.getNextLineIndent=function(e,t,i){return this.$getIndent(t)},this.checkOutdent=function(e,t,i){return!1},this.autoOutdent=function(e,t,i){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var i in this.$embeds=[],this.$modes={},e)if(e[i]){var n=e[i],s=n.prototype.$id,o=t.$modes[s];o||(t.$modes[s]=o=new n),t.$modes[i]||(t.$modes[i]=o),this.$embeds.push(i),this.$modes[i]=o}var r=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(i=0;ithis.row)){var i=function(t,i,n){var s="insert"==t.action,o=(s?1:-1)*(t.end.row-t.start.row),r=(s?1:-1)*(t.end.column-t.start.column),a=t.start,c=s?a:t.end;if(e(i,a,n))return{row:i.row,column:i.column};if(e(c,i,!n))return{row:i.row+o,column:i.column+(i.row==c.row?r:0)};return{row:a.row,column:a.column}}(t,{row:this.row,column:this.column},this.$insertRight);this.setPosition(i.row,i.column,!0)}},this.setPosition=function(e,t,i){var n;if(n=i?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=n.row||this.column!=n.column){var s={row:this.row,column:this.column};this.row=n.row,this.column=n.column,this._signal("change",{old:s,value:n})}},this.detach=function(){this.document.off("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var i={};return e>=this.document.getLength()?(i.row=Math.max(0,this.document.getLength()-1),i.column=this.document.getLine(i.row).length):e<0?(i.row=0,i.column=0):(i.row=e,i.column=Math.min(this.document.getLine(i.row).length,Math.max(0,t))),t<0&&(i.column=0),i}}).call(n.prototype)})),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],(function(require,exports,e){"use strict";var t=require("./lib/oop"),i=require("./apply_delta").applyDelta,n=require("./lib/event_emitter").EventEmitter,s=require("./range").Range,o=require("./anchor").Anchor,r=function(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){t.implement(this,n),this.setValue=function(e){var t=this.getLength()-1;this.remove(new s(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},0==="aaa".split(/a/).length?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{(t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column);var i=t.length-1;e.end.row-e.start.row==i&&(t[i]=t[i].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var i=this.clippedPos(e.row,e.column),n=this.pos(e.row,e.column+t.length);return this.applyDelta({start:i,end:n,action:"insert",lines:[t]},!0),this.clonePos(n)},this.clippedPos=function(e,t){var i=this.getLength();void 0===e?e=i:e<0?e=0:e>=i&&(e=i-1,t=void 0);var n=this.getLine(e);return null==t&&(t=n.length),{row:e,column:t=Math.min(Math.max(t,0),n.length)}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){var i=0;(e=Math.min(Math.max(e,0),this.getLength()))0,n=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){return e instanceof s||(e=s.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty()?e.start:t==this.getTextRange(e)?e.end:(this.remove(e),t?this.insert(e.start,t):e.start)},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n="insert"==e.action;(n?e.lines.length<=1&&!e.lines[0]:!s.comparePoints(e.start,e.end))||(n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e)))},this.$safeApplyDelta=function(e){var t=this.$lines.length;("remove"==e.action&&e.start.row20){i.running=setTimeout(i.$worker,20);break}}i.currentLine=t,-1==n&&(n=t),o<=n&&i.fireUpdateEvent(o,n)}}};(function(){t.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var i={first:e,last:t};this._signal("update",{data:i})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,i=e.end.row-t;if(0===i)this.lines[t]=null;else if("remove"==e.action)this.lines.splice(t,i+1,null),this.states.splice(t,i+1,null);else{var n=Array(i+1);n.unshift(t,1),this.lines.splice.apply(this.lines,n),this.states.splice.apply(this.states,n)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),i=this.states[e-1],n=this.tokenizer.getLineTokens(t,i,e);return this.states[e]+""!=n.state+""?(this.states[e]=n.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=n.tokens}}).call(n.prototype),exports.BackgroundTokenizer=n})),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(require,exports,e){"use strict";var t=require("./lib/lang"),i=(require("./lib/oop"),require("./range").Range),n=function(e,t,i){this.setRegexp(e),this.clazz=t,this.type=i||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,n,s,o){if(this.regExp)for(var r=o.firstRow,a=o.lastRow,c=r;c<=a;c++){var l=this.cache[c];null==l&&((l=t.getMatchOffsets(s.getLine(c),this.regExp)).length>this.MAX_RANGES&&(l=l.slice(0,this.MAX_RANGES)),l=l.map((function(e){return new i(c,e.offset,c,e.offset+e.length)})),this.cache[c]=l.length?l:"");for(var h=l.length;h--;)n.drawSingleLineMarker(e,l[h].toScreenRange(s),this.clazz,o)}}}).call(n.prototype),exports.SearchHighlight=n})),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],(function(require,exports,e){"use strict";var t=require("../range").Range;function i(e,i){this.foldData=e,Array.isArray(i)?this.folds=i:i=this.folds=[i];var n=i[i.length-1];this.range=new t(i[0].start.row,i[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach((function(e){e.setFoldLine(this)}),this)}(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach((function(t){t.start.row+=e,t.end.row+=e}))},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort((function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)})),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,i){var n,s,o=0,r=this.folds,a=!0;null==t&&(t=this.end.row,i=this.end.column);for(var c=0;c0)){var c=t(e,r.start);return 0===a?i&&0!==c?-o-2:o:c>0||0===c&&!i?o:-o-1}}return-o-1},this.add=function(e){var t=!e.isEmpty(),i=this.pointIndex(e.start,t);i<0&&(i=-i-1);var n=this.pointIndex(e.end,t,i);return n<0?n=-n-1:n++,this.ranges.splice(i,n-i,e)},this.addList=function(e){for(var t=[],i=e.length;i--;)t.push.apply(t,this.add(e[i]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){for(var e,i=[],n=this.ranges,s=(n=n.sort((function(e,i){return t(e.start,i.start)})))[0],o=1;o=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var i=this.ranges;if(i[0].start.row>t||i[i.length-1].start.row=n)break}if("insert"==e.action)for(var c=s-n,l=-t.column+i.column;rn)break;if(h.start.row==n&&h.start.column>=t.column&&(h.start.column==t.column&&this.$bias<=0||(h.start.column+=l,h.start.row+=c)),h.end.row==n&&h.end.column>=t.column){if(h.end.column==t.column&&this.$bias<0)continue;h.end.column==t.column&&l>0&&rh.start.column&&h.end.column==o[r+1].start.column&&(h.end.column-=l),h.end.column+=l,h.end.row+=c}}else for(c=n-s,l=t.column-i.column;rs)break;h.end.rowt.column)&&(h.end.column=t.column,h.end.row=t.row):(h.end.column+=l,h.end.row+=c):h.end.row>s&&(h.end.row+=c),h.start.rowt.column)&&(h.start.column=t.column,h.start.row=t.row):(h.start.column+=l,h.start.row+=c):h.start.row>s&&(h.start.row+=c)}if(0!=c&&r=e)return s;if(s.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var i=this.$foldData,n=0;for(t&&(n=i.indexOf(t)),-1==n&&(n=0);n=e)return s}return null},this.getFoldedRowCount=function(e,t){for(var i=this.$foldData,n=t-e+1,s=0;s=t){a=e?n-=t-a:n=0);break}r>=e&&(n-=a>=e?r-a:r-e+1)}return n},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort((function(e,t){return e.start.row-t.start.row})),e},this.addFold=function(e,t){var s,o=this.$foldData,r=!1;e instanceof n?s=e:(s=new n(t,e)).collapseChildren=t.collapseChildren,this.$clipRangeToDocument(s.range);var a=s.start.row,c=s.start.column,l=s.end.row,h=s.end.column,d=this.getFoldAt(a,c,1),u=this.getFoldAt(l,h,-1);if(d&&u==d)return d.addSubFold(s);d&&!d.range.isStart(a,c)&&this.removeFold(d),u&&!u.range.isEnd(l,h)&&this.removeFold(u);var f=this.getFoldsInRange(s.range);f.length>0&&(this.removeFolds(f),s.collapseChildren||f.forEach((function(e){s.addSubFold(e)})));for(var g=0;g0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach((function(e){this.expandFold(e)}),this)},this.unfold=function(e,i){var n,s;if(null==e?(n=new t(0,0,this.getLength(),0),null==i&&(i=!0)):n="number"==typeof e?new t(e,0,e,this.getLine(e).length):"row"in e?t.fromPoints(e,e):e,s=this.getFoldsInRangeList(n),0!=i?this.removeFolds(s):this.expandFolds(s),s.length)return s},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var i=this.getFoldLine(e,t);return i?i.end.row:e},this.getRowFoldStart=function(e,t){var i=this.getFoldLine(e,t);return i?i.start.row:e},this.getFoldDisplayLine=function(e,t,i,n,s){null==n&&(n=e.start.row),null==s&&(s=0),null==t&&(t=e.end.row),null==i&&(i=this.getLine(t).length);var o=this.doc,r="";return e.walk((function(e,t,i,a){if(!(th)break}while(r&&c.test(r.type));r=o.stepBackward()}else r=o.getCurrentToken();return l.end.row=o.getCurrentTokenRow(),l.end.column=o.getCurrentTokenColumn()+r.value.length-2,l}},this.foldAll=function(e,t,i,n){null==i&&(i=1e5);var s=this.foldWidgets;if(s){t=t||this.getLength();for(var o=e=e||0;o=e&&(o=r.end.row,r.collapseChildren=i,this.addFold("...",r))}}},this.foldToLevel=function(e){for(this.foldAll();e-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var e=this;this.foldAll(null,null,null,(function(t){for(var i=e.getTokens(t),n=0;n=0;){var o=i[s];if(null==o&&(o=i[s]=this.getFoldWidget(s)),"start"==o){var r=this.getFoldWidgetRange(s);if(n||(n=r),r&&r.end.row>=e)break}s--}return{range:-1!==s&&r,firstRange:n}},this.onFoldWidgetClick=function(e,t){var i={children:(t=t.domEvent).shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};if(!this.$toggleFoldWidget(e,i)){var n=t.target||t.srcElement;n&&/ace_fold-widget/.test(n.className)&&(n.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var i=this.getFoldWidget(e),n=this.getLine(e),s="end"===i?-1:1,o=this.getFoldAt(e,-1===s?0:n.length,s);if(o)return t.children||t.all?this.removeFold(o):this.expandFold(o),o;var r=this.getFoldWidgetRange(e,!0);if(r&&!r.isMultiLine()&&(o=this.getFoldAt(r.start.row,r.start.column,1))&&r.isEqual(o.range))return this.removeFold(o),o;if(t.siblings){var a=this.getParentFoldRangeData(e);if(a.range)var c=a.range.start.row+1,l=a.range.end.row;this.foldAll(c,l,t.all?1e4:0)}else t.children?(l=r?r.end.row:this.getLength(),this.foldAll(e+1,l,t.all?1e4:0)):r&&(t.all&&(r.collapseChildren=1e4),this.addFold("...",r));return r}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var i=this.$toggleFoldWidget(t,{});if(!i){var n=this.getParentFoldRangeData(t,!0);if(i=n.range||n.firstRange){t=i.start.row;var s=this.getFoldAt(t,this.getLine(t).length,1);s?this.removeFold(s):this.addFold("...",i)}}},this.updateFoldWidgets=function(e){var t=e.start.row,i=e.end.row-t;if(0===i)this.foldWidgets[t]=null;else if("remove"==e.action)this.foldWidgets.splice(t,i+1,null);else{var n=Array(i+1);n.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,n)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}})),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],(function(require,exports,e){"use strict";var t=require("../token_iterator").TokenIterator,i=require("../range").Range;exports.BracketMatch=function(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var i=t||this.getLine(e.row).charAt(e.column-1);if(""==i)return null;var n=i.match(/([\(\[\{])|([\)\]\}])/);return n?n[1]?this.$findClosingBracket(n[1],e):this.$findOpeningBracket(n[2],e):null},this.getBracketRange=function(e){var t,n=this.getLine(e.row),s=!0,o=n.charAt(e.column-1),r=o&&o.match(/([\(\[\{])|([\)\]\}])/);if(r||(o=n.charAt(e.column),e={row:e.row,column:e.column+1},r=o&&o.match(/([\(\[\{])|([\)\]\}])/),s=!1),!r)return null;if(r[1]){if(!(a=this.$findClosingBracket(r[1],e)))return null;t=i.fromPoints(e,a),s||(t.end.column++,t.start.column--),t.cursor=t.end}else{var a;if(!(a=this.$findOpeningBracket(r[2],e)))return null;t=i.fromPoints(a,e),s||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.getMatchingBracketRanges=function(e){var t=this.getLine(e.row),n=t.charAt(e.column-1),s=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(s||(n=t.charAt(e.column),e={row:e.row,column:e.column+1},s=n&&n.match(/([\(\[\{])|([\)\]\}])/)),!s)return null;var o=new i(e.row,e.column-1,e.row,e.column),r=s[1]?this.$findClosingBracket(s[1],e):this.$findOpeningBracket(s[2],e);return r?[o,new i(r.row,r.column,r.row,r.column+1)]:[o]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,i,n){var s=this.$brackets[e],o=1,r=new t(this,i.row,i.column),a=r.getCurrentToken();if(a||(a=r.stepForward()),a){n||(n=new RegExp("(\\.?"+a.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));for(var c=i.column-r.getCurrentTokenColumn()-2,l=a.value;;){for(;c>=0;){var h=l.charAt(c);if(h==s){if(0==(o-=1))return{row:r.getCurrentTokenRow(),column:c+r.getCurrentTokenColumn()}}else h==e&&(o+=1);c-=1}do{a=r.stepBackward()}while(a&&!n.test(a.type));if(null==a)break;c=(l=a.value).length-1}return null}},this.$findClosingBracket=function(e,i,n){var s=this.$brackets[e],o=1,r=new t(this,i.row,i.column),a=r.getCurrentToken();if(a||(a=r.stepForward()),a){n||(n=new RegExp("(\\.?"+a.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));for(var c=i.column-r.getCurrentTokenColumn();;){for(var l=a.value,h=l.length;ci&&(this.$docRowCache.splice(i,t),this.$screenRowCache.splice(i,t))},this.$getRowCacheIndex=function(e,t){for(var i=0,n=e.length-1;i<=n;){var s=i+n>>1,o=e[s];if(t>o)i=s+1;else{if(!(t=t);o++);return(i=n[o])?(i.index=o,i.start=s-i.value.length,i):null},this.setUndoManager=function(e){if(this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):"\t"},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize==0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(n=!!i.charAt(t-1).match(this.tokenRe)),n||(n=!!i.charAt(t).match(this.tokenRe)),n)var s=this.tokenRe;else if(/^\s+$/.test(i.slice(t-1,t+1)))s=/\s/;else s=this.nonTokenRe;var o=t;if(o>0){do{o--}while(o>=0&&i.charAt(o).match(s));o++}for(var r=t;re&&(e=t.screenWidth)})),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),i=this.$rowLengthCache,n=0,s=0,o=this.$foldData[s],r=o?o.start.row:1/0,a=t.length,c=0;cr){if((c=o.end.row+1)>=a)break;r=(o=this.$foldData[s++])?o.start.row:1/0}null==i[c]&&(i[c]=this.$getStringScreenWidth(t[c])[0]),i[c]>n&&(n=i[c])}this.screenWidth=n}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=e.length-1;-1!=i;i--){var n=e[i];"insert"==n.action||"remove"==n.action?this.doc.revertDelta(n):n.folds&&this.addFolds(n.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=0;ie.end.column&&(o.start.column+=h),o.end.row==e.end.row&&o.end.column>e.end.column&&(o.end.column+=h)),r&&o.start.row>=e.end.row&&(o.start.row+=r,o.end.row+=r)}if(o.end=this.insert(o.start,n),s.length){var a=e.start,l=o.start,h=(r=l.row-a.row,l.column-a.column);this.addFolds(s.map((function(e){return(e=e.clone()).start.row==a.row&&(e.start.column+=h),e.end.row==a.row&&(e.end.column+=h),e.start.row+=r,e.end.row+=r,e})))}return o},this.indentRows=function(e,t,i){i=i.replace(/\t/g,this.getTabString());for(var n=e;n<=t;n++)this.doc.insertInLine({row:n,column:0},i)},this.outdentRows=function(e){for(var t=e.collapseRows(),i=new c(0,0,0,0),n=this.getTabSize(),s=t.start.row;s<=t.end.row;++s){var o=this.getLine(s);i.start.row=s,i.end.row=s;for(var r=0;r0){var s;if((s=this.getRowFoldEnd(t+i))>this.doc.getLength()-1)return 0;n=s-t}else{e=this.$clipRowToDocument(e);n=(t=this.$clipRowToDocument(t))-e+1}var o=new c(e,0,t,Number.MAX_VALUE),r=this.getFoldsInRange(o).map((function(e){return(e=e.clone()).start.row+=n,e.end.row+=n,e})),a=0==i?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+n,a),r.length&&this.addFolds(r),n},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)e=0,t=0;else{var i=this.doc.getLength();e>=i?(e=i-1,t=this.doc.getLine(i-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var i=this.$wrapLimitRange;i.max<0&&(i={min:t,max:t});var n=this.$constrainWrapLimit(e,i.min,i.max);return n!=this.$wrapLimit&&n>1&&(this.$wrapLimit=n,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},this.$constrainWrapLimit=function(e,t,i){return t&&(e=Math.max(t,e)),i&&(e=Math.min(i,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,i=e.action,n=e.start,s=e.end,o=n.row,r=s.row,a=r-o,c=null;if(this.$updating=!0,0!=a)if("remove"===i){this[t?"$wrapData":"$rowLengthCache"].splice(o,a);var l=this.$foldData;c=this.getFoldsInRange(e),this.removeFolds(c);var h=0;if(p=this.getFoldLine(s.row)){p.addRemoveChars(s.row,s.column,n.column-s.column),p.shiftRow(-a);var d=this.getFoldLine(o);d&&d!==p&&(d.merge(p),p=d),h=l.indexOf(p)+1}for(;h=s.row&&p.shiftRow(-a)}r=o}else{var u=Array(a);u.unshift(o,0);var f=t?this.$wrapData:this.$rowLengthCache;f.splice.apply(f,u);l=this.$foldData,h=0;if(p=this.getFoldLine(o)){var g=p.range.compareInside(n.row,n.column);0==g?(p=p.split(n.row,n.column))&&(p.shiftRow(a),p.addRemoveChars(r,0,s.column-n.column)):-1==g&&(p.addRemoveChars(o,0,s.column-n.column),p.shiftRow(a)),h=l.indexOf(p)+1}for(;h=o&&p.shiftRow(a)}}else a=Math.abs(e.start.column-e.end.column),"remove"===i&&(c=this.getFoldsInRange(e),this.removeFolds(c),a=-a),(p=this.getFoldLine(o))&&p.addRemoveChars(o,n.column,a);return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(o,r):this.$updateRowLengthCache(o,r),c},this.$updateRowLengthCache=function(e,t,i){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(t,i){var s,o,r=this.doc.getAllLines(),a=this.getTabSize(),c=this.$wrapData,l=this.$wrapLimit,h=t;for(i=Math.min(i,r.length-1);h<=i;)(o=this.getFoldLine(h,o))?(s=[],o.walk(function(t,i,o,a){var c;if(null!=t){(c=this.$getDisplayTokens(t,s.length))[0]=e;for(var l=1;l=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510)}this.$computeWrapSplits=function(t,i,s){if(0==t.length)return[];var o=[],r=t.length,a=0,c=0,l=this.$wrapAsCode,h=this.$indentedSoftWrap,d=i<=Math.max(2*s,8)||!1===h?0:Math.floor(i/2);function u(e){for(var i=e-a,n=a;ni-f;){var g=a+i-f;if(t[g-1]>=10&&t[g]>=10)u(g);else if(t[g]!=e&&t[g]!=n){for(var p=Math.max(g-(i-(i>>2)),a-1);g>p&&t[g]p&&t[g]p&&9==t[g];)g--}else for(;g>p&&t[g]<10;)g--;g>p?u(++g):(2==t[g=a+i]&&g--,u(g-f))}else{for(;g!=a-1&&t[g]!=e;g--);if(g>a){u(g);continue}for(g=a+i;g39&&o<48||o>57&&o<64?n.push(9):o>=4352&&r(o)?n.push(1,2):n.push(1)}return n},this.$getStringScreenWidth=function(e,t,i){if(0==t)return[0,0];var n,s;for(null==t&&(t=1/0),i=i||0,s=0;s=4352&&r(n)?i+=2:i+=1,!(i>t));s++);return[i,s]},this.lineWidgets=null,this.getRowLength=function(e){var t=1;return this.lineWidgets&&(t+=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0),this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+t:t},this.getRowLineCount=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),i=this.$wrapData[t.row];return i.length&&i[0]=0){a=l[h],o=this.$docRowCache[h];var u=e>l[d-1]}else u=!d;for(var f=this.getLength()-1,g=this.getNextFoldLine(o),p=g?g.start.row:1/0;a<=e&&!(a+(c=this.getRowLength(o))>e||o>=f);)a+=c,++o>p&&(o=g.end.row+1,p=(g=this.getNextFoldLine(o,g))?g.start.row:1/0),u&&(this.$docRowCache.push(o),this.$screenRowCache.push(a));if(g&&g.start.row<=o)n=this.getFoldDisplayLine(g),o=g.start.row;else{if(a+c<=e||o>f)return{row:f,column:this.getLine(f).length};n=this.getLine(o),g=null}var m=0,b=Math.floor(e-a);if(this.$useWrapMode){var v=this.$wrapData[o];v&&(s=v[b],b>0&&v.length&&(m=v.indent,r=v[b-1]||v[v.length-1],n=n.substring(r)))}return void 0!==i&&this.$bidiHandler.isBidiRow(a+b,o,b)&&(t=this.$bidiHandler.offsetToCol(i)),r+=this.$getStringScreenWidth(n,t-m)[1],this.$useWrapMode&&r>=s&&(r=s-1),g?g.idxToPosition(r):{row:o,column:r}},this.documentToScreenPosition=function(e,t){if(void 0===t)var i=this.$clipPositionToDocument(e.row,e.column);else i=this.$clipPositionToDocument(e,t);e=i.row,t=i.column;var n,s=0,o=null;(n=this.getFoldAt(e,t,1))&&(e=n.start.row,t=n.start.column);var r,a=0,c=this.$docRowCache,l=this.$getRowCacheIndex(c,e),h=c.length;if(h&&l>=0){a=c[l],s=this.$screenRowCache[l];var d=e>c[h-1]}else d=!h;for(var u=this.getNextFoldLine(a),f=u?u.start.row:1/0;a=f){if((r=u.end.row+1)>e)break;f=(u=this.getNextFoldLine(r,u))?u.start.row:1/0}else r=a+1;s+=this.getRowLength(a),a=r,d&&(this.$docRowCache.push(a),this.$screenRowCache.push(s))}var g="";u&&a>=f?(g=this.getFoldDisplayLine(u,e,t),o=u.start.row):(g=this.getLine(e).substring(0,t),o=e);var p=0;if(this.$useWrapMode){var m=this.$wrapData[o];if(m){for(var b=0;g.length>=m[b];)s++,b++;g=g.substring(m[b-1]||0,g.length),p=b>0?m.indent:0}}return this.lineWidgets&&this.lineWidgets[a]&&this.lineWidgets[a].rowsAbove&&(s+=this.lineWidgets[a].rowsAbove),{row:s,column:p+this.$getStringScreenWidth(g)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var i=this.$wrapData.length,n=0,s=(a=0,(t=this.$foldData[a++])?t.start.row:1/0);ns&&(n=t.end.row+1,s=(t=this.$foldData[a++])?t.start.row:1/0)}else{e=this.getLength();for(var r=this.$foldData,a=0;ai);o++);return[n,o]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker(),this.removeAllListeners(),this.selection.detach()},this.isFullWidth=r}.call(u.prototype),require("./edit_session/folding").Folding.call(u.prototype),require("./edit_session/bracket_match").BracketMatch.call(u.prototype),s.defineOptions(u.prototype,"session",{wrap:{set:function(e){if(e&&"off"!=e?"free"==e?e=!0:"printMargin"==e?e=-1:"string"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e)if(this.$wrap=e,e){var t="number"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){(e="auto"==e?"text"!=this.$mode.type:"text"!=e)!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){(e=parseInt(e))>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),exports.EditSession=u})),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(require,exports,e){"use strict";var t=require("./lib/lang"),i=require("./lib/oop"),n=require("./range").Range,s=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return t.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,i=this.$matchIterator(e,t);if(!i)return!1;var s=null;return i.forEach((function(e,i,o,r){return s=new n(e,i,o,r),!(i==r&&t.start&&t.start.start&&0!=t.skipCurrent&&s.isEqual(t.start))||(s=null,!1)})),s},this.findAll=function(e){var i=this.$options;if(!i.needle)return[];this.$assembleRegExp(i);var s=i.range,o=s?e.getLines(s.start.row,s.end.row):e.doc.getAllLines(),r=[],a=i.re;if(i.$isMultiLine){var c,l=a.length,h=o.length-l;e:for(var d=a.offset||0;d<=h;d++){for(var u=0;up||(r.push(c=new n(d,p,d+l-1,m)),l>2&&(d=d+l-2))}}else for(var b=0;bx&&r[u].end.row==s.end.row;)u--;for(r=r.slice(b,u+1),b=0,u=r.length;b=a;i--)if(d(i,Number.MAX_VALUE,e))return;if(0!=t.wrap)for(i=c,a=r.row;i>=a;i--)if(d(i,Number.MAX_VALUE,e))return}};else l=function(e){var i=r.row;if(!d(i,r.column,e)){for(i+=1;i<=c;i++)if(d(i,0,e))return;if(0!=t.wrap)for(i=a,c=r.row;i<=c;i++)if(d(i,0,e))return}};if(t.$isMultiLine)var h=i.length,d=function(t,s,o){var r=n?t-h+1:t;if(!(r<0)){var a=e.getLine(r),c=a.search(i[0]);if(!(!n&&cs))return!!o(r,c,r+h-1,d)||void 0}}};else if(n)d=function(t,n,s){var o,r=e.getLine(t),a=[],c=0;for(i.lastIndex=0;o=i.exec(r);){var l=o[0].length;if(c=o.index,!l){if(c>=r.length)break;i.lastIndex=c+=1}if(o.index+l>n)break;a.push(o.index,l)}for(var h=a.length-1;h>=0;h-=2){var d=a[h-1];if(s(t,d,t,d+(l=a[h])))return!0}};else d=function(t,n,s){var o,r,a=e.getLine(t);for(i.lastIndex=n;r=i.exec(a);){var c=r[0].length;if(s(t,o=r.index,t,o+c))return!0;if(!c&&(i.lastIndex=o+=1,o>=a.length))return!1}};return{forEach:l}}}).call(s.prototype),exports.Search=s})),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(require,exports,e){"use strict";var t=require("../lib/keys"),i=require("../lib/useragent"),n=t.KEY_MODS;function s(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function o(e,t){s.call(this,e,t),this.$singleCommand=!1}o.prototype=s.prototype,function(){function e(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var i=e&&("string"==typeof e?e:e.name);e=this.commands[i],t||delete this.commands[i];var n=this.commandKeyBinding;for(var s in n){var o=n[s];if(o==e)delete n[s];else if(Array.isArray(o)){var r=o.indexOf(e);-1!=r&&(o.splice(r,1),1==o.length&&(n[s]=o[0]))}}},this.bindKey=function(e,t,i){if("object"==typeof e&&e&&(null==i&&(i=e.position),e=e[this.platform]),e)return"function"==typeof t?this.addCommand({exec:t,bindKey:e,name:t.name||e}):void e.split("|").forEach((function(e){var s="";if(-1!=e.indexOf(" ")){var o=e.split(/\s+/);e=o.pop(),o.forEach((function(e){var t=this.parseKeys(e),i=n[t.hashId]+t.key;s+=(s?" ":"")+i,this._addCommandToBinding(s,"chainKeys")}),this),s+=" "}var r=this.parseKeys(e),a=n[r.hashId]+r.key;this._addCommandToBinding(s+a,t,i)}),this)},this._addCommandToBinding=function(t,i,n){var s,o=this.commandKeyBinding;if(i)if(!o[t]||this.$singleCommand)o[t]=i;else{Array.isArray(o[t])?-1!=(s=o[t].indexOf(i))&&o[t].splice(s,1):o[t]=[o[t]],"number"!=typeof n&&(n=e(i));var r=o[t];for(s=0;sn)break}r.splice(s,0,i)}else delete o[t]},this.addCommands=function(e){e&&Object.keys(e).forEach((function(t){var i=e[t];if(i){if("string"==typeof i)return this.bindKey(i,t);"function"==typeof i&&(i={exec:i}),"object"==typeof i&&(i.name||(i.name=t),this.addCommand(i))}}),this)},this.removeCommands=function(e){Object.keys(e).forEach((function(t){this.removeCommand(e[t])}),this)},this.bindKeys=function(e){Object.keys(e).forEach((function(t){this.bindKey(t,e[t])}),this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var i=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter((function(e){return e})),n=i.pop(),s=t[n];if(t.FUNCTION_KEYS[s])n=t.FUNCTION_KEYS[s].toLowerCase();else{if(!i.length)return{key:n,hashId:-1};if(1==i.length&&"shift"==i[0])return{key:n.toUpperCase(),hashId:-1}}for(var o=0,r=i.length;r--;){var a=t.KEY_MODS[i[r]];if(null==a)return"undefined"!=typeof console&&console.error("invalid modifier "+i[r]+" in "+e),!1;o|=a}return{key:n,hashId:o}},this.findKeyCommand=function(e,t){var i=n[e]+t;return this.commandKeyBinding[i]},this.handleKeyboard=function(e,t,i,s){if(!(s<0)){var o=n[t]+i,r=this.commandKeyBinding[o];return e.$keyChain&&(e.$keyChain+=" "+o,r=this.commandKeyBinding[e.$keyChain]||r),!r||"chainKeys"!=r&&"chainKeys"!=r[r.length-1]?(e.$keyChain&&(t&&4!=t||1!=i.length?(-1==t||s>0)&&(e.$keyChain=""):e.$keyChain=e.$keyChain.slice(0,-o.length-1)),{command:r}):(e.$keyChain=e.$keyChain||o,{command:"null"})}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(s.prototype),exports.HashHandler=s,exports.MultiHashHandler=o})),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],(function(require,exports,e){"use strict";var t=require("../lib/oop"),i=require("../keyboard/hash_handler").MultiHashHandler,n=require("../lib/event_emitter").EventEmitter,s=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",(function(e){return e.command.exec(e.editor,e.args||{})}))};t.inherits(s,i),function(){t.implement(this,n),this.exec=function(e,t,i){if(Array.isArray(e)){for(var n=e.length;n--;)if(this.exec(e[n],t,i))return!0;return!1}if("string"==typeof e&&(e=this.commands[e]),!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(0!=this.$checkCommandState&&e.isAvailable&&!e.isAvailable(t))return!1;var s={editor:t,command:e,args:i};return s.returnValue=this._emit("exec",s),this._signal("afterExec",s),!1!==s.returnValue},this.toggleRecording=function(e){if(!this.$inReplay)return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach((function(t){"string"==typeof t?this.exec(t,e):this.exec(t[0],e,t[1])}),this)}finally{this.$inReplay=!1}}},this.trimMacro=function(e){return e.map((function(e){return"string"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e}))}}.call(s.prototype),exports.CommandManager=s})),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],(function(require,exports,e){"use strict";var t=require("../lib/lang"),i=require("../config"),n=require("../range").Range;function s(e,t){return{win:e,mac:t}}exports.commands=[{name:"showSettingsMenu",bindKey:s("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",(function(t){t.init(e),e.showSettingsMenu()}))},readOnly:!0},{name:"goToNextError",bindKey:s("Alt-E","F4"),exec:function(e){i.loadModule("./ext/error_marker",(function(t){t.showErrorMarker(e,1)}))},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:s("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("./ext/error_marker",(function(t){t.showErrorMarker(e,-1)}))},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:s("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:s(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:s("Ctrl-L","Command-L"),exec:function(e,t){"number"!=typeof t||isNaN(t)||e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:s("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:s("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:s("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:s("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:s("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:s("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:s("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:s("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:s("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:s("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:s("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",(function(t){t.Search(e)}))},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:s("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:s("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:s("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:s("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:s("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:s("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:s("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:s("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:s("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:s("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:s("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:s("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:s("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:s("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:s("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:s("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:s("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:s("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:s("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:s("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:s(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:s("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:s(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:s("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:s("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:s("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:s("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:s("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:s("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:s("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:s(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty()?e.selection.getLineRange():e.selection.getRange();e._emit("cut",t),t.isEmpty()||e.session.remove(t),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:s("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:s("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:s("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:s("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:s("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:s("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:s("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:s("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",(function(t){t.Search(e,!0)}))}},{name:"undo",description:"Undo",bindKey:s("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:s("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:s("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:s("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:s("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:s("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:s("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:s("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:s("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:s("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:s("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:s("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:s("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:s("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:s("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:s("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:s("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:s("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:s("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,i){e.insert(t.stringRepeat(i.text||"",i.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:s(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:s("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:s("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:s("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:s(null,null),exec:function(e){e.autoIndent()},multiSelectAction:"forEachLine",scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:s("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",description:"Join lines",bindKey:s(null,null),exec:function(e){for(var i=e.selection.isBackwards(),s=i?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),o=i?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),r=e.session.doc.getLine(s.row).length,a=e.session.doc.getTextRange(e.selection.getRange()).replace(/\n\s*/," ").length,c=e.session.doc.getLine(s.row),l=s.row+1;l<=o.row+1;l++){var h=t.stringTrimLeft(t.stringTrimRight(e.session.doc.getLine(l)));0!==h.length&&(h=" "+h),c+=h}o.row+10?(e.selection.moveCursorTo(s.row,s.column),e.selection.selectTo(s.row,s.column+a)):(r=e.session.doc.getLine(s.row).length>r?r+1:r,e.selection.moveCursorTo(s.row,r))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:s(null,null),exec:function(e){var t=e.session.doc.getLength()-1,i=e.session.doc.getLine(t).length,s=e.selection.rangeList.ranges,o=[];s.length<1&&(s=[e.selection.getRange()]);for(var r=0;r=s.lastRow||n.end.row<=s.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==i&&this.renderer.animateScrolling(this.curOp.scrollTop)}var o=this.selection.toJSON();this.curOp.selectionAfter=o,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(o),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,i=this.$mergeableCommands,n=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var s=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),n=n&&this.mergeNextCommand&&(!/\s/.test(s)||/\s/.test(t.args)),this.mergeNextCommand=!0}else n=n&&-1!==i.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(n=!1),n?this.session.mergeUndoDeltas=!0:-1!==i.indexOf(e.command.name)&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(e,t){if(e&&"string"==typeof e&&"ace"!=e){this.$keybindingId=e;var i=this;p.loadModule(["keybinding",e],(function(n){i.$keybindingId==e&&i.keyBinding.setKeyboardHandler(n&&n.handler),t&&t()}))}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session!=e){this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var i=this.session.getSelection();i.off("changeCursor",this.$onCursorChange),i.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()}},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():-1==t&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container).fontSize},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){if(!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout((function(){e.$highlightPending=!1;var t=e.session;if(t&&t.bgTokenizer){t.$bracketHighlight&&(t.$bracketHighlight.markerIds.forEach((function(e){t.removeMarker(e)})),t.$bracketHighlight=null);var i=t.getMatchingBracketRanges(e.getCursorPosition());if(!i&&t.$mode.getMatching&&(i=t.$mode.getMatching(e.session)),i){var n="ace_bracket";Array.isArray(i)?1==i.length&&(n="ace_error_bracket"):i=[i],2==i.length&&(0==d.comparePoints(i[0].end,i[1].start)?i=[d.fromPoints(i[0].start,i[1].end)]:0==d.comparePoints(i[0].start,i[1].end)&&(i=[d.fromPoints(i[1].start,i[0].end)])),t.$bracketHighlight={ranges:i,markerIds:i.map((function(e){return t.addMarker(e,n,"text")}))}}}}),50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){var e=this;this.$highlightTagPending=!0,setTimeout((function(){e.$highlightTagPending=!1;var t=e.session;if(t&&t.bgTokenizer){var i=e.getCursorPosition(),n=new m(e.session,i.row,i.column),s=n.getCurrentToken();if(!s||!/\b(?:tag-open|tag-name)/.test(s.type))return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);if(-1===s.type.indexOf("tag-open")||(s=n.stepForward())){var o=s.value,r=s.value,a=0,c=n.stepBackward();if("<"===c.value)do{c=s,(s=n.stepForward())&&(-1!==s.type.indexOf("tag-name")?o===(r=s.value)&&("<"===c.value?a++:""===s.value&&a--)}while(s&&a>=0);else{do{if(s=c,c=n.stepBackward(),s)if(-1!==s.type.indexOf("tag-name"))o===s.value&&("<"===c.value?a++:""===s.value){for(var l=0,h=c;h;){if(-1!==h.type.indexOf("tag-name")&&h.value===o){a--;break}if("<"===h.value)break;h=n.stepBackward(),l++}for(var u=0;u1||(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var i=new d(e.row,e.column,e.row,1/0);i.id=t.addMarker(i,"ace_active-line","screenLine"),t.$highlightLineMarker=i}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;if(t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var i=this.selection.getRange(),n=this.getSelectionStyle();t.$selectionMarker=t.addMarker(i,"ace_selection",n)}var s=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(s),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!t.isEmpty()&&!t.isMultiLine()){var i=t.start.column,n=t.end.column,s=e.getLine(t.start.row),o=s.substring(i,n);if(!(o.length>5e3)&&/[\w\d]/.test(o)){var r=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o}),a=s.substring(i-1,n+1);if(r.test(a))return r}}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),i=!1;if(!e&&this.$copyWithEmptySelection){i=!0;for(var n=this.selection.getAllRanges(),s=0;sa.search(/\S|$/)){var c=a.substr(s.column).search(/\S|$/);i.doc.removeInLine(s.row,s.column,s.column+c)}}this.clearSelection();var l=s.column,h=i.getState(s.row),u=(a=i.getLine(s.row),n.checkOutdent(h,a,e));if(i.insert(s,e),o&&o.selection&&(2==o.selection.length?this.selection.setSelectionRange(new d(s.row,l+o.selection[0],s.row,l+o.selection[1])):this.selection.setSelectionRange(new d(s.row+o.selection[0],o.selection[1],s.row+o.selection[2],o.selection[3]))),this.$enableAutoIndent){if(i.getDocument().isNewLine(e)){var f=n.getNextLineIndent(h,a.slice(0,s.column),i.getTabString());i.insert({row:s.row+1,column:0},f)}u&&n.autoOutdent(h,i,s.row)}},this.autoIndent=function(){var e,t,i=this.session,n=i.getMode();if(this.selection.isEmpty())e=0,t=i.doc.getLength()-1;else{var s=this.getSelectionRange();e=s.start.row,t=s.end.row}for(var o,r,a,c="",l="",h="",u=i.getTabString(),f=e;f<=t;f++)f>0&&(c=i.getState(f-1),l=i.getLine(f-1),h=n.getNextLineIndent(c,l,u)),o=i.getLine(f),h!==(r=n.$getIndent(o))&&(r.length>0&&(a=new d(f,0,f,r.length),i.remove(a)),h.length>0&&i.insert({row:f,column:0},h)),n.autoOutdent(c,i,f)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var i=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(i):i(),this.endOperation()},this.applyComposition=function(e,t){var i;(t.extendLeft||t.extendRight)&&((i=this.selection.getRange()).start.column-=t.extendLeft,i.end.column+=t.extendRight,i.start.column<0&&(i.start.row--,i.start.column+=this.session.getLine(i.start.row).length+1),this.selection.setRange(i),e||i.isEmpty()||this.remove());(!e&&this.selection.isEmpty()||this.insert(e,!0),t.restoreStart||t.restoreEnd)&&((i=this.selection.getRange()).start.column-=t.restoreStart,i.end.column-=t.restoreEnd,this.selection.setRange(i))},this.onCommandKey=function(e,t,i){return this.keyBinding.onCommandKey(e,t,i)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var i=this.session,n=i.getState(t.start.row),s=i.getMode().transformAction(n,"deletion",this,i,t);if(0===t.end.column){var o=i.getTextRange(t);if("\n"==o[o.length-1]){var r=i.getLine(t.end.row);/^\s+$/.test(r)&&(t.end.column=r.length)}}s&&(t=s)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var i,n,s=this.session.getLine(e.row);tt.toLowerCase()?1:0}));var s=new d(0,0,0,0);for(n=e.first;n<=e.last;n++){var o=t.getLine(n);s.start.row=n,s.end.row=n,s.end.column=o.length,t.replace(s,i[n-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),i=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,i,e)},this.getNumberAt=function(e,t){var i=/[\-]?[0-9]+(?:\.[0-9]+)?/g;i.lastIndex=0;for(var n=this.session.getLine(e);i.lastIndex=t)return{value:s[0],start:s.index,end:s.index+s[0].length}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,i=this.selection.getCursor().column,n=new d(t,i-1,t,i),s=this.session.getTextRange(n);if(!isNaN(parseFloat(s))&&isFinite(s)){var o=this.getNumberAt(t,i);if(o){var r=o.value.indexOf(".")>=0?o.start+o.value.indexOf(".")+1:o.end,a=o.start+o.value.length-r,c=parseFloat(o.value);c*=Math.pow(10,a),r!==o.end&&i=a&&r<=c&&(i=t,l.selection.clearSelection(),l.moveCursorTo(e,a+s),l.selection.selectTo(e,c+s)),a=c}));for(var h,d=this.$toggleWordPairs,u=0;uf+1)break;f=g.last}for(h--,a=this.session.$moveLines(u,f,t?0:e),t&&-1==e&&(d=h+1);d<=h;)r[d].moveBy(a,0),d++;t||(a=0),c+=a}s.fromOrientedRange(s.ranges[0]),s.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var i=this.renderer,n=this.renderer.layerConfig,s=e*Math.floor(n.height/n.lineHeight);!0===t?this.selection.$moveSelection((function(){this.moveCursorBy(s,0)})):!1===t&&(this.selection.moveCursorBy(s,0),this.selection.clearSelection());var o=i.scrollTop;i.scrollBy(0,s*n.lineHeight),null!=t&&i.scrollCursorIntoView(null,.5),i.animateScrolling(o)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,i,n){this.renderer.scrollToLine(e,t,i,n)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var i=this.getCursorPosition(),n=new m(this.session,i.row,i.column),s=n.getCurrentToken(),o=s||n.stepForward();if(o){var r,a,c=!1,l={},h=i.column-o.start,u={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g)){for(;h=0;--o)this.$tryReplace(i[o],e)&&n++;return this.selection.setSelectionRange(s),n},this.$tryReplace=function(e,t){var i=this.session.getTextRange(e);return null!==(t=this.$search.replace(i,t))?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,i,n){i||(i={}),"string"==typeof e||e instanceof RegExp?i.needle=e:"object"==typeof e&&t.mixin(i,e);var s=this.selection.getRange();null==i.needle&&((e=this.session.getTextRange(s)||this.$search.$options.needle)||(s=this.session.getWordRange(s.start.row,s.start.column),e=this.session.getTextRange(s)),this.$search.set({needle:e})),this.$search.set(i),i.start||this.$search.set({start:s});var o=this.$search.find(this.session);return i.preventScroll?o:o?(this.revealRange(o,n),o):(i.backwards?s.start=s.end:s.end=s.start,void this.selection.setRange(s))},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var i=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),!1!==t&&this.renderer.animateScrolling(i)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach((function(e){e.destroy()})),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},this.setAutoScrollEditorIntoView=function(e){if(e){var t,i=this,n=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var s=this.$scrollAnchor;s.style.cssText="position:absolute",this.container.insertBefore(s,this.container.firstChild);var o=this.on("changeSelection",(function(){n=!0})),r=this.renderer.on("beforeRender",(function(){n&&(t=i.renderer.container.getBoundingClientRect())})),a=this.renderer.on("afterRender",(function(){if(n&&t&&(i.isFocused()||i.searchBox&&i.searchBox.isFocused())){var e=i.renderer,o=e.$cursorLayer.$pixelPos,r=e.layerConfig,a=o.top-r.offset;null!=(n=o.top>=0&&a+t.top<0||!(o.topwindow.innerHeight)&&null)&&(s.style.top=a+"px",s.style.left=o.left+"px",s.style.height=r.lineHeight+"px",s.scrollIntoView(n)),n=t=null}}));this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",o),this.renderer.off("afterRender",a),this.renderer.off("beforeRender",r))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))},this.prompt=function(e,t,i){var n=this;p.loadModule("./ext/prompt",(function(s){s.prompt(n,e,t,i)}))}}.call(v.prototype),p.defineOptions(v.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?w.attach(this):w.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?w.attach(this):w.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var e=this.session&&(this.renderer.$composition||this.getValue());if(e&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),i.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(e||this.renderer.placeholderNode)!e&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"");else{this.renderer.on("afterRender",this.$updatePlaceholder),i.addCssClass(this.container,"ace_hasPlaceholder");var t=i.createElement("div");t.className="ace_placeholder",t.textContent=this.$placeholder||"",this.renderer.placeholderNode=t,this.renderer.content.appendChild(this.renderer.placeholderNode)}}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var w={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"·":""))+""},getWidth:function(e,t,i){return Math.max(t.toString().length,(i.lastRow+1).toString().length,2)*i.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};exports.Editor=v})),ace.define("ace/undomanager",["require","exports","module","ace/range"],(function(require,exports,e){"use strict";var t=function(){this.$maxRev=0,this.$fromUndo=!1,this.reset()};(function(){this.addSession=function(e){this.$session=e},this.add=function(e,t,i){this.$fromUndo||e!=this.$lastDelta&&(this.$keepRedoStack||(this.$redoStack.length=0),!1!==t&&this.lastDeltas||(this.lastDeltas=[],this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev),"remove"!=e.action&&"insert"!=e.action||(this.$lastDelta=e),this.lastDeltas.push(e))},this.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},this.startNewGroup=function(){return this.lastDeltas=null,this.$rev},this.markIgnored=function(e,t){null==t&&(t=this.$rev+1);for(var i=this.$undoStack,n=i.length;n--;){var s=i[n][0];if(s.id<=e)break;s.id0},this.canRedo=function(){return this.$redoStack.length>0},this.bookmark=function(e){null==e&&(e=this.$rev),this.mark=e},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark,this.$prettyPrint=function(e){return e?o(e):o(this.$undoStack)+"\n---\n"+o(this.$redoStack)}}).call(t.prototype);var i=require("./range").Range,n=i.comparePoints;i.comparePoints;function s(e){return{row:e.row,column:e.column}}function o(e){if(e=e||this,Array.isArray(e))return e.map(o).join("\n");var t="";return e.action?(t="insert"==e.action?"+":"-",t+="["+e.lines+"]"):e.value&&(t=Array.isArray(e.value)?e.value.map(r).join("\n"):r(e.value)),e.start&&(t+=r(e)),(e.id||e.rev)&&(t+="\t("+(e.id||e.rev)+")"),t}function r(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function a(e,t){var i="insert"==e.action,s="insert"==t.action;if(i&&s)if(n(t.start,e.end)>=0)h(t,e,-1);else{if(!(n(t.start,e.start)<=0))return null;h(e,t,1)}else if(i&&!s)if(n(t.start,e.end)>=0)h(t,e,-1);else{if(!(n(t.end,e.start)<=0))return null;h(e,t,-1)}else if(!i&&s)if(n(t.start,e.start)>=0)h(t,e,1);else{if(!(n(t.start,e.start)<=0))return null;h(e,t,1)}else if(!i&&!s)if(n(t.start,e.start)>=0)h(t,e,1);else{if(!(n(t.end,e.start)<=0))return null;h(e,t,-1)}return[t,e]}function c(e,t){for(var i=e.length;i--;)for(var n=0;n=0?h(e,t,-1):(n(e.start,t.start)<=0||h(e,i.fromPoints(t.start,e.start),-1),h(t,e,1));else if(!s&&o)n(t.start,e.end)>=0?h(t,e,-1):(n(t.start,e.start)<=0||h(t,i.fromPoints(e.start,t.start),-1),h(e,t,1));else if(!s&&!o)if(n(t.start,e.end)>=0)h(t,e,-1);else{var r,a;if(!(n(t.end,e.start)<=0))return n(e.start,t.start)<0&&(r=e,e=u(e,t.start)),n(e.end,t.end)>0&&(a=u(e,t.end)),d(t.end,e.start,e.end,-1),a&&!r&&(e.lines=a.lines,e.start=a.start,e.end=a.end,a=e),[t,r,a].filter(Boolean);h(e,t,-1)}return[t,e]}function h(e,t,i){d(e.start,t.start,t.end,i),d(e.end,t.start,t.end,i)}function d(e,t,i,n){e.row==(1==n?t:i).row&&(e.column+=n*(i.column-t.column)),e.row+=n*(i.row-t.row)}function u(e,t){var i=e.lines,n=e.end;e.end=s(t);var o=e.end.row-e.start.row,r=i.splice(o,i.length),a=o?t.column:t.column-e.start.column;return i.push(r[0].substring(0,a)),r[0]=r[0].substr(a),{start:s(t),end:n,lines:r,action:e.action}}function f(e,t){t=function(e){return{start:s(e.start),end:s(e.end),action:e.action,lines:e.lines.slice()}}(t);for(var i=e.length;i--;){for(var n=e[i],o=0;oo&&(l=s.end.row+1,o=(s=t.getNextFoldLine(l,s))?s.start.row:1/0),l>n){for(;this.$lines.getLength()>c+1;)this.$lines.pop();break}(r=this.$lines.get(++c))?r.row=l:(r=this.$lines.createCell(l,e,this.session,a),this.$lines.push(r)),this.$renderCell(r,e,s,l),l++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,i=t.gutterRenderer||this.$renderer,n=t.$firstLineNumber,s=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||t.$useWrapMode)&&(s=t.getLength()+n-1);var o=i?i.getWidth(t,s,e):s.toString().length*e.characterWidth,r=this.$padding||this.$computePadding();(o+=r.left+r.right)===this.gutterWidth||isNaN(o)||(this.gutterWidth=o,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",o))},this.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},this.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!this.$cursorCell||this.$cursorCell.row!=e){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var i=0;i=this.$cursorRow){if(n.row>this.$cursorRow){var s=this.session.getFoldLine(this.$cursorRow);if(!(i>0&&s&&s.start.row==t[i-1].row))break;n=t[i-1]}n.element.className="ace_gutter-active-line "+n.element.className,this.$cursorCell=n;break}}}}},this.scrollLines=function(e){var t=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var i=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),n=this.oldLastRow;if(this.oldLastRow=i,!t||n0;s--)this.$lines.shift();if(n>i)for(s=this.session.getFoldedRowCount(i+1,n);s>0;s--)this.$lines.pop();e.firstRown&&this.$lines.push(this.$renderLines(e,n+1,i)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},this.$renderLines=function(e,t,i){for(var n=[],s=t,o=this.session.getNextFoldLine(s),r=o?o.start.row:1/0;s>r&&(s=o.end.row+1,r=(o=this.session.getNextFoldLine(s,o))?o.start.row:1/0),!(s>i);){var c=this.$lines.createCell(s,e,this.session,a);this.$renderCell(c,e,o,s),n.push(c),s++}return n},this.$renderCell=function(e,i,n,s){var o=e.element,r=this.session,a=o.childNodes[0],c=o.childNodes[1],l=r.$firstLineNumber,h=r.$breakpoints,d=r.$decorations,u=r.gutterRenderer||this.$renderer,f=this.$showFoldWidgets&&r.foldWidgets,g=n?n.start.row:Number.MAX_VALUE,p="ace_gutter-cell ";if(this.$highlightGutterLine&&(s==this.$cursorRow||n&&s=g&&this.$cursorRow<=n.end.row)&&(p+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),h[s]&&(p+=h[s]),d[s]&&(p+=d[s]),this.$annotations[s]&&(p+=this.$annotations[s].className),o.className!=p&&(o.className=p),f){var m=f[s];null==m&&(m=f[s]=r.getFoldWidget(s))}if(m){p="ace_fold-widget ace_"+m;"start"==m&&s==g&&si.right-t.right?"foldWidgets":void 0}}).call(r.prototype),exports.Gutter=r})),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],(function(require,exports,e){"use strict";var t=require("../range").Range,i=require("../lib/dom"),n=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var i=-1!=this.i&&this.element.childNodes[this.i];i?this.i++:(i=document.createElement("div"),this.element.appendChild(i),this.i=-1),i.style.cssText=t,i.className=e},this.update=function(e){if(e){var t;for(var i in this.config=e,this.i=0,this.markers){var n=this.markers[i];if(n.range){var s=n.range.clipRows(e.firstRow,e.lastRow);if(!s.isEmpty())if(s=s.toScreenRange(this.session),n.renderer){var o=this.$getTop(s.start.row,e),r=this.$padding+s.start.column*e.characterWidth;n.renderer(t,s,r,o,e)}else"fullLine"==n.type?this.drawFullLineMarker(t,s,n.clazz,e):"screenLine"==n.type?this.drawScreenLineMarker(t,s,n.clazz,e):s.isMultiLine()?"text"==n.type?this.drawTextMarker(t,s,n.clazz,e):this.drawMultiLineMarker(t,s,n.clazz,e):this.drawSingleLineMarker(t,s,n.clazz+" ace_start ace_br15",e)}else n.update(t,this,this.session,e)}if(-1!=this.i)for(;this.iu?4:0)|(l==c?8:0)),s,l==c?0:1,o)},this.drawMultiLineMarker=function(e,t,i,n,s){var o=this.$padding,r=n.lineHeight,a=this.$getTop(t.start.row,n),c=o+t.start.column*n.characterWidth;(s=s||"",this.session.$bidiHandler.isBidiRow(t.start.row))?((l=t.clone()).end.row=l.start.row,l.end.column=this.session.getLine(l.start.row).length,this.drawBidiSingleLineMarker(e,l,i+" ace_br1 ace_start",n,null,s)):this.elt(i+" ace_br1 ace_start","height:"+r+"px;right:0;top:"+a+"px;left:"+c+"px;"+(s||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var l;(l=t.clone()).start.row=l.end.row,l.start.column=0,this.drawBidiSingleLineMarker(e,l,i+" ace_br12",n,null,s)}else{a=this.$getTop(t.end.row,n);var h=t.end.column*n.characterWidth;this.elt(i+" ace_br12","height:"+r+"px;width:"+h+"px;top:"+a+"px;left:"+o+"px;"+(s||""))}if(!((r=(t.end.row-t.start.row-1)*n.lineHeight)<=0)){a=this.$getTop(t.start.row+1,n);var d=(t.start.column?1:0)|(t.end.column?0:8);this.elt(i+(d?" ace_br"+d:""),"height:"+r+"px;right:0;top:"+a+"px;left:"+o+"px;"+(s||""))}},this.drawSingleLineMarker=function(e,t,i,n,s,o){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,i,n,s,o);var r=n.lineHeight,a=(t.end.column+(s||0)-t.start.column)*n.characterWidth,c=this.$getTop(t.start.row,n),l=this.$padding+t.start.column*n.characterWidth;this.elt(i,"height:"+r+"px;width:"+a+"px;top:"+c+"px;left:"+l+"px;"+(o||""))},this.drawBidiSingleLineMarker=function(e,t,i,n,s,o){var r=n.lineHeight,a=this.$getTop(t.start.row,n),c=this.$padding;this.session.$bidiHandler.getSelections(t.start.column,t.end.column).forEach((function(e){this.elt(i,"height:"+r+"px;width:"+e.width+(s||0)+"px;top:"+a+"px;left:"+(c+e.left)+"px;"+(o||""))}),this)},this.drawFullLineMarker=function(e,t,i,n,s){var o=this.$getTop(t.start.row,n),r=n.lineHeight;t.start.row!=t.end.row&&(r+=this.$getTop(t.end.row,n)-o),this.elt(i,"height:"+r+"px;top:"+o+"px;left:0;right:0;"+(s||""))},this.drawScreenLineMarker=function(e,t,i,n,s){var o=this.$getTop(t.start.row,n),r=n.lineHeight;this.elt(i,"height:"+r+"px;top:"+o+"px;left:0;right:0;"+(s||""))}}).call(n.prototype),exports.Marker=n})),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter"],(function(require,exports,e){"use strict";var t=require("../lib/oop"),i=require("../lib/dom"),n=require("../lib/lang"),s=require("./lines").Lines,o=require("../lib/event_emitter").EventEmitter,r=function(e){this.dom=i,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new s(this.element)};(function(){t.implement(this,o),this.EOF_CHAR="¶",this.EOL_CHAR_LF="¬",this.EOL_CHAR_CRLF="¤",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="—",this.SPACE_CHAR="·",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var e=this.session.doc,t="\n"==e.getNewLineCharacter()&&"windows"!=e.getNewLineMode()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=t)return this.EOL_CHAR=t,!0},this.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.showSpaces=!1,this.showTabs=!1,this.showEOL=!1,this.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,"string"==typeof e?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],i=1;ih&&(a=c.end.row+1,h=(c=this.session.getNextFoldLine(a,c))?c.start.row:1/0),!(a>s);){var d=o[r++];if(d){this.dom.removeChildren(d),this.$renderLine(d,a,a==h&&c),l&&(d.style.top=this.$lines.computeLineTop(a,e,this.session)+"px");var u=e.lineHeight*this.session.getRowLength(a)+"px";d.style.height!=u&&(l=!0,d.style.height=u)}a++}if(l)for(;r0;s--)this.$lines.shift();if(t.lastRow>e.lastRow)for(s=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);s>0;s--)this.$lines.pop();e.firstRowt.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,n){for(var s=[],o=t,r=this.session.getNextFoldLine(o),a=r?r.start.row:1/0;o>a&&(o=r.end.row+1,a=(r=this.session.getNextFoldLine(o,r))?r.start.row:1/0),!(o>n);){var c=this.$lines.createCell(o,e,this.session),l=c.element;this.dom.removeChildren(l),i.setStyle(l.style,"height",this.$lines.computeLineHeight(o,e,this.session)+"px"),i.setStyle(l.style,"top",this.$lines.computeLineTop(o,e,this.session)+"px"),this.$renderLine(l,o,o==a&&r),this.$useLineGroups()?l.className="ace_line_group":l.className="ace_line",s.push(c),o++}return s},this.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var t=e.firstRow,i=e.lastRow,n=this.$lines;n.getLength();)n.pop();n.push(this.$renderLinesFragment(e,t,i))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,i,s){for(var o,r=this,a=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,c=this.dom.createFragment(this.element),l=0;o=a.exec(s);){var h=o[1],d=o[2],u=o[3],f=o[4],g=o[5];if(r.showSpaces||!d){var p=l!=o.index?s.slice(l,o.index):"";if(l=o.index+o[0].length,p&&c.appendChild(this.dom.createTextNode(p,this.element)),h){var m=r.session.getScreenTabSize(t+o.index);c.appendChild(r.$tabStrings[m].cloneNode(!0)),t+=m-1}else if(d){if(r.showSpaces)(v=this.dom.createElement("span")).className="ace_invisible ace_invisible_space",v.textContent=n.stringRepeat(r.SPACE_CHAR,d.length),c.appendChild(v);else c.appendChild(this.com.createTextNode(d,this.element))}else if(u){(v=this.dom.createElement("span")).className="ace_invisible ace_invisible_space ace_invalid",v.textContent=n.stringRepeat(r.SPACE_CHAR,u.length),c.appendChild(v)}else if(f){t+=1,(v=this.dom.createElement("span")).style.width=2*r.config.characterWidth+"px",v.className=r.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",v.textContent=r.showSpaces?r.SPACE_CHAR:f,c.appendChild(v)}else if(g){t+=1,(v=this.dom.createElement("span")).style.width=2*r.config.characterWidth+"px",v.className="ace_cjk",v.textContent=g,c.appendChild(v)}}}if(c.appendChild(this.dom.createTextNode(l?s.slice(l):s,this.element)),this.$textToken[i.type])e.appendChild(c);else{var b="ace_"+i.type.replace(/\./g," ace_"),v=this.dom.createElement("span");"fold"==i.type&&(v.style.width=i.value.length*this.config.characterWidth+"px"),v.className=b,v.appendChild(c),e.appendChild(v)}return t+s.length},this.renderIndentGuide=function(e,t,i){var n=t.search(this.$indentGuideRe);if(n<=0||n>=i)return t;if(" "==t[0]){for(var s=(n-=n%this.tabSize)/this.tabSize,o=0;o=r;)a=this.$renderToken(c,a,h,d.substring(0,r-s)),d=d.substring(r-s),s=r,c=this.$createLineElement(),e.appendChild(c),c.appendChild(this.dom.createTextNode(n.stringRepeat(" ",i.indent),this.element)),a=0,r=i[++o]||Number.MAX_VALUE;0!=d.length&&(s+=d.length,a=this.$renderToken(c,a,h,d))}}i[i.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(c,a,null,"",!0)},this.$renderSimpleLine=function(e,t){var i=0,n=t[0],s=n.value;this.displayIndentGuides&&(s=this.renderIndentGuide(e,s)),s&&(i=this.$renderToken(e,i,n,s));for(var o=1;othis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,i,n,s);i=this.$renderToken(e,i,n,s)}},this.$renderOverflowMessage=function(e,t,i,n,s){i&&this.$renderToken(e,t,i,n.slice(0,this.MAX_LINE_LENGTH-t));var o=this.dom.createElement("span");o.className="ace_inline_button ace_keyword ace_toggle_wrap",o.textContent=s?"":"",e.appendChild(o)},this.$renderLine=function(e,t,i){if(i||0==i||(i=this.session.getFoldLine(t)),i)var n=this.$getFoldLineTokens(t,i);else n=this.session.getTokens(t);var s=e;if(n.length){var o=this.session.getRowSplitData(t);if(o&&o.length){this.$renderWrappedLine(e,n,o);s=e.lastChild}else{s=e;this.$useLineGroups()&&(s=this.$createLineElement(),e.appendChild(s)),this.$renderSimpleLine(s,n)}}else this.$useLineGroups()&&(s=this.$createLineElement(),e.appendChild(s));if(this.showEOL&&s){i&&(t=i.end.row);var r=this.dom.createElement("span");r.className="ace_invisible ace_invisible_eol",r.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,s.appendChild(r)}},this.$getFoldLineTokens=function(e,t){var i=this.session,n=[];var s=i.getTokens(e);return t.walk((function(e,t,o,r,a){null!=e?n.push({type:"fold",value:e}):(a&&(s=i.getTokens(t)),s.length&&function(e,t,i){for(var s=0,o=0;o+e[s].value.lengthi-t&&(r=r.substring(0,i-t)),n.push({type:e[s].type,value:r}),o=t+r.length,s+=1);oi?n.push({type:e[s].type,value:r.substring(0,i-o)}):n.push(e[s]),o+=r.length,s+=1}}(s,r,o))}),t.end.row,this.session.getLine(t.end.row).length),n},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(r.prototype),exports.Text=r})),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],(function(require,exports,e){"use strict";var t=require("../lib/dom"),i=function(e){this.element=t.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),t.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){for(var i=this.cursors,n=i.length;n--;)t.setStyle(i[n].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){for(var e=this.cursors,i=e.length;i--;)e[i].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){t.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){t.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,t.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=t.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,t.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,t.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&t.removeCssClass(this.element,"ace_smooth-blinking"),e(!0),this.isBlinking&&this.blinkInterval&&this.isVisible)if(this.smoothBlinking&&setTimeout(function(){t.addCssClass(this.element,"ace_smooth-blinking")}.bind(this)),t.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var i=function(){this.timeoutId=setTimeout((function(){e(!1)}),.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval((function(){e(!0),i()}),this.blinkInterval),i()}else this.$stopCssAnimation()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var i=this.session.documentToScreenPosition(e);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(i.row,e.row)?this.session.$bidiHandler.getPosLeft(i.column):i.column*this.config.characterWidth),top:(i.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight}},this.isCursorInView=function(e,t){return e.top>=0&&e.tope.height+e.offset||r.top<0)&&n>1)){var a=this.cursors[s++]||this.addCursor(),c=a.style;this.drawCursor?this.drawCursor(a,r,e,i[n],this.session):this.isCursorInView(r,e)?(t.setStyle(c,"display","block"),t.translate(a,r.left,r.top),t.setStyle(c,"width",Math.round(e.characterWidth)+"px"),t.setStyle(c,"height",e.lineHeight+"px")):t.setStyle(c,"display","none")}}for(;this.cursors.length>s;)this.removeCursor();var l=this.session.getOverwrite();this.$setOverwrite(l),this.$pixelPos=r,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?t.addCssClass(this.element,"ace_overwrite-cursors"):t.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),exports.Cursor=i})),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(require,exports,e){"use strict";var t=require("./lib/oop"),i=require("./lib/dom"),n=require("./lib/event"),s=require("./lib/event_emitter").EventEmitter,o=32768,r=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,n.addListener(this.element,"scroll",this.onScroll.bind(this)),n.addListener(this.element,"mousedown",n.preventDefault)};(function(){t.implement(this,s),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(r.prototype);var a=function(e,t){r.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};t.inherits(a,r),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>o?(this.coeff=o/e,e=o):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(a.prototype);var c=function(e,t){r.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};t.inherits(c,r),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(c.prototype),exports.ScrollBar=a,exports.ScrollBarV=a,exports.ScrollBarH=c,exports.VScrollBar=a,exports.HScrollBar=c})),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],(function(require,exports,e){"use strict";var t=require("./lib/event"),i=function(e,i){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=i||window;var n=this;this._flush=function(e){n.pending=!1;var i=n.changes;if(i&&(t.blockIdle(100),n.changes=0,n.onRender(i)),n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(t.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(i.prototype),exports.RenderLoop=i})),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],(function(require,exports,e){var t=require("../lib/oop"),i=require("../lib/dom"),n=require("../lib/lang"),s=require("../lib/event"),o=require("../lib/useragent"),r=require("../lib/event_emitter").EventEmitter,a=256,c="function"==typeof ResizeObserver,l=200,h=exports.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.textContent=n.stringRepeat("X",a),this.$characterSize={width:0,height:0},c?this.$addObserver():this.checkForSizeChanges()};(function(){t.implement(this,r),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){if(void 0===e&&(e=this.$measureSizes()),e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver((function(t){e.checkForSizeChanges()})),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=s.onIdle((function t(){e.checkForSizeChanges(),s.onIdle(t,500)}),500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/a};return 0===t.width||0===t.height?null:t},this.$measureCharWidth=function(e){return this.$main.textContent=n.stringRepeat(e,a),this.$main.getBoundingClientRect().width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t&&t.parentElement?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=i.buildDom([e(0,0),e(l,0),e(0,l),e(l,l)],this.el)},this.transformCoordinates=function(e,t){e&&(e=o(1/this.$getZoom(this.el),e));function i(e,t,i){var n=e[1]*t[0]-e[0]*t[1];return[(-t[1]*i[0]+t[0]*i[1])/n,(+e[1]*i[0]-e[0]*i[1])/n]}function n(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function r(e){var t=e.getBoundingClientRect();return[t.left,t.top]}this.els||this.$initTransformMeasureNodes();var a=r(this.els[0]),c=r(this.els[1]),h=r(this.els[2]),d=r(this.els[3]),u=i(n(d,c),n(d,h),n(s(c,h),s(d,a))),f=o(1+u[0],n(c,a)),g=o(1+u[1],n(h,a));if(t){var p=t,m=u[0]*p[0]/l+u[1]*p[1]/l+1,b=s(o(p[0],f),o(p[1],g));return s(o(1/m/l,b),a)}var v=n(e,a),w=i(n(f,o(u[0],v)),n(g,o(u[1],v)),v);return o(l,w)}}).call(h.prototype)})),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],(function(require,exports,e){"use strict";var t=require("./lib/oop"),i=require("./lib/dom"),n=require("./config"),s=require("./layer/gutter").Gutter,o=require("./layer/marker").Marker,r=require("./layer/text").Text,a=require("./layer/cursor").Cursor,c=require("./scrollbar").HScrollBar,l=require("./scrollbar").VScrollBar,h=require("./renderloop").RenderLoop,d=require("./layer/font_metrics").FontMetrics,u=require("./lib/event_emitter").EventEmitter,f='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;padding: 0;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;font-variant-ligatures: no-common-ligatures;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {opacity: 0;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_error_bracket {position: absolute;border-bottom: 1px solid #DE5555;border-radius: 0;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_mobile-menu {position: absolute;line-height: 1.5;border-radius: 4px;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;background: white;box-shadow: 1px 3px 2px grey;border: 1px solid #dcdcdc;color: black;}.ace_dark > .ace_mobile-menu {background: #333;color: #ccc;box-shadow: 1px 3px 2px grey;border: 1px solid #444;}.ace_mobile-button {padding: 2px;cursor: pointer;overflow: hidden;}.ace_mobile-button:hover {background-color: #eee;opacity:1;}.ace_mobile-button:active {background-color: #ddd;}.ace_placeholder {font-family: arial;transform: scale(0.9);transform-origin: left;white-space: pre;opacity: 0.7;margin: 0 10px;}',g=require("./lib/useragent"),p=g.isIE;i.importCssString(f,"ace_editor.css");var m=function(e,t){var u=this;this.container=e||i.createElement("div"),i.addCssClass(this.container,"ace_editor"),i.HI_DPI&&i.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new s(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new o(this.content);var f=this.$textLayer=new r(this.content);this.canvas=f.element,this.$markerFront=new o(this.content),this.$cursorLayer=new a(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new l(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.on("scroll",(function(e){u.$scrollAnimation||u.session.setScrollTop(e.data-u.scrollMargin.top)})),this.scrollBarH.on("scroll",(function(e){u.$scrollAnimation||u.session.setScrollLeft(e.data-u.scrollMargin.left)})),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",(function(e){u.updateCharacterSize(),u.onResize(!0,u.gutterWidth,u.$size.width,u.$size.height),u._signal("changeCharacterSize",e)})),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!g.isIOS,this.$loop=new h(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),n.resetOptions(this),n._signal("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,t.implement(this,u),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),i.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,i){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,i,n){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=e?1:0;var s=this.container;n||(n=s.clientHeight||s.scrollHeight),i||(i=s.clientWidth||s.scrollWidth);var o=this.$updateCachedSize(e,t,i,n);if(!this.$size.scrollerHeight||!i&&!n)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(o|this.$changes,!0):this.$loop.schedule(o|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(e,t,n,s){s-=this.$extraHeight||0;var o=0,r=this.$size,a={width:r.width,height:r.height,scrollerHeight:r.scrollerHeight,scrollerWidth:r.scrollerWidth};if(s&&(e||r.height!=s)&&(r.height=s,o|=this.CHANGE_SIZE,r.scrollerHeight=r.height,this.$horizScroll&&(r.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",o|=this.CHANGE_SCROLL),n&&(e||r.width!=n)){o|=this.CHANGE_SIZE,r.width=n,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,"left",t+"px"),i.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),r.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,"left",this.margin.left+"px");var c=this.scrollBarV.getWidth()+"px";i.setStyle(this.scrollBarH.element.style,"right",c),i.setStyle(this.scroller.style,"right",c),i.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(o|=this.CHANGE_FULL)}return r.$dirty=!n||!s,o&&this._signal("resize",a),o},this.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var e=this.textarea.style,t=this.$composition;if(this.$keepTextAreaAtCursor||t){var n=this.$cursorLayer.$pixelPos;if(n){t&&t.markerRange&&(n=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var s=this.layerConfig,o=n.top,r=n.left;o-=s.offset;var a=t&&t.useTextareaForIME?this.lineHeight:p?0:1;if(o<0||o>s.height-a)i.translate(this.textarea,0,0);else{var c=1,l=this.$size.height-a;if(t)if(t.useTextareaForIME){var h=this.textarea.value;c=this.characterWidth*this.session.$getStringScreenWidth(h)[0]}else o+=this.lineHeight+2;else o+=this.lineHeight;(r-=this.scrollLeft)>this.$size.scrollerWidth-c&&(r=this.$size.scrollerWidth-c),r+=this.gutterWidth+this.margin.left,i.setStyle(e,"height",a+"px"),i.setStyle(e,"width",c+"px"),i.translate(this.textarea,Math.min(r,this.$size.scrollerWidth-c),Math.min(o,l))}}}else i.translate(this.textarea,-100,0)}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,i,n){var s=this.scrollMargin;s.top=0|e,s.bottom=0|t,s.right=0|n,s.left=0|i,s.v=s.top+s.bottom,s.h=s.left+s.right,s.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-s.top),this.updateFull()},this.setMargin=function(e,t,i,n){var s=this.margin;s.top=0|e,s.bottom=0|t,s.right=0|n,s.left=0|i,s.v=s.top+s.bottom,s.h=s.left+s.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig()|this.$loop.clear(),n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var s=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;s>0&&(this.scrollTop=s,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var o=n.width+2*this.$padding+"px",r=n.minHeight+"px";i.setStyle(this.content.style,"width",o),i.setStyle(this.content.style,"height",r)}if(e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),e&this.CHANGE_FULL)return this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),void this._signal("afterRender",e);if(e&this.CHANGE_SCROLL)return this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),void this._signal("afterRender",e);e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(n):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender",e)}else this.$changes|=e},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,i=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(i+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&i>this.$maxPixelHeight&&(i=this.$maxPixelHeight);var n=!(i<=2*this.lineHeight)&&e>t;if(i!=this.desiredHeight||this.$size.height!=this.desiredHeight||n!=this.$vScroll){n!=this.$vScroll&&(this.$vScroll=n,this.scrollBarV.setVisible(n));var s=this.container.clientWidth;this.container.style.height=i+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,i),this.desiredHeight=i,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,i=t.height<=2*this.lineHeight,n=this.session.getScreenLength()*this.lineHeight,s=this.$getLongestLine(),o=!i&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),r=this.$horizScroll!==o;r&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var c=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;n+=l;var h=this.scrollMargin;this.session.setScrollTop(Math.max(-h.top,Math.min(this.scrollTop,n-t.scrollerHeight+h.bottom))),this.session.setScrollLeft(Math.max(-h.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+h.right)));var d=!i&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-n+l<0||this.scrollTop>h.top),u=a!==d;u&&(this.$vScroll=d,this.scrollBarV.setVisible(d));var f,g,p=this.scrollTop%this.lineHeight,m=Math.ceil(c/this.lineHeight)-1,b=Math.max(0,Math.round((this.scrollTop-p)/this.lineHeight)),v=b+m,w=this.lineHeight;b=e.screenToDocumentRow(b,0);var y=e.getFoldLine(b);y&&(b=y.start.row),f=e.documentToScreenRow(b,0),g=e.getRowLength(b)*w,v=Math.min(e.screenToDocumentRow(v,0),e.getLength()-1),c=t.scrollerHeight+e.getRowLength(v)*w+g,p=this.scrollTop-f*w;var x=0;return(this.layerConfig.width!=s||r)&&(x=this.CHANGE_H_SCROLL),(r||u)&&(x|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),u&&(s=this.$getLongestLine())),this.layerConfig={width:s,padding:this.$padding,firstRow:b,firstRowScreen:f,lastRow:v,lineHeight:w,characterWidth:this.characterWidth,minHeight:c,maxHeight:n,offset:p,gutterOffset:w?Math.max(0,Math.ceil((p+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),x},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var i=this.layerConfig;if(!(e>i.lastRow+1||tthis.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,i){this.scrollCursorIntoView(e,i),this.scrollCursorIntoView(t,i)},this.scrollCursorIntoView=function(e,t,i){if(0!==this.$size.scrollerHeight){var n=this.$cursorLayer.getPixelPosition(e),s=n.left,o=n.top,r=i&&i.top||0,a=i&&i.bottom||0,c=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;c+r>o?(t&&c+r>o+this.lineHeight&&(o-=t*this.$size.scrollerHeight),0===o&&(o=-this.scrollMargin.top),this.session.setScrollTop(o)):c+this.$size.scrollerHeight-as?(s=1-this.scrollMargin.top||(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},this.pixelToScreenCoordinates=function(e,t){var i;if(this.$hasCssTransforms){i={top:0,left:0};var n=this.$fontMetrics.transformCoordinates([e,t]);e=n[1]-this.gutterWidth-this.margin.left,t=n[0]}else i=this.scroller.getBoundingClientRect();var s=e+this.scrollLeft-i.left-this.$padding,o=s/this.characterWidth,r=Math.floor((t+this.scrollTop-i.top)/this.lineHeight),a=this.$blockCursor?Math.floor(o):Math.round(o);return{row:r,column:a,side:o-a>0?1:-1,offsetX:s}},this.screenToTextCoordinates=function(e,t){var i;if(this.$hasCssTransforms){i={top:0,left:0};var n=this.$fontMetrics.transformCoordinates([e,t]);e=n[1]-this.gutterWidth-this.margin.left,t=n[0]}else i=this.scroller.getBoundingClientRect();var s=e+this.scrollLeft-i.left-this.$padding,o=s/this.characterWidth,r=this.$blockCursor?Math.floor(o):Math.round(o),a=Math.floor((t+this.scrollTop-i.top)/this.lineHeight);return this.session.screenToDocumentPosition(a,Math.max(r,0),s)},this.textToScreenCoordinates=function(e,t){var i=this.scroller.getBoundingClientRect(),n=this.session.documentToScreenPosition(e,t),s=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e)?this.session.$bidiHandler.getPosLeft(n.column):Math.round(n.column*this.characterWidth)),o=n.row*this.lineHeight;return{pageX:i.left+s-this.scrollLeft,pageY:i.top+o-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),null==e.useTextareaForIME&&(e.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var e=this.session.selection.cursor;this.removeExtraToken(e.row,e.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},this.addToken=function(e,t,i,n){var s=this.session;s.bgTokenizer.lines[i]=null;var o={type:t,value:e},r=s.getTokens(i);if(null==n)r.push(o);else for(var a=0,c=0;c50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(r.prototype);exports.UIWorkerClient=function(e,t,i){var o=null,a=!1,c=Object.create(n),l=[],h=new r({messageBuffer:l,terminate:function(){},postMessage:function(e){l.push(e),o&&(a?setTimeout(d):d())}});h.setEmitSync=function(e){a=e};var d=function(){var e=l.shift();e.command?o[e.command].apply(o,e.args):e.event&&c._signal(e.event,e.data)};return c.postMessage=function(e){h.onMessage({data:e})},c.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},c.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},s.loadModule(["worker",t],(function(e){for(o=new e[i](c);l.length;)d()})),h},exports.WorkerClient=r,exports.createWorker=o})),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],(function(require,exports,e){"use strict";var t=require("./range").Range,i=require("./lib/event_emitter").EventEmitter,n=require("./lib/oop"),s=function(e,t,i,n,s,o){var r=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=s,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=n,this.$onCursorChange=function(){setTimeout((function(){r.onCursorChange()}))},this.$pos=i;var a=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=a.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){n.implement(this,i),this.setup=function(){var e=this,i=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=i.createAnchor(this.$pos.row,this.$pos.column);var s=this.pos;s.$insertRight=!0,s.detach(),s.markerId=n.addMarker(new t(s.row,s.column,s.row,s.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach((function(t){var n=i.createAnchor(t.row,t.column);n.$insertRight=!0,n.detach(),e.others.push(n)})),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,i=this;this.othersActive=!0,this.others.forEach((function(n){n.markerId=e.addMarker(new t(n.row,n.column,n.row,n.column+i.length),i.othersClass,null,!1)}))}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e=this.pos.column&&i.start.column<=this.pos.column+this.length+1,o=i.start.column-this.pos.column;if(this.updateAnchors(e),s&&(this.length+=n),s&&!this.session.$fromUndo)if("insert"===e.action)for(var r=this.others.length-1;r>=0;r--){var a={row:(c=this.others[r]).row,column:c.column+o};this.doc.insertMergedLines(a,e.lines)}else if("remove"===e.action)for(r=this.others.length-1;r>=0;r--){var c;a={row:(c=this.others[r]).row,column:c.column+o};this.doc.remove(new t(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var e=this,i=this.session,n=function(n,s){i.removeMarker(n.markerId),n.markerId=i.addMarker(new t(n.row,n.column,n.row,n.column+e.length),s,null,!1)};n(this.pos,this.mainClass);for(var s=this.others.length;s--;)n(this.others[s],this.othersClass)}},this.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,i=0;i1?e.multiSelect.joinSelections():e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],exports.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var t=require("../keyboard/hash_handler").HashHandler;exports.keyboardHandler=new t(exports.multiSelectCommands)})),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],(function(require,exports,e){var t=require("./range_list").RangeList,i=require("./range").Range,n=require("./selection").Selection,s=require("./mouse/multi_select_handler").onMouseDown,o=require("./lib/event"),r=require("./lib/lang"),a=require("./commands/multi_select_commands");exports.commands=a.defaultCommands.concat(a.multiSelectCommands);var c=new(0,require("./search").Search);var l=require("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(l.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var i=this.toOrientedRange();if(this.rangeList.add(i),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(i),this.$onAddRange(i)}e.cursor||(e.cursor=e.end);var n=this.rangeList.add(e);return this.$onAddRange(e),n.length&&this.$onRemoveRange(n),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var i=e.length;i--;){var n=this.ranges.indexOf(e[i]);this.ranges.splice(n,1)}this._signal("removeRange",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(t=t||this.ranges[0])&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new t,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var e=this.ranges.length?this.ranges:[this.getRange()],t=[],n=0;n1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var s=this.session.documentToScreenPosition(this.cursor),o=this.session.documentToScreenPosition(this.anchor);this.rectangularRangeBlock(s,o).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var s=[],o=e.column0;)v--;if(v>0)for(var w=0;s[w].isEmpty();)w++;for(var y=v;y>=w;y--)s[y].isEmpty()&&s.splice(y,1)}return s}}.call(n.prototype);var h=require("./editor").Editor;function d(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=exports.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",s),e.commands.addCommands(a.defaultCommands),function(e){if(!e.textInput)return;var t=e.textInput.getElement(),i=!1;function n(t){i&&(e.renderer.setMouseCursor(""),i=!1)}o.addListener(t,"keydown",(function(t){var s=18==t.keyCode&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&s?i||(e.renderer.setMouseCursor("crosshair"),i=!0):i&&n()}),e),o.addListener(t,"keyup",n,e),o.addListener(t,"blur",n,e)}(e))}(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(e.marker){this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);-1!=t&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,i=e.length;i--;){var n=e[i];if(n.marker){this.session.removeMarker(n.marker);var s=t.indexOf(n);-1!=s&&t.splice(s,1)}}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(a.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(a.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(e){var t=e.command,i=e.editor;if(i.multiSelect){if(t.multiSelectAction)"forEach"==t.multiSelectAction?n=i.forEachSelection(t,e.args):"forEachLine"==t.multiSelectAction?n=i.forEachSelection(t,e.args,!0):"single"==t.multiSelectAction?(i.exitMultiSelectMode(),n=t.exec(i,e.args||{})):n=t.multiSelectAction(i,e.args||{});else{var n=t.exec(i,e.args||{});i.multiSelect.addRange(i.multiSelect.toOrientedRange()),i.multiSelect.mergeOverlappingRanges()}return n}},this.forEachSelection=function(e,t,i){if(!this.inVirtualSelectionMode){var s,o=i&&i.keepOrder,r=1==i||i&&i.$byLines,a=this.session,c=this.selection,l=c.rangeList,h=(o?c:l).ranges;if(!h.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var d=c._eventRegistry;c._eventRegistry={};var u=new n(a);this.inVirtualSelectionMode=!0;for(var f=h.length;f--;){if(r)for(;f>0&&h[f].start.row==h[f-1].end.row;)f--;u.fromOrientedRange(h[f]),u.index=f,this.selection=a.selection=u;var g=e.exec?e.exec(this,t||{}):e(this,t||{});s||void 0===g||(s=g),u.toOrientedRange(h[f])}u.detach(),this.selection=a.selection=c,this.inVirtualSelectionMode=!1,c._eventRegistry=d,c.mergeOverlappingRanges(),c.ranges[0]&&c.fromOrientedRange(c.ranges[0]);var p=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),p&&p.from==p.to&&this.renderer.animateScrolling(p.from),s}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,i=[],n=0;na&&(a=i.column),nh?e.insert(s,r.stringRepeat(" ",o-h)):e.remove(new i(s.row,s.column,s.row,s.column-o+h)),t.start.column=t.end.column=a,t.start.row=t.end.row=s.row,t.cursor=t.end})),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var h=this.selection.getRange(),d=h.start.row,u=h.end.row,f=d==u;if(f){var g,p=this.session.getLength();do{g=this.session.getLine(u)}while(/[=:]/.test(g)&&++u0);d<0&&(d=0),u>=p&&(u=p-1)}var m=this.session.removeFullLines(d,u);m=this.$reAlignText(m,f),this.session.insert({row:d,column:0},m.join("\n")+"\n"),f||(h.start.column=0,h.end.column=m[m.length-1].length),this.selection.setRange(h)}},this.$reAlignText=function(e,t){var i,n,s,o=!0,a=!0;return e.map((function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?null==i?(i=t[1].length,n=t[2].length,s=t[3].length,t):(i+n+s!=t[1].length+t[2].length+t[3].length&&(a=!1),i!=t[1].length&&(o=!1),i>t[1].length&&(i=t[1].length),nt[3].length&&(s=t[3].length),t):[e]})).map(t?l:o?a?function(e){return e[2]?c(i+n-e[2].length)+e[2]+c(s)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:l:function(e){return e[2]?c(i)+e[2]+c(s)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]});function c(e){return r.stringRepeat(" ",e)}function l(e){return e[2]?c(i)+e[2]+c(n-e[2].length+s)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}}}).call(h.prototype),exports.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var i=e.oldSession;i&&(i.multiSelect.off("addRange",this.$onAddRange),i.multiSelect.off("removeRange",this.$onRemoveRange),i.multiSelect.off("multiSelect",this.$onMultiSelect),i.multiSelect.off("singleSelect",this.$onSingleSelect),i.multiSelect.lead.off("change",this.$checkMultiselectChange),i.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},exports.MultiSelect=d,require("./config").defineOptions(h.prototype,"editor",{enableMultiselect:{set:function(e){d(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",s)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",s))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})})),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],(function(require,exports,e){"use strict";var t=require("../../range").Range,i=exports.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,i){var n=e.getLine(i);return this.foldingStartMarker.test(n)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(n)?"end":""},this.getFoldWidgetRange=function(e,t,i){return null},this.indentationBlock=function(e,i,n){var s=/\S/,o=e.getLine(i),r=o.search(s);if(-1!=r){for(var a=n||o.length,c=e.getLength(),l=i,h=i;++il){var f=e.getLine(h).length;return new t(l,a,h,f)}}},this.openingBracketBlock=function(e,i,n,s,o){var r={row:n,column:s+1},a=e.$findClosingBracket(i,r,o);if(a){var c=e.foldWidgets[a.row];return null==c&&(c=e.getFoldWidget(a.row)),"start"==c&&a.row>r.row&&(a.row--,a.column=e.getLine(a.row).length),t.fromPoints(r,a)}},this.closingBracketBlock=function(e,i,n,s,o){var r={row:n,column:s},a=e.$findOpeningBracket(i,r);if(a)return a.column++,r.column--,t.fromPoints(a,r)}}).call(i.prototype)})),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],(function(require,exports,e){"use strict";exports.isDark=!1,exports.cssClass="ace-tm",exports.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',exports.$id="ace/theme/textmate",require("../lib/dom").importCssString(exports.cssText,exports.cssClass)})),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],(function(require,exports,e){"use strict";var t=require("./lib/dom");function i(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}(function(){this.getRowLength=function(e){var t;return t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach((function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)})),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var i=this.session.lineWidgets;i&&i.forEach((function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))}))}},this.updateOnFold=function(e,t){var i=t.lineWidgets;if(i&&e.action){for(var n=e.data,s=n.start.row,o=n.end.row,r="add"==e.action,a=s+1;at[i].column&&i++,o.unshift(i,0),t.splice.apply(t,o),this.$updateRows()}}},this.$updateRows=function(){var e=this.session.lineWidgets;if(e){var t=!0;e.forEach((function(e,i){if(e)for(t=!1,e.row=i;e.$oldWidget;)e.$oldWidget.row=i,e=e.$oldWidget})),t&&(this.session.lineWidgets=null)}},this.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e},this.addLineWidget=function(e){if(this.$registerLineWidget(e),e.session=this.session,!this.editor)return e;var i=this.editor.renderer;e.html&&!e.el&&(e.el=t.createElement("div"),e.el.innerHTML=e.html),e.el&&(t.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,i.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex=3),null==e.pixelHeight&&(e.pixelHeight=e.el.offsetHeight)),null==e.rowCount&&(e.rowCount=e.pixelHeight/i.layerConfig.lineHeight);var n=this.session.getFoldAt(e.row,0);if(e.$fold=n,n){var s=this.session.lineWidgets;e.row!=n.end.row||s[n.start.row]?e.hidden=!0:s[n.start.row]=e}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,i),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,i=t&&t[e],n=[];i;)n.push(i),i=i.$oldWidget;return n},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var i=this.session._changedWidgets,n=t.layerConfig;if(i&&i.length){for(var s=1/0,o=0;o0&&!n[s];)s--;this.firstRow=i.firstRow,this.lastRow=i.lastRow,t.$cursorLayer.config=i;for(var r=s;r<=o;r++){var a=n[r];if(a&&a.el)if(a.hidden)a.el.style.top=-100-(a.pixelHeight||0)+"px";else{a._inDocument||(a._inDocument=!0,t.container.appendChild(a.el));var c=t.$cursorLayer.getPixelPosition({row:r,column:0},!0).top;a.coverLine||(c+=i.lineHeight*this.session.getRowLineCount(a.row)),a.el.style.top=c-i.offset+"px";var l=a.coverGutter?0:t.gutterWidth;a.fixedWidth||(l-=t.scrollLeft),a.el.style.left=l+"px",a.fullWidth&&a.screenWidth&&(a.el.style.minWidth=i.width+2*i.padding+"px"),a.fixedWidth?a.el.style.right=t.scrollBar.getWidth()+"px":a.el.style.right=""}}}}}).call(i.prototype),exports.LineWidgets=i})),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],(function(require,exports,e){"use strict";var t=require("../line_widgets").LineWidgets,i=require("../lib/dom"),n=require("../range").Range;exports.showErrorMarker=function(e,s){var o=e.session;o.widgetManager||(o.widgetManager=new t(o),o.widgetManager.attach(e));var r=e.getCursorPosition(),a=r.row,c=o.widgetManager.getWidgetsAtRow(a).filter((function(e){return"errorMarker"==e.type}))[0];c?c.destroy():a-=s;var l,h=function(e,t,i){var s=e.getAnnotations().sort(n.comparePoints);if(s.length){var o=function(e,t,i){for(var n=0,s=e.length-1;n<=s;){var o=n+s>>1,r=i(t,e[o]);if(r>0)n=o+1;else{if(!(r<0))return o;s=o-1}}return-(n+1)}(s,{row:t,column:-1},n.comparePoints);o<0&&(o=-o-1),o>=s.length?o=i>0?0:s.length-1:0===o&&i<0&&(o=s.length-1);var r=s[o];if(r&&i){if(r.row===t){do{r=s[o+=i]}while(r&&r.row===t);if(!r)return s.slice()}var a=[];t=r.row;do{a[i<0?"unshift":"push"](r),r=s[o+=i]}while(r&&r.row==t);return a.length&&a}}}(o,a,s);if(h){var d=h[0];r.column=(d.pos&&"number"!=typeof d.column?d.pos.sc:d.column)||0,r.row=d.row,l=e.renderer.$gutterLayer.$annotations[r.row]}else{if(c)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(r.row),e.selection.moveToPosition(r);var u={row:r.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},f=u.el.appendChild(i.createElement("div")),g=u.el.appendChild(i.createElement("div"));g.className="error_widget_arrow "+l.className;var p=e.renderer.$cursorLayer.getPixelPosition(r).left;g.style.left=p+e.renderer.gutterWidth-5+"px",u.el.className="error_widget_wrapper",f.className="error_widget "+l.className,f.innerHTML=l.text.join("
"),f.appendChild(i.createElement("div"));var m=function(e,t,i){if(0===t&&("esc"===i||"return"===i))return u.destroy(),{command:"null"}};u.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(m),o.widgetManager.removeLineWidget(u),e.off("changeSelection",u.destroy),e.off("changeSession",u.destroy),e.off("mouseup",u.destroy),e.off("change",u.destroy))},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",u.destroy),e.on("changeSession",u.destroy),e.on("mouseup",u.destroy),e.on("change",u.destroy),e.session.widgetManager.addLineWidget(u),u.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:u.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")})),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],(function(require,exports,e){"use strict";require("./lib/fixoldbrowsers");var i=require("./lib/dom"),n=require("./lib/event"),s=require("./range").Range,o=require("./editor").Editor,r=require("./edit_session").EditSession,a=require("./undomanager").UndoManager,c=require("./virtual_renderer").VirtualRenderer;require("./worker/worker_client"),require("./keyboard/hash_handler"),require("./placeholder"),require("./multi_select"),require("./mode/folding/fold_mode"),require("./theme/textmate"),require("./ext/error_marker"),exports.config=require("./config"),exports.require=require,exports.define=t("MNGAHOYH"),exports.edit=function(e,t){if("string"==typeof e){var s=e;if(!(e=document.getElementById(s)))throw new Error("ace.edit can't find div #"+s)}if(e&&e.env&&e.env.editor instanceof o)return e.env.editor;var r="";if(e&&/input|textarea/i.test(e.tagName)){var a=e;r=a.value,e=i.createElement("pre"),a.parentNode.replaceChild(e,a)}else e&&(r=e.textContent,e.innerHTML="");var l=exports.createEditSession(r),h=new o(new c(e),l,t),d={document:l,editor:h,onResize:h.resize.bind(h,null)};return a&&(d.textarea=a),n.addListener(window,"resize",d.onResize),h.on("destroy",(function(){n.removeListener(window,"resize",d.onResize),d.editor.container.env=null})),h.container.env=h.env=d,h},exports.createEditSession=function(e,t){var i=new r(e,t);return i.setUndoManager(new a),i},exports.Range=s,exports.Editor=o,exports.EditSession=r,exports.UndoManager=a,exports.VirtualRenderer=c,exports.version=exports.config.version})),ace.require(["ace/ace"],(function(t){for(var i in t&&(t.config.init(!0),t.define=ace.define),window.ace||(window.ace=t),t)t.hasOwnProperty(i)&&(window.ace[i]=t[i]);window.ace.default=window.ace,e&&(e.exports=window.ace)}))}).call(this,t("9YbPW59L")(e))},EJoBxNsy:function(e,exports,t){e.exports=t.p+"d228be11b45e9a0bbd44acf24b9a2b41.js"},ER9u9b1M:function(e,exports,t){e.exports=t.p+"1b64f97eed4a3837a93f8bdd363295fb.js"},"ERc4vKV+":function(e,exports,t){e.exports=t.p+"7493f0c3c9bf268d6ad785019d993dd7.js"},ETD6YXbz:function(e,exports,t){e.exports=t.p+"1034e3807d1bcf55cb564491950237ab.js"},"EbA+6fiI":function(e,exports,t){e.exports=t.p+"ccde58de5468dd353dbee74d631ebdf0.js"},EdqEeZmT:function(e,exports,t){e.exports=t.p+"e6cf8898b285b71e2abe832717ac7060.js"},EwaiLkEa:function(e,exports,t){e.exports=t.p+"600ab46b2572f32c5a4abf0f960e3c61.js"},"F+4y5Fgn":function(e,exports,t){e.exports=t.p+"d83f2acd25388452582e5a4c727255b0.js"},FEbWfF1p:function(e,exports,t){e.exports=t.p+"f326f2f263b1498fedbe1d07d7254d10.js"},FFZN8ltK:function(e,exports,t){e.exports=t.p+"48e9351c5623d4da657ce7d5d0267ea6.js"},FHoga4ib:function(e,exports,t){e.exports=t.p+"1fee62e3e043728a265935971fa26200.js"},"FxB/2+JT":function(e,exports,t){e.exports=t.p+"adc5e81257ed3f8d70d03cf79150eec1.js"},GNpKOw2C:function(e,exports,t){e.exports=t.p+"222d52530e9db0a0ec565c6306c5db35.js"},GbSTcx19:function(e,exports,t){e.exports=t.p+"23da8ba64540ff4aa68a34d3445db680.js"},"GfIQ/6f2":function(e,exports,t){e.exports=t.p+"a2a705f6bc3a6827d6c94c5978aec36d.js"},Giwik73q:function(e,exports,t){e.exports=t.p+"20fa0fd52cafcf5176d15a23e497a835.js"},GpgPF75P:function(e,exports,t){e.exports=t.p+"5f3ce6efab3c679ec1ad25ab0b3f6b2f.js"},GqSk43mx:function(e,exports,t){e.exports=t.p+"28474eb7ee45a125e49cc5cbe69e336f.js"},HQZ5RQfO:function(e,exports,t){e.exports=t.p+"23bb1a9f279e7a732bfd405350aab114.js"},HZcVkJaj:function(e,exports,t){e.exports=t.p+"8d9bb1799d9b98db107e84f10132e17f.js"},HqICChlB:function(e,exports,t){e.exports=t.p+"b3bb2c8deddd8c2afcf73f6f5d711596.js"},HwaXRGP4:function(e,exports,t){e.exports=t.p+"4c2816c26725f7aae5b490142e31112f.js"},"I8KfN2+S":function(e,exports,t){e.exports=t.p+"7bd84be066027e61c84c9c2aa9543c2a.js"},I9u0rsIN:function(e,exports,t){e.exports=t.p+"0a1d9862d917663419ac2dd2e8193267.js"},"ICC29/RS":function(e,exports,t){e.exports=t.p+"244b1a234ec1728d0268214de601449d.js"},IFeh4wAE:function(e,exports,t){e.exports=t.p+"3c5b59a666c5d39d9ba9cc054d36a410.js"},IKLzNteM:function(e,exports,t){e.exports=t.p+"dc1eb6c1c92d7067c72b82b2833a7d2c.js"},ILy0aeUd:function(e,exports,t){e.exports=t.p+"7080d2a1db1608264a6d9d9fbaf2cce8.js"},IZ70iZ0u:function(e,exports,t){e.exports=t.p+"39b630eb9c2c0319472cbf8f72e79691.js"},IaEbG2fr:function(e,exports,t){e.exports=t.p+"621b99ed1a029c36b4e91ec35f36c344.js"},Ido1tuI3:function(e,exports,t){e.exports=t.p+"b98206b2175363f1150c074608603942.js"},Ix16RfsA:function(e,exports,t){e.exports=t.p+"e874d975c9128dc6eb9a513d088bed9f.js"},"J/w0U7md":function(e,exports,t){e.exports=t.p+"6a7bf4fb4484f6f48d8e4337f126a61d.js"},J35dLvJS:function(e,exports,t){e.exports=t.p+"e4968d8264b40c14f123f28419eb456d.js"},JDH3SgM4:function(e,exports,t){e.exports=t.p+"5bad2df0e3bfd8fdc1a332fb6276cb39.js"},JGqJsmds:function(e,exports,t){e.exports=t.p+"ee694c1bcbdc9439e50f816c39fd1023.js"},JSYh1Q26:function(e,exports,t){e.exports=t.p+"9b8e2282f60f104ff3ace5b905af4d62.js"},JUBbqfD6:function(e,exports,t){e.exports=t.p+"b0071564b0854c39e3de8b99d66e4dfd.js"},JeTRnR2x:function(e,exports,t){e.exports=t.p+"72fa12126ab1140dbf95fc16549569e6.js"},"Jnb+VSy8":function(e,exports,t){e.exports=t.p+"eba5ee3fb1f3e92af88c69e50b2a8fd1.js"},JsrUKB33:function(e,exports,t){e.exports=t.p+"9696a4229fb787eeb25b26f1274b75ee.js"},Jx9XORFF:function(e,exports,t){e.exports=t.p+"ad03544c5a63e9c58d4d280bc5851cec.js"},"Jxa/iNoA":function(e,exports,t){e.exports=t.p+"3df92508d7112d83474f31fe9590e289.js"},JyXSqxaH:function(e,exports,t){e.exports=t.p+"866bf6ca5057dcb24503761af061d486.js"},KYWm6Ntl:function(e,exports,t){e.exports=t.p+"211511e7b374f57ad31acaf49dbdccb1.js"},Kjx8ge4B:function(e,exports,t){e.exports=t.p+"4700af84801dbda8a3880e3469c21130.js"},KoO7SC79:function(e,exports,t){e.exports=t.p+"44701e25bb6f2ab9ff18343f2357d1b0.js"},Kx9yIxRu:function(e,exports,t){e.exports=t.p+"0872e65446d05c1c443180c6280b015f.js"},"KymL/b/P":function(e,exports,t){e.exports=t.p+"7ef987bad3b8fbb56f596649fbedee0b.js"},"L+cGqZ1V":function(e,exports,t){e.exports=t.p+"5f312f155667dc5295b1fbfa8a978964.js"},"L62dV+xS":function(e,exports,t){e.exports=t.p+"d30fa4070abd6929228505790744e180.js"},LJwNGwvY:function(e,exports,t){e.exports=t.p+"6d38cef4a006e6cfe54a6117aba7b600.js"},LK5UGzlO:function(e,exports,t){e.exports=t.p+"4d57d8d576cd63242136f3c8271592f4.js"},LQvOb6rD:function(e,exports,t){e.exports=t.p+"114c58e47951fe3f6d25f683e0cd54e7.js"},LXNr3Rjr:function(e,exports,t){e.exports=t.p+"d1a58542777d072396d7cee5487304f9.js"},LcpOkFT0:function(e,exports,t){e.exports=t.p+"9807cf1e443a7440371904b6525f37eb.js"},"LxddSaE/":function(e,exports,t){e.exports=t.p+"a1c8660c5bcc6b6a43a7fb3c351174d9.js"},M41Hih61:function(e,exports,t){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var i=t("zp7/X3rr"),n=t("/RP92CQA");exports.diff=n.default;var s=t("zJCIirni");exports.split=s.default,exports.default=i.default},MCqmcN23:function(e,exports,t){e.exports=t.p+"894edcaf39c3c95818e3949d737ed459.js"},MFeE8Ubg:function(e,exports,t){e.exports=t.p+"5c96efcfd419a70a93c96557979bc66d.js"},"MJ+l2//h":function(e,exports,t){e.exports=t.p+"1e4131e1241a5b81d54c7d9cb66b0e87.js"},MJeWgd6c:function(e,exports,t){e.exports=t.p+"c530988d2b1966fd10a4d99fa3877e1b.js"},MQtivsQd:function(e,exports,t){e.exports=t.p+"cd9a17f94a922c7c88000b1b3cdd67df.js"},MYgphJSY:function(e,exports,t){e.exports=t.p+"b1170472ae4b50e3b0070eb991e502fe.js"},"MrpGrgv/":function(e,exports,t){e.exports=t.p+"010d0560a00a032c33da819e3c86596a.js"},N8ZNXkxN:function(e,exports,t){e.exports=t.p+"4639c30a609d986a255ccc684404527e.js"},"NsL/wTZs":function(e,exports,t){e.exports=t.p+"cb652f200fc3dd740b2e7f678a9272ea.js"},O2yNmyhK:function(e,exports,t){e.exports=t.p+"f7186078e00d958aa2b316483dfc7e1c.js"},O6p7aU4W:function(e,exports,t){e.exports=t.p+"d5a6140d581e5c4eb200259ce372f40b.js"},O99hiH2L:function(e,exports,t){e.exports=t.p+"25c99a71d30112583893bc5277402c46.js"},ODERIoXn:function(e,exports,t){e.exports=t.p+"3dcc18a5dee46b57ad7f85c0bee86802.js"},"OJ+kzoaG":function(e,exports,t){e.exports=t.p+"ffd3b83e8b5878f4785591ff54b1dfff.js"},OXv0shTU:function(e,exports,t){e.exports=t.p+"59cc05504a1c823b6d4796bf6b430822.js"},Ok5IuIq0:function(e,exports,t){e.exports=t.p+"9671c350e11f1569edb5066cbfeb3334.js"},PhchXZJ4:function(e,exports,t){e.exports=t.p+"baa5bf4cfefed057a4657a1b02cfa114.js"},Pt9z2KI0:function(e,exports,t){e.exports=t.p+"28785bea435918d49b290d27bf660baa.js"},"Q+GZV7jA":function(e,exports,t){e.exports=t.p+"70286c33cab463fd576766adecd2d5d9.js"},Q6GAibrw:function(e,exports,t){e.exports=t.p+"95e69fbb6dbd2e50782c54240da95fa1.js"},QOy6BMUE:function(e,exports,t){e.exports=t.p+"3b190e5159c72fb7e27271956772bcba.js"},QUcezvII:function(e,exports,t){e.exports=t.p+"2b2fe1a34cdf81c656a47e493ca9d658.js"},QfCqoDim:function(e,exports,t){e.exports=t.p+"13eda3507db9cbfb400f46b9b3ff6553.js"},Qnp8xlCa:function(e,exports,t){e.exports=t.p+"b1ac30076824f72cdff7ea29ae0b6801.js"},R8poopDF:function(e,exports,t){e.exports=t.p+"1441681e52f3ae9ab33afbc5517359a0.js"},RB3OEA7U:function(e,exports,t){e.exports=t.p+"15f3800d33b854ba476c9daf1b9e0326.js"},RDQjmDWb:function(e,exports,t){e.exports=t.p+"75d2dae20d7bac5ecfa9dafc48ec04eb.js"},RHqzr0C5:function(e,exports,t){e.exports=t.p+"40dc555a17f1c85020333a41f01dd9ba.js"},RXu749jF:function(e,exports,t){e.exports=t.p+"b6df2278bd475169749bab512944b7ec.js"},Re9BkAD8:function(e,exports,t){e.exports=t.p+"07101530302fe1d03dcd731992f7a899.js"},"S+W0LMzv":function(e,exports,t){e.exports=t.p+"3e3e2243675fa4fb4b320dc57daf2d4f.js"},SLF9kC6o:function(e,exports,t){e.exports=t.p+"af959c2a870f08dd8abccae97c9b9bae.js"},SVJYoKL8:function(e,exports,t){e.exports=t.p+"12f4a310110e02f9031132de6d8548bf.js"},SVhT70YV:function(e,exports,t){e.exports=t.p+"51f903c5ce5284a63196247cffb5ca40.js"},ScJRDELP:function(e,exports,t){e.exports=t.p+"da55f4fe3daed3f79fc4565668ecf7dd.js"},Swf1kidR:function(e,exports,t){e.exports=t.p+"4ccf23f751ac7990c38c272fa5b3c515.js"},T43HcH5Q:function(e,exports,t){e.exports=t.p+"f4c53706e1721b08e8b2f650c8bd35c4.js"},TCw1rQBy:function(e,exports,t){e.exports=t.p+"1e55fabb1403649e428fbba4b51ab90d.js"},TF7B40dr:function(e,exports,t){e.exports=t.p+"f980fd09c34c277299e2d3f83aebdba5.js"},TFzPRioG:function(e,exports,t){e.exports=t.p+"376ee0869ec49e5524dd216db8f7020e.js"},TJSM1X0u:function(e,exports,t){e.exports=t.p+"4d8cb7033879cb7fcc7a43798e2bde22.js"},TN72gHNo:function(e,exports,t){e.exports=t.p+"ab4b314445b23359319c14cce9a0e321.js"},TOxD74io:function(e,exports,t){e.exports=t.p+"44c949690b47955390a085175b1647a6.js"},Tv6bNEE4:function(e,exports,t){e.exports=t.p+"d2fe7592ff2fdda099b2b6355abe8c06.js"},TyFfbAI6:function(e,exports,t){e.exports=t.p+"f5f38911951801dbd201b30dbc1c4a70.js"},U3DmOV7V:function(e,exports,t){e.exports=t.p+"60340be8eea1d704a17f399b3c3f9577.js"},"U7ttnZ+y":function(e,exports,t){e.exports=t.p+"87932c8321c9985ed3b6979e86d2a50e.js"},"U88v/a4N":function(e,exports,t){e.exports=t.p+"6144815fed7dc327eb6a82bcdbfad74b.js"},UCccCLnU:function(e,exports,t){e.exports=t.p+"6292be0125d3720498496eaa7f541618.js"},UGhpNUV7:function(e,exports,t){e.exports=t.p+"fdf4d851b44839d8fdfa77b3419bce19.js"},"UV+E1cv/":function(e,exports,t){e.exports=t.p+"870184211838006214be1c23c98672fc.js"},Uex2Npxn:function(e,exports,t){e.exports=t.p+"760eb6458a048f3cba7bc3ae52ef2ba4.js"},Ug9cCIUN:function(e,exports,t){e.exports=t.p+"75bffda9455d77087f34708ac4e85371.js"},"UhYuLL++":function(e,exports,t){e.exports=t.p+"707fa1de4d2096da1951c4bc9d21cb6d.js"},UoEzaO8G:function(e,exports,t){e.exports=t.p+"4a1dab236c2844d28f73c5c128afe299.js"},UrJcLpIP:function(e,exports,t){e.exports=t.p+"e6ad50b520736b595970c9e07029c3f1.js"},UrZJJSDg:function(e,exports,t){e.exports=t.p+"3646668820dc96864fbed7746f805947.js"},Uu6IooP2:function(e,exports,t){e.exports=t.p+"fd5e2efd3b2d047abe8473f99c650a35.js"},UwWnJwVN:function(e,exports,t){e.exports=t.p+"5fb6059ab5d7abab7a74eb73028a3aeb.js"},VPmXlAtC:function(e,exports,t){e.exports=t.p+"eaa55a522fb2cb2f0287711f42344984.js"},VRU95B7q:function(e,exports,t){e.exports=t.p+"104959bdb953a3792a203e98d2bf530f.js"},Vb3XmqvT:function(e,exports,t){e.exports=t.p+"59bde89bce5c1126ba5ee99c55ec48c8.js"},ViwVuVD4:function(e,exports,t){e.exports=t.p+"1324f89bd8db0bae85b79b7f90f6c119.js"},VtIdNxE0:function(e,exports,t){e.exports=t.p+"03748243ac7148ca150ba06c2919ff81.js"},VwotmSiH:function(e,exports,t){e.exports=t.p+"d7d616d4aa8fd3f51d681242853dcde9.js"},WJaCTWPp:function(e,exports,t){e.exports=t.p+"5e3f006db26e9b277b1bdbc130611a14.js"},"WTtc/gcF":function(e,exports,t){e.exports=t.p+"6903d8ef977a1424c4e2eb22b96feb77.js"},XjNmBj3f:function(e,exports,t){e.exports=t.p+"cf188b3f83735389d47bb12fc9f7069a.js"},"Y+6GI768":function(e,exports,t){e.exports=t.p+"03aae8272914723a7bf85b984385032c.js"},YBt5w227:function(e,exports,t){e.exports=t.p+"4736a562251eeaea46dd06892b489f35.js"},YLJRKGC4:function(e,exports,t){e.exports=t.p+"db8ca5cfb6fe4aaef215f116f6991784.js"},YN7npnVi:function(e,exports,t){e.exports=t.p+"263f7107e9357b1c91997e1a21b59ff5.js"},"Yc9h+Bj1":function(e,exports,t){e.exports=t.p+"f0878cc386a608146dbc8fb3b6745c42.js"},YlddMges:function(e,exports,t){e.exports=t.p+"d2a00e1726c71ca10fbaf4b9c4374458.js"},YucCq8qS:function(e,exports,t){(function(e){ace.define("ace/split",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/editor","ace/virtual_renderer","ace/edit_session"],(function(require,exports,e){"use strict";var t=require("./lib/oop"),i=(require("./lib/lang"),require("./lib/event_emitter").EventEmitter),n=require("./editor").Editor,s=require("./virtual_renderer").VirtualRenderer,o=require("./edit_session").EditSession,r=function(e,t,i){this.BELOW=1,this.BESIDE=0,this.$container=e,this.$theme=t,this.$splits=0,this.$editorCSS="",this.$editors=[],this.$orientation=this.BESIDE,this.setSplits(i||1),this.$cEditor=this.$editors[0],this.on("focus",function(e){this.$cEditor=e}.bind(this))};(function(){t.implement(this,i),this.$createEditor=function(){var e=document.createElement("div");e.className=this.$editorCSS,e.style.cssText="position: absolute; top:0px; bottom:0px",this.$container.appendChild(e);var t=new n(new s(e,this.$theme));return t.on("focus",function(){this._emit("focus",t)}.bind(this)),this.$editors.push(t),t.setFontSize(this.$fontSize),t},this.setSplits=function(e){var t;if(e<1)throw"The number of splits have to be > 0!";if(e!=this.$splits){if(e>this.$splits){for(;this.$splitse;)t=this.$editors[this.$splits-1],this.$container.removeChild(t.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(e){return this.$editors[e]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(e){this.$editors.forEach((function(t){t.setTheme(e)}))},this.setKeyboardHandler=function(e){this.$editors.forEach((function(t){t.setKeyboardHandler(e)}))},this.forEach=function(e,t){this.$editors.forEach(e,t)},this.$fontSize="",this.setFontSize=function(e){this.$fontSize=e,this.forEach((function(t){t.setFontSize(e)}))},this.$cloneSession=function(e){var t=new o(e.getDocument(),e.getMode()),i=e.getUndoManager();return t.setUndoManager(i),t.setTabSize(e.getTabSize()),t.setUseSoftTabs(e.getUseSoftTabs()),t.setOverwrite(e.getOverwrite()),t.setBreakpoints(e.getBreakpoints()),t.setUseWrapMode(e.getUseWrapMode()),t.setUseWorker(e.getUseWorker()),t.setWrapLimitRange(e.$wrapLimitRange.min,e.$wrapLimitRange.max),t.$foldData=e.$cloneFoldData(),t},this.setSession=function(e,t){var i;return i=null==t?this.$cEditor:this.$editors[t],this.$editors.some((function(t){return t.session===e}))&&(e=this.$cloneSession(e)),i.setSession(e),e},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(e){this.$orientation!=e&&(this.$orientation=e,this.resize())},this.resize=function(){var e,t=this.$container.clientWidth,i=this.$container.clientHeight;if(this.$orientation==this.BESIDE)for(var n=t/this.$splits,s=0;s-1},T.prototype.set=function(e,t){var i=this.__data__,n=O(i,e);return n<0?i.push([e,t]):i[n][1]=t,this},U.prototype.clear=function(){this.__data__={hash:new E,map:new(A||T),string:new E}},U.prototype.delete=function(e){return j(this,e).delete(e)},U.prototype.get=function(e){return j(this,e).get(e)},U.prototype.has=function(e){return j(this,e).has(e)},U.prototype.set=function(e,t){return j(this,e).set(e,t),this};var W=D((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(z(e))return _?_.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var i=[];return a.test(e)&&i.push(""),e.replace(c,(function(e,t,n,s){i.push(n?s.replace(l,"$1"):t||e)})),i}));function P(e){if("string"==typeof e||z(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function D(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var i=function(){var n=arguments,s=t?t.apply(this,n):n[0],o=i.cache;if(o.has(s))return o.get(s);var r=e.apply(this,n);return i.cache=o.set(s,r),r};return i.cache=new(D.Cache||U),i}D.Cache=U;var N=Array.isArray;function H(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function z(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==S.call(e)}e.exports=function(e,t,i){var n=null==e?void 0:F(e,t);return void 0===n?i:n}}).call(this,t("aY11sVfy"))},"c3NLRni+":function(e,exports,t){e.exports=t.p+"875e553a27bee88a73df34a90b3058e4.js"},cF6TgmNW:function(e,exports,t){e.exports=t.p+"9cf89836df93b01b418c4e55a5cbc0f8.js"},cfKVxEYA:function(e,exports,t){e.exports=t.p+"9b1fd9cf4206cc32e84150c49707d811.js"},"d/0fwyfJ":function(e,exports,t){e.exports=t.p+"c56345ae11027262df8c5983822c7355.js"},d2vnfSTC:function(e,exports,t){e.exports=t.p+"2dd82c65030101b60dffccedd8741c6e.js"},d5DInCCs:function(e,exports,t){e.exports=t.p+"ef726a596b666599e6ab8a3c6fe87da6.js"},dPWwJt46:function(e,exports,t){e.exports=t.p+"7e4e2772f701dd58ffb554bcfce0195b.js"},daeSfRSS:function(e,exports,t){e.exports=t.p+"2d2a42eeeeec801ab35f2fff7d900e43.js"},dbSRdcXH:function(e,exports,t){e.exports=t.p+"7c27341a2599ffb713c8fb7beced7601.js"},dkLyTquH:function(e,exports,t){e.exports=t.p+"e97cfa120fde26da0359ca29afaf3171.js"},eRXSCXdv:function(e,exports,t){e.exports=t.p+"64d6924350bd7706850cdc0dcc76ccf6.js"},eerP0c9R:function(e,exports,t){e.exports=t.p+"38fba56fde71a835512d2b6072832858.js"},elwTtddw:function(e,exports,t){e.exports=t.p+"dbc87324ecf271d088a2ab0823de9c5d.js"},"emj+QL9a":function(e,exports,t){e.exports=t.p+"8ed58ed9c7e1cb1ae1f2830d29011ffb.js"},f0sWJNAw:function(e,exports,t){e.exports=t.p+"dcb197c0214e800da9d9436dfc9437d6.js"},f251TZgC:function(e,exports,t){e.exports=t.p+"e8fa659263d5ca9e0d1be69c048133a8.js"},"f6/PBDje":function(e,exports,t){e.exports=t.p+"b1f3f77a9279cdb38846ebe13c3438bc.js"},f7ar0i9a:function(e,exports,t){e.exports=t.p+"6c67587c2093ac3a19da9f2196e040b7.js"},fAHwajrR:function(e,exports,t){e.exports=t.p+"44f69b70923b6104f066464bf87ec997.js"},"fFK5+NEN":function(e,exports,t){e.exports=t.p+"595aef8d8b0a2017e2fc27db5703e0d1.js"},fH60Iz78:function(e,exports,t){e.exports=t.p+"4ceabd28d8dc751f41002ebf2b6fed88.js"},fVPrdEsl:function(e,exports,t){e.exports=t.p+"aa5623ec68d23fedb9c9c115c7d99063.js"},fX2CCpgB:function(e,exports,t){e.exports=t.p+"83b8277db0b3c46f118c37b93cacbd62.js"},"fek/LWKN":function(e,exports,t){e.exports=t.p+"10132993df2cf9c9423b53a8a44379ab.js"},fi19NwwW:function(e,exports,t){e.exports=t.p+"01df918a3b14ccabba84acb00178c57c.js"},fkRJMx2A:function(e,exports,t){e.exports=t.p+"c0736a7477d7aac4c669bb94ccae25d9.js"},g3lpFnIz:function(e,exports,t){e.exports=t.p+"cb4175466ea600940f2927fa03a217e8.js"},"g9/Fy7Qb":function(e,exports,t){e.exports=t.p+"dbe575aa738ad773a96526b46498df06.js"},gBc1U5bM:function(e,exports,t){e.exports=t.p+"2b150c2332452066eaed1f53e1572720.js"},gF8eoj6y:function(e,exports,t){e.exports=t.p+"5fc5c77d4df4f5d77f8530f6b23ecd1e.js"},gVfBnSbK:function(e,exports,t){e.exports=t.p+"82fed7ec74be91e0db61c500d9c6d7ee.js"},"gb++0Fc+":function(e,exports,t){e.exports=t.p+"e6fb5287a46e030336c006e3f50ade3a.js"},gb0wGXRJ:function(e,exports,t){e.exports=t.p+"1b15b9f88acaf59b96e59c6b5f32da12.js"},geHDKTrS:function(e,exports,t){e.exports=t.p+"c80e89199aef31e48addb2b35ea96365.js"},gebro2ae:function(e,exports,t){e.exports=t.p+"5c85862f6de1eae7f4e50cbfe7c80b9f.js"},"h2pNVQt/":function(e,exports,t){e.exports=t.p+"d79b3962938d65fb85c6f844e86d92d9.js"},h88GZDrT:function(e,exports,t){e.exports=t.p+"2ade5c4002b4710f2a1f6a5cd36c08c9.js"},hB0aVo9q:function(e,exports,t){e.exports=t.p+"ecd37b343c4dcc8dac849b1c680dcbef.js"},hB2bTHpF:function(e,exports,t){e.exports=t.p+"179a93d3148b7edb72581279c3787d0c.js"},"hdn5+28R":function(e,exports,t){e.exports=t.p+"57f4109bd1f06be4dc2bcb8ff7eaf1e5.js"},hkfqmcAE:function(e,exports,t){e.exports=t.p+"d21451f11085978633c326c46bab30db.js"},hwk0pWr2:function(e,exports,t){e.exports=t.p+"bec560527365ce4294ec5a9b6cd1f2c6.js"},iAXyYMup:function(e,exports,t){e.exports=t.p+"b33ef9b4202539d3690251cb8213a034.js"},iDYzf8NR:function(e,exports,t){e.exports=t.p+"71ef0f55140f0dd02fce0f6d892e8861.js"},iEIY3Hru:function(e,exports,t){e.exports=t.p+"641021f265c44248f23e7e04936868dc.js"},ifzbWc3b:function(e,exports,t){e.exports=t.p+"4c4e2829082a68aace54050cc1c5749c.js"},imOooRGd:function(e,exports,t){e.exports=t.p+"101432b7228de09425cb10683cd7a721.js"},iwlqyzCK:function(e,exports,t){e.exports=t.p+"6c0a75dc5671c3f237a79f6e45b9891c.js"},j0WuOmtE:function(e,exports,t){e.exports=t.p+"18e63e724098792b95b076412a860636.js"},j3BhWVns:function(e,exports,t){e.exports=t.p+"0bc8540c08925f6cdf6d7c3ce8fbcea0.js"},jBYKElg0:function(e,exports,t){e.exports=t.p+"abb40a9a6ef0b2fe14c66dcadc9857a2.js"},"jF7/ZxWj":function(e,exports,t){e.exports=t.p+"03980cb12dacd26148c22bb61fce440f.js"},jFvgXyKm:function(e,exports,t){e.exports=t.p+"de0fd4fd7c2d7a4887cbc99eed91f797.js"},jMP8heZY:function(e,exports,t){e.exports=t.p+"3c2dea390c14a45539fdcf72c009d47a.js"},jO7owCBw:function(e,exports,t){e.exports=t.p+"30e80558090a09477e4466af8af4c40e.js"},jYitPRcW:function(e,exports,t){e.exports=t.p+"0170112234bab2a295eb3a18f218e724.js"},"jv+kSmqh":function(e,exports,t){e.exports=t.p+"e4917fa7632b01d28e99304d32d989f7.js"},jzFQeChN:function(e,exports,t){e.exports=t.p+"d04707d65591e86810ebc56d48b10810.js"},"k+3NOldZ":function(e,exports,t){e.exports=t.p+"5ebdef8c548fca6c51280e915d6f4c3f.js"},kB3MnFIw:function(e,exports,t){e.exports=t.p+"cf3f6b1c74c72cb5d02870022dbc9f94.js"},kBQOhgaS:function(e,exports,t){e.exports=t.p+"8cb83aa3fea85e950c29450b8237fb72.js"},kOPWUEtO:function(e,exports,t){e.exports=t.p+"6faa9e5f2a0122d2333fa450337a09b0.js"},kk77QZAG:function(e,exports,t){e.exports=t.p+"58aab872dbdb5e1607076e1935130e03.js"},ksyDRdYK:function(e,exports,t){e.exports=t.p+"2ddd0346681f9f12fd3a191245aa41df.js"},kyP98VJA:function(e,exports,t){e.exports=t.p+"5ada4185d70a1852b578b2063de58e37.js"},l1ocPyk4:function(e,exports,t){e.exports=t.p+"725da29f1643c2263a437c08a1454aea.js"},lAmtsMtR:function(e,exports,t){e.exports=t.p+"f693e8290e3a15a35d2b28f78c3d3533.js"},lKjzvxeB:function(e,exports,t){e.exports=t.p+"53e3600928916423671f3388e2d67844.js"},lU3lB3wM:function(e,exports,t){e.exports=t.p+"87d6bf8becf2d5ebe2f71fda95a313ea.js"},lb7Zta99:function(e,exports,t){e.exports=t.p+"e61779df91186b23e7adf2d1968b2708.js"},lsiLNG3s:function(e,exports,t){e.exports=t.p+"64a5f4d62507d032038dcd76d15188e1.js"},lvzBkeUR:function(e,exports,t){e.exports=t.p+"8e45b09d2016829aba6f70f59f6e428e.js"},mE1bRN5f:function(e,exports,t){"use strict";(function(e){Object.defineProperty(exports,"__esModule",{value:!0});exports.editorOptions=["minLines","maxLines","readOnly","highlightActiveLine","tabSize","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets"];exports.editorEvents=["onChange","onFocus","onInput","onBlur","onCopy","onPaste","onSelectionChange","onCursorChange","onScroll","handleOptions","updateRef"];exports.getAceInstance=function(){var i;return"undefined"==typeof window?(e.window={},i=t("DcW8hC3D"),delete e.window):window.ace?(i=window.ace).acequire=window.ace.require||window.ace.acequire:i=t("DcW8hC3D"),i};exports.debounce=function(e,t){var i=null;return function(){var n=this,s=arguments;clearTimeout(i),i=setTimeout((function(){e.apply(n,s)}),t)}}}).call(this,t("aY11sVfy"))},mP3BBUBm:function(e,exports,t){e.exports=t.p+"5352ecd8e5f1a2637b48e18cc406edb1.js"},mSTUYor1:function(e,exports,t){e.exports=t.p+"4e389cce6fb8f78845fab249bce43c0b.js"},"mVS2+Ljt":function(e,exports,t){e.exports=t.p+"e920af9f7a50e1c8fe0b0b3cd19937bf.js"},mYYTEGsO:function(e,exports,t){e.exports=t.p+"5b6a626249d0bc43e412fffa6a9ee177.js"},mfm8REIr:function(e,exports,t){e.exports=t.p+"cd358d9acaaa7049d85b15ac766fc314.js"},mjlcqYnD:function(e,exports,t){e.exports=t.p+"8bf75743fb14fea7cf02a5da1bda79d4.js"},"mkK3zLI/":function(e,exports,t){e.exports=t.p+"2f055ac4066041b9008dd6aebf9df34b.js"},mpJbAHco:function(e,exports,t){e.exports=t.p+"f79630d85284a7f6dadc25c1d256af0a.js"},"mweojbV+":function(e,exports,t){e.exports=t.p+"70074e0c785c9a808dea76c7c7d17af3.js"},"n9LKP9/E":function(e,exports,t){e.exports=t.p+"663234c150f2097f3812c6065491497c.js"},nBtLFPwQ:function(e,exports,t){e.exports=t.p+"44ac2a2398075299754707d4bac7c276.js"},nXOQeV4Z:function(e,exports,t){e.exports=t.p+"2eb6240af39282952504b5e016895183.js"},nqxuvGGK:function(e,exports,t){e.exports=t.p+"69e9b4cb1e86677ea0abea312069496e.js"},"nwPmu/td":function(e,exports,t){e.exports=t.p+"40e6f6cb52a24a747b1046614db3b164.js"},o5o1SmPz:function(e,exports,t){e.exports=t.p+"964646d64dd3196a9c27fe302511414a.js"},o8LJyLyl:function(e,exports,t){e.exports=t.p+"18e852d001368f75e7f75aaaee6dfe71.js"},oF3ktmsD:function(e,exports,t){e.exports=t.p+"656f53e1b4c6e37a31799737faf6d639.js"},oZGPduw5:function(e,exports,t){e.exports=t.p+"aa0eee504d52a12d3a30bbd523afcc34.js"},oa2CL7Ty:function(e,exports,t){e.exports=t.p+"3c7262d7b1ffe2850fad47c66d798b0d.js"},og2fk0HU:function(e,exports,t){e.exports=t.p+"367ad31e6d99d0021d05133b85bb9faf.js"},oln2q6Ci:function(e,exports,t){e.exports=t.p+"27730a0bdc6f430cc85049a46a73a029.js"},oo8TAhFW:function(e,exports,t){e.exports=t.p+"c631c95d9019218dfd22d028f215e1d1.js"},"p6z1qn/X":function(e,exports,t){e.exports=t.p+"ed4792eae087d02a3b34f0bcb7d6c1d2.js"},pIPxAxAd:function(e,exports,t){e.exports=t.p+"ec32839f8f3353e66b85450525fa3114.js"},pPTZJEyo:function(e,exports,t){e.exports=t.p+"cf816f70242478c5fd7060c4a028ae50.js"},"pfae/Eei":function(e,exports,t){e.exports=t.p+"16563bfaf4741097d38cc6ce3ccc1a2d.js"},q0rTpdcE:function(e,exports,t){e.exports=t.p+"0ec4bf56a876c2bf34ea174c584ce628.js"},q8HCvlDT:function(e,exports,t){e.exports=t.p+"4b425eb8188febc5a89674b89a72d296.js"},qFeemwx0:function(e,exports,t){e.exports=t.p+"34791bf31a4236531bc887b48f872c1c.js"},"qPfkj+G6":function(e,exports,t){e.exports=t.p+"b6a6a4adaab4f09a7835ff64a5096198.js"},qXL54Iih:function(e,exports,t){e.exports=t.p+"f27ea796db6b7ed61b49a1e65a7d6aeb.js"},qfpkJFLL:function(e,exports,t){e.exports=t.p+"291611f874a2bc54dbc291b52d74c512.js"},qqYq0T6o:function(e,exports,t){e.exports=t.p+"e8a90b8da6f1cc34bb3ae09d2dae077d.js"},quN0toIM:function(e,exports,t){e.exports=t.p+"5a496ae20cc576bef1d35972548207cf.js"},qulDqPVm:function(e,exports,t){e.exports=t.p+"b402b938ca2da72e0984a1360eda5897.js"},r0LjiMd4:function(e,exports,t){e.exports=t.p+"5e6c2744429a8fac6e536b179c1f31d0.js"},r9xVqG9j:function(e,exports,t){e.exports=t.p+"2ff54aa3c655216f360438bc7f5b181a.js"},rMJRKCui:function(e,exports,t){e.exports=t.p+"1e26167b5f75d5b94add34f1f4d8b044.js"},ra9wWmmn:function(e,exports,t){e.exports=t.p+"85a977f41a907dba8c672f9bf4943da0.js"},renkNgmt:function(e,exports,t){e.exports=t.p+"a164d0e40c4dfa485dcf8e6d5258d767.js"},rhpP8EVh:function(e,exports,t){e.exports=t.p+"9dd9cc0ee0c8abcbe4e7c47679b278f1.js"},rm6KlgYn:function(e,exports,t){e.exports=t.p+"2272c6632c52c3e402ab27b8045ab8f1.js"},rn6e7pBE:function(e,exports,t){e.exports=t.p+"55892adefebc0d53993fb108151ed150.js"},rwkzKgyk:function(e,exports,t){e.exports=t.p+"a4bedde07e392f8ebf64341b61f75df2.js"},"sEl/1uBl":function(e,exports,t){e.exports=t.p+"c40023acde0f3d5f4806f5fccbb4284b.js"},"sXxDtq/3":function(e,exports,t){e.exports=t.p+"909adc4a16e0f97d869e3dd16d561430.js"},t97H6vN0:function(e,exports,t){e.exports=t.p+"f90003058d7087f15baa27b80bf08c1d.js"},tEDOir3w:function(e,exports,t){e.exports=t.p+"191feb6103c36b202bc01ba262916cdf.js"},tL1Djyxq:function(e,exports,t){e.exports=t.p+"c51840077c684be0e7e13339f85cd4a9.js"},tM11O7gM:function(e,exports,t){e.exports=t.p+"3b6e7dc98c47eeafd851ca5072db4be6.js"},tWQ3v6q8:function(e,exports,t){e.exports=t.p+"47541c23870e955fff15de4be490ba74.js"},tYsmGWov:function(e,exports,t){e.exports=t.p+"cda6c5c52fa5d595982da0fac9da25a5.js"},"tdceLf9+":function(e,exports,t){e.exports=t.p+"4860a6a7c59b9ed5c779f7201dc1f591.js"},tjrvC5HF:function(e,exports,t){e.exports=t.p+"716879b6ef8945d579595d88534ae402.js"},tqDefkqZ:function(e,exports,t){e.exports=t.p+"18c1c3975e34bff803c5f6e212df4281.js"},uAwHhJA0:function(e,exports,t){e.exports=t.p+"5861dfe4f2c7823623e82d0619c5bf06.js"},uNzvEcgn:function(e,exports,t){e.exports=t.p+"c39df88966f20b18513bc231ba539721.js"},uOv77sKS:function(e,exports,t){e.exports=t.p+"c1bc72d79cc6161590fc01c6b139fccd.js"},"uQ2o7+AP":function(e,exports,t){e.exports=t.p+"df37029cdf8359ecac0aebdf4f257d03.js"},ucQEFSoR:function(e,exports,t){e.exports=t.p+"c0780e66c6b1ade0fa22283ce1f9c402.js"},uvMcaCd5:function(e,exports,t){e.exports=t.p+"8361542d34c46713c9aff6c4ce65a9a3.js"},v2kDoRGM:function(e,exports,t){ace.config.setModuleUrl("ace/ext/beautify",t("7AR6yh6E")),ace.config.setModuleUrl("ace/ext/code_lens",t("d5DInCCs")),ace.config.setModuleUrl("ace/ext/elastic_tabstops_lite",t("RDQjmDWb")),ace.config.setModuleUrl("ace/ext/emmet",t("BV9P4L46")),ace.config.setModuleUrl("ace/ext/error_marker",t("MJeWgd6c")),ace.config.setModuleUrl("ace/ext/keyboard_menu",t("j3BhWVns")),ace.config.setModuleUrl("ace/ext/language_tools",t("TCw1rQBy")),ace.config.setModuleUrl("ace/ext/linking",t("JSYh1Q26")),ace.config.setModuleUrl("ace/ext/modelist",t("TOxD74io")),ace.config.setModuleUrl("ace/ext/options",t("nqxuvGGK")),ace.config.setModuleUrl("ace/ext/prompt",t("xJbGM3ij")),ace.config.setModuleUrl("ace/ext/rtl",t("x33dly1X")),ace.config.setModuleUrl("ace/ext/searchbox",t("8pZlAnyf")),ace.config.setModuleUrl("ace/ext/settings_menu",t("hwk0pWr2")),ace.config.setModuleUrl("ace/ext/spellcheck",t("mjlcqYnD")),ace.config.setModuleUrl("ace/ext/split",t("rn6e7pBE")),ace.config.setModuleUrl("ace/ext/static_highlight",t("AJjf6W/g")),ace.config.setModuleUrl("ace/ext/statusbar",t("UCccCLnU")),ace.config.setModuleUrl("ace/ext/textarea",t("rhpP8EVh")),ace.config.setModuleUrl("ace/ext/themelist",t("L+cGqZ1V")),ace.config.setModuleUrl("ace/ext/whitespace",t("nwPmu/td")),ace.config.setModuleUrl("ace/keyboard/emacs",t("lvzBkeUR")),ace.config.setModuleUrl("ace/keyboard/sublime",t("0Gzsppij")),ace.config.setModuleUrl("ace/keyboard/vim",t("uNzvEcgn")),ace.config.setModuleUrl("ace/keyboard/vscode",t("1EJU+aWM")),ace.config.setModuleUrl("ace/mode/abap",t("kyP98VJA")),ace.config.setModuleUrl("ace/mode/abc",t("VtIdNxE0")),ace.config.setModuleUrl("ace/mode/actionscript",t("ZAQ5JPiM")),ace.config.setModuleUrl("ace/mode/ada",t("Uex2Npxn")),ace.config.setModuleUrl("ace/mode/alda",t("mfm8REIr")),ace.config.setModuleUrl("ace/mode/apache_conf",t("DW73ZNdX")),ace.config.setModuleUrl("ace/mode/apex",t("aWpClGTF")),ace.config.setModuleUrl("ace/mode/applescript",t("z/N6o/OP")),ace.config.setModuleUrl("ace/mode/aql",t("Jnb+VSy8")),ace.config.setModuleUrl("ace/mode/asciidoc",t("tdceLf9+")),ace.config.setModuleUrl("ace/mode/asl",t("Yc9h+Bj1")),ace.config.setModuleUrl("ace/mode/assembly_x86",t("UoEzaO8G")),ace.config.setModuleUrl("ace/mode/autohotkey",t("vdBj+UTT")),ace.config.setModuleUrl("ace/mode/batchfile",t("+XDBpGjx")),ace.config.setModuleUrl("ace/mode/c9search",t("r0LjiMd4")),ace.config.setModuleUrl("ace/mode/cirru",t("4zAnOYXu")),ace.config.setModuleUrl("ace/mode/clojure",t("B6zYianu")),ace.config.setModuleUrl("ace/mode/cobol",t("38cpf7DQ")),ace.config.setModuleUrl("ace/mode/coffee",t("BxGqFC3q")),ace.config.setModuleUrl("ace/mode/coldfusion",t("7LI4Ts32")),ace.config.setModuleUrl("ace/mode/crystal",t("8nhSMbAb")),ace.config.setModuleUrl("ace/mode/csharp",t("6dUgM1Zr")),ace.config.setModuleUrl("ace/mode/csound_document",t("a7veoO1N")),ace.config.setModuleUrl("ace/mode/csound_orchestra",t("xnYUyxhA")),ace.config.setModuleUrl("ace/mode/csound_score",t("U88v/a4N")),ace.config.setModuleUrl("ace/mode/csp",t("nBtLFPwQ")),ace.config.setModuleUrl("ace/mode/css",t("3ZpVQmPU")),ace.config.setModuleUrl("ace/mode/curly",t("c3NLRni+")),ace.config.setModuleUrl("ace/mode/c_cpp",t("oa2CL7Ty")),ace.config.setModuleUrl("ace/mode/d",t("+pplBdld")),ace.config.setModuleUrl("ace/mode/dart",t("Jx9XORFF")),ace.config.setModuleUrl("ace/mode/diff",t("2NzWh1T8")),ace.config.setModuleUrl("ace/mode/django",t("IKLzNteM")),ace.config.setModuleUrl("ace/mode/dockerfile",t("6LBV4Skd")),ace.config.setModuleUrl("ace/mode/dot",t("tjrvC5HF")),ace.config.setModuleUrl("ace/mode/drools",t("ifzbWc3b")),ace.config.setModuleUrl("ace/mode/edifact",t("T43HcH5Q")),ace.config.setModuleUrl("ace/mode/eiffel",t("jO7owCBw")),ace.config.setModuleUrl("ace/mode/ejs",t("A7XLjkIa")),ace.config.setModuleUrl("ace/mode/elixir",t("qfpkJFLL")),ace.config.setModuleUrl("ace/mode/elm",t("dbSRdcXH")),ace.config.setModuleUrl("ace/mode/erlang",t("hB0aVo9q")),ace.config.setModuleUrl("ace/mode/forth",t("f251TZgC")),ace.config.setModuleUrl("ace/mode/fortran",t("85DDbFxQ")),ace.config.setModuleUrl("ace/mode/fsharp",t("xjxQRLWK")),ace.config.setModuleUrl("ace/mode/fsl",t("4XtUYbX+")),ace.config.setModuleUrl("ace/mode/ftl",t("GqSk43mx")),ace.config.setModuleUrl("ace/mode/gcode",t("og2fk0HU")),ace.config.setModuleUrl("ace/mode/gherkin",t("k+3NOldZ")),ace.config.setModuleUrl("ace/mode/gitignore",t("1uKS6iXV")),ace.config.setModuleUrl("ace/mode/glsl",t("iEIY3Hru")),ace.config.setModuleUrl("ace/mode/gobstones",t("qFeemwx0")),ace.config.setModuleUrl("ace/mode/golang",t("Kjx8ge4B")),ace.config.setModuleUrl("ace/mode/graphqlschema",t("Kx9yIxRu")),ace.config.setModuleUrl("ace/mode/groovy",t("DOCGquBd")),ace.config.setModuleUrl("ace/mode/haml",t("ER9u9b1M")),ace.config.setModuleUrl("ace/mode/handlebars",t("acW7ylXD")),ace.config.setModuleUrl("ace/mode/haskell",t("rMJRKCui")),ace.config.setModuleUrl("ace/mode/haskell_cabal",t("LXNr3Rjr")),ace.config.setModuleUrl("ace/mode/haxe",t("uQ2o7+AP")),ace.config.setModuleUrl("ace/mode/hjson",t("hB2bTHpF")),ace.config.setModuleUrl("ace/mode/html",t("6I/9hgGm")),ace.config.setModuleUrl("ace/mode/html_elixir",t("3I1pYtSo")),ace.config.setModuleUrl("ace/mode/html_ruby",t("zFWXND5/")),ace.config.setModuleUrl("ace/mode/ini",t("f0sWJNAw")),ace.config.setModuleUrl("ace/mode/io",t("jBYKElg0")),ace.config.setModuleUrl("ace/mode/jack",t("S+W0LMzv")),ace.config.setModuleUrl("ace/mode/jade",t("YN7npnVi")),ace.config.setModuleUrl("ace/mode/java",t("g9/Fy7Qb")),ace.config.setModuleUrl("ace/mode/javascript",t("q8HCvlDT")),ace.config.setModuleUrl("ace/mode/json",t("O99hiH2L")),ace.config.setModuleUrl("ace/mode/json5",t("zerxBhGm")),ace.config.setModuleUrl("ace/mode/jsoniq",t("zBB71ZlG")),ace.config.setModuleUrl("ace/mode/jsp",t("tqDefkqZ")),ace.config.setModuleUrl("ace/mode/jssm",t("0CQ07K5/")),ace.config.setModuleUrl("ace/mode/jsx",t("aTn4BCgz")),ace.config.setModuleUrl("ace/mode/julia",t("gVfBnSbK")),ace.config.setModuleUrl("ace/mode/kotlin",t("ksyDRdYK")),ace.config.setModuleUrl("ace/mode/latex",t("jzFQeChN")),ace.config.setModuleUrl("ace/mode/less",t("t97H6vN0")),ace.config.setModuleUrl("ace/mode/liquid",t("r9xVqG9j")),ace.config.setModuleUrl("ace/mode/lisp",t("tWQ3v6q8")),ace.config.setModuleUrl("ace/mode/livescript",t("L62dV+xS")),ace.config.setModuleUrl("ace/mode/logiql",t("AHpcHqoy")),ace.config.setModuleUrl("ace/mode/logtalk",t("HwaXRGP4")),ace.config.setModuleUrl("ace/mode/lsl",t("ICC29/RS")),ace.config.setModuleUrl("ace/mode/lua",t("UrZJJSDg")),ace.config.setModuleUrl("ace/mode/luapage",t("ra9wWmmn")),ace.config.setModuleUrl("ace/mode/lucene",t("ZxJhBjOE")),ace.config.setModuleUrl("ace/mode/makefile",t("a5kAgMv5")),ace.config.setModuleUrl("ace/mode/markdown",t("xMLYp565")),ace.config.setModuleUrl("ace/mode/mask",t("ZbMmDHaA")),ace.config.setModuleUrl("ace/mode/matlab",t("Cc8Oh7q/")),ace.config.setModuleUrl("ace/mode/maze",t("aXLkCv/t")),ace.config.setModuleUrl("ace/mode/mediawiki",t("Ido1tuI3")),ace.config.setModuleUrl("ace/mode/mel",t("3Sj3NUyV")),ace.config.setModuleUrl("ace/mode/mixal",t("renkNgmt")),ace.config.setModuleUrl("ace/mode/mushcode",t("35YlXIKK")),ace.config.setModuleUrl("ace/mode/mysql",t("1ha1POeq")),ace.config.setModuleUrl("ace/mode/nginx",t("JUBbqfD6")),ace.config.setModuleUrl("ace/mode/nim",t("7Ei7UP9S")),ace.config.setModuleUrl("ace/mode/nix",t("1hXgZ2KH")),ace.config.setModuleUrl("ace/mode/nsis",t("JeTRnR2x")),ace.config.setModuleUrl("ace/mode/nunjucks",t("18Y+1jMM")),ace.config.setModuleUrl("ace/mode/objectivec",t("qXL54Iih")),ace.config.setModuleUrl("ace/mode/ocaml",t("9iQIMWNB")),ace.config.setModuleUrl("ace/mode/pascal",t("6/aZnvyA")),ace.config.setModuleUrl("ace/mode/perl",t("fkRJMx2A")),ace.config.setModuleUrl("ace/mode/perl6",t("jMP8heZY")),ace.config.setModuleUrl("ace/mode/pgsql",t("1lmljRhv")),ace.config.setModuleUrl("ace/mode/php",t("Swf1kidR")),ace.config.setModuleUrl("ace/mode/php_laravel_blade",t("LK5UGzlO")),ace.config.setModuleUrl("ace/mode/pig",t("70o87fuP")),ace.config.setModuleUrl("ace/mode/plain_text",t("PhchXZJ4")),ace.config.setModuleUrl("ace/mode/powershell",t("ViwVuVD4")),ace.config.setModuleUrl("ace/mode/praat",t("JyXSqxaH")),ace.config.setModuleUrl("ace/mode/prisma",t("Qnp8xlCa")),ace.config.setModuleUrl("ace/mode/prolog",t("MFeE8Ubg")),ace.config.setModuleUrl("ace/mode/properties",t("qPfkj+G6")),ace.config.setModuleUrl("ace/mode/protobuf",t("YwSn71ZN")),ace.config.setModuleUrl("ace/mode/puppet",t("MrpGrgv/")),ace.config.setModuleUrl("ace/mode/python",t("ODERIoXn")),ace.config.setModuleUrl("ace/mode/qml",t("LQvOb6rD")),ace.config.setModuleUrl("ace/mode/r",t("oo8TAhFW")),ace.config.setModuleUrl("ace/mode/razor",t("JGqJsmds")),ace.config.setModuleUrl("ace/mode/rdoc",t("GfIQ/6f2")),ace.config.setModuleUrl("ace/mode/red",t("2JE4sLFy")),ace.config.setModuleUrl("ace/mode/redshift",t("JDH3SgM4")),ace.config.setModuleUrl("ace/mode/rhtml",t("pIPxAxAd")),ace.config.setModuleUrl("ace/mode/rst",t("QUcezvII")),ace.config.setModuleUrl("ace/mode/ruby",t("YlddMges")),ace.config.setModuleUrl("ace/mode/rust",t("dPWwJt46")),ace.config.setModuleUrl("ace/mode/sass",t("gb++0Fc+")),ace.config.setModuleUrl("ace/mode/scad",t("aNyjj5gM")),ace.config.setModuleUrl("ace/mode/scala",t("tYsmGWov")),ace.config.setModuleUrl("ace/mode/scheme",t("GbSTcx19")),ace.config.setModuleUrl("ace/mode/scss",t("zzmxbjKP")),ace.config.setModuleUrl("ace/mode/sh",t("Bnmy+nCP")),ace.config.setModuleUrl("ace/mode/sjs",t("Jxa/iNoA")),ace.config.setModuleUrl("ace/mode/slim",t("Tv6bNEE4")),ace.config.setModuleUrl("ace/mode/smarty",t("6Y3683Z0")),ace.config.setModuleUrl("ace/mode/snippets",t("RXu749jF")),ace.config.setModuleUrl("ace/mode/soy_template",t("+cVymqkx")),ace.config.setModuleUrl("ace/mode/space",t("fFK5+NEN")),ace.config.setModuleUrl("ace/mode/sparql",t("FxB/2+JT")),ace.config.setModuleUrl("ace/mode/sql",t("fAHwajrR")),ace.config.setModuleUrl("ace/mode/sqlserver",t("6oB+mmDg")),ace.config.setModuleUrl("ace/mode/stylus",t("g3lpFnIz")),ace.config.setModuleUrl("ace/mode/svg",t("ucQEFSoR")),ace.config.setModuleUrl("ace/mode/swift",t("4D/i9pGI")),ace.config.setModuleUrl("ace/mode/tcl",t("32q0cxGW")),ace.config.setModuleUrl("ace/mode/terraform",t("WJaCTWPp")),ace.config.setModuleUrl("ace/mode/tex",t("sEl/1uBl")),ace.config.setModuleUrl("ace/mode/text",t("+wrvkhXU")),ace.config.setModuleUrl("ace/mode/textile",t("ERc4vKV+")),ace.config.setModuleUrl("ace/mode/toml",t("EdqEeZmT")),ace.config.setModuleUrl("ace/mode/tsx",t("I8KfN2+S")),ace.config.setModuleUrl("ace/mode/turtle",t("uOv77sKS")),ace.config.setModuleUrl("ace/mode/twig",t("uvMcaCd5")),ace.config.setModuleUrl("ace/mode/typescript",t("Re9BkAD8")),ace.config.setModuleUrl("ace/mode/vala",t("Uu6IooP2")),ace.config.setModuleUrl("ace/mode/vbscript",t("6iGNLhXk")),ace.config.setModuleUrl("ace/mode/velocity",t("/M/zAlk8")),ace.config.setModuleUrl("ace/mode/verilog",t("WTtc/gcF")),ace.config.setModuleUrl("ace/mode/vhdl",t("j0WuOmtE")),ace.config.setModuleUrl("ace/mode/visualforce",t("Ug9cCIUN")),ace.config.setModuleUrl("ace/mode/wollok",t("x5TxmCGK")),ace.config.setModuleUrl("ace/mode/xml",t("N8ZNXkxN")),ace.config.setModuleUrl("ace/mode/xquery",t("pfae/Eei")),ace.config.setModuleUrl("ace/mode/yaml",t("daeSfRSS")),ace.config.setModuleUrl("ace/mode/zeek",t("fH60Iz78")),ace.config.setModuleUrl("ace/theme/ambiance",t("+BTHcvgl")),ace.config.setModuleUrl("ace/theme/chaos",t("xmSxIYqH")),ace.config.setModuleUrl("ace/theme/chrome",t("yoZaq5uj")),ace.config.setModuleUrl("ace/theme/clouds",t("gebro2ae")),ace.config.setModuleUrl("ace/theme/clouds_midnight",t("B79XD7BN")),ace.config.setModuleUrl("ace/theme/cobalt",t("eerP0c9R")),ace.config.setModuleUrl("ace/theme/crimson_editor",t("fX2CCpgB")),ace.config.setModuleUrl("ace/theme/dawn",t("Aq/ZgnTZ")),ace.config.setModuleUrl("ace/theme/dracula",t("/XtRmhWK")),ace.config.setModuleUrl("ace/theme/dreamweaver",t("TFzPRioG")),ace.config.setModuleUrl("ace/theme/eclipse",t("SVJYoKL8")),ace.config.setModuleUrl("ace/theme/github",t("nXOQeV4Z")),ace.config.setModuleUrl("ace/theme/gob",t("EJoBxNsy")),ace.config.setModuleUrl("ace/theme/gruvbox",t("EwaiLkEa")),ace.config.setModuleUrl("ace/theme/idle_fingers",t("vZAEjrJT")),ace.config.setModuleUrl("ace/theme/iplastic",t("cF6TgmNW")),ace.config.setModuleUrl("ace/theme/katzenmilch",t("Giwik73q")),ace.config.setModuleUrl("ace/theme/kr_theme",t("aV5DfSVM")),ace.config.setModuleUrl("ace/theme/kuroir",t("jYitPRcW")),ace.config.setModuleUrl("ace/theme/merbivore",t("imOooRGd")),ace.config.setModuleUrl("ace/theme/merbivore_soft",t("lAmtsMtR")),ace.config.setModuleUrl("ace/theme/monokai",t("hkfqmcAE")),ace.config.setModuleUrl("ace/theme/mono_industrial",t("pPTZJEyo")),ace.config.setModuleUrl("ace/theme/nord_dark",t("KymL/b/P")),ace.config.setModuleUrl("ace/theme/pastel_on_dark",t("qqYq0T6o")),ace.config.setModuleUrl("ace/theme/solarized_dark",t("fi19NwwW")),ace.config.setModuleUrl("ace/theme/solarized_light",t("mVS2+Ljt")),ace.config.setModuleUrl("ace/theme/sqlserver",t("3Rg56MLJ")),ace.config.setModuleUrl("ace/theme/terminal",t("gBc1U5bM")),ace.config.setModuleUrl("ace/theme/textmate",t("h88GZDrT")),ace.config.setModuleUrl("ace/theme/tomorrow",t("16x1tHha")),ace.config.setModuleUrl("ace/theme/tomorrow_night",t("o8LJyLyl")),ace.config.setModuleUrl("ace/theme/tomorrow_night_blue",t("Q6GAibrw")),ace.config.setModuleUrl("ace/theme/tomorrow_night_bright",t("4p0wNy7i")),ace.config.setModuleUrl("ace/theme/tomorrow_night_eighties",t("IZ70iZ0u")),ace.config.setModuleUrl("ace/theme/twilight",t("Vb3XmqvT")),ace.config.setModuleUrl("ace/theme/vibrant_ink",t("ayYeMdgY")),ace.config.setModuleUrl("ace/theme/xcode",t("xyO5YCED")),ace.config.setModuleUrl("ace/mode/coffee_worker",t("AgNSGgUO")),ace.config.setModuleUrl("ace/mode/css_worker",t("p6z1qn/X")),ace.config.setModuleUrl("ace/mode/html_worker",t("o5o1SmPz")),ace.config.setModuleUrl("ace/mode/javascript_worker",t("d/0fwyfJ")),ace.config.setModuleUrl("ace/mode/json_worker",t("O2yNmyhK")),ace.config.setModuleUrl("ace/mode/lua_worker",t("+ddR406Z")),ace.config.setModuleUrl("ace/mode/php_worker",t("TN72gHNo")),ace.config.setModuleUrl("ace/mode/xml_worker",t("7VOegq9A")),ace.config.setModuleUrl("ace/mode/xquery_worker",t("0yBpymYr")),ace.config.setModuleUrl("ace/snippets/abap",t("avzMH6DY")),ace.config.setModuleUrl("ace/snippets/abc",t("R8poopDF")),ace.config.setModuleUrl("ace/snippets/actionscript",t("KoO7SC79")),ace.config.setModuleUrl("ace/snippets/ada",t("mkK3zLI/")),ace.config.setModuleUrl("ace/snippets/alda",t("wL3zL9v1")),ace.config.setModuleUrl("ace/snippets/apache_conf",t("rwkzKgyk")),ace.config.setModuleUrl("ace/snippets/apex",t("9ttzY+gz")),ace.config.setModuleUrl("ace/snippets/applescript",t("l1ocPyk4")),ace.config.setModuleUrl("ace/snippets/aql",t("9tW4ETiD")),ace.config.setModuleUrl("ace/snippets/asciidoc",t("VPmXlAtC")),ace.config.setModuleUrl("ace/snippets/asl",t("+22IkjtS")),ace.config.setModuleUrl("ace/snippets/assembly_x86",t("Ix16RfsA")),ace.config.setModuleUrl("ace/snippets/autohotkey",t("ZM0a57+x")),ace.config.setModuleUrl("ace/snippets/batchfile",t("FFZN8ltK")),ace.config.setModuleUrl("ace/snippets/c9search",t("aHnAO1KC")),ace.config.setModuleUrl("ace/snippets/cirru",t("HQZ5RQfO")),ace.config.setModuleUrl("ace/snippets/clojure",t("GNpKOw2C")),ace.config.setModuleUrl("ace/snippets/cobol",t("CHGUK+rS")),ace.config.setModuleUrl("ace/snippets/coffee",t("9DXjooQo")),ace.config.setModuleUrl("ace/snippets/coldfusion",t("f7ar0i9a")),ace.config.setModuleUrl("ace/snippets/crystal",t("quN0toIM")),ace.config.setModuleUrl("ace/snippets/csharp",t("4Jq7zhZI")),ace.config.setModuleUrl("ace/snippets/csound_document",t("a0QecoSi")),ace.config.setModuleUrl("ace/snippets/csound_orchestra",t("HqICChlB")),ace.config.setModuleUrl("ace/snippets/csound_score",t("eRXSCXdv")),ace.config.setModuleUrl("ace/snippets/csp",t("f6/PBDje")),ace.config.setModuleUrl("ace/snippets/css",t("FHoga4ib")),ace.config.setModuleUrl("ace/snippets/curly",t("5cYnbnRf")),ace.config.setModuleUrl("ace/snippets/c_cpp",t("62H+cJhB")),ace.config.setModuleUrl("ace/snippets/d",t("mweojbV+")),ace.config.setModuleUrl("ace/snippets/dart",t("q0rTpdcE")),ace.config.setModuleUrl("ace/snippets/diff",t("vxflMTE1")),ace.config.setModuleUrl("ace/snippets/django",t("sXxDtq/3")),ace.config.setModuleUrl("ace/snippets/dockerfile",t("2YX7UNCp")),ace.config.setModuleUrl("ace/snippets/dot",t("tL1Djyxq")),ace.config.setModuleUrl("ace/snippets/drools",t("mpJbAHco")),ace.config.setModuleUrl("ace/snippets/edifact",t("n9LKP9/E")),ace.config.setModuleUrl("ace/snippets/eiffel",t("1m2sEfoo")),ace.config.setModuleUrl("ace/snippets/ejs",t("iwlqyzCK")),ace.config.setModuleUrl("ace/snippets/elixir",t("fVPrdEsl")),ace.config.setModuleUrl("ace/snippets/elm",t("DVUpjBO+")),ace.config.setModuleUrl("ace/snippets/erlang",t("F+4y5Fgn")),ace.config.setModuleUrl("ace/snippets/forth",t("5EHgXuiC")),ace.config.setModuleUrl("ace/snippets/fortran",t("Q+GZV7jA")),ace.config.setModuleUrl("ace/snippets/fsharp",t("Znyl7VhH")),ace.config.setModuleUrl("ace/snippets/fsl",t("kBQOhgaS")),ace.config.setModuleUrl("ace/snippets/ftl",t("Y+6GI768")),ace.config.setModuleUrl("ace/snippets/gcode",t("yWVRn4+E")),ace.config.setModuleUrl("ace/snippets/gherkin",t("NsL/wTZs")),ace.config.setModuleUrl("ace/snippets/gitignore",t("w864l1Pb")),ace.config.setModuleUrl("ace/snippets/glsl",t("4RUm0Btw")),ace.config.setModuleUrl("ace/snippets/gobstones",t("80N6biu0")),ace.config.setModuleUrl("ace/snippets/golang",t("Pt9z2KI0")),ace.config.setModuleUrl("ace/snippets/graphqlschema",t("YBt5w227")),ace.config.setModuleUrl("ace/snippets/groovy",t("d2vnfSTC")),ace.config.setModuleUrl("ace/snippets/haml",t("EbA+6fiI")),ace.config.setModuleUrl("ace/snippets/handlebars",t("lb7Zta99")),ace.config.setModuleUrl("ace/snippets/haskell",t("U7ttnZ+y")),ace.config.setModuleUrl("ace/snippets/haskell_cabal",t("bpU+S8ds")),ace.config.setModuleUrl("ace/snippets/haxe",t("geHDKTrS")),ace.config.setModuleUrl("ace/snippets/hjson",t("mYYTEGsO")),ace.config.setModuleUrl("ace/snippets/html",t("TyFfbAI6")),ace.config.setModuleUrl("ace/snippets/html_elixir",t("hdn5+28R")),ace.config.setModuleUrl("ace/snippets/html_ruby",t("MQtivsQd")),ace.config.setModuleUrl("ace/snippets/ini",t("D5Oq7iSw")),ace.config.setModuleUrl("ace/snippets/io",t("2pG9WKud")),ace.config.setModuleUrl("ace/snippets/jack",t("6PSy53hx")),ace.config.setModuleUrl("ace/snippets/jade",t("QOy6BMUE")),ace.config.setModuleUrl("ace/snippets/java",t("MJ+l2//h")),ace.config.setModuleUrl("ace/snippets/javascript",t("oF3ktmsD")),ace.config.setModuleUrl("ace/snippets/json",t("LJwNGwvY")),ace.config.setModuleUrl("ace/snippets/json5",t("HZcVkJaj")),ace.config.setModuleUrl("ace/snippets/jsoniq",t("UhYuLL++")),ace.config.setModuleUrl("ace/snippets/jsp",t("ym2WA4Q2")),ace.config.setModuleUrl("ace/snippets/jssm",t("z1KVGe9l")),ace.config.setModuleUrl("ace/snippets/jsx",t("OJ+kzoaG")),ace.config.setModuleUrl("ace/snippets/julia",t("0pvmR+m4")),ace.config.setModuleUrl("ace/snippets/kotlin",t("lsiLNG3s")),ace.config.setModuleUrl("ace/snippets/latex",t("oZGPduw5")),ace.config.setModuleUrl("ace/snippets/less",t("+vFBB9YF")),ace.config.setModuleUrl("ace/snippets/liquid",t("VRU95B7q")),ace.config.setModuleUrl("ace/snippets/lisp",t("TJSM1X0u")),ace.config.setModuleUrl("ace/snippets/livescript",t("kk77QZAG")),ace.config.setModuleUrl("ace/snippets/logiql",t("1qkcMKNL")),ace.config.setModuleUrl("ace/snippets/logtalk",t("bGk/KJ/4")),ace.config.setModuleUrl("ace/snippets/lsl",t("J/w0U7md")),ace.config.setModuleUrl("ace/snippets/lua",t("SLF9kC6o")),ace.config.setModuleUrl("ace/snippets/luapage",t("8rVYTGy+")),ace.config.setModuleUrl("ace/snippets/lucene",t("jFvgXyKm")),ace.config.setModuleUrl("ace/snippets/makefile",t("1UaaHBzV")),ace.config.setModuleUrl("ace/snippets/markdown",t("TF7B40dr")),ace.config.setModuleUrl("ace/snippets/mask",t("zMo9kLF+")),ace.config.setModuleUrl("ace/snippets/matlab",t("oln2q6Ci")),ace.config.setModuleUrl("ace/snippets/maze",t("vDzPjaoq")),ace.config.setModuleUrl("ace/snippets/mediawiki",t("RB3OEA7U")),ace.config.setModuleUrl("ace/snippets/mel",t("KYWm6Ntl")),ace.config.setModuleUrl("ace/snippets/mixal",t("AejA2zVF")),ace.config.setModuleUrl("ace/snippets/mushcode",t("75Oz1BzI")),ace.config.setModuleUrl("ace/snippets/mysql",t("kB3MnFIw")),ace.config.setModuleUrl("ace/snippets/nginx",t("JsrUKB33")),ace.config.setModuleUrl("ace/snippets/nim",t("XjNmBj3f")),ace.config.setModuleUrl("ace/snippets/nix",t("Z6gpH3+b")),ace.config.setModuleUrl("ace/snippets/nsis",t("4Swr0PXn")),ace.config.setModuleUrl("ace/snippets/nunjucks",t("kOPWUEtO")),ace.config.setModuleUrl("ace/snippets/objectivec",t("BbdH3SFn")),ace.config.setModuleUrl("ace/snippets/ocaml",t("3x8Lh6Bx")),ace.config.setModuleUrl("ace/snippets/pascal",t("mP3BBUBm")),ace.config.setModuleUrl("ace/snippets/perl",t("UwWnJwVN")),ace.config.setModuleUrl("ace/snippets/perl6",t("iDYzf8NR")),ace.config.setModuleUrl("ace/snippets/pgsql",t("CfKkLhJG")),ace.config.setModuleUrl("ace/snippets/php",t("Cnnt4Qzs")),ace.config.setModuleUrl("ace/snippets/php_laravel_blade",t("CvTSp0Ea")),ace.config.setModuleUrl("ace/snippets/pig",t("tM11O7gM")),ace.config.setModuleUrl("ace/snippets/plain_text",t("5AIwnxVo")),ace.config.setModuleUrl("ace/snippets/powershell",t("IFeh4wAE")),ace.config.setModuleUrl("ace/snippets/praat",t("QfCqoDim")),ace.config.setModuleUrl("ace/snippets/prisma",t("MCqmcN23")),ace.config.setModuleUrl("ace/snippets/prolog",t("I9u0rsIN")),ace.config.setModuleUrl("ace/snippets/properties",t("SVhT70YV")),ace.config.setModuleUrl("ace/snippets/protobuf",t("jv+kSmqh")),ace.config.setModuleUrl("ace/snippets/puppet",t("0z527LnQ")),ace.config.setModuleUrl("ace/snippets/python",t("h2pNVQt/")),ace.config.setModuleUrl("ace/snippets/qml",t("fek/LWKN")),ace.config.setModuleUrl("ace/snippets/r",t("gF8eoj6y")),ace.config.setModuleUrl("ace/snippets/razor",t("UV+E1cv/")),ace.config.setModuleUrl("ace/snippets/rdoc",t("O6p7aU4W")),ace.config.setModuleUrl("ace/snippets/red",t("bRUnAF/a")),ace.config.setModuleUrl("ace/snippets/redshift",t("6Iwmwzcm")),ace.config.setModuleUrl("ace/snippets/rhtml",t("D52lSU9q")),ace.config.setModuleUrl("ace/snippets/rst",t("aU0zTjW+")),ace.config.setModuleUrl("ace/snippets/ruby",t("z+sG+m9R")),ace.config.setModuleUrl("ace/snippets/rust",t("ZqZC7z1w")),ace.config.setModuleUrl("ace/snippets/sass",t("3Envl7e5")),ace.config.setModuleUrl("ace/snippets/scad",t("uAwHhJA0")),ace.config.setModuleUrl("ace/snippets/scala",t("rm6KlgYn")),ace.config.setModuleUrl("ace/snippets/scheme",t("jF7/ZxWj")),ace.config.setModuleUrl("ace/snippets/scss",t("+Sh2jr7a")),ace.config.setModuleUrl("ace/snippets/sh",t("ScJRDELP")),ace.config.setModuleUrl("ace/snippets/sjs",t("mSTUYor1")),ace.config.setModuleUrl("ace/snippets/slim",t("v7rSSl9w")),ace.config.setModuleUrl("ace/snippets/smarty",t("LxddSaE/")),ace.config.setModuleUrl("ace/snippets/snippets",t("J35dLvJS")),ace.config.setModuleUrl("ace/snippets/soy_template",t("Bktld38o")),ace.config.setModuleUrl("ace/snippets/space",t("1eR3yPY9")),ace.config.setModuleUrl("ace/snippets/sparql",t("ETD6YXbz")),ace.config.setModuleUrl("ace/snippets/sql",t("qulDqPVm")),ace.config.setModuleUrl("ace/snippets/sqlserver",t("lU3lB3wM")),ace.config.setModuleUrl("ace/snippets/stylus",t("GpgPF75P")),ace.config.setModuleUrl("ace/snippets/svg",t("YLJRKGC4")),ace.config.setModuleUrl("ace/snippets/swift",t("lKjzvxeB")),ace.config.setModuleUrl("ace/snippets/tcl",t("RHqzr0C5")),ace.config.setModuleUrl("ace/snippets/terraform",t("gb0wGXRJ")),ace.config.setModuleUrl("ace/snippets/tex",t("UGhpNUV7")),ace.config.setModuleUrl("ace/snippets/text",t("tEDOir3w")),ace.config.setModuleUrl("ace/snippets/textile",t("IaEbG2fr")),ace.config.setModuleUrl("ace/snippets/toml",t("MYgphJSY")),ace.config.setModuleUrl("ace/snippets/tsx",t("LcpOkFT0")),ace.config.setModuleUrl("ace/snippets/turtle",t("cfKVxEYA")),ace.config.setModuleUrl("ace/snippets/twig",t("VwotmSiH")),ace.config.setModuleUrl("ace/snippets/typescript",t("UrJcLpIP")),ace.config.setModuleUrl("ace/snippets/vala",t("U3DmOV7V")),ace.config.setModuleUrl("ace/snippets/vbscript",t("ILy0aeUd")),ace.config.setModuleUrl("ace/snippets/velocity",t("dkLyTquH")),ace.config.setModuleUrl("ace/snippets/verilog",t("FEbWfF1p")),ace.config.setModuleUrl("ace/snippets/vhdl",t("/d8TsqnF")),ace.config.setModuleUrl("ace/snippets/visualforce",t("iAXyYMup")),ace.config.setModuleUrl("ace/snippets/wollok",t("Ok5IuIq0")),ace.config.setModuleUrl("ace/snippets/xml",t("emj+QL9a")),ace.config.setModuleUrl("ace/snippets/xquery",t("elwTtddw")),ace.config.setModuleUrl("ace/snippets/yaml",t("OXv0shTU")),ace.config.setModuleUrl("ace/snippets/zeek",t("4wnvWGf6"))},v7rSSl9w:function(e,exports,t){e.exports=t.p+"17dc98279d24649d3ca77cbce8c44e83.js"},vDzPjaoq:function(e,exports,t){e.exports=t.p+"f5bea0e1099339b99b21ee2d3c0fc489.js"},vZAEjrJT:function(e,exports,t){e.exports=t.p+"26aa6a394ec36fa291bb1b6c75faca71.js"},"vdBj+UTT":function(e,exports,t){e.exports=t.p+"e4565878df49fd4ce3edd3f1022c1695.js"},vlKMHcvz:function(e,exports){function t(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32}var i=-1;t.Diff,t.prototype.diff_main=function(e,t,i,n){void 0===n&&(n=this.Diff_Timeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*this.Diff_Timeout);var s=n;if(null==e||null==t)throw new Error("Null input. (diff_main)");if(e==t)return e?[[0,e]]:[];void 0===i&&(i=!0);var o=i,r=this.diff_commonPrefix(e,t),a=e.substring(0,r);e=e.substring(r),t=t.substring(r),r=this.diff_commonSuffix(e,t);var c=e.substring(e.length-r);e=e.substring(0,e.length-r),t=t.substring(0,t.length-r);var l=this.diff_compute_(e,t,o,s);return a&&l.unshift([0,a]),c&&l.push([0,c]),this.diff_cleanupMerge(l),l},t.prototype.diff_compute_=function(e,t,n,s){var o;if(!e)return[[1,t]];if(!t)return[[i,e]];var r=e.length>t.length?e:t,a=e.length>t.length?t:e,c=r.indexOf(a);if(-1!=c)return o=[[1,r.substring(0,c)],[0,a],[1,r.substring(c+a.length)]],e.length>t.length&&(o[0][0]=o[2][0]=i),o;if(1==a.length)return[[i,e],[1,t]];var l=this.diff_halfMatch_(e,t);if(l){var h=l[0],d=l[1],u=l[2],f=l[3],g=l[4],p=this.diff_main(h,u,n,s),m=this.diff_main(d,f,n,s);return p.concat([[0,g]],m)}return n&&e.length>100&&t.length>100?this.diff_lineMode_(e,t,s):this.diff_bisect_(e,t,s)},t.prototype.diff_lineMode_=function(e,t,n){e=(d=this.diff_linesToChars_(e,t)).chars1,t=d.chars2;var s=d.lineArray,o=this.diff_main(e,t,!1,n);this.diff_charsToLines_(o,s),this.diff_cleanupSemantic(o),o.push([0,""]);for(var r=0,a=0,c=0,l="",h="";r=1&&c>=1){o.splice(r-a-c,a+c),r=r-a-c;for(var d,u=(d=this.diff_main(l,h,!1,n)).length-1;u>=0;u--)o.splice(r,0,d[u]);r+=d.length}c=0,a=0,l="",h=""}r++}return o.pop(),o},t.prototype.diff_bisect_=function(e,t,n){for(var s=e.length,o=t.length,r=Math.ceil((s+o)/2),a=r,c=2*r,l=new Array(c),h=new Array(c),d=0;dn);v++){for(var w=-v+g;w<=v-p;w+=2){for(var y=a+w,x=(A=w==-v||w!=v&&l[y-1]s)p+=2;else if(x>o)g+=2;else if(f){if((M=a+u-w)>=0&&M=(C=s-h[M]))return this.diff_bisectSplit_(e,t,A,x,n)}}for(var S=-v+m;S<=v-b;S+=2){for(var C,M=a+S,k=(C=S==-v||S!=v&&h[M-1]s)b+=2;else if(k>o)m+=2;else if(!f){if((y=a+u-S)>=0&&y=(C=s-C))return this.diff_bisectSplit_(e,t,A,x,n)}}}}return[[i,e],[1,t]]},t.prototype.diff_bisectSplit_=function(e,t,i,n,s){var o=e.substring(0,i),r=t.substring(0,n),a=e.substring(i),c=t.substring(n),l=this.diff_main(o,r,!1,s),h=this.diff_main(a,c,!1,s);return l.concat(h)},t.prototype.diff_linesToChars_=function(e,t){var i=[],n={};function s(e){for(var t="",s=0,o=-1,r=i.length;on?e=e.substring(i-n):it.length?e:t,n=e.length>t.length?t:e;if(i.length<4||2*n.length=e.length?[n,o,r,a,h]:null}var r,a,c,l,h,d=o(i,n,Math.ceil(i.length/4)),u=o(i,n,Math.ceil(i.length/2));return d||u?(r=u?d&&d[4].length>u[4].length?d:u:d,e.length>t.length?(a=r[0],c=r[1],l=r[2],h=r[3]):(l=r[0],h=r[1],a=r[2],c=r[3]),[a,c,l,h,r[4]]):null},t.prototype.diff_cleanupSemantic=function(e){for(var t=!1,n=[],s=0,o=null,r=0,a=0,c=0,l=0,h=0;r0?n[s-1]:-1,a=0,c=0,l=0,h=0,o=null,t=!0)),r++;for(t&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),r=1;r=g?(f>=d.length/2||f>=u.length/2)&&(e.splice(r,0,[0,u.substring(0,f)]),e[r-1][1]=d.substring(0,d.length-f),e[r+1][1]=u.substring(f),r++):(g>=d.length/2||g>=u.length/2)&&(e.splice(r,0,[0,d.substring(0,g)]),e[r-1][0]=1,e[r-1][1]=u.substring(0,u.length-g),e[r+1][0]=i,e[r+1][1]=d.substring(g),r++),r++}r++}},t.prototype.diff_cleanupSemanticLossless=function(e){function i(e,i){if(!e||!i)return 6;var n=e.charAt(e.length-1),s=i.charAt(0),o=n.match(t.nonAlphaNumericRegex_),r=s.match(t.nonAlphaNumericRegex_),a=o&&n.match(t.whitespaceRegex_),c=r&&s.match(t.whitespaceRegex_),l=a&&n.match(t.linebreakRegex_),h=c&&s.match(t.linebreakRegex_),d=l&&e.match(t.blanklineEndRegex_),u=h&&i.match(t.blanklineStartRegex_);return d||u?5:l||h?4:o&&!a&&c?3:a||c?2:o||r?1:0}for(var n=1;n=u&&(u=f,l=s,h=o,d=r)}e[n-1][1]!=l&&(l?e[n-1][1]=l:(e.splice(n-1,1),n--),e[n][1]=h,d?e[n+1][1]=d:(e.splice(n+1,1),n--))}n++}},t.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,t.whitespaceRegex_=/\s/,t.linebreakRegex_=/[\r\n]/,t.blanklineEndRegex_=/\n\r?\n$/,t.blanklineStartRegex_=/^\r?\n\r?\n/,t.prototype.diff_cleanupEfficiency=function(e){for(var t=!1,n=[],s=0,o=null,r=0,a=!1,c=!1,l=!1,h=!1;r0?n[s-1]:-1,l=h=!1),t=!0)),r++;t&&this.diff_cleanupMerge(e)},t.prototype.diff_cleanupMerge=function(e){e.push([0,""]);for(var t,n=0,s=0,o=0,r="",a="";n1?(0!==s&&0!==o&&(0!==(t=this.diff_commonPrefix(a,r))&&(n-s-o>0&&0==e[n-s-o-1][0]?e[n-s-o-1][1]+=a.substring(0,t):(e.splice(0,0,[0,a.substring(0,t)]),n++),a=a.substring(t),r=r.substring(t)),0!==(t=this.diff_commonSuffix(a,r))&&(e[n][1]=a.substring(a.length-t)+e[n][1],a=a.substring(0,a.length-t),r=r.substring(0,r.length-t))),0===s?e.splice(n-o,s+o,[1,a]):0===o?e.splice(n-s,s+o,[i,r]):e.splice(n-s-o,s+o,[i,r],[1,a]),n=n-s-o+(s?1:0)+(o?1:0)+1):0!==n&&0==e[n-1][0]?(e[n-1][1]+=e[n][1],e.splice(n,1)):n++,o=0,s=0,r="",a=""}""===e[e.length-1][1]&&e.pop();var c=!1;for(n=1;nt));n++)r=s,a=o;return e.length!=n&&e[n][0]===i?a:a+(t-r)},t.prototype.diff_prettyHtml=function(e){for(var t=[],n=/&/g,s=//g,r=/\n/g,a=0;a");switch(c){case 1:t[a]=''+l+"";break;case i:t[a]=''+l+"";break;case 0:t[a]=""+l+""}}return t.join("")},t.prototype.diff_text1=function(e){for(var t=[],i=0;ithis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var n=this.match_alphabet_(t),s=this;function o(e,n){var o=e/t.length,r=Math.abs(i-n);return s.Match_Distance?o+r/s.Match_Distance:r?1:o}var r=this.Match_Threshold,a=e.indexOf(t,i);-1!=a&&(r=Math.min(o(0,a),r),-1!=(a=e.lastIndexOf(t,i+t.length))&&(r=Math.min(o(0,a),r)));var c,l,h=1<=g;b--){var v=n[e.charAt(b-1)];if(m[b]=0===f?(m[b+1]<<1|1)&v:(m[b+1]<<1|1)&v|(d[b+1]|d[b])<<1|1|d[b+1],m[b]&h){var w=o(f,b-1);if(w<=r){if(r=w,!((a=b-1)>i))break;g=Math.max(1,2*i-a)}}}if(o(f+1,i)>r)break;d=m}return a},t.prototype.match_alphabet_=function(e){for(var t={},i=0;i2&&(this.diff_cleanupSemantic(r),this.diff_cleanupEfficiency(r));else if(e&&"object"==typeof e&&void 0===n&&void 0===s)r=e,o=this.diff_text1(r);else if("string"==typeof e&&n&&"object"==typeof n&&void 0===s)o=e,r=n;else{if("string"!=typeof e||"string"!=typeof n||!s||"object"!=typeof s)throw new Error("Unknown call format to patch_make.");o=e,r=s}if(0===r.length)return[];for(var a=[],c=new t.patch_obj,l=0,h=0,d=0,u=o,f=o,g=0;g=2*this.Patch_Margin&&l&&(this.patch_addContext_(c,u),a.push(c),c=new t.patch_obj,l=0,u=f,h=d)}1!==p&&(h+=m.length),p!==i&&(d+=m.length)}return l&&(this.patch_addContext_(c,u),a.push(c)),a},t.prototype.patch_deepCopy=function(e){for(var i=[],n=0;nthis.Match_MaxBits?-1!=(a=this.match_main(t,h.substring(0,this.Match_MaxBits),l))&&(-1==(d=this.match_main(t,h.substring(h.length-this.Match_MaxBits),l+h.length-this.Match_MaxBits))||a>=d)&&(a=-1):a=this.match_main(t,h,l),-1==a)o[r]=!1,s-=e[r].length2-e[r].length1;else if(o[r]=!0,s=a-l,h==(c=-1==d?t.substring(a,a+h.length):t.substring(a,d+this.Match_MaxBits)))t=t.substring(0,a)+this.diff_text2(e[r].diffs)+t.substring(a+h.length);else{var u=this.diff_main(h,c,!1);if(h.length>this.Match_MaxBits&&this.diff_levenshtein(u)/h.length>this.Patch_DeleteThreshold)o[r]=!1;else{this.diff_cleanupSemanticLossless(u);for(var f,g=0,p=0;po[0][1].length){var r=t-o[0][1].length;o[0][1]=i.substring(o[0][1].length)+o[0][1],s.start1-=r,s.start2-=r,s.length1+=r,s.length2+=r}if(0==(o=(s=e[e.length-1]).diffs).length||0!=o[o.length-1][0])o.push([0,i]),s.length1+=t,s.length2+=t;else if(t>o[o.length-1][1].length){r=t-o[o.length-1][1].length;o[o.length-1][1]+=i.substring(0,r),s.length1+=r,s.length2+=r}return i},t.prototype.patch_splitMax=function(e){for(var n=this.Match_MaxBits,s=0;s2*n?(l.length1+=u.length,r+=u.length,h=!1,l.diffs.push([d,u]),o.diffs.shift()):(u=u.substring(0,n-l.length1-this.Patch_Margin),l.length1+=u.length,r+=u.length,0===d?(l.length2+=u.length,a+=u.length):h=!1,l.diffs.push([d,u]),u==o.diffs[0][1]?o.diffs.shift():o.diffs[0][1]=o.diffs[0][1].substring(u.length))}c=(c=this.diff_text2(l.diffs)).substring(c.length-this.Patch_Margin);var f=this.diff_text1(o.diffs).substring(0,this.Patch_Margin);""!==f&&(l.length1+=f.length,l.length2+=f.length,0!==l.diffs.length&&0===l.diffs[l.diffs.length-1][0]?l.diffs[l.diffs.length-1][1]+=f:l.diffs.push([0,f])),h||e.splice(++s,0,l)}}},t.prototype.patch_toText=function(e){for(var t=[],i=0;i0&&e.handleMarkers(x,t);for(n=0;n0&&this.handleMarkers(S);var A=this.editor.$options;l.editorOptions.forEach((function(t){A.hasOwnProperty(t)?e.editor.setOption(t,e.props[t]):e.props[t]&&console.warn("ReactAce: editor option "+t+" was activated but not found. Did you need to import a related tool or did you possibly mispell the option?")})),this.handleOptions(this.props),Array.isArray(y)&&y.forEach((function(t){"string"==typeof t.exec?e.editor.commands.bindKey(t.bindKey,t.exec):e.editor.commands.addCommand(t)})),v&&this.editor.setKeyboardHandler("ace/keyboard/"+v),i&&(this.refEditor.className+=" "+i),w&&w(this.editor),this.editor.resize(),r&&this.editor.focus()},t.prototype.componentDidUpdate=function(e){for(var t=e,i=this.props,n=0;n




© 2015 - 2024 Weber Informatics LLC | Privacy Policy