PageSourceSearch

https://gamaddy.com/_nuxt/BUMTWEA8.js

js gamaddy.com collected 2026-10-08 22:10:38 UTC 558,717 bytes, 1,136 lines download raw bytes

1import{g as ze}from"./Cpj98o6Y.js";import{v as He,C as Pe,aB as je,aC as Ue,r as Ae,S as Ve,D as Ge,o as Me,c as Le,b as Te,Q as Ke,g as $e,ak as Ye,a as ue,n as Qe}from"./DpUw-Avl.js";var Re={exports:{}};(function(H,U){(function(){var b="ace",S=function(){return this}();!S&&typeof window<"u"&&(S=window);var N=function(o,r,n){if(typeof o!="string"){N.original?N.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(n=r),N.modules[o]||(N.payloads[o]=n,N.modules[o]=null)};N.modules={},N.payloads={};var A=function(o,r,n){if(typeof r=="string"){var t=a(o,r);if(t!=null)return n&&n(),t}else if(Object.prototype.toString.call(r)==="[object Array]"){for(var e=[],i=0,s=r.length;i<s;++i){var l=a(o,r[i]);if(l==null&&x.original)return;e.push(l)}return n&&n.apply(null,e)||!0}},x=function(o,r){var n=A("",o,r);return n==null&&x.original?x.original.apply(this,arguments):n},y=function(o,r){if(r.indexOf("!")!==-1){var n=r.split("!");return y(o,n[0])+"!"+y(o,n[1])}if(r.charAt(0)=="."){var t=o.split("/").slice(0,-1).join("/");for(r=t+"/"+r;r.indexOf(".")!==-1&&e!=r;){var e=r;r=r.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return r},a=function(o,r){r=y(o,r);var n=N.modules[r];if(!n){if(n=N.payloads[r],typeof n=="function"){var t={},e={id:r,uri:"",exports:t,packaged:!0},i=function(l,h){return A(r,l,h)},s=n(i,t,e);t=s||e.exports,N.modules[r]=t,delete N.payloads[r]}n=N.modules[r]=t||n}return n};function c(o){var r=S;S[o]||(S[o]={}),r=S[o],(!r.define||!r.define.packaged)&&(N.original=r.define,r.define=N,r.define.packaged=!0),(!r.require||!r.require.packaged)&&(x.original=r.require,r.require=x,r.require.packaged=!0)}c(b)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(b,S,N){function A(x,y,a){Object.defineProperty(x,y,{value:a,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||A(String.prototype,"startsWith",function(x,y){return y=y||0,this.lastIndexOf(x,y)===y}),String.prototype.endsWith||A(String.prototype,"endsWith",function(x,y){var a=this;(y===void 0||y>a.length)&&(y=a.length),y-=x.length;var c=a.indexOf(x,y);return c!==-1&&c===y}),String.prototype.repeat||A(String.prototype,"repeat",function(x){for(var y="",a=this;x>0;)x&1&&(y+=a),(x>>=1)&&(a+=a);return y}),String.prototype.includes||A(String.prototype,"includes",function(x,y){return this.indexOf(x,y)!=-1}),Object.assign||(Object.assign=function(x){if(x==null)throw new TypeError("Cannot convert undefined or null to object");for(var y=Object(x),a=1;a<arguments.length;a++){var c=arguments[a];c!=null&&Object.keys(c).forEach(function(o){y[o]=c[o]})}return y}),Object.values||(Object.values=function(x){return Object.keys(x).map(function(y){return x[y]})}),Array.prototype.find||A(Array.prototype,"find",function(x){for(var y=this.length,a=arguments[1],c=0;c<y;c++){var o=this[c];if(x.call(a,o,c,this))return o}}),Array.prototype.findIndex||A(Array.prototype,"findIndex",function(x){for(var y=this.length,a=arguments[1],c=0;c<y;c++){var o=this[c];if(x.call(a,o,c,this))return c}}),Array.prototype.includes||A(Array.prototype,"includes",function(x,y){return this.indexOf(x,y)!=-1}),Array.prototype.fill||A(Array.prototype,"fill",function(x){for(var y=this,a=y.length>>>0,c=arguments[1],o=c>>0,r=o<0?Math.max(a+o,0):Math.min(o,a),n=arguments[2],t=n===void 0?a:n>>0,e=t<0?Math.max(a+t,0):Math.min(t,a);r<e;)y[r]=x,r++;return y}),Array.of||A(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(b,S,N){b("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(b,S,N){S.deepCopy=function A(x){if(typeof x!="object"||!x)return x;var y;if(Array.isArray(x)){y=[];for(var a=0;a<x.length;a++)y[a]=A(x[a]);return y}if(Object.prototype.toString.call(x)!=="[object Object]")return x;y={};for(var a in x)y[a]=A(x[a]);return y}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(b,S,N){S.last=function(y){return y[y.length-1]}
1,S.stringReverse=function(y){return y.split("").reverse().join("")},S.stringRepeat=function(y,a){for(var c="";a>0;)a&1&&(c+=y),(a>>=1)&&(y+=y);return c};var A=/^\s\s*/,x=/\s\s*$/;S.stringTrimLeft=function(y){return y.replace(A,"")},S.stringTrimRight=function(y){return y.replace(x,"")},S.copyObject=function(y){var a={};for(var c in y)a[c]=y[c];return a},S.copyArray=function(y){for(var a=[],c=0,o=y.length;c<o;c++)y[c]&&typeof y[c]=="object"?a[c]=this.copyObject(y[c]):a[c]=y[c];return a},S.deepCopy=b("./deep_copy").deepCopy,S.arrayToMap=function(y){for(var a={},c=0;c<y.length;c++)a[y[c]]=1;return a},S.createMap=function(y){var a=Object.create(null);for(var c in y)a[c]=y[c];return a},S.arrayRemove=function(y,a){for(var c=0;c<=y.length;c++)a===y[c]&&y.splice(c,1)},S.escapeRegExp=function(y){return y.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},S.escapeHTML=function(y){return(""+y).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},S.getMatchOffsets=function(y,a){var c=[];return y.replace(a,function(o){c.push({offset:arguments[arguments.length-2],length:o.length})}),c},S.deferredCall=function(y){var a=null,c=function(){a=null,y()},o=function(r){return o.cancel(),a=setTimeout(c,r||0),o};return o.schedule=o,o.call=function(){return this.cancel(),y(),o},o.cancel=function(){return clearTimeout(a),a=null,o},o.isPending=function(){return a},o},S.delayedCall=function(y,a){var c=null,o=function(){c=null,y()},r=function(n){c==null&&(c=setTimeout(o,n||a))};return r.delay=function(n){c&&clearTimeout(c),c=setTimeout(o,n||a)},r.schedule=r,r.call=function(){this.cancel(),y()},r.cancel=function(){c&&clearTimeout(c),c=null},r.isPending=function(){return c},r},S.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},S.skipEmptyMatch=function(y,a,c){return c&&y.codePointAt(a)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(b,S,N){S.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},S.getOS=function(){return S.isMac?S.OS.MAC:S.isLinux?S.OS.LINUX:S.OS.WINDOWS};var A=typeof navigator=="object"?navigator:{},x=(/mac|win|linux/i.exec(A.platform)||["other"])[0].toLowerCase(),y=A.userAgent||"",a=A.appName||"";S.isWin=x=="win",S.isMac=x=="mac",S.isLinux=x=="linux",S.isIE=a=="Microsoft Internet Explorer"||a.indexOf("MSAppHost")>=0?parseFloat((y.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((y.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),S.isOldIE=S.isIE&&S.isIE<9,S.isGecko=S.isMozilla=y.match(/ Gecko\/\d+/),S.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",S.isWebKit=parseFloat(y.split("WebKit/")[1])||void 0,S.isChrome=parseFloat(y.split(" Chrome/")[1])||void 0,S.isSafari=parseFloat(y.split(" Safari/")[1])&&!S.isChrome||void 0,S.isEdge=parseFloat(y.split(" Edge/")[1])||void 0,S.isAIR=y.indexOf("AdobeAIR")>=0,S.isAndroid=y.indexOf("Android")>=0,S.isChromeOS=y.indexOf(" CrOS ")>=0,S.isIOS=/iPad|iPhone|iPod/.test(y)&&!window.MSStream,S.isIOS&&(S.isMac=!0),S.isMobile=S.isIOS||S.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(b,S,N){var A=b("./useragent"),x="http://www.w3.org/1999/xhtml";S.buildDom=function n(t,e,i){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 l=[],h=0;h<t.length;h++){var v=n(t[h],e,i);v&&l.push(v)}return l}var m=document.createElement(t[0]),p=t[1],g=1;p&&typeof p=="object"&&!Array.isArray(p)&&(g=2);for(var h=g;h<t.length;h++)n(t[h],m,i);return g==2&&Object.keys(p).forEach(function($){var T=p[$];$==="class"?m.className=Array.isArray(T)?T.join(" "):T:typeof T=="function"||$=="value"||$[0]=="$"?m[$]=T:$==="ref"?i&&(i[T]=m):$==="style"?typeof T=="string"&&(m.style.cssText=T):T!=null&&m.setAttribute($,T)}),e&&e.appendChild(m),m},S.getDocumentHead=function(n){return n||(n=document),n.head||n.getElementsByTagName("head")[0]||n.documentElement},S.createElement=function(n,t){return document.createElementNS?document.createElementNS(t||x,n):document.createElement(n)},S.removeChildren=function(n){n.innerHTML=""},S.createTextNode=function(n,t){var e=t?t.ownerDocument:document;return e.createTextNode(n)},S.createFragment=function(n){var t=n?n.ownerDocument:document;return t.createDocumentFragment()},S.hasCssClass=function(n,t){var e=(n.className+"").split(/\s+/g);return e.indexOf(t)!==-1},S.addCssClass=function(n,t){S.hasCssClass(n,t)||(n.className+=" "+t)},S.removeCssClass=function(n,t){for(var e=n.className.split(/\s+/g);;){var i=e.indexOf(t);if(i==-1)break;e.splice(i,1)}n.className=e.join(" ")},S.toggleCssClass=function(n,t){for(var e=n.className.split(/\s+/g),i=!0;;){var s=e.indexOf(t);if(s==-1)break;i=!1,e.splice(s,1)}return i&&e.push(t),n.className=e.join(" "),i},S.setCssClass=function(n,t,e){e?S.addCssClass(n,t):S.removeCssClass(n,t)},S.hasCssString=function(n,t){var e=0,i;if(t=t||document,i=t.querySelectorAll("style")){for(;e<i.length;)if(i[e++].id===n)return!0}},S.removeElementById=function(n,t){t=t||document,t.getElementById(n)&&t.getElementById(n).remove()};var y,a=[];S.useStrictCSP=function(n){y=n,n==!1?c():a||(a=[])};function c(){var n=a;
1a=null,n&&n.forEach(function(t){o(t[0],t[1])})}function o(n,t,e){if(!(typeof document>"u")){if(a){if(e)c();else if(e===!1)return a.push([n,t])}if(!y){var i=e;!e||!e.getRootNode?i=document:(i=e.getRootNode(),(!i||i==e)&&(i=document));var s=i.ownerDocument||i;if(t&&S.hasCssString(t,i))return null;t&&(n+=`
2/*# sourceURL=ace/css/`+t+" */");var l=S.createElement("style");l.appendChild(s.createTextNode(n)),t&&(l.id=t),i==s&&(i=S.getDocumentHead(s)),i.insertBefore(l,i.firstChild)}}}if(S.importCssString=o,S.importCssStylsheet=function(n,t){S.buildDom(["link",{rel:"stylesheet",href:n}],S.getDocumentHead(t))},S.scrollbarWidth=function(n){var t=S.createElement("ace_inner");t.style.width="100%",t.style.minWidth="0px",t.style.height="200px",t.style.display="block";var e=S.createElement("ace_outer"),i=e.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",e.appendChild(t);var s=n&&n.documentElement||document&&document.documentElement;if(!s)return 0;s.appendChild(e);var l=t.offsetWidth;i.overflow="scroll";var h=t.offsetWidth;return l===h&&(h=e.clientWidth),s.removeChild(e),l-h},S.computedStyle=function(n,t){return window.getComputedStyle(n,"")||{}},S.setStyle=function(n,t,e){n[t]!==e&&(n[t]=e)},S.HAS_CSS_ANIMATION=!1,S.HAS_CSS_TRANSFORMS=!1,S.HI_DPI=A.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,A.isChromeOS&&(S.HI_DPI=!1),typeof document<"u"){var r=document.createElement("div");S.HI_DPI&&r.style.transform!==void 0&&(S.HAS_CSS_TRANSFORMS=!0),!A.isEdge&&typeof r.style.animationName<"u"&&(S.HAS_CSS_ANIMATION=!0),r=null}S.HAS_CSS_TRANSFORMS?S.translate=function(n,t,e){n.style.transform="translate("+Math.round(t)+"px, "+Math.round(e)+"px)"}:S.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(b,S,N){/*
3* based on code from:
4*
5* @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
6* Available via the MIT or new BSD license.
7* see: http://github.com/jrburke/requirejs for details
8*/var A=b("./dom");S.get=function(x,y){var a=new XMLHttpRequest;a.open("GET",x,!0),a.onreadystatechange=function(){a.readyState===4&&y(a.responseText)},a.send(null)},S.loadScript=function(x,y){var a=A.getDocumentHead(),c=document.createElement("script");c.src=x,a.appendChild(c),c.onload=c.onreadystatechange=function(o,r){(r||!c.readyState||c.readyState=="loaded"||c.readyState=="complete")&&(c=c.onload=c.onreadystatechange=null,r||y())}},S.qualifyURL=function(x){var y=document.createElement("a");return y.href=x,y.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(b,S,N){S.inherits=function(A,x){A.super_=x,A.prototype=Object.create(x.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}})},S.mixin=function(A,x){for(var y in x)A[y]=x[y];return A},S.implement=function(A,x){S.mixin(A,x)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(b,S,N){var A={},x=function(){this.propagationStopped=!0},y=function(){this.defaultPrevented=!0};A._emit=A._dispatchEvent=function(a,c){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var o=this._eventRegistry[a]||[],r=this._defaultHandlers[a];if(!(!o.length&&!r)){(typeof c!="object"||!c)&&(c={}),c.type||(c.type=a),c.stopPropagation||(c.stopPropagation=x),c.preventDefault||(c.preventDefault=y),o=o.slice();for(var n=0;n<o.length&&(o[n](c,this),!c.propagationStopped);n++);if(r&&!c.defaultPrevented)return r(c,this)}},A._signal=function(a,c){var o=(this._eventRegistry||{})[a];if(o){o=o.slice();for(var r=0;r<o.length;r++)o[r](c,this)}},A.once=function(a,c){var o=this;if(this.on(a,function r(){o.off(a,r),c.apply(null,arguments)}),!c)return new Promise(function(r){c=r})},A.setDefaultHandler=function(a,c){var o=this._defaultHandlers;if(o||(o=this._defaultHandlers={_disabled_:{}}),o[a]){var r=o[a],n=o._disabled_[a];n||(o._disabled_[a]=n=[]),n.push(r);var t=n.indexOf(c);t!=-1&&n.splice(t,1)}o[a]=c},A.removeDefaultHandler=function(a,c){var o=this._defaultHandlers;if(o){var r=o._disabled_[a];if(o[a]==c)r&&this.setDefaultHandler(a,r.pop());else if(r){var n=r.indexOf(c);n!=-1&&r.splice(n,1)}}},A.on=A.addEventListener=function(a,c,o){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[a];return r||(r=this._eventRegistry[a]=[]),r.indexOf(c)==-1&&r[o?"unshift":"push"](c),c},A.off=A.removeListener=A.removeEventListener=function(a,c){this._eventRegistry=this._eventRegistry||{};var o=this._eventRegistry[a];if(o){var r=o.indexOf(c);r!==-1&&o.splice(r,1)}},A.removeAllListeners=function(a){a||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[a]=void 0),this._defaultHandlers&&(this._defaultHandlers[a]=void 0)},S.EventEmitter=A}),ace.define("ace/lib/report_error",["require","exports","module"],function(b,S,N){S.reportError=function(x,y){var a=new Error(x);a.data=y,typeof console=="object"&&console.error&&console.error(a),setTimeout(function(){throw a})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(b,S,N){var A={"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","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"
8:"$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"};S.defaultEnglishMessages=A}),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(b,S,N){"no use strict";var A=b("./oop"),x=b("./event_emitter").EventEmitter,y=b("./report_error").reportError,a=b("./default_english_messages").defaultEnglishMessages,c={setOptions:function(e){Object.keys(e).forEach(function(i){this.setOption(i,e[i])},this)},getOptions:function(e){var i={};if(e)Array.isArray(e)||(i=e,e=Object.keys(i));else{var s=this.$options;e=Object.keys(s).filter(function(l){return!s[l].hidden})}return e.forEach(function(l){i[l]=this.getOption(l)},this),i},setOption:function(e,i){if(this["$"+e]!==i){var s=this.$options[e];if(!s)return o('misspelled option "'+e+'"');if(s.forwardTo)return this[s.forwardTo]&&this[s.forwardTo].setOption(e,i);s.handlesSet||(this["$"+e]=i),s&&s.set&&s.set.call(this,i)}},getOption:function(e){var i=this.$options[e];return i?i.forwardTo?this[i.forwardTo]&&this[i.forwardTo].getOption(e):i&&i.get?i.get.call(this):this["$"+e]:o('misspelled option "'+e+'"')}};function o(e){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var r,n,t=function(){function e(){this.$defaultOptions={},r=a,n="dollarSigns"}return e.prototype.defineOptions=function(i,s,l){return i.$options||(this.$defaultOptions[s]=i.$options={}),Object.keys(l).forEach(function(h){var v=l[h];typeof v=="string"&&(v={forwardTo:v}),v.name||(v.name=h),i.$options[v.name]=v,"initialValue"in v&&(i["$"+v.n
8ame]=v.initialValue)}),A.implement(i,c),this},e.prototype.resetOptions=function(i){Object.keys(i.$options).forEach(function(s){var l=i.$options[s];"value"in l&&i.setOption(s,l.value)})},e.prototype.setDefaultValue=function(i,s,l){if(!i){for(i in this.$defaultOptions)if(this.$defaultOptions[i][s])break;if(!this.$defaultOptions[i][s])return!1}var h=this.$defaultOptions[i]||(this.$defaultOptions[i]={});h[s]&&(h.forwardTo?this.setDefaultValue(h.forwardTo,s,l):h[s].value=l)},e.prototype.setDefaultValues=function(i,s){Object.keys(s).forEach(function(l){this.setDefaultValue(i,l,s[l])},this)},e.prototype.setMessages=function(i,s){r=i,s&&s.placeholders&&(n=s.placeholders)},e.prototype.nls=function(i,s,l){r[i]||(o("No message found for the key '"+i+"' in the provided messages, trying to find a translation for the default string '"+s+"'."),r[s]||o("No message found for the default string '"+s+"' in the provided messages. Falling back to the default English message."));var h=r[i]||r[s]||s;return l&&(n==="dollarSigns"&&(h=h.replace(/\$(\$|[\d]+)/g,function(v,m){return m=="$"?"$":l[m]})),n==="curlyBrackets"&&(h=h.replace(/\{([^\}]+)\}/g,function(v,m){return l[m]}))),h},e}();t.prototype.warn=o,t.prototype.reportError=y,A.implement(t.prototype,x),S.AppConfig=t}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(b,S,N){N.exports=`.ace-tm .ace_gutter {
9  background: #f0f0f0;
10  color: #333;
11}
12
13.ace-tm .ace_print-margin {
14  width: 1px;
15  background: #e8e8e8;
16}
17
18.ace-tm .ace_fold {
19    background-color: #6B72E6;
20}
21
22.ace-tm {
23  background-color: #FFFFFF;
24  color: black;
25}
26
27.ace-tm .ace_cursor {
28  color: black;
29}
30        
31.ace-tm .ace_invisible {
32  color: rgb(191, 191, 191);
33}
34
35.ace-tm .ace_storage,
36.ace-tm .ace_keyword {
37  color: blue;
38}
39
40.ace-tm .ace_constant {
41  color: rgb(197, 6, 11);
42}
43
44.ace-tm .ace_constant.ace_buildin {
45  color: rgb(88, 72, 246);
46}
47
48.ace-tm .ace_constant.ace_language {
49  color: rgb(88, 92, 246);
50}
51
52.ace-tm .ace_constant.ace_library {
53  color: rgb(6, 150, 14);
54}
55
56.ace-tm .ace_invalid {
57  background-color: rgba(255, 0, 0, 0.1);
58  color: red;
59}
60
61.ace-tm .ace_support.ace_function {
62  color: rgb(60, 76, 114);
63}
64
65.ace-tm .ace_support.ace_constant {
66  color: rgb(6, 150, 14);
67}
68
69.ace-tm .ace_support.ace_type,
70.ace-tm .ace_support.ace_class {
71  color: rgb(109, 121, 222);
72}
73
74.ace-tm .ace_keyword.ace_operator {
75  color: rgb(104, 118, 135);
76}
77
78.ace-tm .ace_string {
79  color: rgb(3, 106, 7);
80}
81
82.ace-tm .ace_comment {
83  color: rgb(76, 136, 107);
84}
85
86.ace-tm .ace_comment.ace_doc {
87  color: rgb(0, 102, 255);
88}
89
90.ace-tm .ace_comment.ace_doc.ace_tag {
91  color: rgb(128, 159, 191);
92}
93
94.ace-tm .ace_constant.ace_numeric {
95  color: rgb(0, 0, 205);
96}
97
98.ace-tm .ace_variable {
99  color: rgb(49, 132, 149);
100}
101
102.ace-tm .ace_xml-pe {
103  color: rgb(104, 104, 91);
104}
105
106.ace-tm .ace_entity.ace_name.ace_function {
107  color: #0000A2;
108}
109
110
111.ace-tm .ace_heading {
112  color: rgb(12, 7, 255);
113}
114
115.ace-tm .ace_list {
116  color:rgb(185, 6, 144);
117}
118
119.ace-tm .ace_meta.ace_tag {
120  color:rgb(0, 22, 142);
121}
122
123.ace-tm .ace_string.ace_regex {
124  color: rgb(255, 0, 0)
125}
126
127.ace-tm .ace_marker-layer .ace_selection {
128  background: rgb(181, 213, 255);
129}
130.ace-tm.ace_multiselect .ace_selection.ace_start {
131  box-shadow: 0 0 3px 0px white;
132}
133.ace-tm .ace_marker-layer .ace_step {
134  background: rgb(252, 255, 0);
135}
136
137.ace-tm .ace_marker-layer .ace_stack {
138  background: rgb(164, 229, 101);
139}
140
141.ace-tm .ace_marker-layer .ace_bracket {
142  margin: -1px 0 0 -1px;
143  border: 1px solid rgb(192, 192, 192);
144}
145
146.ace-tm .ace_marker-layer .ace_active-line {
147  background: rgba(0, 0, 0, 0.07);
148}
149
150.ace-tm .ace_gutter-active-line {
151    background-color : #dcdcdc;
152}
153
154.ace-tm .ace_marker-layer .ace_selected-word {
155  background: rgb(250, 250, 255);
156  border: 1px solid rgb(200, 200, 250);
157}
158
159.ace-tm .ace_indent-guide {
160  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
161}
162
163.ace-tm .ace_indent-guide-active {
164  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
165}
166`}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(b,S,N){S.isDark=!1,S.cssClass="ace-tm",S.cssText=b("./textmate-css"),S.$id="ace/theme/textmate";var A=b("../lib/dom");A.importCssString(S.cssText,S.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(b,S,N){"no use strict";var A=b("./lib/lang"),x=b("./lib/net"),y=b("./lib/dom"),a=b("./lib/app_config").AppConfig;N.exports=S=new a;var c={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};S.get=function(t){if(!c.hasOwnProperty(t))throw new Error("Unknown config key: "+t);return c[t]},S.set=function(t,e){if(c.hasOwnProperty(t))c[t]=e;else if(this.setDefaultValue("",t,e)==!1)throw new Error("Unknown config key: "+t);
166t=="useStrictCSP"&&y.useStrictCSP(e)},S.all=function(){return A.copyObject(c)},S.$modes={},S.moduleUrl=function(t,e){if(c.$moduleUrls[t])return c.$moduleUrls[t];var i=t.split("/");e=e||i[i.length-2]||"";var s=e=="snippets"?"/":"-",l=i[i.length-1];if(e=="worker"&&s=="-"){var h=new RegExp("^"+e+"[\\-_]|[\\-_]"+e+"$","g");l=l.replace(h,"")}(!l||l==e)&&i.length>1&&(l=i[i.length-2]);var v=c[e+"Path"];return v==null?v=c.basePath:s=="/"&&(e=s=""),v&&v.slice(-1)!="/"&&(v+="/"),v+e+s+l+this.get("suffix")},S.setModuleUrl=function(t,e){return c.$moduleUrls[t]=e};var o=function(t,e){if(t==="ace/theme/textmate"||t==="./theme/textmate")return e(null,b("./theme/textmate"));if(r)return r(t,e);console.error("loader is not configured")},r;S.setLoader=function(t){r=t},S.dynamicModules=Object.create(null),S.$loading={},S.$loaded={},S.loadModule=function(t,e){var i;if(Array.isArray(t))var s=t[0],l=t[1];else if(typeof t=="string")var l=t;var h=function(v){if(v&&!S.$loading[l])return e&&e(v);if(S.$loading[l]||(S.$loading[l]=[]),S.$loading[l].push(e),!(S.$loading[l].length>1)){var m=function(){o(l,function(p,g){g&&(S.$loaded[l]=g),S._emit("load.module",{name:l,module:g});var $=S.$loading[l];S.$loading[l]=null,$.forEach(function(T){T&&T(g)})})};if(!S.get("packaged"))return m();x.loadScript(S.moduleUrl(l,s),m),n()}};if(S.dynamicModules[l])S.dynamicModules[l]().then(function(v){v.default?h(v.default):h(v)});else{try{i=this.$require(l)}catch{}h(i||S.$loaded[l])}},S.$require=function(t){if(typeof N.require=="function"){var e="require";return N[e](t)}},S.setModuleLoader=function(t,e){S.dynamicModules[t]=e};var n=function(){!c.basePath&&!c.workerPath&&!c.modePath&&!c.themePath&&!Object.keys(c.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),n=function(){})};S.version="1.36.5"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(b,S,N){b("./lib/fixoldbrowsers");var A=b("./config");A.setLoader(function(c,o){b([c],function(r){o(null,r)})});var x=function(){return this||typeof window<"u"&&window}();N.exports=function(c){A.init=y,A.$require=b,c.require=b},y(!0);function y(c){if(!(!x||!x.document)){A.set("packaged",c||b.packaged||N.packaged||x.define&&(void 0).packaged);var o={},r="",n=document.currentScript||document._currentScript,t=n&&n.ownerDocument||document;n&&n.src&&(r=n.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var e=t.getElementsByTagName("script"),i=0;i<e.length;i++){var s=e[i],l=s.src||s.getAttribute("src");if(l){for(var h=s.attributes,v=0,m=h.length;v<m;v++){var p=h[v];p.name.indexOf("data-ace-")===0&&(o[a(p.name.replace(/^data-ace-/,""))]=p.value)}var g=l.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);g&&(r=g[1])}}r&&(o.base=o.base||r,o.packaged=!0),o.basePath=o.base,o.workerPath=o.workerPath||o.base,o.modePath=o.modePath||o.base,o.themePath=o.themePath||o.base,delete o.base;for(var $ in o)typeof o[$]<"u"&&A.set($,o[$])}}function a(c){return c.replace(/-(.)/g,function(o,r){return r.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(b,S,N){var A=function(){function x(y,a,c,o){this.start={row:y,column:a},this.end={row:c,column:o}}return x.prototype.isEqual=function(y){return this.start.row===y.start.row&&this.end.row===y.end.row&&this.start.column===y.start.column&&this.end.column===y.end.column},x.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},x.prototype.contains=function(y,a){return this.compare(y,a)==0},x.prototype.compareRange=function(y){var a,c=y.end,o=y.start;return a=this.compare(c.row,c.column),a==1?(a=this.compare(o.row,o.column),a==1?2:a==0?1:0):a==-1?-2:(a=this.compare(o.row,o.column),a==-1?-1:a==1?42:0)},x.prototype.comparePoint=function(y){return this.compare(y.row,y.column)},x.prototype.containsRange=function(y){return this.comparePoint(y.start)==0&&this.comparePoint(y.end)==0},x.prototype.intersects=function(y){var a=this.compareRange(y);return a==-1||a==0||a==1},x.prototype.isEnd=function(y,a){return this.end.row==y&&this.end.column==a},x.prototype.isStart=function(y,a){return this.start.row==y&&this.start.column==a},x.prototype.setStart=function(y,a){typeof y=="object"?(this.start.column=y.column,this.start.row=y.row):(this.start.row=y,this.start.column=a)},x.prototype.setEnd=function(y,a){typeof y=="object"?(this.end.column=y.column,this.end.row=y.row):(this.end.row=y,this.end.column=a)},x.prototype.inside=function(y,a){return this.compare(y,a)==0?!(this.isEnd(y,a)||this.isStart(y,a)):!1},x.prototype.insideStart=function(y,a){return this.compare(y,a)==0?!this.isEnd(y,a):!1},x.prototype.insideEnd=function(y,a){return this.compare(y,a)==0?!this.isStart(y,a):!1},x.prototype.compare=function(y,a){return!this.isMultiLine()&&y===this.start.row?a<this.start.column?-1:a>this.end.column?1:0:y<this.start.row?-1:y>this.end.row?1:this.start.row===y?a>=this.start.column?0:-1:this.end.row===y?a<=this.end.column?0:1:0},x.prototype.compareStart=function(y,a){return this.start.row==y&&this.start.column==a?-1:this.compare(y,a)},x.prototype.compareEnd=function(y,a){return this.end.row==y&&this.end.column==a?1:this.compare(y,a)},x.prototype.compareInside=function(y,a){return this.end.row==y&&this.end.column==a?1:this.start.row==y&&this.start.column==a?-1:this.compare(y,a)},x.prototype.clipRows=function(y,a){if(this.end.row>a)var c={row:a+1,column:0};else if(this.end.row<y)var c={row:y,column:0};if(this.start.row>a)var o={row:a+1,column:0};else if(this.start.row<y)var o={row:y,column:0};return x.fromPoints(o||this.start,c||this.end)},x.prototype.extend=function(y,a){var c=this.compare(y,a);if(c==0)return this;if(c==-1)var o={row:y,column:a};else var r={row:y,column:a};return x.fromPoints(o||this.start,r||this.end)},x.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},x.prototype.isMultiLine=function(){return this.start.row!==this.end.row},x.prototype.clone=function(){return x.fromPoints(this.start,this.end)},x.prototype.collapseRows=function(){return this.end.column==0?new x(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new x(this.start.row,0,this.end.row,0)},x.prototype.toScreenRange=function(y){var a=y.documentToScreenPosition(this.start),c=y.documentToScreenPosition(this.end);return new x(a.row,a.column,c.row,c.column)},x.prototype.moveBy=function(y,a){this.start.row+=y,this.start.column+=a,this.end.row+=y,this.end.column+=a},x}();A.fromPoints=function(x,y){return new A(x.row,x.column,y.row,y.column)},A.comparePoints=function(x,y){return x.row-y.row||x.column-y.column},S.Range=A}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(b,S,N){for(var A=b("./oop"),x={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}
166,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:"*"}},y={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++)y["Digit"+a]=48+a,y["Numpad"+a]=96+a,x.PRINTABLE_KEYS[48+a]=""+a,x.FUNCTION_KEYS[96+a]="Numpad"+a;for(var a=65;a<91;a++){var c=String.fromCharCode(a+32);y["Key"+c.toUpperCase()]=a,x.PRINTABLE_KEYS[a]=c}for(var a=1;a<13;a++)y["F"+a]=111+a,x.FUNCTION_KEYS[111+a]="F"+a;var o={Shift:16,Control:17,Alt:18,Meta:224};for(var r in o)y[r]=y[r+"Left"]=y[r+"Right"]=o[r];S.$codeToKeyCode=y,x.PRINTABLE_KEYS[173]="-";for(var n in x.FUNCTION_KEYS){var t=x.FUNCTION_KEYS[n].toLowerCase();x[t]=parseInt(n,10)}for(var n in x.PRINTABLE_KEYS){var t=x.PRINTABLE_KEYS[n].toLowerCase();x[t]=parseInt(n,10)}A.mixin(x,x.MODIFIER_KEYS),A.mixin(x,x.PRINTABLE_KEYS),A.mixin(x,x.FUNCTION_KEYS),x.enter=x.return,x.escape=x.esc,x.del=x.delete,function(){for(var e=["cmd","ctrl","alt","shift"],i=Math.pow(2,e.length);i--;)x.KEY_MODS[i]=e.filter(function(s){return i&x.KEY_MODS[s]}).join("-")+"-"}(),x.KEY_MODS[0]="",x.KEY_MODS[-1]="input-",A.mixin(S,x),S.default=S,S.keyCodeToString=function(e){var i=x[e];return typeof i!="string"&&(i=String.fromCharCode(e)),i.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(b,S,N){var A=b("./keys"),x=b("./useragent"),y=null,a=0,c;function o(){c=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return c={passive:!1},!0}})}catch{}}function r(){return c==null&&o(),c}function n(v,m,p){this.elem=v,this.type=m,this.callback=p}n.prototype.destroy=function(){e(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var t=S.addListener=function(v,m,p,g){v.addEventListener(m,p,r()),g&&g.$toDestroy.push(new n(v,m,p))},e=S.removeListener=function(v,m,p){v.removeEventListener(m,p,r())};S.stopEvent=function(v){return S.stopPropagation(v),S.preventDefault(v),!1},S.stopPropagation=function(v){v.stopPropagation&&v.stopPropagation()},S.preventDefault=function(v){v.preventDefault&&v.preventDefault()},S.getButton=function(v){return v.type=="dblclick"?0:v.type=="contextmenu"||x.isMac&&v.ctrlKey&&!v.altKey&&!v.shiftKey?2:v.button},S.capture=function(v,m,p){var g=v&&v.ownerDocument||document;function $(T){m&&m(T),p&&p(T),e(g,"mousemove",m),e(g,"mouseup",$),e(g,"dragstart",$)}return t(g,"mousemove",m),t(g,"mouseup",$),t(g,"dragstart",$),$},S.addMouseWheelListener=function(v,m,p){t(v,"wheel",function(g){var $=.15,T=g.deltaX||0,M=g.deltaY||0;switch(g.deltaMode){case g.DOM_DELTA_PIXEL:g.wheelX=T*$,g.wheelY=M*$;break;case g.DOM_DELTA_LINE:var C=15;g.wheelX=T*C,g.wheelY=M*C;break;case g.DOM_DELTA_PAGE:var E=150;g.wheelX=T*E,g.wheelY=M*E;break}m(g)},p)},S.addMultiMouseDownListener=function(v,m,p,g,$){var T=0,M,C,E,d={2:"dblclick",3:"tripleclick",4:"quadclick"};function u(f){if(S.getButton(f)!==0?T=0:f.detail>1?(T++,T>4&&(T=1)):T=1,x.isIE){var w=Math.abs(f.clientX-M)>5||Math.abs(f.clientY-C)>5;(!E||w)&&(T=1),E&&clearTimeout(E),E=setTimeout(function(){E=null},m[T-1]||600),T==1&&(M=f.clientX,C=f.clientY)}if(f._clicks=T,p[g]("mousedown",f),T>4)T=0;else if(T>1)return p[g](d[T],f)}Array.isArray(v)||(v=[v]),v.forEach(function(f){t(f,"mousedown",u,$)})};function i(v){return 0|(v.ctrlKey?1:0)|(v.altKey?2:0)|(v.shiftKey?4:0)|(v.metaKey?8:0)}S.getModifierString=function(v){return A.KEY_MODS[i(v)]};function s(v,m,p){var g=i(m);if(!p&&m.code&&(p=A.$codeToKeyCode[m.code]||p),!x.isMac&&y){if(m.getModifierState&&(m.getModifierState("OS")||m.getModifierState("Win"))&&(g|=8),y.altGr)if((3&g)!=3)y.altGr=0;else return;if(p===18||p===17){var $=m.location;if(p===17&&$===1)y[p]==1&&(a=m.timeStamp);else if(p===18&&g===3&&$===2){var T=m.timeStamp-a;T<50&&(y.altGr=!0)}}}if(p in A.MODIFIER_KEYS&&(p=-1),!(!g&&p===13&&m.location===3&&(v(m,g,-p),m.defaultPrevented))){if(x.isChromeOS&&g&8){if(v(m,g,p),m.defaultPrevented)return;g&=-9}
166return!g&&!(p in A.FUNCTION_KEYS)&&!(p in A.PRINTABLE_KEYS)?!1:v(m,g,p)}}S.addCommandKeyListener=function(v,m,p){var g=null;t(v,"keydown",function($){y[$.keyCode]=(y[$.keyCode]||0)+1;var T=s(m,$,$.keyCode);return g=$.defaultPrevented,T},p),t(v,"keypress",function($){g&&($.ctrlKey||$.altKey||$.shiftKey||$.metaKey)&&(S.stopEvent($),g=null)},p),t(v,"keyup",function($){y[$.keyCode]=null},p),y||(l(),t(window,"focus",l))};function l(){y=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!x.isOldIE){var h=1;S.nextTick=function(v,m){m=m||window;var p="zero-timeout-message-"+h++,g=function($){$.data==p&&(S.stopPropagation($),e(m,"message",g),v())};t(m,"message",g),m.postMessage(p,"*")}}S.$idleBlocked=!1,S.onIdle=function(v,m){return setTimeout(function p(){S.$idleBlocked?setTimeout(p,100):v()},m)},S.$idleBlockId=null,S.blockIdle=function(v){S.$idleBlockId&&clearTimeout(S.$idleBlockId),S.$idleBlocked=!0,S.$idleBlockId=setTimeout(function(){S.$idleBlocked=!1},v||100)},S.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),S.nextFrame?S.nextFrame=S.nextFrame.bind(window):S.nextFrame=function(v){setTimeout(v,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(b,S,N){var A;N.exports={lineMode:!1,pasteCancelled:function(){return A&&A>Date.now()-50?!0:A=!1},cancel:function(){A=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(b,S,N){var A=b("../lib/event"),x=b("../config").nls,y=b("../lib/useragent"),a=b("../lib/dom"),c=b("../lib/lang"),o=b("../clipboard"),r=y.isChrome<18,n=y.isIE,t=y.isChrome>63,e=400,i=b("../lib/keys"),s=i.KEY_MODS,l=y.isIOS,h=l?/\s/:/\n/,v=y.isMobile,m;m=function(p,g){var $=a.createElement("textarea");$.className="ace_text-input",$.setAttribute("wrap","off"),$.setAttribute("autocorrect","off"),$.setAttribute("autocapitalize","off"),$.setAttribute("spellcheck","false"),$.style.opacity="0",p.insertBefore($,p.firstChild);var T=!1,M=!1,C=!1,E=!1,d="";v||($.style.fontSize="1px");var u=!1,f=!1,w="",k=0,L=0,_=0,R=Number.MAX_SAFE_INTEGER,I=Number.MIN_SAFE_INTEGER,O=0;try{var z=document.activeElement===$}catch{}this.setNumberOfExtraLines=function(P){if(R=Number.MAX_SAFE_INTEGER,I=Number.MIN_SAFE_INTEGER,P<0){O=0;return}O=P},this.setAriaLabel=function(){var P="";if(g.$textInputAriaLabel&&(P+="".concat(g.$textInputAriaLabel,", ")),g.session){var Y=g.session.selection.cursor.row;P+=x("text-input.aria-label","Cursor at row $0",[Y+1])}$.setAttribute("aria-label",P)},this.setAriaOptions=function(P){P.activeDescendant?($.setAttribute("aria-haspopup","true"),$.setAttribute("aria-autocomplete",P.inline?"both":"list"),$.setAttribute("aria-activedescendant",P.activeDescendant)):($.setAttribute("aria-haspopup","false"),$.setAttribute("aria-autocomplete","both"),$.removeAttribute("aria-activedescendant")),P.role&&$.setAttribute("role",P.role),P.setLabel&&($.setAttribute("aria-roledescription",x("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),A.addListener($,"blur",function(P){f||(g.onBlur(P),z=!1)},g),A.addListener($,"focus",function(P){if(!f){if(z=!0,y.isEdge)try{if(!document.hasFocus())return}catch{}g.onFocus(P),y.isEdge?setTimeout(F):F()}},g),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:g.renderer.enableKeyboardAccessibility}),d||t||this.$focusScroll=="browser")return $.focus({preventScroll:!0});var P=$.style.top;$.style.position="fixed",$.style.top="0px";try{var Y=$.getBoundingClientRect().top!=0}catch{return}var X=[];if(Y)for(var Z=$.parentElement;Z&&Z.nodeType==1;)X.push(Z),Z.setAttribute("ace_nocontext","true"),!Z.parentElement&&Z.getRootNode?Z=Z.getRootNode().host:Z=Z.parentElement;$.focus({preventScroll:!0}),Y&&X.forEach(function(J){J.removeAttribute("ace_nocontext")}),setTimeout(function(){$.style.position="",$.style.top=="0px"&&($.style.top=P)},0)},this.blur=function(){$.blur()},this.isFocused=function(){return z},g.on("beforeEndOperation",function(){var P=g.curOp,Y=P&&P.command&&P.command.name;if(Y!="insertstring"){var X=Y&&(P.docChanged||P.selectionChanged);
166C&&X&&(w=$.value="",de()),F()}}),g.on("changeSelection",this.setAriaLabel);var D=function(P,Y){for(var X=Y,Z=1;Z<=P-R&&Z<2*O+1;Z++)X+=g.session.getLine(P-Z).length+1;return X},F=l?function(P){if(!(!z||T&&!P||E)){P||(P="");var Y=`
167 ab`+P+`cde fg
168`;Y!=$.value&&($.value=w=Y);var X=4,Z=4+(P.length||(g.selection.isEmpty()?0:1));(k!=X||L!=Z)&&$.setSelectionRange(X,Z),k=X,L=Z}}:function(){if(!(C||E)&&!(!z&&!G)){C=!0;var P=0,Y=0,X="";if(g.session){var Z=g.selection,J=Z.getRange(),ie=Z.cursor.row;ie===I+1?(R=I+1,I=R+2*O):ie===R-1?(I=R-1,R=I-2*O):(ie<R-1||ie>I+1)&&(R=ie>O?ie-O:0,I=ie>O?ie+O:2*O);for(var oe=[],re=R;re<=I;re++)oe.push(g.session.getLine(re));if(X=oe.join(`
169`),P=D(J.start.row,J.start.column),Y=D(J.end.row,J.end.column),J.start.row<R){var ne=g.session.getLine(R-1);P=J.start.row<R-1?0:P,Y+=ne.length+1,X=ne+`
170`+X}else if(J.end.row>I){var q=g.session.getLine(I+1);Y=J.end.row>I+1?q.length:J.end.column,Y+=X.length+1,X=X+`
171`+q}else v&&ie>0&&(X=`
172`+X,Y+=1,P+=1);X.length>e&&(P<e&&Y<e?X=X.slice(0,e):(X=`
173`,P==Y?P=Y=0:(P=0,Y=1)));var le=X+`
174
175`;le!=w&&($.value=w=le,k=L=le.length)}if(G&&(k=$.selectionStart,L=$.selectionEnd),L!=Y||k!=P||$.selectionEnd!=L)try{$.setSelectionRange(P,Y),k=P,L=Y}catch{}C=!1}};this.resetSelection=F,z&&g.onFocus();var B=function(P){return P.selectionStart===0&&P.selectionEnd>=w.length&&P.value===w&&w&&P.selectionEnd!==L},W=function(P){C||(T?T=!1:B($)?(g.selectAll(),F()):v&&$.selectionStart!=k&&F())},j=null;this.setInputHandler=function(P){j=P},this.getInputHandler=function(){return j};var G=!1,K=function(P,Y){if(G&&(G=!1),M)return F(),P&&g.onPaste(P),M=!1,"";for(var X=$.selectionStart,Z=$.selectionEnd,J=k,ie=w.length-L,oe=P,re=P.length-X,ne=P.length-Z,q=0;J>0&&w[q]==P[q];)q++,J--;for(oe=oe.slice(q),q=1;ie>0&&w.length-q>k-1&&w[w.length-q]==P[P.length-q];)q++,ie--;re-=q-1,ne-=q-1;var le=oe.length-q+1;if(le<0&&(J=-le,le=0),oe=oe.slice(0,le),!Y&&!oe&&!re&&!J&&!ie&&!ne)return"";E=!0;var ge=!1;return y.isAndroid&&oe==". "&&(oe="  ",ge=!0),oe&&!J&&!ie&&!re&&!ne||u?g.onTextInput(oe):g.onTextInput(oe,{extendLeft:J,extendRight:ie,restoreStart:re,restoreEnd:ne}),E=!1,w=P,k=X,L=Z,_=ne,ge?`
176`:oe},V=function(P){if(C)return he();if(P&&P.inputType){if(P.inputType=="historyUndo")return g.execCommand("undo");if(P.inputType=="historyRedo")return g.execCommand("redo")}var Y=$.value,X=K(Y,!0);(Y.length>e+100||h.test(X)||v&&k<1&&k==L)&&F()},Q=function(P,Y,X){var Z=P.clipboardData||window.clipboardData;if(!(!Z||r)){var J=n||X?"Text":"text/plain";try{return Y?Z.setData(J,Y)!==!1:Z.getData(J)}catch(ie){if(!X)return Q(ie,Y,!0)}}},ee=function(P,Y){var X=g.getCopyText();if(!X)return A.preventDefault(P);Q(P,X)?(l&&(F(X),T=X,setTimeout(function(){T=!1},10)),Y?g.onCut():g.onCopy(),A.preventDefault(P)):(T=!0,$.value=X,$.select(),setTimeout(function(){T=!1,F(),Y?g.onCut():g.onCopy()}))},ae=function(P){ee(P,!0)},se=function(P){ee(P,!1)},te=function(P){var Y=Q(P);o.pasteCancelled()||(typeof Y=="string"?(Y&&g.onPaste(Y,P),y.isIE&&setTimeout(F),A.preventDefault(P)):($.value="",M=!0))};A.addCommandKeyListener($,function(P,Y,X){if(!C)return g.onCommandKey(P,Y,X)},g),A.addListener($,"select",W,g),A.addListener($,"input",V,g),A.addListener($,"cut",ae,g),A.addListener($,"copy",se,g),A.addListener($,"paste",te,g),(!("oncut"in $)||!("oncopy"in $)||!("onpaste"in $))&&A.addListener(p,"keydown",function(P){if(!(y.isMac&&!P.metaKey||!P.ctrlKey))switch(P.keyCode){case 67:se(P);break;case 86:te(P);break;case 88:ae(P);break}},g);var ce=function(P){if(!(C||!g.onCompositionStart||g.$readOnly)&&(C={},!u)){P.data&&(C.useTextareaForIME=!1),setTimeout(he,0),g._signal("compositionStart"),g.on("mousedown",we);var Y=g.getSelectionRange();Y.end.row=Y.start.row,Y.end.column=Y.start.column,C.markerRange=Y,C.selectionStart=k,g.onCompositionStart(C),C.useTextareaForIME?(w=$.value="",k=0,L=0):($.msGetInputContext&&(C.context=$.msGetInputContext()),$.getInputContext&&(C.context=$.getInputContext()))}},he=function(){if(!(!C||!g.onCompositionUpdate||g.$readOnly)){if(u)return we();if(C.useTextareaForIME)g.onCompositionUpdate($.value);else{var P=$.value;K(P),C.markerRange&&(C.context&&(C.markerRange.start.column=C.selectionStart=C.context.compositionStartOffset),C.markerRange.end.column=C.markerRange.start.column+L-C.selectionStart+_)}}},de=function(P){!g.onCompositionEnd||g.$readOnly||(C=!1,g.onCompositionEnd(),g.off("mousedown",we),P&&V())};function we(){f=!0,$.blur(),$.focus(),f=!1}var Se=c.delayedCall(he,50).schedule.bind(null,null);function We(P){P.keyCode==27&&$.value.length<$.selectionStart&&(C||(w=$.value),k=L=-1,F()),Se()}A.addListener($,"compositionstart",ce,g),A.addListener($,"compositionupdate",he,g),A.addListener($,"keyup",We,g),A.addListener($,"keydown",Se,g),A.addListener($,"compositionend",de,g),this.getElement=function(){return $},this.setCommandMode=function(P){u=P,$.readOnly=!1},this.setReadOnly=function(P){u||($.readOnly=P)},this.setCopyWithEmptySelection=function(P){},this.onContextMenu=function(P){G=!0,F(),g._emit("nativecontextmenu",{target:g,domEvent:P}),this.moveToMouse(P,!0)},this.moveToMouse=function(P,Y){d||(d=$.style.cssText),$.style.cssText=(Y?"z-index:100000;":"")+(y.isIE?"opacity:0.1;":"")+"text-indent: -"+(k+L)*g.renderer.characterWidth*.5+"px;";var X=g.container.getBoundingClientRect(),Z=a.computedStyle(g.container),J=X.top+(parseInt(Z.borderTopWidth)||0),ie=X.left+(parseInt(X.borderLeftWidth)||0),oe=X.bottom-J-$.clientHeight-2,re=function(ne){a.translate($,ne.clientX-ie-2,Math.min(ne.clientY-J-2,oe))};re(P),P.type=="mousedown"&&(g.renderer.$isMousePressed=!0,clearTimeout(be),y.isWin&&A.capture(g.container,re,pe))},this.onContextMenuClose=pe;var be;function pe(){clearTimeout(be),be=setTimeout(function(){d&&($.style.cssText=d,d=""),g.renderer.$isMousePressed=!1,g.renderer.$keepTextAreaAtCurs
176or&&g.renderer.$moveTextAreaToCursor()},0)}var xe=function(P){g.textInput.onContextMenu(P),pe()};A.addListener($,"mouseup",xe,g),A.addListener($,"mousedown",function(P){P.preventDefault(),pe()},g),A.addListener(g.renderer.scroller,"contextmenu",xe,g),A.addListener($,"contextmenu",xe,g),l&&Be(p,g,$);function Be(P,Y,X){var Z=null,J=!1;X.addEventListener("keydown",function(oe){Z&&clearTimeout(Z),J=!0},!0),X.addEventListener("keyup",function(oe){Z=setTimeout(function(){J=!1},100)},!0);var ie=function(oe){if(document.activeElement===X&&!(J||C||Y.$mouseHandler.isMousePressed)&&!T){var re=X.selectionStart,ne=X.selectionEnd,q=null,le=0;if(re==0?q=i.up:re==1?q=i.home:ne>L&&w[ne]==`
177`?q=i.end:re<k&&w[re-1]==" "?(q=i.left,le=s.option):re<k||re==k&&L!=k&&re==ne?q=i.left:ne>L&&w.slice(0,ne).split(`
178`).length>2?q=i.down:ne>L&&w[ne-1]==" "?(q=i.right,le=s.option):(ne>L||ne==L&&L!=k&&re==ne)&&(q=i.right),re!==ne&&(le|=s.shift),q){var ge=Y.onCommandKey({},le,q);if(!ge&&Y.commands){q=i.keyCodeToString(q);var ke=Y.commands.findKeyCommand(le,q);ke&&Y.execCommand(ke)}k=re,L=ne,F("")}}};document.addEventListener("selectionchange",ie),Y.on("destroy",function(){document.removeEventListener("selectionchange",ie)})}this.destroy=function(){$.parentElement&&$.parentElement.removeChild($)}},S.TextInput=m,S.$setUserAgentForTests=function(p,g){v=p,l=g}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(b,S,N){var A=b("../lib/useragent"),x=0,y=550,a=function(){function r(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(i){n[i]=this[i]},this),n.selectByLines=this.extendSelectionBy.bind(n,"getLineRange"),n.selectByWords=this.extendSelectionBy.bind(n,"getWordRange")}return r.prototype.onMouseDown=function(n){var t=n.inSelection(),e=n.getDocumentPosition();this.mousedownEvent=n;var i=this.editor,s=n.getButton();if(s!==0){var l=i.getSelectionRange(),h=l.isEmpty();(h||s==1)&&i.selection.moveToPosition(e),s==2&&(i.textInput.onContextMenu(n.domEvent),A.isMozilla||n.preventDefault());return}if(this.mousedownEvent.time=Date.now(),t&&!i.isFocused()&&(i.focus(),this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(n);return}return this.captureMouse(n),this.startSelect(e,n.domEvent._clicks>1),n.preventDefault()},r.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"))},r.prototype.select=function(){var n,t=this.editor,e=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var i=this.$clickSelection.comparePoint(e);if(i==-1)n=this.$clickSelection.end;else if(i==1)n=this.$clickSelection.start;else{var s=o(this.$clickSelection,e);e=s.cursor,n=s.anchor}t.selection.setSelectionAnchor(n.row,n.column)}t.selection.selectToPosition(e),t.renderer.scrollCursorIntoView()},r.prototype.extendSelectionBy=function(n){var t,e=this.editor,i=e.renderer.screenToTextCoordinates(this.x,this.y),s=e.selection[n](i.row,i.column);if(this.$clickSelection){var l=this.$clickSelection.comparePoint(s.start),h=this.$clickSelection.comparePoint(s.end);if(l==-1&&h<=0)t=this.$clickSelection.end,(s.end.row!=i.row||s.end.column!=i.column)&&(i=s.start);else if(h==1&&l>=0)t=this.$clickSelection.start,(s.start.row!=i.row||s.start.column!=i.column)&&(i=s.end);else if(l==-1&&h==1)i=s.end,t=s.start;else{var v=o(this.$clickSelection,i);i=v.cursor,t=v.anchor}e.selection.setSelectionAnchor(t.row,t.column)}e.selection.selectToPosition(i),e.renderer.scrollCursorIntoView()},r.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")}
178,r.prototype.focusWait=function(){var n=c(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(n>x||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},r.prototype.onDoubleClick=function(n){var t=n.getDocumentPosition(),e=this.editor,i=e.session,s=i.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()},r.prototype.onTripleClick=function(n){var t=n.getDocumentPosition(),e=this.editor;this.setState("selectByLines");var i=e.getSelectionRange();i.isMultiLine()&&i.contains(t.row,t.column)?(this.$clickSelection=e.selection.getLineRange(i.start.row),this.$clickSelection.end=e.selection.getLineRange(i.end.row).end):this.$clickSelection=e.selection.getLineRange(t.row),this.select()},r.prototype.onQuadClick=function(n){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},r.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,i=n.domEvent.timeStamp,s=i-e.t,l=s?n.wheelX/s:e.vx,h=s?n.wheelY/s:e.vy;s<y&&(l=(l+e.vx)/2,h=(h+e.vy)/2);var v=Math.abs(l/h),m=!1;if(v>=1&&t.renderer.isScrollableBy(n.wheelX*n.speed,0)&&(m=!0),v<=1&&t.renderer.isScrollableBy(0,n.wheelY*n.speed)&&(m=!0),m)e.allowed=i;else if(i-e.allowed<y){var p=Math.abs(l)<=1.5*Math.abs(e.vx)&&Math.abs(h)<=1.5*Math.abs(e.vy);p?(m=!0,e.allowed=i):e.allowed=0}if(e.t=i,e.vx=l,e.vy=h,m)return t.renderer.scrollBy(n.wheelX*n.speed,n.wheelY*n.speed),n.stop()}},r}();a.prototype.selectEnd=a.prototype.selectByLinesEnd,a.prototype.selectAllEnd=a.prototype.selectByLinesEnd,a.prototype.selectByWordsEnd=a.prototype.selectByLinesEnd,S.DefaultHandlers=a;function c(r,n,t,e){return Math.sqrt(Math.pow(t-r,2)+Math.pow(e-n,2))}function o(r,n){if(r.start.row==r.end.row)var t=2*n.column-r.start.column-r.end.column;else if(r.start.row==r.end.row-1&&!r.start.column&&!r.end.column)var t=n.column-4;else var t=2*n.row-r.start.row-r.end.row;return t<0?{cursor:r.start,anchor:r.end}:{cursor:r.end,anchor:r.start}}}),ace.define("ace/lib/scroll",["require","exports","module"],function(b,S,N){S.preventParentScroll=function(x){x.stopPropagation();var y=x.currentTarget,a=y.scrollHeight>y.clientHeight;a||x.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(b,S,N){var A=this&&this.__extends||function(){var i=function(s,l){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,v){h.__proto__=v}||function(h,v){for(var m in v)Object.prototype.hasOwnProperty.call(v,m)&&(h[m]=v[m])},i(s,l)};return function(s,l){if(typeof l!="function"&&l!==null)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");i(s,l);function h(){this.constructor=s}s.prototype=l===null?Object.create(l):(h.prototype=l.prototype,new h)}}(),x=this&&this.__values||function(i){var s=typeof Symbol=="function"&&Symbol.iterator,l=s&&i[s],h=0;if(l)return l.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&h>=i.length&&(i=void 0),{value:i&&i[h++],done:!i}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},y=b("./lib/dom");b("./lib/event");var a=b("./range").Range,c=b("./lib/scroll").preventParentScroll,o="ace_tooltip",r=function(){function i(s){this.isOpen=!1,this.$element=null,this.$parentNode=s}return i.prototype.$init=function(){return this.$element=y.createElement("div"),this.$element.className=o,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},i.prototype.getElement=function(){return this.$element||this.$init()},i.prototype.setText=function(s){this.getElement().textContent=s},i.prototype.setHtml=function(s){this.getElement().innerHTML=s},i.prototype.setPosition=function(s,l){this.getElement().style.left=s+"px",this.getElement().style.top=l+"px"},i.prototype.setClassName=function(s){y.addCssClass(this.getElement(),s)},i.prototype.setTheme=function(s){this.$element.className=o+" "+(s.isDark?"ace_dark ":"")+(s.cssClass||"")},i.prototype.show=function(s,l,h){s!=null&&this.setText(s),l!=null&&h!=null&&this.setPosition(l,h),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},i.prototype.hide=function(s){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=o,this.isOpen=!1)},i.prototype.getHeight=function(){return this.getElement().offsetHeight},i.prototype.getWidth=function(){return this.getElement().offsetWidth},i.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},i}(),n=function(){function i(){this.popups=[]}return i.prototype.addPopup=function(s){this.popups.push(s),this.updatePopups()},i.prototype.removePopup=function(s){var l=this.popups.indexOf(s);l!==-1&&(this.popups.splice(l,1),this.updatePopups())},i.prototype.updatePopups=function(){var s,l,h,v;this.popups.sort(function(d,u){return u.priority-d.priority});var m=[];try{for(var p=x(this.popups),g=p.next();!g.done;g=p.next()){var $=g.value,T=!0;try{for(var M=(h=void 0,x(m)),C=M.next();!C.done;C=M.next()){var E=C.value;if(this.doPopupsOverlap(E,$)){T=!1;break}}}catch(d){h={error:d}}finally{try{C&&!C.done&&(v=M.return)&&v.call(M)}finally{if(h)throw h.error}}T?m.push($):$.hide()}}catch(d){s={error:d}}finally{try{g&&!g.done&&(l=p.return)&&l.call(p)}finally{if(s)throw s.error}}},i.prototype.doPopupsOverlap=function(s,l){var h=s.getElement().getBoundingClientRect(),v=l.getElement().getBoundingClientRect();return h.left<v.right&&h.right>v.left&&h.top<v.bottom&&h.bottom>v.top},i}(),t=new n;S.popupManager=t,S.Tooltip=r;var e=function(i){A(s,i);function s(l){l===void 0&&(l=document.body);var h=i.call(this,l)||this;h.timeout=void 0,h.lastT=0,h.idleTime=350,h.lastEvent=void 0,h.onMouseOut=h.onMouseOut.bind(h),h.onMouseMove=h.onMouseMove.bind(h),h.waitForHover=h.waitForHover.bind(h),h.hide=h.hide.bind(h);var v=h.getElement();return v.style.whiteSpace="pre-wrap",v.style.pointerEvents="auto",v.addEventListener("mouseout",h.onMouseOut),v.tabIndex=-1,v.addEventListener("blur",(function(){v.contains(document.activeElement)||this.hide()}).bind(h)),v.addEventListener("wheel",c),h}return s.prototype.addToEditor=function(l){l.on("mousemove",this.onMouseMove),l.on("mousedown",this.hide),l.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},s.prototype.removeFromEditor=function(l){l.off("mousemove",this.onMouseMove),l.off("mousedown",this.hide),l.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},s.prototype.onMouseMove=function(l,h){this.lastEvent=l,this.lastT=Date.now();var v=h.$mouseHandler.isMousePressed;if(this.isOpen){var m=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(m.row,m.column)||v||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||v||(this.lastEvent=l,this.timeout=setTimeout(this.waitForHover,this.idleTime))},s.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var l=Date.now()-this.lastT;if(this.idleTime-l>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-l);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},s.prototype.isOutsideOfText=function(l){var h=l.editor,v=l.getDocumentPosition(),m=h.session.getLine(v.row);if(v.column==m.length){var p=h.renderer.pixelToScreenCoordinates(l.clientX,l.clientY),g=h.session.documentToScreenPosition(v.row,v.column);if(g.column!=p.column||g.row!=p.row)return!0}return!1},s.prototype.setDataProvider=function(l){this.$gatherData=l},s.prototype.showForRange=function(l,h,v,m){var p=10;if(!(m&&m!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var g=l.renderer;this.isOpen||(t.addPopup(this),this.$registerCloseEvents(),this.setTheme(g.theme)),this.isOpen=!0,this.addMarker(h,l.session),this.range=a.fromPoints(h.start,h.end);var $=g.textToScreenCoordinates(h.start.row,h.start.column),T=g.scroller.getBoundingClientRect();$.pageX<T.left&&($.pageX=T.left);var M=this.getElement();M.innerHTML="",M.appendChild(v),M.style.maxHeight="",M.style.display="block";var C=M.clientHeight,E=M.clientWidth,d=window.innerHeight-$.pageY-g.lineHeight,u=!0;$.pageY-C<0&&$.pageY<d&&(u=!1),M.style.maxHeight=(u?$.pageY:d)-p+"px",M.style.top=u?"":$.pageY+g.lineHeight+"px",M.style.bottom=u?window.innerHeight-$.pageY+"px":"",M.style.left=Math.min($.pageX,window.innerWidth-E-p)+"px"}},s.prototype.addMarker=function(l,h){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=h,this.marker=h&&h.addMarker(l,"ace_highlight-marker","text")},s.prototype.hide=function(l){!l&&document.activeElement==this.getElement()||l&&l.target&&(l.type!="keydown"||l.ctrlKey||l.metaKey)&&this.$element.contains(l.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(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(l){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!l.relatedTarget||this.getElement().contains(l.relatedTarget)||l&&l.currentTarget.contains(l.relatedTarget)||l.relatedTarget.classList.contains("ace_content")||this.hide())},s}(r);S.HoverTooltip=e}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config","ace/lib/lang"],function(b,S,N){var A=this&&this.__extends||function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,l){s.__proto__=l}||function(s,l){for(var h in l)Object.prototype.hasOwnProperty.call(l,h)&&(s[h]=l[h])},t(e,i)};return function(e,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");
178t(e,i);function s(){this.constructor=e}e.prototype=i===null?Object.create(i):(s.prototype=i.prototype,new s)}}(),x=this&&this.__values||function(t){var e=typeof Symbol=="function"&&Symbol.iterator,i=e&&t[e],s=0;if(i)return i.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&s>=t.length&&(t=void 0),{value:t&&t[s++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},y=b("../lib/dom"),a=b("../lib/event"),c=b("../tooltip").Tooltip,o=b("../config").nls;b("../lib/lang");function r(t){var e=t.editor,i=e.renderer.$gutterLayer,s=new n(e);t.editor.setDefaultHandler("guttermousedown",function(g){if(!(!e.isFocused()||g.getButton()!=0)){var $=i.getRegion(g);if($!="foldWidgets"){var T=g.getDocumentPosition().row,M=e.session.selection;if(g.getShiftKey())M.selectTo(T,0);else{if(g.domEvent.detail==2)return e.selectAll(),g.preventDefault();t.$clickSelection=e.selection.getLineRange(T)}return t.setState("selectByLines"),t.captureMouse(g),g.preventDefault()}}});var l,h;function v(){var g=h.getDocumentPosition().row,$=e.session.getLength();if(g==$){var T=e.renderer.pixelToScreenCoordinates(0,h.y).row,M=h.$pos;if(T>e.session.documentToScreenRow(M.row,M.column))return m()}if(s.showTooltip(g),!!s.isOpen)if(e.on("mousewheel",m),t.$tooltipFollowsMouse)p(h);else{var C=h.getGutterRow(),E=i.$lines.get(C);if(E){var d=E.element.querySelector(".ace_gutter_annotation"),u=d.getBoundingClientRect(),f=s.getElement().style;f.left=u.right+"px",f.top=u.bottom+"px"}else p(h)}}function m(){l&&(l=clearTimeout(l)),s.isOpen&&(s.hideTooltip(),e.off("mousewheel",m))}function p(g){s.setPosition(g.x,g.y)}t.editor.setDefaultHandler("guttermousemove",function(g){var $=g.domEvent.target||g.domEvent.srcElement;if(y.hasCssClass($,"ace_fold-widget"))return m();s.isOpen&&t.$tooltipFollowsMouse&&p(g),h=g,!l&&(l=setTimeout(function(){l=null,h&&!t.isMousePressed?v():m()},50))}),a.addListener(e.renderer.$gutter,"mouseout",function(g){h=null,!(!s.isOpen||l)&&(l=setTimeout(function(){l=null,m()},50))},e),e.on("changeSession",m),e.on("input",m)}S.GutterHandler=r;var n=function(t){A(e,t);function e(i){var s=t.call(this,i.container)||this;return s.editor=i,s}return e.prototype.setPosition=function(i,s){var l=window.innerWidth||document.documentElement.clientWidth,h=window.innerHeight||document.documentElement.clientHeight,v=this.getWidth(),m=this.getHeight();i+=15,s+=15,i+v>l&&(i-=i+v-l),s+m>h&&(s-=20+m),c.prototype.setPosition.call(this,i,s)},Object.defineProperty(e,"annotationLabels",{get:function(){return{error:{singular:o("gutter-tooltip.aria-label.error.singular","error"),plural:o("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:o("gutter-tooltip.aria-label.security.singular","security finding"),plural:o("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:o("gutter-tooltip.aria-label.warning.singular","warning"),plural:o("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:o("gutter-tooltip.aria-label.info.singular","information message"),plural:o("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:o("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:o("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),e.prototype.showTooltip=function(i){var s,l=this.editor.renderer.$gutterLayer,h=l.$annotations[i],v;h?v={displayText:Array.from(h.displayText),type:Array.from(h.type)}:v={displayText:[],type:[]};var m=l.session.getFoldLine(i);if(m&&l.$showFoldedAnnotations){for(var p={error:[],security:[],warning:[],info:[],hint:[]},g={error:1,security:2,warning:3,info:4,hint:5},$,T=i+1;T<=m.end.row;T++)if(l.$annotations[T])for(var M=0;M<l.$annotations[T].text.length;
178M++){var C=l.$annotations[T].type[M];p[C].push(l.$annotations[T].text[M]),(!$||g[C]<g[$])&&($=C)}if(["error","security","warning"].includes($)){var E="".concat(e.annotationsToSummaryString(p)," in folded code.");v.displayText.push(E),v.type.push($+"_fold")}}if(v.displayText.length===0)return this.hide();for(var d={error:[],security:[],warning:[],info:[],hint:[]},u=l.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",T=0;T<v.displayText.length;T++){var f=y.createElement("span"),w=y.createElement("span");(s=w.classList).add.apply(s,["ace_".concat(v.type[T]),u]),w.setAttribute("aria-label","".concat(e.annotationLabels[v.type[T].replace("_fold","")].singular)),w.setAttribute("role","img"),w.appendChild(y.createTextNode(" ")),f.appendChild(w),f.appendChild(y.createTextNode(v.displayText[T])),f.appendChild(y.createElement("br")),d[v.type[T].replace("_fold","")].push(f)}var k=this.getElement();y.removeChildren(k),d.error.forEach(function(L){return k.appendChild(L)}),d.security.forEach(function(L){return k.appendChild(L)}),d.warning.forEach(function(L){return k.appendChild(L)}),d.info.forEach(function(L){return k.appendChild(L)}),d.hint.forEach(function(L){return k.appendChild(L)}),k.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.editor._signal("showGutterTooltip",this)},e.prototype.hideTooltip=function(){this.$element.removeAttribute("aria-live"),this.hide(),this.editor._signal("hideGutterTooltip",this)},e.annotationsToSummaryString=function(i){var s,l,h=[],v=["error","security","warning","info","hint"];try{for(var m=x(v),p=m.next();!p.done;p=m.next()){var g=p.value;if(i[g].length){var $=i[g].length===1?e.annotationLabels[g].singular:e.annotationLabels[g].plural;h.push("".concat(i[g].length," ").concat($))}}}catch(T){s={error:T}}finally{try{p&&!p.done&&(l=m.return)&&l.call(m)}finally{if(s)throw s.error}}return h.join(", ")},e}(c);S.GutterTooltip=n}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(b,S,N){var A=b("../lib/event"),x=b("../lib/useragent"),y=function(){function a(c,o){this.speed,this.wheelX,this.wheelY,this.domEvent=c,this.editor=o,this.x=this.clientX=c.clientX,this.y=this.clientY=c.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return a.prototype.stopPropagation=function(){A.stopPropagation(this.domEvent),this.propagationStopped=!0},a.prototype.preventDefault=function(){A.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 c=this.getDocumentPosition().row,o=this.editor.session.documentToScreenRow(c,0),r=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return o-r},a.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var c=this.editor,o=c.getSelectionRange();if(o.isEmpty())this.$inSelection=!1;else{var r=this.getDocumentPosition();this.$inSelection=o.contains(r.row,r.column)}return this.$inSelection},a.prototype.getButton=function(){return A.getButton(this.domEvent)},a.prototype.getShiftKey=function(){return this.domEvent.shiftKey},a.prototype.getAccelKey=function(){return x.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},a}();S.MouseEvent=y}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(b,S,N){var A=b("../lib/dom"),x=b("../lib/event"),y=b("../lib/useragent"),a=200,c=200,o=5;function r(t){var e=t.editor,i=A.createElement("div");i.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",i.textContent=" ";var s=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];s.forEach(function(D){t[D]=this[D]},this),e.on("mousedown",this.onMouseDown.bind(t));var l=e.container,h,v,m,p,g,$,T=0,M,C,E,d,u;this.onDragStart=function(D){if(this.cancelDrag||!l.draggable){var F=this;return setTimeout(function(){F.startSelect(),F.captureMouse(D)},0),D.preventDefault()}g=e.getSelectionRange();var B=D.dataTransfer;B.effectAllowed=e.getReadOnly()?"copy":"copyMove",e.container.appendChild(i),B.setDragImage&&B.setDragImage(i,0,0),setTimeout(function(){e.container.removeChild(i)}),B.clearData(),B.setData("Text",e.session.getTextRange()),C=!0,this.setState("drag")},this.onDragEnd=function(D){if(l.draggable=!1,C=!1,this.setState(null),!e.getReadOnly()){var F=D.dataTransfer.dropEffect;!M&&F=="move"&&e.session.remove(e.getSelectionRange()),e.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(D){if(!(e.getReadOnly()||!O(D.dataTransfer)))return v=D.clientX,m=D.clientY,h||L(),T++,D.dataTransfer.dropEffect=M=z(D
178),x.preventDefault(D)},this.onDragOver=function(D){if(!(e.getReadOnly()||!O(D.dataTransfer)))return v=D.clientX,m=D.clientY,h||(L(),T++),R!==null&&(R=null),D.dataTransfer.dropEffect=M=z(D),x.preventDefault(D)},this.onDragLeave=function(D){if(T--,T<=0&&h)return _(),M=null,x.preventDefault(D)},this.onDrop=function(D){if($){var F=D.dataTransfer;if(C)switch(M){case"move":g.contains($.row,$.column)?g={start:$,end:$}:g=e.moveText(g,$);break;case"copy":g=e.moveText(g,$,!0);break}else{var B=F.getData("Text");g={start:$,end:e.session.insert($,B)},e.focus(),M=null}return _(),x.preventDefault(D)}},x.addListener(l,"dragstart",this.onDragStart.bind(t),e),x.addListener(l,"dragend",this.onDragEnd.bind(t),e),x.addListener(l,"dragenter",this.onDragEnter.bind(t),e),x.addListener(l,"dragover",this.onDragOver.bind(t),e),x.addListener(l,"dragleave",this.onDragLeave.bind(t),e),x.addListener(l,"drop",this.onDrop.bind(t),e);function f(D,F){var B=Date.now(),W=!F||D.row!=F.row,j=!F||D.column!=F.column;if(!d||W||j)e.moveCursorToPosition(D),d=B,u={x:v,y:m};else{var G=n(u.x,u.y,v,m);G>o?d=null:B-d>=c&&(e.renderer.scrollCursorIntoView(),d=null)}}function w(D,F){var B=Date.now(),W=e.renderer.layerConfig.lineHeight,j=e.renderer.layerConfig.characterWidth,G=e.renderer.scroller.getBoundingClientRect(),K={x:{left:v-G.left,right:G.right-v},y:{top:m-G.top,bottom:G.bottom-m}},V=Math.min(K.x.left,K.x.right),Q=Math.min(K.y.top,K.y.bottom),ee={row:D.row,column:D.column};V/j<=2&&(ee.column+=K.x.left<K.x.right?-3:2),Q/W<=1&&(ee.row+=K.y.top<K.y.bottom?-1:1);var ae=D.row!=ee.row,se=D.column!=ee.column,te=!F||D.row!=F.row;ae||se&&!te?E?B-E>=a&&e.renderer.scrollCursorIntoView(ee):E=B:E=null}function k(){var D=$;$=e.renderer.screenToTextCoordinates(v,m),f($,D),w($,D)}function L(){g=e.selection.toOrientedRange(),h=e.session.addMarker(g,"ace_selection",e.getSelectionStyle()),e.clearSelection(),e.isFocused()&&e.renderer.$cursorLayer.setBlinking(!1),clearInterval(p),k(),p=setInterval(k,20),T=0,x.addListener(document,"mousemove",I)}function _(){clearInterval(p),e.session.removeMarker(h),h=null,e.selection.fromOrientedRange(g),e.isFocused()&&!C&&e.$resetCursorStyle(),g=null,$=null,T=0,E=null,d=null,x.removeListener(document,"mousemove",I)}var R=null;function I(){R==null&&(R=setTimeout(function(){R!=null&&h&&_()},20))}function O(D){var F=D.types;return!F||Array.prototype.some.call(F,function(B){return B=="text/plain"||B=="Text"})}function z(D){var F=["copy","copymove","all","uninitialized"],B=["move","copymove","linkmove","all","uninitialized"],W=y.isMac?D.altKey:D.ctrlKey,j="uninitialized";try{j=D.dataTransfer.effectAllowed.toLowerCase()}catch{}var G="none";return W&&F.indexOf(j)>=0?G="copy":B.indexOf(j)>=0?G="move":F.indexOf(j)>=0&&(G="copy"),G}}(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 i=y.isWin?"default":"move";t.renderer.setCursorStyle(i),this.setState("dragReady")},this.onMouseDrag=function(t){var e=this.editor.container;if(y.isIE&&this.state=="dragReady"){var i=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);i>3&&e.dragDrop()}if(this.state==="dragWait"){var i=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);i>0&&(e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(t){if(this.$dragEnabled){this.mousedownEvent=t;var e=this.editor,i=t.inSelection(),s=t.getButton(),l=t.domEvent.detail||1;if(l===1&&s===0&&i){if(t.editor.inMultiSelectMode&&(t.getAccelKey()||t.getShiftKey()))return;this.mousedownEvent.time=Date.now();var h=t.domEvent.target||t.domEvent.srcElement;if("unselectable"in h&&(h.unselectable="on"),e.getDragDelay()){if(y.isWebKit){this.cancelDrag=!0;var v=e.container;v.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(t,this.onMouseDrag.bind(this)),t.defaultPrevented=!0}}}}).call(r.prototype);function n(t,e,i,s){return Math.sqrt(Math.pow(i-t,2)+Math.pow(s-e,2))}S.DragdropHandler=r}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(b,S,N){var A=b("./mouse_event").MouseEvent,x=b("../lib/event"),y=b("../lib/dom");S.addTouchListeners=function(a,c){var o="scroll",r,n,t,e,i,s,l=0,h,v=0,m=0,p=0,g,$;function T(){var f=window.navigator&&window.navigator.clipboard,w=!1,k=function(){var R=c.getCopyText(),I=c.session.getUndoManager().hasUndo();$.replaceChild(y.buildDom(w?["span",!R&&L("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],R&&L("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],R&&L("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],f&&L("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],I&&L("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],L("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],L("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),$.firstChild)},L=function(R){return c.commands.canExecute(R,c)},_=function(R){var I=R.target.getAttribute("action");if(I=="more"||!w)return w=!w,k();I=="paste"?f.readText().then(function(O){c.execCommand(I,O)}):I&&((I=="cut"||I=="copy")&&(f?f.writeText(c.getCopyText()):document.execCommand("copy")),c.execCommand(I)),$.firstChild.style.display="none",w=!1,I!="openCommandPalette"&&c.focus()};$=y.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(R){o="menu",R.stopPropagation(),R.preventDefault(),c.textInput.focus()},ontouchend:function(R){R.stopPropagation(),R.preventDefault(),_(R)},onclick:_},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],c.container)}function M(){if(!c.getOption("enableMobileMenu")){$&&C();return}$||T();var f=c.selection.cursor,w=c.renderer.textToScreenCoordinates(f.row,f.column),k=c.renderer.textToScreenCoordinates(0,0).pageX,L=c.renderer.scrollLeft,_=c.container.getBoundingClientRect();$.style.top=w.pageY-_.top-3+"px",w.pageX-_.left<_.width-70?($.style.left="",$.style.right="10px"):($.style.right="",$.style.left=k+L-_.left+"px"),$.style.display="",$.firstChild.style.display="none",c.on("input",C)}function C(f){$&&($.style.display="none"),c.off("input",C)}
178function E(){i=null,clearTimeout(i);var f=c.selection.getRange(),w=f.contains(h.row,h.column);(f.isEmpty()||!w)&&(c.selection.moveToPosition(h),c.selection.selectWord()),o="wait",M()}function d(){i=null,clearTimeout(i),c.selection.moveToPosition(h);var f=v>=2?c.selection.getLineRange(h.row):c.session.getBracketRange(h);f&&!f.isEmpty()?c.selection.setRange(f):c.selection.selectWord(),o="wait"}x.addListener(a,"contextmenu",function(f){if(g){var w=c.textInput.getElement();w.focus()}},c),x.addListener(a,"touchstart",function(f){var w=f.touches;if(i||w.length>1){clearTimeout(i),i=null,t=-1,o="zoom";return}g=c.$mouseHandler.isMousePressed=!0;var k=c.renderer.layerConfig.lineHeight,L=c.renderer.layerConfig.lineHeight,_=f.timeStamp;e=_;var R=w[0],I=R.clientX,O=R.clientY;Math.abs(r-I)+Math.abs(n-O)>k&&(t=-1),r=f.clientX=I,n=f.clientY=O,m=p=0;var z=new A(f,c);if(h=z.getDocumentPosition(),_-t<500&&w.length==1&&!l)v++,f.preventDefault(),f.button=0,d();else{v=0;var D=c.selection.cursor,F=c.selection.isEmpty()?D:c.selection.anchor,B=c.renderer.$cursorLayer.getPixelPosition(D,!0),W=c.renderer.$cursorLayer.getPixelPosition(F,!0),j=c.renderer.scroller.getBoundingClientRect(),G=c.renderer.layerConfig.offset,K=c.renderer.scrollLeft,V=function(ae,se){return ae=ae/L,se=se/k-.75,ae*ae+se*se};if(f.clientX<j.left){o="zoom";return}var Q=V(f.clientX-j.left-B.left+K,f.clientY-j.top-B.top+G),ee=V(f.clientX-j.left-W.left+K,f.clientY-j.top-W.top+G);Q<3.5&&ee<3.5&&(o=Q>ee?"cursor":"anchor"),ee<3.5?o="anchor":Q<3.5?o="cursor":o="scroll",i=setTimeout(E,450)}t=_},c),x.addListener(a,"touchend",function(f){g=c.$mouseHandler.isMousePressed=!1,s&&clearInterval(s),o=="zoom"?(o="",l=0):i?(c.selection.moveToPosition(h),l=0,M()):o=="scroll"?(u(),C()):M(),clearTimeout(i),i=null},c),x.addListener(a,"touchmove",function(f){i&&(clearTimeout(i),i=null);var w=f.touches;if(!(w.length>1||o=="zoom")){var k=w[0],L=r-k.clientX,_=n-k.clientY;if(o=="wait")if(L*L+_*_>4)o="cursor";else return f.preventDefault();r=k.clientX,n=k.clientY,f.clientX=k.clientX,f.clientY=k.clientY;var R=f.timeStamp,I=R-e;if(e=R,o=="scroll"){var O=new A(f,c);O.speed=1,O.wheelX=L,O.wheelY=_,10*Math.abs(L)<Math.abs(_)&&(L=0),10*Math.abs(_)<Math.abs(L)&&(_=0),I!=0&&(m=L/I,p=_/I),c._emit("mousewheel",O),O.propagationStopped||(m=p=0)}else{var z=new A(f,c),D=z.getDocumentPosition();o=="cursor"?c.selection.moveCursorToPosition(D):o=="anchor"&&c.selection.setSelectionAnchor(D.row,D.column),c.renderer.scrollCursorIntoView(D),f.preventDefault()}}},c);function u(){l+=60,s=setInterval(function(){l--<=0&&(clearInterval(s),s=null),Math.abs(m)<.01&&(m=0),Math.abs(p)<.01&&(p=0),l<20&&(m=.9*m),l<20&&(p=.9*p);var f=c.session.getScrollTop();c.renderer.scrollBy(10*m,10*p),f==c.session.getScrollTop()&&(l=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(b,S,N){var A=b("../lib/event"),x=b("../lib/useragent"),y=b("./default_handlers").DefaultHandlers,a=b("./default_gutter_handler").GutterHandler,c=b("./mouse_event").MouseEvent,o=b("./dragdrop_handler").DragdropHandler,r=b("./touch_handler").addTouchListeners,n=b("../config"),t=function(){function e(i){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var s=this;this.editor=i,new y(this),new a(this),new o(this);var l=function(m){var p=!document.hasFocus||!document.hasFocus()||!i.isFocused()&&document.activeElement==(i.textInput&&i.textInput.getElement());p&&window.focus(),i.focus(),setTimeout(function(){i.isFocused()||i.focus()})},h=i.renderer.getMouseEventTarget();A.addListener(h,"click",this.onMouseEvent.bind(this,"click"),i),A.addListener(h,"mousemove",this.onMouseMove.bind(this,"mousemove"),i),A.addMultiMouseDownListener([h,i.renderer.scrollBarV&&i.renderer.scrollBarV.inner,i.renderer.scrollBarH&&i.renderer.scrollBarH.inner,i.textInput&&i.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",i),A.addMouseWheelListener(i.container,this.onMouseWheel.bind(this,"mousewheel"),i),r(i.container,i);var v=i.renderer.$gutter;A.addListener(v,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),i),A.addListener(v,"click",this.onMouseEvent.bind(this,"gutterclick"),i),A.addListener(v,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),i),A.addListener(v,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),i),A.addListener(h,"mousedown",l,i),A.addListener(v,"mousedown",l,i),x.isIE&&i.renderer.scrollBarV&&(A.addListener(i.renderer.scrollBarV.element,"mousedown",l,i),A.addListener(i.renderer.scrollBarH.element,"mousedown",l,i)),i.on("mousemove",function(m){if(!(s.state||s.$dragDelay||!s.$dragEnabled)){var p=i.renderer.screenToTextCoordinates(m.x,m.y),g=i.session.selection.getRange(),$=i.renderer;!g.isEmpty()&&g.insideStart(p.row,p.column)?$.setCursorStyle("default"):$.setCursorStyle("")}},i)}return e.prototype.onMouseEvent=function(i,s){this.editor.session&&this.editor._emit(i,new c(s,this.editor))},e.prototype.onMouseMove=function(i,s){var l=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!l||!l.length||this.editor._emit(i,new c(s,this.editor))},e.prototype.onMouseWheel=function(i,s){var l=new c(s,this.editor);l.speed=this.$scrollSpeed*2,l.wheelX=s.wheelX,l.wheelY=s.wheelY,this.editor._emit(i,l)},e.prototype.setState=function(i){this.state=i},e.prototype.captureMouse=function(i,s){this.x=i.x,this.y=i.y,this.isMousePressed=!0;var l=this.editor,h=this.editor.renderer;h.$isMousePressed=!0;var v=this,m=function(M){if(M){if(x.isWebKit&&!M.which&&v.releaseMouse)return v.releaseMouse();
178v.x=M.clientX,v.y=M.clientY,s&&s(M),v.mouseEvent=new c(M,v.editor),v.$mouseMoved=!0}},p=function(M){l.off("beforeEndOperation",$),clearInterval(T),l.session&&g(),v[v.state+"End"]&&v[v.state+"End"](M),v.state="",v.isMousePressed=h.$isMousePressed=!1,h.$keepTextAreaAtCursor&&h.$moveTextAreaToCursor(),v.$onCaptureMouseMove=v.releaseMouse=null,M&&v.onMouseEvent("mouseup",M),l.endOperation()},g=function(){v[v.state]&&v[v.state](),v.$mouseMoved=!1};if(x.isOldIE&&i.domEvent.type=="dblclick")return setTimeout(function(){p(i)});var $=function(M){v.releaseMouse&&l.curOp.command.name&&l.curOp.selectionChanged&&(v[v.state+"End"]&&v[v.state+"End"](),v.state="",v.releaseMouse())};l.on("beforeEndOperation",$),l.startOperation({command:{name:"mouse"}}),v.$onCaptureMouseMove=m,v.releaseMouse=A.capture(this.editor.container,m,p);var T=setInterval(g,20)},e.prototype.cancelContextMenu=function(){var i=(function(s){s&&s.domEvent&&s.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",i),s&&s.domEvent&&A.stopEvent(s.domEvent))}).bind(this);setTimeout(i,10),this.editor.on("nativecontextmenu",i)},e.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},e}();t.prototype.releaseMouse=null,n.defineOptions(t.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:x.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),S.MouseHandler=t}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(b,S,N){var A=b("../lib/dom"),x=function(){function y(a){a.on("click",function(c){var o=c.getDocumentPosition(),r=a.session,n=r.getFoldAt(o.row,o.column,1);n&&(c.getAccelKey()?r.removeFold(n):r.expandFold(n),c.stop());var t=c.domEvent&&c.domEvent.target;t&&A.hasCssClass(t,"ace_inline_button")&&A.hasCssClass(t,"ace_toggle_wrap")&&(r.setOption("wrap",!r.getUseWrapMode()),a.renderer.scrollCursorIntoView())}),a.on("gutterclick",function(c){var o=a.renderer.$gutterLayer.getRegion(c);if(o=="foldWidgets"){var r=c.getDocumentPosition().row,n=a.session;n.foldWidgets&&n.foldWidgets[r]&&a.session.onFoldWidgetClick(r,c),a.isFocused()||a.focus(),c.stop()}}),a.on("gutterdblclick",function(c){var o=a.renderer.$gutterLayer.getRegion(c);if(o=="foldWidgets"){var r=c.getDocumentPosition().row,n=a.session,t=n.getParentFoldRangeData(r,!0),e=t.range||t.firstRange;if(e){r=e.start.row;var i=n.getFoldAt(r,n.getLine(r).length,1);i?n.removeFold(i):(n.addFold("...",e),a.renderer.scrollCursorIntoView({row:e.start.row,column:0}))}c.stop()}})}return y}();S.FoldHandler=x}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(b,S,N){var A=b("../lib/keys"),x=b("../lib/event"),y=function(){function a(c){this.$editor=c,this.$data={editor:c},this.$handlers=[],this.setDefaultHandler(c.commands)}return a.prototype.setDefaultHandler=function(c){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=c,this.addKeyboardHandler(c,0)},a.prototype.setKeyboardHandler=function(c){var o=this.$handlers;if(o[o.length-1]!=c){for(;o[o.length-1]&&o[o.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(o[o.length-1]);this.addKeyboardHandler(c,1)}},a.prototype.addKeyboardHandler=function(c,o){if(c){typeof c=="function"&&!c.handleKeyboard&&(c.handleKeyboard=c);var r=this.$handlers.indexOf(c);r!=-1&&this.$handlers.splice(r,1),o==null?this.$handlers.push(c):this.$handlers.splice(o,0,c),r==-1&&c.attach&&c.attach(this.$editor)}},a.prototype.removeKeyboardHandler=function(c){var o=this.$handlers.indexOf(c);return o==-1?!1:(this.$handlers.splice(o,1),c.detach&&c.detach(this.$editor),!0)},a.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},a.prototype.getStatusText=function(){var c=this.$data,o=c.editor;return this.$handlers.map(function(r){return r.getStatusText&&r.getStatusText(o,c)||""}).filter(Boolean).join(" ")},a.prototype.$callKeyboardHandlers=function(c,o,r,n){for(var t,e=!1,i=this.$editor.commands,s=this.$handlers.length;s--&&(t=this.$handlers[s].handleKeyboard(this.$data,c,o,r,n),!(!(!t||!t.command)&&(t.command=="null"?e=!0:e=i.exec(t.command,this.$editor,t.args,n),e&&n&&c!=-1&&t.passEvent!=!0&&t.command.passEvent!=!0&&x.stopEvent(n),e))););return!e&&c==-1&&(t={command:"insertstring"},e=i.exec("insertstring",this.$editor,o)),e&&this.$editor._signal&&this.$editor._signal("keyboardActivity",t),e},a.prototype.onCommandKey=function(c,o,r){var n=A.keyCodeToString(r);return this.$callKeyboardHandlers(o,n,r,c)},a.prototype.onTextInput=function(c){return this.$callKeyboardHandlers(-1,c)},a}();S.KeyBinding=y}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(b,S,N){var A=0,x=0,y=!1,a=!1,c=!1,o=[[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]],r=[[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,i=1,s=2,l=3,h=4,v=5,m=6,p=7,g=8,$=9,T=10,M=11,C=12,E=13,d=14,u=15,f=16,w=17,k=18,L=[k,k,k,k,k,k,k,k,k,m,v,m,g,v,k,k,k,k,k,k,k,k,k,k,k,k,k,k,v,v,v,m,g,h,h,M,M,M,h,h,h,h,h,T,$,T,$,$,s,s,s,s,s,s,s,s,s,s,$,h,h,h,h,h,h,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,h,h,h,h,h,h,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,h,h,h,h,k,k,k,k,k,k,v,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,$,h,M,M,M,M,h,h,h,h,e,h,h,k,h,h,M,M,s,s,h,e,h,h,h,s,e,h,h,h,h,h],_=[g,g,g,g,g,g,g,g,g,g,g,k,k,k,e,i,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,g,v,E,d,u,f,w,$,M,M,M,M,M,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,$,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,g];function R(D,F,B,W){var j=A?r:o,G=null,K=null,V=null,Q=0,ee=null,ae=null,se=-1,te=null,ce=null,he=[];if(!W)for(te=0,W=[];te<B;te++)W[te]=z(D[te]);for(x=A,y=!1,a=!1,c=!1,ce=0;ce<B;
178ce++){if(G=Q,he[ce]=K=O(D,W,he,ce),Q=j[G][K],ee=Q&240,Q&=15,F[ce]=V=j[Q][5],ee>0)if(ee==16){for(te=se;te<ce;te++)F[te]=1;se=-1}else se=-1;if(ae=j[Q][6],ae)se==-1&&(se=ce);else if(se>-1){for(te=se;te<ce;te++)F[te]=V;se=-1}W[ce]==v&&(F[ce]=0),x|=V}if(c){for(te=0;te<B;te++)if(W[te]==m){F[te]=A;for(var de=te-1;de>=0&&W[de]==g;de--)F[de]=A}}}function I(D,F,B){if(!(x<D)){if(D==1&&A==t&&!a){B.reverse();return}for(var W=B.length,j=0,G,K,V,Q;j<W;){if(F[j]>=D){for(G=j+1;G<W&&F[G]>=D;)G++;for(K=j,V=G-1;K<V;K++,V--)Q=B[K],B[K]=B[V],B[V]=Q;j=G}j++}}}function O(D,F,B,W){var j=F[W],G,K,V,Q;switch(j){case e:case i:y=!1;case h:case l:return j;case s:return y?l:s;case p:return y=!0,i;case g:return h;case $:return W<1||W+1>=F.length||(G=B[W-1])!=s&&G!=l||(K=F[W+1])!=s&&K!=l?h:(y&&(K=l),K==G?K:h);case T:return G=W>0?B[W-1]:v,G==s&&W+1<F.length&&F[W+1]==s?s:h;case M:if(W>0&&B[W-1]==s)return s;if(y)return h;for(Q=W+1,V=F.length;Q<V&&F[Q]==M;)Q++;return Q<V&&F[Q]==s?s:h;case C:for(V=F.length,Q=W+1;Q<V&&F[Q]==C;)Q++;if(Q<V){var ee=D[W],ae=ee>=1425&&ee<=2303||ee==64286;if(G=F[Q],ae&&(G==i||G==p))return i}return W<1||(G=F[W-1])==v?h:B[W-1];case v:return y=!1,a=!0,A;case m:return c=!0,h;case E:case d:case f:case w:case u:y=!1;case k:return h}}function z(D){var F=D.charCodeAt(0),B=F>>8;return B==0?F>191?e:L[F]:B==5?/[\u0591-\u05f4]/.test(D)?i:e:B==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(D)?C:/[\u0660-\u0669\u066b-\u066c]/.test(D)?l:F==1642?M:/[\u06f0-\u06f9]/.test(D)?s:p:B==32&&F<=8287?_[F&255]:B==254&&F>=65136?p:h}S.L=e,S.R=i,S.EN=s,S.ON_R=3,S.AN=4,S.R_H=5,S.B=6,S.RLE=7,S.DOT="·",S.doBidiReorder=function(D,F,B){if(D.length<2)return{};var W=D.split(""),j=new Array(W.length),G=new Array(W.length),K=[];A=B?t:n,R(W,K,W.length,F);for(var V=0;V<j.length;j[V]=V,V++);I(2,K,j),I(1,K,j);for(var V=0;V<j.length-1;V++)F[V]===l?K[V]=S.AN:K[V]===i&&(F[V]>p&&F[V]<E||F[V]===h||F[V]===k)?K[V]=S.ON_R:V>0&&W[V-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(W[V])&&(K[V-1]=K[V]=S.R_H,V++);W[W.length-1]===S.DOT&&(K[W.length-1]=S.B),W[0]==="‫"&&(K[0]=S.RLE);for(var V=0;V<j.length;V++)G[V]=K[j[V]];return{logicalFromVisual:j,bidiLevels:G}},S.hasBidiCharacters=function(D,F){for(var B=!1,W=0;W<D.length;W++)F[W]=z(D.charAt(W)),!B&&(F[W]==i||F[W]==p||F[W]==l)&&(B=!0);return B},S.getVisualFromLogicalIdx=function(D,F){for(var B=0;B<F.logicalFromVisual.length;B++)if(F.logicalFromVisual[B]==D)return B;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(b,S,N){var A=b("./lib/bidiutil"),x=b("./lib/lang"),y=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,a=function(){function c(o){this.session=o,this.bidiMap={},this.currentRow=null,this.bidiUtil=A,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=y.test(o.getValue())}return c.prototype.isBidiRow=function(o,r,n){return this.seenBidi?(o!==this.currentRow&&(this.currentRow=o,this.updateRowLine(r,n),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},c.prototype.onChange=function(o){this.seenBidi?this.currentRow=null:o.action=="insert"&&y.test(o.lines.join(`
179`))&&(this.seenBidi=!0,this.currentRow=null)},c.prototype.getDocumentRow=function(){var o=0,r=this.session.$screenRowCache;if(r.length){var n=this.session.$getRowCacheIndex(r,this.currentRow);n>=0&&(o=this.session.$docRowCache[n])}return o},c.prototype.getSplitIndex=function(){var o=0,r=this.session.$screenRowCache;if(r.length)for(var n,t=this.session.$getRowCacheIndex(r,this.currentRow);this.currentRow-o>0&&(n=this.session.$getRowCacheIndex(r,this.currentRow-o-1),n===t);)t=n,o++;else o=this.currentRow;return o},c.prototype.updateRowLine=function(o,r){o===void 0&&(o=this.getDocumentRow());var n=o===this.session.getLength()-1,t=n?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(o),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var e=this.session.$wrapData[o];e&&(r===void 0&&(r=this.getSplitIndex()),r>0&&e.length?(this.wrapIndent=e.indent,this.wrapOffset=this.wrapIndent*this.charWidths[A.L],this.line=r<e.length?this.line.substring(e[r-1],e[r]):this.line.substring(e[e.length-1])):this.line=this.line.substring(0,e[r]),r==e.length&&(this.line+=this.showInvisibles?t:A.DOT))}else this.line+=this.showInvisibles?t:A.DOT;var i=this.session,s=0,l;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(h,v){return h==="	"||i.isFullWidth(h.charCo
179deAt(0))?(l=h==="	"?i.getScreenTabSize(v+s):2,s+=l-1,x.stringRepeat(A.DOT,l)):h}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==A.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},c.prototype.updateBidiMap=function(){var o=[];A.hasBidiCharacters(this.line,o)||this.isRtlDir?this.bidiMap=A.doBidiReorder(this.line,o,this.isRtlDir):this.bidiMap={}},c.prototype.markAsDirty=function(){this.currentRow=null},c.prototype.updateCharacterWidths=function(o){if(this.characterWidth!==o.$characterSize.width){this.fontMetrics=o;var r=this.characterWidth=o.$characterSize.width,n=o.$measureCharWidth("ה");this.charWidths[A.L]=this.charWidths[A.EN]=this.charWidths[A.ON_R]=r,this.charWidths[A.R]=this.charWidths[A.AN]=n,this.charWidths[A.R_H]=n*.45,this.charWidths[A.B]=this.charWidths[A.RLE]=0,this.currentRow=null}},c.prototype.setShowInvisibles=function(o){this.showInvisibles=o,this.currentRow=null},c.prototype.setEolChar=function(o){this.EOL=o},c.prototype.setContentWidth=function(o){this.contentWidth=o},c.prototype.isRtlLine=function(o){return this.$isRtl?!0:o!=null?this.session.getLine(o).charAt(0)==this.RLE:this.isRtlDir},c.prototype.setRtlDirection=function(o,r){for(var n=o.getCursorPosition(),t=o.selection.getSelectionAnchor().row;t<=n.row;t++)!r&&o.session.getLine(t).charAt(0)===o.session.$bidiHandler.RLE?o.session.doc.removeInLine(t,0,1):r&&o.session.getLine(t).charAt(0)!==o.session.$bidiHandler.RLE&&o.session.doc.insert({column:0,row:t},o.session.$bidiHandler.RLE)},c.prototype.getPosLeft=function(o){o-=this.wrapIndent;var r=this.line.charAt(0)===this.RLE?1:0,n=o>r?this.session.getOverwrite()?o:o-1:r,t=A.getVisualFromLogicalIdx(n,this.bidiMap),e=this.bidiMap.bidiLevels,i=0;!this.session.getOverwrite()&&o<=r&&e[t]%2!==0&&t++;for(var s=0;s<t;s++)i+=this.charWidths[e[s]];return!this.session.getOverwrite()&&o>r&&e[t]%2===0&&(i+=this.charWidths[e[t]]),this.wrapIndent&&(i+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(i+=this.rtlLineOffset),i},c.prototype.getSelections=function(o,r){var n=this.bidiMap,t=n.bidiLevels,e,i=[],s=0,l=Math.min(o,r)-this.wrapIndent,h=Math.max(o,r)-this.wrapIndent,v=!1,m=!1,p=0;this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var g,$=0;$<t.length;$++)g=n.logicalFromVisual[$],e=t[$],v=g>=l&&g<h,v&&!m?p=s:!v&&m&&i.push({left:p,width:s-p}),s+=this.charWidths[e],m=v;if(v&&$===t.length&&i.push({left:p,width:s-p}),this.isRtlDir)for(var T=0;T<i.length;T++)i[T].left+=this.rtlLineOffset;return i},c.prototype.offsetToCol=function(n){this.isRtlDir&&(n-=this.rtlLineOffset);var r=0,n=Math.max(n,0),t=0,e=0,i=this.bidiMap.bidiLevels,s=this.charWidths[i[e]];for(this.wrapIndent&&(n-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);n>t+s/2;){if(t+=s,e===i.length-1){s=0;break}s=this.charWidths[i[++e]]}return e>0&&i[e-1]%2!==0&&i[e]%2===0?(n<t&&e--,r=this.bidiMap.logicalFromVisual[e]):e>0&&i[e-1]%2===0&&i[e]%2!==0?r=1+(n>t?this.bidiMap.logicalFromVisual[e]:this.bidiMap.logicalFromVisual[e-1]):this.isRtlDir&&e===i.length-1&&s===0&&i[e-1]%2===0||!this.isRtlDir&&e===0&&i[e]%2!==0?r=1+this.bidiMap.logicalFromVisual[e]:(e>0&&i[e-1]%2!==0&&s!==0&&e--,r=this.bidiMap.logicalFromVisual[e]),r===0&&this.isRtlDir&&r++,r+this.wrapIndent},c}();S.BidiHandler=a}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(b,S,N){var A=b("./lib/oop"),x=b("./lib/lang"),y=b("./lib/event_emitter").EventEmitter,a=b("./range").Range,c=function(){function o(r){this.session=r,this.doc=r.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 o.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},o.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},o.prototype.getCursor=function(){return this.lead.getPosition()},o.prototype.setAnchor=function(r,n){this.$isEmpty=!1,this.anchor.setPosition(r,n)}
vendor: 5,317 bytes, line 179
179,o.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},o.prototype.getSelectionLead=function(){return this.lead.getPosition()},o.prototype.isBackwards=function(){var r=this.anchor,n=this.lead;return r.row>n.row||r.row==n.row&&r.column>n.column},o.prototype.getRange=function(){var r=this.anchor,n=this.lead;return this.$isEmpty?a.fromPoints(n,n):this.isBackwards()?a.fromPoints(n,r):a.fromPoints(r,n)},o.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},o.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},o.prototype.setRange=function(r,n){var t=n?r.end:r.start,e=n?r.start:r.end;this.$setSelection(t.row,t.column,e.row,e.column)},o.prototype.$setSelection=function(r,n,t,e){if(!this.$silent){var i=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(r,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||i!=this.$isEmpty||s)&&this._emit("changeSelection")}},o.prototype.$moveSelection=function(r){var n=this.lead;this.$isEmpty&&this.setSelectionAnchor(n.row,n.column),r.call(this)},o.prototype.selectTo=function(r,n){this.$moveSelection(function(){this.moveCursorTo(r,n)})},o.prototype.selectToPosition=function(r){this.$moveSelection(function(){this.moveCursorToPosition(r)})},o.prototype.moveTo=function(r,n){this.clearSelection(),this.moveCursorTo(r,n)},o.prototype.moveToPosition=function(r){this.clearSelection(),this.moveCursorToPosition(r)},o.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},o.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},o.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},o.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},o.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},o.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},o.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},o.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},o.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},o.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},o.prototype.getWordRange=function(r,n){if(typeof n>"u"){var t=r||this.lead;r=t.row,n=t.column}return this.session.getWordRange(r,n)},o.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},o.prototype.selectAWord=function(){var r=this.getCursor(),n=this.session.getAWordRange(r.row,r.column);this.setSelectionRange(n)},o.prototype.getLineRange=function(r,n){var t=typeof r=="number"?r:this.lead.row,e,i=this.session.getFoldLine(t);return i?(t=i.start.row,e=i.end.row):e=t,n===!0?new a(t,0,e,this.session.getLine(e).length):new a(t,0,e+1,0)},o.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},o.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},o.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},o.prototype.wouldMoveIntoSoftTab=function(r,n,t){var e=r.column,i=r.column+n;return t<0&&(e=r.column-n,i=r.column),this.session.isTabStop(r)&&this.doc.getLine(r.row).slice(e,i).split(" ").length-1==n},o.prototype.moveCursorLeft=function(){var r=this.lead.getPosition(),n;if(n=this.session.getFoldAt(r.row,r.column,-1))this.moveCursorTo(n.start.row,n.start.column);else if(r.column===0)r.row>0&&this.moveCursorTo(r.row-1,this.doc.getLine(r.row-1).length);else{var t=this.session.getTabSize();this.wouldMoveIntoSoftTab(r,t,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-t):this.moveCursorBy(0,-1)}},o.prototype.moveCursorRight=function(){var r=this.lead.getPosition(),n;if(n=this.session.getFoldAt(r.row,r.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(),r=this.lead;this.wouldMoveIntoSoftTab(r,t,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,t):this.moveCursorBy(0,1)}},o.prototype.moveCursorLineStart=function(){var r=this.lead.row,n=this.lead.column,t=this.session.documentToScreenRow(r,n),e=this.session.screenToDocumentPosition(t,0),i=this.session.getDisplayLine(r,null,e.row,e.column),s=i.match(/^\s*/);s[0].length!=n&&!this.session.$useEmacsStyleLineStart&&(e.column+=s[0].length),this.moveCursorToPosition(e)},o.prototype.moveCursorLineEnd=function(){var r=this.lead,n=this.session.getDocumentLastRowColumnPosition(r.row,r.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)},o.prototype.moveCursorFileEnd=function(){var r=this.doc.getLength()-1,n=this.doc.getLine(r).length;this.moveCursorTo(r,n)},o.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},o.prototype.moveCursorLongWordRight=function(){var r=this.lead.row,n=this.lead.column,t=this.doc.getLine(r),e=t.substring(n);
179this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(r,n,1);if(i){this.moveCursorTo(i.end.row,i.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(r,t.length),this.moveCursorRight(),r<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(e)&&(n+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(r,n)},o.prototype.moveCursorLongWordLeft=function(){var r=this.lead.row,n=this.lead.column,t;if(t=this.session.getFoldAt(r,n,-1)){this.moveCursorTo(t.start.row,t.start.column);return}var e=this.session.getFoldStringAt(r,n,-1);e==null&&(e=this.doc.getLine(r).substring(0,n));var i=x.stringReverse(e);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(i)&&(n-=this.session.nonTokenRe.lastIndex,i=i.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0){this.moveCursorTo(r,0),this.moveCursorLeft(),r>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(i)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(r,n)},o.prototype.$shortWordEndIndex=function(r){var n=0,t,e=/\s/,i=this.session.tokenRe;if(i.lastIndex=0,this.session.tokenRe.exec(r))n=this.session.tokenRe.lastIndex;else{for(;(t=r[n])&&e.test(t);)n++;if(n<1){for(i.lastIndex=0;(t=r[n])&&!i.test(t);)if(i.lastIndex=0,n++,e.test(t))if(n>2){n--;break}else{for(;(t=r[n])&&e.test(t);)n++;if(n>2)break}}}return i.lastIndex=0,n},o.prototype.moveCursorShortWordRight=function(){var r=this.lead.row,n=this.lead.column,t=this.doc.getLine(r),e=t.substring(n),i=this.session.getFoldAt(r,n,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(n==t.length){var s=this.doc.getLength();do r++,e=this.doc.getLine(r);while(r<s&&/^\s*$/.test(e));/^\s+/.test(e)||(e=""),n=0}var l=this.$shortWordEndIndex(e);this.moveCursorTo(r,n+l)},o.prototype.moveCursorShortWordLeft=function(){var r=this.lead.row,n=this.lead.column,t;if(t=this.session.getFoldAt(r,n,-1))return this.moveCursorTo(t.start.row,t.start.column);var e=this.session.getLine(r).substring(0,n);if(n===0){do r--,e=this.doc.getLine(r);while(r>0&&/^\s*$/.test(e));n=e.length,/\s+$/.test(e)||(e="")}var i=x.stringReverse(e),s=this.$shortWordEndIndex(i);return this.moveCursorTo(r,n-s)},o.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},o.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},o.prototype.moveCursorBy=function(r,n){var t=this.session.documentToScreenPosition(this.lead.row,this.lead.column),e;if(n===0&&(r!==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),r!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var i=this.session.lineWidgets[this.lead.row];r<0?r-=i.rowsAbove||0:r>0&&(r+=i.rowCount-(i.rowsAbove||0))}var s=this.session.screenToDocumentPosition(t.row+r,t.column,e);r!==0&&n===0&&s.row===this.lead.row&&(s.column,this.lead.column),this.moveCursorTo(s.row,s.column+n,n===0)},o.prototype.moveCursorToPosition=function(r){this.moveCursorTo(r.row,r.column)},o.prototype.moveCursorTo=function(r,n,t){var e=this.session.getFoldAt(r,n,1);e&&(r=e.start.row,n=e.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(r);/[\uDC00-\uDFFF]/.test(i.charAt(n))&&i.charAt(n-1)&&(this.lead.row==r&&this.lead.column==n+1?n=n-1:n=n+1),this.lead.setPosition(r,n),this.$keepDesiredColumnOnChange=!1,t||(this.$desiredColumn=null)},o.prototype.moveCursorToScreen=function(r,n,t){var e=this.session.screenToDocumentPosition(r,n);this.moveCursorTo(e.row,e.column,t)},o.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},o.prototype.fromOrientedRange=function(r){this.setSelectionRange(r,r.cursor==r.start),this.$desiredColumn=r.desiredColumn||this.$desiredColumn},o.prototype.toOrientedRange=function(r){var n=this.getRange();return r?(r.start.column=n.start.column,r.start.row=n.start.row,r.end.column=n.end.column,r.end.row=n.end.row):r=n,r.cursor=this.isBackwards()?r.start:r.end,r.desiredColumn=this.$desiredColumn,r},o.prototype.getRangeOfMovements=function(r){var n=this.getCursor();try{r(this);var t=this.getCursor();return a.fromPoints(n,t)}catch{return a.fromPoints(n,n)}finally{this.moveCursorToPosition(n)}},o.prototype.toJSON=function(){if(this.rangeCount)var r=this.ranges.map(function(n){var t=n.clone();return t.isBackwards=n.cursor==n.start,t});else{var r=this.getRange();r.isBackwards=this.isBackwards()}return r},o.prototype.fromJSON=function(r){if(r.start==null)if(this.rangeList&&r.length>1){this.toSingleRange(r[0]);for(var n=r.length;n--;){var t=a.fromPoints(r[n].start,r[n].end);r[n].isBackwards&&(t.cursor=t.start),this.addRange(t,!0)}return}else r=r[0];this.rangeList&&this.toSingleRange(r),this.setSelectionRange(r,r.isBackwards)},o.prototype.isEqual=function(r){if((r.length||this.rangeCount)&&r.length!=this.rangeCount)return!1;if(!r.length||!this.ranges)return this.getRange().isEqual(r);for(var n=this.ranges.length;n--;)if(!this.ranges[n].isEqual(r[n]))return!1;return!0},o}();c.prototype.setSelectionAnchor=c.prototype.setAnchor,c.prototype.getSelectionAnchor=c.prototype.getAnchor,c.prototype.setSelectionRange=c.prototype.setRange,A.implement(c.prototype,y),S.Selection=c}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(b,S,N){var A=b("./lib/report_error").reportError,x=2e3,y=function(){function a(c){this.splitRegex,this.states=c,this.regExps={},this.matchMappings={};for(var o in this.states){for(var r=this.states[o],n=[],t=0,e=this.matchMappings[o]={defaultToken:"text"},i="g",s=[],l=0;l<r.length;l++){var h=r[l];if(h.defaultToken&&(e.defaultToken=h.defaultToken),h.caseInsensitive&&i.indexOf("i")===-1&&(i+="i"),h.unicode&&i.indexOf("u")===-1&&(i+="u"),h.regex!=null){h.regex instanceof RegExp&&(h.regex=h.regex.toString().slice(1,-1));var v=h.regex,m=new RegExp("(?:("+v+")|(.))").exec("a").length-2;
179Array.isArray(h.token)?h.token.length==1||m==1?h.token=h.token[0]:m-1!=h.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:h,groupCount:m-1}),h.token=h.token[0]):(h.tokenArray=h.token,h.token=null,h.onMatch=this.$arrayTokens):typeof h.token=="function"&&!h.onMatch&&(m>1?h.onMatch=this.$applyToken:h.onMatch=h.token),m>1&&(/\\\d/.test(h.regex)?v=h.regex.replace(/\\([0-9]+)/g,function(p,g){return"\\"+(parseInt(g,10)+t+1)}):(m=1,v=this.removeCapturingGroups(h.regex)),!h.splitRegex&&typeof h.token!="string"&&s.push(h)),e[t]=l,t+=m,n.push(v),h.onMatch||(h.onMatch=null)}}n.length||(e[0]=0,n.push("$")),s.forEach(function(p){p.splitRegex=this.createSplitterRegexp(p.regex,i)},this),this.regExps[o]=new RegExp("("+n.join(")|(")+")|($)",i)}}return a.prototype.$setMaxTokenCount=function(c){x=c|0},a.prototype.$applyToken=function(c){var o=this.splitRegex.exec(c).slice(1),r=this.token.apply(this,o);if(typeof r=="string")return[{type:r,value:c}];for(var n=[],t=0,e=r.length;t<e;t++)o[t]&&(n[n.length]={type:r[t],value:o[t]});return n},a.prototype.$arrayTokens=function(c){if(!c)return[];var o=this.splitRegex.exec(c);if(!o)return"text";for(var r=[],n=this.tokenArray,t=0,e=n.length;t<e;t++)o[t+1]&&(r[r.length]={type:n[t],value:o[t+1]});return r},a.prototype.removeCapturingGroups=function(c){var o=c.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(r,n){return n?"(?:":r});return o},a.prototype.createSplitterRegexp=function(c,o){if(c.indexOf("(?=")!=-1){var r=0,n=!1,t={};c.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,i,s,l,h,v){return n?n=h!="]":h?n=!0:l?(r==t.stack&&(t.end=v+1,t.stack=-1),r--):s&&(r++,s.length!=1&&(t.stack=r,t.start=v)),e}),t.end!=null&&/^\)*$/.test(c.substr(t.end))&&(c=c.substring(0,t.start)+c.substr(t.end))}return c.charAt(0)!="^"&&(c="^"+c),c.charAt(c.length-1)!="$"&&(c+="$"),new RegExp(c,(o||"").replace("g",""))},a.prototype.getLineTokens=function(c,o){if(o&&typeof o!="string"){var r=o.slice(0);o=r[0],o==="#tmp"&&(r.shift(),o=r.shift())}else var r=[];var n=o||"start",t=this.states[n];t||(n="start",t=this.states[n]);var e=this.matchMappings[n],i=this.regExps[n];i.lastIndex=0;for(var s,l=[],h=0,v=0,m={type:null,value:""};s=i.exec(c);){var p=e.defaultToken,g=null,$=s[0],T=i.lastIndex;if(T-$.length>h){var M=c.substring(h,T-$.length);m.type==p?m.value+=M:(m.type&&l.push(m),m={type:p,value:M})}for(var C=0;C<s.length-2;C++)if(s[C+1]!==void 0){g=t[e[C]],g.onMatch?p=g.onMatch($,n,r,c):p=g.token,g.next&&(typeof g.next=="string"?n=g.next:n=g.next(n,r),t=this.states[n],t||(this.reportError("state doesn't exist",n),n="start",t=this.states[n]),e=this.matchMappings[n],h=T,i=this.regExps[n],i.lastIndex=T),g.consumeLineEnd&&(h=T);break}if($){if(typeof p=="string")(!g||g.merge!==!1)&&m.type===p?m.value+=$:(m.type&&l.push(m),m={type:p,value:$});else if(p){m.type&&l.push(m),m={type:null,value:""};for(var C=0;C<p.length;C++)l.push(p[C])}}if(h==c.length)break;if(h=T,v++>x){for(v>2*c.length&&this.reportError("infinite loop with in ace tokenizer",{startState:o,line:c});h<c.length;)m.type&&l.push(m),m={value:c.substring(h,h+=500),type:"overflow"};n="start",r=[];break}}return m.type&&l.push(m),r.length>1&&r[0]!==n&&r.unshift("#tmp",n),{tokens:l,state:r.length?r:n}},a}();y.prototype.reportError=A,S.Tokenizer=y}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(b,S,N){var A=b("../lib/deep_copy").deepCopy,x;x=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},(function(){this.addRules=function(c,o){if(!o){for(var r in c)this.$rules[r]=c[r];return}for(var r in c){for(var n=c[r],t=0;t<n.length;t++){var e=n[t];(e.next||e.onMatch)&&(typeof e.next=="string"&&e.next.indexOf(o)!==0&&(e.next=o+e.next),e.nextState&&e.nextState.indexOf(o)!==0&&(e.nextState=o+e.nextState))}this.$rules[o+r]=n}},this.getRules=function(){return this.$rules},this.embedRules=function(c,o,r,n,t){var e=typeof c=="function"?new c().getRules():c;if(n)for(var i=0;i<n.length;i++)n[i]=o+n[i];else{n=[];for(var s in e)n.push(o+s)}if(this.addRules(e,o),r)for(var l=Array.prototype[t?"push":"unshift"],i=0;i<n.length;i++)l.apply(this.$rules[n[i]],A(r));this.$embeds||(this.$embeds=[]),this.$embeds.push(o)},this.getEmbeds=function(){return this.$embeds};var y=function(c,o){return(c!="start"||o.length)&&o.unshift(this.nextState,c),this.nextState},a=function(c,o){return o.shift(),o.shift()||"start"};this.normalizeRules=function(){var c=0,o=this.$rules;function r(n){var t=o[n];t.processed=!0;for(var e=0;e<t.length;e++){var i=t[e],s=null;Array.isArray(i)&&(s=i,i={}),!i.regex&&i.start&&(i.regex=i.start,i.next||(i.next=[]),i.next.push({defaultToken:i.token},{token:i.token+".end",regex:i.end||i.start,next:"pop"}),i.token=i.token+".start",i.push=!0);var l=i.next||i.push;if(l&&Array.isArray(l)){var h=i.stateName;h||(h=i.token,typeof h!="string"&&(h=h[0]||""),o[h]&&(h+=c++)),o[h]=l,i.next=h,r(h)}else l=="pop"&&(i.next=a);if(i.push&&(i.nextState=i.next||i.push,i.next=y,delete i.push),i.rules)for(var v in i.rules)o[v]?o[v].push&&o[v].push.apply(o[v],i.rules[v]):o[v]=i.rules[v];var m=typeof i=="string"?i:i.include;if(m&&(m==="$self"&&(m="start"),Array.isArray(m)?s=m.map(function(g){return o[g]}):s=o[m]),s){var p=[e,1].concat(s);i.noEscape&&(p=p.filter(function(g){return!g.next})),t.splice.apply(t,p),e--}i.keywordMap&&(i.token=this.createKeywordMapper(i.keywordMap,i.defaultToken||"text",i.caseInsensitive),delete i.defaultToken)}}
179Object.keys(o).forEach(r,this)},this.createKeywordMapper=function(c,o,r,n){var t=Object.create(null);return this.$keywordList=[],Object.keys(c).forEach(function(e){for(var i=c[e],s=i.split(n||"|"),l=s.length;l--;){var h=s[l];this.$keywordList.push(h),r&&(h=h.toLowerCase()),t[h]=e}},this),c=null,r?function(e){return t[e.toLowerCase()]||o}:function(e){return t[e]||o}},this.getKeywords=function(){return this.$keywords}}).call(x.prototype),S.TextHighlightRules=x}),ace.define("ace/mode/behaviour",["require","exports","module"],function(b,S,N){var A;A=function(){this.$behaviours={}},(function(){this.add=function(x,y,a){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[x]:this.$behaviours[x]={}}this.$behaviours[x][y]=a},this.addBehaviours=function(x){for(var y in x)for(var a in x[y])this.add(y,a,x[y][a])},this.remove=function(x){this.$behaviours&&this.$behaviours[x]&&delete this.$behaviours[x]},this.inherit=function(x,y){if(typeof x=="function")var a=new x().getBehaviours(y);else var a=x.getBehaviours(y);this.addBehaviours(a)},this.getBehaviours=function(x){if(x){for(var y={},a=0;a<x.length;a++)this.$behaviours[x[a]]&&(y[x[a]]=this.$behaviours[x[a]]);return y}else return this.$behaviours}}).call(A.prototype),S.Behaviour=A}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(b,S,N){var A=b("./range").Range,x=function(){function y(a,c,o){this.$session=a,this.$row=c,this.$rowTokens=a.getTokens(c);var r=a.getTokenAt(c,o);this.$tokenIndex=r?r.index:-1}return y.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]},y.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]},y.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},y.prototype.getCurrentTokenRow=function(){return this.$row},y.prototype.getCurrentTokenColumn=function(){var a=this.$rowTokens,c=this.$tokenIndex,o=a[c].start;if(o!==void 0)return o;for(o=0;c>0;)c-=1,o+=a[c].value.length;return o},y.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},y.prototype.getCurrentTokenRange=function(){var a=this.$rowTokens[this.$tokenIndex],c=this.getCurrentTokenColumn();return new A(this.$row,c,this.$row,c+a.value.length)},y}();S.TokenIterator=x}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(b,S,N){var A=b("../../lib/oop"),x=b("../behaviour").Behaviour,y=b("../../token_iterator").TokenIterator,a=b("../../lib/lang"),c=["text","paren.rparen","rparen","paren","punctuation.operator"],o=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],r,n={},t={'"':'"',"'":"'"},e=function(l){var h=-1;if(l.multiSelect&&(h=l.selection.index,n.rangeCount!=l.multiSelect.rangeCount&&(n={rangeCount:l.multiSelect.rangeCount})),n[h])return r=n[h];r=n[h]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},i=function(l,h,v,m){var p=l.end.row-l.start.row;return{text:v+h+m,selection:[0,l.start.column+1,p,l.end.column+(p?0:1)]}},s;s=function(l){l=l||{},this.add("braces","insertion",function(h,v,m,p,g){var $=m.getCursorPosition(),T=p.doc.getLine($.row);if(g=="{"){e(m);var M=m.getSelectionRange(),C=p.doc.getTextRange(M),E=p.getTokenAt($.row,$.column);if(C!==""&&C!=="{"&&m.getWrapBehavioursEnabled())return i(M,C,"{","}");if(E&&/(?:string)\.quasi|\.xml/.test(E.type)){var d=[/tag\-(?:open|name)/,/attribute\-name/];return d.some(function(R){return R.test(E.type)})||/(string)\.quasi/.test(E.type)&&E.value[$.column-E.start-1]!=="$"?void 0:(s.recordAutoInsert(m,p,"}"),{text:"{}",selection:[1,1]})}else if(s.isSaneInsertion(m,p))return/[\]\}\)]/.test(T[$.column])||m.inMultiSelectMode||l.braces?(s.recordAutoInsert(m,p,"}"),{text:"{}",selection:[1,1]}):(s.recordMaybeInsert(m,p,"{"),{text:"{",selection:[1,1]})}else if(g=="}"){e(m);var u=T.substring($.column,$.column+1);if(u=="}"){var f=p.$findOpeningBracket("}",{column:$.column+1,row:$.row});if(f!==null&&s.isAutoInsertedClosing($,T,g))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(g==`
180`||g==`\r
181`){e(m);var w="";s.isMaybeInsertedClosing($,T)&&(w=a.stringRepeat("}",r.maybeInsertedBrackets),s.clearMaybeInsertedClosing());var u=T.substring($.column,$.column+1);if(u==="}"){var k=p.findMatchingBracket({row:$.row,column:$.column+1},"}");if(!k)return null;var L=this.$getIndent(p.getLine(k.row))}else if(w)var L=this.$getIndent(T);else{s.clearMaybeInsertedClosing();return}var _=L+p.getTabString();return{text:`
182`+_+`
183`+L+w,selection:[1,_.length,1,_.length]}}else s.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(h,v,m,p,g){var $=p.doc.getTextRange(g);if(!g.isMultiLine()&&$=="{"){e(m);var T=p.doc.getLine(g.start.row),M=T.substring(g.end.column,g.end.column+1);if(M=="}")return g.end.column++,g;r.maybeInsertedBrackets--}}),this.add("parens","insertion",function(h,v,m,p,g){if(g=="("){e(m);var $=m.getSelectionRange(),T=p.doc.getTextRange($);if(T!==""&&m.getWrapBehavioursEnabled())return i($,T,"(",")");if(s.isSaneInsertion(m,p))return s.recordAutoInsert(m,p,")"),{text:"()",selection:[1,1]}}else if(g==")"){e(m);var M=m.getCursorPosition(),C=p.doc.getLine(M.row),E=C.substring(M.column,M.column+1);if(E==")"){var d=p.$findOpeningBracket(")",{column:M.column+1,row:M.row});if(d!==null&&s.isAutoInsertedClosing(M,C,g))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(h,v,m,p,g){var $=p.doc.getTextRange(g);if(!g.isMultiLine()&&$=="("){e(m);var T=p.doc.getLine(g.start.row),M=T.substring(g.start.column+1,g.start.column+2);if(M==")")return g.end.column++,g}}),this.add("brackets","insertion",function(h,v,m,p,g){if(g=="["){e(m);var $=m.getSelectionRange(),T=p.doc.getTextRange($);if(T!==""&&m.getWrapBehavioursEnabled())return i($,T,"[","]");if(s.isSaneInsertion(m,p))return s.recordAutoInsert(m,p,"]"),{text:"[]",selection:[1,1]}}else if(g=="]"){e(m);var M=m.getCursorPosition(),C=p.doc.getLine(M.row),E=C.substring(M.column,M.column+1);if(E=="]"){var d=p.$findOpeningBracket("]",{column:M.column+1,row:M.row});if(d!==null&&s.isAutoInsertedClosing(M,C,g))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(h,v,m,p,g){var $=p.doc.getTextRange(g);if(!g.isMultiLine()&&$=="["){e(m);var T=p.doc.getLine(g.start.row),M=T.substring(g.start.column+1,g.start.column+2);if(M=="]")return g.end.column++,g}}
183),this.add("string_dquotes","insertion",function(h,v,m,p,g){var $=p.$mode.$quotes||t;if(g.length==1&&$[g]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(g)!=-1)return;e(m);var T=g,M=m.getSelectionRange(),C=p.doc.getTextRange(M);if(C!==""&&(C.length!=1||!$[C])&&m.getWrapBehavioursEnabled())return i(M,C,T,T);if(!C){var E=m.getCursorPosition(),d=p.doc.getLine(E.row),u=d.substring(E.column-1,E.column),f=d.substring(E.column,E.column+1),w=p.getTokenAt(E.row,E.column),k=p.getTokenAt(E.row,E.column+1);if(u=="\\"&&w&&/escape/.test(w.type))return null;var L=w&&/string|escape/.test(w.type),_=!k||/string|escape/.test(k.type),R;if(f==T)R=L!==_,R&&/string\.end/.test(k.type)&&(R=!1);else{if(L&&!_||L&&_)return null;var I=p.$mode.tokenRe;I.lastIndex=0;var O=I.test(u);I.lastIndex=0;var z=I.test(f),D=p.$mode.$pairQuotesAfter,F=D&&D[T]&&D[T].test(u);if(!F&&O||z||f&&!/[\s;,.})\]\\]/.test(f))return null;var B=d[E.column-2];if(u==T&&(B==T||I.test(B)))return null;R=!0}return{text:R?T+T:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(h,v,m,p,g){var $=p.$mode.$quotes||t,T=p.doc.getTextRange(g);if(!g.isMultiLine()&&$.hasOwnProperty(T)){e(m);var M=p.doc.getLine(g.start.row),C=M.substring(g.start.column+1,g.start.column+2);if(C==T)return g.end.column++,g}}),l.closeDocComment!==!1&&this.add("doc comment end","insertion",function(h,v,m,p,g){if(h==="doc-start"&&(g===`
184`||g===`\r
185`)&&m.selection.isEmpty()){var $=m.getCursorPosition();if($.column===0)return;for(var T=p.doc.getLine($.row),M=p.doc.getLine($.row+1),C=p.getTokens($.row),E=0,d=0;d<C.length;d++){E+=C[d].value.length;var u=C[d];if(E>=$.column){if(E===$.column){if(!/\.doc/.test(u.type))return;if(/\*\//.test(u.value)){var f=C[d+1];if(!f||!/\.doc/.test(f.type))return}}var w=$.column-(E-u.value.length),k=u.value.indexOf("*/"),L=u.value.indexOf("/**",k>-1?k+2:0);if(L!==-1&&w>L&&w<L+3||k!==-1&&L!==-1&&w>=k&&w<=L||!/\.doc/.test(u.type))return;break}}var _=this.$getIndent(T);if(/\s*\*/.test(M))return/^\s*\*/.test(T)?{text:g+_+"* ",selection:[1,2+_.length,1,2+_.length]}:{text:g+_+" * ",selection:[1,3+_.length,1,3+_.length]};if(/\/\*\*/.test(T.substring(0,$.column)))return{text:g+_+" * "+g+" "+_+"*/",selection:[1,4+_.length,1,4+_.length]}}})},s.isSaneInsertion=function(l,h){var v=l.getCursorPosition(),m=new y(h,v.row,v.column);if(!this.$matchTokenType(m.getCurrentToken()||"text",c)){if(/[)}\]]/.test(l.session.getLine(v.row)[v.column]))return!0;var p=new y(h,v.row,v.column+1);if(!this.$matchTokenType(p.getCurrentToken()||"text",c))return!1}return m.stepForward(),m.getCurrentTokenRow()!==v.row||this.$matchTokenType(m.getCurrentToken()||"text",o)},s.$matchTokenType=function(l,h){return h.indexOf(l.type||l)>-1},s.recordAutoInsert=function(l,h,v){var m=l.getCursorPosition(),p=h.doc.getLine(m.row);this.isAutoInsertedClosing(m,p,r.autoInsertedLineEnd[0])||(r.autoInsertedBrackets=0),r.autoInsertedRow=m.row,r.autoInsertedLineEnd=v+p.substr(m.column),r.autoInsertedBrackets++},s.recordMaybeInsert=function(l,h,v){var m=l.getCursorPosition(),p=h.doc.getLine(m.row);this.isMaybeInsertedClosing(m,p)||(r.maybeInsertedBrackets=0),r.maybeInsertedRow=m.row,r.maybeInsertedLineStart=p.substr(0,m.column)+v,r.maybeInsertedLineEnd=p.substr(m.column),r.maybeInsertedBrackets++},s.isAutoInsertedClosing=function(l,h,v){return r.autoInsertedBrackets>0&&l.row===r.autoInsertedRow&&v===r.autoInsertedLineEnd[0]&&h.substr(l.column)===r.autoInsertedLineEnd},s.isMaybeInsertedClosing=function(l,h){return r.maybeInsertedBrackets>0&&l.row===r.maybeInsertedRow&&h.substr(l.column)===r.maybeInsertedLineEnd&&h.substr(0,l.column)==r.maybeInsertedLineStart},s.popAutoInsertedClosing=function(){r.autoInsertedLineEnd=r.autoInsertedLineEnd.substr(1),r.autoInsertedBrackets--},s.clearMaybeInsertedClosing=function(){r&&(r.maybeInsertedBrackets=0,r.maybeInsertedRow=-1)},A.inherits(s,x),S.CstyleBehaviour=s}),ace.define("ace/unicode",["require","exports","module"],function(b,S,N){for(var A=[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],x=0,y=[],a=0;a<A.length;a+=2)y.push(x+=A[a]),A[a+1]&&y.push(45,x+=A[a+1]);S.wordChars=String.fromCharCode.apply(null,y)}),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(b,S,N){var A=b("../config"),x=b("../tokenizer").Tokenizer,y=b("./text_highlight_rules").TextHighlightRules,a=b("./behaviour/cstyle").CstyleBehaviour,c=b("../unicode"),o=b("../lib/lang"),r=b("../token_iterator").TokenIterator,n=b("../range").Range,t;t=function(){this.HighlightRules=y},(function(){this.$defaultBehaviour=new a,this.tokenRe=new RegExp("^["+c.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+c.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new x(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,i,s,l){var h=i.doc,v=!0,m=!0,p=1/0,g=i.getTabSize(),$=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var C=this.lineCommentStart.map(o.escapeRegExp).join("|"),T=this.lineCommentStart[0];else var C=o.escapeRegExp(this.lineCommentStart),T=this.lineCommentStart;C=new RegExp("^(\\s*)(?:"+C+") ?"),$=i.getUseSoftTabs();var u=function(z,D){var F=z.match(C);if(F){var B=F[1].length,W=F[0].length;!k(z,B,W)&&F[0][W-1]==" "&&W--,h.removeInLine(D,B,W)}},w=T+" ",d=function(z,D){(!v||/\S/.test(z))&&(k(z,p,p)?h.insertInLine({row:D,column:p},w):h.insertInLine({row:D,column:p},T))},f=function(z,D){return C.test(z)},k=function(z,D,F){for(var B=0;D--&&z.charAt(D)==" ";)B++;if(B%g!=0)return!1;for(var B=0;z.charAt(F++)==" ";)B++;return g>2?B%g!=g-1:B%g==0}}else{if(!this.blockComment)return!1;var T=this.blockComment.start,M=this.blockComment.end,C=new RegExp("^(\\s*)(?:"+o.escapeRegExp(T)+")"),E=new RegExp("(?:"+o.escapeRegExp(M)+")\\s*$"),d=function(R,I){f(R,I)||(!v||/\S/.test(R))&&(h.insertInLine({row:I,column:R.length},M),h.insertInLine({row:I,column:p},T))},u=function(R,I){var O;(O=R.match(E))&&h.removeInLine(I,R.length-O[0].length,R.length),(O=R.match(C))&&h.removeInLine(I,O[1].length,O[0].length)},f=function(R,I){if(C.test(R))return!0;for(var O=i.getTokens(I),z=0;z<O.length;z++)if(O[z].type==="comment")return!0}}function L(R){for(var I=s;I<=l;I++)R(h.getLine(I),I)}var _=1/0;L(function(R,I){var O=R.search(/\S/);O!==-1?(O<p&&(p=O),m&&!f(R,I)&&(m=!1)):_>R.length&&(_=R.length)}),p==1/0&&(p=_,v=!1,m=!1),$&&p%g!=0&&(p=Math.floor(p/g)*g),L(m?u:d)},this.toggleBlockComment=function(e,i,s,l){var h=this.blockComment;if(h){!h.start&&h[0]&&(h=h[0]);var v=new r(i,l.row,l.column),m=v.getCurrentToken();i.selection;var p=i.selection.toOrientedRange(),g,$;if(m&&/comment/.test(m.type)){for(var T,M;m&&/comment/.test(m.type);
185){var C=m.value.indexOf(h.start);if(C!=-1){var E=v.getCurrentTokenRow(),d=v.getCurrentTokenColumn()+C;T=new n(E,d,E,d+h.start.length);break}m=v.stepBackward()}for(var v=new r(i,l.row,l.column),m=v.getCurrentToken();m&&/comment/.test(m.type);){var C=m.value.indexOf(h.end);if(C!=-1){var E=v.getCurrentTokenRow(),d=v.getCurrentTokenColumn()+C;M=new n(E,d,E,d+h.end.length);break}m=v.stepForward()}M&&i.remove(M),T&&(i.remove(T),g=T.start.row,$=-h.start.length)}else $=h.start.length,g=s.start.row,i.insert(s.end,h.end),i.insert(s.start,h.start);p.start.row==g&&(p.start.column+=$),p.end.row==g&&(p.end.column+=$),i.selection.fromOrientedRange(p)}},this.getNextLineIndent=function(e,i,s){return this.$getIndent(i)},this.checkOutdent=function(e,i,s){return!1},this.autoOutdent=function(e,i,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 i in e)if(e[i]){var s=e[i],l=s.prototype.$id,h=A.$modes[l];h||(A.$modes[l]=h=new s),A.$modes[i]||(A.$modes[i]=h),this.$embeds.push(i),this.$modes[i]=h}for(var v=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],m=function(g){(function($){var T=v[g],M=$[T];$[v[g]]=function(){return this.$delegator(T,arguments,M)}})(p)},p=this,i=0;i<v.length;i++)m(i)},this.$delegator=function(e,i,s){var l=i[0]||"start";if(typeof l!="string"){if(Array.isArray(l[2])){var h=l[2][l[2].length-1],v=this.$modes[h];if(v)return v[e].apply(v,[l[1]].concat([].slice.call(i,1)))}l=l[0]||"start"}for(var m=0;m<this.$embeds.length;m++)if(this.$modes[this.$embeds[m]]){var p=l.split(this.$embeds[m]);if(!p[0]&&p[1]){i[0]=p[1];var v=this.$modes[this.$embeds[m]];return v[e].apply(v,i)}}var g=s.apply(this,i);return s?g:void 0},this.transformAction=function(e,i,s,l,h){if(this.$behaviour){var v=this.$behaviour.getBehaviours();for(var m in v)if(v[m][i]){var p=v[m][i].apply(this,arguments);if(p)return p}}},this.getKeywords=function(e){if(!this.completionKeywords){var i=this.$tokenizer.rules,s=[];for(var l in i)for(var h=i[l],v=0,m=h.length;v<m;v++)if(typeof h[v].token=="string")/keyword|support|storage/.test(h[v].token)&&s.push(h[v].regex);else if(typeof h[v].token=="object"){for(var p=0,g=h[v].token.length;p<g;p++)if(/keyword|support|storage/.test(h[v].token[p])){var l=h[v].regex.match(/\(.+?\)/g)[p];s.push(l.substr(1,l.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,i,s,l){var h=this.$keywordList||this.$createKeywordList();return h.map(function(v){return{name:v,value:v,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(t.prototype),S.Mode=t}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(b,S,N){var A=b("./lib/dom"),x=function(){function y(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 y.prototype.getRowLength=function(a){var c;return this.lineWidgets?c=this.lineWidgets[a]&&this.lineWidgets[a].rowCount||0:c=0,!this.$useWrapMode||!this.$wrapData[a]?1+c:this.$wrapData[a].length+1+c},y.prototype.$getWidgetScreenLength=function(){var a=0;return this.lineWidgets.forEach(function(c){c&&c.rowCount&&!c.hidden&&(a+=c.rowCount)}),a},y.prototype.$onChangeEditor=function(a){this.attach(a.editor)},y.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)))},y.prototype.detach=function(a){var c=this.editor;if(c){this.editor=null,c.widgetManager=null,c.renderer.off("beforeRender",this.measureWidgets),c.renderer.off("afterRender",this.renderWidgets);var o=this.session.lineWidgets;o&&o.forEach(function(r){r&&r.el&&r.el.parentNode&&(r._inDocument=!1,r.el.parentNode.removeChild(r.el))})}},y.prototype.updateOnFold=function(a,c){var o=c.lineWidgets;if(!(!o||!a.action)){for(var r=a.data,n=r.start.row,t=r.end.row,e=a.action=="add",i=n+1;i<t;i++)o[i]&&(o[i].hidden=e);o[t]&&(e?o[n]?o[t].hidden=e:o[n]=o[t]:(o[n]==o[t]&&(o[n]=void 0),o[t].hidden=e))}},y.prototype.updateOnChange=function(a){var c=this.session.lineWidgets;if(c){var o=a.start.row,r=a.end.row-o;if(r!==0)if(a.action=="remove"){var n=c.splice(o+1,r);
185!c[o]&&n[n.length-1]&&(c[o]=n.pop()),n.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var t=new Array(r);c[o]&&c[o].column!=null&&a.start.column>c[o].column&&o++,t.unshift(o,0),c.splice.apply(c,t),this.$updateRows()}}},y.prototype.$updateRows=function(){var a=this.session.lineWidgets;if(a){var c=!0;a.forEach(function(o,r){if(o)for(c=!1,o.row=r;o.$oldWidget;)o.$oldWidget.row=r,o=o.$oldWidget}),c&&(this.session.lineWidgets=null)}},y.prototype.$registerLineWidget=function(a){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var c=this.session.lineWidgets[a.row];return c&&(a.$oldWidget=c,c.el&&c.el.parentNode&&(c.el.parentNode.removeChild(c.el),c._inDocument=!1)),this.session.lineWidgets[a.row]=a,a},y.prototype.addLineWidget=function(a){if(this.$registerLineWidget(a),a.session=this.session,!this.editor)return a;var c=this.editor.renderer;a.html&&!a.el&&(a.el=A.createElement("div"),a.el.innerHTML=a.html),a.text&&!a.el&&(a.el=A.createElement("div"),a.el.textContent=a.text),a.el&&(A.addCssClass(a.el,"ace_lineWidgetContainer"),a.className&&A.addCssClass(a.el,a.className),a.el.style.position="absolute",a.el.style.zIndex="5",c.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/c.layerConfig.lineHeight);var o=this.session.getFoldAt(a.row,0);if(a.$fold=o,o){var r=this.session.lineWidgets;a.row==o.end.row&&!r[o.start.row]?r[o.start.row]=a:a.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows(),this.renderWidgets(null,c),this.onWidgetChanged(a),a},y.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{}if(this.session.lineWidgets){var c=this.session.lineWidgets[a.row];if(c==a)this.session.lineWidgets[a.row]=a.$oldWidget,a.$oldWidget&&this.onWidgetChanged(a.$oldWidget);else for(;c;){if(c.$oldWidget==a){c.$oldWidget=a.$oldWidget;break}c=c.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows()},y.prototype.getWidgetsAtRow=function(a){for(var c=this.session.lineWidgets,o=c&&c[a],r=[];o;)r.push(o),o=o.$oldWidget;return r},y.prototype.onWidgetChanged=function(a){this.session._changedWidgets.push(a),this.editor&&this.editor.renderer.updateFull()},y.prototype.measureWidgets=function(a,c){var o=this.session._changedWidgets,r=c.layerConfig;if(!(!o||!o.length)){for(var n=1/0,t=0;t<o.length;t++){var e=o[t];if(!(!e||!e.el)&&e.session==this.session){if(!e._inDocument){if(this.session.lineWidgets[e.row]!=e)continue;e._inDocument=!0,c.container.appendChild(e.el)}e.h=e.el.offsetHeight,e.fixedWidth||(e.w=e.el.offsetWidth,e.screenWidth=Math.ceil(e.w/r.characterWidth));var i=e.h/r.lineHeight;e.coverLine&&(i-=this.session.getRowLineCount(e.row),i<0&&(i=0)),e.rowCount!=i&&(e.rowCount=i,e.row<n&&(n=e.row))}}n!=1/0&&(this.session._emit("changeFold",{data:{start:{row:n}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},y.prototype.renderWidgets=function(a,c){var o=c.layerConfig,r=this.session.lineWidgets;if(r){for(var n=Math.min(this.firstRow,o.firstRow),t=Math.max(this.lastRow,o.lastRow,r.length);n>0&&!r[n];)n--;this.firstRow=o.firstRow,this.lastRow=o.lastRow,c.$cursorLayer.config=o;for(var e=n;e<=t;e++){var i=r[e];if(!(!i||!i.el)){if(i.hidden){i.el.style.top=-100-(i.pixelHeight||0)+"px";continue}i._inDocument||(i._inDocument=!0,c.container.appendChild(i.el));var s=c.$cursorLayer.getPixelPosition({row:e,column:0},!0).top;i.coverLine||(s+=o.lineHeight*this.session.getRowLineCount(i.row)),i.el.style.top=s-o.offset+"px";var l=i.coverGutter?0:c.gutterWidth;i.fixedWidth||(l-=c.scrollLeft),i.el.style.left=l+"px",i.fullWidth&&i.screenWidth&&(i.el.style.minWidth=o.width+2*o.padding+"px"),i.fixedWidth?i.el.style.right=c.scrollBar.getWidth()+"px":i.el.style.right=""}}}},y}();S.LineWidgets=x}),ace.define("ace/apply_delta",["require","exports","module"],function(b,S,N){S.applyDelta=function(A,x,y){var a=x.start.row,c=x.start.column,o=A[a]||"";switch(x.action){case"insert":var r=x.lines;if(r.length===1)A[a]=o.substring(0,c)+x.lines[0]+o.substring(c);else{var n=[a,1].concat(x.lines);A.splice.apply(A,n),A[a]=o.substring(0,c)+A[a],A[a+x.lines.length-1]+=o.substring(c)}break;case"remove":var t=x.end.column,e=x.end.row;a===e?A[a]=o.substring(0,c)+o.substring(t):A.splice(a,e-a+1,o.substring(0,c)+A[e].substring(t));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(b,S,N){var A=b("./lib/oop"),x=b("./lib/event_emitter").EventEmitter,y=function(){function o(r,n,t){this.$onChange=this.onChange.bind(this),this.attach(r),typeof n!="number"?this.setPosition(n.row,n.column):this.setPosition(n,t)}return o.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},o.prototype.getDocument=function(){return this.document},o.prototype.onChange=function(r){if(!(r.start.row==r.end.row&&r.start.row!=this.row)&&!(r.
185start.row>this.row)){var n=c(r,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},o.prototype.setPosition=function(r,n,t){var e;if(t?e={row:r,column:n}:e=this.$clipPositionToDocument(r,n),!(this.row==e.row&&this.column==e.column)){var i={row:this.row,column:this.column};this.row=e.row,this.column=e.column,this._signal("change",{old:i,value:e})}},o.prototype.detach=function(){this.document.off("change",this.$onChange)},o.prototype.attach=function(r){this.document=r||this.document,this.document.on("change",this.$onChange)},o.prototype.$clipPositionToDocument=function(r,n){var t={};return r>=this.document.getLength()?(t.row=Math.max(0,this.document.getLength()-1),t.column=this.document.getLine(t.row).length):r<0?(t.row=0,t.column=0):(t.row=r,t.column=Math.min(this.document.getLine(t.row).length,Math.max(0,n))),n<0&&(t.column=0),t},o}();y.prototype.$insertRight=!1,A.implement(y.prototype,x);function a(o,r,n){var t=n?o.column<=r.column:o.column<r.column;return o.row<r.row||o.row==r.row&&t}function c(o,r,n){var t=o.action=="insert",e=(t?1:-1)*(o.end.row-o.start.row),i=(t?1:-1)*(o.end.column-o.start.column),s=o.start,l=t?s:o.end;return a(r,s,n)?{row:r.row,column:r.column}:a(l,r,!n)?{row:r.row+e,column:r.column+(r.row==l.row?i:0)}:{row:s.row,column:s.column}}S.Anchor=y}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(b,S,N){var A=b("./lib/oop"),x=b("./apply_delta").applyDelta,y=b("./lib/event_emitter").EventEmitter,a=b("./range").Range,c=b("./anchor").Anchor,o=function(){function r(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 r.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||"")},r.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},r.prototype.createAnchor=function(n,t){return new c(this,n,t)},r.prototype.$detectNewLine=function(n){var t=n.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:`
186`,this._signal("changeNewLineMode")},r.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
187`;case"unix":return`
188`;default:return this.$autoNewLine||`
189`}},r.prototype.setNewLineMode=function(n){this.$newLineMode!==n&&(this.$newLineMode=n,this._signal("changeNewLineMode"))},r.prototype.getNewLineMode=function(){return this.$newLineMode},r.prototype.isNewLine=function(n){return n==`\r
190`||n=="\r"||n==`
191`},r.prototype.getLine=function(n){return this.$lines[n]||""},r.prototype.getLines=function(n,t){return this.$lines.slice(n,t+1)},r.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},r.prototype.getLength=function(){return this.$lines.length},r.prototype.getTextRange=function(n){return this.getLinesForRange(n).join(this.getNewLineCharacter())},r.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},r.prototype.insertLines=function(n,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(n,t)},r.prototype.removeLines=function(n,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(n,t)},r.prototype.insertNewLine=function(n){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(n,["",""])},r.prototype.insert=function(n,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(n,this.$split(t))},r.prototype.insertInLine=function(n,t){var e=this.clippedPos(n.row,n.column),i=this.pos(n.row,n.column+t.length);return this.applyDelta({start:e,end:i,action:"insert",lines:[t]},!0),this.clonePos(i)},r.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 i=this.getLine(n);return t==null&&(t=i.length),t=Math.min(Math.max(t,0),i.length),{row:n,column:t}},r.prototype.clonePos=function(n){return{row:n.row,column:n.column}},r.prototype.pos=function(n,t){return{row:n,column:t}},r.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},r.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)},r.prototype.insertMergedLines=function(n,t){var e=this.clippedPos(n.row,n.column),i={row:e.row+t.length-1,column:(t.length==1?e.column:0)+t[t.length-1].length};return this.applyDelta({start:e,end:i,action:"insert",lines:t}),this.clonePos(i)},r.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)},r.prototype.removeInLine=function(n,t,e){var i=this.clippedPos(n,t),s=this.clippedPos(n,e);return this.applyDelta({start:i,end:s,action:"remove",lines:this.getLinesForRange({start:i,end:s})},!0),this.clonePos(i)},r.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,i=t<this.getLength()-1,s=e?n-1:n,l=e?this.getLine(s).length:0,h=i?t+1:t,v=i?0:this.getLine(h).length,m=new a(s,l,h,v),p=this.$lines.slice(n,t+1);return this.applyDelta({start:m.start,end:m.end,action:"remove",lines:this.getLinesForRange(m)}),p},r.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:["",""]})},r.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},r.prototype.applyDeltas=function(n){for(var t=0;t<n.length;t++)this.applyDelta(n[t])},r.prototype.revertDeltas=function(n){for(var t=n.length-1;t>=0;t--)this.revertDelta(n[t])},r.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):(x(this.$lines,n,t),this._signal("change",n)))},r.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)},r.prototype.$splitAndapplyLargeDelta=function(n,t){for(var e=n.lines,i=e.length-t+1,s=n.start.row,l=n.start.column,h=0,v=0;h<i;h=v){v+=t-1;var m=e.slice(h,v);m.push(""),this.applyDelta({start:this.pos(s+h,l),end:this.pos(s+v,l=0),action:n.action,lines:m},!0)}n.lines=e.slice(h),n.start.row=s+h,n.start.column=l,this.applyDelta(n,!0)},r.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()})},r.prototype.indexToPosition=function(n,t){for(var e=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,s=t||0,l=e.length;s<l;s++)if(n-=e[s].length+i,n<0)return{row:s,column:n+e[s].length+i};return{row:l-1,column:n+e[l-1].length+i}},r.prototype.positionToIndex=function(n,t){for(var e=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,s=0,l=Math.min(n.row,e.length),h=t||0;h<l;++h)s+=e[h].length+i;return s+n.column},r.prototype.$split=function(n){return n.split(/\r\n|\r|\n/)},r}();o.prototype.$autoNewLine="",o.prototype.$newLineMode="auto",A.implement(o.prototype,y),S.Document=o}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(b,S,N){var A=b("./lib/oop"),x=b("./lib/event_emitter").EventEmitter,y=function(){function a(c,o){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=c;var r=this;this.$worker=function(){if(r.running){for(var n=new Date,t=r.currentLine,e=-1,i=r.doc,s=t;r.lines[t];)t++;var l=i.getLength(),h=0;for(r.running=!1;t<l;){r.$tokenizeRow(t),e=t;do t++;while(r.lines[t]);if(h++,h%5===0&&new Date-n>20){r.running=setTimeout(r.$worker,20);break}}r.currentLine=t,e==-1&&(e=t),s<=e&&r.fireUpdateEvent(s,e)}}}return a.prototype.setTokenizer=function(c){this.tokenizer=c,this.lines=[],this.states=[],this.start(0)},a.prototype.setDocument=function(c){this.doc=c,this.lines=[],this.states=[],this.stop()},a.prototype.fireUpdateEvent=function(c,o){var r={first:c,last:o};this._signal("update",{data:r})},a.prototype.start=function(c){this.currentLine=Math.min(c||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(c){var o=c.start.row,r=c.end.row-o;if(r===0)this.lines[o]=null;else if(c.action=="remove")this.lines.splice(o,r+1,null),this.states.splice(o,r+1,null);else{var n=Array(r+1);n.unshift(o,1),this.lines.splice.apply(this.lines,n),this.states.splice.apply(this.states,n)}this.currentLine=Math.min(o,this.currentLine,this.doc.getLength()),this.stop()},a.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},a.prototype.getTokens=function(c){return this.lines[c]||this.$tokenizeRow(c)},a.prototype.getState=function(c){return this.currentLine==c&&this.$tokenizeRow(c),this.states[c]||"start"},a.prototype.$tokenizeRow=function(c){var o=this.doc.getLine(c),r=this.states[c-1],n=this.tokenizer.getLineTokens(o,r,c);return this.states[c]+""!=n.state+""?(this.states[c]=n.state,this.lines[c+1]=null,this.currentLine>c+1&&(this.currentLine=c+1)):this.currentLine==c&&(this.currentLine=c+1),this.lines[c]=n.tokens},a.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},a}();
191A.implement(y.prototype,x),S.BackgroundTokenizer=y}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(b,S,N){var A=b("./lib/lang"),x=b("./range").Range,y=function(){function a(c,o,r){r===void 0&&(r="text"),this.setRegexp(c),this.clazz=o,this.type=r}return a.prototype.setRegexp=function(c){this.regExp+""!=c+""&&(this.regExp=c,this.cache=[])},a.prototype.update=function(c,o,r,n){if(this.regExp)for(var t=n.firstRow,e=n.lastRow,i={},s=t;s<=e;s++){var l=this.cache[s];l==null&&(l=A.getMatchOffsets(r.getLine(s),this.regExp),l.length>this.MAX_RANGES&&(l=l.slice(0,this.MAX_RANGES)),l=l.map(function(p){return new x(s,p.offset,s,p.offset+p.length)}),this.cache[s]=l.length?l:"");for(var h=l.length;h--;){var v=l[h].toScreenRange(r),m=v.toString();i[m]||(i[m]=!0,o.drawSingleLineMarker(c,v,this.clazz,n))}}},a}();y.prototype.MAX_RANGES=500,S.SearchHighlight=y}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(b,S,N){var A=function(){function p(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return p.prototype.addSession=function(g){this.$session=g},p.prototype.add=function(g,$,T){if(!this.$fromUndo&&g!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),$===!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),g.id=this.$rev=++this.$maxRev}(g.action=="remove"||g.action=="insert")&&(this.$lastDelta=g),this.lastDeltas.push(g)}},p.prototype.addSelection=function(g,$){this.selections.push({value:g,rev:$||this.$rev})},p.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},p.prototype.markIgnored=function(g,$){$==null&&($=this.$rev+1);for(var T=this.$undoStack,M=T.length;M--;){var C=T[M][0];if(C.id<=g)break;C.id<$&&(C.ignore=!0)}this.lastDeltas=null},p.prototype.getSelection=function(g,$){for(var T=this.selections,M=T.length;M--;){var C=T[M];if(C.rev<g)return $&&(C=T[M+1]),C}},p.prototype.getRevision=function(){return this.$rev},p.prototype.getDeltas=function(g,$){$==null&&($=this.$rev+1);for(var T=this.$undoStack,M=null,C=0,E=T.length;E--;){var d=T[E][0];if(d.id<$&&!M&&(M=E+1),d.id<=g){C=E+1;break}}
191return T.slice(C,M)},p.prototype.getChangedRanges=function(g,$){$==null&&($=this.$rev+1)},p.prototype.getChangedLines=function(g,$){$==null&&($=this.$rev+1)},p.prototype.undo=function(g,$){this.lastDeltas=null;var T=this.$undoStack;if(x(T,T.length)){g||(g=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var M=T.pop(),C=null;return M&&(C=g.undoChanges(M,$),this.$redoStack.push(M),this.$syncRev()),this.$fromUndo=!1,C}},p.prototype.redo=function(g,$){if(this.lastDeltas=null,g||(g=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var T=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);m(this.$redoStack,T),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(E){E[0].id=++this.$maxRev},this)}var M=this.$redoStack.pop(),C=null;return M&&(C=g.redoChanges(M,$),this.$undoStack.push(M),this.$syncRev()),this.$fromUndo=!1,C},p.prototype.$syncRev=function(){var g=this.$undoStack,$=g[g.length-1],T=$&&$[0].id||0;this.$redoStackBaseRev=T,this.$rev=T},p.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=[]},p.prototype.canUndo=function(){return this.$undoStack.length>0},p.prototype.canRedo=function(){return this.$redoStack.length>0},p.prototype.bookmark=function(g){g==null&&(g=this.$rev),this.mark=g},p.prototype.isAtBookmark=function(){return this.$rev===this.mark},p.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},p.prototype.fromJSON=function(g){this.reset(),this.$undoStack=g.$undoStack,this.$redoStack=g.$redoStack},p.prototype.$prettyPrint=function(g){return g?r(g):r(this.$undoStack)+`
192---
193`+r(this.$redoStack)},p}();A.prototype.hasUndo=A.prototype.canUndo,A.prototype.hasRedo=A.prototype.canRedo,A.prototype.isClean=A.prototype.isAtBookmark,A.prototype.markClean=A.prototype.bookmark;function x(p,g){for(var $=g;$--;){var T=p[$];if(T&&!T[0].ignore){for(;$<g-1;){var M=e(p[$],p[$+1]);p[$]=M[0],p[$+1]=M[1],$++}return!0}}}var y=b("./range").Range,a=y.comparePoints;y.comparePoints;function c(p){return{row:p.row,column:p.column}}function o(p){return{start:c(p.start),end:c(p.end),action:p.action,lines:p.lines.slice()}}function r(p){if(p=p||this,Array.isArray(p))return p.map(r).join(`
194`);var g="";return p.action?(g=p.action=="insert"?"+":"-",g+="["+p.lines+"]"):p.value&&(Array.isArray(p.value)?g=p.value.map(n).join(`
195`):g=n(p.value)),p.start&&(g+=n(p)),(p.id||p.rev)&&(g+="	("+(p.id||p.rev)+")"),g}function n(p){return p.start.row+":"+p.start.column+"=>"+p.end.row+":"+p.end.column}function t(p,g){var $=p.action=="insert",T=g.action=="insert";if($&&T)if(a(g.start,p.end)>=0)s(g,p,-1);else if(a(g.start,p.start)<=0)s(p,g,1);else return null;else if($&&!T)if(a(g.start,p.end)>=0)s(g,p,-1);else if(a(g.end,p.start)<=0)s(p,g,-1);else return null;else if(!$&&T)if(a(g.start,p.start)>=0)s(g,p,1);else if(a(g.start,p.start)<=0)s(p,g,1);else return null;else if(!$&&!T)if(a(g.start,p.start)>=0)s(g,p,1);else if(a(g.end,p.start)<=0)s(p,g,-1);else return null;return[g,p]}function e(p,g){for(var $=p.length;$--;)for(var T=0;T<g.length;T++)if(!t(p[$],g[T])){for(;$<p.length;){for(;T--;)t(g[T],p[$]);T=g.length,$++}return[p,g]}return p.selectionBefore=g.selectionBefore=p.selectionAfter=g.selectionAfter=null,[g,p]}function i(p,g){var $=p.action=="insert",T=g.action=="insert";if($&&T)a(p.start,g.start)<0?s(g,p,1):s(p,g,1);else if($&&!T)a(p.start,g.end)>=0?s(p,g,-1):(a(p.start,g.start)<=0||s(p,y.fromPoints(g.start,p.start),-1),s(g,p,1));else if(!$&&T)a(g.start,p.end)>=0?s(g,p,-1):(a(g.start,p.start)<=0||s(g,y.fromPoints(p.start,g.start),-1),s(p,g,1));else if(!$&&!T)if(a(g.start,p.end)>=0)s(g,p,-1);else if(a(g.end,p.start)<=0)s(p,g,-1);else{var M,C;return a(p.start,g.start)<0&&(M=p,p=h(p,g.start)),a(p.end,g.end)>0&&(C=h(p,g.end)),l(g.end,p.start,p.end,-1),C&&!M&&(p.lines=C.lines,p.start=C.start,p.end=C.end,C=p),[g,M,C].filter(Boolean)}return[g,p]}function s(p,g,$){l(p.start,g.start,g.end,$),l(p.end,g.start,g.end,$)}function l(p,g,$,T){p.row==(T==1?g:$).row&&(p.column+=T*($.column-g.column)),p.row+=T*($.row-g.row)}function h(p,g){var $=p.lines,T=p.end;p.end=c(g);var M=p.end.row-p.start.row,C=$.splice(M,$.length),E=M?g.column:g.column-p.start.column;$.push(C[0].substring(0,E)),C[0]=C[0].substr(E);var d={start:c(g),end:T,lines:C,action:p.action};return d}function v(p,g){g=o(g);for(var $=p.length;$--;){for(var T=p[$],M=0;M<T.length;M++){var C=T[M],E=i(C,g);g=E[0],E.length!=2&&(E[2]?(T.splice(M+1,1,E[1],E[2]),M++):E[1]||(T.splice(M,1),M--))}T.length||p.splice($,1)}return p}function m(p,g){for(var $=0;$<g.length;$++)for(var T=g[$],M=0;M<T.length;M++)v(p,T[M])}S.UndoManager=A}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(b,S,N){var A=b("../range").Range,x=function(){function y(a,c){this.foldData=a,Array.isArray(c)?this.folds=c:c=this.folds=[c];var o=c[c.length-1];this.range=new A(c[0].start.row,c[0].start.column,o.end.row,o.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(r){r.setFoldLine(this)},this)}return y.prototype.shiftRow=function(a){this.start.row+=a,this.end.row+=a,this.folds.forEach(function(c){c.start.row+=a,c.end.row+=a})}
195,y.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(c,o){return-c.range.compareEnd(o.start.row,o.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},y.prototype.containsRow=function(a){return a>=this.start.row&&a<=this.end.row},y.prototype.walk=function(a,c,o){var r=0,n=this.folds,t,e,i,s=!0;c==null&&(c=this.end.row,o=this.end.column);for(var l=0;l<n.length;l++){if(t=n[l],e=t.range.compareStart(c,o),e==-1){a(null,c,o,r,s);return}if(i=a(null,t.start.row,t.start.column,r,s),i=!i&&a(t.placeholder,t.start.row,t.start.column,r),i||e===0)return;s=!t.sameRow,r=t.end.column}a(null,c,o,r,s)},y.prototype.getNextFoldTo=function(a,c){for(var o,r,n=0;n<this.folds.length;n++){if(o=this.folds[n],r=o.range.compareEnd(a,c),r==-1)return{fold:o,kind:"after"};if(r===0)return{fold:o,kind:"inside"}}return null},y.prototype.addRemoveChars=function(a,c,o){var r=this.getNextFoldTo(a,c),n,t;if(r){if(n=r.fold,r.kind=="inside"&&n.start.column!=c&&n.start.row!=a)window.console&&window.console.log(a,c,n);else if(n.start.row==a){t=this.folds;var e=t.indexOf(n);for(e===0&&(this.start.column+=o),e;e<t.length;e++){if(n=t[e],n.start.column+=o,!n.sameRow)return;n.end.column+=o}this.end.column+=o}}},y.prototype.split=function(a,c){var o=this.getNextFoldTo(a,c);if(!o||o.kind=="inside")return null;var r=o.fold,n=this.folds,t=this.foldData,e=n.indexOf(r),i=n[e-1];this.end.row=i.end.row,this.end.column=i.end.column,n=n.splice(e,n.length-e);var s=new y(t,n);return t.splice(t.indexOf(this)+1,0,s),s},y.prototype.merge=function(a){for(var c=a.folds,o=0;o<c.length;o++)this.addFold(c[o]);var r=this.foldData;r.splice(r.indexOf(a),1)},y.prototype.toString=function(){var a=[this.range.toString()+": ["];return this.folds.forEach(function(c){a.push("  "+c.toString())}),a.push("]"),a.join(`
196`)},y.prototype.idxToPosition=function(a){for(var c=0,o=0;o<this.folds.length;o++){var r=this.folds[o];if(a-=r.start.column-c,a<0)return{row:r.start.row,column:r.start.column+a};if(a-=r.placeholder.length,a<0)return r.start;c=r.end.column}return{row:this.end.row,column:this.end.column+a}},y}();S.FoldLine=x}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(b,S,N){var A=b("./range").Range,x=A.comparePoints,y=function(){function a(){this.ranges=[],this.$bias=1}return a.prototype.pointIndex=function(c,o,r){for(var n=this.ranges,t=r||0;t<n.length;t++){var e=n[t],i=x(c,e.end);if(!(i>0)){var s=x(c,e.start);return i===0?o&&s!==0?-t-2:t:s>0||s===0&&!o?t:-t-1}}return-t-1},a.prototype.add=function(c){var o=!c.isEmpty(),r=this.pointIndex(c.start,o);r<0&&(r=-r-1);var n=this.pointIndex(c.end,o,r);return n<0?n=-n-1:n++,this.ranges.splice(r,n-r,c)},a.prototype.addList=function(c){for(var o=[],r=c.length;r--;)o.push.apply(o,this.add(c[r]));return o},a.prototype.substractPoint=function(c){var o=this.pointIndex(c);if(o>=0)return this.ranges.splice(o,1)},a.prototype.merge=function(){var c=[],o=this.ranges;o=o.sort(function(i,s){return x(i.start,s.start)});for(var r=o[0],n,t=1;t<o.length;t++){n=r,r=o[t];var e=x(n.end,r.start);e<0||e==0&&!n.isEmpty()&&!r.isEmpty()||(x(n.end,r.end)<0&&(n.end.row=r.end.row,n.end.column=r.end.column),o.splice(t,1),c.push(r),r=n,t--)}return this.ranges=o,c},a.prototype.contains=function(c,o){return this.pointIndex({row:c,column:o})>=0},a.prototype.containsPoint=function(c){return this.pointIndex(c)>=0},a.prototype.rangeAtPoint=function(c){var o=this.pointIndex(c);if(o>=0)return this.ranges[o]},a.prototype.clipRows=function(c,o){var r=this.ranges;if(r[0].start.row>o||r[r.length-1].start.row<c)return[];var n=this.pointIndex({row:c,column:0});n<0&&(n=-n-1);var t=this.pointIndex({row:o,column:0},n);t<0&&(t=-t-1);for(var e=[],i=n;i<t;i++)e.push(r[i]);return e},a.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},a.prototype.attach=function(c){this.session&&this.detach(),this.session=c,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(c){for(var o=c.start,r=c.end,n=o.row,t=r.row,e=this.ranges,i=0,s=e.length;i<s;i++){var l=e[i];if(l.end.row>=n)break}if(c.action=="insert")for(var h=t-n,v=-o.column+r.column;i<s;i++){var l=e[i];if(l.start.row>n)break;if(l.start.row==n&&l.start.column>=o.column&&(l.start.column==o.column&&this.$bias<=0||(l.start.column+=v,l.start.row+=h)),l.end.row==n&&l.end.column>=o.column){if(l.end.column==o.column&&this.$bias<0)continue;l.end.column==o.column&&v>0&&i<s-1&&l.end.column>l.start.column&&l.end.column==e[i+1].start.column&&(l.end.column-=v),l.end.column+=v,l.end.row+=h}}else for(var h=n-t,v=o.column-r.column;i<s;i++){var l=e[i];if(l.start.row>t)break;l.end.row<t&&(n<l.end.row||n==l.end.row&&o.column<l.end.column)?(l.end.row=n,l.end.column=o.column):l.end.row==t?l.end.column<=r.column?(h||l.end.column>o.column)&&(l.end.column=o.column,l.end.row=o.row):(l.end.column+=v,l.end.row+=h):l.end.row>t&&(l.end.row+=h),l.start.row<t&&(n<l.start.row||n==l.start.row&&o.column<l.start.column)?(l.start.row=n,l.start.column=o.column):l.start.row==t?l.start.column<=r.column?(h||l.start.column>o.column)&&(l.start.column=o.column,l.start.row=o.row):(l.start.column+=v,l.start.row+=h):l.start.row>t&&(l.start.row+=h)}if(h!=0&&i<s)for(;i<s;i++){var l=e[i];l.start.row+=h,l.end.row+=h}},a}();y.prototype.comparePoints=x,S.RangeList=y}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(b,S,N){var A=this&&this.__extends||function(){var n=function(t,e){return n=Object.
196setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,s){i.__proto__=s}||function(i,s){for(var l in s)Object.prototype.hasOwnProperty.call(s,l)&&(i[l]=s[l])},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 i(){this.constructor=t}t.prototype=e===null?Object.create(e):(i.prototype=e.prototype,new i)}}(),x=b("../range_list").RangeList,y=function(n){A(t,n);function t(e,i){var s=n.call(this)||this;return s.foldLine=null,s.placeholder=i,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(i){i.setFoldLine(e)})},t.prototype.clone=function(){var e=this.range.clone(),i=new t(e,this.placeholder);return this.subFolds.forEach(function(s){i.subFolds.push(s.clone())}),i.collapseChildren=this.collapseChildren,i},t.prototype.addSubFold=function(e){if(!this.range.isEqual(e)){c(e,this.start);for(var v=e.start.row,m=e.start.column,i=0,s=-1;i<this.subFolds.length&&(s=this.subFolds[i].range.compare(v,m),s==1);i++);var l=this.subFolds[i],h=0;if(s==0){if(l.range.containsRange(e))return l.addSubFold(e);h=1}for(var v=e.range.end.row,m=e.range.end.column,p=i,s=-1;p<this.subFolds.length&&(s=this.subFolds[p].range.compare(v,m),s==1);p++);s==0&&p++;for(var g=this.subFolds.splice(i,p-i,e),$=s==0?g.length-1:g.length,T=h;T<$;T++)e.addSubFold(g[T]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){return r(e,this.start)},t}(x);function a(n,t){n.row-=t.row,n.row==0&&(n.column-=t.column)}function c(n,t){a(n.start,t),a(n.end,t)}function o(n,t){n.row==0&&(n.column+=t.column),n.row+=t.row}function r(n,t){o(n.start,t),o(n.end,t)}S.Fold=y}),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(b,S,N){var A=b("../range").Range,x=b("./fold_line").FoldLine,y=b("./fold").Fold,a=b("../token_iterator").TokenIterator,c=b("../mouse/mouse_event").MouseEvent;function o(){this.getFoldAt=function(r,n,t){var e=this.getFoldLine(r);if(!e)return null;for(var i=e.folds,s=0;s<i.length;s++){var l=i[s].range;if(l.contains(r,n)){if(t==1&&l.isEnd(r,n)&&!l.isEmpty())continue;if(t==-1&&l.isStart(r,n)&&!l.isEmpty())continue;return i[s]}}},this.getFoldsInRange=function(r){var n=r.start,t=r.end,e=this.$foldData,i=[];n.column+=1,t.column-=1;for(var s=0;s<e.length;s++){var l=e[s].range.compareRange(r);if(l!=2){if(l==-2)break;for(var h=e[s].folds,v=0;v<h.length;v++){var m=h[v];if(l=m.range.compareRange(r),l==-2)break;if(l==2)continue;if(l==42)break;i.push(m)}}}return n.column-=1,t.column+=1,i},this.getFoldsInRangeList=function(r){if(Array.isArray(r)){var n=[];r.forEach(function(t){n=n.concat(this.getFoldsInRange(t))},this)}else var n=this.getFoldsInRange(r);return n},this.getAllFolds=function(){for(var r=[],n=this.$foldData,t=0;t<n.length;t++)for(var e=0;e<n[t].folds.length;e++)r.push(n[t].folds[e]);return r},this.getFoldStringAt=function(r,n,t,e){if(e=e||this.getFoldLine(r),!e)return null;for(var i={end:{column:0}},s,l,h=0;h<e.folds.length;h++){l=e.folds[h];var v=l.range.compareEnd(r,n);if(v==-1){s=this.getLine(l.start.row).substring(i.end.column,l.start.column);break}else if(v===0)return null;i=l}return s||(s=this.getLine(l.start.row).substring(i.end.column)),t==-1?s.substring(0,n-i.end.column):t==1?s.substring(n-i.end.column):s},this.getFoldLine=function(r,n){var t=this.$foldData,e=0;for(n&&(e=t.indexOf(n)),e==-1&&(e=0),e;e<t.length;e++){var i=t[e];if(i.start.row<=r&&i.end.row>=r)return i;if(i.end.row>r)return null}return null},this.getNextFoldLine=function(r,n){var t=this.$foldData,e=0;for(n&&(e=t.indexOf(n)),e==-1&&(e=0),e;e<t.length;e++){var i=t[e];if(i.end.row>=r)return i}return null},this.getFoldedRowCount=function(r,n){for(var t=this.$foldData,e=n-r+1,i=0;i<t.length;i++){var s=t[i],l=s.end.row,h=s.start.row;if(l>=n){h<n&&(h>=r?e-=n-h:e=0);break}else l>=r&&(h>=r?e-=l-h:e-=l-r+1)}return e},this.$addFoldLine=function(r){return this.$foldData.push(r),this.$foldData.sort(function(n,t){return n.start.row-t.start.row}),r},this.addFold=function(r,n){var t=this.$foldData,e=!1,i;r instanceof y?i=r:(i=new y(n,r),i.collapseChildren=n.collapseChildren),this.$clipRangeToDocument(i.range);var s=i.start.row,l=i.start.column,h=i.end.row,v=i.end.column,m=this.getFoldAt(s,l,1),p=this.getFoldAt(h,v,-1);if(m&&p==m)return m.addSubFold(i);m&&!m.range.isStart(s,l)&&this.removeFold(m),p&&!p.range.isEnd(h,v)&&this.removeFold(p);var g=this.getFoldsInRange(i.range);g.length>0&&(this.removeFolds(g),i.collapseChildren||g.forEach(function(C){i.addSubFold(C)}));for(var $=0;$<t.length;$++){var T=t[$];if(h==T.start.row){T.addFold(i),e=!0;break}else if(s==T.end.row){if(T.addFold(i),e=!0,!i.sameRow){var M=t[$+1];if(M&&M.start.row==h){T.merge(M);break}}break}else if(h<=T.start.row)break}return e||(T=this.$addFoldLine(new x(this.$foldData,i))),this.$useWrapMode?this.$updateWrapData(T.start.row,T.start.row):this.$updateRowLengthCache(T.start.row,T.start.row),this.$modified=!0,this._signal("changeFold",{data:i,action:"add"}),i},this.addFolds=function(r){r.forEach(function(n){this.addFold(n)},this)},this.removeFold=function(r){var n=r.foldLine,t=n.start.row,e=n.end.row,i=this.$foldData,s=n.folds;if(s.length==1)i.splice(i.indexOf(n),1);else if(n.range.isEnd(r.end.row,r.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(r.start.row,r.start.column))s.shift(),n.start.row=s[0].start.row,n.start.column=s[0].start.column;else if(r.sameRow)s.splice(s.indexOf(r),1);else{var l=n.split(r.start.row,r.start.column);s=l.folds,s.shift(),l.start.row=s[0].start.row,l.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:r,action:"remove"})},this.removeFolds=function(r){for(var n=[],t=0;t<r.length;t++)n.push(r[t]);
196n.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(r){this.removeFold(r),r.subFolds.forEach(function(n){r.restoreRange(n),this.addFold(n)},this),r.collapseChildren>0&&this.foldAll(r.start.row+1,r.end.row,r.collapseChildren-1),r.subFolds=[]},this.expandFolds=function(r){r.forEach(function(n){this.expandFold(n)},this)},this.unfold=function(r,n){var t,e;if(r==null)t=new A(0,0,this.getLength(),0),n==null&&(n=!0);else if(typeof r=="number")t=new A(r,0,r,this.getLine(r).length);else if("row"in r)t=A.fromPoints(r,r);else{if(Array.isArray(r))return e=[],r.forEach(function(s){e=e.concat(this.unfold(s))},this),e;t=r}e=this.getFoldsInRangeList(t);for(var i=e;e.length==1&&A.comparePoints(e[0].start,t.start)<0&&A.comparePoints(e[0].end,t.end)>0;)this.expandFolds(e),e=this.getFoldsInRangeList(t);if(n!=!1?this.removeFolds(e):this.expandFolds(e),i.length)return i},this.isRowFolded=function(r,n){return!!this.getFoldLine(r,n)},this.getRowFoldEnd=function(r,n){var t=this.getFoldLine(r,n);return t?t.end.row:r},this.getRowFoldStart=function(r,n){var t=this.getFoldLine(r,n);return t?t.start.row:r},this.getFoldDisplayLine=function(r,n,t,e,i){e==null&&(e=r.start.row),i==null&&(i=0),n==null&&(n=r.end.row),t==null&&(t=this.getLine(n).length);var s=this.doc,l="";return r.walk(function(h,v,m,p){if(!(v<e)){if(v==e){if(m<i)return;p=Math.max(i,p)}h!=null?l+=h:l+=s.getLine(v).substring(p,m)}},n,t),l},this.getDisplayLine=function(r,n,t,e){var i=this.getFoldLine(r);if(i)return this.getFoldDisplayLine(i,r,n,t,e);var s;return s=this.doc.getLine(r),s.substring(e||0,n||s.length)},this.$cloneFoldData=function(){var r=[];return r=this.$foldData.map(function(n){var t=n.folds.map(function(e){return e.clone()});return new x(r,t)}),r},this.toggleFold=function(r){var n=this.selection,t=n.getRange(),e,i;if(t.isEmpty()){var s=t.start;if(e=this.getFoldAt(s.row,s.column),e){this.expandFold(e);return}else(i=this.findMatchingBracket(s))?t.comparePoint(i)==1?t.end=i:(t.start=i,t.start.column++,t.end.column--):(i=this.findMatchingBracket({row:s.row,column:s.column+1}))?(t.comparePoint(i)==1?t.end=i:t.start=i,t.start.column++):t=this.getCommentFoldRange(s.row,s.column)||t}else{var l=this.getFoldsInRange(t);if(r&&l.length){this.expandFolds(l);return}else l.length==1&&(e=l[0])}if(e||(e=this.getFoldAt(t.start.row,t.start.column)),e&&e.range.toString()==t.toString()){this.expandFold(e);return}var h="...";if(!t.isMultiLine()){if(h=this.getTextRange(t),h.length<4)return;h=h.trim().substring(0,2)+".."}this.addFold(h,t)},this.getCommentFoldRange=function(r,n,t){var e=new a(this,r,n),i=e.getCurrentToken(),s=i&&i.type;if(i&&/^comment|string/.test(s)){s=s.match(/comment|string/)[0],s=="comment"&&(s+="|doc-start|\\.doc");var l=new RegExp(s),h=new A;if(t!=1){do i=e.stepBackward();while(i&&l.test(i.type));i=e.stepForward()}h.start.row=e.getCurrentTokenRow(),h.start.column=e.getCurrentTokenColumn()+i.value.length,e=new a(this,r,n);var v=this.getState(e.$row);if(t!=-1){var m=-1;do if(i=e.stepForward(),m==-1){var p=this.getState(e.$row);v.toString()!==p.toString()&&(m=e.$row)}else if(e.$row>m)break;while(i&&l.test(i.type));i=e.stepBackward()}else i=e.getCurrentToken();return h.end.row=e.getCurrentTokenRow(),h.end.column=e.getCurrentTokenColumn(),h}},this.foldAll=function(r,n,t,e){t==null&&(t=1e5);var i=this.foldWidgets;if(i){n=n||this.getLength(),r=r||0;for(var s=r;s<n;s++)if(i[s]==null&&(i[s]=this.getFoldWidget(s)),i[s]=="start"&&!(e&&!e(s))){var l=this.getFoldWidgetRange(s);l&&l.isMultiLine()&&l.end.row<=n&&l.start.row>=r&&(s=l.end.row,l.collapseChildren=t,this.addFold("...",l))}}},this.foldToLevel=function(r){for(this.foldAll();r-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var r=this;this.foldAll(null,null,null,function(n){for(var t=r.getTokens(n),e=0;e<t.length;e++){var i=t[e];if(!(i.type=="text"&&/^\s+$/.test(i.value)))return!!/comment/.test(i.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(r){if(!this.$foldStyles[r])throw new Error("invalid fold style: "+r+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=r){this.$foldStyle=r,r=="manual"&&this.unfold();var n=this.$foldMode;this.$setFolding(null),this.$setFolding(n)}},this.$setFolding=function(r){if(this.$foldMode!=r){if(this.$foldMode=r,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!r||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=r.getFoldWidget.bind(r,this,this.$foldStyle),this.getFoldWidgetRange=r.getFoldWidgetRange.bind(r,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(r,n){var t=this.foldWidgets;if(!t||n&&t[r])return{};for(var e=r-1,i;e>=0;){var s=t[e];if(s==null&&(s=t[e]=this.getFoldWidget(e)),s=="start"){var l=this.getFoldWidgetRange(e);if(i||(i=l),l&&l.end.row>=r)break}e--}return{range:e!==-1&&l,firstRange:i}},this.onFoldWidgetClick=function(r,n){n instanceof c&&(n=n.domEvent);var t={children:n.shiftKey,all:n.ctrlKey||n.metaKey,siblings:n.altKey},e=this.$toggleFoldWidget(r,t);if(!e){var i=n.target||n.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(r,n){if(this.getFoldWidget){var t=this.getFoldWidget(r),e=this.getLine(r),i=t==="end"?-1:1,s=this.getFoldAt(r,i===-1?0:e.length,i);if(s)return n.children||n.all?this.removeFold(s):this.expandFold(s),s;var l=this.getFoldWidgetRange(r,!0);if(l&&!l.isMultiLine()&&(s=this.getFoldAt(l.start.row,l.start.column,1),s&&l.isEqual(s.range)))return this.removeFold(s),s;if(n.siblings){var h=this.getParentFoldRangeData(r);if(h.range)var v=h.range.start.row+1,m=h.range.end.row;this.foldAll(v,m,n.all?1e4:0)}else n.children?(m=l?l.end.row:this.getLength(),this.foldAll(r+1,m,n.all?1e4:0)):l&&(n.all&&(l.collapseChildren=1e4),this.addFold("...",l));return l}},this.toggleFoldWidget=function(r){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 i=this.getFoldAt(n,this.getLine(n).length,1);i?this.removeFold(i):this.addFold("...",t)}}},this.updateFoldWidgets=function(r){var n=r.start.row,t=r.end.row-n;if(t===0)this.foldWidgets[n]=null;else if(r.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(r){var n=r.data;n.first!=n.last&&this.foldWidgets.length>n.first&&this.foldWidgets.splice(n.first,this.foldWidgets.length)}}S.Folding=o}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(b,S,N){var A=b("../token_iterator").TokenIterator,x=b("../range").Range;function y(){this.findMatchingBracket=function(a,c){if(a.column==0)return null;var o=c||this.getLine(a.row).charAt(a.column-1);if(o=="")return null;var r=o.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],a):this.$findOpeningBracket(r[2],a):null},this.getBracketRange=function(a){var c=this.getLine(a.row),o=!0,r,n=c.charAt(a.column-1),t=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(t||(n=c.charAt(a.column),a={row:a.row,column:a.column+1},t=n&&n.match(/([\(\[\{])|([\)\]\}])/),o=!1),!t)return null;if(t[1]){var e=this.$findClosingBracket(t[1],a);if(!e)return null;
196r=x.fromPoints(a,e),o||(r.end.column++,r.start.column--),r.cursor=r.end}else{var e=this.$findOpeningBracket(t[2],a);if(!e)return null;r=x.fromPoints(e,a),o||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.getMatchingBracketRanges=function(a,c){var o=this.getLine(a.row),r=/([\(\[\{])|([\)\]\}])/,n=!c&&o.charAt(a.column-1),t=n&&n.match(r);if(t||(n=(c===void 0||c)&&o.charAt(a.column),a={row:a.row,column:a.column+1},t=n&&n.match(r)),!t)return null;var e=new x(a.row,a.column-1,a.row,a.column),i=t[1]?this.$findClosingBracket(t[1],a):this.$findOpeningBracket(t[2],a);if(!i)return[e];var s=new x(i.row,i.column,i.row,i.column+1);return[e,s]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(a,c,o){var r=this.$brackets[a],n=1,t=new A(this,c.row,c.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){o||(o=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var i=c.column-t.getCurrentTokenColumn()-2,s=e.value;;){for(;i>=0;){var l=s.charAt(i);if(l==r){if(n-=1,n==0)return{row:t.getCurrentTokenRow(),column:i+t.getCurrentTokenColumn()}}else l==a&&(n+=1);i-=1}do e=t.stepBackward();while(e&&!o.test(e.type));if(e==null)break;s=e.value,i=s.length-1}return null}},this.$findClosingBracket=function(a,c,o){var r=this.$brackets[a],n=1,t=new A(this,c.row,c.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){o||(o=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var i=c.column-t.getCurrentTokenColumn();;){for(var s=e.value,l=s.length;i<l;){var h=s.charAt(i);if(h==r){if(n-=1,n==0)return{row:t.getCurrentTokenRow(),column:i+t.getCurrentTokenColumn()}}else h==a&&(n+=1);i+=1}do e=t.stepForward();while(e&&!o.test(e.type));if(e==null)break;i=0}return null}},this.getMatchingTags=function(a){var c=new A(this,a.row,a.column),o=this.$findTagName(c);if(o){var r=c.stepBackward();return r.value==="<"?this.$findClosingTag(c,o):this.$findOpeningTag(c,o)}},this.$findTagName=function(a){var c=a.getCurrentToken(),o=!1,r=!1;if(c&&c.type.indexOf("tag-name")===-1)do r?c=a.stepBackward():c=a.stepForward(),c&&(c.value==="/>"?r=!0:c.type.indexOf("tag-name")!==-1&&(o=!0));while(c&&!o);return c},this.$findClosingTag=function(a,c){var o,r=c.value,n=c.value,t=0,e=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);c=a.stepForward();var i=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+c.value.length),s=!1;do{if(o=c,o.type.indexOf("tag-close")!==-1&&!s){var l=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);s=!0}if(c=a.stepForward(),c){if(c.value===">"&&!s){var l=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);s=!0}if(c.type.indexOf("tag-name")!==-1){if(r=c.value,n===r){if(o.value==="<")t++;else if(o.value==="</"&&(t--,t<0)){a.stepBackward();var h=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+2);c=a.stepForward();var v=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+c.value.length);if(c.type.indexOf("tag-close")===-1&&(c=a.stepForward()),c&&c.value===">")var m=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);else return}}}else if(n===r&&c.value==="/>"&&(t--,t<0))var h=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+2),v=h,m=v,l=new x(i.end.row,i.end.column,i.end.row,i.end.column+1)}}while(c&&t>=0);if(e&&l&&h&&m&&i&&v)return{openTag:new x(e.start.row,e.start.column,l.end.row,l.end.column),closeTag:new x(h.start.row,h.start.column,m.end.row,m.end.column),openTagName:i,closeTagName:v}},this.$findOpeningTag=function(a,c){var o=a.getCurrentToken(),r=c.value,
196n=0,t=a.getCurrentTokenRow(),e=a.getCurrentTokenColumn(),i=e+2,s=new x(t,e,t,i);a.stepForward();var l=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+c.value.length);if(c.type.indexOf("tag-close")===-1&&(c=a.stepForward()),!(!c||c.value!==">")){var h=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);a.stepBackward(),a.stepBackward();do if(c=o,t=a.getCurrentTokenRow(),e=a.getCurrentTokenColumn(),i=e+c.value.length,o=a.stepBackward(),c){if(c.type.indexOf("tag-name")!==-1){if(r===c.value)if(o.value==="<"){if(n++,n>0){var v=new x(t,e,t,i),m=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);do c=a.stepForward();while(c&&c.value!==">");var p=new x(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1)}}else o.value==="</"&&n--}else if(c.value==="/>"){for(var g=0,$=o;$;){if($.type.indexOf("tag-name")!==-1&&$.value===r){n--;break}else if($.value==="<")break;$=a.stepBackward(),g++}for(var T=0;T<g;T++)a.stepForward()}}while(o&&n<=0);if(m&&p&&s&&h&&v&&l)return{openTag:new x(m.start.row,m.start.column,p.end.row,p.end.column),closeTag:new x(s.start.row,s.start.column,h.end.row,h.end.column),openTagName:v,closeTagName:l}}}}S.BracketMatch=y}),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(b,S,N){var A=b("./lib/oop"),x=b("./lib/lang"),y=b("./bidihandler").BidiHandler,a=b("./config"),c=b("./lib/event_emitter").EventEmitter,o=b("./selection").Selection,r=b("./mode/text").Mode,n=b("./range").Range,t=b("./line_widgets").LineWidgets,e=b("./document").Document,i=b("./background_tokenizer").BackgroundTokenizer,s=b("./search_highlight").SearchHighlight,l=b("./undomanager").UndoManager,h=function(){function d(u,f){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"+ ++d.$uid,this.$foldData.toString=function(){return this.join(`
197`)},this.bgTokenizer=new i(new r().getTokenizer(),this);var w=this;this.bgTokenizer.on("update",function(k){w._signal("tokenizerUpdate",k)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof u!="object"||!u.getLine)&&(u=new e(u)),this.setDocument(u),this.selection=new o(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new y(this),a.resetOptions(this),this.setMode(f),a._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return d.prototype.$initOperationListeners=function(){var u=this;this.curOp=null,this.on("change",function(){u.curOp||(u.startOperation(),u.curOp.selectionBefore=u.$lastSel),u.curOp.docChanged=!0},!0),this.on("changeSelection",function(){u.curOp||(u.startOperation(),u.curOp.selectionBefore=u.$lastSel),u.curOp.selectionChanged=!0},!0),this.$operationResetTimer=x.delayedCall(this.endOperation.bind(this,!0))},d.prototype.startOperation=function(u){if(this.curOp){if(!u||this.curOp.command)return;this.prevOp=this.curOp}u||(u={}),this.$operationResetTimer.schedule(),this.curOp={command:u.command||{},args:u.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",u)},d.prototype.endOperation=function(u){if(this.curOp){if(u&&u.returnValue===!1){this.curOp=null,this._signal("endOperation",u);return}if(u==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var f=this.selection.toJSON();this.curOp.selectionAfter=f,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(f),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",u)}},d.prototype.setDocument=function(u){this.doc&&this.doc.off("change",this.$onChange),this.doc=u,u.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},d.prototype.getDocument=function(){return this.doc},Object.defineProperty(d.prototype,"widgetManager",{get:function(){var u=new t(this);return this.widgetManager=u,this.$editor&&u.attach(this.$editor),u},set:function(u){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:u})}
197,enumerable:!1,configurable:!0}),d.prototype.$resetRowCache=function(u){if(!u){this.$docRowCache=[],this.$screenRowCache=[];return}var f=this.$docRowCache.length,w=this.$getRowCacheIndex(this.$docRowCache,u)+1;f>w&&(this.$docRowCache.splice(w,f),this.$screenRowCache.splice(w,f))},d.prototype.$getRowCacheIndex=function(u,f){for(var w=0,k=u.length-1;w<=k;){var L=w+k>>1,_=u[L];if(f>_)w=L+1;else if(f<_)k=L-1;else return L}return w-1},d.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},d.prototype.onChangeFold=function(u){var f=u.data;this.$resetRowCache(f.start.row)},d.prototype.onChange=function(u){this.$modified=!0,this.$bidiHandler.onChange(u),this.$resetRowCache(u.start.row);var f=this.$updateInternalDataOnChange(u);!this.$fromUndo&&this.$undoManager&&(f&&f.length&&(this.$undoManager.add({action:"removeFolds",folds:f},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(u,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(u),this._signal("change",u)},d.prototype.onSelectionChange=function(){this._signal("changeSelection")},d.prototype.setValue=function(u){this.doc.setValue(u),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},d.fromJSON=function(u){typeof u=="string"&&(u=JSON.parse(u));var f=new l;f.$undoStack=u.history.undo,f.$redoStack=u.history.redo,f.mark=u.history.mark,f.$rev=u.history.rev;var w=new d(u.value);return u.folds.forEach(function(k){w.addFold("...",n.fromPoints(k.start,k.end))}),w.setAnnotations(u.annotations),w.setBreakpoints(u.breakpoints),w.setMode(u.mode),w.setScrollLeft(u.scrollLeft),w.setScrollTop(u.scrollTop),w.setUndoManager(f),w.selection.fromJSON(u.selection),w},d.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(u){return u.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},d.prototype.toString=function(){return this.doc.getValue()},d.prototype.getSelection=function(){return this.selection},d.prototype.getState=function(u){return this.bgTokenizer.getState(u)},d.prototype.getTokens=function(u){return this.bgTokenizer.getTokens(u)},d.prototype.getTokenAt=function(u,f){var w=this.bgTokenizer.getTokens(u),k,L=0;if(f==null){var _=w.length-1;L=this.getLine(u).length}else for(var _=0;_<w.length&&(L+=w[_].value.length,!(L>=f));_++);return k=w[_],k?(k.index=_,k.start=L-k.value.length,k):null},d.prototype.setUndoManager=function(u){if(this.$undoManager=u,this.$informUndoManager&&this.$informUndoManager.cancel(),u){var f=this;u.addSession(this),this.$syncInformUndoManager=function(){f.$informUndoManager.cancel(),f.mergeUndoDeltas=!1},this.$informUndoManager=x.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},d.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},d.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},d.prototype.getTabString=function(){return this.getUseSoftTabs()?x.stringRepeat(" ",this.getTabSize()):"	"},d.prototype.setUseSoftTabs=function(u){this.setOption("useSoftTabs",u)},d.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},d.prototype.setTabSize=function(u){this.setOption("tabSize",u)},d.prototype.getTabSize=function(){return this.$tabSize},d.prototype.isTabStop=function(u){return this.$useSoftTabs&&u.column%this.$tabSize===0},d.prototype.setNavigateWithinSoftTabs=function(u){this.setOption("navigateWithinSoftTabs",u)},d.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs}
197,d.prototype.setOverwrite=function(u){this.setOption("overwrite",u)},d.prototype.getOverwrite=function(){return this.$overwrite},d.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},d.prototype.addGutterDecoration=function(u,f){this.$decorations[u]||(this.$decorations[u]=""),this.$decorations[u]+=" "+f,this._signal("changeBreakpoint",{})},d.prototype.removeGutterDecoration=function(u,f){this.$decorations[u]=(this.$decorations[u]||"").replace(" "+f,""),this._signal("changeBreakpoint",{})},d.prototype.getBreakpoints=function(){return this.$breakpoints},d.prototype.setBreakpoints=function(u){this.$breakpoints=[];for(var f=0;f<u.length;f++)this.$breakpoints[u[f]]="ace_breakpoint";this._signal("changeBreakpoint",{})},d.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},d.prototype.setBreakpoint=function(u,f){f===void 0&&(f="ace_breakpoint"),f?this.$breakpoints[u]=f:delete this.$breakpoints[u],this._signal("changeBreakpoint",{})},d.prototype.clearBreakpoint=function(u){delete this.$breakpoints[u],this._signal("changeBreakpoint",{})},d.prototype.addMarker=function(u,f,w,k){var L=this.$markerId++,_={range:u,type:w||"line",renderer:typeof w=="function"?w:null,clazz:f,inFront:!!k,id:L};return k?(this.$frontMarkers[L]=_,this._signal("changeFrontMarker")):(this.$backMarkers[L]=_,this._signal("changeBackMarker")),L},d.prototype.addDynamicMarker=function(u,f){if(u.update){var w=this.$markerId++;return u.id=w,u.inFront=!!f,f?(this.$frontMarkers[w]=u,this._signal("changeFrontMarker")):(this.$backMarkers[w]=u,this._signal("changeBackMarker")),u}},d.prototype.removeMarker=function(u){var f=this.$frontMarkers[u]||this.$backMarkers[u];if(f){var w=f.inFront?this.$frontMarkers:this.$backMarkers;delete w[u],this._signal(f.inFront?"changeFrontMarker":"changeBackMarker")}},d.prototype.getMarkers=function(u){return u?this.$frontMarkers:this.$backMarkers},d.prototype.highlight=function(u){if(!this.$searchHighlight){var f=new s(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(f)}this.$searchHighlight.setRegexp(u)},d.prototype.highlightLines=function(u,f,w,k){typeof f!="number"&&(w=f,f=u),w||(w="ace_step");var L=new n(u,0,f,1/0);return L.id=this.addMarker(L,w,"fullLine",k),L},d.prototype.setAnnotations=function(u){this.$annotations=u,this._signal("changeAnnotation",{})},d.prototype.getAnnotations=function(){return this.$annotations||[]},d.prototype.clearAnnotations=function(){this.setAnnotations([])},d.prototype.$detectNewLine=function(u){var f=u.match(/^.*?(\r?\n)/m);f?this.$autoNewLine=f[1]:this.$autoNewLine=`
198`},d.prototype.getWordRange=function(u,f){var w=this.getLine(u),k=!1;if(f>0&&(k=!!w.charAt(f-1).match(this.tokenRe)),k||(k=!!w.charAt(f).match(this.tokenRe)),k)var L=this.tokenRe;else if(/^\s+$/.test(w.slice(f-1,f+1)))var L=/\s/;else var L=this.nonTokenRe;var _=f;if(_>0){do _--;while(_>=0&&w.charAt(_).match(L));_++}for(var R=f;R<w.length&&w.charAt(R).match(L);)R++;return new n(u,_,u,R)},d.prototype.getAWordRange=function(u,f){for(var w=this.getWordRange(u,f),k=this.getLine(w.end.row);k.charAt(w.end.column).match(/[ \t]/);)w.end.column+=1;return w},d.prototype.setNewLineMode=function(u){this.doc.setNewLineMode(u)},d.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},d.prototype.setUseWorker=function(u){this.setOption("useWorker",u)},d.prototype.getUseWorker=function(){return this.$useWorker},d.prototype.onReloadTokenizer=function(u){var f=u.data;this.bgTokenizer.start(f.first),this._signal("tokenizerUpdate",u)},d.prototype.setMode=function(u,f){if(u&&typeof u=="object"){if(u.getTokenizer)return this.$onChangeMode(u);var w=u,k=w.path}else k=u||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new r),this.$modes[k]&&!w){this.$onChangeMode(this.$modes[k]),f&&f();return}this.$modeId=k,a.loadModule(["mode",k],(function(L){if(this.$modeId!==k)return f&&f();this.$modes[k]&&!w?this.$onChangeMode(this.$modes[k]):L&&L.Mode&&(L=new L.Mode(w),w||(this.$modes[k]=L,L.$id=k),this.$onChangeMode(L)),f&&f()}).bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},d.prototype.$onChangeMode=function(u,f){if(f||(this.$modeId=u.$id),this.$mode!==u){var w=this.$mode;this.$mode=u,this.$stopWorker(),this.$useWorker&&this.$startWorker();var k=u.getTokenizer();if(k.on!==void 0){var L=this.onReloadTokenizer.bind(this);k.on("update",L)}this.bgTokenizer.setTokenizer(k),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=u.tokenRe,this.nonTokenRe=u.nonTokenRe,f||(u.attachToSession&&u.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(u.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:w,mode:u}))}},d.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},d.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(u){a.warn("Could not load worker",u),this.$worker=null}},d.prototype.getMode=function(){return this.$mode},d.prototype.setScrollTop=function(u){this.$scrollTop===u||isNaN(u)||(this.$scrollTop=u,this._signal("changeScrollTop",u))},d.prototype.getScrollTop=function(){return this.$scrollTop},d.prototype.setScrollLeft=function(u){this.$scrollLeft===u||isNaN(u)||(this.$scrollLeft=u,this._signal("changeScrollLeft",u))},d.prototype.getScrollLeft=function(){return this.$scrollLeft},d.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},d.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var u=0;
198return this.lineWidgets.forEach(function(f){f&&f.screenWidth>u&&(u=f.screenWidth)}),this.lineWidgetWidth=u},d.prototype.$computeWidth=function(u){if(this.$modified||u){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var f=this.doc.getAllLines(),w=this.$rowLengthCache,k=0,L=0,_=this.$foldData[L],R=_?_.start.row:1/0,I=f.length,O=0;O<I;O++){if(O>R){if(O=_.end.row+1,O>=I)break;_=this.$foldData[L++],R=_?_.start.row:1/0}w[O]==null&&(w[O]=this.$getStringScreenWidth(f[O])[0]),w[O]>k&&(k=w[O])}this.screenWidth=k}},d.prototype.getLine=function(u){return this.doc.getLine(u)},d.prototype.getLines=function(u,f){return this.doc.getLines(u,f)},d.prototype.getLength=function(){return this.doc.getLength()},d.prototype.getTextRange=function(u){return this.doc.getTextRange(u||this.selection.getRange())},d.prototype.insert=function(u,f){return this.doc.insert(u,f)},d.prototype.remove=function(u){return this.doc.remove(u)},d.prototype.removeFullLines=function(u,f){return this.doc.removeFullLines(u,f)},d.prototype.undoChanges=function(u,f){if(u.length){this.$fromUndo=!0;for(var w=u.length-1;w!=-1;w--){var k=u[w];k.action=="insert"||k.action=="remove"?this.doc.revertDelta(k):k.folds&&this.addFolds(k.folds)}!f&&this.$undoSelect&&(u.selectionBefore?this.selection.fromJSON(u.selectionBefore):this.selection.setRange(this.$getUndoSelection(u,!0))),this.$fromUndo=!1}},d.prototype.redoChanges=function(u,f){if(u.length){this.$fromUndo=!0;for(var w=0;w<u.length;w++){var k=u[w];(k.action=="insert"||k.action=="remove")&&this.doc.$safeApplyDelta(k)}!f&&this.$undoSelect&&(u.selectionAfter?this.selection.fromJSON(u.selectionAfter):this.selection.setRange(this.$getUndoSelection(u,!1))),this.$fromUndo=!1}},d.prototype.setUndoSelect=function(u){this.$undoSelect=u},d.prototype.$getUndoSelection=function(u,f){function w(I){return f?I.action!=="insert":I.action==="insert"}for(var k,L,_=0;_<u.length;_++){var R=u[_];if(R.start){if(!k){w(R)?k=n.fromPoints(R.start,R.end):k=n.fromPoints(R.start,R.start);continue}w(R)?(L=R.start,k.compare(L.row,L.column)==-1&&k.setStart(L),L=R.end,k.compare(L.row,L.column)==1&&k.setEnd(L)):(L=R.start,k.compare(L.row,L.column)==-1&&(k=n.fromPoints(R.start,R.start)))}}return k},d.prototype.replace=function(u,f){return this.doc.replace(u,f)},d.prototype.moveText=function(u,f,w){var k=this.getTextRange(u),L=this.getFoldsInRange(u),_=n.fromPoints(f,f);if(!w){this.remove(u);var R=u.start.row-u.end.row,I=R?-u.end.column:u.start.column-u.end.column;I&&(_.start.row==u.end.row&&_.start.column>u.end.column&&(_.start.column+=I),_.end.row==u.end.row&&_.end.column>u.end.column&&(_.end.column+=I)),R&&_.start.row>=u.end.row&&(_.start.row+=R,_.end.row+=R)}if(_.end=this.insert(_.start,k),L.length){var O=u.start,z=_.start,R=z.row-O.row,I=z.column-O.column;this.addFolds(L.map(function(B){return B=B.clone(),B.start.row==O.row&&(B.start.column+=I),B.end.row==O.row&&(B.end.column+=I),B.start.row+=R,B.end.row+=R,B}))}return _},d.prototype.indentRows=function(u,f,w){w=w.replace(/\t/g,this.getTabString());for(var k=u;k<=f;k++)this.doc.insertInLine({row:k,column:0},w)},d.prototype.outdentRows=function(u){for(var f=u.collapseRows(),w=new n(0,0,0,0),k=this.getTabSize(),L=f.start.row;L<=f.end.row;++L){var _=this.getLine(L);w.start.row=L,w.end.row=L;for(var R=0;R<k&&_.charAt(R)==" ";++R);R<k&&_.charAt(R)=="	"?(w.start.column=R,w.end.column=R+1):(w.start.column=0,w.end.column=R),this.remove(w)}},d.prototype.$moveLines=function(u,f,w){if(u=this.getRowFoldStart(u),f=this.getRowFoldEnd(f),w<0){var k=this.getRowFoldStart(u+w);if(k<0)return 0;var L=k-u}else if(w>0){var k=this.getRowFoldEnd(f+w);if(k>this.doc.getLength()-1)return 0;var L=k-f}else{u=this.$clipRowToDocument(u),f=this.$clipRowToDocument(f);var L=f-u+1}var _=new n(u,0,f,Number.MAX_VALUE),R=this.getFoldsInRange(_).map(function(O){return O=O.clone(),O.start.row+=L,O.end.row+=L,O}),I=w==0?this.doc.getLines(u,f):this.doc.removeFullLines(u,f);return this.doc.insertFullLines(u+L,I),R.length&&this.addFolds(R),L},d.prototype.moveLinesUp=function(u,f){return this.$moveLines(u,f,-1)},d.prototype.moveLinesDown=function(u,f){return this.$moveLines(u,f,1)},d.prototype.duplicateLines=function(u,f){return this.$moveLines(u,f,0)},d.prototype.$clipRowToDocument=function(u){return Math.max(0,Math.min(u,this.doc.getLength()-1))},d.prototype.$clipColumnToRow=function(u,f){return f<0?0:Math.min(this.doc.getLine(u).length,f)},d.prototype.$clipPositionToDocument=function(u,f){if(f=Math.max(0,f),u<0)u=0,f=0;else{var w=this.doc.getLength();u>=w?(u=w-1,f=this.doc.getLine(w-1).length):f=Math.min(this.doc.getLine(u).length,f)}return{row:u,column:f}},d.prototype.$clipRangeToDocument=function(u){u.start.row<0?(u.start.row=0,u.start.column=0):u.start.column=this.$clipColumnToRow(u.start.row,u.start.column);var f=this.doc.getLength()-1;return u.end.row>f?(u.end.row=f,u.end.column=this.doc.getLine(f).length):u.end.column=this.$clipColumnToRow(u.end.row,u.end.column),u},d.prototype.setUseWrapMode=function(u){if(u!=this.$useWrapMode){if(this.$useWrapMode=u,this.$modified=!0,this.$resetRowCache(0),u){var f=this.getLength();
198this.$wrapData=Array(f),this.$updateWrapData(0,f-1)}this._signal("changeWrapMode")}},d.prototype.getUseWrapMode=function(){return this.$useWrapMode},d.prototype.setWrapLimitRange=function(u,f){(this.$wrapLimitRange.min!==u||this.$wrapLimitRange.max!==f)&&(this.$wrapLimitRange={min:u,max:f},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},d.prototype.adjustWrapLimit=function(u,f){var w=this.$wrapLimitRange;w.max<0&&(w={min:f,max:f});var k=this.$constrainWrapLimit(u,w.min,w.max);return k!=this.$wrapLimit&&k>1?(this.$wrapLimit=k,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},d.prototype.$constrainWrapLimit=function(u,f,w){return f&&(u=Math.max(f,u)),w&&(u=Math.min(w,u)),u},d.prototype.getWrapLimit=function(){return this.$wrapLimit},d.prototype.setWrapLimit=function(u){this.setWrapLimitRange(u,u)},d.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},d.prototype.$updateInternalDataOnChange=function(u){var f=this.$useWrapMode,w=u.action,k=u.start,L=u.end,_=k.row,R=L.row,I=R-_,O=null;if(this.$updating=!0,I!=0)if(w==="remove"){this[f?"$wrapData":"$rowLengthCache"].splice(_,I);var z=this.$foldData;O=this.getFoldsInRange(u),this.removeFolds(O);var D=this.getFoldLine(L.row),F=0;if(D){D.addRemoveChars(L.row,L.column,k.column-L.column),D.shiftRow(-I);var B=this.getFoldLine(_);B&&B!==D&&(B.merge(D),D=B),F=z.indexOf(D)+1}for(F;F<z.length;F++){var D=z[F];D.start.row>=L.row&&D.shiftRow(-I)}R=_}else{var W=Array(I);W.unshift(_,0);var j=f?this.$wrapData:this.$rowLengthCache;j.splice.apply(j,W);var z=this.$foldData,D=this.getFoldLine(_),F=0;if(D){var G=D.range.compareInside(k.row,k.column);G==0?(D=D.split(k.row,k.column),D&&(D.shiftRow(I),D.addRemoveChars(R,0,L.column-k.column))):G==-1&&(D.addRemoveChars(_,0,L.column-k.column),D.shiftRow(I)),F=z.indexOf(D)+1}for(F;F<z.length;F++){var D=z[F];D.start.row>=_&&D.shiftRow(I)}}else{I=Math.abs(u.start.column-u.end.column),w==="remove"&&(O=this.getFoldsInRange(u),this.removeFolds(O),I=-I);var D=this.getFoldLine(_);D&&D.addRemoveChars(_,k.column,I)}return f&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,f?this.$updateWrapData(_,R):this.$updateRowLengthCache(_,R),O},d.prototype.$updateRowLengthCache=function(u,f){this.$rowLengthCache[u]=null,this.$rowLengthCache[f]=null},d.prototype.$updateWrapData=function(u,f){var w=this.doc.getAllLines(),k=this.getTabSize(),L=this.$wrapData,_=this.$wrapLimit,R,I,O=u;for(f=Math.min(f,w.length-1);O<=f;)I=this.getFoldLine(O,I),I?(R=[],I.walk((function(z,D,F,B){var W;if(z!=null){W=this.$getDisplayTokens(z,R.length),W[0]=p;for(var j=1;j<W.length;j++)W[j]=g}else W=this.$getDisplayTokens(w[D].substring(B,F),R.length);R=R.concat(W)}).bind(this),I.end.row,w[I.end.row].length+1),L[I.start.row]=this.$computeWrapSplits(R,_,k),O=I.end.row+1):(R=this.$getDisplayTokens(w[O]),L[O]=this.$computeWrapSplits(R,_,k),O++)},d.prototype.$computeWrapSplits=function(u,f,w){if(u.length==0)return[];var k=[],L=u.length,_=0,R=0,I=this.$wrapAsCode,O=this.$indentedSoftWrap,z=f<=Math.max(2*w,8)||O===!1?0:Math.floor(f/2);function D(){var G=0;if(z===0)return G;if(O)for(var K=0;K<u.length;K++){var V=u[K];if(V==T)G+=1;else if(V==M)G+=w;else{if(V==C)continue;break}}return I&&O!==!1&&(G+=w),Math.min(G,z)}function F(G){for(var K=G-_,V=_;V<G;V++){var Q=u[V];(Q===12||Q===2)&&(K-=1)}k.length||(B=D(),k.indent=B),R+=K,k.push(R),_=G}for(var B=0;L-_>f-B;){var W=_+f-B;if(u[W-1]>=T&&u[W]>=T){F(W);continue}if(u[W]==p||u[W]==g){for(W;W!=_-1&&u[W]!=p;W--);if(W>_){F(W);continue}for(W=_+f,W;W<u.length&&u[W]==g;W++);if(W==u.length)break;F(W);continue}for(var j=Math.max(W-(f-(f>>2)),_-1);W>j&&u[W]<p;)W--;if(I){for(;W>j&&u[W]<p;)W--;for(;W>j&&u[W]==$;)W--}else for(;W>j&&u[W]<T;)W--;if(W>j){F(++W);continue}W=_+f,u[W]==m&&W--,F(W-B)}return k},d.prototype.$getDisplayTokens=function(u,f){var w=[],k;f=f||0;for(var L=0;L<u.length;L++){var _=u.charCodeAt(L);if(_==9){k=this.getScreenTabSize(w.length+f),w.push(M);for(var R=1;R<k;R++)w.push(C)}else _==32?w.push(T):_>39&&_<48||_>57&&_<64?w.push($):_>=4352&&E(_)?w.push(v,m):w.push(v)}return w},d.prototype.$getStringScreenWidth=function(u,f,w){if(f==0)return[0,0];f==null&&(f=1/0),w=w||0;var k,L;for(L=0;L<u.length&&(k=u.charCodeAt(L),k==9?w+=this.getScreenTabSize(w):k>=4352&&E(k)?w+=2:w+=1,!(w>f));L++);return[w,L]},d.prototype.getRowLength=function(u){var f=1;return this.lineWidgets&&(f+=this.lineWidgets[u]&&this.lineWidgets[u].rowCount||0),!this.$useWrapMode||!this.$wrapData[u]?f:this.$wrapData[u].length+f},d.prototype.getRowLineCount=function(u){return!this.$useWrapMode||!this.$wrapData[u]?1:this.$wrapData[u].length+1},d.prototype.getRowWrapIndent=function(u){if(this.$useWrapMode){var f=this.screenToDocumentPosition(u,Number.MAX_VALUE),w=this.$wrapData[f.row];return w.length&&w[0]<f.column?w.indent:0}else return 0},d.prototype.getScreenLastRowColumn=function(u){var f=this.screenToDocumentPosition(u,Number.MAX_VALUE);return this.documentToScreenColumn(f.row,f.column)},d.prototype.getDocumentLastRowColumn=function(u,f){var w=this.documentToScreenRow(u,f);
198return this.getScreenLastRowColumn(w)},d.prototype.getDocumentLastRowColumnPosition=function(u,f){var w=this.documentToScreenRow(u,f);return this.screenToDocumentPosition(w,Number.MAX_VALUE/10)},d.prototype.getRowSplitData=function(u){if(this.$useWrapMode)return this.$wrapData[u]},d.prototype.getScreenTabSize=function(u){return this.$tabSize-(u%this.$tabSize|0)},d.prototype.screenToDocumentRow=function(u,f){return this.screenToDocumentPosition(u,f).row},d.prototype.screenToDocumentColumn=function(u,f){return this.screenToDocumentPosition(u,f).column},d.prototype.screenToDocumentPosition=function(u,f,w){if(u<0)return{row:0,column:0};var k,L=0,_=0,R,I=0,O=0,z=this.$screenRowCache,D=this.$getRowCacheIndex(z,u),F=z.length;if(F&&D>=0)var I=z[D],L=this.$docRowCache[D],B=u>z[F-1];else var B=!F;for(var W=this.getLength()-1,j=this.getNextFoldLine(L),G=j?j.start.row:1/0;I<=u&&(O=this.getRowLength(L),!(I+O>u||L>=W));)I+=O,L++,L>G&&(L=j.end.row+1,j=this.getNextFoldLine(L,j),G=j?j.start.row:1/0),B&&(this.$docRowCache.push(L),this.$screenRowCache.push(I));if(j&&j.start.row<=L)k=this.getFoldDisplayLine(j),L=j.start.row;else{if(I+O<=u||L>W)return{row:W,column:this.getLine(W).length};k=this.getLine(L),j=null}var K=0,V=Math.floor(u-I);if(this.$useWrapMode){var Q=this.$wrapData[L];Q&&(R=Q[V],V>0&&Q.length&&(K=Q.indent,_=Q[V-1]||Q[Q.length-1],k=k.substring(_)))}return w!==void 0&&this.$bidiHandler.isBidiRow(I+V,L,V)&&(f=this.$bidiHandler.offsetToCol(w)),_+=this.$getStringScreenWidth(k,f-K)[1],this.$useWrapMode&&_>=R&&(_=R-1),j?j.idxToPosition(_):{row:L,column:_}},d.prototype.documentToScreenPosition=function(u,f){if(typeof f>"u")var w=this.$clipPositionToDocument(u.row,u.column);else w=this.$clipPositionToDocument(u,f);u=w.row,f=w.column;var k=0,L=null,_=null;_=this.getFoldAt(u,f,1),_&&(u=_.start.row,f=_.start.column);var R,I=0,O=this.$docRowCache,z=this.$getRowCacheIndex(O,u),D=O.length;if(D&&z>=0)var I=O[z],k=this.$screenRowCache[z],F=u>O[D-1];else var F=!D;for(var B=this.getNextFoldLine(I),W=B?B.start.row:1/0;I<u;){if(I>=W){if(R=B.end.row+1,R>u)break;B=this.getNextFoldLine(R,B),W=B?B.start.row:1/0}else R=I+1;k+=this.getRowLength(I),I=R,F&&(this.$docRowCache.push(I),this.$screenRowCache.push(k))}var j="";B&&I>=W?(j=this.getFoldDisplayLine(B,u,f),L=B.start.row):(j=this.getLine(u).substring(0,f),L=u);var G=0;if(this.$useWrapMode){var K=this.$wrapData[L];if(K){for(var V=0;j.length>=K[V];)k++,V++;j=j.substring(K[V-1]||0,j.length),G=V>0?K.indent:0}}return this.lineWidgets&&this.lineWidgets[I]&&this.lineWidgets[I].rowsAbove&&(k+=this.lineWidgets[I].rowsAbove),{row:k,column:G+this.$getStringScreenWidth(j)[0]}},d.prototype.documentToScreenColumn=function(u,f){return this.documentToScreenPosition(u,f).column},d.prototype.documentToScreenRow=function(u,f){return this.documentToScreenPosition(u,f).row},d.prototype.getScreenLength=function(){var u=0,f=null;if(this.$useWrapMode)for(var L=this.$wrapData.length,_=0,k=0,f=this.$foldData[k++],R=f?f.start.row:1/0;_<L;){var I=this.$wrapData[_];u+=I?I.length+1:1,_++,_>R&&(_=f.end.row+1,f=this.$foldData[k++],R=f?f.start.row:1/0)}else{u=this.getLength();for(var w=this.$foldData,k=0;k<w.length;k++)f=w[k],u-=f.end.row-f.start.row}return this.lineWidgets&&(u+=this.$getWidgetScreenLength()),u},d.prototype.$setFontMetrics=function(u){this.$enableVarChar&&(this.$getStringScreenWidth=function(f,w,k){if(w===0)return[0,0];w||(w=1/0),k=k||0;var L,_;for(_=0;_<f.length&&(L=f.charAt(_),L==="	"?k+=this.getScreenTabSize(k):k+=u.getCharacterWidth(L),!(k>w));_++);return[k,_]})},d.prototype.getPrecedingCharacter=function(){var u=this.selection.getCursor();if(u.column===0)return u.row===0?"":this.doc.getNewLineCharacter();var f=this.getLine(u.row);return f[u.column-1]},d.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()},d}();h.$uid=0,h.prototype.$modes=a.$modes,h.prototype.getValue=h.prototype.toString,h.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},h.prototype.$overwrite=!1,h.prototype.$mode=null,h.prototype.$modeId=null,h.prototype.$scrollTop=0,h.prototype.$scrollLeft=0,h.prototype.$wrapLimit=80,h.prototype.$useWrapMode=!1,h.prototype.$wrapLimitRange={min:null,max:null},h.prototype.lineWidgets=null,h.prototype.isFullWidth=E,A.implement(h.prototype,c);var v=1,m=2,p=3,g=4,$=9,T=10,M=11,C=12;function E(d){return d<4352?!1:d>=4352&&d<=4447||d>=4515&&d<=4519||d>=4602&&d<=4607||d>=9001&&d<=9002||d>=11904&&d<=11929||d>=11931&&d<=12019||d>=12032&&d<=12245||d>=12272&&d<=12283||d>=12288&&d<=12350||d>=12353&&d<=12438||d>=12441&&d<=12543||d>=12549&&d<=12589||d>=12593&&d<=12686||d>=12688&&d<=12730||d>=12736&&d<=12771||d>=12784&&d<=12830||d>=12832&&d<=12871||d>=12880&&d<=13054||d>=13056&&d<=19903||d>=19968&&d<=42124||d>=42128&&d<=42182||d>=43360&&d<=43388||d>=44032&&d<=55203||d>=55216&&d<=55238||d>=55243&&d<=55291||d>=63744&&d<=64255||d>=65040&&d<=65049||d>=65072&&d<=65106||d>=65108&&d<=65126||d>=65128&&d<=65131||d>=65281&&d<=65376||d>=65504&&d<=65510}b("./edit_session/folding").Folding.call(h.prototype),b("./edit_session/bracket_match").BracketMatch.call(h.prototype),a.defineOptions(h.prototype,"session",{wrap:{set:function(d){if(!d||d=="off"?d=!1:d=="free"?d=!0:d=="printMargin"?d=-1:typeof d=="str
198ing"&&(d=parseInt(d,10)||!1),this.$wrap!=d)if(this.$wrap=d,!d)this.setUseWrapMode(!1);else{var u=typeof d=="number"?d:null;this.setWrapLimitRange(u,u),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(d){d=d=="auto"?this.$mode.type!="text":d!="text",d!=this.$wrapAsCode&&(this.$wrapAsCode=d,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(d){this.$useWorker=d,this.$stopWorker(),d&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(d){d=parseInt(d),d>0&&this.$tabSize!==d&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=d,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(d){this.setFoldStyle(d)},handlesSet:!0},overwrite:{set:function(d){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(d){this.doc.setNewLineMode(d)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(d){this.setMode(d)},get:function(){return this.$modeId},handlesSet:!0}}),S.EditSession=h}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(b,S,N){var A=b("./lib/lang"),x=b("./lib/oop"),y=b("./range").Range,a=function(){function o(){this.$options={}}return o.prototype.set=function(r){return x.mixin(this.$options,r),this},o.prototype.getOptions=function(){return A.copyObject(this.$options)},o.prototype.setOptions=function(r){this.$options=r},o.prototype.find=function(r){var n=this.$options,t=this.$matchIterator(r,n);if(!t)return!1;var e=null;return t.forEach(function(i,s,l,h){return e=new y(i,s,l,h),s==h&&n.start&&n.start.start&&n.skipCurrent!=!1&&e.isEqual(n.start)?(e=null,!1):!0}),e},o.prototype.findAll=function(r){var n=this.$options;if(!n.needle)return[];this.$assembleRegExp(n);var t=n.range,e=t?r.getLines(t.start.row,t.end.row):r.doc.getAllLines(),i=[],s=n.re;if(n.$isMultiLine){var l=s.length,h=e.length-l,v;e:for(var m=s.offset||0;m<=h;m++){for(var p=0;p<l;p++)if(e[m+p].search(s[p])==-1)continue e;var g=e[m],$=e[m+l-1],T=g.length-g.match(s[0])[0].length,M=$.match(s[l-1])[0].length;v&&v.end.row===m&&v.end.column>T||(i.push(v=new y(m,T,m+l-1,M)),l>2&&(m=m+l-2))}}else for(var C=0;C<e.length;C++)for(var E=A.getMatchOffsets(e[C],s),p=0;p<E.length;p++){var d=E[p];i.push(new y(C,d.offset,C,d.offset+d.length))}if(t){for(var u=t.start.column,f=t.end.column,C=0,p=i.length-1;C<p&&i[C].start.column<u&&i[C].start.row==0;)C++;for(var w=t.end.row-t.start.row;C<p&&i[p].end.column>f&&i[p].end.row==w;)p--;for(i=i.slice(C,p+1),C=0,p=i.length;C<p;C++)i[C].start.row+=t.start.row,i[C].end.row+=t.start.row}return i},o.prototype.replace=function(r,n){var t=this.$options,e=this.$assembleRegExp(t);if(t.$isMultiLine)return n;if(e){var i=e.exec(r);if(!i||i[0].length!=r.length)return null;if(t.regExp||(n=n.replace(/\$/g,"$$$$")),n=r.replace(e,n),t.preserveCase){n=n.split("");for(var s=Math.min(r.length,r.length);s--;){var l=r[s];l&&l.toLowerCase()!=l?n[s]=n[s].toUpperCase():n[s]=n[s].toLowerCase()}n=n.join("")}return n}},o.prototype.$assembleRegExp=function(r,n){if(r.needle instanceof RegExp)return r.re=r.needle;var t=r.needle;if(!r.needle)return r.re=!1;r.regExp||(t=A.escapeRegExp(t));var e=r.caseSensitive?"gm":"gmi";try{new RegExp(t,"u"),r.$supportsUnicodeFlag=!0,e+="u"}catch{r.$supportsUnicodeFlag=!1}if(r.wholeWord&&(t=c(t,r)),r.$isMultiLine=!n&&/[\n\r]/.test(t),r.$isMultiLine)return r.re=this.$assembleMultilineRegExp(t,e);try{var i=new RegExp(t,e)}catch{i=!1}return r.re=i},o.prototype.$assembleMultilineRegExp=function(r,n){for(var t=r.replace(/\r\n|\r|\n/g,`$
199^`).split(`
200`),e=[],i=0;i<t.length;i++)try{e.push(new RegExp(t[i],n))}catch{return!1}return e},o.prototype.$matchIterator=function(r,n){var t=this.$assembleRegExp(n);if(!t)return!1;var e=n.backwards==!0,i=n.skipCurrent!=!1,s=t.unicode,l=n.range,h=n.start;h||(h=l?l[e?"end":"start"]:r.selection.getRange()),h.start&&(h=h[i!=e?"end":"start"]);var v=l?l.start.row:0,m=l?l.end.row:r.getLength()-1;if(e)var p=function(T){var M=h.row;if(!$(M,h.column,T)){for(M--;M>=v;M--)if($(M,Number.MAX_VALUE,T))return;if(n.wrap!=!1){for(M=m,v=h.row;M>=v;M--)if($(M,Number.MAX_VALUE,T))return}}};else var p=function(M){var C=h.row;if(!$(C,h.column,M)){for(C=C+1;C<=m;C++)if($(C,0,M))return;if(n.wrap!=!1){for(C=v,m=h.row;C<=m;C++)if($(C,0,M))return}}};if(n.$isMultiLine)var g=t.length,$=function(T,M,C){var E=e?T-g+1:T;if(!(E<0||E+g>r.getLength())){var d=r.getLine(E),u=d.search(t[0]);if(!(!e&&u<M||u===-1)){for(var f=1;f<g;f++)if(d=r.getLine(E+f),d.search(t[f])==-1)return;var w=d.match(t[g-1])[0].length;if(!(e&&w>M)&&C(E,u,E+g-1,w))return!0}}};else if(e)var $=function(M,C,E){var d=r.getLine(M),u=[],f,w=0;for(t.lastIndex=0;f=t.exec(d);){var k=f[0].length;if(w=f.index,!k){if(w>=d.length)break;t.lastIndex=w+=A.skipEmptyMatch(d,w,s)}if(f.index+k>C)break;u.push(f.index,k)}for(var L=u.length-1;L>=0;L-=2){var _=u[L-1],k=u[L];if(E(M,_,M,_+k))return!0}};else var $=function(M,C,E){var d=r.getLine(M),u,f;for(t.lastIndex=C;f=t.exec(d);){var w=f[0].length;if(u=f.index,E(M,u,M,u+w))return!0;
200if(!w&&(t.lastIndex=u+=A.skipEmptyMatch(d,u,s),u>=d.length))return!1}};return{forEach:p}},o}();function c(o,r){var n=A.supportsLookbehind();function t(l,h){h===void 0&&(h=!0);var v=n&&r.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return v.test(l)||r.regExp?n&&r.$supportsUnicodeFlag?h?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var e=Array.from(o),i=e[0],s=e[e.length-1];return t(i)+o+t(s,!1)}S.Search=a}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(b,S,N){var A=this&&this.__extends||function(){var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,s){i.__proto__=s}||function(i,s){for(var l in s)Object.prototype.hasOwnProperty.call(s,l)&&(i[l]=s[l])},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 i(){this.constructor=t}t.prototype=e===null?Object.create(e):(i.prototype=e.prototype,new i)}}(),x=b("../lib/keys"),y=b("../lib/useragent"),a=x.KEY_MODS,c=function(){function n(t,e){this.$init(t,e,!1)}return n.prototype.$init=function(t,e,i){this.platform=e||(y.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(t),this.$singleCommand=i},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 i=t&&(typeof t=="string"?t:t.name);t=this.commands[i],e||delete this.commands[i];var s=this.commandKeyBinding;for(var l in s){var h=s[l];if(h==t)delete s[l];else if(Array.isArray(h)){var v=h.indexOf(t);v!=-1&&(h.splice(v,1),h.length==1&&(s[l]=h[0]))}}},n.prototype.bindKey=function(t,e,i){if(typeof t=="object"&&t&&(i==null&&(i=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 l="";if(s.indexOf(" ")!=-1){var h=s.split(/\s+/);s=h.pop(),h.forEach(function(p){var g=this.parseKeys(p),$=a[g.hashId]+g.key;l+=(l?" ":"")+$,this._addCommandToBinding(l,"chainKeys")},this),l+=" "}var v=this.parseKeys(s),m=a[v.hashId]+v.key;this._addCommandToBinding(l+m,e,i)},this)}},n.prototype._addCommandToBinding=function(t,e,i){var s=this.commandKeyBinding,l;if(!e)delete s[t];else if(!s[t]||this.$singleCommand)s[t]=e;else{Array.isArray(s[t])?(l=s[t].indexOf(e))!=-1&&s[t].splice(l,1):s[t]=[s[t]],typeof i!="number"&&(i=o(e));var h=s[t];for(l=0;l<h.length;l++){var v=h[l],m=o(v);if(m>i)break}h.splice(l,0,e)}},n.prototype.addCommands=function(t){t&&Object.keys(t).forEach(function(e){var i=t[e];if(i){if(typeof i=="string")return this.bindKey(i,e);typeof i=="function"&&(i={exec:i}),typeof i=="object"&&(i.name||(i.name=e),this.addCommand(i))}},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(m){return m}),i=e.pop(),s=x[i];if(x.FUNCTION_KEYS[s])i=x.FUNCTION_KEYS[s].toLowerCase();else if(e.length){if(e.length==1&&e[0]=="shift")return{key:i.toUpperCase(),hashId:-1}}else return{key:i,hashId:-1};for(var l=0,h=e.length;h--;){var v=x.KEY_MODS[e[h]];if(v==null)return typeof console<"u"&&console.error("invalid modifier "+e[h]+" in "+t),!1;l|=v}return{key:i,hashId:l}},n.prototype.findKeyCommand=function(t,e){var i=a[t]+e;return this.commandKeyBinding[i]},n.prototype.handleKeyboard=function(t,e,i,s){if(!(s<0)){var l=a[e]+i,h=this.commandKeyBinding[l];return t.$keyChain&&(t.$keyChain+=" "+l,h=this.commandKeyBinding[t.$keyChain]||h),h&&(h=="chainKeys"||h[h.length-1]=="chainKeys")?(t.$keyChain=t.$keyChain||l,{command:"null"}):(t.$keyChain&&((!e||e==4)&&i.length==1?t.$keyChain=t.$keyChain.slice(0,-l.length-1):(e==-1||s>0)&&(t.$keyChain="")),{command:h})}},n.prototype.getStatusText=function(t,e){return e.$keyChain||""},n}();function o(n){return typeof n=="object"&&n.bindKey&&n.bindKey.position||(n.isDefault?-100:0)}
200var r=function(n){A(t,n);function t(e,i){var s=n.call(this,e,i)||this;return s.$singleCommand=!0,s}return t}(c);r.call=function(n,t,e){c.prototype.$init.call(n,t,e,!0)},c.call=function(n,t,e){c.prototype.$init.call(n,t,e,!1)},S.HashHandler=r,S.MultiHashHandler=c}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(b,S,N){var A=this&&this.__extends||function(){var o=function(r,n){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},o(r,n)};return function(r,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");o(r,n);function t(){this.constructor=r}r.prototype=n===null?Object.create(n):(t.prototype=n.prototype,new t)}}(),x=b("../lib/oop"),y=b("../keyboard/hash_handler").MultiHashHandler,a=b("../lib/event_emitter").EventEmitter,c=function(o){A(r,o);function r(n,t){var e=o.call(this,t,n)||this;return e.byName=e.commands,e.setDefaultHandler("exec",function(i){return i.args?i.command.exec(i.editor,i.args,i.event,!1):i.command.exec(i.editor,{},i.event,!0)}),e}return r.prototype.exec=function(n,t,e){if(Array.isArray(n)){for(var i=n.length;i--;)if(this.exec(n[i],t,e))return!0;return!1}if(typeof n=="string"&&(n=this.commands[n]),!this.canExecute(n,t))return!1;var s={editor:t,command:n,args:e};return s.returnValue=this._emit("exec",s),this._signal("afterExec",s),s.returnValue!==!1},r.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))},r.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)},r.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}}},r.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})},r}(y);x.implement(c.prototype,a),S.CommandManager=c}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(b,S,N){var A=b("../lib/lang"),x=b("../config"),y=b("../range").Range;function a(o,r){return{win:o,mac:r}}S.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:a("Ctrl-,","Command-,"),exec:function(o){x.loadModule("ace/ext/settings_menu",function(r){r.init(o),o.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:a("Alt-E","F4"),exec:function(o){x.loadModule("ace/ext/error_marker",function(r){r.showErrorMarker(o,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:a("Alt-Shift-E","Shift-F4"),exec:function(o){x.loadModule("ace/ext/error_marker",function(r){r.showErrorMarker(o,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:a("Ctrl-A","Command-A"),exec:function(o){o.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:a(null,"Ctrl-L"),exec:function(o){o.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:a("Ctrl-L","Command-L"),exec:function(o,r){typeof r=="number"&&!isNaN(r)&&o.gotoLine(r),o.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:a("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(o){o.session.toggleFold(!1)}
vendor: 11,386 bytes, line 200
200,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(o){o.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:a("F2","F2"),exec:function(o){o.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:a("Alt-F2","Alt-F2"),exec:function(o){o.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(o){o.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(o){o.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:a("Alt-0","Command-Option-0"),exec:function(o){o.session.foldAll(),o.session.unfold(o.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:a("Alt-Shift-0","Command-Option-Shift-0"),exec:function(o){o.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:a("Ctrl-K","Command-G"),exec:function(o){o.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:a("Ctrl-Shift-K","Command-Shift-G"),exec:function(o){o.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:a("Alt-K","Ctrl-G"),exec:function(o){o.selection.isEmpty()?o.selection.selectWord():o.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:a("Alt-Shift-K","Ctrl-Shift-G"),exec:function(o){o.selection.isEmpty()?o.selection.selectWord():o.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:a("Ctrl-F","Command-F"),exec:function(o){x.loadModule("ace/ext/searchbox",function(r){r.Search(o)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(o){o.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:a("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(o){o.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(o){o.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(o){o.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:a("Up","Up|Ctrl-P"),exec:function(o,r){o.navigateUp(r.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(o){o.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(o){o.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(o){o.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:a("Down","Down|Ctrl-N"),exec:function(o,r){o.navigateDown(r.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:a("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(o){o.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:a("Ctrl-Left","Option-Left"),exec:function(o){o.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(o){o.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(o){o.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:a("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(o){o.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:a("Left","Left|Ctrl-B"),exec:function(o,r){o.navigateLeft(r.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:a("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(o){o.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:a("Ctrl-Right","Option-Right"),exec:function(o){o.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(o){o.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(o){o.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:a("Shift-Right","Shift-Right"),exec:function(o){o.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:a("Right","Right|Ctrl-F"),exec:function(o,r){o.navigateRight(r.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(o){o.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:a(null,"Option-PageDown"),exec:function(o){o.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:a("PageDown","PageDown|Ctrl-V"),exec:function(o){o.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(o){o.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:a(null,"Option-PageUp"),exec:function(o){o.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(o){o.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:a("Ctrl-Up",null),exec:function(o){o.renderer.scrollBy(0,-2*o.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:a("Ctrl-Down",null),exec:function(o){o.renderer.scrollBy(0,2*o.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(o){o.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(o){o.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:a("Ctrl-Alt-E","Command-Option-E"),exec:function(o){o.commands.toggleRecording(o)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:a("Ctrl-Shift-E","Command-Shift-E"),exec:function(o){o.commands.replay(o)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:a("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(o){o.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:a("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(o){o.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:a("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(o){o.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(o){},readOnly:!0},{name:"cut",description:"Cut",exec:function(o){var r=o.$copyWithEmptySelection&&o.selection.isEmpty(),n=r?o.selection.getLineRange():o.selection.getRange();o._emit("cut",n),n.isEmpty()||o.session.remove(n),o.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(o,r){o.$handlePaste(r)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:a("Ctrl-D","Command-D"),exec:function(o){o.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:a("Ctrl-Shift-D","Command-Shift-D"),exec:function(o){o.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:a("Ctrl-Alt-S","Command-Alt-S"),exec:function(o){o.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:a("Ctrl-/","Command-/"),exec:function(o){o.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:a("Ctrl-Shift-/","Command-Shift-/"),exec:function(o){o.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:a("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(o){o.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:a("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(o){o.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:a("Ctrl-H","Command-Option-F"),exec:function(o){x.loadModule("ace/ext/searchbox",function(r){r.Search(o,!0)})}},{name:"undo",description:"Undo",bindKey:a("Ctrl-Z","Command-Z"),exec:function(o){o.undo()}},{name:"redo",description:"Redo",bindKey:a("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(o){o.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:a("Alt-Shift-Up","Command-Option-Up"),exec:function(o){o.copyLine
200sUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:a("Alt-Up","Option-Up"),exec:function(o){o.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:a("Alt-Shift-Down","Command-Option-Down"),exec:function(o){o.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:a("Alt-Down","Option-Down"),exec:function(o){o.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:a("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(o){o.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:a("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(o){o.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:a("Shift-Delete",null),exec:function(o){if(o.selection.isEmpty())o.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:a("Alt-Backspace","Command-Backspace"),exec:function(o){o.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:a("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(o){o.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:a("Ctrl-Shift-Backspace",null),exec:function(o){var r=o.selection.getRange();r.start.column=0,o.session.remove(r)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:a("Ctrl-Shift-Delete",null),exec:function(o){var r=o.selection.getRange();r.end.column=Number.MAX_VALUE,o.session.remove(r)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:a("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(o){o.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:a("Ctrl-Delete","Alt-Delete"),exec:function(o){o.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:a("Shift-Tab","Shift-Tab"),exec:function(o){o.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:a("Tab","Tab"),exec:function(o){o.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:a("Ctrl-[","Ctrl-["),exec:function(o){o.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:a("Ctrl-]","Ctrl-]"),exec:function(o){o.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(o,r){o.insert(r)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(o,r){o.insert(A.stringRepeat(r.text||"",r.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:a(null,"Ctrl-O"),exec:function(o){o.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:a("Alt-Shift-X","Ctrl-T"),exec:function(o){o.transposeLetters()},multiSelectAction:function(o){o.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:a("Ctrl-U","Ctrl-U"),exec:function(o){o.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:a("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(o){o.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:a(null,null),exec:function(o){o.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:a("Ctrl-Shift-L","Command-Shift-L"),exec:function(o){var r=o.selection.getRange();r.start.column=r.end.column=0,r.end.row++,o.selection.setRange(r,!1)}
200,multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:a("Ctrl+F3","F3"),exec:function(o){o.openLink()}},{name:"joinlines",description:"Join lines",bindKey:a(null,null),exec:function(o){for(var r=o.selection.isBackwards(),n=r?o.selection.getSelectionLead():o.selection.getSelectionAnchor(),t=r?o.selection.getSelectionAnchor():o.selection.getSelectionLead(),e=o.session.doc.getLine(n.row).length,i=o.session.doc.getTextRange(o.selection.getRange()),s=i.replace(/\n\s*/," ").length,l=o.session.doc.getLine(n.row),h=n.row+1;h<=t.row+1;h++){var v=A.stringTrimLeft(A.stringTrimRight(o.session.doc.getLine(h)));v.length!==0&&(v=" "+v),l+=v}t.row+1<o.session.doc.getLength()-1&&(l+=o.session.doc.getNewLineCharacter()),o.clearSelection(),o.session.doc.replace(new y(n.row,0,t.row+2,0),l),s>0?(o.selection.moveCursorTo(n.row,n.column),o.selection.selectTo(n.row,n.column+s)):(e=o.session.doc.getLine(n.row).length>e?e+1:e,o.selection.moveCursorTo(n.row,e))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:a(null,null),exec:function(o){var r=o.session.doc.getLength()-1,n=o.session.doc.getLine(r).length,t=o.selection.rangeList.ranges,e=[];t.length<1&&(t=[o.selection.getRange()]);for(var i=0;i<t.length;i++)i==t.length-1&&(t[i].end.row===r&&t[i].end.column===n||e.push(new y(t[i].end.row,t[i].end.column,r,n))),i===0?t[i].start.row===0&&t[i].start.column===0||e.push(new y(0,0,t[i].start.row,t[i].start.column)):e.push(new y(t[i-1].end.row,t[i-1].end.column,t[i].start.row,t[i].start.column));o.exitMultiSelectMode(),o.clearSelection();for(var i=0;i<e.length;i++)o.selection.addRange(e[i],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(o){o.selection.clearSelection(),o.navigateLineEnd(),o.insert(`
201`)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(o){o.selection.clearSelection();var r=o.getCursorPosition();o.selection.moveTo(r.row-1,Number.MAX_VALUE),o.insert(`
202`),r.row===0&&o.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(o){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),o.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:a("F1","F1"),exec:function(o){o.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:a(null,null),exec:function(o){o.prompt({$type:"modes"})},readOnly:!0}];for(var c=1;c<9;c++)S.commands.push({name:"foldToLevel"+c,description:"Fold To Level "+c,level:c,exec:function(o){o.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(b,S,N){var A=b("../lib/keys"),x=b("../mouse/default_gutter_handler").GutterTooltip,y=function(){function c(o){this.editor=o,this.gutterLayer=o.renderer.$gutterLayer,this.element=o.renderer.$gutter,this.lines=o.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new x(this.editor)}return c.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))},c.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))},c.prototype.$onGutterKeyDown=function(o){if(this.annotationTooltip.isOpen){o.preventDefault(),o.keyCode===A.escape&&this.annotationTooltip.hideTooltip();return}if(o.target===this.element){if(o.keyCode!=A.enter)return;o.preventDefault();var r=this.editor.getCursorPosition().row;this.editor.isRowVisible(r)||this.editor.scrollToLine(r,!0,!0),setTimeout((function(){var n=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),t=this.$findNearestFoldWidget(n),e=this.$findNearestAnnotation(n);if(!(t===null&&e===null)){if(t===null&&e!==null){this.activeRowIndex=e,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}if(t!==null&&e===null){this.activeRowIndex=t,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}if(Math.abs(e-n)<Math.abs(t-n)){this.activeRowIndex=e,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}else{this.activeRowIndex=t,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}}}).bind(this),10);return}this.$handleGutterKeyboardInteraction(o),setTimeout((function(){this.editor._signal("gutterkeydown",new a(o,this))}).bind(this),10)}
202,c.prototype.$handleGutterKeyboardInteraction=function(o){if(o.keyCode===A.tab){o.preventDefault();return}if(o.keyCode===A.escape){o.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(o.keyCode===A.up){switch(o.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(o.keyCode===A.down){switch(o.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(o.keyCode===A.left){o.preventDefault(),this.$switchLane("annotation");return}if(o.keyCode===A.right){o.preventDefault(),this.$switchLane("fold");return}if(o.keyCode===A.enter||o.keyCode===A.space){switch(o.preventDefault(),this.activeLane){case"fold":if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="start"){var r=this.$rowIndexToRow(this.activeRowIndex);this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),o),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":var n=this.lines.cells[this.activeRowIndex].element.childNodes[2],t=n.getBoundingClientRect(),e=this.annotationTooltip.getElement().style;e.left=t.right+"px",e.top=t.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex));break}return}},c.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex);break}this.annotationTooltip.isOpen&&this.annotationTooltip.hideTooltip()},c.prototype.$isFoldWidgetVisible=function(o){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(o)),n=this.$getFoldWidget(o).style.display!=="none";return r&&n},c.prototype.$isAnnotationVisible=function(o){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(o)),n=this.$getAnnotation(o).style.display!=="none";return r&&n},c.prototype.$getFoldWidget=function(o){var r=this.lines.get(o),n=r.element;return n.childNodes[1]},c.prototype.$getAnnotation=function(o){var r=this.lines.get(o),n=r.element;return n.childNodes[2]},c.prototype.$findNearestFoldWidget=function(o){if(this.$isFoldWidgetVisible(o))return o;for(var r=0;o-r>0||o+r<this.lines.getLength()-1;){if(r++,o-r>=0&&this.$isFoldWidgetVisible(o-r))return o-r;if(o+r<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(o+r))return o+r}return null},c.prototype.$findNearestAnnotation=function(o){if(this.$isAnnotationVisible(o))return o;for(var r=0;o-r>0||o+r<this.lines.getLength()-1;){if(r++,o-r>=0&&this.$isAnnotationVisible(o-r))return o-r;if(o+r<=this.lines.getLength()-1&&this.$isAnnotationVisible(o+r))return o+r}return null},c.prototype.$focusFoldWidget=function(o){if(o!=null){var r=this.$getFoldWidget(o);r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus()}},c.prototype.$focusAnnotation=function(o){if(o!=null){var r=this.$getAnnotation(o);r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus()}},c.prototype.$blurFoldWidget=function(o){var r=this.$getFoldWidget(o);r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur()},c.prototype.$blurAnnotation=function(o){var r=this.$getAnnotation(o);r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur()},c.prototype.$moveFoldWidgetUp=function(){for(var o=this.activeRowIndex;o>0;)if(o--,this.$isFoldWidgetVisible(o)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=o,this.$focusFoldWidget(this.activeRowIndex);return}},c.prototype.$moveFoldWidgetDown=function(){for(var o=this.activeRowIndex;o<this.lines.getLength()-1;)if(o++,this.$isFoldWidgetVisible(o)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=o,this.$focusFoldWidget(this.activeRowIndex);return}},c.prototype.$moveAnnotationUp=function(){for(var o=this.activeRowIndex;o>0;)if(o--,this.$isAnnotationVisible(o)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=o,this.$focusAnnotation(this.activeRowIndex);return}},c.prototype.$moveAnnotationDown=function(){for(var o=this.activeRowIndex;o<this.lines.getLength()-1;)if(o++,this.$isAnnotationVisible(o)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=o,this.$focusAnnotation(this.activeRowIndex);return}},c.prototype.$switchLane=function(o){switch(o){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.activeRowIndex=r,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var n=this.$findNearestFoldWidget(this.activeRowIndex);if(n==null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=n,this.$focusFoldWidget(this.activeRowIndex);break}},c.prototype.$rowIndexToRow=function(o){var r=this.lines.get(o);return r?r.row:null},c.prototype.$rowToRowIndex=function(o){for(var r=0;r<this.lines.getLength();r++){var n=this.lines.get(r);if(n.row==o)return r}return null},c}();S.GutterKeyboardHandler=y;var a=function(){function c(o,r){this.gutterKeyboardHandler=r,this.domEvent=o}return c.prototype.getKey=function(){return A.keyCodeToString(this.domEvent.keyCode)},c.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},c.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},c.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},c}();S.GutterKeyboardEvent=a}),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"],function(b,S,N){var A=this&&this.__values||function(d){var u=typeof Symbol=="function"&&Symbol.iterator,f=u&&d[u],w=0;if(f)return f.call(d);if(d&&typeof d.length=="number")return{next:function(){return d&&w>=d.length&&(d=void 0),{value:d&&d[w++],done:!d}}};throw new TypeError(u?"Object is not iterable.":"Symbol.iterator is not defined.")},x=b("./lib/oop"),y=b("./lib/dom"),a=b("./lib/lang"),c=b("./lib/useragent"),o=b("./keyboard/textinput").TextInput,r=b("./mouse/mouse_handler").MouseHandler,n=b("./mouse/fold_handler").FoldHandler,t=b("./keyboard/keybinding").KeyBinding,e=b("./edit_session").EditSession,i=b("./search").Search,s=b("./range").Range,l=b("./lib/event_emitter").EventEmitter,h=b("./commands/command_manager").CommandManager,v=b("./commands/default_commands").commands,m=b("./config"),p=b("./token_iterator").TokenIterator,g=b("./keyboard/gutter_handler").GutterKeyboardHandler,$=b("./config").nls,T=b("./clipboard"),M=b("./lib/keys"),C=function(){function d(u,f,w){this.session,this.$toDestroy=[];var k=u.getContainerElement();this.container=k,this.renderer=u,this.id="editor"+ ++d.$uid,this.commands=new h(c.isMac?"mac":"win",v),typeof document=="object"&&(this.textInput=new o(u.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new r(this),new n(this)),this.keyBinding=new t(this),this.$search=new i().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(L,_){_._$emitInputEvent.
202schedule(31)}),this.setSession(f||w&&w.session||new e("")),m.resetOptions(this),w&&this.setOptions(w),m._signal("editor",this)}return d.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},d.prototype.startOperation=function(u){this.session.startOperation(u)},d.prototype.endOperation=function(u){this.session.endOperation(u)},d.prototype.onStartOperation=function(u){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,u||(this.previousCommand=null)},d.prototype.onEndOperation=function(u){if(this.curOp&&this.session){if(u&&u.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var f=this.curOp.command,w=f&&f.scrollIntoView;if(w){switch(w){case"center-animate":w="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var k=this.selection.getRange(),L=this.renderer.layerConfig;(k.start.row>=L.lastRow||k.end.row<=L.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}w=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},d.prototype.$historyTracker=function(u){if(this.$mergeUndoDeltas){var f=this.prevOp,w=this.$mergeableCommands,k=f.command&&u.command.name==f.command.name;if(u.command.name=="insertstring"){var L=u.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),k=k&&this.mergeNextCommand&&(!/\s/.test(L)||/\s/.test(f.args)),this.mergeNextCommand=!0}else k=k&&w.indexOf(u.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(k=!1),k?this.session.mergeUndoDeltas=!0:w.indexOf(u.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},d.prototype.setKeyboardHandler=function(u,f){if(u&&typeof u=="string"&&u!="ace"){this.$keybindingId=u;var w=this;m.loadModule(["keybinding",u],function(k){w.$keybindingId==u&&w.keyBinding.setKeyboardHandler(k&&k.handler),f&&f()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(u),f&&f()},d.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},d.prototype.setSession=function(u){if(this.session!=u){this.curOp&&this.endOperation(),this.curOp={};var f=this.session;if(f){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 w=this.session.getSelection();w.off("changeCursor",this.$onCursorChange),w.off("changeSelection",this.$onSelectionChange)}this.session=u,u?(this.$onDocumentChange=this.onDocumentChange.bind(this),u.on("change",this.$onDocumentChange),this.renderer.setSession(u),this.$onChangeMode=this.onChangeMode.bind(this),u.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),u.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),u.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),u.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),u.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),u.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=u.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(u)),this._signal("changeSession",{session:u,oldSession:f}),this.curOp=null,f&&f._signal("changeEditor",{oldEditor:this}),f&&(f.$editor=null),u&&u._signal("changeEditor",{editor:this}),u&&(u.$editor=this),u&&!u.destroyed&&u.bgTokenizer.scheduleStart()}},d.prototype.getSession=function(){return this.session},d.prototype.setValue=function(u,f){return this.session.doc.setValue(u),f?f==1?this.navigateFileEnd():f==-1&&this.navigateFileStart():this.selectAll(),u},d.prototype.getValue=function(){return this.session.getValue()},d.prototype.getSelection=function(){return this.selection},d.prototype.resize=function(u){this.renderer.onResize(u)},d.prototype.setTheme=function(u,f){this.renderer.setTheme(u,f)},d.prototype.getTheme=function(){return this.renderer.getTheme()},d.prototype.setStyle=function(u){this.renderer.setStyle(u)},d.prototype.unsetStyle=function(u){this.renderer.unsetStyle(u)},d.prototype.getFontSize=function(){return this.getOption("fontSize")||y.computedStyle(this.container).fontSize},d.prototype.setFontSize=function(u){this.setOption("fontSize",u)},d.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var u=this;this.$highlightPending=!0,setTimeout(function(){u.$highlightPending=!1;var f=u.session;if(!(!f||f.destroyed)){f.$bracketHighlight&&(f.$bracketHighlight.markerIds.forEach(function(D){f.removeMarker(D)}),f.$bracketHighlight=null);var w=u.getCursorPosition(),k=u.getKeyboardHandler(),L=k&&k.$getDirectionForHighlight&&k.$getDirectionForHighlight(u),_=f.getMatchingBracketRanges(w,L);if(!_){var R=new p(f,w.row,w.column),I=R.getCurrentToken();if(I&&/\b(?:tag-open|tag-name)/.test(I.type)){var O=f.getMatchingTags(w);
202O&&(_=[O.openTagName.isEmpty()?O.openTag:O.openTagName,O.closeTagName.isEmpty()?O.closeTag:O.closeTagName])}}if(!_&&f.$mode.getMatching&&(_=f.$mode.getMatching(u.session)),!_){u.getHighlightIndentGuides()&&u.renderer.$textLayer.$highlightIndentGuide();return}var z="ace_bracket";Array.isArray(_)?_.length==1&&(z="ace_error_bracket"):_=[_],_.length==2&&(s.comparePoints(_[0].end,_[1].start)==0?_=[s.fromPoints(_[0].start,_[1].end)]:s.comparePoints(_[0].start,_[1].end)==0&&(_=[s.fromPoints(_[1].start,_[0].end)])),f.$bracketHighlight={ranges:_,markerIds:_.map(function(D){return f.addMarker(D,z,"text")})},u.getHighlightIndentGuides()&&u.renderer.$textLayer.$highlightIndentGuide()}},50)}},d.prototype.focus=function(){this.textInput.focus()},d.prototype.isFocused=function(){return this.textInput.isFocused()},d.prototype.blur=function(){this.textInput.blur()},d.prototype.onFocus=function(u){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",u))},d.prototype.onBlur=function(u){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",u))},d.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},d.prototype.onDocumentChange=function(u){var f=this.session.$useWrapMode,w=u.start.row==u.end.row?u.end.row:1/0;this.renderer.updateLines(u.start.row,w,f),this._signal("change",u),this.$cursorChange()},d.prototype.onTokenizerUpdate=function(u){var f=u.data;this.renderer.updateLines(f.first,f.last)},d.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},d.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},d.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},d.prototype.$updateHighlightActiveLine=function(){var u=this.getSession(),f;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(f=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(f=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(f=!1)),u.$highlightLineMarker&&!f)u.removeMarker(u.$highlightLineMarker.id),u.$highlightLineMarker=null;else if(!u.$highlightLineMarker&&f){var w=new s(f.row,f.column,f.row,1/0);w.id=u.addMarker(w,"ace_active-line","screenLine"),u.$highlightLineMarker=w}else f&&(u.$highlightLineMarker.start.row=f.row,u.$highlightLineMarker.end.row=f.row,u.$highlightLineMarker.start.column=f.column,u._signal("changeBackMarker"))},d.prototype.onSelectionChange=function(u){var f=this.session;if(f.$selectionMarker&&f.removeMarker(f.$selectionMarker),f.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var w=this.selection.getRange(),k=this.getSelectionStyle();f.$selectionMarker=f.addMarker(w,"ace_selection",k)}var L=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(L),this._signal("changeSelection")},d.prototype.$getSelectionHighLightRegexp=function(){var u=this.session,f=this.getSelectionRange();if(!(f.isEmpty()||f.isMultiLine())){var w=f.start.column,k=f.end.column,L=u.getLine(f.start.row),_=L.substring(w,k);if(!(_.length>5e3||!/[\w\d]/.test(_))){var R=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:_}),I=L.substring(w-1,k+1);if(R.test(I))return R}}},d.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},d.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},d.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},d.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},d.prototype.onChangeMode=function(u){this.renderer.updateText(),this._emit("changeMode",u)},d.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},d.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},d.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},d.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},d.prototype.getCopyText=function(){var u=this.getSelectedText(),f=this.session.doc.getNewLineCharacter(),w=!1;if(!u&&this.$copyWithEmptySelection){w=!0;for(var k=this.selection.getAllRanges(),L=0;L<k.length;L++){var _=k[L];L&&k[L-1].start.row==_.start.row||(u+=this.session.getLine(_.start.row)+f)}}var R={text:u};return this._signal("copy",R),T.lineMode=w?R.text:!1,R.text},d.prototype.onCopy=function(){this.commands.exec("copy",this)},d.prototype.onCut=function(){this.commands.exec("cut",this)},d.prototype.onPaste=function(u,f){var w={text:u,event:f};this.commands.exec("paste",this,w)},d.prototype.$handlePaste=function(u){typeof u=="string"&&(u={text:u}),this._signal("paste",u);var f=u.text,w=f===T.lineMode,k=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)w?k.insert({row:this.selection.lead.row,column:0},f):this.insert(f);
202else if(w)this.selection.rangeList.ranges.forEach(function(z){k.insert({row:z.start.row,column:0},f)});else{var L=f.split(/\r\n|\r|\n/),_=this.selection.rangeList.ranges,R=L.length==2&&(!L[0]||!L[1]);if(L.length!=_.length||R)return this.commands.exec("insertstring",this,f);for(var I=_.length;I--;){var O=_[I];O.isEmpty()||k.remove(O),k.insert(O.start,L[I])}}},d.prototype.execCommand=function(u,f){return this.commands.exec(u,this,f)},d.prototype.insert=function(u,f){var w=this.session,k=w.getMode(),L=this.getCursorPosition();if(this.getBehavioursEnabled()&&!f){var _=k.transformAction(w.getState(L.row),"insertion",this,w,u);_&&(u!==_.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),u=_.text)}if(u=="	"&&(u=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&u.indexOf(`
203`)==-1){var R=s.fromPoints(L,L);R.end.column+=u.length,this.session.remove(R)}}else{var R=this.getSelectionRange();L=this.session.remove(R),this.clearSelection()}if(u==`
204`||u==`\r
205`){var D=w.getLine(L.row);if(L.column>D.search(/\S|$/)){var I=D.substr(L.column).search(/\S|$/);w.doc.removeInLine(L.row,L.column,L.column+I)}}this.clearSelection();var O=L.column,z=w.getState(L.row),D=w.getLine(L.row),F=k.checkOutdent(z,D,u);if(w.insert(L,u),_&&_.selection&&(_.selection.length==2?this.selection.setSelectionRange(new s(L.row,O+_.selection[0],L.row,O+_.selection[1])):this.selection.setSelectionRange(new s(L.row+_.selection[0],_.selection[1],L.row+_.selection[2],_.selection[3]))),this.$enableAutoIndent){if(w.getDocument().isNewLine(u)){var B=k.getNextLineIndent(z,D.slice(0,L.column),w.getTabString());w.insert({row:L.row+1,column:0},B)}F&&k.autoOutdent(z,w,L.row)}},d.prototype.autoIndent=function(){for(var u=this.session,f=u.getMode(),w=this.selection.isEmpty()?[new s(0,0,u.doc.getLength()-1,0)]:this.selection.getAllRanges(),k="",L="",_="",R=u.getTabString(),I=0;I<w.length;I++)for(var O=w[I].start.row,z=w[I].end.row,D=O;D<=z;D++){D>0&&(k=u.getState(D-1),L=u.getLine(D-1),_=f.getNextLineIndent(k,L,R));var F=u.getLine(D),B=f.$getIndent(F);if(_!==B){if(B.length>0){var W=new s(D,0,D,B.length);u.remove(W)}_.length>0&&u.insert({row:D,column:0},_)}f.autoOutdent(k,u,D)}},d.prototype.onTextInput=function(u,f){if(!f)return this.keyBinding.onTextInput(u);this.startOperation({command:{name:"insertstring"}});var w=this.applyComposition.bind(this,u,f);this.selection.rangeCount?this.forEachSelection(w):w(),this.endOperation()},d.prototype.applyComposition=function(u,f){if(f.extendLeft||f.extendRight){var w=this.selection.getRange();w.start.column-=f.extendLeft,w.end.column+=f.extendRight,w.start.column<0&&(w.start.row--,w.start.column+=this.session.getLine(w.start.row).length+1),this.selection.setRange(w),!u&&!w.isEmpty()&&this.remove()}if((u||!this.selection.isEmpty())&&this.insert(u,!0),f.restoreStart||f.restoreEnd){var w=this.selection.getRange();w.start.column-=f.restoreStart,w.end.column-=f.restoreEnd,this.selection.setRange(w)}},d.prototype.onCommandKey=function(u,f,w){return this.keyBinding.onCommandKey(u,f,w)},d.prototype.setOverwrite=function(u){this.session.setOverwrite(u)},d.prototype.getOverwrite=function(){return this.session.getOverwrite()},d.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},d.prototype.setScrollSpeed=function(u){this.setOption("scrollSpeed",u)},d.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},d.prototype.setDragDelay=function(u){this.setOption("dragDelay",u)},d.prototype.getDragDelay=function(){return this.getOption("dragDelay")},d.prototype.setSelectionStyle=function(u){this.setOption("selectionStyle",u)},d.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},d.prototype.setHighlightActiveLine=function(u){this.setOption("highlightActiveLine",u)},d.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},d.prototype.setHighlightGutterLine=function(u){this.setOption("highlightGutterLine",u)},d.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},d.prototype.setHighlightSelectedWord=function(u){this.setOption("highlightSelectedWord",u)},d.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},d.prototype.setAnimatedScroll=function(u){this.renderer.setAnimatedScroll(u)},d.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},d.prototype.setShowInvisibles=function(u){this.renderer.setShowInvisibles(u)},d.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},d.prototype.setDisplayIndentGuides=function(u){this.renderer.setDisplayIndentGuides(u)},d.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},d.prototype.setHighlightIndentGuides=function(u){this.renderer.setHighlightIndentGuides(u)},d.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},d.prototype.setShowPrintMargin=function(u){this.renderer.setShowPrintMargin(u)},d.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},d.prototype.setPrintMarginColumn=function(u){this.renderer.setPrintMarginColumn(u)},d.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},d.prototype.setReadOnly=function(u){this.setOption("readOnly",u)},d.prototype.getReadOnly=function(){return this.getOption("readOnly")},d.prototype.setBehavioursEnabled=function(u){this.setOption("behavioursEnabled",u)},d.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},d.prototype.setWrapBehavioursEnabled=function(u){this.setOption("wrapBehavioursEnabled",u)},d.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},d.prototype.setShowFoldWidgets=function(u){this.setOption("showFoldWidgets",u)},d.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},d.prototype.setFadeFoldWidgets=function(u){this.setOption("fadeFoldWidgets",u)},d.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},d.prototype.remove=function(u){this.selection.isEmpty()&&(u=="left"?this.selection.selectLeft():this.selection.selectRight());var f=this.getSelectionRange();if(this.getBehavioursEnabled()){var w=this.session,k=w.getState(f.start.row),L=w.getMode().transformAction(k,"deletion",this,w,f);if(f.end.column===0){var _=w.getTextRange(f);if(_[_.length-1]==`
206`){var R=w.getLine(f.end.row);/^\s+$/.test(R)&&(f.end.column=R.length)}}L&&(f=L)}this.session.remove(f),this.clearSelection()},d.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},d.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},d.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},d.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var u=this.getSelectionRange();u.start.column==u.end.column&&u.start.row==u.end.row&&(u.end.column=0,u.end.row++),this.session.remove(u),this.clearSelection()},d.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var u=this.getCursorPosition();this.insert(`
207`),this.moveCursorToPosition(u)},d.prototype.setGhostText=function(u,f){this.renderer.setGhostText(u,f)},d.prototype.removeGhostText=function(){this.renderer.removeGhostText()},d.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var u=this.getCursorPosition(),f=u.column;if(f!==0){var w=this.session.getLine(u.row),k,L;f<w.length?(k=w.charAt(f)+w.charAt(f-1),L=new s(u.row,f-1,u.row,f+1)):(k=w.charAt(f-1)+w.charAt(f-2),L=new s(u.row,f-2,u.row,f)),this.session.replace(L,k),this.session.selection.moveToPosition(L.end)}}},d.prototype.toLowerCase=function(){var u=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var f=this.getSelectionRange(),w=this.session.getTextRange(f);this.session.replace(f,w.toLowerCase()),this.selection.setSelectionRange(u)},d.prototype.toUpperCase=function(){var u=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var f=this.getSelectionRange(),w=this.session.getTextRange(f);this.session.replace(f,w.toUpperCase()),this.selection.setSelectionRange(u)},d.prototype.indent=function(){var u=this.session,f=this.getSelectionRange();if(f.start.row<f.end.row){var w=this.$getSelectedRows();u.indentRows(w.first,w.last,"	");return}else if(f.start.column<f.end.column){var k=u.getTextRange(f);if(!/^\s+$/.test(k)){var w=this.$getSelectedRows();u.indentRows(w.first,w.last,"	");return}}var L=u.getLine(f.start.row),_=f.start,R=u.getTabSize(),I=u.documentToScreenColumn(_.row,_.column);
207if(this.session.getUseSoftTabs())var O=R-I%R,z=a.stringRepeat(" ",O);else{for(var O=I%R;L[f.start.column-1]==" "&&O;)f.start.column--,O--;this.selection.setSelectionRange(f),z="	"}return this.insert(z)},d.prototype.blockIndent=function(){var u=this.$getSelectedRows();this.session.indentRows(u.first,u.last,"	")},d.prototype.blockOutdent=function(){var u=this.session.getSelection();this.session.outdentRows(u.getRange())},d.prototype.sortLines=function(){for(var u=this.$getSelectedRows(),f=this.session,w=[],k=u.first;k<=u.last;k++)w.push(f.getLine(k));w.sort(function(R,I){return R.toLowerCase()<I.toLowerCase()?-1:R.toLowerCase()>I.toLowerCase()?1:0});for(var L=new s(0,0,0,0),k=u.first;k<=u.last;k++){var _=f.getLine(k);L.start.row=k,L.end.row=k,L.end.column=_.length,f.replace(L,w[k-u.first])}},d.prototype.toggleCommentLines=function(){var u=this.session.getState(this.getCursorPosition().row),f=this.$getSelectedRows();this.session.getMode().toggleCommentLines(u,this.session,f.first,f.last)},d.prototype.toggleBlockComment=function(){var u=this.getCursorPosition(),f=this.session.getState(u.row),w=this.getSelectionRange();this.session.getMode().toggleBlockComment(f,this.session,w,u)},d.prototype.getNumberAt=function(u,f){var w=/[\-]?[0-9]+(?:\.[0-9]+)?/g;w.lastIndex=0;for(var k=this.session.getLine(u);w.lastIndex<f;){var L=w.exec(k);if(L.index<=f&&L.index+L[0].length>=f){var _={value:L[0],start:L.index,end:L.index+L[0].length};return _}}return null},d.prototype.modifyNumber=function(u){var f=this.selection.getCursor().row,w=this.selection.getCursor().column,k=new s(f,w-1,f,w),L=this.session.getTextRange(k);if(!isNaN(parseFloat(L))&&isFinite(L)){var _=this.getNumberAt(f,w);if(_){var R=_.value.indexOf(".")>=0?_.start+_.value.indexOf(".")+1:_.end,I=_.start+_.value.length-R,O=parseFloat(_.value);O*=Math.pow(10,I),R!==_.end&&w<R?u*=Math.pow(10,_.end-w-1):u*=Math.pow(10,_.end-w),O+=u,O/=Math.pow(10,I);var z=O.toFixed(I),D=new s(f,_.start,f,_.end);this.session.replace(D,z),this.moveCursorTo(f,Math.max(_.start+1,w+z.length-_.value.length))}}else this.toggleWord()},d.prototype.toggleWord=function(){var u=this.selection.getCursor().row,f=this.selection.getCursor().column;this.selection.selectWord();var w=this.getSelectedText(),k=this.selection.getWordRange().start.column,L=w.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),_=f-k-1;_<0&&(_=0);var R=0,I=0,O=this;w.match(/[A-Za-z0-9_]+/)&&L.forEach(function(V,Q){I=R+V.length,_>=R&&_<=I&&(w=V,O.selection.clearSelection(),O.moveCursorTo(u,R+k),O.selection.selectTo(u,I+k)),R=I});for(var z=this.$toggleWordPairs,D,F=0;F<z.length;F++)for(var B=z[F],W=0;W<=1;W++){var j=+!W,G=w.match(new RegExp("^\\s?_?("+a.escapeRegExp(B[W])+")\\s?$","i"));if(G){var K=w.match(new RegExp("([_]|^|\\s)("+a.escapeRegExp(G[1])+")($|\\s)","g"));K&&(D=w.replace(new RegExp(a.escapeRegExp(B[W]),"i"),function(V){var Q=B[j];return V.toUpperCase()==V?Q=Q.toUpperCase():V.charAt(0).toUpperCase()==V.charAt(0)&&(Q=Q.substr(0,0)+B[j].charAt(0).toUpperCase()+Q.substr(1)),Q}),this.insert(D),D="")}}},d.prototype.findLinkAt=function(u,f){var w,k,L=this.session.getLine(u),_=L.split(/((?:https?|ftp):\/\/[\S]+)/),R=f;R<0&&(R=0);var I=0,O=0,z;try{for(var D=A(_),F=D.next();!F.done;F=D.next()){var B=F.value;if(O=I+B.length,R>=I&&R<=O&&B.match(/((?:https?|ftp):\/\/[\S]+)/)){z=B.replace(/[\s:.,'";}\]]+$/,"");break}I=O}}catch(W){w={error:W}}finally{try{F&&!F.done&&(k=D.return)&&k.call(D)}finally{if(w)throw w.error}}return z},d.prototype.openLink=function(){var u=this.selection.getCursor(),f=this.findLinkAt(u.row,u.column);return f&&window.open(f,"_blank"),f!=null},d.prototype.removeLines=function(){var u=this.$getSelectedRows();this.session.removeFullLines(u.first,u.last),this.clearSelection()},d.prototype.duplicateSelection=function(){var u=this.selection,f=this.session,w=u.getRange(),k=u.isBackwards();if(w.isEmpty()){var L=w.start.row;f.duplicateLines(L,L)}else{var _=k?w.start:w.end,R=f.insert(_,f.getTextRange(w));w.start=_,w.end=R,u.setSelectionRange(w,k)}},d.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},d.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},d.prototype.moveText=function(u,f,w){return this.session.moveText(u,f,w)}
207,d.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},d.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},d.prototype.$moveLines=function(u,f){var w,k,L=this.selection;if(!L.inMultiSelectMode||this.inVirtualSelectionMode){var _=L.toOrientedRange();w=this.$getSelectedRows(_),k=this.session.$moveLines(w.first,w.last,f?0:u),f&&u==-1&&(k=0),_.moveBy(k,0),L.fromOrientedRange(_)}else{var R=L.rangeList.ranges;L.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var I=0,O=0,z=R.length,D=0;D<z;D++){var F=D;R[D].moveBy(I,0),w=this.$getSelectedRows(R[D]);for(var B=w.first,W=w.last;++D<z;){O&&R[D].moveBy(O,0);var j=this.$getSelectedRows(R[D]);if(f&&j.first!=W)break;if(!f&&j.first>W+1)break;W=j.last}for(D--,I=this.session.$moveLines(B,W,f?0:u),f&&u==-1&&(F=D+1);F<=D;)R[F].moveBy(I,0),F++;f||(I=0),O+=I}L.fromOrientedRange(L.ranges[0]),L.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},d.prototype.$getSelectedRows=function(u){return u=(u||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(u.start.row),last:this.session.getRowFoldEnd(u.end.row)}},d.prototype.onCompositionStart=function(u){this.renderer.showComposition(u)},d.prototype.onCompositionUpdate=function(u){this.renderer.setCompositionText(u)},d.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},d.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},d.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},d.prototype.isRowVisible=function(u){return u>=this.getFirstVisibleRow()&&u<=this.getLastVisibleRow()},d.prototype.isRowFullyVisible=function(u){return u>=this.renderer.getFirstFullyVisibleRow()&&u<=this.renderer.getLastFullyVisibleRow()},d.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},d.prototype.$moveByPage=function(u,f){var w=this.renderer,k=this.renderer.layerConfig,L=u*Math.floor(k.height/k.lineHeight);f===!0?this.selection.$moveSelection(function(){this.moveCursorBy(L,0)}):f===!1&&(this.selection.moveCursorBy(L,0),this.selection.clearSelection());var _=w.scrollTop;w.scrollBy(0,L*k.lineHeight),f!=null&&w.scrollCursorIntoView(null,.5),w.animateScrolling(_)},d.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},d.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},d.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},d.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},d.prototype.scrollPageDown=function(){this.$moveByPage(1)},d.prototype.scrollPageUp=function(){this.$moveByPage(-1)},d.prototype.scrollToRow=function(u){this.renderer.scrollToRow(u)},d.prototype.scrollToLine=function(u,f,w,k){this.renderer.scrollToLine(u,f,w,k)},d.prototype.centerSelection=function(){var u=this.getSelectionRange(),f={row:Math.floor(u.start.row+(u.end.row-u.start.row)/2),column:Math.floor(u.start.column+(u.end.column-u.start.column)/2)};this.renderer.alignCursor(f,.5)},d.prototype.getCursorPosition=function(){return this.selection.getCursor()},d.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},d.prototype.getSelectionRange=function(){return this.selection.getRange()},d.prototype.selectAll=function(){this.selection.selectAll()},d.prototype.clearSelection=function(){this.selection.clearSelection()},d.prototype.moveCursorTo=function(u,f){this.selection.moveCursorTo(u,f)},d.prototype.moveCursorToPosition=function(u){this.selection.moveCursorToPosition(u)},d.prototype.jumpToMatching=function(u,f){var w=this.getCursorPosition(),k=new p(this.session,w.row,w.column),L=k.getCurrentToken(),_=0;L&&L.type.indexOf("tag-name")!==-1&&(L=k.stepBackward());var R=L||k.stepForward();if(R){var I,O=!1,z={},D=w.column-R.start,F,B={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(R.value.match(/[{}()\[\]]/g)){for(;D<R.value.length&&!O;D++)if(B[R.value[D]])switch(F=B[R.value[D]]+"."+R.type.replace("rparen","lparen"),isNaN(z[F])&&(z[F]=0),R.value[D]){case"(":case"[":case"{":z[F]++;break;case")":case"]":case"}":z[F]--,z[F]===-1&&(I="bracket",O=!0);break}}else R.type.indexOf("tag-name")!==-1&&(isNaN(z[R.value])&&(z[R.value]=0),L.value==="<"&&_>1?z[R.value]++:L.value==="</"&&z[R.value]--,z[R.value]===-1&&(I="tag",O=!0));O||(L=R,_++,R=k.stepForward(),D=0)}while(R&&!O);if(I){var W,j;if(I==="bracket")W=this.session.getBracketRange(w),W||(W=new s(k.getCurrentTokenRow(),k.getCurrentTokenColumn()+D-1,k.getCurrentTokenRow(),k.getCurrentTokenColumn()+D-1),j=W.start,(f||j.row===w.row&&Math.abs(j.column-w.column)<2)&&(W=this.session.getBracketRange(j)));else if(I==="tag"){if(!R||R.type.indexOf("tag-name")===-1)return;if(W=new s(k.getCurrentTokenRow(),k.getCurrentTokenColumn()-2,k.getCurrentTokenRow(),k.getCurrentTokenColumn()-2),W.compare(w.row,w.column)===0){var G=this.session.getMatchingTags(w);G&&(G.openTag.contains(w.row,w.column)?(W=G.closeTag,j=W.start):(W=G.openTag,G.closeTag.start.row===w.row&&G.closeTag.start.column===w.column?j=W.end:j=W.start))}j=j||W.start}j=W&&W.cursor||j,j&&(u?W&&f?this.selection.setRange(W):W&&W.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(j.row,j.column):this.selection.moveTo(j.row,j.column))}}},d.prototype.gotoLine=function(u,f,w){this.selection.clearSelection(),this.session.unfold({row:u-1,column:f||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(u-1,f||0),this.isRowFullyVisible(u-1)||this.scrollToLine(u-1,!0,w)},d.prototype.navigateTo=function(u,f){this.selection.moveTo(u,f)},d.prototype.navigateUp=function(u){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var f=this.selection.anchor.getPosition();return this.moveCursorToPosition(f)}this.selection.clearSelection(),this.selection.moveCursorBy(-u||-1,0)},d.prototype.navigateDown=function(u){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var f=this.selection.anchor.getPosition();return this.moveCursorToPosition(f)}this.selection.clearSelection(),this.selection.moveCursorBy(u||1,0)},d.prototype.navigateLeft=function(u){if(this.selection.isEmpty())for(u=u||1;u--;)this.selection.moveCursorLeft();else{var f=this.getSelectionRange().start;this.moveCursorToPosition(f)}this.clearSelection()},d.prototype.navigateRight=function(u){if(this.selection.isEmpty())for(u=u||1;u--;)this.selection.moveCursorRight();else{var f=this.getSelectionRange().end;this.moveCursorToPosition(f)}this.clearSelection()},d.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},d.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},d.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},d.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},d.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},d.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},d.prototype.replace=function(u,f){f&&this.$search.set(f);var w=this.$search.find(this.session),k=0;return w&&(this.$tryReplace(w,u)&&(k=1),this.selection.setSelectionRange(w),this.renderer.scrollSelectionIntoView(w.start,w.end)),k},d.prototype.replaceAll=function(u,f){f&&this.$search.set(f);var w=this.$search.findAll(this.session),k=0;if(!w.length)return k;var L=this.getSelectionRange();this.selection.moveTo(0,0);for(var _=w.length-1;_>=0;--_)this.$tryReplace(w[_],u)&&k++;return this.selection.setSelectionRange(L),k},d.prototype.$tryReplace=function(u,f){var w=this.session.getTextRange(u);return f=this.$search.replace(w,f),f!==null?(u.end=this.session.replace(u,f),u):null},d.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},d.prototype.find=function(u,f,w){f||(f={}),typeof u=="string"||u instanceof RegExp?f.needle=u:typeof u=="object"&&x.mixin(f,u);var k=this.selection.getRange();f.needle==null&&(u=this.session.getTextRange(k)||this.$search.$options.needle,u||(k=this.session.getWordRange(k.start.row,k.start.column),u=this.session.getTextRange(k)),this.$search.set({needle:u})),this.$search.set(f),f.start||this.$search.set({start:k});var L=this.$search.find(this.session);if(f.preventScroll)return L;if(L)return this.revealRange(L,w),L;f.backwards?k.start=k.end:k.end=k.start,this.selection.setRange(k)}
207,d.prototype.findNext=function(u,f){this.find({skipCurrent:!0,backwards:!1},u,f)},d.prototype.findPrevious=function(u,f){this.find(u,{skipCurrent:!0,backwards:!0},f)},d.prototype.revealRange=function(u,f){this.session.unfold(u),this.selection.setSelectionRange(u);var w=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(u.start,u.end,.5),f!==!1&&this.renderer.animateScrolling(w)},d.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},d.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},d.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(u){u.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},d.prototype.setAutoScrollEditorIntoView=function(u){if(u){var f,w=this,k=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var L=this.$scrollAnchor;L.style.cssText="position:absolute",this.container.insertBefore(L,this.container.firstChild);var _=this.on("changeSelection",function(){k=!0}),R=this.renderer.on("beforeRender",function(){k&&(f=w.renderer.container.getBoundingClientRect())}),I=this.renderer.on("afterRender",function(){if(k&&f&&(w.isFocused()||w.searchBox&&w.searchBox.isFocused())){var O=w.renderer,z=O.$cursorLayer.$pixelPos,D=O.layerConfig,F=z.top-D.offset;z.top>=0&&F+f.top<0?k=!0:z.top<D.height&&z.top+f.top+D.lineHeight>window.innerHeight?k=!1:k=null,k!=null&&(L.style.top=F+"px",L.style.left=z.left+"px",L.style.height=D.lineHeight+"px",L.scrollIntoView(k)),k=f=null}});this.setAutoScrollEditorIntoView=function(O){O||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",_),this.renderer.off("afterRender",I),this.renderer.off("beforeRender",R))}}},d.prototype.$resetCursorStyle=function(){var u=this.$cursorStyle||"ace",f=this.renderer.$cursorLayer;f&&(f.setSmoothBlinking(/smooth/.test(u)),f.isBlinking=!this.$readOnly&&u!="wide",y.setCssClass(f.element,"ace_slim-cursors",/slim/.test(u)))},d.prototype.prompt=function(u,f,w){var k=this;m.loadModule("ace/ext/prompt",function(L){L.prompt(k,u,f,w)})},d}();C.$uid=0,C.prototype.curOp=null,C.prototype.prevOp={},C.prototype.$mergeableCommands=["backspace","del","insertstring"],C.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"],["&&","||"],["==","!="]],x.implement(C.prototype,l),m.defineOptions(C.prototype,"editor",{selectionStyle:{set:function(d){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:d})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(d){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(d){this.textInput.setReadOnly(d),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(d){this.textInput.setCopyWithEmptySelection(d)},initialValue:!1},cursorStyle:{set:function(d){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(d){this.setAutoScrollEditorIntoView(d)}},keyboardHandler:{set:function(d){this.setKeyboardHandler(d)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(d){this.session.setValue(d)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(d){this.setSession(d)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(d){this.renderer.$gutterLayer.setShowLineNumbers(d),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),d&&this.$relativeLineNumbers?E.attach(this):E.detach(this)},initialValue:!0}
207,relativeLineNumbers:{set:function(d){this.$showLineNumbers&&d?E.attach(this):E.detach(this)}},placeholder:{set:function(d){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var u=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(u&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),y.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!u&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),y.addCssClass(this.container,"ace_hasPlaceholder");var f=y.createElement("div");f.className="ace_placeholder",f.textContent=this.$placeholder||"",this.renderer.placeholderNode=f,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!u&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(d){var u={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(k){k.blur(),k.renderer.scroller.focus()},readOnly:!0},f=function(k){if(k.target==this.renderer.scroller&&k.keyCode===M.enter){k.preventDefault();var L=this.getCursorPosition().row;this.isRowVisible(L)||this.scrollToLine(L,!0,!0),this.focus()}},w;d?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(c.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",$("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",$("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",f.bind(this)),this.commands.addCommand(u),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",$("editor.gutter.aria-roledescription","editor")),this.renderer.$gutter.setAttribute("aria-label",$("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),w||(w=new g(this)),w.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",f.bind(this)),this.commands.removeCommand(u),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),w&&w.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(d){this.$textInputAriaLabel=d},initialValue:""},enableMobileMenu:{set:function(d){this.$enableMobileMenu=d},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",focu
207sTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var E={getText:function(d,u){return(Math.abs(d.selection.lead.row-u)||u+1+(u<9?"·":""))+""},getWidth:function(d,u,f){return Math.max(u.toString().length,(f.lastRow+1).toString().length,2)*f.characterWidth},update:function(d,u){u.renderer.$loop.schedule(u.renderer.CHANGE_GUTTER)},attach:function(d){d.renderer.$gutterLayer.$renderer=this,d.on("changeSelection",this.update),this.update(null,d)},detach:function(d){d.renderer.$gutterLayer.$renderer==this&&(d.renderer.$gutterLayer.$renderer=null),d.off("changeSelection",this.update),this.update(null,d)}};S.Editor=C}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(b,S,N){var A=b("../lib/dom"),x=function(){function y(a,c){this.element=a,this.canvasHeight=c||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return y.prototype.moveContainer=function(a){A.translate(this.element,0,-(a.firstRowScreen*a.lineHeight%this.canvasHeight)-a.offset*this.$offsetCoefficient)},y.prototype.pageChanged=function(a,c){return Math.floor(a.firstRowScreen*a.lineHeight/this.canvasHeight)!==Math.floor(c.firstRowScreen*c.lineHeight/this.canvasHeight)},y.prototype.computeLineTop=function(a,c,o){var r=c.firstRowScreen*c.lineHeight,n=Math.floor(r/this.canvasHeight),t=o.documentToScreenRow(a,0)*c.lineHeight;return t-n*this.canvasHeight},y.prototype.computeLineHeight=function(a,c,o){return c.lineHeight*o.getRowLineCount(a)},y.prototype.getLength=function(){return this.cells.length},y.prototype.get=function(a){return this.cells[a]},y.prototype.shift=function(){this.$cacheCell(this.cells.shift())},y.prototype.pop=function(){this.$cacheCell(this.cells.pop())},y.prototype.push=function(a){if(Array.isArray(a)){this.cells.push.apply(this.cells,a);for(var c=A.createFragment(this.element),o=0;o<a.length;o++)c.appendChild(a[o].element);this.element.appendChild(c)}else this.cells.push(a),this.element.appendChild(a.element)},y.prototype.unshift=function(a){if(Array.isArray(a)){this.cells.unshift.apply(this.cells,a);for(var c=A.createFragment(this.element),o=0;o<a.length;o++)c.appendChild(a[o].element);this.element.firstChild?this.element.insertBefore(c,this.element.firstChild):this.element.appendChild(c)}else this.cells.unshift(a),this.element.insertAdjacentElement("afterbegin",a.element)},y.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},y.prototype.$cacheCell=function(a){a&&(a.element.remove(),this.cellCache.push(a))},y.prototype.createCell=function(a,c,o,r){var n=this.cellCache.pop();if(!n){var t=A.createElement("div");r&&r(t),this.element.appendChild(t),n={element:t,text:"",row:a}}return n.row=a,n},y}();S.Lines=x}),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(b,S,N){var A=b("../lib/dom"),x=b("../lib/oop"),y=b("../lib/lang"),a=b("../lib/event_emitter").EventEmitter,c=b("./lines").Lines,o=b("../config").nls,r=function(){function t(e){this.element=A.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 c(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,i){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,i)},t.prototype.removeGutterDecoration=function(e,i){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,i)},t.prototype.setAnnotations=function(e){this.$annotations=[];for(var i=0;i<e.length;i++){var s=e[i],l=s.row,h=this.$annotations[l];h||(h=this.$annotations[l]={text:[],type:[],displayText:[]});var v=s.text,m=s.text,p=s.type;v=v?y.escapeHTML(v):s.html||"",m=m||s.html||"",h.text.indexOf(v)===-1&&(h.text.push(v),h.type.pu
207sh(p),h.displayText.push(m));var g=s.className;g?h.className=g:p==="error"?h.className=" ace_error":p==="security"&&!/\bace_error\b/.test(h.className)?h.className=" ace_security":p==="warning"&&!/\bace_(error|security)\b/.test(h.className)?h.className=" ace_warning":p==="info"&&!h.className?h.className=" ace_info":p==="hint"&&!h.className&&(h.className=" ace_hint")}},t.prototype.$updateAnnotations=function(e){if(this.$annotations.length){var i=e.start.row,s=e.end.row-i;if(s!==0)if(e.action=="remove")this.$annotations.splice(i,s+1,null);else{var l=new Array(s+1);l.unshift(i,1),this.$annotations.splice.apply(this.$annotations,l)}}},t.prototype.update=function(e){this.config=e;var i=this.session,s=e.firstRow,l=Math.min(e.lastRow+e.gutterOffset,i.getLength()-1);this.oldLastRow=l,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var h=i.getNextFoldLine(s),v=h?h.start.row:1/0,m=null,p=-1,g=s;;){if(g>v&&(g=h.end.row+1,h=i.getNextFoldLine(g,h),v=h?h.start.row:1/0),g>l){for(;this.$lines.getLength()>p+1;)this.$lines.pop();break}m=this.$lines.get(++p),m?m.row=g:(m=this.$lines.createCell(g,e,this.session,n),this.$lines.push(m)),this.$renderCell(m,e,h,g),g++}this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$updateGutterWidth=function(e){var i=this.session,s=i.gutterRenderer||this.$renderer,l=i.$firstLineNumber,h=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||i.$useWrapMode)&&(h=i.getLength()+l-1);var v=s?s.getWidth(i,h,e):h.toString().length*e.characterWidth,m=this.$padding||this.$computePadding();v+=m.left+m.right,v!==this.gutterWidth&&!isNaN(v)&&(this.gutterWidth=v,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",v))},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.$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 i=this.$lines.cells;this.$cursorCell=null;for(var s=0;s<i.length;s++){var l=i[s];if(l.row>=this.$cursorRow){if(l.row>this.$cursorRow){var h=this.session.getFoldLine(this.$cursorRow);if(s>0&&h&&h.start.row==i[s-1].row)l=i[s-1];else break}l.element.className="ace_gutter-active-line "+l.element.className,this.$cursorCell=l;break}}}}},t.prototype.scrollLines=function(e){var i=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(i,e))return this.update(e);this.$lines.moveContainer(e);var s=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),l=this.oldLastRow;if(this.oldLastRow=s,!i||l<e.firstRow)return this.update(e);if(s<i.firstRow)return this.update(e);if(i.firstRow<e.firstRow)for(var h=this.session.getFoldedRowCount(i.firstRow,e.firstRow-1);h>0;h--)this.$lines.shift();if(l>s)for(var h=this.session.getFoldedRowCount(s+1,l);h>0;h--)this.$lines.pop();e.firstRow<i.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,i.firstRow-1)),s>l&&this.$lines.push(this.$renderLines(e,l+1,s)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$renderLines=function(e,i,s){for(var l=[],h=i,v=this.session.getNextFoldLine(h),m=v?v.start.row:1/0;h>m&&(h=v.end.row+1,v=this.session.getNextFoldLine(h,v),m=v?v.start.row:1/0),!(h>s);){var p=this.$lines.createCell(h,e,this.session,n);this.$renderCell(p,e,v,h),l.push(p),h++}return l},t.prototype.$renderCell=function(e,i,s,l){var h=e.element,v=this.session,m=h.childNodes[0],p=h.childNodes[1],g=h.childNodes[2],$=g.firstChild,T=v.$firstLineNumber,M=v.$breakpoints,C=v.$decorations,E=v.gutterRenderer||this.$renderer,d=this.$showFoldWidgets&&v.foldWidgets,u=s?s.start.row:Number.MAX_VALUE,f=i.lineHeight+"px",w=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",k=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",L=(E?E.getText(v,l):l+T).toString();
207if(this.$highlightGutterLine&&(l==this.$cursorRow||s&&l<this.$cursorRow&&l>=u&&this.$cursorRow<=s.end.row)&&(w+="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)),M[l]&&(w+=M[l]),C[l]&&(w+=C[l]),this.$annotations[l]&&l!==u&&(w+=this.$annotations[l].className),d){var _=d[l];_==null&&(_=d[l]=v.getFoldWidget(l))}if(_){var R="ace_fold-widget ace_"+_,I=_=="start"&&l==u&&l<s.end.row;if(I){R+=" ace_closed";for(var O="",z=!1,D=l+1;D<=s.end.row;D++)if(this.$annotations[D]){if(this.$annotations[D].className===" ace_error"){z=!0,O=" ace_error_fold";break}this.$annotations[D].className===" ace_security"?(z=!0,O=" ace_security_fold"):this.$annotations[D].className===" ace_warning"&&O!==" ace_security_fold"&&(z=!0,O=" ace_warning_fold")}w+=O}else R+=" ace_open";p.className!=R&&(p.className=R),A.setStyle(p.style,"height",f),A.setStyle(p.style,"display","inline-block"),p.setAttribute("role","button"),p.setAttribute("tabindex","-1");var F=v.getFoldWidgetRange(l);F?p.setAttribute("aria-label",o("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[F.start.row+1,F.end.row+1])):s?p.setAttribute("aria-label",o("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[s.start.row+1,s.end.row+1])):p.setAttribute("aria-label",o("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[l+1])),I?(p.setAttribute("aria-expanded","false"),p.setAttribute("title",o("gutter.code-folding.closed.title","Unfold code"))):(p.setAttribute("aria-expanded","true"),p.setAttribute("title",o("gutter.code-folding.open.title","Fold code")))}else p&&(A.setStyle(p.style,"display","none"),p.setAttribute("tabindex","0"),p.removeAttribute("role"),p.removeAttribute("aria-label"));if(z&&this.$showFoldedAnnotations){g.className="ace_gutter_annotation",$.className=k,$.className+=O,A.setStyle($.style,"height",f),A.setStyle(g.style,"display","block"),A.setStyle(g.style,"height",f);var B;switch(O){case" ace_error_fold":B=o("gutter.annotation.aria-label.error","Error, read annotations row $0",[L]);break;case" ace_security_fold":B=o("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[L]);break;case" ace_warning_fold":B=o("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[L]);break}g.setAttribute("aria-label",B),g.setAttribute("tabindex","-1"),g.setAttribute("role","button")}else if(this.$annotations[l]){g.className="ace_gutter_annotation",$.className=k,this.$useSvgGutterIcons?$.className+=this.$annotations[l].className:h.classList.add(this.$annotations[l].className.replace(" ","")),A.setStyle($.style,"height",f),A.setStyle(g.style,"display","block"),A.setStyle(g.style,"height",f);var B;switch(this.$annotations[l].className){case" ace_error":B=o("gutter.annotation.aria-label.error","Error, read annotations row $0",[L]);break;case" ace_security":B=o("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[L]);break;case" ace_warning":B=o("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[L]);break;case" ace_info":B=o("gutter.annotation.aria-label.info","Info, read annotations row $0",[L]);break;case" ace_hint":B=o("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[L]);break}g.setAttribute("aria-label",B),g.setAttribute("tabindex","-1"),g.setAttribute("role","button")}else A.setStyle(g.style,"display","none"),g.removeAttribute("aria-label"),g.removeAttribute("role"),g.setAttribute("tabindex","0");return L!==m.data&&(m.data=L),h.className!=w&&(h.className=w),A.setStyle(e.element.style,"height",this.$lines.computeLineHeight(l,i,v)+"px"),A.setStyle(e.element.style,"top",this.$lines.computeLineTop(l,i,v)+"px"),e.text=L,g.style.display==="none"&&p.style.display==="none"?e.element.setAttribute("aria-hidden",!0):e.element.setAttribute("aria-hidden",!1),e},t.prototype.setHighlightGutterLine=function(e){this.$highlightGutterLine=e},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?A.addCssClass(this.element,"ace_folding-enabled"):A.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},t.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},t.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=A.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 i=this.$padding||this.$computePadding(),s=this.element.getBoundingClientRect();if(e.x<i.left+s.left)return"markers";if(this.$showFoldWidgets&&e.x>s.right-i.right)return"foldWidgets"},t}();r.prototype.$fixedWidth=!1,r.prototype.$highlightGutterLine=!0,r.prototype.$renderer="",r.prototype.$showLineNumbers=!0,r.prototype.$showFoldWidgets=!0,x.implement(r.prototype,a);function n(t){var e=document.createTextNode("");t.appendChild(e);var i=A.createElement("span");t.appendChild(i);var s=A.createElement("span");t.appendChild(s);var l=A.createElement("span");return s.appendChild(l),t}S.Gutter=r}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(b,S,N){var A=b("../range").Range,x=b("../lib/dom"),y=function(){function c(o){this.element=x.createElement("div"),this.element.className="ace_layer ace_marker-layer",o.appendChild(this.element)}return c.prototype.setPadding=function(o){this.$padding=o},c.prototype.setSession=function(o){this.session=o},c.prototype.setMarkers=function(o){this.markers=o},c.prototype.elt=function(o,r){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=r,n.className=o}
207,c.prototype.update=function(o){if(o){this.config=o,this.i=0;var r;for(var n in this.markers){var t=this.markers[n];if(!t.range){t.update(r,this,this.session,o);continue}var e=t.range.clipRows(o.firstRow,o.lastRow);if(!e.isEmpty())if(e=e.toScreenRange(this.session),t.renderer){var i=this.$getTop(e.start.row,o),s=this.$padding+e.start.column*o.characterWidth;t.renderer(r,e,s,i,o)}else t.type=="fullLine"?this.drawFullLineMarker(r,e,t.clazz,o):t.type=="screenLine"?this.drawScreenLineMarker(r,e,t.clazz,o):e.isMultiLine()?t.type=="text"?this.drawTextMarker(r,e,t.clazz,o):this.drawMultiLineMarker(r,e,t.clazz,o):this.drawSingleLineMarker(r,e,t.clazz+" ace_start ace_br15",o)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},c.prototype.$getTop=function(o,r){return(o-r.firstRowScreen)*r.lineHeight},c.prototype.drawTextMarker=function(o,r,n,t,e){for(var i=this.session,s=r.start.row,l=r.end.row,h=s,v=0,m=0,p=i.getScreenLastRowColumn(h),g=new A(h,r.start.column,h,m);h<=l;h++)g.start.row=g.end.row=h,g.start.column=h==s?r.start.column:i.getRowWrapIndent(h),g.end.column=p,v=m,m=p,p=h+1<l?i.getScreenLastRowColumn(h+1):h==l?0:r.end.column,this.drawSingleLineMarker(o,g,n+(h==s?" ace_start":"")+" ace_br"+a(h==s||h==s+1&&r.start.column,v<m,m>p,h==l),t,h==l?0:1,e)},c.prototype.drawMultiLineMarker=function(o,r,n,t,e){var i=this.$padding,s=t.lineHeight,l=this.$getTop(r.start.row,t),h=i+r.start.column*t.characterWidth;if(e=e||"",this.session.$bidiHandler.isBidiRow(r.start.row)){var v=r.clone();v.end.row=v.start.row,v.end.column=this.session.getLine(v.start.row).length,this.drawBidiSingleLineMarker(o,v,n+" ace_br1 ace_start",t,null,e)}else this.elt(n+" ace_br1 ace_start","height:"+s+"px;right:"+i+"px;top:"+l+"px;left:"+h+"px;"+(e||""));if(this.session.$bidiHandler.isBidiRow(r.end.row)){var v=r.clone();v.start.row=v.end.row,v.start.column=0,this.drawBidiSingleLineMarker(o,v,n+" ace_br12",t,null,e)}else{l=this.$getTop(r.end.row,t);var m=r.end.column*t.characterWidth;this.elt(n+" ace_br12","height:"+s+"px;width:"+m+"px;top:"+l+"px;left:"+i+"px;"+(e||""))}if(s=(r.end.row-r.start.row-1)*t.lineHeight,!(s<=0)){l=this.$getTop(r.start.row+1,t);var p=(r.start.column?1:0)|(r.end.column?0:8);this.elt(n+(p?" ace_br"+p:""),"height:"+s+"px;right:"+i+"px;top:"+l+"px;left:"+i+"px;"+(e||""))}},c.prototype.drawSingleLineMarker=function(o,r,n,t,e,i){if(this.session.$bidiHandler.isBidiRow(r.start.row))return this.drawBidiSingleLineMarker(o,r,n,t,e,i);var s=t.lineHeight,l=(r.end.column+(e||0)-r.start.column)*t.characterWidth,h=this.$getTop(r.start.row,t),v=this.$padding+r.start.column*t.characterWidth;this.elt(n,"height:"+s+"px;width:"+l+"px;top:"+h+"px;left:"+v+"px;"+(i||""))},c.prototype.drawBidiSingleLineMarker=function(o,r,n,t,e,i){var s=t.lineHeight,l=this.$getTop(r.start.row,t),h=this.$padding,v=this.session.$bidiHandler.getSelections(r.start.column,r.end.column);v.forEach(function(m){this.elt(n,"height:"+s+"px;width:"+(m.width+(e||0))+"px;top:"+l+"px;left:"+(h+m.left)+"px;"+(i||""))},this)},c.prototype.drawFullLineMarker=function(o,r,n,t,e){var i=this.$getTop(r.start.row,t),s=t.lineHeight;r.start.row!=r.end.row&&(s+=this.$getTop(r.end.row,t)-i),this.elt(n,"height:"+s+"px;top:"+i+"px;left:0;right:0;"+(e||""))},c.prototype.drawScreenLineMarker=function(o,r,n,t,e){var i=this.$getTop(r.start.row,t),s=t.lineHeight;this.elt(n,"height:"+s+"px;top:"+i+"px;left:0;right:0;"+(e||""))},c}();y.prototype.$padding=0;function a(c,o,r,n){return(c?1:0)|(o?2:0)|(r?4:0)|(n?8:0)}S.Marker=y}),ace.define("ace/layer/text_util",["require","exports","module"],function(b,S,N){var A=new Set(["text","rparen","lparen"]);S.isTextToken=function(x){return A.has(x)}}),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(b,S,N){var A=b("../lib/oop"),x=b("../lib/dom"),y=b("../lib/lang"),a=b("./lines").Lines,c=b("../lib/event_emitter").EventEmitter,o=b("../config").nls,r=b("./text_util").isTextToken,n=function(){function t(e){this.dom=x,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,i=e.getNewLineCharacter()==`
208`&&e.getNewLineMode()!="windows",s=i?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(i){this._signal("changeCharacterSize",i
208)}).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 i=this.$tabStrings=[0],s=1;s<e+1;s++)if(this.showTabs){var l=this.dom.createElement("span");l.className="ace_invisible ace_invisible_tab",l.textContent=y.stringRepeat(this.TAB_CHAR,s),i.push(l)}else i.push(this.dom.createTextNode(y.stringRepeat(" ",s),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var h="ace_indent-guide",v=this.showSpaces?" ace_invisible ace_invisible_space":"",m=this.showSpaces?y.stringRepeat(this.SPACE_CHAR,this.tabSize):y.stringRepeat(" ",this.tabSize),p=this.showTabs?" ace_invisible ace_invisible_tab":"",g=this.showTabs?y.str
208ingRepeat(this.TAB_CHAR,this.tabSize):m,l=this.dom.createElement("span");l.className=h+v,l.textContent=m,this.$tabStrings[" "]=l;var l=this.dom.createElement("span");l.className=h+p,l.textContent=g,this.$tabStrings["	"]=l}},t.prototype.updateLines=function(e,i,s){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var l=Math.max(i,e.firstRow),h=Math.min(s,e.lastRow),v=this.element.childNodes,m=0,g=e.firstRow;g<l;g++){var $=this.session.getFoldLine(g);if($)if($.containsRow(l)){l=$.start.row;break}else g=$.end.row;m++}for(var p=!1,g=l,$=this.session.getNextFoldLine(g),T=$?$.start.row:1/0;g>T&&(g=$.end.row+1,$=this.session.getNextFoldLine(g,$),T=$?$.start.row:1/0),!(g>h);){var M=v[m++];if(M){this.dom.removeChildren(M),this.$renderLine(M,g,g==T?$:!1),p&&(M.style.top=this.$lines.computeLineTop(g,e,this.session)+"px");var C=e.lineHeight*this.session.getRowLength(g)+"px";M.style.height!=C&&(p=!0,M.style.height=C)}g++}if(p)for(;m<this.$lines.cells.length;){var E=this.$lines.cells[m++];E.element.style.top=this.$lines.computeLineTop(E.row,e,this.session)+"px"}},t.prototype.scrollLines=function(e){var i=this.config;if(this.config=e,this.$lines.pageChanged(i,e))return this.update(e);this.$lines.moveContainer(e);var s=e.lastRow,l=i?i.lastRow:-1;if(!i||l<e.firstRow)return this.update(e);if(s<i.firstRow)return this.update(e);if(!i||i.lastRow<e.firstRow)return this.update(e);if(e.lastRow<i.firstRow)return this.update(e);if(i.firstRow<e.firstRow)for(var h=this.session.getFoldedRowCount(i.firstRow,e.firstRow-1);h>0;h--)this.$lines.shift();if(i.lastRow>e.lastRow)for(var h=this.session.getFoldedRowCount(e.lastRow+1,i.lastRow);h>0;h--)this.$lines.pop();e.firstRow<i.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,i.firstRow-1)),e.lastRow>i.lastRow&&this.$lines.push(this.$renderLinesFragment(e,i.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},t.prototype.$renderLinesFragment=function(e,i,s){for(var l=[],h=i,v=this.session.getNextFoldLine(h),m=v?v.start.row:1/0;h>m&&(h=v.end.row+1,v=this.session.getNextFoldLine(h,v),m=v?v.start.row:1/0),!(h>s);){var p=this.$lines.createCell(h,e,this.session),g=p.element;this.dom.removeChildren(g),x.setStyle(g.style,"height",this.$lines.computeLineHeight(h,e,this.session)+"px"),x.setStyle(g.style,"top",this.$lines.computeLineTop(h,e,this.session)+"px"),this.$renderLine(g,h,h==m?v:!1),this.$useLineGroups()?g.className="ace_line_group":g.className="ace_line",l.push(p),h++}return l},t.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var i=e.firstRow,s=e.lastRow,l=this.$lines;l.getLength();)l.pop();l.push(this.$renderLinesFragment(e,i,s))},t.prototype.$renderToken=function(e,i,s,l){for(var h=this,v=/(\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,m=this.dom.createFragment(this.element),p,g=0;p=v.exec(l);){var $=p[1],T=p[2],M=p[3],C=p[4],E=p[5];if(!(!h.showSpaces&&T)){var d=g!=p.index?l.slice(g,p.index):"";if(g=p.index+p[0].length,d&&m.appendChild(this.dom.createTextNode(d,this.element)),$){var u=h.session.getScreenTabSize(i+p.index);m.appendChild(h.$tabStrings[u].cloneNode(!0)),i+=u-1}else if(T)if(h.showSpaces){var f=this.dom.createElement("span");f.className="ace_invisible ace_invisible_space",f.textContent=y.stringRepeat(h.SPACE_CHAR,T.length),m.appendChild(f)}else m.appendChild(this.dom.createTextNode(T,this.element));else if(M){var f=this.dom.createElement("span");f.className="ace_invisible ace_invisible_space ace_invalid",f.textContent=y.stringRepeat(h.SPACE_CHAR,M.length),m.appendChild(f)}else if(C){i+=1;var f=this.dom.createElement("span");f.style.width=h.config.characterWidth*2+"px",f.className=h.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",f.textContent=h.showSpaces?h.SPACE_CHAR:C,m.appendChild(f)}else if(E){i+=1;var f=this.dom.createElement("span");f.style.width=h.config.characterWidth*2+"px",f.className="ace_cjk",f.textContent=E,m.appendChild(f)}}}if(m.appendChild(this.dom.createTextNode(g?l.slice(g):l,this.element)),r(s.type))e.appendChild(m);else{var w="ace_"+s.type.replace(/\./g," ace_"),f=this.dom.createElement("span");
208s.type=="fold"&&(f.style.width=s.value.length*this.config.characterWidth+"px",f.setAttribute("title",o("inline-fold.closed.title","Unfold code"))),f.className=w,f.appendChild(m),e.appendChild(f)}return i+l.length},t.prototype.renderIndentGuide=function(e,i,s){var l=i.search(this.$indentGuideRe);if(l<=0||l>=s)return i;if(i[0]==" "){l-=l%this.tabSize;for(var h=l/this.tabSize,v=0;v<h;v++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),i.substr(l)}else if(i[0]=="	"){for(var v=0;v<l;v++)e.appendChild(this.$tabStrings["	"].cloneNode(!0));return this.$highlightIndentGuide(),i.substr(l)}return this.$highlightIndentGuide(),i},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 i=this.session.selection.getCursor(),s=/^\s*/.exec(this.session.doc.getLine(i.row))[0].length,l=Math.floor(s/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:l,start:i.row};var h=this.session.$bracketHighlight;if(h){for(var v=this.session.$bracketHighlight.ranges,m=0;m<v.length;m++)if(i.row!==v[m].start.row){this.$highlightIndentGuideMarker.end=v[m].start.row,i.row>v[m].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[i.row]!==""&&i.column===e[i.row].length){this.$highlightIndentGuideMarker.dir=1;for(var m=i.row+1;m<e.length;m++){var p=e[m],g=/^\s*/.exec(p)[0].length;if(p!==""&&(this.$highlightIndentGuideMarker.end=m,g<=s))break}}this.$renderHighlightIndentGuide()}}},t.prototype.$clearActiveIndentGuide=function(){for(var e=this.$lines.cells,i=0;i<e.length;i++){var s=e[i],l=s.element.childNodes;if(l.length>0){for(var h=0;h<l.length;h++)if(l[h].classList&&l[h].classList.contains("ace_indent-guide-active")){l[h].classList.remove("ace_indent-guide-active");break}}}},t.prototype.$setIndentGuideActive=function(e,i){var s=this.session.doc.getLine(e.row);if(s!==""){var l=e.element.childNodes;if(l){var h=l[i-1];h&&h.classList&&h.classList.contains("ace_indent-guide")&&h.classList.add("ace_indent-guide-active")}}},t.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var e=this.$lines.cells;this.$clearActiveIndentGuide();var i=this.$highlightIndentGuideMarker.indentLevel;if(i!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var s=0;s<e.length;s++){var l=e[s];if(this.$highlightIndentGuideMarker.end&&l.row>=this.$highlightIndentGuideMarker.start+1){if(l.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(l,i)}}else for(var s=e.length-1;s>=0;s--){var l=e[s];if(this.$highlightIndentGuideMarker.end&&l.row<this.$highlightIndentGuideMarker.start){if(l.row<=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(l,i)}}}},t.prototype.$createLineElement=function(e){var i=this.dom.createElement("div");return i.className="ace_line",i.style.height=this.config.lineHeight+"px",i},t.prototype.$renderWrappedLine=function(e,i,s){var l=0,h=0,v=s[0],m=0,p=this.$createLineElement();e.appendChild(p);for(var g=0;g<i.length;g++){var $=i[g],T=$.value;if(g==0&&this.displayIndentGuides){if(l=T.length,T=this.renderIndentGuide(p,T,v),!T)continue;l-=T.length}if(l+T.length<v)m=this.$renderToken(p,m,$,T),l+=T.length;else{for(;l+T.length>=v;)m=this.$renderToken(p,m,$,T.substring(0,v-l)),T=T.substring(v-l),l=v,p=this.$createLineElement(),e.appendChild(p),p.appendChild(this.dom.createTextNode(y.stringRepeat(" ",s.indent),this.element)),h++,m=0,v=s[h]||Number.MAX_VALUE;T.length!=0&&(l+=T.length,m=this.$renderToken(p,m,$,T))}}s[s.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(p,m,null,"",!0)},t.prototype.$renderSimpleLine=function(e,i){for(var s=0,l=0;l<i.length;l++){var h=i[l],v=h.value;if(!(l==0&&this.displayIndentGuides&&(v=this.renderIndentGuide(e,v),!v))){if(s+v.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,s,h,v);s=this.$renderToken(e,s,h,v)}}},t.prototype.$renderOverflowMessage=function(e,i,s,l,h){s&&this.$renderToken(e,i,s,l.slice(0,this.MAX_LINE_LENGTH-i));var v=this.dom.createElement("span");v.className="ace_inline_button ace_keyword ace_toggle_wrap",v.textContent=h?"<hide>":"<click to see more...>",e.appendChild(v)},t.prototype.$renderLine=function(e,i,s){if(!s&&s!=!1&&(s=this.session.getFoldLine(i)),s)var l=this.$getFoldLineTokens(i,s);else var l=this.session.getTokens(i);var h=e;if(l.length){var v=this.session.getRowSplitData(i);if(v&&v.length){this.$renderWrappedLine(e,l,v);
208var h=e.lastChild}else{var h=e;this.$useLineGroups()&&(h=this.$createLineElement(),e.appendChild(h)),this.$renderSimpleLine(h,l)}}else this.$useLineGroups()&&(h=this.$createLineElement(),e.appendChild(h));if(this.showEOL&&h){s&&(i=s.end.row);var m=this.dom.createElement("span");m.className="ace_invisible ace_invisible_eol",m.textContent=i==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,h.appendChild(m)}},t.prototype.$getFoldLineTokens=function(e,i){var s=this.session,l=[];function h(m,p,g){for(var $=0,T=0;T+m[$].value.length<p;)if(T+=m[$].value.length,$++,$==m.length)return;if(T!=p){var M=m[$].value.substring(p-T);M.length>g-p&&(M=M.substring(0,g-p)),l.push({type:m[$].type,value:M}),T=p+M.length,$+=1}for(;T<g&&$<m.length;){var M=m[$].value;M.length+T>g?l.push({type:m[$].type,value:M.substring(0,g-T)}):l.push(m[$]),T+=M.length,$+=1}}var v=s.getTokens(e);return i.walk(function(m,p,g,$,T){m!=null?l.push({type:"fold",value:m}):(T&&(v=s.getTokens(p)),v.length&&h(v,$,g))},i.end.row,this.session.getLine(i.end.row).length),l},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,A.implement(n.prototype,c),S.Text=n}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(b,S,N){var A=b("../lib/dom"),x=function(){function y(a){this.element=A.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(),A.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return y.prototype.$updateOpacity=function(a){for(var c=this.cursors,o=c.length;o--;)A.setStyle(c[o].style,"opacity",a?"":"0")},y.prototype.$startCssAnimation=function(){for(var a=this.cursors,c=a.length;c--;)a[c].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout((function(){this.$isAnimating&&A.addCssClass(this.element,"ace_animate-blinking")}).bind(this))},y.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,A.removeCssClass(this.element,"ace_animate-blinking")},y.prototype.setPadding=function(a){this.$padding=a},y.prototype.setSession=function(a){this.session=a},y.prototype.setBlinking=function(a){a!=this.isBlinking&&(this.isBlinking=a,this.restartTimer())},y.prototype.setBlinkInterval=function(a){a!=this.blinkInterval&&(this.blinkInterval=a,this.restartTimer())},y.prototype.setSmoothBlinking=function(a){a!=this.smoothBlinking&&(this.smoothBlinking=a,A.setCssClass(this.element,"ace_smooth-blinking",a),this.$updateCursors(!0),this.restartTimer())},y.prototype.addCursor=function(){var a=A.createElement("div");return a.className="ace_cursor",this.element.appendChild(a),this.cursors.push(a),a},y.prototype.removeCursor=function(){if(this.cursors.length>1){var a=this.cursors.pop();return a.parentNode.removeChild(a),a}},y.prototype.hideCursor=function(){this.isVisible=!1,A.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},y.prototype.showCursor=function(){this.isVisible=!0,A.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},y.prototype.restartTimer=function(){var a=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,A.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&&A.addCssClass(this.element,"ace_smooth-blinking")}).bind(this))),A.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var c=(function(){this.timeoutId=setTimeout(function(){a(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){a(!0),c()},this.blinkInterval),c()}},y.prototype.getPixelPosition=function(a,c){if(!this.config||!this.session)return{left:0,top:0};a||(a=this.session.selection.getCursor());var o=this.session.documentToScreenPosition(a),r=this.$padding+(this.session.$bidiHandler.isBidiRow(o.row,a.row)?this.session.$bidiHandler.getPosLeft(o.column):o.column*this.config.characterWidth),n=(o.row-(c?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:n}},y.prototype.isCursorInView=function(a,c){return a.top>=0&&a.top<c.maxHeight},y.prototype.update=function(a){this.config=a;var c=this.session.$selectionMarkers,o=0,r=0;(c===void 0||c.length===0)&&(c=[{cursor:null}]);for(var o=0,n=c.length;o<n;o++){var t=this.getPixelPosition(c[o].cursor,!0);if(!((t.top>a.height+a.offset||t.top<0)&&o>1)){var e=this.cursors[r++]||this.addCursor(),i=e.style;this.drawCursor?this.drawCursor(e,t,a,c[o],this.session):this.isCursorInView(t,a)?(A.setStyle(i,"display","block"),A.translate(e,t.left,t.top),A.setStyle(i,"width",Math.round(a.characterWidth)+"px"),A.setStyle(i,"height",a.lineHeight+"px")):A.setStyle(i,"display","none")}}for(;this.cursors.length>r;
208)this.removeCursor();var s=this.session.getOverwrite();this.$setOverwrite(s),this.$pixelPos=t,this.restartTimer()},y.prototype.$setOverwrite=function(a){a!=this.overwrite&&(this.overwrite=a,a?A.addCssClass(this.element,"ace_overwrite-cursors"):A.removeCssClass(this.element,"ace_overwrite-cursors"))},y.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},y}();x.prototype.$padding=0,x.prototype.drawCursor=null,S.Cursor=x}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(b,S,N){var A=this&&this.__extends||function(){var e=function(i,s){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,h){l.__proto__=h}||function(l,h){for(var v in h)Object.prototype.hasOwnProperty.call(h,v)&&(l[v]=h[v])},e(i,s)};return function(i,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");e(i,s);function l(){this.constructor=i}i.prototype=s===null?Object.create(s):(l.prototype=s.prototype,new l)}}(),x=b("./lib/oop"),y=b("./lib/dom"),a=b("./lib/event"),c=b("./lib/event_emitter").EventEmitter,o=32768,r=function(){function e(i,s){this.element=y.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+s,this.inner=y.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),i.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(i){this.element.style.display=i?"":"none",this.isVisible=i,this.coeff=1},e}();x.implement(r.prototype,c);var n=function(e){A(i,e);function i(s,l){var h=e.call(this,s,"-v")||this;return h.scrollTop=0,h.scrollHeight=0,l.$scrollbarWidth=h.width=y.scrollbarWidth(s.ownerDocument),h.inner.style.width=h.element.style.width=(h.width||15)+5+"px",h.$minWidth=0,h}return i.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},i.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},i.prototype.setHeight=function(s){this.element.style.height=s+"px"},i.prototype.setScrollHeight=function(s){this.scrollHeight=s,s>o?(this.coeff=o/s,s=o):this.coeff!=1&&(this.coeff=1),this.inner.style.height=s+"px"},i.prototype.setScrollTop=function(s){this.scrollTop!=s&&(this.skipEvent=!0,this.scrollTop=s,this.element.scrollTop=s*this.coeff)},i}(r);n.prototype.setInnerHeight=n.prototype.setScrollHeight;var t=function(e){A(i,e);function i(s,l){var h=e.call(this,s,"-h")||this;return h.scrollLeft=0,h.height=l.$scrollbarWidth,h.inner.style.height=h.element.style.height=(h.height||15)+5+"px",h}return i.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},i.prototype.getHeight=function(){return this.isVisible?this.height:0},i.prototype.setWidth=function(s){this.element.style.width=s+"px"},i.prototype.setInnerWidth=function(s){this.inner.style.width=s+"px"},i.prototype.setScrollWidth=function(s){this.inner.style.width=s+"px"},i.prototype.setScrollLeft=function(s){this.scrollLeft!=s&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=s)},i}(r);S.ScrollBar=n,S.ScrollBarV=n,S.ScrollBarH=t,S.VScrollBar=n,S.HScrollBar=t}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(b,S,N){var A=this&&this.__extends||function(){var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,l){s.__proto__=l}||function(s,l){for(var h in l)Object.prototype.hasOwnProperty.call(l,h)&&(s[h]=l[h])},t(e,i)};return function(e,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");
208t(e,i);function s(){this.constructor=e}e.prototype=i===null?Object.create(i):(s.prototype=i.prototype,new s)}}(),x=b("./lib/oop"),y=b("./lib/dom"),a=b("./lib/event"),c=b("./lib/event_emitter").EventEmitter;y.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
209  position: absolute;
210  background: rgba(128, 128, 128, 0.6);
211  -moz-box-sizing: border-box;
212  box-sizing: border-box;
213  border: 1px solid #bbb;
214  border-radius: 2px;
215  z-index: 8;
216}
217.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
218  position: absolute;
219  z-index: 6;
220  background: none;
221  overflow: hidden!important;
222}
223.ace_editor>.ace_sb-v {
224  z-index: 6;
225  right: 0;
226  top: 0;
227  width: 12px;
228}
229.ace_editor>.ace_sb-v div {
230  z-index: 8;
231  right: 0;
232  width: 100%;
233}
234.ace_editor>.ace_sb-h {
235  bottom: 0;
236  left: 0;
237  height: 12px;
238}
239.ace_editor>.ace_sb-h div {
240  bottom: 0;
241  height: 100%;
242}
243.ace_editor>.ace_sb_grabbed {
244  z-index: 8;
245  background: #000;
246}`,"ace_scrollbar.css",!1);var o=function(){function t(e,i){this.element=y.createElement("div"),this.element.className="ace_sb"+i,this.inner=y.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}();x.implement(o.prototype,c);var r=function(t){A(e,t);function e(i,s){var l=t.call(this,i,"-v")||this;return l.scrollTop=0,l.scrollHeight=0,l.parent=i,l.width=l.VScrollWidth,l.renderer=s,l.inner.style.width=l.element.style.width=(l.width||15)+"px",l.$minWidth=0,l}return e.prototype.onMouseDown=function(i,s){if(i==="mousedown"&&!(a.getButton(s)!==0||s.detail===2)){if(s.target===this.inner){var l=this,h=s.clientY,v=function(C){h=C.clientY},m=function(){clearInterval(T)},p=s.clientY,g=this.thumbTop,$=function(){if(h!==void 0){var C=l.scrollTopFromThumbTop(g+h-p);C!==l.scrollTop&&l._emit("scroll",{data:C})}};a.capture(this.inner,v,m);var T=setInterval($,20);return a.preventDefault(s)}var M=s.clientY-this.element.getBoundingClientRect().top-this.thumbHe
246ight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(M)}),a.preventDefault(s)}},e.prototype.getHeight=function(){return this.height},e.prototype.scrollTopFromThumbTop=function(i){var s=i*(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(i){this.height=Math.max(0,i),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},e.prototype.setScrollHeight=function(i,s){this.pageHeight===i&&!s||(this.pageHeight=i,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(i){this.scrollTop=i,i<0&&(i=0),this.thumbTop=i*(this.slideHeight-this.thumbHe
246ight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},e}(o);r.prototype.setInnerHeight=r.prototype.setScrollHeight;var n=function(t){A(e,t);function e(i,s){var l=t.call(this,i,"-h")||this;return l.scrollLeft=0,l.scrollWidth=0,l.height=l.HScrollHeight,l.inner.style.height=l.element.style.height=(l.height||12)+"px",l.renderer=s,l}return e.prototype.onMouseDown=function(i,s){if(i==="mousedown"&&!(a.getButton(s)!==0||s.detail===2)){if(s.target===this.inner){var l=this,h=s.clientX,v=function(C){h=C.clientX},m=function(){clearInterval(T)},p=s.clientX,g=this.thumbLeft,$=function(){if(h!==void 0){var C=l.scrollLeftFromThumbLeft(g+h-p);C!==l.scrollLeft&&l._emit("scroll",{data:C})}};a.capture(this.inner,v,m);var T=setInterval($,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(i){var s=i*(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(i){this.width=Math.max(0,i),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},e.prototype.setScrollWidth=function(i,s){this.pageWidth===i&&!s||(this.pageWidth=i,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(i){this.scrollLeft=i,i<0&&(i=0),this.thumbLeft=i*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},e}(o);n.prototype.setInnerWidth=n.prototype.setScrollWidth,S.ScrollBar=r,S.ScrollBarV=r,S.ScrollBarH=n,S.VScrollBar=r,S.HScrollBar=n}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(b,S,N){var A=b("./lib/event"),x=function(){function y(a,c){this.onRender=a,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=c||window;var o=this;this._flush=function(r){o.pending=!1;var n=o.changes;if(n&&(A.blockIdle(100),o.changes=0,o.onRender(n)),o.changes){if(o.$recursionLimit--<0)return;o.schedule()}else o.$recursionLimit=2}}return y.prototype.schedule=function(a){this.changes=this.changes|a,this.changes&&!this.pending&&(A.nextFrame(this._flush),this.pending=!0)},y.prototype.clear=function(a){var c=this.changes;return this.changes=0,c},y}();S.RenderLoop=x}),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(b,S,N){var A=b("../lib/oop"),x=b("../lib/dom"),y=b("../lib/lang"),a=b("../lib/event"),c=b("../lib/useragent"),o=b("../lib/event_emitter").EventEmitter,r=512,n=typeof ResizeObserver=="function",t=200,e=function(){function i(s){this.el=x.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=x.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=x.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),s.appendChild(this.el),this.$measureNode.textContent=y.stringRepeat("X",r),this.$characterSize={width:0,height:0},n?this.$addObserver():this.checkForSizeChanges()}return i.prototype.$setMeasureNodeStyles=function(s,l){s.width=s.height="auto",s.left=s.top="0px",s.visibility="hidden",s.position="absolute",s.whiteSpace="pre",c.isIE<8?s["font-family"]="inherit":s.font="inherit",s.overflow=l?"hidden":"visible"},i.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 l=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=s,this.charSizes=Object.create(null),this.allowBoldFonts=l&&l.width===s.width&&l.height===s.height,this._emit("changeCharacterSize",{data:s})}},i.prototype.$addObserver=function(){var s=this;this.$observer=new window.ResizeObserver(function(l){s.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},i.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var s=this;return this.$pollSizeChangesTimer=a.onIdle(function l(){s.checkForSizeChanges(),a.onIdle(l,500)},500)},i.prototype.setPolling=function(s){s?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},i.prototype.$measureSizes=function(s){var l={height:(s||this.$measureNode).clientHeight,width:(s||this.$measureNode).clientWidth/r};return l.width===0||l.height===0?null:l},i.prototype.$measureCharWidth=function(s){this.$main.textContent=y.stringRepeat(s,r);var l=this.$main.getBoundingClientRect();return l.width/r},i.prototype.getCharacterWidth=function(s){var l=this.charSizes[s];return l===void 0&&(l=this.charSizes[s]=this.$measureCharWidth(s)/this.$characterSize.width),l},i.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},i.prototype.$getZoom=function(s){return!s||!s.parentElement?1:(Number(window.getComputedStyle(s).zoom)||1)*this.$getZoom(s.parentElement)},i.prototype.$initTransformMeasureNodes=function(){var s=function(l,h){return["div",{style:"position: absolute;top:"+l+"px;left:"+h+"px;"}]};this.els=x.buildDom([s(0,0),s(t,0),s(0,t),s(t,t)],this.el)},i.prototype.transformCoordinates=function(s,l){if(s){var h=this.$getZoom(this.el);s=g(1/h,s)}function v(I,O,z){var D=I[1]*O[0]-I[0]*O[1];
vendor: 4,365 bytes, lines 246-369
246return[(-O[1]*z[0]+O[0]*z[1])/D,(+I[1]*z[0]-I[0]*z[1])/D]}function m(I,O){return[I[0]-O[0],I[1]-O[1]]}function p(I,O){return[I[0]+O[0],I[1]+O[1]]}function g(I,O){return[I*O[0],I*O[1]]}this.els||this.$initTransformMeasureNodes();function $(I){var O=I.getBoundingClientRect();return[O.left,O.top]}var T=$(this.els[0]),M=$(this.els[1]),C=$(this.els[2]),E=$(this.els[3]),d=v(m(E,M),m(E,C),m(p(M,C),p(E,T))),u=g(1+d[0],m(M,T)),f=g(1+d[1],m(C,T));if(l){var w=l,k=d[0]*w[0]/t+d[1]*w[1]/t+1,L=p(g(w[0],u),g(w[1],f));return p(g(1/k/t,L),T)}var _=m(s,T),R=v(m(u,g(d[0],_)),m(f,g(d[1],_)),_);return g(t,R)},i}();e.prototype.$characterSize={width:0,height:0},A.implement(e.prototype,o),S.FontMetrics=e}),ace.define("ace/css/editor-css",["require","exports","module"],function(b,S,N){N.exports=`
247.ace_br1 {border-top-left-radius    : 3px;}
248.ace_br2 {border-top-right-radius   : 3px;}
249.ace_br3 {border-top-left-radius    : 3px; border-top-right-radius:    3px;}
250.ace_br4 {border-bottom-right-radius: 3px;}
251.ace_br5 {border-top-left-radius    : 3px; border-bottom-right-radius: 3px;}
252.ace_br6 {border-top-right-radius   : 3px; border-bottom-right-radius: 3px;}
253.ace_br7 {border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px;}
254.ace_br8 {border-bottom-left-radius : 3px;}
255.ace_br9 {border-top-left-radius    : 3px; border-bottom-left-radius:  3px;}
256.ace_br10{border-top-right-radius   : 3px; border-bottom-left-radius:  3px;}
257.ace_br11{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-left-radius:  3px;}
258.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}
259.ace_br13{border-top-left-radius    : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}
260.ace_br14{border-top-right-radius   : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}
261.ace_br15{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
262
263
264.ace_editor {
265    position: relative;
266    overflow: hidden;
267    padding: 0;
268    font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
269    direction: ltr;
270    text-align: left;
271    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
272    forced-color-adjust: none;
273}
274
275.ace_scroller {
276    position: absolute;
277    overflow: hidden;
278    top: 0;
279    bottom: 0;
280    background-color: inherit;
281    -ms-user-select: none;
282    -moz-user-select: none;
283    -webkit-user-select: none;
284    user-select: none;
285    cursor: text;
286}
287
288.ace_content {
289    position: absolute;
290    box-sizing: border-box;
291    min-width: 100%;
292    contain: style size layout;
293    font-variant-ligatures: no-common-ligatures;
294}
295
296.ace_keyboard-focus:focus {
297    box-shadow: inset 0 0 0 2px #5E9ED6;
298    outline: none;
299}
300
301.ace_dragging .ace_scroller:before{
302    position: absolute;
303    top: 0;
304    left: 0;
305    right: 0;
306    bottom: 0;
307    content: '';
308    background: rgba(250, 250, 250, 0.01);
309    z-index: 1000;
310}
311.ace_dragging.ace_dark .ace_scroller:before{
312    background: rgba(0, 0, 0, 0.01);
313}
314
315.ace_gutter {
316    position: absolute;
317    overflow : hidden;
318    width: auto;
319    top: 0;
320    bottom: 0;
321    left: 0;
322    cursor: default;
323    z-index: 4;
324    -ms-user-select: none;
325    -moz-user-select: none;
326    -webkit-user-select: none;
327    user-select: none;
328    contain: style size layout;
329}
330
331.ace_gutter-active-line {
332    position: absolute;
333    left: 0;
334    right: 0;
335}
336
337.ace_scroller.ace_scroll-left:after {
338    content: "";
339    position: absolute;
340    top: 0;
341    right: 0;
342    bottom: 0;
343    left: 0;
344    box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
345    pointer-events: none;
346}
347
348.ace_gutter-cell, .ace_gutter-cell_svg-icons {
349    position: absolute;
350    top: 0;
351    left: 0;
352    right: 0;
353    padding-left: 19px;
354    padding-right: 6px;
355    background-repeat: no-repeat;
356}
357
358.ace_gutter-cell_svg-icons .ace_gutter_annotation {
359    margin-left: -14px;
360    float: left;
361}
362
363.ace_gutter-cell .ace_gutter_annotation {
364    margin-left: -19px;
365    float: left;
366}
367
368.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 {
369    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////
369////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==");
370    background-repeat: no-repeat;
371    background-position: 2px center;
372}
373
374.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
375    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==");
376    background-repeat: no-repeat;
377    background-position: 2px center;
378}
379
380.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
381    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
382    background-repeat: no-repeat;
383    background-position: 2px center;
384}
385
386.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 {
387    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
388}
389
390.ace_icon_svg.ace_error {
391    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
392    background-color: crimson;
393}
394.ace_icon_svg.ace_security {
395    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
396    background-color: crimson;
397}
398.ace_icon_svg.ace_warning {
399    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
400    background-color: darkorange;
401}
402.ace_icon_svg.ace_info {
403    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGx
403pbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
404    background-color: royalblue;
405}
406.ace_icon_svg.ace_hint {
407    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
408    background-color: silver;
409}
410
411.ace_icon_svg.ace_error_fold {
412    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
413    background-color: crimson;
414}
415.ace_icon_svg.ace_security_fold {
416    -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyM
416DUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
417    background-color: crimson;
418}
419.ace_icon_svg.ace_warning_fold {
420    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
421    background-color: darkorange;
422}
423
424.ace_scrollbar {
425    contain: strict;
426    position: absolute;
427    right: 0;
428    bottom: 0;
429    z-index: 6;
430}
431
432.ace_scrollbar-inner {
433    position: absolute;
434    cursor: text;
435    left: 0;
436    top: 0;
437}
438
439.ace_scrollbar-v{
440    overflow-x: hidden;
441    overflow-y: scroll;
442    top: 0;
443}
444
445.ace_scrollbar-h {
446    overflow-x: scroll;
447    overflow-y: hidden;
448    left: 0;
449}
450
451.ace_print-margin {
452    position: absolute;
453    height: 100%;
454}
455
456.ace_text-input {
457    position: absolute;
458    z-index: 0;
459    width: 0.5em;
460    height: 1em;
461    opacity: 0;
462    background: transparent;
463    -moz-appearance: none;
464    appearance: none;
465    border: none;
466    resize: none;
467    outline: none;
468    overflow: hidden;
469    font: inherit;
470    padding: 0 1px;
471    margin: 0 -1px;
472    contain: strict;
473    -ms-user-select: text;
474    -moz-user-select: text;
475    -webkit-user-select: text;
476    user-select: text;
477    /*with \`pre-line\` chrome inserts &nbsp; instead of space*/
478    white-space: pre!important;
479}
480.ace_text-input.ace_composition {
481    background: transparent;
482    color: inherit;
483    z-index: 1000;
484    opacity: 1;
485}
486.ace_composition_placeholder { color: transparent }
487.ace_composition_marker { 
488    border-bottom: 1px solid;
489    position: absolute;
490    border-radius: 0;
491    margin-top: 1px;
492}
493
494[ace_nocontext=true] {
495    transform: none!important;
496    filter: none!important;
497    clip-path: none!important;
498    mask : none!important;
499    contain: none!important;
500    perspective: none!important;
501    mix-blend-mode: initial!important;
502    z-index: auto;
503}
504
505.ace_layer {
506    z-index: 1;
507    position: absolute;
508    overflow: hidden;
509    /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
510    word-wrap: normal;
511    white-space: pre;
512    height: 100%;
513    width: 100%;
514    box-sizing: border-box;
515    /* setting pointer-events: auto; on node under the mouse, which changes
516        during scroll, will break mouse wheel scrolling in Safari */
517    pointer-events: none;
518}
519
520.ace_gutter-layer {
521    position: relative;
522    width: auto;
523    text-align: right;
524    pointer-events: auto;
525    height: 1000000px;
526    contain: style size layout;
527}
528
529.ace_text-layer {
530    font: inherit !important;
531    position: absolute;
532    height: 1000000px;
533    width: 1000000px;
534    contain: style size layout;
535}
536
537.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
538    contain: style size layout;
539    position: absolute;
540    top: 0;
541    left: 0;
542    right: 0;
543}
544
545.ace_hidpi .ace_text-layer,
546.ace_hidpi .ace_gutter-layer,
547.ace_hidpi .ace_content,
548.ace_hidpi .ace_gutter {
549    contain: strict;
550}
551.ace_hidpi .ace_text-layer > .ace_line, 
552.ace_hidpi .ace_text-layer > .ace_line_group {
553    contain: strict;
554}
555
556.ace_cjk {
557    display: inline-block;
558    text-align: center;
559}
560
561.ace_cursor-layer {
562    z-index: 4;
563}
564
565.ace_cursor {
566    z-index: 4;
567    position: absolute;
568    box-sizing: border-box;
569    border-left: 2px solid;
570    /* workaround for smooth cursor repaintng whole screen in chrome */
571    transform: translatez(0);
572}
573
574.ace_multiselect .ace_cursor {
575    border-left-width: 1px;
576}
577
578.ace_slim-cursors .ace_cursor {
579    border-left-width: 1px;
580}
581
582.ace_overwrite-cursors .ace_cursor {
583    border-left-width: 0;
584    border-bottom: 1px solid;
585}
586
587.ace_hidden-cursors .ace_cursor {
588    opacity: 0.2;
589}
590
591.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
592    opacity: 0;
593}
594
595.ace_smooth-blinking .ace_cursor {
596    transition: opacity 0.18s;
597}
598
599.ace_animate-blinking .ace_cursor {
600    animation-duration: 1000ms;
601    animation-timing-function: step-end;
602    animation-name: blink-ace-animate;
603    animation-iteration-count: infinite;
604}
605
606.ace_animate-blinking.ace_smooth-blinking .ace_cursor {
607    animation-duration: 1000ms;
608    animation-timing-function: ease-in-out;
609    animation-name: blink-ace-animate-smooth;
610}
611    
612@keyframes blink-ace-animate {
613    from, to { opacity: 1; }
614    60% { opacity: 0; }
615}
616
617@keyframes blink-ace-animate-smooth {
618    from, to { opacity: 1; }
619    45% { opacity: 1; }
620    60% { opacity: 0; }
621    85% { opacity: 0; }
622}
623
624.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
625    position: absolute;
626    z-index: 3;
627}
628
629.ace_marker-layer .ace_selection {
630    position: absolute;
631    z-index: 5;
632}
633
634.ace_marker-layer .ace_bracket {
635    position: absolute;
636    z-index: 6;
637}
638
639.ace_marker-layer .ace_error_bracket {
640    position: absolute;
641    border-bottom: 1px solid #DE5555;
642    border-radius: 0;
643}
644
645.ace_marker-layer .ace_active-line {
646    position: absolute;
647    z-index: 2;
648}
649
650.ace_marker-layer .ace_selected-word {
651    position: absolute;
652    z-index: 4;
653    box-sizing: border-box;
654}
655
656.ace_line .ace_fold {
657    box-sizing: border-box;
658
659    display: inline-block;
660    height: 11px;
661    margin-top: -2px;
662    vertical-align: middle;
663
664    background-image:
665        url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
666        url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
667    background-repeat: no-repeat, repeat-x;
668    background-position: center center, top left;
669    color: transparent;
670
671    border: 1px solid black;
672    border-radius: 2px;
673
674    cursor: pointer;
675    pointer-events: auto;
676}
677
678.ace_dark .ace_fold {
679}
680
681.ace_fold:hover{
682    background-image:
683        url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
684        url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
685}
686
687.ace_tooltip {
688    background-color: #f5f5f5;
689    border: 1px solid gray;
690    border-radius: 1px;
691    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
692    color: black;
693    max-width: 100%;
694    padding: 3px 4px;
695    position: fixed;
696    z-index: 999999;
697    box-sizing: border-box;
698    cursor: default;
699    white-space: pre-wrap;
700    word-wrap: break-word;
701    line-height: normal;
702    font-style: normal;
703    font-weight: normal;
704    letter-spacing: normal;
705    pointer-events: none;
706    overflow: auto;
707    max-width: min(60em, 66vw);
708    overscroll-behavior: contain;
709}
710.ace_tooltip pre {
711    white-space: pre-wrap;
712}
713
714.ace_tooltip.ace_dark {
715    background-color: #636363;
716    color: #fff;
717}
718
719.ace_tooltip:focus {
720    outline: 1px solid #5E9ED6;
721}
722
723.ace_icon {
724    display: inline-block;
725    width: 18px;
726    vertical-align: top;
727}
728
729.ace_icon_svg {
730    display: inline-block;
731    width: 12px;
732    vertical-align: top;
733    -webkit-mask-repeat: no-repeat;
734    -webkit-mask-size: 12px;
735    -webkit-mask-position: center;
736}
737
738.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
739    padding-right: 13px;
740}
741
742.ace_fold-widget {
743    box-sizing: border-box;
744
745    margin: 0 -12px 0 1px;
746    display: none;
747    width: 11px;
748    vertical-align: top;
749
750    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVo
750DBUxKAAAAABJRU5ErkJggg==");
751    background-repeat: no-repeat;
752    background-position: center;
753
754    border-radius: 3px;
755    
756    border: 1px solid transparent;
757    cursor: pointer;
758}
759
760.ace_folding-enabled .ace_fold-widget {
761    display: inline-block;   
762}
763
764.ace_fold-widget.ace_end {
765    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
766}
767
768.ace_fold-widget.ace_closed {
769    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
770}
771
772.ace_fold-widget:hover {
773    border: 1px solid rgba(0, 0, 0, 0.3);
774    background-color: rgba(255, 255, 255, 0.2);
775    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
776}
777
778.ace_fold-widget:active {
779    border: 1px solid rgba(0, 0, 0, 0.4);
780    background-color: rgba(0, 0, 0, 0.05);
781    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
782}
783/**
784 * Dark version for fold widgets
785 */
786.ace_dark .ace_fold-widget {
787    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
788}
789.ace_dark .ace_fold-widget.ace_end {
790    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
791}
792.ace_dark .ace_fold-widget.ace_closed {
793    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
794}
795.ace_dark .ace_fold-widget:hover {
796    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
797    background-color: rgba(255, 255, 255, 0.1);
798}
799.ace_dark .ace_fold-widget:active {
800    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
801}
802
803.ace_inline_button {
804    border: 1px solid lightgray;
805    display: inline-block;
806    margin: -1px 8px;
807    padding: 0 5px;
808    pointer-events: auto;
809    cursor: pointer;
810}
811.ace_inline_button:hover {
812    border-color: gray;
813    background: rgba(200,200,200,0.2);
814    display: inline-block;
815    pointer-events: auto;
816}
817
818.ace_fold-widget.ace_invalid {
819    background-color: #FFB4B4;
820    border-color: #DE5555;
821}
822
823.ace_fade-fold-widgets .ace_fold-widget {
824    transition: opacity 0.4s ease 0.05s;
825    opacity: 0;
826}
827
828.ace_fade-fold-widgets:hover .ace_fold-widget {
829    transition: opacity 0.05s ease 0.05s;
830    opacity:1;
831}
832
833.ace_underline {
834    text-decoration: underline;
835}
836
837.ace_bold {
838    font-weight: bold;
839}
840
841.ace_nobold .ace_bold {
842    font-weight: normal;
843}
844
845.ace_italic {
846    font-style: italic;
847}
848
849
850.ace_error-marker {
851    background-color: rgba(255, 0, 0,0.2);
852    position: absolute;
853    z-index: 9;
854}
855
856.ace_highlight-marker {
857    background-color: rgba(255, 255, 0,0.2);
858    position: absolute;
859    z-index: 8;
860}
861
862.ace_mobile-menu {
863    position: absolute;
864    line-height: 1.5;
865    border-radius: 4px;
866    -ms-user-select: none;
867    -moz-user-select: none;
868    -webkit-user-select: none;
869    user-select: none;
870    background: white;
871    box-shadow: 1px 3px 2px grey;
872    border: 1px solid #dcdcdc;
873    color: black;
874}
875.ace_dark > .ace_mobile-menu {
876    background: #333;
877    color: #ccc;
878    box-shadow: 1px 3px 2px grey;
879    border: 1px solid #444;
880
881}
882.ace_mobile-button {
883    padding: 2px;
884    cursor: pointer;
885    overflow: hidden;
886}
887.ace_mobile-button:hover {
888    background-color: #eee;
889    opacity:1;
890}
891.ace_mobile-button:active {
892    background-color: #ddd;
893}
894
895.ace_placeholder {
896    position: relative;
897    font-family: arial;
898    transform: scale(0.9);
899    transform-origin: left;
900    white-space: pre;
901    opacity: 0.7;
902    margin: 0 10px;
903    z-index: 1;
904}
905
906.ace_ghost_text {
907    opacity: 0.5;
908    font-style: italic;
909}
910
911.ace_ghost_text_container > div {
912    white-space: pre;
913}
914
915.ghost_text_line_wrapped::after {
916    content: "↩";
917    position: absolute;
918}
919
920.ace_lineWidgetContainer.ace_ghost_text {
921    margin: 0px 4px
922}
923
924.ace_screenreader-only {
925    position:absolute;
926    left:-10000px;
927    top:auto;
928    width:1px;
929    height:1px;
930    overflow:hidden;
931}
932
933.ace_hidden_token {
934    display: none;
935}`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(b,S,N){var A=b("../lib/dom"),x=b("../lib/oop"),y=b("../lib/event_emitter").EventEmitter,a=function(){function c(o,r){this.canvas=A.createElement("canvas"),this.renderer=r,this.pixelRatio=1,this.maxHeight=r.layerConfig.maxHeight,this.lineHeight=r.layerConfig.lineHeight,this.canvasHeight=o.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=o.width,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",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)"},o.element.appendChild(this.canvas)}return c.prototype.$updateDecorators=function(o){var r=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;if(o){this.maxHeight=o.maxHeight,this.lineHeight=o.lineHeight,this.canvasHeight=o.height;
935var n=(o.lastRow+1)*this.lineHeight;n<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight}var t=this.canvas.getContext("2d");function e(E,d){return E.priority<d.priority?-1:E.priority>d.priority?1:0}var i=this.renderer.session.$annotations;if(t.clearRect(0,0,this.canvas.width,this.canvas.height),i){var s={info:1,warning:2,error:3};i.forEach(function(E){E.priority=s[E.type]||null}),i=i.sort(e);for(var l=this.renderer.session.$foldData,h=0;h<i.length;h++){var v=i[h].row,m=this.compensateFoldRows(v,l),p=Math.round((v-m)*this.lineHeight*this.heightRatio),g=Math.round((v-m)*this.lineHeight*this.heightRatio),$=Math.round(((v-m)*this.lineHeight+this.lineHeight)*this.heightRatio),T=$-g;if(T<this.minDecorationHeight){var M=(g+$)/2|0;M<this.halfMinDecorationHeight?M=this.halfMinDecorationHeight:M+this.halfMinDecorationHeight>this.canvasHeight&&(M=this.canvasHeight-this.halfMinDecorationHeight),g=Math.round(M-this.halfMinDecorationHeight),$=Math.round(M+this.halfMinDecorationHeight)}t.fillStyle=r[i[h].type]||null,t.fillRect(0,p,this.canvasWidth,$-g)}}var C=this.renderer.session.selection.getCursor();if(C){var m=this.compensateFoldRows(C.row,l),p=Math.round((C.row-m)*this.lineHeight*this.heightRatio);t.fillStyle="rgba(0, 0, 0, 0.5)",t.fillRect(0,p,this.canvasWidth,2)}},c.prototype.compensateFoldRows=function(o,r){var n=0;if(r&&r.length>0)for(var t=0;t<r.length;t++)o>r[t].start.row&&o<r[t].end.row?n+=o-r[t].start.row:o>=r[t].end.row&&(n+=r[t].end.row-r[t].start.row);return n},c}();x.implement(a.prototype,y),S.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(b,S,N){var A=b("./lib/oop"),x=b("./lib/dom"),y=b("./lib/lang"),a=b("./config"),c=b("./layer/gutter").Gutter,o=b("./layer/marker").Marker,r=b("./layer/text").Text,n=b("./layer/cursor").Cursor,t=b("./scrollbar").HScrollBar,e=b("./scrollbar").VScrollBar,i=b("./scrollbar_custom").HScrollBar,s=b("./scrollbar_custom").VScrollBar,l=b("./renderloop").Ren
vendor: 4,689 bytes, line 935
935derLoop,h=b("./layer/font_metrics").FontMetrics,v=b("./lib/event_emitter").EventEmitter,m=b("./css/editor-css"),p=b("./layer/decorators").Decorator,g=b("./lib/useragent"),$=b("./layer/text_util").isTextToken;x.importCssString(m,"ace_editor.css",!1);var T=function(){function M(C,E){var d=this;this.container=C||x.createElement("div"),x.addCssClass(this.container,"ace_editor"),x.HI_DPI&&x.addCssClass(this.container,"ace_hidpi"),this.setTheme(E),a.get("useStrictCSP")==null&&a.set("useStrictCSP",!1),this.$gutter=x.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=x.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=x.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new c(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new o(this.content);var u=this.$textLayer=new r(this.content);this.canvas=u.element,this.$markerFront=new o(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(f){d.$scrollAnimation||d.session.setScrollTop(f.data-d.scrollMargin.top)}),this.scrollBarH.on("scroll",function(f){d.$scrollAnimation||d.session.setScrollLeft(f.data-d.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new h(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(f){d.updateCharacterSize(),d.onResize(!0,d.gutterWidth,d.$size.width,d.$size.height),d._signal("changeCharacterSize",f)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!g.isIOS,this.$loop=new l(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(),x.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},M.prototype.setSession=function(C){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=C,C&&this.scrollMargin.top&&C.getScrollTop()<=0&&C.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(C),this.$markerBack.setSession(C),this.$markerFront.setSession(C),this.$gutterLayer.setSession(C),this.$textLayer.setSession(C),C&&(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(C,E,d){if(E===void 0&&(E=1/0),this.$changedLines?(this.$changedLines.firstRow>C&&(this.$changedLines.firstRow=C),this.$changedLines.lastRow<E&&(this.$changedLines.lastRow=E)):this.$changedLines={firstRow:C,lastRow:E},this.$changedLines.lastRow<this.layerConfig.firstRow)if(d)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(C){C?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},M.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()}
935,M.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},M.prototype.onResize=function(C,E,d,u){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=C?1:0;var f=this.container;u||(u=f.clientHeight||f.scrollHeight),!u&&this.$maxLines&&this.lineHeight>1&&(!f.style.height||f.style.height=="0px")&&(f.style.height="1px",u=f.clientHeight||f.scrollHeight),d||(d=f.clientWidth||f.scrollWidth);var w=this.$updateCachedSize(C,E,d,u);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!d&&!u)return this.resizing=0;C&&(this.$gutterLayer.$padding=null),C?this.$renderChanges(w|this.$changes,!0):this.$loop.schedule(w|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},M.prototype.$updateCachedSize=function(C,E,d,u){u-=this.$extraHeight||0;var f=0,w=this.$size,k={width:w.width,height:w.height,scrollerHeight:w.scrollerHeight,scrollerWidth:w.scrollerWidth};if(u&&(C||w.height!=u)&&(w.height=u,f|=this.CHANGE_SIZE,w.scrollerHeight=w.height,this.$horizScroll&&(w.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(w.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",f=f|this.CHANGE_SCROLL),d&&(C||w.width!=d)){f|=this.CHANGE_SIZE,w.width=d,E==null&&(E=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=E,x.setStyle(this.scrollBarH.element.style,"left",E+"px"),x.setStyle(this.scroller.style,"left",E+this.margin.left+"px"),w.scrollerWidth=Math.max(0,d-E-this.scrollBarV.getWidth()-this.margin.h),x.setStyle(this.$gutter.style,"left",this.margin.left+"px");var L=this.scrollBarV.getWidth()+"px";x.setStyle(this.scrollBarH.element.style,"right",L),x.setStyle(this.scroller.style,"right",L),x.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(w.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||C)&&(f|=this.CHANGE_FULL)}return w.$dirty=!d||!u,f&&this._signal("resize",k),f},M.prototype.onGutterResize=function(C){var E=this.$showGutter?C:0;E!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,E,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 C=this.$size.scrollerWidth-this.$padding*2,E=Math.floor(C/this.characterWidth);return this.session.adjustWrapLimit(E,this.$showPrintMargin&&this.$printMarginColumn)},M.prototype.setAnimatedScroll=function(C){this.setOption("animatedScroll",C)},M.prototype.getAnimatedScroll=function(){return this.$animatedScroll},M.prototype.setShowInvisibles=function(C){this.setOption("showInvisibles",C),this.session.$bidiHandler.setShowInvisibles(C)},M.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},M.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},M.prototype.setDisplayIndentGuides=function(C){this.setOption("displayIndentGuides",C)},M.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},M.prototype.setHighlightIndentGuides=function(C){this.setOption("highlightIndentGuides",C)},M.prototype.setShowPrintMargin=function(C){this.setOption("showPrintMargin",C)},M.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},M.prototype.setPrintMarginColumn=function(C){this.setOption("printMarginColumn",C)},M.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},M.prototype.getShowGutter=function(){return this.getOption("showGutter")},M.prototype.setShowGutter=function(C){return this.setOption("showGutter",C)},M.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},M.prototype.setFadeFoldWidgets=function(C){this.setOption("fadeFoldWidgets",C)},M.prototype.setHighlightGutterLine=function(C){this.setOption("highlightGutterLine",C)},M.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},M.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var 
935C=x.createElement("div");C.className="ace_layer ace_print-margin-layer",this.$printMarginEl=x.createElement("div"),this.$printMarginEl.className="ace_print-margin",C.appendChild(this.$printMarginEl),this.content.insertBefore(C,this.content.firstChild)}var E=this.$printMarginEl.style;E.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",E.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 C=this.textarea.style,E=this.$composition;if(!this.$keepTextAreaAtCursor&&!E){x.translate(this.textarea,-100,0);return}var d=this.$cursorLayer.$pixelPos;if(d){E&&E.markerRange&&(d=this.$cursorLayer.getPixelPosition(E.markerRange.start,!0));var u=this.layerConfig,f=d.top,w=d.left;f-=u.offset;var k=E&&E.useTextareaForIME||g.isMobile?this.lineHeight:1;if(f<0||f>u.height-k){x.translate(this.textarea,0,0);return}var L=1,_=this.$size.height-k;if(!E)f+=this.lineHeight;else if(E.useTextareaForIME){var R=this.textarea.value;L=this.characterWidth*this.session.$getStringScreenWidth(R)[0]}else f+=this.lineHeight+2;w-=this.scrollLeft,w>this.$size.scrollerWidth-L&&(w=this.$size.scrollerWidth-L),w+=this.gutterWidth+this.margin.left,x.setStyle(C,"height",k+"px"),x.setStyle(C,"width",L+"px"),x.translate(this.textarea,Math.min(w,this.$size.scrollerWidth-L),Math.min(f,_))}}},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 C=this.layerConfig,E=C.lastRow,d=this.session.documentToScreenRow(E,0)*C.lineHeight;return d-this.session.getScrollTop()>C.height-C.lineHeight?E-1:E},M.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},M.prototype.setPadding=function(C){this.$padding=C,this.$textLayer.setPadding(C),this.$cursorLayer.setPadding(C),this.$markerFront.setPadding(C),this.$markerBack.setPadding(C),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},M.prototype.setScrollMargin=function(C,E,d,u){var f=this.scrollMargin;f.top=C|0,f.bottom=E|0,f.right=u|0,f.left=d|0,f.v=f.top+f.bottom,f.h=f.left+f.right,f.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-f.top),this.updateFull()},M.prototype.setMargin=function(C,E,d,u){var f=this.margin;f.top=C|0,f.bottom=E|0,f.right=u|0,f.left=d|0,f.v=f.top+f.bottom,f.h=f.left+f.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(C){this.setOption("hScrollBarAlwaysVisible",C)},M.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},M.prototype.setVScrollBarAlwaysVisible=function(C){this.setOption("vScrollBarAlwaysVisible",C)},M.prototype.$updateScrollBarV=function(){var C=this.layerConfig.maxHeight,E=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(C-=(E-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>C-E&&(C=this.scrollTop+E,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(C+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(C,E){if(this.$changes&&(C|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!C&&!E){this.$changes|=C;return}if(this.$size.$dirty)return this.$changes|=C,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",C),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var d=this.layerConfig;if(C&this.CHANGE_FULL||C&this.CHANGE_SIZE||C&this.CHANGE_TEXT||C&this.CHANGE_LINES||C&this.CHANGE_SCROLL||C&this.CHANGE_H_SCROLL){if(C|=this.$computeLayerConfig()|this.$loop.clear(),d.firstRow!=this.layerConfig.firstRow&&d.firstRowScreen==this.layerConfig.firstRowScreen){var u=this.scrollTop+(d.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;u>0&&(this.scrollTop=u,C=C|this.CHANGE_SCROLL,C|=this.$computeLayerConfig()|this.$loop.clear())}d=this.layerConfig,this.$updateScrollBarV(),C&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),x.translate(this.content,-this.scrollLeft,-d.offset);var f=d.width+2*this.$padding+"px",w=d.minHeight+"px";x.setStyle(this.content.style,"width",f),x.setStyle(this.content.style,"height",w)}if(C&this.CHANGE_H_SCROLL&&(x.translate(this.content,-this.scrollLeft,-d.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),C&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(d),this.$showGutter&&this.$gutterLayer.update(d),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(d),this.$markerBack.update(d),this.$markerFront.update(d),this.$curs
935orLayer.update(d),this.$moveTextAreaToCursor(),this._signal("afterRender",C);return}if(C&this.CHANGE_SCROLL){this.$changedLines=null,C&this.CHANGE_TEXT||C&this.CHANGE_LINES?this.$textLayer.update(d):this.$textLayer.scrollLines(d),this.$showGutter&&(C&this.CHANGE_GUTTER||C&this.CHANGE_LINES?this.$gutterLayer.update(d):this.$gutterLayer.scrollLines(d)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(d),this.$markerBack.update(d),this.$markerFront.update(d),this.$cursorLayer.update(d),this.$moveTextAreaToCursor(),this._signal("afterRender",C);return}C&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(d),this.$showGutter&&this.$gutterLayer.update(d),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(d)):C&this.CHANGE_LINES?((this.$updateLines()||C&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(d),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(d)):C&this.CHANGE_TEXT||C&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(d),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(d)):C&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(d),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(d)),C&this.CHANGE_CURSOR&&(this.$cursorLayer.update(d),this.$moveTextAreaToCursor()),C&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(d),C&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(d),this._signal("afterRender",C)},M.prototype.$autosize=function(){var C=this.session.getScreenLength()*this.lineHeight,E=this.$maxLines*this.lineHeight,d=Math.min(E,Math.max((this.$minLines||1)*this.lineHeight,C))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(d+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&d>this.$maxPixelHeight&&(d=this.$maxPixelHeight);var u=d<=2*this.lineHeight,f=!u&&C>E;if(d!=this.desiredHeight||this.$size.height!=this.desiredHeight||f!=this.$vScroll){f!=this.$vScroll&&(this.$vScroll=f,this.scrollBarV.setVisible(f));var w=this.container.clientWidth;this.container.style.height=d+"px",this.$updateCachedSize(!0,this.$gutterWidth,w,d),this.desiredHeight=d,this._signal("autosize")}},M.prototype.$computeLayerConfig=function(){var C=this.session,E=this.$size,d=E.height<=2*this.lineHeight,u=this.session.getScreenLength(),f=u*this.lineHeight,w=this.$getLongestLine(),k=!d&&(this.$hScrollBarAlwaysVisible||E.scrollerWidth-w-2*this.$padding<0),L=this.$horizScroll!==k;L&&(this.$horizScroll=k,this.scrollBarH.setVisible(k));var _=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var R=E.scrollerHeight+this.lineHeight,I=!this.$maxLines&&this.$scrollPastEnd?(E.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;f+=I;var O=this.scrollMargin;this.session.setScrollTop(Math.max(-O.top,Math.min(this.scrollTop,f-E.scrollerHeight+O.bottom))),this.session.setScrollLeft(Math.max(-O.left,Math.min(this.scrollLeft,w+2*this.$padding-E.scrollerWidth+O.right)));var z=!d&&(this.$vScrollBarAlwaysVisible||E.scrollerHeight-f+I<0||this.scrollTop>O.top),D=_!==z;D&&(this.$vScroll=z,this.scrollBarV.setVisible(z));var F=this.scrollTop%this.lineHeight,B=Math.ceil(R/this.lineHeight)-1,W=Math.max(0,Math.round((this.scrollTop-F)/this.lineHeight)),j=W+B,G,K,V=this.lineHeight;W=C.screenToDocumentRow(W,0);var Q=C.getFoldLine(W);Q&&(W=Q.start.row),G=C.documentToScreenRow(W,0),K=C.getRowLength(W)*V,j=Math.min(C.screenToDocumentRow(j,0),C.getLength()-1),R=E.scrollerHeight+C.getRowLength(j)*V+K,F=this.scrollTop-G*V;var ee=0;return(this.layerConfig.width!=w||L)&&(ee=this.CHANGE_H_SCROLL),(L||D)&&(ee|=this.$updateCachedSize(!0,this.gutterWidth,E.width,E.height),this._signal("scrollbarVisibilityChanged"),D&&(w=this.$getLongestLine())),this.layerConfig={width:w,padding:this.$padding,firstRow:W,firstRowScreen:G,lastRow:j,lineHeight:V,characterWidth:this.characterWidth,minHeight:R,maxHeight:f,offset:F,gutterOffset:V?Math.max(0,Math.ceil((F+E.height-E.scrollerHeight)/V)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(w-this.$padding),ee},M.prototype.$updateLines=function(){if(this.$changedLines){var C=this.$changedLines.firstRow,E=this.$changedLines.lastRow;this.$changedLines=null;var d=this.layerConfig;if(!(C>
935d.lastRow+1)&&!(E<d.firstRow)){if(E===1/0){this.$showGutter&&this.$gutterLayer.update(d),this.$textLayer.update(d);return}return this.$textLayer.updateLines(d,C,E),!0}}},M.prototype.$getLongestLine=function(){var C=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(C+=1),this.$textLayer&&C>this.$textLayer.MAX_LINE_LENGTH&&(C=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(C*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(C,E){this.$gutterLayer.addGutterDecoration(C,E)},M.prototype.removeGutterDecoration=function(C,E){this.$gutterLayer.removeGutterDecoration(C,E)},M.prototype.updateBreakpoints=function(C){this._rows=C,this.$loop.schedule(this.CHANGE_GUTTER)},M.prototype.setAnnotations=function(C){this.$gutterLayer.setAnnotations(C),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(C,E,d){this.scrollCursorIntoView(C,d),this.scrollCursorIntoView(E,d)},M.prototype.scrollCursorIntoView=function(C,E,d){if(this.$size.scrollerHeight!==0){var u=this.$cursorLayer.getPixelPosition(C),f=u.left,w=u.top,k=d&&d.top||0,L=d&&d.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var _=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;_+k>w?(E&&_+k>w+this.lineHeight&&(w-=E*this.$size.scrollerHeight),w===0&&(w=-this.scrollMargin.top),this.session.setScrollTop(w)):_+this.$size.scrollerHeight-L<w+this.lineHeight&&(E&&_+this.$size.scrollerHeight-L<w-this.lineHeight&&(w+=E*this.$size.scrollerHeight),this.session.setScrollTop(w+this.lineHeight+L-this.$size.scrollerHeight));var R=this.scrollLeft,I=2*this.layerConfig.characterWidth;f-I<R?(f-=I,f<this.$padding+I&&(f=-this.scrollMargin.left),this.session.setScrollLeft(f)):(f+=I,R+this.$size.scrollerWidth<f+this.characterWidth?this.session.setScrollLeft(Math.round(f+this.characterWidth-this.$size.scrollerWidth)):R<=this.$padding&&f-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(C){this.session.setScrollTop(C*this.lineHeight)},M.prototype.alignCursor=function(C,E){typeof C=="number"&&(C={row:C,column:0});var d=this.$cursorLayer.getPixelPosition(C),u=this.$size.scrollerHeight-this.lineHeight,f=d.top-u*(E||0);return this.session.setScrollTop(f),f},M.prototype.$calcSteps=function(C,E){var d=0,u=this.STEPS,f=[],w=function(k,L,_){return _*(Math.pow(k-1,3)+1)+L};for(d=0;d<u;++d)f.push(w(d/this.STEPS,C,E-C));return f},M.prototype.scrollToLine=function(C,E,d,u){var f=this.$cursorLayer.getPixelPosition({row:C,column:0}),w=f.top;E&&(w-=this.$size.scrollerHeight/2);var k=this.scrollTop;this.session.setScrollTop(w),d!==!1&&this.animateScrolling(k,u)},M.prototype.animateScrolling=function(C,E){var d=this.scrollTop;if(!this.$animatedScroll)return;var u=this;if(C==d)return;if(this.$scrollAnimation){var f=this.$scrollAnimation.steps;if(f.length&&(C=f[0],C==d))return}var w=u.$calcSteps(C,d);this.$scrollAnimation={from:C,to:d,steps:w},clearInterval(this.$timer),u.session.setScrollTop(w.shift()),u.session.$scrollTop=d;function k(){u.$timer=clearInterval(u.$timer),u.$scrollAnimation=null,u.$stopAnimation=!1,E&&E()}this.$timer=setInterval(function(){if(u.$stopAnimation){k();return}if(!u.session)return clearInterval(u.$timer);w.length?(u.session.setScrollTop(w.shift()),u.session.$scrollTop=d):d!=null?(u.session.$scrollTop=-1,u.session.setScrollTop(d),d=null):k()},10)},M.prototype.scrollToY=function(C){this.scrollTop!==C&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=C)},M.prototype.scrollToX=function(C){this.scrollLeft!==C&&(this.scrollLeft=C),this.$loop.schedule(this.CHANGE_H_SCROLL)},M.prototype.scrollTo=function(C,E){this.session.setScrollTop(E),this.session.setScrollLeft(C)},M.prototype.scrollBy=function(C,E){E&&this.session.setScrollTop(this.session.getScrollTop()+E),C&&this.session.setScrollLeft(this.session.getScrollLeft()+C)},M.prototype.isScrollableBy=function(C,E){if(E<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||E>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||C<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||C>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},M.prototype.pixelToScreenCoordinates=function(C,E){var d;if(this.$hasCssTransforms){d={top:0,left:0};var u=this.$fontMetrics.transformCoordinates([C,E]);C=u[1]-this.gutterWidth-this.margin.left,E=u[0]}else d=this.scroller.getBoundingClientRect();var f=C+this.scrollLeft-d.left-this.$padding,w=f/this.characterWidth,k=Math.floor((E+this.scrollTop-d.top)/this.lineHeight),L=this.$blockCursor?Math.floor(w):Math.round(w);return{row:k,column:L,side:w-L>0?1:-1,offsetX:f}},M.prototype.screenToTextCoordinates=function(C,E){var d;if(this.$hasCssTransforms){d={top:0,left:0};var u=this.$fontMetrics.transformCoordinates([C,E]);C=u[1]-this.gutterWidth-this.margin.left,E=u[0]}else d=this.scroller.getBoundingClientRect();var f=C+this.scrollLeft-d.left-this.$padding,w=f/this.characterWidth,k=this.$blockCursor?Math.floor(w):Math.round(w),L=Math.floor((E+this.scrollTop-d.top)/this.lineHeight);return this.session.screenToDocumentPosition(L,Math.max(k,0),f)},M.prototype.textToScreenCoordinates=function(C,E){var d=this.scroller.getBoundingClientRect(),u=this.session.documentToScreenPosition(C,E),f=this.$padding+(this.session.$bidiHandler.isBidiRow(u.row,C)?this.session.$bidiHandler.getPosLeft(u.column):Math.round(u.column*this.characterWidth)),w=u.row*this.lineHeight;return{pageX:d.left+f-this.scrollLeft,pageY:d.top+w-this.scrollTop}},M.prototype.visualizeFocus=function(){x.addCssClass(this.container,"ace_focus")},M.prototype.visualizeBlur=function(){x.removeCssClass(this.container,"ace_focus")},M.prototype.showComposition=function(C){this.$composition=C,C.cssText||(C.cssText=this.textarea.style.cssText),C.useTextareaForIME==null&&(C.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(x.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$curs
935orLayer.element.style.display="none"):C.markerId=this.session.addMarker(C.markerRange,"ace_composition_marker","text")},M.prototype.setCompositionText=function(C){var E=this.session.selection.cursor;this.addToken(C,"composition_placeholder",E.row,E.column),this.$moveTextAreaToCursor()},M.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),x.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var C=this.session.selection.cursor;this.removeExtraToken(C.row,C.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},M.prototype.setGhostText=function(C,E){var d=this.session.selection.cursor,u=E||{row:d.row,column:d.column};this.removeGhostText();var f=this.$calculateWrappedTextChunks(C,u);this.addToken(f[0].text,"ghost_text",u.row,u.column),this.$ghostText={text:C,position:{row:u.row,column:u.column}};var w=x.createElement("div");if(f.length>1){var k=this.hideTokensAfterPosition(u.row,u.column),L;f.slice(1).forEach(function(D){var F=x.createElement("div"),B=x.createElement("span");B.className="ace_ghost_text",D.wrapped&&(F.className="ghost_text_line_wrapped"),D.text.length===0&&(D.text=" "),B.appendChild(x.createTextNode(D.text)),F.appendChild(B),w.appendChild(F),L=F}),k.forEach(function(D){var F=x.createElement("span");$(D.type)||(F.className="ace_"+D.type.replace(/\./g," ace_")),F.appendChild(x.createTextNode(D.value)),L.appendChild(F)}),this.$ghostTextWidget={el:w,row:u.row,column:u.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var _=this.$cursorLayer.getPixelPosition(u,!0),R=this.container,I=R.getBoundingClientRect().height,O=f.length*this.lineHeight,z=O<I-_.top;if(z)return;O<I?this.scrollBy(0,(f.length-1)*this.lineHeight):this.scrollToRow(u.row)}},M.prototype.$calculateWrappedTextChunks=function(C,E){var d=this.$size.scrollerWidth-this.$padding*2,u=Math.floor(d/this.characterWidth)-2;u=u<=0?60:u;for(var f=C.split(/\r?\n/),w=[],k=0;k<f.length;k++){var L=this.session.$getDisplayTokens(f[k],E.column),_=this.session.$computeWrapSplits(L,u,this.session.$tabSize);if(_.length>0){var R=0;_.push(f[k].length);for(var I=0;I<_.length;I++){var O=f[k].slice(R,_[I]);w.push({text:O,wrapped:!0}),R=_[I]}}else w.push({text:f[k],wrapped:!1})}return w},M.prototype.removeGhostText=function(){if(this.$ghostText){var C=this.$ghostText.position;this.removeExtraToken(C.row,C.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},M.prototype.addToken=function(C,E,d,u){var f=this.session;f.bgTokenizer.lines[d]=null;var w={type:E,value:C},k=f.getTokens(d);if(u==null||!k.length)k.push(w);else for(var L=0,_=0;_<k.length;_++){var R=k[_];if(L+=R.value.length,u<=L){var I=R.value.length-(L-u),O=R.value.slice(0,I),z=R.value.slice(I);k.splice(_,1,{type:R.type,value:O},w,{type:R.type,value:z});break}}this.updateLines(d,d)},M.prototype.hideTokensAfterPosition=function(C,E){for(var d=this.session.getTokens(C),u=0,f=!1,w=[],k=0;k<d.length;k++){var L=d[k];if(u+=L.value.length,L.type!=="ghost_text"){if(f){w.push({type:L.type,value:L.value}),L.type="hidden_token";continue}u===E&&(f=!0)}}return this.updateLines(C,C),w},M.prototype.removeExtraToken=function(C,E){this.session.bgTokenizer.lines[C]=null,this.updateLines(C,C)},M.prototype.setTheme=function(C,E){var d=this;if(this.$themeId=C,d._dispatchEvent("themeChange",{theme:C}),!C||typeof C=="string"){var u=C||this.$options.theme.initialValue;a.loadModule(["theme",u],f)}else f(C);function f(w){if(d.$themeId!=C)return E&&E();if(!w||!w.cssClass)throw new Error("couldn't load module "+C+" or it didn't call define");w.$id&&(d.$themeId=w.$id),x.importCssString(w.cssText,w.cssClass,d.container),d.theme&&x.removeCssClass(d.container,d.theme.cssClass);var k="padding"in w?w.padding:"padding"in(d.theme||{})?4:d.$padding;d.$padding&&k!=d.$padding&&d.setPadding(k),d.$theme=w.cssClass,d.theme=w,x.addCssClass(d.container,w.cssClass),x.setCssClass(d.c
935ontainer,"ace_dark",w.isDark),d.$size&&(d.$size.width=0,d.$updateSizeAsync()),d._dispatchEvent("themeLoaded",{theme:w}),E&&E(),g.isSafari&&d.scroller&&(d.scroller.style.background="red",d.scroller.style.background="")}},M.prototype.getTheme=function(){return this.$themeId},M.prototype.setStyle=function(C,E){x.setCssClass(this.container,C,E!==!1)},M.prototype.unsetStyle=function(C){x.removeCssClass(this.container,C)},M.prototype.setCursorStyle=function(C){x.setStyle(this.scroller.style,"cursor",C)},M.prototype.setMouseCursor=function(C){x.setStyle(this.scroller.style,"cursor",C)},M.prototype.attachToShadowRoot=function(){x.importCssString(m,"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(C){var E=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),this.$scrollDecorator&&delete this.$scrollDecorator,C===!0?(this.scrollBarV=new s(this.container,this),this.scrollBarH=new i(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(d){E.$scrollAnimation||E.session.setScrollTop(d.data-E.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(d){E.$scrollAnimation||E.session.setScrollLeft(d.data-E.scrollMargin.left)}),this.$scrollDecorator=new p(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(d){E.$scrollAnimation||E.session.setScrollTop(d.data-E.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(d){E.$scrollAnimation||E.session.setScrollLeft(d.data-E.scrollMargin.left)}))},M.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var C=this;this.$resizeTimer=y.delayedCall(function(){C.destroyed||C.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(E){var d=E[0].contentRect.width,u=E[0].contentRect.height;Math.abs(C.$size.width-d)>1||Math.abs(C.$size.height-u)>1?C.$resizeTimer.delay():C.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},M}();T.prototype.CHANGE_CURSOR=1,T.prototype.CHANGE_MARKER=2,T.prototype.CHANGE_GUTTER=4,T.prototype.CHANGE_SCROLL=8,T.prototype.CHANGE_LINES=16,T.prototype.CHANGE_TEXT=32,T.prototype.CHANGE_SIZE=64,T.prototype.CHANGE_MARKER_BACK=128,T.prototype.CHANGE_MARKER_FRONT=256,T.prototype.CHANGE_FULL=512,T.prototype.CHANGE_H_SCROLL=1024,T.prototype.$changes=0,T.prototype.$padding=null,T.prototype.$frozen=!1,T.prototype.STEPS=8,A.implement(T.prototype,v),a.defineOptions(T.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){x.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:!g.isMobile&&!g.isIE}}),S.VirtualRenderer=T}
vendor: 4,982 bytes, line 935
935),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(b,S,N){var A=b("../lib/oop"),x=b("../lib/net"),y=b("../lib/event_emitter").EventEmitter,a=b("../config");function c(t){var e="importScripts('"+x.qualifyURL(t)+"');";try{return new Blob([e],{type:"application/javascript"})}catch{var i=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new i;return s.append(e),s.getBlob("application/javascript")}}function o(t){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(a.get("loadWorkerFromBlob")){var e=c(t),i=window.URL||window.webkitURL,s=i.createObjectURL(e);return new Worker(s)}return new Worker(t)}var r=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(){A.implement(this,y),this.$createWorkerFromOldConfig=function(t,e,i,s,l){if(b.nameToUrl&&!b.toUrl&&(b.toUrl=b.nameToUrl),a.get("packaged")||!b.toUrl)s=s||a.moduleUrl(e,"worker");else{var h=this.$normalizePath;s=s||h(b.toUrl("ace/worker/worker.js",null,"_"));var v={};t.forEach(function(m){v[m]=h(b.toUrl(m,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=o(s),l&&this.send("importScripts",l),this.$worker.postMessage({init:!0,tlns:v,module:e,classname:i}),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 i=this.callbacks[e.id];i&&(i(e.data),delete this.callbacks[e.id]);break;case"error":this.reportError(e.data);break;case"log":window.console&&console.log&&console.log.apply(console,e.data);break}},this.reportError=function(t){window.console&&console.error&&console.error(t)},this.$normalizePath=function(t){return x.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,i){if(i){var s=this.callbackId++;this.callbacks[s]=i,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(i){console.error(i.stack)}},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(r.prototype);var n=function(t,e,i){var s=null,l=!1,h=Object.create(y),v=[],m=new r({messageBuffer:v,terminate:function(){},postMessage:function(g){v.push(g),s&&(l?setTimeout(p):p())}});m.setEmitSync=function(g){l=g};var p=function(){var g=v.shift();g.command?s[g.command].apply(s,g.args):g.event&&h._signal(g.event,g.data)};return h.postMessage=function(g){m.onMessage({data:g})},h.callback=function(g,$){this.postMessage({type:"call",id:$,data:g})},h.emit=function(g,$){this.postMessage({type:"event",name:g,data:$})},a.loadModule(["worker",e],function(g){for(s=new g[i](h);v.length;)p()}),m};S.UIWorkerClient=n,S.WorkerClient=r,S.createWorker=o}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(b,S,N){var A=b("./range").Range,x=b("./lib/event_emitter").EventEmitter,y=b("./lib/oop"),a=function(){function c(o,r,n,t,e,i){var s=this;this.length=r,this.session=o,this.doc=o.getDocument(),this.mainClass=e,this.othersClass=i,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 l=o.getUndoManager().$undoStack||o.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=l.length,this.setup(),o.selection.on("changeCursor",this.$onCursorChange)}return c.prototype.setup=function(){var o=this,r=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=r.createAnchor(this.$pos.row,this.$pos.column);var t=this.pos;t.$insertRight=!0,t.detach(),t.markerId=n.addMarker(new A(t.row,t.column,t.row,t.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEac
935h(function(e){var i=r.createAnchor(e.row,e.column);i.$insertRight=!0,i.detach(),o.others.push(i)}),n.setUndoSelect(!1)},c.prototype.showOtherMarkers=function(){if(!this.othersActive){var o=this.session,r=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=o.addMarker(new A(n.row,n.column,n.row,n.column+r.length),r.othersClass,null,!1)})}},c.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var o=0;o<this.others.length;o++)this.session.removeMarker(this.others[o].markerId)}},c.prototype.onUpdate=function(o){if(this.$updating)return this.updateAnchors(o);var r=o;if(r.start.row===r.end.row&&r.start.row===this.pos.row){this.$updating=!0;var n=o.action==="insert"?r.end.column-r.start.column:r.start.column-r.end.column,t=r.start.column>=this.pos.column&&r.start.column<=this.pos.column+this.length+1,e=r.start.column-this.pos.column;if(this.updateAnchors(o),t&&(this.length+=n),t&&!this.session.$fromUndo){if(o.action==="insert")for(var i=this.others.length-1;i>=0;i--){var s=this.others[i],l={row:s.row,column:s.column+e};this.doc.insertMergedLines(l,o.lines)}else if(o.action==="remove")for(var i=this.others.length-1;i>=0;i--){var s=this.others[i],l={row:s.row,column:s.column+e};this.doc.remove(new A(l.row,l.column,l.row,l.column-n))}}this.$updating=!1,this.updateMarkers()}},c.prototype.updateAnchors=function(o){this.pos.onChange(o);for(var r=this.others.length;r--;)this.others[r].onChange(o);this.updateMarkers()},c.prototype.updateMarkers=function(){if(!this.$updating){var o=this,r=this.session,n=function(e,i){r.removeMarker(e.markerId),e.markerId=r.addMarker(new A(e.row,e.column,e.row,e.column+o.length),i,null,!1)};n(this.pos,this.mainClass);for(var t=this.others.length;t--;)n(this.others[t],this.othersClass)}},c.prototype.onCursorChange=function(o){if(!(this.$updating||!this.session)){var r=this.session.selection.getCursor();r.row===this.pos.row&&r.column>=this.pos.column&&r.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",o)):(this.hideOtherMarkers(),this._emit("cursorLeave",o))}},c.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},c.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var o=this.session.getUndoManager(),r=(o.$undoStack||o.$undostack).length-this.$undoStackDepth,n=0;n<r;n++)o.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},c}();y.implement(a.prototype,x),S.PlaceHolder=a}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(b,S,N){var A=b("../lib/event"),x=b("../lib/useragent");function y(c,o){return c.row==o.row&&c.column==o.column}function a(c){var o=c.domEvent,r=o.altKey,n=o.shiftKey,t=o.ctrlKey,e=c.getAccelKey(),i=c.getButton();if(t&&x.isMac&&(i=o.button),c.editor.inMultiSelectMode&&i==2){c.editor.textInput.onContextMenu(c.domEvent);return}if(!t&&!r&&!e){i===0&&c.editor.inMultiSelectMode&&c.editor.exitMultiSelectMode();return}if(i===0){var s=c.editor,l=s.selection,h=s.inMultiSelectMode,v=c.getDocumentPosition(),m=l.getCursor(),p=c.inSelection()||l.isEmpty()&&y(v,m),g=c.x,$=c.y,T=function(O){g=O.clientX,$=O.clientY},M=s.session,C=s.renderer.pixelToScreenCoordinates(g,$),E=C,d;if(s.$mouseHandler.$enableJumpToDef)t&&r||e&&r?d=n?"block":"add":r&&s.$blockSelectEnabled&&(d="block");else if(e&&!r){if(d="add",!h&&n)return}else r&&s.$blockSelectEnabled&&(d="block");if(d&&x.isMac&&o.ctrlKey&&s.$mouseHandler.cancelContextMenu(),d=="add"){if(!h&&p)return;if(!h){var u=l.toOrientedRange();s.addSelectionMarker(u)}var f=l.rangeList.rangeAtPoint(v);s.inVirtualSelectionMode=!0,n&&(f=null,u=l.ranges[0]||u,s.removeSelectionMarker(u)),s.once("mouseup",function(){var O=l.toOrientedRange();f&&O.isEmpty()&&y(f.cursor,O.cursor)?l.substractPoint(O.cursor):(n?l.substractPoint(u.cursor):u&&(s.removeSelectionMarker(u),l.addRange(u)),l.addRange(O)),s.inVirtualSelectionMode=!1})}else if(d=="block"){c.stop(),s.inVirtualSelectionMode=!0;var w,k=[],L=function(){var O=s.renderer.pixelToScreenCoordinates(g,$),z=M.screenToDocumentPosition(O.row,O.column,O.offsetX);y(E,O)&&y(z,l.lead)||(E=O,s.selection.moveToPosition(z),s.renderer.scrollCursorIntoView(),s.removeSelectionMarkers(k),k=l.rectangularRangeBlock(E,C),s.$mouseHandler.$clickSelection&&k.length==1&&k[0].isEmpty()&&(k[0]=s.$mouseHandler.$clickSelection.clone()),k.forEac
935h(s.addSelectionMarker,s),s.updateSelectionMarkers())};h&&!e?l.toSingleRange():!h&&e&&(w=l.toOrientedRange(),s.addSelectionMarker(w)),n?C=M.documentToScreenPosition(l.lead):l.moveToPosition(v),E={row:-1,column:-1};var _=function(O){L(),clearInterval(I),s.removeSelectionMarkers(k),k.length||(k=[l.toOrientedRange()]),w&&(s.removeSelectionMarker(w),l.toSingleRange(w));for(var z=0;z<k.length;z++)l.addRange(k[z]);s.inVirtualSelectionMode=!1,s.$mouseHandler.$clickSelection=null},R=L;A.capture(s.container,T,_);var I=setInterval(function(){R()},20);return c.preventDefault()}}}S.onMouseDown=a}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(b,S,N){S.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(x){x.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(x){x.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(x){x.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(x){x.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(x){x.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(x){x.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(x){x.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(x){x.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(x){x.multiSelect.rangeCount>1?x.multiSelect.joinSelections():x.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(x){x.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(x){x.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(x){x.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],S.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(x){x.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(x){return x&&x.inMultiSelectMode}}];var A=b("../keyboard/hash_handler").HashHandler;S.keyboardHandler=new A(S.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(b,S,N){var A=b("./range_list").RangeList,x=b("./range").Range,y=b("./selection").Selection,a=b("./mouse/multi_select_handler").onMouseDown,c=b("./lib/event"),o=b("./lib/lang"),r=b("./commands/multi_select_commands");S.commands=r.defaultCommands.concat(r.multiSelectCommands);var n=b("./search").Search,t=new n;function e(m,p,g){return t.$options.wrap=!0,t.$options.needle=p,t.$options.backwards=g==-1,t.find(m)}var i=b("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(i.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(m,p){if(m){if(!this.inMultiSelectMode&&this.rangeCount===0){var g=this.toOrientedRange();if(this.rangeList.add(g),this.rangeList.add(m),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),p||this.fromOrientedRange(m);this.rangeList.removeAll(),this.rangeList.add(g),this.$onAddRange(g)}m.cursor||(m.cursor=m.end);var $=this.rangeList.add(m);return this.$onAddRange(m),$.length&&this.$onRemoveRange($),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),p||this.fromOrientedRange(m)}},this.toSingleRange=function(m){m=m||this.ranges[0];var p=this.rangeList.removeAll();p.length&&this.$onRemoveRange(p),m&&this.fromOrientedRange(m)},this.substractPoint=function(m){var p=this.rangeList.substractPoint(m);if(p)return this.$onRemoveRange(p),p[0]},this.mergeOverlappingRanges=function(){var m=this.rangeList.merge();m.length&&this.$onRemoveRange(m)},this.$onAddRange=function(m){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(m),this._signal("addRange",{range:m})},this.$onRemoveRange=function(m){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var p=this.rangeList.ranges.pop();m.push(p),this.rangeCount=0}for(var g=m.length;g--;){var $=this.ranges.indexOf(m[g]);this.ranges.splice($,1)}this._signal("removeRange",{ranges:m}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),p=p||this.ranges[0],p&&!p.isEqual(this.getRange())&&this.fromOrientedRange(p)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new A,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var m=this.ranges.length?this.ranges:[this.getRange()],p=[],g=0;g<m.length;g++){var $=m[g],T=$.start.row,M=$.end.row;if(T===M)p.push($.clone());else{for(p.push(new x(T,$.start.column,T,this.session.getLine(T).length));++T<M;)p.push(this.getLineRange(T,!0));p.push(new x(M,0,M,$.end.column))}g==0&&!this.isBackwards()&&(p=p.reverse())}this.toSingleRange();for(var g=p.length;g--;)this.addRange(p[g])},this.joinSelections=function(){var m=this.rangeList.ranges,p=m[m.length-1],g=x.fromPoints(m[0].start,p.end);this.toSingleRange(),this.setSelectionRange(g,p.cursor==p.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var m=this.rangeList.ranges,p=m[m.length-1],g=x.fromPoints(m[0].start,p.end);this.toSingleRange(),this.setSelectionRange(g,p.cursor==p.start)}else{var $=this.session.documentToScreenPosition(this.cursor),T=this.session.documentToScreenPosition(this.anchor),M=this.rectangularRangeBlock($,T);M.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(m,p,g){var $=[],T=m.column<p.column;if(T)var M=m.column,C=p.column,E=m.offsetX,d=p.offsetX;else var M=p.column,C=m.column,E=p.offsetX,d=m.offsetX;var u=m.row<p.row;if(u)var f=m.row,w=p.row;else var f=p.row,w=m.row;M<0&&(M=0),f<0&&(f=0),f==w&&(g=!0);for(var k,L=f;L<=w;L++){var _=x.fromPoints(this.session.screenToDocumentPosition(L,M,E),this.session.screenToDocumentPosition(L,C,d));if(_.isEmpty()){if(k&&l(_.end,k))break;k=_.end}_.cursor=T?_.start:_.end,$.push(_)}if(u&&$.reverse(),!g){for(var R=$.length-1;$[R].isEmpty()&&R>0;)R--;if(R>0)for(var I=0;$[I].isEmpty();)I++;for(var O=R;O>=I;O--)$[O].isEmpty()&&$.splice(O,1)}return $}}
935).call(y.prototype);var s=b("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(m){m.cursor||(m.cursor=m.end);var p=this.getSelectionStyle();return m.marker=this.session.addMarker(m,"ace_selection",p),this.session.$selectionMarkers.push(m),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,m},this.removeSelectionMarker=function(m){if(m.marker){this.session.removeMarker(m.marker);var p=this.session.$selectionMarkers.indexOf(m);p!=-1&&this.session.$selectionMarkers.splice(p,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(m){for(var p=this.session.$selectionMarkers,g=m.length;g--;){var $=m[g];if($.marker){this.session.removeMarker($.marker);var T=p.indexOf($);T!=-1&&p.splice(T,1)}}this.session.selectionMarkerCount=p.length},this.$onAddRange=function(m){this.addSelectionMarker(m.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(m){this.removeSelectionMarkers(m.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(m){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(r.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(m){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(r.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(m){var p=m.command,g=m.editor;if(g.multiSelect){if(p.multiSelectAction)p.multiSelectAction=="forEach"?$=g.forEachSelection(p,m.args):p.multiSelectAction=="forEachLine"?$=g.forEachSelection(p,m.args,!0):p.multiSelectAction=="single"?(g.exitMultiSelectMode(),$=p.exec(g,m.args||{})):$=p.multiSelectAction(g,m.args||{});else{var $=p.exec(g,m.args||{});g.multiSelect.addRange(g.multiSelect.toOrientedRange()),g.multiSelect.mergeOverlappingRanges()}return $}},this.forEachSelection=function(m,p,g){if(!this.inVirtualSelectionMode){var $=g&&g.keepOrder,T=g==!0||g&&g.$byLines,M=this.session,C=this.selection,E=C.rangeList,d=($?C:E).ranges,u;if(!d.length)return m.exec?m.exec(this,p||{}):m(this,p||{});var f=C._eventRegistry;C._eventRegistry={};var w=new y(M);this.inVirtualSelectionMode=!0;for(var k=d.length;k--;){if(T)for(;k>0&&d[k].start.row==d[k-1].end.row;)k--;w.fromOrientedRange(d[k]),w.index=k,this.selection=M.selection=w;var L=m.exec?m.exec(this,p||{}):m(this,p||{});!u&&L!==void 0&&(u=L),w.toOrientedRange(d[k])}w.detach(),this.selection=M.selection=C,this.inVirtualSelectionMode=!1,C._eventRegistry=f,C.mergeOverlappingRanges(),C.ranges[0]&&C.fromOrientedRange(C.ranges[0]);var _=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),_&&_.from==_.to&&this.renderer.animateScrolling(_.from),u}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var m="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var p=this.multiSelect.rangeList.ranges,g=[],$=0;$<p.length;$++)g.push(this.session.getTextRange(p[$]));var T=this.session.getDocument().getNewLineCharacter();m=g.join(T),m.length==(g.length-1)*T.length&&(m="")}else this.selection.isEmpty()||(m=this.session.getTextRange(this.getSelectionRange()));return m},this.$checkMultiselectChange=function(m,p){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var g=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&p==this.multiSelect.anchor)return;var $=p==this.multiSelect.anchor?g.cursor==g.start?g.end:g.start:g.cursor;$.row!=p.row||this.session.$clipPositionToDocument($.row,$.column).column!=p.column?this.multiSelect.toSingleRange(this.multiSelect.toOr
935ientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(m,p,g){if(p=p||{},p.needle=m||p.needle,p.needle==null){var $=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();p.needle=this.session.getTextRange($)}this.$search.set(p);var T=this.$search.findAll(this.session);if(!T.length)return 0;var M=this.multiSelect;g||M.toSingleRange(T[0]);for(var C=T.length;C--;)M.addRange(T[C],!0);return $&&M.rangeList.rangeAtPoint($.start)&&M.addRange($,!0),T.length},this.selectMoreLines=function(m,p){var g=this.selection.toOrientedRange(),$=g.cursor==g.end,T=this.session.documentToScreenPosition(g.cursor);this.selection.$desiredColumn&&(T.column=this.selection.$desiredColumn);var M=this.session.screenToDocumentPosition(T.row+m,T.column);if(g.isEmpty())var E=M;else var C=this.session.documentToScreenPosition($?g.end:g.start),E=this.session.screenToDocumentPosition(C.row+m,C.column);if($){var d=x.fromPoints(M,E);d.cursor=d.start}else{var d=x.fromPoints(E,M);d.cursor=d.end}if(d.desiredColumn=T.column,!this.selection.inMultiSelectMode)this.selection.addRange(g);else if(p)var u=g.cursor;this.selection.addRange(d),u&&this.selection.substractPoint(u)},this.transposeSelections=function(m){for(var p=this.session,g=p.multiSelect,$=g.ranges,T=$.length;T--;){var M=$[T];if(M.isEmpty()){var C=p.getWordRange(M.start.row,M.start.column);M.start.row=C.start.row,M.start.column=C.start.column,M.end.row=C.end.row,M.end.column=C.end.column}}g.mergeOverlappingRanges();for(var E=[],T=$.length;T--;){var M=$[T];E.unshift(p.getTextRange(M))}m<0?E.unshift(E.pop()):E.push(E.shift());for(var T=$.length;T--;){var M=$[T],d=M.clone();p.replace(M,E[T]),M.start.row=d.start.row,M.start.column=d.start.column}g.fromOrientedRange(g.ranges[0])},this.selectMore=function(m,p,g){var $=this.session,T=$.multiSelect,M=T.toOrientedRange();if(!(M.isEmpty()&&(M=$.getWordRange(M.start.row,M.start.column),M.cursor=m==-1?M.start:M.end,this.multiSelect.addRange(M),g))){var C=$.getTextRange(M),E=e($,C,m);E&&(E.cursor=m==-1?E.start:E.end,this.session.unfold(E),this.multiSelect.addRange(E),this.renderer.scrollCursorIntoView(null,.5)),p&&this.multiSelect.substractPoint(M.cursor)}},this.alignCursors=function(){var m=this.session,p=m.multiSelect,g=p.ranges,$=-1,T=g.filter(function(R){if(R.cursor.row==$)return!0;$=R.cursor.row});if(!g.length||T.length==g.length-1){var M=this.selection.getRange(),C=M.start.row,E=M.end.row,d=C==E;if(d){var u=this.session.getLength(),f;do f=this.session.getLine(E);while(/[=:]/.test(f)&&++E<u);do f=this.session.getLine(C);while(/[=:]/.test(f)&&--C>0);C<0&&(C=0),E>=u&&(E=u-1)}var w=this.session.removeFullLines(C,E);w=this.$reAlignText(w,d),this.session.insert({row:C,column:0},w.join(`
936`)+`
937`),d||(M.start.column=0,M.end.column=w[w.length-1].length),this.selection.setRange(M)}else{T.forEach(function(R){p.substractPoint(R.cursor)});var k=0,L=1/0,_=g.map(function(R){var I=R.cursor,O=m.getLine(I.row),z=O.substr(I.column).search(/\S/g);return z==-1&&(z=0),I.column>k&&(k=I.column),z<L&&(L=z),z});g.forEach(function(R,I){var O=R.cursor,z=k-O.column,D=_[I]-L;z>D?m.insert(O,o.stringRepeat(" ",z-D)):m.remove(new x(O.row,O.column,O.row,O.column-z+D)),R.start.column=R.end.column=k,R.start.row=R.end.row=O.row,R.cursor=R.end}),p.fromOrientedRange(g[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(m,p){var g=!0,$=!0,T,M,C;return m.map(function(w){var k=w.match(/(\s*)(.*?)(\s*)([=:].*)/);return k?T==null?(T=k[1].length,M=k[2].length,C=k[3].length,k):(T+M+C!=k[1].length+k[2].length+k[3].length&&($=!1),T!=k[1].length&&(g=!1),T>k[1].length&&(T=k[1].length),M<k[2].length&&(M=k[2].length),C>k[3].length&&(C=k[3].length),k):[w]}).map(p?d:g?$?u:d:f);function E(w){return o.stringRepeat(" ",w)}function d(w){return w[2]?E(T)+w[2]+E(M-w[2].length+C)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}function u(w){return w[2]?E(T+M-w[2].length)+w[2]+E(C)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}function f(w){return w[2]?E(T)+w[2]+E(C)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}}}).call(s.prototype);function l(m,p){return m.row==p.row&&m.column==p.column}S.onSessionChange=function(m){var p=m.session;p&&!p.multiSelect&&(p.$selectionMarkers=[],p.selection.$initRangeList(
937),p.multiSelect=p.selection),this.multiSelect=p&&p.multiSelect;var g=m.oldSession;g&&(g.multiSelect.off("addRange",this.$onAddRange),g.multiSelect.off("removeRange",this.$onRemoveRange),g.multiSelect.off("multiSelect",this.$onMultiSelect),g.multiSelect.off("singleSelect",this.$onSingleSelect),g.multiSelect.lead.off("change",this.$checkMultiselectChange),g.multiSelect.anchor.off("change",this.$checkMultiselectChange)),p&&(p.multiSelect.on("addRange",this.$onAddRange),p.multiSelect.on("removeRange",this.$onRemoveRange),p.multiSelect.on("multiSelect",this.$onMultiSelect),p.multiSelect.on("singleSelect",this.$onSingleSelect),p.multiSelect.lead.on("change",this.$checkMultiselectChange),p.multiSelect.anchor.on("change",this.$checkMultiselectChange)),p&&this.inMultiSelectMode!=p.selection.inMultiSelectMode&&(p.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function h(m){m.$multiselectOnSessionChange||(m.$onAddRange=m.$onAddRange.bind(m),m.$onRemoveRange=m.$onRemoveRange.bind(m),m.$onMultiSelect=m.$onMultiSelect.bind(m),m.$onSingleSelect=m.$onSingleSelect.bind(m),m.$multiselectOnSessionChange=S.onSessionChange.bind(m),m.$checkMultiselectChange=m.$checkMultiselectChange.bind(m),m.$multiselectOnSessionChange(m),m.on("changeSession",m.$multiselectOnSessionChange),m.on("mousedown",a),m.commands.addCommands(r.defaultCommands),v(m))}function v(m){if(!m.textInput)return;var p=m.textInput.getElement(),g=!1;c.addListener(p,"keydown",function(T){var M=T.keyCode==18&&!(T.ctrlKey||T.shiftKey||T.metaKey);m.$blockSelectEnabled&&M?g||(m.renderer.setMouseCursor("crosshair"),g=!0):g&&$()},m),c.addListener(p,"keyup",$,m),c.addListener(p,"blur",$,m);function $(T){g&&(m.renderer.setMouseCursor(""),g=!1)}}S.MultiSelect=h,b("./config").defineOptions(s.prototype,"editor",{enableMultiselect:{set:function(m){h(this),m?this.on("mousedown",a):this.off("mousedown",a)},value:!0},enableBlockSelect:{set:function(m){this.$blockSelectEnabled=m},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(b,S,N){var A=b("../../range").Range,x=S.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(y,a,c){var o=y.getLine(c);return this.foldingStartMarker.test(o)?"start":a=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(o)?"end":""},this.getFoldWidgetRange=function(y,a,c){return null},this.indentationBlock=function(y,a,c){var o=/\S/,r=y.getLine(a),n=r.search(o);if(n!=-1){for(var t=c||r.length,e=y.getLength(),i=a,s=a;++a<e;){var l=y.getLine(a).search(o);if(l!=-1){if(l<=n){var h=y.getTokenAt(a,0);if(!h||h.type!=="string")break}s=a}}if(s>i){var v=y.getLine(s).length;return new A(i,t,s,v)}}},this.openingBracketBlock=function(y,a,c,o,r){var n={row:c,column:o+1},t=y.$findClosingBracket(a,n,r);if(t){var e=y.foldWidgets[t.row];return e==null&&(e=y.getFoldWidget(t.row)),e=="start"&&t.row>n.row&&(t.row--,t.column=y.getLine(t.row).length),A.fromPoints(n,t)}},this.closingBracketBlock=function(y,a,c,o,r){var n={row:c,column:o},t=y.$findOpeningBracket(a,n);if(t)return t.column++,n.column--,A.fromPoints(t,n)}}).call(x.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(b,S,N){var A=b("../lib/dom"),x=b("../range").Range,y=b("../config").nls;function a(o,r,n){for(var t=0,e=o.length-1;t<=e;){var i=t+e>>1,s=n(r,o[i]);if(s>0)t=i+1;else if(s<0)e=i-1;else return i}return-(t+1)}function c(o,r,n){var t=o.getAnnotations().sort(x.comparePoints);if(t.length){var e=a(t,{row:r,column:-1},x.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 i=t[e];if(!(!i||!n)){if(i.row===r){do i=t[e+=n];while(i&&i.row===r);if(!i)return t.slice()}var s=[];r=i.row;do s[n<0?"unshift":"push"](i),i=t[e+=n];while(i&&i.row==r);return s.length&&s}}}S.showErrorMarker=function(o,r){var n=o.session,t=o.getCursorPosition(),e=t.row,i=n.widgetManager.getWidgetsAtRow(e).filter(function(T){return T.type=="errorMarker"})[0];i?i.destroy():e-=r;var s=c(n,e,r),l;if(s){var h=s[0];t.column=(h.pos&&typeof h.column!="number"?h.pos.sc:h.column)||0,t.row=h.row,l=o.renderer.$gutterLayer.$annotations[t.row]}else{if(i)return;l={displayText:[y("error-marker.good-state","Looks good!")],className:"ace_ok"}}o.session.unfold(t.row),o.selection.moveToPosition(t);var v={row:t.row,fixedWidth:!0,coverGutter:!0,el:A.createElement("div"),type:"errorMarker"}
937,m=v.el.appendChild(A.createElement("div")),p=v.el.appendChild(A.createElement("div"));p.className="error_widget_arrow "+l.className;var g=o.renderer.$cursorLayer.getPixelPosition(t).left;p.style.left=g+o.renderer.gutterWidth-5+"px",v.el.className="error_widget_wrapper",m.className="error_widget "+l.className,l.displayText.forEach(function(T,M){m.appendChild(A.createTextNode(T)),M<l.displayText.length-1&&m.appendChild(A.createElement("br"))}),m.appendChild(A.createElement("div"));var $=function(T,M,C){if(M===0&&(C==="esc"||C==="return"))return v.destroy(),{command:"null"}};v.destroy=function(){o.$mouseHandler.isMousePressed||(o.keyBinding.removeKeyboardHandler($),n.widgetManager.removeLineWidget(v),o.off("changeSelection",v.destroy),o.off("changeSession",v.destroy),o.off("mouseup",v.destroy),o.off("change",v.destroy))},o.keyBinding.addKeyboardHandler($),o.on("changeSelection",v.destroy),o.on("changeSession",v.destroy),o.on("mouseup",v.destroy),o.on("change",v.destroy),o.session.widgetManager.addLineWidget(v),v.el.onmousedown=o.focus.bind(o),o.renderer.scrollCursorIntoView(null,.5,{bottom:v.el.offsetHeight})},A.importCssString(`
938    .error_widget_wrapper {
939        background: inherit;
940        color: inherit;
941        border:none
942    }
943    .error_widget {
944        border-top: solid 2px;
945        border-bottom: solid 2px;
946        margin: 5px 0;
947        padding: 10px 40px;
948        white-space: pre-wrap;
949    }
950    .error_widget.ace_error, .error_widget_arrow.ace_error{
951        border-color: #ff5a5a
952    }
953    .error_widget.ace_warning, .error_widget_arrow.ace_warning{
954        border-color: #F1D817
955    }
956    .error_widget.ace_info, .error_widget_arrow.ace_info{
957        border-color: #5a5a5a
958    }
959    .error_widget.ace_ok, .error_widget_arrow.ace_ok{
960        border-color: #5aaa5a
961    }
962    .error_widget_arrow {
963        position: absolute;
964        border: solid 5px;
965        border-top-color: transparent!important;
966        border-right-color: transparent!important;
967        border-left-color: transparent!important;
968        top: -5px;
969    }
970`,"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(b,S,N){b("./loader_build")(S);var A=b("./lib/dom"),x=b("./range").Range,y=b("./editor").Editor,a=b("./edit_session").EditSession,c=b("./undomanager").UndoManager,o=b("./virtual_renderer").VirtualRenderer;b("./worker/worker_client"),b("./keyboard/hash_handler"),b("./placeholder"),b("./multi_select"),b("./mode/folding/fold_mode"),b("./theme/textmate"),b("./ext/error_marker"),S.config=b("./config"),S.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 y)return n.env.editor;var i="";if(n&&/input|textarea/i.test(n.tagName)){var s=n;i=s.value,n=A.createElement("pre"),s.parentNode.replaceChild(n,s)}else n&&(i=n.textContent,n.innerHTML="");var l=S.createEditSession(i),h=new y(new o(n),l,t),v={document:l,editor:h,onResize:h.resize.bind(h,null)};return s&&(v.textarea=s),h.on("destroy",function(){v.editor.container.env=null}),h.container.env=h.env=v,h},S.createEditSession=function(n,t){var e=new a(n,t);return e.setUndoManager(new c),e},S.Range=x,S.Editor=y,S.EditSession=a,S.UndoManager=c,S.VirtualRenderer=o;var r=S.config.version;S.version=r}),function(){ace.require(["ace/ace"],function(b){b&&(b.config.init(!0),b.define=ace.define);var S=function(){return this}();!S&&typeof window<"u"&&(S=window),!S&&typeof self<"u"&&(S=self),S.ace||(S.ace=b);for(var N in b)b.hasOwnProperty(N)&&(S.ace[N]=b[N]);S.ace.default=S.ace,H&&(H.exports=S.ace)})}()})(Re);var Xe=Re.exports;const Ze=ze(Xe);var Ie=function(){if(typeof Map<"u")return Map;function H(U,b){var S=-1;return U.some(function(N,A){return N[0]===b?(S=A,!0):!1}),S}return function(){function U(){this.__entries__=[]}return Object.defineProperty(U.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),U.prototype.get=function(b){var S=H(this.__entries__,b),N=this.__entries__[S];return N&&N[1]},U.prototype.set=function(b,S){var N=H(this.__entries__,b);~N?this.__entries__[N][1]=S:this.__entries__.push([b,S])},U.prototype.delete=function(b){var S=this.__entries__,N=H(S,b);~N&&S.splice(N,1)},U.prototype.has=function(b){return!!~H(this.__entries__,b)},U.prototype.clear=function(){this.__entries__.splice(0)},U.prototype.forEach=function(b,S){S===void 0&&(S=null);for(var N=0,A=this.__entries__;N<A.length;N++){var x=A[N];b.call(S,x[1],x[0])}},U}()}(),Ce=typeof window<"u"&&typeof document<"u"&&window.document===document,me=function(){return typeof global<"u"&&global.Math===Math?global:typeof self<"u"&&self.Math===Math?self:typeof window<"u"&&window.Math===Math?window:Function("return this")()}(),Je=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(me):function(H){return setTimeout(function(){return H(Date.now())},1e3/60)}}(),qe=2;function et(H,U){var b=!1,S=!1,N=0;function A(){b&&(b=!1,H()),S&&y()}function x(){Je(A)}function y(){var a=Date.now();if(b){if(a-N<qe)return;S=!0}else b=!0,S=!1,setTimeout(x,U);N=a}return y}var tt=20,nt=["top","right","bottom","left","width","height","size","weight"],it=typeof MutationObserver<"u",rt=function(){function H(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=et(this.refresh.bind(this),tt)}return H.prototype.addObserver=function(U){~this.observers_.indexOf(U)||this.observers_.push(U),this.connected_||this.connect_()},H.prototype.removeObserver=function(U){var b=this.observers_,S=b.indexOf(U);~S&&b.splice(S,1),!b.length&&this.connected_&&this.disconnect_()},H.prototype.refresh=function(){var U=this.updateObservers_();U&&this.refresh()},H.prototype.updateObservers_=function(){var U=this.observers_.filter(function(b){return b.gatherActive(),b.hasActive()});
vendor: 4,101 bytes, line 970
970return U.forEach(function(b){return b.broadcastActive()}),U.length>0},H.prototype.connect_=function(){!Ce||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),it?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},H.prototype.disconnect_=function(){!Ce||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},H.prototype.onTransitionEnd_=function(U){var b=U.propertyName,S=b===void 0?"":b,N=nt.some(function(A){return!!~S.indexOf(A)});N&&this.refresh()},H.getInstance=function(){return this.instance_||(this.instance_=new H),this.instance_},H.instance_=null,H}(),De=function(H,U){for(var b=0,S=Object.keys(U);b<S.length;b++){var N=S[b];Object.defineProperty(H,N,{value:U[N],enumerable:!1,writable:!1,configurable:!0})}return H},fe=function(H){var U=H&&H.ownerDocument&&H.ownerDocument.defaultView;return U||me},Oe=ye(0,0,0,0);function ve(H){return parseFloat(H)||0}function _e(H){for(var U=[],b=1;b<arguments.length;b++)U[b-1]=arguments[b];return U.reduce(function(S,N){var A=H["border-"+N+"-width"];return S+ve(A)},0)}function ot(H){for(var U=["top","right","bottom","left"],b={},S=0,N=U;S<N.length;S++){var A=N[S],x=H["padding-"+A];b[A]=ve(x)}return b}function st(H){var U=H.getBBox();return ye(0,0,U.width,U.height)}function at(H){var U=H.clientWidth,b=H.clientHeight;if(!U&&!b)return Oe;var S=fe(H).getComputedStyle(H),N=ot(S),A=N.left+N.right,x=N.top+N.bottom,y=ve(S.width),a=ve(S.height);if(S.boxSizing==="border-box"&&(Math.round(y+A)!==U&&(y-=_e(S,"left","right")+A),Math.round(a+x)!==b&&(a-=_e(S,"top","bottom")+x)),!ct(H)){var c=Math.round(y+A)-U,o=Math.round(a+x)-b;Math.abs(c)!==1&&(y-=c),Math.abs(o)!==1&&(a-=o)}return ye(N.left,N.top,y,a)}var lt=function(){return typeof SVGGraphicsElement<"u"?function(H){return H instanceof fe(H).SVGGraphicsElement}:function(H){return H instanceof fe(H).SVGElement&&typeof H.getBBox=="function"}}();function ct(H){return H===fe(H).document.documentElement}function ut(H){return Ce?lt(H)?st(H):at(H):Oe}function ht(H){var U=H.x,b=H.y,S=H.width,N=H.height,A=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,x=Object.create(A.prototype);return De(x,{x:U,y:b,width:S,height:N,top:b,right:U+S,bottom:N+b,left:U}),x}function ye(H,U,b,S){return{x:H,y:U,width:b,height:S}}var dt=function(){function H(U){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=ye(0,0,0,0),this.target=U}return H.prototype.isActive=function(){var U=ut(this.target);return this.contentRect_=U,U.width!==this.broadcastWidth||U.height!==this.broadcastHeight},H.prototype.broadcastRect=function(){var U=this.contentRect_;return this.broadcastWidth=U.width,this.broadcastHeight=U.height,U},H}(),ft=function(){function H(U,b){var S=ht(b);De(this,{target:U,contentRect:S})}return H}(),gt=function(){function H(U,b,S){if(this.activeObservations_=[],this.observations_=new Ie,typeof U!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=U,this.controller_=b,this.callbackCtx_=S}return H.prototype.observe=function(U){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(U instanceof fe(U).Element))throw new TypeError('parameter 1 is not of type "Element".');var b=this.observations_;b.has(U)||(b.set(U,new dt(U)),this.controller_.addObserver(this),this.controller_.refresh())}},H.prototype.unobserve=function(U){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>
970"u"||!(Element instanceof Object))){if(!(U instanceof fe(U).Element))throw new TypeError('parameter 1 is not of type "Element".');var b=this.observations_;b.has(U)&&(b.delete(U),b.size||this.controller_.removeObserver(this))}},H.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},H.prototype.gatherActive=function(){var U=this;this.clearActive(),this.observations_.forEach(function(b){b.isActive()&&U.activeObservations_.push(b)})},H.prototype.broadcastActive=function(){if(this.hasActive()){var U=this.callbackCtx_,b=this.activeObservations_.map(function(S){return new ft(S.target,S.broadcastRect())});this.callback_.call(U,b,U),this.clearActive()}},H.prototype.clearActive=function(){this.activeObservations_.splice(0)},H.prototype.hasActive=function(){return this.activeObservations_.length>0},H}(),Ne=typeof WeakMap<"u"?new WeakMap:new Ie,Fe=function(){function H(U){if(!(this instanceof H))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var b=rt.getInstance(),S=new gt(U,b,this);Ne.set(this,S)}return H}();["observe","unobserve","disconnect"].forEach(function(H){Fe.prototype[H]=function(){var U;return(U=Ne.get(this))[H].apply(U,arguments)}});var pt=function(){return typeof me.ResizeObserver<"u"?me.ResizeObserver:Fe}();const Ee=["blur","input","change","changeSelectionStyle","changeSession","copy","focus","paste"],mt=He({name:"VAceEditor",props:{value:{type:String,required:!0},lang:{type:String,default:"text"},theme:{type:String,default:"chrome"},options:Object,placeholder:String,readonly:Boolean,wrap:Boolean,printMargin:{type:[Boolean,Number],default:!0},minLines:Number,maxLines:Number},emits:["update:value","init",...Ee],render(){return Pe("div")},mounted(){const H=this._editor=je(Ze.edit(this.$el,{placeholder:this.placeholder,readOnly:this.readonly,value:this.value,mode:"ace/mode/"+this.lang,theme:"ace/theme/"+this.theme,wrap:this.wrap,printMargin:this.printMargin,useWorker:!1,minLines:this.minLines,maxLines:this.maxLines,...this.options}));this._contentBackup=this.value,this._isSettingContent=!1,H.on("change",()=>{if(this._isSettingContent)return;const U=H.getValue();this._contentBackup=U,this.$emit("update:value",U)}),Ee.forEach(U=>{const b="on"+Ue(U);typeof this.$.vnode.props[b]=="function"&&H.on(U,this.$emit.bind(this,U))}),this._ro=new pt(()=>H.resize()),this._ro.observe(this.$el),this.$emit("init",H)},beforeUnmount(){var H,U;(H=this._ro)===null||H===void 0||H.disconnect(),(U=this._editor)===null||U===void 0||U.destroy()},methods:{focus(){this._editor.focus()},blur(){this._editor.blur()},selectAll(){this._editor.selectAll()},getAceInstance(){return this._editor}},watch:{value(H){if(this._contentBackup!==H){try{this._isSettingContent=!0,this._editor.setValue(H,1)}finally{this._isSettingContent=!1}this._contentBackup=H}},theme(H){this._editor.setTheme("ace/theme/"+H)},options(H){this._editor.setOptions(H)},readonly(H){this._editor.setReadOnly(H)},placeholder(H){this._editor.setOption("placeholder",H)},wrap(H){this._editor.setWrapBehavioursEnabled(H)},printMargin(H){this._editor.setOption("printMargin",H)},lang(H){this._editor.setOption("mode","ace/mode/"+H)},minLines(H){this._editor.setOption("minLines",H)},maxLines(H){this._editor.setOption("maxLines",H)}}});var vt={exports:{}};(function(H,U){ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(b,S,N){var A=b("../lib/oop"),x=b("./text_highlight_rules").TextHighlightRules,y=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.\\(\\)]*)"}
970,{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|$)"},y.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};A.inherits(y,x),y.getTagRule=function(a){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},y.getStartRule=function(a){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:a}},y.getEndRule=function(a){return{token:"comment.doc",regex:"\\*\\/",next:a}},S.JsDocCommentHighlightRules=y}),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(b,S,N){var A=b("../lib/oop"),x=b("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,y=b("./text_highlight_rules").TextHighlightRules,a="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",c=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"),i="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]?|.)",l="(function)(\\s*)(\\*?)",h={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(t).join("|")+"\\b)"+a+")(\\s*)(\\()"};this.$rules={no_regex:[x.getStartRule("doc-start"),r("no_regex"),h,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\s*)(=)(\\s*)"+l+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+a+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\s*)(:)(\\s*)"+l+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+l+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:`from(?=\\s*('|"))`},{token:"keyword",regex:"(?:"+i+")\\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:a},{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:/[\])}]/}
970,{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:l+"(\\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:a},{regex:"",token:"empty",next:"no_regex"}],start:[x.getStartRule("doc-start"),r("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,}/}
970,{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"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[r("function_arguments"),{token:"variable.parameter",regex:a},{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"}]},(!n||!n.noES6)&&(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(v,m,p){if(this.next=v=="{"?this.nextState:"",v=="{"&&p.length)p.unshift("start",m);else if(v=="}"&&p.length&&(p.shift(),this.next=p.shift(),this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1))return"paren.quasi.end";return v=="{"?"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:"("+a+")(\\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!=!1)&&o.call(this)),this.embedRules(x,"doc-",[x.getEndRule("no_regex")]),this.normalizeRules()};A.inherits(c,y);function o(){var n=a.replace("\\d","\\d\\-"),t={onMatch:function(i,s,l){var h=i.charAt(1)=="/"?2:1;return h==1?(s!=this.nextState?l.unshift(this.next,this.nextState,0):l.unshift(this.next),l[2]++):h==2&&s==this.nextState&&(l[1]--,(!l[1]||l[1]<0)&&(l.shift(),l.shift())),[{type:"meta.tag.punctuation."+(h==1?"":"end-")+"tag-open.xml",value:i.slice(0,h)},{type:"meta.tag.tag-name.xml",value:i.substr(h)}]},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(i,s,l){return s==l[0]&&l.shift(),i.length==2&&(l[0]==this.nextState&&l[1]--,(!l[1]||l[1]<0)&&l.splice(0,2)),this.next=l[0]||"start",[{type:this.token,value:i}]},nextState:"jsx"},e,r("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"}]}
970,t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function r(n){return[{token:"comment",regex:/\/\*/,next:[x.getTagRule(),{token:"comment",regex:"\\*\\/",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[x.getTagRule(),{token:"comment",regex:"$|^",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}S.JavaScriptHighlightRules=c}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(b,S,N){var A=b("../range").Range,x=function(){};(function(){this.checkOutdent=function(y,a){return/^\s+$/.test(y)?/^\s*\}/.test(a):!1},this.autoOutdent=function(y,a){var c=y.getLine(a),o=c.match(/^(\s*\})/);if(!o)return 0;var r=o[1].length,n=y.findMatchingBracket({row:a,column:r});if(!n||n.row==a)return 0;var t=this.$getIndent(y.getLine(n.row));y.replace(new A(a,0,a,r-1),t)},this.$getIndent=function(y){return y.match(/^\s*/)[0]}}).call(x.prototype),S.MatchingBraceOutdent=x}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(b,S,N){var A=b("../../lib/oop"),x=b("../behaviour").Behaviour,y=b("../../token_iterator").TokenIterator;function a(o,r){return o&&o.type.lastIndexOf(r+".xml")>-1}var c=function(){this.add("string_dquotes","insertion",function(o,r,n,t,e){if(e=='"'||e=="'"){var i=e,s=t.doc.getTextRange(n.getSelectionRange());if(s!==""&&s!=="'"&&s!='"'&&n.getWrapBehavioursEnabled())return{text:i+s+i,selection:!1};var l=n.getCursorPosition(),h=t.doc.getLine(l.row),v=h.substring(l.column,l.column+1),m=new y(t,l.row,l.column),p=m.getCurrentToken();if(v==i&&(a(p,"attribute-value")||a(p,"string")))return{text:"",selection:[1,1]};if(p||(p=m.stepBackward()),!p)return;for(;a(p,"tag-whitespace")||a(p,"whitespace");)p=m.stepBackward();var g=!v||v.match(/\s/);if(a(p,"attribute-equals")&&(g||v==">")||a(p,"decl-attribute-equals")&&(g||v=="?"))return{text:i+i,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(o,r,n,t,e){var i=t.doc.getTextRange(e);if(!e.isMultiLine()&&(i=='"'||i=="'")){var s=t.doc.getLine(e.start.row),l=s.substring(e.start.column+1,e.start.column+2);if(l==i)return e.end.column++,e}}),this.add("autoclosing","insertion",function(o,r,n,t,e){if(e==">"){var i=n.getSelectionRange().start,s=new y(t,i.row,i.column),l=s.getCurrentToken()||s.stepBackward();if(!l||!(a(l,"tag-name")||a(l,"tag-whitespace")||a(l,"attribute-name")||a(l,"attribute-equals")||a(l,"attribute-value"))||a(l,"reference.attribute-value"))return;if(a(l,"attribute-value")){var h=s.getCurrentTokenColumn()+l.value.length;if(i.column<h)return;if(i.column==h){var v=s.stepForward();if(v&&a(v,"attribute-value"))return;s.stepBackward()}}if(/^\s*>/.test(t.getLine(i.row).slice(i.column)))return;for(;!a(l,"tag-name");)if(l=s.stepBackward(),l.value=="<"){l=s.stepForward();break}var m=s.getCurrentTokenRow(),p=s.getCurrentTokenColumn();if(a(s.stepBackward(),"end-tag-open"))return;var g=l.value;return m==i.row&&(g=g.substring(0,i.column-p)),this.voidElements&&this.voidElements.hasOwnProperty(g.toLowerCase())?void 0:{text:"></"+g+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(o,r,n,t,e){if(e==`
971`){var i=n.getCursorPosition(),s=t.getLine(i.row),l=new y(t,i.row,i.column),h=l.getCurrentToken();if(a(h,"")&&h.type.indexOf("tag-close")!==-1){if(h.value=="/>")return;for(;h&&h.type.indexOf("tag-name")===-1;)h=l.stepBackward();if(!h)return;var v=h.value,m=l.getCurrentTokenRow();if(h=l.stepBackward(),!h||h.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[v]||!this.voidElements){var p=t.getTokenAt(i.row,i.column+1),s=t.getLine(m),g=this.$getIndent(s),$=g+t.getTabString();return p&&p.value==="</"?{text:`
972`+$+`
973`+g,selection:[1,$.length,1,$.length]}:{text:`
974`+$}}}}})};A.inherits(c,x),S.XmlBehaviour=c}),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],function(b,S,N){var A=b("../../lib/oop"),x=b("../../token_iterator").TokenIterator,y=b("../behaviour/cstyle").CstyleBehaviour,a=b("../behaviour/xml").XmlBehaviour,c=function(){var o=new a({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(o),this.inherit(y),this.add("autoclosing-fragment","insertion",function(r,n,t,e,i){if(i==">"){var s=t.getSelectionRange().start,l=new x(e,s.row,s.column),h=l.getCurrentToken()||l.stepBackward();if(!h)return;if(h.value=="<")return{text:"></>",selection:[1,1]}}})};A.inherits(c,y),S.JavaScriptBehaviour=c}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(b,S,N){var A=b("../../lib/oop"),x=b("../../range").Range,y=b("./fold_mode").FoldMode,a=S.FoldMode=function(r,n){y.call(this),this.voidElements=r||{},this.optionalEndTags=A.mixin({},this.voidElements),n&&A.mixin(this.optionalEndTags,n)};A.inherits(a,y);var c=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};function o(r,n){return r.type.lastIndexOf(n+".xml")>-1}(function(){this.getFoldWidget=function(r,n,t){var e=this._getFirstTagInLine(r,t);return e?e.closing||!e.tagName&&e.selfClosing?n==="markbeginend"?"end":"":!e.tagName||e.selfClosing||this.voidElements.hasOwnProperty(e.tagName.toLowerCase())||this._findEndTagInLine(r,t,e.tagName,e.end.column)?"":"start":this.getCommentFoldWidget(r,t)},this.getCommentFoldWidget=function(r,n){return/comment/.test(r.getState(n))&&/<!-/.test(r.getLine(n))?"start":""},this._getFirstTagInLine=function(r,n){for(var t=r.getTokens(n),e=new c,i=0;i<t.length;i++){var s=t[i];if(o(s,"tag-open")){if(e.end.column=e.start.column+s.value.length,e.closing=o(s,"end-tag-open"),s=t[++i],!s)return null;if(e.tagName=s.value,s.value===""){if(s=t[++i],!s)return null;e.tagName=s.value}for(e.end.column+=s.value.length,i++;i<t.length;i++)if(s=t[i],e.end.column+=s.value.length,o(s,"tag-close")){e.selfClosing=s.value=="/>";break}return e}else if(o(s,"tag-close"))return e.selfClosing=s.value=="/>",e;e.start.column+=s.value.length}return null},this._findEndTagInLine=function(r,n,t,e){for(var i=r.getTokens(n),s=0,l=0;l<i.length;l++){var h=i[l];if(s+=h.value.length,!(s<e-1)&&o(h,"end-tag-open")&&(h=i[l+1],o(h,"tag-name")&&h.value===""&&(h=i[l+2]),h&&h.value==t))return!0}return!1},this.getFoldWidgetRange=function(r,n,t){var e=this._getFirstTagInLine(r,t);if(!e)return this.getCommentFoldWidget(r,t)&&r.getCommentFoldRange(t,r.getLine(t).length);var i=r.getMatchingTags({row:t,column:0});if(i)return new x(i.openTag.end.row,i.openTag.end.column,i.closeTag.start.row,i.closeTag.start.column)}}).call(a.prototype)}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(b,S,N){var A=b("../../lib/oop"),x=b("../../range").Range,y=b("./fold_mode").FoldMode,a=S.FoldMode=function(c){c&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+c.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+c.end)))};A.inherits(a,y),(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(c,o,r){var n=c.getLine(r);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var t=this._getFoldWidgetBase(c,o,r);return!t&&this.startRegionRe.test(n)?"start":t},this.getFoldWidgetRange=function(c,o,r,n){var t=c.getLine(r);if(this.startRegionRe.test(t))return this.getCommentRegionBlock(c,t,r);var s=t.match(this.foldingStartMarker);if(s){var e=s.index;if(s[1])return this.openingBracketBlock(c,s[1],r,e);var i=c.getCommentFoldRange(r,e+s[0].length,1);return i&&!i.isMultiLine()&&(n?i=this.getSectionRange(c,r):o!="all"&&(i=null)),i}if(o!=="markbegin"){var s=t.match(this.foldingStopMarker);if(s){var e=s.index+s[0].length;return s[1]?this.closingBracketBlock(c,s[1],r,e):c.getCommentFoldRange(r,e,-1)}}}
974,this.getSectionRange=function(c,o){var r=c.getLine(o),n=r.search(/\S/),t=o,e=r.length;o=o+1;for(var i=o,s=c.getLength();++o<s;){r=c.getLine(o);var l=r.search(/\S/);if(l!==-1){if(n>l)break;var h=this.getFoldWidgetRange(c,"all",o);if(h){if(h.start.row<=t)break;if(h.isMultiLine())o=h.end.row;else if(n==l)break}i=o}}return new x(t,e,i,c.getLine(i).length)},this.getCommentRegionBlock=function(c,o,r){for(var n=o.search(/\s*$/),t=c.getLength(),e=r,i=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++r<t;){o=c.getLine(r);var l=i.exec(o);if(l&&(l[1]?s--:s++,!s))break}var h=r;if(h>e)return new x(e,n,h,o.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(b,S,N){var A=b("../../lib/oop"),x=b("./xml").FoldMode,y=b("./cstyle").FoldMode,a=S.FoldMode=function(c){c&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+c.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+c.end))),this.xmlFoldMode=new x};A.inherits(a,y),(function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(c,o,r){var n=this.getFoldWidgetBase(c,o,r);return n||this.xmlFoldMode.getFoldWidget(c,o,r)},this.getFoldWidgetRange=function(c,o,r,n){var t=this.getFoldWidgetRangeBase(c,o,r,n);return t||this.xmlFoldMode.getFoldWidgetRange(c,o,r)}}).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(b,S,N){var A=b("../lib/oop"),x=b("./text").Mode,y=b("./javascript_highlight_rules").JavaScriptHighlightRules,a=b("./matching_brace_outdent").MatchingBraceOutdent,c=b("../worker/worker_client").WorkerClient,o=b("./behaviour/javascript").JavaScriptBehaviour,r=b("./folding/javascript").FoldMode,n=function(){this.HighlightRules=y,this.$outdent=new a,this.$behaviour=new o,this.foldingRules=new r};A.inherits(n,x),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(t,e,i){var s=this.$getIndent(e),l=this.getTokenizer().getLineTokens(e,t),h=l.tokens,v=l.state;if(h.length&&h[h.length-1].type=="comment")return s;if(t=="start"||t=="no_regex"){var m=e.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);m&&(s+=i)}else if(t=="doc-start"&&(v=="start"||v=="no_regex"))return"";return s},this.checkOutdent=function(t,e,i){return this.$outdent.checkOutdent(e,i)},this.autoOutdent=function(t,e,i){this.$outdent.autoOutdent(e,i)},this.createWorker=function(t){var e=new c(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(i){t.setAnnotations(i.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}).call(n.prototype),S.Mode=n}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(b,S,N){var A=b("../lib/oop");b("../lib/lang");var x=b("./text_highlight_rules").TextHighlightRules,y=S.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-ju
974stify|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=S.supportFunction="rgb|rgba|url|attr|counter|counters",c=S.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",o=S.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",r=S.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=S.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",t=S.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",e=S.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",i=function(){var s=this.createKeywordMapper({"supp
974ort.function":a,"support.constant":c,"support.type":y,"support.constant.color":o,"support.constant.fonts":r},"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()};A.inherits(i,x),S.CssHighlightRules=i}),ace.define("ace/mode/css_completions",["require","exports","module"],function(b,S,N){var A={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}
974,"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}},x=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var y=document.createElement("c").style;for(var a in y)if(typeof y[a]=="string"){var c=a.replace(/[A-Z]/g,function(o){return"-"+o.toLowerCase()});A.hasOwnProperty(c)||(A[c]=1)}}this.completionsDefined=!0},this.getCompletions=function(y,a,c,o){if(this.completionsDefined||this.defineCompletions(),y==="ruleset"||a.$mode.$id=="ace/mode/scss"){var r=a.getLine(c.row).substr(0,c.column),n=/\([^)]*$/.test(r);return n&&(r=r.substr(r.lastIndexOf("(")+1)),/:[^;]+$/.test(r)?this.getPropertyValueCompletions(y,a,c,o):this.getPropertyCompletions(y,a,c,o,n)}return[]},this.getPropertyCompletions=function(y,a,c,o,r){r=r||!1;var n=Object.keys(A);return n.map(function(t){return{caption:t,snippet:t+": $0"+(r?"":";"),meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(y,a,c,o){var r=a.getLine(c.row).substr(0,c.column),n=(/([\w\-]+):[^:]*$/.exec(r)||{})[1];if(!n)return[];var t=[];return n in A&&typeof A[n]=="object"&&(t=Object.keys(A[n])),t.map(function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}})}}).call(x.prototype),S.CssCompletions=x}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(b,S,N){var A=b("../../lib/oop");b("../behaviour").Behaviour;var x=b("./cstyle").CstyleBehaviour,y=b("../../token_iterator").TokenIterator,a=function(){this.inherit(x),this.add("colon","insertion",function(c,o,r,n,t){if(t===":"&&r.selection.isEmpty()){var e=r.getCursorPosition(),i=new y(n,e.row,e.column),s=i.getCurrentToken();if(s&&s.value.match(/\s+/)&&(s=i.stepBackward()),s&&s.type==="support.type"){var l=n.doc.getLine(e.row),h=l.substring(e.column,e.column+1);if(h===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(l.substring(e.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(c,o,r,n,t){var e=n.doc.getTextRange(t);if(!t.isMultiLine()&&e===":"){var i=r.getCursorPosition(),s=new y(n,i.row,i.column),l=s.getCurrentToken();if(l&&l.value.match(/\s+/)&&(l=s.stepBackward()),l&&l.type==="support.type"){var h=n.doc.getLine(t.start.row),v=h.substring(t.end.column,t.end.column+1);if(v===";")return t.end.column++,t}}}),this.add("semicolon","insertion",function(c,o,r,n,t){if(t===";"&&r.selection.isEmpty()){var e=r.getCursorPosition(),i=n.doc.getLine(e.row),s=i.substring(e.column,e.column+1);if(s===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(c,o,r,n,t){if(t==="!"&&r.selection.isEmpty()){var e=r.getCursorPosition(),i=n.doc.getLine(e.row);if(/^\s*(;|}|$)/.test(i.substring(e.column)))return{text:"!important",selection:[10,10]}}})};A.inherits(a,x),S.CssBehaviour=a}),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/wor
974ker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(b,S,N){var A=b("../lib/oop"),x=b("./text").Mode,y=b("./css_highlight_rules").CssHighlightRules,a=b("./matching_brace_outdent").MatchingBraceOutdent,c=b("../worker/worker_client").WorkerClient,o=b("./css_completions").CssCompletions,r=b("./behaviour/css").CssBehaviour,n=b("./folding/cstyle").FoldMode,t=function(){this.HighlightRules=y,this.$outdent=new a,this.$behaviour=new r,this.$completer=new o,this.foldingRules=new n};A.inherits(t,x),(function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,i,s){var l=this.$getIndent(i),h=this.getTokenizer().getLineTokens(i,e).tokens;if(h.length&&h[h.length-1].type=="comment")return l;var v=i.match(/^.*\{\s*$/);return v&&(l+=s),l},this.checkOutdent=function(e,i,s){return this.$outdent.checkOutdent(i,s)},this.autoOutdent=function(e,i,s){this.$outdent.autoOutdent(i,s)},this.getCompletions=function(e,i,s,l){return this.$completer.getCompletions(e,i,s,l)},this.createWorker=function(e){var i=new c(["ace"],"ace/mode/css_worker","Worker");return i.attachToDocument(e.getDocument()),i.on("annotate",function(s){e.setAnnotations(s.data)}),i.on("terminate",function(){e.clearAnnotations()}),i},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}).call(t.prototype),S.Mode=t}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(b,S,N){var A=b("../lib/oop"),x=b("./text_highlight_rules").TextHighlightRules,y=function(a){var c="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+c+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:c},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+c+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+c+":)?"+c+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:c},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===y&&this.normalizeRules()};(function(){this.embedTagRules=function(a,c,o){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+o+".tag-name.xml"],regex:"(<)("+o+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:c+"start"}]}),this.$rules[o+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(r,n,t){return t.splice(0),this.token}}],this.embedRules(a,c,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+o+".tag-name.xml"],regex:"(</)("+o+"(?=\\s|>|$))",next:o+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(x.prototype),A.inherits(y,x),S.XmlHighlightRules=y}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(b,S,N){var A=b("../lib/oop"),x=b("../lib/lang"),y=b("./css_highlight_rules").CssHighlightRules,a=b("./javascript_highlight_rules").JavaScriptHighlightRules,c=b("./xml_highlight_rules").XmlHighlightRules,o=x.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),r=function(){c.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(n,t){var e=o[t];return["meta.tag.punctuation."+(n=="<"?"":"end-")+"tag-open.xml","meta.tag"+(e?"."+e:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(y,"css-","style"),this.embedTagRules(new a({jsx:!1}).getRules(),"js-","script"),this.constructor===r&&this.normalizeRules()};A.inherits(r,c),S.HtmlHighlightRules=r}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(b,S,N){var A=b("../../lib/oop"),x=b("./fold_mode").FoldMode,y=S.FoldMode=function(a,c){this.defaultMode=a,this.subModes=c};A.inherits(y,x),(function(){this.$getMode=function(a){typeof a!="string"&&(a=a[0]);for(var c in this.subModes)if(a.indexOf(c)===0)return this.subModes[c];return null},this.$tryMode=function(a,c,o,r){var n=this.$getMode(a);return n?n.getFoldWidget(c,o,r):""},this.getFoldWidget=function(a,c,o){return this.$tryMode(a.getState(o-1),a,c,o)||this.$tryMode(a.getState(o),a,c,o)||this.defaultMode.getFoldWidget(a,c,o)},this.getFoldWidgetRange=function(a,c,o){var r=this.$getMode(a.getState(o-1));return(!r||!r.getFoldWidget(a,c,o))&&(r=this.$getMode(a.getState(o))),(!r||!r.getFoldWidget(a,c,o))&&(r=this.defaultMode),r.getFoldWidgetRange(a,c,o)}}).call(y.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(b,S,N){var A=b("../../lib/oop"),x=b("./mixed").FoldMode,y=b("./xml").FoldMode,a=b("./cstyle").FoldMode,c=S.FoldMode=function(o,r){x.call(this,new y(o,r),{"js-":new a,"css-":new a})};A.inherits(c,x)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(b,S,N){var A=b("../token_iterator").TokenIterator,x=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],y=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","on
974progress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],a=x.concat(y),c={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1}
974,controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},o=Object.keys(c);function r(i,s){return i.type.lastIndexOf(s+".xml")>-1}function n(i,s){for(var l=new A(i,s.row,s.column),h=l.getCurrentToken();h&&!r(h,"tag-name");)h=l.stepBackward();if(h)return h.value}function t(i,s){for(var l=new A(i,s.row,s.column),h=l.getCurrentToken();h&&!r(h,"attribute-name");)h=l.stepBackward();if(h)return h.value}var e=function(){};(function(){this.getCompletions=function(i,s,l,h){var v=s.getTokenAt(l.row,l.column);if(!v)return[];if(r(v,"tag-name")||r(v,"tag-open")||r(v,"end-tag-open"))return this.getTagCompletions(i,s,l,h);if(r(v,"tag-whitespace")||r(v,"attribute-name"))return this.getAttributeCompletions(i,s,l,h);if(r(v,"attribute-value"))return this.getAttributeValueCompletions(i,s,l,h);var m=s.getLine(l.row).substr(0,l.column);return/&[a-z]*$/i.test(m)?this.getHTMLEntityCompletions(i,s,l,h):[]},this.getTagCompletions=function(i,s,l,h){return o.map(function(v){return{value:v,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(i,s,l,h){var v=n(s,l);if(!v)return[];var m=a;return v in c&&(m=m.concat(Object.keys(c[v]))),m.map(function(p){return{caption:p,snippet:p+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(i,s,l,h){var v=n(s,l),m=t(s,l);if(!v)return[];var p=[];return v in c&&m in c[v]&&typeof c[v][m]=="object"&&(p=Object.keys(c[v][m])),p.map(function(g){return{caption:g,snippet:g,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(i,s,l,h){var v=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return v.map(function(m){return{caption:m,snippet:m,meta:"html entity",score:1e6}})}}).call(e.prototype),S.HtmlCompletions=e}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/wor
974ker_client"],function(b,S,N){var A=b("../lib/oop"),x=b("../lib/lang"),y=b("./text").Mode,a=b("./javascript").Mode,c=b("./css").Mode,o=b("./html_highlight_rules").HtmlHighlightRules,r=b("./behaviour/xml").XmlBehaviour,n=b("./folding/html").FoldMode,t=b("./html_completions").HtmlCompletions,e=b("../worker/worker_client").WorkerClient,i=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],s=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],l=function(h){this.fragmentContext=h&&h.fragmentContext,this.HighlightRules=o,this.$behaviour=new r,this.$completer=new t,this.createModeDelegates({"js-":a,"css-":c}),this.foldingRules=new n(this.voidElements,x.arrayToMap(s))};A.inherits(l,y),(function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=x.arrayToMap(i),this.getNextLineIndent=function(h,v,m){return this.$getIndent(v)},this.checkOutdent=function(h,v,m){return!1},this.getCompletions=function(h,v,m,p){return this.$completer.getCompletions(h,v,m,p)},this.createWorker=function(h){if(this.constructor==l){var v=new e(["ace"],"ace/mode/html_worker","Worker");return v.attachToDocument(h.getDocument()),this.fragmentContext&&v.call("setOptions",[{context:this.fragmentContext}]),v.on("error",function(m){h.setAnnotations(m.data)}),v.on("terminate",function(){h.clearAnnotations()}),v}},this.$id="ace/mode/html",this.snippetFileId="ace/snippets/html"}).call(l.prototype),S.Mode=l}),function(){ace.require(["ace/mode/html"],function(b){H&&(H.exports=b)})}()})(vt);var yt={exports:{}};(function(H,U){ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(b,S,N){var A=b("../lib/oop"),x=b("./text_highlight_rules").TextHighlightRules,y=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|$)"},y.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};A.inherits(y,x),y.getTagRule=function(a){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},y.getStartRule=function(a){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:a}},y.getEndRule=function(a){return{token:"comment.doc",regex:"\\*\\/",next:a}},S.JsDocCommentHighlightRules=y}),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(b,S,N){var A=b("../lib/oop"),x=b("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,y=b("./text_highlight_rules").TextHighlightRules,a="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",c=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"),i="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]?|.)",l="(function)(\\s*)(\\*?)",h={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(t).join("|")+"\\b)"+a+")(\\s*)(\\()"};this.$rules={no_regex:[x.getStartRule("doc-start"),r("no_regex"),h,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"}
974,{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\s*)(=)(\\s*)"+l+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+a+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\s*)(:)(\\s*)"+l+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+l+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:`from(?=\\s*('|"))`},{token:"keyword",regex:"(?:"+i+")\\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:a},{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:l+"(\\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|
974Cell|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:a},{regex:"",token:"empty",next:"no_regex"}],start:[x.getStartRule("doc-start"),r("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"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[r("function_arguments"),{token:"variable.parameter",regex:a},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}
974],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"}]},(!n||!n.noES6)&&(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(v,m,p){if(this.next=v=="{"?this.nextState:"",v=="{"&&p.length)p.unshift("start",m);else if(v=="}"&&p.length&&(p.shift(),this.next=p.shift(),this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1))return"paren.quasi.end";return v=="{"?"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:"("+a+")(\\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!=!1)&&o.call(this)),this.embedRules(x,"doc-",[x.getEndRule("no_regex")]),this.normalizeRules()};A.inherits(c,y);function o(){var n=a.replace("\\d","\\d\\-"),t={onMatch:function(i,s,l){var h=i.charAt(1)=="/"?2:1;return h==1?(s!=this.nextState?l.unshift(this.next,this.nextState,0):l.unshift(this.next),l[2]++):h==2&&s==this.nextState&&(l[1]--,(!l[1]||l[1]<0)&&(l.shift(),l.shift())),[{type:"meta.tag.punctuation."+(h==1?"":"end-")+"tag-open.xml",value:i.slice(0,h)},{type:"meta.tag.tag-name.xml",value:i.substr(h)}]},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(i,s,l){return s==l[0]&&l.shift(),i.length==2&&(l[0]==this.nextState&&l[1]--,(!l[1]||l[1]<0)&&l.splice(0,2)),this.next=l[0]||"start",[{type:this.token,value:i}]},nextState:"jsx"},e,r("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 r(n){return[{token:"comment",regex:/\/\*/,next:[x.getTagRule(),{token:"comment",regex:"\\*\\/",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[x.getTagRule(),{token:"comment",regex:"$|^",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}S.JavaScriptHighlightRules=c}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(b,S,N){var A=b("../range").Range,x=function(){};(function(){this.checkOutdent=function(y,a){return/^\s+$/.test(y)?/^\s*\}/.test(a):!1},this.autoOutdent=function(y,a){var c=y.getLine(a),o=c.match(/^(\s*\})/);if(!o)return 0;var r=o[1].length,n=y.findMatchingBracket({row:a,column:r});if(!n||n.row==a)return 0;var t=this.$getIndent(y.getLine(n.row));y.replace(new A(a,0,a,r-1),t)},this.$getIndent=function(y){return y.match(/^\s*/)[0]}}).call(x.prototype),S.MatchingBraceOutdent=x}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(b,S,N){var A=b("../../lib/oop"),x=b("../behaviour").Behaviour,y=b("../../token_iterator").TokenIterator;function a(o,r){return o&&o.type.lastIndexOf(r+".xml")>-1}
974var c=function(){this.add("string_dquotes","insertion",function(o,r,n,t,e){if(e=='"'||e=="'"){var i=e,s=t.doc.getTextRange(n.getSelectionRange());if(s!==""&&s!=="'"&&s!='"'&&n.getWrapBehavioursEnabled())return{text:i+s+i,selection:!1};var l=n.getCursorPosition(),h=t.doc.getLine(l.row),v=h.substring(l.column,l.column+1),m=new y(t,l.row,l.column),p=m.getCurrentToken();if(v==i&&(a(p,"attribute-value")||a(p,"string")))return{text:"",selection:[1,1]};if(p||(p=m.stepBackward()),!p)return;for(;a(p,"tag-whitespace")||a(p,"whitespace");)p=m.stepBackward();var g=!v||v.match(/\s/);if(a(p,"attribute-equals")&&(g||v==">")||a(p,"decl-attribute-equals")&&(g||v=="?"))return{text:i+i,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(o,r,n,t,e){var i=t.doc.getTextRange(e);if(!e.isMultiLine()&&(i=='"'||i=="'")){var s=t.doc.getLine(e.start.row),l=s.substring(e.start.column+1,e.start.column+2);if(l==i)return e.end.column++,e}}),this.add("autoclosing","insertion",function(o,r,n,t,e){if(e==">"){var i=n.getSelectionRange().start,s=new y(t,i.row,i.column),l=s.getCurrentToken()||s.stepBackward();if(!l||!(a(l,"tag-name")||a(l,"tag-whitespace")||a(l,"attribute-name")||a(l,"attribute-equals")||a(l,"attribute-value"))||a(l,"reference.attribute-value"))return;if(a(l,"attribute-value")){var h=s.getCurrentTokenColumn()+l.value.length;if(i.column<h)return;if(i.column==h){var v=s.stepForward();if(v&&a(v,"attribute-value"))return;s.stepBackward()}}if(/^\s*>/.test(t.getLine(i.row).slice(i.column)))return;for(;!a(l,"tag-name");)if(l=s.stepBackward(),l.value=="<"){l=s.stepForward();break}var m=s.getCurrentTokenRow(),p=s.getCurrentTokenColumn();if(a(s.stepBackward(),"end-tag-open"))return;var g=l.value;return m==i.row&&(g=g.substring(0,i.column-p)),this.voidElements&&this.voidElements.hasOwnProperty(g.toLowerCase())?void 0:{text:"></"+g+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(o,r,n,t,e){if(e==`
975`){var i=n.getCursorPosition(),s=t.getLine(i.row),l=new y(t,i.row,i.column),h=l.getCurrentToken();if(a(h,"")&&h.type.indexOf("tag-close")!==-1){if(h.value=="/>")return;for(;h&&h.type.indexOf("tag-name")===-1;)h=l.stepBackward();if(!h)return;var v=h.value,m=l.getCurrentTokenRow();if(h=l.stepBackward(),!h||h.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[v]||!this.voidElements){var p=t.getTokenAt(i.row,i.column+1),s=t.getLine(m),g=this.$getIndent(s),$=g+t.getTabString();return p&&p.value==="</"?{text:`
976`+$+`
977`+g,selection:[1,$.length,1,$.length]}:{text:`
978`+$}}}}})};A.inherits(c,x),S.XmlBehaviour=c}),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],function(b,S,N){var A=b("../../lib/oop"),x=b("../../token_iterator").TokenIterator,y=b("../behaviour/cstyle").CstyleBehaviour,a=b("../behaviour/xml").XmlBehaviour,c=function(){var o=new a({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(o),this.inherit(y),this.add("autoclosing-fragment","insertion",function(r,n,t,e,i){if(i==">"){var s=t.getSelectionRange().start,l=new x(e,s.row,s.column),h=l.getCurrentToken()||l.stepBackward();if(!h)return;if(h.value=="<")return{text:"></>",selection:[1,1]}}})};A.inherits(c,y),S.JavaScriptBehaviour=c}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(b,S,N){var A=b("../../lib/oop"),x=b("../../range").Range,y=b("./fold_mode").FoldMode,a=S.FoldMode=function(r,n){y.call(this),this.voidElements=r||{},this.optionalEndTags=A.mixin({},this.voidElements),n&&A.mixin(this.optionalEndTags,n)};A.inherits(a,y);var c=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};function o(r,n){return r.type.lastIndexOf(n+".xml")>-1}(function(){this.getFoldWidget=function(r,n,t){var e=this._getFirstTagInLine(r,t);return e?e.closing||!e.tagName&&e.selfClosing?n==="markbeginend"?"end":"":!e.tagName||e.selfClosing||this.voidElements.hasOwnProperty(e.tagName.toLowerCase())||this._findEndTagInLine(r,t,e.tagName,e.end.column)?"":"start":this.getCommentFoldWidget(r,t)},this.getCommentFoldWidget=function(r,n){return/comment/.test(r.getState(n))&&/<!-/.test(r.getLine(n))?"start":""},this._getFirstTagInLine=function(r,n){for(var t=r.getTokens(n),e=new c,i=0;i<t.length;i++){var s=t[i];if(o(s,"tag-open")){if(e.end.column=e.start.column+s.value.length,e.closing=o(s,"end-tag-open"),s=t[++i],!s)return null;if(e.tagName=s.value,s.value===""){if(s=t[++i],!s)return null;e.tagName=s.value}for(e.end.column+=s.value.length,i++;i<t.length;i++)if(s=t[i],e.end.column+=s.value.length,o(s,"tag-close")){e.selfClosing=s.value=="/>";break}return e}else if(o(s,"tag-close"))return e.selfClosing=s.value=="/>",e;e.start.column+=s.value.length}return null},this._findEndTagInLine=function(r,n,t,e){for(var i=r.getTokens(n),s=0,l=0;l<i.length;l++){var h=i[l];if(s+=h.value.length,!(s<e-1)&&o(h,"end-tag-open")&&(h=i[l+1],o(h,"tag-name")&&h.value===""&&(h=i[l+2]),h&&h.value==t))return!0}return!1},this.getFoldWidgetRange=function(r,n,t){var e=this._getFirstTagInLine(r,t);if(!e)return this.getCommentFoldWidget(r,t)&&r.getCommentFoldRange(t,r.getLine(t).length);var i=r.getMatchingTags({row:t,column:0});if(i)return new x(i.openTag.end.row,i.openTag.end.column,i.closeTag.start.row,i.closeTag.start.column)}}).call(a.prototype)}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(b,S,N){var A=b("../../lib/oop"),x=b("../../range").Range,y=b("./fold_mode").FoldMode,a=S.FoldMode=function(c){c&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+c.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+c.end)))};A.inherits(a,y),(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(c,o,r){var n=c.getLine(r);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var t=this._getFoldWidgetBase(c,o,r);return!t&&this.startRegionRe.test(n)?"start":t},this.getFoldWidgetRange=function(c,o,r,n){var t=c.getLine(r);if(this.startRegionRe.test(t))return this.getCommentRegionBlock(c,t,r);var s=t.match(this.foldingStartMarker);if(s){var e=s.index;if(s[1])return this.openingBracketBlock(c,s[1],r,e);var i=c.getCommentFoldRange(r,e+s[0].length,1);return i&&!i.isMultiLine()&&(n?i=this.getSectionRange(c,r):o!="all"&&(i=null)),i}if(o!=="markbegin"){var s=t.match(this.foldingStopMarker);if(s){var e=s.index+s[0].length;return s[1]?this.closingBracketBlock(c,s[1],r,e):c.getCommentFoldRange(r,e,-1)}}}
978,this.getSectionRange=function(c,o){var r=c.getLine(o),n=r.search(/\S/),t=o,e=r.length;o=o+1;for(var i=o,s=c.getLength();++o<s;){r=c.getLine(o);var l=r.search(/\S/);if(l!==-1){if(n>l)break;var h=this.getFoldWidgetRange(c,"all",o);if(h){if(h.start.row<=t)break;if(h.isMultiLine())o=h.end.row;else if(n==l)break}i=o}}return new x(t,e,i,c.getLine(i).length)},this.getCommentRegionBlock=function(c,o,r){for(var n=o.search(/\s*$/),t=c.getLength(),e=r,i=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++r<t;){o=c.getLine(r);var l=i.exec(o);if(l&&(l[1]?s--:s++,!s))break}var h=r;if(h>e)return new x(e,n,h,o.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(b,S,N){var A=b("../../lib/oop"),x=b("./xml").FoldMode,y=b("./cstyle").FoldMode,a=S.FoldMode=function(c){c&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+c.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+c.end))),this.xmlFoldMode=new x};A.inherits(a,y),(function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(c,o,r){var n=this.getFoldWidgetBase(c,o,r);return n||this.xmlFoldMode.getFoldWidget(c,o,r)},this.getFoldWidgetRange=function(c,o,r,n){var t=this.getFoldWidgetRangeBase(c,o,r,n);return t||this.xmlFoldMode.getFoldWidgetRange(c,o,r)}}).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(b,S,N){var A=b("../lib/oop"),x=b("./text").Mode,y=b("./javascript_highlight_rules").JavaScriptHighlightRules,a=b("./matching_brace_outdent").MatchingBraceOutdent,c=b("../worker/worker_client").WorkerClient,o=b("./behaviour/javascript").JavaScriptBehaviour,r=b("./folding/javascript").FoldMode,n=function(){this.HighlightRules=y,this.$outdent=new a,this.$behaviour=new o,this.foldingRules=new r};A.inherits(n,x),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(t,e,i){var s=this.$getIndent(e),l=this.getTokenizer().getLineTokens(e,t),h=l.tokens,v=l.state;if(h.length&&h[h.length-1].type=="comment")return s;if(t=="start"||t=="no_regex"){var m=e.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);m&&(s+=i)}else if(t=="doc-start"&&(v=="start"||v=="no_regex"))return"";return s},this.checkOutdent=function(t,e,i){return this.$outdent.checkOutdent(e,i)},this.autoOutdent=function(t,e,i){this.$outdent.autoOutdent(e,i)},this.createWorker=function(t){var e=new c(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(i){t.setAnnotations(i.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}).call(n.prototype),S.Mode=n}),function(){ace.require(["ace/mode/javascript"],function(b){H&&(H.exports=b)})}()})(yt);var wt={exports:{}};(function(H,U){ace.define("ace/theme/chrome-css",["require","exports","module"],function(b,S,N){N.exports=`.ace-chrome .ace_gutter {
979  background: #ebebeb;
980  color: #333;
981  overflow : hidden;
982}
983
984.ace-chrome .ace_print-margin {
985  width: 1px;
986  background: #e8e8e8;
987}
988
989.ace-chrome {
990  background-color: #FFFFFF;
991  color: black;
992}
993
994.ace-chrome .ace_cursor {
995  color: black;
996}
997
998.ace-chrome .ace_invisible {
999  color: rgb(191, 191, 191);
1000}
1001
1002.ace-chrome .ace_constant.ace_buildin {
1003  color: rgb(88, 72, 246);
1004}
1005
1006.ace-chrome .ace_constant.ace_language {
1007  color: rgb(88, 92, 246);
1008}
1009
1010.ace-chrome .ace_constant.ace_library {
1011  color: rgb(6, 150, 14);
1012}
1013
1014.ace-chrome .ace_invalid {
1015  background-color: rgb(153, 0, 0);
1016  color: white;
1017}
1018
1019.ace-chrome .ace_fold {
1020}
1021
1022.ace-chrome .ace_support.ace_function {
1023  color: rgb(60, 76, 114);
1024}
1025
1026.ace-chrome .ace_support.ace_constant {
1027  color: rgb(6, 150, 14);
1028}
1029
1030.ace-chrome .ace_support.ace_type,
1031.ace-chrome .ace_support.ace_class
1032.ace-chrome .ace_support.ace_other {
1033  color: rgb(109, 121, 222);
1034}
1035
1036.ace-chrome .ace_variable.ace_parameter {
1037  font-style:italic;
1038  color:#FD971F;
1039}
1040.ace-chrome .ace_keyword.ace_operator {
1041  color: rgb(104, 118, 135);
1042}
1043
1044.ace-chrome .ace_comment {
1045  color: #236e24;
1046}
1047
1048.ace-chrome .ace_comment.ace_doc {
1049  color: #236e24;
1050}
1051
1052.ace-chrome .ace_comment.ace_doc.ace_tag {
1053  color: #236e24;
1054}
1055
1056.ace-chrome .ace_constant.ace_numeric {
1057  color: rgb(0, 0, 205);
1058}
1059
1060.ace-chrome .ace_variable {
1061  color: rgb(49, 132, 149);
1062}
1063
1064.ace-chrome .ace_xml-pe {
1065  color: rgb(104, 104, 91);
1066}
1067
1068.ace-chrome .ace_entity.ace_name.ace_function {
1069  color: #0000A2;
1070}
1071
1072
1073.ace-chrome .ace_heading {
1074  color: rgb(12, 7, 255);
1075}
1076
1077.ace-chrome .ace_list {
1078  color:rgb(185, 6, 144);
1079}
1080
1081.ace-chrome .ace_marker-layer .ace_selection {
1082  background: rgb(181, 213, 255);
1083}
1084
1085.ace-chrome .ace_marker-layer .ace_step {
1086  background: rgb(252, 255, 0);
1087}
1088
1089.ace-chrome .ace_marker-layer .ace_stack {
1090  background: rgb(164, 229, 101);
1091}
1092
1093.ace-chrome .ace_marker-layer .ace_bracket {
1094  margin: -1px 0 0 -1px;
1095  border: 1px solid rgb(192, 192, 192);
1096}
1097
1098.ace-chrome .ace_marker-layer .ace_active-line {
1099  background: rgba(0, 0, 0, 0.07);
1100}
1101
1102.ace-chrome .ace_gutter-active-line {
1103    background-color : #dcdcdc;
1104}
1105
1106.ace-chrome .ace_marker-layer .ace_selected-word {
1107  background: rgb(250, 250, 255);
1108  border: 1px solid rgb(200, 200, 250);
1109}
1110
1111.ace-chrome .ace_storage,
1112.ace-chrome .ace_keyword,
1113.ace-chrome .ace_meta.ace_tag {
1114  color: rgb(147, 15, 128);
1115}
1116
1117.ace-chrome .ace_string.ace_regex {
1118  color: rgb(255, 0, 0)
1119}
1120
1121.ace-chrome .ace_string {
1122  color: #1A1AA6;
1123}
1124
1125.ace-chrome .ace_entity.ace_other.ace_attribute-name {
1126  color: #994409;
1127}
1128
1129.ace-chrome .ace_indent-guide {
1130  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
1131}
1132  
1133.ace-chrome .ace_indent-guide-active {
1134  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
1135}
1136`}),ace.define("ace/theme/chrome",["require","exports","module","ace/theme/chrome-css","ace/lib/dom"],function(b,S,N){S.isDark=!1,S.cssClass="ace-chrome",S.cssText=b("./chrome-css");var A=b("../lib/dom");A.importCssString(S.cssText,S.cssClass,!1)}),function(){ace.require(["ace/theme/chrome"],function(b){H&&(H.exports=b)})}()})(wt);const bt={key:0,class:"dark:bg-black p-1 border dark:border-gray-700"},xt={class:"flex justify-between"},St={__name:"Ace",props:{content:{type:String,default:""},minLines:{type:[String,Number],default:"1"},setting:{type:Boolean,default:!1},lang:{type:String,default:"javascript"},theme:{type:String,default:"chrome"},readonly:{type:Boolean,default:!1},placeholder:{type:String,default:""},highlightLine:{type:Boolean,default:!1}},emits:["changeData"],setup(H,{emit:U}){const b=H,S=U,N=Ae(b.content),A=Ae({fontFamily:"monospace",autoScrollEditorIntoView:!0,maxLines:500,minLines:b.minLines,tabSize:2,fontSize:16,showPrintMargin:!1,highlightActiveLine:b.highlightLine,highlightGutterLine:b.highlightLine,wrap:!0,useSoftTabs:!0,indentedSoftWrap:!1}),x=()=>{S("changeData",N.value)},y=()=>{const o=ace.edit("editor");A.value.fontSize+=2,o.setFontSize(A.value.fontSize)},a=()=>{const o=ace.edit("editor");A.value.fontSize-=2,o.setFontSize(A.value.fontSize)},c=o=>{b.readonly&&(o.renderer.$cursorLayer.element.style.display="none")};return Ve(()=>b.content,o=>{N.value=o}),(o,r)=>{const n=Ge("LazyGlobalTheme");return Me(),Le("div",null,[Te($e(mt),Ke({id:"editor",ref:"myEditor",value:$e(N),"onUpdate:value":r[0]||(r[0]=t=>Ye(N)?N.value=t:null),onInit:c,lang:H.lang,onChange:x,options:$e(A),theme:H.theme,readonly:H.readonly,placeholder:H.placeholder,style:{"border-radius":"6px"}},o.$attrs),null,16,["value","lang","options","theme","readonly","placeholder"]),H.setting?(Me(),Le("div",bt,[ue("div",xt,[Te(n,{button:"true",small:"true",class:"ml-2 mt-1 tooltip tooltip-right","data-tip":"Change theme"}),ue("div",null,[ue("button",{class:"px-2 tooltip btn btn-ghost btn-sm tooltip-bottom","data-tip":"Increase",onClick:y},r[1]||(r[1]=[ue("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",class:"bi bi-plus-lg",viewBox:"0 0 16 16"},[ue("path",{"fill-rule":"evenodd",d:"M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2Z"})],-1)])),r[3]||(r[3]=ue("span",null,"Font size ",-1)),ue("button",{class:"px-2 tooltip btn btn-ghost btn-sm tooltip-bottom","data-tip":"Decrease",onClick:a},r[2]||(r[2]=[ue("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",fill:"
1136currentColor",class:"bi bi-dash-lg",viewBox:"0 0 16 16"},[ue("path",{"fill-rule":"evenodd",d:"M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8Z"})],-1)]))])])])):Qe("",!0)])}}};export{St as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.