| 1 |
import{eh as we,bp as It,bq as Ot,cQ as ci}from"./main-96.js";var wt={exports:{}},Gt;function Ze(){return Gt||(Gt=1,(function(q,j){(function(){var T="ace",M=(function(){return this})();!M&&typeof window!="undefined"&&(M=window);var z=function(r,i,n){if(typeof r!="string"){z.original&&z.original.apply(this,arguments);return}arguments.length==2&&(n=i),z.modules[r]||(z.payloads[r]=n,z.modules[r]=null)};z.modules={},z.payloads={};var k=function(r,i,n){if(typeof i=="string"){var t=a(r,i);if(t!=null)return n&&n(),t}else if(Object.prototype.toString.call(i)==="[object Array]"){for(var e=[],o=0,s=i.length;o<s;++o){var h=a(r,i[o]);if(h==null&&y.original)return;e.push(h)}return n&&n.apply(null,e)||!0}},y=function(r,i){var n=k("",r,i);return n==null&&y.original?y.original.apply(this,arguments):n},b=function(r,i){if(i.indexOf("!")!==-1){var n=i.split("!");return b(r,n[0])+"!"+b(r,n[1])}if(i.charAt(0)=="."){var t=r.split("/").slice(0,-1).join("/");for(i=t+"/"+i;i.indexOf(".")!==-1&&e!=i;){var e=i;i=i.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return i},a=function(r,i){i=b(r,i);var n=z.modules[i];if(!n){if(n=z.payloads[i],typeof n=="function"){var t={},e={id:i,uri:"",exports:t,packaged:!0},o=function(h,u){return k(i,h,u)},s=n(o,t,e);t=s||e.exports,z.modules[i]=t,delete z.payloads[i]}n=z.modules[i]=t||n}return n};function l(r){var i=M;M[r]||(M[r]={}),i=M[r],(!i.define||!i.define.packaged)&&(z.original=i.define,i.define=z,i.define.packaged=!0),(!i.require||!i.require.packaged)&&(y.original=i.require,i.require=y,i.require.packaged=!0)}l(T)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(T,M,z){function k(y,b,a){Object.defineProperty(y,b,{value:a,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||k(String.prototype,"startsWith",function(y,b){return b=b||0,this.lastIndexOf(y,b)===b}),String.prototype.endsWith||k(String.prototype,"endsWith",function(y,b){var a=this;(b===void 0||b>a.length)&&(b=a.length),b-=y.length;var l=a.indexOf(y,b);return l!==-1&&l===b}),String.prototype.repeat||k(String.prototype,"repeat",function(y){for(var b="",a=this;y>0;)y&1&&(b+=a),(y>>=1)&&(a+=a);return b}),String.prototype.includes||k(String.prototype,"includes",function(y,b){return this.indexOf(y,b)!=-1}),Object.assign||(Object.assign=function(y){if(y==null)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(y),a=1;a<arguments.length;a++){var l=arguments[a];l!=null&&Object.keys(l).forEach(function(r){b[r]=l[r]})}return b}),Object.values||(Object.values=function(y){return Object.keys(y).map(function(b){return y[b]})}),Array.prototype.find||k(Array.prototype,"find",function(y){for(var b=this.length,a=arguments[1],l=0;l<b;l++){var r=this[l];if(y.call(a,r,l,this))return r}}),Array.prototype.findIndex||k(Array.prototype,"findIndex",function(y){for(var b=this.length,a=arguments[1],l=0;l<b;l++){var r=this[l];if(y.call(a,r,l,this))return l}}),Array.prototype.includes||k(Array.prototype,"includes",function(y,b){return this.indexOf(y,b)!=-1}),Array.prototype.fill||k(Array.prototype,"fill",function(y){for(var b=this,a=b.length>>>0,l=arguments[1],r=l>>0,i=r<0?Math.max(a+r,0):Math.min(r,a),n=arguments[2],t=n===void 0?a:n>>0,e=t<0?Math.max(a+t,0):Math.min(t,a);i<e;)b[i]=y,i++;return b}),Array.of||k(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(T,M,z){T("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(T,M,z){M.deepCopy=function k(y){if(typeof y!="object"||!y)return y;var b;if(Array.isArray(y)){b=[];for(var a=0;a<y.length;a++)b[a]=k(y[a]);return b}if(Object.prototype.toString.call(y)!=="[object Object]")return y;b={};for(var a in y)b[a]=k(y[a]);return b}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(T,M,z){M.last=function(b){return b[b.length-1]},M.stringReverse=function(b){return b.split("").reverse().join("")},M.stringRepeat=function(b,a){for(var l="";a>0;)a&1&&(l+=b),(a>>=1)&&(b+=b);return l};var k=/^\s\s*/,y=/\s\s*$/;M.stringTrimLeft=function(b){return b.replace(k,"")},M.stringTrimRight=function(b){return b.replace(y,"")},M.copyObject=function(b){var a={};for(var l in b)a[l]=b[l];return a},M.copyArray=function(b){for(var a=[],l=0,r=b.length;l<r;l++)b[l]&&typeof b[l]=="object"?a[l]=this.copyObject(b[l]):a[l]=b[l];return a},M.deepCopy=T("./deep_copy").deepCopy,M.arrayToMap=function(b){for(var a={},l=0;l<b.length;l++)a[b[l]]=1;return a},M.createMap=function(b){var a=Object.create(null);for(var l in b)a[l]=b[l];return a},M.arrayRemove=function(b,a){for(var l=0;l<=b.length;l++)a===b[l]&&b.splice(l,1)},M.escapeRegExp=function(b){return b.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},M.escapeHTML=function(b){return(""+b).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},M.getMatchOffsets=function(b,a){var l=[];return b.replace(a,function(r){l.push({offset:arguments[arguments.length-2],length:r.length})}),l},M.deferredCall=function(b){var a=null,l=function(){a=null,b()},r=function(i){return r.cancel(),a=setTimeout(l,i||0),r};return r.schedule=r,r.call=function(){return this.cancel(),b(),r},r.cancel=function(){return clearTimeout(a),a=null,r},r.isPending=function(){return a},r},M.delayedCall=function(b,a){var l=null,r=function(){l=null,b()},i=function(n){l==null&&(l=setTimeout(r,n||a))};return i.delay=function(n){l&&clearTimeout(l),l=setTimeout(r,n||a)},i.schedule=i,i.call=function(){this.cancel(),b()},i.cancel=function(){l&&clearTimeout(l),l=null},i.isPending=function(){return l},i},M.sleep=function(b){return new Promise(function(a){setTimeout(a,b)})},M.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch(b){return!1}return!0},M.skipEmptyMatch=function(b,a,l){return l&&b.codePointAt(a)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(T,M,z){M.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},M.getOS=function(){return M.isMac?M.OS.MAC:M.isLinux?M.OS.LINUX:M.OS.WINDOWS};var k=typeof navigator=="object"?navigator:{},y=(/mac|win|linux/i.exec(k.platform)||["other"])[0].toLowerCase(),b=k.userAgent||"",a=k.appName||"";M.isWin=y=="win",M.isMac=y=="mac",M.isLinux=y=="linux",M.isIE=a=="Microsoft Internet Explorer"||a.indexOf("MSAppHost")>=0?parseFloat((b.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((b.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),M.isOldIE=M.isIE&&M.isIE<9,M.isGecko=M.isMozilla=b.match(/ Gecko\/\d+/),M.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",M.isWebKit=parseFloat(b.split("WebKit/")[1])||void 0,M.isChrome=parseFloat(b.split(" Chrome/")[1])||void 0,M.isSafari=parseFloat(b.split(" Safari/")[1])&&!M.isChrome||void 0,M.isEdge=parseFloat(b.split(" Edge/")[1])||void 0,M.isAIR=b.indexOf("AdobeAIR")>=0,M.isAndroid=b.indexOf("Android")>=0,M.isChromeOS=b.indexOf(" CrOS ")>=0,M.isIOS=/iPad|iPhone|iPod/.test(b)&&!window.MSStream,M.isIOS&&(M.isMac=!0),M.isMobile=M.isIOS||M.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(T,M,z){var k=T("./useragent"),y="http://www.w3.org/1999/xhtml";M.buildDom=function n(t,e,o){if(typeof t=="string"&&t){var s=document.createTextNode(t);return e&&e.appendChild(s),s}if(!Array.isArray(t))return t&&t.appendChild&&e&&e.appendChild(t),t;if(typeof t[0]!="string"||!t[0]){for(var h=[],u=0;u<t.length;u++){var A=n(t[u],e,o);A&&h.push(A)}return h}var x=document.createElement(t[0]),f=t[1],c=1;f&&typeof f=="object"&&!Array.isArray(f)&&(c=2);for(var u=c;u<t.length;u++)n(t[u],x,o);return c==2&&Object.keys(f).forEach(function(g){var w=f[g];g==="class"?x.className=Array.isArray(w)?w.join(" "):w:typeof w=="function"||g=="value"||g[0]=="$"?x[g]=w:g==="ref"?o&&(o[w]=x):g==="style"?typeof w=="string"&&(x.style.cssText=w):w!=null&&x.setAttribute(g,w)}),e&&e.appendChild(x),x},M.getDocumentHead=function(n){return n||(n=document),n.head||n.getElementsByTagName("head")[0]||n.documentElement},M.createElement=function(n,t){return document.createElementNS?document.createElementNS(t||y,n):document.createElement(n)},M.removeChildren=function(n){n.innerHTML=""},M.createTextNode=function(n,t){var e=t?t.ownerDocument:document;return e.createTextNode(n)},M.createFragment=function(n){var t=n?n.ownerDocument:document;return t.createDocumentFragment()},M.hasCssClass=function(n,t){var e=(n.className+"").split(/\s+/g);return e.indexOf(t)!==-1},M.addCssClass=function(n,t){M.hasCssClass(n,t)||(n.className+=" "+t)},M.removeCssClass=function(n,t){for(var e=n.className.split(/\s+/g);;){var o=e.indexOf(t);if(o==-1)break;e.splice(o,1)}n.className=e.join(" ")},M.toggleCssClass=function(n,t){for(var e=n.className.split(/\s+/g),o=!0;;){var s=e.indexOf(t);if(s==-1)break;o=!1,e.splice(s,1)}return o&&e.push(t),n.className=e.join(" "),o},M.setCssClass=function(n,t,e){e?M.addCssClass(n,t):M.removeCssClass(n,t)},M.hasCssString=function(n,t){var e=0,o;if(t=t||document,o=t.querySelectorAll("style")){for(;e<o.length;)if(o[e++].id===n)return!0}},M.removeElementById=function(n,t){t=t||document,t.getElementById(n)&&t.getElementById(n).remove()};var b,a=[];M.useStrictCSP=function(n){b=n,n==!1?l():a||(a=[])};function l(){var n=a;a=null,n&&n.forEach(function(t){r(t[0],t[1])})}function r(n,t,e){if(typeof document!="undefined"){if(a){if(e)l();else if(e===!1)return a.push([n,t])}if(!b){var o=e;!e||!e.getRootNode?o=document:(o=e.getRootNode(),(!o||o==e)&&(o=document));var s=o.ownerDocument||o;if(t&&M.hasCssString(t,o))return null;t&&(n+=` |
| 2 |
/*# sourceURL=ace/css/`+t+" */");var h=M.createElement("style");h.appendChild(s.createTextNode(n)),t&&(h.id=t),o==s&&(o=M.getDocumentHead(s)),o.insertBefore(h,o.firstChild)}}}if(M.importCssString=r,M.importCssStylsheet=function(n,t){M.buildDom(["link",{rel:"stylesheet",href:n}],M.getDocumentHead(t))},M.$fixPositionBug=function(n){var t=n.getBoundingClientRect();if(n.style.left){var e=parseFloat(n.style.left),o=+t.left;Math.abs(e-o)>1&&(n.style.left=2*e-o+"px")}if(n.style.right){var e=parseFloat(n.style.right),o=window.innerWidth-t.right;Math.abs(e-o)>1&&(n.style.right=2*e-o+"px")}if(n.style.top){var e=parseFloat(n.style.top),o=+t.top;Math.abs(e-o)>1&&(n.style.top=2*e-o+"px")}if(n.style.bottom){var e=parseFloat(n.style.bottom),o=window.innerHeight-t.bottom;Math.abs(e-o)>1&&(n.style.bottom=2*e-o+"px")}},M.scrollbarWidth=function(n){var t=M.createElement("ace_inner");t.style.width="100%",t.style.minWidth="0px",t.style.height="200px",t.style.display="block";var e=M.createElement("ace_outer"),o=e.style;o.position="absolute",o.left="-10000px",o.overflow="hidden",o.width="200px",o.minWidth="0px",o.height="150px",o.display="block",e.appendChild(t);var s=n&&n.documentElement||document&&document.documentElement;if(!s)return 0;s.appendChild(e);var h=t.offsetWidth;o.overflow="scroll";var u=t.offsetWidth;return h===u&&(u=e.clientWidth),s.removeChild(e),h-u},M.computedStyle=function(n,t){return window.getComputedStyle(n,"")||{}},M.setStyle=function(n,t,e){n[t]!==e&&(n[t]=e)},M.HAS_CSS_ANIMATION=!1,M.HAS_CSS_TRANSFORMS=!1,M.HI_DPI=k.isWin?typeof window!="undefined"&&window.devicePixelRatio>=1.5:!0,k.isChromeOS&&(M.HI_DPI=!1),typeof document!="undefined"){var i=document.createElement("div");M.HI_DPI&&i.style.transform!==void 0&&(M.HAS_CSS_TRANSFORMS=!0),!k.isEdge&&typeof i.style.animationName!="undefined"&&(M.HAS_CSS_ANIMATION=!0),i=null}M.HAS_CSS_TRANSFORMS?M.translate=function(n,t,e){n.style.transform="translate("+Math.round(t)+"px, "+Math.round(e)+"px)"}:M.translate=function(n,t,e){n.style.top=Math.round(e)+"px",n.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(T,M,z){var k=T("./dom");M.get=function(y,b){var a=new XMLHttpRequest;a.open("GET",y,!0),a.onreadystatechange=function(){a.readyState===4&&b(a.responseText)},a.send(null)},M.loadScript=function(y,b){var a=k.getDocumentHead(),l=document.createElement("script");l.src=y,a.appendChild(l),l.onload=l.onreadystatechange=function(r,i){(i||!l.readyState||l.readyState=="loaded"||l.readyState=="complete")&&(l=l.onload=l.onreadystatechange=null,i||b())}},M.qualifyURL=function(y){var b=document.createElement("a");return b.href=y,b.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(T,M,z){M.inherits=function(k,y){k.super_=y,k.prototype=Object.create(y.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}})},M.mixin=function(k,y){for(var b in y)k[b]=y[b];return k},M.implement=function(k,y){M.mixin(k,y)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(T,M,z){var k={},y=function(){this.propagationStopped=!0},b=function(){this.defaultPrevented=!0};k._emit=k._dispatchEvent=function(a,l){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var r=this._eventRegistry[a]||[],i=this._defaultHandlers[a];if(!(!r.length&&!i)){(typeof l!="object"||!l)&&(l={}),l.type||(l.type=a),l.stopPropagation||(l.stopPropagation=y),l.preventDefault||(l.preventDefault=b),r=r.slice();for(var n=0;n<r.length&&(r[n](l,this),!l.propagationStopped);n++);if(i&&!l.defaultPrevented)return i(l,this)}},k._signal=function(a,l){var r=(this._eventRegistry||{})[a];if(r){r=r.slice();for(var i=0;i<r.length;i++)r[i](l,this)}},k.once=function(a,l){var r=this;if(this.on(a,function i(){r.off(a,i),l.apply(null,arguments)}),!l)return new Promise(function(i){l=i})},k.setDefaultHandler=function(a,l){var r=this._defaultHandlers;if(r||(r=this._defaultHandlers={_disabled_:{}}),r[a]){var i=r[a],n=r._disabled_[a];n||(r._disabled_[a]=n=[]),n.push(i);var t=n.indexOf(l);t!=-1&&n.splice(t,1)}r[a]=l},k.removeDefaultHandler=function(a,l){var r=this._defaultHandlers;if(r){var i=r._disabled_[a];if(r[a]==l)i&&this.setDefaultHandler(a,i.pop());else if(i){var n=i.indexOf(l);n!=-1&&i.splice(n,1)}}},k.on=k.addEventListener=function(a,l,r){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[a];return i||(i=this._eventRegistry[a]=[]),i.indexOf(l)==-1&&i[r?"unshift":"push"](l),l},k.off=k.removeListener=k.removeEventListener=function(a,l){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[a];if(r){var i=r.indexOf(l);i!==-1&&r.splice(i,1)}},k.removeAllListeners=function(a){a||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[a]=void 0),this._defaultHandlers&&(this._defaultHandlers[a]=void 0)},M.EventEmitter=k}),ace.define("ace/lib/report_error",["require","exports","module"],function(T,M,z){M.reportError=function(y,b){var a=new Error(y);a.data=b,setTimeout(function(){throw a})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(T,M,z){var k={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions","editor.tooltip.disable-editing":"Editing is disabled"};M.defaultEnglishMessages=k}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(T,M,z){"no use strict";var k=T("./oop"),y=T("./event_emitter").EventEmitter,b=T("./report_error").reportError,a=T("./default_english_messages").defaultEnglishMessages,l={setOptions:function(e){Object.keys(e).forEach(function(o){this.setOption(o,e[o])},this)},getOptions:function(e){var o={};if(e)Array.isArray(e)||(e=Object.keys(e));else{var s=this.$options;e=Object.keys(s).filter(function(h){return!s[h].hidden})}return e.forEach(function(h){o[h]=this.getOption(h)},this),o},setOption:function(e,o){if(this["$"+e]!==o){var s=this.$options[e];if(!s)return""+e,void 0;if(s.forwardTo)return this[s.forwardTo]&&this[s.forwardTo].setOption(e,o);s.handlesSet||(this["$"+e]=o),s&&s.set&&s.set.call(this,o)}},getOption:function(e){var o=this.$options[e];return o?o.forwardTo?this[o.forwardTo]&&this[o.forwardTo].getOption(e):o&&o.get?o.get.call(this):this["$"+e]:(""+e,void 0)}};function r(e){}var i,n,t=(function(){function e(){this.$defaultOptions={},i=a,n="dollarSigns"}return e.prototype.defineOptions=function(o,s,h){return o.$options||(this.$defaultOptions[s]=o.$options={}),Object.keys(h).forEach(function(u){var A=h[u];typeof A=="string"&&(A={forwardTo:A}),A.name||(A.name=u),o.$options[A.name]=A,"initialValue"in A&&(o["$"+A.name]=A.initialValue)}),k.implement(o,l),this},e.prototype.resetOptions=function(o){Object.keys(o.$options).forEach(function(s){var h=o.$options[s];"value"in h&&o.setOption(s,h.value)})},e.prototype.setDefaultValue=function(o,s,h){if(!o){for(o in this.$defaultOptions)if(this.$defaultOptions[o][s])break;if(!this.$defaultOptions[o][s])return!1}var u=this.$defaultOptions[o]||(this.$defaultOptions[o]={});u[s]&&(u.forwardTo?this.setDefaultValue(u.forwardTo,s,h):u[s].value=h)},e.prototype.setDefaultValues=function(o,s){Object.keys(s).forEach(function(h){this.setDefaultValue(o,h,s[h])},this)},e.prototype.setMessages=function(o,s){i=o,s&&s.placeholders&&(n=s.placeholders)},e.prototype.nls=function(o,s,h){i[o]||(""+o+i.$id+s,i[s]||(""+s,void 0));var u=i[o]||i[s]||s;return h&&(n==="dollarSigns"&&(u=u.replace(/\$(\$|[\d]+)/g,function(A,x){return x=="$"?"$":h[x]})),n==="curlyBrackets"&&(u=u.replace(/\{([^\}]+)\}/g,function(A,x){return h[x]}))),u},e})();t.prototype.warn=r,t.prototype.reportError=b,k.implement(t.prototype,y),M.AppConfig=t}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(T,M,z){z.exports=`.ace-tm .ace_gutter { |
| 3 |
background: #f0f0f0; |
| 4 |
color: #333; |
| 5 |
} |
| 6 |
|
| 7 |
.ace-tm .ace_print-margin { |
| 8 |
width: 1px; |
| 9 |
background: #e8e8e8; |
| 10 |
} |
| 11 |
|
| 12 |
.ace-tm .ace_fold { |
| 13 |
background-color: #6B72E6; |
| 14 |
} |
| 15 |
|
| 16 |
.ace-tm { |
| 17 |
background-color: #FFFFFF; |
| 18 |
color: black; |
| 19 |
} |
| 20 |
|
| 21 |
.ace-tm .ace_cursor { |
| 22 |
color: black; |
| 23 |
} |
| 24 |
|
| 25 |
.ace-tm .ace_invisible { |
| 26 |
color: rgb(191, 191, 191); |
| 27 |
} |
| 28 |
|
| 29 |
.ace-tm .ace_storage, |
| 30 |
.ace-tm .ace_keyword { |
| 31 |
color: blue; |
| 32 |
} |
| 33 |
|
| 34 |
.ace-tm .ace_constant { |
| 35 |
color: rgb(197, 6, 11); |
| 36 |
} |
| 37 |
|
| 38 |
.ace-tm .ace_constant.ace_buildin { |
| 39 |
color: rgb(88, 72, 246); |
| 40 |
} |
| 41 |
|
| 42 |
.ace-tm .ace_constant.ace_language { |
| 43 |
color: rgb(88, 92, 246); |
| 44 |
} |
| 45 |
|
| 46 |
.ace-tm .ace_constant.ace_library { |
| 47 |
color: rgb(6, 150, 14); |
| 48 |
} |
| 49 |
|
| 50 |
.ace-tm .ace_invalid { |
| 51 |
background-color: rgba(255, 0, 0, 0.1); |
| 52 |
color: red; |
| 53 |
} |
| 54 |
|
| 55 |
.ace-tm .ace_support.ace_function { |
| 56 |
color: rgb(60, 76, 114); |
| 57 |
} |
| 58 |
|
| 59 |
.ace-tm .ace_support.ace_constant { |
| 60 |
color: rgb(6, 150, 14); |
| 61 |
} |
| 62 |
|
| 63 |
.ace-tm .ace_support.ace_type, |
| 64 |
.ace-tm .ace_support.ace_class { |
| 65 |
color: rgb(109, 121, 222); |
| 66 |
} |
| 67 |
|
| 68 |
.ace-tm .ace_keyword.ace_operator { |
| 69 |
color: rgb(104, 118, 135); |
| 70 |
} |
| 71 |
|
| 72 |
.ace-tm .ace_string { |
| 73 |
color: rgb(3, 106, 7); |
| 74 |
} |
| 75 |
|
| 76 |
.ace-tm .ace_comment { |
| 77 |
color: rgb(76, 136, 107); |
| 78 |
} |
| 79 |
|
| 80 |
.ace-tm .ace_comment.ace_doc { |
| 81 |
color: rgb(0, 102, 255); |
| 82 |
} |
| 83 |
|
| 84 |
.ace-tm .ace_comment.ace_doc.ace_tag { |
| 85 |
color: rgb(128, 159, 191); |
| 86 |
} |
| 87 |
|
| 88 |
.ace-tm .ace_constant.ace_numeric { |
| 89 |
color: rgb(0, 0, 205); |
| 90 |
} |
| 91 |
|
| 92 |
.ace-tm .ace_variable { |
| 93 |
color: rgb(49, 132, 149); |
| 94 |
} |
| 95 |
|
| 96 |
.ace-tm .ace_xml-pe { |
| 97 |
color: rgb(104, 104, 91); |
| 98 |
} |
| 99 |
|
| 100 |
.ace-tm .ace_entity.ace_name.ace_function { |
| 101 |
color: #0000A2; |
| 102 |
} |
| 103 |
|
| 104 |
|
| 105 |
.ace-tm .ace_heading { |
| 106 |
color: rgb(12, 7, 255); |
| 107 |
} |
| 108 |
|
| 109 |
.ace-tm .ace_list { |
| 110 |
color:rgb(185, 6, 144); |
| 111 |
} |
| 112 |
|
| 113 |
.ace-tm .ace_meta.ace_tag { |
| 114 |
color:rgb(0, 22, 142); |
| 115 |
} |
| 116 |
|
| 117 |
.ace-tm .ace_string.ace_regex { |
| 118 |
color: rgb(255, 0, 0) |
| 119 |
} |
| 120 |
|
| 121 |
.ace-tm .ace_marker-layer .ace_selection { |
| 122 |
background: rgb(181, 213, 255); |
| 123 |
} |
| 124 |
.ace-tm.ace_multiselect .ace_selection.ace_start { |
| 125 |
box-shadow: 0 0 3px 0px white; |
| 126 |
} |
| 127 |
.ace-tm .ace_marker-layer .ace_step { |
| 128 |
background: rgb(252, 255, 0); |
| 129 |
} |
| 130 |
|
| 131 |
.ace-tm .ace_marker-layer .ace_stack { |
| 132 |
background: rgb(164, 229, 101); |
| 133 |
} |
| 134 |
|
| 135 |
.ace-tm .ace_marker-layer .ace_bracket { |
| 136 |
margin: -1px 0 0 -1px; |
| 137 |
border: 1px solid rgb(192, 192, 192); |
| 138 |
} |
| 139 |
|
| 140 |
.ace-tm .ace_marker-layer .ace_active-line { |
| 141 |
background: rgba(0, 0, 0, 0.07); |
| 142 |
} |
| 143 |
|
| 144 |
.ace-tm .ace_gutter-active-line { |
| 145 |
background-color : #dcdcdc; |
| 146 |
} |
| 147 |
|
| 148 |
.ace-tm .ace_marker-layer .ace_selected-word { |
| 149 |
background: rgb(250, 250, 255); |
| 150 |
border: 1px solid rgb(200, 200, 250); |
| 151 |
} |
| 152 |
|
| 153 |
.ace-tm .ace_indent-guide { |
| 154 |
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y; |
| 155 |
} |
| 156 |
|
| 157 |
.ace-tm .ace_indent-guide-active { |
| 158 |
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y; |
| 159 |
} |
| 160 |
`}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(T,M,z){M.isDark=!1,M.cssClass="ace-tm",M.cssText=T("./textmate-css"),M.$id="ace/theme/textmate";var k=T("../lib/dom");k.importCssString(M.cssText,M.cssClass,!1)}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],function(T,M,z){"no use strict";var k=T("./lib/lang"),y=T("./lib/net"),b=T("./lib/dom"),a=T("./lib/app_config").AppConfig;z.exports=M=new a;var l={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};M.get=function(t){if(!l.hasOwnProperty(t))throw new Error("Unknown config key: "+t);return l[t]},M.set=function(t,e){if(l.hasOwnProperty(t))l[t]=e;else if(this.setDefaultValue("",t,e)==!1)throw new Error("Unknown config key: "+t);t=="useStrictCSP"&&b.useStrictCSP(e)},M.all=function(){return k.copyObject(l)},M.$modes={},M.moduleUrl=function(t,e){if(l.$moduleUrls[t])return l.$moduleUrls[t];var o=t.split("/");e=e||o[o.length-2]||"";var s=e=="snippets"?"/":"-",h=o[o.length-1];if(e=="worker"&&s=="-"){var u=new RegExp("^"+e+"[\\-_]|[\\-_]"+e+"$","g");h=h.replace(u,"")}(!h||h==e)&&o.length>1&&(h=o[o.length-2]);var A=l[e+"Path"];return A==null?A=l.basePath:s=="/"&&(e=s=""),A&&A.slice(-1)!="/"&&(A+="/"),A+e+s+h+this.get("suffix")},M.setModuleUrl=function(t,e){return l.$moduleUrls[t]=e};var r=function(t,e){if(t==="ace/theme/textmate"||t==="./theme/textmate")return e(null,T("./theme/textmate"));if(i)return i(t,e)},i;M.setLoader=function(t){i=t},M.dynamicModules=Object.create(null),M.$loading={},M.$loaded={},M.loadModule=function(t,e){var o;if(Array.isArray(t))var s=t[0],h=t[1];else if(typeof t=="string")var h=t;var u=function(A){if(A&&!M.$loading[h])return e&&e(A);if(M.$loading[h]||(M.$loading[h]=[]),M.$loading[h].push(e),!(M.$loading[h].length>1)){var x=function(){r(h,function(f,c){c&&(M.$loaded[h]=c),M._emit("load.module",{name:h,module:c});var g=M.$loading[h];M.$loading[h]=null,g.forEach(function(w){w&&w(c)})})};if(!M.get("packaged"))return x();y.loadScript(M.moduleUrl(h,s),x),n()}};if(M.dynamicModules[h])M.dynamicModules[h]().then(function(A){A.default?u(A.default):u(A)});else{try{o=this.$require(h)}catch(A){}u(o||M.$loaded[h])}},M.$require=function(t){if(typeof z.require=="function"){var e="require";return z[e](t)}},M.setModuleLoader=function(t,e){M.dynamicModules[t]=e};var n=function(){!l.basePath&&!l.workerPath&&!l.modePath&&!l.themePath&&!Object.keys(l.$moduleUrls).length&&(n=function(){})};M.version="1.44.0"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(T,M,z){T("./lib/fixoldbrowsers");var k=T("./config");k.setLoader(function(l,r){T([l],function(i){r(null,i)})});var y=(function(){return this||typeof window!="undefined"&&window})();z.exports=function(l){k.init=b,k.$require=T,l.require=T},b(!0);function b(l){if(!(!y||!y.document)){k.set("packaged",l||T.packaged||z.packaged||y.define&&(void 0).packaged);var r={},i="",n=document.currentScript||document._currentScript,t=n&&n.ownerDocument||document;n&&n.src&&(i=n.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var e=t.getElementsByTagName("script"),o=0;o<e.length;o++){var s=e[o],h=s.src||s.getAttribute("src");if(h){for(var u=s.attributes,A=0,x=u.length;A<x;A++){var f=u[A];f.name.indexOf("data-ace-")===0&&(r[a(f.name.replace(/^data-ace-/,""))]=f.value)}var c=h.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);c&&(i=c[1])}}i&&(r.base=r.base||i,r.packaged=!0),r.basePath=r.base,r.workerPath=r.workerPath||r.base,r.modePath=r.modePath||r.base,r.themePath=r.themePath||r.base,delete r.base;for(var g in r)typeof r[g]!="undefined"&&k.set(g,r[g])}}function a(l){return l.replace(/-(.)/g,function(r,i){return i.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(T,M,z){var k=(function(){function y(b,a,l,r){this.start={row:b,column:a},this.end={row:l,column:r}}return y.prototype.isEqual=function(b){return this.start.row===b.start.row&&this.end.row===b.end.row&&this.start.column===b.start.column&&this.end.column===b.end.column},y.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},y.prototype.contains=function(b,a){return this.compare(b,a)==0},y.prototype.compareRange=function(b){var a,l=b.end,r=b.start;return a=this.compare(l.row,l.column),a==1?(a=this.compare(r.row,r.column),a==1?2:a==0?1:0):a==-1?-2:(a=this.compare(r.row,r.column),a==-1?-1:a==1?42:0)},y.prototype.comparePoint=function(b){return this.compare(b.row,b.column)},y.prototype.containsRange=function(b){return this.comparePoint(b.start)==0&&this.comparePoint(b.end)==0},y.prototype.intersects=function(b){var a=this.compareRange(b);return a==-1||a==0||a==1},y.prototype.isEnd=function(b,a){return this.end.row==b&&this.end.column==a},y.prototype.isStart=function(b,a){return this.start.row==b&&this.start.column==a},y.prototype.setStart=function(b,a){typeof b=="object"?(this.start.column=b.column,this.start.row=b.row):(this.start.row=b,this.start.column=a)},y.prototype.setEnd=function(b,a){typeof b=="object"?(this.end.column=b.column,this.end.row=b.row):(this.end.row=b,this.end.column=a)},y.prototype.inside=function(b,a){return this.compare(b,a)==0?!(this.isEnd(b,a)||this.isStart(b,a)):!1},y.prototype.insideStart=function(b,a){return this.compare(b,a)==0?!this.isEnd(b,a):!1},y.prototype.insideEnd=function(b,a){return this.compare(b,a)==0?!this.isStart(b,a):!1},y.prototype.compare=function(b,a){return!this.isMultiLine()&&b===this.start.row?a<this.start.column?-1:a>this.end.column?1:0:b<this.start.row?-1:b>this.end.row?1:this.start.row===b?a>=this.start.column?0:-1:this.end.row===b?a<=this.end.column?0:1:0},y.prototype.compareStart=function(b,a){return this.start.row==b&&this.start.column==a?-1:this.compare(b,a)},y.prototype.compareEnd=function(b,a){return this.end.row==b&&this.end.column==a?1:this.compare(b,a)},y.prototype.compareInside=function(b,a){return this.end.row==b&&this.end.column==a?1:this.start.row==b&&this.start.column==a?-1:this.compare(b,a)},y.prototype.clipRows=function(b,a){if(this.end.row>a)var l={row:a+1,column:0};else if(this.end.row<b)var l={row:b,column:0};if(this.start.row>a)var r={row:a+1,column:0};else if(this.start.row<b)var r={row:b,column:0};return y.fromPoints(r||this.start,l||this.end)},y.prototype.extend=function(b,a){var l=this.compare(b,a);if(l==0)return this;if(l==-1)var r={row:b,column:a};else var i={row:b,column:a};return y.fromPoints(r||this.start,i||this.end)},y.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},y.prototype.isMultiLine=function(){return this.start.row!==this.end.row},y.prototype.clone=function(){return y.fromPoints(this.start,this.end)},y.prototype.collapseRows=function(){return this.end.column==0?new y(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new y(this.start.row,0,this.end.row,0)},y.prototype.toScreenRange=function(b){var a=b.documentToScreenPosition(this.start),l=b.documentToScreenPosition(this.end);return new y(a.row,a.column,l.row,l.column)},y.prototype.moveBy=function(b,a){this.start.row+=b,this.start.column+=a,this.end.row+=b,this.end.column+=a},y})();k.fromPoints=function(y,b){return new k(y.row,y.column,b.row,b.column)},k.comparePoints=function(y,b){return y.row-b.row||y.column-b.column},M.Range=k}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(T,M,z){for(var k=T("./oop"),y={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","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},b={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},a=0;a<10;a++)b["Digit"+a]=48+a,b["Numpad"+a]=96+a,y.PRINTABLE_KEYS[48+a]=""+a,y.FUNCTION_KEYS[96+a]="Numpad"+a;for(var a=65;a<91;a++){var l=String.fromCharCode(a+32);b["Key"+l.toUpperCase()]=a,y.PRINTABLE_KEYS[a]=l}for(var a=1;a<13;a++)b["F"+a]=111+a,y.FUNCTION_KEYS[111+a]="F"+a;var r={Shift:16,Control:17,Alt:18,Meta:224};for(var i in r)b[i]=b[i+"Left"]=b[i+"Right"]=r[i];M.$codeToKeyCode=b,y.PRINTABLE_KEYS[173]="-";for(var n in y.FUNCTION_KEYS){var t=y.FUNCTION_KEYS[n].toLowerCase();y[t]=parseInt(n,10)}for(var n in y.PRINTABLE_KEYS){var t=y.PRINTABLE_KEYS[n].toLowerCase();y[t]=parseInt(n,10)}k.mixin(y,y.MODIFIER_KEYS),k.mixin(y,y.PRINTABLE_KEYS),k.mixin(y,y.FUNCTION_KEYS),y.enter=y.return,y.escape=y.esc,y.del=y.delete,(function(){for(var e=["cmd","ctrl","alt","shift"],o=Math.pow(2,e.length);o--;)y.KEY_MODS[o]=e.filter(function(s){return o&y.KEY_MODS[s]}).join("-")+"-"})(),y.KEY_MODS[0]="",y.KEY_MODS[-1]="input-",k.mixin(M,y),M.default=M,M.keyCodeToString=function(e){var o=y[e];return typeof o!="string"&&(o=String.fromCharCode(e)),o.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(T,M,z){var k=T("./keys"),y=T("./useragent"),b=null,a=0,l;function r(){l=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return l={passive:!1},!0}})}catch(A){}}function i(){return l==null&&r(),l}function n(A,x,f){this.elem=A,this.type=x,this.callback=f}n.prototype.destroy=function(){e(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var t=M.addListener=function(A,x,f,c){A.addEventListener(x,f,i()),c&&c.$toDestroy.push(new n(A,x,f))},e=M.removeListener=function(A,x,f){A.removeEventListener(x,f,i())};M.stopEvent=function(A){return M.stopPropagation(A),M.preventDefault(A),!1},M.stopPropagation=function(A){A.stopPropagation&&A.stopPropagation()},M.preventDefault=function(A){A.preventDefault&&A.preventDefault()},M.getButton=function(A){return A.type=="dblclick"?0:A.type=="contextmenu"||y.isMac&&A.ctrlKey&&!A.altKey&&!A.shiftKey?2:A.button},M.capture=function(A,x,f){var c=A&&A.ownerDocument||document;function g(w){x&&x(w),f&&f(w),e(c,"mousemove",x),e(c,"mouseup",g),e(c,"dragstart",g)}return t(c,"mousemove",x),t(c,"mouseup",g),t(c,"dragstart",g),g},M.addMouseWheelListener=function(A,x,f){t(A,"wheel",function(c){var g=.15,w=c.deltaX||0,m=c.deltaY||0;switch(c.deltaMode){case c.DOM_DELTA_PIXEL:c.wheelX=w*g,c.wheelY=m*g;break;case c.DOM_DELTA_LINE:var $=15;c.wheelX=w*$,c.wheelY=m*$;break;case c.DOM_DELTA_PAGE:var _=150;c.wheelX=w*_,c.wheelY=m*_;break}x(c)},f)},M.addMultiMouseDownListener=function(A,x,f,c,g){var w=0,m,$,_,S={2:"dblclick",3:"tripleclick",4:"quadclick"};function v(p){if(M.getButton(p)!==0?w=0:p.detail>1?(w++,w>4&&(w=1)):w=1,y.isIE){var d=Math.abs(p.clientX-m)>5||Math.abs(p.clientY-$)>5;(!_||d)&&(w=1),_&&clearTimeout(_),_=setTimeout(function(){_=null},x[w-1]||600),w==1&&(m=p.clientX,$=p.clientY)}if(p._clicks=w,f[c]("mousedown",p),w>4)w=0;else if(w>1)return f[c](S[w],p)}Array.isArray(A)||(A=[A]),A.forEach(function(p){t(p,"mousedown",v,g)})};function o(A){return 0|(A.ctrlKey?1:0)|(A.altKey?2:0)|(A.shiftKey?4:0)|(A.metaKey?8:0)}M.getModifierString=function(A){return k.KEY_MODS[o(A)]};function s(A,x,f){var c=o(x);if(!f&&x.code&&(f=k.$codeToKeyCode[x.code]||f),!y.isMac&&b){if(x.getModifierState&&(x.getModifierState("OS")||x.getModifierState("Win"))&&(c|=8),b.altGr)if((3&c)!=3)b.altGr=0;else return;if(f===18||f===17){var g=x.location;if(f===17&&g===1)b[f]==1&&(a=x.timeStamp);else if(f===18&&c===3&&g===2){var w=x.timeStamp-a;w<50&&(b.altGr=!0)}}}if(f in k.MODIFIER_KEYS&&(f=-1),!(!c&&f===13&&x.location===3&&(A(x,c,-f),x.defaultPrevented))){if(y.isChromeOS&&c&8){if(A(x,c,f),x.defaultPrevented)return;c&=-9}return!c&&!(f in k.FUNCTION_KEYS)&&!(f in k.PRINTABLE_KEYS)?!1:A(x,c,f)}}M.addCommandKeyListener=function(A,x,f){var c=null;t(A,"keydown",function(g){b[g.keyCode]=(b[g.keyCode]||0)+1;var w=s(x,g,g.keyCode);return c=g.defaultPrevented,w},f),t(A,"keypress",function(g){c&&(g.ctrlKey||g.altKey||g.shiftKey||g.metaKey)&&(M.stopEvent(g),c=null)},f),t(A,"keyup",function(g){b[g.keyCode]=null},f),b||(h(),t(window,"focus",h))};function h(){b=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!y.isOldIE){var u=1;M.nextTick=function(A,x){x=x||window;var f="zero-timeout-message-"+u++,c=function(g){g.data==f&&(M.stopPropagation(g),e(x,"message",c),A())};t(x,"message",c),x.postMessage(f,"*")}}M.$idleBlocked=!1,M.onIdle=function(A,x){return setTimeout(function f(){M.$idleBlocked?setTimeout(f,100):A()},x)},M.$idleBlockId=null,M.blockIdle=function(A){M.$idleBlockId&&clearTimeout(M.$idleBlockId),M.$idleBlocked=!0,M.$idleBlockId=setTimeout(function(){M.$idleBlocked=!1},A||100)},M.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),M.nextFrame?M.nextFrame=M.nextFrame.bind(window):M.nextFrame=function(A){setTimeout(A,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(T,M,z){var k;z.exports={lineMode:!1,pasteCancelled:function(){return k&&k>Date.now()-50?!0:k=!1},cancel:function(){k=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(T,M,z){var k=T("../lib/event"),y=T("../config").nls,b=T("../lib/useragent"),a=T("../lib/dom"),l=T("../lib/lang"),r=T("../clipboard"),i=b.isChrome<18,n=b.isIE,t=b.isChrome>63,e=400,o=T("../lib/keys"),s=o.KEY_MODS,h=b.isIOS,u=h?/\s/:/\n/,A=b.isMobile,x=(function(){function f(c,g){var w=this;this.host=g,this.text=a.createElement("textarea"),this.text.className="ace_text-input",this.text.setAttribute("wrap","off"),this.text.setAttribute("autocomplete","off"),this.text.setAttribute("autocorrect","off"),this.text.setAttribute("autocapitalize","off"),this.text.setAttribute("spellcheck","false"),this.text.style.opacity="0",c.insertBefore(this.text,c.firstChild),this.copied=!1,this.pasted=!1,this.inComposition=!1,this.sendingText=!1,this.tempStyle="",A||(this.text.style.fontSize="1px"),this.commandMode=!1,this.ignoreFocusEvents=!1,this.lastValue="",this.lastSelectionStart=0,this.lastSelectionEnd=0,this.lastRestoreEnd=0,this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,this.numberOfExtraLines=0;try{this.$isFocused=document.activeElement===this.text}catch(m){}this.cancelComposition=this.cancelComposition.bind(this),this.setAriaOptions({role:"textbox"}),k.addListener(this.text,"blur",function(m){w.ignoreFocusEvents||(g.onBlur(m),w.$isFocused=!1)},g),k.addListener(this.text,"focus",function(m){if(!w.ignoreFocusEvents){if(w.$isFocused=!0,b.isEdge)try{if(!document.hasFocus())return}catch($){}g.onFocus(m),b.isEdge?setTimeout(w.resetSelection.bind(w)):w.resetSelection()}},g),this.$focusScroll=!1,g.on("beforeEndOperation",function(){var m=g.curOp,$=m&&m.command&&m.command.name;if($!="insertstring"){var _=$&&(m.docChanged||m.selectionChanged);w.inComposition&&_&&(w.lastValue=w.text.value="",w.onCompositionEnd()),w.resetSelection()}}),g.on("changeSelection",this.setAriaLabel.bind(this)),this.resetSelection=h?this.$resetSelectionIOS:this.$resetSelection,this.$isFocused&&g.onFocus(),this.inputHandler=null,this.afterContextMenu=!1,k.addCommandKeyListener(this.text,function(m,$,_){if(!w.inComposition)return g.onCommandKey(m,$,_)},g),k.addListener(this.text,"select",this.onSelect.bind(this),g),k.addListener(this.text,"input",this.onInput.bind(this),g),k.addListener(this.text,"cut",this.onCut.bind(this),g),k.addListener(this.text,"copy",this.onCopy.bind(this),g),k.addListener(this.text,"paste",this.onPaste.bind(this),g),(!("oncut"in this.text)||!("oncopy"in this.text)||!("onpaste"in this.text))&&k.addListener(c,"keydown",function(m){if(!(b.isMac&&!m.metaKey||!m.ctrlKey))switch(m.keyCode){case 67:w.onCopy(m);break;case 86:w.onPaste(m);break;case 88:w.onCut(m);break}},g),this.syncComposition=l.delayedCall(this.onCompositionUpdate.bind(this),50).schedule.bind(null,null),k.addListener(this.text,"compositionstart",this.onCompositionStart.bind(this),g),k.addListener(this.text,"compositionupdate",this.onCompositionUpdate.bind(this),g),k.addListener(this.text,"keyup",this.onKeyup.bind(this),g),k.addListener(this.text,"keydown",this.syncComposition.bind(this),g),k.addListener(this.text,"compositionend",this.onCompositionEnd.bind(this),g),this.closeTimeout,k.addListener(this.text,"mouseup",this.$onContextMenu.bind(this),g),k.addListener(this.text,"mousedown",function(m){m.preventDefault(),w.onContextMenuClose()},g),k.addListener(g.renderer.scroller,"contextmenu",this.$onContextMenu.bind(this),g),k.addListener(this.text,"contextmenu",this.$onContextMenu.bind(this),g),h&&this.addIosSelectionHandler(c,g,this.text)}return f.prototype.addIosSelectionHandler=function(c,g,w){var m=this,$=null,_=!1;w.addEventListener("keydown",function(v){$&&clearTimeout($),_=!0},!0),w.addEventListener("keyup",function(v){$=setTimeout(function(){_=!1},100)},!0);var S=function(v){if(document.activeElement===w&&!(_||m.inComposition||g.$mouseHandler.isMousePressed)&&!m.copied){var p=w.selectionStart,d=w.selectionEnd,C=null,E=0;if(p==0?C=o.up:p==1?C=o.home:d>m.lastSelectionEnd&&m.lastValue[d]==` |
| 161 |
`?C=o.end:p<m.lastSelectionStart&&m.lastValue[p-1]==" "?(C=o.left,E=s.option):p<m.lastSelectionStart||p==m.lastSelectionStart&&m.lastSelectionEnd!=m.lastSelectionStart&&p==d?C=o.left:d>m.lastSelectionEnd&&m.lastValue.slice(0,d).split(` |
| 162 |
`).length>2?C=o.down:d>m.lastSelectionEnd&&m.lastValue[d-1]==" "?(C=o.right,E=s.option):(d>m.lastSelectionEnd||d==m.lastSelectionEnd&&m.lastSelectionEnd!=m.lastSelectionStart&&p==d)&&(C=o.right),p!==d&&(E|=s.shift),C){var L=g.onCommandKey({},E,C);if(!L&&g.commands){C=o.keyCodeToString(C);var R=g.commands.findKeyCommand(E,C);R&&g.execCommand(R)}m.lastSelectionStart=p,m.lastSelectionEnd=d,m.resetSelection("")}}};document.addEventListener("selectionchange",S),g.on("destroy",function(){document.removeEventListener("selectionchange",S)})},f.prototype.onContextMenuClose=function(){var c=this;clearTimeout(this.closeTimeout),this.closeTimeout=setTimeout(function(){c.tempStyle&&(c.text.style.cssText=c.tempStyle,c.tempStyle=""),c.host.renderer.$isMousePressed=!1,c.host.renderer.$keepTextAreaAtCursor&&c.host.renderer.$moveTextAreaToCursor()},0)},f.prototype.$onContextMenu=function(c){this.host.textInput.onContextMenu(c),this.onContextMenuClose()},f.prototype.onKeyup=function(c){c.keyCode==27&&this.text.value.length<this.text.selectionStart&&(this.inComposition||(this.lastValue=this.text.value),this.lastSelectionStart=this.lastSelectionEnd=-1,this.resetSelection()),this.syncComposition()},f.prototype.cancelComposition=function(){this.ignoreFocusEvents=!0,this.text.blur(),this.text.focus(),this.ignoreFocusEvents=!1},f.prototype.onCompositionStart=function(c){if(!(this.inComposition||!this.host.onCompositionStart||this.host.$readOnly)&&(this.inComposition={},!this.commandMode)){c.data&&(this.inComposition.useTextareaForIME=!1),setTimeout(this.onCompositionUpdate.bind(this),0),this.host._signal("compositionStart"),this.host.on("mousedown",this.cancelComposition);var g=this.host.getSelectionRange();g.end.row=g.start.row,g.end.column=g.start.column,this.inComposition.markerRange=g,this.inComposition.selectionStart=this.lastSelectionStart,this.host.onCompositionStart(this.inComposition),this.inComposition.useTextareaForIME?(this.lastValue=this.text.value="",this.lastSelectionStart=0,this.lastSelectionEnd=0):(this.text.msGetInputContext&&(this.inComposition.context=this.text.msGetInputContext()),this.text.getInputContext&&(this.inComposition.context=this.text.getInputContext()))}},f.prototype.onCompositionUpdate=function(){if(!(!this.inComposition||!this.host.onCompositionUpdate||this.host.$readOnly)){if(this.commandMode)return this.cancelComposition();if(this.inComposition.useTextareaForIME)this.host.onCompositionUpdate(this.text.value);else{var c=this.text.value;this.sendText(c),this.inComposition.markerRange&&(this.inComposition.context&&(this.inComposition.markerRange.start.column=this.inComposition.selectionStart=this.inComposition.context.compositionStartOffset),this.inComposition.markerRange.end.column=this.inComposition.markerRange.start.column+this.lastSelectionEnd-this.inComposition.selectionStart+this.lastRestoreEnd)}}},f.prototype.onCompositionEnd=function(c){!this.host.onCompositionEnd||this.host.$readOnly||(this.inComposition=!1,this.host.onCompositionEnd(),this.host.off("mousedown",this.cancelComposition),c&&this.onInput())},f.prototype.onCut=function(c){this.doCopy(c,!0)},f.prototype.onCopy=function(c){this.doCopy(c,!1)},f.prototype.onPaste=function(c){var g=this.handleClipboardData(c);r.pasteCancelled()||(typeof g=="string"?(g&&this.host.onPaste(g,c),b.isIE&&setTimeout(this.resetSelection),k.preventDefault(c)):(this.text.value="",this.pasted=!0))},f.prototype.doCopy=function(c,g){var w=this,m=this.host.getCopyText();if(!m)return k.preventDefault(c);this.handleClipboardData(c,m)?(h&&(this.resetSelection(m),this.copied=m,setTimeout(function(){w.copied=!1},10)),g?this.host.onCut():this.host.onCopy(),k.preventDefault(c)):(this.copied=!0,this.text.value=m,this.text.select(),setTimeout(function(){w.copied=!1,w.resetSelection(),g?w.host.onCut():w.host.onCopy()}))},f.prototype.handleClipboardData=function(c,g,w){var m=c.clipboardData||window.clipboardData;if(!(!m||i)){var $=n||w?"Text":"text/plain";try{return g?m.setData($,g)!==!1:m.getData($)}catch(_){if(!w)return this.handleClipboardData(_,g,!0)}}},f.prototype.onInput=function(c){if(this.inComposition)return this.onCompositionUpdate();if(c&&c.inputType){if(c.inputType=="historyUndo")return this.host.execCommand("undo");if(c.inputType=="historyRedo")return this.host.execCommand("redo")}var g=this.text.value,w=this.sendText(g,!0);(g.length>e+100||u.test(w)||A&&this.lastSelectionStart<1&&this.lastSelectionStart==this.lastSelectionEnd)&&this.resetSelection()},f.prototype.sendText=function(c,g){if(this.afterContextMenu&&(this.afterContextMenu=!1),this.pasted)return this.resetSelection(),c&&this.host.onPaste(c),this.pasted=!1,"";for(var w=this.text.selectionStart,m=this.text.selectionEnd,$=this.lastSelectionStart,_=this.lastValue.length-this.lastSelectionEnd,S=c,v=c.length-w,p=c.length-m,d=0;$>0&&this.lastValue[d]==c[d];)d++,$--;for(S=S.slice(d),d=1;_>0&&this.lastValue.length-d>this.lastSelectionStart-1&&this.lastValue[this.lastValue.length-d]==c[c.length-d];)d++,_--;v-=d-1,p-=d-1;var C=S.length-d+1;if(C<0&&($=-C,C=0),S=S.slice(0,C),!g&&!S&&!v&&!$&&!_&&!p)return"";this.sendingText=!0;var E=!1;return b.isAndroid&&S==". "&&(S=" ",E=!0),S&&!$&&!_&&!v&&!p||this.commandMode?this.host.onTextInput(S):this.host.onTextInput(S,{extendLeft:$,extendRight:_,restoreStart:v,restoreEnd:p}),this.sendingText=!1,this.lastValue=c,this.lastSelectionStart=w,this.lastSelectionEnd=m,this.lastRestoreEnd=p,E?` |
| 163 |
`:S},f.prototype.onSelect=function(c){var g=this;if(!this.inComposition){var w=function(m){return m.selectionStart===0&&m.selectionEnd>=g.lastValue.length&&m.value===g.lastValue&&g.lastValue&&m.selectionEnd!==g.lastSelectionEnd};this.copied?this.copied=!1:w(this.text)?(this.host.selectAll(),this.resetSelection()):A&&this.text.selectionStart!=this.lastSelectionStart&&this.resetSelection()}},f.prototype.$resetSelectionIOS=function(c){if(!(!this.$isFocused||this.copied&&!c||this.sendingText)){c||(c="");var g=` |
| 164 |
ab`+c+`cde fg |
| 165 |
`;g!=this.text.value&&(this.text.value=this.lastValue=g);var w=4,m=4+(c.length||(this.host.selection.isEmpty()?0:1));(this.lastSelectionStart!=w||this.lastSelectionEnd!=m)&&this.text.setSelectionRange(w,m),this.lastSelectionStart=w,this.lastSelectionEnd=m}},f.prototype.$resetSelection=function(){var c=this;if(!(this.inComposition||this.sendingText)&&!(!this.$isFocused&&!this.afterContextMenu)){this.inComposition=!0;var g=0,w=0,m="",$=function(R,I){for(var O=I,B=1;B<=R-c.rowStart&&B<2*c.numberOfExtraLines+1;B++)O+=c.host.session.getLine(R-B).length+1;return O};if(this.host.session){var _=this.host.selection,S=_.getRange(),v=_.cursor.row;v===this.rowEnd+1?(this.rowStart=this.rowEnd+1,this.rowEnd=this.rowStart+2*this.numberOfExtraLines):v===this.rowStart-1?(this.rowEnd=this.rowStart-1,this.rowStart=this.rowEnd-2*this.numberOfExtraLines):(v<this.rowStart-1||v>this.rowEnd+1)&&(this.rowStart=v>this.numberOfExtraLines?v-this.numberOfExtraLines:0,this.rowEnd=v>this.numberOfExtraLines?v+this.numberOfExtraLines:2*this.numberOfExtraLines);for(var p=[],d=this.rowStart;d<=this.rowEnd;d++)p.push(this.host.session.getLine(d));if(m=p.join(` |
| 166 |
`),g=$(S.start.row,S.start.column),w=$(S.end.row,S.end.column),S.start.row<this.rowStart){var C=this.host.session.getLine(this.rowStart-1);g=S.start.row<this.rowStart-1?0:g,w+=C.length+1,m=C+` |
| 167 |
`+m}else if(S.end.row>this.rowEnd){var E=this.host.session.getLine(this.rowEnd+1);w=S.end.row>this.rowEnd+1?E.length:S.end.column,w+=m.length+1,m=m+` |
| 168 |
`+E}else A&&v>0&&(m=` |
| 169 |
`+m,w+=1,g+=1);m.length>e&&(g<e&&w<e?m=m.slice(0,e):(m=` |
| 170 |
`,g==w?g=w=0:(g=0,w=1)));var L=m+` |
| 171 |
|
| 172 |
`;L!=this.lastValue&&(this.text.value=this.lastValue=L,this.lastSelectionStart=this.lastSelectionEnd=L.length)}if(this.afterContextMenu&&(this.lastSelectionStart=this.text.selectionStart,this.lastSelectionEnd=this.text.selectionEnd),this.lastSelectionEnd!=w||this.lastSelectionStart!=g||this.text.selectionEnd!=this.lastSelectionEnd)try{this.text.setSelectionRange(g,w),this.lastSelectionStart=g,this.lastSelectionEnd=w}catch(R){}this.inComposition=!1}},f.prototype.setHost=function(c){this.host=c},f.prototype.setNumberOfExtraLines=function(c){if(this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,c<0){this.numberOfExtraLines=0;return}this.numberOfExtraLines=c},f.prototype.setAriaLabel=function(){var c="";if(this.host.$textInputAriaLabel&&(c+="".concat(this.host.$textInputAriaLabel,", ")),this.host.session){var g=this.host.session.selection.cursor.row;c+=y("text-input.aria-label","Cursor at row $0",[g+1])}this.text.setAttribute("aria-label",c)},f.prototype.setAriaOptions=function(c){c.activeDescendant?(this.text.setAttribute("aria-haspopup","true"),this.text.setAttribute("aria-autocomplete",c.inline?"both":"list"),this.text.setAttribute("aria-activedescendant",c.activeDescendant)):(this.text.setAttribute("aria-haspopup","false"),this.text.setAttribute("aria-autocomplete","both"),this.text.removeAttribute("aria-activedescendant")),c.role&&this.text.setAttribute("role",c.role),c.setLabel&&(this.text.setAttribute("aria-roledescription",y("text-input.aria-roledescription","editor")),this.setAriaLabel())},f.prototype.focus=function(){var c=this;if(this.setAriaOptions({setLabel:this.host.renderer.enableKeyboardAccessibility}),this.tempStyle||t||this.$focusScroll=="browser")return this.text.focus({preventScroll:!0});var g=this.text.style.top;this.text.style.position="fixed",this.text.style.top="0px";try{var w=this.text.getBoundingClientRect().top!=0}catch(_){return}var m=[];if(w)for(var $=this.text.parentElement;$&&$.nodeType==1;)m.push($),$.setAttribute("ace_nocontext","true"),!$.parentElement&&$.getRootNode?$=$.getRootNode().host:$=$.parentElement;this.text.focus({preventScroll:!0}),w&&m.forEach(function(_){_.removeAttribute("ace_nocontext")}),setTimeout(function(){c.text.style.position="",c.text.style.top=="0px"&&(c.text.style.top=g)},0)},f.prototype.blur=function(){this.text.blur()},f.prototype.isFocused=function(){return this.$isFocused},f.prototype.setInputHandler=function(c){this.inputHandler=c},f.prototype.getInputHandler=function(){return this.inputHandler},f.prototype.getElement=function(){return this.text},f.prototype.setCommandMode=function(c){this.commandMode=c,this.text.readOnly=!1},f.prototype.setReadOnly=function(c){this.commandMode||(this.text.readOnly=c)},f.prototype.setCopyWithEmptySelection=function(c){},f.prototype.onContextMenu=function(c){this.afterContextMenu=!0,this.resetSelection(),this.host._emit("nativecontextmenu",{target:this.host,domEvent:c}),this.moveToMouse(c,!0)},f.prototype.moveToMouse=function(c,g){var w=this;this.tempStyle||(this.tempStyle=this.text.style.cssText),this.text.style.cssText=(g?"z-index:100000;":"")+(b.isIE?"opacity:0.1;":"")+"text-indent: -"+(this.lastSelectionStart+this.lastSelectionEnd)*this.host.renderer.characterWidth*.5+"px;";var m=this.host.container.getBoundingClientRect(),$=a.computedStyle(this.host.container),_=m.top+(parseInt($.borderTopWidth)||0),S=m.left+(parseInt($.borderLeftWidth)||0),v=m.bottom-_-this.text.clientHeight-2,p=function(d){a.translate(w.text,d.clientX-S-2,Math.min(d.clientY-_-2,v))};p(c),c.type=="mousedown"&&(this.host.renderer.$isMousePressed=!0,clearTimeout(this.closeTimeout),b.isWin&&k.capture(this.host.container,p,this.onContextMenuClose.bind(this)))},f.prototype.destroy=function(){this.text.parentElement&&this.text.parentElement.removeChild(this.text)},f})();M.TextInput=x,M.$setUserAgentForTests=function(f,c){A=f,h=c}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(T,M,z){var k=T("../lib/useragent"),y=0,b=550,a=(function(){function i(n){n.$clickSelection=null;var t=n.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(n)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(n)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(n)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(n)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(n));var e=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];e.forEach(function(o){n[o]=this[o]},this),n.selectByLines=this.extendSelectionBy.bind(n,"getLineRange"),n.selectByWords=this.extendSelectionBy.bind(n,"getWordRange")}return i.prototype.onMouseDown=function(n){var t=n.inSelection(),e=n.getDocumentPosition();this.mousedownEvent=n;var o=this.editor,s=n.getButton();if(s!==0){var h=o.getSelectionRange(),u=h.isEmpty();(u||s==1)&&o.selection.moveToPosition(e),s==2&&(o.textInput.onContextMenu(n.domEvent),k.isMozilla||n.preventDefault());return}if(this.mousedownEvent.time=Date.now(),t&&!o.isFocused()&&(o.focus(),this.$focusTimeout&&!this.$clickSelection&&!o.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(n);return}return this.captureMouse(n),this.startSelect(e,n.domEvent._clicks>1),n.preventDefault()},i.prototype.startSelect=function(n,t){n=n||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var e=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?e.selection.selectToPosition(n):t||e.selection.moveToPosition(n),t||this.select(),e.setStyle("ace_selecting"),this.setState("select"))},i.prototype.select=function(){var n,t=this.editor,e=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var o=this.$clickSelection.comparePoint(e);if(o==-1)n=this.$clickSelection.end;else if(o==1)n=this.$clickSelection.start;else{var s=r(this.$clickSelection,e,t.session);e=s.cursor,n=s.anchor}t.selection.setSelectionAnchor(n.row,n.column)}t.selection.selectToPosition(e),t.renderer.scrollCursorIntoView()},i.prototype.extendSelectionBy=function(n){var t,e=this.editor,o=e.renderer.screenToTextCoordinates(this.x,this.y),s=e.selection[n](o.row,o.column);if(this.$clickSelection){var h=this.$clickSelection.comparePoint(s.start),u=this.$clickSelection.comparePoint(s.end);if(h==-1&&u<=0)t=this.$clickSelection.end,(s.end.row!=o.row||s.end.column!=o.column)&&(o=s.start);else if(u==1&&h>=0)t=this.$clickSelection.start,(s.start.row!=o.row||s.start.column!=o.column)&&(o=s.end);else if(h==-1&&u==1)o=s.end,t=s.start;else{var A=r(this.$clickSelection,o,e.session);o=A.cursor,t=A.anchor}e.selection.setSelectionAnchor(t.row,t.column)}e.selection.selectToPosition(o),e.renderer.scrollCursorIntoView()},i.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},i.prototype.focusWait=function(){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(n>y||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},i.prototype.onDoubleClick=function(n){var t=n.getDocumentPosition(),e=this.editor,o=e.session,s=o.getBracketRange(t);s?(s.isEmpty()&&(s.start.column--,s.end.column++),this.setState("select")):(s=e.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=s,this.select()},i.prototype.onTripleClick=function(n){var t=n.getDocumentPosition(),e=this.editor;this.setState("selectByLines");var o=e.getSelectionRange();o.isMultiLine()&&o.contains(t.row,t.column)?(this.$clickSelection=e.selection.getLineRange(o.start.row),this.$clickSelection.end=e.selection.getLineRange(o.end.row).end):this.$clickSelection=e.selection.getLineRange(t.row),this.select()},i.prototype.onQuadClick=function(n){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},i.prototype.onMouseWheel=function(n){if(!n.getAccelKey()){n.getShiftKey()&&n.wheelY&&!n.wheelX&&(n.wheelX=n.wheelY,n.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var e=this.$lastScroll,o=n.domEvent.timeStamp,s=o-e.t,h=s?n.wheelX/s:e.vx,u=s?n.wheelY/s:e.vy;s<b&&(h=(h+e.vx)/2,u=(u+e.vy)/2);var A=Math.abs(h/u),x=!1;if(A>=1&&t.renderer.isScrollableBy(n.wheelX*n.speed,0)&&(x=!0),A<=1&&t.renderer.isScrollableBy(0,n.wheelY*n.speed)&&(x=!0),x)e.allowed=o;else if(o-e.allowed<b){var f=Math.abs(h)<=1.5*Math.abs(e.vx)&&Math.abs(u)<=1.5*Math.abs(e.vy);f?(x=!0,e.allowed=o):e.allowed=0}if(e.t=o,e.vx=h,e.vy=u,x)return t.renderer.scrollBy(n.wheelX*n.speed,n.wheelY*n.speed),n.stop()}},i})();a.prototype.selectEnd=a.prototype.selectByLinesEnd,a.prototype.selectAllEnd=a.prototype.selectByLinesEnd,a.prototype.selectByWordsEnd=a.prototype.selectByLinesEnd,M.DefaultHandlers=a;function l(i,n,t,e){return Math.sqrt(Math.pow(t-i,2)+Math.pow(e-n,2))}function r(i,n,t){if(i.start.row==i.end.row)var e=2*n.column-i.start.column-i.end.column;else if(i.start.row==i.end.row-1&&!i.start.column&&!i.end.column)var e=3*n.column-2*t.getLine(i.start.row).length;else var e=2*n.row-i.start.row-i.end.row;return e<0?{cursor:i.start,anchor:i.end}:{cursor:i.end,anchor:i.start}}}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(T,M,z){var k=T("../lib/event"),y=T("../lib/useragent"),b=(function(){function a(l,r){this.speed,this.wheelX,this.wheelY,this.domEvent=l,this.editor=r,this.x=this.clientX=l.clientX,this.y=this.clientY=l.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return a.prototype.stopPropagation=function(){k.stopPropagation(this.domEvent),this.propagationStopped=!0},a.prototype.preventDefault=function(){k.preventDefault(this.domEvent),this.defaultPrevented=!0},a.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},a.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},a.prototype.getGutterRow=function(){var l=this.getDocumentPosition().row,r=this.editor.session.documentToScreenRow(l,0),i=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return r-i},a.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var l=this.editor,r=l.getSelectionRange();if(r.isEmpty())this.$inSelection=!1;else{var i=this.getDocumentPosition();this.$inSelection=r.contains(i.row,i.column)}return this.$inSelection},a.prototype.getButton=function(){return k.getButton(this.domEvent)},a.prototype.getShiftKey=function(){return this.domEvent.shiftKey},a.prototype.getAccelKey=function(){return y.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},a})();M.MouseEvent=b}),ace.define("ace/lib/scroll",["require","exports","module"],function(T,M,z){M.preventParentScroll=function(y){y.stopPropagation();var b=y.currentTarget,a=b.scrollHeight>b.clientHeight;a||y.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(T,M,z){var k=this&&this.__extends||(function(){var o=function(s,h){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,A){u.__proto__=A}||function(u,A){for(var x in A)Object.prototype.hasOwnProperty.call(A,x)&&(u[x]=A[x])},o(s,h)};return function(s,h){if(typeof h!="function"&&h!==null)throw new TypeError("Class extends value "+String(h)+" is not a constructor or null");o(s,h);function u(){this.constructor=s}s.prototype=h===null?Object.create(h):(u.prototype=h.prototype,new u)}})(),y=this&&this.__values||function(o){var s=typeof Symbol=="function"&&Symbol.iterator,h=s&&o[s],u=0;if(h)return h.call(o);if(o&&typeof o.length=="number")return{next:function(){return o&&u>=o.length&&(o=void 0),{value:o&&o[u++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},b=T("./lib/dom");T("./lib/event");var a=T("./range").Range,l=T("./lib/scroll").preventParentScroll,r="ace_tooltip",i=(function(){function o(s){this.isOpen=!1,this.$element=null,this.$parentNode=s}return o.prototype.$init=function(){return this.$element=b.createElement("div"),this.$element.className=r,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},o.prototype.getElement=function(){return this.$element||this.$init()},o.prototype.setText=function(s){this.getElement().textContent=s},o.prototype.setHtml=function(s){this.getElement().innerHTML=s},o.prototype.setPosition=function(s,h){this.getElement().style.left=s+"px",this.getElement().style.top=h+"px"},o.prototype.setClassName=function(s){b.addCssClass(this.getElement(),s)},o.prototype.setTheme=function(s){this.theme&&(this.theme.isDark&&b.removeCssClass(this.getElement(),"ace_dark"),this.theme.cssClass&&b.removeCssClass(this.getElement(),this.theme.cssClass)),s.isDark&&b.addCssClass(this.getElement(),"ace_dark"),s.cssClass&&b.addCssClass(this.getElement(),s.cssClass),this.theme={isDark:s.isDark,cssClass:s.cssClass}},o.prototype.show=function(s,h,u){s!=null&&this.setText(s),h!=null&&u!=null&&this.setPosition(h,u),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},o.prototype.hide=function(s){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=r,this.isOpen=!1)},o.prototype.getHeight=function(){return this.getElement().offsetHeight},o.prototype.getWidth=function(){return this.getElement().offsetWidth},o.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},o})(),n=(function(){function o(){this.popups=[]}return o.prototype.addPopup=function(s){this.popups.push(s),this.updatePopups()},o.prototype.removePopup=function(s){var h=this.popups.indexOf(s);h!==-1&&(this.popups.splice(h,1),this.updatePopups())},o.prototype.updatePopups=function(){var s,h,u,A;this.popups.sort(function(S,v){return v.priority-S.priority});var x=[];try{for(var f=y(this.popups),c=f.next();!c.done;c=f.next()){var g=c.value,w=!0;try{for(var m=(u=void 0,y(x)),$=m.next();!$.done;$=m.next()){var _=$.value;if(this.doPopupsOverlap(_,g)){w=!1;break}}}catch(S){u={error:S}}finally{try{$&&!$.done&&(A=m.return)&&A.call(m)}finally{if(u)throw u.error}}w?x.push(g):g.hide()}}catch(S){s={error:S}}finally{try{c&&!c.done&&(h=f.return)&&h.call(f)}finally{if(s)throw s.error}}},o.prototype.doPopupsOverlap=function(s,h){var u=s.getElement().getBoundingClientRect(),A=h.getElement().getBoundingClientRect();return u.left<A.right&&u.right>A.left&&u.top<A.bottom&&u.bottom>A.top},o})(),t=new n;M.popupManager=t,M.Tooltip=i;var e=(function(o){k(s,o);function s(h){h===void 0&&(h=document.body);var u=o.call(this,h)||this;u.timeout=void 0,u.lastT=0,u.idleTime=350,u.lastEvent=void 0,u.onMouseOut=u.onMouseOut.bind(u),u.onMouseMove=u.onMouseMove.bind(u),u.waitForHover=u.waitForHover.bind(u),u.hide=u.hide.bind(u);var A=u.getElement();return A.style.whiteSpace="pre-wrap",A.style.pointerEvents="auto",A.addEventListener("mouseout",u.onMouseOut),A.tabIndex=-1,A.addEventListener("blur",function(){A.contains(document.activeElement)||this.hide()}.bind(u)),A.addEventListener("wheel",l),u}return s.prototype.addToEditor=function(h){h.on("mousemove",this.onMouseMove),h.on("mousedown",this.hide);var u=h.renderer.getMouseEventTarget();u&&typeof u.removeEventListener=="function"&&u.addEventListener("mouseout",this.onMouseOut,!0)},s.prototype.removeFromEditor=function(h){h.off("mousemove",this.onMouseMove),h.off("mousedown",this.hide);var u=h.renderer.getMouseEventTarget();u&&typeof u.removeEventListener=="function"&&u.removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},s.prototype.onMouseMove=function(h,u){this.lastEvent=h,this.lastT=Date.now();var A=u.$mouseHandler.isMousePressed;if(this.isOpen){var x=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(x.row,x.column)||A||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||A||(this.lastEvent=h,this.timeout=setTimeout(this.waitForHover,this.idleTime))},s.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var h=Date.now()-this.lastT;if(this.idleTime-h>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-h);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},s.prototype.isOutsideOfText=function(h){var u=h.editor,A=h.getDocumentPosition(),x=u.session.getLine(A.row);if(A.column==x.length){var f=u.renderer.pixelToScreenCoordinates(h.clientX,h.clientY),c=u.session.documentToScreenPosition(A.row,A.column);if(c.column!=f.column||c.row!=f.row)return!0}return!1},s.prototype.setDataProvider=function(h){this.$gatherData=h},s.prototype.showForRange=function(h,u,A,x){if(!(x&&x!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var f=h.renderer;this.isOpen||(t.addPopup(this),this.$registerCloseEvents(),this.setTheme(f.theme)),this.isOpen=!0,this.range=a.fromPoints(u.start,u.end);var c=f.textToScreenCoordinates(u.start.row,u.start.column),g=f.scroller.getBoundingClientRect();c.pageX<g.left&&(c.pageX=g.left);var w=this.getElement();w.innerHTML="",w.appendChild(A),w.style.maxHeight="",w.style.display="block",this.$setPosition(h,c,!0,u),b.$fixPositionBug(w)}},s.prototype.$setPosition=function(h,u,A,x){var f=10;A&&this.addMarker(x,h.session);var c=h.renderer,g=this.getElement(),w=g.offsetHeight,m=g.offsetWidth,$=u.pageY,_=u.pageX,S=window.innerHeight-$-c.lineHeight,v=this.$shouldPlaceAbove(w,$,S-f);g.style.maxHeight=(v?$:S)-f+"px",g.style.top=v?"":$+c.lineHeight+"px",g.style.bottom=v?window.innerHeight-$+"px":"",g.style.left=Math.min(_,window.innerWidth-m-f)+"px"},s.prototype.$shouldPlaceAbove=function(h,u,A){return!(u-h<0&&u<A)},s.prototype.addMarker=function(h,u){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=u,this.marker=u&&u.addMarker(h,"ace_highlight-marker","text")},s.prototype.hide=function(h){h&&this.$fromKeyboard&&h.type=="keydown"&&h.code=="Escape"||!h&&document.activeElement==this.getElement()||h&&h.target&&(h.type!="keydown"||h.ctrlKey||h.metaKey)&&this.$element.contains(h.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$fromKeyboard=!1,this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,t.removePopup(this)))},s.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},s.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},s.prototype.onMouseOut=function(h){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!h.relatedTarget||this.getElement().contains(h.relatedTarget)||h&&h.currentTarget.contains(h.relatedTarget)||h.relatedTarget.classList.contains("ace_content")||this.hide())},s})(i);M.HoverTooltip=e}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/mouse/mouse_event","ace/tooltip","ace/config","ace/range"],function(T,M,z){var k=this&&this.__extends||(function(){var e=function(o,s){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,u){h.__proto__=u}||function(h,u){for(var A in u)Object.prototype.hasOwnProperty.call(u,A)&&(h[A]=u[A])},e(o,s)};return function(o,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");e(o,s);function h(){this.constructor=o}o.prototype=s===null?Object.create(s):(h.prototype=s.prototype,new h)}})(),y=this&&this.__values||function(e){var o=typeof Symbol=="function"&&Symbol.iterator,s=o&&e[o],h=0;if(s)return s.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&h>=e.length&&(e=void 0),{value:e&&e[h++],done:!e}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")},b=T("../lib/dom"),a=T("./mouse_event").MouseEvent,l=T("../tooltip").HoverTooltip,r=T("../config").nls,i=T("../range").Range;function n(e){var o=e.editor,s=o.renderer.$gutterLayer;e.$tooltip=new t(o),e.$tooltip.addToEditor(o),e.$tooltip.setDataProvider(function(h,u){var A=h.getDocumentPosition().row;e.$tooltip.showTooltip(A)}),e.editor.setDefaultHandler("guttermousedown",function(h){if(!(!o.isFocused()||h.getButton()!=0)){var u=s.getRegion(h);if(u!="foldWidgets"){var A=h.getDocumentPosition().row,x=o.session.selection;if(h.getShiftKey())x.selectTo(A,0);else{if(h.domEvent.detail==2)return o.selectAll(),h.preventDefault();e.$clickSelection=o.selection.getLineRange(A)}return e.setState("selectByLines"),e.captureMouse(h),h.preventDefault()}}})}M.GutterHandler=n;var t=(function(e){k(o,e);function o(s){var h=e.call(this,s.container)||this;h.id="gt"+ ++o.$uid,h.editor=s,h.visibleTooltipRow;var u=h.getElement();return u.setAttribute("role","tooltip"),u.setAttribute("id",h.id),u.style.pointerEvents="auto",h.idleTime=50,h.onDomMouseMove=h.onDomMouseMove.bind(h),h.onDomMouseOut=h.onDomMouseOut.bind(h),h.setClassName("ace_gutter-tooltip"),h}return o.prototype.onDomMouseMove=function(s){var h=new a(s,this.editor);this.onMouseMove(h,this.editor)},o.prototype.onDomMouseOut=function(s){var h=new a(s,this.editor);this.onMouseOut(h)},o.prototype.addToEditor=function(s){var h=s.renderer.$gutter;h.addEventListener("mousemove",this.onDomMouseMove),h.addEventListener("mouseout",this.onDomMouseOut),e.prototype.addToEditor.call(this,s)},o.prototype.removeFromEditor=function(s){var h=s.renderer.$gutter;h.removeEventListener("mousemove",this.onDomMouseMove),h.removeEventListener("mouseout",this.onDomMouseOut),e.prototype.removeFromEditor.call(this,s)},o.prototype.destroy=function(){this.editor&&this.removeFromEditor(this.editor),e.prototype.destroy.call(this)},Object.defineProperty(o,"annotationLabels",{get:function(){return{error:{singular:r("gutter-tooltip.aria-label.error.singular","error"),plural:r("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:r("gutter-tooltip.aria-label.security.singular","security finding"),plural:r("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:r("gutter-tooltip.aria-label.warning.singular","warning"),plural:r("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:r("gutter-tooltip.aria-label.info.singular","information message"),plural:r("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:r("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:r("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),o.prototype.showTooltip=function(s){var h,u=this.editor.renderer.$gutterLayer,A=u.$annotations[s],x;A?x={displayText:Array.from(A.displayText),type:Array.from(A.type)}:x={displayText:[],type:[]};var f=u.session.getFoldLine(s);if(f&&u.$showFoldedAnnotations){for(var c={error:[],security:[],warning:[],info:[],hint:[]},g={error:1,security:2,warning:3,info:4,hint:5},w,m=s+1;m<=f.end.row;m++)if(u.$annotations[m])for(var $=0;$<u.$annotations[m].text.length;$++){var _=u.$annotations[m].type[$];c[_].push(u.$annotations[m].text[$]),(!w||g[_]<g[w])&&(w=_)}if(["error","security","warning"].includes(w)){var S="".concat(o.annotationsToSummaryString(c)," in folded code.");x.displayText.push(S),x.type.push(w+"_fold")}}if(x.displayText.length===0)return this.hide();for(var v={error:[],security:[],warning:[],info:[],hint:[]},p=u.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",m=0;m<x.displayText.length;m++){var d=b.createElement("span"),C=b.createElement("span");(h=C.classList).add.apply(h,["ace_".concat(x.type[m]),p]),C.setAttribute("aria-label","".concat(o.annotationLabels[x.type[m].replace("_fold","")].singular)),C.setAttribute("role","img"),C.appendChild(b.createTextNode(" ")),d.appendChild(C),d.appendChild(b.createTextNode(x.displayText[m])),d.appendChild(b.createElement("br")),v[x.type[m].replace("_fold","")].push(d)}var E=b.createElement("span");v.error.forEach(function(I){return E.appendChild(I)}),v.security.forEach(function(I){return E.appendChild(I)}),v.warning.forEach(function(I){return E.appendChild(I)}),v.info.forEach(function(I){return E.appendChild(I)}),v.hint.forEach(function(I){return E.appendChild(I)}),E.setAttribute("aria-live","polite");var L=this.$findLinkedAnnotationNode(s);L&&L.setAttribute("aria-describedby",this.id);var R=i.fromPoints({row:s,column:0},{row:s,column:0});this.showForRange(this.editor,R,E),this.visibleTooltipRow=s,this.editor._signal("showGutterTooltip",this)},o.prototype.$setPosition=function(s,h,u,A){var x=this.$findCellByRow(A.start.row);if(x){var f=x&&x.element,c=f&&f.querySelector(".ace_gutter_annotation");if(c){var g=c.getBoundingClientRect();if(g){var w={pageX:g.right,pageY:g.top};return e.prototype.$setPosition.call(this,s,w,!1,A)}}}},o.prototype.$shouldPlaceAbove=function(s,h,u){return u<s},o.prototype.$findLinkedAnnotationNode=function(s){var h=this.$findCellByRow(s);if(h){var u=h.element;if(u.childNodes.length>2)return u.childNodes[2]}},o.prototype.$findCellByRow=function(s){return this.editor.renderer.$gutterLayer.$lines.cells.find(function(h){return h.row===s})},o.prototype.hide=function(s){if(this.isOpen){if(this.$element.removeAttribute("aria-live"),this.visibleTooltipRow!=null){var h=this.$findLinkedAnnotationNode(this.visibleTooltipRow);h&&h.removeAttribute("aria-describedby")}this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this),e.prototype.hide.call(this,s)}},o.annotationsToSummaryString=function(s){var h,u,A=[],x=["error","security","warning","info","hint"];try{for(var f=y(x),c=f.next();!c.done;c=f.next()){var g=c.value;if(s[g].length){var w=s[g].length===1?o.annotationLabels[g].singular:o.annotationLabels[g].plural;A.push("".concat(s[g].length," ").concat(w))}}}catch(m){h={error:m}}finally{try{c&&!c.done&&(u=f.return)&&u.call(f)}finally{if(h)throw h.error}}return A.join(", ")},o.prototype.isOutsideOfText=function(s){var h=s.editor,u=h.renderer.$gutter.getBoundingClientRect();return!(s.clientX>=u.left&&s.clientX<=u.right&&s.clientY>=u.top&&s.clientY<=u.bottom)},o})(l);t.$uid=0,M.GutterTooltip=t}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(T,M,z){var k=T("../lib/dom"),y=T("../lib/event"),b=T("../lib/useragent"),a=200,l=200,r=5;function i(t){var e=t.editor,o=k.createElement("div");o.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",o.textContent=" ";var s=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];s.forEach(function(N){t[N]=this[N]},this),e.on("mousedown",this.onMouseDown.bind(t));var h=e.container,u,A,x,f,c,g,w=0,m,$,_,S,v;this.onDragStart=function(N){if(this.cancelDrag||!h.draggable){var W=this;return setTimeout(function(){W.startSelect(),W.captureMouse(N)},0),N.preventDefault()}c=e.getSelectionRange();var P=N.dataTransfer;P.effectAllowed=e.getReadOnly()?"copy":"copyMove",e.container.appendChild(o),P.setDragImage&&P.setDragImage(o,0,0),setTimeout(function(){e.container.removeChild(o)}),P.clearData(),P.setData("Text",e.session.getTextRange()),$=!0,this.setState("drag")},this.onDragEnd=function(N){if(h.draggable=!1,$=!1,this.setState(null),!e.getReadOnly()){var W=N.dataTransfer.dropEffect;!m&&W=="move"&&e.session.remove(e.getSelectionRange()),e.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(N){if(!(e.getReadOnly()||!O(N.dataTransfer)))return A=N.clientX,x=N.clientY,u||E(),w++,N.dataTransfer.dropEffect=m=B(N),y.preventDefault(N)},this.onDragOver=function(N){if(!(e.getReadOnly()||!O(N.dataTransfer)))return A=N.clientX,x=N.clientY,u||(E(),w++),R!==null&&(R=null),N.dataTransfer.dropEffect=m=B(N),y.preventDefault(N)},this.onDragLeave=function(N){if(w--,w<=0&&u)return L(),m=null,y.preventDefault(N)},this.onDrop=function(N){if(g){var W=N.dataTransfer;if($)switch(m){case"move":c.contains(g.row,g.column)?c={start:g,end:g}:c=e.moveText(c,g);break;case"copy":c=e.moveText(c,g,!0);break}else{var P=W.getData("Text");c={start:g,end:e.session.insert(g,P)},e.focus(),m=null}return L(),y.preventDefault(N)}},y.addListener(h,"dragstart",this.onDragStart.bind(t),e),y.addListener(h,"dragend",this.onDragEnd.bind(t),e),y.addListener(h,"dragenter",this.onDragEnter.bind(t),e),y.addListener(h,"dragover",this.onDragOver.bind(t),e),y.addListener(h,"dragleave",this.onDragLeave.bind(t),e),y.addListener(h,"drop",this.onDrop.bind(t),e);function p(N,W){var P=Date.now(),F=!W||N.row!=W.row,U=!W||N.column!=W.column;if(!S||F||U)e.moveCursorToPosition(N),S=P,v={x:A,y:x};else{var V=n(v.x,v.y,A,x);V>r?S=null:P-S>=l&&(e.renderer.scrollCursorIntoView(),S=null)}}function d(N,W){var P=Date.now(),F=e.renderer.layerConfig.lineHeight,U=e.renderer.layerConfig.characterWidth,V=e.renderer.scroller.getBoundingClientRect(),K={x:{left:A-V.left,right:V.right-A},y:{top:x-V.top,bottom:V.bottom-x}},Y=Math.min(K.x.left,K.x.right),J=Math.min(K.y.top,K.y.bottom),ne={row:N.row,column:N.column};Y/U<=2&&(ne.column+=K.x.left<K.x.right?-3:2),J/F<=1&&(ne.row+=K.y.top<K.y.bottom?-1:1);var re=N.row!=ne.row,ae=N.column!=ne.column,oe=!W||N.row!=W.row;re||ae&&!oe?_?P-_>=a&&e.renderer.scrollCursorIntoView(ne):_=P:_=null}function C(){var N=g;g=e.renderer.screenToTextCoordinates(A,x),p(g,N),d(g,N)}function E(){c=e.selection.toOrientedRange(),u=e.session.addMarker(c,"ace_selection",e.getSelectionStyle()),e.clearSelection(),e.isFocused()&&e.renderer.$cursorLayer.setBlinking(!1),clearInterval(f),C(),f=setInterval(C,20),w=0,y.addListener(document,"mousemove",I)}function L(){clearInterval(f),e.session.removeMarker(u),u=null,e.selection.fromOrientedRange(c),e.isFocused()&&!$&&e.$resetCursorStyle(),c=null,g=null,w=0,_=null,S=null,y.removeListener(document,"mousemove",I)}var R=null;function I(){R==null&&(R=setTimeout(function(){R!=null&&u&&L()},20))}function O(N){var W=N.types;return!W||Array.prototype.some.call(W,function(P){return P=="text/plain"||P=="Text"})}function B(N){var W=["copy","copymove","all","uninitialized"],P=["move","copymove","linkmove","all","uninitialized"],F=b.isMac?N.altKey:N.ctrlKey,U="uninitialized";try{U=N.dataTransfer.effectAllowed.toLowerCase()}catch(K){}var V="none";return F&&W.indexOf(U)>=0?V="copy":P.indexOf(U)>=0?V="move":W.indexOf(U)>=0&&(V="copy"),V}}(function(){this.dragWait=function(){var t=Date.now()-this.mousedownEvent.time;t>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var t=this.editor.container;t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(t){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var t=this.editor,e=t.container;e.draggable=!0,t.renderer.$cursorLayer.setBlinking(!1),t.setStyle("ace_dragging");var o=b.isWin?"default":"move";t.renderer.setCursorStyle(o),this.setState("dragReady")},this.onMouseDrag=function(t){var e=this.editor.container;if(b.isIE&&this.state=="dragReady"){var o=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);o>3&&e.dragDrop()}if(this.state==="dragWait"){var o=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);o>0&&(e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(t){if(this.$dragEnabled){this.mousedownEvent=t;var e=this.editor,o=t.inSelection(),s=t.getButton(),h=t.domEvent.detail||1;if(h===1&&s===0&&o){if(t.editor.inMultiSelectMode&&(t.getAccelKey()||t.getShiftKey()))return;this.mousedownEvent.time=Date.now();var u=t.domEvent.target||t.domEvent.srcElement;if("unselectable"in u&&(u.unselectable="on"),e.getDragDelay()){if(b.isWebKit){this.cancelDrag=!0;var A=e.container;A.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(t,this.onMouseDrag.bind(this)),t.defaultPrevented=!0}}}}).call(i.prototype);function n(t,e,o,s){return Math.sqrt(Math.pow(o-t,2)+Math.pow(s-e,2))}M.DragdropHandler=i}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(T,M,z){var k=T("./mouse_event").MouseEvent,y=T("../lib/event"),b=T("../lib/dom");M.addTouchListeners=function(a,l){var r="scroll",i,n,t,e,o,s,h=0,u,A=0,x=0,f=0,c,g;function w(){var p=window.navigator&&window.navigator.clipboard,d=!1,C=function(){var R=l.getCopyText(),I=l.session.getUndoManager().hasUndo();g.replaceChild(b.buildDom(d?["span",!R&&E("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],R&&E("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],R&&E("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],p&&E("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],I&&E("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],E("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],E("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),g.firstChild)},E=function(R){return l.commands.canExecute(R,l)},L=function(R){var I=R.target.getAttribute("action");if(I=="more"||!d)return d=!d,C();I=="paste"?p.readText().then(function(O){l.execCommand(I,O)}):I&&((I=="cut"||I=="copy")&&(p?p.writeText(l.getCopyText()):document.execCommand("copy")),l.execCommand(I)),g.firstChild.style.display="none",d=!1,I!="openCommandPalette"&&l.focus()};g=b.buildDom(["div",{class:"ace_mobile-menu",onclick:L},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],l.container),g.addEventListener("touchstart",function(R){r="menu",R.stopPropagation(),R.preventDefault(),l.textInput.focus()}),g.addEventListener("touchend",function(R){R.stopPropagation(),R.preventDefault(),L(R)})}function m(){if(!l.getOption("enableMobileMenu")){g&&$();return}g||w();var p=l.selection.cursor,d=l.renderer.textToScreenCoordinates(p.row,p.column),C=l.renderer.textToScreenCoordinates(0,0).pageX,E=l.renderer.scrollLeft,L=l.container.getBoundingClientRect();g.style.top=d.pageY-L.top-3+"px",d.pageX-L.left<L.width-70?(g.style.left="",g.style.right="10px"):(g.style.right="",g.style.left=C+E-L.left+"px"),g.style.display="",g.firstChild.style.display="none",l.on("input",$)}function $(p){g&&(g.style.display="none"),l.off("input",$)}function _(){o=null,clearTimeout(o);var p=l.selection.getRange(),d=p.contains(u.row,u.column);(p.isEmpty()||!d)&&(l.selection.moveToPosition(u),l.selection.selectWord()),r="wait",m()}function S(){o=null,clearTimeout(o),l.selection.moveToPosition(u);var p=A>=2?l.selection.getLineRange(u.row):l.session.getBracketRange(u);p&&!p.isEmpty()?l.selection.setRange(p):l.selection.selectWord(),r="wait"}y.addListener(a,"contextmenu",function(p){if(c){var d=l.textInput.getElement();d.focus()}},l),y.addListener(a,"touchstart",function(p){var d=p.touches;if(o||d.length>1){clearTimeout(o),o=null,t=-1,r="zoom";return}c=l.$mouseHandler.isMousePressed=!0;var C=l.renderer.layerConfig.lineHeight,E=l.renderer.layerConfig.lineHeight,L=p.timeStamp;e=L;var R=d[0],I=R.clientX,O=R.clientY;Math.abs(i-I)+Math.abs(n-O)>C&&(t=-1),i=p.clientX=I,n=p.clientY=O,x=f=0;var B=new k(p,l);if(u=B.getDocumentPosition(),L-t<500&&d.length==1&&!h)A++,p.preventDefault(),p.button=0,S();else{A=0;var N=l.selection.cursor,W=l.selection.isEmpty()?N:l.selection.anchor,P=l.renderer.$cursorLayer.getPixelPosition(N,!0),F=l.renderer.$cursorLayer.getPixelPosition(W,!0),U=l.renderer.scroller.getBoundingClientRect(),V=l.renderer.layerConfig.offset,K=l.renderer.scrollLeft,Y=function(re,ae){return re=re/E,ae=ae/C-.75,re*re+ae*ae};if(p.clientX<U.left){r="zoom";return}var J=Y(p.clientX-U.left-P.left+K,p.clientY-U.top-P.top+V),ne=Y(p.clientX-U.left-F.left+K,p.clientY-U.top-F.top+V);J<3.5&&ne<3.5&&(r=J>ne?"cursor":"anchor"),ne<3.5?r="anchor":J<3.5?r="cursor":r="scroll",o=setTimeout(_,450)}t=L},l),y.addListener(a,"touchend",function(p){c=l.$mouseHandler.isMousePressed=!1,s&&clearInterval(s),r=="zoom"?(r="",h=0):o?(l.selection.moveToPosition(u),h=0,m()):r=="scroll"?(v(),$()):m(),clearTimeout(o),o=null},l),y.addListener(a,"touchmove",function(p){o&&(clearTimeout(o),o=null);var d=p.touches;if(!(d.length>1||r=="zoom")){var C=d[0],E=i-C.clientX,L=n-C.clientY;if(r=="wait")if(E*E+L*L>4)r="cursor";else return p.preventDefault();i=C.clientX,n=C.clientY,p.clientX=C.clientX,p.clientY=C.clientY;var R=p.timeStamp,I=R-e;if(e=R,r=="scroll"){var O=new k(p,l);O.speed=1,O.wheelX=E,O.wheelY=L,10*Math.abs(E)<Math.abs(L)&&(E=0),10*Math.abs(L)<Math.abs(E)&&(L=0),I!=0&&(x=E/I,f=L/I),l._emit("mousewheel",O),O.propagationStopped||(x=f=0)}else{var B=new k(p,l),N=B.getDocumentPosition();r=="cursor"?l.selection.moveCursorToPosition(N):r=="anchor"&&l.selection.setSelectionAnchor(N.row,N.column),l.renderer.scrollCursorIntoView(N),p.preventDefault()}}},l);function v(){h+=60,s=setInterval(function(){h--<=0&&(clearInterval(s),s=null),Math.abs(x)<.01&&(x=0),Math.abs(f)<.01&&(f=0),h<20&&(x=.9*x),h<20&&(f=.9*f);var p=l.session.getScrollTop();l.renderer.scrollBy(10*x,10*f),p==l.session.getScrollTop()&&(h=0)},10)}}}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(T,M,z){var k=T("../lib/event"),y=T("../lib/useragent"),b=T("./default_handlers").DefaultHandlers,a=T("./default_gutter_handler").GutterHandler,l=T("./mouse_event").MouseEvent,r=T("./dragdrop_handler").DragdropHandler,i=T("./touch_handler").addTouchListeners,n=T("../config"),t=(function(){function e(o){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var s=this;this.editor=o,new b(this),new a(this),new r(this);var h=function(x){var f=!document.hasFocus||!document.hasFocus()||!o.isFocused()&&document.activeElement==(o.textInput&&o.textInput.getElement());f&&window.focus(),o.focus(),setTimeout(function(){o.isFocused()||o.focus()})},u=o.renderer.getMouseEventTarget();k.addListener(u,"click",this.onMouseEvent.bind(this,"click"),o),k.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove"),o),k.addMultiMouseDownListener([u,o.renderer.scrollBarV&&o.renderer.scrollBarV.inner,o.renderer.scrollBarH&&o.renderer.scrollBarH.inner,o.textInput&&o.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",o),k.addMouseWheelListener(o.container,this.onMouseWheel.bind(this,"mousewheel"),o),i(o.container,o);var A=o.renderer.$gutter;k.addListener(A,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),o),k.addListener(A,"click",this.onMouseEvent.bind(this,"gutterclick"),o),k.addListener(A,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),o),k.addListener(A,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),o),k.addListener(u,"mousedown",h,o),k.addListener(A,"mousedown",h,o),y.isIE&&o.renderer.scrollBarV&&(k.addListener(o.renderer.scrollBarV.element,"mousedown",h,o),k.addListener(o.renderer.scrollBarH.element,"mousedown",h,o)),o.on("mousemove",function(x){if(!(s.state||s.$dragDelay||!s.$dragEnabled)){var f=o.renderer.screenToTextCoordinates(x.x,x.y),c=o.session.selection.getRange(),g=o.renderer;!c.isEmpty()&&c.insideStart(f.row,f.column)?g.setCursorStyle("default"):g.setCursorStyle("")}},o)}return e.prototype.onMouseEvent=function(o,s){this.editor.session&&this.editor._emit(o,new l(s,this.editor))},e.prototype.onMouseMove=function(o,s){var h=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!h||!h.length||this.editor._emit(o,new l(s,this.editor))},e.prototype.onMouseWheel=function(o,s){var h=new l(s,this.editor);h.speed=this.$scrollSpeed*2,h.wheelX=s.wheelX,h.wheelY=s.wheelY,this.editor._emit(o,h)},e.prototype.setState=function(o){this.state=o},e.prototype.captureMouse=function(o,s){this.x=o.x,this.y=o.y,this.isMousePressed=!0;var h=this.editor,u=this.editor.renderer;u.$isMousePressed=!0;var A=this,x=!0,f=function($){if($){if(y.isWebKit&&!$.which&&A.releaseMouse)return A.releaseMouse();A.x=$.clientX,A.y=$.clientY,s&&s($),A.mouseEvent=new l($,A.editor),A.$mouseMoved=!0}},c=function($){h.off("beforeEndOperation",m),x=!1,h.session&&g(),A[A.state+"End"]&&A[A.state+"End"]($),A.state="",A.isMousePressed=u.$isMousePressed=!1,u.$keepTextAreaAtCursor&&u.$moveTextAreaToCursor(),A.$onCaptureMouseMove=A.releaseMouse=null,$&&A.onMouseEvent("mouseup",$),h.endOperation()},g=function(){A[A.state]&&A[A.state](),A.$mouseMoved=!1},w=function(){x&&(g(),k.nextFrame(w))};if(y.isOldIE&&o.domEvent.type=="dblclick")return setTimeout(function(){c(o)});var m=function($){A.releaseMouse&&h.curOp.command.name&&h.curOp.selectionChanged&&(A[A.state+"End"]&&A[A.state+"End"](),A.state="",A.releaseMouse())};h.on("beforeEndOperation",m),h.startOperation({command:{name:"mouse"}}),A.$onCaptureMouseMove=f,A.releaseMouse=k.capture(this.editor.container,f,c),w()},e.prototype.cancelContextMenu=function(){var o=function(s){s&&s.domEvent&&s.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",o),s&&s.domEvent&&k.stopEvent(s.domEvent))}.bind(this);setTimeout(o,10),this.editor.on("nativecontextmenu",o)},e.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse(),this.$tooltip&&this.$tooltip.destroy()},e})();t.prototype.releaseMouse=null,n.defineOptions(t.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:y.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0}}),M.MouseHandler=t}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(T,M,z){var k=T("../lib/dom"),y=(function(){function b(a){a.on("click",function(l){var r=l.getDocumentPosition(),i=a.session,n=i.getFoldAt(r.row,r.column,1);n&&(l.getAccelKey()?i.removeFold(n):i.expandFold(n),l.stop());var t=l.domEvent&&l.domEvent.target;t&&k.hasCssClass(t,"ace_inline_button")&&k.hasCssClass(t,"ace_toggle_wrap")&&(i.setOption("wrap",!i.getUseWrapMode()),a.renderer.scrollCursorIntoView())}),a.on("gutterclick",function(l){var r=a.renderer.$gutterLayer.getRegion(l);if(r=="foldWidgets"){var i=l.getDocumentPosition().row,n=a.session;n.foldWidgets&&n.foldWidgets[i]&&a.session.onFoldWidgetClick(i,l),a.isFocused()||a.focus(),l.stop()}}),a.on("gutterdblclick",function(l){var r=a.renderer.$gutterLayer.getRegion(l);if(r=="foldWidgets"){var i=l.getDocumentPosition().row,n=a.session,t=n.getParentFoldRangeData(i,!0),e=t.range||t.firstRange;if(e){i=e.start.row;var o=n.getFoldAt(i,n.getLine(i).length,1);o?n.removeFold(o):(n.addFold("...",e),a.renderer.scrollCursorIntoView({row:e.start.row,column:0}))}l.stop()}})}return b})();M.FoldHandler=y}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(T,M,z){var k=T("../lib/keys"),y=T("../lib/event"),b=(function(){function a(l){this.$editor=l,this.$data={editor:l},this.$handlers=[],this.setDefaultHandler(l.commands)}return a.prototype.setDefaultHandler=function(l){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=l,this.addKeyboardHandler(l,0)},a.prototype.setKeyboardHandler=function(l){var r=this.$handlers;if(r[r.length-1]!=l){for(;r[r.length-1]&&r[r.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(r[r.length-1]);this.addKeyboardHandler(l,1)}},a.prototype.addKeyboardHandler=function(l,r){if(l){typeof l=="function"&&!l.handleKeyboard&&(l.handleKeyboard=l);var i=this.$handlers.indexOf(l);i!=-1&&this.$handlers.splice(i,1),r==null?this.$handlers.push(l):this.$handlers.splice(r,0,l),i==-1&&l.attach&&l.attach(this.$editor)}},a.prototype.removeKeyboardHandler=function(l){var r=this.$handlers.indexOf(l);return r==-1?!1:(this.$handlers.splice(r,1),l.detach&&l.detach(this.$editor),!0)},a.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},a.prototype.getStatusText=function(){var l=this.$data,r=l.editor;return this.$handlers.map(function(i){return i.getStatusText&&i.getStatusText(r,l)||""}).filter(Boolean).join(" ")},a.prototype.$callKeyboardHandlers=function(l,r,i,n){for(var t,e=!1,o=this.$editor.commands,s=this.$handlers.length;s--&&(t=this.$handlers[s].handleKeyboard(this.$data,l,r,i,n),!(!(!t||!t.command)&&(t.command=="null"?e=!0:e=o.exec(t.command,this.$editor,t.args,n),e&&n&&l!=-1&&t.passEvent!=!0&&t.command.passEvent!=!0&&y.stopEvent(n),e))););return!e&&l==-1&&(t={command:"insertstring"},e=o.exec("insertstring",this.$editor,r)),e&&this.$editor._signal&&this.$editor._signal("keyboardActivity",t),e},a.prototype.onCommandKey=function(l,r,i){var n=k.keyCodeToString(i);return this.$callKeyboardHandlers(r,n,i,l)},a.prototype.onTextInput=function(l){return this.$callKeyboardHandlers(-1,l)},a})();M.KeyBinding=b}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(T,M,z){var k=0,y=0,b=!1,a=!1,l=!1,r=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],i=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],n=0,t=1,e=0,o=1,s=2,h=3,u=4,A=5,x=6,f=7,c=8,g=9,w=10,m=11,$=12,_=13,S=14,v=15,p=16,d=17,C=18,E=[C,C,C,C,C,C,C,C,C,x,A,x,c,A,C,C,C,C,C,C,C,C,C,C,C,C,C,C,A,A,A,x,c,u,u,m,m,m,u,u,u,u,u,w,g,w,g,g,s,s,s,s,s,s,s,s,s,s,g,u,u,u,u,u,u,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,u,u,u,u,u,u,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,u,u,u,u,C,C,C,C,C,C,A,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,g,u,m,m,m,m,u,u,u,u,e,u,u,C,u,u,m,m,s,s,u,e,u,u,u,s,e,u,u,u,u,u],L=[c,c,c,c,c,c,c,c,c,c,c,C,C,C,e,o,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,c,A,_,S,v,p,d,g,m,m,m,m,m,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,g,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,c];function R(N,W,P,F){var U=k?i:r,V=null,K=null,Y=null,J=0,ne=null,re=null,ae=-1,oe=null,pe=null,Fe=[];if(!F)for(oe=0,F=[];oe<P;oe++)F[oe]=B(N[oe]);for(y=k,b=!1,a=!1,l=!1,pe=0;pe<P;pe++){if(V=J,Fe[pe]=K=O(N,F,Fe,pe),J=U[V][K],ne=J&240,J&=15,W[pe]=Y=U[J][5],ne>0)if(ne==16){for(oe=ae;oe<pe;oe++)W[oe]=1;ae=-1}else ae=-1;if(re=U[J][6],re)ae==-1&&(ae=pe);else if(ae>-1){for(oe=ae;oe<pe;oe++)W[oe]=Y;ae=-1}F[pe]==A&&(W[pe]=0),y|=Y}if(l){for(oe=0;oe<P;oe++)if(F[oe]==x){W[oe]=k;for(var Se=oe-1;Se>=0&&F[Se]==c;Se--)W[Se]=k}}}function I(N,W,P){if(!(y<N)){if(N==1&&k==t&&!a){P.reverse();return}for(var F=P.length,U=0,V,K,Y,J;U<F;){if(W[U]>=N){for(V=U+1;V<F&&W[V]>=N;)V++;for(K=U,Y=V-1;K<Y;K++,Y--)J=P[K],P[K]=P[Y],P[Y]=J;U=V}U++}}}function O(N,W,P,F){var U=W[F],V,K,Y,J;switch(U){case e:case o:b=!1;case u:case h:return U;case s:return b?h:s;case f:return b=!0,o;case c:return u;case g:return F<1||F+1>=W.length||(V=P[F-1])!=s&&V!=h||(K=W[F+1])!=s&&K!=h?u:(b&&(K=h),K==V?K:u);case w:return V=F>0?P[F-1]:A,V==s&&F+1<W.length&&W[F+1]==s?s:u;case m:if(F>0&&P[F-1]==s)return s;if(b)return u;for(J=F+1,Y=W.length;J<Y&&W[J]==m;)J++;return J<Y&&W[J]==s?s:u;case $:for(Y=W.length,J=F+1;J<Y&&W[J]==$;)J++;if(J<Y){var ne=N[F],re=ne>=1425&&ne<=2303||ne==64286;if(V=W[J],re&&(V==o||V==f))return o}return F<1||(V=W[F-1])==A?u:P[F-1];case A:return b=!1,a=!0,k;case x:return l=!0,u;case _:case S:case p:case d:case v:b=!1;case C:return u}}function B(N){var W=N.charCodeAt(0),P=W>>8;return P==0?W>191?e:E[W]:P==5?/[\u0591-\u05f4]/.test(N)?o:e:P==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(N)?$:/[\u0660-\u0669\u066b-\u066c]/.test(N)?h:W==1642?m:/[\u06f0-\u06f9]/.test(N)?s:f:P==32&&W<=8287?L[W&255]:P==254&&W>=65136?f:u}M.L=e,M.R=o,M.EN=s,M.ON_R=3,M.AN=4,M.R_H=5,M.B=6,M.RLE=7,M.DOT="·",M.doBidiReorder=function(N,W,P){if(N.length<2)return{};var F=N.split(""),U=new Array(F.length),V=new Array(F.length),K=[];k=P?t:n,R(F,K,F.length,W);for(var Y=0;Y<U.length;U[Y]=Y,Y++);I(2,K,U),I(1,K,U);for(var Y=0;Y<U.length-1;Y++)W[Y]===h?K[Y]=M.AN:K[Y]===o&&(W[Y]>f&&W[Y]<_||W[Y]===u||W[Y]===C)?K[Y]=M.ON_R:Y>0&&F[Y-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(F[Y])&&(K[Y-1]=K[Y]=M.R_H,Y++);F[F.length-1]===M.DOT&&(K[F.length-1]=M.B),F[0]===""&&(K[0]=M.RLE);for(var Y=0;Y<U.length;Y++)V[Y]=K[U[Y]];return{logicalFromVisual:U,bidiLevels:V}},M.hasBidiCharacters=function(N,W){for(var P=!1,F=0;F<N.length;F++)W[F]=B(N.charAt(F)),!P&&(W[F]==o||W[F]==f||W[F]==h)&&(P=!0);return P},M.getVisualFromLogicalIdx=function(N,W){for(var P=0;P<W.logicalFromVisual.length;P++)if(W.logicalFromVisual[P]==N)return P;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(T,M,z){var k=T("./lib/bidiutil"),y=T("./lib/lang"),b=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,a=(function(){function l(r){this.session=r,this.bidiMap={},this.currentRow=null,this.bidiUtil=k,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=b.test(r.getValue())}return l.prototype.isBidiRow=function(r,i,n){return this.seenBidi?(r!==this.currentRow&&(this.currentRow=r,this.updateRowLine(i,n),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},l.prototype.onChange=function(r){this.seenBidi?this.currentRow=null:r.action=="insert"&&b.test(r.lines.join(` |
| 173 |
`))&&(this.seenBidi=!0,this.currentRow=null)},l.prototype.getDocumentRow=function(){var r=0,i=this.session.$screenRowCache;if(i.length){var n=this.session.$getRowCacheIndex(i,this.currentRow);n>=0&&(r=this.session.$docRowCache[n])}return r},l.prototype.getSplitIndex=function(){var r=0,i=this.session.$screenRowCache;if(i.length)for(var n,t=this.session.$getRowCacheIndex(i,this.currentRow);this.currentRow-r>0&&(n=this.session.$getRowCacheIndex(i,this.currentRow-r-1),n===t);)t=n,r++;else r=this.currentRow;return r},l.prototype.updateRowLine=function(r,i){r===void 0&&(r=this.getDocumentRow());var n=r===this.session.getLength()-1,t=n?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(r),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var e=this.session.$wrapData[r];e&&(i===void 0&&(i=this.getSplitIndex()),i>0&&e.length?(this.wrapIndent=e.indent,this.wrapOffset=this.wrapIndent*this.charWidths[k.L],this.line=i<e.length?this.line.substring(e[i-1],e[i]):this.line.substring(e[e.length-1])):this.line=this.line.substring(0,e[i]),i==e.length&&(this.line+=this.showInvisibles?t:k.DOT))}else this.line+=this.showInvisibles?t:k.DOT;var o=this.session,s=0,h;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(u,A){return u===" "||o.isFullWidth(u.charCodeAt(0))?(h=u===" "?o.getScreenTabSize(A+s):2,s+=h-1,y.stringRepeat(k.DOT,h)):u}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==k.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},l.prototype.updateBidiMap=function(){var r=[];k.hasBidiCharacters(this.line,r)||this.isRtlDir?this.bidiMap=k.doBidiReorder(this.line,r,this.isRtlDir):this.bidiMap={}},l.prototype.markAsDirty=function(){this.currentRow=null},l.prototype.updateCharacterWidths=function(r){if(this.characterWidth!==r.$characterSize.width){this.fontMetrics=r;var i=this.characterWidth=r.$characterSize.width,n=r.$measureCharWidth("ה");this.charWidths[k.L]=this.charWidths[k.EN]=this.charWidths[k.ON_R]=i,this.charWidths[k.R]=this.charWidths[k.AN]=n,this.charWidths[k.R_H]=n*.45,this.charWidths[k.B]=this.charWidths[k.RLE]=0,this.currentRow=null}},l.prototype.setShowInvisibles=function(r){this.showInvisibles=r,this.currentRow=null},l.prototype.setEolChar=function(r){this.EOL=r},l.prototype.setContentWidth=function(r){this.contentWidth=r},l.prototype.isRtlLine=function(r){return this.$isRtl?!0:r!=null?this.session.getLine(r).charAt(0)==this.RLE:this.isRtlDir},l.prototype.setRtlDirection=function(r,i){for(var n=r.getCursorPosition(),t=r.selection.getSelectionAnchor().row;t<=n.row;t++)!i&&r.session.getLine(t).charAt(0)===r.session.$bidiHandler.RLE?r.session.doc.removeInLine(t,0,1):i&&r.session.getLine(t).charAt(0)!==r.session.$bidiHandler.RLE&&r.session.doc.insert({column:0,row:t},r.session.$bidiHandler.RLE)},l.prototype.getPosLeft=function(r){r-=this.wrapIndent;var i=this.line.charAt(0)===this.RLE?1:0,n=r>i?this.session.getOverwrite()?r:r-1:i,t=k.getVisualFromLogicalIdx(n,this.bidiMap),e=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&r<=i&&e[t]%2!==0&&t++;for(var s=0;s<t;s++)o+=this.charWidths[e[s]];return!this.session.getOverwrite()&&r>i&&e[t]%2===0&&(o+=this.charWidths[e[t]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},l.prototype.getSelections=function(r,i){var n=this.bidiMap,t=n.bidiLevels,e,o=[],s=0,h=Math.min(r,i)-this.wrapIndent,u=Math.max(r,i)-this.wrapIndent,A=!1,x=!1,f=0;this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var c,g=0;g<t.length;g++)c=n.logicalFromVisual[g],e=t[g],A=c>=h&&c<u,A&&!x?f=s:!A&&x&&o.push({left:f,width:s-f}),s+=this.charWidths[e],x=A;if(A&&g===t.length&&o.push({left:f,width:s-f}),this.isRtlDir)for(var w=0;w<o.length;w++)o[w].left+=this.rtlLineOffset;return o},l.prototype.offsetToCol=function(n){this.isRtlDir&&(n-=this.rtlLineOffset);var i=0,n=Math.max(n,0),t=0,e=0,o=this.bidiMap.bidiLevels,s=this.charWidths[o[e]];for(this.wrapIndent&&(n-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);n>t+s/2;){if(t+=s,e===o.length-1){s=0;break}s=this.charWidths[o[++e]]}return e>0&&o[e-1]%2!==0&&o[e]%2===0?(n<t&&e--,i=this.bidiMap.logicalFromVisual[e]):e>0&&o[e-1]%2===0&&o[e]%2!==0?i=1+(n>t?this.bidiMap.logicalFromVisual[e]:this.bidiMap.logicalFromVisual[e-1]):this.isRtlDir&&e===o.length-1&&s===0&&o[e-1]%2===0||!this.isRtlDir&&e===0&&o[e]%2!==0?i=1+this.bidiMap.logicalFromVisual[e]:(e>0&&o[e-1]%2!==0&&s!==0&&e--,i=this.bidiMap.logicalFromVisual[e]),i===0&&this.isRtlDir&&i++,i+this.wrapIndent},l})();M.BidiHandler=a}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(T,M,z){var k=T("./lib/oop"),y=T("./lib/lang"),b=T("./lib/event_emitter").EventEmitter,a=T("./range").Range,l=(function(){function r(i){this.session=i,this.doc=i.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var n=this;this.cursor.on("change",function(t){n.$cursorChanged=!0,n.$silent||n._emit("changeCursor"),!n.$isEmpty&&!n.$silent&&n._emit("changeSelection"),!n.$keepDesiredColumnOnChange&&t.old.column!=t.value.column&&(n.$desiredColumn=null)}),this.anchor.on("change",function(){n.$anchorChanged=!0,!n.$isEmpty&&!n.$silent&&n._emit("changeSelection")})}return r.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},r.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},r.prototype.getCursor=function(){return this.lead.getPosition()},r.prototype.setAnchor=function(i,n){this.$isEmpty=!1,this.anchor.setPosition(i,n)},r.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},r.prototype.getSelectionLead=function(){return this.lead.getPosition()},r.prototype.isBackwards=function(){var i=this.anchor,n=this.lead;return i.row>n.row||i.row==n.row&&i.column>n.column},r.prototype.getRange=function(){var i=this.anchor,n=this.lead;return this.$isEmpty?a.fromPoints(n,n):this.isBackwards()?a.fromPoints(n,i):a.fromPoints(i,n)},r.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},r.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},r.prototype.setRange=function(i,n){var t=n?i.end:i.start,e=n?i.start:i.end;this.$setSelection(t.row,t.column,e.row,e.column)},r.prototype.$setSelection=function(i,n,t,e){if(!this.$silent){var o=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(i,n),this.cursor.setPosition(t,e),this.$isEmpty=!a.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||o!=this.$isEmpty||s)&&this._emit("changeSelection")}},r.prototype.$moveSelection=function(i){var n=this.lead;this.$isEmpty&&this.setSelectionAnchor(n.row,n.column),i.call(this)},r.prototype.selectTo=function(i,n){this.$moveSelection(function(){this.moveCursorTo(i,n)})},r.prototype.selectToPosition=function(i){this.$moveSelection(function(){this.moveCursorToPosition(i)})},r.prototype.moveTo=function(i,n){this.clearSelection(),this.moveCursorTo(i,n)},r.prototype.moveToPosition=function(i){this.clearSelection(),this.moveCursorToPosition(i)},r.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},r.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},r.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},r.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},r.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},r.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},r.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},r.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},r.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},r.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},r.prototype.getWordRange=function(i,n){if(typeof n=="undefined"){var t=i||this.lead;i=t.row,n=t.column}return this.session.getWordRange(i,n)},r.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},r.prototype.selectAWord=function(){var i=this.getCursor(),n=this.session.getAWordRange(i.row,i.column);this.setSelectionRange(n)},r.prototype.getLineRange=function(i,n){var t=typeof i=="number"?i:this.lead.row,e,o=this.session.getFoldLine(t);return o?(t=o.start.row,e=o.end.row):e=t,n===!0?new a(t,0,e,this.session.getLine(e).length):new a(t,0,e+1,0)},r.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},r.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},r.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},r.prototype.wouldMoveIntoSoftTab=function(i,n,t){var e=i.column,o=i.column+n;return t<0&&(e=i.column-n,o=i.column),this.session.isTabStop(i)&&this.doc.getLine(i.row).slice(e,o).split(" ").length-1==n},r.prototype.moveCursorLeft=function(){var i=this.lead.getPosition(),n;if(n=this.session.getFoldAt(i.row,i.column,-1))this.moveCursorTo(n.start.row,n.start.column);else if(i.column===0)i.row>0&&this.moveCursorTo(i.row-1,this.doc.getLine(i.row-1).length);else{var t=this.session.getTabSize();this.wouldMoveIntoSoftTab(i,t,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-t):this.moveCursorBy(0,-1)}},r.prototype.moveCursorRight=function(){var i=this.lead.getPosition(),n;if(n=this.session.getFoldAt(i.row,i.column,1))this.moveCursorTo(n.end.row,n.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var t=this.session.getTabSize(),i=this.lead;this.wouldMoveIntoSoftTab(i,t,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,t):this.moveCursorBy(0,1)}},r.prototype.moveCursorLineStart=function(){var i=this.lead.row,n=this.lead.column,t=this.session.documentToScreenRow(i,n),e=this.session.screenToDocumentPosition(t,0),o=this.session.getDisplayLine(i,null,e.row,e.column),s=o.match(/^\s*/);s[0].length!=n&&!this.session.$useEmacsStyleLineStart&&(e.column+=s[0].length),this.moveCursorToPosition(e)},r.prototype.moveCursorLineEnd=function(){var i=this.lead,n=this.session.getDocumentLastRowColumnPosition(i.row,i.column);if(this.lead.column==n.column){var t=this.session.getLine(n.row);if(n.column==t.length){var e=t.search(/\s+$/);e>0&&(n.column=e)}}this.moveCursorTo(n.row,n.column)},r.prototype.moveCursorFileEnd=function(){var i=this.doc.getLength()-1,n=this.doc.getLine(i).length;this.moveCursorTo(i,n)},r.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},r.prototype.moveCursorLongWordRight=function(){var i=this.lead.row,n=this.lead.column,t=this.doc.getLine(i),e=t.substring(n);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var o=this.session.getFoldAt(i,n,1);if(o){this.moveCursorTo(o.end.row,o.end.column);return}if(this.session.nonTokenRe.exec(e)&&(n+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,e=t.substring(n)),n>=t.length){this.moveCursorTo(i,t.length),this.moveCursorRight(),i<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(e)&&(n+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(i,n)},r.prototype.moveCursorLongWordLeft=function(){var i=this.lead.row,n=this.lead.column,t;if(t=this.session.getFoldAt(i,n,-1)){this.moveCursorTo(t.start.row,t.start.column);return}var e=this.session.getFoldStringAt(i,n,-1);e==null&&(e=this.doc.getLine(i).substring(0,n));var o=y.stringReverse(e);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(o)&&(n-=this.session.nonTokenRe.lastIndex,o=o.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0){this.moveCursorTo(i,0),this.moveCursorLeft(),i>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(o)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(i,n)},r.prototype.$shortWordEndIndex=function(i){var n=0,t,e=/\s/,o=this.session.tokenRe;if(o.lastIndex=0,this.session.tokenRe.exec(i))n=this.session.tokenRe.lastIndex;else{for(;(t=i[n])&&e.test(t);)n++;if(n<1){for(o.lastIndex=0;(t=i[n])&&!o.test(t);)if(o.lastIndex=0,n++,e.test(t))if(n>2){n--;break}else{for(;(t=i[n])&&e.test(t);)n++;if(n>2)break}}}return o.lastIndex=0,n},r.prototype.moveCursorShortWordRight=function(){var i=this.lead.row,n=this.lead.column,t=this.doc.getLine(i),e=t.substring(n),o=this.session.getFoldAt(i,n,1);if(o)return this.moveCursorTo(o.end.row,o.end.column);if(n==t.length){var s=this.doc.getLength();do i++,e=this.doc.getLine(i);while(i<s&&/^\s*$/.test(e));/^\s+/.test(e)||(e=""),n=0}var h=this.$shortWordEndIndex(e);this.moveCursorTo(i,n+h)},r.prototype.moveCursorShortWordLeft=function(){var i=this.lead.row,n=this.lead.column,t;if(t=this.session.getFoldAt(i,n,-1))return this.moveCursorTo(t.start.row,t.start.column);var e=this.session.getLine(i).substring(0,n);if(n===0){do i--,e=this.doc.getLine(i);while(i>0&&/^\s*$/.test(e));n=e.length,/\s+$/.test(e)||(e="")}var o=y.stringReverse(e),s=this.$shortWordEndIndex(o);return this.moveCursorTo(i,n-s)},r.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},r.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},r.prototype.moveCursorBy=function(i,n){var t=this.session.documentToScreenPosition(this.lead.row,this.lead.column),e;if(n===0&&(i!==0&&(this.session.$bidiHandler.isBidiRow(t.row,this.lead.row)?(e=this.session.$bidiHandler.getPosLeft(t.column),t.column=Math.round(e/this.session.$bidiHandler.charWidths[0])):e=t.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?t.column=this.$desiredColumn:this.$desiredColumn=t.column),i!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var o=this.session.lineWidgets[this.lead.row];i<0?i-=o.rowsAbove||0:i>0&&(i+=o.rowCount-(o.rowsAbove||0))}var s=this.session.screenToDocumentPosition(t.row+i,t.column,e);i!==0&&n===0&&s.row===this.lead.row&&(s.column,this.lead.column),this.moveCursorTo(s.row,s.column+n,n===0)},r.prototype.moveCursorToPosition=function(i){this.moveCursorTo(i.row,i.column)},r.prototype.moveCursorTo=function(i,n,t){var e=this.session.getFoldAt(i,n,1);e&&(i=e.start.row,n=e.start.column),this.$keepDesiredColumnOnChange=!0;var o=this.session.getLine(i);/[\uDC00-\uDFFF]/.test(o.charAt(n))&&o.charAt(n-1)&&(this.lead.row==i&&this.lead.column==n+1?n=n-1:n=n+1),this.lead.setPosition(i,n),this.$keepDesiredColumnOnChange=!1,t||(this.$desiredColumn=null)},r.prototype.moveCursorToScreen=function(i,n,t){var e=this.session.screenToDocumentPosition(i,n);this.moveCursorTo(e.row,e.column,t)},r.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},r.prototype.fromOrientedRange=function(i){this.setSelectionRange(i,i.cursor==i.start),this.$desiredColumn=i.desiredColumn||this.$desiredColumn},r.prototype.toOrientedRange=function(i){var n=this.getRange();return i?(i.start.column=n.start.column,i.start.row=n.start.row,i.end.column=n.end.column,i.end.row=n.end.row):i=n,i.cursor=this.isBackwards()?i.start:i.end,i.desiredColumn=this.$desiredColumn,i},r.prototype.getRangeOfMovements=function(i){var n=this.getCursor();try{i(this);var t=this.getCursor();return a.fromPoints(n,t)}catch(e){return a.fromPoints(n,n)}finally{this.moveCursorToPosition(n)}},r.prototype.toJSON=function(){if(this.rangeCount)var i=this.ranges.map(function(n){var t=n.clone();return t.isBackwards=n.cursor==n.start,t});else{var i=this.getRange();i.isBackwards=this.isBackwards()}return i},r.prototype.fromJSON=function(i){if(i.start==null)if(this.rangeList&&i.length>1){this.toSingleRange(i[0]);for(var n=i.length;n--;){var t=a.fromPoints(i[n].start,i[n].end);i[n].isBackwards&&(t.cursor=t.start),this.addRange(t,!0)}return}else i=i[0];this.rangeList&&this.toSingleRange(i),this.setSelectionRange(i,i.isBackwards)},r.prototype.isEqual=function(i){if((i.length||this.rangeCount)&&i.length!=this.rangeCount)return!1;if(!i.length||!this.ranges)return this.getRange().isEqual(i);for(var n=this.ranges.length;n--;)if(!this.ranges[n].isEqual(i[n]))return!1;return!0},r})();l.prototype.setSelectionAnchor=l.prototype.setAnchor,l.prototype.getSelectionAnchor=l.prototype.getAnchor,l.prototype.setSelectionRange=l.prototype.setRange,k.implement(l.prototype,b),M.Selection=l}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(T,M,z){var k=T("./lib/report_error").reportError,y=2e3,b=(function(){function a(l){this.splitRegex,this.states=l,this.regExps={},this.matchMappings={};for(var r in this.states){for(var i=this.states[r],n=[],t=0,e=this.matchMappings[r]={defaultToken:"text"},o="g",s=[],h=0;h<i.length;h++){var u=i[h];if(u.defaultToken&&(e.defaultToken=u.defaultToken),u.caseInsensitive&&o.indexOf("i")===-1&&(o+="i"),u.unicode&&o.indexOf("u")===-1&&(o+="u"),u.regex!=null){u.regex instanceof RegExp&&(u.regex=u.regex.toString().slice(1,-1));var A=u.regex,x=new RegExp("(?:("+A+")|(.))").exec("a").length-2;Array.isArray(u.token)?u.token.length==1||x==1?u.token=u.token[0]:x-1!=u.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:u,groupCount:x-1}),u.token=u.token[0]):(u.tokenArray=u.token,u.token=null,u.onMatch=this.$arrayTokens):typeof u.token=="function"&&!u.onMatch&&(x>1?u.onMatch=this.$applyToken:u.onMatch=u.token),x>1&&(/\\\d/.test(u.regex)?A=u.regex.replace(/\\([0-9]+)/g,function(f,c){return"\\"+(parseInt(c,10)+t+1)}):(x=1,A=this.removeCapturingGroups(u.regex)),!u.splitRegex&&typeof u.token!="string"&&s.push(u)),e[t]=h,t+=x,n.push(A),u.onMatch||(u.onMatch=null)}}n.length||(e[0]=0,n.push("$")),s.forEach(function(f){f.splitRegex=this.createSplitterRegexp(f.regex,o)},this),this.regExps[r]=new RegExp("("+n.join(")|(")+")|($)",o)}}return a.prototype.$setMaxTokenCount=function(l){y=l|0},a.prototype.$applyToken=function(l){var r=this.splitRegex.exec(l).slice(1),i=this.token.apply(this,r);if(typeof i=="string")return[{type:i,value:l}];for(var n=[],t=0,e=i.length;t<e;t++)r[t]&&(n[n.length]={type:i[t],value:r[t]});return n},a.prototype.$arrayTokens=function(l){if(!l)return[];var r=this.splitRegex.exec(l);if(!r)return"text";for(var i=[],n=this.tokenArray,t=0,e=n.length;t<e;t++)r[t+1]&&(i[i.length]={type:n[t],value:r[t+1]});return i},a.prototype.removeCapturingGroups=function(l){var r=l.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(i,n){return n?"(?:":i});return r},a.prototype.createSplitterRegexp=function(l,r){if(l.indexOf("(?=")!=-1){var i=0,n=!1,t={};l.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,o,s,h,u,A){return n?n=u!="]":u?n=!0:h?(i==t.stack&&(t.end=A+1,t.stack=-1),i--):s&&(i++,s.length!=1&&(t.stack=i,t.start=A)),e}),t.end!=null&&/^\)*$/.test(l.substr(t.end))&&(l=l.substring(0,t.start)+l.substr(t.end))}return l.charAt(0)!="^"&&(l="^"+l),l.charAt(l.length-1)!="$"&&(l+="$"),new RegExp(l,(r||"").replace("g",""))},a.prototype.getLineTokens=function(l,r){if(r&&typeof r!="string"){var i=r.slice(0);r=i[0],r==="#tmp"&&(i.shift(),r=i.shift())}else var i=[];var n=r||"start",t=this.states[n];t||(n="start",t=this.states[n]);var e=this.matchMappings[n],o=this.regExps[n];o.lastIndex=0;for(var s,h=[],u=0,A=0,x={type:null,value:""};s=o.exec(l);){var f=e.defaultToken,c=null,g=s[0],w=o.lastIndex;if(w-g.length>u){var m=l.substring(u,w-g.length);x.type==f?x.value+=m:(x.type&&h.push(x),x={type:f,value:m})}for(var $=0;$<s.length-2;$++)if(s[$+1]!==void 0){c=t[e[$]],c.onMatch?f=c.onMatch(g,n,i,l):f=c.token,c.next&&(typeof c.next=="string"?n=c.next:n=c.next(n,i),t=this.states[n],t||(this.reportError("state doesn't exist",n),n="start",t=this.states[n]),e=this.matchMappings[n],u=w,o=this.regExps[n],o.lastIndex=w),c.consumeLineEnd&&(u=w);break}if(g){if(typeof f=="string")(!c||c.merge!==!1)&&x.type===f?x.value+=g:(x.type&&h.push(x),x={type:f,value:g});else if(f){x.type&&h.push(x),x={type:null,value:""};for(var $=0;$<f.length;$++)h.push(f[$])}}if(u==l.length)break;if(u=w,A++>y){for(A>2*l.length&&this.reportError("infinite loop with in ace tokenizer",{startState:r,line:l});u<l.length;)x.type&&h.push(x),x={value:l.substring(u,u+=500),type:"overflow"};n="start",i=[];break}}return x.type&&h.push(x),i.length>1&&i[0]!==n&&i.unshift("#tmp",n),{tokens:h,state:i.length?i:n}},a})();b.prototype.reportError=k,M.Tokenizer=b}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(T,M,z){var k=T("../lib/deep_copy").deepCopy,y;y=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},(function(){this.addRules=function(l,r){if(!r){for(var i in l)this.$rules[i]=l[i];return}for(var i in l){for(var n=l[i],t=0;t<n.length;t++){var e=n[t];(e.next||e.onMatch)&&(typeof e.next=="string"&&e.next.indexOf(r)!==0&&(e.next=r+e.next),e.nextState&&e.nextState.indexOf(r)!==0&&(e.nextState=r+e.nextState))}this.$rules[r+i]=n}},this.getRules=function(){return this.$rules},this.embedRules=function(l,r,i,n,t){var e=typeof l=="function"?new l().getRules():l;if(n)for(var o=0;o<n.length;o++)n[o]=r+n[o];else{n=[];for(var s in e)n.push(r+s)}if(this.addRules(e,r),i)for(var h=Array.prototype[t?"push":"unshift"],o=0;o<n.length;o++)h.apply(this.$rules[n[o]],k(i));this.$embeds||(this.$embeds=[]),this.$embeds.push(r)},this.getEmbeds=function(){return this.$embeds};var b=function(l,r){return(l!="start"||r.length)&&r.unshift(this.nextState,l),this.nextState},a=function(l,r){return r.shift(),r.shift()||"start"};this.normalizeRules=function(){var l=0,r=this.$rules;function i(n){var t=r[n];t.processed=!0;for(var e=0;e<t.length;e++){var o=t[e],s=null;Array.isArray(o)&&(s=o,o={}),!o.regex&&o.start&&(o.regex=o.start,o.next||(o.next=[]),o.next.push({defaultToken:o.token},{token:o.token+".end",regex:o.end||o.start,next:"pop"}),o.token=o.token+".start",o.push=!0);var h=o.next||o.push;if(h&&Array.isArray(h)){var u=o.stateName;u||(u=o.token,typeof u!="string"&&(u=u[0]||""),r[u]&&(u+=l++)),r[u]=h,o.next=u,i(u)}else h=="pop"&&(o.next=a);if(o.push&&(o.nextState=o.next||o.push,o.next=b,delete o.push),o.rules)for(var A in o.rules)r[A]?r[A].push&&r[A].push.apply(r[A],o.rules[A]):r[A]=o.rules[A];var x=typeof o=="string"?o:o.include;if(x&&(x==="$self"&&(x="start"),Array.isArray(x)?s=x.map(function(c){return r[c]}):s=r[x]),s){var f=[e,1].concat(s);o.noEscape&&(f=f.filter(function(c){return!c.next})),t.splice.apply(t,f),e--}o.keywordMap&&(o.token=this.createKeywordMapper(o.keywordMap,o.defaultToken||"text",o.caseInsensitive),delete o.defaultToken)}}Object.keys(r).forEach(i,this)},this.createKeywordMapper=function(l,r,i,n){var t=Object.create(null);return this.$keywordList=[],Object.keys(l).forEach(function(e){for(var o=l[e],s=o.split(n||"|"),h=s.length;h--;){var u=s[h];this.$keywordList.push(u),i&&(u=u.toLowerCase()),t[u]=e}},this),l=null,i?function(e){return t[e.toLowerCase()]||r}:function(e){return t[e]||r}},this.getKeywords=function(){return this.$keywords}}).call(y.prototype),M.TextHighlightRules=y}),ace.define("ace/mode/behaviour",["require","exports","module"],function(T,M,z){var k;k=function(){this.$behaviours={}},(function(){this.add=function(y,b,a){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[y]:this.$behaviours[y]={}}this.$behaviours[y][b]=a},this.addBehaviours=function(y){for(var b in y)for(var a in y[b])this.add(b,a,y[b][a])},this.remove=function(y){this.$behaviours&&this.$behaviours[y]&&delete this.$behaviours[y]},this.inherit=function(y,b){if(typeof y=="function")var a=new y().getBehaviours(b);else var a=y.getBehaviours(b);this.addBehaviours(a)},this.getBehaviours=function(y){if(y){for(var b={},a=0;a<y.length;a++)this.$behaviours[y[a]]&&(b[y[a]]=this.$behaviours[y[a]]);return b}else return this.$behaviours}}).call(k.prototype),M.Behaviour=k}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(T,M,z){var k=T("./range").Range,y=(function(){function b(a,l,r){this.$session=a,this.$row=l,this.$rowTokens=a.getTokens(l);var i=a.getTokenAt(l,r);this.$tokenIndex=i?i.index:-1}return b.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},b.prototype.stepForward=function(){this.$tokenIndex+=1;for(var a;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,a||(a=this.$session.getLength()),this.$row>=a)return this.$row=a-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},b.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},b.prototype.getCurrentTokenRow=function(){return this.$row},b.prototype.getCurrentTokenColumn=function(){var a=this.$rowTokens,l=this.$tokenIndex,r=a[l].start;if(r!==void 0)return r;for(r=0;l>0;)l-=1,r+=a[l].value.length;return r},b.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},b.prototype.getCurrentTokenRange=function(){var a=this.$rowTokens[this.$tokenIndex],l=this.getCurrentTokenColumn();return new k(this.$row,l,this.$row,l+a.value.length)},b})();M.TokenIterator=y}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(T,M,z){var k=T("../../lib/oop"),y=T("../behaviour").Behaviour,b=T("../../token_iterator").TokenIterator,a=T("../../lib/lang"),l=["text","paren.rparen","rparen","paren","punctuation.operator"],r=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],i,n={},t={'"':'"',"'":"'"},e=function(h){var u=-1;if(h.multiSelect&&(u=h.selection.index,n.rangeCount!=h.multiSelect.rangeCount&&(n={rangeCount:h.multiSelect.rangeCount})),n[u])return i=n[u];i=n[u]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},o=function(h,u,A,x){var f=h.end.row-h.start.row;return{text:A+u+x,selection:[0,h.start.column+1,f,h.end.column+(f?0:1)]}},s;s=function(h){h=h||{},this.add("braces","insertion",function(u,A,x,f,c){var g=x.getCursorPosition(),w=f.doc.getLine(g.row);if(c=="{"){e(x);var m=x.getSelectionRange(),$=f.doc.getTextRange(m),_=f.getTokenAt(g.row,g.column);if($!==""&&$!=="{"&&x.getWrapBehavioursEnabled())return o(m,$,"{","}");if(_&&/(?:string)\.quasi|\.xml/.test(_.type)){var S=[/tag\-(?:open|name)/,/attribute\-name/];return S.some(function(R){return R.test(_.type)})||/(string)\.quasi/.test(_.type)&&_.value[g.column-_.start-1]!=="$"?void 0:(s.recordAutoInsert(x,f,"}"),{text:"{}",selection:[1,1]})}else if(s.isSaneInsertion(x,f))return/[\]\}\)]/.test(w[g.column])||x.inMultiSelectMode||h.braces?(s.recordAutoInsert(x,f,"}"),{text:"{}",selection:[1,1]}):(s.recordMaybeInsert(x,f,"{"),{text:"{",selection:[1,1]})}else if(c=="}"){e(x);var v=w.substring(g.column,g.column+1);if(v=="}"){var p=f.$findOpeningBracket("}",{column:g.column+1,row:g.row});if(p!==null&&s.isAutoInsertedClosing(g,w,c))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(c==` |
| 174 |
`||c==`\r |
| 175 |
`){e(x);var d="";s.isMaybeInsertedClosing(g,w)&&(d=a.stringRepeat("}",i.maybeInsertedBrackets),s.clearMaybeInsertedClosing());var v=w.substring(g.column,g.column+1);if(v==="}"){var C=f.findMatchingBracket({row:g.row,column:g.column+1},"}");if(!C)return null;var E=this.$getIndent(f.getLine(C.row))}else if(d)var E=this.$getIndent(w);else{s.clearMaybeInsertedClosing();return}var L=E+f.getTabString();return{text:` |
| 176 |
`+L+` |
| 177 |
`+E+d,selection:[1,L.length,1,L.length]}}else s.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(u,A,x,f,c){var g=f.doc.getTextRange(c);if(!c.isMultiLine()&&g=="{"){e(x);var w=f.doc.getLine(c.start.row),m=w.substring(c.end.column,c.end.column+1);if(m=="}")return c.end.column++,c;i.maybeInsertedBrackets--}}),this.add("parens","insertion",function(u,A,x,f,c){if(c=="("){e(x);var g=x.getSelectionRange(),w=f.doc.getTextRange(g);if(w!==""&&x.getWrapBehavioursEnabled())return o(g,w,"(",")");if(s.isSaneInsertion(x,f))return s.recordAutoInsert(x,f,")"),{text:"()",selection:[1,1]}}else if(c==")"){e(x);var m=x.getCursorPosition(),$=f.doc.getLine(m.row),_=$.substring(m.column,m.column+1);if(_==")"){var S=f.$findOpeningBracket(")",{column:m.column+1,row:m.row});if(S!==null&&s.isAutoInsertedClosing(m,$,c))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(u,A,x,f,c){var g=f.doc.getTextRange(c);if(!c.isMultiLine()&&g=="("){e(x);var w=f.doc.getLine(c.start.row),m=w.substring(c.start.column+1,c.start.column+2);if(m==")")return c.end.column++,c}}),this.add("brackets","insertion",function(u,A,x,f,c){if(c=="["){e(x);var g=x.getSelectionRange(),w=f.doc.getTextRange(g);if(w!==""&&x.getWrapBehavioursEnabled())return o(g,w,"[","]");if(s.isSaneInsertion(x,f))return s.recordAutoInsert(x,f,"]"),{text:"[]",selection:[1,1]}}else if(c=="]"){e(x);var m=x.getCursorPosition(),$=f.doc.getLine(m.row),_=$.substring(m.column,m.column+1);if(_=="]"){var S=f.$findOpeningBracket("]",{column:m.column+1,row:m.row});if(S!==null&&s.isAutoInsertedClosing(m,$,c))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(u,A,x,f,c){var g=f.doc.getTextRange(c);if(!c.isMultiLine()&&g=="["){e(x);var w=f.doc.getLine(c.start.row),m=w.substring(c.start.column+1,c.start.column+2);if(m=="]")return c.end.column++,c}}),this.add("string_dquotes","insertion",function(u,A,x,f,c){var g=f.$mode.$quotes||t;if(c.length==1&&g[c]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(c)!=-1)return;e(x);var w=c,m=x.getSelectionRange(),$=f.doc.getTextRange(m);if($!==""&&($.length!=1||!g[$])&&x.getWrapBehavioursEnabled())return o(m,$,w,w);if(!$){var _=x.getCursorPosition(),S=f.doc.getLine(_.row),v=S.substring(_.column-1,_.column),p=S.substring(_.column,_.column+1),d=f.getTokenAt(_.row,_.column),C=f.getTokenAt(_.row,_.column+1);if(v=="\\"&&d&&/escape/.test(d.type))return null;var E=d&&/string|escape/.test(d.type),L=!C||/string|escape/.test(C.type),R;if(p==w)R=E!==L,R&&/string\.end/.test(C.type)&&(R=!1);else{if(E&&!L||E&&L)return null;var I=f.$mode.tokenRe;I.lastIndex=0;var O=I.test(v);I.lastIndex=0;var B=I.test(p),N=f.$mode.$pairQuotesAfter,W=N&&N[w]&&N[w].test(v);if(!W&&O||B||p&&!/[\s;,.})\]\\]/.test(p))return null;var P=S[_.column-2];if(v==w&&(P==w||I.test(P)))return null;R=!0}return{text:R?w+w:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(u,A,x,f,c){var g=f.$mode.$quotes||t,w=f.doc.getTextRange(c);if(!c.isMultiLine()&&g.hasOwnProperty(w)){e(x);var m=f.doc.getLine(c.start.row),$=m.substring(c.start.column+1,c.start.column+2);if($==w)return c.end.column++,c}}),h.closeDocComment!==!1&&this.add("doc comment end","insertion",function(u,A,x,f,c){if(u==="doc-start"&&(c===` |
| 178 |
`||c===`\r |
| 179 |
`)&&x.selection.isEmpty()){var g=x.getCursorPosition();if(g.column===0)return;for(var w=f.doc.getLine(g.row),m=f.doc.getLine(g.row+1),$=f.getTokens(g.row),_=0,S=0;S<$.length;S++){_+=$[S].value.length;var v=$[S];if(_>=g.column){if(_===g.column){if(!/\.doc/.test(v.type))return;if(/\*\//.test(v.value)){var p=$[S+1];if(!p||!/\.doc/.test(p.type))return}}var d=g.column-(_-v.value.length),C=v.value.indexOf("*/"),E=v.value.indexOf("/**",C>-1?C+2:0);if(E!==-1&&d>E&&d<E+3||C!==-1&&E!==-1&&d>=C&&d<=E||!/\.doc/.test(v.type))return;break}}var L=this.$getIndent(w);if(/\s*\*/.test(m))return/^\s*\*/.test(w)?{text:c+L+"* ",selection:[1,2+L.length,1,2+L.length]}:{text:c+L+" * ",selection:[1,3+L.length,1,3+L.length]};if(/\/\*\*/.test(w.substring(0,g.column)))return{text:c+L+" * "+c+" "+L+"*/",selection:[1,4+L.length,1,4+L.length]}}})},s.isSaneInsertion=function(h,u){var A=h.getCursorPosition(),x=new b(u,A.row,A.column);if(!this.$matchTokenType(x.getCurrentToken()||"text",l)){if(/[)}\]]/.test(h.session.getLine(A.row)[A.column]))return!0;var f=new b(u,A.row,A.column+1);if(!this.$matchTokenType(f.getCurrentToken()||"text",l))return!1}return x.stepForward(),x.getCurrentTokenRow()!==A.row||this.$matchTokenType(x.getCurrentToken()||"text",r)},s.$matchTokenType=function(h,u){return u.indexOf(h.type||h)>-1},s.recordAutoInsert=function(h,u,A){var x=h.getCursorPosition(),f=u.doc.getLine(x.row);this.isAutoInsertedClosing(x,f,i.autoInsertedLineEnd[0])||(i.autoInsertedBrackets=0),i.autoInsertedRow=x.row,i.autoInsertedLineEnd=A+f.substr(x.column),i.autoInsertedBrackets++},s.recordMaybeInsert=function(h,u,A){var x=h.getCursorPosition(),f=u.doc.getLine(x.row);this.isMaybeInsertedClosing(x,f)||(i.maybeInsertedBrackets=0),i.maybeInsertedRow=x.row,i.maybeInsertedLineStart=f.substr(0,x.column)+A,i.maybeInsertedLineEnd=f.substr(x.column),i.maybeInsertedBrackets++},s.isAutoInsertedClosing=function(h,u,A){return i.autoInsertedBrackets>0&&h.row===i.autoInsertedRow&&A===i.autoInsertedLineEnd[0]&&u.substr(h.column)===i.autoInsertedLineEnd},s.isMaybeInsertedClosing=function(h,u){return i.maybeInsertedBrackets>0&&h.row===i.maybeInsertedRow&&u.substr(h.column)===i.maybeInsertedLineEnd&&u.substr(0,h.column)==i.maybeInsertedLineStart},s.popAutoInsertedClosing=function(){i.autoInsertedLineEnd=i.autoInsertedLineEnd.substr(1),i.autoInsertedBrackets--},s.clearMaybeInsertedClosing=function(){i&&(i.maybeInsertedBrackets=0,i.maybeInsertedRow=-1)},k.inherits(s,y),M.CstyleBehaviour=s}),ace.define("ace/unicode",["require","exports","module"],function(T,M,z){for(var k=[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],y=0,b=[],a=0;a<k.length;a+=2)b.push(y+=k[a]),k[a+1]&&b.push(45,y+=k[a+1]);M.wordChars=String.fromCharCode.apply(null,b)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(T,M,z){var k=T("../config"),y=T("../tokenizer").Tokenizer,b=T("./text_highlight_rules").TextHighlightRules,a=T("./behaviour/cstyle").CstyleBehaviour,l=T("../unicode"),r=T("../lib/lang"),i=T("../token_iterator").TokenIterator,n=T("../range").Range,t;t=function(){this.HighlightRules=b},(function(){this.$defaultBehaviour=new a,this.tokenRe=new RegExp("^["+l.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+l.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new y(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,o,s,h){var u=o.doc,A=!0,x=!0,f=1/0,c=o.getTabSize(),g=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var $=this.lineCommentStart.map(r.escapeRegExp).join("|"),w=this.lineCommentStart[0];else var $=r.escapeRegExp(this.lineCommentStart),w=this.lineCommentStart;$=new RegExp("^(\\s*)(?:"+$+") ?"),g=o.getUseSoftTabs();var v=function(B,N){var W=B.match($);if(W){var P=W[1].length,F=W[0].length;!C(B,P,F)&&W[0][F-1]==" "&&F--,u.removeInLine(N,P,F)}},d=w+" ",S=function(B,N){(!A||/\S/.test(B))&&(C(B,f,f)?u.insertInLine({row:N,column:f},d):u.insertInLine({row:N,column:f},w))},p=function(B,N){return $.test(B)},C=function(B,N,W){for(var P=0;N--&&B.charAt(N)==" ";)P++;if(P%c!=0)return!1;for(var P=0;B.charAt(W++)==" ";)P++;return c>2?P%c!=c-1:P%c==0}}else{if(!this.blockComment)return!1;var w=this.blockComment.start,m=this.blockComment.end,$=new RegExp("^(\\s*)(?:"+r.escapeRegExp(w)+")"),_=new RegExp("(?:"+r.escapeRegExp(m)+")\\s*$"),S=function(R,I){p(R,I)||(!A||/\S/.test(R))&&(u.insertInLine({row:I,column:R.length},m),u.insertInLine({row:I,column:f},w))},v=function(R,I){var O;(O=R.match(_))&&u.removeInLine(I,R.length-O[0].length,R.length),(O=R.match($))&&u.removeInLine(I,O[1].length,O[0].length)},p=function(R,I){if($.test(R))return!0;for(var O=o.getTokens(I),B=0;B<O.length;B++)if(O[B].type==="comment")return!0}}function E(R){for(var I=s;I<=h;I++)R(u.getLine(I),I)}var L=1/0;E(function(R,I){var O=R.search(/\S/);O!==-1?(O<f&&(f=O),x&&!p(R,I)&&(x=!1)):L>R.length&&(L=R.length)}),f==1/0&&(f=L,A=!1,x=!1),g&&f%c!=0&&(f=Math.floor(f/c)*c),E(x?v:S)},this.toggleBlockComment=function(e,o,s,h){var u=this.blockComment;if(u){!u.start&&u[0]&&(u=u[0]);var A=new i(o,h.row,h.column),x=A.getCurrentToken();o.selection;var f=o.selection.toOrientedRange(),c,g;if(x&&/comment/.test(x.type)){for(var w,m;x&&/comment/.test(x.type);){var $=x.value.indexOf(u.start);if($!=-1){var _=A.getCurrentTokenRow(),S=A.getCurrentTokenColumn()+$;w=new n(_,S,_,S+u.start.length);break}x=A.stepBackward()}for(var A=new i(o,h.row,h.column),x=A.getCurrentToken();x&&/comment/.test(x.type);){var $=x.value.indexOf(u.end);if($!=-1){var _=A.getCurrentTokenRow(),S=A.getCurrentTokenColumn()+$;m=new n(_,S,_,S+u.end.length);break}x=A.stepForward()}m&&o.remove(m),w&&(o.remove(w),c=w.start.row,g=-u.start.length)}else g=u.start.length,c=s.start.row,o.insert(s.end,u.end),o.insert(s.start,u.start);f.start.row==c&&(f.start.column+=g),f.end.row==c&&(f.end.column+=g),o.selection.fromOrientedRange(f)}},this.getNextLineIndent=function(e,o,s){return this.$getIndent(o)},this.checkOutdent=function(e,o,s){return!1},this.autoOutdent=function(e,o,s){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var o in e)if(e[o]){var s=e[o],h=s.prototype.$id,u=k.$modes[h];u||(k.$modes[h]=u=new s),k.$modes[o]||(k.$modes[o]=u),this.$embeds.push(o),this.$modes[o]=u}for(var A=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],x=function(c){(function(g){var w=A[c],m=g[w];g[A[c]]=function(){return this.$delegator(w,arguments,m)}})(f)},f=this,o=0;o<A.length;o++)x(o)},this.$delegator=function(e,o,s){var h=o[0]||"start";if(typeof h!="string"){if(Array.isArray(h[2])){var u=h[2][h[2].length-1],A=this.$modes[u];if(A)return A[e].apply(A,[h[1]].concat([].slice.call(o,1)))}h=h[0]||"start"}for(var x=0;x<this.$embeds.length;x++)if(this.$modes[this.$embeds[x]]){var f=h.split(this.$embeds[x]);if(!f[0]&&f[1]){o[0]=f[1];var A=this.$modes[this.$embeds[x]];return A[e].apply(A,o)}}var c=s.apply(this,o);return s?c:void 0},this.transformAction=function(e,o,s,h,u){if(this.$behaviour){var A=this.$behaviour.getBehaviours();for(var x in A)if(A[x][o]){var f=A[x][o].apply(this,arguments);if(f)return f}}},this.getKeywords=function(e){if(!this.completionKeywords){var o=this.$tokenizer.rules,s=[];for(var h in o)for(var u=o[h],A=0,x=u.length;A<x;A++)if(typeof u[A].token=="string")/keyword|support|storage/.test(u[A].token)&&s.push(u[A].regex);else if(typeof u[A].token=="object"){for(var f=0,c=u[A].token.length;f<c;f++)if(/keyword|support|storage/.test(u[A].token[f])){var h=u[A].regex.match(/\(.+?\)/g)[f];s.push(h.substr(1,h.length-2))}}this.completionKeywords=s}return e?s.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,o,s,h){var u=this.$keywordList||this.$createKeywordList();return u.map(function(A){return{name:A,value:A,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(t.prototype),M.Mode=t}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(T,M,z){var k=T("./lib/dom"),y=(function(){function b(a){this.session=a,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)}return b.prototype.getRowLength=function(a){var l;return this.lineWidgets?l=this.lineWidgets[a]&&this.lineWidgets[a].rowCount||0:l=0,!this.$useWrapMode||!this.$wrapData[a]?1+l:this.$wrapData[a].length+1+l},b.prototype.$getWidgetScreenLength=function(){var a=0;return this.lineWidgets.forEach(function(l){l&&l.rowCount&&!l.hidden&&(a+=l.rowCount)}),a},b.prototype.$onChangeEditor=function(a){this.attach(a.editor)},b.prototype.attach=function(a){a&&a.widgetManager&&a.widgetManager!=this&&a.widgetManager.detach(),this.editor!=a&&(this.detach(),this.editor=a,a&&(a.widgetManager=this,a.renderer.on("beforeRender",this.measureWidgets),a.renderer.on("afterRender",this.renderWidgets)))},b.prototype.detach=function(a){var l=this.editor;if(l){this.editor=null,l.widgetManager=null,l.renderer.off("beforeRender",this.measureWidgets),l.renderer.off("afterRender",this.renderWidgets);var r=this.session.lineWidgets;r&&r.forEach(function(i){i&&i.el&&i.el.parentNode&&(i._inDocument=!1,i.el.parentNode.removeChild(i.el))})}},b.prototype.updateOnFold=function(a,l){var r=l.lineWidgets;if(!(!r||!a.action)){for(var i=a.data,n=i.start.row,t=i.end.row,e=a.action=="add",o=n+1;o<t;o++)r[o]&&(r[o].hidden=e);r[t]&&(e?r[n]?r[t].hidden=e:r[n]=r[t]:(r[n]==r[t]&&(r[n]=void 0),r[t].hidden=e))}},b.prototype.updateOnChange=function(a){var l=this.session.lineWidgets;if(l){var r=a.start.row,i=a.end.row-r;if(i!==0)if(a.action=="remove"){var n=l.splice(r+1,i);!l[r]&&n[n.length-1]&&(l[r]=n.pop()),n.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var t=new Array(i);l[r]&&l[r].column!=null&&a.start.column>l[r].column&&r++,t.unshift(r,0),l.splice.apply(l,t),this.$updateRows()}}},b.prototype.$updateRows=function(){var a=this.session.lineWidgets;if(a){var l=!0;a.forEach(function(r,i){if(r)for(l=!1,r.row=i;r.$oldWidget;)r.$oldWidget.row=i,r=r.$oldWidget}),l&&(this.session.lineWidgets=null)}},b.prototype.$registerLineWidget=function(a){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var l=this.session.lineWidgets[a.row];return l&&(a.$oldWidget=l,l.el&&l.el.parentNode&&(l.el.parentNode.removeChild(l.el),l._inDocument=!1)),this.session.lineWidgets[a.row]=a,a},b.prototype.addLineWidget=function(a){if(this.$registerLineWidget(a),a.session=this.session,!this.editor)return a;var l=this.editor.renderer;a.html&&!a.el&&(a.el=k.createElement("div"),a.el.innerHTML=a.html),a.text&&!a.el&&(a.el=k.createElement("div"),a.el.textContent=a.text),a.el&&(k.addCssClass(a.el,"ace_lineWidgetContainer"),a.className&&k.addCssClass(a.el,a.className),a.el.style.position="absolute",a.el.style.zIndex="5",l.container.appendChild(a.el),a._inDocument=!0,a.coverGutter||(a.el.style.zIndex="3"),a.pixelHeight==null&&(a.pixelHeight=a.el.offsetHeight)),a.rowCount==null&&(a.rowCount=a.pixelHeight/l.layerConfig.lineHeight);var r=this.session.getFoldAt(a.row,0);if(a.$fold=r,r){var i=this.session.lineWidgets;a.row==r.end.row&&!i[r.start.row]?i[r.start.row]=a:a.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows(),this.renderWidgets(null,l),this.onWidgetChanged(a),a},b.prototype.removeLineWidget=function(a){if(a._inDocument=!1,a.session=null,a.el&&a.el.parentNode&&a.el.parentNode.removeChild(a.el),a.editor&&a.editor.destroy)try{a.editor.destroy()}catch(r){}if(this.session.lineWidgets){var l=this.session.lineWidgets[a.row];if(l==a)this.session.lineWidgets[a.row]=a.$oldWidget,a.$oldWidget&&this.onWidgetChanged(a.$oldWidget);else for(;l;){if(l.$oldWidget==a){l.$oldWidget=a.$oldWidget;break}l=l.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows()},b.prototype.getWidgetsAtRow=function(a){for(var l=this.session.lineWidgets,r=l&&l[a],i=[];r;)i.push(r),r=r.$oldWidget;return i},b.prototype.onWidgetChanged=function(a){this.session._changedWidgets.push(a),this.editor&&this.editor.renderer.updateFull()},b.prototype.measureWidgets=function(a,l){var r=this.session._changedWidgets,i=l.layerConfig;if(!(!r||!r.length)){for(var n=1/0,t=0;t<r.length;t++){var e=r[t];if(!(!e||!e.el)&&e.session==this.session){if(!e._inDocument){if(this.session.lineWidgets[e.row]!=e)continue;e._inDocument=!0,l.container.appendChild(e.el)}e.h=e.el.offsetHeight,e.fixedWidth||(e.w=e.el.offsetWidth,e.screenWidth=Math.ceil(e.w/i.characterWidth));var o=e.h/i.lineHeight;e.coverLine&&(o-=this.session.getRowLineCount(e.row),o<0&&(o=0)),e.rowCount!=o&&(e.rowCount=o,e.row<n&&(n=e.row))}}n!=1/0&&(this.session._emit("changeFold",{data:{start:{row:n}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},b.prototype.renderWidgets=function(a,l){var r=l.layerConfig,i=this.session.lineWidgets;if(i){for(var n=Math.min(this.firstRow,r.firstRow),t=Math.max(this.lastRow,r.lastRow,i.length);n>0&&!i[n];)n--;this.firstRow=r.firstRow,this.lastRow=r.lastRow,l.$cursorLayer.config=r;for(var e=n;e<=t;e++){var o=i[e];if(!(!o||!o.el)){if(o.hidden){o.el.style.top=-100-(o.pixelHeight||0)+"px";continue}o._inDocument||(o._inDocument=!0,l.container.appendChild(o.el));var s=l.$cursorLayer.getPixelPosition({row:e,column:0},!0).top;o.coverLine||(s+=r.lineHeight*this.session.getRowLineCount(o.row)),o.el.style.top=s-r.offset+"px";var h=o.coverGutter?0:l.gutterWidth;o.fixedWidth||(h-=l.scrollLeft),o.el.style.left=h+"px",o.fullWidth&&o.screenWidth&&(o.el.style.minWidth=r.width+2*r.padding+"px"),o.fixedWidth?o.el.style.right=l.scrollBar.getWidth()+"px":o.el.style.right=""}}}},b})();M.LineWidgets=y}),ace.define("ace/apply_delta",["require","exports","module"],function(T,M,z){M.applyDelta=function(k,y,b){var a=y.start.row,l=y.start.column,r=k[a]||"";switch(y.action){case"insert":var i=y.lines;if(i.length===1)k[a]=r.substring(0,l)+y.lines[0]+r.substring(l);else{var n=[a,1].concat(y.lines);k.splice.apply(k,n),k[a]=r.substring(0,l)+k[a],k[a+y.lines.length-1]+=r.substring(l)}break;case"remove":var t=y.end.column,e=y.end.row;a===e?k[a]=r.substring(0,l)+r.substring(t):k.splice(a,e-a+1,r.substring(0,l)+k[e].substring(t));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(T,M,z){var k=T("./lib/oop"),y=T("./lib/event_emitter").EventEmitter,b=(function(){function r(i,n,t){this.$onChange=this.onChange.bind(this),this.attach(i),typeof n!="number"?this.setPosition(n.row,n.column):this.setPosition(n,t)}return r.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},r.prototype.getDocument=function(){return this.document},r.prototype.onChange=function(i){if(!(i.start.row==i.end.row&&i.start.row!=this.row)&&!(i.start.row>this.row)){var n=l(i,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},r.prototype.setPosition=function(i,n,t){var e;if(t?e={row:i,column:n}:e=this.$clipPositionToDocument(i,n),!(this.row==e.row&&this.column==e.column)){var o={row:this.row,column:this.column};this.row=e.row,this.column=e.column,this._signal("change",{old:o,value:e})}},r.prototype.detach=function(){this.document.off("change",this.$onChange)},r.prototype.attach=function(i){this.document=i||this.document,this.document.on("change",this.$onChange)},r.prototype.$clipPositionToDocument=function(i,n){var t={};return i>=this.document.getLength()?(t.row=Math.max(0,this.document.getLength()-1),t.column=this.document.getLine(t.row).length):i<0?(t.row=0,t.column=0):(t.row=i,t.column=Math.min(this.document.getLine(t.row).length,Math.max(0,n))),n<0&&(t.column=0),t},r})();b.prototype.$insertRight=!1,k.implement(b.prototype,y);function a(r,i,n){var t=n?r.column<=i.column:r.column<i.column;return r.row<i.row||r.row==i.row&&t}function l(r,i,n){var t=r.action=="insert",e=(t?1:-1)*(r.end.row-r.start.row),o=(t?1:-1)*(r.end.column-r.start.column),s=r.start,h=t?s:r.end;return a(i,s,n)?{row:i.row,column:i.column}:a(h,i,!n)?{row:i.row+e,column:i.column+(i.row==h.row?o:0)}:{row:s.row,column:s.column}}M.Anchor=b}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(T,M,z){var k=T("./lib/oop"),y=T("./apply_delta").applyDelta,b=T("./lib/event_emitter").EventEmitter,a=T("./range").Range,l=T("./anchor").Anchor,r=(function(){function i(n){this.$lines=[""],n.length===0?this.$lines=[""]:Array.isArray(n)?this.insertMergedLines({row:0,column:0},n):this.insert({row:0,column:0},n)}return i.prototype.setValue=function(n){var t=this.getLength()-1;this.remove(new a(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},n||"")},i.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},i.prototype.createAnchor=function(n,t){return new l(this,n,t)},i.prototype.$detectNewLine=function(n){var t=n.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:` |
| 180 |
`,this._signal("changeNewLineMode")},i.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r |
| 181 |
`;case"unix":return` |
| 182 |
`;default:return this.$autoNewLine||` |
| 183 |
`}},i.prototype.setNewLineMode=function(n){this.$newLineMode!==n&&(this.$newLineMode=n,this._signal("changeNewLineMode"))},i.prototype.getNewLineMode=function(){return this.$newLineMode},i.prototype.isNewLine=function(n){return n==`\r |
| 184 |
`||n=="\r"||n==` |
| 185 |
`},i.prototype.getLine=function(n){return this.$lines[n]||""},i.prototype.getLines=function(n,t){return this.$lines.slice(n,t+1)},i.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},i.prototype.getLength=function(){return this.$lines.length},i.prototype.getTextRange=function(n){return this.getLinesForRange(n).join(this.getNewLineCharacter())},i.prototype.getLinesForRange=function(n){var t;if(n.start.row===n.end.row)t=[this.getLine(n.start.row).substring(n.start.column,n.end.column)];else{t=this.getLines(n.start.row,n.end.row),t[0]=(t[0]||"").substring(n.start.column);var e=t.length-1;n.end.row-n.start.row==e&&(t[e]=t[e].substring(0,n.end.column))}return t},i.prototype.insertLines=function(n,t){return this.insertFullLines(n,t)},i.prototype.removeLines=function(n,t){return this.removeFullLines(n,t)},i.prototype.insertNewLine=function(n){return this.insertMergedLines(n,["",""])},i.prototype.insert=function(n,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(n,this.$split(t))},i.prototype.insertInLine=function(n,t){var e=this.clippedPos(n.row,n.column),o=this.pos(n.row,n.column+t.length);return this.applyDelta({start:e,end:o,action:"insert",lines:[t]},!0),this.clonePos(o)},i.prototype.clippedPos=function(n,t){var e=this.getLength();n===void 0?n=e:n<0?n=0:n>=e&&(n=e-1,t=void 0);var o=this.getLine(n);return t==null&&(t=o.length),t=Math.min(Math.max(t,0),o.length),{row:n,column:t}},i.prototype.clonePos=function(n){return{row:n.row,column:n.column}},i.prototype.pos=function(n,t){return{row:n,column:t}},i.prototype.$clipPosition=function(n){var t=this.getLength();return n.row>=t?(n.row=Math.max(0,t-1),n.column=this.getLine(t-1).length):(n.row=Math.max(0,n.row),n.column=Math.min(Math.max(n.column,0),this.getLine(n.row).length)),n},i.prototype.insertFullLines=function(n,t){n=Math.min(Math.max(n,0),this.getLength());var e=0;n<this.getLength()?(t=t.concat([""]),e=0):(t=[""].concat(t),n--,e=this.$lines[n].length),this.insertMergedLines({row:n,column:e},t)},i.prototype.insertMergedLines=function(n,t){var e=this.clippedPos(n.row,n.column),o={row:e.row+t.length-1,column:(t.length==1?e.column:0)+t[t.length-1].length};return this.applyDelta({start:e,end:o,action:"insert",lines:t}),this.clonePos(o)},i.prototype.remove=function(n){var t=this.clippedPos(n.start.row,n.start.column),e=this.clippedPos(n.end.row,n.end.column);return this.applyDelta({start:t,end:e,action:"remove",lines:this.getLinesForRange({start:t,end:e})}),this.clonePos(t)},i.prototype.removeInLine=function(n,t,e){var o=this.clippedPos(n,t),s=this.clippedPos(n,e);return this.applyDelta({start:o,end:s,action:"remove",lines:this.getLinesForRange({start:o,end:s})},!0),this.clonePos(o)},i.prototype.removeFullLines=function(n,t){n=Math.min(Math.max(0,n),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var e=t==this.getLength()-1&&n>0,o=t<this.getLength()-1,s=e?n-1:n,h=e?this.getLine(s).length:0,u=o?t+1:t,A=o?0:this.getLine(u).length,x=new a(s,h,u,A),f=this.$lines.slice(n,t+1);return this.applyDelta({start:x.start,end:x.end,action:"remove",lines:this.getLinesForRange(x)}),f},i.prototype.removeNewLine=function(n){n<this.getLength()-1&&n>=0&&this.applyDelta({start:this.pos(n,this.getLine(n).length),end:this.pos(n+1,0),action:"remove",lines:["",""]})},i.prototype.replace=function(n,t){if(n instanceof a||(n=a.fromPoints(n.start,n.end)),t.length===0&&n.isEmpty())return n.start;if(t==this.getTextRange(n))return n.end;this.remove(n);var e;return t?e=this.insert(n.start,t):e=n.start,e},i.prototype.applyDeltas=function(n){for(var t=0;t<n.length;t++)this.applyDelta(n[t])},i.prototype.revertDeltas=function(n){for(var t=n.length-1;t>=0;t--)this.revertDelta(n[t])},i.prototype.applyDelta=function(n,t){var e=n.action=="insert";(e?n.lines.length<=1&&!n.lines[0]:!a.comparePoints(n.start,n.end))||(e&&n.lines.length>2e4?this.$splitAndapplyLargeDelta(n,2e4):(y(this.$lines,n,t),this._signal("change",n)))},i.prototype.$safeApplyDelta=function(n){var t=this.$lines.length;(n.action=="remove"&&n.start.row<t&&n.end.row<t||n.action=="insert"&&n.start.row<=t)&&this.applyDelta(n)},i.prototype.$splitAndapplyLargeDelta=function(n,t){for(var e=n.lines,o=e.length-t+1,s=n.start.row,h=n.start.column,u=0,A=0;u<o;u=A){A+=t-1;var x=e.slice(u,A);x.push(""),this.applyDelta({start:this.pos(s+u,h),end:this.pos(s+A,h=0),action:n.action,lines:x},!0)}n.lines=e.slice(u),n.start.row=s+u,n.start.column=h,this.applyDelta(n,!0)},i.prototype.revertDelta=function(n){this.$safeApplyDelta({start:this.clonePos(n.start),end:this.clonePos(n.end),action:n.action=="insert"?"remove":"insert",lines:n.lines.slice()})},i.prototype.indexToPosition=function(n,t){for(var e=this.$lines||this.getAllLines(),o=this.getNewLineCharacter().length,s=t||0,h=e.length;s<h;s++)if(n-=e[s].length+o,n<0)return{row:s,column:n+e[s].length+o};return{row:h-1,column:n+e[h-1].length+o}},i.prototype.positionToIndex=function(n,t){for(var e=this.$lines||this.getAllLines(),o=this.getNewLineCharacter().length,s=0,h=Math.min(n.row,e.length),u=t||0;u<h;++u)s+=e[u].length+o;return s+n.column},i.prototype.$split=function(n){return n.split(/\r\n|\r|\n/)},i})();r.prototype.$autoNewLine="",r.prototype.$newLineMode="auto",k.implement(r.prototype,b),M.Document=r}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(T,M,z){var k=T("./lib/oop"),y=T("./lib/event_emitter").EventEmitter,b=(function(){function a(l,r){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=l;var i=this;this.$worker=function(){if(i.running){for(var n=new Date,t=i.currentLine,e=-1,o=i.doc,s=t;i.lines[t];)t++;var h=o.getLength(),u=0;for(i.running=!1;t<h;){i.$tokenizeRow(t),e=t;do t++;while(i.lines[t]);if(u++,u%5===0&&new Date-n>20){i.running=setTimeout(i.$worker,20);break}}i.currentLine=t,e==-1&&(e=t),s<=e&&i.fireUpdateEvent(s,e)}}}return a.prototype.setTokenizer=function(l){this.tokenizer=l,this.lines=[],this.states=[],this.start(0)},a.prototype.setDocument=function(l){this.doc=l,this.lines=[],this.states=[],this.stop()},a.prototype.fireUpdateEvent=function(l,r){var i={first:l,last:r};this._signal("update",{data:i})},a.prototype.start=function(l){this.currentLine=Math.min(l||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)},a.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},a.prototype.$updateOnChange=function(l){var r=l.start.row,i=l.end.row-r;if(i===0)this.lines[r]=null;else if(l.action=="remove")this.lines.splice(r,i+1,null),this.states.splice(r,i+1,null);else{var n=Array(i+1);n.unshift(r,1),this.lines.splice.apply(this.lines,n),this.states.splice.apply(this.states,n)}this.currentLine=Math.min(r,this.currentLine,this.doc.getLength()),this.stop()},a.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},a.prototype.getTokens=function(l){return this.lines[l]||this.$tokenizeRow(l)},a.prototype.getState=function(l){return this.currentLine==l&&this.$tokenizeRow(l),this.states[l]||"start"},a.prototype.$tokenizeRow=function(l){var r=this.doc.getLine(l),i=this.states[l-1],n=this.tokenizer.getLineTokens(r,i,l);return this.states[l]+""!=n.state+""?(this.states[l]=n.state,this.lines[l+1]=null,this.currentLine>l+1&&(this.currentLine=l+1)):this.currentLine==l&&(this.currentLine=l+1),this.lines[l]=n.tokens},a.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},a})();k.implement(b.prototype,y),M.BackgroundTokenizer=b}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(T,M,z){var k=T("./lib/lang"),y=T("./range").Range,b=(function(){function a(l,r,i){i===void 0&&(i="text"),this.setRegexp(l),this.clazz=r,this.type=i,this.docLen=0}return a.prototype.setRegexp=function(l){this.regExp+""!=l+""&&(this.regExp=l,this.cache=[])},a.prototype.update=function(l,r,i,n){if(this.regExp){for(var t=n.firstRow,e=n.lastRow,o={},s=i.$editor&&i.$editor.$search,h=s&&s.$isMultilineSearch(i.$editor.getLastSearchOptions()),u=t;u<=e;u++){var A=this.cache[u];if(A==null||i.getValue().length!=this.docLen){if(h){A=[];var x=s.$multiLineForward(i,this.regExp,u,e);if(x){var f=x.endRow<=e?x.endRow-1:e;f>u&&(u=f),A.push(new y(x.startRow,x.startCol,x.endRow,x.endCol))}A.length>this.MAX_RANGES&&(A=A.slice(0,this.MAX_RANGES))}else A=k.getMatchOffsets(i.getLine(u),this.regExp),A.length>this.MAX_RANGES&&(A=A.slice(0,this.MAX_RANGES)),A=A.map(function(m){return new y(u,m.offset,u,m.offset+m.length)});this.cache[u]=A.length?A:""}if(A.length!==0)for(var c=A.length;c--;){var g=A[c].toScreenRange(i),w=g.toString();o[w]||(o[w]=!0,r.drawSingleLineMarker(l,g,this.clazz,n))}}this.docLen=i.getValue().length}},a})();b.prototype.MAX_RANGES=500,M.SearchHighlight=b}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(T,M,z){var k=(function(){function f(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return f.prototype.addSession=function(c){this.$session=c},f.prototype.add=function(c,g,w){if(!this.$fromUndo&&c!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),g===!1||!this.lastDeltas){this.lastDeltas=[];var m=this.$undoStack.length;m>this.$undoDepth-1&&this.$undoStack.splice(0,m-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),c.id=this.$rev=++this.$maxRev}(c.action=="remove"||c.action=="insert")&&(this.$lastDelta=c),this.lastDeltas.push(c)}},f.prototype.addSelection=function(c,g){this.selections.push({value:c,rev:g||this.$rev})},f.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},f.prototype.markIgnored=function(c,g){g==null&&(g=this.$rev+1);for(var w=this.$undoStack,m=w.length;m--;){var $=w[m][0];if($.id<=c)break;$.id<g&&($.ignore=!0)}this.lastDeltas=null},f.prototype.getSelection=function(c,g){for(var w=this.selections,m=w.length;m--;){var $=w[m];if($.rev<c)return g&&($=w[m+1]),$}},f.prototype.getRevision=function(){return this.$rev},f.prototype.getDeltas=function(c,g){g==null&&(g=this.$rev+1);for(var w=this.$undoStack,m=null,$=0,_=w.length;_--;){var S=w[_][0];if(S.id<g&&!m&&(m=_+1),S.id<=c){$=_+1;break}}return w.slice($,m)},f.prototype.getChangedRanges=function(c,g){g==null&&(g=this.$rev+1)},f.prototype.getChangedLines=function(c,g){g==null&&(g=this.$rev+1)},f.prototype.undo=function(c,g){this.lastDeltas=null;var w=this.$undoStack;if(y(w,w.length)){c||(c=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var m=w.pop(),$=null;return m&&($=c.undoChanges(m,g),this.$redoStack.push(m),this.$syncRev()),this.$fromUndo=!1,$}},f.prototype.redo=function(c,g){if(this.lastDeltas=null,c||(c=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var w=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);x(this.$redoStack,w),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(_){_[0].id=++this.$maxRev},this)}var m=this.$redoStack.pop(),$=null;return m&&($=c.redoChanges(m,g),this.$undoStack.push(m),this.$syncRev()),this.$fromUndo=!1,$},f.prototype.$syncRev=function(){var c=this.$undoStack,g=c[c.length-1],w=g&&g[0].id||0;this.$redoStackBaseRev=w,this.$rev=w},f.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},f.prototype.canUndo=function(){return this.$undoStack.length>0},f.prototype.canRedo=function(){return this.$redoStack.length>0},f.prototype.bookmark=function(c){c==null&&(c=this.$rev),this.mark=c},f.prototype.isAtBookmark=function(){return this.$rev===this.mark},f.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},f.prototype.fromJSON=function(c){this.reset(),this.$undoStack=c.$undoStack,this.$redoStack=c.$redoStack},f.prototype.$prettyPrint=function(c){return c?i(c):i(this.$undoStack)+` |
| 186 |
--- |
| 187 |
`+i(this.$redoStack)},f})();k.prototype.hasUndo=k.prototype.canUndo,k.prototype.hasRedo=k.prototype.canRedo,k.prototype.isClean=k.prototype.isAtBookmark,k.prototype.markClean=k.prototype.bookmark;function y(f,c){for(var g=c;g--;){var w=f[g];if(w&&!w[0].ignore){for(;g<c-1;){var m=e(f[g],f[g+1]);f[g]=m[0],f[g+1]=m[1],g++}return!0}}}var b=T("./range").Range,a=b.comparePoints;b.comparePoints;function l(f){return{row:f.row,column:f.column}}function r(f){return{start:l(f.start),end:l(f.end),action:f.action,lines:f.lines.slice()}}function i(f){if(f=f||this,Array.isArray(f))return f.map(i).join(` |
| 188 |
`);var c="";return f.action?(c=f.action=="insert"?"+":"-",c+="["+f.lines+"]"):f.value&&(Array.isArray(f.value)?c=f.value.map(n).join(` |
| 189 |
`):c=n(f.value)),f.start&&(c+=n(f)),(f.id||f.rev)&&(c+=" ("+(f.id||f.rev)+")"),c}function n(f){return f.start.row+":"+f.start.column+"=>"+f.end.row+":"+f.end.column}function t(f,c){var g=f.action=="insert",w=c.action=="insert";if(g&&w)if(a(c.start,f.end)>=0)s(c,f,-1);else if(a(c.start,f.start)<=0)s(f,c,1);else return null;else if(g&&!w)if(a(c.start,f.end)>=0)s(c,f,-1);else if(a(c.end,f.start)<=0)s(f,c,-1);else return null;else if(!g&&w)if(a(c.start,f.start)>=0)s(c,f,1);else if(a(c.start,f.start)<=0)s(f,c,1);else return null;else if(!g&&!w)if(a(c.start,f.start)>=0)s(c,f,1);else if(a(c.end,f.start)<=0)s(f,c,-1);else return null;return[c,f]}function e(f,c){for(var g=f.length;g--;)for(var w=0;w<c.length;w++)if(!t(f[g],c[w])){for(;g<f.length;){for(;w--;)t(c[w],f[g]);w=c.length,g++}return[f,c]}return f.selectionBefore=c.selectionBefore=f.selectionAfter=c.selectionAfter=null,[c,f]}function o(f,c){var g=f.action=="insert",w=c.action=="insert";if(g&&w)a(f.start,c.start)<0?s(c,f,1):s(f,c,1);else if(g&&!w)a(f.start,c.end)>=0?s(f,c,-1):(a(f.start,c.start)<=0||s(f,b.fromPoints(c.start,f.start),-1),s(c,f,1));else if(!g&&w)a(c.start,f.end)>=0?s(c,f,-1):(a(c.start,f.start)<=0||s(c,b.fromPoints(f.start,c.start),-1),s(f,c,1));else if(!g&&!w)if(a(c.start,f.end)>=0)s(c,f,-1);else if(a(c.end,f.start)<=0)s(f,c,-1);else{var m,$;return a(f.start,c.start)<0&&(m=f,f=u(f,c.start)),a(f.end,c.end)>0&&($=u(f,c.end)),h(c.end,f.start,f.end,-1),$&&!m&&(f.lines=$.lines,f.start=$.start,f.end=$.end,$=f),[c,m,$].filter(Boolean)}return[c,f]}function s(f,c,g){h(f.start,c.start,c.end,g),h(f.end,c.start,c.end,g)}function h(f,c,g,w){f.row==(w==1?c:g).row&&(f.column+=w*(g.column-c.column)),f.row+=w*(g.row-c.row)}function u(f,c){var g=f.lines,w=f.end;f.end=l(c);var m=f.end.row-f.start.row,$=g.splice(m,g.length),_=m?c.column:c.column-f.start.column;g.push($[0].substring(0,_)),$[0]=$[0].substr(_);var S={start:l(c),end:w,lines:$,action:f.action};return S}function A(f,c){c=r(c);for(var g=f.length;g--;){for(var w=f[g],m=0;m<w.length;m++){var $=w[m],_=o($,c);c=_[0],_.length!=2&&(_[2]?(w.splice(m+1,1,_[1],_[2]),m++):_[1]||(w.splice(m,1),m--))}w.length||f.splice(g,1)}return f}function x(f,c){for(var g=0;g<c.length;g++)for(var w=c[g],m=0;m<w.length;m++)A(f,w[m])}M.UndoManager=k}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(T,M,z){var k=T("../range").Range,y=(function(){function b(a,l){this.foldData=a,Array.isArray(l)?this.folds=l:l=this.folds=[l];var r=l[l.length-1];this.range=new k(l[0].start.row,l[0].start.column,r.end.row,r.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(i){i.setFoldLine(this)},this)}return b.prototype.shiftRow=function(a){this.start.row+=a,this.end.row+=a,this.folds.forEach(function(l){l.start.row+=a,l.end.row+=a})},b.prototype.addFold=function(a){if(a.sameRow){if(a.start.row<this.startRow||a.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(a),this.folds.sort(function(l,r){return-l.range.compareEnd(r.start.row,r.start.column)}),this.range.compareEnd(a.start.row,a.start.column)>0?(this.end.row=a.end.row,this.end.column=a.end.column):this.range.compareStart(a.end.row,a.end.column)<0&&(this.start.row=a.start.row,this.start.column=a.start.column)}else if(a.start.row==this.end.row)this.folds.push(a),this.end.row=a.end.row,this.end.column=a.end.column;else if(a.end.row==this.start.row)this.folds.unshift(a),this.start.row=a.start.row,this.start.column=a.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");a.foldLine=this},b.prototype.containsRow=function(a){return a>=this.start.row&&a<=this.end.row},b.prototype.walk=function(a,l,r){var i=0,n=this.folds,t,e,o,s=!0;l==null&&(l=this.end.row,r=this.end.column);for(var h=0;h<n.length;h++){if(t=n[h],e=t.range.compareStart(l,r),e==-1){a(null,l,r,i,s);return}if(o=a(null,t.start.row,t.start.column,i,s),o=!o&&a(t.placeholder,t.start.row,t.start.column,i),o||e===0)return;s=!t.sameRow,i=t.end.column}a(null,l,r,i,s)},b.prototype.getNextFoldTo=function(a,l){for(var r,i,n=0;n<this.folds.length;n++){if(r=this.folds[n],i=r.range.compareEnd(a,l),i==-1)return{fold:r,kind:"after"};if(i===0)return{fold:r,kind:"inside"}}return null},b.prototype.addRemoveChars=function(a,l,r){var i=this.getNextFoldTo(a,l),n,t;if(i){if(n=i.fold,i.kind=="inside"&&n.start.column!=l&&n.start.row!=a)window.console&&window.console.log(a,l,n);else if(n.start.row==a){t=this.folds;var e=t.indexOf(n);for(e===0&&(this.start.column+=r),e;e<t.length;e++){if(n=t[e],n.start.column+=r,!n.sameRow)return;n.end.column+=r}this.end.column+=r}}},b.prototype.split=function(a,l){var r=this.getNextFoldTo(a,l);if(!r||r.kind=="inside")return null;var i=r.fold,n=this.folds,t=this.foldData,e=n.indexOf(i),o=n[e-1];this.end.row=o.end.row,this.end.column=o.end.column,n=n.splice(e,n.length-e);var s=new b(t,n);return t.splice(t.indexOf(this)+1,0,s),s},b.prototype.merge=function(a){for(var l=a.folds,r=0;r<l.length;r++)this.addFold(l[r]);var i=this.foldData;i.splice(i.indexOf(a),1)},b.prototype.toString=function(){var a=[this.range.toString()+": ["];return this.folds.forEach(function(l){a.push(" "+l.toString())}),a.push("]"),a.join(` |
| 190 |
`)},b.prototype.idxToPosition=function(a){for(var l=0,r=0;r<this.folds.length;r++){var i=this.folds[r];if(a-=i.start.column-l,a<0)return{row:i.start.row,column:i.start.column+a};if(a-=i.placeholder.length,a<0)return i.start;l=i.end.column}return{row:this.end.row,column:this.end.column+a}},b})();M.FoldLine=y}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(T,M,z){var k=T("./range").Range,y=k.comparePoints,b=(function(){function a(){this.ranges=[],this.$bias=1}return a.prototype.pointIndex=function(l,r,i){for(var n=this.ranges,t=i||0;t<n.length;t++){var e=n[t],o=y(l,e.end);if(!(o>0)){var s=y(l,e.start);return o===0?r&&s!==0?-t-2:t:s>0||s===0&&!r?t:-t-1}}return-t-1},a.prototype.add=function(l){var r=!l.isEmpty(),i=this.pointIndex(l.start,r);i<0&&(i=-i-1);var n=this.pointIndex(l.end,r,i);return n<0?n=-n-1:n++,this.ranges.splice(i,n-i,l)},a.prototype.addList=function(l){for(var r=[],i=l.length;i--;)r.push.apply(r,this.add(l[i]));return r},a.prototype.substractPoint=function(l){var r=this.pointIndex(l);if(r>=0)return this.ranges.splice(r,1)},a.prototype.merge=function(){var l=[],r=this.ranges;r=r.sort(function(o,s){return y(o.start,s.start)});for(var i=r[0],n,t=1;t<r.length;t++){n=i,i=r[t];var e=y(n.end,i.start);e<0||e==0&&!n.isEmpty()&&!i.isEmpty()||(y(n.end,i.end)<0&&(n.end.row=i.end.row,n.end.column=i.end.column),r.splice(t,1),l.push(i),i=n,t--)}return this.ranges=r,l},a.prototype.contains=function(l,r){return this.pointIndex({row:l,column:r})>=0},a.prototype.containsPoint=function(l){return this.pointIndex(l)>=0},a.prototype.rangeAtPoint=function(l){var r=this.pointIndex(l);if(r>=0)return this.ranges[r]},a.prototype.clipRows=function(l,r){var i=this.ranges;if(i[0].start.row>r||i[i.length-1].start.row<l)return[];var n=this.pointIndex({row:l,column:0});n<0&&(n=-n-1);var t=this.pointIndex({row:r,column:0},n);t<0&&(t=-t-1);for(var e=[],o=n;o<t;o++)e.push(i[o]);return e},a.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},a.prototype.attach=function(l){this.session&&this.detach(),this.session=l,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},a.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},a.prototype.$onChange=function(l){for(var r=l.start,i=l.end,n=r.row,t=i.row,e=this.ranges,o=0,s=e.length;o<s;o++){var h=e[o];if(h.end.row>=n)break}if(l.action=="insert")for(var u=t-n,A=-r.column+i.column;o<s;o++){var h=e[o];if(h.start.row>n)break;if(h.start.row==n&&h.start.column>=r.column&&(h.start.column==r.column&&this.$bias<=0||(h.start.column+=A,h.start.row+=u)),h.end.row==n&&h.end.column>=r.column){if(h.end.column==r.column&&this.$bias<0)continue;h.end.column==r.column&&A>0&&o<s-1&&h.end.column>h.start.column&&h.end.column==e[o+1].start.column&&(h.end.column-=A),h.end.column+=A,h.end.row+=u}}else for(var u=n-t,A=r.column-i.column;o<s;o++){var h=e[o];if(h.start.row>t)break;h.end.row<t&&(n<h.end.row||n==h.end.row&&r.column<h.end.column)?(h.end.row=n,h.end.column=r.column):h.end.row==t?h.end.column<=i.column?(u||h.end.column>r.column)&&(h.end.column=r.column,h.end.row=r.row):(h.end.column+=A,h.end.row+=u):h.end.row>t&&(h.end.row+=u),h.start.row<t&&(n<h.start.row||n==h.start.row&&r.column<h.start.column)?(h.start.row=n,h.start.column=r.column):h.start.row==t?h.start.column<=i.column?(u||h.start.column>r.column)&&(h.start.column=r.column,h.start.row=r.row):(h.start.column+=A,h.start.row+=u):h.start.row>t&&(h.start.row+=u)}if(u!=0&&o<s)for(;o<s;o++){var h=e[o];h.start.row+=u,h.end.row+=u}},a})();b.prototype.comparePoints=y,M.RangeList=b}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(T,M,z){var k=this&&this.__extends||(function(){var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var h in s)Object.prototype.hasOwnProperty.call(s,h)&&(o[h]=s[h])},n(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");n(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}})(),y=T("../range_list").RangeList,b=(function(n){k(t,n);function t(e,o){var s=n.call(this)||this;return s.foldLine=null,s.placeholder=o,s.range=e,s.start=e.start,s.end=e.end,s.sameRow=e.start.row==e.end.row,s.subFolds=s.ranges=[],s}return t.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},t.prototype.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(o){o.setFoldLine(e)})},t.prototype.clone=function(){var e=this.range.clone(),o=new t(e,this.placeholder);return this.subFolds.forEach(function(s){o.subFolds.push(s.clone())}),o.collapseChildren=this.collapseChildren,o},t.prototype.addSubFold=function(e){if(!this.range.isEqual(e)){l(e,this.start);for(var A=e.start.row,x=e.start.column,o=0,s=-1;o<this.subFolds.length&&(s=this.subFolds[o].range.compare(A,x),s==1);o++);var h=this.subFolds[o],u=0;if(s==0){if(h.range.containsRange(e))return h.addSubFold(e);u=1}for(var A=e.range.end.row,x=e.range.end.column,f=o,s=-1;f<this.subFolds.length&&(s=this.subFolds[f].range.compare(A,x),s==1);f++);s==0&&f++;for(var c=this.subFolds.splice(o,f-o,e),g=s==0?c.length-1:c.length,w=u;w<g;w++)e.addSubFold(c[w]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){return i(e,this.start)},t})(y);function a(n,t){n.row-=t.row,n.row==0&&(n.column-=t.column)}function l(n,t){a(n.start,t),a(n.end,t)}function r(n,t){n.row==0&&(n.column+=t.column),n.row+=t.row}function i(n,t){r(n.start,t),r(n.end,t)}M.Fold=b}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],function(T,M,z){var k=T("../range").Range,y=T("./fold_line").FoldLine,b=T("./fold").Fold,a=T("../token_iterator").TokenIterator,l=T("../mouse/mouse_event").MouseEvent;function r(){this.getFoldAt=function(i,n,t){var e=this.getFoldLine(i);if(!e)return null;for(var o=e.folds,s=0;s<o.length;s++){var h=o[s].range;if(h.contains(i,n)){if(t==1&&h.isEnd(i,n)&&!h.isEmpty())continue;if(t==-1&&h.isStart(i,n)&&!h.isEmpty())continue;return o[s]}}},this.getFoldsInRange=function(i){var n=i.start,t=i.end,e=this.$foldData,o=[];n.column+=1,t.column-=1;for(var s=0;s<e.length;s++){var h=e[s].range.compareRange(i);if(h!=2){if(h==-2)break;for(var u=e[s].folds,A=0;A<u.length;A++){var x=u[A];if(h=x.range.compareRange(i),h==-2)break;if(h==2)continue;if(h==42)break;o.push(x)}}}return n.column-=1,t.column+=1,o},this.getFoldsInRangeList=function(i){if(Array.isArray(i)){var n=[];i.forEach(function(t){n=n.concat(this.getFoldsInRange(t))},this)}else var n=this.getFoldsInRange(i);return n},this.getAllFolds=function(){for(var i=[],n=this.$foldData,t=0;t<n.length;t++)for(var e=0;e<n[t].folds.length;e++)i.push(n[t].folds[e]);return i},this.getFoldStringAt=function(i,n,t,e){if(e=e||this.getFoldLine(i),!e)return null;for(var o={end:{column:0}},s,h,u=0;u<e.folds.length;u++){h=e.folds[u];var A=h.range.compareEnd(i,n);if(A==-1){s=this.getLine(h.start.row).substring(o.end.column,h.start.column);break}else if(A===0)return null;o=h}return s||(s=this.getLine(h.start.row).substring(o.end.column)),t==-1?s.substring(0,n-o.end.column):t==1?s.substring(n-o.end.column):s},this.getFoldLine=function(i,n){var t=this.$foldData,e=0;for(n&&(e=t.indexOf(n)),e==-1&&(e=0),e;e<t.length;e++){var o=t[e];if(o.start.row<=i&&o.end.row>=i)return o;if(o.end.row>i)return null}return null},this.getNextFoldLine=function(i,n){var t=this.$foldData,e=0;for(n&&(e=t.indexOf(n)),e==-1&&(e=0),e;e<t.length;e++){var o=t[e];if(o.end.row>=i)return o}return null},this.getFoldedRowCount=function(i,n){for(var t=this.$foldData,e=n-i+1,o=0;o<t.length;o++){var s=t[o],h=s.end.row,u=s.start.row;if(h>=n){u<n&&(u>=i?e-=n-u:e=0);break}else h>=i&&(u>=i?e-=h-u:e-=h-i+1)}return e},this.$addFoldLine=function(i){return this.$foldData.push(i),this.$foldData.sort(function(n,t){return n.start.row-t.start.row}),i},this.addFold=function(i,n){var t=this.$foldData,e=!1,o;i instanceof b?o=i:(o=new b(n,i),o.collapseChildren=n.collapseChildren),this.$clipRangeToDocument(o.range);var s=o.start.row,h=o.start.column,u=o.end.row,A=o.end.column,x=this.getFoldAt(s,h,1),f=this.getFoldAt(u,A,-1);if(x&&f==x)return x.addSubFold(o);x&&!x.range.isStart(s,h)&&this.removeFold(x),f&&!f.range.isEnd(u,A)&&this.removeFold(f);var c=this.getFoldsInRange(o.range);c.length>0&&(this.removeFolds(c),o.collapseChildren||c.forEach(function($){o.addSubFold($)}));for(var g=0;g<t.length;g++){var w=t[g];if(u==w.start.row){w.addFold(o),e=!0;break}else if(s==w.end.row){if(w.addFold(o),e=!0,!o.sameRow){var m=t[g+1];if(m&&m.start.row==u){w.merge(m);break}}break}else if(u<=w.start.row)break}return e||(w=this.$addFoldLine(new y(this.$foldData,o))),this.$useWrapMode?this.$updateWrapData(w.start.row,w.start.row):this.$updateRowLengthCache(w.start.row,w.start.row),this.$modified=!0,this._signal("changeFold",{data:o,action:"add"}),o},this.addFolds=function(i){i.forEach(function(n){this.addFold(n)},this)},this.removeFold=function(i){var n=i.foldLine,t=n.start.row,e=n.end.row,o=this.$foldData,s=n.folds;if(s.length==1)o.splice(o.indexOf(n),1);else if(n.range.isEnd(i.end.row,i.end.column))s.pop(),n.end.row=s[s.length-1].end.row,n.end.column=s[s.length-1].end.column;else if(n.range.isStart(i.start.row,i.start.column))s.shift(),n.start.row=s[0].start.row,n.start.column=s[0].start.column;else if(i.sameRow)s.splice(s.indexOf(i),1);else{var h=n.split(i.start.row,i.start.column);s=h.folds,s.shift(),h.start.row=s[0].start.row,h.start.column=s[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(t,e):this.$updateRowLengthCache(t,e)),this.$modified=!0,this._signal("changeFold",{data:i,action:"remove"})},this.removeFolds=function(i){for(var n=[],t=0;t<i.length;t++)n.push(i[t]);n.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(i){this.removeFold(i),i.subFolds.forEach(function(n){i.restoreRange(n),this.addFold(n)},this),i.collapseChildren>0&&this.foldAll(i.start.row+1,i.end.row,i.collapseChildren-1),i.subFolds=[]},this.expandFolds=function(i){i.forEach(function(n){this.expandFold(n)},this)},this.unfold=function(i,n){var t,e;if(i==null)t=new k(0,0,this.getLength(),0),n==null&&(n=!0);else if(typeof i=="number")t=new k(i,0,i,this.getLine(i).length);else if("row"in i)t=k.fromPoints(i,i);else{if(Array.isArray(i))return e=[],i.forEach(function(s){e=e.concat(this.unfold(s))},this),e;t=i}e=this.getFoldsInRangeList(t);for(var o=e;e.length==1&&k.comparePoints(e[0].start,t.start)<0&&k.comparePoints(e[0].end,t.end)>0;)this.expandFolds(e),e=this.getFoldsInRangeList(t);if(n!=!1?this.removeFolds(e):this.expandFolds(e),o.length)return o},this.isRowFolded=function(i,n){return!!this.getFoldLine(i,n)},this.getRowFoldEnd=function(i,n){var t=this.getFoldLine(i,n);return t?t.end.row:i},this.getRowFoldStart=function(i,n){var t=this.getFoldLine(i,n);return t?t.start.row:i},this.getFoldDisplayLine=function(i,n,t,e,o){e==null&&(e=i.start.row),o==null&&(o=0),n==null&&(n=i.end.row),t==null&&(t=this.getLine(n).length);var s=this.doc,h="";return i.walk(function(u,A,x,f){if(!(A<e)){if(A==e){if(x<o)return;f=Math.max(o,f)}u!=null?h+=u:h+=s.getLine(A).substring(f,x)}},n,t),h},this.getDisplayLine=function(i,n,t,e){var o=this.getFoldLine(i);if(o)return this.getFoldDisplayLine(o,i,n,t,e);var s;return s=this.doc.getLine(i),s.substring(e||0,n||s.length)},this.$cloneFoldData=function(){var i=[];return i=this.$foldData.map(function(n){var t=n.folds.map(function(e){return e.clone()});return new y(i,t)}),i},this.toggleFold=function(i){var n=this.selection,t=n.getRange(),e,o;if(t.isEmpty()){var s=t.start;if(e=this.getFoldAt(s.row,s.column),e){this.expandFold(e);return}else if(i){var h=this.getFoldLine(s.row);h&&this.expandFolds(h.folds);return}else(o=this.findMatchingBracket(s))?t.comparePoint(o)==1?t.end=o:(t.start=o,t.start.column++,t.end.column--):(o=this.findMatchingBracket({row:s.row,column:s.column+1}))?(t.comparePoint(o)==1?t.end=o:t.start=o,t.start.column++):t=this.getCommentFoldRange(s.row,s.column)||t}else{var u=this.getFoldsInRange(t);if(i&&u.length){this.expandFolds(u);return}else u.length==1&&(e=u[0])}if(e||(e=this.getFoldAt(t.start.row,t.start.column)),e&&e.range.toString()==t.toString()){this.expandFold(e);return}var A="...";if(!t.isMultiLine()){if(A=this.getTextRange(t),A.length<4)return;A=A.trim().substring(0,2)+".."}this.addFold(A,t)},this.getCommentFoldRange=function(i,n,t){var e=new a(this,i,n),o=e.getCurrentToken(),s=o&&o.type;if(o&&/^comment|string/.test(s)){s=s.match(/comment|string/)[0],s=="comment"&&(s+="|doc-start|\\.doc");var h=new RegExp(s),u=new k;if(t!=1){do o=e.stepBackward();while(o&&h.test(o.type));o=e.stepForward()}u.start.row=e.getCurrentTokenRow(),u.start.column=e.getCurrentTokenColumn()+o.value.length,e=new a(this,i,n);var A=this.getState(e.$row);if(t!=-1){var x=-1;do if(o=e.stepForward(),x==-1){var f=this.getState(e.$row);A.toString()!==f.toString()&&(x=e.$row)}else if(e.$row>x)break;while(o&&h.test(o.type));o=e.stepBackward()}else o=e.getCurrentToken();return u.end.row=e.getCurrentTokenRow(),u.end.column=e.getCurrentTokenColumn(),u.start.row==u.end.row&&u.start.column>u.end.column?void 0:u}},this.foldAll=function(i,n,t,e){t==null&&(t=1e5);var o=this.foldWidgets;if(o){n=n||this.getLength(),i=i||0;for(var s=i;s<n;s++)if(o[s]==null&&(o[s]=this.getFoldWidget(s)),o[s]=="start"&&!(e&&!e(s))){var h=this.getFoldWidgetRange(s);h&&h.isMultiLine()&&h.end.row<=n&&h.start.row>=i&&(s=h.end.row,h.collapseChildren=t,this.addFold("...",h))}}},this.foldToLevel=function(i){for(this.foldAll();i-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var i=this;this.foldAll(null,null,null,function(n){for(var t=i.getTokens(n),e=0;e<t.length;e++){var o=t[e];if(!(o.type=="text"&&/^\s+$/.test(o.value)))return!!/comment/.test(o.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(i){if(!this.$foldStyles[i])throw new Error("invalid fold style: "+i+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=i){this.$foldStyle=i,i=="manual"&&this.unfold();var n=this.$foldMode;this.$setFolding(null),this.$setFolding(n)}},this.$setFolding=function(i){if(this.$foldMode!=i){if(this.$foldMode=i,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!i||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=i.getFoldWidget.bind(i,this,this.$foldStyle),this.getFoldWidgetRange=i.getFoldWidgetRange.bind(i,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(i,n){var t=this.foldWidgets;if(!t||n&&t[i])return{};for(var e=i-1,o;e>=0;){var s=t[e];if(s==null&&(s=t[e]=this.getFoldWidget(e)),s=="start"){var h=this.getFoldWidgetRange(e);if(o||(o=h),h&&h.end.row>=i)break}e--}return{range:e!==-1&&h,firstRange:o}},this.onFoldWidgetClick=function(i,n){n instanceof l&&(n=n.domEvent);var t={children:n.shiftKey,all:n.ctrlKey||n.metaKey,siblings:n.altKey},e=this.$toggleFoldWidget(i,t);if(!e){var o=n.target||n.srcElement;o&&/ace_fold-widget/.test(o.className)&&(o.className+=" ace_invalid")}},this.$toggleFoldWidget=function(i,n){if(this.getFoldWidget){var t=this.getFoldWidget(i),e=this.getLine(i),o=t==="end"?-1:1,s=this.getFoldAt(i,o===-1?0:e.length,o);if(s)return n.children||n.all?this.removeFold(s):this.expandFold(s),s;var h=this.getFoldWidgetRange(i,!0);if(h&&!h.isMultiLine()&&(s=this.getFoldAt(h.start.row,h.start.column,1),s&&h.isEqual(s.range)))return this.removeFold(s),s;if(n.siblings){var u=this.getParentFoldRangeData(i);if(u.range)var A=u.range.start.row+1,x=u.range.end.row;this.foldAll(A,x,n.all?1e4:0)}else n.children?(x=h?h.end.row:this.getLength(),this.foldAll(i+1,x,n.all?1e4:0)):h&&(n.all&&(h.collapseChildren=1e4),this.addFold("...",h));return h}},this.toggleFoldWidget=function(i){var n=this.selection.getCursor().row;n=this.getRowFoldStart(n);var t=this.$toggleFoldWidget(n,{});if(!t){var e=this.getParentFoldRangeData(n,!0);if(t=e.range||e.firstRange,t){n=t.start.row;var o=this.getFoldAt(n,this.getLine(n).length,1);o?this.removeFold(o):this.addFold("...",t)}}},this.updateFoldWidgets=function(i){var n=i.start.row,t=i.end.row-n;if(t===0)this.foldWidgets[n]=null;else if(i.action=="remove")this.foldWidgets.splice(n,t+1,null);else{var e=Array(t+1);e.unshift(n,1),this.foldWidgets.splice.apply(this.foldWidgets,e)}},this.tokenizerUpdateFoldWidgets=function(i){var n=i.data;n.first!=n.last&&this.foldWidgets.length>n.first&&this.foldWidgets.splice(n.first,this.foldWidgets.length)}}M.Folding=r}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(T,M,z){var k=T("../token_iterator").TokenIterator,y=T("../range").Range;function b(){this.findMatchingBracket=function(a,l){if(a.column==0)return null;var r=l||this.getLine(a.row).charAt(a.column-1);if(r=="")return null;var i=r.match(/([\(\[\{])|([\)\]\}])/);return i?i[1]?this.$findClosingBracket(i[1],a):this.$findOpeningBracket(i[2],a):null},this.getBracketRange=function(a){var l=this.getLine(a.row),r=!0,i,n=l.charAt(a.column-1),t=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(t||(n=l.charAt(a.column),a={row:a.row,column:a.column+1},t=n&&n.match(/([\(\[\{])|([\)\]\}])/),r=!1),!t)return null;if(t[1]){var e=this.$findClosingBracket(t[1],a);if(!e)return null;i=y.fromPoints(a,e),r||(i.end.column++,i.start.column--),i.cursor=i.end}else{var e=this.$findOpeningBracket(t[2],a);if(!e)return null;i=y.fromPoints(e,a),r||(i.start.column++,i.end.column--),i.cursor=i.start}return i},this.getMatchingBracketRanges=function(a,l){var r=this.getLine(a.row),i=/([\(\[\{])|([\)\]\}])/,n=!l&&r.charAt(a.column-1),t=n&&n.match(i);if(t||(n=(l===void 0||l)&&r.charAt(a.column),a={row:a.row,column:a.column+1},t=n&&n.match(i)),!t)return null;var e=new y(a.row,a.column-1,a.row,a.column),o=t[1]?this.$findClosingBracket(t[1],a):this.$findOpeningBracket(t[2],a);if(!o)return[e];var s=new y(o.row,o.column,o.row,o.column+1);return[e,s]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(a,l,r){var i=this.$brackets[a],n=1,t=new k(this,l.row,l.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){r||(r=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var o=l.column-t.getCurrentTokenColumn()-2,s=e.value;;){for(;o>=0;){var h=s.charAt(o);if(h==i){if(n-=1,n==0)return{row:t.getCurrentTokenRow(),column:o+t.getCurrentTokenColumn()}}else h==a&&(n+=1);o-=1}do e=t.stepBackward();while(e&&!r.test(e.type));if(e==null)break;s=e.value,o=s.length-1}return null}},this.$findClosingBracket=function(a,l,r){var i=this.$brackets[a],n=1,t=new k(this,l.row,l.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){r||(r=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var o=l.column-t.getCurrentTokenColumn();;){for(var s=e.value,h=s.length;o<h;){var u=s.charAt(o);if(u==i){if(n-=1,n==0)return{row:t.getCurrentTokenRow(),column:o+t.getCurrentTokenColumn()}}else u==a&&(n+=1);o+=1}do e=t.stepForward();while(e&&!r.test(e.type));if(e==null)break;o=0}return null}},this.getMatchingTags=function(a){var l=new k(this,a.row,a.column),r=this.$findTagName(l);if(r){var i=l.stepBackward();return i.value==="<"?this.$findClosingTag(l,r):this.$findOpeningTag(l,r)}},this.$findTagName=function(a){var l=a.getCurrentToken(),r=!1,i=!1;if(l&&l.type.indexOf("tag-name")===-1)do i?l=a.stepBackward():l=a.stepForward(),l&&(l.value==="/>"?i=!0:l.type.indexOf("tag-name")!==-1&&(r=!0));while(l&&!r);return l},this.$findClosingTag=function(a,l){var r,i=l.value,n=l.value,t=0,e=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);l=a.stepForward();var o=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+l.value.length),s=!1;do{if(r=l,r.type.indexOf("tag-close")!==-1&&!s){var h=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);s=!0}if(l=a.stepForward(),l){if(l.value===">"&&!s){var h=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);s=!0}if(l.type.indexOf("tag-name")!==-1){if(i=l.value,n===i){if(r.value==="<")t++;else if(r.value==="</"&&(t--,t<0)){a.stepBackward();var u=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+2);l=a.stepForward();var A=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+l.value.length);if(l.type.indexOf("tag-close")===-1&&(l=a.stepForward()),l&&l.value===">")var x=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);else return}}}else if(n===i&&l.value==="/>"&&(t--,t<0))var u=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+2),A=u,x=A,h=new y(o.end.row,o.end.column,o.end.row,o.end.column+1)}}while(l&&t>=0);if(e&&h&&u&&x&&o&&A)return{openTag:new y(e.start.row,e.start.column,h.end.row,h.end.column),closeTag:new y(u.start.row,u.start.column,x.end.row,x.end.column),openTagName:o,closeTagName:A}},this.$findOpeningTag=function(a,l){var r=a.getCurrentToken(),i=l.value,n=0,t=a.getCurrentTokenRow(),e=a.getCurrentTokenColumn(),o=e+2,s=new y(t,e,t,o);a.stepForward();var h=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+l.value.length);if(l.type.indexOf("tag-close")===-1&&(l=a.stepForward()),!(!l||l.value!==">")){var u=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);a.stepBackward(),a.stepBackward();do if(l=r,t=a.getCurrentTokenRow(),e=a.getCurrentTokenColumn(),o=e+l.value.length,r=a.stepBackward(),l){if(l.type.indexOf("tag-name")!==-1){if(i===l.value)if(r.value==="<"){if(n++,n>0){var A=new y(t,e,t,o),x=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);do l=a.stepForward();while(l&&l.value!==">");var f=new y(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1)}}else r.value==="</"&&n--}else if(l.value==="/>"){for(var c=0,g=r;g;){if(g.type.indexOf("tag-name")!==-1&&g.value===i){n--;break}else if(g.value==="<")break;g=a.stepBackward(),c++}for(var w=0;w<c;w++)a.stepForward()}}while(r&&n<=0);if(x&&f&&s&&u&&A&&h)return{openTag:new y(x.start.row,x.start.column,f.end.row,f.end.column),closeTag:new y(s.start.row,s.start.column,u.end.row,u.end.column),openTagName:A,closeTagName:h}}}}M.BracketMatch=b}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/line_widgets","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],function(T,M,z){var k=T("./lib/oop"),y=T("./lib/lang"),b=T("./bidihandler").BidiHandler,a=T("./config"),l=T("./lib/event_emitter").EventEmitter,r=T("./selection").Selection,i=T("./mode/text").Mode,n=T("./range").Range,t=T("./line_widgets").LineWidgets,e=T("./document").Document,o=T("./background_tokenizer").BackgroundTokenizer,s=T("./search_highlight").SearchHighlight,h=T("./undomanager").UndoManager,u=(function(){function S(v,p){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++S.$uid,this.$foldData.toString=function(){return this.join(` |
| 191 |
`)},this.$gutterCustomWidgets={},this.bgTokenizer=new o(new i().getTokenizer(),this);var d=this;this.bgTokenizer.on("update",function(C){d._signal("tokenizerUpdate",C)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof v!="object"||!v.getLine)&&(v=new e(v)),this.setDocument(v),this.selection=new r(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new b(this),a.resetOptions(this),this.setMode(p),a._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return S.prototype.$initOperationListeners=function(){var v=this;this.curOp=null,this.on("change",function(){v.curOp||(v.startOperation(),v.curOp.selectionBefore=v.$lastSel),v.curOp.docChanged=!0},!0),this.on("changeSelection",function(){v.curOp||(v.startOperation(),v.curOp.selectionBefore=v.$lastSel),v.curOp.selectionChanged=!0},!0),this.$operationResetTimer=y.delayedCall(this.endOperation.bind(this,!0))},S.prototype.startOperation=function(v){if(this.curOp){if(!v||this.curOp.command)return;this.prevOp=this.curOp}v||(v={}),this.$operationResetTimer.schedule(),this.curOp={command:v.command||{},args:v.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",v)},S.prototype.endOperation=function(v){if(this.curOp){if(v&&v.returnValue===!1){this.curOp=null,this._signal("endOperation",v);return}if(v==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var p=this.selection.toJSON();this.curOp.selectionAfter=p,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(p),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",v)}},S.prototype.setDocument=function(v){this.doc&&this.doc.off("change",this.$onChange),this.doc=v,v.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},S.prototype.getDocument=function(){return this.doc},Object.defineProperty(S.prototype,"widgetManager",{get:function(){var v=new t(this);return this.widgetManager=v,this.$editor&&v.attach(this.$editor),v},set:function(v){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:v})},enumerable:!1,configurable:!0}),S.prototype.$resetRowCache=function(v){if(!v){this.$docRowCache=[],this.$screenRowCache=[];return}var p=this.$docRowCache.length,d=this.$getRowCacheIndex(this.$docRowCache,v)+1;p>d&&(this.$docRowCache.splice(d,p),this.$screenRowCache.splice(d,p))},S.prototype.$getRowCacheIndex=function(v,p){for(var d=0,C=v.length-1;d<=C;){var E=d+C>>1,L=v[E];if(p>L)d=E+1;else if(p<L)C=E-1;else return E}return d-1},S.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},S.prototype.onChangeFold=function(v){var p=v.data;this.$resetRowCache(p.start.row)},S.prototype.onChange=function(v){this.$modified=!0,this.$bidiHandler.onChange(v),this.$resetRowCache(v.start.row);var p=this.$updateInternalDataOnChange(v);!this.$fromUndo&&this.$undoManager&&(p&&p.length&&(this.$undoManager.add({action:"removeFolds",folds:p},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(v,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(v),this._signal("change",v)},S.prototype.onSelectionChange=function(){this._signal("changeSelection")},S.prototype.setValue=function(v){this.doc.setValue(v),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},S.fromJSON=function(v){typeof v=="string"&&(v=JSON.parse(v));var p=new h;p.$undoStack=v.history.$undoStack,p.$redoStack=v.history.$redoStack,p.mark=v.history.mark,p.$rev=v.history.rev;var d=new S(v.value);return v.folds.forEach(function(C){d.addFold("...",n.fromPoints(C.start,C.end))}),d.setAnnotations(v.annotations),d.setBreakpoints(v.breakpoints),d.setMode(v.mode),d.setScrollLeft(v.scrollLeft),d.setScrollTop(v.scrollTop),d.setUndoManager(p),d.selection.fromJSON(v.selection),d},S.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(v){return v.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},S.prototype.toString=function(){return this.doc.getValue()},S.prototype.getSelection=function(){return this.selection},S.prototype.getState=function(v){return this.bgTokenizer.getState(v)},S.prototype.getTokens=function(v){return this.bgTokenizer.getTokens(v)},S.prototype.getTokenAt=function(v,p){var d=this.bgTokenizer.getTokens(v),C,E=0;if(p==null){var L=d.length-1;E=this.getLine(v).length}else for(var L=0;L<d.length&&(E+=d[L].value.length,!(E>=p));L++);return C=d[L],C?(C.index=L,C.start=E-C.value.length,C):null},S.prototype.setUndoManager=function(v){if(this.$undoManager=v,this.$informUndoManager&&this.$informUndoManager.cancel(),v){var p=this;v.addSession(this),this.$syncInformUndoManager=function(){p.$informUndoManager.cancel(),p.mergeUndoDeltas=!1},this.$informUndoManager=y.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},S.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},S.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},S.prototype.getTabString=function(){return this.getUseSoftTabs()?y.stringRepeat(" ",this.getTabSize()):" "},S.prototype.setUseSoftTabs=function(v){this.setOption("useSoftTabs",v)},S.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},S.prototype.setTabSize=function(v){this.setOption("tabSize",v)},S.prototype.getTabSize=function(){return this.$tabSize},S.prototype.isTabStop=function(v){return this.$useSoftTabs&&v.column%this.$tabSize===0},S.prototype.setNavigateWithinSoftTabs=function(v){this.setOption("navigateWithinSoftTabs",v)},S.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},S.prototype.setOverwrite=function(v){this.setOption("overwrite",v)},S.prototype.getOverwrite=function(){return this.$overwrite},S.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},S.prototype.addGutterDecoration=function(v,p){this.$decorations[v]||(this.$decorations[v]=""),this.$decorations[v]+=" "+p,this._signal("changeBreakpoint",{})},S.prototype.removeGutterCustomWidget=function(v){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget(v)},S.prototype.addGutterCustomWidget=function(v,p){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget(v,p)},S.prototype.removeGutterDecoration=function(v,p){this.$decorations[v]=(this.$decorations[v]||"").replace(" "+p,""),this._signal("changeBreakpoint",{})},S.prototype.getBreakpoints=function(){return this.$breakpoints},S.prototype.setBreakpoints=function(v){this.$breakpoints=[];for(var p=0;p<v.length;p++)this.$breakpoints[v[p]]="ace_breakpoint";this._signal("changeBreakpoint",{})},S.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},S.prototype.setBreakpoint=function(v,p){p===void 0&&(p="ace_breakpoint"),p?this.$breakpoints[v]=p:delete this.$breakpoints[v],this._signal("changeBreakpoint",{})},S.prototype.clearBreakpoint=function(v){delete this.$breakpoints[v],this._signal("changeBreakpoint",{})},S.prototype.addMarker=function(v,p,d,C){var E=this.$markerId++,L={range:v,type:d||"line",renderer:typeof d=="function"?d:null,clazz:p,inFront:!!C,id:E};return C?(this.$frontMarkers[E]=L,this._signal("changeFrontMarker")):(this.$backMarkers[E]=L,this._signal("changeBackMarker")),E},S.prototype.addDynamicMarker=function(v,p){if(v.update){var d=this.$markerId++;return v.id=d,v.inFront=!!p,p?(this.$frontMarkers[d]=v,this._signal("changeFrontMarker")):(this.$backMarkers[d]=v,this._signal("changeBackMarker")),v}},S.prototype.removeMarker=function(v){var p=this.$frontMarkers[v]||this.$backMarkers[v];if(p){var d=p.inFront?this.$frontMarkers:this.$backMarkers;delete d[v],this._signal(p.inFront?"changeFrontMarker":"changeBackMarker")}},S.prototype.getMarkers=function(v){return v?this.$frontMarkers:this.$backMarkers},S.prototype.highlight=function(v){if(!this.$searchHighlight){var p=new s(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(p)}this.$searchHighlight.setRegexp(v)},S.prototype.highlightLines=function(v,p,d,C){typeof p!="number"&&(d=p,p=v),d||(d="ace_step");var E=new n(v,0,p,1/0);return E.id=this.addMarker(E,d,"fullLine",C),E},S.prototype.setAnnotations=function(v){this.$annotations=v,this._signal("changeAnnotation",{})},S.prototype.getAnnotations=function(){return this.$annotations||[]},S.prototype.clearAnnotations=function(){this.setAnnotations([])},S.prototype.$detectNewLine=function(v){var p=v.match(/^.*?(\r?\n)/m);p?this.$autoNewLine=p[1]:this.$autoNewLine=` |
| 192 |
`},S.prototype.getWordRange=function(v,p){var d=this.getLine(v),C=!1;if(p>0&&(C=!!d.charAt(p-1).match(this.tokenRe)),C||(C=!!d.charAt(p).match(this.tokenRe)),C)var E=this.tokenRe;else if(/^\s+$/.test(d.slice(p-1,p+1)))var E=/\s/;else var E=this.nonTokenRe;var L=p;if(L>0){do L--;while(L>=0&&d.charAt(L).match(E));L++}for(var R=p;R<d.length&&d.charAt(R).match(E);)R++;return new n(v,L,v,R)},S.prototype.getAWordRange=function(v,p){for(var d=this.getWordRange(v,p),C=this.getLine(d.end.row);C.charAt(d.end.column).match(/[ \t]/);)d.end.column+=1;return d},S.prototype.setNewLineMode=function(v){this.doc.setNewLineMode(v)},S.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},S.prototype.setUseWorker=function(v){this.setOption("useWorker",v)},S.prototype.getUseWorker=function(){return this.$useWorker},S.prototype.onReloadTokenizer=function(v){var p=v.data;this.bgTokenizer.start(p.first),this._signal("tokenizerUpdate",v)},S.prototype.setMode=function(v,p){if(v&&typeof v=="object"){if(v.getTokenizer)return this.$onChangeMode(v);var d=v,C=d.path}else C=v||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new i),this.$modes[C]&&!d){this.$onChangeMode(this.$modes[C]),p&&p();return}this.$modeId=C,a.loadModule(["mode",C],function(E){if(!this.destroyed){if(this.$modeId!==C)return p&&p();this.$modes[C]&&!d?this.$onChangeMode(this.$modes[C]):E&&E.Mode&&(E=new E.Mode(d),d||(this.$modes[C]=E,E.$id=C),this.$onChangeMode(E)),p&&p()}}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},S.prototype.$onChangeMode=function(v,p){if(p||(this.$modeId=v.$id),this.$mode!==v){var d=this.$mode;this.$mode=v,this.$stopWorker(),this.$useWorker&&this.$startWorker();var C=v.getTokenizer();if(C.on!==void 0){var E=this.onReloadTokenizer.bind(this);C.on("update",E)}this.bgTokenizer.setTokenizer(C),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=v.tokenRe,this.nonTokenRe=v.nonTokenRe,p||(v.attachToSession&&v.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(v.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:d,mode:v}))}},S.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},S.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(v){a.warn("Could not load worker",v),this.$worker=null}},S.prototype.getMode=function(){return this.$mode},S.prototype.setScrollTop=function(v){this.$scrollTop===v||isNaN(v)||(this.$scrollTop=v,this._signal("changeScrollTop",v))},S.prototype.getScrollTop=function(){return this.$scrollTop},S.prototype.setScrollLeft=function(v){this.$scrollLeft===v||isNaN(v)||(this.$scrollLeft=v,this._signal("changeScrollLeft",v))},S.prototype.getScrollLeft=function(){return this.$scrollLeft},S.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},S.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var v=0;return this.lineWidgets.forEach(function(p){p&&p.screenWidth>v&&(v=p.screenWidth)}),this.lineWidgetWidth=v},S.prototype.$computeWidth=function(v){if(this.$modified||v){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var p=this.doc.getAllLines(),d=this.$rowLengthCache,C=0,E=0,L=this.$foldData[E],R=L?L.start.row:1/0,I=p.length,O=0;O<I;O++){if(O>R){if(O=L.end.row+1,O>=I)break;L=this.$foldData[E++],R=L?L.start.row:1/0}d[O]==null&&(d[O]=this.$getStringScreenWidth(p[O])[0]),d[O]>C&&(C=d[O])}this.screenWidth=C}},S.prototype.getLine=function(v){return this.doc.getLine(v)},S.prototype.getLines=function(v,p){return this.doc.getLines(v,p)},S.prototype.getLength=function(){return this.doc.getLength()},S.prototype.getTextRange=function(v){return this.doc.getTextRange(v||this.selection.getRange())},S.prototype.insert=function(v,p){return this.doc.insert(v,p)},S.prototype.remove=function(v){return this.doc.remove(v)},S.prototype.removeFullLines=function(v,p){return this.doc.removeFullLines(v,p)},S.prototype.undoChanges=function(v,p){if(v.length){this.$fromUndo=!0;for(var d=v.length-1;d!=-1;d--){var C=v[d];C.action=="insert"||C.action=="remove"?this.doc.revertDelta(C):C.folds&&this.addFolds(C.folds)}!p&&this.$undoSelect&&(v.selectionBefore?this.selection.fromJSON(v.selectionBefore):this.selection.setRange(this.$getUndoSelection(v,!0))),this.$fromUndo=!1}},S.prototype.redoChanges=function(v,p){if(v.length){this.$fromUndo=!0;for(var d=0;d<v.length;d++){var C=v[d];(C.action=="insert"||C.action=="remove")&&this.doc.$safeApplyDelta(C)}!p&&this.$undoSelect&&(v.selectionAfter?this.selection.fromJSON(v.selectionAfter):this.selection.setRange(this.$getUndoSelection(v,!1))),this.$fromUndo=!1}},S.prototype.setUndoSelect=function(v){this.$undoSelect=v},S.prototype.$getUndoSelection=function(v,p){function d(I){return p?I.action!=="insert":I.action==="insert"}for(var C,E,L=0;L<v.length;L++){var R=v[L];if(R.start){if(!C){d(R)?C=n.fromPoints(R.start,R.end):C=n.fromPoints(R.start,R.start);continue}d(R)?(E=R.start,C.compare(E.row,E.column)==-1&&C.setStart(E),E=R.end,C.compare(E.row,E.column)==1&&C.setEnd(E)):(E=R.start,C.compare(E.row,E.column)==-1&&(C=n.fromPoints(R.start,R.start)))}}return C},S.prototype.replace=function(v,p){return this.doc.replace(v,p)},S.prototype.moveText=function(v,p,d){var C=this.getTextRange(v),E=this.getFoldsInRange(v),L=n.fromPoints(p,p);if(!d){this.remove(v);var R=v.start.row-v.end.row,I=R?-v.end.column:v.start.column-v.end.column;I&&(L.start.row==v.end.row&&L.start.column>v.end.column&&(L.start.column+=I),L.end.row==v.end.row&&L.end.column>v.end.column&&(L.end.column+=I)),R&&L.start.row>=v.end.row&&(L.start.row+=R,L.end.row+=R)}if(L.end=this.insert(L.start,C),E.length){var O=v.start,B=L.start,R=B.row-O.row,I=B.column-O.column;this.addFolds(E.map(function(P){return P=P.clone(),P.start.row==O.row&&(P.start.column+=I),P.end.row==O.row&&(P.end.column+=I),P.start.row+=R,P.end.row+=R,P}))}return L},S.prototype.indentRows=function(v,p,d){d=d.replace(/\t/g,this.getTabString());for(var C=v;C<=p;C++)this.doc.insertInLine({row:C,column:0},d)},S.prototype.outdentRows=function(v){for(var p=v.collapseRows(),d=new n(0,0,0,0),C=this.getTabSize(),E=p.start.row;E<=p.end.row;++E){var L=this.getLine(E);d.start.row=E,d.end.row=E;for(var R=0;R<C&&L.charAt(R)==" ";++R);R<C&&L.charAt(R)==" "?(d.start.column=R,d.end.column=R+1):(d.start.column=0,d.end.column=R),this.remove(d)}},S.prototype.$moveLines=function(v,p,d){if(v=this.getRowFoldStart(v),p=this.getRowFoldEnd(p),d<0){var C=this.getRowFoldStart(v+d);if(C<0)return 0;var E=C-v}else if(d>0){var C=this.getRowFoldEnd(p+d);if(C>this.doc.getLength()-1)return 0;var E=C-p}else{v=this.$clipRowToDocument(v),p=this.$clipRowToDocument(p);var E=p-v+1}var L=new n(v,0,p,Number.MAX_VALUE),R=this.getFoldsInRange(L).map(function(O){return O=O.clone(),O.start.row+=E,O.end.row+=E,O}),I=d==0?this.doc.getLines(v,p):this.doc.removeFullLines(v,p);return this.doc.insertFullLines(v+E,I),R.length&&this.addFolds(R),E},S.prototype.moveLinesUp=function(v,p){return this.$moveLines(v,p,-1)},S.prototype.moveLinesDown=function(v,p){return this.$moveLines(v,p,1)},S.prototype.duplicateLines=function(v,p){return this.$moveLines(v,p,0)},S.prototype.$clipRowToDocument=function(v){return Math.max(0,Math.min(v,this.doc.getLength()-1))},S.prototype.$clipColumnToRow=function(v,p){return p<0?0:Math.min(this.doc.getLine(v).length,p)},S.prototype.$clipPositionToDocument=function(v,p){if(p=Math.max(0,p),v<0)v=0,p=0;else{var d=this.doc.getLength();v>=d?(v=d-1,p=this.doc.getLine(d-1).length):p=Math.min(this.doc.getLine(v).length,p)}return{row:v,column:p}},S.prototype.$clipRangeToDocument=function(v){v.start.row<0?(v.start.row=0,v.start.column=0):v.start.column=this.$clipColumnToRow(v.start.row,v.start.column);var p=this.doc.getLength()-1;return v.end.row>p?(v.end.row=p,v.end.column=this.doc.getLine(p).length):v.end.column=this.$clipColumnToRow(v.end.row,v.end.column),v},S.prototype.setUseWrapMode=function(v){if(v!=this.$useWrapMode){if(this.$useWrapMode=v,this.$modified=!0,this.$resetRowCache(0),v){var p=this.getLength();this.$wrapData=Array(p),this.$updateWrapData(0,p-1)}this._signal("changeWrapMode")}},S.prototype.getUseWrapMode=function(){return this.$useWrapMode},S.prototype.setWrapLimitRange=function(v,p){(this.$wrapLimitRange.min!==v||this.$wrapLimitRange.max!==p)&&(this.$wrapLimitRange={min:v,max:p},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},S.prototype.adjustWrapLimit=function(v,p){var d=this.$wrapLimitRange;d.max<0&&(d={min:p,max:p});var C=this.$constrainWrapLimit(v,d.min,d.max);return C!=this.$wrapLimit&&C>1?(this.$wrapLimit=C,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},S.prototype.$constrainWrapLimit=function(v,p,d){return p&&(v=Math.max(p,v)),d&&(v=Math.min(d,v)),v},S.prototype.getWrapLimit=function(){return this.$wrapLimit},S.prototype.setWrapLimit=function(v){this.setWrapLimitRange(v,v)},S.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},S.prototype.$updateInternalDataOnChange=function(v){var p=this.$useWrapMode,d=v.action,C=v.start,E=v.end,L=C.row,R=E.row,I=R-L,O=null;if(this.$updating=!0,I!=0)if(d==="remove"){this[p?"$wrapData":"$rowLengthCache"].splice(L,I);var B=this.$foldData;O=this.getFoldsInRange(v),this.removeFolds(O);var N=this.getFoldLine(E.row),W=0;if(N){N.addRemoveChars(E.row,E.column,C.column-E.column),N.shiftRow(-I);var P=this.getFoldLine(L);P&&P!==N&&(P.merge(N),N=P),W=B.indexOf(N)+1}for(W;W<B.length;W++){var N=B[W];N.start.row>=E.row&&N.shiftRow(-I)}R=L}else{var F=Array(I);F.unshift(L,0);var U=p?this.$wrapData:this.$rowLengthCache;U.splice.apply(U,F);var B=this.$foldData,N=this.getFoldLine(L),W=0;if(N){var V=N.range.compareInside(C.row,C.column);V==0?(N=N.split(C.row,C.column),N&&(N.shiftRow(I),N.addRemoveChars(R,0,E.column-C.column))):V==-1&&(N.addRemoveChars(L,0,E.column-C.column),N.shiftRow(I)),W=B.indexOf(N)+1}for(W;W<B.length;W++){var N=B[W];N.start.row>=L&&N.shiftRow(I)}}else{I=Math.abs(v.start.column-v.end.column),d==="remove"&&(O=this.getFoldsInRange(v),this.removeFolds(O),I=-I);var N=this.getFoldLine(L);N&&N.addRemoveChars(L,C.column,I)}return p&&this.$wrapData.length!=this.doc.getLength(),this.$updating=!1,p?this.$updateWrapData(L,R):this.$updateRowLengthCache(L,R),O},S.prototype.$updateRowLengthCache=function(v,p){this.$rowLengthCache[v]=null,this.$rowLengthCache[p]=null},S.prototype.$updateWrapData=function(v,p){var d=this.doc.getAllLines(),C=this.getTabSize(),E=this.$wrapData,L=this.$wrapLimit,R,I,O=v;for(p=Math.min(p,d.length-1);O<=p;)I=this.getFoldLine(O,I),I?(R=[],I.walk(function(B,N,W,P){var F;if(B!=null){F=this.$getDisplayTokens(B,R.length),F[0]=f;for(var U=1;U<F.length;U++)F[U]=c}else F=this.$getDisplayTokens(d[N].substring(P,W),R.length);R=R.concat(F)}.bind(this),I.end.row,d[I.end.row].length+1),E[I.start.row]=this.$computeWrapSplits(R,L,C),O=I.end.row+1):(R=this.$getDisplayTokens(d[O]),E[O]=this.$computeWrapSplits(R,L,C),O++)},S.prototype.$computeWrapSplits=function(v,p,d){if(v.length==0)return[];var C=[],E=v.length,L=0,R=0,I=this.$wrapAsCode,O=this.$indentedSoftWrap,B=p<=Math.max(2*d,8)||O===!1?0:Math.floor(p/2);function N(){var V=0;if(B===0)return V;if(O)for(var K=0;K<v.length;K++){var Y=v[K];if(Y==w)V+=1;else if(Y==m)V+=d;else{if(Y==$)continue;break}}return I&&O!==!1&&(V+=d),Math.min(V,B)}function W(V){for(var K=V-L,Y=L;Y<V;Y++){var J=v[Y];(J===12||J===2)&&(K-=1)}C.length||(P=N(),C.indent=P),R+=K,C.push(R),L=V}for(var P=0;E-L>p-P;){var F=L+p-P;if(v[F-1]>=w&&v[F]>=w){W(F);continue}if(v[F]==f||v[F]==c){for(F;F!=L-1&&v[F]!=f;F--);if(F>L){W(F);continue}for(F=L+p,F;F<v.length&&v[F]==c;F++);if(F==v.length)break;W(F);continue}for(var U=Math.max(F-(p-(p>>2)),L-1);F>U&&v[F]<f;)F--;if(I){for(;F>U&&v[F]<f;)F--;for(;F>U&&v[F]==g;)F--}else for(;F>U&&v[F]<w;)F--;if(F>U){W(++F);continue}F=L+p,v[F]==x&&F--,W(F-P)}return C},S.prototype.$getDisplayTokens=function(v,p){var d=[],C;p=p||0;for(var E=0;E<v.length;E++){var L=v.charCodeAt(E);if(L==9){C=this.getScreenTabSize(d.length+p),d.push(m);for(var R=1;R<C;R++)d.push($)}else L==32?d.push(w):L>39&&L<48||L>57&&L<64?d.push(g):L>=4352&&_(L)?d.push(A,x):d.push(A)}return d},S.prototype.$getStringScreenWidth=function(v,p,d){if(p==0)return[0,0];p==null&&(p=1/0),d=d||0;var C,E;for(E=0;E<v.length&&(C=v.charCodeAt(E),C==9?d+=this.getScreenTabSize(d):C>=4352&&_(C)?d+=2:d+=1,!(d>p));E++);return[d,E]},S.prototype.getRowLength=function(v){var p=1;return this.lineWidgets&&(p+=this.lineWidgets[v]&&this.lineWidgets[v].rowCount||0),!this.$useWrapMode||!this.$wrapData[v]?p:this.$wrapData[v].length+p},S.prototype.getRowLineCount=function(v){return!this.$useWrapMode||!this.$wrapData[v]?1:this.$wrapData[v].length+1},S.prototype.getRowWrapIndent=function(v){if(this.$useWrapMode){var p=this.screenToDocumentPosition(v,Number.MAX_VALUE),d=this.$wrapData[p.row];return d.length&&d[0]<p.column?d.indent:0}else return 0},S.prototype.getScreenLastRowColumn=function(v){var p=this.screenToDocumentPosition(v,Number.MAX_VALUE);return this.documentToScreenColumn(p.row,p.column)},S.prototype.getDocumentLastRowColumn=function(v,p){var d=this.documentToScreenRow(v,p);return this.getScreenLastRowColumn(d)},S.prototype.getDocumentLastRowColumnPosition=function(v,p){var d=this.documentToScreenRow(v,p);return this.screenToDocumentPosition(d,Number.MAX_VALUE/10)},S.prototype.getRowSplitData=function(v){if(this.$useWrapMode)return this.$wrapData[v]},S.prototype.getScreenTabSize=function(v){return this.$tabSize-(v%this.$tabSize|0)},S.prototype.screenToDocumentRow=function(v,p){return this.screenToDocumentPosition(v,p).row},S.prototype.screenToDocumentColumn=function(v,p){return this.screenToDocumentPosition(v,p).column},S.prototype.screenToDocumentPosition=function(v,p,d){if(v<0)return{row:0,column:0};var C,E=0,L=0,R,I=0,O=0,B=this.$screenRowCache,N=this.$getRowCacheIndex(B,v),W=B.length;if(W&&N>=0)var I=B[N],E=this.$docRowCache[N],P=v>B[W-1];else var P=!W;for(var F=this.getLength()-1,U=this.getNextFoldLine(E),V=U?U.start.row:1/0;I<=v&&(O=this.getRowLength(E),!(I+O>v||E>=F));)I+=O,E++,E>V&&(E=U.end.row+1,U=this.getNextFoldLine(E,U),V=U?U.start.row:1/0),P&&(this.$docRowCache.push(E),this.$screenRowCache.push(I));if(U&&U.start.row<=E)C=this.getFoldDisplayLine(U),E=U.start.row;else{if(I+O<=v||E>F)return{row:F,column:this.getLine(F).length};C=this.getLine(E),U=null}var K=0,Y=Math.floor(v-I);if(this.$useWrapMode){var J=this.$wrapData[E];J&&(R=J[Y],Y>0&&J.length&&(K=J.indent,L=J[Y-1]||J[J.length-1],C=C.substring(L)))}return d!==void 0&&this.$bidiHandler.isBidiRow(I+Y,E,Y)&&(p=this.$bidiHandler.offsetToCol(d)),L+=this.$getStringScreenWidth(C,p-K)[1],this.$useWrapMode&&L>=R&&(L=R-1),U?U.idxToPosition(L):{row:E,column:L}},S.prototype.documentToScreenPosition=function(v,p){if(typeof p=="undefined")var d=this.$clipPositionToDocument(v.row,v.column);else d=this.$clipPositionToDocument(v,p);v=d.row,p=d.column;var C=0,E=null,L=null;L=this.getFoldAt(v,p,1),L&&(v=L.start.row,p=L.start.column);var R,I=0,O=this.$docRowCache,B=this.$getRowCacheIndex(O,v),N=O.length;if(N&&B>=0)var I=O[B],C=this.$screenRowCache[B],W=v>O[N-1];else var W=!N;for(var P=this.getNextFoldLine(I),F=P?P.start.row:1/0;I<v;){if(I>=F){if(R=P.end.row+1,R>v)break;P=this.getNextFoldLine(R,P),F=P?P.start.row:1/0}else R=I+1;C+=this.getRowLength(I),I=R,W&&(this.$docRowCache.push(I),this.$screenRowCache.push(C))}var U="";P&&I>=F?(U=this.getFoldDisplayLine(P,v,p),E=P.start.row):(U=this.getLine(v).substring(0,p),E=v);var V=0;if(this.$useWrapMode){var K=this.$wrapData[E];if(K){for(var Y=0;U.length>=K[Y];)C++,Y++;U=U.substring(K[Y-1]||0,U.length),V=Y>0?K.indent:0}}return this.lineWidgets&&this.lineWidgets[I]&&this.lineWidgets[I].rowsAbove&&(C+=this.lineWidgets[I].rowsAbove),{row:C,column:V+this.$getStringScreenWidth(U)[0]}},S.prototype.documentToScreenColumn=function(v,p){return this.documentToScreenPosition(v,p).column},S.prototype.documentToScreenRow=function(v,p){return this.documentToScreenPosition(v,p).row},S.prototype.getScreenLength=function(){var v=0,p=null;if(this.$useWrapMode)for(var E=this.$wrapData.length,L=0,C=0,p=this.$foldData[C++],R=p?p.start.row:1/0;L<E;){var I=this.$wrapData[L];v+=I?I.length+1:1,L++,L>R&&(L=p.end.row+1,p=this.$foldData[C++],R=p?p.start.row:1/0)}else{v=this.getLength();for(var d=this.$foldData,C=0;C<d.length;C++)p=d[C],v-=p.end.row-p.start.row}return this.lineWidgets&&(v+=this.$getWidgetScreenLength()),v},S.prototype.$setFontMetrics=function(v){this.$enableVarChar&&(this.$getStringScreenWidth=function(p,d,C){if(d===0)return[0,0];d||(d=1/0),C=C||0;var E,L;for(L=0;L<p.length&&(E=p.charAt(L),E===" "?C+=this.getScreenTabSize(C):C+=v.getCharacterWidth(E),!(C>d));L++);return[C,L]})},S.prototype.getPrecedingCharacter=function(){var v=this.selection.getCursor();if(v.column===0)return v.row===0?"":this.doc.getNewLineCharacter();var p=this.getLine(v.row);return p[v.column-1]},S.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},S})();u.$uid=0,u.prototype.$modes=a.$modes,u.prototype.getValue=u.prototype.toString,u.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},u.prototype.$overwrite=!1,u.prototype.$mode=null,u.prototype.$modeId=null,u.prototype.$scrollTop=0,u.prototype.$scrollLeft=0,u.prototype.$wrapLimit=80,u.prototype.$useWrapMode=!1,u.prototype.$wrapLimitRange={min:null,max:null},u.prototype.lineWidgets=null,u.prototype.isFullWidth=_,k.implement(u.prototype,l);var A=1,x=2,f=3,c=4,g=9,w=10,m=11,$=12;function _(S){return S<4352?!1:S>=4352&&S<=4447||S>=4515&&S<=4519||S>=4602&&S<=4607||S>=9001&&S<=9002||S>=11904&&S<=11929||S>=11931&&S<=12019||S>=12032&&S<=12245||S>=12272&&S<=12283||S>=12288&&S<=12350||S>=12353&&S<=12438||S>=12441&&S<=12543||S>=12549&&S<=12589||S>=12593&&S<=12686||S>=12688&&S<=12730||S>=12736&&S<=12771||S>=12784&&S<=12830||S>=12832&&S<=12871||S>=12880&&S<=13054||S>=13056&&S<=19903||S>=19968&&S<=42124||S>=42128&&S<=42182||S>=43360&&S<=43388||S>=44032&&S<=55203||S>=55216&&S<=55238||S>=55243&&S<=55291||S>=63744&&S<=64255||S>=65040&&S<=65049||S>=65072&&S<=65106||S>=65108&&S<=65126||S>=65128&&S<=65131||S>=65281&&S<=65376||S>=65504&&S<=65510}T("./edit_session/folding").Folding.call(u.prototype),T("./edit_session/bracket_match").BracketMatch.call(u.prototype),a.defineOptions(u.prototype,"session",{wrap:{set:function(S){if(!S||S=="off"?S=!1:S=="free"?S=!0:S=="printMargin"?S=-1:typeof S=="string"&&(S=parseInt(S,10)||!1),this.$wrap!=S)if(this.$wrap=S,!S)this.setUseWrapMode(!1);else{var v=typeof S=="number"?S:null;this.setWrapLimitRange(v,v),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(S){S=S=="auto"?this.$mode.type!="text":S!="text",S!=this.$wrapAsCode&&(this.$wrapAsCode=S,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(S){this.$useWorker=S,this.$stopWorker(),S&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(S){S=parseInt(S),S>0&&this.$tabSize!==S&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=S,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(S){this.setFoldStyle(S)},handlesSet:!0},overwrite:{set:function(S){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(S){this.doc.setNewLineMode(S)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(S){this.setMode(S)},get:function(){return this.$modeId},handlesSet:!0}}),M.EditSession=u}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(T,M,z){var k=T("./lib/lang"),y=T("./lib/oop"),b=T("./range").Range,a=(function(){function n(){this.$options={}}return n.prototype.set=function(t){return y.mixin(this.$options,t),this},n.prototype.getOptions=function(){return k.copyObject(this.$options)},n.prototype.setOptions=function(t){this.$options=t},n.prototype.find=function(t){var e=this.$options,o=this.$matchIterator(t,e);if(!o)return!1;var s=null;return o.forEach(function(h,u,A,x){return s=new b(h,u,A,x),u==x&&e.start&&e.start.start&&e.skipCurrent!=!1&&s.isEqual(e.start)?(s=null,!1):!0}),s},n.prototype.findAll=function(t){var e=this.$options;if(!e.needle)return[];this.$assembleRegExp(e);var o=e.range,s=o?t.getLines(o.start.row,o.end.row):t.doc.getAllLines(),h=[],u=e.re;if(e.$isMultiLine){var A=u.length,x=s.length-A,f;e:for(var c=u.offset||0;c<=x;c++){for(var g=0;g<A;g++)if(s[c+g].search(u[g])==-1)continue e;var w=s[c],m=s[c+A-1],$=w.length-w.match(u[0])[0].length,_=m.match(u[A-1])[0].length;f&&f.end.row===c&&f.end.column>$||(h.push(f=new b(c,$,c+A-1,_)),A>2&&(c=c+A-2))}}else for(var S,v=0;v<s.length;v++)if(this.$isMultilineSearch(e)){var p=s.length-1;if(S=this.$multiLineForward(t,u,v,p),S){var d=S.endRow<=p?S.endRow-1:p;d>v&&(v=d),h.push(new b(S.startRow,S.startCol,S.endRow,S.endCol))}}else{S=k.getMatchOffsets(s[v],u);for(var g=0;g<S.length;g++){var C=S[g];h.push(new b(v,C.offset,v,C.offset+C.length))}}if(o){for(var E=o.start.column,L=o.end.column,v=0,g=h.length-1;v<g&&h[v].start.column<E&&h[v].start.row==0;)v++;for(var R=o.end.row-o.start.row;v<g&&h[g].end.column>L&&h[g].end.row==R;)g--;for(h=h.slice(v,g+1),v=0,g=h.length;v<g;v++)h[v].start.row+=o.start.row,h[v].end.row+=o.start.row}return h},n.prototype.parseReplaceString=function(t){for(var e={DollarSign:36,Ampersand:38,Digit0:48,Digit1:49,Digit9:57,Backslash:92,n:110,t:116},o="",s=0,h=t.length;s<h;s++){var u=t.charCodeAt(s);if(u===e.Backslash){if(s++,s>=h){o+="\\";break}var A=t.charCodeAt(s);switch(A){case e.Backslash:o+="\\";break;case e.n:o+=` |
| 193 |
`;break;case e.t:o+=" ";break}continue}if(u===e.DollarSign){if(s++,s>=h){o+="$";break}var x=t.charCodeAt(s);if(x===e.DollarSign){o+="$$";continue}if(x===e.Digit0||x===e.Ampersand){o+="$&";continue}if(e.Digit1<=x&&x<=e.Digit9){o+="$"+t[s];continue}}o+=t[s]}return o||t},n.prototype.replace=function(t,e){var o=this.$options,s=this.$assembleRegExp(o);if(o.$isMultiLine)return e;if(s){var h=this.$isMultilineSearch(o);h&&(t=t.replace(/\r\n|\r|\n/g,` |
| 194 |
`));var u=s.exec(t);if(!u||!h&&u[0].length!=t.length)return null;if(e=o.regExp?this.parseReplaceString(e):e.replace(/\$/g,"$$$$"),e=t.replace(s,e),o.preserveCase){e=e.split("");for(var A=Math.min(t.length,t.length);A--;){var x=t[A];x&&x.toLowerCase()!=x?e[A]=e[A].toUpperCase():e[A]=e[A].toLowerCase()}e=e.join("")}return e}},n.prototype.$assembleRegExp=function(t,e){if(t.needle instanceof RegExp)return t.re=t.needle;var o=t.needle;if(!t.needle)return t.re=!1;t.regExp||(o=k.escapeRegExp(o));var s=t.caseSensitive?"gm":"gmi";try{new RegExp(o,"u"),t.$supportsUnicodeFlag=!0,s+="u"}catch(u){t.$supportsUnicodeFlag=!1}if(t.wholeWord&&(o=l(o,t)),t.$isMultiLine=!e&&/[\n\r]/.test(o),t.$isMultiLine)return t.re=this.$assembleMultilineRegExp(o,s);try{var h=new RegExp(o,s)}catch(u){h=!1}return t.re=h},n.prototype.$assembleMultilineRegExp=function(t,e){for(var o=t.replace(/\r\n|\r|\n/g,`$ |
| 195 |
^`).split(` |
| 196 |
`),s=[],h=0;h<o.length;h++)try{s.push(new RegExp(o[h],e))}catch(u){return!1}return s},n.prototype.$isMultilineSearch=function(t){return t.re&&/\\r\\n|\\r|\\n/.test(t.re.source)&&t.regExp&&!t.$isMultiLine},n.prototype.$multiLineForward=function(t,e,o,s){for(var h,u=i(t,o),A=o;A<=s;){for(var x=0;x<u&&!(A>s);x++){var f=t.getLine(A++);h=h==null?f:h+` |
| 197 |
`+f}var c=e.exec(h);if(e.lastIndex=0,c){var g=h.slice(0,c.index).split(` |
| 198 |
`),w=c[0].split(` |
| 199 |
`),m=o+g.length-1,$=g[g.length-1].length,_=m+w.length-1,S=w.length==1?$+w[0].length:w[w.length-1].length;return{startRow:m,startCol:$,endRow:_,endCol:S}}}return null},n.prototype.$multiLineBackward=function(t,e,o,s,h){for(var u,A=i(t,s),x=t.getLine(s).length-o,f=s;f>=h;){for(var c=0;c<A&&f>=h;c++){var g=t.getLine(f--);u=u==null?g:g+` |
| 200 |
`+u}var w=r(u,e,x);if(w){var m=u.slice(0,w.index).split(` |
| 201 |
`),$=w[0].split(` |
| 202 |
`),_=f+m.length,S=m[m.length-1].length,v=_+$.length-1,p=$.length==1?S+$[0].length:$[$.length-1].length;return{startRow:_,startCol:S,endRow:v,endCol:p}}}return null},n.prototype.$matchIterator=function(t,e){var o=this.$assembleRegExp(e);if(!o)return!1;var s=this.$isMultilineSearch(e),h=this.$multiLineForward,u=this.$multiLineBackward,A=e.backwards==!0,x=e.skipCurrent!=!1,f=o.unicode,c=e.range,g=e.start;g||(g=c?c[A?"end":"start"]:t.selection.getRange()),g.start&&(g=g[x!=A?"end":"start"]);var w=c?c.start.row:0,m=c?c.end.row:t.getLength()-1;if(A)var $=function(v){var p=g.row;if(!S(p,g.column,v)){for(p--;p>=w;p--)if(S(p,Number.MAX_VALUE,v))return;if(e.wrap!=!1){for(p=m,w=g.row;p>=w;p--)if(S(p,Number.MAX_VALUE,v))return}}};else var $=function(p){var d=g.row;if(!S(d,g.column,p)){for(d=d+1;d<=m;d++)if(S(d,0,p))return;if(e.wrap!=!1){for(d=w,m=g.row;d<=m;d++)if(S(d,0,p))return}}};if(e.$isMultiLine)var _=o.length,S=function(v,p,d){var C=A?v-_+1:v;if(!(C<0||C+_>t.getLength())){var E=t.getLine(C),L=E.search(o[0]);if(!(!A&&L<p||L===-1)){for(var R=1;R<_;R++)if(E=t.getLine(C+R),E.search(o[R])==-1)return;var I=E.match(o[_-1])[0].length;if(!(A&&I>p)&&d(C,L,C+_-1,I))return!0}}};else if(A)var S=function(p,d,C){if(s){var E=u(t,o,d,p,w);if(!E)return!1;if(C(E.startRow,E.startCol,E.endRow,E.endCol))return!0}else{var L=t.getLine(p),R=[],I,O=0;for(o.lastIndex=0;I=o.exec(L);){var B=I[0].length;if(O=I.index,!B){if(O>=L.length)break;o.lastIndex=O+=k.skipEmptyMatch(L,O,f)}if(I.index+B>d)break;R.push(I.index,B)}for(var N=R.length-1;N>=0;N-=2){var W=R[N-1],B=R[N];if(C(p,W,p,W+B))return!0}}};else var S=function(p,d,C){if(o.lastIndex=d,s){var E=h(t,o,p,m);if(E){var L=E.endRow<=m?E.endRow-1:m;L>p&&(p=L)}if(!E)return!1;if(C(E.startRow,E.startCol,E.endRow,E.endCol))return!0}else for(var R=t.getLine(p),I,O;O=o.exec(R);){var B=O[0].length;if(I=O.index,C(p,I,p,I+B))return!0;if(!B&&(o.lastIndex=I+=k.skipEmptyMatch(R,I,f),I>=R.length))return!1}};return{forEach:$}},n})();function l(n,t){var e=k.supportsLookbehind();function o(A,x){x===void 0&&(x=!0);var f=e&&t.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return f.test(A)||t.regExp?e&&t.$supportsUnicodeFlag?x?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var s=Array.from(n),h=s[0],u=s[s.length-1];return o(h)+n+o(u,!1)}function r(n,t,e){for(var o=null,s=0;s<=n.length;){t.lastIndex=s;var h=t.exec(n);if(!h)break;var u=h.index+h[0].length;if(u>n.length-e)break;(!o||u>o.index+o[0].length)&&(o=h),s=h.index+1}return o}function i(n,t){var e=5e3,o={row:t,column:0},s=n.doc.positionToIndex(o),h=s+e,u=n.doc.indexToPosition(h),A=u.row;return A+1}M.Search=a}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(T,M,z){var k=this&&this.__extends||(function(){var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var h in s)Object.prototype.hasOwnProperty.call(s,h)&&(o[h]=s[h])},n(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");n(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}})(),y=T("../lib/keys"),b=T("../lib/useragent"),a=y.KEY_MODS,l=(function(){function n(t,e){this.$init(t,e,!1)}return n.prototype.$init=function(t,e,o){this.platform=e||(b.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(t),this.$singleCommand=o},n.prototype.addCommand=function(t){this.commands[t.name]&&this.removeCommand(t),this.commands[t.name]=t,t.bindKey&&this._buildKeyHash(t)},n.prototype.removeCommand=function(t,e){var o=t&&(typeof t=="string"?t:t.name);t=this.commands[o],e||delete this.commands[o];var s=this.commandKeyBinding;for(var h in s){var u=s[h];if(u==t)delete s[h];else if(Array.isArray(u)){var A=u.indexOf(t);A!=-1&&(u.splice(A,1),u.length==1&&(s[h]=u[0]))}}},n.prototype.bindKey=function(t,e,o){if(typeof t=="object"&&t&&(o==null&&(o=t.position),t=t[this.platform]),!!t){if(typeof e=="function")return this.addCommand({exec:e,bindKey:t,name:e.name||t});t.split("|").forEach(function(s){var h="";if(s.indexOf(" ")!=-1){var u=s.split(/\s+/);s=u.pop(),u.forEach(function(f){var c=this.parseKeys(f),g=a[c.hashId]+c.key;h+=(h?" ":"")+g,this._addCommandToBinding(h,"chainKeys")},this),h+=" "}var A=this.parseKeys(s),x=a[A.hashId]+A.key;this._addCommandToBinding(h+x,e,o)},this)}},n.prototype._addCommandToBinding=function(t,e,o){var s=this.commandKeyBinding,h;if(!e)delete s[t];else if(!s[t]||this.$singleCommand)s[t]=e;else{Array.isArray(s[t])?(h=s[t].indexOf(e))!=-1&&s[t].splice(h,1):s[t]=[s[t]],typeof o!="number"&&(o=r(e));var u=s[t];for(h=0;h<u.length;h++){var A=u[h],x=r(A);if(x>o)break}u.splice(h,0,e)}},n.prototype.addCommands=function(t){t&&Object.keys(t).forEach(function(e){var o=t[e];if(o){if(typeof o=="string")return this.bindKey(o,e);typeof o=="function"&&(o={exec:o}),typeof o=="object"&&(o.name||(o.name=e),this.addCommand(o))}},this)},n.prototype.removeCommands=function(t){Object.keys(t).forEach(function(e){this.removeCommand(t[e])},this)},n.prototype.bindKeys=function(t){Object.keys(t).forEach(function(e){this.bindKey(e,t[e])},this)},n.prototype._buildKeyHash=function(t){this.bindKey(t.bindKey,t)},n.prototype.parseKeys=function(t){var e=t.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(x){return x}),o=e.pop(),s=y[o];if(y.FUNCTION_KEYS[s])o=y.FUNCTION_KEYS[s].toLowerCase();else if(e.length){if(e.length==1&&e[0]=="shift")return{key:o.toUpperCase(),hashId:-1}}else return{key:o,hashId:-1};for(var h=0,u=e.length;u--;){var A=y.KEY_MODS[e[u]];if(A==null)return!1;h|=A}return{key:o,hashId:h}},n.prototype.findKeyCommand=function(t,e){var o=a[t]+e;return this.commandKeyBinding[o]},n.prototype.handleKeyboard=function(t,e,o,s){if(!(s<0)){var h=a[e]+o,u=this.commandKeyBinding[h];return t.$keyChain&&(t.$keyChain+=" "+h,u=this.commandKeyBinding[t.$keyChain]||u),u&&(u=="chainKeys"||u[u.length-1]=="chainKeys")?(t.$keyChain=t.$keyChain||h,{command:"null"}):(t.$keyChain&&((!e||e==4)&&o.length==1?t.$keyChain=t.$keyChain.slice(0,-h.length-1):(e==-1||s>0)&&(t.$keyChain="")),{command:u})}},n.prototype.getStatusText=function(t,e){return e.$keyChain||""},n})();function r(n){return typeof n=="object"&&n.bindKey&&n.bindKey.position||(n.isDefault?-100:0)}var i=(function(n){k(t,n);function t(e,o){var s=n.call(this,e,o)||this;return s.$singleCommand=!0,s}return t})(l);i.call=function(n,t,e){l.prototype.$init.call(n,t,e,!0)},l.call=function(n,t,e){l.prototype.$init.call(n,t,e,!1)},M.HashHandler=i,M.MultiHashHandler=l}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(T,M,z){var k=this&&this.__extends||(function(){var r=function(i,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])},r(i,n)};return function(i,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");r(i,n);function t(){this.constructor=i}i.prototype=n===null?Object.create(n):(t.prototype=n.prototype,new t)}})(),y=T("../lib/oop"),b=T("../keyboard/hash_handler").MultiHashHandler,a=T("../lib/event_emitter").EventEmitter,l=(function(r){k(i,r);function i(n,t){var e=r.call(this,t,n)||this;return e.byName=e.commands,e.setDefaultHandler("exec",function(o){return o.args?o.command.exec(o.editor,o.args,o.event,!1):o.command.exec(o.editor,{},o.event,!0)}),e}return i.prototype.exec=function(n,t,e){if(Array.isArray(n)){for(var o=n.length;o--;)if(this.exec(n[o],t,e))return!0;return!1}typeof n=="string"&&(n=this.commands[n]);var s={editor:t,command:n,args:e};return this.canExecute(n,t)?(s.returnValue=this._emit("exec",s),this._signal("afterExec",s),s.returnValue!==!1):(this._signal("commandUnavailable",s),!1)},i.prototype.canExecute=function(n,t){return typeof n=="string"&&(n=this.commands[n]),!(!n||t&&t.$readOnly&&!n.readOnly||this.$checkCommandState!=!1&&n.isAvailable&&!n.isAvailable(t))},i.prototype.toggleRecording=function(n){if(!this.$inReplay)return n&&n._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(t){this.macro.push([t.command,t.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},i.prototype.replay=function(n){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(n);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,n):this.exec(t[0],n,t[1])},this)}finally{this.$inReplay=!1}}},i.prototype.trimMacro=function(n){return n.map(function(t){return typeof t[0]!="string"&&(t[0]=t[0].name),t[1]||(t=t[0]),t})},i})(b);y.implement(l.prototype,a),M.CommandManager=l}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(T,M,z){var k=T("../lib/lang"),y=T("../config"),b=T("../range").Range;function a(r,i){return{win:r,mac:i}}M.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:a("Ctrl-,","Command-,"),exec:function(r){y.loadModule("ace/ext/settings_menu",function(i){i.init(r),r.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:a("Alt-E","F4"),exec:function(r){y.loadModule("ace/ext/error_marker",function(i){i.showErrorMarker(r,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:a("Alt-Shift-E","Shift-F4"),exec:function(r){y.loadModule("ace/ext/error_marker",function(i){i.showErrorMarker(r,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:a("Ctrl-A","Command-A"),exec:function(r){r.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:a(null,"Ctrl-L"),exec:function(r){r.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:a("Ctrl-L","Command-L"),exec:function(r,i){typeof i=="number"&&!isNaN(i)&&r.gotoLine(i),r.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:a("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(r){r.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:a("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(r){r.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:a("F2","F2"),exec:function(r){r.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:a("Alt-F2","Alt-F2"),exec:function(r){r.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:a("Alt-0","Command-Option-0"),exec:function(r){r.session.foldAll(),r.session.unfold(r.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:a("Alt-Shift-0","Command-Option-Shift-0"),exec:function(r){r.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:a("Ctrl-K","Command-G"),exec:function(r){r.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:a("Ctrl-Shift-K","Command-Shift-G"),exec:function(r){r.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:a("Alt-K","Ctrl-G"),exec:function(r){r.selection.isEmpty()?r.selection.selectWord():r.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:a("Alt-Shift-K","Ctrl-Shift-G"),exec:function(r){r.selection.isEmpty()?r.selection.selectWord():r.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:a("Ctrl-F","Command-F"),exec:function(r){y.loadModule("ace/ext/searchbox",function(i){i.Search(r)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(r){r.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:a("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(r){r.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:a("Ctrl-Home","Command-Home|Command-Up"),exec:function(r){r.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:a("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(r){r.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:a("Up","Up|Ctrl-P"),exec:function(r,i){r.navigateUp(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:a("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(r){r.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:a("Ctrl-End","Command-End|Command-Down"),exec:function(r){r.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:a("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(r){r.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:a("Down","Down|Ctrl-N"),exec:function(r,i){r.navigateDown(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:a("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(r){r.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:a("Ctrl-Left","Option-Left"),exec:function(r){r.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:a("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(r){r.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:a("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(r){r.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:a("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(r){r.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:a("Left","Left|Ctrl-B"),exec:function(r,i){r.navigateLeft(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:a("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(r){r.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:a("Ctrl-Right","Option-Right"),exec:function(r){r.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:a("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(r){r.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:a("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(r){r.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:a("Shift-Right","Shift-Right"),exec:function(r){r.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:a("Right","Right|Ctrl-F"),exec:function(r,i){r.navigateRight(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(r){r.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:a(null,"Option-PageDown"),exec:function(r){r.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:a("PageDown","PageDown|Ctrl-V"),exec:function(r){r.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(r){r.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:a(null,"Option-PageUp"),exec:function(r){r.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(r){r.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:a("Ctrl-Up",null),exec:function(r){r.renderer.scrollBy(0,-2*r.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:a("Ctrl-Down",null),exec:function(r){r.renderer.scrollBy(0,2*r.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(r){r.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(r){r.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:a("Ctrl-Alt-E","Command-Option-E"),exec:function(r){r.commands.toggleRecording(r)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:a("Ctrl-Shift-E","Command-Shift-E"),exec:function(r){r.commands.replay(r)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:a("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(r){r.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:a("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(r){r.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:a("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(r){r.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:a(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(r){},readOnly:!0},{name:"cut",description:"Cut",exec:function(r){var i=r.$copyWithEmptySelection&&r.selection.isEmpty(),n=i?r.selection.getLineRange():r.selection.getRange();r._emit("cut",n),n.isEmpty()||r.session.remove(n),r.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(r,i){r.$handlePaste(i)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:a("Ctrl-D","Command-D"),exec:function(r){r.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:a("Ctrl-Shift-D","Command-Shift-D"),exec:function(r){r.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:a("Ctrl-Alt-S","Command-Alt-S"),exec:function(r){r.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:a("Ctrl-/","Command-/"),exec:function(r){r.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:a("Ctrl-Shift-/","Command-Shift-/"),exec:function(r){r.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:a("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(r){r.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:a("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(r){r.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:a("Ctrl-H","Command-Option-F"),exec:function(r){y.loadModule("ace/ext/searchbox",function(i){i.Search(r,!0)})}},{name:"undo",description:"Undo",bindKey:a("Ctrl-Z","Command-Z"),exec:function(r){r.undo()}},{name:"redo",description:"Redo",bindKey:a("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(r){r.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:a("Alt-Shift-Up","Command-Option-Up"),exec:function(r){r.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:a("Alt-Up","Option-Up"),exec:function(r){r.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:a("Alt-Shift-Down","Command-Option-Down"),exec:function(r){r.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:a("Alt-Down","Option-Down"),exec:function(r){r.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:a("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(r){r.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:a("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(r){r.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:a("Shift-Delete",null),exec:function(r){if(r.selection.isEmpty())r.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:a("Alt-Backspace","Command-Backspace"),exec:function(r){r.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:a("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(r){r.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:a("Ctrl-Shift-Backspace",null),exec:function(r){var i=r.selection.getRange();i.start.column=0,r.session.remove(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:a("Ctrl-Shift-Delete",null),exec:function(r){var i=r.selection.getRange();i.end.column=Number.MAX_VALUE,r.session.remove(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:a("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(r){r.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:a("Ctrl-Delete","Alt-Delete"),exec:function(r){r.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:a("Shift-Tab","Shift-Tab"),exec:function(r){r.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:a("Tab","Tab"),exec:function(r){r.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:a("Ctrl-[","Ctrl-["),exec:function(r){r.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:a("Ctrl-]","Ctrl-]"),exec:function(r){r.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(r,i){r.insert(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(r,i){r.insert(k.stringRepeat(i.text||"",i.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:a(null,"Ctrl-O"),exec:function(r){r.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:a("Alt-Shift-X","Ctrl-T"),exec:function(r){r.transposeLetters()},multiSelectAction:function(r){r.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:a("Ctrl-U","Ctrl-U"),exec:function(r){r.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:a("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(r){r.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:a(null,null),exec:function(r){r.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:a("Ctrl-Shift-L","Command-Shift-L"),exec:function(r){var i=r.selection.getRange();i.start.column=i.end.column=0,i.end.row++,r.selection.setRange(i,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:a("Ctrl+F3","F3"),exec:function(r){r.openLink()}},{name:"joinlines",description:"Join lines",bindKey:a(null,null),exec:function(r){for(var i=r.selection.isBackwards(),n=i?r.selection.getSelectionLead():r.selection.getSelectionAnchor(),t=i?r.selection.getSelectionAnchor():r.selection.getSelectionLead(),e=r.session.doc.getLine(n.row).length,o=r.session.doc.getTextRange(r.selection.getRange()),s=o.replace(/\n\s*/," ").length,h=r.session.doc.getLine(n.row),u=n.row+1;u<=t.row+1;u++){var A=k.stringTrimLeft(k.stringTrimRight(r.session.doc.getLine(u)));A.length!==0&&(A=" "+A),h+=A}t.row+1<r.session.doc.getLength()-1&&(h+=r.session.doc.getNewLineCharacter()),r.clearSelection(),r.session.doc.replace(new b(n.row,0,t.row+2,0),h),s>0?(r.selection.moveCursorTo(n.row,n.column),r.selection.selectTo(n.row,n.column+s)):(e=r.session.doc.getLine(n.row).length>e?e+1:e,r.selection.moveCursorTo(n.row,e))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:a(null,null),exec:function(r){var i=r.session.doc.getLength()-1,n=r.session.doc.getLine(i).length,t=r.selection.rangeList.ranges,e=[];t.length<1&&(t=[r.selection.getRange()]);for(var o=0;o<t.length;o++)o==t.length-1&&(t[o].end.row===i&&t[o].end.column===n||e.push(new b(t[o].end.row,t[o].end.column,i,n))),o===0?t[o].start.row===0&&t[o].start.column===0||e.push(new b(0,0,t[o].start.row,t[o].start.column)):e.push(new b(t[o-1].end.row,t[o-1].end.column,t[o].start.row,t[o].start.column));r.exitMultiSelectMode(),r.clearSelection();for(var o=0;o<e.length;o++)r.selection.addRange(e[o],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(r){r.selection.clearSelection(),r.navigateLineEnd(),r.insert(` |
| 203 |
`)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(r){r.selection.clearSelection();var i=r.getCursorPosition();r.selection.moveTo(i.row-1,Number.MAX_VALUE),r.insert(` |
| 204 |
`),i.row===0&&r.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(r){r.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:a("F1","F1"),exec:function(r){r.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:a(null,null),exec:function(r){r.prompt({$type:"modes"})},readOnly:!0}];for(var l=1;l<9;l++)M.commands.push({name:"foldToLevel"+l,description:"Fold To Level "+l,level:l,exec:function(r){r.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys"],function(T,M,z){var k=T("../lib/keys"),y=(function(){function a(l){this.editor=l,this.gutterLayer=l.renderer.$gutterLayer,this.element=l.renderer.$gutter,this.lines=l.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=this.editor.$mouseHandler.$tooltip}return a.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},a.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},a.prototype.$onGutterKeyDown=function(l){if(this.annotationTooltip.isOpen){l.preventDefault(),l.keyCode===k.escape&&this.annotationTooltip.hide();return}if(l.target===this.element){if(l.keyCode!=k.enter)return;l.preventDefault();var r=this.editor.getCursorPosition().row;this.editor.isRowVisible(r)||this.editor.scrollToLine(r,!0,!0),setTimeout(function(){var i=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),n=this.$findNearestFoldLaneWidget(i),t=this.$findNearestAnnotation(i);if(!(n===null&&t===null)){var e=this.$findClosestNumber(n,t,i);if(e===n)if(this.activeLane="fold",this.activeRowIndex=n,this.$isCustomWidgetVisible(n)){this.$focusCustomWidget(this.activeRowIndex);return}else{this.$focusFoldWidget(this.activeRowIndex);return}else{this.activeRowIndex=t,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}}}.bind(this),10);return}this.$handleGutterKeyboardInteraction(l),setTimeout(function(){this.editor._signal("gutterkeydown",new b(l,this))}.bind(this),10)},a.prototype.$handleGutterKeyboardInteraction=function(l){if(l.keyCode===k.tab){l.preventDefault();return}if(l.keyCode===k.escape){l.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(l.keyCode===k.up){switch(l.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(l.keyCode===k.down){switch(l.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(l.keyCode===k.left){l.preventDefault(),this.$switchLane("annotation");return}if(l.keyCode===k.right){l.preventDefault(),this.$switchLane("fold");return}if(l.keyCode===k.enter||l.keyCode===k.space){switch(l.preventDefault(),this.activeLane){case"fold":var r=this.$rowIndexToRow(this.activeRowIndex),i=this.editor.session.$gutterCustomWidgets[r];if(i)i.callbacks&&i.callbacks.onClick&&i.callbacks.onClick(l,r);else if(this.gutterLayer.session.foldWidgets[r]==="start"){this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),l),setTimeout(function(){this.$rowIndexToRow(this.activeRowIndex)!==r&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(r),this.$focusFoldWidget(this.activeRowIndex))}.bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex)),this.annotationTooltip.$fromKeyboard=!0;break}return}},a.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex);break}this.annotationTooltip.isOpen&&this.annotationTooltip.hide()},a.prototype.$isFoldWidgetVisible=function(l){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(l)),i=this.$getFoldWidget(l).style.display!=="none";return r&&i},a.prototype.$isCustomWidgetVisible=function(l){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(l)),i=!!this.$getCustomWidget(l);return r&&i},a.prototype.$isAnnotationVisible=function(l){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(l)),i=this.$getAnnotation(l).style.display!=="none";return r&&i},a.prototype.$getFoldWidget=function(l){var r=this.lines.get(l),i=r.element;return i.childNodes[1]},a.prototype.$getCustomWidget=function(l){var r=this.lines.get(l),i=r.element;return i.childNodes[3]},a.prototype.$getAnnotation=function(l){var r=this.lines.get(l),i=r.element;return i.childNodes[2]},a.prototype.$findNearestFoldLaneWidget=function(l){if(this.$isCustomWidgetVisible(l)||this.$isFoldWidgetVisible(l))return l;for(var r=0;l-r>0||l+r<this.lines.getLength()-1;){if(r++,l-r>=0&&this.$isCustomWidgetVisible(l-r))return l-r;if(l+r<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(l+r))return l+r;if(l-r>=0&&this.$isFoldWidgetVisible(l-r))return l-r;if(l+r<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(l+r))return l+r}return null},a.prototype.$findNearestAnnotation=function(l){if(this.$isAnnotationVisible(l))return l;for(var r=0;l-r>0||l+r<this.lines.getLength()-1;){if(r++,l-r>=0&&this.$isAnnotationVisible(l-r))return l-r;if(l+r<=this.lines.getLength()-1&&this.$isAnnotationVisible(l+r))return l+r}return null},a.prototype.$focusFoldWidget=function(l){if(l!=null){var r=this.$getFoldWidget(l);r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus()}},a.prototype.$focusCustomWidget=function(l){if(l!=null){var r=this.$getCustomWidget(l);r&&(r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus())}},a.prototype.$focusAnnotation=function(l){if(l!=null){var r=this.$getAnnotation(l);r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus()}},a.prototype.$blurFoldWidget=function(l){var r=this.$getFoldWidget(l);r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur()},a.prototype.$blurCustomWidget=function(l){var r=this.$getCustomWidget(l);r&&(r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur())},a.prototype.$blurAnnotation=function(l){var r=this.$getAnnotation(l);r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur()},a.prototype.$moveFoldWidgetUp=function(){for(var l=this.activeRowIndex;l>0;)if(l--,this.$isFoldWidgetVisible(l)||this.$isCustomWidgetVisible(l)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=l,this.$isFoldWidgetVisible(l)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},a.prototype.$moveFoldWidgetDown=function(){for(var l=this.activeRowIndex;l<this.lines.getLength()-1;)if(l++,this.$isFoldWidgetVisible(l)||this.$isCustomWidgetVisible(l)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=l,this.$isFoldWidgetVisible(l)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},a.prototype.$moveAnnotationUp=function(){for(var l=this.activeRowIndex;l>0;)if(l--,this.$isAnnotationVisible(l)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=l,this.$focusAnnotation(this.activeRowIndex);return}},a.prototype.$moveAnnotationDown=function(){for(var l=this.activeRowIndex;l<this.lines.getLength()-1;)if(l++,this.$isAnnotationVisible(l)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=l,this.$focusAnnotation(this.activeRowIndex);return}},a.prototype.$findClosestNumber=function(l,r,i){return l===null?r:r===null||Math.abs(i-l)<=Math.abs(i-r)?l:r},a.prototype.$switchLane=function(l){switch(l){case"annotation":if(this.activeLane==="annotation")break;var r=this.$findNearestAnnotation(this.activeRowIndex);if(r==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=r,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var i=this.$findNearestFoldLaneWidget(this.activeRowIndex);if(i===null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=i,this.$isCustomWidgetVisible(i)?this.$focusCustomWidget(this.activeRowIndex):this.$focusFoldWidget(this.activeRowIndex);break}},a.prototype.$rowIndexToRow=function(l){var r=this.lines.get(l);return r?r.row:null},a.prototype.$rowToRowIndex=function(l){for(var r=0;r<this.lines.getLength();r++){var i=this.lines.get(r);if(i.row==l)return r}return null},a})();M.GutterKeyboardHandler=y;var b=(function(){function a(l,r){this.gutterKeyboardHandler=r,this.domEvent=l}return a.prototype.getKey=function(){return k.keyCodeToString(this.domEvent.keyCode)},a.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},a.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},a.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},a})();M.GutterKeyboardEvent=b}),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys","ace/lib/event","ace/tooltip"],function(T,M,z){var k=this&&this.__values||function(p){var d=typeof Symbol=="function"&&Symbol.iterator,C=d&&p[d],E=0;if(C)return C.call(p);if(p&&typeof p.length=="number")return{next:function(){return p&&E>=p.length&&(p=void 0),{value:p&&p[E++],done:!p}}};throw new TypeError(d?"Object is not iterable.":"Symbol.iterator is not defined.")},y=T("./lib/oop"),b=T("./lib/dom"),a=T("./lib/lang"),l=T("./lib/useragent"),r=T("./keyboard/textinput").TextInput,i=T("./mouse/mouse_handler").MouseHandler,n=T("./mouse/fold_handler").FoldHandler,t=T("./keyboard/keybinding").KeyBinding,e=T("./edit_session").EditSession,o=T("./search").Search,s=T("./range").Range,h=T("./lib/event_emitter").EventEmitter,u=T("./commands/command_manager").CommandManager,A=T("./commands/default_commands").commands,x=T("./config"),f=T("./token_iterator").TokenIterator,c=T("./keyboard/gutter_handler").GutterKeyboardHandler,g=T("./config").nls,w=T("./clipboard"),m=T("./lib/keys"),$=T("./lib/event"),_=T("./tooltip").HoverTooltip,S=(function(){function p(d,C,E){this.id="editor"+ ++p.$uid,this.session,this.$toDestroy=[];var L=d.getContainerElement();this.container=L,this.renderer=d,this.commands=new u(l.isMac?"mac":"win",A),typeof document=="object"&&(this.textInput=new r(d.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new i(this),new n(this)),this.keyBinding=new t(this),this.$search=new o().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=a.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(R,I){I._$emitInputEvent.schedule(31)}),this.setSession(C||E&&E.session||new e("")),x.resetOptions(this),E&&this.setOptions(E),x._signal("editor",this)}return p.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},p.prototype.startOperation=function(d){this.session.startOperation(d)},p.prototype.endOperation=function(d){this.session.endOperation(d)},p.prototype.onStartOperation=function(d){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,d||(this.previousCommand=null)},p.prototype.onEndOperation=function(d){if(this.curOp&&this.session){if(d&&d.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var C=this.curOp.command,E=C&&C.scrollIntoView;if(E){switch(E){case"center-animate":E="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var L=this.selection.getRange(),R=this.renderer.layerConfig;(L.start.row>=R.lastRow||L.end.row<=R.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}E=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},p.prototype.$historyTracker=function(d){if(this.$mergeUndoDeltas){var C=this.prevOp,E=this.$mergeableCommands,L=C.command&&d.command.name==C.command.name;if(d.command.name=="insertstring"){var R=d.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),L=L&&this.mergeNextCommand&&(!/\s/.test(R)||/\s/.test(C.args)),this.mergeNextCommand=!0}else L=L&&E.indexOf(d.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(L=!1),L?this.session.mergeUndoDeltas=!0:E.indexOf(d.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},p.prototype.setKeyboardHandler=function(d,C){if(d&&typeof d=="string"&&d!="ace"){this.$keybindingId=d;var E=this;x.loadModule(["keybinding",d],function(L){E.$keybindingId==d&&E.keyBinding.setKeyboardHandler(L&&L.handler),C&&C()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(d),C&&C()},p.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},p.prototype.setSession=function(d){if(this.session!=d){this.curOp&&this.endOperation(),this.curOp={};var C=this.session;if(C){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),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var E=this.session.getSelection();E.off("changeCursor",this.$onCursorChange),E.off("changeSelection",this.$onSelectionChange)}this.session=d,d?(this.$onDocumentChange=this.onDocumentChange.bind(this),d.on("change",this.$onDocumentChange),this.renderer.setSession(d),this.$onChangeMode=this.onChangeMode.bind(this),d.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),d.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),d.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),d.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),d.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),d.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=d.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),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(d)),this._signal("changeSession",{session:d,oldSession:C}),this.curOp=null,C&&C._signal("changeEditor",{oldEditor:this}),C&&(C.$editor=null),d&&d._signal("changeEditor",{editor:this}),d&&(d.$editor=this),d&&!d.destroyed&&d.bgTokenizer.scheduleStart()}},p.prototype.getSession=function(){return this.session},p.prototype.setValue=function(d,C){return this.session.doc.setValue(d),C?C==1?this.navigateFileEnd():C==-1&&this.navigateFileStart():this.selectAll(),d},p.prototype.getValue=function(){return this.session.getValue()},p.prototype.getSelection=function(){return this.selection},p.prototype.resize=function(d){this.renderer.onResize(d)},p.prototype.setTheme=function(d,C){this.renderer.setTheme(d,C)},p.prototype.getTheme=function(){return this.renderer.getTheme()},p.prototype.setStyle=function(d,C){this.renderer.setStyle(d,C)},p.prototype.unsetStyle=function(d){this.renderer.unsetStyle(d)},p.prototype.getFontSize=function(){return this.getOption("fontSize")||b.computedStyle(this.container).fontSize},p.prototype.setFontSize=function(d){this.setOption("fontSize",d)},p.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var d=this;this.$highlightPending=!0,setTimeout(function(){d.$highlightPending=!1;var C=d.session;if(!(!C||C.destroyed)){C.$bracketHighlight&&(C.$bracketHighlight.markerIds.forEach(function(P){C.removeMarker(P)}),C.$bracketHighlight=null);var E=d.getCursorPosition(),L=d.getKeyboardHandler(),R=L&&L.$getDirectionForHighlight&&L.$getDirectionForHighlight(d),I=C.getMatchingBracketRanges(E,R);if(!I){var O=new f(C,E.row,E.column),B=O.getCurrentToken();if(B&&/\b(?:tag-open|tag-name)/.test(B.type)){var N=C.getMatchingTags(E);N&&(I=[N.openTagName.isEmpty()?N.openTag:N.openTagName,N.closeTagName.isEmpty()?N.closeTag:N.closeTagName])}}if(!I&&C.$mode.getMatching&&(I=C.$mode.getMatching(d.session)),!I){d.getHighlightIndentGuides()&&d.renderer.$textLayer.$highlightIndentGuide();return}var W="ace_bracket";Array.isArray(I)?I.length==1&&(W="ace_error_bracket"):I=[I],I.length==2&&(s.comparePoints(I[0].end,I[1].start)==0?I=[s.fromPoints(I[0].start,I[1].end)]:s.comparePoints(I[0].start,I[1].end)==0&&(I=[s.fromPoints(I[1].start,I[0].end)])),C.$bracketHighlight={ranges:I,markerIds:I.map(function(P){return C.addMarker(P,W,"text")})},d.getHighlightIndentGuides()&&d.renderer.$textLayer.$highlightIndentGuide()}},50)}},p.prototype.focus=function(){this.textInput.focus()},p.prototype.isFocused=function(){return this.textInput.isFocused()},p.prototype.blur=function(){this.textInput.blur()},p.prototype.onFocus=function(d){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",d))},p.prototype.onBlur=function(d){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",d))},p.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},p.prototype.onDocumentChange=function(d){var C=this.session.$useWrapMode,E=d.start.row==d.end.row?d.end.row:1/0;this.renderer.updateLines(d.start.row,E,C),this._signal("change",d),this.$cursorChange()},p.prototype.onTokenizerUpdate=function(d){var C=d.data;this.renderer.updateLines(C.first,C.last)},p.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},p.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},p.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},p.prototype.$updateHighlightActiveLine=function(){var d=this.getSession(),C;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(C=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(C=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(C=!1)),d.$highlightLineMarker&&!C)d.removeMarker(d.$highlightLineMarker.id),d.$highlightLineMarker=null;else if(!d.$highlightLineMarker&&C){var E=new s(C.row,C.column,C.row,1/0);E.id=d.addMarker(E,"ace_active-line","screenLine"),d.$highlightLineMarker=E}else C&&(d.$highlightLineMarker.start.row=C.row,d.$highlightLineMarker.end.row=C.row,d.$highlightLineMarker.start.column=C.column,d._signal("changeBackMarker"))},p.prototype.onSelectionChange=function(d){var C=this.session;if(C.$selectionMarker&&C.removeMarker(C.$selectionMarker),C.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var E=this.selection.getRange(),L=this.getSelectionStyle();C.$selectionMarker=C.addMarker(E,"ace_selection",L)}var R=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(R),this._signal("changeSelection")},p.prototype.$getSelectionHighLightRegexp=function(){var d=this.session,C=this.getSelectionRange();if(!(C.isEmpty()||C.isMultiLine())){var E=C.start.column,L=C.end.column,R=d.getLine(C.start.row),I=R.substring(E,L);if(!(I.length>5e3||!/[\w\d]/.test(I))){var O=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:I}),B=R.substring(E-1,L+1);if(O.test(B))return O}}},p.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},p.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},p.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},p.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},p.prototype.onChangeMode=function(d){this.renderer.updateText(),this._emit("changeMode",d)},p.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},p.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},p.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},p.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},p.prototype.getCopyText=function(){var d=this.getSelectedText(),C=this.session.doc.getNewLineCharacter(),E=!1;if(!d&&this.$copyWithEmptySelection){E=!0;for(var L=this.selection.getAllRanges(),R=0;R<L.length;R++){var I=L[R];R&&L[R-1].start.row==I.start.row||(d+=this.session.getLine(I.start.row)+C)}}var O={text:d};return this._signal("copy",O),w.lineMode=E?O.text:!1,O.text},p.prototype.onCopy=function(){this.commands.exec("copy",this)},p.prototype.onCut=function(){this.commands.exec("cut",this)},p.prototype.onPaste=function(d,C){var E={text:d,event:C};this.commands.exec("paste",this,E)},p.prototype.$handlePaste=function(d){typeof d=="string"&&(d={text:d}),this._signal("paste",d);var C=d.text,E=C===w.lineMode,L=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)E?L.insert({row:this.selection.lead.row,column:0},C):this.insert(C);else if(E)this.selection.rangeList.ranges.forEach(function(W){L.insert({row:W.start.row,column:0},C)});else{var R=C.split(/\r\n|\r|\n/),I=this.selection.rangeList.ranges,O=R.length==2&&(!R[0]||!R[1]);if(R.length!=I.length||O)return this.commands.exec("insertstring",this,C);for(var B=I.length;B--;){var N=I[B];N.isEmpty()||L.remove(N),L.insert(N.start,R[B])}}},p.prototype.execCommand=function(d,C){return this.commands.exec(d,this,C)},p.prototype.insert=function(d,C){var E=this.session,L=E.getMode(),R=this.getCursorPosition();if(this.getBehavioursEnabled()&&!C){var I=L.transformAction(E.getState(R.row),"insertion",this,E,d);I&&(d!==I.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),d=I.text)}if(d==" "&&(d=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&d.indexOf(` |
| 205 |
`)==-1){var O=s.fromPoints(R,R);O.end.column+=d.length,this.session.remove(O)}}else{var O=this.getSelectionRange();R=this.session.remove(O),this.clearSelection()}if(d==` |
| 206 |
`||d==`\r |
| 207 |
`){var P=E.getLine(R.row);if(R.column>P.search(/\S|$/)){var B=P.substr(R.column).search(/\S|$/);E.doc.removeInLine(R.row,R.column,R.column+B)}}this.clearSelection();var N=R.column,W=E.getState(R.row),P=E.getLine(R.row),F=L.checkOutdent(W,P,d);if(E.insert(R,d),I&&I.selection&&(I.selection.length==2?this.selection.setSelectionRange(new s(R.row,N+I.selection[0],R.row,N+I.selection[1])):this.selection.setSelectionRange(new s(R.row+I.selection[0],I.selection[1],R.row+I.selection[2],I.selection[3]))),this.$enableAutoIndent){if(E.getDocument().isNewLine(d)){var U=L.getNextLineIndent(W,P.slice(0,R.column),E.getTabString());E.insert({row:R.row+1,column:0},U)}F&&L.autoOutdent(W,E,R.row)}},p.prototype.autoIndent=function(){for(var d=this.session,C=d.getMode(),E=this.selection.isEmpty()?[new s(0,0,d.doc.getLength()-1,0)]:this.selection.getAllRanges(),L="",R="",I="",O=d.getTabString(),B=0;B<E.length;B++)for(var N=E[B].start.row,W=E[B].end.row,P=N;P<=W;P++){P>0&&(L=d.getState(P-1),R=d.getLine(P-1),I=C.getNextLineIndent(L,R,O));var F=d.getLine(P),U=C.$getIndent(F);if(I!==U){if(U.length>0){var V=new s(P,0,P,U.length);d.remove(V)}I.length>0&&d.insert({row:P,column:0},I)}C.autoOutdent(L,d,P)}},p.prototype.onTextInput=function(d,C){if(!C)return this.keyBinding.onTextInput(d);this.startOperation({command:{name:"insertstring"}});var E=this.applyComposition.bind(this,d,C);this.selection.rangeCount?this.forEachSelection(E):E(),this.endOperation()},p.prototype.applyComposition=function(d,C){if(C.extendLeft||C.extendRight){var E=this.selection.getRange();E.start.column-=C.extendLeft,E.end.column+=C.extendRight,E.start.column<0&&(E.start.row--,E.start.column+=this.session.getLine(E.start.row).length+1),this.selection.setRange(E),!d&&!E.isEmpty()&&this.remove()}if((d||!this.selection.isEmpty())&&this.insert(d,!0),C.restoreStart||C.restoreEnd){var E=this.selection.getRange();E.start.column-=C.restoreStart,E.end.column-=C.restoreEnd,this.selection.setRange(E)}},p.prototype.onCommandKey=function(d,C,E){return this.keyBinding.onCommandKey(d,C,E)},p.prototype.setOverwrite=function(d){this.session.setOverwrite(d)},p.prototype.getOverwrite=function(){return this.session.getOverwrite()},p.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},p.prototype.setScrollSpeed=function(d){this.setOption("scrollSpeed",d)},p.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},p.prototype.setDragDelay=function(d){this.setOption("dragDelay",d)},p.prototype.getDragDelay=function(){return this.getOption("dragDelay")},p.prototype.setSelectionStyle=function(d){this.setOption("selectionStyle",d)},p.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},p.prototype.setHighlightActiveLine=function(d){this.setOption("highlightActiveLine",d)},p.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},p.prototype.setHighlightGutterLine=function(d){this.setOption("highlightGutterLine",d)},p.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},p.prototype.setHighlightSelectedWord=function(d){this.setOption("highlightSelectedWord",d)},p.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},p.prototype.setAnimatedScroll=function(d){this.renderer.setAnimatedScroll(d)},p.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},p.prototype.setShowInvisibles=function(d){this.renderer.setShowInvisibles(d)},p.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},p.prototype.setDisplayIndentGuides=function(d){this.renderer.setDisplayIndentGuides(d)},p.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},p.prototype.setHighlightIndentGuides=function(d){this.renderer.setHighlightIndentGuides(d)},p.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},p.prototype.setShowPrintMargin=function(d){this.renderer.setShowPrintMargin(d)},p.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},p.prototype.setPrintMarginColumn=function(d){this.renderer.setPrintMarginColumn(d)},p.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},p.prototype.setReadOnly=function(d){this.setOption("readOnly",d)},p.prototype.getReadOnly=function(){return this.getOption("readOnly")},p.prototype.setBehavioursEnabled=function(d){this.setOption("behavioursEnabled",d)},p.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},p.prototype.setWrapBehavioursEnabled=function(d){this.setOption("wrapBehavioursEnabled",d)},p.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},p.prototype.setShowFoldWidgets=function(d){this.setOption("showFoldWidgets",d)},p.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},p.prototype.setFadeFoldWidgets=function(d){this.setOption("fadeFoldWidgets",d)},p.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},p.prototype.remove=function(d){this.selection.isEmpty()&&(d=="left"?this.selection.selectLeft():this.selection.selectRight());var C=this.getSelectionRange();if(this.getBehavioursEnabled()){var E=this.session,L=E.getState(C.start.row),R=E.getMode().transformAction(L,"deletion",this,E,C);if(C.end.column===0){var I=E.getTextRange(C);if(I[I.length-1]==` |
| 208 |
`){var O=E.getLine(C.end.row);/^\s+$/.test(O)&&(C.end.column=O.length)}}R&&(C=R)}this.session.remove(C),this.clearSelection()},p.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},p.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},p.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},p.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var d=this.getSelectionRange();d.start.column==d.end.column&&d.start.row==d.end.row&&(d.end.column=0,d.end.row++),this.session.remove(d),this.clearSelection()},p.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var d=this.getCursorPosition();this.insert(` |
| 209 |
`),this.moveCursorToPosition(d)},p.prototype.setGhostText=function(d,C){this.renderer.setGhostText(d,C)},p.prototype.removeGhostText=function(){this.renderer.removeGhostText()},p.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var d=this.getCursorPosition(),C=d.column;if(C!==0){var E=this.session.getLine(d.row),L,R;C<E.length?(L=E.charAt(C)+E.charAt(C-1),R=new s(d.row,C-1,d.row,C+1)):(L=E.charAt(C-1)+E.charAt(C-2),R=new s(d.row,C-2,d.row,C)),this.session.replace(R,L),this.session.selection.moveToPosition(R.end)}}},p.prototype.toLowerCase=function(){var d=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var C=this.getSelectionRange(),E=this.session.getTextRange(C);this.session.replace(C,E.toLowerCase()),this.selection.setSelectionRange(d)},p.prototype.toUpperCase=function(){var d=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var C=this.getSelectionRange(),E=this.session.getTextRange(C);this.session.replace(C,E.toUpperCase()),this.selection.setSelectionRange(d)},p.prototype.indent=function(){var d=this.session,C=this.getSelectionRange();if(C.start.row<C.end.row){var E=this.$getSelectedRows();d.indentRows(E.first,E.last," ");return}else if(C.start.column<C.end.column){var L=d.getTextRange(C);if(!/^\s+$/.test(L)){var E=this.$getSelectedRows();d.indentRows(E.first,E.last," ");return}}var R=d.getLine(C.start.row),I=C.start,O=d.getTabSize(),B=d.documentToScreenColumn(I.row,I.column);if(this.session.getUseSoftTabs())var N=O-B%O,W=a.stringRepeat(" ",N);else{for(var N=B%O;R[C.start.column-1]==" "&&N;)C.start.column--,N--;this.selection.setSelectionRange(C),W=" "}return this.insert(W)},p.prototype.blockIndent=function(){var d=this.$getSelectedRows();this.session.indentRows(d.first,d.last," ")},p.prototype.blockOutdent=function(){var d=this.session.getSelection();this.session.outdentRows(d.getRange())},p.prototype.sortLines=function(){for(var d=this.$getSelectedRows(),C=this.session,E=[],L=d.first;L<=d.last;L++)E.push(C.getLine(L));E.sort(function(O,B){return O.toLowerCase()<B.toLowerCase()?-1:O.toLowerCase()>B.toLowerCase()?1:0});for(var R=new s(0,0,0,0),L=d.first;L<=d.last;L++){var I=C.getLine(L);R.start.row=L,R.end.row=L,R.end.column=I.length,C.replace(R,E[L-d.first])}},p.prototype.toggleCommentLines=function(){var d=this.session.getState(this.getCursorPosition().row),C=this.$getSelectedRows();this.session.getMode().toggleCommentLines(d,this.session,C.first,C.last)},p.prototype.toggleBlockComment=function(){var d=this.getCursorPosition(),C=this.session.getState(d.row),E=this.getSelectionRange();this.session.getMode().toggleBlockComment(C,this.session,E,d)},p.prototype.getNumberAt=function(d,C){var E=/[\-]?[0-9]+(?:\.[0-9]+)?/g;E.lastIndex=0;for(var L=this.session.getLine(d);E.lastIndex<C;){var R=E.exec(L);if(R.index<=C&&R.index+R[0].length>=C){var I={value:R[0],start:R.index,end:R.index+R[0].length};return I}}return null},p.prototype.modifyNumber=function(d){var C=this.selection.getCursor().row,E=this.selection.getCursor().column,L=new s(C,E-1,C,E),R=this.session.getTextRange(L);if(!isNaN(parseFloat(R))&&isFinite(R)){var I=this.getNumberAt(C,E);if(I){var O=I.value.indexOf(".")>=0?I.start+I.value.indexOf(".")+1:I.end,B=I.start+I.value.length-O,N=parseFloat(I.value);N*=Math.pow(10,B),O!==I.end&&E<O?d*=Math.pow(10,I.end-E-1):d*=Math.pow(10,I.end-E),N+=d,N/=Math.pow(10,B);var W=N.toFixed(B),P=new s(C,I.start,C,I.end);this.session.replace(P,W),this.moveCursorTo(C,Math.max(I.start+1,E+W.length-I.value.length))}}else this.toggleWord()},p.prototype.toggleWord=function(){var d=this.selection.getCursor().row,C=this.selection.getCursor().column;this.selection.selectWord();var E=this.getSelectedText(),L=this.selection.getWordRange().start.column,R=E.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),I=C-L-1;I<0&&(I=0);var O=0,B=0,N=this;E.match(/[A-Za-z0-9_]+/)&&R.forEach(function(ne,re){B=O+ne.length,I>=O&&I<=B&&(E=ne,N.selection.clearSelection(),N.moveCursorTo(d,O+L),N.selection.selectTo(d,B+L)),O=B});for(var W=this.$toggleWordPairs,P,F=0;F<W.length;F++)for(var U=W[F],V=0;V<=1;V++){var K=+!V,Y=E.match(new RegExp("^\\s?_?("+a.escapeRegExp(U[V])+")\\s?$","i"));if(Y){var J=E.match(new RegExp("([_]|^|\\s)("+a.escapeRegExp(Y[1])+")($|\\s)","g"));J&&(P=E.replace(new RegExp(a.escapeRegExp(U[V]),"i"),function(ne){var re=U[K];return ne.toUpperCase()==ne?re=re.toUpperCase():ne.charAt(0).toUpperCase()==ne.charAt(0)&&(re=re.substr(0,0)+U[K].charAt(0).toUpperCase()+re.substr(1)),re}),this.insert(P),P="")}}},p.prototype.findLinkAt=function(d,C){var E,L,R=this.session.getLine(d),I=R.split(/((?:https?|ftp):\/\/[\S]+)/),O=C;O<0&&(O=0);var B=0,N=0,W;try{for(var P=k(I),F=P.next();!F.done;F=P.next()){var U=F.value;if(N=B+U.length,O>=B&&O<=N&&U.match(/((?:https?|ftp):\/\/[\S]+)/)){W=U.replace(/[\s:.,'";}\]]+$/,"");break}B=N}}catch(V){E={error:V}}finally{try{F&&!F.done&&(L=P.return)&&L.call(P)}finally{if(E)throw E.error}}return W},p.prototype.openLink=function(){var d=this.selection.getCursor(),C=this.findLinkAt(d.row,d.column);return C&&window.open(C,"_blank"),C!=null},p.prototype.removeLines=function(){var d=this.$getSelectedRows();this.session.removeFullLines(d.first,d.last),this.clearSelection()},p.prototype.duplicateSelection=function(){var d=this.selection,C=this.session,E=d.getRange(),L=d.isBackwards();if(E.isEmpty()){var R=E.start.row;C.duplicateLines(R,R)}else{var I=L?E.start:E.end,O=C.insert(I,C.getTextRange(E));E.start=I,E.end=O,d.setSelectionRange(E,L)}},p.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},p.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},p.prototype.moveText=function(d,C,E){return this.session.moveText(d,C,E)},p.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},p.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},p.prototype.$moveLines=function(d,C){var E,L,R=this.selection;if(!R.inMultiSelectMode||this.inVirtualSelectionMode){var I=R.toOrientedRange();E=this.$getSelectedRows(I),L=this.session.$moveLines(E.first,E.last,C?0:d),C&&d==-1&&(L=0),I.moveBy(L,0),R.fromOrientedRange(I)}else{var O=R.rangeList.ranges;R.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var B=0,N=0,W=O.length,P=0;P<W;P++){var F=P;O[P].moveBy(B,0),E=this.$getSelectedRows(O[P]);for(var U=E.first,V=E.last;++P<W;){N&&O[P].moveBy(N,0);var K=this.$getSelectedRows(O[P]);if(C&&K.first!=V)break;if(!C&&K.first>V+1)break;V=K.last}for(P--,B=this.session.$moveLines(U,V,C?0:d),C&&d==-1&&(F=P+1);F<=P;)O[F].moveBy(B,0),F++;C||(B=0),N+=B}R.fromOrientedRange(R.ranges[0]),R.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},p.prototype.$getSelectedRows=function(d){return d=(d||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(d.start.row),last:this.session.getRowFoldEnd(d.end.row)}},p.prototype.onCompositionStart=function(d){this.renderer.showComposition(d)},p.prototype.onCompositionUpdate=function(d){this.renderer.setCompositionText(d)},p.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},p.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},p.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},p.prototype.isRowVisible=function(d){return d>=this.getFirstVisibleRow()&&d<=this.getLastVisibleRow()},p.prototype.isRowFullyVisible=function(d){return d>=this.renderer.getFirstFullyVisibleRow()&&d<=this.renderer.getLastFullyVisibleRow()},p.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},p.prototype.$moveByPage=function(d,C){var E=this.renderer,L=this.renderer.layerConfig,R=d*Math.floor(L.height/L.lineHeight);C===!0?this.selection.$moveSelection(function(){this.moveCursorBy(R,0)}):C===!1&&(this.selection.moveCursorBy(R,0),this.selection.clearSelection());var I=E.scrollTop;E.scrollBy(0,R*L.lineHeight),C!=null&&E.scrollCursorIntoView(null,.5),E.animateScrolling(I)},p.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},p.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},p.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},p.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},p.prototype.scrollPageDown=function(){this.$moveByPage(1)},p.prototype.scrollPageUp=function(){this.$moveByPage(-1)},p.prototype.scrollToRow=function(d){this.renderer.scrollToRow(d)},p.prototype.scrollToLine=function(d,C,E,L){this.renderer.scrollToLine(d,C,E,L)},p.prototype.centerSelection=function(){var d=this.getSelectionRange(),C={row:Math.floor(d.start.row+(d.end.row-d.start.row)/2),column:Math.floor(d.start.column+(d.end.column-d.start.column)/2)};this.renderer.alignCursor(C,.5)},p.prototype.getCursorPosition=function(){return this.selection.getCursor()},p.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},p.prototype.getSelectionRange=function(){return this.selection.getRange()},p.prototype.selectAll=function(){this.selection.selectAll()},p.prototype.clearSelection=function(){this.selection.clearSelection()},p.prototype.moveCursorTo=function(d,C){this.selection.moveCursorTo(d,C)},p.prototype.moveCursorToPosition=function(d){this.selection.moveCursorToPosition(d)},p.prototype.jumpToMatching=function(d,C){var E=this.getCursorPosition(),L=new f(this.session,E.row,E.column),R=L.getCurrentToken(),I=0;R&&R.type.indexOf("tag-name")!==-1&&(R=L.stepBackward());var O=R||L.stepForward();if(O){var B,N=!1,W={},P=E.column-O.start,F,U={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(O.value.match(/[{}()\[\]]/g)){for(;P<O.value.length&&!N;P++)if(U[O.value[P]])switch(F=U[O.value[P]]+"."+O.type.replace("rparen","lparen"),isNaN(W[F])&&(W[F]=0),O.value[P]){case"(":case"[":case"{":W[F]++;break;case")":case"]":case"}":W[F]--,W[F]===-1&&(B="bracket",N=!0);break}}else O.type.indexOf("tag-name")!==-1&&(isNaN(W[O.value])&&(W[O.value]=0),R.value==="<"&&I>1?W[O.value]++:R.value==="</"&&W[O.value]--,W[O.value]===-1&&(B="tag",N=!0));N||(R=O,I++,O=L.stepForward(),P=0)}while(O&&!N);if(B){var V,K;if(B==="bracket")V=this.session.getBracketRange(E),V||(V=new s(L.getCurrentTokenRow(),L.getCurrentTokenColumn()+P-1,L.getCurrentTokenRow(),L.getCurrentTokenColumn()+P-1),K=V.start,(C||K.row===E.row&&Math.abs(K.column-E.column)<2)&&(V=this.session.getBracketRange(K)));else if(B==="tag"){if(!O||O.type.indexOf("tag-name")===-1)return;if(V=new s(L.getCurrentTokenRow(),L.getCurrentTokenColumn()-2,L.getCurrentTokenRow(),L.getCurrentTokenColumn()-2),V.compare(E.row,E.column)===0){var Y=this.session.getMatchingTags(E);Y&&(Y.openTag.contains(E.row,E.column)?(V=Y.closeTag,K=V.start):(V=Y.openTag,Y.closeTag.start.row===E.row&&Y.closeTag.start.column===E.column?K=V.end:K=V.start))}K=K||V.start}K=V&&V.cursor||K,K&&(d?V&&C?this.selection.setRange(V):V&&V.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(K.row,K.column):this.selection.moveTo(K.row,K.column))}}},p.prototype.gotoLine=function(d,C,E){this.selection.clearSelection(),this.session.unfold({row:d-1,column:C||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(d-1,C||0),this.isRowFullyVisible(d-1)||this.scrollToLine(d-1,!0,E)},p.prototype.navigateTo=function(d,C){this.selection.moveTo(d,C)},p.prototype.navigateUp=function(d){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var C=this.selection.anchor.getPosition();return this.moveCursorToPosition(C)}this.selection.clearSelection(),this.selection.moveCursorBy(-d||-1,0)},p.prototype.navigateDown=function(d){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var C=this.selection.anchor.getPosition();return this.moveCursorToPosition(C)}this.selection.clearSelection(),this.selection.moveCursorBy(d||1,0)},p.prototype.navigateLeft=function(d){if(this.selection.isEmpty())for(d=d||1;d--;)this.selection.moveCursorLeft();else{var C=this.getSelectionRange().start;this.moveCursorToPosition(C)}this.clearSelection()},p.prototype.navigateRight=function(d){if(this.selection.isEmpty())for(d=d||1;d--;)this.selection.moveCursorRight();else{var C=this.getSelectionRange().end;this.moveCursorToPosition(C)}this.clearSelection()},p.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},p.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},p.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},p.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},p.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},p.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},p.prototype.replace=function(d,C){C&&this.$search.set(C);var E=this.$search.find(this.session),L=0;return E&&(this.$tryReplace(E,d)&&(L=1),this.selection.setSelectionRange(E),this.renderer.scrollSelectionIntoView(E.start,E.end)),L},p.prototype.replaceAll=function(d,C){C&&this.$search.set(C);var E=this.$search.findAll(this.session),L=0;if(!E.length)return L;var R=this.getSelectionRange();this.selection.moveTo(0,0);for(var I=E.length-1;I>=0;--I)this.$tryReplace(E[I],d)&&L++;return this.selection.setSelectionRange(R),L},p.prototype.$tryReplace=function(d,C){var E=this.session.getTextRange(d);return C=this.$search.replace(E,C),C!==null?(d.end=this.session.replace(d,C),d):null},p.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},p.prototype.find=function(d,C,E){C||(C={}),typeof d=="string"||d instanceof RegExp?C.needle=d:typeof d=="object"&&y.mixin(C,d);var L=this.selection.getRange();C.needle==null&&(d=this.session.getTextRange(L)||this.$search.$options.needle,d||(L=this.session.getWordRange(L.start.row,L.start.column),d=this.session.getTextRange(L)),this.$search.set({needle:d})),this.$search.set(C),C.start||this.$search.set({start:L});var R=this.$search.find(this.session);if(C.preventScroll)return R;if(R)return this.revealRange(R,E),R;C.backwards?L.start=L.end:L.end=L.start,this.selection.setRange(L)},p.prototype.findNext=function(d,C){this.find({skipCurrent:!0,backwards:!1},d,C)},p.prototype.findPrevious=function(d,C){this.find(d,{skipCurrent:!0,backwards:!0},C)},p.prototype.revealRange=function(d,C){this.session.unfold(d),this.selection.setSelectionRange(d);var E=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(d.start,d.end,.5),C!==!1&&this.renderer.animateScrolling(E)},p.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},p.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},p.prototype.destroy=function(){this.destroyed=!0,this.$toDestroy&&(this.$toDestroy.forEach(function(d){d.destroy()}),this.$toDestroy=[]),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},p.prototype.setAutoScrollEditorIntoView=function(d){if(d){var C,E=this,L=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var R=this.$scrollAnchor;R.style.cssText="position:absolute",this.container.insertBefore(R,this.container.firstChild);var I=this.on("changeSelection",function(){L=!0}),O=this.renderer.on("beforeRender",function(){L&&(C=E.renderer.container.getBoundingClientRect())}),B=this.renderer.on("afterRender",function(){if(L&&C&&(E.isFocused()||E.searchBox&&E.searchBox.isFocused())){var N=E.renderer,W=N.$cursorLayer.$pixelPos,P=N.layerConfig,F=W.top-P.offset;W.top>=0&&F+C.top<0?L=!0:W.top<P.height&&W.top+C.top+P.lineHeight>window.innerHeight?L=!1:L=null,L!=null&&(R.style.top=F+"px",R.style.left=W.left+"px",R.style.height=P.lineHeight+"px",R.scrollIntoView(L)),L=C=null}});this.setAutoScrollEditorIntoView=function(N){N||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",I),this.renderer.off("afterRender",B),this.renderer.off("beforeRender",O))}}},p.prototype.$resetCursorStyle=function(){var d=this.$cursorStyle||"ace",C=this.renderer.$cursorLayer;C&&(C.setSmoothBlinking(/smooth/.test(d)),C.isBlinking=!this.$readOnly&&d!="wide",b.setCssClass(C.element,"ace_slim-cursors",/slim/.test(d)))},p.prototype.prompt=function(d,C,E){var L=this;x.loadModule("ace/ext/prompt",function(R){R.prompt(L,d,C,E)})},Object.defineProperty(p.prototype,"hoverTooltip",{get:function(){return this.$hoverTooltip||(this.$hoverTooltip=new _(this.container))},set:function(d){this.$hoverTooltip&&this.$hoverTooltip.destroy(),this.$hoverTooltip=d},enumerable:!1,configurable:!0}),p})();S.$uid=0,S.prototype.curOp=null,S.prototype.prevOp={},S.prototype.$mergeableCommands=["backspace","del","insertstring"],S.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],y.implement(S.prototype,h),x.defineOptions(S.prototype,"editor",{selectionStyle:{set:function(p){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:p})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(p){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(p){var d=this;if(this.textInput.setReadOnly(p),!this.destroyed){this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(E){var L=!1;if(E&&E.type=="keydown"){if(E&&E.key&&!E.ctrlKey&&!E.metaKey&&(E.key==" "&&E.preventDefault(),L=E.key.length==1),!L)return}else E&&E.type!=="exec"&&(L=!0);if(L){var R=b.createElement("div");R.textContent=g("editor.tooltip.disable-editing","Editing is disabled"),d.hoverTooltip.isOpen||d.hoverTooltip.showForRange(d,d.getSelectionRange(),R)}else d.hoverTooltip&&d.hoverTooltip.isOpen&&d.hoverTooltip.hide()});var C=this.textInput.getElement();p?($.addListener(C,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):($.removeListener(C,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback))}},initialValue:!1},copyWithEmptySelection:{set:function(p){this.textInput.setCopyWithEmptySelection(p)},initialValue:!1},cursorStyle:{set:function(p){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(p){this.setAutoScrollEditorIntoView(p)}},keyboardHandler:{set:function(p){this.setKeyboardHandler(p)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(p){this.session.setValue(p)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(p){this.setSession(p)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(p){this.renderer.$gutterLayer.setShowLineNumbers(p),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),p&&this.$relativeLineNumbers?v.attach(this):v.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(p){this.$showLineNumbers&&p?v.attach(this):v.detach(this)}},placeholder:{set:function(p){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var d=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(d&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),b.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!d&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),b.addCssClass(this.container,"ace_hasPlaceholder");var C=b.createElement("div");C.className="ace_placeholder",C.textContent=this.$placeholder||"",this.renderer.placeholderNode=C,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!d&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(p){var d={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(L){L.blur(),L.renderer.scroller.focus()},readOnly:!0},C=function(L){if(L.target==this.renderer.scroller&&L.keyCode===m.enter){L.preventDefault();var R=this.getCursorPosition().row;this.isRowVisible(R)||this.scrollToLine(R,!0,!0),this.focus()}},E;p?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(l.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",g("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",g("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",C.bind(this)),this.commands.addCommand(d),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",g("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",g("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),E||(E=new c(this)),E.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",C.bind(this)),this.commands.removeCommand(d),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),E&&E.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(p){this.$textInputAriaLabel=p},initialValue:""},enableMobileMenu:{set:function(p){this.$enableMobileMenu=p},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var v={getText:function(p,d){return(Math.abs(p.selection.lead.row-d)||d+1+(d<9?"·":""))+""},getWidth:function(p,d,C){return Math.max(d.toString().length,(C.lastRow+1).toString().length,2)*C.characterWidth},update:function(p,d){d.renderer.$loop.schedule(d.renderer.CHANGE_GUTTER)},attach:function(p){p.renderer.$gutterLayer.$renderer=this,p.on("changeSelection",this.update),this.update(null,p)},detach:function(p){p.renderer.$gutterLayer.$renderer==this&&(p.renderer.$gutterLayer.$renderer=null),p.off("changeSelection",this.update),this.update(null,p)}};M.Editor=S}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(T,M,z){var k=T("../lib/dom"),y=(function(){function b(a,l){this.element=a,this.canvasHeight=l||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return b.prototype.moveContainer=function(a){k.translate(this.element,0,-(a.firstRowScreen*a.lineHeight%this.canvasHeight)-a.offset*this.$offsetCoefficient)},b.prototype.pageChanged=function(a,l){return Math.floor(a.firstRowScreen*a.lineHeight/this.canvasHeight)!==Math.floor(l.firstRowScreen*l.lineHeight/this.canvasHeight)},b.prototype.computeLineTop=function(a,l,r){var i=l.firstRowScreen*l.lineHeight,n=Math.floor(i/this.canvasHeight),t=r.documentToScreenRow(a,0)*l.lineHeight;return t-n*this.canvasHeight},b.prototype.computeLineHeight=function(a,l,r){return l.lineHeight*r.getRowLineCount(a)},b.prototype.getLength=function(){return this.cells.length},b.prototype.get=function(a){return this.cells[a]},b.prototype.shift=function(){this.$cacheCell(this.cells.shift())},b.prototype.pop=function(){this.$cacheCell(this.cells.pop())},b.prototype.push=function(a){if(Array.isArray(a)){this.cells.push.apply(this.cells,a);for(var l=k.createFragment(this.element),r=0;r<a.length;r++)l.appendChild(a[r].element);this.element.appendChild(l)}else this.cells.push(a),this.element.appendChild(a.element)},b.prototype.unshift=function(a){if(Array.isArray(a)){this.cells.unshift.apply(this.cells,a);for(var l=k.createFragment(this.element),r=0;r<a.length;r++)l.appendChild(a[r].element);this.element.firstChild?this.element.insertBefore(l,this.element.firstChild):this.element.appendChild(l)}else this.cells.unshift(a),this.element.insertAdjacentElement("afterbegin",a.element)},b.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},b.prototype.$cacheCell=function(a){a&&(a.element.remove(),this.cellCache.push(a))},b.prototype.createCell=function(a,l,r,i){var n=this.cellCache.pop();if(!n){var t=k.createElement("div");i&&i(t),this.element.appendChild(t),n={element:t,text:"",row:a}}return n.row=a,n},b})();M.Lines=y}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],function(T,M,z){var k=T("../lib/dom"),y=T("../lib/oop"),b=T("../lib/lang"),a=T("../lib/event_emitter").EventEmitter,l=T("./lines").Lines,r=T("../config").nls,i=(function(){function t(e){this.$showCursorMarker=null,this.element=k.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new l(this.element),this.$lines.$offsetCoefficient=1}return t.prototype.setSession=function(e){this.session&&this.session.off("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},t.prototype.addGutterDecoration=function(e,o){window.console,this.session.addGutterDecoration(e,o)},t.prototype.removeGutterDecoration=function(e,o){window.console,this.session.removeGutterDecoration(e,o)},t.prototype.setAnnotations=function(e){this.$annotations=[];for(var o=0;o<e.length;o++){var s=e[o],h=s.row,u=this.$annotations[h];u||(u=this.$annotations[h]={text:[],type:[],displayText:[]});var A=s.text,x=s.text,f=s.type;A=A?b.escapeHTML(A):s.html||"",x=x||s.html||"",u.text.indexOf(A)===-1&&(u.text.push(A),u.type.push(f),u.displayText.push(x));var c=s.className;c?u.className=c:f==="error"?u.className=" ace_error":f==="security"&&!/\bace_error\b/.test(u.className)?u.className=" ace_security":f==="warning"&&!/\bace_(error|security)\b/.test(u.className)?u.className=" ace_warning":f==="info"&&!u.className?u.className=" ace_info":f==="hint"&&!u.className&&(u.className=" ace_hint")}},t.prototype.$updateAnnotations=function(e){if(this.$annotations.length){var o=e.start.row,s=e.end.row-o;if(s!==0)if(e.action=="remove")this.$annotations.splice(o,s+1,null);else{var h=new Array(s+1);h.unshift(o,1),this.$annotations.splice.apply(this.$annotations,h)}}},t.prototype.update=function(e){this.config=e;var o=this.session,s=e.firstRow,h=Math.min(e.lastRow+e.gutterOffset,o.getLength()-1);this.oldLastRow=h,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var u=o.getNextFoldLine(s),A=u?u.start.row:1/0,x=null,f=-1,c=s;;){if(c>A&&(c=u.end.row+1,u=o.getNextFoldLine(c,u),A=u?u.start.row:1/0),c>h){for(;this.$lines.getLength()>f+1;)this.$lines.pop();break}x=this.$lines.get(++f),x?x.row=c:(x=this.$lines.createCell(c,e,this.session,n),this.$lines.push(x)),this.$renderCell(x,e,u,c),c++}this._signal("afterRender"),this.$updateGutterWidth(e),this.$showCursorMarker&&this.$highlightGutterLine&&this.$updateCursorMarker()},t.prototype.$updateGutterWidth=function(e){var o=this.session,s=o.gutterRenderer||this.$renderer,h=o.$firstLineNumber,u=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||o.$useWrapMode)&&(u=o.getLength()+h-1);var A=s?s.getWidth(o,u,e):u.toString().length*e.characterWidth,x=this.$padding||this.$computePadding();A+=x.left+x.right,A!==this.gutterWidth&&!isNaN(A)&&(this.gutterWidth=A,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",A))},t.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},t.prototype.updateLineHighlight=function(){if(this.$showCursorMarker&&this.$updateCursorMarker(),!!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 o=this.$lines.cells;this.$cursorCell=null;for(var s=0;s<o.length;s++){var h=o[s];if(h.row>=this.$cursorRow){if(h.row>this.$cursorRow){var u=this.session.getFoldLine(this.$cursorRow);if(s>0&&u&&u.start.row==o[s-1].row)h=o[s-1];else break}h.element.className="ace_gutter-active-line "+h.element.className,this.$cursorCell=h;break}}}}},t.prototype.$updateCursorMarker=function(){if(this.session){var e=this.session;this.$highlightElement||(this.$highlightElement=k.createElement("div"),this.$highlightElement.className="ace_gutter-cursor",this.$highlightElement.style.pointerEvents="none",this.element.appendChild(this.$highlightElement));var o=e.selection.cursor,s=this.config,h=this.$lines,u=s.firstRowScreen*s.lineHeight,A=Math.floor(u/h.canvasHeight),x=e.documentToScreenRow(o)*s.lineHeight,f=x-A*h.canvasHeight;k.setStyle(this.$highlightElement.style,"height",s.lineHeight+"px"),k.setStyle(this.$highlightElement.style,"top",f+"px")}},t.prototype.scrollLines=function(e){var o=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(o,e))return this.update(e);this.$lines.moveContainer(e);var s=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),h=this.oldLastRow;if(this.oldLastRow=s,!o||h<e.firstRow)return this.update(e);if(s<o.firstRow)return this.update(e);if(o.firstRow<e.firstRow)for(var u=this.session.getFoldedRowCount(o.firstRow,e.firstRow-1);u>0;u--)this.$lines.shift();if(h>s)for(var u=this.session.getFoldedRowCount(s+1,h);u>0;u--)this.$lines.pop();e.firstRow<o.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,o.firstRow-1)),s>h&&this.$lines.push(this.$renderLines(e,h+1,s)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$renderLines=function(e,o,s){for(var h=[],u=o,A=this.session.getNextFoldLine(u),x=A?A.start.row:1/0;u>x&&(u=A.end.row+1,A=this.session.getNextFoldLine(u,A),x=A?A.start.row:1/0),!(u>s);){var f=this.$lines.createCell(u,e,this.session,n);this.$renderCell(f,e,A,u),h.push(f),u++}return h},t.prototype.$renderCell=function(e,o,s,h){var u=e.element,A=this.session,x=u.childNodes[0],f=u.childNodes[1],c=u.childNodes[2],g=u.childNodes[3],w=c.firstChild,m=A.$firstLineNumber,$=A.$breakpoints,_=A.$decorations,S=A.gutterRenderer||this.$renderer,v=this.$showFoldWidgets&&A.foldWidgets,p=s?s.start.row:Number.MAX_VALUE,d=o.lineHeight+"px",C=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",E=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",L=(S?S.getText(A,h):h+m).toString();if(this.$highlightGutterLine&&(h==this.$cursorRow||s&&h<this.$cursorRow&&h>=p&&this.$cursorRow<=s.end.row)&&(C+="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]&&(C+=$[h]),_[h]&&(C+=_[h]),this.$annotations[h]&&h!==p&&(C+=this.$annotations[h].className),v){var R=v[h];R==null&&(R=v[h]=A.getFoldWidget(h))}if(R){var I="ace_fold-widget ace_"+R,O=R=="start"&&h==p&&h<s.end.row;if(O){I+=" ace_closed";for(var B="",N=!1,W=h+1;W<=s.end.row;W++)if(this.$annotations[W]){if(this.$annotations[W].className===" ace_error"){N=!0,B=" ace_error_fold";break}this.$annotations[W].className===" ace_security"?(N=!0,B=" ace_security_fold"):this.$annotations[W].className===" ace_warning"&&B!==" ace_security_fold"&&(N=!0,B=" ace_warning_fold")}C+=B}else I+=" ace_open";f.className!=I&&(f.className=I),k.setStyle(f.style,"height",d),k.setStyle(f.style,"display","inline-block"),f.setAttribute("role","button"),f.setAttribute("tabindex","-1");var P=A.getFoldWidgetRange(h);P?f.setAttribute("aria-label",r("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[P.start.row+1,P.end.row+1])):s?f.setAttribute("aria-label",r("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[s.start.row+1,s.end.row+1])):f.setAttribute("aria-label",r("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[h+1])),O?(f.setAttribute("aria-expanded","false"),f.setAttribute("title",r("gutter.code-folding.closed.title","Unfold code"))):(f.setAttribute("aria-expanded","true"),f.setAttribute("title",r("gutter.code-folding.open.title","Fold code")))}else f&&(k.setStyle(f.style,"display","none"),f.setAttribute("tabindex","0"),f.removeAttribute("role"),f.removeAttribute("aria-label"));var F=this.session.$gutterCustomWidgets[h];if(F?this.$addCustomWidget(h,F,e):g&&this.$removeCustomWidget(h,e),N&&this.$showFoldedAnnotations){c.className="ace_gutter_annotation",w.className=E,w.className+=B,k.setStyle(w.style,"height",d),k.setStyle(c.style,"display","block"),k.setStyle(c.style,"height",d);var U;switch(B){case" ace_error_fold":U=r("gutter.annotation.aria-label.error","Error, read annotations row $0",[L]);break;case" ace_security_fold":U=r("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[L]);break;case" ace_warning_fold":U=r("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[L]);break}c.setAttribute("aria-label",U),c.setAttribute("tabindex","-1"),c.setAttribute("role","button")}else if(this.$annotations[h]){c.className="ace_gutter_annotation",w.className=E,this.$useSvgGutterIcons?w.className+=this.$annotations[h].className:u.classList.add(this.$annotations[h].className.replace(" ","")),k.setStyle(w.style,"height",d),k.setStyle(c.style,"display","block"),k.setStyle(c.style,"height",d);var U;switch(this.$annotations[h].className){case" ace_error":U=r("gutter.annotation.aria-label.error","Error, read annotations row $0",[L]);break;case" ace_security":U=r("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[L]);break;case" ace_warning":U=r("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[L]);break;case" ace_info":U=r("gutter.annotation.aria-label.info","Info, read annotations row $0",[L]);break;case" ace_hint":U=r("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[L]);break}c.setAttribute("aria-label",U),c.setAttribute("tabindex","-1"),c.setAttribute("role","button")}else k.setStyle(c.style,"display","none"),c.removeAttribute("aria-label"),c.removeAttribute("role"),c.setAttribute("tabindex","0");return L!==x.data&&(x.data=L),u.className!=C&&(u.className=C),k.setStyle(e.element.style,"height",this.$lines.computeLineHeight(h,o,A)+"px"),k.setStyle(e.element.style,"top",this.$lines.computeLineTop(h,o,A)+"px"),e.text=L,c.style.display==="none"&&f.style.display==="none"&&!F?e.element.setAttribute("aria-hidden",!0):e.element.setAttribute("aria-hidden",!1),e},t.prototype.setHighlightGutterLine=function(e){this.$highlightGutterLine=e,!e&&this.$highlightElement&&(this.$highlightElement.remove(),this.$highlightElement=null)},t.prototype.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},t.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},t.prototype.setShowFoldWidgets=function(e){e?k.addCssClass(this.element,"ace_folding-enabled"):k.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},t.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},t.prototype.$hideFoldWidget=function(e,o){var s=o||this.$getGutterCell(e);if(s&&s.element){var h=s.element.childNodes[1];h&&k.setStyle(h.style,"display","none")}},t.prototype.$showFoldWidget=function(e,o){var s=o||this.$getGutterCell(e);if(s&&s.element){var h=s.element.childNodes[1];h&&this.session.foldWidgets&&this.session.foldWidgets[s.row]&&k.setStyle(h.style,"display","inline-block")}},t.prototype.$getGutterCell=function(e){var o=this.$lines.cells,s=0,h=o.length-1;if(!(e<o[0].row||e>o[h].row)){for(;s<=h;){var u=Math.floor((s+h)/2),A=o[u];if(A.row>e)h=u-1;else if(A.row<e)s=u+1;else return A}return A}},t.prototype.$addCustomWidget=function(e,o,s){var h=o.className,u=o.label,A=o.title,x=o.callbacks;this.session.$gutterCustomWidgets[e]={className:h,label:u,title:A,callbacks:x},this.$hideFoldWidget(e,s);var f=s||this.$getGutterCell(e);if(f&&f.element){var c=f.element.querySelector(".ace_custom-widget");c&&c.remove(),c=k.createElement("span"),c.className="ace_custom-widget ".concat(h),c.setAttribute("tabindex","-1"),c.setAttribute("role","button"),c.setAttribute("aria-label",u),c.setAttribute("title",A),k.setStyle(c.style,"display","inline-block"),k.setStyle(c.style,"height","inherit"),x&&x.onClick&&c.addEventListener("click",function(g){x.onClick(g,e),g.stopPropagation()}),f.element.appendChild(c)}},t.prototype.$removeCustomWidget=function(e,o){delete this.session.$gutterCustomWidgets[e],this.$showFoldWidget(e,o);var s=o||this.$getGutterCell(e);if(s&&s.element){var h=s.element.querySelector(".ace_custom-widget");h&&s.element.removeChild(h)}},t.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=k.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},t.prototype.getRegion=function(e){var o=this.$padding||this.$computePadding(),s=this.element.getBoundingClientRect();if(e.x<o.left+s.left)return"markers";if(this.$showFoldWidgets&&e.x>s.right-o.right)return"foldWidgets"},t})();i.prototype.$fixedWidth=!1,i.prototype.$highlightGutterLine=!0,i.prototype.$renderer=void 0,i.prototype.$showLineNumbers=!0,i.prototype.$showFoldWidgets=!0,y.implement(i.prototype,a);function n(t){var e=document.createTextNode("");t.appendChild(e);var o=k.createElement("span");t.appendChild(o);var s=k.createElement("span");t.appendChild(s);var h=k.createElement("span");return s.appendChild(h),t}M.Gutter=i}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(T,M,z){var k=T("../range").Range,y=T("../lib/dom"),b=(function(){function l(r){this.element=y.createElement("div"),this.element.className="ace_layer ace_marker-layer",r.appendChild(this.element)}return l.prototype.setPadding=function(r){this.$padding=r},l.prototype.setSession=function(r){this.session=r},l.prototype.setMarkers=function(r){this.markers=r},l.prototype.elt=function(r,i){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=i,n.className=r},l.prototype.update=function(r){if(r){this.config=r,this.i=0;var i;for(var n in this.markers){var t=this.markers[n];if(!t.range){t.update(i,this,this.session,r);continue}var e=t.range.clipRows(r.firstRow,r.lastRow);if(!e.isEmpty())if(e=e.toScreenRange(this.session),t.renderer){var o=this.$getTop(e.start.row,r),s=this.$padding+e.start.column*r.characterWidth;t.renderer(i,e,s,o,r)}else t.type=="fullLine"?this.drawFullLineMarker(i,e,t.clazz,r):t.type=="screenLine"?this.drawScreenLineMarker(i,e,t.clazz,r):e.isMultiLine()?t.type=="text"?this.drawTextMarker(i,e,t.clazz,r):this.drawMultiLineMarker(i,e,t.clazz,r):this.drawSingleLineMarker(i,e,t.clazz+" ace_start ace_br15",r)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},l.prototype.$getTop=function(r,i){return(r-i.firstRowScreen)*i.lineHeight},l.prototype.drawTextMarker=function(r,i,n,t,e){for(var o=this.session,s=i.start.row,h=i.end.row,u=s,A=0,x=0,f=o.getScreenLastRowColumn(u),c=new k(u,i.start.column,u,x);u<=h;u++)c.start.row=c.end.row=u,c.start.column=u==s?i.start.column:o.getRowWrapIndent(u),c.end.column=f,A=x,x=f,f=u+1<h?o.getScreenLastRowColumn(u+1):u==h?0:i.end.column,this.drawSingleLineMarker(r,c,n+(u==s?" ace_start":"")+" ace_br"+a(u==s||u==s+1&&i.start.column,A<x,x>f,u==h),t,u==h?0:1,e)},l.prototype.drawMultiLineMarker=function(r,i,n,t,e){var o=this.$padding,s=t.lineHeight,h=this.$getTop(i.start.row,t),u=o+i.start.column*t.characterWidth;if(e=e||"",this.session.$bidiHandler.isBidiRow(i.start.row)){var A=i.clone();A.end.row=A.start.row,A.end.column=this.session.getLine(A.start.row).length,this.drawBidiSingleLineMarker(r,A,n+" ace_br1 ace_start",t,null,e)}else this.elt(n+" ace_br1 ace_start","height:"+s+"px;right:"+o+"px;top:"+h+"px;left:"+u+"px;"+(e||""));if(this.session.$bidiHandler.isBidiRow(i.end.row)){var A=i.clone();A.start.row=A.end.row,A.start.column=0,this.drawBidiSingleLineMarker(r,A,n+" ace_br12",t,null,e)}else{h=this.$getTop(i.end.row,t);var x=i.end.column*t.characterWidth;this.elt(n+" ace_br12","height:"+s+"px;width:"+x+"px;top:"+h+"px;left:"+o+"px;"+(e||""))}if(s=(i.end.row-i.start.row-1)*t.lineHeight,!(s<=0)){h=this.$getTop(i.start.row+1,t);var f=(i.start.column?1:0)|(i.end.column?0:8);this.elt(n+(f?" ace_br"+f:""),"height:"+s+"px;right:"+o+"px;top:"+h+"px;left:"+o+"px;"+(e||""))}},l.prototype.drawSingleLineMarker=function(r,i,n,t,e,o){if(this.session.$bidiHandler.isBidiRow(i.start.row))return this.drawBidiSingleLineMarker(r,i,n,t,e,o);var s=t.lineHeight,h=(i.end.column+(e||0)-i.start.column)*t.characterWidth,u=this.$getTop(i.start.row,t),A=this.$padding+i.start.column*t.characterWidth;this.elt(n,"height:"+s+"px;width:"+h+"px;top:"+u+"px;left:"+A+"px;"+(o||""))},l.prototype.drawBidiSingleLineMarker=function(r,i,n,t,e,o){var s=t.lineHeight,h=this.$getTop(i.start.row,t),u=this.$padding,A=this.session.$bidiHandler.getSelections(i.start.column,i.end.column);A.forEach(function(x){this.elt(n,"height:"+s+"px;width:"+(x.width+(e||0))+"px;top:"+h+"px;left:"+(u+x.left)+"px;"+(o||""))},this)},l.prototype.drawFullLineMarker=function(r,i,n,t,e){var o=this.$getTop(i.start.row,t),s=t.lineHeight;i.start.row!=i.end.row&&(s+=this.$getTop(i.end.row,t)-o),this.elt(n,"height:"+s+"px;top:"+o+"px;left:0;right:0;"+(e||""))},l.prototype.drawScreenLineMarker=function(r,i,n,t,e){var o=this.$getTop(i.start.row,t),s=t.lineHeight;this.elt(n,"height:"+s+"px;top:"+o+"px;left:0;right:0;"+(e||""))},l})();b.prototype.$padding=0;function a(l,r,i,n){return(l?1:0)|(r?2:0)|(i?4:0)|(n?8:0)}M.Marker=b}),ace.define("ace/layer/text_util",["require","exports","module"],function(T,M,z){var k=new Set(["text","rparen","lparen"]);M.isTextToken=function(y){return k.has(y)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(T,M,z){var k=T("../lib/oop"),y=T("../lib/dom"),b=T("../lib/lang"),a=T("./lines").Lines,l=T("../lib/event_emitter").EventEmitter,r=T("../config").nls,i=T("./text_util").isTextToken,n=(function(){function t(e){this.dom=y,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 a(this.element)}return t.prototype.$updateEolChar=function(){var e=this.session.doc,o=e.getNewLineCharacter()==` |
| 210 |
`&&e.getNewLineMode()!="windows",s=o?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=s)return this.EOL_CHAR=s,!0},t.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},t.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},t.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},t.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(o){this._signal("changeCharacterSize",o)}.bind(this)),this.$pollSizeChanges()},t.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},t.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},t.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},t.prototype.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,typeof e=="string"?(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)},t.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},t.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides===e?!1:(this.$highlightIndentGuides=e,e)},t.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var o=this.$tabStrings=[0],s=1;s<e+1;s++)if(this.showTabs){var h=this.dom.createElement("span");h.className="ace_invisible ace_invisible_tab",h.textContent=b.stringRepeat(this.TAB_CHAR,s),o.push(h)}else o.push(this.dom.createTextNode(b.stringRepeat(" ",s),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var u="ace_indent-guide",A=this.showSpaces?" ace_invisible ace_invisible_space":"",x=this.showSpaces?b.stringRepeat(this.SPACE_CHAR,this.tabSize):b.stringRepeat(" ",this.tabSize),f=this.showTabs?" ace_invisible ace_invisible_tab":"",c=this.showTabs?b.stringRepeat(this.TAB_CHAR,this.tabSize):x,h=this.dom.createElement("span");h.className=u+A,h.textContent=x,this.$tabStrings[" "]=h;var h=this.dom.createElement("span");h.className=u+f,h.textContent=c,this.$tabStrings[" "]=h}},t.prototype.updateLines=function(e,o,s){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var h=Math.max(o,e.firstRow),u=Math.min(s,e.lastRow),A=this.element.childNodes,x=0,c=e.firstRow;c<h;c++){var g=this.session.getFoldLine(c);if(g)if(g.containsRow(h)){h=g.start.row;break}else c=g.end.row;x++}for(var f=!1,c=h,g=this.session.getNextFoldLine(c),w=g?g.start.row:1/0;c>w&&(c=g.end.row+1,g=this.session.getNextFoldLine(c,g),w=g?g.start.row:1/0),!(c>u);){var m=A[x++];if(m){this.dom.removeChildren(m),this.$renderLine(m,c,c==w?g:!1),f&&(m.style.top=this.$lines.computeLineTop(c,e,this.session)+"px");var $=e.lineHeight*this.session.getRowLength(c)+"px";m.style.height!=$&&(f=!0,m.style.height=$)}c++}if(f)for(;x<this.$lines.cells.length;){var _=this.$lines.cells[x++];_.element.style.top=this.$lines.computeLineTop(_.row,e,this.session)+"px"}},t.prototype.scrollLines=function(e){var o=this.config;if(this.config=e,this.$lines.pageChanged(o,e))return this.update(e);this.$lines.moveContainer(e);var s=e.lastRow,h=o?o.lastRow:-1;if(!o||h<e.firstRow)return this.update(e);if(s<o.firstRow)return this.update(e);if(!o||o.lastRow<e.firstRow)return this.update(e);if(e.lastRow<o.firstRow)return this.update(e);if(o.firstRow<e.firstRow)for(var u=this.session.getFoldedRowCount(o.firstRow,e.firstRow-1);u>0;u--)this.$lines.shift();if(o.lastRow>e.lastRow)for(var u=this.session.getFoldedRowCount(e.lastRow+1,o.lastRow);u>0;u--)this.$lines.pop();e.firstRow<o.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,o.firstRow-1)),e.lastRow>o.lastRow&&this.$lines.push(this.$renderLinesFragment(e,o.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},t.prototype.$renderLinesFragment=function(e,o,s){for(var h=[],u=o,A=this.session.getNextFoldLine(u),x=A?A.start.row:1/0;u>x&&(u=A.end.row+1,A=this.session.getNextFoldLine(u,A),x=A?A.start.row:1/0),!(u>s);){var f=this.$lines.createCell(u,e,this.session),c=f.element;this.dom.removeChildren(c),y.setStyle(c.style,"height",this.$lines.computeLineHeight(u,e,this.session)+"px"),y.setStyle(c.style,"top",this.$lines.computeLineTop(u,e,this.session)+"px"),this.$renderLine(c,u,u==x?A:!1),this.$useLineGroups()?c.className="ace_line_group":c.className="ace_line",h.push(f),u++}return h},t.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var o=e.firstRow,s=e.lastRow,h=this.$lines;h.getLength();)h.pop();h.push(this.$renderLinesFragment(e,o,s))},t.prototype.$renderToken=function(e,o,s,h){for(var u=this,A=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\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,x=this.dom.createFragment(this.element),f,c=0;f=A.exec(h);){var g=f[1],w=f[2],m=f[3],$=f[4],_=f[5];if(!(!u.showSpaces&&w)){var S=c!=f.index?h.slice(c,f.index):"";if(c=f.index+f[0].length,S&&x.appendChild(this.dom.createTextNode(S,this.element)),g){var v=u.session.getScreenTabSize(o+f.index),p=u.$tabStrings[v].cloneNode(!0);p.charCount=1,x.appendChild(p),o+=v-1}else if(w)if(u.showSpaces){var d=this.dom.createElement("span");d.className="ace_invisible ace_invisible_space",d.textContent=b.stringRepeat(u.SPACE_CHAR,w.length),x.appendChild(d)}else x.appendChild(this.dom.createTextNode(w,this.element));else if(m){var d=this.dom.createElement("span");d.className="ace_invisible ace_invisible_space ace_invalid",d.textContent=b.stringRepeat(u.SPACE_CHAR,m.length),x.appendChild(d)}else if($){o+=1;var d=this.dom.createElement("span");d.style.width=u.config.characterWidth*2+"px",d.className=u.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",d.textContent=u.showSpaces?u.SPACE_CHAR:$,x.appendChild(d)}else if(_){o+=1;var d=this.dom.createElement("span");d.style.width=u.config.characterWidth*2+"px",d.className="ace_cjk",d.textContent=_,x.appendChild(d)}}}if(x.appendChild(this.dom.createTextNode(c?h.slice(c):h,this.element)),i(s.type))e.appendChild(x);else{var C="ace_"+s.type.replace(/\./g," ace_"),d=this.dom.createElement("span");s.type=="fold"&&(d.style.width=s.value.length*this.config.characterWidth+"px",d.setAttribute("title",r("inline-fold.closed.title","Unfold code"))),d.className=C,d.appendChild(x),e.appendChild(d)}return o+h.length},t.prototype.renderIndentGuide=function(e,o,s){var h=o.search(this.$indentGuideRe);if(h<=0||h>=s)return o;if(o[0]==" "){h-=h%this.tabSize;for(var u=h/this.tabSize,A=0;A<u;A++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),o.substr(h)}else if(o[0]==" "){for(var A=0;A<h;A++){var x=this.$tabStrings[" "].cloneNode(!0);x.charCount=1,e.appendChild(x)}return this.$highlightIndentGuide(),o.substr(h)}return this.$highlightIndentGuide(),o},t.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var e=this.session.doc.$lines;if(e){var o=this.session.selection.getCursor(),s=/^\s*/.exec(this.session.doc.getLine(o.row))[0].length,h=Math.floor(s/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:h,start:o.row};var u=this.session.$bracketHighlight;if(u){for(var A=this.session.$bracketHighlight.ranges,x=0;x<A.length;x++)if(o.row!==A[x].start.row){this.$highlightIndentGuideMarker.end=A[x].start.row+1,o.row>A[x].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[o.row]!==""&&o.column===e[o.row].length){this.$highlightIndentGuideMarker.dir=1;for(var x=o.row+1;x<e.length;x++){var f=e[x],c=/^\s*/.exec(f)[0].length;if(f!==""&&(this.$highlightIndentGuideMarker.end=x,c<=s))break}}this.$renderHighlightIndentGuide()}}},t.prototype.$clearActiveIndentGuide=function(){for(var e=this.element.querySelectorAll(".ace_indent-guide-active"),o=0;o<e.length;o++)e[o].classList.remove("ace_indent-guide-active")},t.prototype.$setIndentGuideActive=function(e,o){var s=this.session.doc.getLine(e.row);if(s!==""){var h=e.element;if(e.element.classList&&e.element.classList.contains("ace_line_group"))if(e.element.childNodes.length>0)h=e.element.childNodes[0];else return;var u=h.childNodes;if(u){var A=u[o-1];A&&A.classList&&A.classList.contains("ace_indent-guide")&&A.classList.add("ace_indent-guide-active")}}},t.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var e=this.$lines.cells;this.$clearActiveIndentGuide();var o=this.$highlightIndentGuideMarker.indentLevel;if(o!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var s=0;s<e.length;s++){var h=e[s];if(this.$highlightIndentGuideMarker.end&&h.row>=this.$highlightIndentGuideMarker.start+1){if(h.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(h,o)}}else for(var s=e.length-1;s>=0;s--){var h=e[s];if(this.$highlightIndentGuideMarker.end&&h.row<this.$highlightIndentGuideMarker.start){if(h.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(h,o)}}}},t.prototype.$createLineElement=function(e){var o=this.dom.createElement("div");return o.className="ace_line",o.style.height=this.config.lineHeight+"px",o},t.prototype.$renderWrappedLine=function(e,o,s){var h=0,u=0,A=s[0],x=0,f=this.$createLineElement();e.appendChild(f);for(var c=0;c<o.length;c++){var g=o[c],w=g.value;if(c==0&&this.displayIndentGuides){if(h=w.length,w=this.renderIndentGuide(f,w,A),!w)continue;h-=w.length}if(h+w.length<A)x=this.$renderToken(f,x,g,w),h+=w.length;else{for(;h+w.length>=A;){x=this.$renderToken(f,x,g,w.substring(0,A-h)),w=w.substring(A-h),h=A,f=this.$createLineElement(),e.appendChild(f);var m=this.dom.createTextNode(b.stringRepeat(" ",s.indent),this.element);m.charCount=0,f.appendChild(m),u++,x=0,A=s[u]||Number.MAX_VALUE}w.length!=0&&(h+=w.length,x=this.$renderToken(f,x,g,w))}}s[s.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(f,x,null,"",!0)},t.prototype.$renderSimpleLine=function(e,o){for(var s=0,h=0;h<o.length;h++){var u=o[h],A=u.value;if(!(h==0&&this.displayIndentGuides&&(A=this.renderIndentGuide(e,A),!A))){if(s+A.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,s,u,A);s=this.$renderToken(e,s,u,A)}}},t.prototype.$renderOverflowMessage=function(e,o,s,h,u){s&&this.$renderToken(e,o,s,h.slice(0,this.MAX_LINE_LENGTH-o));var A=this.dom.createElement("span");A.className="ace_inline_button ace_keyword ace_toggle_wrap",A.textContent=u?"<hide>":"<click to see more...>",e.appendChild(A)},t.prototype.$renderLine=function(e,o,s){if(!s&&s!=!1&&(s=this.session.getFoldLine(o)),s)var h=this.$getFoldLineTokens(o,s);else var h=this.session.getTokens(o);var u=e;if(h.length){var A=this.session.getRowSplitData(o);if(A&&A.length){this.$renderWrappedLine(e,h,A);var u=e.lastChild}else{var u=e;this.$useLineGroups()&&(u=this.$createLineElement(),e.appendChild(u)),this.$renderSimpleLine(u,h)}}else this.$useLineGroups()&&(u=this.$createLineElement(),e.appendChild(u));if(this.showEOL&&u){s&&(o=s.end.row);var x=this.dom.createElement("span");x.className="ace_invisible ace_invisible_eol",x.textContent=o==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,u.appendChild(x)}},t.prototype.$getFoldLineTokens=function(e,o){var s=this.session,h=[];function u(x,f,c){for(var g=0,w=0;w+x[g].value.length<f;)if(w+=x[g].value.length,g++,g==x.length)return;if(w!=f){var m=x[g].value.substring(f-w);m.length>c-f&&(m=m.substring(0,c-f)),h.push({type:x[g].type,value:m}),w=f+m.length,g+=1}for(;w<c&&g<x.length;){var m=x[g].value;m.length+w>c?h.push({type:x[g].type,value:m.substring(0,c-w)}):h.push(x[g]),w+=m.length,g+=1}}var A=s.getTokens(e);return o.walk(function(x,f,c,g,w){x!=null?h.push({type:"fold",value:x}):(w&&(A=s.getTokens(f)),A.length&&u(A,g,c))},o.end.row,this.session.getLine(o.end.row).length),h},t.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},t})();n.prototype.EOF_CHAR="¶",n.prototype.EOL_CHAR_LF="¬",n.prototype.EOL_CHAR_CRLF="¤",n.prototype.EOL_CHAR=n.prototype.EOL_CHAR_LF,n.prototype.TAB_CHAR="—",n.prototype.SPACE_CHAR="·",n.prototype.$padding=0,n.prototype.MAX_LINE_LENGTH=1e4,n.prototype.showInvisibles=!1,n.prototype.showSpaces=!1,n.prototype.showTabs=!1,n.prototype.showEOL=!1,n.prototype.displayIndentGuides=!0,n.prototype.$highlightIndentGuides=!0,n.prototype.$tabStrings=[],n.prototype.destroy={},n.prototype.onChangeTabSize=n.prototype.$computeTabString,k.implement(n.prototype,l),M.Text=n}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(T,M,z){var k=T("../lib/dom"),y=(function(){function b(a){this.element=k.createElement("div"),this.element.className="ace_layer ace_cursor-layer",a.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),k.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return b.prototype.$updateOpacity=function(a){for(var l=this.cursors,r=l.length;r--;)k.setStyle(l[r].style,"opacity",a?"":"0")},b.prototype.$startCssAnimation=function(){for(var a=this.cursors,l=a.length;l--;)a[l].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&k.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},b.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,k.removeCssClass(this.element,"ace_animate-blinking")},b.prototype.setPadding=function(a){this.$padding=a},b.prototype.setSession=function(a){this.session=a},b.prototype.setBlinking=function(a){a!=this.isBlinking&&(this.isBlinking=a,this.restartTimer())},b.prototype.setBlinkInterval=function(a){a!=this.blinkInterval&&(this.blinkInterval=a,this.restartTimer())},b.prototype.setSmoothBlinking=function(a){a!=this.smoothBlinking&&(this.smoothBlinking=a,k.setCssClass(this.element,"ace_smooth-blinking",a),this.$updateCursors(!0),this.restartTimer())},b.prototype.addCursor=function(){var a=k.createElement("div");return a.className="ace_cursor",this.element.appendChild(a),this.cursors.push(a),a},b.prototype.removeCursor=function(){if(this.cursors.length>1){var a=this.cursors.pop();return a.parentNode.removeChild(a),a}},b.prototype.hideCursor=function(){this.isVisible=!1,k.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},b.prototype.showCursor=function(){this.isVisible=!0,k.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},b.prototype.restartTimer=function(){var a=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,k.removeCssClass(this.element,"ace_smooth-blinking")),a(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&k.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),k.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var l=function(){this.timeoutId=setTimeout(function(){a(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){a(!0),l()},this.blinkInterval),l()}},b.prototype.getPixelPosition=function(a,l){if(!this.config||!this.session)return{left:0,top:0};a||(a=this.session.selection.getCursor());var r=this.session.documentToScreenPosition(a),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,a.row)?this.session.$bidiHandler.getPosLeft(r.column):r.column*this.config.characterWidth),n=(r.row-(l?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:i,top:n}},b.prototype.isCursorInView=function(a,l){return a.top>=0&&a.top<l.maxHeight},b.prototype.update=function(a){this.config=a;var l=this.session.$selectionMarkers,r=0,i=0;(l===void 0||l.length===0)&&(l=[{cursor:null}]);for(var r=0,n=l.length;r<n;r++){var t=this.getPixelPosition(l[r].cursor,!0);if(!((t.top>a.height+a.offset||t.top<0)&&r>1)){var e=this.cursors[i++]||this.addCursor(),o=e.style;this.drawCursor?this.drawCursor(e,t,a,l[r],this.session):this.isCursorInView(t,a)?(k.setStyle(o,"display","block"),k.translate(e,t.left,t.top),k.setStyle(o,"width",Math.round(a.characterWidth)+"px"),k.setStyle(o,"height",a.lineHeight+"px")):k.setStyle(o,"display","none")}}for(;this.cursors.length>i;)this.removeCursor();var s=this.session.getOverwrite();this.$setOverwrite(s),this.$pixelPos=t,this.restartTimer()},b.prototype.$setOverwrite=function(a){a!=this.overwrite&&(this.overwrite=a,a?k.addCssClass(this.element,"ace_overwrite-cursors"):k.removeCssClass(this.element,"ace_overwrite-cursors"))},b.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},b})();y.prototype.$padding=0,y.prototype.drawCursor=null,M.Cursor=y}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(T,M,z){var k=this&&this.__extends||(function(){var e=function(o,s){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,u){h.__proto__=u}||function(h,u){for(var A in u)Object.prototype.hasOwnProperty.call(u,A)&&(h[A]=u[A])},e(o,s)};return function(o,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");e(o,s);function h(){this.constructor=o}o.prototype=s===null?Object.create(s):(h.prototype=s.prototype,new h)}})(),y=T("./lib/oop"),b=T("./lib/dom"),a=T("./lib/event"),l=T("./lib/event_emitter").EventEmitter,r=32768,i=(function(){function e(o,s){this.element=b.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+s,this.element.tabIndex=-1,this.inner=b.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),o.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,a.addListener(this.element,"scroll",this.onScroll.bind(this)),a.addListener(this.element,"mousedown",a.preventDefault)}return e.prototype.setVisible=function(o){this.element.style.display=o?"":"none",this.isVisible=o,this.coeff=1},e})();y.implement(i.prototype,l);var n=(function(e){k(o,e);function o(s,h){var u=e.call(this,s,"-v")||this;return u.scrollTop=0,u.scrollHeight=0,h.$scrollbarWidth=u.width=b.scrollbarWidth(s.ownerDocument),u.inner.style.width=u.element.style.width=(u.width||15)+5+"px",u.$minWidth=0,u}return o.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var s=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-s)/(this.coeff-s)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},o.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},o.prototype.setHeight=function(s){this.element.style.height=s+"px"},o.prototype.setScrollHeight=function(s){this.scrollHeight=s,s>r?(this.coeff=r/s,s=r):this.coeff!=1&&(this.coeff=1),this.inner.style.height=s+"px"},o.prototype.setScrollTop=function(s){this.scrollTop!=s&&(this.skipEvent=!0,this.scrollTop=s,this.element.scrollTop=s*this.coeff)},o})(i);n.prototype.setInnerHeight=n.prototype.setScrollHeight;var t=(function(e){k(o,e);function o(s,h){var u=e.call(this,s,"-h")||this;return u.scrollLeft=0,u.height=h.$scrollbarWidth,u.inner.style.height=u.element.style.height=(u.height||15)+5+"px",u}return o.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},o.prototype.getHeight=function(){return this.isVisible?this.height:0},o.prototype.setWidth=function(s){this.element.style.width=s+"px"},o.prototype.setInnerWidth=function(s){this.inner.style.width=s+"px"},o.prototype.setScrollWidth=function(s){this.inner.style.width=s+"px"},o.prototype.setScrollLeft=function(s){this.scrollLeft!=s&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=s)},o})(i);M.ScrollBar=n,M.ScrollBarV=n,M.ScrollBarH=t,M.VScrollBar=n,M.HScrollBar=t}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(T,M,z){var k=this&&this.__extends||(function(){var t=function(e,o){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,h){s.__proto__=h}||function(s,h){for(var u in h)Object.prototype.hasOwnProperty.call(h,u)&&(s[u]=h[u])},t(e,o)};return function(e,o){if(typeof o!="function"&&o!==null)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");t(e,o);function s(){this.constructor=e}e.prototype=o===null?Object.create(o):(s.prototype=o.prototype,new s)}})(),y=T("./lib/oop"),b=T("./lib/dom"),a=T("./lib/event"),l=T("./lib/event_emitter").EventEmitter;b.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{ |
| 211 |
position: absolute; |
| 212 |
background: rgba(128, 128, 128, 0.6); |
| 213 |
-moz-box-sizing: border-box; |
| 214 |
box-sizing: border-box; |
| 215 |
border: 1px solid #bbb; |
| 216 |
border-radius: 2px; |
| 217 |
z-index: 8; |
| 218 |
} |
| 219 |
.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h { |
| 220 |
position: absolute; |
| 221 |
z-index: 6; |
| 222 |
background: none; |
| 223 |
overflow: hidden!important; |
| 224 |
} |
| 225 |
.ace_editor>.ace_sb-v { |
| 226 |
z-index: 6; |
| 227 |
right: 0; |
| 228 |
top: 0; |
| 229 |
width: 12px; |
| 230 |
} |
| 231 |
.ace_editor>.ace_sb-v div { |
| 232 |
z-index: 8; |
| 233 |
right: 0; |
| 234 |
width: 100%; |
| 235 |
} |
| 236 |
.ace_editor>.ace_sb-h { |
| 237 |
bottom: 0; |
| 238 |
left: 0; |
| 239 |
height: 12px; |
| 240 |
} |
| 241 |
.ace_editor>.ace_sb-h div { |
| 242 |
bottom: 0; |
| 243 |
height: 100%; |
| 244 |
} |
| 245 |
.ace_editor>.ace_sb_grabbed { |
| 246 |
z-index: 8; |
| 247 |
background: #000; |
| 248 |
}`,"ace_scrollbar.css",!1);var r=(function(){function t(e,o){this.element=b.createElement("div"),this.element.className="ace_sb"+o,this.inner=b.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,a.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return t.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},t})();y.implement(r.prototype,l);var i=(function(t){k(e,t);function e(o,s){var h=t.call(this,o,"-v")||this;return h.scrollTop=0,h.scrollHeight=0,h.parent=o,h.width=h.VScrollWidth,h.renderer=s,h.inner.style.width=h.element.style.width=(h.width||15)+"px",h.$minWidth=0,h}return e.prototype.onMouseDown=function(o,s){if(o==="mousedown"&&!(a.getButton(s)!==0||s.detail===2)){if(s.target===this.inner){var h=this,u=s.clientY,A=function($){u=$.clientY},x=function(){clearInterval(w)},f=s.clientY,c=this.thumbTop,g=function(){if(u!==void 0){var $=h.scrollTopFromThumbTop(c+u-f);$!==h.scrollTop&&h._emit("scroll",{data:$})}};a.capture(this.inner,A,x);var w=setInterval(g,20);return a.preventDefault(s)}var m=s.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(m)}),a.preventDefault(s)}},e.prototype.getHeight=function(){return this.height},e.prototype.scrollTopFromThumbTop=function(o){var s=o*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return s=s>>0,s<0?s=0:s>this.pageHeight-this.viewHeight&&(s=this.pageHeight-this.viewHeight),s},e.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},e.prototype.setHeight=function(o){this.height=Math.max(0,o),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},e.prototype.setScrollHeight=function(o,s){this.pageHeight===o&&!s||(this.pageHeight=o,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},e.prototype.setScrollTop=function(o){this.scrollTop=o,o<0&&(o=0),this.thumbTop=o*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},e})(r);i.prototype.setInnerHeight=i.prototype.setScrollHeight;var n=(function(t){k(e,t);function e(o,s){var h=t.call(this,o,"-h")||this;return h.scrollLeft=0,h.scrollWidth=0,h.height=h.HScrollHeight,h.inner.style.height=h.element.style.height=(h.height||12)+"px",h.renderer=s,h}return e.prototype.onMouseDown=function(o,s){if(o==="mousedown"&&!(a.getButton(s)!==0||s.detail===2)){if(s.target===this.inner){var h=this,u=s.clientX,A=function($){u=$.clientX},x=function(){clearInterval(w)},f=s.clientX,c=this.thumbLeft,g=function(){if(u!==void 0){var $=h.scrollLeftFromThumbLeft(c+u-f);$!==h.scrollLeft&&h._emit("scroll",{data:$})}};a.capture(this.inner,A,x);var w=setInterval(g,20);return a.preventDefault(s)}var m=s.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(m)}),a.preventDefault(s)}},e.prototype.getHeight=function(){return this.isVisible?this.height:0},e.prototype.scrollLeftFromThumbLeft=function(o){var s=o*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return s=s>>0,s<0?s=0:s>this.pageWidth-this.viewWidth&&(s=this.pageWidth-this.viewWidth),s},e.prototype.setWidth=function(o){this.width=Math.max(0,o),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},e.prototype.setScrollWidth=function(o,s){this.pageWidth===o&&!s||(this.pageWidth=o,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},e.prototype.setScrollLeft=function(o){this.scrollLeft=o,o<0&&(o=0),this.thumbLeft=o*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},e})(r);n.prototype.setInnerWidth=n.prototype.setScrollWidth,M.ScrollBar=i,M.ScrollBarV=i,M.ScrollBarH=n,M.VScrollBar=i,M.HScrollBar=n}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(T,M,z){var k=T("./lib/event"),y=(function(){function b(a,l){this.onRender=a,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=l||window;var r=this;this._flush=function(i){r.pending=!1;var n=r.changes;if(n&&(k.blockIdle(100),r.changes=0,r.onRender(n)),r.changes){if(r.$recursionLimit--<0)return;r.schedule()}else r.$recursionLimit=2}}return b.prototype.schedule=function(a){this.changes=this.changes|a,this.changes&&!this.pending&&(k.nextFrame(this._flush),this.pending=!0)},b.prototype.clear=function(a){var l=this.changes;return this.changes=0,l},b})();M.RenderLoop=y}),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(T,M,z){var k=T("../lib/oop"),y=T("../lib/dom"),b=T("../lib/lang"),a=T("../lib/event"),l=T("../lib/useragent"),r=T("../lib/event_emitter").EventEmitter,i=512,n=typeof ResizeObserver=="function",t=200,e=(function(){function o(s){this.el=y.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=y.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=y.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),s.appendChild(this.el),this.$measureNode.textContent=b.stringRepeat("X",i),this.$characterSize={width:0,height:0},n?this.$addObserver():this.checkForSizeChanges()}return o.prototype.$setMeasureNodeStyles=function(s,h){s.width=s.height="auto",s.left=s.top="0px",s.visibility="hidden",s.position="absolute",s.whiteSpace="pre",l.isIE<8?s["font-family"]="inherit":s.font="inherit",s.overflow=h?"hidden":"visible"},o.prototype.checkForSizeChanges=function(s){if(s===void 0&&(s=this.$measureSizes()),s&&(this.$characterSize.width!==s.width||this.$characterSize.height!==s.height)){this.$measureNode.style.fontWeight="bold";var h=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=s,this.charSizes=Object.create(null),this.allowBoldFonts=h&&h.width===s.width&&h.height===s.height,this._emit("changeCharacterSize",{data:s})}},o.prototype.$addObserver=function(){var s=this;this.$observer=new window.ResizeObserver(function(h){s.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},o.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var s=this;return this.$pollSizeChangesTimer=a.onIdle(function h(){s.checkForSizeChanges(),a.onIdle(h,500)},500)},o.prototype.setPolling=function(s){s?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},o.prototype.$measureSizes=function(s){var h={height:(s||this.$measureNode).clientHeight,width:(s||this.$measureNode).clientWidth/i};return h.width===0||h.height===0?null:h},o.prototype.$measureCharWidth=function(s){this.$main.textContent=b.stringRepeat(s,i);var h=this.$main.getBoundingClientRect();return h.width/i},o.prototype.getCharacterWidth=function(s){var h=this.charSizes[s];return h===void 0&&(h=this.charSizes[s]=this.$measureCharWidth(s)/this.$characterSize.width),h},o.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},o.prototype.$getZoom=function(s){return!s||!s.parentElement?1:(Number(window.getComputedStyle(s).zoom)||1)*this.$getZoom(s.parentElement)},o.prototype.$initTransformMeasureNodes=function(){var s=function(h,u){return["div",{style:"position: absolute;top:"+h+"px;left:"+u+"px;"}]};this.els=y.buildDom([s(0,0),s(t,0),s(0,t),s(t,t)],this.el)},o.prototype.transformCoordinates=function(s,h){if(s){var u=this.$getZoom(this.el);s=c(1/u,s)}function A(I,O,B){var N=I[1]*O[0]-I[0]*O[1];return[(-O[1]*B[0]+O[0]*B[1])/N,(+I[1]*B[0]-I[0]*B[1])/N]}function x(I,O){return[I[0]-O[0],I[1]-O[1]]}function f(I,O){return[I[0]+O[0],I[1]+O[1]]}function c(I,O){return[I*O[0],I*O[1]]}this.els||this.$initTransformMeasureNodes();function g(I){var O=I.getBoundingClientRect();return[O.left,O.top]}var w=g(this.els[0]),m=g(this.els[1]),$=g(this.els[2]),_=g(this.els[3]),S=A(x(_,m),x(_,$),x(f(m,$),f(_,w))),v=c(1+S[0],x(m,w)),p=c(1+S[1],x($,w));if(h){var d=h,C=S[0]*d[0]/t+S[1]*d[1]/t+1,E=f(c(d[0],v),c(d[1],p));return f(c(1/C/t,E),w)}var L=x(s,w),R=A(x(v,c(S[0],L)),x(p,c(S[1],L)),L);return c(t,R)},o})();e.prototype.$characterSize={width:0,height:0},k.implement(e.prototype,r),M.FontMetrics=e}),ace.define("ace/css/editor-css",["require","exports","module"],function(T,M,z){z.exports=` |
| 249 |
.ace_br1 {border-top-left-radius : 3px;} |
| 250 |
.ace_br2 {border-top-right-radius : 3px;} |
| 251 |
.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;} |
| 252 |
.ace_br4 {border-bottom-right-radius: 3px;} |
| 253 |
.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;} |
| 254 |
.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;} |
| 255 |
.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;} |
| 256 |
.ace_br8 {border-bottom-left-radius : 3px;} |
| 257 |
.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;} |
| 258 |
.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;} |
| 259 |
.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;} |
| 260 |
.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} |
| 261 |
.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} |
| 262 |
.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} |
| 263 |
.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} |
| 264 |
|
| 265 |
|
| 266 |
.ace_editor { |
| 267 |
position: relative; |
| 268 |
overflow: hidden; |
| 269 |
padding: 0; |
| 270 |
font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace; |
| 271 |
direction: ltr; |
| 272 |
text-align: left; |
| 273 |
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); |
| 274 |
forced-color-adjust: none; |
| 275 |
} |
| 276 |
|
| 277 |
.ace_scroller { |
| 278 |
position: absolute; |
| 279 |
overflow: hidden; |
| 280 |
top: 0; |
| 281 |
bottom: 0; |
| 282 |
background-color: inherit; |
| 283 |
-ms-user-select: none; |
| 284 |
-moz-user-select: none; |
| 285 |
-webkit-user-select: none; |
| 286 |
user-select: none; |
| 287 |
cursor: text; |
| 288 |
} |
| 289 |
|
| 290 |
.ace_content { |
| 291 |
position: absolute; |
| 292 |
box-sizing: border-box; |
| 293 |
min-width: 100%; |
| 294 |
contain: style size layout; |
| 295 |
font-variant-ligatures: no-common-ligatures; |
| 296 |
} |
| 297 |
.ace_invisible { |
| 298 |
font-variant-ligatures: none; |
| 299 |
} |
| 300 |
|
| 301 |
.ace_keyboard-focus:focus { |
| 302 |
box-shadow: inset 0 0 0 2px #5E9ED6; |
| 303 |
outline: none; |
| 304 |
} |
| 305 |
|
| 306 |
.ace_dragging .ace_scroller:before{ |
| 307 |
position: absolute; |
| 308 |
top: 0; |
| 309 |
left: 0; |
| 310 |
right: 0; |
| 311 |
bottom: 0; |
| 312 |
content: ''; |
| 313 |
background: rgba(250, 250, 250, 0.01); |
| 314 |
z-index: 1000; |
| 315 |
} |
| 316 |
.ace_dragging.ace_dark .ace_scroller:before{ |
| 317 |
background: rgba(0, 0, 0, 0.01); |
| 318 |
} |
| 319 |
|
| 320 |
.ace_gutter { |
| 321 |
position: absolute; |
| 322 |
overflow : hidden; |
| 323 |
width: auto; |
| 324 |
top: 0; |
| 325 |
bottom: 0; |
| 326 |
left: 0; |
| 327 |
cursor: default; |
| 328 |
z-index: 4; |
| 329 |
-ms-user-select: none; |
| 330 |
-moz-user-select: none; |
| 331 |
-webkit-user-select: none; |
| 332 |
user-select: none; |
| 333 |
contain: style size layout; |
| 334 |
} |
| 335 |
|
| 336 |
.ace_gutter-active-line { |
| 337 |
position: absolute; |
| 338 |
left: 0; |
| 339 |
right: 0; |
| 340 |
} |
| 341 |
|
| 342 |
.ace_scroller.ace_scroll-left:after { |
| 343 |
content: ""; |
| 344 |
position: absolute; |
| 345 |
top: 0; |
| 346 |
right: 0; |
| 347 |
bottom: 0; |
| 348 |
left: 0; |
| 349 |
box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset; |
| 350 |
pointer-events: none; |
| 351 |
} |
| 352 |
|
| 353 |
.ace_gutter-cell, .ace_gutter-cell_svg-icons { |
| 354 |
position: absolute; |
| 355 |
top: 0; |
| 356 |
left: 0; |
| 357 |
right: 0; |
| 358 |
padding-left: 19px; |
| 359 |
padding-right: 6px; |
| 360 |
background-repeat: no-repeat; |
| 361 |
} |
| 362 |
|
| 363 |
.ace_gutter-cell_svg-icons .ace_gutter_annotation { |
| 364 |
margin-left: -14px; |
| 365 |
float: left; |
| 366 |
} |
| 367 |
|
| 368 |
.ace_gutter-cell .ace_gutter_annotation { |
| 369 |
margin-left: -19px; |
| 370 |
float: left; |
| 371 |
} |
| 372 |
|
| 373 |
.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold { |
| 374 |
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=="); |
| 375 |
background-repeat: no-repeat; |
| 376 |
background-position: 2px center; |
| 377 |
} |
| 378 |
|
| 379 |
.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold { |
| 380 |
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=="); |
| 381 |
background-repeat: no-repeat; |
| 382 |
background-position: 2px center; |
| 383 |
} |
| 384 |
|
| 385 |
.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint { |
| 386 |
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII="); |
| 387 |
background-repeat: no-repeat; |
| 388 |
background-position: 2px center; |
| 389 |
} |
| 390 |
|
| 391 |
.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint { |
| 392 |
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC"); |
| 393 |
} |
| 394 |
|
| 395 |
.ace_icon_svg.ace_error { |
| 396 |
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+"); |
| 397 |
background-color: crimson; |
| 398 |
} |
| 399 |
.ace_icon_svg.ace_security { |
| 400 |
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+"); |
| 401 |
background-color: crimson; |
| 402 |
} |
| 403 |
.ace_icon_svg.ace_warning { |
| 404 |
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg=="); |
| 405 |
background-color: darkorange; |
| 406 |
} |
| 407 |
.ace_icon_svg.ace_info { |
| 408 |
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg=="); |
| 409 |
background-color: royalblue; |
| 410 |
} |
| 411 |
.ace_icon_svg.ace_hint { |
| 412 |
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg=="); |
| 413 |
background-color: silver; |
| 414 |
} |
| 415 |
|
| 416 |
.ace_icon_svg.ace_error_fold { |
| 417 |
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4="); |
| 418 |
background-color: crimson; |
| 419 |
} |
| 420 |
.ace_icon_svg.ace_security_fold { |
| 421 |
-webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4="); |
| 422 |
background-color: crimson; |
| 423 |
} |
| 424 |
.ace_icon_svg.ace_warning_fold { |
| 425 |
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4="); |
| 426 |
background-color: darkorange; |
| 427 |
} |
| 428 |
|
| 429 |
.ace_scrollbar { |
| 430 |
contain: strict; |
| 431 |
position: absolute; |
| 432 |
right: 0; |
| 433 |
bottom: 0; |
| 434 |
z-index: 6; |
| 435 |
} |
| 436 |
|
| 437 |
.ace_scrollbar-inner { |
| 438 |
position: absolute; |
| 439 |
cursor: text; |
| 440 |
left: 0; |
| 441 |
top: 0; |
| 442 |
} |
| 443 |
|
| 444 |
.ace_scrollbar-v{ |
| 445 |
overflow-x: hidden; |
| 446 |
overflow-y: scroll; |
| 447 |
top: 0; |
| 448 |
} |
| 449 |
|
| 450 |
.ace_scrollbar-h { |
| 451 |
overflow-x: scroll; |
| 452 |
overflow-y: hidden; |
| 453 |
left: 0; |
| 454 |
} |
| 455 |
|
| 456 |
.ace_print-margin { |
| 457 |
position: absolute; |
| 458 |
height: 100%; |
| 459 |
} |
| 460 |
|
| 461 |
.ace_text-input { |
| 462 |
position: absolute; |
| 463 |
z-index: 0; |
| 464 |
width: 0.5em; |
| 465 |
height: 1em; |
| 466 |
opacity: 0; |
| 467 |
background: transparent; |
| 468 |
-moz-appearance: none; |
| 469 |
appearance: none; |
| 470 |
border: none; |
| 471 |
resize: none; |
| 472 |
outline: none; |
| 473 |
overflow: hidden; |
| 474 |
font: inherit; |
| 475 |
padding: 0 1px; |
| 476 |
margin: 0 -1px; |
| 477 |
contain: strict; |
| 478 |
-ms-user-select: text; |
| 479 |
-moz-user-select: text; |
| 480 |
-webkit-user-select: text; |
| 481 |
user-select: text; |
| 482 |
/*with \`pre-line\` chrome inserts instead of space*/ |
| 483 |
white-space: pre!important; |
| 484 |
} |
| 485 |
.ace_text-input.ace_composition { |
| 486 |
background: transparent; |
| 487 |
color: inherit; |
| 488 |
z-index: 1000; |
| 489 |
opacity: 1; |
| 490 |
} |
| 491 |
.ace_composition_placeholder { color: transparent } |
| 492 |
.ace_composition_marker { |
| 493 |
border-bottom: 1px solid; |
| 494 |
position: absolute; |
| 495 |
border-radius: 0; |
| 496 |
margin-top: 1px; |
| 497 |
} |
| 498 |
|
| 499 |
[ace_nocontext=true] { |
| 500 |
transform: none!important; |
| 501 |
filter: none!important; |
| 502 |
clip-path: none!important; |
| 503 |
mask : none!important; |
| 504 |
contain: none!important; |
| 505 |
perspective: none!important; |
| 506 |
mix-blend-mode: initial!important; |
| 507 |
z-index: auto; |
| 508 |
} |
| 509 |
|
| 510 |
.ace_layer { |
| 511 |
z-index: 1; |
| 512 |
position: absolute; |
| 513 |
overflow: hidden; |
| 514 |
/* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/ |
| 515 |
word-wrap: normal; |
| 516 |
white-space: pre; |
| 517 |
height: 100%; |
| 518 |
width: 100%; |
| 519 |
box-sizing: border-box; |
| 520 |
/* setting pointer-events: auto; on node under the mouse, which changes |
| 521 |
during scroll, will break mouse wheel scrolling in Safari */ |
| 522 |
pointer-events: none; |
| 523 |
} |
| 524 |
|
| 525 |
.ace_gutter-layer { |
| 526 |
position: relative; |
| 527 |
width: auto; |
| 528 |
text-align: right; |
| 529 |
pointer-events: auto; |
| 530 |
height: 1000000px; |
| 531 |
contain: style size layout; |
| 532 |
} |
| 533 |
|
| 534 |
.ace_text-layer { |
| 535 |
font: inherit !important; |
| 536 |
position: absolute; |
| 537 |
height: 1000000px; |
| 538 |
width: 1000000px; |
| 539 |
contain: style size layout; |
| 540 |
} |
| 541 |
|
| 542 |
.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group { |
| 543 |
contain: style size layout; |
| 544 |
position: absolute; |
| 545 |
top: 0; |
| 546 |
left: 0; |
| 547 |
right: 0; |
| 548 |
} |
| 549 |
|
| 550 |
.ace_hidpi .ace_text-layer, |
| 551 |
.ace_hidpi .ace_gutter-layer, |
| 552 |
.ace_hidpi .ace_content, |
| 553 |
.ace_hidpi .ace_gutter { |
| 554 |
contain: strict; |
| 555 |
} |
| 556 |
.ace_hidpi .ace_text-layer > .ace_line, |
| 557 |
.ace_hidpi .ace_text-layer > .ace_line_group { |
| 558 |
contain: strict; |
| 559 |
} |
| 560 |
|
| 561 |
.ace_cjk { |
| 562 |
display: inline-block; |
| 563 |
text-align: center; |
| 564 |
} |
| 565 |
|
| 566 |
.ace_cursor-layer { |
| 567 |
z-index: 4; |
| 568 |
} |
| 569 |
|
| 570 |
.ace_cursor { |
| 571 |
z-index: 4; |
| 572 |
position: absolute; |
| 573 |
box-sizing: border-box; |
| 574 |
border-left: 2px solid; |
| 575 |
/* workaround for smooth cursor repaintng whole screen in chrome */ |
| 576 |
transform: translatez(0); |
| 577 |
} |
| 578 |
|
| 579 |
.ace_multiselect .ace_cursor { |
| 580 |
border-left-width: 1px; |
| 581 |
} |
| 582 |
|
| 583 |
.ace_slim-cursors .ace_cursor { |
| 584 |
border-left-width: 1px; |
| 585 |
} |
| 586 |
|
| 587 |
.ace_overwrite-cursors .ace_cursor { |
| 588 |
border-left-width: 0; |
| 589 |
border-bottom: 1px solid; |
| 590 |
} |
| 591 |
|
| 592 |
.ace_hidden-cursors .ace_cursor { |
| 593 |
opacity: 0.2; |
| 594 |
} |
| 595 |
|
| 596 |
.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor { |
| 597 |
opacity: 0; |
| 598 |
} |
| 599 |
|
| 600 |
.ace_smooth-blinking .ace_cursor { |
| 601 |
transition: opacity 0.18s; |
| 602 |
} |
| 603 |
|
| 604 |
.ace_animate-blinking .ace_cursor { |
| 605 |
animation-duration: 1000ms; |
| 606 |
animation-timing-function: step-end; |
| 607 |
animation-name: blink-ace-animate; |
| 608 |
animation-iteration-count: infinite; |
| 609 |
} |
| 610 |
|
| 611 |
.ace_animate-blinking.ace_smooth-blinking .ace_cursor { |
| 612 |
animation-duration: 1000ms; |
| 613 |
animation-timing-function: ease-in-out; |
| 614 |
animation-name: blink-ace-animate-smooth; |
| 615 |
} |
| 616 |
|
| 617 |
@keyframes blink-ace-animate { |
| 618 |
from, to { opacity: 1; } |
| 619 |
60% { opacity: 0; } |
| 620 |
} |
| 621 |
|
| 622 |
@keyframes blink-ace-animate-smooth { |
| 623 |
from, to { opacity: 1; } |
| 624 |
45% { opacity: 1; } |
| 625 |
60% { opacity: 0; } |
| 626 |
85% { opacity: 0; } |
| 627 |
} |
| 628 |
|
| 629 |
.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack { |
| 630 |
position: absolute; |
| 631 |
z-index: 3; |
| 632 |
} |
| 633 |
|
| 634 |
.ace_marker-layer .ace_selection { |
| 635 |
position: absolute; |
| 636 |
z-index: 5; |
| 637 |
} |
| 638 |
|
| 639 |
.ace_marker-layer .ace_bracket { |
| 640 |
position: absolute; |
| 641 |
z-index: 6; |
| 642 |
} |
| 643 |
|
| 644 |
.ace_marker-layer .ace_error_bracket { |
| 645 |
position: absolute; |
| 646 |
border-bottom: 1px solid #DE5555; |
| 647 |
border-radius: 0; |
| 648 |
} |
| 649 |
|
| 650 |
.ace_marker-layer .ace_active-line { |
| 651 |
position: absolute; |
| 652 |
z-index: 2; |
| 653 |
} |
| 654 |
|
| 655 |
.ace_marker-layer .ace_selected-word { |
| 656 |
position: absolute; |
| 657 |
z-index: 4; |
| 658 |
box-sizing: border-box; |
| 659 |
} |
| 660 |
|
| 661 |
.ace_line .ace_fold { |
| 662 |
box-sizing: border-box; |
| 663 |
|
| 664 |
display: inline-block; |
| 665 |
height: 11px; |
| 666 |
margin-top: -2px; |
| 667 |
vertical-align: middle; |
| 668 |
|
| 669 |
background-image: |
| 670 |
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="), |
| 671 |
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII="); |
| 672 |
background-repeat: no-repeat, repeat-x; |
| 673 |
background-position: center center, top left; |
| 674 |
color: transparent; |
| 675 |
|
| 676 |
border: 1px solid black; |
| 677 |
border-radius: 2px; |
| 678 |
|
| 679 |
cursor: pointer; |
| 680 |
pointer-events: auto; |
| 681 |
} |
| 682 |
|
| 683 |
.ace_dark .ace_fold { |
| 684 |
} |
| 685 |
|
| 686 |
.ace_fold:hover{ |
| 687 |
background-image: |
| 688 |
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="), |
| 689 |
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC"); |
| 690 |
} |
| 691 |
|
| 692 |
.ace_tooltip { |
| 693 |
background-color: #f5f5f5; |
| 694 |
border: 1px solid gray; |
| 695 |
border-radius: 1px; |
| 696 |
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); |
| 697 |
color: black; |
| 698 |
padding: 3px 4px; |
| 699 |
position: fixed; |
| 700 |
z-index: 999999; |
| 701 |
box-sizing: border-box; |
| 702 |
cursor: default; |
| 703 |
white-space: pre-wrap; |
| 704 |
word-wrap: break-word; |
| 705 |
line-height: normal; |
| 706 |
font-style: normal; |
| 707 |
font-weight: normal; |
| 708 |
letter-spacing: normal; |
| 709 |
pointer-events: none; |
| 710 |
overflow: auto; |
| 711 |
max-width: min(33em, 66vw); |
| 712 |
overscroll-behavior: contain; |
| 713 |
} |
| 714 |
.ace_tooltip pre { |
| 715 |
white-space: pre-wrap; |
| 716 |
} |
| 717 |
|
| 718 |
.ace_tooltip.ace_dark { |
| 719 |
background-color: #636363; |
| 720 |
color: #fff; |
| 721 |
} |
| 722 |
|
| 723 |
.ace_tooltip:focus { |
| 724 |
outline: 1px solid #5E9ED6; |
| 725 |
} |
| 726 |
|
| 727 |
.ace_icon { |
| 728 |
display: inline-block; |
| 729 |
width: 18px; |
| 730 |
vertical-align: top; |
| 731 |
} |
| 732 |
|
| 733 |
.ace_icon_svg { |
| 734 |
display: inline-block; |
| 735 |
width: 12px; |
| 736 |
vertical-align: top; |
| 737 |
-webkit-mask-repeat: no-repeat; |
| 738 |
-webkit-mask-size: 12px; |
| 739 |
-webkit-mask-position: center; |
| 740 |
} |
| 741 |
|
| 742 |
.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons { |
| 743 |
padding-right: 13px; |
| 744 |
} |
| 745 |
|
| 746 |
.ace_fold-widget, .ace_custom-widget { |
| 747 |
box-sizing: border-box; |
| 748 |
|
| 749 |
margin: 0 -12px 0 1px; |
| 750 |
display: none; |
| 751 |
width: 11px; |
| 752 |
vertical-align: top; |
| 753 |
|
| 754 |
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg=="); |
| 755 |
background-repeat: no-repeat; |
| 756 |
background-position: center; |
| 757 |
|
| 758 |
border-radius: 3px; |
| 759 |
|
| 760 |
border: 1px solid transparent; |
| 761 |
cursor: pointer; |
| 762 |
pointer-events: auto; |
| 763 |
} |
| 764 |
|
| 765 |
.ace_custom-widget { |
| 766 |
background: none; |
| 767 |
} |
| 768 |
|
| 769 |
.ace_folding-enabled .ace_fold-widget { |
| 770 |
display: inline-block; |
| 771 |
} |
| 772 |
|
| 773 |
.ace_fold-widget.ace_end { |
| 774 |
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg=="); |
| 775 |
} |
| 776 |
|
| 777 |
.ace_fold-widget.ace_closed { |
| 778 |
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA=="); |
| 779 |
} |
| 780 |
|
| 781 |
.ace_fold-widget:hover { |
| 782 |
border: 1px solid rgba(0, 0, 0, 0.3); |
| 783 |
background-color: rgba(255, 255, 255, 0.2); |
| 784 |
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7); |
| 785 |
} |
| 786 |
|
| 787 |
.ace_fold-widget:active { |
| 788 |
border: 1px solid rgba(0, 0, 0, 0.4); |
| 789 |
background-color: rgba(0, 0, 0, 0.05); |
| 790 |
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8); |
| 791 |
} |
| 792 |
/** |
| 793 |
* Dark version for fold widgets |
| 794 |
*/ |
| 795 |
.ace_dark .ace_fold-widget { |
| 796 |
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC"); |
| 797 |
} |
| 798 |
.ace_dark .ace_fold-widget.ace_end { |
| 799 |
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg=="); |
| 800 |
} |
| 801 |
.ace_dark .ace_fold-widget.ace_closed { |
| 802 |
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg=="); |
| 803 |
} |
| 804 |
.ace_dark .ace_fold-widget:hover { |
| 805 |
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2); |
| 806 |
background-color: rgba(255, 255, 255, 0.1); |
| 807 |
} |
| 808 |
.ace_dark .ace_fold-widget:active { |
| 809 |
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2); |
| 810 |
} |
| 811 |
|
| 812 |
.ace_inline_button { |
| 813 |
border: 1px solid lightgray; |
| 814 |
display: inline-block; |
| 815 |
margin: -1px 8px; |
| 816 |
padding: 0 5px; |
| 817 |
pointer-events: auto; |
| 818 |
cursor: pointer; |
| 819 |
} |
| 820 |
.ace_inline_button:hover { |
| 821 |
border-color: gray; |
| 822 |
background: rgba(200,200,200,0.2); |
| 823 |
display: inline-block; |
| 824 |
pointer-events: auto; |
| 825 |
} |
| 826 |
|
| 827 |
.ace_fold-widget.ace_invalid { |
| 828 |
background-color: #FFB4B4; |
| 829 |
border-color: #DE5555; |
| 830 |
} |
| 831 |
|
| 832 |
.ace_fade-fold-widgets .ace_fold-widget { |
| 833 |
transition: opacity 0.4s ease 0.05s; |
| 834 |
opacity: 0; |
| 835 |
} |
| 836 |
|
| 837 |
.ace_fade-fold-widgets:hover .ace_fold-widget { |
| 838 |
transition: opacity 0.05s ease 0.05s; |
| 839 |
opacity:1; |
| 840 |
} |
| 841 |
|
| 842 |
.ace_underline { |
| 843 |
text-decoration: underline; |
| 844 |
} |
| 845 |
|
| 846 |
.ace_bold { |
| 847 |
font-weight: bold; |
| 848 |
} |
| 849 |
|
| 850 |
.ace_nobold .ace_bold { |
| 851 |
font-weight: normal; |
| 852 |
} |
| 853 |
|
| 854 |
.ace_italic { |
| 855 |
font-style: italic; |
| 856 |
} |
| 857 |
|
| 858 |
|
| 859 |
.ace_error-marker { |
| 860 |
background-color: rgba(255, 0, 0,0.2); |
| 861 |
position: absolute; |
| 862 |
z-index: 9; |
| 863 |
} |
| 864 |
|
| 865 |
.ace_highlight-marker { |
| 866 |
background-color: rgba(255, 255, 0,0.2); |
| 867 |
position: absolute; |
| 868 |
z-index: 8; |
| 869 |
} |
| 870 |
|
| 871 |
.ace_mobile-menu { |
| 872 |
position: absolute; |
| 873 |
line-height: 1.5; |
| 874 |
border-radius: 4px; |
| 875 |
-ms-user-select: none; |
| 876 |
-moz-user-select: none; |
| 877 |
-webkit-user-select: none; |
| 878 |
user-select: none; |
| 879 |
background: white; |
| 880 |
box-shadow: 1px 3px 2px grey; |
| 881 |
border: 1px solid #dcdcdc; |
| 882 |
color: black; |
| 883 |
} |
| 884 |
.ace_dark > .ace_mobile-menu { |
| 885 |
background: #333; |
| 886 |
color: #ccc; |
| 887 |
box-shadow: 1px 3px 2px grey; |
| 888 |
border: 1px solid #444; |
| 889 |
|
| 890 |
} |
| 891 |
.ace_mobile-button { |
| 892 |
padding: 2px; |
| 893 |
cursor: pointer; |
| 894 |
overflow: hidden; |
| 895 |
} |
| 896 |
.ace_mobile-button:hover { |
| 897 |
background-color: #eee; |
| 898 |
opacity:1; |
| 899 |
} |
| 900 |
.ace_mobile-button:active { |
| 901 |
background-color: #ddd; |
| 902 |
} |
| 903 |
|
| 904 |
.ace_placeholder { |
| 905 |
position: relative; |
| 906 |
font-family: arial; |
| 907 |
transform: scale(0.9); |
| 908 |
transform-origin: left; |
| 909 |
white-space: pre; |
| 910 |
opacity: 0.7; |
| 911 |
margin: 0 10px; |
| 912 |
z-index: 1; |
| 913 |
} |
| 914 |
|
| 915 |
.ace_ghost_text { |
| 916 |
opacity: 0.5; |
| 917 |
font-style: italic; |
| 918 |
} |
| 919 |
|
| 920 |
.ace_ghost_text_container > div { |
| 921 |
white-space: pre; |
| 922 |
} |
| 923 |
|
| 924 |
.ghost_text_line_wrapped::after { |
| 925 |
content: "↩"; |
| 926 |
position: absolute; |
| 927 |
} |
| 928 |
|
| 929 |
.ace_lineWidgetContainer.ace_ghost_text { |
| 930 |
margin: 0px 4px |
| 931 |
} |
| 932 |
|
| 933 |
.ace_screenreader-only { |
| 934 |
position:absolute; |
| 935 |
left:-10000px; |
| 936 |
top:auto; |
| 937 |
width:1px; |
| 938 |
height:1px; |
| 939 |
overflow:hidden; |
| 940 |
} |
| 941 |
|
| 942 |
.ace_hidden_token { |
| 943 |
display: none; |
| 944 |
}`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(T,M,z){var k=T("../lib/dom"),y=T("../lib/oop"),b=T("../lib/event_emitter").EventEmitter,a=(function(){function l(r,i){this.renderer=i,this.pixelRatio=1,this.maxHeight=i.layerConfig.maxHeight,this.lineHeight=i.layerConfig.lineHeight,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},this.setScrollBarV(r)}return l.prototype.$createCanvas=function(){this.canvas=k.createElement("canvas"),this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7",this.canvas.style.position="absolute"},l.prototype.setScrollBarV=function(r){this.$createCanvas(),this.scrollbarV=r,r.element.appendChild(this.canvas),this.setDimensions()},l.prototype.$updateDecorators=function(r){if(typeof this.canvas.getContext!="function")return;var i=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;this.setDimensions(r);var n=this.canvas.getContext("2d");function t(v,p){return v.priority<p.priority?-1:v.priority>p.priority?1:0}var e=this.renderer.session.$annotations;if(n.clearRect(0,0,this.canvas.width,this.canvas.height),e){var o={info:1,warning:2,error:3};e.forEach(function(v){v.priority=o[v.type]||null}),e=e.sort(t);for(var s=0;s<e.length;s++){var h=e[s].row,u=this.getVerticalOffsetForRow(h),A=u+this.lineHeight,x=Math.round(this.heightRatio*u),f=Math.round(this.heightRatio*A),c=Math.round((x+f)/2),g=f-c;g<this.halfMinDecorationHeight&&(g=this.halfMinDecorationHeight),c-g<0&&(c=g),c+g>this.canvasHeight&&(c=this.canvasHeight-g);var w=c-g,m=c+g,$=m-w;n.fillStyle=i[e[s].type]||null,n.fillRect(0,w,Math.round(this.oneZoneWidth-1),$)}}var _=this.renderer.session.selection.getCursor();if(_){var S=Math.round(this.getVerticalOffsetForRow(_.row)*this.heightRatio);n.fillStyle="rgba(0, 0, 0, 0.5)",n.fillRect(0,S,this.canvasWidth,2)}},l.prototype.getVerticalOffsetForRow=function(r){r=r|0;var i=this.renderer.session.documentToScreenRow(r,0)*this.lineHeight;return i},l.prototype.setDimensions=function(r){r=r||this.renderer.layerConfig,this.maxHeight=r.maxHeight,this.lineHeight=r.lineHeight,this.canvasHeight=r.height,this.canvasWidth=this.scrollbarV.width||this.canvasWidth,this.setZoneWidth(),this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.maxHeight<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight},l.prototype.setZoneWidth=function(){this.oneZoneWidth=this.canvasWidth},l.prototype.destroy=function(){this.canvas.parentNode.removeChild(this.canvas)},l})();y.implement(a.prototype,b),M.Decorator=a}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(T,M,z){var k=T("./lib/oop"),y=T("./lib/dom"),b=T("./lib/lang"),a=T("./config"),l=T("./layer/gutter").Gutter,r=T("./layer/marker").Marker,i=T("./layer/text").Text,n=T("./layer/cursor").Cursor,t=T("./scrollbar").HScrollBar,e=T("./scrollbar").VScrollBar,o=T("./scrollbar_custom").HScrollBar,s=T("./scrollbar_custom").VScrollBar,h=T("./renderloop").RenderLoop,u=T("./layer/font_metrics").FontMetrics,A=T("./lib/event_emitter").EventEmitter,x=T("./css/editor-css"),f=T("./layer/decorators").Decorator,c=T("./lib/useragent"),g=T("./layer/text_util").isTextToken;y.importCssString(x,"ace_editor.css",!1);var w=(function(){function m($,_){var S=this;this.container=$||y.createElement("div"),y.addCssClass(this.container,"ace_editor"),y.HI_DPI&&y.addCssClass(this.container,"ace_hidpi"),this.setTheme(_),a.get("useStrictCSP")==null&&a.set("useStrictCSP",!1),this.$gutter=y.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=y.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=y.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new l(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new r(this.content);var v=this.$textLayer=new i(this.content);this.canvas=v.element,this.$markerFront=new r(this.content),this.$cursorLayer=new n(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.on("scroll",function(p){S.$scrollAnimation||S.session.setScrollTop(p.data-S.scrollMargin.top)}),this.scrollBarH.on("scroll",function(p){S.$scrollAnimation||S.session.setScrollLeft(p.data-S.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new u(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(p){S.updateCharacterSize(),S.onResize(!0,S.gutterWidth,S.$size.width,S.$size.height),S._signal("changeCharacterSize",p)}),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=!c.isIOS,this.$loop=new h(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),a.resetOptions(this),a._signal("renderer",this)}return m.prototype.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(),y.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},m.prototype.setSession=function($){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=$,$&&this.scrollMargin.top&&$.getScrollTop()<=0&&$.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession($),this.$markerBack.setSession($),this.$markerFront.setSession($),this.$gutterLayer.setSession($),this.$textLayer.setSession($),$&&(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))},m.prototype.updateLines=function($,_,S){if(_===void 0&&(_=1/0),this.$changedLines?(this.$changedLines.firstRow>$&&(this.$changedLines.firstRow=$),this.$changedLines.lastRow<_&&(this.$changedLines.lastRow=_)):this.$changedLines={firstRow:$,lastRow:_},this.$changedLines.lastRow<this.layerConfig.firstRow)if(S)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},m.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},m.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},m.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},m.prototype.updateFull=function($){$?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},m.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},m.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},m.prototype.onResize=function($,_,S,v){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=$?1:0;var p=this.container;v||(v=p.clientHeight||p.scrollHeight),!v&&this.$maxLines&&this.lineHeight>1&&(!p.style.height||p.style.height=="0px")&&(p.style.height="1px",v=p.clientHeight||p.scrollHeight),S||(S=p.clientWidth||p.scrollWidth);var d=this.$updateCachedSize($,_,S,v);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!S&&!v)return this.resizing=0;$&&(this.$gutterLayer.$padding=null),$?this.$renderChanges(d|this.$changes,!0):this.$loop.schedule(d|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},m.prototype.$updateCachedSize=function($,_,S,v){v-=this.$extraHeight||0;var p=0,d=this.$size,C={width:d.width,height:d.height,scrollerHeight:d.scrollerHeight,scrollerWidth:d.scrollerWidth};if(v&&($||d.height!=v)&&(d.height=v,p|=this.CHANGE_SIZE,d.scrollerHeight=d.height,this.$horizScroll&&(d.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(d.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",p=p|this.CHANGE_SCROLL),S&&($||d.width!=S)){p|=this.CHANGE_SIZE,d.width=S,_==null&&(_=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=_,y.setStyle(this.scrollBarH.element.style,"left",_+"px"),y.setStyle(this.scroller.style,"left",_+this.margin.left+"px"),d.scrollerWidth=Math.max(0,S-_-this.scrollBarV.getWidth()-this.margin.h),y.setStyle(this.$gutter.style,"left",this.margin.left+"px");var E=this.scrollBarV.getWidth()+"px";y.setStyle(this.scrollBarH.element.style,"right",E),y.setStyle(this.scroller.style,"right",E),y.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(d.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||$)&&(p|=this.CHANGE_FULL)}return d.$dirty=!S||!v,p&&this._signal("resize",C),p},m.prototype.onGutterResize=function($){var _=this.$showGutter?$:0;_!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,_,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},m.prototype.adjustWrapLimit=function(){var $=this.$size.scrollerWidth-this.$padding*2,_=Math.floor($/this.characterWidth);return this.session.adjustWrapLimit(_,this.$showPrintMargin&&this.$printMarginColumn)},m.prototype.setAnimatedScroll=function($){this.setOption("animatedScroll",$)},m.prototype.getAnimatedScroll=function(){return this.$animatedScroll},m.prototype.setShowInvisibles=function($){this.setOption("showInvisibles",$),this.session.$bidiHandler.setShowInvisibles($)},m.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},m.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},m.prototype.setDisplayIndentGuides=function($){this.setOption("displayIndentGuides",$)},m.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},m.prototype.setHighlightIndentGuides=function($){this.setOption("highlightIndentGuides",$)},m.prototype.setShowPrintMargin=function($){this.setOption("showPrintMargin",$)},m.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},m.prototype.setPrintMarginColumn=function($){this.setOption("printMarginColumn",$)},m.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},m.prototype.getShowGutter=function(){return this.getOption("showGutter")},m.prototype.setShowGutter=function($){return this.setOption("showGutter",$)},m.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},m.prototype.setFadeFoldWidgets=function($){this.setOption("fadeFoldWidgets",$)},m.prototype.setHighlightGutterLine=function($){this.setOption("highlightGutterLine",$)},m.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},m.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var $=y.createElement("div");$.className="ace_layer ace_print-margin-layer",this.$printMarginEl=y.createElement("div"),this.$printMarginEl.className="ace_print-margin",$.appendChild(this.$printMarginEl),this.content.insertBefore($,this.content.firstChild)}var _=this.$printMarginEl.style;_.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",_.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},m.prototype.getContainerElement=function(){return this.container},m.prototype.getMouseEventTarget=function(){return this.scroller},m.prototype.getTextAreaContainer=function(){return this.container},m.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var $=this.textarea.style,_=this.$composition;if(!this.$keepTextAreaAtCursor&&!_){y.translate(this.textarea,-100,0);return}var S=this.$cursorLayer.$pixelPos;if(S){_&&_.markerRange&&(S=this.$cursorLayer.getPixelPosition(_.markerRange.start,!0));var v=this.layerConfig,p=S.top,d=S.left;p-=v.offset;var C=_&&_.useTextareaForIME||c.isMobile?this.lineHeight:1;if(p<0||p>v.height-C){y.translate(this.textarea,0,0);return}var E=1,L=this.$size.height-C;if(!_)p+=this.lineHeight;else if(_.useTextareaForIME){var R=this.textarea.value;E=this.characterWidth*this.session.$getStringScreenWidth(R)[0]}else p+=this.lineHeight+2;d-=this.scrollLeft,d>this.$size.scrollerWidth-E&&(d=this.$size.scrollerWidth-E),d+=this.gutterWidth+this.margin.left,y.setStyle($,"height",C+"px"),y.setStyle($,"width",E+"px"),y.translate(this.textarea,Math.min(d,this.$size.scrollerWidth-E),Math.min(p,L))}}},m.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},m.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},m.prototype.getLastFullyVisibleRow=function(){var $=this.layerConfig,_=$.lastRow,S=this.session.documentToScreenRow(_,0)*$.lineHeight;return S-this.session.getScrollTop()>$.height-$.lineHeight?_-1:_},m.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},m.prototype.setPadding=function($){this.$padding=$,this.$textLayer.setPadding($),this.$cursorLayer.setPadding($),this.$markerFront.setPadding($),this.$markerBack.setPadding($),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},m.prototype.setScrollMargin=function($,_,S,v){var p=this.scrollMargin;p.top=$|0,p.bottom=_|0,p.right=v|0,p.left=S|0,p.v=p.top+p.bottom,p.h=p.left+p.right,p.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-p.top),this.updateFull()},m.prototype.setMargin=function($,_,S,v){var p=this.margin;p.top=$|0,p.bottom=_|0,p.right=v|0,p.left=S|0,p.v=p.top+p.bottom,p.h=p.left+p.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},m.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},m.prototype.setHScrollBarAlwaysVisible=function($){this.setOption("hScrollBarAlwaysVisible",$)},m.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},m.prototype.setVScrollBarAlwaysVisible=function($){this.setOption("vScrollBarAlwaysVisible",$)},m.prototype.$updateScrollBarV=function(){var $=this.layerConfig.maxHeight,_=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&($-=(_-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>$-_&&($=this.scrollTop+_,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight($+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},m.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},m.prototype.freeze=function(){this.$frozen=!0},m.prototype.unfreeze=function(){this.$frozen=!1},m.prototype.$renderChanges=function($,_){if(this.$changes&&($|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!$&&!_){this.$changes|=$;return}if(this.$size.$dirty)return this.$changes|=$,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",$),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var S=this.layerConfig;if($&this.CHANGE_FULL||$&this.CHANGE_SIZE||$&this.CHANGE_TEXT||$&this.CHANGE_LINES||$&this.CHANGE_SCROLL||$&this.CHANGE_H_SCROLL){if($|=this.$computeLayerConfig()|this.$loop.clear(),S.firstRow!=this.layerConfig.firstRow&&S.firstRowScreen==this.layerConfig.firstRowScreen){var v=this.scrollTop+(S.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;v>0&&(this.scrollTop=v,$=$|this.CHANGE_SCROLL,$|=this.$computeLayerConfig()|this.$loop.clear())}S=this.layerConfig,this.$updateScrollBarV(),$&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),y.translate(this.content,-this.scrollLeft,-S.offset);var p=S.width+2*this.$padding+"px",d=S.minHeight+"px";y.setStyle(this.content.style,"width",p),y.setStyle(this.content.style,"height",d)}if($&this.CHANGE_H_SCROLL&&(y.translate(this.content,-this.scrollLeft,-S.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),$&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(S),this.$showGutter&&this.$gutterLayer.update(S),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(S),this.$markerBack.update(S),this.$markerFront.update(S),this.$cursorLayer.update(S),this.$moveTextAreaToCursor(),this._signal("afterRender",$);return}if($&this.CHANGE_SCROLL){this.$changedLines=null,$&this.CHANGE_TEXT||$&this.CHANGE_LINES?this.$textLayer.update(S):this.$textLayer.scrollLines(S),this.$showGutter&&($&this.CHANGE_GUTTER||$&this.CHANGE_LINES?this.$gutterLayer.update(S):this.$gutterLayer.scrollLines(S)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(S),this.$markerBack.update(S),this.$markerFront.update(S),this.$cursorLayer.update(S),this.$moveTextAreaToCursor(),this._signal("afterRender",$);return}$&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(S),this.$showGutter&&this.$gutterLayer.update(S),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(S)):$&this.CHANGE_LINES?((this.$updateLines()||$&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(S),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(S)):$&this.CHANGE_TEXT||$&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(S),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(S)):$&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(S),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(S)),$&this.CHANGE_CURSOR&&(this.$cursorLayer.update(S),this.$moveTextAreaToCursor()),$&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(S),$&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(S),this._signal("afterRender",$)},m.prototype.$autosize=function(){var $=this.session.getScreenLength()*this.lineHeight,_=this.$maxLines*this.lineHeight,S=Math.min(_,Math.max((this.$minLines||1)*this.lineHeight,$))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(S+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&S>this.$maxPixelHeight&&(S=this.$maxPixelHeight);var v=S<=2*this.lineHeight,p=!v&&$>_;if(S!=this.desiredHeight||this.$size.height!=this.desiredHeight||p!=this.$vScroll){p!=this.$vScroll&&(this.$vScroll=p,this.scrollBarV.setVisible(p));var d=this.container.clientWidth;this.container.style.height=S+"px",this.$updateCachedSize(!0,this.$gutterWidth,d,S),this.desiredHeight=S,this._signal("autosize")}},m.prototype.$computeLayerConfig=function(){var $=this.session,_=this.$size,S=_.height<=2*this.lineHeight,v=this.session.getScreenLength(),p=v*this.lineHeight,d=this.$getLongestLine(),C=!S&&(this.$hScrollBarAlwaysVisible||_.scrollerWidth-d-2*this.$padding<0),E=this.$horizScroll!==C;E&&(this.$horizScroll=C,this.scrollBarH.setVisible(C));var L=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),S=_.height<=2*this.lineHeight);var R=_.scrollerHeight+this.lineHeight,I=!this.$maxLines&&this.$scrollPastEnd?(_.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;p+=I;var O=this.scrollMargin;this.session.setScrollTop(Math.max(-O.top,Math.min(this.scrollTop,p-_.scrollerHeight+O.bottom))),this.session.setScrollLeft(Math.max(-O.left,Math.min(this.scrollLeft,d+2*this.$padding-_.scrollerWidth+O.right)));var B=!S&&(this.$vScrollBarAlwaysVisible||_.scrollerHeight-p+I<0||this.scrollTop>O.top),N=L!==B;N&&(this.$vScroll=B,this.scrollBarV.setVisible(B));var W=this.scrollTop%this.lineHeight,P=Math.ceil(R/this.lineHeight)-1,F=Math.max(0,Math.round((this.scrollTop-W)/this.lineHeight)),U=F+P,V,K,Y=this.lineHeight;F=$.screenToDocumentRow(F,0);var J=$.getFoldLine(F);J&&(F=J.start.row),V=$.documentToScreenRow(F,0),K=$.getRowLength(F)*Y,U=Math.min($.screenToDocumentRow(U,0),$.getLength()-1),R=_.scrollerHeight+$.getRowLength(U)*Y+K,W=this.scrollTop-V*Y,W<0&&V>0&&(V=Math.max(0,V+Math.floor(W/Y)),W=this.scrollTop-V*Y);var ne=0;return(this.layerConfig.width!=d||E)&&(ne=this.CHANGE_H_SCROLL),(E||N)&&(ne|=this.$updateCachedSize(!0,this.gutterWidth,_.width,_.height),this._signal("scrollbarVisibilityChanged"),N&&(d=this.$getLongestLine())),this.layerConfig={width:d,padding:this.$padding,firstRow:F,firstRowScreen:V,lastRow:U,lineHeight:Y,characterWidth:this.characterWidth,minHeight:R,maxHeight:p,offset:W,gutterOffset:Y?Math.max(0,Math.ceil((W+_.height-_.scrollerHeight)/Y)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(d-this.$padding),ne},m.prototype.$updateLines=function(){if(this.$changedLines){var $=this.$changedLines.firstRow,_=this.$changedLines.lastRow;this.$changedLines=null;var S=this.layerConfig;if(!($>S.lastRow+1)&&!(_<S.firstRow)){if(_===1/0){this.$showGutter&&this.$gutterLayer.update(S),this.$textLayer.update(S);return}return this.$textLayer.updateLines(S,$,_),!0}}},m.prototype.$getLongestLine=function(){var $=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&($+=1),this.$textLayer&&$>this.$textLayer.MAX_LINE_LENGTH&&($=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round($*this.characterWidth))},m.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},m.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},m.prototype.addGutterDecoration=function($,_){this.$gutterLayer.addGutterDecoration($,_)},m.prototype.removeGutterDecoration=function($,_){this.$gutterLayer.removeGutterDecoration($,_)},m.prototype.updateBreakpoints=function($){this._rows=$,this.$loop.schedule(this.CHANGE_GUTTER)},m.prototype.setAnnotations=function($){this.$gutterLayer.setAnnotations($),this.$loop.schedule(this.CHANGE_GUTTER)},m.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},m.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},m.prototype.showCursor=function(){this.$cursorLayer.showCursor()},m.prototype.scrollSelectionIntoView=function($,_,S){this.scrollCursorIntoView($,S),this.scrollCursorIntoView(_,S)},m.prototype.scrollCursorIntoView=function($,_,S){if(this.$size.scrollerHeight!==0){var v=this.$cursorLayer.getPixelPosition($),p=v.left,d=v.top,C=S&&S.top||0,E=S&&S.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var L=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;L+C>d?(_&&L+C>d+this.lineHeight&&(d-=_*this.$size.scrollerHeight),d===0&&(d=-this.scrollMargin.top),this.session.setScrollTop(d)):L+this.$size.scrollerHeight-E<d+this.lineHeight&&(_&&L+this.$size.scrollerHeight-E<d-this.lineHeight&&(d+=_*this.$size.scrollerHeight),this.session.setScrollTop(d+this.lineHeight+E-this.$size.scrollerHeight));var R=this.scrollLeft,I=2*this.layerConfig.characterWidth;p-I<R?(p-=I,p<this.$padding+I&&(p=-this.scrollMargin.left),this.session.setScrollLeft(p)):(p+=I,R+this.$size.scrollerWidth<p+this.characterWidth?this.session.setScrollLeft(Math.round(p+this.characterWidth-this.$size.scrollerWidth)):R<=this.$padding&&p-R<this.characterWidth&&this.session.setScrollLeft(0))}},m.prototype.getScrollTop=function(){return this.session.getScrollTop()},m.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},m.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},m.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},m.prototype.scrollToRow=function($){this.session.setScrollTop($*this.lineHeight)},m.prototype.alignCursor=function($,_){typeof $=="number"&&($={row:$,column:0});var S=this.$cursorLayer.getPixelPosition($),v=this.$size.scrollerHeight-this.lineHeight,p=S.top-v*(_||0);return this.session.setScrollTop(p),p},m.prototype.$calcSteps=function($,_){var S=0,v=this.STEPS,p=[],d=function(C,E,L){return L*(Math.pow(C-1,3)+1)+E};for(S=0;S<v;++S)p.push(d(S/this.STEPS,$,_-$));return p},m.prototype.scrollToLine=function($,_,S,v){var p=this.$cursorLayer.getPixelPosition({row:$,column:0}),d=p.top;_&&(d-=this.$size.scrollerHeight/2);var C=this.scrollTop;this.session.setScrollTop(d),S!==!1&&this.animateScrolling(C,v)},m.prototype.animateScrolling=function($,_){var S=this.scrollTop;if(!this.$animatedScroll)return;var v=this;if($==S)return;if(this.$scrollAnimation){var p=this.$scrollAnimation.steps;if(p.length&&($=p[0],$==S))return}var d=v.$calcSteps($,S);this.$scrollAnimation={from:$,to:S,steps:d},clearInterval(this.$timer),v.session.setScrollTop(d.shift()),v.session.$scrollTop=S;function C(){v.$timer=clearInterval(v.$timer),v.$scrollAnimation=null,v.$stopAnimation=!1,_&&_()}this.$timer=setInterval(function(){if(v.$stopAnimation){C();return}if(!v.session)return clearInterval(v.$timer);d.length?(v.session.setScrollTop(d.shift()),v.session.$scrollTop=S):S!=null?(v.session.$scrollTop=-1,v.session.setScrollTop(S),S=null):C()},10)},m.prototype.scrollToY=function($){this.scrollTop!==$&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=$)},m.prototype.scrollToX=function($){this.scrollLeft!==$&&(this.scrollLeft=$),this.$loop.schedule(this.CHANGE_H_SCROLL)},m.prototype.scrollTo=function($,_){this.session.setScrollTop(_),this.session.setScrollLeft($)},m.prototype.scrollBy=function($,_){_&&this.session.setScrollTop(this.session.getScrollTop()+_),$&&this.session.setScrollLeft(this.session.getScrollLeft()+$)},m.prototype.isScrollableBy=function($,_){if(_<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||_>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||$<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||$>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},m.prototype.pixelToScreenCoordinates=function($,_){var S;if(this.$hasCssTransforms){S={top:0,left:0};var v=this.$fontMetrics.transformCoordinates([$,_]);$=v[1]-this.gutterWidth-this.margin.left,_=v[0]}else S=this.scroller.getBoundingClientRect();var p=$+this.scrollLeft-S.left-this.$padding,d=p/this.characterWidth,C=Math.floor((_+this.scrollTop-S.top)/this.lineHeight),E=this.$blockCursor?Math.floor(d):Math.round(d);return{row:C,column:E,side:d-E>0?1:-1,offsetX:p}},m.prototype.screenToTextCoordinates=function($,_){var S;if(this.$hasCssTransforms){S={top:0,left:0};var v=this.$fontMetrics.transformCoordinates([$,_]);$=v[1]-this.gutterWidth-this.margin.left,_=v[0]}else S=this.scroller.getBoundingClientRect();var p=$+this.scrollLeft-S.left-this.$padding,d=p/this.characterWidth,C=this.$blockCursor?Math.floor(d):Math.round(d),E=(_+this.scrollTop-S.top)/this.lineHeight;return this.session.screenToDocumentPosition(E,Math.max(C,0),p)},m.prototype.textToScreenCoordinates=function($,_){var S=this.scroller.getBoundingClientRect(),v=this.session.documentToScreenPosition($,_),p=this.$padding+(this.session.$bidiHandler.isBidiRow(v.row,$)?this.session.$bidiHandler.getPosLeft(v.column):Math.round(v.column*this.characterWidth)),d=v.row*this.lineHeight;return{pageX:S.left+p-this.scrollLeft,pageY:S.top+d-this.scrollTop}},m.prototype.visualizeFocus=function(){y.addCssClass(this.container,"ace_focus")},m.prototype.visualizeBlur=function(){y.removeCssClass(this.container,"ace_focus")},m.prototype.showComposition=function($){this.$composition=$,$.cssText||($.cssText=this.textarea.style.cssText),$.useTextareaForIME==null&&($.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(y.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):$.markerId=this.session.addMarker($.markerRange,"ace_composition_marker","text")},m.prototype.setCompositionText=function($){var _=this.session.selection.cursor;this.addToken($,"composition_placeholder",_.row,_.column),this.$moveTextAreaToCursor()},m.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),y.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var $=this.session.selection.cursor;this.removeExtraToken($.row,$.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},m.prototype.setGhostText=function($,_){var S=this.session.selection.cursor,v=_||{row:S.row,column:S.column};this.removeGhostText();var p=this.$calculateWrappedTextChunks($,v);this.addToken(p[0].text,"ghost_text",v.row,v.column),this.$ghostText={text:$,position:{row:v.row,column:v.column}};var d=y.createElement("div");if(p.length>1){var C=this.hideTokensAfterPosition(v.row,v.column),E;p.slice(1).forEach(function(N){var W=y.createElement("div"),P=y.createElement("span");P.className="ace_ghost_text",N.wrapped&&(W.className="ghost_text_line_wrapped"),N.text.length===0&&(N.text=" "),P.appendChild(y.createTextNode(N.text)),W.appendChild(P),d.appendChild(W),E=W}),C.forEach(function(N){var W=y.createElement("span");g(N.type)||(W.className="ace_"+N.type.replace(/\./g," ace_")),W.appendChild(y.createTextNode(N.value)),E.appendChild(W)}),this.$ghostTextWidget={el:d,row:v.row,column:v.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var L=this.$cursorLayer.getPixelPosition(v,!0),R=this.container,I=R.getBoundingClientRect().height,O=p.length*this.lineHeight,B=O<I-L.top;if(B)return;O<I?this.scrollBy(0,(p.length-1)*this.lineHeight):this.scrollToRow(v.row)}},m.prototype.$calculateWrappedTextChunks=function($,_){var S=this.$size.scrollerWidth-this.$padding*2,v=Math.floor(S/this.characterWidth)-2;v=v<=0?60:v;for(var p=$.split(/\r?\n/),d=[],C=0;C<p.length;C++){var E=this.session.$getDisplayTokens(p[C],_.column),L=this.session.$computeWrapSplits(E,v,this.session.$tabSize);if(L.length>0){var R=0;L.push(p[C].length);for(var I=0;I<L.length;I++){var O=p[C].slice(R,L[I]);d.push({text:O,wrapped:!0}),R=L[I]}}else d.push({text:p[C],wrapped:!1})}return d},m.prototype.removeGhostText=function(){if(this.$ghostText){var $=this.$ghostText.position;this.removeExtraToken($.row,$.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},m.prototype.addToken=function($,_,S,v){var p=this.session;p.bgTokenizer.lines[S]=null;var d={type:_,value:$},C=p.getTokens(S);if(v==null||!C.length)C.push(d);else for(var E=0,L=0;L<C.length;L++){var R=C[L];if(E+=R.value.length,v<=E){var I=R.value.length-(E-v),O=R.value.slice(0,I),B=R.value.slice(I);C.splice(L,1,{type:R.type,value:O},d,{type:R.type,value:B});break}}this.updateLines(S,S)},m.prototype.hideTokensAfterPosition=function($,_){for(var S=this.session.getTokens($),v=0,p=!1,d=[],C=0;C<S.length;C++){var E=S[C];if(v+=E.value.length,E.type!=="ghost_text"){if(p){d.push({type:E.type,value:E.value}),E.type="hidden_token";continue}v===_&&(p=!0)}}return this.updateLines($,$),d},m.prototype.removeExtraToken=function($,_){this.session.bgTokenizer.lines[$]=null,this.updateLines($,$)},m.prototype.setTheme=function($,_){var S=this;if(this.$themeId=$,S._dispatchEvent("themeChange",{theme:$}),!$||typeof $=="string"){var v=$||this.$options.theme.initialValue;a.loadModule(["theme",v],p)}else p($);function p(d){if(S.$themeId!=$)return _&&_();if(!d||!d.cssClass)throw new Error("couldn't load module "+$+" or it didn't call define");d.$id&&(S.$themeId=d.$id),y.importCssString(d.cssText,d.cssClass,S.container),S.theme&&y.removeCssClass(S.container,S.theme.cssClass);var C="padding"in d?d.padding:"padding"in(S.theme||{})?4:S.$padding;if(S.$padding&&C!=S.$padding&&S.setPadding(C),S.$gutterLayer){var E=d.$showGutterCursorMarker;E&&!S.$gutterLayer.$showCursorMarker?S.$gutterLayer.$showCursorMarker="theme":!E&&S.$gutterLayer.$showCursorMarker=="theme"&&(S.$gutterLayer.$showCursorMarker=null)}S.$theme=d.cssClass,S.theme=d,y.addCssClass(S.container,d.cssClass),y.setCssClass(S.container,"ace_dark",d.isDark),S.$size&&(S.$size.width=0,S.$updateSizeAsync()),S._dispatchEvent("themeLoaded",{theme:d}),_&&_(),c.isSafari&&S.scroller&&(S.scroller.style.background="red",S.scroller.style.background="")}},m.prototype.getTheme=function(){return this.$themeId},m.prototype.setStyle=function($,_){y.setCssClass(this.container,$,_!==!1)},m.prototype.unsetStyle=function($){y.removeCssClass(this.container,$)},m.prototype.setCursorStyle=function($){y.setStyle(this.scroller.style,"cursor",$)},m.prototype.setMouseCursor=function($){y.setStyle(this.scroller.style,"cursor",$)},m.prototype.attachToShadowRoot=function(){y.importCssString(x,"ace_editor.css",this.container)},m.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},m.prototype.$updateCustomScrollbar=function($){var _=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),$===!0?(this.scrollBarV=new s(this.container,this),this.scrollBarH=new o(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(S){_.$scrollAnimation||_.session.setScrollTop(S.data-_.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(S){_.$scrollAnimation||_.session.setScrollLeft(S.data-_.scrollMargin.left)}),this.$scrollDecorator?(this.$scrollDecorator.setScrollBarV(this.scrollBarV),this.$scrollDecorator.$updateDecorators()):(this.$scrollDecorator=new f(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators())):(this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.addEventListener("scroll",function(S){_.$scrollAnimation||_.session.setScrollTop(S.data-_.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(S){_.$scrollAnimation||_.session.setScrollLeft(S.data-_.scrollMargin.left)}))},m.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var $=this;this.$resizeTimer=b.delayedCall(function(){$.destroyed||$.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(_){var S=_[0].contentRect.width,v=_[0].contentRect.height;Math.abs($.$size.width-S)>1||Math.abs($.$size.height-v)>1?$.$resizeTimer.delay():$.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},m})();w.prototype.CHANGE_CURSOR=1,w.prototype.CHANGE_MARKER=2,w.prototype.CHANGE_GUTTER=4,w.prototype.CHANGE_SCROLL=8,w.prototype.CHANGE_LINES=16,w.prototype.CHANGE_TEXT=32,w.prototype.CHANGE_SIZE=64,w.prototype.CHANGE_MARKER_BACK=128,w.prototype.CHANGE_MARKER_FRONT=256,w.prototype.CHANGE_FULL=512,w.prototype.CHANGE_H_SCROLL=1024,w.prototype.$changes=0,w.prototype.$padding=null,w.prototype.$frozen=!1,w.prototype.STEPS=8,k.implement(w.prototype,A),a.defineOptions(w.prototype,"renderer",{useResizeObserver:{set:function(m){!m&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):m&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(m){this.$textLayer.setShowInvisibles(m)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(m){typeof m=="number"&&(this.$printMarginColumn=m),this.$showPrintMargin=!!m,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(m){this.$gutter.style.display=m?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(m){this.$gutterLayer.$useSvgGutterIcons=m},initialValue:!1},showFoldedAnnotations:{set:function(m){this.$gutterLayer.$showFoldedAnnotations=m},initialValue:!1},fadeFoldWidgets:{set:function(m){y.setCssClass(this.$gutter,"ace_fade-fold-widgets",m)},initialValue:!1},showFoldWidgets:{set:function(m){this.$gutterLayer.setShowFoldWidgets(m),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(m){this.$textLayer.setDisplayIndentGuides(m)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(m){this.$textLayer.setHighlightIndentGuides(m)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(m){this.$gutterLayer.setHighlightGutterLine(m),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(m){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(m){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(m){typeof m=="number"&&(m=m+"px"),this.container.style.fontSize=m,this.updateFontSize()},initialValue:12},fontFamily:{set:function(m){this.container.style.fontFamily=m,this.updateFontSize()}},maxLines:{set:function(m){this.updateFull()}},minLines:{set:function(m){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(m){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(m){m=+m||0,this.$scrollPastEnd!=m&&(this.$scrollPastEnd=m,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(m){this.$gutterLayer.$fixedWidth=!!m,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(m){this.$updateCustomScrollbar(m)},initialValue:!1},theme:{set:function(m){this.setTheme(m)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!c.isMobile&&!c.isIE}}),M.VirtualRenderer=w}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(T,M,z){var k=T("../lib/oop"),y=T("../lib/net"),b=T("../lib/event_emitter").EventEmitter,a=T("../config");function l(t){var e="importScripts('"+y.qualifyURL(t)+"');";try{return new Blob([e],{type:"application/javascript"})}catch(h){var o=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new o;return s.append(e),s.getBlob("application/javascript")}}function r(t){if(typeof Worker=="undefined")return{postMessage:function(){},terminate:function(){}};if(a.get("loadWorkerFromBlob")){var e=l(t),o=window.URL||window.webkitURL,s=o.createObjectURL(e);return new Worker(s)}return new Worker(t)}var i=function(t){t.postMessage||(t=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=t,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){k.implement(this,b),this.$createWorkerFromOldConfig=function(t,e,o,s,h){if(T.nameToUrl&&!T.toUrl&&(T.toUrl=T.nameToUrl),a.get("packaged")||!T.toUrl)s=s||a.moduleUrl(e,"worker");else{var u=this.$normalizePath;s=s||u(T.toUrl("ace/worker/worker.js",null,"_"));var A={};t.forEach(function(x){A[x]=u(T.toUrl(x,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=r(s),h&&this.send("importScripts",h),this.$worker.postMessage({init:!0,tlns:A,module:e,classname:o}),this.$worker},this.onMessage=function(t){var e=t.data;switch(e.type){case"event":this._signal(e.name,{data:e.data});break;case"call":var o=this.callbacks[e.id];o&&(o(e.data),delete this.callbacks[e.id]);break;case"error":this.reportError(e.data);break;case"log":window.console;break}},this.reportError=function(t){window.console},this.$normalizePath=function(t){return y.qualifyURL(t)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(t){t.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(t,e){this.$worker.postMessage({command:t,args:e})},this.call=function(t,e,o){if(o){var s=this.callbackId++;this.callbacks[s]=o,e.push(s)}this.send(t,e)},this.emit=function(t,e){try{e.data&&e.data.err&&(e.data.err={message:e.data.err.message,stack:e.data.err.stack,code:e.data.err.code}),this.$worker&&this.$worker.postMessage({event:t,data:{data:e.data}})}catch(o){}},this.attachToDocument=function(t){this.$doc&&this.terminate(),this.$doc=t,this.call("setValue",[t.getValue()]),t.on("change",this.changeListener,!0)},this.changeListener=function(t){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),t.action=="insert"?this.deltaQueue.push(t.start,t.lines):this.deltaQueue.push(t.start,t.end)},this.$sendDeltaQueue=function(){var t=this.deltaQueue;t&&(this.deltaQueue=null,t.length>50&&t.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:t}))}}).call(i.prototype);var n=function(t,e,o){var s=null,h=!1,u=Object.create(b),A=[],x=new i({messageBuffer:A,terminate:function(){},postMessage:function(c){A.push(c),s&&(h?setTimeout(f):f())}});x.setEmitSync=function(c){h=c};var f=function(){var c=A.shift();c.command?s[c.command].apply(s,c.args):c.event&&u._signal(c.event,c.data)};return u.postMessage=function(c){x.onMessage({data:c})},u.callback=function(c,g){this.postMessage({type:"call",id:g,data:c})},u.emit=function(c,g){this.postMessage({type:"event",name:c,data:g})},a.loadModule(["worker",e],function(c){for(s=new c[o](u);A.length;)f()}),x};M.UIWorkerClient=n,M.WorkerClient=i,M.createWorker=r}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(T,M,z){var k=T("./range").Range,y=T("./lib/event_emitter").EventEmitter,b=T("./lib/oop"),a=(function(){function l(r,i,n,t,e,o){var s=this;this.length=i,this.session=r,this.doc=r.getDocument(),this.mainClass=e,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=t,this.$onCursorChange=function(){setTimeout(function(){s.onCursorChange()})},this.$pos=n;var h=r.getUndoManager().$undoStack||r.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=h.length,this.setup(),r.selection.on("changeCursor",this.$onCursorChange)}return l.prototype.setup=function(){var r=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 t=this.pos;t.$insertRight=!0,t.detach(),t.markerId=n.addMarker(new k(t.row,t.column,t.row,t.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){var o=i.createAnchor(e.row,e.column);o.$insertRight=!0,o.detach(),r.others.push(o)}),n.setUndoSelect(!1)},l.prototype.showOtherMarkers=function(){if(!this.othersActive){var r=this.session,i=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=r.addMarker(new k(n.row,n.column,n.row,n.column+i.length),i.othersClass,null,!1)})}},l.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var r=0;r<this.others.length;r++)this.session.removeMarker(this.others[r].markerId)}},l.prototype.onUpdate=function(r){if(this.$updating)return this.updateAnchors(r);var i=r;if(i.start.row===i.end.row&&i.start.row===this.pos.row){this.$updating=!0;var n=r.action==="insert"?i.end.column-i.start.column:i.start.column-i.end.column,t=i.start.column>=this.pos.column&&i.start.column<=this.pos.column+this.length+1,e=i.start.column-this.pos.column;if(this.updateAnchors(r),t&&(this.length+=n),t&&!this.session.$fromUndo){if(r.action==="insert")for(var o=this.others.length-1;o>=0;o--){var s=this.others[o],h={row:s.row,column:s.column+e};this.doc.insertMergedLines(h,r.lines)}else if(r.action==="remove")for(var o=this.others.length-1;o>=0;o--){var s=this.others[o],h={row:s.row,column:s.column+e};this.doc.remove(new k(h.row,h.column,h.row,h.column-n))}}this.$updating=!1,this.updateMarkers()}},l.prototype.updateAnchors=function(r){this.pos.onChange(r);for(var i=this.others.length;i--;)this.others[i].onChange(r);this.updateMarkers()},l.prototype.updateMarkers=function(){if(!this.$updating){var r=this,i=this.session,n=function(e,o){i.removeMarker(e.markerId),e.markerId=i.addMarker(new k(e.row,e.column,e.row,e.column+r.length),o,null,!1)};n(this.pos,this.mainClass);for(var t=this.others.length;t--;)n(this.others[t],this.othersClass)}},l.prototype.onCursorChange=function(r){if(!(this.$updating||!this.session)){var i=this.session.selection.getCursor();i.row===this.pos.row&&i.column>=this.pos.column&&i.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",r)):(this.hideOtherMarkers(),this._emit("cursorLeave",r))}},l.prototype.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},l.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var r=this.session.getUndoManager(),i=(r.$undoStack||r.$undostack).length-this.$undoStackDepth,n=0;n<i;n++)r.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},l})();b.implement(a.prototype,y),M.PlaceHolder=a}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(T,M,z){var k=T("../lib/event"),y=T("../lib/useragent");function b(l,r){return l.row==r.row&&l.column==r.column}function a(l){var r=l.domEvent,i=r.altKey,n=r.shiftKey,t=r.ctrlKey,e=l.getAccelKey(),o=l.getButton();if(t&&y.isMac&&(o=r.button),l.editor.inMultiSelectMode&&o==2){l.editor.textInput.onContextMenu(l.domEvent);return}if(!t&&!i&&!e){o===0&&l.editor.inMultiSelectMode&&l.editor.exitMultiSelectMode();return}if(o===0){var s=l.editor,h=s.selection,u=s.inMultiSelectMode,A=l.getDocumentPosition(),x=h.getCursor(),f=l.inSelection()||h.isEmpty()&&b(A,x),c=l.x,g=l.y,w=function(O){c=O.clientX,g=O.clientY},m=s.session,$=s.renderer.pixelToScreenCoordinates(c,g),_=$,S;if(s.$mouseHandler.$enableJumpToDef)t&&i||e&&i?S=n?"block":"add":i&&s.$blockSelectEnabled&&(S="block");else if(e&&!i){if(S="add",!u&&n)return}else i&&s.$blockSelectEnabled&&(S="block");if(S&&y.isMac&&r.ctrlKey&&s.$mouseHandler.cancelContextMenu(),S=="add"){if(!u&&f)return;if(!u){var v=h.toOrientedRange();s.addSelectionMarker(v)}var p=h.rangeList.rangeAtPoint(A);s.inVirtualSelectionMode=!0,n&&(p=null,v=h.ranges[0]||v,s.removeSelectionMarker(v)),s.once("mouseup",function(){var O=h.toOrientedRange();p&&O.isEmpty()&&b(p.cursor,O.cursor)?h.substractPoint(O.cursor):(n?h.substractPoint(v.cursor):v&&(s.removeSelectionMarker(v),h.addRange(v)),h.addRange(O)),s.inVirtualSelectionMode=!1})}else if(S=="block"){l.stop(),s.inVirtualSelectionMode=!0;var d,C=[],E=function(){var O=s.renderer.pixelToScreenCoordinates(c,g),B=m.screenToDocumentPosition(O.row,O.column,O.offsetX);b(_,O)&&b(B,h.lead)||(_=O,s.selection.moveToPosition(B),s.renderer.scrollCursorIntoView(),s.removeSelectionMarkers(C),C=h.rectangularRangeBlock(_,$),s.$mouseHandler.$clickSelection&&C.length==1&&C[0].isEmpty()&&(C[0]=s.$mouseHandler.$clickSelection.clone()),C.forEach(s.addSelectionMarker,s),s.updateSelectionMarkers())};u&&!e?h.toSingleRange():!u&&e&&(d=h.toOrientedRange(),s.addSelectionMarker(d)),n?$=m.documentToScreenPosition(h.lead):h.moveToPosition(A),_={row:-1,column:-1};var L=function(O){E(),clearInterval(I),s.removeSelectionMarkers(C),C.length||(C=[h.toOrientedRange()]),d&&(s.removeSelectionMarker(d),h.toSingleRange(d));for(var B=0;B<C.length;B++)h.addRange(C[B]);s.inVirtualSelectionMode=!1,s.$mouseHandler.$clickSelection=null},R=E;k.capture(s.container,w,L);var I=setInterval(function(){R()},20);return l.preventDefault()}}}M.onMouseDown=a}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(T,M,z){M.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(y){y.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(y){y.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(y){y.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(y){y.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(y){y.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(y){y.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(y){y.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(y){y.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(y){y.multiSelect.rangeCount>1?y.multiSelect.joinSelections():y.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(y){y.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(y){y.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(y){y.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],M.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(y){y.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(y){return y&&y.inMultiSelectMode}}];var k=T("../keyboard/hash_handler").HashHandler;M.keyboardHandler=new k(M.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(T,M,z){var k=T("./range_list").RangeList,y=T("./range").Range,b=T("./selection").Selection,a=T("./mouse/multi_select_handler").onMouseDown,l=T("./lib/event"),r=T("./lib/lang"),i=T("./commands/multi_select_commands");M.commands=i.defaultCommands.concat(i.multiSelectCommands);var n=T("./search").Search,t=new n;function e(x,f,c){return t.$options.wrap=!0,t.$options.needle=f,t.$options.backwards=c==-1,t.find(x)}var o=T("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(o.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(x,f){if(x){if(!this.inMultiSelectMode&&this.rangeCount===0){var c=this.toOrientedRange();if(this.rangeList.add(c),this.rangeList.add(x),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),f||this.fromOrientedRange(x);this.rangeList.removeAll(),this.rangeList.add(c),this.$onAddRange(c)}x.cursor||(x.cursor=x.end);var g=this.rangeList.add(x);return this.$onAddRange(x),g.length&&this.$onRemoveRange(g),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),f||this.fromOrientedRange(x)}},this.toSingleRange=function(x){x=x||this.ranges[0];var f=this.rangeList.removeAll();f.length&&this.$onRemoveRange(f),x&&this.fromOrientedRange(x)},this.substractPoint=function(x){var f=this.rangeList.substractPoint(x);if(f)return this.$onRemoveRange(f),f[0]},this.mergeOverlappingRanges=function(){var x=this.rangeList.merge();x.length&&this.$onRemoveRange(x)},this.$onAddRange=function(x){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(x),this._signal("addRange",{range:x})},this.$onRemoveRange=function(x){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var f=this.rangeList.ranges.pop();x.push(f),this.rangeCount=0}for(var c=x.length;c--;){var g=this.ranges.indexOf(x[c]);this.ranges.splice(g,1)}this._signal("removeRange",{ranges:x}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),f=f||this.ranges[0],f&&!f.isEqual(this.getRange())&&this.fromOrientedRange(f)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new k,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var x=this.ranges.length?this.ranges:[this.getRange()],f=[],c=0;c<x.length;c++){var g=x[c],w=g.start.row,m=g.end.row;if(w===m)f.push(g.clone());else{for(f.push(new y(w,g.start.column,w,this.session.getLine(w).length));++w<m;)f.push(this.getLineRange(w,!0));f.push(new y(m,0,m,g.end.column))}c==0&&!this.isBackwards()&&(f=f.reverse())}this.toSingleRange();for(var c=f.length;c--;)this.addRange(f[c])},this.joinSelections=function(){var x=this.rangeList.ranges,f=x[x.length-1],c=y.fromPoints(x[0].start,f.end);this.toSingleRange(),this.setSelectionRange(c,f.cursor==f.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var x=this.rangeList.ranges,f=x[x.length-1],c=y.fromPoints(x[0].start,f.end);this.toSingleRange(),this.setSelectionRange(c,f.cursor==f.start)}else{var g=this.session.documentToScreenPosition(this.cursor),w=this.session.documentToScreenPosition(this.anchor),m=this.rectangularRangeBlock(g,w);m.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(x,f,c){var g=[],w=x.column<f.column;if(w)var m=x.column,$=f.column,_=x.offsetX,S=f.offsetX;else var m=f.column,$=x.column,_=f.offsetX,S=x.offsetX;var v=x.row<f.row;if(v)var p=x.row,d=f.row;else var p=f.row,d=x.row;m<0&&(m=0),p<0&&(p=0),p==d&&(c=!0);for(var C,E=p;E<=d;E++){var L=y.fromPoints(this.session.screenToDocumentPosition(E,m,_),this.session.screenToDocumentPosition(E,$,S));if(L.isEmpty()){if(C&&h(L.end,C))break;C=L.end}L.cursor=w?L.start:L.end,g.push(L)}if(v&&g.reverse(),!c){for(var R=g.length-1;g[R].isEmpty()&&R>0;)R--;if(R>0)for(var I=0;g[I].isEmpty();)I++;for(var O=R;O>=I;O--)g[O].isEmpty()&&g.splice(O,1)}return g}}).call(b.prototype);var s=T("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(x){x.cursor||(x.cursor=x.end);var f=this.getSelectionStyle();return x.marker=this.session.addMarker(x,"ace_selection",f),this.session.$selectionMarkers.push(x),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,x},this.removeSelectionMarker=function(x){if(x.marker){this.session.removeMarker(x.marker);var f=this.session.$selectionMarkers.indexOf(x);f!=-1&&this.session.$selectionMarkers.splice(f,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(x){for(var f=this.session.$selectionMarkers,c=x.length;c--;){var g=x[c];if(g.marker){this.session.removeMarker(g.marker);var w=f.indexOf(g);w!=-1&&f.splice(w,1)}}this.session.selectionMarkerCount=f.length},this.$onAddRange=function(x){this.addSelectionMarker(x.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(x){this.removeSelectionMarkers(x.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(x){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(i.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(x){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(i.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(x){var f=x.command,c=x.editor;if(c.multiSelect){if(f.multiSelectAction)f.multiSelectAction=="forEach"?g=c.forEachSelection(f,x.args):f.multiSelectAction=="forEachLine"?g=c.forEachSelection(f,x.args,!0):f.multiSelectAction=="single"?(c.exitMultiSelectMode(),g=f.exec(c,x.args||{})):g=f.multiSelectAction(c,x.args||{});else{var g=f.exec(c,x.args||{});c.multiSelect.addRange(c.multiSelect.toOrientedRange()),c.multiSelect.mergeOverlappingRanges()}return g}},this.forEachSelection=function(x,f,c){if(!this.inVirtualSelectionMode){var g=c&&c.keepOrder,w=c==!0||c&&c.$byLines,m=this.session,$=this.selection,_=$.rangeList,S=(g?$:_).ranges,v;if(!S.length)return x.exec?x.exec(this,f||{}):x(this,f||{});var p=$._eventRegistry;$._eventRegistry={};var d=new b(m);this.inVirtualSelectionMode=!0;for(var C=S.length;C--;){if(w)for(;C>0&&S[C].start.row==S[C-1].end.row;)C--;d.fromOrientedRange(S[C]),d.index=C,this.selection=m.selection=d;var E=x.exec?x.exec(this,f||{}):x(this,f||{});!v&&E!==void 0&&(v=E),d.toOrientedRange(S[C])}d.detach(),this.selection=m.selection=$,this.inVirtualSelectionMode=!1,$._eventRegistry=p,$.mergeOverlappingRanges(),$.ranges[0]&&$.fromOrientedRange($.ranges[0]);var L=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),L&&L.from==L.to&&this.renderer.animateScrolling(L.from),v}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var x="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var f=this.multiSelect.rangeList.ranges,c=[],g=0;g<f.length;g++)c.push(this.session.getTextRange(f[g]));var w=this.session.getDocument().getNewLineCharacter();x=c.join(w),x.length==(c.length-1)*w.length&&(x="")}else this.selection.isEmpty()||(x=this.session.getTextRange(this.getSelectionRange()));return x},this.$checkMultiselectChange=function(x,f){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var c=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&f==this.multiSelect.anchor)return;var g=f==this.multiSelect.anchor?c.cursor==c.start?c.end:c.start:c.cursor;g.row!=f.row||this.session.$clipPositionToDocument(g.row,g.column).column!=f.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(x,f,c){if(f=f||{},f.needle=x||f.needle,f.needle==null){var g=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();f.needle=this.session.getTextRange(g)}this.$search.set(f);var w=this.$search.findAll(this.session);if(!w.length)return 0;var m=this.multiSelect;c||m.toSingleRange(w[0]);for(var $=w.length;$--;)m.addRange(w[$],!0);return g&&m.rangeList.rangeAtPoint(g.start)&&m.addRange(g,!0),w.length},this.selectMoreLines=function(x,f){var c=this.selection.toOrientedRange(),g=c.cursor==c.end,w=this.session.documentToScreenPosition(c.cursor);this.selection.$desiredColumn&&(w.column=this.selection.$desiredColumn);var m=this.session.screenToDocumentPosition(w.row+x,w.column);if(c.isEmpty())var _=m;else var $=this.session.documentToScreenPosition(g?c.end:c.start),_=this.session.screenToDocumentPosition($.row+x,$.column);if(g){var S=y.fromPoints(m,_);S.cursor=S.start}else{var S=y.fromPoints(_,m);S.cursor=S.end}if(S.desiredColumn=w.column,!this.selection.inMultiSelectMode)this.selection.addRange(c);else if(f)var v=c.cursor;this.selection.addRange(S),v&&this.selection.substractPoint(v)},this.transposeSelections=function(x){for(var f=this.session,c=f.multiSelect,g=c.ranges,w=g.length;w--;){var m=g[w];if(m.isEmpty()){var $=f.getWordRange(m.start.row,m.start.column);m.start.row=$.start.row,m.start.column=$.start.column,m.end.row=$.end.row,m.end.column=$.end.column}}c.mergeOverlappingRanges();for(var _=[],w=g.length;w--;){var m=g[w];_.unshift(f.getTextRange(m))}x<0?_.unshift(_.pop()):_.push(_.shift());for(var w=g.length;w--;){var m=g[w],S=m.clone();f.replace(m,_[w]),m.start.row=S.start.row,m.start.column=S.start.column}c.fromOrientedRange(c.ranges[0])},this.selectMore=function(x,f,c){var g=this.session,w=g.multiSelect,m=w.toOrientedRange();if(!(m.isEmpty()&&(m=g.getWordRange(m.start.row,m.start.column),m.cursor=x==-1?m.start:m.end,this.multiSelect.addRange(m),c))){var $=g.getTextRange(m),_=e(g,$,x);_&&(_.cursor=x==-1?_.start:_.end,this.session.unfold(_),this.multiSelect.addRange(_),this.renderer.scrollCursorIntoView(null,.5)),f&&this.multiSelect.substractPoint(m.cursor)}},this.alignCursors=function(){var x=this.session,f=x.multiSelect,c=f.ranges,g=-1,w=c.filter(function(R){if(R.cursor.row==g)return!0;g=R.cursor.row});if(!c.length||w.length==c.length-1){var m=this.selection.getRange(),$=m.start.row,_=m.end.row,S=$==_;if(S){var v=this.session.getLength(),p;do p=this.session.getLine(_);while(/[=:]/.test(p)&&++_<v);do p=this.session.getLine($);while(/[=:]/.test(p)&&--$>0);$<0&&($=0),_>=v&&(_=v-1)}var d=this.session.removeFullLines($,_);d=this.$reAlignText(d,S),this.session.insert({row:$,column:0},d.join(` |
| 945 |
`)+` |
| 946 |
`),S||(m.start.column=0,m.end.column=d[d.length-1].length),this.selection.setRange(m)}else{w.forEach(function(R){f.substractPoint(R.cursor)});var C=0,E=1/0,L=c.map(function(R){var I=R.cursor,O=x.getLine(I.row),B=O.substr(I.column).search(/\S/g);return B==-1&&(B=0),I.column>C&&(C=I.column),B<E&&(E=B),B});c.forEach(function(R,I){var O=R.cursor,B=C-O.column,N=L[I]-E;B>N?x.insert(O,r.stringRepeat(" ",B-N)):x.remove(new y(O.row,O.column,O.row,O.column-B+N)),R.start.column=R.end.column=C,R.start.row=R.end.row=O.row,R.cursor=R.end}),f.fromOrientedRange(c[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(x,f){var c=!0,g=!0,w,m,$;return x.map(function(d){var C=d.match(/(\s*)(.*?)(\s*)([=:].*)/);return C?w==null?(w=C[1].length,m=C[2].length,$=C[3].length,C):(w+m+$!=C[1].length+C[2].length+C[3].length&&(g=!1),w!=C[1].length&&(c=!1),w>C[1].length&&(w=C[1].length),m<C[2].length&&(m=C[2].length),$>C[3].length&&($=C[3].length),C):[d]}).map(f?S:c?g?v:S:p);function _(d){return r.stringRepeat(" ",d)}function S(d){return d[2]?_(w)+d[2]+_(m-d[2].length+$)+d[4].replace(/^([=:])\s+/,"$1 "):d[0]}function v(d){return d[2]?_(w+m-d[2].length)+d[2]+_($)+d[4].replace(/^([=:])\s+/,"$1 "):d[0]}function p(d){return d[2]?_(w)+d[2]+_($)+d[4].replace(/^([=:])\s+/,"$1 "):d[0]}}}).call(s.prototype);function h(x,f){return x.row==f.row&&x.column==f.column}M.onSessionChange=function(x){var f=x.session;f&&!f.multiSelect&&(f.$selectionMarkers=[],f.selection.$initRangeList(),f.multiSelect=f.selection),this.multiSelect=f&&f.multiSelect;var c=x.oldSession;c&&(c.multiSelect.off("addRange",this.$onAddRange),c.multiSelect.off("removeRange",this.$onRemoveRange),c.multiSelect.off("multiSelect",this.$onMultiSelect),c.multiSelect.off("singleSelect",this.$onSingleSelect),c.multiSelect.lead.off("change",this.$checkMultiselectChange),c.multiSelect.anchor.off("change",this.$checkMultiselectChange)),f&&(f.multiSelect.on("addRange",this.$onAddRange),f.multiSelect.on("removeRange",this.$onRemoveRange),f.multiSelect.on("multiSelect",this.$onMultiSelect),f.multiSelect.on("singleSelect",this.$onSingleSelect),f.multiSelect.lead.on("change",this.$checkMultiselectChange),f.multiSelect.anchor.on("change",this.$checkMultiselectChange)),f&&this.inMultiSelectMode!=f.selection.inMultiSelectMode&&(f.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function u(x){x.$multiselectOnSessionChange||(x.$onAddRange=x.$onAddRange.bind(x),x.$onRemoveRange=x.$onRemoveRange.bind(x),x.$onMultiSelect=x.$onMultiSelect.bind(x),x.$onSingleSelect=x.$onSingleSelect.bind(x),x.$multiselectOnSessionChange=M.onSessionChange.bind(x),x.$checkMultiselectChange=x.$checkMultiselectChange.bind(x),x.$multiselectOnSessionChange(x),x.on("changeSession",x.$multiselectOnSessionChange),x.on("mousedown",a),x.commands.addCommands(i.defaultCommands),A(x))}function A(x){if(!x.textInput)return;var f=x.textInput.getElement(),c=!1;l.addListener(f,"keydown",function(w){var m=w.keyCode==18&&!(w.ctrlKey||w.shiftKey||w.metaKey);x.$blockSelectEnabled&&m?c||(x.renderer.setMouseCursor("crosshair"),c=!0):c&&g()},x),l.addListener(f,"keyup",g,x),l.addListener(f,"blur",g,x);function g(w){c&&(x.renderer.setMouseCursor(""),c=!1)}}M.MultiSelect=u,T("./config").defineOptions(s.prototype,"editor",{enableMultiselect:{set:function(x){u(this),x?this.on("mousedown",a):this.off("mousedown",a)},value:!0},enableBlockSelect:{set:function(x){this.$blockSelectEnabled=x},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(T,M,z){var k=T("../../range").Range,y=M.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(b,a,l){var r=b.getLine(l);return this.foldingStartMarker.test(r)?"start":a=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(b,a,l){return null},this.indentationBlock=function(b,a,l){var r=/\S/,i=b.getLine(a),n=i.search(r);if(n!=-1){for(var t=l||i.length,e=b.getLength(),o=a,s=a;++a<e;){var h=b.getLine(a).search(r);if(h!=-1){if(h<=n){var u=b.getTokenAt(a,0);if(!u||u.type!=="string")break}s=a}}if(s>o){var A=b.getLine(s).length;return new k(o,t,s,A)}}},this.openingBracketBlock=function(b,a,l,r,i){var n={row:l,column:r+1},t=b.$findClosingBracket(a,n,i);if(t){var e=b.foldWidgets[t.row];return e==null&&(e=b.getFoldWidget(t.row)),e=="start"&&t.row>n.row&&(t.row--,t.column=b.getLine(t.row).length),k.fromPoints(n,t)}},this.closingBracketBlock=function(b,a,l,r,i){var n={row:l,column:r},t=b.$findOpeningBracket(a,n);if(t)return t.column++,n.column--,k.fromPoints(t,n)}}).call(y.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(T,M,z){var k=T("../lib/dom"),y=T("../range").Range,b=T("../config").nls;function a(r,i,n){for(var t=0,e=r.length-1;t<=e;){var o=t+e>>1,s=n(i,r[o]);if(s>0)t=o+1;else if(s<0)e=o-1;else return o}return-(t+1)}function l(r,i,n){var t=r.getAnnotations().sort(y.comparePoints);if(t.length){var e=a(t,{row:i,column:-1},y.comparePoints);e<0&&(e=-e-1),e>=t.length?e=n>0?0:t.length-1:e===0&&n<0&&(e=t.length-1);var o=t[e];if(!(!o||!n)){if(o.row===i){do o=t[e+=n];while(o&&o.row===i);if(!o)return t.slice()}var s=[];i=o.row;do s[n<0?"unshift":"push"](o),o=t[e+=n];while(o&&o.row==i);return s.length&&s}}}M.showErrorMarker=function(r,i){var n=r.session,t=r.getCursorPosition(),e=t.row,o=n.widgetManager.getWidgetsAtRow(e).filter(function(w){return w.type=="errorMarker"})[0];o?o.destroy():e-=i;var s=l(n,e,i),h;if(s){var u=s[0];t.column=(u.pos&&typeof u.column!="number"?u.pos.sc:u.column)||0,t.row=u.row,h=r.renderer.$gutterLayer.$annotations[t.row]}else{if(o)return;h={displayText:[b("error-marker.good-state","Looks good!")],className:"ace_ok"}}r.session.unfold(t.row),r.selection.moveToPosition(t);var A={row:t.row,fixedWidth:!0,coverGutter:!0,el:k.createElement("div"),type:"errorMarker"},x=A.el.appendChild(k.createElement("div")),f=A.el.appendChild(k.createElement("div"));f.className="error_widget_arrow "+h.className;var c=r.renderer.$cursorLayer.getPixelPosition(t).left;f.style.left=c+r.renderer.gutterWidth-5+"px",A.el.className="error_widget_wrapper",x.className="error_widget "+h.className,h.displayText.forEach(function(w,m){x.appendChild(k.createTextNode(w)),m<h.displayText.length-1&&x.appendChild(k.createElement("br"))}),x.appendChild(k.createElement("div"));var g=function(w,m,$){if(m===0&&($==="esc"||$==="return"))return A.destroy(),{command:"null"}};A.destroy=function(){r.$mouseHandler.isMousePressed||(r.keyBinding.removeKeyboardHandler(g),n.widgetManager.removeLineWidget(A),r.off("changeSelection",A.destroy),r.off("changeSession",A.destroy),r.off("mouseup",A.destroy),r.off("change",A.destroy))},r.keyBinding.addKeyboardHandler(g),r.on("changeSelection",A.destroy),r.on("changeSession",A.destroy),r.on("mouseup",A.destroy),r.on("change",A.destroy),r.session.widgetManager.addLineWidget(A),A.el.onmousedown=r.focus.bind(r),r.renderer.scrollCursorIntoView(null,.5,{bottom:A.el.offsetHeight})},k.importCssString(` |
| 947 |
.error_widget_wrapper { |
| 948 |
background: inherit; |
| 949 |
color: inherit; |
| 950 |
border:none |
| 951 |
} |
| 952 |
.error_widget { |
| 953 |
border-top: solid 2px; |
| 954 |
border-bottom: solid 2px; |
| 955 |
margin: 5px 0; |
| 956 |
padding: 10px 40px; |
| 957 |
white-space: pre-wrap; |
| 958 |
} |
| 959 |
.error_widget.ace_error, .error_widget_arrow.ace_error{ |
| 960 |
border-color: #ff5a5a |
| 961 |
} |
| 962 |
.error_widget.ace_warning, .error_widget_arrow.ace_warning{ |
| 963 |
border-color: #F1D817 |
| 964 |
} |
| 965 |
.error_widget.ace_info, .error_widget_arrow.ace_info{ |
| 966 |
border-color: #5a5a5a |
| 967 |
} |
| 968 |
.error_widget.ace_ok, .error_widget_arrow.ace_ok{ |
| 969 |
border-color: #5aaa5a |
| 970 |
} |
| 971 |
.error_widget_arrow { |
| 972 |
position: absolute; |
| 973 |
border: solid 5px; |
| 974 |
border-top-color: transparent!important; |
| 975 |
border-right-color: transparent!important; |
| 976 |
border-left-color: transparent!important; |
| 977 |
top: -5px; |
| 978 |
} |
| 979 |
`,"error_marker.css",!1)}),ace.define("ace/ace",["require","exports","module","ace/lib/dom","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","ace/loader_build"],function(T,M,z){T("./loader_build")(M);var k=T("./lib/dom"),y=T("./range").Range,b=T("./editor").Editor,a=T("./edit_session").EditSession,l=T("./undomanager").UndoManager,r=T("./virtual_renderer").VirtualRenderer;T("./worker/worker_client"),T("./keyboard/hash_handler"),T("./placeholder"),T("./multi_select"),T("./mode/folding/fold_mode"),T("./theme/textmate"),T("./ext/error_marker"),M.config=T("./config"),M.edit=function(n,t){if(typeof n=="string"){var e=n;if(n=document.getElementById(e),!n)throw new Error("ace.edit can't find div #"+e)}if(n&&n.env&&n.env.editor instanceof b)return n.env.editor;var o="";if(n&&/input|textarea/i.test(n.tagName)){var s=n;o=s.value,n=k.createElement("pre"),s.parentNode.replaceChild(n,s)}else n&&(o=n.textContent,n.innerHTML="");var h=M.createEditSession(o),u=new b(new r(n),h,t),A={document:h,editor:u,onResize:u.resize.bind(u,null)};return s&&(A.textarea=s),u.on("destroy",function(){A.editor.container.env=null}),u.container.env=u.env=A,u},M.createEditSession=function(n,t){var e=new a(n,t);return e.setUndoManager(new l),e},M.Range=y,M.Editor=b,M.EditSession=a,M.UndoManager=l,M.VirtualRenderer=r;var i=M.config.version;M.version=i}),(function(){ace.require(["ace/ace"],function(T){T&&(T.config.init(!0),T.define=ace.define);var M=(function(){return this})();!M&&typeof window!="undefined"&&(M=window),!M&&typeof self!="undefined"&&(M=self),M.ace||(M.ace=T);for(var z in T)T.hasOwnProperty(z)&&(M.ace[z]=T[z]);M.ace.default=M.ace,q&&(q.exports=M.ace)})})()})(wt)),wt.exports}Ze();var $t={exports:{}},Kt;function hi(){return Kt||(Kt=1,(function(q,j){ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(T,M,z){var k=T("../lib/oop");T("../lib/lang");var y=T("./text_highlight_rules").TextHighlightRules,b=M.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",a=M.supportFunction="rgb|rgba|url|attr|counter|counters",l=M.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",r=M.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",i=M.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",n=M.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",t=M.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",e=M.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",o=function(){var s=this.createKeywordMapper({"support.function":a,"support.constant":l,"support.type":b,"support.constant.color":r,"support.constant.fonts":i},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:n},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+n+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:n},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:t},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:e},{include:"url"},{token:s,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};k.inherits(o,y),M.CssHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(T,M,z){var k=T("../range").Range,y=function(){};(function(){this.checkOutdent=function(b,a){return/^\s+$/.test(b)?/^\s*\}/.test(a):!1},this.autoOutdent=function(b,a){var l=b.getLine(a),r=l.match(/^(\s*\})/);if(!r)return 0;var i=r[1].length,n=b.findMatchingBracket({row:a,column:i});if(!n||n.row==a)return 0;var t=this.$getIndent(b.getLine(n.row));b.replace(new k(a,0,a,i-1),t)},this.$getIndent=function(b){return b.match(/^\s*/)[0]}}).call(y.prototype),M.MatchingBraceOutdent=y}),ace.define("ace/mode/css_completions",["require","exports","module"],function(T,M,z){var k={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},y=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var b=document.createElement("c").style;for(var a in b)if(typeof b[a]=="string"){var l=a.replace(/[A-Z]/g,function(r){return"-"+r.toLowerCase()});k.hasOwnProperty(l)||(k[l]=1)}}this.completionsDefined=!0},this.getCompletions=function(b,a,l,r){if(this.completionsDefined||this.defineCompletions(),b==="ruleset"||a.$mode.$id=="ace/mode/scss"){var i=a.getLine(l.row).substr(0,l.column),n=/\([^)]*$/.test(i);return n&&(i=i.substr(i.lastIndexOf("(")+1)),/:[^;]+$/.test(i)?this.getPropertyValueCompletions(b,a,l,r):this.getPropertyCompletions(b,a,l,r,n)}return[]},this.getPropertyCompletions=function(b,a,l,r,i){i=i||!1;var n=Object.keys(k);return n.map(function(t){return{caption:t,snippet:t+": $0"+(i?"":";"),meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(b,a,l,r){var i=a.getLine(l.row).substr(0,l.column),n=(/([\w\-]+):[^:]*$/.exec(i)||{})[1];if(!n)return[];var t=[];return n in k&&typeof k[n]=="object"&&(t=Object.keys(k[n])),t.map(function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}})}}).call(y.prototype),M.CssCompletions=y}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(T,M,z){var k=T("../../lib/oop");T("../behaviour").Behaviour;var y=T("./cstyle").CstyleBehaviour,b=T("../../token_iterator").TokenIterator,a=function(){this.inherit(y),this.add("colon","insertion",function(l,r,i,n,t){if(t===":"&&i.selection.isEmpty()){var e=i.getCursorPosition(),o=new b(n,e.row,e.column),s=o.getCurrentToken();if(s&&s.value.match(/\s+/)&&(s=o.stepBackward()),s&&s.type==="support.type"){var h=n.doc.getLine(e.row),u=h.substring(e.column,e.column+1);if(u===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(h.substring(e.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(l,r,i,n,t){var e=n.doc.getTextRange(t);if(!t.isMultiLine()&&e===":"){var o=i.getCursorPosition(),s=new b(n,o.row,o.column),h=s.getCurrentToken();if(h&&h.value.match(/\s+/)&&(h=s.stepBackward()),h&&h.type==="support.type"){var u=n.doc.getLine(t.start.row),A=u.substring(t.end.column,t.end.column+1);if(A===";")return t.end.column++,t}}}),this.add("semicolon","insertion",function(l,r,i,n,t){if(t===";"&&i.selection.isEmpty()){var e=i.getCursorPosition(),o=n.doc.getLine(e.row),s=o.substring(e.column,e.column+1);if(s===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(l,r,i,n,t){if(t==="!"&&i.selection.isEmpty()){var e=i.getCursorPosition(),o=n.doc.getLine(e.row);if(/^\s*(;|}|$)/.test(o.substring(e.column)))return{text:"!important",selection:[10,10]}}})};k.inherits(a,y),M.CssBehaviour=a}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(T,M,z){var k=T("../../lib/oop"),y=T("../../range").Range,b=T("./fold_mode").FoldMode,a=M.FoldMode=function(l){l&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+l.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+l.end)))};k.inherits(a,b),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(l,r,i){var n=l.getLine(i);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var t=this._getFoldWidgetBase(l,r,i);return!t&&this.startRegionRe.test(n)?"start":t},this.getFoldWidgetRange=function(l,r,i,n){var t=l.getLine(i);if(this.startRegionRe.test(t))return this.getCommentRegionBlock(l,t,i);var s=t.match(this.foldingStartMarker);if(s){var e=s.index;if(s[1])return this.openingBracketBlock(l,s[1],i,e);var o=l.getCommentFoldRange(i,e+s[0].length,1);return o&&!o.isMultiLine()&&(n?o=this.getSectionRange(l,i):r!="all"&&(o=null)),o}if(r!=="markbegin"){var s=t.match(this.foldingStopMarker);if(s){var e=s.index+s[0].length;return s[1]?this.closingBracketBlock(l,s[1],i,e):l.getCommentFoldRange(i,e,-1)}}},this.getSectionRange=function(l,r){var i=l.getLine(r),n=i.search(/\S/),t=r,e=i.length;r+=1;for(var o=r,s=l.getLength();++r<s;){i=l.getLine(r);var h=i.search(/\S/);if(h!==-1){if(n>h)break;var u=this.getFoldWidgetRange(l,"all",r);if(u){if(u.start.row<=t)break;if(u.isMultiLine())r=u.end.row;else if(n==h)break}o=r}}return new y(t,e,o,l.getLine(o).length)},this.getCommentRegionBlock=function(l,r,i){for(var n=r.search(/\s*$/),t=l.getLength(),e=i,o=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++i<t;){r=l.getLine(i);var h=o.exec(r);if(h&&(h[1]?s--:s++,!s))break}var u=i;if(u>e)return new y(e,n,u,r.length)}}.call(a.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(T,M,z){var k=T("../lib/oop"),y=T("./text").Mode,b=T("./css_highlight_rules").CssHighlightRules,a=T("./matching_brace_outdent").MatchingBraceOutdent,l=T("../worker/worker_client").WorkerClient,r=T("./css_completions").CssCompletions,i=T("./behaviour/css").CssBehaviour,n=T("./folding/cstyle").FoldMode,t=function(){this.HighlightRules=b,this.$outdent=new a,this.$behaviour=new i,this.$completer=new r,this.foldingRules=new n};k.inherits(t,y),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,o,s){var h=this.$getIndent(o),u=this.getTokenizer().getLineTokens(o,e).tokens;if(u.length&&u[u.length-1].type=="comment")return h;var A=o.match(/^.*\{\s*$/);return A&&(h+=s),h},this.checkOutdent=function(e,o,s){return this.$outdent.checkOutdent(o,s)},this.autoOutdent=function(e,o,s){this.$outdent.autoOutdent(o,s)},this.getCompletions=function(e,o,s,h){return this.$completer.getCompletions(e,o,s,h)},this.createWorker=function(e){var o=new l(["ace"],"ace/mode/css_worker","Worker");return o.attachToDocument(e.getDocument()),o.on("annotate",function(s){e.setAnnotations(s.data)}),o.on("terminate",function(){e.clearAnnotations()}),o},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}.call(t.prototype),M.Mode=t}),(function(){ace.require(["ace/mode/css"],function(T){q&&(q.exports=T)})})()})($t)),$t.exports}hi();var xt={exports:{}},Yt;function ui(){return Yt||(Yt=1,(function(q,j){ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(T,M,z){var k=T("../lib/oop"),y=T("./text_highlight_rules").TextHighlightRules,b=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},b.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};k.inherits(b,y),b.getTagRule=function(a){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},b.getStartRule=function(a){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:a}},b.getEndRule=function(a){return{token:"comment.doc",regex:"\\*\\/",next:a}},M.JsDocCommentHighlightRules=b}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(T,M,z){function k(){var n=r.replace("\\d","\\d\\-"),t={onMatch:function(o,s,h){var u=o.charAt(1)=="/"?2:1;return u==1?(s!=this.nextState?h.unshift(this.next,this.nextState,0):h.unshift(this.next),h[2]++):u==2&&s==this.nextState&&(h[1]--,(!h[1]||h[1]<0)&&(h.shift(),h.shift())),[{type:"meta.tag.punctuation."+(u==1?"":"end-")+"tag-open.xml",value:o.slice(0,u)},{type:"meta.tag.tag-name.xml",value:o.substr(u)}]},regex:"</?(?:"+n+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var e={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[e,t,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(o,s,h){return s==h[0]&&h.shift(),o.length==2&&(h[0]==this.nextState&&h[1]--,(!h[1]||h[1]<0)&&h.splice(0,2)),this.next=h[0]||"start",[{type:this.token,value:o}]},nextState:"jsx"},e,y("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:n},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function y(n){return[{token:"comment",regex:/\/\*/,next:[a.getTagRule(),{token:"comment",regex:"\\*\\/",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[a.getTagRule(),{token:"comment",regex:"$|^",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var b=T("../lib/oop"),a=T("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,l=T("./text_highlight_rules").TextHighlightRules,r="[a-zA-Z\\$_¡-][a-zA-Z\\d\\$_¡-]*",i=function(n){var t={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},e=this.createKeywordMapper(t,"identifier"),o="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",s="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",h="(function)(\\s*)(\\*?)",u={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(t).join("|")+"\\b)"+r+")(\\s*)(\\()"};this.$rules={no_regex:[a.getStartRule("doc-start"),y("no_regex"),u,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{include:"numeric_constants"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(=)(\\s*)"+h+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+r+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(:)(\\s*)"+h+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+h+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:`from(?=\\s*('|"))`},{token:"keyword",regex:"(?:"+o+")\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:e,regex:r},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:h+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:r},{regex:"",token:"empty",next:"no_regex"}],start:[a.getStartRule("doc-start"),y("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{include:"numeric_constants"},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[y("function_arguments"),{token:"variable.parameter",regex:r},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}],numeric_constants:[{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F_]+|[oO][0-7_]+|[bB][01_]+)\b/},{token:"constant.numeric",regex:/(?:\d[\d_]*(?:\.[\d_]*)?|\.\d[\d_]*)(?:[eE][+-]?\d+\b)?/}]},(!n||!n.noES6)&&(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(A,x,f){if(this.next=A=="{"?this.nextState:"",A=="{"&&f.length)f.unshift("start",x);else if(A=="}"&&f.length&&(f.shift(),this.next=f.shift(),this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1))return"paren.quasi.end";return A=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:s},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+r+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!n||n.jsx!=0)&&k.call(this)),this.embedRules(a,"doc-",[a.getEndRule("no_regex")]),this.normalizeRules()};b.inherits(i,l),M.JavaScriptHighlightRules=i}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(T,M,z){var k=T("../range").Range,y=function(){};(function(){this.checkOutdent=function(b,a){return/^\s+$/.test(b)?/^\s*\}/.test(a):!1},this.autoOutdent=function(b,a){var l=b.getLine(a),r=l.match(/^(\s*\})/);if(!r)return 0;var i=r[1].length,n=b.findMatchingBracket({row:a,column:i});if(!n||n.row==a)return 0;var t=this.$getIndent(b.getLine(n.row));b.replace(new k(a,0,a,i-1),t)},this.$getIndent=function(b){return b.match(/^\s*/)[0]}}).call(y.prototype),M.MatchingBraceOutdent=y}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(T,M,z){function k(r,i){return r&&r.type.lastIndexOf(i+".xml")>-1}var y=T("../../lib/oop"),b=T("../behaviour").Behaviour,a=T("../../token_iterator").TokenIterator,l=function(){this.add("string_dquotes","insertion",function(r,i,n,t,e){if(e=='"'||e=="'"){var o=e,s=t.doc.getTextRange(n.getSelectionRange());if(s!==""&&s!=="'"&&s!='"'&&n.getWrapBehavioursEnabled())return{text:o+s+o,selection:!1};var h=n.getCursorPosition(),u=t.doc.getLine(h.row),A=u.substring(h.column,h.column+1),x=new a(t,h.row,h.column),f=x.getCurrentToken();if(A==o&&(k(f,"attribute-value")||k(f,"string")))return{text:"",selection:[1,1]};if(f||(f=x.stepBackward()),!f)return;for(;k(f,"tag-whitespace")||k(f,"whitespace");)f=x.stepBackward();var c=!A||A.match(/\s/);if(k(f,"attribute-equals")&&(c||A==">")||k(f,"decl-attribute-equals")&&(c||A=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(r,i,n,t,e){var o=t.doc.getTextRange(e);if(!e.isMultiLine()&&(o=='"'||o=="'")){var s=t.doc.getLine(e.start.row),h=s.substring(e.start.column+1,e.start.column+2);if(h==o)return e.end.column++,e}}),this.add("autoclosing","insertion",function(r,i,n,t,e){if(e==">"){var o=n.getSelectionRange().start,s=new a(t,o.row,o.column),h=s.getCurrentToken()||s.stepBackward();if(!h||!(k(h,"tag-name")||k(h,"tag-whitespace")||k(h,"attribute-name")||k(h,"attribute-equals")||k(h,"attribute-value"))||k(h,"reference.attribute-value"))return;if(k(h,"attribute-value")){var u=s.getCurrentTokenColumn()+h.value.length;if(o.column<u)return;if(o.column==u){var A=s.stepForward();if(A&&k(A,"attribute-value"))return;s.stepBackward()}}if(/^\s*>/.test(t.getLine(o.row).slice(o.column)))return;for(;!k(h,"tag-name");)if(h=s.stepBackward(),h.value=="<"){h=s.stepForward();break}var x=s.getCurrentTokenRow(),f=s.getCurrentTokenColumn();if(k(s.stepBackward(),"end-tag-open"))return;var c=h.value;return x==o.row&&(c=c.substring(0,o.column-f)),this.voidElements&&this.voidElements.hasOwnProperty(c.toLowerCase())?void 0:{text:"></"+c+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(r,i,n,t,e){if(e==` |
| 980 |
`){var o=n.getCursorPosition(),s=t.getLine(o.row),h=new a(t,o.row,o.column),u=h.getCurrentToken();if(k(u,"")&&u.type.indexOf("tag-close")!==-1){if(u.value=="/>")return;for(;u&&u.type.indexOf("tag-name")===-1;)u=h.stepBackward();if(!u)return;var A=u.value,x=h.getCurrentTokenRow();if(u=h.stepBackward(),!u||u.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[A]||!this.voidElements){var f=t.getTokenAt(o.row,o.column+1),s=t.getLine(x),c=this.$getIndent(s),g=c+t.getTabString();return f&&f.value==="</"?{text:` |
| 981 |
`+g+` |
| 982 |
`+c,selection:[1,g.length,1,g.length]}:{text:` |
| 983 |
`+g}}}}})};y.inherits(l,b),M.XmlBehaviour=l}),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],function(T,M,z){var k=T("../../lib/oop"),y=T("../../token_iterator").TokenIterator,b=T("../behaviour/cstyle").CstyleBehaviour,a=T("../behaviour/xml").XmlBehaviour,l=function(){var r=new a({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(r),this.inherit(b),this.add("autoclosing-fragment","insertion",function(i,n,t,e,o){if(o==">"){var s=t.getSelectionRange().start,h=new y(e,s.row,s.column),u=h.getCurrentToken()||h.stepBackward();if(!u)return;if(u.value=="<")return{text:"></>",selection:[1,1]}}})};k.inherits(l,b),M.JavaScriptBehaviour=l}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(T,M,z){function k(i,n){return i&&i.type&&i.type.lastIndexOf(n+".xml")>-1}var y=T("../../lib/oop"),b=T("../../range").Range,a=T("./fold_mode").FoldMode,l=M.FoldMode=function(i,n){a.call(this),this.voidElements=i||{},this.optionalEndTags=y.mixin({},this.voidElements),n&&y.mixin(this.optionalEndTags,n)};y.inherits(l,a);var r=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(i,n,t){var e=this._getFirstTagInLine(i,t);return e?e.closing||!e.tagName&&e.selfClosing?n==="markbeginend"?"end":"":!e.tagName||e.selfClosing||this.voidElements.hasOwnProperty(e.tagName.toLowerCase())||this._findEndTagInLine(i,t,e.tagName,e.end.column)?"":"start":this.getCommentFoldWidget(i,t)},this.getCommentFoldWidget=function(i,n){return/comment/.test(i.getState(n))&&/<!-/.test(i.getLine(n))?"start":""},this._getFirstTagInLine=function(i,n){for(var t=i.getTokens(n),e=new r,o=0;o<t.length;o++){var s=t[o];if(k(s,"tag-open")){if(e.end.column=e.start.column+s.value.length,e.closing=k(s,"end-tag-open"),s=t[++o],!s)return null;if(e.tagName=s.value,s.value===""){if(s=t[++o],!s)return null;e.tagName=s.value}for(e.end.column+=s.value.length,o++;o<t.length;o++)if(s=t[o],e.end.column+=s.value.length,k(s,"tag-close")){e.selfClosing=s.value=="/>";break}return e}if(k(s,"tag-close"))return e.selfClosing=s.value=="/>",e;e.start.column+=s.value.length}return null},this._findEndTagInLine=function(i,n,t,e){for(var o=i.getTokens(n),s=0,h=0;h<o.length;h++){var u=o[h];if(s+=u.value.length,!(s<e-1)&&k(u,"end-tag-open")&&(u=o[h+1],k(u,"tag-name")&&u.value===""&&(u=o[h+2]),u&&u.value==t))return!0}return!1},this.getFoldWidgetRange=function(i,n,t){var e=this._getFirstTagInLine(i,t);if(!e)return this.getCommentFoldWidget(i,t)&&i.getCommentFoldRange(t,i.getLine(t).length);var o=i.getMatchingTags({row:t,column:0});if(o)return new b(o.openTag.end.row,o.openTag.end.column,o.closeTag.start.row,o.closeTag.start.column)}}).call(l.prototype)}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(T,M,z){var k=T("../../lib/oop"),y=T("../../range").Range,b=T("./fold_mode").FoldMode,a=M.FoldMode=function(l){l&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+l.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+l.end)))};k.inherits(a,b),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(l,r,i){var n=l.getLine(i);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var t=this._getFoldWidgetBase(l,r,i);return!t&&this.startRegionRe.test(n)?"start":t},this.getFoldWidgetRange=function(l,r,i,n){var t=l.getLine(i);if(this.startRegionRe.test(t))return this.getCommentRegionBlock(l,t,i);var s=t.match(this.foldingStartMarker);if(s){var e=s.index;if(s[1])return this.openingBracketBlock(l,s[1],i,e);var o=l.getCommentFoldRange(i,e+s[0].length,1);return o&&!o.isMultiLine()&&(n?o=this.getSectionRange(l,i):r!="all"&&(o=null)),o}if(r!=="markbegin"){var s=t.match(this.foldingStopMarker);if(s){var e=s.index+s[0].length;return s[1]?this.closingBracketBlock(l,s[1],i,e):l.getCommentFoldRange(i,e,-1)}}},this.getSectionRange=function(l,r){var i=l.getLine(r),n=i.search(/\S/),t=r,e=i.length;r+=1;for(var o=r,s=l.getLength();++r<s;){i=l.getLine(r);var h=i.search(/\S/);if(h!==-1){if(n>h)break;var u=this.getFoldWidgetRange(l,"all",r);if(u){if(u.start.row<=t)break;if(u.isMultiLine())r=u.end.row;else if(n==h)break}o=r}}return new y(t,e,o,l.getLine(o).length)},this.getCommentRegionBlock=function(l,r,i){for(var n=r.search(/\s*$/),t=l.getLength(),e=i,o=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++i<t;){r=l.getLine(i);var h=o.exec(r);if(h&&(h[1]?s--:s++,!s))break}var u=i;if(u>e)return new y(e,n,u,r.length)}}.call(a.prototype)}),ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(T,M,z){var k=T("../../lib/oop"),y=T("./xml").FoldMode,b=T("./cstyle").FoldMode,a=M.FoldMode=function(l){l&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+l.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+l.end))),this.xmlFoldMode=new y};k.inherits(a,b),function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(l,r,i){var n=this.getFoldWidgetBase(l,r,i);return n||this.xmlFoldMode.getFoldWidget(l,r,i)},this.getFoldWidgetRange=function(l,r,i,n){var t=this.getFoldWidgetRangeBase(l,r,i,n);return t||this.xmlFoldMode.getFoldWidgetRange(l,r,i)}}.call(a.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],function(T,M,z){var k=T("../lib/oop"),y=T("./text").Mode,b=T("./javascript_highlight_rules").JavaScriptHighlightRules,a=T("./matching_brace_outdent").MatchingBraceOutdent,l=T("../worker/worker_client").WorkerClient,r=T("./behaviour/javascript").JavaScriptBehaviour,i=T("./folding/javascript").FoldMode,n=function(){this.HighlightRules=b,this.$outdent=new a,this.$behaviour=new r,this.foldingRules=new i};k.inherits(n,y),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(t,e,o){var s=this.$getIndent(e),h=this.getTokenizer().getLineTokens(e,t),u=h.tokens,A=h.state;if(u.length&&u[u.length-1].type=="comment")return s;if(t=="start"||t=="no_regex"){var x=e.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);x&&(s+=o)}else if(t=="doc-start"&&(A=="start"||A=="no_regex"))return"";return s},this.checkOutdent=function(t,e,o){return this.$outdent.checkOutdent(e,o)},this.autoOutdent=function(t,e,o){this.$outdent.autoOutdent(e,o)},this.createWorker=function(t){var e=new l(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(o){t.setAnnotations(o.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}.call(n.prototype),M.Mode=n}),(function(){ace.require(["ace/mode/javascript"],function(T){q&&(q.exports=T)})})()})(xt)),xt.exports}ui();var St={exports:{}},Qt;function di(){return Qt||(Qt=1,(function(q,j){ace.define("ace/snippets/css.snippets",["require","exports","module"],function(T,M,z){z.exports=`snippet . |
| 984 |
\${1} { |
| 985 |
\${2} |
| 986 |
} |
| 987 |
snippet ! |
| 988 |
!important |
| 989 |
snippet bdi:m+ |
| 990 |
-moz-border-image: url(\${1}) \${2:0} \${3:0} \${4:0} \${5:0} \${6:stretch} \${7:stretch}; |
| 991 |
snippet bdi:m |
| 992 |
-moz-border-image: \${1}; |
| 993 |
snippet bdrz:m |
| 994 |
-moz-border-radius: \${1}; |
| 995 |
snippet bxsh:m+ |
| 996 |
-moz-box-shadow: \${1:0} \${2:0} \${3:0} #\${4:000}; |
| 997 |
snippet bxsh:m |
| 998 |
-moz-box-shadow: \${1}; |
| 999 |
snippet bdi:w+ |
| 1000 |
-webkit-border-image: url(\${1}) \${2:0} \${3:0} \${4:0} \${5:0} \${6:stretch} \${7:stretch}; |
| 1001 |
snippet bdi:w |
| 1002 |
-webkit-border-image: \${1}; |
| 1003 |
snippet bdrz:w |
| 1004 |
-webkit-border-radius: \${1}; |
| 1005 |
snippet bxsh:w+ |
| 1006 |
-webkit-box-shadow: \${1:0} \${2:0} \${3:0} #\${4:000}; |
| 1007 |
snippet bxsh:w |
| 1008 |
-webkit-box-shadow: \${1}; |
| 1009 |
snippet @f |
| 1010 |
@font-face { |
| 1011 |
font-family: \${1}; |
| 1012 |
src: url(\${2}); |
| 1013 |
} |
| 1014 |
snippet @i |
| 1015 |
@import url(\${1}); |
| 1016 |
snippet @m |
| 1017 |
@media \${1:print} { |
| 1018 |
\${2} |
| 1019 |
} |
| 1020 |
snippet bg+ |
| 1021 |
background: #\${1:FFF} url(\${2}) \${3:0} \${4:0} \${5:no-repeat}; |
| 1022 |
snippet bga |
| 1023 |
background-attachment: \${1}; |
| 1024 |
snippet bga:f |
| 1025 |
background-attachment: fixed; |
| 1026 |
snippet bga:s |
| 1027 |
background-attachment: scroll; |
| 1028 |
snippet bgbk |
| 1029 |
background-break: \${1}; |
| 1030 |
snippet bgbk:bb |
| 1031 |
background-break: bounding-box; |
| 1032 |
snippet bgbk:c |
| 1033 |
background-break: continuous; |
| 1034 |
snippet bgbk:eb |
| 1035 |
background-break: each-box; |
| 1036 |
snippet bgcp |
| 1037 |
background-clip: \${1}; |
| 1038 |
snippet bgcp:bb |
| 1039 |
background-clip: border-box; |
| 1040 |
snippet bgcp:cb |
| 1041 |
background-clip: content-box; |
| 1042 |
snippet bgcp:nc |
| 1043 |
background-clip: no-clip; |
| 1044 |
snippet bgcp:pb |
| 1045 |
background-clip: padding-box; |
| 1046 |
snippet bgc |
| 1047 |
background-color: #\${1:FFF}; |
| 1048 |
snippet bgc:t |
| 1049 |
background-color: transparent; |
| 1050 |
snippet bgi |
| 1051 |
background-image: url(\${1}); |
| 1052 |
snippet bgi:n |
| 1053 |
background-image: none; |
| 1054 |
snippet bgo |
| 1055 |
background-origin: \${1}; |
| 1056 |
snippet bgo:bb |
| 1057 |
background-origin: border-box; |
| 1058 |
snippet bgo:cb |
| 1059 |
background-origin: content-box; |
| 1060 |
snippet bgo:pb |
| 1061 |
background-origin: padding-box; |
| 1062 |
snippet bgpx |
| 1063 |
background-position-x: \${1}; |
| 1064 |
snippet bgpy |
| 1065 |
background-position-y: \${1}; |
| 1066 |
snippet bgp |
| 1067 |
background-position: \${1:0} \${2:0}; |
| 1068 |
snippet bgr |
| 1069 |
background-repeat: \${1}; |
| 1070 |
snippet bgr:n |
| 1071 |
background-repeat: no-repeat; |
| 1072 |
snippet bgr:x |
| 1073 |
background-repeat: repeat-x; |
| 1074 |
snippet bgr:y |
| 1075 |
background-repeat: repeat-y; |
| 1076 |
snippet bgr:r |
| 1077 |
background-repeat: repeat; |
| 1078 |
snippet bgz |
| 1079 |
background-size: \${1}; |
| 1080 |
snippet bgz:a |
| 1081 |
background-size: auto; |
| 1082 |
snippet bgz:ct |
| 1083 |
background-size: contain; |
| 1084 |
snippet bgz:cv |
| 1085 |
background-size: cover; |
| 1086 |
snippet bg |
| 1087 |
background: \${1}; |
| 1088 |
snippet bg:ie |
| 1089 |
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='\${1}',sizingMethod='\${2:crop}'); |
| 1090 |
snippet bg:n |
| 1091 |
background: none; |
| 1092 |
snippet bd+ |
| 1093 |
border: \${1:1px} \${2:solid} #\${3:000}; |
| 1094 |
snippet bdb+ |
| 1095 |
border-bottom: \${1:1px} \${2:solid} #\${3:000}; |
| 1096 |
snippet bdbc |
| 1097 |
border-bottom-color: #\${1:000}; |
| 1098 |
snippet bdbi |
| 1099 |
border-bottom-image: url(\${1}); |
| 1100 |
snippet bdbi:n |
| 1101 |
border-bottom-image: none; |
| 1102 |
snippet bdbli |
| 1103 |
border-bottom-left-image: url(\${1}); |
| 1104 |
snippet bdbli:c |
| 1105 |
border-bottom-left-image: continue; |
| 1106 |
snippet bdbli:n |
| 1107 |
border-bottom-left-image: none; |
| 1108 |
snippet bdblrz |
| 1109 |
border-bottom-left-radius: \${1}; |
| 1110 |
snippet bdbri |
| 1111 |
border-bottom-right-image: url(\${1}); |
| 1112 |
snippet bdbri:c |
| 1113 |
border-bottom-right-image: continue; |
| 1114 |
snippet bdbri:n |
| 1115 |
border-bottom-right-image: none; |
| 1116 |
snippet bdbrrz |
| 1117 |
border-bottom-right-radius: \${1}; |
| 1118 |
snippet bdbs |
| 1119 |
border-bottom-style: \${1}; |
| 1120 |
snippet bdbs:n |
| 1121 |
border-bottom-style: none; |
| 1122 |
snippet bdbw |
| 1123 |
border-bottom-width: \${1}; |
| 1124 |
snippet bdb |
| 1125 |
border-bottom: \${1}; |
| 1126 |
snippet bdb:n |
| 1127 |
border-bottom: none; |
| 1128 |
snippet bdbk |
| 1129 |
border-break: \${1}; |
| 1130 |
snippet bdbk:c |
| 1131 |
border-break: close; |
| 1132 |
snippet bdcl |
| 1133 |
border-collapse: \${1}; |
| 1134 |
snippet bdcl:c |
| 1135 |
border-collapse: collapse; |
| 1136 |
snippet bdcl:s |
| 1137 |
border-collapse: separate; |
| 1138 |
snippet bdc |
| 1139 |
border-color: #\${1:000}; |
| 1140 |
snippet bdci |
| 1141 |
border-corner-image: url(\${1}); |
| 1142 |
snippet bdci:c |
| 1143 |
border-corner-image: continue; |
| 1144 |
snippet bdci:n |
| 1145 |
border-corner-image: none; |
| 1146 |
snippet bdf |
| 1147 |
border-fit: \${1}; |
| 1148 |
snippet bdf:c |
| 1149 |
border-fit: clip; |
| 1150 |
snippet bdf:of |
| 1151 |
border-fit: overwrite; |
| 1152 |
snippet bdf:ow |
| 1153 |
border-fit: overwrite; |
| 1154 |
snippet bdf:r |
| 1155 |
border-fit: repeat; |
| 1156 |
snippet bdf:sc |
| 1157 |
border-fit: scale; |
| 1158 |
snippet bdf:sp |
| 1159 |
border-fit: space; |
| 1160 |
snippet bdf:st |
| 1161 |
border-fit: stretch; |
| 1162 |
snippet bdi |
| 1163 |
border-image: url(\${1}) \${2:0} \${3:0} \${4:0} \${5:0} \${6:stretch} \${7:stretch}; |
| 1164 |
snippet bdi:n |
| 1165 |
border-image: none; |
| 1166 |
snippet bdl+ |
| 1167 |
border-left: \${1:1px} \${2:solid} #\${3:000}; |
| 1168 |
snippet bdlc |
| 1169 |
border-left-color: #\${1:000}; |
| 1170 |
snippet bdli |
| 1171 |
border-left-image: url(\${1}); |
| 1172 |
snippet bdli:n |
| 1173 |
border-left-image: none; |
| 1174 |
snippet bdls |
| 1175 |
border-left-style: \${1}; |
| 1176 |
snippet bdls:n |
| 1177 |
border-left-style: none; |
| 1178 |
snippet bdlw |
| 1179 |
border-left-width: \${1}; |
| 1180 |
snippet bdl |
| 1181 |
border-left: \${1}; |
| 1182 |
snippet bdl:n |
| 1183 |
border-left: none; |
| 1184 |
snippet bdlt |
| 1185 |
border-length: \${1}; |
| 1186 |
snippet bdlt:a |
| 1187 |
border-length: auto; |
| 1188 |
snippet bdrz |
| 1189 |
border-radius: \${1}; |
| 1190 |
snippet bdr+ |
| 1191 |
border-right: \${1:1px} \${2:solid} #\${3:000}; |
| 1192 |
snippet bdrc |
| 1193 |
border-right-color: #\${1:000}; |
| 1194 |
snippet bdri |
| 1195 |
border-right-image: url(\${1}); |
| 1196 |
snippet bdri:n |
| 1197 |
border-right-image: none; |
| 1198 |
snippet bdrs |
| 1199 |
border-right-style: \${1}; |
| 1200 |
snippet bdrs:n |
| 1201 |
border-right-style: none; |
| 1202 |
snippet bdrw |
| 1203 |
border-right-width: \${1}; |
| 1204 |
snippet bdr |
| 1205 |
border-right: \${1}; |
| 1206 |
snippet bdr:n |
| 1207 |
border-right: none; |
| 1208 |
snippet bdsp |
| 1209 |
border-spacing: \${1}; |
| 1210 |
snippet bds |
| 1211 |
border-style: \${1}; |
| 1212 |
snippet bds:ds |
| 1213 |
border-style: dashed; |
| 1214 |
snippet bds:dtds |
| 1215 |
border-style: dot-dash; |
| 1216 |
snippet bds:dtdtds |
| 1217 |
border-style: dot-dot-dash; |
| 1218 |
snippet bds:dt |
| 1219 |
border-style: dotted; |
| 1220 |
snippet bds:db |
| 1221 |
border-style: double; |
| 1222 |
snippet bds:g |
| 1223 |
border-style: groove; |
| 1224 |
snippet bds:h |
| 1225 |
border-style: hidden; |
| 1226 |
snippet bds:i |
| 1227 |
border-style: inset; |
| 1228 |
snippet bds:n |
| 1229 |
border-style: none; |
| 1230 |
snippet bds:o |
| 1231 |
border-style: outset; |
| 1232 |
snippet bds:r |
| 1233 |
border-style: ridge; |
| 1234 |
snippet bds:s |
| 1235 |
border-style: solid; |
| 1236 |
snippet bds:w |
| 1237 |
border-style: wave; |
| 1238 |
snippet bdt+ |
| 1239 |
border-top: \${1:1px} \${2:solid} #\${3:000}; |
| 1240 |
snippet bdtc |
| 1241 |
border-top-color: #\${1:000}; |
| 1242 |
snippet bdti |
| 1243 |
border-top-image: url(\${1}); |
| 1244 |
snippet bdti:n |
| 1245 |
border-top-image: none; |
| 1246 |
snippet bdtli |
| 1247 |
border-top-left-image: url(\${1}); |
| 1248 |
snippet bdtli:c |
| 1249 |
border-corner-image: continue; |
| 1250 |
snippet bdtli:n |
| 1251 |
border-corner-image: none; |
| 1252 |
snippet bdtlrz |
| 1253 |
border-top-left-radius: \${1}; |
| 1254 |
snippet bdtri |
| 1255 |
border-top-right-image: url(\${1}); |
| 1256 |
snippet bdtri:c |
| 1257 |
border-top-right-image: continue; |
| 1258 |
snippet bdtri:n |
| 1259 |
border-top-right-image: none; |
| 1260 |
snippet bdtrrz |
| 1261 |
border-top-right-radius: \${1}; |
| 1262 |
snippet bdts |
| 1263 |
border-top-style: \${1}; |
| 1264 |
snippet bdts:n |
| 1265 |
border-top-style: none; |
| 1266 |
snippet bdtw |
| 1267 |
border-top-width: \${1}; |
| 1268 |
snippet bdt |
| 1269 |
border-top: \${1}; |
| 1270 |
snippet bdt:n |
| 1271 |
border-top: none; |
| 1272 |
snippet bdw |
| 1273 |
border-width: \${1}; |
| 1274 |
snippet bd |
| 1275 |
border: \${1}; |
| 1276 |
snippet bd:n |
| 1277 |
border: none; |
| 1278 |
snippet b |
| 1279 |
bottom: \${1}; |
| 1280 |
snippet b:a |
| 1281 |
bottom: auto; |
| 1282 |
snippet bxsh+ |
| 1283 |
box-shadow: \${1:0} \${2:0} \${3:0} #\${4:000}; |
| 1284 |
snippet bxsh |
| 1285 |
box-shadow: \${1}; |
| 1286 |
snippet bxsh:n |
| 1287 |
box-shadow: none; |
| 1288 |
snippet bxz |
| 1289 |
box-sizing: \${1}; |
| 1290 |
snippet bxz:bb |
| 1291 |
box-sizing: border-box; |
| 1292 |
snippet bxz:cb |
| 1293 |
box-sizing: content-box; |
| 1294 |
snippet cps |
| 1295 |
caption-side: \${1}; |
| 1296 |
snippet cps:b |
| 1297 |
caption-side: bottom; |
| 1298 |
snippet cps:t |
| 1299 |
caption-side: top; |
| 1300 |
snippet cl |
| 1301 |
clear: \${1}; |
| 1302 |
snippet cl:b |
| 1303 |
clear: both; |
| 1304 |
snippet cl:l |
| 1305 |
clear: left; |
| 1306 |
snippet cl:n |
| 1307 |
clear: none; |
| 1308 |
snippet cl:r |
| 1309 |
clear: right; |
| 1310 |
snippet cp |
| 1311 |
clip: \${1}; |
| 1312 |
snippet cp:a |
| 1313 |
clip: auto; |
| 1314 |
snippet cp:r |
| 1315 |
clip: rect(\${1:0} \${2:0} \${3:0} \${4:0}); |
| 1316 |
snippet c |
| 1317 |
color: #\${1:000}; |
| 1318 |
snippet ct |
| 1319 |
content: \${1}; |
| 1320 |
snippet ct:a |
| 1321 |
content: attr(\${1}); |
| 1322 |
snippet ct:cq |
| 1323 |
content: close-quote; |
| 1324 |
snippet ct:c |
| 1325 |
content: counter(\${1}); |
| 1326 |
snippet ct:cs |
| 1327 |
content: counters(\${1}); |
| 1328 |
snippet ct:ncq |
| 1329 |
content: no-close-quote; |
| 1330 |
snippet ct:noq |
| 1331 |
content: no-open-quote; |
| 1332 |
snippet ct:n |
| 1333 |
content: normal; |
| 1334 |
snippet ct:oq |
| 1335 |
content: open-quote; |
| 1336 |
snippet coi |
| 1337 |
counter-increment: \${1}; |
| 1338 |
snippet cor |
| 1339 |
counter-reset: \${1}; |
| 1340 |
snippet cur |
| 1341 |
cursor: \${1}; |
| 1342 |
snippet cur:a |
| 1343 |
cursor: auto; |
| 1344 |
snippet cur:c |
| 1345 |
cursor: crosshair; |
| 1346 |
snippet cur:d |
| 1347 |
cursor: default; |
| 1348 |
snippet cur:ha |
| 1349 |
cursor: hand; |
| 1350 |
snippet cur:he |
| 1351 |
cursor: help; |
| 1352 |
snippet cur:m |
| 1353 |
cursor: move; |
| 1354 |
snippet cur:p |
| 1355 |
cursor: pointer; |
| 1356 |
snippet cur:t |
| 1357 |
cursor: text; |
| 1358 |
snippet d |
| 1359 |
display: \${1}; |
| 1360 |
snippet d:mib |
| 1361 |
display: -moz-inline-box; |
| 1362 |
snippet d:mis |
| 1363 |
display: -moz-inline-stack; |
| 1364 |
snippet d:b |
| 1365 |
display: block; |
| 1366 |
snippet d:cp |
| 1367 |
display: compact; |
| 1368 |
snippet d:ib |
| 1369 |
display: inline-block; |
| 1370 |
snippet d:itb |
| 1371 |
display: inline-table; |
| 1372 |
snippet d:i |
| 1373 |
display: inline; |
| 1374 |
snippet d:li |
| 1375 |
display: list-item; |
| 1376 |
snippet d:n |
| 1377 |
display: none; |
| 1378 |
snippet d:ri |
| 1379 |
display: run-in; |
| 1380 |
snippet d:tbcp |
| 1381 |
display: table-caption; |
| 1382 |
snippet d:tbc |
| 1383 |
display: table-cell; |
| 1384 |
snippet d:tbclg |
| 1385 |
display: table-column-group; |
| 1386 |
snippet d:tbcl |
| 1387 |
display: table-column; |
| 1388 |
snippet d:tbfg |
| 1389 |
display: table-footer-group; |
| 1390 |
snippet d:tbhg |
| 1391 |
display: table-header-group; |
| 1392 |
snippet d:tbrg |
| 1393 |
display: table-row-group; |
| 1394 |
snippet d:tbr |
| 1395 |
display: table-row; |
| 1396 |
snippet d:tb |
| 1397 |
display: table; |
| 1398 |
snippet ec |
| 1399 |
empty-cells: \${1}; |
| 1400 |
snippet ec:h |
| 1401 |
empty-cells: hide; |
| 1402 |
snippet ec:s |
| 1403 |
empty-cells: show; |
| 1404 |
snippet exp |
| 1405 |
expression() |
| 1406 |
snippet fl |
| 1407 |
float: \${1}; |
| 1408 |
snippet fl:l |
| 1409 |
float: left; |
| 1410 |
snippet fl:n |
| 1411 |
float: none; |
| 1412 |
snippet fl:r |
| 1413 |
float: right; |
| 1414 |
snippet f+ |
| 1415 |
font: \${1:1em} \${2:Arial},\${3:sans-serif}; |
| 1416 |
snippet fef |
| 1417 |
font-effect: \${1}; |
| 1418 |
snippet fef:eb |
| 1419 |
font-effect: emboss; |
| 1420 |
snippet fef:eg |
| 1421 |
font-effect: engrave; |
| 1422 |
snippet fef:n |
| 1423 |
font-effect: none; |
| 1424 |
snippet fef:o |
| 1425 |
font-effect: outline; |
| 1426 |
snippet femp |
| 1427 |
font-emphasize-position: \${1}; |
| 1428 |
snippet femp:a |
| 1429 |
font-emphasize-position: after; |
| 1430 |
snippet femp:b |
| 1431 |
font-emphasize-position: before; |
| 1432 |
snippet fems |
| 1433 |
font-emphasize-style: \${1}; |
| 1434 |
snippet fems:ac |
| 1435 |
font-emphasize-style: accent; |
| 1436 |
snippet fems:c |
| 1437 |
font-emphasize-style: circle; |
| 1438 |
snippet fems:ds |
| 1439 |
font-emphasize-style: disc; |
| 1440 |
snippet fems:dt |
| 1441 |
font-emphasize-style: dot; |
| 1442 |
snippet fems:n |
| 1443 |
font-emphasize-style: none; |
| 1444 |
snippet fem |
| 1445 |
font-emphasize: \${1}; |
| 1446 |
snippet ff |
| 1447 |
font-family: \${1}; |
| 1448 |
snippet ff:c |
| 1449 |
font-family: \${1:'Monotype Corsiva','Comic Sans MS'},cursive; |
| 1450 |
snippet ff:f |
| 1451 |
font-family: \${1:Capitals,Impact},fantasy; |
| 1452 |
snippet ff:m |
| 1453 |
font-family: \${1:Monaco,'Courier New'},monospace; |
| 1454 |
snippet ff:ss |
| 1455 |
font-family: \${1:Helvetica,Arial},sans-serif; |
| 1456 |
snippet ff:s |
| 1457 |
font-family: \${1:Georgia,'Times New Roman'},serif; |
| 1458 |
snippet fza |
| 1459 |
font-size-adjust: \${1}; |
| 1460 |
snippet fza:n |
| 1461 |
font-size-adjust: none; |
| 1462 |
snippet fz |
| 1463 |
font-size: \${1}; |
| 1464 |
snippet fsm |
| 1465 |
font-smooth: \${1}; |
| 1466 |
snippet fsm:aw |
| 1467 |
font-smooth: always; |
| 1468 |
snippet fsm:a |
| 1469 |
font-smooth: auto; |
| 1470 |
snippet fsm:n |
| 1471 |
font-smooth: never; |
| 1472 |
snippet fst |
| 1473 |
font-stretch: \${1}; |
| 1474 |
snippet fst:c |
| 1475 |
font-stretch: condensed; |
| 1476 |
snippet fst:e |
| 1477 |
font-stretch: expanded; |
| 1478 |
snippet fst:ec |
| 1479 |
font-stretch: extra-condensed; |
| 1480 |
snippet fst:ee |
| 1481 |
font-stretch: extra-expanded; |
| 1482 |
snippet fst:n |
| 1483 |
font-stretch: normal; |
| 1484 |
snippet fst:sc |
| 1485 |
font-stretch: semi-condensed; |
| 1486 |
snippet fst:se |
| 1487 |
font-stretch: semi-expanded; |
| 1488 |
snippet fst:uc |
| 1489 |
font-stretch: ultra-condensed; |
| 1490 |
snippet fst:ue |
| 1491 |
font-stretch: ultra-expanded; |
| 1492 |
snippet fs |
| 1493 |
font-style: \${1}; |
| 1494 |
snippet fs:i |
| 1495 |
font-style: italic; |
| 1496 |
snippet fs:n |
| 1497 |
font-style: normal; |
| 1498 |
snippet fs:o |
| 1499 |
font-style: oblique; |
| 1500 |
snippet fv |
| 1501 |
font-variant: \${1}; |
| 1502 |
snippet fv:n |
| 1503 |
font-variant: normal; |
| 1504 |
snippet fv:sc |
| 1505 |
font-variant: small-caps; |
| 1506 |
snippet fw |
| 1507 |
font-weight: \${1}; |
| 1508 |
snippet fw:b |
| 1509 |
font-weight: bold; |
| 1510 |
snippet fw:br |
| 1511 |
font-weight: bolder; |
| 1512 |
snippet fw:lr |
| 1513 |
font-weight: lighter; |
| 1514 |
snippet fw:n |
| 1515 |
font-weight: normal; |
| 1516 |
snippet f |
| 1517 |
font: \${1}; |
| 1518 |
snippet h |
| 1519 |
height: \${1}; |
| 1520 |
snippet h:a |
| 1521 |
height: auto; |
| 1522 |
snippet l |
| 1523 |
left: \${1}; |
| 1524 |
snippet l:a |
| 1525 |
left: auto; |
| 1526 |
snippet lts |
| 1527 |
letter-spacing: \${1}; |
| 1528 |
snippet lh |
| 1529 |
line-height: \${1}; |
| 1530 |
snippet lisi |
| 1531 |
list-style-image: url(\${1}); |
| 1532 |
snippet lisi:n |
| 1533 |
list-style-image: none; |
| 1534 |
snippet lisp |
| 1535 |
list-style-position: \${1}; |
| 1536 |
snippet lisp:i |
| 1537 |
list-style-position: inside; |
| 1538 |
snippet lisp:o |
| 1539 |
list-style-position: outside; |
| 1540 |
snippet list |
| 1541 |
list-style-type: \${1}; |
| 1542 |
snippet list:c |
| 1543 |
list-style-type: circle; |
| 1544 |
snippet list:dclz |
| 1545 |
list-style-type: decimal-leading-zero; |
| 1546 |
snippet list:dc |
| 1547 |
list-style-type: decimal; |
| 1548 |
snippet list:d |
| 1549 |
list-style-type: disc; |
| 1550 |
snippet list:lr |
| 1551 |
list-style-type: lower-roman; |
| 1552 |
snippet list:n |
| 1553 |
list-style-type: none; |
| 1554 |
snippet list:s |
| 1555 |
list-style-type: square; |
| 1556 |
snippet list:ur |
| 1557 |
list-style-type: upper-roman; |
| 1558 |
snippet lis |
| 1559 |
list-style: \${1}; |
| 1560 |
snippet lis:n |
| 1561 |
list-style: none; |
| 1562 |
snippet mb |
| 1563 |
margin-bottom: \${1}; |
| 1564 |
snippet mb:a |
| 1565 |
margin-bottom: auto; |
| 1566 |
snippet ml |
| 1567 |
margin-left: \${1}; |
| 1568 |
snippet ml:a |
| 1569 |
margin-left: auto; |
| 1570 |
snippet mr |
| 1571 |
margin-right: \${1}; |
| 1572 |
snippet mr:a |
| 1573 |
margin-right: auto; |
| 1574 |
snippet mt |
| 1575 |
margin-top: \${1}; |
| 1576 |
snippet mt:a |
| 1577 |
margin-top: auto; |
| 1578 |
snippet m |
| 1579 |
margin: \${1}; |
| 1580 |
snippet m:4 |
| 1581 |
margin: \${1:0} \${2:0} \${3:0} \${4:0}; |
| 1582 |
snippet m:3 |
| 1583 |
margin: \${1:0} \${2:0} \${3:0}; |
| 1584 |
snippet m:2 |
| 1585 |
margin: \${1:0} \${2:0}; |
| 1586 |
snippet m:0 |
| 1587 |
margin: 0; |
| 1588 |
snippet m:a |
| 1589 |
margin: auto; |
| 1590 |
snippet mah |
| 1591 |
max-height: \${1}; |
| 1592 |
snippet mah:n |
| 1593 |
max-height: none; |
| 1594 |
snippet maw |
| 1595 |
max-width: \${1}; |
| 1596 |
snippet maw:n |
| 1597 |
max-width: none; |
| 1598 |
snippet mih |
| 1599 |
min-height: \${1}; |
| 1600 |
snippet miw |
| 1601 |
min-width: \${1}; |
| 1602 |
snippet op |
| 1603 |
opacity: \${1}; |
| 1604 |
snippet op:ie |
| 1605 |
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=\${1:100}); |
| 1606 |
snippet op:ms |
| 1607 |
-ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=\${1:100})'; |
| 1608 |
snippet orp |
| 1609 |
orphans: \${1}; |
| 1610 |
snippet o+ |
| 1611 |
outline: \${1:1px} \${2:solid} #\${3:000}; |
| 1612 |
snippet oc |
| 1613 |
outline-color: \${1:#000}; |
| 1614 |
snippet oc:i |
| 1615 |
outline-color: invert; |
| 1616 |
snippet oo |
| 1617 |
outline-offset: \${1}; |
| 1618 |
snippet os |
| 1619 |
outline-style: \${1}; |
| 1620 |
snippet ow |
| 1621 |
outline-width: \${1}; |
| 1622 |
snippet o |
| 1623 |
outline: \${1}; |
| 1624 |
snippet o:n |
| 1625 |
outline: none; |
| 1626 |
snippet ovs |
| 1627 |
overflow-style: \${1}; |
| 1628 |
snippet ovs:a |
| 1629 |
overflow-style: auto; |
| 1630 |
snippet ovs:mq |
| 1631 |
overflow-style: marquee; |
| 1632 |
snippet ovs:mv |
| 1633 |
overflow-style: move; |
| 1634 |
snippet ovs:p |
| 1635 |
overflow-style: panner; |
| 1636 |
snippet ovs:s |
| 1637 |
overflow-style: scrollbar; |
| 1638 |
snippet ovx |
| 1639 |
overflow-x: \${1}; |
| 1640 |
snippet ovx:a |
| 1641 |
overflow-x: auto; |
| 1642 |
snippet ovx:h |
| 1643 |
overflow-x: hidden; |
| 1644 |
snippet ovx:s |
| 1645 |
overflow-x: scroll; |
| 1646 |
snippet ovx:v |
| 1647 |
overflow-x: visible; |
| 1648 |
snippet ovy |
| 1649 |
overflow-y: \${1}; |
| 1650 |
snippet ovy:a |
| 1651 |
overflow-y: auto; |
| 1652 |
snippet ovy:h |
| 1653 |
overflow-y: hidden; |
| 1654 |
snippet ovy:s |
| 1655 |
overflow-y: scroll; |
| 1656 |
snippet ovy:v |
| 1657 |
overflow-y: visible; |
| 1658 |
snippet ov |
| 1659 |
overflow: \${1}; |
| 1660 |
snippet ov:a |
| 1661 |
overflow: auto; |
| 1662 |
snippet ov:h |
| 1663 |
overflow: hidden; |
| 1664 |
snippet ov:s |
| 1665 |
overflow: scroll; |
| 1666 |
snippet ov:v |
| 1667 |
overflow: visible; |
| 1668 |
snippet pb |
| 1669 |
padding-bottom: \${1}; |
| 1670 |
snippet pl |
| 1671 |
padding-left: \${1}; |
| 1672 |
snippet pr |
| 1673 |
padding-right: \${1}; |
| 1674 |
snippet pt |
| 1675 |
padding-top: \${1}; |
| 1676 |
snippet p |
| 1677 |
padding: \${1}; |
| 1678 |
snippet p:4 |
| 1679 |
padding: \${1:0} \${2:0} \${3:0} \${4:0}; |
| 1680 |
snippet p:3 |
| 1681 |
padding: \${1:0} \${2:0} \${3:0}; |
| 1682 |
snippet p:2 |
| 1683 |
padding: \${1:0} \${2:0}; |
| 1684 |
snippet p:0 |
| 1685 |
padding: 0; |
| 1686 |
snippet pgba |
| 1687 |
page-break-after: \${1}; |
| 1688 |
snippet pgba:aw |
| 1689 |
page-break-after: always; |
| 1690 |
snippet pgba:a |
| 1691 |
page-break-after: auto; |
| 1692 |
snippet pgba:l |
| 1693 |
page-break-after: left; |
| 1694 |
snippet pgba:r |
| 1695 |
page-break-after: right; |
| 1696 |
snippet pgbb |
| 1697 |
page-break-before: \${1}; |
| 1698 |
snippet pgbb:aw |
| 1699 |
page-break-before: always; |
| 1700 |
snippet pgbb:a |
| 1701 |
page-break-before: auto; |
| 1702 |
snippet pgbb:l |
| 1703 |
page-break-before: left; |
| 1704 |
snippet pgbb:r |
| 1705 |
page-break-before: right; |
| 1706 |
snippet pgbi |
| 1707 |
page-break-inside: \${1}; |
| 1708 |
snippet pgbi:a |
| 1709 |
page-break-inside: auto; |
| 1710 |
snippet pgbi:av |
| 1711 |
page-break-inside: avoid; |
| 1712 |
snippet pos |
| 1713 |
position: \${1}; |
| 1714 |
snippet pos:a |
| 1715 |
position: absolute; |
| 1716 |
snippet pos:f |
| 1717 |
position: fixed; |
| 1718 |
snippet pos:r |
| 1719 |
position: relative; |
| 1720 |
snippet pos:s |
| 1721 |
position: static; |
| 1722 |
snippet q |
| 1723 |
quotes: \${1}; |
| 1724 |
snippet q:en |
| 1725 |
quotes: '\\201C' '\\201D' '\\2018' '\\2019'; |
| 1726 |
snippet q:n |
| 1727 |
quotes: none; |
| 1728 |
snippet q:ru |
| 1729 |
quotes: '\\00AB' '\\00BB' '\\201E' '\\201C'; |
| 1730 |
snippet rz |
| 1731 |
resize: \${1}; |
| 1732 |
snippet rz:b |
| 1733 |
resize: both; |
| 1734 |
snippet rz:h |
| 1735 |
resize: horizontal; |
| 1736 |
snippet rz:n |
| 1737 |
resize: none; |
| 1738 |
snippet rz:v |
| 1739 |
resize: vertical; |
| 1740 |
snippet r |
| 1741 |
right: \${1}; |
| 1742 |
snippet r:a |
| 1743 |
right: auto; |
| 1744 |
snippet tbl |
| 1745 |
table-layout: \${1}; |
| 1746 |
snippet tbl:a |
| 1747 |
table-layout: auto; |
| 1748 |
snippet tbl:f |
| 1749 |
table-layout: fixed; |
| 1750 |
snippet tal |
| 1751 |
text-align-last: \${1}; |
| 1752 |
snippet tal:a |
| 1753 |
text-align-last: auto; |
| 1754 |
snippet tal:c |
| 1755 |
text-align-last: center; |
| 1756 |
snippet tal:l |
| 1757 |
text-align-last: left; |
| 1758 |
snippet tal:r |
| 1759 |
text-align-last: right; |
| 1760 |
snippet ta |
| 1761 |
text-align: \${1}; |
| 1762 |
snippet ta:c |
| 1763 |
text-align: center; |
| 1764 |
snippet ta:l |
| 1765 |
text-align: left; |
| 1766 |
snippet ta:r |
| 1767 |
text-align: right; |
| 1768 |
snippet td |
| 1769 |
text-decoration: \${1}; |
| 1770 |
snippet td:l |
| 1771 |
text-decoration: line-through; |
| 1772 |
snippet td:n |
| 1773 |
text-decoration: none; |
| 1774 |
snippet td:o |
| 1775 |
text-decoration: overline; |
| 1776 |
snippet td:u |
| 1777 |
text-decoration: underline; |
| 1778 |
snippet te |
| 1779 |
text-emphasis: \${1}; |
| 1780 |
snippet te:ac |
| 1781 |
text-emphasis: accent; |
| 1782 |
snippet te:a |
| 1783 |
text-emphasis: after; |
| 1784 |
snippet te:b |
| 1785 |
text-emphasis: before; |
| 1786 |
snippet te:c |
| 1787 |
text-emphasis: circle; |
| 1788 |
snippet te:ds |
| 1789 |
text-emphasis: disc; |
| 1790 |
snippet te:dt |
| 1791 |
text-emphasis: dot; |
| 1792 |
snippet te:n |
| 1793 |
text-emphasis: none; |
| 1794 |
snippet th |
| 1795 |
text-height: \${1}; |
| 1796 |
snippet th:a |
| 1797 |
text-height: auto; |
| 1798 |
snippet th:f |
| 1799 |
text-height: font-size; |
| 1800 |
snippet th:m |
| 1801 |
text-height: max-size; |
| 1802 |
snippet th:t |
| 1803 |
text-height: text-size; |
| 1804 |
snippet ti |
| 1805 |
text-indent: \${1}; |
| 1806 |
snippet ti:- |
| 1807 |
text-indent: -9999px; |
| 1808 |
snippet tj |
| 1809 |
text-justify: \${1}; |
| 1810 |
snippet tj:a |
| 1811 |
text-justify: auto; |
| 1812 |
snippet tj:d |
| 1813 |
text-justify: distribute; |
| 1814 |
snippet tj:ic |
| 1815 |
text-justify: inter-cluster; |
| 1816 |
snippet tj:ii |
| 1817 |
text-justify: inter-ideograph; |
| 1818 |
snippet tj:iw |
| 1819 |
text-justify: inter-word; |
| 1820 |
snippet tj:k |
| 1821 |
text-justify: kashida; |
| 1822 |
snippet tj:t |
| 1823 |
text-justify: tibetan; |
| 1824 |
snippet to+ |
| 1825 |
text-outline: \${1:0} \${2:0} #\${3:000}; |
| 1826 |
snippet to |
| 1827 |
text-outline: \${1}; |
| 1828 |
snippet to:n |
| 1829 |
text-outline: none; |
| 1830 |
snippet tr |
| 1831 |
text-replace: \${1}; |
| 1832 |
snippet tr:n |
| 1833 |
text-replace: none; |
| 1834 |
snippet tsh+ |
| 1835 |
text-shadow: \${1:0} \${2:0} \${3:0} #\${4:000}; |
| 1836 |
snippet tsh |
| 1837 |
text-shadow: \${1}; |
| 1838 |
snippet tsh:n |
| 1839 |
text-shadow: none; |
| 1840 |
snippet tt |
| 1841 |
text-transform: \${1}; |
| 1842 |
snippet tt:c |
| 1843 |
text-transform: capitalize; |
| 1844 |
snippet tt:l |
| 1845 |
text-transform: lowercase; |
| 1846 |
snippet tt:n |
| 1847 |
text-transform: none; |
| 1848 |
snippet tt:u |
| 1849 |
text-transform: uppercase; |
| 1850 |
snippet tw |
| 1851 |
text-wrap: \${1}; |
| 1852 |
snippet tw:no |
| 1853 |
text-wrap: none; |
| 1854 |
snippet tw:n |
| 1855 |
text-wrap: normal; |
| 1856 |
snippet tw:s |
| 1857 |
text-wrap: suppress; |
| 1858 |
snippet tw:u |
| 1859 |
text-wrap: unrestricted; |
| 1860 |
snippet t |
| 1861 |
top: \${1}; |
| 1862 |
snippet t:a |
| 1863 |
top: auto; |
| 1864 |
snippet va |
| 1865 |
vertical-align: \${1}; |
| 1866 |
snippet va:bl |
| 1867 |
vertical-align: baseline; |
| 1868 |
snippet va:b |
| 1869 |
vertical-align: bottom; |
| 1870 |
snippet va:m |
| 1871 |
vertical-align: middle; |
| 1872 |
snippet va:sub |
| 1873 |
vertical-align: sub; |
| 1874 |
snippet va:sup |
| 1875 |
vertical-align: super; |
| 1876 |
snippet va:tb |
| 1877 |
vertical-align: text-bottom; |
| 1878 |
snippet va:tt |
| 1879 |
vertical-align: text-top; |
| 1880 |
snippet va:t |
| 1881 |
vertical-align: top; |
| 1882 |
snippet v |
| 1883 |
visibility: \${1}; |
| 1884 |
snippet v:c |
| 1885 |
visibility: collapse; |
| 1886 |
snippet v:h |
| 1887 |
visibility: hidden; |
| 1888 |
snippet v:v |
| 1889 |
visibility: visible; |
| 1890 |
snippet whsc |
| 1891 |
white-space-collapse: \${1}; |
| 1892 |
snippet whsc:ba |
| 1893 |
white-space-collapse: break-all; |
| 1894 |
snippet whsc:bs |
| 1895 |
white-space-collapse: break-strict; |
| 1896 |
snippet whsc:k |
| 1897 |
white-space-collapse: keep-all; |
| 1898 |
snippet whsc:l |
| 1899 |
white-space-collapse: loose; |
| 1900 |
snippet whsc:n |
| 1901 |
white-space-collapse: normal; |
| 1902 |
snippet whs |
| 1903 |
white-space: \${1}; |
| 1904 |
snippet whs:n |
| 1905 |
white-space: normal; |
| 1906 |
snippet whs:nw |
| 1907 |
white-space: nowrap; |
| 1908 |
snippet whs:pl |
| 1909 |
white-space: pre-line; |
| 1910 |
snippet whs:pw |
| 1911 |
white-space: pre-wrap; |
| 1912 |
snippet whs:p |
| 1913 |
white-space: pre; |
| 1914 |
snippet wid |
| 1915 |
widows: \${1}; |
| 1916 |
snippet w |
| 1917 |
width: \${1}; |
| 1918 |
snippet w:a |
| 1919 |
width: auto; |
| 1920 |
snippet wob |
| 1921 |
word-break: \${1}; |
| 1922 |
snippet wob:ba |
| 1923 |
word-break: break-all; |
| 1924 |
snippet wob:bs |
| 1925 |
word-break: break-strict; |
| 1926 |
snippet wob:k |
| 1927 |
word-break: keep-all; |
| 1928 |
snippet wob:l |
| 1929 |
word-break: loose; |
| 1930 |
snippet wob:n |
| 1931 |
word-break: normal; |
| 1932 |
snippet wos |
| 1933 |
word-spacing: \${1}; |
| 1934 |
snippet wow |
| 1935 |
word-wrap: \${1}; |
| 1936 |
snippet wow:no |
| 1937 |
word-wrap: none; |
| 1938 |
snippet wow:n |
| 1939 |
word-wrap: normal; |
| 1940 |
snippet wow:s |
| 1941 |
word-wrap: suppress; |
| 1942 |
snippet wow:u |
| 1943 |
word-wrap: unrestricted; |
| 1944 |
snippet z |
| 1945 |
z-index: \${1}; |
| 1946 |
snippet z:a |
| 1947 |
z-index: auto; |
| 1948 |
snippet zoo |
| 1949 |
zoom: 1; |
| 1950 |
`}),ace.define("ace/snippets/css",["require","exports","module","ace/snippets/css.snippets"],function(T,M,z){M.snippetText=T("./css.snippets"),M.scope="css"}),(function(){ace.require(["ace/snippets/css"],function(T){q&&(q.exports=T)})})()})(St)),St.exports}di();var Ct={exports:{}},Xt;function pi(){return Xt||(Xt=1,(function(q,j){ace.define("ace/snippets/javascript.snippets",["require","exports","module"],function(T,M,z){z.exports=`# Prototype |
| 1951 |
snippet proto |
| 1952 |
\${1:class_name}.prototype.\${2:method_name} = function(\${3:first_argument}) { |
| 1953 |
\${4:// body...} |
| 1954 |
}; |
| 1955 |
# Function |
| 1956 |
snippet fun |
| 1957 |
function \${1?:function_name}(\${2:argument}) { |
| 1958 |
\${3:// body...} |
| 1959 |
} |
| 1960 |
# Anonymous Function |
| 1961 |
regex /((=)\\s*|(:)\\s*|(\\()|\\b)/f/(\\))?/ |
| 1962 |
snippet f |
| 1963 |
function\${M1?: \${1:functionName}}($2) { |
| 1964 |
\${0:$TM_SELECTED_TEXT} |
| 1965 |
}\${M2?;}\${M3?,}\${M4?)} |
| 1966 |
# Immediate function |
| 1967 |
trigger \\(?f\\( |
| 1968 |
endTrigger \\)? |
| 1969 |
snippet f( |
| 1970 |
(function(\${1}) { |
| 1971 |
\${0:\${TM_SELECTED_TEXT:/* code */}} |
| 1972 |
}(\${1})); |
| 1973 |
# if |
| 1974 |
snippet if |
| 1975 |
if (\${1:true}) { |
| 1976 |
\${0} |
| 1977 |
} |
| 1978 |
# if ... else |
| 1979 |
snippet ife |
| 1980 |
if (\${1:true}) { |
| 1981 |
\${2} |
| 1982 |
} else { |
| 1983 |
\${0} |
| 1984 |
} |
| 1985 |
# tertiary conditional |
| 1986 |
snippet ter |
| 1987 |
\${1:/* condition */} ? \${2:a} : \${3:b} |
| 1988 |
# switch |
| 1989 |
snippet switch |
| 1990 |
switch (\${1:expression}) { |
| 1991 |
case '\${3:case}': |
| 1992 |
\${4:// code} |
| 1993 |
break; |
| 1994 |
\${5} |
| 1995 |
default: |
| 1996 |
\${2:// code} |
| 1997 |
} |
| 1998 |
# case |
| 1999 |
snippet case |
| 2000 |
case '\${1:case}': |
| 2001 |
\${2:// code} |
| 2002 |
break; |
| 2003 |
\${3} |
| 2004 |
|
| 2005 |
# while (...) {...} |
| 2006 |
snippet wh |
| 2007 |
while (\${1:/* condition */}) { |
| 2008 |
\${0:/* code */} |
| 2009 |
} |
| 2010 |
# try |
| 2011 |
snippet try |
| 2012 |
try { |
| 2013 |
\${0:/* code */} |
| 2014 |
} catch (e) {} |
| 2015 |
# do...while |
| 2016 |
snippet do |
| 2017 |
do { |
| 2018 |
\${2:/* code */} |
| 2019 |
} while (\${1:/* condition */}); |
| 2020 |
# Object Method |
| 2021 |
snippet :f |
| 2022 |
regex /([,{[])|^\\s*/:f/ |
| 2023 |
\${1:method_name}: function(\${2:attribute}) { |
| 2024 |
\${0} |
| 2025 |
}\${3:,} |
| 2026 |
# setTimeout function |
| 2027 |
snippet setTimeout |
| 2028 |
regex /\\b/st|timeout|setTimeo?u?t?/ |
| 2029 |
setTimeout(function() {\${3:$TM_SELECTED_TEXT}}, \${1:10}); |
| 2030 |
# Get Elements |
| 2031 |
snippet gett |
| 2032 |
getElementsBy\${1:TagName}('\${2}')\${3} |
| 2033 |
# Get Element |
| 2034 |
snippet get |
| 2035 |
getElementBy\${1:Id}('\${2}')\${3} |
| 2036 |
# console.log (Firebug) |
| 2037 |
snippet cl |
| 2038 |
console.log(\${1}); |
| 2039 |
# return |
| 2040 |
snippet ret |
| 2041 |
return \${1:result} |
| 2042 |
# for (property in object ) { ... } |
| 2043 |
snippet fori |
| 2044 |
for (var \${1:prop} in \${2:Things}) { |
| 2045 |
\${0:$2[$1]} |
| 2046 |
} |
| 2047 |
# hasOwnProperty |
| 2048 |
snippet has |
| 2049 |
hasOwnProperty(\${1}) |
| 2050 |
# docstring |
| 2051 |
snippet /** |
| 2052 |
/** |
| 2053 |
* \${1:description} |
| 2054 |
* |
| 2055 |
*/ |
| 2056 |
snippet @par |
| 2057 |
regex /^\\s*\\*\\s*/@(para?m?)?/ |
| 2058 |
@param {\${1:type}} \${2:name} \${3:description} |
| 2059 |
snippet @ret |
| 2060 |
@return {\${1:type}} \${2:description} |
| 2061 |
# JSON.parse |
| 2062 |
snippet jsonp |
| 2063 |
JSON.parse(\${1:jstr}); |
| 2064 |
# JSON.stringify |
| 2065 |
snippet jsons |
| 2066 |
JSON.stringify(\${1:object}); |
| 2067 |
# self-defining function |
| 2068 |
snippet sdf |
| 2069 |
var \${1:function_name} = function(\${2:argument}) { |
| 2070 |
\${3:// initial code ...} |
| 2071 |
|
| 2072 |
$1 = function($2) { |
| 2073 |
\${4:// main code} |
| 2074 |
}; |
| 2075 |
} |
| 2076 |
# singleton |
| 2077 |
snippet sing |
| 2078 |
function \${1:Singleton} (\${2:argument}) { |
| 2079 |
// the cached instance |
| 2080 |
var instance; |
| 2081 |
|
| 2082 |
// rewrite the constructor |
| 2083 |
$1 = function $1($2) { |
| 2084 |
return instance; |
| 2085 |
}; |
| 2086 |
|
| 2087 |
// carry over the prototype properties |
| 2088 |
$1.prototype = this; |
| 2089 |
|
| 2090 |
// the instance |
| 2091 |
instance = new $1(); |
| 2092 |
|
| 2093 |
// reset the constructor pointer |
| 2094 |
instance.constructor = $1; |
| 2095 |
|
| 2096 |
\${3:// code ...} |
| 2097 |
|
| 2098 |
return instance; |
| 2099 |
} |
| 2100 |
# class |
| 2101 |
snippet class |
| 2102 |
regex /^\\s*/clas{0,2}/ |
| 2103 |
var \${1:class} = function(\${20}) { |
| 2104 |
$40$0 |
| 2105 |
}; |
| 2106 |
|
| 2107 |
(function() { |
| 2108 |
\${60:this.prop = ""} |
| 2109 |
}).call(\${1:class}.prototype); |
| 2110 |
|
| 2111 |
exports.\${1:class} = \${1:class}; |
| 2112 |
# |
| 2113 |
snippet for- |
| 2114 |
for (var \${1:i} = \${2:Things}.length; \${1:i}--; ) { |
| 2115 |
\${0:\${2:Things}[\${1:i}];} |
| 2116 |
} |
| 2117 |
# for (...) {...} |
| 2118 |
snippet for |
| 2119 |
for (var \${1:i} = 0; $1 < \${2:Things}.length; $1++) { |
| 2120 |
\${3:$2[$1]}$0 |
| 2121 |
} |
| 2122 |
# for (...) {...} (Improved Native For-Loop) |
| 2123 |
snippet forr |
| 2124 |
for (var \${1:i} = \${2:Things}.length - 1; $1 >= 0; $1--) { |
| 2125 |
\${3:$2[$1]}$0 |
| 2126 |
} |
| 2127 |
|
| 2128 |
|
| 2129 |
#modules |
| 2130 |
snippet def |
| 2131 |
define(function(require, exports, module) { |
| 2132 |
"use strict"; |
| 2133 |
var \${1/.*\\///} = require("\${1}"); |
| 2134 |
|
| 2135 |
$TM_SELECTED_TEXT |
| 2136 |
}); |
| 2137 |
snippet req |
| 2138 |
guard ^\\s* |
| 2139 |
var \${1/.*\\///} = require("\${1}"); |
| 2140 |
$0 |
| 2141 |
snippet requ |
| 2142 |
guard ^\\s* |
| 2143 |
var \${1/.*\\/(.)/\\u$1/} = require("\${1}").\${1/.*\\/(.)/\\u$1/}; |
| 2144 |
$0 |
| 2145 |
`}),ace.define("ace/snippets/javascript",["require","exports","module","ace/snippets/javascript.snippets"],function(T,M,z){M.snippetText=T("./javascript.snippets"),M.scope="javascript"}),(function(){ace.require(["ace/snippets/javascript"],function(T){q&&(q.exports=T)})})()})(Ct)),Ct.exports}pi();var kt={exports:{}},Zt;function fi(){return Zt||(Zt=1,(function(q,j){ace.define("ace/theme/tomorrow-css",["require","exports","module"],function(T,M,z){z.exports=`.ace-tomorrow .ace_gutter { |
| 2146 |
background: #f6f6f6; |
| 2147 |
color: #4D4D4C |
| 2148 |
} |
| 2149 |
|
| 2150 |
.ace-tomorrow .ace_print-margin { |
| 2151 |
width: 1px; |
| 2152 |
background: #f6f6f6 |
| 2153 |
} |
| 2154 |
|
| 2155 |
.ace-tomorrow { |
| 2156 |
background-color: #FFFFFF; |
| 2157 |
color: #4D4D4C |
| 2158 |
} |
| 2159 |
|
| 2160 |
.ace-tomorrow .ace_cursor { |
| 2161 |
color: #AEAFAD |
| 2162 |
} |
| 2163 |
|
| 2164 |
.ace-tomorrow .ace_marker-layer .ace_selection { |
| 2165 |
background: #D6D6D6 |
| 2166 |
} |
| 2167 |
|
| 2168 |
.ace-tomorrow.ace_multiselect .ace_selection.ace_start { |
| 2169 |
box-shadow: 0 0 3px 0px #FFFFFF; |
| 2170 |
} |
| 2171 |
|
| 2172 |
.ace-tomorrow .ace_marker-layer .ace_step { |
| 2173 |
background: rgb(255, 255, 0) |
| 2174 |
} |
| 2175 |
|
| 2176 |
.ace-tomorrow .ace_marker-layer .ace_bracket { |
| 2177 |
margin: -1px 0 0 -1px; |
| 2178 |
border: 1px solid #D1D1D1 |
| 2179 |
} |
| 2180 |
|
| 2181 |
.ace-tomorrow .ace_marker-layer .ace_active-line { |
| 2182 |
background: #EFEFEF |
| 2183 |
} |
| 2184 |
|
| 2185 |
.ace-tomorrow .ace_gutter-active-line { |
| 2186 |
background-color : #dcdcdc |
| 2187 |
} |
| 2188 |
|
| 2189 |
.ace-tomorrow .ace_marker-layer .ace_selected-word { |
| 2190 |
border: 1px solid #D6D6D6 |
| 2191 |
} |
| 2192 |
|
| 2193 |
.ace-tomorrow .ace_invisible { |
| 2194 |
color: #D1D1D1 |
| 2195 |
} |
| 2196 |
|
| 2197 |
.ace-tomorrow .ace_keyword, |
| 2198 |
.ace-tomorrow .ace_meta, |
| 2199 |
.ace-tomorrow .ace_storage, |
| 2200 |
.ace-tomorrow .ace_storage.ace_type, |
| 2201 |
.ace-tomorrow .ace_support.ace_type { |
| 2202 |
color: #8959A8 |
| 2203 |
} |
| 2204 |
|
| 2205 |
.ace-tomorrow .ace_keyword.ace_operator { |
| 2206 |
color: #3E999F |
| 2207 |
} |
| 2208 |
|
| 2209 |
.ace-tomorrow .ace_constant.ace_character, |
| 2210 |
.ace-tomorrow .ace_constant.ace_language, |
| 2211 |
.ace-tomorrow .ace_constant.ace_numeric, |
| 2212 |
.ace-tomorrow .ace_keyword.ace_other.ace_unit, |
| 2213 |
.ace-tomorrow .ace_support.ace_constant, |
| 2214 |
.ace-tomorrow .ace_variable.ace_parameter { |
| 2215 |
color: #F5871F |
| 2216 |
} |
| 2217 |
|
| 2218 |
.ace-tomorrow .ace_constant.ace_other { |
| 2219 |
color: #666969 |
| 2220 |
} |
| 2221 |
|
| 2222 |
.ace-tomorrow .ace_invalid { |
| 2223 |
color: #FFFFFF; |
| 2224 |
background-color: #C82829 |
| 2225 |
} |
| 2226 |
|
| 2227 |
.ace-tomorrow .ace_invalid.ace_deprecated { |
| 2228 |
color: #FFFFFF; |
| 2229 |
background-color: #8959A8 |
| 2230 |
} |
| 2231 |
|
| 2232 |
.ace-tomorrow .ace_fold { |
| 2233 |
background-color: #4271AE; |
| 2234 |
border-color: #4D4D4C |
| 2235 |
} |
| 2236 |
|
| 2237 |
.ace-tomorrow .ace_entity.ace_name.ace_function, |
| 2238 |
.ace-tomorrow .ace_support.ace_function, |
| 2239 |
.ace-tomorrow .ace_variable { |
| 2240 |
color: #4271AE |
| 2241 |
} |
| 2242 |
|
| 2243 |
.ace-tomorrow .ace_support.ace_class, |
| 2244 |
.ace-tomorrow .ace_support.ace_type { |
| 2245 |
color: #C99E00 |
| 2246 |
} |
| 2247 |
|
| 2248 |
.ace-tomorrow .ace_heading, |
| 2249 |
.ace-tomorrow .ace_markup.ace_heading, |
| 2250 |
.ace-tomorrow .ace_string { |
| 2251 |
color: #718C00 |
| 2252 |
} |
| 2253 |
|
| 2254 |
.ace-tomorrow .ace_entity.ace_name.ace_tag, |
| 2255 |
.ace-tomorrow .ace_entity.ace_other.ace_attribute-name, |
| 2256 |
.ace-tomorrow .ace_meta.ace_tag, |
| 2257 |
.ace-tomorrow .ace_string.ace_regexp, |
| 2258 |
.ace-tomorrow .ace_variable { |
| 2259 |
color: #C82829 |
| 2260 |
} |
| 2261 |
|
| 2262 |
.ace-tomorrow .ace_comment { |
| 2263 |
color: #8E908C |
| 2264 |
} |
| 2265 |
|
| 2266 |
.ace-tomorrow .ace_indent-guide { |
| 2267 |
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==) right repeat-y |
| 2268 |
} |
| 2269 |
|
| 2270 |
.ace-tomorrow .ace_indent-guide-active { |
| 2271 |
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y; |
| 2272 |
} |
| 2273 |
`}),ace.define("ace/theme/tomorrow",["require","exports","module","ace/theme/tomorrow-css","ace/lib/dom"],function(T,M,z){M.isDark=!1,M.cssClass="ace-tomorrow",M.cssText=T("./tomorrow-css");var k=T("../lib/dom");k.importCssString(M.cssText,M.cssClass,!1)}),(function(){ace.require(["ace/theme/tomorrow"],function(T){q&&(q.exports=T)})})()})(kt)),kt.exports}fi();var At={exports:{}},Jt;function gi(){return Jt||(Jt=1,(function(q,j){ace.define("ace/theme/twilight-css",["require","exports","module"],function(T,M,z){z.exports=`.ace-twilight .ace_gutter { |
| 2274 |
background: #232323; |
| 2275 |
color: #E2E2E2 |
| 2276 |
} |
| 2277 |
|
| 2278 |
.ace-twilight .ace_print-margin { |
| 2279 |
width: 1px; |
| 2280 |
background: #232323 |
| 2281 |
} |
| 2282 |
|
| 2283 |
.ace-twilight { |
| 2284 |
background-color: #141414; |
| 2285 |
color: #F8F8F8 |
| 2286 |
} |
| 2287 |
|
| 2288 |
.ace-twilight .ace_cursor { |
| 2289 |
color: #A7A7A7 |
| 2290 |
} |
| 2291 |
|
| 2292 |
.ace-twilight .ace_marker-layer .ace_selection { |
| 2293 |
background: rgba(221, 240, 255, 0.20) |
| 2294 |
} |
| 2295 |
|
| 2296 |
.ace-twilight.ace_multiselect .ace_selection.ace_start { |
| 2297 |
box-shadow: 0 0 3px 0px #141414; |
| 2298 |
} |
| 2299 |
|
| 2300 |
.ace-twilight .ace_marker-layer .ace_step { |
| 2301 |
background: rgb(102, 82, 0) |
| 2302 |
} |
| 2303 |
|
| 2304 |
.ace-twilight .ace_marker-layer .ace_bracket { |
| 2305 |
margin: -1px 0 0 -1px; |
| 2306 |
border: 1px solid rgba(255, 255, 255, 0.25) |
| 2307 |
} |
| 2308 |
|
| 2309 |
.ace-twilight .ace_marker-layer .ace_active-line { |
| 2310 |
background: rgba(255, 255, 255, 0.031) |
| 2311 |
} |
| 2312 |
|
| 2313 |
.ace-twilight .ace_gutter-active-line { |
| 2314 |
background-color: rgba(255, 255, 255, 0.031) |
| 2315 |
} |
| 2316 |
|
| 2317 |
.ace-twilight .ace_marker-layer .ace_selected-word { |
| 2318 |
border: 1px solid rgba(221, 240, 255, 0.20) |
| 2319 |
} |
| 2320 |
|
| 2321 |
.ace-twilight .ace_invisible { |
| 2322 |
color: rgba(255, 255, 255, 0.25) |
| 2323 |
} |
| 2324 |
|
| 2325 |
.ace-twilight .ace_keyword, |
| 2326 |
.ace-twilight .ace_meta { |
| 2327 |
color: #CDA869 |
| 2328 |
} |
| 2329 |
|
| 2330 |
.ace-twilight .ace_constant, |
| 2331 |
.ace-twilight .ace_constant.ace_character, |
| 2332 |
.ace-twilight .ace_constant.ace_character.ace_escape, |
| 2333 |
.ace-twilight .ace_constant.ace_other, |
| 2334 |
.ace-twilight .ace_heading, |
| 2335 |
.ace-twilight .ace_markup.ace_heading, |
| 2336 |
.ace-twilight .ace_support.ace_constant { |
| 2337 |
color: #CF6A4C |
| 2338 |
} |
| 2339 |
|
| 2340 |
.ace-twilight .ace_invalid.ace_illegal { |
| 2341 |
color: #F8F8F8; |
| 2342 |
background-color: rgba(86, 45, 86, 0.75) |
| 2343 |
} |
| 2344 |
|
| 2345 |
.ace-twilight .ace_invalid.ace_deprecated { |
| 2346 |
text-decoration: underline; |
| 2347 |
font-style: italic; |
| 2348 |
color: #D2A8A1 |
| 2349 |
} |
| 2350 |
|
| 2351 |
.ace-twilight .ace_support { |
| 2352 |
color: #9B859D |
| 2353 |
} |
| 2354 |
|
| 2355 |
.ace-twilight .ace_fold { |
| 2356 |
background-color: #AC885B; |
| 2357 |
border-color: #F8F8F8 |
| 2358 |
} |
| 2359 |
|
| 2360 |
.ace-twilight .ace_support.ace_function { |
| 2361 |
color: #DAD085 |
| 2362 |
} |
| 2363 |
|
| 2364 |
.ace-twilight .ace_list, |
| 2365 |
.ace-twilight .ace_markup.ace_list, |
| 2366 |
.ace-twilight .ace_storage { |
| 2367 |
color: #F9EE98 |
| 2368 |
} |
| 2369 |
|
| 2370 |
.ace-twilight .ace_entity.ace_name.ace_function, |
| 2371 |
.ace-twilight .ace_meta.ace_tag { |
| 2372 |
color: #AC885B |
| 2373 |
} |
| 2374 |
|
| 2375 |
.ace-twilight .ace_string { |
| 2376 |
color: #8F9D6A |
| 2377 |
} |
| 2378 |
|
| 2379 |
.ace-twilight .ace_string.ace_regexp { |
| 2380 |
color: #E9C062 |
| 2381 |
} |
| 2382 |
|
| 2383 |
.ace-twilight .ace_comment { |
| 2384 |
font-style: italic; |
| 2385 |
color: #5F5A60 |
| 2386 |
} |
| 2387 |
|
| 2388 |
.ace-twilight .ace_variable { |
| 2389 |
color: #7587A6 |
| 2390 |
} |
| 2391 |
|
| 2392 |
.ace-twilight .ace_xml-pe { |
| 2393 |
color: #494949 |
| 2394 |
} |
| 2395 |
|
| 2396 |
.ace-twilight .ace_indent-guide { |
| 2397 |
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y |
| 2398 |
} |
| 2399 |
|
| 2400 |
.ace-twilight .ace_indent-guide-active { |
| 2401 |
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y; |
| 2402 |
} |
| 2403 |
`}),ace.define("ace/theme/twilight",["require","exports","module","ace/theme/twilight-css","ace/lib/dom"],function(T,M,z){M.isDark=!0,M.cssClass="ace-twilight",M.cssText=T("./twilight-css");var k=T("../lib/dom");k.importCssString(M.cssText,M.cssClass,!1)}),(function(){ace.require(["ace/theme/twilight"],function(T){q&&(q.exports=T)})})()})(At)),At.exports}gi();var Mt={exports:{}},qt;function mi(){return qt||(qt=1,(function(q,j){ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],function(T,M,z){function k(c){var g=new Date().toLocaleString("en-us",c);return g.length==1?"0"+g:g}var y=T("./lib/dom"),b=T("./lib/oop"),a=T("./lib/event_emitter").EventEmitter,l=T("./lib/lang"),r=T("./range").Range,i=T("./range_list").RangeList,n=T("./keyboard/hash_handler").HashHandler,t=T("./tokenizer").Tokenizer,e=T("./clipboard"),o={CURRENT_WORD:function(c){return c.session.getTextRange(c.session.getWordRange())},SELECTION:function(c,g,w){var m=c.session.getTextRange();return w?m.replace(/\n\r?([ \t]*\S)/g,` |
| 2404 |
`+w+"$1"):m},CURRENT_LINE:function(c){return c.session.getLine(c.getCursorPosition().row)},PREV_LINE:function(c){return c.session.getLine(c.getCursorPosition().row-1)},LINE_INDEX:function(c){return c.getCursorPosition().row},LINE_NUMBER:function(c){return c.getCursorPosition().row+1},SOFT_TABS:function(c){return c.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(c){return c.session.getTabSize()},CLIPBOARD:function(c){return e.getText&&e.getText()},FILENAME:function(c){return/[^/\\]*$/.exec(this.FILEPATH(c))[0]},FILENAME_BASE:function(c){return/[^/\\]*$/.exec(this.FILEPATH(c))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(c){return this.FILEPATH(c).replace(/[^/\\]*$/,"")},FILEPATH:function(c){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(c){var g=c.session.$mode||{};return g.blockComment&&g.blockComment.start||""},BLOCK_COMMENT_END:function(c){var g=c.session.$mode||{};return g.blockComment&&g.blockComment.end||""},LINE_COMMENT:function(c){var g=c.session.$mode||{};return g.lineCommentStart||""},CURRENT_YEAR:k.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:k.bind(null,{year:"2-digit"}),CURRENT_MONTH:k.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:k.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:k.bind(null,{month:"short"}),CURRENT_DATE:k.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:k.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:k.bind(null,{weekday:"short"}),CURRENT_HOUR:k.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:k.bind(null,{minute:"2-digit"}),CURRENT_SECOND:k.bind(null,{second:"2-digit"})};o.SELECTED_TEXT=o.SELECTION;var s=(function(){function c(){this.snippetMap={},this.snippetNameMap={},this.variables=o}return c.prototype.getTokenizer=function(){return c.$tokenizer||this.createTokenizer()},c.prototype.createTokenizer=function(){function g($){return $=$.substr(1),/^\d+$/.test($)?[{tabstopId:parseInt($,10)}]:[{text:$}]}function w($){return"(?:[^\\\\"+$+"]|\\\\.)"}var m={regex:"/("+w("/")+"+)/",onMatch:function($,_,S){var v=S[0];return v.fmtString=!0,v.guard=$.slice(1,-1),v.flag="",""},next:"formatString"};return c.$tokenizer=new t({start:[{regex:/\\./,onMatch:function($,_,S){var v=$[1];return(v=="}"&&S.length||"`$\\".indexOf(v)!=-1)&&($=v),[$]}},{regex:/}/,onMatch:function($,_,S){return[S.length?S.shift():$]}},{regex:/\$(?:\d+|\w+)/,onMatch:g},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function($,_,S){var v=g($.substr(1));return S.unshift(v[0]),v},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+w("\\|")+"*\\|",onMatch:function($,_,S){var v=$.slice(1,-1).replace(/\\[,|\\]|,/g,function(p){return p.length==2?p[1]:"\0"}).split("\0").map(function(p){return{value:p}});return S[0].choices=v,[v[0]]},next:"start"},m,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function($,_,S){return S.length&&S[0].expectElse?(S[0].expectElse=!1,S[0].ifEnd={elseEnd:S[0]},[S[0].ifEnd]):":"}},{regex:/\\./,onMatch:function($,_,S){var v=$[1];return v=="}"&&S.length||"`$\\".indexOf(v)!=-1?$=v:v=="n"?$=` |
| 2405 |
`:v=="t"?$=" ":"ulULE".indexOf(v)!=-1&&($={changeCase:v,local:v>"a"}),[$]}},{regex:"/\\w*}",onMatch:function($,_,S){var v=S.shift();return v&&(v.flag=$.slice(1,-1)),this.next=v&&v.tabstopId?"start":"",[v||$]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function($,_,S){return[{text:$.slice(1)}]}},{regex:/\${\w+/,onMatch:function($,_,S){var v={text:$.slice(2)};return S.unshift(v),[v]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function($,_,S){var v=S.shift();return this.next=v&&v.tabstopId?"start":"",[v||$]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function($,_,S){var v=S[0];return v.formatFunction=$.slice(2,-1),[S.shift()]},next:"formatString"},m,{regex:/:[\?\-+]?/,onMatch:function($,_,S){$[1]=="+"&&(S[0].ifEnd=S[0]),$[1]=="?"&&(S[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),c.$tokenizer},c.prototype.tokenizeTmSnippet=function(g,w){return this.getTokenizer().getLineTokens(g,w).tokens.map(function(m){return m.value||m})},c.prototype.getVariableValue=function(g,w,m){if(/^\d+$/.test(w))return(this.variables.__||{})[w]||"";if(/^[A-Z]\d+$/.test(w))return(this.variables[w[0]+"__"]||{})[w.substr(1)]||"";if(w=w.replace(/^TM_/,""),!this.variables.hasOwnProperty(w))return"";var $=this.variables[w];return typeof $=="function"&&($=this.variables[w](g,w,m)),$==null?"":$},c.prototype.tmStrFormat=function(g,w,m){if(!w.fmt)return g;var $=w.flag||"",_=w.guard;_=new RegExp(_,$.replace(/[^gim]/g,""));var S=typeof w.fmt=="string"?this.tokenizeTmSnippet(w.fmt,"formatString"):w.fmt,v=this,p=g.replace(_,function(){var d=v.variables.__;v.variables.__=[].slice.call(arguments);for(var C=v.resolveVariables(S,m),E="E",L=0;L<C.length;L++){var R=C[L];if(typeof R=="object")if(C[L]="",R.changeCase&&R.local){var I=C[L+1];I&&typeof I=="string"&&(R.changeCase=="u"?C[L]=I[0].toUpperCase():C[L]=I[0].toLowerCase(),C[L+1]=I.substr(1))}else R.changeCase&&(E=R.changeCase);else E=="U"?C[L]=R.toUpperCase():E=="L"&&(C[L]=R.toLowerCase())}return v.variables.__=d,C.join("")});return p},c.prototype.tmFormatFunction=function(g,w,m){return w.formatFunction=="upcase"?g.toUpperCase():w.formatFunction=="downcase"?g.toLowerCase():g},c.prototype.resolveVariables=function(g,w){function m(E){var L=g.indexOf(E,v+1);L!=-1&&(v=L)}for(var $=[],_="",S=!0,v=0;v<g.length;v++){var p=g[v];if(typeof p=="string"){$.push(p),p==` |
| 2406 |
`?(S=!0,_=""):S&&(_=/^\t*/.exec(p)[0],S=/\S/.test(p));continue}if(p){if(S=!1,p.fmtString){var d=g.indexOf(p,v+1);d==-1&&(d=g.length),p.fmt=g.slice(v+1,d),v=d}if(p.text){var C=this.getVariableValue(w,p.text,_)+"";p.fmtString&&(C=this.tmStrFormat(C,p,w)),p.formatFunction&&(C=this.tmFormatFunction(C,p,w)),C&&!p.ifEnd?($.push(C),m(p)):!C&&p.ifEnd&&m(p.ifEnd)}else p.elseEnd?m(p.elseEnd):(p.tabstopId!=null||p.changeCase!=null)&&$.push(p)}}return $},c.prototype.getDisplayTextForSnippet=function(g,w){var m=h.call(this,g,w);return m.text},c.prototype.insertSnippetForSelection=function(g,w,m){m===void 0&&(m={});var $=h.call(this,g,w,m),_=g.getSelectionRange(),S=g.session.replace(_,$.text),v=new u(g),p=g.inVirtualSelectionMode&&g.selection.index;v.addTabstops($.tabstops,_.start,S,p)},c.prototype.insertSnippet=function(g,w,m){m===void 0&&(m={});var $=this;if(g.inVirtualSelectionMode)return $.insertSnippetForSelection(g,w,m);g.forEachSelection(function(){$.insertSnippetForSelection(g,w,m)},null,{keepOrder:!0}),g.tabstopManager&&g.tabstopManager.tabNext()},c.prototype.$getScope=function(g){var w=g.session.$mode.$id||"";if(w=w.split("/").pop(),w==="html"||w==="php"){w==="php"&&!g.session.$mode.inlinePhp&&(w="html");var m=g.getCursorPosition(),$=g.session.getState(m.row);typeof $=="object"&&($=$[0]),$.substring&&($.substring(0,3)=="js-"?w="javascript":$.substring(0,4)=="css-"?w="css":$.substring(0,4)=="php-"&&(w="php"))}return w},c.prototype.getActiveScopes=function(g){var w=this.$getScope(g),m=[w],$=this.snippetMap;return $[w]&&$[w].includeScopes&&m.push.apply(m,$[w].includeScopes),m.push("_"),m},c.prototype.expandWithTab=function(g,w){var m=this,$=g.forEachSelection(function(){return m.expandSnippetForSelection(g,w)},null,{keepOrder:!0});return $&&g.tabstopManager&&g.tabstopManager.tabNext(),$},c.prototype.expandSnippetForSelection=function(g,w){var m=g.getCursorPosition(),$=g.session.getLine(m.row),_=$.substring(0,m.column),S=$.substr(m.column),v=this.snippetMap,p;return this.getActiveScopes(g).some(function(d){var C=v[d];return C&&(p=this.findMatchingSnippet(C,_,S)),!!p},this),p?(w&&w.dryRun||(g.session.doc.removeInLine(m.row,m.column-p.replaceBefore.length,m.column+p.replaceAfter.length),this.variables.M__=p.matchBefore,this.variables.T__=p.matchAfter,this.insertSnippetForSelection(g,p.content),this.variables.M__=this.variables.T__=null),!0):!1},c.prototype.findMatchingSnippet=function(g,w,m){for(var $=g.length;$--;){var _=g[$];if(!(_.startRe&&!_.startRe.test(w))&&!(_.endRe&&!_.endRe.test(m))&&!(!_.startRe&&!_.endRe))return _.matchBefore=_.startRe?_.startRe.exec(w):[""],_.matchAfter=_.endRe?_.endRe.exec(m):[""],_.replaceBefore=_.triggerRe?_.triggerRe.exec(w)[0]:"",_.replaceAfter=_.endTriggerRe?_.endTriggerRe.exec(m)[0]:"",_}},c.prototype.register=function(g,w){function m(d){return d&&!/^\^?\(.*\)\$?$|^\\b$/.test(d)&&(d="(?:"+d+")"),d||""}function $(d,C,E){return d=m(d),C=m(C),d=C+d,d&&d[d.length-1]!="$"&&(d+="$"),new RegExp(d)}function _(d){d.scope||(d.scope=w||"_"),w=d.scope,S[w]||(S[w]=[],v[w]={});var C=v[w];if(d.name){var E=C[d.name];E&&p.unregister(E),C[d.name]=d}S[w].push(d),d.prefix&&(d.tabTrigger=d.prefix),!d.content&&d.body&&(d.content=Array.isArray(d.body)?d.body.join(` |
| 2407 |
`):d.body),d.tabTrigger&&!d.trigger&&(!d.guard&&/^\w/.test(d.tabTrigger)&&(d.guard="\\b"),d.trigger=l.escapeRegExp(d.tabTrigger)),!(!d.trigger&&!d.guard&&!d.endTrigger&&!d.endGuard)&&(d.startRe=$(d.trigger,d.guard),d.triggerRe=new RegExp(d.trigger),d.endRe=$(d.endTrigger,d.endGuard),d.endTriggerRe=new RegExp(d.endTrigger))}var S=this.snippetMap,v=this.snippetNameMap,p=this;g||(g=[]),Array.isArray(g)?g.forEach(_):Object.keys(g).forEach(function(d){_(g[d])}),this._signal("registerSnippets",{scope:w})},c.prototype.unregister=function(g,w){function m(S){var v=_[S.scope||w];if(v&&v[S.name]){delete v[S.name];var p=$[S.scope||w],d=p&&p.indexOf(S);d>=0&&p.splice(d,1)}}var $=this.snippetMap,_=this.snippetNameMap;g.content?m(g):Array.isArray(g)&&g.forEach(m)},c.prototype.parseSnippetFile=function(g){g=g.replace(/\r/g,"");for(var w=[],m={},$=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,_;_=$.exec(g);){if(_[1])try{m=JSON.parse(_[1]),w.push(m)}catch(d){}if(_[4])m.content=_[4].replace(/^\t/gm,""),w.push(m),m={};else{var S=_[2],v=_[3];if(S=="regex"){var p=/\/((?:[^\/\\]|\\.)*)|$/g;m.guard=p.exec(v)[1],m.trigger=p.exec(v)[1],m.endTrigger=p.exec(v)[1],m.endGuard=p.exec(v)[1]}else S=="snippet"?(m.tabTrigger=v.match(/^\S*/)[0],m.name||(m.name=v)):S&&(m[S]=v)}}return w},c.prototype.getSnippetByName=function(g,w){var m=this.snippetNameMap,$;return this.getActiveScopes(w).some(function(_){var S=m[_];return S&&($=S[g]),!!$},this),$},c})();b.implement(s.prototype,a);var h=function(c,g,w){function m(F){for(var U=[],V=0;V<F.length;V++){var K=F[V];if(typeof K=="object"){if(C[K.tabstopId])continue;var Y=F.lastIndexOf(K,V-1);K=U[Y]||{tabstopId:K.tabstopId}}U[V]=K}return U}w===void 0&&(w={});var $=c.getCursorPosition(),_=c.session.getLine($.row),S=c.session.getTabString(),v=_.match(/^\s*/)[0];$.column<v.length&&(v=v.slice(0,$.column)),g=g.replace(/\r/g,"");var p=this.tokenizeTmSnippet(g);p=this.resolveVariables(p,c),p=p.map(function(F){return F==` |
| 2408 |
`&&!w.excludeExtraIndent?F+v:typeof F=="string"?F.replace(/\t/g,S):F});var d=[];p.forEach(function(F,U){if(typeof F=="object"){var V=F.tabstopId,K=d[V];if(K||(K=d[V]=[],K.index=V,K.value="",K.parents={}),K.indexOf(F)===-1){F.choices&&!K.choices&&(K.choices=F.choices),K.push(F);var Y=p.indexOf(F,U+1);if(Y!==-1){var J=p.slice(U+1,Y),ne=J.some(function(re){return typeof re=="object"});ne&&!K.value?K.value=J:J.length&&(!K.value||typeof K.value!="string")&&(K.value=J.join(""))}}}}),d.forEach(function(F){F.length=0});for(var C={},E=0;E<p.length;E++){var L=p[E];if(typeof L=="object"){var R=L.tabstopId,I=d[R],O=p.indexOf(L,E+1);if(C[R]){C[R]===L&&(delete C[R],Object.keys(C).forEach(function(F){I.parents[F]=!0}));continue}C[R]=L;var B=I.value;typeof B!="string"?B=m(B):L.fmt&&(B=this.tmStrFormat(B,L,c)),p.splice.apply(p,[E+1,Math.max(0,O-E)].concat(B,L)),I.indexOf(L)===-1&&I.push(L)}}var N=0,W=0,P="";return p.forEach(function(F){if(typeof F=="string"){var U=F.split(` |
| 2409 |
`);U.length>1?(W=U[U.length-1].length,N+=U.length-1):W+=F.length,P+=F}else F&&(F.start?F.end={row:N,column:W}:F.start={row:N,column:W})}),{text:P,tabstops:d,tokens:p}},u=(function(){function c(g){if(this.index=0,this.ranges=[],this.tabstops=[],g.tabstopManager)return g.tabstopManager;g.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=l.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(g)}return c.prototype.attach=function(g){this.$openTabstops=null,this.selectedTabstop=null,this.editor=g,this.session=g.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},c.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},c.prototype.onChange=function(g){for(var w=g.action[0]=="r",m=this.selectedTabstop||{},$=m.parents||{},_=this.tabstops.slice(),S=0;S<_.length;S++){var v=_[S],p=v==m||$[v.index];if(v.rangeList.$bias=p?0:1,g.action=="remove"&&v!==m){var d=v.parents&&v.parents[m.index],C=v.rangeList.pointIndex(g.start,d);C=C<0?-C-1:C+1;var E=v.rangeList.pointIndex(g.end,d);E=E<0?-E-1:E-1;for(var L=v.rangeList.ranges.slice(C,E),R=0;R<L.length;R++)this.removeRange(L[R])}v.rangeList.$onChange(g)}var I=this.session;!this.$inChange&&w&&I.getLength()==1&&!I.getValue()&&this.detach()},c.prototype.updateLinkedFields=function(){var g=this.selectedTabstop;if(!(!g||!g.hasLinkedRanges||!g.firstNonLinked)){this.$inChange=!0;for(var w=this.session,m=w.getTextRange(g.firstNonLinked),$=0;$<g.length;$++){var _=g[$];if(_.linked){var S=_.original,v=M.snippetManager.tmStrFormat(m,S,this.editor);w.replace(_,v)}}this.$inChange=!1}},c.prototype.onAfterExec=function(g){g.command&&!g.command.readOnly&&this.updateLinkedFields()},c.prototype.onChangeSelection=function(){if(this.editor){for(var g=this.editor.selection.lead,w=this.editor.selection.anchor,m=this.editor.selection.isEmpty(),$=0;$<this.ranges.length;$++)if(!this.ranges[$].linked){var _=this.ranges[$].contains(g.row,g.column),S=m||this.ranges[$].contains(w.row,w.column);if(_&&S)return}this.detach()}},c.prototype.onChangeSession=function(){this.detach()},c.prototype.tabNext=function(g){var w=this.tabstops.length,m=this.index+(g||1);m=Math.min(Math.max(m,1),w),m==w&&(m=0),this.selectTabstop(m),this.updateTabstopMarkers(),m===0&&this.detach()},c.prototype.selectTabstop=function(g){this.$openTabstops=null;var w=this.tabstops[this.index];if(w&&this.addTabstopMarkers(w),this.index=g,w=this.tabstops[this.index],!(!w||!w.length)){this.selectedTabstop=w;var m=w.firstNonLinked||w;if(w.choices&&(m.cursor=m.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(m);else{var $=this.editor.multiSelect;$.toSingleRange(m);for(var _=0;_<w.length;_++)w.hasLinkedRanges&&w[_].linked||$.addRange(w[_].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},c.prototype.addTabstops=function(g,w,m){var $=this.useLink||!this.editor.getOption("enableMultiselect");if(this.$openTabstops||(this.$openTabstops=[]),!g[0]){var _=r.fromPoints(m,m);x(_.start,w),x(_.end,w),g[0]=[_],g[0].index=0}var S=this.index,v=[S+1,0],p=this.ranges,d=this.snippetId=(this.snippetId||0)+1;g.forEach(function(C,E){var L=this.$openTabstops[E]||C;L.snippetId=d;for(var R=0;R<C.length;R++){var I=C[R],O=r.fromPoints(I.start,I.end||I.start);A(O.start,w),A(O.end,w),O.original=I,O.tabstop=L,p.push(O),L!=C?L.unshift(O):L[R]=O,I.fmtString||L.firstNonLinked&&$?(O.linked=!0,L.hasLinkedRanges=!0):L.firstNonLinked||(L.firstNonLinked=O)}L.firstNonLinked||(L.hasLinkedRanges=!1),L===C&&(v.push(L),this.$openTabstops[E]=L),this.addTabstopMarkers(L),L.rangeList=L.rangeList||new i,L.rangeList.$bias=0,L.rangeList.addList(L)},this),v.length>2&&(this.tabstops.length&&v.push(v.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,v))},c.prototype.addTabstopMarkers=function(g){var w=this.session;g.forEach(function(m){m.markerId||(m.markerId=w.addMarker(m,"ace_snippet-marker","text"))})},c.prototype.removeTabstopMarkers=function(g){var w=this.session;g.forEach(function(m){w.removeMarker(m.markerId),m.markerId=null})},c.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var g=this.selectedTabstop.snippetId;this.selectedTabstop.index===0&&g--,this.tabstops.forEach(function(w){w.snippetId===g?this.addTabstopMarkers(w):this.removeTabstopMarkers(w)},this)}},c.prototype.removeRange=function(g){var w=g.tabstop.indexOf(g);w!=-1&&g.tabstop.splice(w,1),w=this.ranges.indexOf(g),w!=-1&&this.ranges.splice(w,1),w=g.tabstop.rangeList.ranges.indexOf(g),w!=-1&&g.tabstop.splice(w,1),this.session.removeMarker(g.markerId),g.tabstop.length||(w=this.tabstops.indexOf(g.tabstop),w!=-1&&this.tabstops.splice(w,1),this.tabstops.length||this.detach())},c})();u.prototype.keyboardHandler=new n,u.prototype.keyboardHandler.bindKeys({Tab:function(c){M.snippetManager&&M.snippetManager.expandWithTab(c)||(c.tabstopManager.tabNext(1),c.renderer.scrollCursorIntoView())},"Shift-Tab":function(c){c.tabstopManager.tabNext(-1),c.renderer.scrollCursorIntoView()},Esc:function(c){c.tabstopManager.detach()}});var A=function(c,g){c.row==0&&(c.column+=g.column),c.row+=g.row},x=function(c,g){c.row==g.row&&(c.column-=g.column),c.row-=g.row};y.importCssString(` |
| 2410 |
.ace_snippet-marker { |
| 2411 |
-moz-box-sizing: border-box; |
| 2412 |
box-sizing: border-box; |
| 2413 |
background: rgba(194, 193, 208, 0.09); |
| 2414 |
border: 1px dotted rgba(211, 208, 235, 0.62); |
| 2415 |
position: absolute; |
| 2416 |
}`,"snippets.css",!1),M.snippetManager=new s;var f=T("./editor").Editor;(function(){this.insertSnippet=function(c,g){return M.snippetManager.insertSnippet(this,c,g)},this.expandSnippet=function(c){return M.snippetManager.expandWithTab(this,c)}}).call(f.prototype)}),ace.define("ace/ext/emmet",["require","exports","module","ace/keyboard/hash_handler","ace/editor","ace/snippets","ace/range","ace/config","resources","resources","tabStops","resources","utils","actions"],function(T,M,z){var k=T("../keyboard/hash_handler").HashHandler,y=T("../editor").Editor,b=T("../snippets").snippetManager,a=T("../range").Range,l=T("../config"),r,i,n=(function(){function h(){}return h.prototype.setupContext=function(u){this.ace=u,this.indentation=u.session.getTabString(),r||(r=window.emmet);var A=r.resources||r.require("resources");A.setVariable("indentation",this.indentation),this.$syntax=null,this.$syntax=this.getSyntax()},h.prototype.getSelectionRange=function(){var u=this.ace.getSelectionRange(),A=this.ace.session.doc;return{start:A.positionToIndex(u.start),end:A.positionToIndex(u.end)}},h.prototype.createSelection=function(u,A){var x=this.ace.session.doc;this.ace.selection.setRange({start:x.indexToPosition(u),end:x.indexToPosition(A)})},h.prototype.getCurrentLineRange=function(){var u=this.ace,A=u.getCursorPosition().row,x=u.session.getLine(A).length,f=u.session.doc.positionToIndex({row:A,column:0});return{start:f,end:f+x}},h.prototype.getCaretPos=function(){var u=this.ace.getCursorPosition();return this.ace.session.doc.positionToIndex(u)},h.prototype.setCaretPos=function(u){var A=this.ace.session.doc.indexToPosition(u);this.ace.selection.moveToPosition(A)},h.prototype.getCurrentLine=function(){var u=this.ace.getCursorPosition().row;return this.ace.session.getLine(u)},h.prototype.replaceContent=function(u,A,x,f){x==null&&(x=A==null?this.getContent().length:A),A==null&&(A=0);var c=this.ace,g=c.session.doc,w=a.fromPoints(g.indexToPosition(A),g.indexToPosition(x));c.session.remove(w),w.end=w.start,u=this.$updateTabstops(u),b.insertSnippet(c,u)},h.prototype.getContent=function(){return this.ace.getValue()},h.prototype.getSyntax=function(){if(this.$syntax)return this.$syntax;var u=this.ace.session.$modeId.split("/").pop();if(u=="html"||u=="php"){var A=this.ace.getCursorPosition(),x=this.ace.session.getState(A.row);typeof x!="string"&&(x=x[0]),x&&(x=x.split("-"),x.length>1?u=x[0]:u=="php"&&(u="html"))}return u},h.prototype.getProfileName=function(){var u=r.resources||r.require("resources");switch(this.getSyntax()){case"css":return"css";case"xml":case"xsl":return"xml";case"html":var A=u.getVariable("profile");return A||(A=this.ace.session.getLines(0,2).join("").search(/<!DOCTYPE[^>]+XHTML/i)!=-1?"xhtml":"html"),A;default:var x=this.ace.session.$mode;return x.emmetConfig&&x.emmetConfig.profile||"xhtml"}},h.prototype.prompt=function(u){return prompt(u)},h.prototype.getSelection=function(){return this.ace.session.getTextRange()},h.prototype.getFilePath=function(){return""},h.prototype.$updateTabstops=function(u){var A=1e3,x=0,f=null,c=r.tabStops||r.require("tabStops"),g=r.resources||r.require("resources"),w=g.getVocabulary("user"),m={tabstop:function(_){var S=parseInt(_.group,10),v=S===0;v?S=++x:S+=A;var p=_.placeholder;p&&(p=c.processText(p,m));var d="${"+S+(p?":"+p:"")+"}";return v&&(f=[_.start,d]),d},escape:function(_){return _=="$"?"\\$":_=="\\"?"\\\\":_}};if(u=c.processText(u,m),w.variables.insert_final_tabstop&&!/\$\{0\}$/.test(u))u+="${0}";else if(f){var $=r.utils?r.utils.common:r.require("utils");u=$.replaceSubstring(u,"${0}",f[0],f[1])}return u},h})(),t={expand_abbreviation:{mac:"ctrl+alt+e",win:"alt+e"},match_pair_outward:{mac:"ctrl+d",win:"ctrl+,"},match_pair_inward:{mac:"ctrl+j",win:"ctrl+shift+0"},matching_pair:{mac:"ctrl+alt+j",win:"alt+j"},next_edit_point:"alt+right",prev_edit_point:"alt+left",toggle_comment:{mac:"command+/",win:"ctrl+/"},split_join_tag:{mac:"shift+command+'",win:"shift+ctrl+`"},remove_tag:{mac:"command+'",win:"shift+ctrl+;"},evaluate_math_expression:{mac:"shift+command+y",win:"shift+ctrl+y"},increment_number_by_1:"ctrl+up",decrement_number_by_1:"ctrl+down",increment_number_by_01:"alt+up",decrement_number_by_01:"alt+down",increment_number_by_10:{mac:"alt+command+up",win:"shift+alt+up"},decrement_number_by_10:{mac:"alt+command+down",win:"shift+alt+down"},select_next_item:{mac:"shift+command+.",win:"shift+ctrl+."},select_previous_item:{mac:"shift+command+,",win:"shift+ctrl+,"},reflect_css_value:{mac:"shift+command+r",win:"shift+ctrl+r"},encode_decode_data_url:{mac:"shift+ctrl+d",win:"ctrl+'"},expand_abbreviation_with_tab:"Tab",wrap_with_abbreviation:{mac:"shift+ctrl+a",win:"shift+ctrl+a"}},e=new n;M.commands=new k,M.runEmmetCommand=function h(u){if(this.action=="expand_abbreviation_with_tab"){if(!u.selection.isEmpty())return!1;var A=u.selection.lead,x=u.session.getTokenAt(A.row,A.column);if(x&&/\btag\b/.test(x.type))return!1}try{e.setupContext(u);var f=r.actions||r.require("actions");if(this.action=="wrap_with_abbreviation")return setTimeout(function(){f.run("wrap_with_abbreviation",e)},0);var c=f.run(this.action,e)}catch(w){if(!r){var g=M.load(h.bind(this,u));return this.action=="expand_abbreviation_with_tab"?!1:g}u._signal("changeStatus",typeof w=="string"?w:w.message),l.warn(w),c=!1}return c};for(var o in t)M.commands.addCommand({name:"emmet:"+o,action:o,bindKey:t[o],exec:M.runEmmetCommand,multiSelectAction:"forEach"});M.updateCommands=function(h,u){u?h.keyBinding.addKeyboardHandler(M.commands):h.keyBinding.removeKeyboardHandler(M.commands)},M.isSupportedMode=function(h){if(!h)return!1;if(h.emmetConfig)return!0;var u=h.$id||h;return/css|less|scss|sass|stylus|html|php|twig|ejs|handlebars/.test(u)},M.isAvailable=function(h,u){if(/(evaluate_math_expression|expand_abbreviation)$/.test(u))return!0;var A=h.session.$mode,x=M.isSupportedMode(A);if(x&&A.$modes)try{e.setupContext(h),/js|php/.test(e.getSyntax())&&(x=!1)}catch(f){}return x};var s=function(h,u){var A=u;if(A){var x=M.isSupportedMode(A.session.$mode);h.enableEmmet===!1&&(x=!1),x&&M.load(),M.updateCommands(A,x)}};M.load=function(h){return typeof i!="string"?(l.warn("script for emmet-core is not loaded"),!1):(l.loadModule(i,function(){i=null,h&&h()}),!0)},M.AceEmmetEditor=n,l.defineOptions(y.prototype,"editor",{enableEmmet:{set:function(h){this[h?"on":"removeListener"]("changeMode",s),s({enableEmmet:!!h},this)},value:!0}}),M.setCore=function(h){typeof h=="string"?i=h:r=h}}),(function(){ace.require(["ace/ext/emmet"],function(T){q&&(q.exports=T)})})()})(Mt)),Mt.exports}mi();var _t={exports:{}},en;function vi(){return en||(en=1,(function(q,j){ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],function(T,M,z){function k(c){var g=new Date().toLocaleString("en-us",c);return g.length==1?"0"+g:g}var y=T("./lib/dom"),b=T("./lib/oop"),a=T("./lib/event_emitter").EventEmitter,l=T("./lib/lang"),r=T("./range").Range,i=T("./range_list").RangeList,n=T("./keyboard/hash_handler").HashHandler,t=T("./tokenizer").Tokenizer,e=T("./clipboard"),o={CURRENT_WORD:function(c){return c.session.getTextRange(c.session.getWordRange())},SELECTION:function(c,g,w){var m=c.session.getTextRange();return w?m.replace(/\n\r?([ \t]*\S)/g,` |
| 2417 |
`+w+"$1"):m},CURRENT_LINE:function(c){return c.session.getLine(c.getCursorPosition().row)},PREV_LINE:function(c){return c.session.getLine(c.getCursorPosition().row-1)},LINE_INDEX:function(c){return c.getCursorPosition().row},LINE_NUMBER:function(c){return c.getCursorPosition().row+1},SOFT_TABS:function(c){return c.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(c){return c.session.getTabSize()},CLIPBOARD:function(c){return e.getText&&e.getText()},FILENAME:function(c){return/[^/\\]*$/.exec(this.FILEPATH(c))[0]},FILENAME_BASE:function(c){return/[^/\\]*$/.exec(this.FILEPATH(c))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(c){return this.FILEPATH(c).replace(/[^/\\]*$/,"")},FILEPATH:function(c){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(c){var g=c.session.$mode||{};return g.blockComment&&g.blockComment.start||""},BLOCK_COMMENT_END:function(c){var g=c.session.$mode||{};return g.blockComment&&g.blockComment.end||""},LINE_COMMENT:function(c){var g=c.session.$mode||{};return g.lineCommentStart||""},CURRENT_YEAR:k.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:k.bind(null,{year:"2-digit"}),CURRENT_MONTH:k.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:k.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:k.bind(null,{month:"short"}),CURRENT_DATE:k.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:k.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:k.bind(null,{weekday:"short"}),CURRENT_HOUR:k.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:k.bind(null,{minute:"2-digit"}),CURRENT_SECOND:k.bind(null,{second:"2-digit"})};o.SELECTED_TEXT=o.SELECTION;var s=(function(){function c(){this.snippetMap={},this.snippetNameMap={},this.variables=o}return c.prototype.getTokenizer=function(){return c.$tokenizer||this.createTokenizer()},c.prototype.createTokenizer=function(){function g($){return $=$.substr(1),/^\d+$/.test($)?[{tabstopId:parseInt($,10)}]:[{text:$}]}function w($){return"(?:[^\\\\"+$+"]|\\\\.)"}var m={regex:"/("+w("/")+"+)/",onMatch:function($,_,S){var v=S[0];return v.fmtString=!0,v.guard=$.slice(1,-1),v.flag="",""},next:"formatString"};return c.$tokenizer=new t({start:[{regex:/\\./,onMatch:function($,_,S){var v=$[1];return(v=="}"&&S.length||"`$\\".indexOf(v)!=-1)&&($=v),[$]}},{regex:/}/,onMatch:function($,_,S){return[S.length?S.shift():$]}},{regex:/\$(?:\d+|\w+)/,onMatch:g},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function($,_,S){var v=g($.substr(1));return S.unshift(v[0]),v},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+w("\\|")+"*\\|",onMatch:function($,_,S){var v=$.slice(1,-1).replace(/\\[,|\\]|,/g,function(p){return p.length==2?p[1]:"\0"}).split("\0").map(function(p){return{value:p}});return S[0].choices=v,[v[0]]},next:"start"},m,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function($,_,S){return S.length&&S[0].expectElse?(S[0].expectElse=!1,S[0].ifEnd={elseEnd:S[0]},[S[0].ifEnd]):":"}},{regex:/\\./,onMatch:function($,_,S){var v=$[1];return v=="}"&&S.length||"`$\\".indexOf(v)!=-1?$=v:v=="n"?$=` |
| 2418 |
`:v=="t"?$=" ":"ulULE".indexOf(v)!=-1&&($={changeCase:v,local:v>"a"}),[$]}},{regex:"/\\w*}",onMatch:function($,_,S){var v=S.shift();return v&&(v.flag=$.slice(1,-1)),this.next=v&&v.tabstopId?"start":"",[v||$]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function($,_,S){return[{text:$.slice(1)}]}},{regex:/\${\w+/,onMatch:function($,_,S){var v={text:$.slice(2)};return S.unshift(v),[v]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function($,_,S){var v=S.shift();return this.next=v&&v.tabstopId?"start":"",[v||$]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function($,_,S){var v=S[0];return v.formatFunction=$.slice(2,-1),[S.shift()]},next:"formatString"},m,{regex:/:[\?\-+]?/,onMatch:function($,_,S){$[1]=="+"&&(S[0].ifEnd=S[0]),$[1]=="?"&&(S[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),c.$tokenizer},c.prototype.tokenizeTmSnippet=function(g,w){return this.getTokenizer().getLineTokens(g,w).tokens.map(function(m){return m.value||m})},c.prototype.getVariableValue=function(g,w,m){if(/^\d+$/.test(w))return(this.variables.__||{})[w]||"";if(/^[A-Z]\d+$/.test(w))return(this.variables[w[0]+"__"]||{})[w.substr(1)]||"";if(w=w.replace(/^TM_/,""),!this.variables.hasOwnProperty(w))return"";var $=this.variables[w];return typeof $=="function"&&($=this.variables[w](g,w,m)),$==null?"":$},c.prototype.tmStrFormat=function(g,w,m){if(!w.fmt)return g;var $=w.flag||"",_=w.guard;_=new RegExp(_,$.replace(/[^gim]/g,""));var S=typeof w.fmt=="string"?this.tokenizeTmSnippet(w.fmt,"formatString"):w.fmt,v=this,p=g.replace(_,function(){var d=v.variables.__;v.variables.__=[].slice.call(arguments);for(var C=v.resolveVariables(S,m),E="E",L=0;L<C.length;L++){var R=C[L];if(typeof R=="object")if(C[L]="",R.changeCase&&R.local){var I=C[L+1];I&&typeof I=="string"&&(R.changeCase=="u"?C[L]=I[0].toUpperCase():C[L]=I[0].toLowerCase(),C[L+1]=I.substr(1))}else R.changeCase&&(E=R.changeCase);else E=="U"?C[L]=R.toUpperCase():E=="L"&&(C[L]=R.toLowerCase())}return v.variables.__=d,C.join("")});return p},c.prototype.tmFormatFunction=function(g,w,m){return w.formatFunction=="upcase"?g.toUpperCase():w.formatFunction=="downcase"?g.toLowerCase():g},c.prototype.resolveVariables=function(g,w){function m(E){var L=g.indexOf(E,v+1);L!=-1&&(v=L)}for(var $=[],_="",S=!0,v=0;v<g.length;v++){var p=g[v];if(typeof p=="string"){$.push(p),p==` |
| 2419 |
`?(S=!0,_=""):S&&(_=/^\t*/.exec(p)[0],S=/\S/.test(p));continue}if(p){if(S=!1,p.fmtString){var d=g.indexOf(p,v+1);d==-1&&(d=g.length),p.fmt=g.slice(v+1,d),v=d}if(p.text){var C=this.getVariableValue(w,p.text,_)+"";p.fmtString&&(C=this.tmStrFormat(C,p,w)),p.formatFunction&&(C=this.tmFormatFunction(C,p,w)),C&&!p.ifEnd?($.push(C),m(p)):!C&&p.ifEnd&&m(p.ifEnd)}else p.elseEnd?m(p.elseEnd):(p.tabstopId!=null||p.changeCase!=null)&&$.push(p)}}return $},c.prototype.getDisplayTextForSnippet=function(g,w){var m=h.call(this,g,w);return m.text},c.prototype.insertSnippetForSelection=function(g,w,m){m===void 0&&(m={});var $=h.call(this,g,w,m),_=g.getSelectionRange(),S=g.session.replace(_,$.text),v=new u(g),p=g.inVirtualSelectionMode&&g.selection.index;v.addTabstops($.tabstops,_.start,S,p)},c.prototype.insertSnippet=function(g,w,m){m===void 0&&(m={});var $=this;if(g.inVirtualSelectionMode)return $.insertSnippetForSelection(g,w,m);g.forEachSelection(function(){$.insertSnippetForSelection(g,w,m)},null,{keepOrder:!0}),g.tabstopManager&&g.tabstopManager.tabNext()},c.prototype.$getScope=function(g){var w=g.session.$mode.$id||"";if(w=w.split("/").pop(),w==="html"||w==="php"){w==="php"&&!g.session.$mode.inlinePhp&&(w="html");var m=g.getCursorPosition(),$=g.session.getState(m.row);typeof $=="object"&&($=$[0]),$.substring&&($.substring(0,3)=="js-"?w="javascript":$.substring(0,4)=="css-"?w="css":$.substring(0,4)=="php-"&&(w="php"))}return w},c.prototype.getActiveScopes=function(g){var w=this.$getScope(g),m=[w],$=this.snippetMap;return $[w]&&$[w].includeScopes&&m.push.apply(m,$[w].includeScopes),m.push("_"),m},c.prototype.expandWithTab=function(g,w){var m=this,$=g.forEachSelection(function(){return m.expandSnippetForSelection(g,w)},null,{keepOrder:!0});return $&&g.tabstopManager&&g.tabstopManager.tabNext(),$},c.prototype.expandSnippetForSelection=function(g,w){var m=g.getCursorPosition(),$=g.session.getLine(m.row),_=$.substring(0,m.column),S=$.substr(m.column),v=this.snippetMap,p;return this.getActiveScopes(g).some(function(d){var C=v[d];return C&&(p=this.findMatchingSnippet(C,_,S)),!!p},this),p?(w&&w.dryRun||(g.session.doc.removeInLine(m.row,m.column-p.replaceBefore.length,m.column+p.replaceAfter.length),this.variables.M__=p.matchBefore,this.variables.T__=p.matchAfter,this.insertSnippetForSelection(g,p.content),this.variables.M__=this.variables.T__=null),!0):!1},c.prototype.findMatchingSnippet=function(g,w,m){for(var $=g.length;$--;){var _=g[$];if(!(_.startRe&&!_.startRe.test(w))&&!(_.endRe&&!_.endRe.test(m))&&!(!_.startRe&&!_.endRe))return _.matchBefore=_.startRe?_.startRe.exec(w):[""],_.matchAfter=_.endRe?_.endRe.exec(m):[""],_.replaceBefore=_.triggerRe?_.triggerRe.exec(w)[0]:"",_.replaceAfter=_.endTriggerRe?_.endTriggerRe.exec(m)[0]:"",_}},c.prototype.register=function(g,w){function m(d){return d&&!/^\^?\(.*\)\$?$|^\\b$/.test(d)&&(d="(?:"+d+")"),d||""}function $(d,C,E){return d=m(d),C=m(C),d=C+d,d&&d[d.length-1]!="$"&&(d+="$"),new RegExp(d)}function _(d){d.scope||(d.scope=w||"_"),w=d.scope,S[w]||(S[w]=[],v[w]={});var C=v[w];if(d.name){var E=C[d.name];E&&p.unregister(E),C[d.name]=d}S[w].push(d),d.prefix&&(d.tabTrigger=d.prefix),!d.content&&d.body&&(d.content=Array.isArray(d.body)?d.body.join(` |
| 2420 |
`):d.body),d.tabTrigger&&!d.trigger&&(!d.guard&&/^\w/.test(d.tabTrigger)&&(d.guard="\\b"),d.trigger=l.escapeRegExp(d.tabTrigger)),!(!d.trigger&&!d.guard&&!d.endTrigger&&!d.endGuard)&&(d.startRe=$(d.trigger,d.guard),d.triggerRe=new RegExp(d.trigger),d.endRe=$(d.endTrigger,d.endGuard),d.endTriggerRe=new RegExp(d.endTrigger))}var S=this.snippetMap,v=this.snippetNameMap,p=this;g||(g=[]),Array.isArray(g)?g.forEach(_):Object.keys(g).forEach(function(d){_(g[d])}),this._signal("registerSnippets",{scope:w})},c.prototype.unregister=function(g,w){function m(S){var v=_[S.scope||w];if(v&&v[S.name]){delete v[S.name];var p=$[S.scope||w],d=p&&p.indexOf(S);d>=0&&p.splice(d,1)}}var $=this.snippetMap,_=this.snippetNameMap;g.content?m(g):Array.isArray(g)&&g.forEach(m)},c.prototype.parseSnippetFile=function(g){g=g.replace(/\r/g,"");for(var w=[],m={},$=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,_;_=$.exec(g);){if(_[1])try{m=JSON.parse(_[1]),w.push(m)}catch(d){}if(_[4])m.content=_[4].replace(/^\t/gm,""),w.push(m),m={};else{var S=_[2],v=_[3];if(S=="regex"){var p=/\/((?:[^\/\\]|\\.)*)|$/g;m.guard=p.exec(v)[1],m.trigger=p.exec(v)[1],m.endTrigger=p.exec(v)[1],m.endGuard=p.exec(v)[1]}else S=="snippet"?(m.tabTrigger=v.match(/^\S*/)[0],m.name||(m.name=v)):S&&(m[S]=v)}}return w},c.prototype.getSnippetByName=function(g,w){var m=this.snippetNameMap,$;return this.getActiveScopes(w).some(function(_){var S=m[_];return S&&($=S[g]),!!$},this),$},c})();b.implement(s.prototype,a);var h=function(c,g,w){function m(F){for(var U=[],V=0;V<F.length;V++){var K=F[V];if(typeof K=="object"){if(C[K.tabstopId])continue;var Y=F.lastIndexOf(K,V-1);K=U[Y]||{tabstopId:K.tabstopId}}U[V]=K}return U}w===void 0&&(w={});var $=c.getCursorPosition(),_=c.session.getLine($.row),S=c.session.getTabString(),v=_.match(/^\s*/)[0];$.column<v.length&&(v=v.slice(0,$.column)),g=g.replace(/\r/g,"");var p=this.tokenizeTmSnippet(g);p=this.resolveVariables(p,c),p=p.map(function(F){return F==` |
| 2421 |
`&&!w.excludeExtraIndent?F+v:typeof F=="string"?F.replace(/\t/g,S):F});var d=[];p.forEach(function(F,U){if(typeof F=="object"){var V=F.tabstopId,K=d[V];if(K||(K=d[V]=[],K.index=V,K.value="",K.parents={}),K.indexOf(F)===-1){F.choices&&!K.choices&&(K.choices=F.choices),K.push(F);var Y=p.indexOf(F,U+1);if(Y!==-1){var J=p.slice(U+1,Y),ne=J.some(function(re){return typeof re=="object"});ne&&!K.value?K.value=J:J.length&&(!K.value||typeof K.value!="string")&&(K.value=J.join(""))}}}}),d.forEach(function(F){F.length=0});for(var C={},E=0;E<p.length;E++){var L=p[E];if(typeof L=="object"){var R=L.tabstopId,I=d[R],O=p.indexOf(L,E+1);if(C[R]){C[R]===L&&(delete C[R],Object.keys(C).forEach(function(F){I.parents[F]=!0}));continue}C[R]=L;var B=I.value;typeof B!="string"?B=m(B):L.fmt&&(B=this.tmStrFormat(B,L,c)),p.splice.apply(p,[E+1,Math.max(0,O-E)].concat(B,L)),I.indexOf(L)===-1&&I.push(L)}}var N=0,W=0,P="";return p.forEach(function(F){if(typeof F=="string"){var U=F.split(` |
| 2422 |
`);U.length>1?(W=U[U.length-1].length,N+=U.length-1):W+=F.length,P+=F}else F&&(F.start?F.end={row:N,column:W}:F.start={row:N,column:W})}),{text:P,tabstops:d,tokens:p}},u=(function(){function c(g){if(this.index=0,this.ranges=[],this.tabstops=[],g.tabstopManager)return g.tabstopManager;g.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=l.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(g)}return c.prototype.attach=function(g){this.$openTabstops=null,this.selectedTabstop=null,this.editor=g,this.session=g.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},c.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},c.prototype.onChange=function(g){for(var w=g.action[0]=="r",m=this.selectedTabstop||{},$=m.parents||{},_=this.tabstops.slice(),S=0;S<_.length;S++){var v=_[S],p=v==m||$[v.index];if(v.rangeList.$bias=p?0:1,g.action=="remove"&&v!==m){var d=v.parents&&v.parents[m.index],C=v.rangeList.pointIndex(g.start,d);C=C<0?-C-1:C+1;var E=v.rangeList.pointIndex(g.end,d);E=E<0?-E-1:E-1;for(var L=v.rangeList.ranges.slice(C,E),R=0;R<L.length;R++)this.removeRange(L[R])}v.rangeList.$onChange(g)}var I=this.session;!this.$inChange&&w&&I.getLength()==1&&!I.getValue()&&this.detach()},c.prototype.updateLinkedFields=function(){var g=this.selectedTabstop;if(!(!g||!g.hasLinkedRanges||!g.firstNonLinked)){this.$inChange=!0;for(var w=this.session,m=w.getTextRange(g.firstNonLinked),$=0;$<g.length;$++){var _=g[$];if(_.linked){var S=_.original,v=M.snippetManager.tmStrFormat(m,S,this.editor);w.replace(_,v)}}this.$inChange=!1}},c.prototype.onAfterExec=function(g){g.command&&!g.command.readOnly&&this.updateLinkedFields()},c.prototype.onChangeSelection=function(){if(this.editor){for(var g=this.editor.selection.lead,w=this.editor.selection.anchor,m=this.editor.selection.isEmpty(),$=0;$<this.ranges.length;$++)if(!this.ranges[$].linked){var _=this.ranges[$].contains(g.row,g.column),S=m||this.ranges[$].contains(w.row,w.column);if(_&&S)return}this.detach()}},c.prototype.onChangeSession=function(){this.detach()},c.prototype.tabNext=function(g){var w=this.tabstops.length,m=this.index+(g||1);m=Math.min(Math.max(m,1),w),m==w&&(m=0),this.selectTabstop(m),this.updateTabstopMarkers(),m===0&&this.detach()},c.prototype.selectTabstop=function(g){this.$openTabstops=null;var w=this.tabstops[this.index];if(w&&this.addTabstopMarkers(w),this.index=g,w=this.tabstops[this.index],!(!w||!w.length)){this.selectedTabstop=w;var m=w.firstNonLinked||w;if(w.choices&&(m.cursor=m.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(m);else{var $=this.editor.multiSelect;$.toSingleRange(m);for(var _=0;_<w.length;_++)w.hasLinkedRanges&&w[_].linked||$.addRange(w[_].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},c.prototype.addTabstops=function(g,w,m){var $=this.useLink||!this.editor.getOption("enableMultiselect");if(this.$openTabstops||(this.$openTabstops=[]),!g[0]){var _=r.fromPoints(m,m);x(_.start,w),x(_.end,w),g[0]=[_],g[0].index=0}var S=this.index,v=[S+1,0],p=this.ranges,d=this.snippetId=(this.snippetId||0)+1;g.forEach(function(C,E){var L=this.$openTabstops[E]||C;L.snippetId=d;for(var R=0;R<C.length;R++){var I=C[R],O=r.fromPoints(I.start,I.end||I.start);A(O.start,w),A(O.end,w),O.original=I,O.tabstop=L,p.push(O),L!=C?L.unshift(O):L[R]=O,I.fmtString||L.firstNonLinked&&$?(O.linked=!0,L.hasLinkedRanges=!0):L.firstNonLinked||(L.firstNonLinked=O)}L.firstNonLinked||(L.hasLinkedRanges=!1),L===C&&(v.push(L),this.$openTabstops[E]=L),this.addTabstopMarkers(L),L.rangeList=L.rangeList||new i,L.rangeList.$bias=0,L.rangeList.addList(L)},this),v.length>2&&(this.tabstops.length&&v.push(v.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,v))},c.prototype.addTabstopMarkers=function(g){var w=this.session;g.forEach(function(m){m.markerId||(m.markerId=w.addMarker(m,"ace_snippet-marker","text"))})},c.prototype.removeTabstopMarkers=function(g){var w=this.session;g.forEach(function(m){w.removeMarker(m.markerId),m.markerId=null})},c.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var g=this.selectedTabstop.snippetId;this.selectedTabstop.index===0&&g--,this.tabstops.forEach(function(w){w.snippetId===g?this.addTabstopMarkers(w):this.removeTabstopMarkers(w)},this)}},c.prototype.removeRange=function(g){var w=g.tabstop.indexOf(g);w!=-1&&g.tabstop.splice(w,1),w=this.ranges.indexOf(g),w!=-1&&this.ranges.splice(w,1),w=g.tabstop.rangeList.ranges.indexOf(g),w!=-1&&g.tabstop.splice(w,1),this.session.removeMarker(g.markerId),g.tabstop.length||(w=this.tabstops.indexOf(g.tabstop),w!=-1&&this.tabstops.splice(w,1),this.tabstops.length||this.detach())},c})();u.prototype.keyboardHandler=new n,u.prototype.keyboardHandler.bindKeys({Tab:function(c){M.snippetManager&&M.snippetManager.expandWithTab(c)||(c.tabstopManager.tabNext(1),c.renderer.scrollCursorIntoView())},"Shift-Tab":function(c){c.tabstopManager.tabNext(-1),c.renderer.scrollCursorIntoView()},Esc:function(c){c.tabstopManager.detach()}});var A=function(c,g){c.row==0&&(c.column+=g.column),c.row+=g.row},x=function(c,g){c.row==g.row&&(c.column-=g.column),c.row-=g.row};y.importCssString(` |
| 2423 |
.ace_snippet-marker { |
| 2424 |
-moz-box-sizing: border-box; |
| 2425 |
box-sizing: border-box; |
| 2426 |
background: rgba(194, 193, 208, 0.09); |
| 2427 |
border: 1px dotted rgba(211, 208, 235, 0.62); |
| 2428 |
position: absolute; |
| 2429 |
}`,"snippets.css",!1),M.snippetManager=new s;var f=T("./editor").Editor;(function(){this.insertSnippet=function(c,g){return M.snippetManager.insertSnippet(this,c,g)},this.expandSnippet=function(c){return M.snippetManager.expandWithTab(this,c)}}).call(f.prototype)}),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],function(T,M,z){var k=T("../virtual_renderer").VirtualRenderer,y=T("../editor").Editor,b=T("../range").Range,a=T("../lib/event"),l=T("../lib/lang"),r=T("../lib/dom"),i=T("../config").nls,n=T("./../lib/useragent"),t=function(A){return"suggest-aria-id:".concat(A)},e=n.isSafari?"menu":"listbox",o=n.isSafari?"menuitem":"option",s=n.isSafari?"aria-current":"aria-selected",h=function(A){var x=new k(A);x.$maxLines=4;var f=new y(x);return f.setHighlightActiveLine(!1),f.setShowPrintMargin(!1),f.renderer.setShowGutter(!1),f.renderer.setHighlightGutterLine(!1),f.$mouseHandler.$focusTimeout=0,f.$highlightTagPending=!0,f},u=(function(){function A(x){var f=r.createElement("div"),c=h(f);x&&x.appendChild(f),f.style.display="none",c.renderer.content.style.cursor="default",c.renderer.setStyle("ace_autocomplete"),c.renderer.$textLayer.element.setAttribute("role",e),c.renderer.$textLayer.element.setAttribute("aria-roledescription",i("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),c.renderer.$textLayer.element.setAttribute("aria-label",i("autocomplete.popup.aria-label","Autocomplete suggestions")),c.renderer.textarea.setAttribute("aria-hidden","true"),c.setOption("displayIndentGuides",!1),c.setOption("dragDelay",150);var g=function(){};c.focus=g,c.$isFocused=!0,c.renderer.$cursorLayer.restartTimer=g,c.renderer.$cursorLayer.element.style.opacity="0",c.renderer.$maxLines=8,c.renderer.$keepTextAreaAtCursor=!1,c.setHighlightActiveLine(!1),c.session.highlight(""),c.session.$searchHighlight.clazz="ace_highlight-marker",c.on("mousedown",function(p){var d=p.getDocumentPosition();c.selection.moveToPosition(d),$.start.row=$.end.row=d.row,p.stop()});var w,m=new b(-1,0,-1,1/0),$=new b(-1,0,-1,1/0);$.id=c.session.addMarker($,"ace_active-line","fullLine"),c.setSelectOnHover=function(p){p?m.id&&(c.session.removeMarker(m.id),m.id=null):m.id=c.session.addMarker(m,"ace_line-hover","fullLine")},c.setSelectOnHover(!1),c.on("mousemove",function(p){if(!w){w=p;return}if(!(w.x==p.x&&w.y==p.y)){w=p,w.scrollTop=c.renderer.scrollTop,c.isMouseOver=!0;var d=w.getDocumentPosition().row;m.start.row!=d&&(m.id||c.setRow(d),S(d))}}),c.renderer.on("beforeRender",function(){if(w&&m.start.row!=-1){w.$pos=null;var p=w.getDocumentPosition().row;m.id||c.setRow(p),S(p,!0)}}),c.renderer.on("afterRender",function(){for(var p=c.renderer.$textLayer,d=p.config.firstRow,C=p.config.lastRow;d<=C;d++){var E=p.element.childNodes[d-p.config.firstRow];E.setAttribute("role",o),E.setAttribute("aria-roledescription",i("autocomplete.popup.item.aria-roledescription","item")),E.setAttribute("aria-setsize",c.data.length),E.setAttribute("aria-describedby","doc-tooltip"),E.setAttribute("aria-posinset",d+1);var L=c.getData(d);if(L){var R="".concat(L.caption||L.value).concat(L.meta?", ".concat(L.meta):"");E.setAttribute("aria-label",R)}var I=E.querySelectorAll(".ace_completion-highlight");I.forEach(function(O){O.setAttribute("role","mark")})}}),c.renderer.on("afterRender",function(){var p=c.getRow(),d=c.renderer.$textLayer,C=d.element.childNodes[p-d.config.firstRow],E=document.activeElement;if(C!==c.selectedNode&&c.selectedNode&&(r.removeCssClass(c.selectedNode,"ace_selected"),c.selectedNode.removeAttribute(s),c.selectedNode.removeAttribute("id")),E.removeAttribute("aria-activedescendant"),c.selectedNode=C,C){var L=t(p);r.addCssClass(C,"ace_selected"),C.id=L,d.element.setAttribute("aria-activedescendant",L),E.setAttribute("aria-activedescendant",L),C.setAttribute(s,"true")}});var _=function(){S(-1)},S=function(p,d){p!==m.start.row&&(m.start.row=m.end.row=p,d||c.session._emit("changeBackMarker"),c._emit("changeHoverMarker"))};c.getHoveredRow=function(){return m.start.row},a.addListener(c.container,"mouseout",function(){c.isMouseOver=!1,_()}),c.on("hide",_),c.on("changeSelection",_),c.session.doc.getLength=function(){return c.data.length},c.session.doc.getLine=function(p){var d=c.data[p];return typeof d=="string"?d:d&&d.value||""};var v=c.session.bgTokenizer;return v.$tokenizeRow=function(p){function d(F,U){F&&E.push({type:(C.className||"")+(U||""),value:F})}var C=c.data[p],E=[];if(!C)return E;typeof C=="string"&&(C={value:C});for(var L=C.caption||C.value||C.name,R=L.toLowerCase(),I=(c.filterText||"").toLowerCase(),O=0,B=0,N=0;N<=I.length;N++)if(N!=B&&(C.matchMask&1<<N||N==I.length)){var W=I.slice(B,N);B=N;var P=R.indexOf(W,O);if(P==-1)continue;d(L.slice(O,P),""),O=P+W.length,d(L.slice(P,O),"completion-highlight")}return d(L.slice(O,L.length),""),E.push({type:"completion-spacer",value:" "}),C.meta&&E.push({type:"completion-meta",value:C.meta}),C.message&&E.push({type:"completion-message",value:C.message}),E},v.$updateOnChange=g,v.start=g,c.session.$computeWidth=function(){return this.screenWidth=0},c.isOpen=!1,c.isTopdown=!1,c.autoSelect=!0,c.filterText="",c.isMouseOver=!1,c.data=[],c.setData=function(p,d){c.filterText=d||"",c.setValue(l.stringRepeat(` |
| 2430 |
`,p.length),-1),c.data=p||[],c.setRow(0)},c.getData=function(p){return c.data[p]},c.getRow=function(){return $.start.row},c.setRow=function(p){p=Math.max(this.autoSelect?0:-1,Math.min(this.data.length-1,p)),$.start.row!=p&&(c.selection.clearSelection(),$.start.row=$.end.row=p||0,c.session._emit("changeBackMarker"),c.moveCursorTo(p||0,0),c.isOpen&&c._signal("select"))},c.on("changeSelection",function(){c.isOpen&&c.setRow(c.selection.lead.row),c.renderer.scrollCursorIntoView()}),c.hide=function(){this.container.style.display="none",c.anchorPos=null,c.anchor=null,c.isOpen&&(c.isOpen=!1,this._signal("hide"))},c.tryShow=function(p,d,C,E){if(!E&&c.isOpen&&c.anchorPos&&c.anchor&&c.anchorPos.top===p.top&&c.anchorPos.left===p.left&&c.anchor===C)return!0;var L=this.container,R=this.renderer.scrollBar.width||10,I=window.innerHeight-R,O=window.innerWidth-R,B=this.renderer,N=B.$maxLines*d*1.4,W={top:0,bottom:0},P=I-p.top-3*this.$borderSize-d,F=p.top-3*this.$borderSize;C||(F<=P||P>=N?C="bottom":C="top"),C==="top"?(W.bottom=p.top-this.$borderSize,W.top=W.bottom-N):C==="bottom"&&(W.top=p.top+d+this.$borderSize,W.bottom=W.top+N);var U=W.top>=0&&W.bottom<=I;if(!E&&!U)return!1;U?B.$maxPixelHeight=null:C==="top"?B.$maxPixelHeight=F:B.$maxPixelHeight=P,C==="top"?(L.style.top="",L.style.bottom=I+R-W.bottom+"px",c.isTopdown=!1):(L.style.top=W.top+"px",L.style.bottom="",c.isTopdown=!0),L.style.display="";var V=p.left;return V+L.offsetWidth>O&&(V=O-L.offsetWidth),L.style.left=V+"px",L.style.right="",r.$fixPositionBug(L),c.isOpen||(c.isOpen=!0,this._signal("show"),w=null),c.anchorPos=p,c.anchor=C,!0},c.show=function(p,d,C){this.tryShow(p,d,C?"bottom":void 0,!0)},c.goTo=function(p){var d=this.getRow(),C=this.session.getLength()-1;switch(p){case"up":d=d<=0?C:d-1;break;case"down":d=d>=C?-1:d+1;break;case"start":d=0;break;case"end":d=C}this.setRow(d)},c.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},c.$imageSize=0,c.$borderSize=1,c}return A})();r.importCssString(` |
| 2431 |
.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line { |
| 2432 |
background-color: #CAD6FA; |
| 2433 |
z-index: 1; |
| 2434 |
} |
| 2435 |
.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line { |
| 2436 |
background-color: #3a674e; |
| 2437 |
} |
| 2438 |
.ace_editor.ace_autocomplete .ace_line-hover { |
| 2439 |
border: 1px solid #abbffe; |
| 2440 |
margin-top: -1px; |
| 2441 |
background: rgba(233,233,253,0.4); |
| 2442 |
position: absolute; |
| 2443 |
z-index: 2; |
| 2444 |
} |
| 2445 |
.ace_dark.ace_editor.ace_autocomplete .ace_line-hover { |
| 2446 |
border: 1px solid rgba(109, 150, 13, 0.8); |
| 2447 |
background: rgba(58, 103, 78, 0.62); |
| 2448 |
} |
| 2449 |
.ace_completion-meta { |
| 2450 |
opacity: 0.5; |
| 2451 |
margin-left: 0.9em; |
| 2452 |
} |
| 2453 |
.ace_completion-message { |
| 2454 |
margin-left: 0.9em; |
| 2455 |
color: blue; |
| 2456 |
} |
| 2457 |
.ace_editor.ace_autocomplete .ace_completion-highlight{ |
| 2458 |
color: #2d69c7; |
| 2459 |
} |
| 2460 |
.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{ |
| 2461 |
color: #93ca12; |
| 2462 |
} |
| 2463 |
.ace_editor.ace_autocomplete { |
| 2464 |
width: 300px; |
| 2465 |
z-index: 200000; |
| 2466 |
border: 1px lightgray solid; |
| 2467 |
position: fixed; |
| 2468 |
box-shadow: 2px 3px 5px rgba(0,0,0,.2); |
| 2469 |
line-height: 1.4; |
| 2470 |
background: #fefefe; |
| 2471 |
color: #111; |
| 2472 |
} |
| 2473 |
.ace_dark.ace_editor.ace_autocomplete { |
| 2474 |
border: 1px #484747 solid; |
| 2475 |
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51); |
| 2476 |
line-height: 1.4; |
| 2477 |
background: #25282c; |
| 2478 |
color: #c1c1c1; |
| 2479 |
} |
| 2480 |
.ace_autocomplete .ace_text-layer { |
| 2481 |
width: calc(100% - 8px); |
| 2482 |
} |
| 2483 |
.ace_autocomplete .ace_line { |
| 2484 |
display: flex; |
| 2485 |
align-items: center; |
| 2486 |
} |
| 2487 |
.ace_autocomplete .ace_line > * { |
| 2488 |
min-width: 0; |
| 2489 |
flex: 0 0 auto; |
| 2490 |
} |
| 2491 |
.ace_autocomplete .ace_line .ace_ { |
| 2492 |
flex: 0 1 auto; |
| 2493 |
overflow: hidden; |
| 2494 |
text-overflow: ellipsis; |
| 2495 |
} |
| 2496 |
.ace_autocomplete .ace_completion-spacer { |
| 2497 |
flex: 1; |
| 2498 |
} |
| 2499 |
.ace_autocomplete.ace_loading:after { |
| 2500 |
content: ""; |
| 2501 |
position: absolute; |
| 2502 |
top: 0px; |
| 2503 |
height: 2px; |
| 2504 |
width: 8%; |
| 2505 |
background: blue; |
| 2506 |
z-index: 100; |
| 2507 |
animation: ace_progress 3s infinite linear; |
| 2508 |
animation-delay: 300ms; |
| 2509 |
transform: translateX(-100%) scaleX(1); |
| 2510 |
} |
| 2511 |
@keyframes ace_progress { |
| 2512 |
0% { transform: translateX(-100%) scaleX(1) } |
| 2513 |
50% { transform: translateX(625%) scaleX(2) } |
| 2514 |
100% { transform: translateX(1500%) scaleX(3) } |
| 2515 |
} |
| 2516 |
@media (prefers-reduced-motion) { |
| 2517 |
.ace_autocomplete.ace_loading:after { |
| 2518 |
transform: translateX(625%) scaleX(2); |
| 2519 |
animation: none; |
| 2520 |
} |
| 2521 |
} |
| 2522 |
`,"autocompletion.css",!1),M.AcePopup=u,M.$singleLineEditor=h,M.getAriaId=t}),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],function(T,M,z){var k=(function(){function y(b){this.editor=b,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return y.prototype.setScreenReaderContent=function(b){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",function(){var l=this.popup.getRow(),r=this.popup.renderer.$textLayer,i=r.element.childNodes[l-r.config.firstRow];if(i){for(var n="doc-tooltip ",t=0;t<this._lines.length;t++)n+="ace-inline-screenreader-line-".concat(t," ");i.setAttribute("aria-describedby",n)}}.bind(this)));this.screenReaderDiv.firstChild;)this.screenReaderDiv.removeChild(this.screenReaderDiv.firstChild);this._lines=b.split(/\r\n|\r|\n/);var a=this.createCodeBlock();this.screenReaderDiv.appendChild(a)},y.prototype.destroy=function(){this.screenReaderDiv.remove()},y.prototype.createCodeBlock=function(){var b=document.createElement("pre");b.setAttribute("id","ace-inline-screenreader");for(var a=0;a<this._lines.length;a++){var l=document.createElement("code");l.setAttribute("id","ace-inline-screenreader-line-".concat(a));var r=document.createTextNode(this._lines[a]);l.appendChild(r),b.appendChild(l)}return b},y})();M.AceInlineScreenReader=k}),ace.define("ace/autocomplete/inline",["require","exports","module","ace/snippets","ace/autocomplete/inline_screenreader"],function(T,M,z){var k=T("../snippets").snippetManager,y=T("./inline_screenreader").AceInlineScreenReader,b=(function(){function a(){this.editor=null}return a.prototype.show=function(l,r,i){if(i=i||"",l&&this.editor&&this.editor!==l&&(this.hide(),this.editor=null,this.inlineScreenReader=null),!l||!r)return!1;this.inlineScreenReader||(this.inlineScreenReader=new y(l));var n=r.snippet?k.getDisplayTextForSnippet(l,r.snippet):r.value;return r.hideInlinePreview||!n||!n.startsWith(i)?!1:(this.editor=l,this.inlineScreenReader.setScreenReaderContent(n),n=n.slice(i.length),n===""?l.removeGhostText():l.setGhostText(n),!0)},a.prototype.isOpen=function(){return this.editor?!!this.editor.renderer.$ghostText:!1},a.prototype.hide=function(){return this.editor?(this.editor.removeGhostText(),!0):!1},a.prototype.destroy=function(){this.hide(),this.editor=null,this.inlineScreenReader&&(this.inlineScreenReader.destroy(),this.inlineScreenReader=null)},a})();M.AceInline=b}),ace.define("ace/autocomplete/util",["require","exports","module"],function(T,M,z){M.parForEach=function(y,b,a){var l=0,r=y.length;r===0&&a();for(var i=0;i<r;i++)b(y[i],function(n,t){l++,l===r&&a(n,t)})};var k=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;M.retrievePrecedingIdentifier=function(y,b,a){a=a||k;for(var l=[],r=b-1;r>=0&&a.test(y[r]);r--)l.push(y[r]);return l.reverse().join("")},M.retrieveFollowingIdentifier=function(y,b,a){a=a||k;for(var l=[],r=b;r<y.length&&a.test(y[r]);r++)l.push(y[r]);return l},M.getCompletionPrefix=function(y){var b=y.getCursorPosition(),a=y.session.getLine(b.row),l;return y.completers.forEach(function(r){r.identifierRegexps&&r.identifierRegexps.forEach(function(i){!l&&i&&(l=this.retrievePrecedingIdentifier(a,b.column,i))}.bind(this))}.bind(this)),l||this.retrievePrecedingIdentifier(a,b.column)},M.triggerAutocomplete=function(y,a){var a=a==null?y.session.getPrecedingCharacter():a;return y.completers.some(function(l){if(l.triggerCharacters&&Array.isArray(l.triggerCharacters))return l.triggerCharacters.includes(a)})}}),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event","ace/lib/scroll"],function(T,M,z){var k=T("./keyboard/hash_handler").HashHandler,y=T("./autocomplete/popup").AcePopup,b=T("./autocomplete/inline").AceInline,a=T("./autocomplete/popup").getAriaId,l=T("./autocomplete/util"),r=T("./lib/lang"),i=T("./lib/dom"),n=T("./snippets").snippetManager,t=T("./config"),e=T("./lib/event"),o=T("./lib/scroll").preventParentScroll,s=function(x,f){f.completer&&f.completer.destroy()},h=(function(){function x(){this.autoInsert=!1,this.autoSelect=!0,this.autoShown=!1,this.exactMatch=!1,this.inlineEnabled=!1,this.keyboardHandler=new k,this.keyboardHandler.bindKeys(this.commands),this.parentNode=null,this.setSelectOnHover=!1,this.hasSeen=new Set,this.showLoadingState=!1,this.stickySelectionDelay=500,this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.onLayoutChange=this.onLayoutChange.bind(this),this.changeTimer=r.delayedCall(function(){this.updateCompletions(!0)}.bind(this)),this.tooltipTimer=r.delayedCall(this.updateDocTooltip.bind(this),50),this.popupTimer=r.delayedCall(this.$updatePopupPosition.bind(this),50),this.stickySelectionTimer=r.delayedCall(function(){this.stickySelection=!0}.bind(this),this.stickySelectionDelay),this.$firstOpenTimer=r.delayedCall(function(){var f=this.completionProvider&&this.completionProvider.initialPosition;this.autoShown||this.popup&&this.popup.isOpen||!f||this.editor.completers.length===0||(this.completions=new A(x.completionsForLoading),this.openPopup(this.editor,f.prefix,!1),this.popup.renderer.setStyle("ace_loading",!0))}.bind(this),this.stickySelectionDelay)}return Object.defineProperty(x,"completionsForLoading",{get:function(){return[{caption:t.nls("autocomplete.loading","Loading..."),value:""}]},enumerable:!1,configurable:!0}),x.prototype.$init=function(){return this.popup=new y(this.parentNode||document.body||document.documentElement),this.popup.on("click",function(f){this.insertMatch(),f.stop()}.bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.$onPopupShow.bind(this)),this.popup.on("hide",this.$onHidePopup.bind(this)),this.popup.on("select",this.$onPopupChange.bind(this)),e.addListener(this.popup.container,"mouseout",this.mouseOutListener.bind(this)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup.renderer.on("afterRender",this.$onPopupRender.bind(this)),this.popup},x.prototype.$initInline=function(){if(!(!this.inlineEnabled||this.inlineRenderer))return this.inlineRenderer=new b,this.inlineRenderer},x.prototype.getPopup=function(){return this.popup||this.$init()},x.prototype.$onHidePopup=function(){this.inlineRenderer&&this.inlineRenderer.hide(),this.hideDocTooltip(),this.stickySelectionTimer.cancel(),this.popupTimer.cancel(),this.stickySelection=!1},x.prototype.$seen=function(f){!this.hasSeen.has(f)&&f&&f.completer&&f.completer.onSeen&&typeof f.completer.onSeen=="function"&&(f.completer.onSeen(this.editor,f),this.hasSeen.add(f))},x.prototype.$onPopupChange=function(f){if(this.inlineRenderer&&this.inlineEnabled){var c=f?null:this.popup.getData(this.popup.getRow());if(this.$updateGhostText(c),this.popup.isMouseOver&&this.setSelectOnHover){this.tooltipTimer.call(null,null);return}this.popupTimer.schedule(),this.tooltipTimer.schedule()}else this.popupTimer.call(null,null),this.tooltipTimer.call(null,null)},x.prototype.$updateGhostText=function(f){var c=this.base.row,g=this.base.column,w=this.editor.getCursorPosition().column,m=this.editor.session.getLine(c).slice(g,w);this.inlineRenderer.show(this.editor,f,m)?this.$seen(f):this.inlineRenderer.hide()},x.prototype.$onPopupRender=function(){var f=this.inlineRenderer&&this.inlineEnabled;if(this.completions&&this.completions.filtered&&this.completions.filtered.length>0)for(var c=this.popup.getFirstVisibleRow();c<=this.popup.getLastVisibleRow();c++){var g=this.popup.getData(c);g&&(!f||g.hideInlinePreview)&&this.$seen(g)}},x.prototype.$onPopupShow=function(f){this.$onPopupChange(f),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},x.prototype.observeLayoutChanges=function(){if(!(this.$elements||!this.editor)){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var f=this.editor.container.parentNode,c=[];f;)c.push(f),f.addEventListener("scroll",this.onLayoutChange,{passive:!0}),f=f.parentNode;this.$elements=c}},x.prototype.unObserveLayoutChanges=function(){var f=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach(function(c){c.removeEventListener("scroll",f.onLayoutChange,{passive:!0})}),this.$elements=null},x.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},x.prototype.$updatePopupPosition=function(){var f=this.editor,c=f.renderer,g=c.layerConfig.lineHeight,w=c.$cursorLayer.getPixelPosition(this.base,!0);w.left-=this.popup.getTextLeftOffset();var m=f.container.getBoundingClientRect();w.top+=m.top-c.layerConfig.offset,w.left+=m.left-f.renderer.scrollLeft,w.left+=c.gutterWidth;var $={top:w.top,left:w.left};c.$ghostText&&c.$ghostTextWidget&&this.base.row===c.$ghostText.position.row&&($.top+=c.$ghostTextWidget.el.offsetHeight);var _=f.container.getBoundingClientRect().bottom-g,S=_<$.top?{top:_,left:$.left}:$;this.popup.tryShow(S,g,"bottom")||this.popup.tryShow(w,g,"top")||this.popup.show(w,g)},x.prototype.openPopup=function(f,c,g){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var w=this.popup.getRow(),m=this.popup.data[w];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:a(this.popup.getRow()),inline:this.inlineEnabled}),f.keyBinding.addKeyboardHandler(this.keyboardHandler);var $;this.stickySelection&&($=this.popup.data.indexOf(m)),(!$||$===-1)&&($=0),this.popup.setRow(this.autoSelect?$:-1),$===w&&m!==this.completions.filtered[$]&&this.$onPopupChange();var _=this.inlineRenderer&&this.inlineEnabled;if($===w&&_){var S=this.popup.getData(this.popup.getRow());this.$updateGhostText(S)}g||(this.popup.setTheme(f.getTheme()),this.popup.setFontSize(f.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},x.prototype.detach=function(){this.editor&&(this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener)),this.$firstOpenTimer.cancel(),this.changeTimer.cancel(),this.hideDocTooltip(),this.completionProvider&&this.completionProvider.detach(),this.popup&&this.popup.isOpen&&this.popup.hide(),this.popup&&this.popup.renderer&&this.popup.renderer.off("afterRender",this.$onPopupRender),this.base&&this.base.detach(),this.activated=!1,this.completionProvider=this.completions=this.base=null,this.unObserveLayoutChanges()},x.prototype.changeListener=function(f){var c=this.editor.selection.lead;(c.row!=this.base.row||c.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},x.prototype.blurListener=function(f){var c=document.activeElement,g=this.editor.textInput.getElement(),w=f.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(f.relatedTarget),m=this.popup&&this.popup.container;c!=g&&c.parentNode!=m&&!w&&c!=this.tooltipNode&&f.relatedTarget!=g&&this.detach()},x.prototype.mousedownListener=function(f){this.detach()},x.prototype.mousewheelListener=function(f){this.popup&&!this.popup.isMouseOver&&this.detach()},x.prototype.mouseOutListener=function(f){this.popup.isOpen&&this.$updatePopupPosition()},x.prototype.goTo=function(f){this.popup.goTo(f)},x.prototype.insertMatch=function(f,c){if(f||(f=this.popup.getData(this.popup.getRow())),!f)return!1;if(f.value==="")return this.detach();var g=this.completions,w=this.getCompletionProvider().insertMatch(this.editor,f,g.filterText,c);return this.completions==g&&this.detach(),w},x.prototype.showPopup=function(f,c){this.editor&&this.detach(),this.activated=!0,this.editor=f,f.completer!=this&&(f.completer&&f.completer.detach(),f.completer=this),f.on("changeSelection",this.changeListener),f.on("blur",this.blurListener),f.on("mousedown",this.mousedownListener),f.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,c)},x.prototype.getCompletionProvider=function(f){return this.completionProvider||(this.completionProvider=new u(f)),this.completionProvider},x.prototype.gatherCompletions=function(f,c){return this.getCompletionProvider().gatherCompletions(f,c)},x.prototype.updateCompletions=function(f,c){if(f&&this.base&&this.completions){var w=this.editor.getCursorPosition(),m=this.editor.session.getTextRange({start:this.base,end:w});if(m==this.completions.filterText)return;if(this.completions.setFilter(m),!this.completions.filtered.length)return this.detach();if(this.completions.filtered.length==1&&this.completions.filtered[0].value==m&&!this.completions.filtered[0].snippet)return this.detach();this.openPopup(this.editor,m,f);return}if(c&&c.matches){var w=this.editor.getSelectionRange().start;return this.base=this.editor.session.doc.createAnchor(w.row,w.column),this.base.$insertRight=!0,this.completions=new A(c.matches),this.getCompletionProvider().completions=this.completions,this.openPopup(this.editor,"",f)}var g=this.editor.getSession(),w=this.editor.getCursorPosition(),m=l.getCompletionPrefix(this.editor);this.base=g.doc.createAnchor(w.row,w.column-m.length),this.base.$insertRight=!0;var $={exactMatch:this.exactMatch,ignoreCaption:this.ignoreCaption};this.getCompletionProvider({prefix:m,pos:w}).provideCompletions(this.editor,$,function(_,S,v){var p=S.filtered,d=l.getCompletionPrefix(this.editor);if(this.$firstOpenTimer.cancel(),v){if(!p.length){var C=!this.autoShown&&this.emptyMessage;if(typeof C=="function"&&(C=this.emptyMessage(d)),C){var E=[{caption:C,value:""}];this.completions=new A(E),this.openPopup(this.editor,d,f),this.popup.renderer.setStyle("ace_loading",!1),this.popup.renderer.setStyle("ace_empty-message",!0);return}return this.detach()}if(p.length==1&&p[0].value==d&&!p[0].snippet)return this.detach();if(this.autoInsert&&!this.autoShown&&p.length==1)return this.insertMatch(p[0])}this.completions=!v&&this.showLoadingState?new A(x.completionsForLoading.concat(p),S.filterText):S,this.openPopup(this.editor,d,f),this.popup.renderer.setStyle("ace_empty-message",!1),this.popup.renderer.setStyle("ace_loading",!v)}.bind(this)),this.showLoadingState&&!this.autoShown&&(!this.popup||!this.popup.isOpen)&&this.$firstOpenTimer.delay(this.stickySelectionDelay/2)},x.prototype.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},x.prototype.updateDocTooltip=function(){var f=this.popup,c=this.completions&&this.completions.filtered,g=c&&(c[f.getHoveredRow()]||c[f.getRow()]),w=null;if(!g||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();for(var m=this.editor.completers.length,$=0;$<m;$++){var _=this.editor.completers[$];if(_.getDocTooltip&&g.completerId===_.id){w=_.getDocTooltip(g);break}}if(!w&&typeof g!="string"&&(w=g),typeof w=="string"&&(w={docText:w}),!w||!w.docHTML&&!w.docText)return this.hideDocTooltip();this.showDocTooltip(w)},x.prototype.showDocTooltip=function(f){this.tooltipNode||(this.tooltipNode=i.createElement("div"),this.tooltipNode.style.margin="0",this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.style.overscrollBehavior="contain",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this),this.tooltipNode.id="doc-tooltip",this.tooltipNode.setAttribute("role","tooltip"),this.tooltipNode.addEventListener("wheel",o));var c=this.editor.renderer.theme;this.tooltipNode.className="ace_tooltip ace_doc-tooltip "+(c.isDark?"ace_dark ":"")+(c.cssClass||"");var g=this.tooltipNode;f.docHTML?g.innerHTML=f.docHTML:f.docText&&(g.textContent=f.docText),g.parentNode||this.popup.container.appendChild(this.tooltipNode);var w=this.popup,m=w.container.getBoundingClientRect(),$=400,_=300,S=w.renderer.scrollBar.width||10,v=m.left,p=window.innerWidth-m.right-S,d=w.isTopdown?window.innerHeight-S-m.bottom:m.top,C=[Math.min(p/$,1),Math.min(v/$,1),Math.min(d/_,1)*.9],E=Math.max.apply(Math,C),L=g.style;L.display="block",E==C[0]||C[0]>=1?(L.left=m.right+1+"px",L.right="",L.maxWidth=$*E+"px",L.top=m.top+"px",L.bottom="",L.maxHeight=Math.min(window.innerHeight-S-m.top,_)+"px"):E==C[1]||C[1]>=1?(L.right=window.innerWidth-m.left+"px",L.left="",L.maxWidth=$*E+"px",L.top=m.top+"px",L.bottom="",L.maxHeight=Math.min(window.innerHeight-S-m.top,_)+"px"):E==C[2]&&(L.left=m.left+"px",L.right="",L.maxWidth=Math.min($,window.innerWidth-m.left)+"px",w.isTopdown?(L.top=m.bottom+"px",L.bottom="",L.maxHeight=Math.min(window.innerHeight-S-m.bottom,_)+"px"):(L.top="",L.bottom=window.innerHeight-m.top+"px",L.maxHeight=Math.min(m.top,_)+"px")),i.$fixPositionBug(g)},x.prototype.hideDocTooltip=function(){if(this.tooltipTimer.cancel(),!!this.tooltipNode){var f=this.tooltipNode;!this.editor.isFocused()&&document.activeElement==f&&this.editor.focus(),this.tooltipNode=null,f.parentNode&&f.parentNode.removeChild(f)}},x.prototype.onTooltipClick=function(f){for(var c=f.target;c&&c!=this.tooltipNode;){if(c.nodeName=="A"&&c.href){c.rel="noreferrer",c.target="_blank";break}c=c.parentNode}},x.prototype.destroy=function(){if(this.detach(),this.popup){this.popup.destroy();var f=this.popup.container;f&&f.parentNode&&f.parentNode.removeChild(f)}this.editor&&this.editor.completer==this&&(this.editor.off("destroy",s),this.editor.completer=null),this.inlineRenderer=this.popup=this.editor=null},x.for=function(f){return f.completer instanceof x||(f.completer&&(f.completer.destroy(),f.completer=null),t.get("sharedPopups")?(x.$sharedInstance||(x.$sharedInstance=new x),f.completer=x.$sharedInstance):(f.completer=new x,f.once("destroy",s))),f.completer},x})();h.prototype.commands={Up:function(x){x.completer.goTo("up")},Down:function(x){x.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(x){x.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(x){x.completer.goTo("end")},Esc:function(x){x.completer.detach()},Return:function(x){return x.completer.insertMatch()},"Shift-Return":function(x){x.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(x){var f=x.completer.insertMatch();if(f||x.tabstopManager)return f;x.completer.goTo("down")},Backspace:function(x){x.execCommand("backspace");var f=l.getCompletionPrefix(x);!f&&x.completer&&x.completer.detach()},PageUp:function(x){x.completer.popup.gotoPageUp()},PageDown:function(x){x.completer.popup.gotoPageDown()}},h.startCommand={name:"startAutocomplete",exec:function(x,f){var c=h.for(x);c.autoInsert=!1,c.autoSelect=!0,c.autoShown=!1,c.showPopup(x,f),c.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var u=(function(){function x(f){this.initialPosition=f,this.active=!0}return x.prototype.insertByIndex=function(f,c,g){return!this.completions||!this.completions.filtered?!1:this.insertMatch(f,this.completions.filtered[c],g)},x.prototype.insertMatch=function(f,c,g){if(!c)return!1;if(f.startOperation({command:{name:"insertMatch"}}),c.completer&&c.completer.insertMatch)c.completer.insertMatch(f,c);else{if(!this.completions)return!1;var w=this.completions.filterText.length,m=0;if(c.range&&c.range.start.row===c.range.end.row&&(w-=this.initialPosition.prefix.length,w+=this.initialPosition.pos.column-c.range.start.column,m+=c.range.end.column-this.initialPosition.pos.column),w||m){var $;f.selection.getAllRanges?$=f.selection.getAllRanges():$=[f.getSelectionRange()];for(var _=0,S;S=$[_];_++)S.start.column-=w,S.end.column+=m,f.session.remove(S)}c.snippet?n.insertSnippet(f,c.snippet):this.$insertString(f,c),c.completer&&c.completer.onInsert&&typeof c.completer.onInsert=="function"&&c.completer.onInsert(f,c),c.command&&c.command==="startAutocomplete"&&f.execCommand(c.command)}return f.endOperation(),!0},x.prototype.$insertString=function(f,c){var g=c.value||c;f.execCommand("insertstring",g)},x.prototype.gatherCompletions=function(f,c){var g=f.getSession(),w=f.getCursorPosition(),m=l.getCompletionPrefix(f),$=[];this.completers=f.completers;var _=f.completers.length;return f.completers.forEach(function(S,v){S.getCompletions(f,g,w,m,function(p,d){S.hideInlinePreview&&(d=d.map(function(C){return Object.assign(C,{hideInlinePreview:S.hideInlinePreview})})),!p&&d&&($=$.concat(d)),c(null,{prefix:l.getCompletionPrefix(f),matches:$,finished:--_===0})})}),!0},x.prototype.provideCompletions=function(f,c,g){var w=function(S){var v=S.prefix,p=S.matches;this.completions=new A(p),c.exactMatch&&(this.completions.exactMatch=!0),c.ignoreCaption&&(this.completions.ignoreCaption=!0),this.completions.setFilter(v),(S.finished||this.completions.filtered.length)&&g(null,this.completions,S.finished)}.bind(this),m=!0,$=null;if(this.gatherCompletions(f,function(S,v){if(this.active){S&&(g(S,[],!0),this.detach());var p=v.prefix;if(p.indexOf(v.prefix)===0){if(m){$=v;return}w(v)}}}.bind(this)),m=!1,$){var _=$;$=null,w(_)}},x.prototype.detach=function(){this.active=!1,this.completers&&this.completers.forEach(function(f){typeof f.cancel=="function"&&f.cancel()})},x})(),A=(function(){function x(f,c){this.all=f,this.filtered=f,this.filterText=c||"",this.exactMatch=!1,this.ignoreCaption=!1}return x.prototype.setFilter=function(f){if(f.length>this.filterText&&f.lastIndexOf(this.filterText,0)===0)var c=this.filtered;else var c=this.all;this.filterText=f,c=this.filterCompletions(c,this.filterText),c=c.sort(function(w,m){return m.exactMatch-w.exactMatch||m.$score-w.$score||(w.caption||w.value).localeCompare(m.caption||m.value)});var g=null;c=c.filter(function(w){var m=w.snippet||w.caption||w.value;return m===g?!1:(g=m,!0)}),this.filtered=c},x.prototype.filterCompletions=function(f,c){var g=[],w=c.toUpperCase(),m=c.toLowerCase();e:for(var $=0,_;_=f[$];$++){if(_.skipFilter){_.$score=_.score,g.push(_);continue}var S=!this.ignoreCaption&&_.caption||_.value||_.snippet;if(S){var v=-1,p=0,d=0,C,E;if(this.exactMatch){if(c!==S.substr(0,c.length))continue e}else{var L=S.toLowerCase().indexOf(m);if(L>-1)d=L;else for(var R=0;R<c.length;R++){var I=S.indexOf(m[R],v+1),O=S.indexOf(w[R],v+1);if(C=I>=0&&(O<0||I<O)?I:O,C<0)continue e;E=C-v-1,E>0&&(v===-1&&(d+=10),d+=E,p|=1<<R),v=C}}_.matchMask=p,_.exactMatch=d?0:1,_.$score=(_.score||0)-d,g.push(_)}}return g},x})();M.Autocomplete=h,M.CompletionProvider=u,M.FilteredList=A}),ace.define("ace/marker_group",["require","exports","module"],function(T,M,z){var k=(function(){function y(b,a){a&&(this.markerType=a.markerType),this.markers=[],this.session=b,b.addDynamicMarker(this)}return y.prototype.getMarkerAtPosition=function(b){return this.markers.find(function(a){return a.range.contains(b.row,b.column)})},y.prototype.markersComparator=function(b,a){return b.range.start.row-a.range.start.row},y.prototype.setMarkers=function(b){this.markers=b.sort(this.markersComparator).slice(0,this.MAX_MARKERS),this.session._signal("changeBackMarker")},y.prototype.update=function(b,a,l,r){if(!(!this.markers||!this.markers.length))for(var i=r.firstRow,n=r.lastRow,t,e=0,o=0,s=0;s<this.markers.length;s++){var h=this.markers[s];if(!(h.range.end.row<i)&&!(h.range.start.row>n)&&(h.range.start.row===o?e++:(o=h.range.start.row,e=0),!(e>200))){var u=h.range.clipRows(i,n);if(!(u.start.row===u.end.row&&u.start.column===u.end.column)){var A=u.toScreenRange(l);if(A.isEmpty()){t=l.getNextFoldLine(u.end.row,t),t&&t.end.row>u.end.row&&(i=t.end.row);continue}this.markerType==="fullLine"?a.drawFullLineMarker(b,A,h.className,r):A.isMultiLine()?this.markerType==="line"?a.drawMultiLineMarker(b,A,h.className,r):a.drawTextMarker(b,A,h.className,r):a.drawSingleLineMarker(b,A,h.className+" ace_br15",r)}}}},y})();k.prototype.MAX_MARKERS=1e4,M.MarkerGroup=k}),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],function(T,M,z){function k(l,r){var i=l.getTextRange(b.fromPoints({row:0,column:0},r));return i.split(a).length-1}function y(l,r){var i=k(l,r),n=l.getValue().split(a),t=Object.create(null),e=n[i];return n.forEach(function(o,s){if(!(!o||o===e)){var h=Math.abs(i-s),u=n.length-h;t[o]?t[o]=Math.max(u,t[o]):t[o]=u}}),t}var b=T("../range").Range,a=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;M.id="textCompleter",M.getCompletions=function(l,r,i,n,t){var e=y(r,i),o=Object.keys(e);t(null,o.map(function(s){return{caption:s,value:s,score:e[s],meta:"local"}}))}}),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/marker_group","ace/autocomplete/text_completer","ace/editor","ace/config"],function(T,M,z){var k=T("../snippets").snippetManager,y=T("../autocomplete").Autocomplete,b=T("../config"),a=T("../lib/lang"),l=T("../autocomplete/util"),r=T("../marker_group").MarkerGroup,i=T("../autocomplete/text_completer"),n={getCompletions:function(m,$,_,S,v){if($.$mode.completer)return $.$mode.completer.getCompletions(m,$,_,S,v);var p=m.session.getState(_.row),d=$.$mode.getCompletions(p,$,_,S);d=d.map(function(C){return C.completerId=n.id,C}),v(null,d)},id:"keywordCompleter"},t=function(m){var $={};return m.replace(/\${(\d+)(:(.*?))?}/g,function(_,S,v,p){return $[S]=p||""}).replace(/\$(\d+?)/g,function(_,S){return $[S]})},e={getCompletions:function(m,$,_,S,v){var p=[],d=$.getTokenAt(_.row,_.column);d&&d.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?p.push("html-tag"):p=k.getActiveScopes(m);var C=k.snippetMap,E=[];p.forEach(function(L){for(var R=C[L]||[],I=R.length;I--;){var O=R[I],B=O.name||O.tabTrigger;B&&E.push({caption:B,snippet:O.content,meta:O.tabTrigger&&!O.name?O.tabTrigger+"⇥ ":"snippet",completerId:e.id})}},this),v(null,E)},getDocTooltip:function(m){m.snippet&&!m.docHTML&&(m.docHTML=["<b>",a.escapeHTML(m.caption),"</b>","<hr></hr>",a.escapeHTML(t(m.snippet))].join(""))},id:"snippetCompleter"},o=[e,i,n];M.setCompleters=function(m){o.length=0,m&&o.push.apply(o,m)},M.addCompleter=function(m){o.push(m)},M.textCompleter=i,M.keyWordCompleter=n,M.snippetCompleter=e;var s={name:"expandSnippet",exec:function(m){return k.expandWithTab(m)},bindKey:"Tab"},h=function(m,$){u($.session.$mode)},u=function(m){typeof m=="string"&&(m=b.$modes[m]),m&&(k.files||(k.files={}),A(m.$id,m.snippetFileId),m.modes&&m.modes.forEach(u))},A=function(m,$){!$||!m||k.files[m]||(k.files[m]={},b.loadModule($,function(_){_&&(k.files[m]=_,!_.snippets&&_.snippetText&&(_.snippets=k.parseSnippetFile(_.snippetText)),k.register(_.snippets||[],_.scope),_.includeScopes&&(k.snippetMap[_.scope].includeScopes=_.includeScopes,_.includeScopes.forEach(function(S){u("ace/mode/"+S)})))}))},x=function(m){var $=m.editor,_=$.completer&&$.completer.activated;if(m.command.name==="backspace")_&&!l.getCompletionPrefix($)&&$.completer.detach();else if(m.command.name==="insertstring"&&!_){f=m;var S=m.editor.$liveAutocompletionDelay;S?c.delay(S):g(m)}},f,c=a.delayedCall(function(){g(f)},0),g=function(m){var $=m.editor,_=l.getCompletionPrefix($),S=m.args,v=l.triggerAutocomplete($,S);if(_&&_.length>=$.$liveAutocompletionThreshold||v){var p=y.for($);p.autoShown=!0,p.showPopup($)}},w=T("../editor").Editor;T("../config").defineOptions(w.prototype,"editor",{enableBasicAutocompletion:{set:function(m){m?(y.for(this),this.completers||(this.completers=Array.isArray(m)?m:o),this.commands.addCommand(y.startCommand)):this.commands.removeCommand(y.startCommand)},value:!1},enableLiveAutocompletion:{set:function(m){m?(this.completers||(this.completers=Array.isArray(m)?m:o),this.commands.on("afterExec",x)):this.commands.off("afterExec",x)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(m){m?(this.commands.addCommand(s),this.on("changeMode",h),h(null,this)):(this.commands.removeCommand(s),this.off("changeMode",h))},value:!1}}),M.MarkerGroup=r}),(function(){ace.require(["ace/ext/language_tools"],function(T){q&&(q.exports=T)})})()})(_t)),_t.exports}vi();var Tt={exports:{}},tn;function yi(){return tn||(tn=1,(function(q,j){ace.define("ace/ext/searchbox-css",["require","exports","module"],function(T,M,z){z.exports=` |
| 2523 |
|
| 2524 |
/* ------------------------------------------------------------------------------------------ |
| 2525 |
* Editor Search Form |
| 2526 |
* --------------------------------------------------------------------------------------- */ |
| 2527 |
.ace_search { |
| 2528 |
background-color: #ddd; |
| 2529 |
color: #666; |
| 2530 |
border: 1px solid #cbcbcb; |
| 2531 |
border-top: 0 none; |
| 2532 |
overflow: hidden; |
| 2533 |
margin: 0; |
| 2534 |
padding: 4px 6px 0 4px; |
| 2535 |
position: absolute; |
| 2536 |
top: 0; |
| 2537 |
z-index: 99; |
| 2538 |
white-space: normal; |
| 2539 |
} |
| 2540 |
.ace_search.left { |
| 2541 |
border-left: 0 none; |
| 2542 |
border-radius: 0px 0px 5px 0px; |
| 2543 |
left: 0; |
| 2544 |
} |
| 2545 |
.ace_search.right { |
| 2546 |
border-radius: 0px 0px 0px 5px; |
| 2547 |
border-right: 0 none; |
| 2548 |
right: 0; |
| 2549 |
} |
| 2550 |
|
| 2551 |
.ace_search_form, .ace_replace_form { |
| 2552 |
margin: 0 20px 4px 0; |
| 2553 |
overflow: hidden; |
| 2554 |
line-height: 1.9; |
| 2555 |
} |
| 2556 |
.ace_replace_form { |
| 2557 |
margin-right: 0; |
| 2558 |
} |
| 2559 |
.ace_search_form.ace_nomatch { |
| 2560 |
outline: 1px solid red; |
| 2561 |
} |
| 2562 |
|
| 2563 |
.ace_search_field { |
| 2564 |
border-radius: 3px 0 0 3px; |
| 2565 |
background-color: white; |
| 2566 |
color: black; |
| 2567 |
border: 1px solid #cbcbcb; |
| 2568 |
border-right: 0 none; |
| 2569 |
outline: 0; |
| 2570 |
padding: 0; |
| 2571 |
font-size: inherit; |
| 2572 |
margin: 0; |
| 2573 |
line-height: inherit; |
| 2574 |
padding: 0 6px; |
| 2575 |
min-width: 17em; |
| 2576 |
vertical-align: top; |
| 2577 |
min-height: 1.8em; |
| 2578 |
box-sizing: content-box; |
| 2579 |
} |
| 2580 |
.ace_searchbtn { |
| 2581 |
border: 1px solid #cbcbcb; |
| 2582 |
line-height: inherit; |
| 2583 |
display: inline-block; |
| 2584 |
padding: 0 6px; |
| 2585 |
background: #fff; |
| 2586 |
border-right: 0 none; |
| 2587 |
border-left: 1px solid #dcdcdc; |
| 2588 |
cursor: pointer; |
| 2589 |
margin: 0; |
| 2590 |
position: relative; |
| 2591 |
color: #666; |
| 2592 |
} |
| 2593 |
.ace_searchbtn:last-child { |
| 2594 |
border-radius: 0 3px 3px 0; |
| 2595 |
border-right: 1px solid #cbcbcb; |
| 2596 |
} |
| 2597 |
.ace_searchbtn:disabled { |
| 2598 |
background: none; |
| 2599 |
cursor: default; |
| 2600 |
} |
| 2601 |
.ace_searchbtn:hover { |
| 2602 |
background-color: #eef1f6; |
| 2603 |
} |
| 2604 |
.ace_searchbtn.prev, .ace_searchbtn.next { |
| 2605 |
padding: 0px 0.7em |
| 2606 |
} |
| 2607 |
.ace_searchbtn.prev:after, .ace_searchbtn.next:after { |
| 2608 |
content: ""; |
| 2609 |
border: solid 2px #888; |
| 2610 |
width: 0.5em; |
| 2611 |
height: 0.5em; |
| 2612 |
border-width: 2px 0 0 2px; |
| 2613 |
display:inline-block; |
| 2614 |
transform: rotate(-45deg); |
| 2615 |
} |
| 2616 |
.ace_searchbtn.next:after { |
| 2617 |
border-width: 0 2px 2px 0 ; |
| 2618 |
} |
| 2619 |
.ace_searchbtn_close { |
| 2620 |
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0; |
| 2621 |
border-radius: 50%; |
| 2622 |
border: 0 none; |
| 2623 |
color: #656565; |
| 2624 |
cursor: pointer; |
| 2625 |
font: 16px/16px Arial; |
| 2626 |
padding: 0; |
| 2627 |
height: 14px; |
| 2628 |
width: 14px; |
| 2629 |
top: 9px; |
| 2630 |
right: 7px; |
| 2631 |
position: absolute; |
| 2632 |
} |
| 2633 |
.ace_searchbtn_close:hover { |
| 2634 |
background-color: #656565; |
| 2635 |
background-position: 50% 100%; |
| 2636 |
color: white; |
| 2637 |
} |
| 2638 |
|
| 2639 |
.ace_button { |
| 2640 |
margin-left: 2px; |
| 2641 |
cursor: pointer; |
| 2642 |
-webkit-user-select: none; |
| 2643 |
-moz-user-select: none; |
| 2644 |
-o-user-select: none; |
| 2645 |
-ms-user-select: none; |
| 2646 |
user-select: none; |
| 2647 |
overflow: hidden; |
| 2648 |
opacity: 0.7; |
| 2649 |
border: 1px solid rgba(100,100,100,0.23); |
| 2650 |
padding: 1px; |
| 2651 |
box-sizing: border-box!important; |
| 2652 |
color: black; |
| 2653 |
} |
| 2654 |
|
| 2655 |
.ace_button:hover { |
| 2656 |
background-color: #eee; |
| 2657 |
opacity:1; |
| 2658 |
} |
| 2659 |
.ace_button:active { |
| 2660 |
background-color: #ddd; |
| 2661 |
} |
| 2662 |
|
| 2663 |
.ace_button.checked { |
| 2664 |
border-color: #3399ff; |
| 2665 |
opacity:1; |
| 2666 |
} |
| 2667 |
|
| 2668 |
.ace_search_options{ |
| 2669 |
margin-bottom: 3px; |
| 2670 |
text-align: right; |
| 2671 |
-webkit-user-select: none; |
| 2672 |
-moz-user-select: none; |
| 2673 |
-o-user-select: none; |
| 2674 |
-ms-user-select: none; |
| 2675 |
user-select: none; |
| 2676 |
clear: both; |
| 2677 |
} |
| 2678 |
|
| 2679 |
.ace_search_counter { |
| 2680 |
float: left; |
| 2681 |
font-family: arial; |
| 2682 |
padding: 0 8px; |
| 2683 |
}`}),ace.define("ace/ext/searchbox",["require","exports","module","ace/ext/searchbox","ace/ext/searchbox","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/ext/searchbox-css","ace/keyboard/hash_handler","ace/lib/keys","ace/config"],function(T,M,z){var k=T("../lib/dom"),y=T("../lib/lang"),b=T("../lib/event"),a=T("./searchbox-css"),l=T("../keyboard/hash_handler").HashHandler,r=T("../lib/keys"),i=T("../config").nls,n=999;k.importCssString(a,"ace_searchbox",!1);var t=(function(){function s(h,u,A){this.activeInput,this.element=k.buildDom(["div",{class:"ace_search right"},["span",{action:"hide",class:"ace_searchbtn_close"}],["div",{class:"ace_search_form"},["input",{class:"ace_search_field",placeholder:i("search-box.find.placeholder","Search for"),spellcheck:"false"}],["span",{action:"findPrev",class:"ace_searchbtn prev"},""],["span",{action:"findNext",class:"ace_searchbtn next"},""],["span",{action:"findAll",class:"ace_searchbtn",title:"Alt-Enter"},i("search-box.find-all.text","All")]],["div",{class:"ace_replace_form"},["input",{class:"ace_search_field",placeholder:i("search-box.replace.placeholder","Replace with"),spellcheck:"false"}],["span",{action:"replaceAndFindNext",class:"ace_searchbtn"},i("search-box.replace-next.text","Replace")],["span",{action:"replaceAll",class:"ace_searchbtn"},i("search-box.replace-all.text","All")]],["div",{class:"ace_search_options"},["span",{action:"toggleReplace",class:"ace_button",title:i("search-box.toggle-replace.title","Toggle Replace mode"),style:"float:left;margin-top:-2px;padding:0 5px;"},"+"],["span",{class:"ace_search_counter"}],["span",{action:"toggleRegexpMode",class:"ace_button",title:i("search-box.toggle-regexp.title","RegExp Search")},".*"],["span",{action:"toggleCaseSensitive",class:"ace_button",title:i("search-box.toggle-case.title","CaseSensitive Search")},"Aa"],["span",{action:"toggleWholeWords",class:"ace_button",title:i("search-box.toggle-whole-word.title","Whole Word Search")},"\\b"],["span",{action:"searchInSelection",class:"ace_button",title:i("search-box.toggle-in-selection.title","Search In Selection")},"S"]]]),this.setSession=this.setSession.bind(this),this.$onEditorInput=this.onEditorInput.bind(this),this.$init(),this.setEditor(h),k.importCssString(a,"ace_searchbox",h.container),b.addListener(this.element,"touchstart",function(x){x.stopPropagation()},h)}return s.prototype.setEditor=function(h){h.searchBox=this,h.renderer.scroller.appendChild(this.element),this.editor=h},s.prototype.setSession=function(h){this.searchRange=null,this.$syncOptions(!0)},s.prototype.onEditorInput=function(){this.find(!1,!1,!0)},s.prototype.$initElements=function(h){this.searchBox=h.querySelector(".ace_search_form"),this.replaceBox=h.querySelector(".ace_replace_form"),this.searchOption=h.querySelector("[action=searchInSelection]"),this.replaceOption=h.querySelector("[action=toggleReplace]"),this.regExpOption=h.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=h.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=h.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field"),this.searchCounter=h.querySelector(".ace_search_counter")},s.prototype.$init=function(){var h=this.element;this.$initElements(h);var u=this;b.addListener(h,"mousedown",function(A){setTimeout(function(){u.activeInput.focus()},0),b.stopPropagation(A)}),b.addListener(h,"click",function(A){var x=A.target||A.srcElement,f=x.getAttribute("action");f&&u[f]?u[f]():u.$searchBarKb.commands[f]&&u.$searchBarKb.commands[f].exec(u),b.stopPropagation(A)}),b.addCommandKeyListener(h,function(A,x,f){var c=r.keyCodeToString(f),g=u.$searchBarKb.findKeyCommand(x,c);g&&g.exec&&(g.exec(u),b.stopEvent(A))}),this.$onChange=y.delayedCall(function(){u.find(!1,!1)}),b.addListener(this.searchInput,"input",function(){u.$onChange.schedule(20)}),b.addListener(this.searchInput,"focus",function(){u.activeInput=u.searchInput,u.searchInput.value&&u.highlight()}),b.addListener(this.replaceInput,"focus",function(){u.activeInput=u.replaceInput,u.searchInput.value&&u.highlight()})},s.prototype.setSearchRange=function(h){this.searchRange=h,h?this.searchRangeMarker=this.editor.session.addMarker(h,"ace_active-line"):this.searchRangeMarker&&(this.editor.session.removeMarker(this.searchRangeMarker),this.searchRangeMarker=null)},s.prototype.$syncOptions=function(h){k.setCssClass(this.replaceOption,"checked",this.searchRange),k.setCssClass(this.searchOption,"checked",this.searchOption.checked),this.replaceOption.textContent=this.replaceOption.checked?"-":"+",k.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),k.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),k.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked);var u=this.editor.getReadOnly();this.replaceOption.style.display=u?"none":"",this.replaceBox.style.display=this.replaceOption.checked&&!u?"":"none",this.find(!1,!1,h)},s.prototype.highlight=function(h){this.editor.session.highlight(h||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},s.prototype.find=function(h,u,A){if(this.editor.session){var x=this.editor.find(this.searchInput.value,{skipCurrent:h,backwards:u,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:A,range:this.searchRange}),f=!x&&this.searchInput.value;k.setCssClass(this.searchBox,"ace_nomatch",f),this.editor._emit("findSearchBox",{match:!f}),this.highlight(),this.updateCounter()}},s.prototype.updateCounter=function(){var h=this.editor,u=h.$search.$options.re,A=u.unicode,x=0,f=0;if(u){var c=this.searchRange?h.session.getTextRange(this.searchRange):h.getValue();h.$search.$isMultilineSearch(h.getLastSearchOptions())&&(c=c.replace(/\r\n|\r|\n/g,` |
| 2684 |
`),h.session.doc.$autoNewLine=` |
| 2685 |
`);var g=h.session.doc.positionToIndex(h.selection.anchor);this.searchRange&&(g-=h.session.doc.positionToIndex(this.searchRange.start));for(var w=u.lastIndex=0,m;(m=u.exec(c))&&(x++,w=m.index,w<=g&&f++,!(x>n||!m[0]&&(u.lastIndex=w+=y.skipEmptyMatch(c,w,A),w>=c.length))););}this.searchCounter.textContent=i("search-box.search-counter","$0 of $1",[f,x>n?n+"+":x])},s.prototype.findNext=function(){this.find(!0,!1)},s.prototype.findPrev=function(){this.find(!0,!0)},s.prototype.findAll=function(){var h=this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),u=!h&&this.searchInput.value;k.setCssClass(this.searchBox,"ace_nomatch",u),this.editor._emit("findSearchBox",{match:!u}),this.highlight(),this.hide()},s.prototype.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},s.prototype.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},s.prototype.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},s.prototype.hide=function(){this.active=!1,this.setSearchRange(null),this.editor.off("changeSession",this.setSession),this.editor.off("input",this.$onEditorInput),this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},s.prototype.show=function(h,u){this.active=!0,this.editor.on("changeSession",this.setSession),this.editor.on("input",this.$onEditorInput),this.element.style.display="",this.replaceOption.checked=u,this.editor.$search.$options.regExp&&(h=y.escapeRegExp(h)),h!=null&&(this.searchInput.value=h),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb),this.$syncOptions(!0)},s.prototype.isFocused=function(){var h=document.activeElement;return h==this.searchInput||h==this.replaceInput},s})(),e=new l;e.bindKeys({"Ctrl-f|Command-f":function(s){var h=s.isReplace=!s.isReplace;s.replaceBox.style.display=h?"":"none",s.replaceOption.checked=!1,s.$syncOptions(),s.searchInput.focus()},"Ctrl-H|Command-Option-F":function(s){s.editor.getReadOnly()||(s.replaceOption.checked=!0,s.$syncOptions(),s.replaceInput.focus())},"Ctrl-G|Command-G":function(s){s.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(s){s.findPrev()},esc:function(s){setTimeout(function(){s.hide()})},Return:function(s){s.activeInput==s.replaceInput&&s.replace(),s.findNext()},"Shift-Return":function(s){s.activeInput==s.replaceInput&&s.replace(),s.findPrev()},"Alt-Return":function(s){s.activeInput==s.replaceInput&&s.replaceAll(),s.findAll()},"Tab|Shift-Tab":function(s){(s.activeInput==s.replaceInput?s.searchInput:s.replaceInput).focus()}}),e.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(s){s.regExpOption.checked=!s.regExpOption.checked,s.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(s){s.caseSensitiveOption.checked=!s.caseSensitiveOption.checked,s.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(s){s.wholeWordOption.checked=!s.wholeWordOption.checked,s.$syncOptions()}},{name:"toggleReplace",exec:function(s){s.replaceOption.checked=!s.replaceOption.checked,s.$syncOptions()}},{name:"searchInSelection",exec:function(s){s.searchOption.checked=!s.searchRange,s.setSearchRange(s.searchOption.checked&&s.editor.getSelectionRange()),s.$syncOptions()}}]);var o=new l([{bindKey:"Esc",name:"closeSearchBar",exec:function(s){s.searchBox.hide()}}]);t.prototype.$searchBarKb=e,t.prototype.$closeSearchBarKb=o,M.SearchBox=t,M.Search=function(s,h){var u=s.searchBox||new t(s),A=s.session.selection.getRange(),x=A.isMultiLine()?"":s.session.getTextRange(A);u.show(x,h)}}),(function(){ace.require(["ace/ext/searchbox"],function(T){q&&(q.exports=T)})})()})(Tt)),Tt.exports}yi();var Te={},Ee={},Xe={exports:{}};Xe.exports;var nn;function dn(){return nn||(nn=1,(function(q,j){var T=200,M="__lodash_hash_undefined__",z=1,k=2,y=9007199254740991,b="[object Arguments]",a="[object Array]",l="[object AsyncFunction]",r="[object Boolean]",i="[object Date]",n="[object Error]",t="[object Function]",e="[object GeneratorFunction]",o="[object Map]",s="[object Number]",h="[object Null]",u="[object Object]",A="[object Promise]",x="[object Proxy]",f="[object RegExp]",c="[object Set]",g="[object String]",w="[object Symbol]",m="[object Undefined]",$="[object WeakMap]",_="[object ArrayBuffer]",S="[object DataView]",v="[object Float32Array]",p="[object Float64Array]",d="[object Int8Array]",C="[object Int16Array]",E="[object Int32Array]",L="[object Uint8Array]",R="[object Uint8ClampedArray]",I="[object Uint16Array]",O="[object Uint32Array]",B=/[\\^$.*+?()[\]{}|]/g,N=/^\[object .+?Constructor\]$/,W=/^(?:0|[1-9]\d*)$/,P={};P[v]=P[p]=P[d]=P[C]=P[E]=P[L]=P[R]=P[I]=P[O]=!0,P[b]=P[a]=P[_]=P[r]=P[S]=P[i]=P[n]=P[t]=P[o]=P[s]=P[u]=P[f]=P[c]=P[g]=P[$]=!1;var F=typeof we=="object"&&we&&we.Object===Object&&we,U=typeof self=="object"&&self&&self.Object===Object&&self,V=F||U||Function("return this")(),K=j&&!j.nodeType&&j,Y=K&&!0&&q&&!q.nodeType&&q,J=Y&&Y.exports===K,ne=J&&F.process,re=(function(){try{return ne&&ne.binding&&ne.binding("util")}catch(D){}})(),ae=re&&re.isTypedArray;function oe(D,H){for(var Q=-1,Z=D==null?0:D.length,se=0,te=[];++Q<Z;){var ce=D[Q];H(ce,Q,D)&&(te[se++]=ce)}return te}function pe(D,H){for(var Q=-1,Z=H.length,se=D.length;++Q<Z;)D[se+Q]=H[Q];return D}function Fe(D,H){for(var Q=-1,Z=D==null?0:D.length;++Q<Z;)if(H(D[Q],Q,D))return!0;return!1}function Se(D,H){for(var Q=-1,Z=Array(D);++Q<D;)Z[Q]=H(Q);return Z}function Pe(D){return function(H){return D(H)}}function Je(D,H){return D.has(H)}function lt(D,H){return D==null?void 0:D[H]}function ct(D){var H=-1,Q=Array(D.size);return D.forEach(function(Z,se){Q[++H]=[se,Z]}),Q}function ht(D,H){return function(Q){return D(H(Q))}}function ut(D){var H=-1,Q=Array(D.size);return D.forEach(function(Z){Q[++H]=Z}),Q}var dt=Array.prototype,pt=Function.prototype,Ce=Object.prototype,He=V["__core-js_shared__"],je=pt.toString,ge=Ce.hasOwnProperty,Ue=(function(){var D=/[^.]+$/.exec(He&&He.keys&&He.keys.IE_PROTO||"");return D?"Symbol(src)_1."+D:""})(),qe=Ce.toString,Ve=RegExp("^"+je.call(ge).replace(B,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),et=J?V.Buffer:void 0,ze=V.Symbol,G=V.Uint8Array,X=Ce.propertyIsEnumerable,ee=dt.splice,ie=ze?ze.toStringTag:void 0,ke=Object.getOwnPropertySymbols,Re=et?et.isBuffer:void 0,tt=ht(Object.keys,Object),ft=We(V,"DataView"),Ge=We(V,"Map"),gt=We(V,"Promise"),mt=We(V,"Set"),vt=We(V,"WeakMap"),Ke=We(Object,"create"),gn=De(ft),mn=De(Ge),vn=De(gt),yn=De(mt),bn=De(vt),Dt=ze?ze.prototype:void 0,yt=Dt?Dt.valueOf:void 0;function Ie(D){var H=-1,Q=D==null?0:D.length;for(this.clear();++H<Q;){var Z=D[H];this.set(Z[0],Z[1])}}function wn(){this.__data__=Ke?Ke(null):{},this.size=0}function $n(D){var H=this.has(D)&&delete this.__data__[D];return this.size-=H?1:0,H}function xn(D){var H=this.__data__;if(Ke){var Q=H[D];return Q===M?void 0:Q}return ge.call(H,D)?H[D]:void 0}function Sn(D){var H=this.__data__;return Ke?H[D]!==void 0:ge.call(H,D)}function Cn(D,H){var Q=this.__data__;return this.size+=this.has(D)?0:1,Q[D]=Ke&&H===void 0?M:H,this}Ie.prototype.clear=wn,Ie.prototype.delete=$n,Ie.prototype.get=xn,Ie.prototype.has=Sn,Ie.prototype.set=Cn;function $e(D){var H=-1,Q=D==null?0:D.length;for(this.clear();++H<Q;){var Z=D[H];this.set(Z[0],Z[1])}}function kn(){this.__data__=[],this.size=0}function An(D){var H=this.__data__,Q=it(H,D);if(Q<0)return!1;var Z=H.length-1;return Q==Z?H.pop():ee.call(H,Q,1),--this.size,!0}function Mn(D){var H=this.__data__,Q=it(H,D);return Q<0?void 0:H[Q][1]}function _n(D){return it(this.__data__,D)>-1}function Tn(D,H){var Q=this.__data__,Z=it(Q,D);return Z<0?(++this.size,Q.push([D,H])):Q[Z][1]=H,this}$e.prototype.clear=kn,$e.prototype.delete=An,$e.prototype.get=Mn,$e.prototype.has=_n,$e.prototype.set=Tn;function Oe(D){var H=-1,Q=D==null?0:D.length;for(this.clear();++H<Q;){var Z=D[H];this.set(Z[0],Z[1])}}function En(){this.size=0,this.__data__={hash:new Ie,map:new(Ge||$e),string:new Ie}}function Ln(D){var H=rt(this,D).delete(D);return this.size-=H?1:0,H}function Rn(D){return rt(this,D).get(D)}function In(D){return rt(this,D).has(D)}function On(D,H){var Q=rt(this,D),Z=Q.size;return Q.set(D,H),this.size+=Q.size==Z?0:1,this}Oe.prototype.clear=En,Oe.prototype.delete=Ln,Oe.prototype.get=Rn,Oe.prototype.has=In,Oe.prototype.set=On;function nt(D){var H=-1,Q=D==null?0:D.length;for(this.__data__=new Oe;++H<Q;)this.add(D[H])}function Dn(D){return this.__data__.set(D,M),this}function Nn(D){return this.__data__.has(D)}nt.prototype.add=nt.prototype.push=Dn,nt.prototype.has=Nn;function Ae(D){var H=this.__data__=new $e(D);this.size=H.size}function Fn(){this.__data__=new $e,this.size=0}function Pn(D){var H=this.__data__,Q=H.delete(D);return this.size=H.size,Q}function zn(D){return this.__data__.get(D)}function Wn(D){return this.__data__.has(D)}function Bn(D,H){var Q=this.__data__;if(Q instanceof $e){var Z=Q.__data__;if(!Ge||Z.length<T-1)return Z.push([D,H]),this.size=++Q.size,this;Q=this.__data__=new Oe(Z)}return Q.set(D,H),this.size=Q.size,this}Ae.prototype.clear=Fn,Ae.prototype.delete=Pn,Ae.prototype.get=zn,Ae.prototype.has=Wn,Ae.prototype.set=Bn;function Hn(D,H){var Q=ot(D),Z=!Q&&ii(D),se=!Q&&!Z&&bt(D),te=!Q&&!Z&&!se&&Ut(D),ce=Q||Z||se||te,he=ce?Se(D.length,String):[],ue=he.length;for(var le in D)ge.call(D,le)&&!(ce&&(le=="length"||se&&(le=="offset"||le=="parent")||te&&(le=="buffer"||le=="byteLength"||le=="byteOffset")||Jn(le,ue)))&&he.push(le);return he}function it(D,H){for(var Q=D.length;Q--;)if(Wt(D[Q][0],H))return Q;return-1}function jn(D,H,Q){var Z=H(D);return ot(D)?Z:pe(Z,Q(D))}function Ye(D){return D==null?D===void 0?m:h:ie&&ie in Object(D)?Xn(D):ni(D)}function Nt(D){return Qe(D)&&Ye(D)==b}function Ft(D,H,Q,Z,se){return D===H?!0:D==null||H==null||!Qe(D)&&!Qe(H)?D!==D&&H!==H:Un(D,H,Q,Z,Ft,se)}function Un(D,H,Q,Z,se,te){var ce=ot(D),he=ot(H),ue=ce?a:Me(D),le=he?a:Me(H);ue=ue==b?u:ue,le=le==b?u:le;var fe=ue==u,ye=le==u,de=ue==le;if(de&&bt(D)){if(!bt(H))return!1;ce=!0,fe=!1}if(de&&!fe)return te||(te=new Ae),ce||Ut(D)?Pt(D,H,Q,Z,se,te):Yn(D,H,ue,Q,Z,se,te);if(!(Q&z)){var me=fe&&ge.call(D,"__wrapped__"),ve=ye&&ge.call(H,"__wrapped__");if(me||ve){var _e=me?D.value():D,xe=ve?H.value():H;return te||(te=new Ae),se(_e,xe,Q,Z,te)}}return de?(te||(te=new Ae),Qn(D,H,Q,Z,se,te)):!1}function Vn(D){if(!jt(D)||ei(D))return!1;var H=Bt(D)?Ve:N;return H.test(De(D))}function Gn(D){return Qe(D)&&Ht(D.length)&&!!P[Ye(D)]}function Kn(D){if(!ti(D))return tt(D);var H=[];for(var Q in Object(D))ge.call(D,Q)&&Q!="constructor"&&H.push(Q);return H}function Pt(D,H,Q,Z,se,te){var ce=Q&z,he=D.length,ue=H.length;if(he!=ue&&!(ce&&ue>he))return!1;var le=te.get(D);if(le&&te.get(H))return le==H;var fe=-1,ye=!0,de=Q&k?new nt:void 0;for(te.set(D,H),te.set(H,D);++fe<he;){var me=D[fe],ve=H[fe];if(Z)var _e=ce?Z(ve,me,fe,H,D,te):Z(me,ve,fe,D,H,te);if(_e!==void 0){if(_e)continue;ye=!1;break}if(de){if(!Fe(H,function(xe,Ne){if(!Je(de,Ne)&&(me===xe||se(me,xe,Q,Z,te)))return de.push(Ne)})){ye=!1;break}}else if(!(me===ve||se(me,ve,Q,Z,te))){ye=!1;break}}return te.delete(D),te.delete(H),ye}function Yn(D,H,Q,Z,se,te,ce){switch(Q){case S:if(D.byteLength!=H.byteLength||D.byteOffset!=H.byteOffset)return!1;D=D.buffer,H=H.buffer;case _:return!(D.byteLength!=H.byteLength||!te(new G(D),new G(H)));case r:case i:case s:return Wt(+D,+H);case n:return D.name==H.name&&D.message==H.message;case f:case g:return D==H+"";case o:var he=ct;case c:var ue=Z&z;if(he||(he=ut),D.size!=H.size&&!ue)return!1;var le=ce.get(D);if(le)return le==H;Z|=k,ce.set(D,H);var fe=Pt(he(D),he(H),Z,se,te,ce);return ce.delete(D),fe;case w:if(yt)return yt.call(D)==yt.call(H)}return!1}function Qn(D,H,Q,Z,se,te){var ce=Q&z,he=zt(D),ue=he.length,le=zt(H),fe=le.length;if(ue!=fe&&!ce)return!1;for(var ye=ue;ye--;){var de=he[ye];if(!(ce?de in H:ge.call(H,de)))return!1}var me=te.get(D);if(me&&te.get(H))return me==H;var ve=!0;te.set(D,H),te.set(H,D);for(var _e=ce;++ye<ue;){de=he[ye];var xe=D[de],Ne=H[de];if(Z)var Vt=ce?Z(Ne,xe,de,H,D,te):Z(xe,Ne,de,D,H,te);if(!(Vt===void 0?xe===Ne||se(xe,Ne,Q,Z,te):Vt)){ve=!1;break}_e||(_e=de=="constructor")}if(ve&&!_e){var st=D.constructor,at=H.constructor;st!=at&&"constructor"in D&&"constructor"in H&&!(typeof st=="function"&&st instanceof st&&typeof at=="function"&&at instanceof at)&&(ve=!1)}return te.delete(D),te.delete(H),ve}function zt(D){return jn(D,si,Zn)}function rt(D,H){var Q=D.__data__;return qn(H)?Q[typeof H=="string"?"string":"hash"]:Q.map}function We(D,H){var Q=lt(D,H);return Vn(Q)?Q:void 0}function Xn(D){var H=ge.call(D,ie),Q=D[ie];try{D[ie]=void 0;var Z=!0}catch(te){}var se=qe.call(D);return Z&&(H?D[ie]=Q:delete D[ie]),se}var Zn=ke?function(D){return D==null?[]:(D=Object(D),oe(ke(D),function(H){return X.call(D,H)}))}:ai,Me=Ye;(ft&&Me(new ft(new ArrayBuffer(1)))!=S||Ge&&Me(new Ge)!=o||gt&&Me(gt.resolve())!=A||mt&&Me(new mt)!=c||vt&&Me(new vt)!=$)&&(Me=function(D){var H=Ye(D),Q=H==u?D.constructor:void 0,Z=Q?De(Q):"";if(Z)switch(Z){case gn:return S;case mn:return o;case vn:return A;case yn:return c;case bn:return $}return H});function Jn(D,H){return H=H==null?y:H,!!H&&(typeof D=="number"||W.test(D))&&D>-1&&D%1==0&&D<H}function qn(D){var H=typeof D;return H=="string"||H=="number"||H=="symbol"||H=="boolean"?D!=="__proto__":D===null}function ei(D){return!!Ue&&Ue in D}function ti(D){var H=D&&D.constructor,Q=typeof H=="function"&&H.prototype||Ce;return D===Q}function ni(D){return qe.call(D)}function De(D){if(D!=null){try{return je.call(D)}catch(H){}try{return D+""}catch(H){}}return""}function Wt(D,H){return D===H||D!==D&&H!==H}var ii=Nt((function(){return arguments})())?Nt:function(D){return Qe(D)&&ge.call(D,"callee")&&!X.call(D,"callee")},ot=Array.isArray;function ri(D){return D!=null&&Ht(D.length)&&!Bt(D)}var bt=Re||li;function oi(D,H){return Ft(D,H)}function Bt(D){if(!jt(D))return!1;var H=Ye(D);return H==t||H==e||H==l||H==x}function Ht(D){return typeof D=="number"&&D>-1&&D%1==0&&D<=y}function jt(D){var H=typeof D;return D!=null&&(H=="object"||H=="function")}function Qe(D){return D!=null&&typeof D=="object"}var Ut=ae?Pe(ae):Gn;function si(D){return ri(D)?Hn(D):Kn(D)}function ai(){return[]}function li(){return!1}q.exports=oi})(Xe,Xe.exports)),Xe.exports}var be={},rn;function pn(){if(rn)return be;rn=1,Object.defineProperty(be,"__esModule",{value:!0}),be.getAceInstance=be.debounce=be.editorEvents=be.editorOptions=void 0;var q=["minLines","maxLines","readOnly","highlightActiveLine","tabSize","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets"];be.editorOptions=q;var j=["onChange","onFocus","onInput","onBlur","onCopy","onPaste","onSelectionChange","onCursorChange","onScroll","handleOptions","updateRef"];be.editorEvents=j;var T=function(){var z;return typeof window=="undefined"?(we.window={},z=Ze(),delete we.window):window.ace?(z=window.ace,z.acequire=window.ace.require||window.ace.acequire):z=Ze(),z};be.getAceInstance=T;var M=function(z,k){var y=null;return function(){var b=this,a=arguments;clearTimeout(y),y=setTimeout(function(){z.apply(b,a)},k)}};return be.debounce=M,be}var on;function bi(){if(on)return Ee;on=1;var q=Ee&&Ee.__extends||(function(){var l=function(r,i){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e])},l(r,i)};return function(r,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");l(r,i);function n(){this.constructor=r}r.prototype=i===null?Object.create(i):(n.prototype=i.prototype,new n)}})(),j=Ee&&Ee.__assign||function(){return j=Object.assign||function(l){for(var r,i=1,n=arguments.length;i<n;i++){r=arguments[i];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(l[t]=r[t])}return l},j.apply(this,arguments)};Object.defineProperty(Ee,"__esModule",{value:!0});var T=Ze(),M=Ot(),z=It(),k=dn(),y=pn(),b=(0,y.getAceInstance)(),a=(function(l){q(r,l);function r(i){var n=l.call(this,i)||this;return y.editorEvents.forEach(function(t){n[t]=n[t].bind(n)}),n.debounce=y.debounce,n}return r.prototype.isInShadow=function(i){for(var n=i&&i.parentNode;n;){if(n.toString()==="[object ShadowRoot]")return!0;n=n.parentNode}return!1},r.prototype.componentDidMount=function(){var i=this,n=this.props,t=n.className,e=n.onBeforeLoad,o=n.onValidate,s=n.mode,h=n.focus,u=n.theme,A=n.fontSize,x=n.value,f=n.defaultValue,c=n.showGutter,g=n.wrapEnabled,w=n.showPrintMargin,m=n.scrollMargin,$=m===void 0?[0,0,0,0]:m,_=n.keyboardHandler,S=n.onLoad,v=n.commands,p=n.annotations,d=n.markers,C=n.placeholder;this.editor=b.edit(this.refEditor),e&&e(b);for(var E=Object.keys(this.props.editorProps),L=0;L<E.length;L++)this.editor[E[L]]=this.props.editorProps[E[L]];this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),this.editor.renderer.setScrollMargin($[0],$[1],$[2],$[3]),this.isInShadow(this.refEditor)&&this.editor.renderer.attachToShadowRoot(),this.editor.getSession().setMode(typeof s=="string"?"ace/mode/".concat(s):s),u&&u!==""&&this.editor.setTheme("ace/theme/".concat(u)),this.editor.setFontSize(typeof A=="number"?"".concat(A,"px"):A),this.editor.getSession().setValue(f||x||""),this.props.navigateToFileEnd&&this.editor.navigateFileEnd(),this.editor.renderer.setShowGutter(c),this.editor.getSession().setUseWrapMode(g),this.editor.setShowPrintMargin(w),this.editor.on("focus",this.onFocus),this.editor.on("blur",this.onBlur),this.editor.on("copy",this.onCopy),this.editor.on("paste",this.onPaste),this.editor.on("change",this.onChange),this.editor.on("input",this.onInput),C&&this.updatePlaceholder(),this.editor.getSession().selection.on("changeSelection",this.onSelectionChange),this.editor.getSession().selection.on("changeCursor",this.onCursorChange),o&&this.editor.getSession().on("changeAnnotation",function(){var I=i.editor.getSession().getAnnotations();i.props.onValidate(I)}),this.editor.session.on("changeScrollTop",this.onScroll),this.editor.getSession().setAnnotations(p||[]),d&&d.length>0&&this.handleMarkers(d);var R=this.editor.$options;y.editorOptions.forEach(function(I){R.hasOwnProperty(I)?i.editor.setOption(I,i.props[I]):i.props[I]}),this.handleOptions(this.props),Array.isArray(v)&&v.forEach(function(I){typeof I.exec=="string"?i.editor.commands.bindKey(I.bindKey,I.exec):i.editor.commands.addCommand(I)}),_&&this.editor.setKeyboardHandler("ace/keyboard/"+_),t&&(this.refEditor.className+=" "+t),S&&S(this.editor),this.editor.resize(),h&&this.editor.focus()},r.prototype.componentDidUpdate=function(i){for(var n=i,t=this.props,e=0;e<y.editorOptions.length;e++){var o=y.editorOptions[e];t[o]!==n[o]&&this.editor.setOption(o,t[o])}if(t.className!==n.className){var s=this.refEditor.className,h=s.trim().split(" "),u=n.className.trim().split(" ");u.forEach(function(f){var c=h.indexOf(f);h.splice(c,1)}),this.refEditor.className=" "+t.className+" "+h.join(" ")}var A=this.editor&&t.value!=null&&this.editor.getValue()!==t.value;if(A){this.silent=!0;var x=this.editor.session.selection.toJSON();this.editor.setValue(t.value,t.cursorStart),this.editor.session.selection.fromJSON(x),this.silent=!1}t.placeholder!==n.placeholder&&this.updatePlaceholder(),t.mode!==n.mode&&this.editor.getSession().setMode(typeof t.mode=="string"?"ace/mode/".concat(t.mode):t.mode),t.theme!==n.theme&&this.editor.setTheme("ace/theme/"+t.theme),t.keyboardHandler!==n.keyboardHandler&&(t.keyboardHandler?this.editor.setKeyboardHandler("ace/keyboard/"+t.keyboardHandler):this.editor.setKeyboardHandler(null)),t.fontSize!==n.fontSize&&this.editor.setFontSize(typeof t.fontSize=="number"?"".concat(t.fontSize,"px"):t.fontSize),t.wrapEnabled!==n.wrapEnabled&&this.editor.getSession().setUseWrapMode(t.wrapEnabled),t.showPrintMargin!==n.showPrintMargin&&this.editor.setShowPrintMargin(t.showPrintMargin),t.showGutter!==n.showGutter&&this.editor.renderer.setShowGutter(t.showGutter),k(t.setOptions,n.setOptions)||this.handleOptions(t),(A||!k(t.annotations,n.annotations))&&this.editor.getSession().setAnnotations(t.annotations||[]),!k(t.markers,n.markers)&&Array.isArray(t.markers)&&this.handleMarkers(t.markers),k(t.scrollMargin,n.scrollMargin)||this.handleScrollMargins(t.scrollMargin),(i.height!==this.props.height||i.width!==this.props.width)&&this.editor.resize(),this.props.focus&&!i.focus&&this.editor.focus()},r.prototype.handleScrollMargins=function(i){i===void 0&&(i=[0,0,0,0]),this.editor.renderer.setScrollMargin(i[0],i[1],i[2],i[3])},r.prototype.componentWillUnmount=function(){this.editor&&(this.editor.destroy(),this.editor=null)},r.prototype.onChange=function(i){if(this.props.onChange&&!this.silent){var n=this.editor.getValue();this.props.onChange(n,i)}},r.prototype.onSelectionChange=function(i){if(this.props.onSelectionChange){var n=this.editor.getSelection();this.props.onSelectionChange(n,i)}},r.prototype.onCursorChange=function(i){if(this.props.onCursorChange){var n=this.editor.getSelection();this.props.onCursorChange(n,i)}},r.prototype.onInput=function(i){this.props.onInput&&this.props.onInput(i),this.props.placeholder&&this.updatePlaceholder()},r.prototype.onFocus=function(i){this.props.onFocus&&this.props.onFocus(i,this.editor)},r.prototype.onBlur=function(i){this.props.onBlur&&this.props.onBlur(i,this.editor)},r.prototype.onCopy=function(i){var n=i.text;this.props.onCopy&&this.props.onCopy(n)},r.prototype.onPaste=function(i){var n=i.text;this.props.onPaste&&this.props.onPaste(n)},r.prototype.onScroll=function(){this.props.onScroll&&this.props.onScroll(this.editor)},r.prototype.handleOptions=function(i){for(var n=Object.keys(i.setOptions),t=0;t<n.length;t++)this.editor.setOption(n[t],i.setOptions[n[t]])},r.prototype.handleMarkers=function(i){var n=this,t=this.editor.getSession().getMarkers(!0);for(var e in t)t.hasOwnProperty(e)&&this.editor.getSession().removeMarker(t[e].id);t=this.editor.getSession().getMarkers(!1);for(var e in t)t.hasOwnProperty(e)&&t[e].clazz!=="ace_active-line"&&t[e].clazz!=="ace_selected-word"&&this.editor.getSession().removeMarker(t[e].id);i.forEach(function(o){var s=o.startRow,h=o.startCol,u=o.endRow,A=o.endCol,x=o.className,f=o.type,c=o.inFront,g=c===void 0?!1:c,w=new T.Range(s,h,u,A);n.editor.getSession().addMarker(w,x,f,g)})},r.prototype.updatePlaceholder=function(){var i=this.editor,n=this.props.placeholder,t=!i.session.getValue().length,e=i.renderer.placeholderNode;!t&&e?(i.renderer.scroller.removeChild(i.renderer.placeholderNode),i.renderer.placeholderNode=null):t&&!e?(e=i.renderer.placeholderNode=document.createElement("div"),e.textContent=n||"",e.className="ace_comment ace_placeholder",e.style.padding="0 9px",e.style.position="absolute",e.style.zIndex="3",i.renderer.scroller.appendChild(e)):t&&e&&(e.textContent=n)},r.prototype.updateRef=function(i){this.refEditor=i},r.prototype.render=function(){var i=this.props,n=i.name,t=i.width,e=i.height,o=i.style,s=j({width:t,height:e},o);return z.createElement("div",{ref:this.updateRef,id:n,style:s})},r.propTypes={mode:M.oneOfType([M.string,M.object]),focus:M.bool,theme:M.string,name:M.string,className:M.string,height:M.string,width:M.string,fontSize:M.oneOfType([M.number,M.string]),showGutter:M.bool,onChange:M.func,onCopy:M.func,onPaste:M.func,onFocus:M.func,onInput:M.func,onBlur:M.func,onScroll:M.func,value:M.string,defaultValue:M.string,onLoad:M.func,onSelectionChange:M.func,onCursorChange:M.func,onBeforeLoad:M.func,onValidate:M.func,minLines:M.number,maxLines:M.number,readOnly:M.bool,highlightActiveLine:M.bool,tabSize:M.number,showPrintMargin:M.bool,cursorStart:M.number,debounceChangePeriod:M.number,editorProps:M.object,setOptions:M.object,style:M.object,scrollMargin:M.array,annotations:M.array,markers:M.array,keyboardHandler:M.string,wrapEnabled:M.bool,enableSnippets:M.bool,enableBasicAutocompletion:M.oneOfType([M.bool,M.array]),enableLiveAutocompletion:M.oneOfType([M.bool,M.array]),navigateToFileEnd:M.bool,commands:M.array,placeholder:M.string},r.defaultProps={name:"ace-editor",focus:!1,mode:"",theme:"",height:"500px",width:"500px",fontSize:12,enableSnippets:!1,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,placeholder:null,navigateToFileEnd:!0},r})(z.Component);return Ee.default=a,Ee}var Be={},Le={},Et={exports:{}},sn;function wi(){return sn||(sn=1,(function(q,j){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(T,M,z){var k=T("./lib/oop");T("./lib/lang");var y=T("./lib/event_emitter").EventEmitter,b=T("./editor").Editor,a=T("./virtual_renderer").VirtualRenderer,l=T("./edit_session").EditSession,r;r=function(i,n,t){this.BELOW=1,this.BESIDE=0,this.$container=i,this.$theme=n,this.$splits=0,this.$editorCSS="",this.$editors=[],this.$orientation=this.BESIDE,this.setSplits(t||1),this.$cEditor=this.$editors[0],this.on("focus",function(e){this.$cEditor=e}.bind(this))},(function(){k.implement(this,y),this.$createEditor=function(){var i=document.createElement("div");i.className=this.$editorCSS,i.style.cssText="position: absolute; top:0px; bottom:0px",this.$container.appendChild(i);var n=new b(new a(i,this.$theme));return n.on("focus",function(){this._emit("focus",n)}.bind(this)),this.$editors.push(n),n.setFontSize(this.$fontSize),n},this.setSplits=function(i){var n;if(i<1)throw"The number of splits have to be > 0!";if(i!=this.$splits){if(i>this.$splits){for(;this.$splits<this.$editors.length&&this.$splits<i;)n=this.$editors[this.$splits],this.$container.appendChild(n.container),n.setFontSize(this.$fontSize),this.$splits++;for(;this.$splits<i;)this.$createEditor(),this.$splits++}else for(;this.$splits>i;)n=this.$editors[this.$splits-1],this.$container.removeChild(n.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(i){return this.$editors[i]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(i){this.$editors.forEach(function(n){n.setTheme(i)})},this.setKeyboardHandler=function(i){this.$editors.forEach(function(n){n.setKeyboardHandler(i)})},this.forEach=function(i,n){this.$editors.forEach(i,n)},this.$fontSize="",this.setFontSize=function(i){this.$fontSize=i,this.forEach(function(n){n.setFontSize(i)})},this.$cloneSession=function(i){var n=new l(i.getDocument(),i.getMode()),t=i.getUndoManager();return n.setUndoManager(t),n.setTabSize(i.getTabSize()),n.setUseSoftTabs(i.getUseSoftTabs()),n.setOverwrite(i.getOverwrite()),n.setBreakpoints(i.getBreakpoints()),n.setUseWrapMode(i.getUseWrapMode()),n.setUseWorker(i.getUseWorker()),n.setWrapLimitRange(i.$wrapLimitRange.min,i.$wrapLimitRange.max),n.$foldData=i.$cloneFoldData(),n},this.setSession=function(i,n){var t;n==null?t=this.$cEditor:t=this.$editors[n];var e=this.$editors.some(function(o){return o.session===i});return e&&(i=this.$cloneSession(i)),t.setSession(i),i},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(i){this.$orientation!=i&&(this.$orientation=i,this.resize())},this.resize=function(){var i=this.$container.clientWidth,n=this.$container.clientHeight,t;if(this.$orientation==this.BESIDE)for(var e=i/this.$splits,o=0;o<this.$splits;o++)t=this.$editors[o],t.container.style.width=e+"px",t.container.style.top="0px",t.container.style.left=o*e+"px",t.container.style.height=n+"px",t.resize();else for(var s=n/this.$splits,o=0;o<this.$splits;o++)t=this.$editors[o],t.container.style.width=i+"px",t.container.style.top=o*s+"px",t.container.style.left="0px",t.container.style.height=s+"px",t.resize()}}).call(r.prototype),M.Split=r}),ace.define("ace/ext/split",["require","exports","module","ace/ext/split","ace/split"],function(T,M,z){z.exports=T("../split")}),(function(){ace.require(["ace/ext/split"],function(T){q&&(q.exports=T)})})()})(Et)),Et.exports}var Lt,an;function $i(){if(an)return Lt;an=1;var q="Expected a function",j="__lodash_hash_undefined__",T="[object Function]",M="[object GeneratorFunction]",z="[object Symbol]",k=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,y=/^\w*$/,b=/^\./,a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,l=/[\\^$.*+?()[\]{}|]/g,r=/\\(\\)?/g,i=/^\[object .+?Constructor\]$/,n=typeof we=="object"&&we&&we.Object===Object&&we,t=typeof self=="object"&&self&&self.Object===Object&&self,e=n||t||Function("return this")();function o(G,X){return G==null?void 0:G[X]}function s(G){var X=!1;if(G!=null&&typeof G.toString!="function")try{X=!!(G+"")}catch(ee){}return X}var h=Array.prototype,u=Function.prototype,A=Object.prototype,x=e["__core-js_shared__"],f=(function(){var G=/[^.]+$/.exec(x&&x.keys&&x.keys.IE_PROTO||"");return G?"Symbol(src)_1."+G:""})(),c=u.toString,g=A.hasOwnProperty,w=A.toString,m=RegExp("^"+c.call(g).replace(l,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),$=e.Symbol,_=h.splice,S=Je(e,"Map"),v=Je(Object,"create"),p=$?$.prototype:void 0,d=p?p.toString:void 0;function C(G){var X=-1,ee=G?G.length:0;for(this.clear();++X<ee;){var ie=G[X];this.set(ie[0],ie[1])}}function E(){this.__data__=v?v(null):{}}function L(G){return this.has(G)&&delete this.__data__[G]}function R(G){var X=this.__data__;if(v){var ee=X[G];return ee===j?void 0:ee}return g.call(X,G)?X[G]:void 0}function I(G){var X=this.__data__;return v?X[G]!==void 0:g.call(X,G)}function O(G,X){var ee=this.__data__;return ee[G]=v&&X===void 0?j:X,this}C.prototype.clear=E,C.prototype.delete=L,C.prototype.get=R,C.prototype.has=I,C.prototype.set=O;function B(G){var X=-1,ee=G?G.length:0;for(this.clear();++X<ee;){var ie=G[X];this.set(ie[0],ie[1])}}function N(){this.__data__=[]}function W(G){var X=this.__data__,ee=ae(X,G);if(ee<0)return!1;var ie=X.length-1;return ee==ie?X.pop():_.call(X,ee,1),!0}function P(G){var X=this.__data__,ee=ae(X,G);return ee<0?void 0:X[ee][1]}function F(G){return ae(this.__data__,G)>-1}function U(G,X){var ee=this.__data__,ie=ae(ee,G);return ie<0?ee.push([G,X]):ee[ie][1]=X,this}B.prototype.clear=N,B.prototype.delete=W,B.prototype.get=P,B.prototype.has=F,B.prototype.set=U;function V(G){var X=-1,ee=G?G.length:0;for(this.clear();++X<ee;){var ie=G[X];this.set(ie[0],ie[1])}}function K(){this.__data__={hash:new C,map:new(S||B),string:new C}}function Y(G){return Pe(this,G).delete(G)}function J(G){return Pe(this,G).get(G)}function ne(G){return Pe(this,G).has(G)}function re(G,X){return Pe(this,G).set(G,X),this}V.prototype.clear=K,V.prototype.delete=Y,V.prototype.get=J,V.prototype.has=ne,V.prototype.set=re;function ae(G,X){for(var ee=G.length;ee--;)if(He(G[ee][0],X))return ee;return-1}function oe(G,X){X=lt(X,G)?[X]:Se(X);for(var ee=0,ie=X.length;G!=null&&ee<ie;)G=G[dt(X[ee++])];return ee&&ee==ie?G:void 0}function pe(G){if(!Ue(G)||ht(G))return!1;var X=ge(G)||s(G)?m:i;return X.test(pt(G))}function Fe(G){if(typeof G=="string")return G;if(Ve(G))return d?d.call(G):"";var X=G+"";return X=="0"&&1/G==-1/0?"-0":X}function Se(G){return je(G)?G:ut(G)}function Pe(G,X){var ee=G.__data__;return ct(X)?ee[typeof X=="string"?"string":"hash"]:ee.map}function Je(G,X){var ee=o(G,X);return pe(ee)?ee:void 0}function lt(G,X){if(je(G))return!1;var ee=typeof G;return ee=="number"||ee=="symbol"||ee=="boolean"||G==null||Ve(G)?!0:y.test(G)||!k.test(G)||X!=null&&G in Object(X)}function ct(G){var X=typeof G;return X=="string"||X=="number"||X=="symbol"||X=="boolean"?G!=="__proto__":G===null}function ht(G){return!!f&&f in G}var ut=Ce(function(G){G=et(G);var X=[];return b.test(G)&&X.push(""),G.replace(a,function(ee,ie,ke,Re){X.push(ke?Re.replace(r,"$1"):ie||ee)}),X});function dt(G){if(typeof G=="string"||Ve(G))return G;var X=G+"";return X=="0"&&1/G==-1/0?"-0":X}function pt(G){if(G!=null){try{return c.call(G)}catch(X){}try{return G+""}catch(X){}}return""}function Ce(G,X){if(typeof G!="function"||X&&typeof X!="function")throw new TypeError(q);var ee=function(){var ie=arguments,ke=X?X.apply(this,ie):ie[0],Re=ee.cache;if(Re.has(ke))return Re.get(ke);var tt=G.apply(this,ie);return ee.cache=Re.set(ke,tt),tt};return ee.cache=new(Ce.Cache||V),ee}Ce.Cache=V;function He(G,X){return G===X||G!==G&&X!==X}var je=Array.isArray;function ge(G){var X=Ue(G)?w.call(G):"";return X==T||X==M}function Ue(G){var X=typeof G;return!!G&&(X=="object"||X=="function")}function qe(G){return!!G&&typeof G=="object"}function Ve(G){return typeof G=="symbol"||qe(G)&&w.call(G)==z}function et(G){return G==null?"":Fe(G)}function ze(G,X,ee){var ie=G==null?void 0:oe(G,X);return ie===void 0?ee:ie}return Lt=ze,Lt}var ln;function fn(){if(ln)return Le;ln=1;var q=Le&&Le.__extends||(function(){var i=function(n,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,o){e.__proto__=o}||function(e,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(e[s]=o[s])},i(n,t)};return function(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");i(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}})(),j=Le&&Le.__assign||function(){return j=Object.assign||function(i){for(var n,t=1,e=arguments.length;t<e;t++){n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(i[o]=n[o])}return i},j.apply(this,arguments)};Object.defineProperty(Le,"__esModule",{value:!0});var T=pn(),M=(0,T.getAceInstance)(),z=Ze(),k=wi(),y=Ot(),b=It(),a=dn(),l=$i(),r=(function(i){q(n,i);function n(t){var e=i.call(this,t)||this;return T.editorEvents.forEach(function(o){e[o]=e[o].bind(e)}),e.debounce=T.debounce,e}return n.prototype.isInShadow=function(t){for(var e=t&&t.parentNode;e;){if(e.toString()==="[object ShadowRoot]")return!0;e=e.parentNode}return!1},n.prototype.componentDidMount=function(){var t=this,e=this.props,o=e.className,s=e.onBeforeLoad,h=e.mode,u=e.focus,A=e.theme,x=e.fontSize,f=e.value,c=e.defaultValue,g=e.cursorStart,w=e.showGutter,m=e.wrapEnabled,$=e.showPrintMargin,_=e.scrollMargin,S=_===void 0?[0,0,0,0]:_,v=e.keyboardHandler,p=e.onLoad,d=e.commands,C=e.annotations,E=e.markers,L=e.splits;this.editor=M.edit(this.refEditor),this.isInShadow(this.refEditor)&&this.editor.renderer.attachToShadowRoot(),this.editor.setTheme("ace/theme/".concat(A)),s&&s(M);var R=Object.keys(this.props.editorProps),I=new k.Split(this.editor.container,"ace/theme/".concat(A),L);this.editor.env.split=I,this.splitEditor=I.getEditor(0),this.split=I,this.editor.setShowPrintMargin(!1),this.editor.renderer.setShowGutter(!1);var O=this.splitEditor.$options;this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),I.forEach(function(N,W){for(var P=0;P<R.length;P++)N[R[P]]=t.props.editorProps[R[P]];var F=l(c,W),U=l(f,W,"");N.session.setUndoManager(new M.UndoManager),N.setTheme("ace/theme/".concat(A)),N.renderer.setScrollMargin(S[0],S[1],S[2],S[3]),N.getSession().setMode("ace/mode/".concat(h)),N.setFontSize(x),N.renderer.setShowGutter(w),N.getSession().setUseWrapMode(m),N.setShowPrintMargin($),N.on("focus",t.onFocus),N.on("blur",t.onBlur),N.on("input",t.onInput),N.on("copy",t.onCopy),N.on("paste",t.onPaste),N.on("change",t.onChange),N.getSession().selection.on("changeSelection",t.onSelectionChange),N.getSession().selection.on("changeCursor",t.onCursorChange),N.session.on("changeScrollTop",t.onScroll),N.setValue(F===void 0?U:F,g);var V=l(C,W,[]),K=l(E,W,[]);N.getSession().setAnnotations(V),K&&K.length>0&&t.handleMarkers(K,N);for(var P=0;P<T.editorOptions.length;P++){var Y=T.editorOptions[P];O.hasOwnProperty(Y)?N.setOption(Y,t.props[Y]):t.props[Y]}t.handleOptions(t.props,N),Array.isArray(d)&&d.forEach(function(J){typeof J.exec=="string"?N.commands.bindKey(J.bindKey,J.exec):N.commands.addCommand(J)}),v&&N.setKeyboardHandler("ace/keyboard/"+v)}),o&&(this.refEditor.className+=" "+o),u&&this.splitEditor.focus();var B=this.editor.env.split;B.setOrientation(this.props.orientation==="below"?B.BELOW:B.BESIDE),B.resize(!0),p&&p(B)},n.prototype.componentDidUpdate=function(t){var e=this,o=t,s=this.props,h=this.editor.env.split;if(s.splits!==o.splits&&h.setSplits(s.splits),s.orientation!==o.orientation&&h.setOrientation(s.orientation==="below"?h.BELOW:h.BESIDE),h.forEach(function(f,c){s.mode!==o.mode&&f.getSession().setMode("ace/mode/"+s.mode),s.keyboardHandler!==o.keyboardHandler&&(s.keyboardHandler?f.setKeyboardHandler("ace/keyboard/"+s.keyboardHandler):f.setKeyboardHandler(null)),s.fontSize!==o.fontSize&&f.setFontSize(s.fontSize),s.wrapEnabled!==o.wrapEnabled&&f.getSession().setUseWrapMode(s.wrapEnabled),s.showPrintMargin!==o.showPrintMargin&&f.setShowPrintMargin(s.showPrintMargin),s.showGutter!==o.showGutter&&f.renderer.setShowGutter(s.showGutter);for(var g=0;g<T.editorOptions.length;g++){var w=T.editorOptions[g];s[w]!==o[w]&&f.setOption(w,s[w])}a(s.setOptions,o.setOptions)||e.handleOptions(s,f);var m=l(s.value,c,"");if(f.getValue()!==m){e.silent=!0;var $=f.session.selection.toJSON();f.setValue(m,s.cursorStart),f.session.selection.fromJSON($),e.silent=!1}var _=l(s.annotations,c,[]),S=l(o.annotations,c,[]);a(_,S)||f.getSession().setAnnotations(_);var v=l(s.markers,c,[]),p=l(o.markers,c,[]);!a(v,p)&&Array.isArray(v)&&e.handleMarkers(v,f)}),s.className!==o.className){var u=this.refEditor.className,A=u.trim().split(" "),x=o.className.trim().split(" ");x.forEach(function(f){var c=A.indexOf(f);A.splice(c,1)}),this.refEditor.className=" "+s.className+" "+A.join(" ")}s.theme!==o.theme&&h.setTheme("ace/theme/"+s.theme),s.focus&&!o.focus&&this.splitEditor.focus(),(s.height!==this.props.height||s.width!==this.props.width)&&this.editor.resize()},n.prototype.componentWillUnmount=function(){this.editor.destroy(),this.editor=null},n.prototype.onChange=function(t){if(this.props.onChange&&!this.silent){var e=[];this.editor.env.split.forEach(function(o){e.push(o.getValue())}),this.props.onChange(e,t)}},n.prototype.onSelectionChange=function(t){if(this.props.onSelectionChange){var e=[];this.editor.env.split.forEach(function(o){e.push(o.getSelection())}),this.props.onSelectionChange(e,t)}},n.prototype.onCursorChange=function(t){if(this.props.onCursorChange){var e=[];this.editor.env.split.forEach(function(o){e.push(o.getSelection())}),this.props.onCursorChange(e,t)}},n.prototype.onFocus=function(t){this.props.onFocus&&this.props.onFocus(t)},n.prototype.onInput=function(t){this.props.onInput&&this.props.onInput(t)},n.prototype.onBlur=function(t){this.props.onBlur&&this.props.onBlur(t)},n.prototype.onCopy=function(t){this.props.onCopy&&this.props.onCopy(t)},n.prototype.onPaste=function(t){this.props.onPaste&&this.props.onPaste(t)},n.prototype.onScroll=function(){this.props.onScroll&&this.props.onScroll(this.editor)},n.prototype.handleOptions=function(t,e){for(var o=Object.keys(t.setOptions),s=0;s<o.length;s++)e.setOption(o[s],t.setOptions[o[s]])},n.prototype.handleMarkers=function(t,e){var o=e.getSession().getMarkers(!0);for(var s in o)o.hasOwnProperty(s)&&e.getSession().removeMarker(o[s].id);o=e.getSession().getMarkers(!1);for(var s in o)o.hasOwnProperty(s)&&e.getSession().removeMarker(o[s].id);t.forEach(function(h){var u=h.startRow,A=h.startCol,x=h.endRow,f=h.endCol,c=h.className,g=h.type,w=h.inFront,m=w===void 0?!1:w,$=new z.Range(u,A,x,f);e.getSession().addMarker($,c,g,m)})},n.prototype.updateRef=function(t){this.refEditor=t},n.prototype.render=function(){var t=this.props,e=t.name,o=t.width,s=t.height,h=t.style,u=j({width:o,height:s},h);return b.createElement("div",{ref:this.updateRef,id:e,style:u})},n.propTypes={className:y.string,debounceChangePeriod:y.number,defaultValue:y.arrayOf(y.string),focus:y.bool,fontSize:y.oneOfType([y.number,y.string]),height:y.string,mode:y.string,name:y.string,onBlur:y.func,onChange:y.func,onCopy:y.func,onFocus:y.func,onInput:y.func,onLoad:y.func,onPaste:y.func,onScroll:y.func,orientation:y.string,showGutter:y.bool,splits:y.number,theme:y.string,value:y.arrayOf(y.string),width:y.string,onSelectionChange:y.func,onCursorChange:y.func,onBeforeLoad:y.func,minLines:y.number,maxLines:y.number,readOnly:y.bool,highlightActiveLine:y.bool,tabSize:y.number,showPrintMargin:y.bool,cursorStart:y.number,editorProps:y.object,setOptions:y.object,style:y.object,scrollMargin:y.array,annotations:y.array,markers:y.array,keyboardHandler:y.string,wrapEnabled:y.bool,enableBasicAutocompletion:y.oneOfType([y.bool,y.array]),enableLiveAutocompletion:y.oneOfType([y.bool,y.array]),commands:y.array},n.defaultProps={name:"ace-editor",focus:!1,orientation:"beside",splits:2,mode:"",theme:"",height:"500px",width:"500px",value:[],fontSize:12,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1},n})(b.Component);return Le.default=r,Le}var Rt={exports:{}},cn;function xi(){return cn||(cn=1,(function(q){var j=function(){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},T=-1,M=1,z=0;j.Diff=function(k,y){return[k,y]},j.prototype.diff_main=function(k,y,b,a){typeof a=="undefined"&&(this.Diff_Timeout<=0?a=Number.MAX_VALUE:a=new Date().getTime()+this.Diff_Timeout*1e3);var l=a;if(k==null||y==null)throw new Error("Null input. (diff_main)");if(k==y)return k?[new j.Diff(z,k)]:[];typeof b=="undefined"&&(b=!0);var r=b,i=this.diff_commonPrefix(k,y),n=k.substring(0,i);k=k.substring(i),y=y.substring(i),i=this.diff_commonSuffix(k,y);var t=k.substring(k.length-i);k=k.substring(0,k.length-i),y=y.substring(0,y.length-i);var e=this.diff_compute_(k,y,r,l);return n&&e.unshift(new j.Diff(z,n)),t&&e.push(new j.Diff(z,t)),this.diff_cleanupMerge(e),e},j.prototype.diff_compute_=function(k,y,b,a){var l;if(!k)return[new j.Diff(M,y)];if(!y)return[new j.Diff(T,k)];var r=k.length>y.length?k:y,i=k.length>y.length?y:k,n=r.indexOf(i);if(n!=-1)return l=[new j.Diff(M,r.substring(0,n)),new j.Diff(z,i),new j.Diff(M,r.substring(n+i.length))],k.length>y.length&&(l[0][0]=l[2][0]=T),l;if(i.length==1)return[new j.Diff(T,k),new j.Diff(M,y)];var t=this.diff_halfMatch_(k,y);if(t){var e=t[0],o=t[1],s=t[2],h=t[3],u=t[4],A=this.diff_main(e,s,b,a),x=this.diff_main(o,h,b,a);return A.concat([new j.Diff(z,u)],x)}return b&&k.length>100&&y.length>100?this.diff_lineMode_(k,y,a):this.diff_bisect_(k,y,a)},j.prototype.diff_lineMode_=function(k,y,b){var a=this.diff_linesToChars_(k,y);k=a.chars1,y=a.chars2;var l=a.lineArray,r=this.diff_main(k,y,!1,b);this.diff_charsToLines_(r,l),this.diff_cleanupSemantic(r),r.push(new j.Diff(z,""));for(var i=0,n=0,t=0,e="",o="";i<r.length;){switch(r[i][0]){case M:t++,o+=r[i][1];break;case T:n++,e+=r[i][1];break;case z:if(n>=1&&t>=1){r.splice(i-n-t,n+t),i=i-n-t;for(var s=this.diff_main(e,o,!1,b),h=s.length-1;h>=0;h--)r.splice(i,0,s[h]);i=i+s.length}t=0,n=0,e="",o="";break}i++}return r.pop(),r},j.prototype.diff_bisect_=function(k,y,b){for(var a=k.length,l=y.length,r=Math.ceil((a+l)/2),i=r,n=2*r,t=new Array(n),e=new Array(n),o=0;o<n;o++)t[o]=-1,e[o]=-1;t[i+1]=0,e[i+1]=0;for(var s=a-l,h=s%2!=0,u=0,A=0,x=0,f=0,c=0;c<r&&!(new Date().getTime()>b);c++){for(var g=-c+u;g<=c-A;g+=2){var w=i+g,m;g==-c||g!=c&&t[w-1]<t[w+1]?m=t[w+1]:m=t[w-1]+1;for(var $=m-g;m<a&&$<l&&k.charAt(m)==y.charAt($);)m++,$++;if(t[w]=m,m>a)A+=2;else if($>l)u+=2;else if(h){var _=i+s-g;if(_>=0&&_<n&&e[_]!=-1){var S=a-e[_];if(m>=S)return this.diff_bisectSplit_(k,y,m,$,b)}}}for(var v=-c+x;v<=c-f;v+=2){var _=i+v,S;v==-c||v!=c&&e[_-1]<e[_+1]?S=e[_+1]:S=e[_-1]+1;for(var p=S-v;S<a&&p<l&&k.charAt(a-S-1)==y.charAt(l-p-1);)S++,p++;if(e[_]=S,S>a)f+=2;else if(p>l)x+=2;else if(!h){var w=i+s-v;if(w>=0&&w<n&&t[w]!=-1){var m=t[w],$=i+m-w;if(S=a-S,m>=S)return this.diff_bisectSplit_(k,y,m,$,b)}}}}return[new j.Diff(T,k),new j.Diff(M,y)]},j.prototype.diff_bisectSplit_=function(k,y,b,a,l){var r=k.substring(0,b),i=y.substring(0,a),n=k.substring(b),t=y.substring(a),e=this.diff_main(r,i,!1,l),o=this.diff_main(n,t,!1,l);return e.concat(o)},j.prototype.diff_linesToChars_=function(k,y){var b=[],a={};b[0]="";function l(t){for(var e="",o=0,s=-1,h=b.length;s<t.length-1;){s=t.indexOf(` |
| 2686 |
`,o),s==-1&&(s=t.length-1);var u=t.substring(o,s+1);(a.hasOwnProperty?a.hasOwnProperty(u):a[u]!==void 0)?e+=String.fromCharCode(a[u]):(h==r&&(u=t.substring(o),s=t.length),e+=String.fromCharCode(h),a[u]=h,b[h++]=u),o=s+1}return e}var r=4e4,i=l(k);r=65535;var n=l(y);return{chars1:i,chars2:n,lineArray:b}},j.prototype.diff_charsToLines_=function(k,y){for(var b=0;b<k.length;b++){for(var a=k[b][1],l=[],r=0;r<a.length;r++)l[r]=y[a.charCodeAt(r)];k[b][1]=l.join("")}},j.prototype.diff_commonPrefix=function(k,y){if(!k||!y||k.charAt(0)!=y.charAt(0))return 0;for(var b=0,a=Math.min(k.length,y.length),l=a,r=0;b<l;)k.substring(r,l)==y.substring(r,l)?(b=l,r=b):a=l,l=Math.floor((a-b)/2+b);return l},j.prototype.diff_commonSuffix=function(k,y){if(!k||!y||k.charAt(k.length-1)!=y.charAt(y.length-1))return 0;for(var b=0,a=Math.min(k.length,y.length),l=a,r=0;b<l;)k.substring(k.length-l,k.length-r)==y.substring(y.length-l,y.length-r)?(b=l,r=b):a=l,l=Math.floor((a-b)/2+b);return l},j.prototype.diff_commonOverlap_=function(k,y){var b=k.length,a=y.length;if(b==0||a==0)return 0;b>a?k=k.substring(b-a):b<a&&(y=y.substring(0,b));var l=Math.min(b,a);if(k==y)return l;for(var r=0,i=1;;){var n=k.substring(l-i),t=y.indexOf(n);if(t==-1)return r;i+=t,(t==0||k.substring(l-i)==y.substring(0,i))&&(r=i,i++)}},j.prototype.diff_halfMatch_=function(k,y){if(this.Diff_Timeout<=0)return null;var b=k.length>y.length?k:y,a=k.length>y.length?y:k;if(b.length<4||a.length*2<b.length)return null;var l=this;function r(A,x,f){for(var c=A.substring(f,f+Math.floor(A.length/4)),g=-1,w="",m,$,_,S;(g=x.indexOf(c,g+1))!=-1;){var v=l.diff_commonPrefix(A.substring(f),x.substring(g)),p=l.diff_commonSuffix(A.substring(0,f),x.substring(0,g));w.length<p+v&&(w=x.substring(g-p,g)+x.substring(g,g+v),m=A.substring(0,f-p),$=A.substring(f+v),_=x.substring(0,g-p),S=x.substring(g+v))}return w.length*2>=A.length?[m,$,_,S,w]:null}var i=r(b,a,Math.ceil(b.length/4)),n=r(b,a,Math.ceil(b.length/2)),t;if(!i&&!n)return null;n?i?t=i[4].length>n[4].length?i:n:t=n:t=i;var e,o,s,h;k.length>y.length?(e=t[0],o=t[1],s=t[2],h=t[3]):(s=t[0],h=t[1],e=t[2],o=t[3]);var u=t[4];return[e,o,s,h,u]},j.prototype.diff_cleanupSemantic=function(k){for(var y=!1,b=[],a=0,l=null,r=0,i=0,n=0,t=0,e=0;r<k.length;)k[r][0]==z?(b[a++]=r,i=t,n=e,t=0,e=0,l=k[r][1]):(k[r][0]==M?t+=k[r][1].length:e+=k[r][1].length,l&&l.length<=Math.max(i,n)&&l.length<=Math.max(t,e)&&(k.splice(b[a-1],0,new j.Diff(T,l)),k[b[a-1]+1][0]=M,a--,a--,r=a>0?b[a-1]:-1,i=0,n=0,t=0,e=0,l=null,y=!0)),r++;for(y&&this.diff_cleanupMerge(k),this.diff_cleanupSemanticLossless(k),r=1;r<k.length;){if(k[r-1][0]==T&&k[r][0]==M){var o=k[r-1][1],s=k[r][1],h=this.diff_commonOverlap_(o,s),u=this.diff_commonOverlap_(s,o);h>=u?(h>=o.length/2||h>=s.length/2)&&(k.splice(r,0,new j.Diff(z,s.substring(0,h))),k[r-1][1]=o.substring(0,o.length-h),k[r+1][1]=s.substring(h),r++):(u>=o.length/2||u>=s.length/2)&&(k.splice(r,0,new j.Diff(z,o.substring(0,u))),k[r-1][0]=M,k[r-1][1]=s.substring(0,s.length-u),k[r+1][0]=T,k[r+1][1]=o.substring(u),r++),r++}r++}},j.prototype.diff_cleanupSemanticLossless=function(k){function y(u,A){if(!u||!A)return 6;var x=u.charAt(u.length-1),f=A.charAt(0),c=x.match(j.nonAlphaNumericRegex_),g=f.match(j.nonAlphaNumericRegex_),w=c&&x.match(j.whitespaceRegex_),m=g&&f.match(j.whitespaceRegex_),$=w&&x.match(j.linebreakRegex_),_=m&&f.match(j.linebreakRegex_),S=$&&u.match(j.blanklineEndRegex_),v=_&&A.match(j.blanklineStartRegex_);return S||v?5:$||_?4:c&&!w&&m?3:w||m?2:c||g?1:0}for(var b=1;b<k.length-1;){if(k[b-1][0]==z&&k[b+1][0]==z){var a=k[b-1][1],l=k[b][1],r=k[b+1][1],i=this.diff_commonSuffix(a,l);if(i){var n=l.substring(l.length-i);a=a.substring(0,a.length-i),l=n+l.substring(0,l.length-i),r=n+r}for(var t=a,e=l,o=r,s=y(a,l)+y(l,r);l.charAt(0)===r.charAt(0);){a+=l.charAt(0),l=l.substring(1)+r.charAt(0),r=r.substring(1);var h=y(a,l)+y(l,r);h>=s&&(s=h,t=a,e=l,o=r)}k[b-1][1]!=t&&(t?k[b-1][1]=t:(k.splice(b-1,1),b--),k[b][1]=e,o?k[b+1][1]=o:(k.splice(b+1,1),b--))}b++}},j.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,j.whitespaceRegex_=/\s/,j.linebreakRegex_=/[\r\n]/,j.blanklineEndRegex_=/\n\r?\n$/,j.blanklineStartRegex_=/^\r?\n\r?\n/,j.prototype.diff_cleanupEfficiency=function(k){for(var y=!1,b=[],a=0,l=null,r=0,i=!1,n=!1,t=!1,e=!1;r<k.length;)k[r][0]==z?(k[r][1].length<this.Diff_EditCost&&(t||e)?(b[a++]=r,i=t,n=e,l=k[r][1]):(a=0,l=null),t=e=!1):(k[r][0]==T?e=!0:t=!0,l&&(i&&n&&t&&e||l.length<this.Diff_EditCost/2&&i+n+t+e==3)&&(k.splice(b[a-1],0,new j.Diff(T,l)),k[b[a-1]+1][0]=M,a--,l=null,i&&n?(t=e=!0,a=0):(a--,r=a>0?b[a-1]:-1,t=e=!1),y=!0)),r++;y&&this.diff_cleanupMerge(k)},j.prototype.diff_cleanupMerge=function(k){k.push(new j.Diff(z,""));for(var y=0,b=0,a=0,l="",r="",i;y<k.length;)switch(k[y][0]){case M:a++,r+=k[y][1],y++;break;case T:b++,l+=k[y][1],y++;break;case z:b+a>1?(b!==0&&a!==0&&(i=this.diff_commonPrefix(r,l),i!==0&&(y-b-a>0&&k[y-b-a-1][0]==z?k[y-b-a-1][1]+=r.substring(0,i):(k.splice(0,0,new j.Diff(z,r.substring(0,i))),y++),r=r.substring(i),l=l.substring(i)),i=this.diff_commonSuffix(r,l),i!==0&&(k[y][1]=r.substring(r.length-i)+k[y][1],r=r.substring(0,r.length-i),l=l.substring(0,l.length-i))),y-=b+a,k.splice(y,b+a),l.length&&(k.splice(y,0,new j.Diff(T,l)),y++),r.length&&(k.splice(y,0,new j.Diff(M,r)),y++),y++):y!==0&&k[y-1][0]==z?(k[y-1][1]+=k[y][1],k.splice(y,1)):y++,a=0,b=0,l="",r="";break}k[k.length-1][1]===""&&k.pop();var n=!1;for(y=1;y<k.length-1;)k[y-1][0]==z&&k[y+1][0]==z&&(k[y][1].substring(k[y][1].length-k[y-1][1].length)==k[y-1][1]?(k[y][1]=k[y-1][1]+k[y][1].substring(0,k[y][1].length-k[y-1][1].length),k[y+1][1]=k[y-1][1]+k[y+1][1],k.splice(y-1,1),n=!0):k[y][1].substring(0,k[y+1][1].length)==k[y+1][1]&&(k[y-1][1]+=k[y+1][1],k[y][1]=k[y][1].substring(k[y+1][1].length)+k[y+1][1],k.splice(y+1,1),n=!0)),y++;n&&this.diff_cleanupMerge(k)},j.prototype.diff_xIndex=function(k,y){var b=0,a=0,l=0,r=0,i;for(i=0;i<k.length&&(k[i][0]!==M&&(b+=k[i][1].length),k[i][0]!==T&&(a+=k[i][1].length),!(b>y));i++)l=b,r=a;return k.length!=i&&k[i][0]===T?r:r+(y-l)},j.prototype.diff_prettyHtml=function(k){for(var y=[],b=/&/g,a=/</g,l=/>/g,r=/\n/g,i=0;i<k.length;i++){var n=k[i][0],t=k[i][1],e=t.replace(b,"&").replace(a,"<").replace(l,">").replace(r,"¶<br>");switch(n){case M:y[i]='<ins style="background:#e6ffe6;">'+e+"</ins>";break;case T:y[i]='<del style="background:#ffe6e6;">'+e+"</del>";break;case z:y[i]="<span>"+e+"</span>";break}}return y.join("")},j.prototype.diff_text1=function(k){for(var y=[],b=0;b<k.length;b++)k[b][0]!==M&&(y[b]=k[b][1]);return y.join("")},j.prototype.diff_text2=function(k){for(var y=[],b=0;b<k.length;b++)k[b][0]!==T&&(y[b]=k[b][1]);return y.join("")},j.prototype.diff_levenshtein=function(k){for(var y=0,b=0,a=0,l=0;l<k.length;l++){var r=k[l][0],i=k[l][1];switch(r){case M:b+=i.length;break;case T:a+=i.length;break;case z:y+=Math.max(b,a),b=0,a=0;break}}return y+=Math.max(b,a),y},j.prototype.diff_toDelta=function(k){for(var y=[],b=0;b<k.length;b++)switch(k[b][0]){case M:y[b]="+"+encodeURI(k[b][1]);break;case T:y[b]="-"+k[b][1].length;break;case z:y[b]="="+k[b][1].length;break}return y.join(" ").replace(/%20/g," ")},j.prototype.diff_fromDelta=function(k,y){for(var b=[],a=0,l=0,r=y.split(/\t/g),i=0;i<r.length;i++){var n=r[i].substring(1);switch(r[i].charAt(0)){case"+":try{b[a++]=new j.Diff(M,decodeURI(n))}catch(o){throw new Error("Illegal escape in diff_fromDelta: "+n)}break;case"-":case"=":var t=parseInt(n,10);if(isNaN(t)||t<0)throw new Error("Invalid number in diff_fromDelta: "+n);var e=k.substring(l,l+=t);r[i].charAt(0)=="="?b[a++]=new j.Diff(z,e):b[a++]=new j.Diff(T,e);break;default:if(r[i])throw new Error("Invalid diff operation in diff_fromDelta: "+r[i])}}if(l!=k.length)throw new Error("Delta length ("+l+") does not equal source text length ("+k.length+").");return b},j.prototype.match_main=function(k,y,b){if(k==null||y==null||b==null)throw new Error("Null input. (match_main)");return b=Math.max(0,Math.min(b,k.length)),k==y?0:k.length?k.substring(b,b+y.length)==y?b:this.match_bitap_(k,y,b):-1},j.prototype.match_bitap_=function(k,y,b){if(y.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var a=this.match_alphabet_(y),l=this;function r(m,$){var _=m/y.length,S=Math.abs(b-$);return l.Match_Distance?_+S/l.Match_Distance:S?1:_}var i=this.Match_Threshold,n=k.indexOf(y,b);n!=-1&&(i=Math.min(r(0,n),i),n=k.lastIndexOf(y,b+y.length),n!=-1&&(i=Math.min(r(0,n),i)));var t=1<<y.length-1;n=-1;for(var e,o,s=y.length+k.length,h,u=0;u<y.length;u++){for(e=0,o=s;e<o;)r(u,b+o)<=i?e=o:s=o,o=Math.floor((s-e)/2+e);s=o;var A=Math.max(1,b-o+1),x=Math.min(b+o,k.length)+y.length,f=Array(x+2);f[x+1]=(1<<u)-1;for(var c=x;c>=A;c--){var g=a[k.charAt(c-1)];if(u===0?f[c]=(f[c+1]<<1|1)&g:f[c]=(f[c+1]<<1|1)&g|((h[c+1]|h[c])<<1|1)|h[c+1],f[c]&t){var w=r(u,c-1);if(w<=i)if(i=w,n=c-1,n>b)A=Math.max(1,2*b-n);else break}}if(r(u+1,b)>i)break;h=f}return n},j.prototype.match_alphabet_=function(k){for(var y={},b=0;b<k.length;b++)y[k.charAt(b)]=0;for(var b=0;b<k.length;b++)y[k.charAt(b)]|=1<<k.length-b-1;return y},j.prototype.patch_addContext_=function(k,y){if(y.length!=0){if(k.start2===null)throw Error("patch not initialized");for(var b=y.substring(k.start2,k.start2+k.length1),a=0;y.indexOf(b)!=y.lastIndexOf(b)&&b.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)a+=this.Patch_Margin,b=y.substring(k.start2-a,k.start2+k.length1+a);a+=this.Patch_Margin;var l=y.substring(k.start2-a,k.start2);l&&k.diffs.unshift(new j.Diff(z,l));var r=y.substring(k.start2+k.length1,k.start2+k.length1+a);r&&k.diffs.push(new j.Diff(z,r)),k.start1-=l.length,k.start2-=l.length,k.length1+=l.length+r.length,k.length2+=l.length+r.length}},j.prototype.patch_make=function(k,y,b){var a,l;if(typeof k=="string"&&typeof y=="string"&&typeof b=="undefined")a=k,l=this.diff_main(a,y,!0),l.length>2&&(this.diff_cleanupSemantic(l),this.diff_cleanupEfficiency(l));else if(k&&typeof k=="object"&&typeof y=="undefined"&&typeof b=="undefined")l=k,a=this.diff_text1(l);else if(typeof k=="string"&&y&&typeof y=="object"&&typeof b=="undefined")a=k,l=y;else if(typeof k=="string"&&typeof y=="string"&&b&&typeof b=="object")a=k,l=b;else throw new Error("Unknown call format to patch_make.");if(l.length===0)return[];for(var r=[],i=new j.patch_obj,n=0,t=0,e=0,o=a,s=a,h=0;h<l.length;h++){var u=l[h][0],A=l[h][1];switch(!n&&u!==z&&(i.start1=t,i.start2=e),u){case M:i.diffs[n++]=l[h],i.length2+=A.length,s=s.substring(0,e)+A+s.substring(e);break;case T:i.length1+=A.length,i.diffs[n++]=l[h],s=s.substring(0,e)+s.substring(e+A.length);break;case z:A.length<=2*this.Patch_Margin&&n&&l.length!=h+1?(i.diffs[n++]=l[h],i.length1+=A.length,i.length2+=A.length):A.length>=2*this.Patch_Margin&&n&&(this.patch_addContext_(i,o),r.push(i),i=new j.patch_obj,n=0,o=s,t=e);break}u!==M&&(t+=A.length),u!==T&&(e+=A.length)}return n&&(this.patch_addContext_(i,o),r.push(i)),r},j.prototype.patch_deepCopy=function(k){for(var y=[],b=0;b<k.length;b++){var a=k[b],l=new j.patch_obj;l.diffs=[];for(var r=0;r<a.diffs.length;r++)l.diffs[r]=new j.Diff(a.diffs[r][0],a.diffs[r][1]);l.start1=a.start1,l.start2=a.start2,l.length1=a.length1,l.length2=a.length2,y[b]=l}return y},j.prototype.patch_apply=function(k,y){if(k.length==0)return[y,[]];k=this.patch_deepCopy(k);var b=this.patch_addPadding(k);y=b+y+b,this.patch_splitMax(k);for(var a=0,l=[],r=0;r<k.length;r++){var i=k[r].start2+a,n=this.diff_text1(k[r].diffs),t,e=-1;if(n.length>this.Match_MaxBits?(t=this.match_main(y,n.substring(0,this.Match_MaxBits),i),t!=-1&&(e=this.match_main(y,n.substring(n.length-this.Match_MaxBits),i+n.length-this.Match_MaxBits),(e==-1||t>=e)&&(t=-1))):t=this.match_main(y,n,i),t==-1)l[r]=!1,a-=k[r].length2-k[r].length1;else{l[r]=!0,a=t-i;var o;if(e==-1?o=y.substring(t,t+n.length):o=y.substring(t,e+this.Match_MaxBits),n==o)y=y.substring(0,t)+this.diff_text2(k[r].diffs)+y.substring(t+n.length);else{var s=this.diff_main(n,o,!1);if(n.length>this.Match_MaxBits&&this.diff_levenshtein(s)/n.length>this.Patch_DeleteThreshold)l[r]=!1;else{this.diff_cleanupSemanticLossless(s);for(var h=0,u,A=0;A<k[r].diffs.length;A++){var x=k[r].diffs[A];x[0]!==z&&(u=this.diff_xIndex(s,h)),x[0]===M?y=y.substring(0,t+u)+x[1]+y.substring(t+u):x[0]===T&&(y=y.substring(0,t+u)+y.substring(t+this.diff_xIndex(s,h+x[1].length))),x[0]!==T&&(h+=x[1].length)}}}}}return y=y.substring(b.length,y.length-b.length),[y,l]},j.prototype.patch_addPadding=function(k){for(var y=this.Patch_Margin,b="",a=1;a<=y;a++)b+=String.fromCharCode(a);for(var a=0;a<k.length;a++)k[a].start1+=y,k[a].start2+=y;var l=k[0],r=l.diffs;if(r.length==0||r[0][0]!=z)r.unshift(new j.Diff(z,b)),l.start1-=y,l.start2-=y,l.length1+=y,l.length2+=y;else if(y>r[0][1].length){var i=y-r[0][1].length;r[0][1]=b.substring(r[0][1].length)+r[0][1],l.start1-=i,l.start2-=i,l.length1+=i,l.length2+=i}if(l=k[k.length-1],r=l.diffs,r.length==0||r[r.length-1][0]!=z)r.push(new j.Diff(z,b)),l.length1+=y,l.length2+=y;else if(y>r[r.length-1][1].length){var i=y-r[r.length-1][1].length;r[r.length-1][1]+=b.substring(0,i),l.length1+=i,l.length2+=i}return b},j.prototype.patch_splitMax=function(k){for(var y=this.Match_MaxBits,b=0;b<k.length;b++)if(!(k[b].length1<=y)){var a=k[b];k.splice(b--,1);for(var l=a.start1,r=a.start2,i="";a.diffs.length!==0;){var n=new j.patch_obj,t=!0;for(n.start1=l-i.length,n.start2=r-i.length,i!==""&&(n.length1=n.length2=i.length,n.diffs.push(new j.Diff(z,i)));a.diffs.length!==0&&n.length1<y-this.Patch_Margin;){var e=a.diffs[0][0],o=a.diffs[0][1];e===M?(n.length2+=o.length,r+=o.length,n.diffs.push(a.diffs.shift()),t=!1):e===T&&n.diffs.length==1&&n.diffs[0][0]==z&&o.length>2*y?(n.length1+=o.length,l+=o.length,t=!1,n.diffs.push(new j.Diff(e,o)),a.diffs.shift()):(o=o.substring(0,y-n.length1-this.Patch_Margin),n.length1+=o.length,l+=o.length,e===z?(n.length2+=o.length,r+=o.length):t=!1,n.diffs.push(new j.Diff(e,o)),o==a.diffs[0][1]?a.diffs.shift():a.diffs[0][1]=a.diffs[0][1].substring(o.length))}i=this.diff_text2(n.diffs),i=i.substring(i.length-this.Patch_Margin);var s=this.diff_text1(a.diffs).substring(0,this.Patch_Margin);s!==""&&(n.length1+=s.length,n.length2+=s.length,n.diffs.length!==0&&n.diffs[n.diffs.length-1][0]===z?n.diffs[n.diffs.length-1][1]+=s:n.diffs.push(new j.Diff(z,s))),t||k.splice(++b,0,n)}}},j.prototype.patch_toText=function(k){for(var y=[],b=0;b<k.length;b++)y[b]=k[b];return y.join("")},j.prototype.patch_fromText=function(k){var y=[];if(!k)return y;for(var b=k.split(` |
| 2687 |
`),a=0,l=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;a<b.length;){var r=b[a].match(l);if(!r)throw new Error("Invalid patch string: "+b[a]);var i=new j.patch_obj;for(y.push(i),i.start1=parseInt(r[1],10),r[2]===""?(i.start1--,i.length1=1):r[2]=="0"?i.length1=0:(i.start1--,i.length1=parseInt(r[2],10)),i.start2=parseInt(r[3],10),r[4]===""?(i.start2--,i.length2=1):r[4]=="0"?i.length2=0:(i.start2--,i.length2=parseInt(r[4],10)),a++;a<b.length;){var n=b[a].charAt(0);try{var t=decodeURI(b[a].substring(1))}catch(e){throw new Error("Illegal escape in patch_fromText: "+t)}if(n=="-")i.diffs.push(new j.Diff(T,t));else if(n=="+")i.diffs.push(new j.Diff(M,t));else if(n==" ")i.diffs.push(new j.Diff(z,t));else{if(n=="@")break;if(n!=="")throw new Error('Invalid patch mode "'+n+'" in: '+t)}a++}}return y},j.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0},j.patch_obj.prototype.toString=function(){var k,y;this.length1===0?k=this.start1+",0":this.length1==1?k=this.start1+1:k=this.start1+1+","+this.length1,this.length2===0?y=this.start2+",0":this.length2==1?y=this.start2+1:y=this.start2+1+","+this.length2;for(var b=["@@ -"+k+" +"+y+` @@ |
| 2688 |
`],a,l=0;l<this.diffs.length;l++){switch(this.diffs[l][0]){case M:a="+";break;case T:a="-";break;case z:a=" ";break}b[l+1]=a+encodeURI(this.diffs[l][1])+` |
| 2689 |
`}return b.join("").replace(/%20/g," ")},q.exports=j,q.exports.diff_match_patch=j,q.exports.DIFF_DELETE=T,q.exports.DIFF_INSERT=M,q.exports.DIFF_EQUAL=z})(Rt)),Rt.exports}var hn;function Si(){if(hn)return Be;hn=1;var q=Be&&Be.__extends||(function(){var y=function(b,a){return y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,r){l.__proto__=r}||function(l,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(l[i]=r[i])},y(b,a)};return function(b,a){if(typeof a!="function"&&a!==null)throw new TypeError("Class extends value "+String(a)+" is not a constructor or null");y(b,a);function l(){this.constructor=b}b.prototype=a===null?Object.create(a):(l.prototype=a.prototype,new l)}})();Object.defineProperty(Be,"__esModule",{value:!0});var j=Ot(),T=It(),M=fn(),z=xi(),k=(function(y){q(b,y);function b(a){var l=y.call(this,a)||this;return l.state={value:l.props.value},l.onChange=l.onChange.bind(l),l.diff=l.diff.bind(l),l}return b.prototype.componentDidUpdate=function(){var a=this.props.value;a!==this.state.value&&this.setState({value:a})},b.prototype.onChange=function(a){this.setState({value:a}),this.props.onChange&&this.props.onChange(a)},b.prototype.diff=function(){var a=new z,l=this.state.value[0],r=this.state.value[1];if(l.length===0&&r.length===0)return[];var i=a.diff_main(l,r);a.diff_cleanupSemantic(i);var n=this.generateDiffedLines(i),t=this.setCodeMarkers(n);return t},b.prototype.generateDiffedLines=function(a){var l={DIFF_EQUAL:0,DIFF_DELETE:-1,DIFF_INSERT:1},r={left:[],right:[]},i={left:1,right:1};return a.forEach(function(n){var t=n[0],e=n[1],o=e.split(` |
| 2690 |
`).length-1;if(e.length!==0){var s=e[0],h=e[e.length-1],u=0;switch(t){case l.DIFF_EQUAL:i.left+=o,i.right+=o;break;case l.DIFF_DELETE:s===` |
| 2691 |
`&&(i.left++,o--),u=o,u===0&&r.right.push({startLine:i.right,endLine:i.right}),h===` |
| 2692 |
`&&(u-=1),r.left.push({startLine:i.left,endLine:i.left+u}),i.left+=o;break;case l.DIFF_INSERT:s===` |
| 2693 |
`&&(i.right++,o--),u=o,u===0&&r.left.push({startLine:i.left,endLine:i.left}),h===` |
| 2694 |
`&&(u-=1),r.right.push({startLine:i.right,endLine:i.right+u}),i.right+=o;break;default:throw new Error("Diff type was not defined.")}}}),r},b.prototype.setCodeMarkers=function(a){a===void 0&&(a={left:[],right:[]});for(var l=[],r={left:[],right:[]},i=0;i<a.left.length;i++){var n={startRow:a.left[i].startLine-1,endRow:a.left[i].endLine,type:"text",className:"codeMarker"};r.left.push(n)}for(var i=0;i<a.right.length;i++){var n={startRow:a.right[i].startLine-1,endRow:a.right[i].endLine,type:"text",className:"codeMarker"};r.right.push(n)}return l[0]=r.left,l[1]=r.right,l},b.prototype.render=function(){var a=this.diff();return T.createElement(M.default,{name:this.props.name,className:this.props.className,focus:this.props.focus,orientation:this.props.orientation,splits:this.props.splits,mode:this.props.mode,theme:this.props.theme,height:this.props.height,width:this.props.width,fontSize:this.props.fontSize,showGutter:this.props.showGutter,onChange:this.onChange,onPaste:this.props.onPaste,onLoad:this.props.onLoad,onScroll:this.props.onScroll,minLines:this.props.minLines,maxLines:this.props.maxLines,readOnly:this.props.readOnly,highlightActiveLine:this.props.highlightActiveLine,showPrintMargin:this.props.showPrintMargin,tabSize:this.props.tabSize,cursorStart:this.props.cursorStart,editorProps:this.props.editorProps,style:this.props.style,scrollMargin:this.props.scrollMargin,setOptions:this.props.setOptions,wrapEnabled:this.props.wrapEnabled,enableBasicAutocompletion:this.props.enableBasicAutocompletion,enableLiveAutocompletion:this.props.enableLiveAutocompletion,value:this.state.value,markers:a})},b.propTypes={cursorStart:j.number,editorProps:j.object,enableBasicAutocompletion:j.bool,enableLiveAutocompletion:j.bool,focus:j.bool,fontSize:j.number,height:j.string,highlightActiveLine:j.bool,maxLines:j.number,minLines:j.number,mode:j.string,name:j.string,className:j.string,onLoad:j.func,onPaste:j.func,onScroll:j.func,onChange:j.func,orientation:j.string,readOnly:j.bool,scrollMargin:j.array,setOptions:j.object,showGutter:j.bool,showPrintMargin:j.bool,splits:j.number,style:j.object,tabSize:j.number,theme:j.string,value:j.array,width:j.string,wrapEnabled:j.bool},b.defaultProps={cursorStart:1,editorProps:{},enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,focus:!1,fontSize:12,height:"500px",highlightActiveLine:!0,maxLines:null,minLines:null,mode:"",name:"ace-editor",onLoad:null,onScroll:null,onPaste:null,onChange:null,orientation:"beside",readOnly:!1,scrollMargin:[0,0,0,0],setOptions:{},showGutter:!0,showPrintMargin:!0,splits:2,style:{},tabSize:4,theme:"github",value:["",""],width:"500px",wrapEnabled:!0},b})(T.Component);return Be.default=k,Be}var un;function Ci(){if(un)return Te;un=1,Object.defineProperty(Te,"__esModule",{value:!0}),Te.diff=Te.split=void 0;var q=bi(),j=Si();Te.diff=j.default;var T=fn();return Te.split=T.default,Te.default=q.default,Te}var ki=Ci(),Mi=ci(ki);export{Mi as A}; |
| 2695 |
|