MCPcopy
hub / github.com/veasion/AiPPT / G

Function G

static/jsoneditor.min.js:80–80  ·  view source on GitHub ↗
(e,t,i)

Source from the content-addressed store, hash-verified

78this.timeoutId)}}.call(n.prototype),t.Cursor=n}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,i){"use strict";function n(e){this.element=a.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=a.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,l.addListener(this.element,"scroll",this.onScroll.bind(this)),l.addListener(this.element,"mousedown",l.preventDefault)}function r(e,t){n.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=a.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0}function o(e,t){n.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"}var s=e("./lib/oop"),a=e("./lib/dom"),l=e("./lib/event"),c=e("./lib/event_emitter").EventEmitter;!function(){s.implement(this,c),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}.call(n.prototype),s.inherits(r,n),function(){this.classSuffix="-v",this.onScroll=function(){var e;this.skipEvent||(this.scrollTop=this.element.scrollTop,1!=this.coeff&&(e=this.element.clientHeight/this.scrollHeight,this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)),this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){32768<(this.scrollHeight=e)?(this.coeff=32768/e,e=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(r.prototype);s.inherits(o,n),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(o.prototype),t.ScrollBar=r,t.ScrollBarV=r,t.ScrollBarH=o,t.VScrollBar=r,t.HScrollBar=o}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,i){"use strict";function n(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var i=this;this._flush=function(e){i.pending=!1;var t=i.changes;t&&(r.blockIdle(100),i.changes=0,i.onRender(t)),i.changes?i.$recursionLimit--<0||i.schedule():i.$recursionLimit=2}}var r=e("./lib/event");!function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}.call(n.prototype),t.RenderLoop=n}),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(e,t,i){var n=e("../lib/oop"),r=e("../lib/dom"),o=e("../lib/lang"),s=e("../lib/event"),a=e("../lib/useragent"),l=e("../lib/event_emitter").EventEmitter,c="function"==typeof ResizeObserver,e=t.FontMetrics=function(e){this.el=r.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=r.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=r.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.textContent=o.stringRepeat("X",256),this.$characterSize={width:0,height:0},c?this.$addObserver():this.checkForSizeChanges()};!function(){n.implement(this,l),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",a.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){var t;!(e=void 0===e?this.$measureSizes():e)||this.$characterSize.width===e.width&&this.$characterSize.height===e.height||(this.$measureNode.style.fontWeight="bold",t=this.$measureSizes(),this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e}))},this.$addObserver=function(){var t=this;this.$observer=new window.ResizeObserver(function(e){t.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){var t;return this.$pollSizeChangesTimer||this.$observer?this.$pollSizeChangesTimer:(t=this).$pollSizeChangesTimer=s.onIdle(function e(){t.checkForSizeChanges(),s.onIdle(e,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){e={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/256};return 0===e.width||0===e.height?null:e},this.$measureCharWidth=function(e){return this.$main.textContent=o.stringRepeat(e,256),this.$main.getBoundingClientRect().width/256},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t=void 0===t?this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width:t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t&&t.parentElement?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){function e(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]}this.els=r.buildDom([e(0,0),e(200,0),e(0,200),e(200,200)],this.el)},this.transformCoordinates=function(e,t){function i(e,t,i){var n=e[1]*t[0]-e[0]*t[1];return[(-t[1]*i[0]+t[0]*i[1])/n,(+e[1]*i[0]-e[0]*i[1])/n]}function n(e,t){return[e[0]-t[0],e[1]-t[1]]}function r(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function s(e){e=e.getBoundingClientRect();return[e.left,e.top]}e=e&&o(1/this.$getZoom(this.el),e),this.els||this.$initTransformMeasureNodes();var a,l=s(this.els[0]),c=s(this.els[1]),h=s(this.els[2]),d=s(this.els[3]),d=i(n(d,c),n(d,h),n(r(c,h),r(d,l))),c=o(1+d[0],n(c,l)),h=o(1+d[1],n(h,l));return t?(a=d[0]*t[0]/200+d[1]*t[1]/200+1,t=r(o(t[0],c),o(t[1],h)),r(o(1/a/200,t),l)):(a=n(e,l),t=i(n(c,o(d[0],a)),n(h,o(d[1],a)),a),o(200,t))}}.call(e.prototype)}),ace.define("ace/css/editor.css",["require","exports","module"],function(e,t,i){i.exports='/*\nstyles = []\nfor (var i = 1; i < 16; i++) {\n styles.push(".ace_br" + i + "{" + (\n ["top-left", "top-right", "bottom-right", "bottom-left"]\n ).map(function(x, j) {\n return i & (1<<j) ? "border-" + x + "-radius: 3px;" : "" \n }).filter(Boolean).join(" ") + "}")\n}\nstyles.join("\\n")\n*/\n.ace_br1 {border-top-left-radius : 3px;}\n.ace_br2 {border-top-right-radius : 3px;}\n.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\n.ace_br4 {border-bottom-right-radius: 3px;}\n.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}\n.ace_br8 {border-bottom-left-radius : 3px;}\n.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n\n\n.ace_editor {\n position: relative;\n overflow: hidden;\n padding: 0;\n font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;\n direction: ltr;\n text-align: left;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n.ace_scroller {\n position: absolute;\n overflow: hidden;\n top: 0;\n bottom: 0;\n background-color: inherit;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: text;\n}\n\n.ace_content {\n position: absolute;\n box-sizing: border-box;\n min-width: 100%;\n contain: style size layout;\n font-variant-ligatures: no-common-ligatures;\n}\n\n.ace_dragging .ace_scroller:before{\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n content: \'\';\n background: rgba(250, 250, 250, 0.01);\n z-index: 1000;\n}\n.ace_dragging.ace_dark .ace_scroller:before{\n background: rgba(0, 0, 0, 0.01);\n}\n\n.ace_gutter {\n position: absolute;\n overflow : hidden;\n width: auto;\n top: 0;\n bottom: 0;\n left: 0;\n cursor: default;\n z-index: 4;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n contain: style size layout;\n}\n\n.ace_gutter-active-line {\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.ace_scroller.ace_scroll-left {\n box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\n}\n\n.ace_gutter-cell {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding-left: 19px;\n padding-right: 6px;\n background-repeat: no-repeat;\n}\n\n.ace_gutter-cell.ace_error {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning {\n 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==");\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");\n background-position: 2px center;\n}\n.ace_dark .ace_gutter-cell.ace_info {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");\n}\n\n.ace_scrollbar {\n contain: strict;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 6;\n}\n\n.ace_scrollbar-inner {\n position: absolute;\n cursor: text;\n left: 0;\n top: 0;\n}\n\n.ace_scrollbar-v{\n overflow-x: hidden;\n overflow-y: scroll;\n top: 0;\n}\n\n.ace_scrollbar-h {\n overflow-x: scroll;\n overflow-y: hidden;\n left: 0;\n}\n\n.ace_print-margin {\n position: absolute;\n height: 100%;\n}\n\n.ace_text-input {\n position: absolute;\n z-index: 0;\n width: 0.5em;\n height: 1em;\n opacity: 0;\n background: transparent;\n -moz-appearance: none;\n appearance: none;\n border: none;\n resize: none;\n outline: none;\n overflow: hidden;\n font: inherit;\n padding: 0 1px;\n margin: 0 -1px;\n contain: strict;\n -ms-user-select: text;\n -moz-user-select: text;\n -webkit-user-select: text;\n user-select: text;\n /*with `pre-line` chrome inserts &nbsp; instead of space*/\n white-space: pre!important;\n}\n.ace_text-input.ace_composition {\n background: transparent;\n color: inherit;\n z-index: 1000;\n opacity: 1;\n}\n.ace_composition_placeholder { color: transparent }\n.ace_composition_marker { \n border-bottom: 1px solid;\n position: absolute;\n border-radius: 0;\n margin-top: 1px;\n}\n\n[ace_nocontext=true] {\n transform: none!important;\n filter: none!important;\n clip-path: none!important;\n mask : none!important;\n contain: none!important;\n perspective: none!important;\n mix-blend-mode: initial!important;\n z-index: auto;\n}\n\n.ace_layer {\n z-index: 1;\n position: absolute;\n overflow: hidden;\n /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/\n word-wrap: normal;\n white-space: pre;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n /* setting pointer-events: auto; on node under the mouse, which changes\n during scroll, will break mouse wheel scrolling in Safari */\n pointer-events: none;\n}\n\n.ace_gutter-layer {\n position: relative;\n width: auto;\n text-align: right;\n pointer-events: auto;\n height: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer {\n font: inherit !important;\n position: absolute;\n height: 1000000px;\n width: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {\n contain: style size layout;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n}\n\n.ace_hidpi .ace_text-layer,\n.ace_hidpi .ace_gutter-layer,\n.ace_hidpi .ace_content,\n.ace_hidpi .ace_gutter {\n contain: strict;\n will-change: transform;\n}\n.ace_hidpi .ace_text-layer > .ace_line, \n.ace_hidpi .ace_text-layer > .ace_line_group {\n contain: strict;\n}\n\n.ace_cjk {\n display: inline-block;\n text-align: center;\n}\n\n.ace_cursor-layer {\n z-index: 4;\n}\n\n.ace_cursor {\n z-index: 4;\n position: absolute;\n box-sizing: border-box;\n border-left: 2px solid;\n /* workaround for smooth cursor repaintng whole screen in chrome */\n transform: translatez(0);\n}\n\n.ace_multiselect .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_slim-cursors .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_overwrite-cursors .ace_cursor {\n border-left-width: 0;\n border-bottom: 1px solid;\n}\n\n.ace_hidden-cursors .ace_cursor {\n opacity: 0.2;\n}\n\n.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\n opacity: 0;\n}\n\n.ace_smooth-blinking .ace_cursor {\n transition: opacity 0.18s;\n}\n\n.ace_animate-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: step-end;\n animation-name: blink-ace-animate;\n animation-iteration-count: infinite;\n}\n\n.ace_animate-blinking.ace_smooth-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: ease-in-out;\n animation-name: blink-ace-animate-smooth;\n}\n \n@keyframes blink-ace-animate {\n from, to { opacity: 1; }\n 60% { opacity: 0; }\n}\n\n@keyframes blink-ace-animate-smooth {\n from, to { opacity: 1; }\n 45% { opacity: 1; }\n 60% { opacity: 0; }\n 85% { opacity: 0; }\n}\n\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\n position: absolute;\n z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n position: absolute;\n z-index: 5;\n}\n\n.ace_marker-layer .ace_bracket {\n position: absolute;\n z-index: 6;\n}\n\n.ace_marker-layer .ace_error_bracket {\n position: absolute;\n border-bottom: 1px solid #DE5555;\n border-radius: 0;\n}\n\n.ace_marker-layer .ace_active-line {\n position: absolute;\n z-index: 2;\n}\n\n.ace_marker-layer .ace_selected-word {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n box-sizing: border-box;\n\n display: inline-block;\n height: 11px;\n margin-top: -2px;\n vertical-align: middle;\n\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n color: transparent;\n\n border: 1px solid black;\n border-radius: 2px;\n\n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");\n}\n\n.ace_tooltip {\n background-color: #FFF;\n background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));\n border: 1px solid gray;\n border-radius: 1px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n color: black;\n max-width: 100%;\n padding: 3px 4px;\n position: fixed;\n z-index: 999999;\n box-sizing: border-box;\n cursor: default;\n white-space: pre;\n word-wrap: break-word;\n line-height: normal;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n pointer-events: none;\n}\n\n.ace_folding-enabled > .ace_gutter-cell {\n padding-right: 13px;\n}\n\n.ace_fold-widget {\n box-sizing: border-box;\n\n margin: 0 -12px 0 1px;\n display: none;\n width: 11px;\n vertical-align: top;\n\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: 3px;\n \n border: 1px solid transparent;\n cursor: pointer;\n}\n\n.ace_folding-enabled .ace_fold-widget {\n display: inline-block; \n}\n\n.ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");\n}\n\n.ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");\n}\n\n.ace_fold-widget:hover {\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n}\n\n.ace_fold-widget:active {\n border: 1px solid rgba(0, 0, 0, 0.4);\n background-color: rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n/**\n * Dark version for fold widgets\n */\n.ace_dark .ace_fold-widget {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");\n}\n.ace_dark .ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget:hover {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n background-color: rgba(255, 255, 255, 0.1);\n}\n.ace_dark .ace_fold-widget:active {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n}\n\n.ace_inline_button {\n border: 1px solid lightgray;\n display: inline-block;\n margin: -1px 8px;\n padding: 0 5px;\n pointer-events: auto;\n cursor: pointer;\n}\n.ace_inline_button:hover {\n border-color: gray;\n background: rgba(200,200,200,0.2);\n display: inline-block;\n pointer-events: auto;\n}\n\n.ace_fold-widget.ace_invalid {\n background-color: #FFB4B4;\n border-color: #DE5555;\n}\n\n.ace_fade-fold-widgets .ace_fold-widget {\n transition: opacity 0.4s ease 0.05s;\n opacity: 0;\n}\n\n.ace_fade-fold-widgets:hover .ace_fold-widget {\n transition: opacity 0.05s ease 0.05s;\n opacity:1;\n}\n\n.ace_underline {\n text-decoration: underline;\n}\n\n.ace_bold {\n font-weight: bold;\n}\n\n.ace_nobold .ace_bold {\n font-weight: normal;\n}\n\n.ace_italic {\n font-style: italic;\n}\n\n\n.ace_error-marker {\n background-color: rgba(255, 0, 0,0.2);\n position: absolute;\n z-index: 9;\n}\n\n.ace_highlight-marker {\n background-color: rgba(255, 255, 0,0.2);\n position: absolute;\n z-index: 8;\n}\n\n.ace_mobile-menu {\n position: absolute;\n line-height: 1.5;\n border-radius: 4px;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n background: white;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #dcdcdc;\n color: black;\n}\n.ace_dark > .ace_mobile-menu {\n background: #333;\n color: #ccc;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #444;\n\n}\n.ace_mobile-button {\n padding: 2px;\n cursor: pointer;\n overflow: hidden;\n}\n.ace_mobile-button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_mobile-button:active {\n background-color: #ddd;\n}\n\n.ace_placeholder {\n font-family: arial;\n transform: scale(0.9);\n transform-origin: left;\n white-space: pre;\n opacity: 0.7;\n margin: 0 10px;\n}'}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor.css","ace/lib/useragent"],function(e,t,i){"use strict";function n(e,t){var i=this,e=(this.container=e||a.createElement("div"),a.addCssClass(this.container,"ace_editor"),a.HI_DPI&&a.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),null==o.get("useStrictCSP")&&o.set("useStrictCSP",!1),this.$gutter=a.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=a.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=a.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new s(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new l(this.content),this.$textLayer=new c(this.content));this.canvas=e.element,this.$markerFront=new l(this.content),this.$cursorLayer=new h(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new u(this.container,this),this.scrollBarH=new d(this.container,this),this.scrollBarV.on("scroll",function(e){i.$scrollAnimation||i.session.setScrollTop(e.data-i.scrollMargin.top)}),this.scrollBarH.on("scroll",function(e){i.$scrollAnimation||i.session.setScrollLeft(e.data-i.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(e){i.updateCharacterSize(),i.onResize(!0,i.gutterWidth,i.$size.width,i.$size.height),i._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!C.isIOS,this.$loop=new g(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),o.resetOptions(this),o._signal("renderer",this)}var r=e("./lib/oop"),a=e("./lib/dom"),o=e("./config"),s=e("./layer/gutter").Gutter,l=e("./layer/marker").Marker,c=e("./layer/text").Text,h=e("./layer/cursor").Cursor,d=e("./scrollbar").HScrollBar,u=e("./scrollbar").VScrollBar,g=e("./renderloop").RenderLoop,p=e("./layer/font_metrics").FontMetrics,m=e("./lib/event_emitter").EventEmitter,f=e("./css/editor.css"),C=e("./lib/useragent"),I=C.isIE;a.importCssString(f,"ace_editor.css",!1);!function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,m),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),a.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),(this.session=e)&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,i){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!i)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,i,n){if(!(2<this.resizing)){0<this.resizing?this.resizing++:this.resizing=e?1:0;var r=this.container,r=(n=n||r.clientHeight||r.scrollHeight,i=i||r.clientWidth||r.scrollWidth,this.$updateCachedSize(e,t,i,n));if(!this.$size.scrollerHeight||!i&&!n)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(r|this.$changes,!0):this.$loop.schedule(r|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(e,t,i,n){n-=this.$extraHeight||0;var r=0,o=this.$size,s={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};return n&&(e||o.height!=n)&&(o.height=n,r|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",r|=this.CHANGE_SCROLL),i&&(e||o.width!=i)&&(r|=this.CHANGE_SIZE,o.width=i,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,a.setStyle(this.scrollBarH.element.style,"left",t+"px"),a.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),o.scrollerWidth=Math.max(0,i-t-this.scrollBarV.getWidth()-this.margin.h),a.setStyle(this.$gutter.style,"left",this.margin.left+"px"),t=this.scrollBarV.getWidth()+"px",a.setStyle(this.scrollBarH.element.style,"right",t),a.setStyle(this.scroller.style,"right",t),a.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(r|=this.CHANGE_FULL)),o.$dirty=!i||!n,r&&this._signal("resize",s),r},this.onGutterResize=function(e){e=this.$showGutter?e:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,e=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(e,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},this.setHighlightIndentGuides=function(e){this.setOption("highlightIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){var e;(this.$showPrintMargin||this.$printMarginEl)&&(this.$printMarginEl||((e=a.createElement("div")).className="ace_layer ace_print-margin-layer",this.$printMarginEl=a.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)),(e=this.$printMarginEl.style).left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",e.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit())},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){var e,t,i,n,r,o,s;this.$isMousePressed||(e=this.textarea.style,o=this.$composition,this.$keepTextAreaAtCursor||o?(i=this.$cursorLayer.$pixelPos)&&(o&&o.markerRange&&(i=this.$cursorLayer.getPixelPosition(o.markerRange.start,!0)),s=this.layerConfig,t=i.top,i=i.left,t-=s.offset,n=o&&o.useTextareaForIME?this.lineHeight:I?0:1,t<0||t>s.height-n?a.translate(this.textarea,0,0):(s=1,r=this.$size.height-n,o?o.useTextareaForIME?(o=this.textarea.value,s=this.characterWidth*this.session.$getStringScreenWidth(o)[0]):t+=this.lineHeight+2:t+=this.lineHeight,(i-=this.scrollLeft)>this.$size.scrollerWidth-s&&(i=this.$size.scrollerWidth-s),i+=this.gutterWidth+this.margin.left,a.setStyle(e,"height",n+"px"),a.setStyle(e,"width",s+"px"),a.translate(this.textarea,Math.min(i,this.$size.scrollerWidth-s),Math.min(t,r)))):a.translate(this.textarea,-100,0))},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,i,n){var r=this.scrollMargin;r.top=0|e,r.bottom=0|t,r.right=0|n,r.left=0|i,r.v=r.top+r.bottom,r.h=r.left+r.right,r.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-r.top),this.updateFull()},this.setMargin=function(e,t,i,n){var r=this.margin;r.top=0|e,r.bottom=0|t,r.right=0|n,r.left=0|i,r.v=r.top+r.bottom,r.h=r.left+r.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var i,n,t=this.layerConfig;(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL)&&(e|=this.$computeLayerConfig()|this.$loop.clear(),t.firstRow!=this.layerConfig.firstRow&&t.firstRowScreen==this.layerConfig.firstRowScreen&&0<(i=this.scrollTop+(t.firstRow-this.layerConfig.firstRow)*this.lineHeight)&&(this.scrollTop=i,e=(e|=this.CHANGE_SCROLL)|(this.$computeLayerConfig()|this.$loop.clear())),t=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),a.translate(this.content,-this.scrollLeft,-t.offset),i=t.width+2*this.$padding+"px",n=t.minHeight+"px",a.setStyle(this.content.style,"width",i),a.setStyle(this.content.style,"height",n)),e&this.CHANGE_H_SCROLL&&(a.translate(this.content,-this.scrollLeft,-t.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),e&this.CHANGE_FULL?(this.$changedLines=null,this.$textLayer.update(t),this.$showGutter&&this.$gutterLayer.update(t),this.$markerBack.update(t),this.$markerFront.update(t),this.$cursorLayer.update(t),this.$moveTextAreaToCursor()):e&this.CHANGE_SCROLL?(this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(t):this.$textLayer.scrollLines(t),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(t):this.$gutterLayer.scrollLines(t)),this.$markerBack.update(t),this.$markerFront.update(t),this.$cursorLayer.update(t),this.$moveTextAreaToCursor()):(e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(t),this.$showGutter&&this.$gutterLayer.update(t)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(t):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(t):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(t),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(t),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(t),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(t)),this._signal("afterRender",e)}else this.$changes|=e},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,i=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(i+=this.scrollBarH.getHeight());t=!((i=this.$maxPixelHeight&&i>this.$maxPixelHeight?this.$maxPixelHeight:i)<=2*this.lineHeight)&&t<e;i==this.desiredHeight&&this.$size.height==this.desiredHeight&&t==this.$vScroll||(t!=this.$vScroll&&(this.$vScroll=t,this.scrollBarV.setVisible(t)),e=this.container.clientWidth,this.container.style.height=i+"px",this.$updateCachedSize(!0,this.$gutterWidth,e,i),this.desiredHeight=i,this._signal("autosize"))},this.$computeLayerConfig=function(){var e,t=this.session,i=this.$size,n=i.height<=2*this.lineHeight,r=this.session.getScreenLength()*this.lineHeight,o=this.$getLongestLine(),s=!n&&(this.$hScrollBarAlwaysVisible||i.scrollerWidth-o-2*this.$padding<0),a=this.$horizScroll!==s,s=(a&&(this.$horizScroll=s,this.scrollBarH.setVisible(s)),this.$vScroll),l=(this.$maxLines&&1<this.lineHeight&&this.$autosize(),i.scrollerHeight+this.lineHeight),c=!this.$maxLines&&this.$scrollPastEnd?(i.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0,h=(r+=c,this.scrollMargin),n=(this.session.setScrollTop(Math.max(-h.top,Math.min(this.scrollTop,r-i.scrollerHeight+h.bottom))),this.session.setScrollLeft(Math.max(-h.left,Math.min(this.scrollLeft,o+2*this.$padding-i.scrollerWidth+h.right))),!n&&(this.$vScrollBarAlwaysVisible||i.scrollerHeight-r+c<0||this.scrollTop>h.top)),c=s!==n,h=(c&&(this.$vScroll=n,this.scrollBarV.setVisible(n)),this.scrollTop%this.lineHeight),s=Math.ceil(l/this.lineHeight)-1,s=(n=Math.max(0,Math.round((this.scrollTop-h)/this.lineHeight)))+s,d=this.lineHeight,n=t.screenToDocumentRow(n,0),u=t.getFoldLine(n),t=(u&&(n=u.start.row),u=t.documentToScreenRow(n,0),e=t.getRowLength(n)*d,s=Math.min(t.screenToDocumentRow(s,0),t.getLength()-1),l=i.scrollerHeight+t.getRowLength(s)*d+e,h=this.scrollTop-u*d,0);return this.layerConfig.width==o&&!a||(t=this.CHANGE_H_SCROLL),(a||c)&&(t|=this.$updateCachedSize(!0,this.gutterWidth,i.width,i.height),this._signal("scrollbarVisibilityChanged"),c&&(o=this.$getLongestLine())),this.layerConfig={width:o,padding:this.$padding,firstRow:n,firstRowScreen:u,lastRow:s,lineHeight:d,characterWidth:this.characterWidth,minHeight:l,maxHeight:r,offset:h,gutterOffset:d?Math.max(0,Math.ceil((h+i.height-i.scrollerHeight)/d)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(o-this.$padding),t},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow,i=(this.$changedLines=null,this.layerConfig);if(!(e>i.lastRow+1||t<i.firstRow)){if(t!==1/0)return this.$textLayer.updateLines(i,e,t),!0;this.$showGutter&&this.$gutterLayer.update(i),this.$textLayer.update(i)}}},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),this.$textLayer&&e>this.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,i){this.scrollCursorIntoView(e,i),this.scrollCursorIntoView(t,i)},this.scrollCursorIntoView=function(e,t,i){var n,r,o;0!==this.$size.scrollerHeight&&(n=(e=this.$cursorLayer.getPixelPosition(e)).left,e=e.top,o=i&&i.top||0,i=i&&i.bottom||0,e<(r=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop)+o?(t&&r+o>e+this.lineHeight&&(e-=t*this.$size.scrollerHeight),0===e&&(e=-this.scrollMargin.top),this.session.setScrollTop(e)):r+this.$size.scrollerHeight-i<e+this.lineHeight&&(t&&r+this.$size.scrollerHeight-i<e-this.lineHeight&&(e+=t*this.$size.scrollerHeight),this.session.setScrollTop(e+this.lineHeight+i-this.$size.scrollerHeight)),n<(o=this.scrollLeft)?(n<this.$padding+2*this.layerConfig.characterWidth&&(n=-this.scrollMargin.left),this.session.setScrollLeft(n)):o+this.$size.scrollerWidth<n+this.characterWidth?this.session.setScrollLeft(Math.round(n+this.characterWidth-this.$size.scrollerWidth)):o<=this.$padding&&n-o<this.characterWidth&&this.session.setScrollLeft(0))},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){var e=this.$cursorLayer.getPixelPosition(e="number"==typeof e?{row:e,column:0}:e),i=this.$size.scrollerHeight-this.lineHeight,e=e.top-i*(t||0);return this.session.setScrollTop(e),e},this.STEPS=8,this.$calcSteps=function(e,t){for(var i,n,r=0,o=this.STEPS,s=[],r=0;r<o;++r)s.push((i=r/this.STEPS,(t-(n=e))*(Math.pow(i-1,3)+1)+n));return s},this.scrollToLine=function(e,t,i,n){e=this.$cursorLayer.getPixelPosition({row:e,column:0}).top,t&&(e-=this.$size.scrollerHeight/2),t=this.scrollTop;this.session.setScrollTop(e),!1!==i&&this.animateScrolling(t,n)},this.animateScrolling=function(e,t){var i=this.scrollTop;if(this.$animatedScroll){var n=this;if(e!=i){if(this.$scrollAnimation){var r=this.$scrollAnimation.steps;if(r.length&&(e=r[0])==i)return}var o=n.$calcSteps(e,i);this.$scrollAnimation={from:e,to:i,steps:o},clearInterval(this.$timer),n.session.setScrollTop(o.shift()),n.session.$scrollTop=i,this.$timer=setInterval(function(){if(!n.session)return clearInterval(n.$timer);o.length?(n.session.setScrollTop(o.shift()),n.session.$scrollTop=i):null!=i?(n.session.$scrollTop=-1,n.session.setScrollTop(i),i=null):(n.$timer=clearInterval(n.$timer),n.$scrollAnimation=null,t&&t())},10)}}},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(e)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){return t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||(0<t&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(0<e&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},this.pixelToScreenCoordinates=function(e,t){this.$hasCssTransforms?(n={top:0,left:0},e=(i=this.$fontMetrics.transformCoordinates([e,t]))[1]-this.gutterWidth-this.margin.left,t=i[0]):n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,e=i/this.characterWidth,t=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),n=this.$blockCursor?Math.floor(e):Math.round(e);return{row:t,column:n,side:0<e-n?1:-1,offsetX:i}},this.screenToTextCoordinates=function(e,t){this.$hasCssTransforms?(i={top:0,left:0},e=(n=this.$fontMetrics.transformCoordinates([e,t]))[1]-this.gutterWidth-this.margin.left,t=n[0]):i=this.scroller.getBoundingClientRect();var i,n=e+this.scrollLeft-i.left-this.$padding,e=n/this.characterWidth,e=this.$blockCursor?Math.floor(e):Math.round(e),t=Math.floor((t+this.scrollTop-i.top)/this.lineHeight);return this.session.screenToDocumentPosition(t,Math.max(e,0),n)},this.textToScreenCoordinates=function(e,t){var i=this.scroller.getBoundingClientRect(),t=this.session.documentToScreenPosition(e,t),e=this.$padding+(this.session.$bidiHandler.isBidiRow(t.row,e)?this.session.$bidiHandler.getPosLeft(t.column):Math.round(t.column*this.characterWidth)),t=t.row*this.lineHeight;return{pageX:i.left+e-this.scrollLeft,pageY:i.top+t-this.scrollTop}},this.visualizeFocus=function(){a.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){a.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){(this.$composition=e).cssText||(e.cssText=this.textarea.style.cssText),null==e.useTextareaForIME&&(e.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(a.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){var e;this.$composition&&(this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),a.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText,e=this.session.selection.cursor,this.removeExtraToken(e.row,e.column),this.$composition=null,this.$cursorLayer.element.style.display="")},this.addToken=function(e,t,i,n){var r=this.session,o=(r.bgTokenizer.lines[i]=null,{type:t,value:e}),s=r.getTokens(i);if(null==n)s.push(o);else for(var a=0,l=0;l<s.length;l++){var c=s[l];if(n<=(a+=c.value.length)){var h=c.value.length-(a-n),d=c.value.slice(0,h),h=c.value.slice(h);s.splice(l,1,{type:c.type,value:d},o,{type:c.type,value:h});break}}this.updateLines(i,i)},this.removeExtraToken=function(e,t){this.updateLines(e,e)},this.setTheme=function(i,n){var e,r=this;function t(e){if(r.$themeId!=i)return n&&n();if(!e||!e.cssClass)throw new Error("couldn't load module "+i+" or it didn't call define");e.$id&&(r.$themeId=e.$id),a.importCssString(e.cssText,e.cssClass,r.container),r.theme&&a.removeCssClass(r.container,r.theme.cssClass);var t="padding"in e?e.padding:"padding"in(r.theme||{})?4:r.$padding;r.$padding&&t!=r.$padding&&r.setPadding(t),r.$theme=e.cssClass,r.theme=e,a.addCssClass(r.container,e.cssClass),a.setCssClass(r.container,"ace_dark",e.isDark),r.$size&&(r.$size.width=0,r.$updateSizeAsync()),r._dispatchEvent("themeLoaded",{theme:e}),n&&n()}this.$themeId=i,r._dispatchEvent("themeChange",{theme:i}),i&&"string"!=typeof i?t(i):(e=i||this.$options.theme.initialValue,o.loadModule(["theme",e],t))},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){a.setCssClass(this.container,e,!1!==t)},this.unsetStyle=function(e){a.removeCssClass(this.container,e)},this.setCursorStyle=function(e){a.setStyle(this.scroller.style,"cursor",e)},this.setMouseCursor=function(e){a.setStyle(this.scroller.style,"cursor",e)},this.attachToShadowRoot=function(){a.importCssString(f,"ace_editor.css",this.container)},this.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent=""}}.call(n.prototype),o.defineOptions(n.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&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(e){"number"==typeof e&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){a.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(e){1==this.$textLayer.setHighlightIndentGuides(e)?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(e){this.$gutterLayer.setHighlightGutterLine(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(e){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){"number"==typeof e&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){this.$scrollPastEnd!=(e=+e||0)&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!C.isMobile&&!C.isIE}}),t.VirtualRenderer=n}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(a,e,t){"use strict";var i=a("../lib/oop"),n=a("../lib/net"),c=a("../lib/event_emitter").EventEmitter,h=a("../config");function l(e){var t;return"undefined"==typeof Worker?{postMessage:function(){},terminate:function(){}}:h.get("loadWorkerFromBlob")?(t=function(t){t="importScripts('"+n.qualifyURL(t)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(e){var i=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return i.append(t),i.getBlob("application/javascript")}}(e),t=(window.URL||window.webkitURL).createObjectURL(t),new Worker(t)):new Worker(e)}function d(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,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(){i.implement(this,c),this.$createWorkerFromOldConfig=function(e,t,i,n,r){var o,s;return a.nameToUrl&&!a.toUrl&&(a.toUrl=a.nameToUrl),h.get("packaged")||!a.toUrl?n=n||h.moduleUrl(t,"worker"):(o=this.$normalizePath,n=n||o(a.toUrl("ace/worker/worker.js",null,"_")),s={},e.forEach(function(e){s[e]=o(a.toUrl(e,null,"_").replace(/(\.js)?(\?.*)?$/,""))})),this.$worker=l(n),r&&this.send("importScripts",r),this.$worker.postMessage({init:!0,tlns:s,module:t,classname:i}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var i=this.callbacks[t.id];i&&(i(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return n.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,i){var n;i&&(n=this.callbackId++,this.callbacks[n]=i,t.push(n)),this.send(e,t)},this.emit=function(e,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker&&this.$worker.postMessage({event:e,data:{data:t.data}})}catch(e){console.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener,!0)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,50<e.length&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(d.prototype);e.UIWorkerClient=function(e,t,i){var n=null,r=!1,o=Object.create(c),s=[],a=new d({messageBuffer:s,terminate:function(){},postMessage:function(e){s.push(e),n&&(r?setTimeout(l):l())}}),l=(a.setEmitSync=function(e){r=e},function(){var e=s.shift();e.command?n[e.command].apply(n,e.args):e.event&&o._signal(e.event,e.data)});return o.postMessage=function(e){a.onMessage({data:e})},o.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},o.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},h.loadModule(["worker",t],function(e){for(n=new e[i](o);s.length;)l()}),a},e.WorkerClient=d,e.createWorker=l}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,i){"use strict";function n(e,t,i,n,r,o){var s=this,t=(this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=r,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=n,this.$onCursorChange=function(){setTimeout(function(){s.onCursorChange()})},this.$pos=i,e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1});this.$undoStackDepth=t.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)}var l=e("./range").Range,r=e("./lib/event_emitter").EventEmitter,o=e("./lib/oop");!function(){o.implement(this,r),this.setup=function(){var t=this,i=this.doc,e=this.session,n=(this.selectionBefore=e.selection.toJSON(),e.selection.inMultiSelectMode&&e.selection.toSingleRange(),this.pos=i.createAnchor(this.$pos.row,this.$pos.column),this.pos);n.$insertRight=!0,n.detach(),n.markerId=e.addMarker(new l(n.row,n.column,n.row,n.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){e=i.createAnchor(e.row,e.column);e.$insertRight=!0,e.detach(),t.others.push(e)}),e.setUndoSelect(!1)},this.showOtherMarkers=function(){var t,i;this.othersActive||(t=this.session,(i=this).othersActive=!0,this.others.forEach(function(e){e.markerId=t.addMarker(new l(e.row,e.column,e.row,e.column+i.length),i.othersClass,null,!1)}))},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)}},this.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row===t.end.row&&t.start.row===this.pos.row){this.$updating=!0;var i="insert"===e.action?t.end.column-t.start.column:t.start.column-t.end.column,n=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,r=t.start.column-this.pos.column;if(this.updateAnchors(e),n&&(this.length+=i),n&&!this.session.$fromUndo)if("insert"===e.action)for(var o=this.others.length-1;0<=o;o--){var s={row:(a=this.others[o]).row,column:a.column+r};this.doc.insertMergedLines(s,e.lines)}else if("remove"===e.action)for(o=this.others.length-1;0<=o;o--){var a,s={row:(a=this.others[o]).row,column:a.column+r};this.doc.remove(new l(s.row,s.column,s.row,s.column-i))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var i=this,n=this.session,e=function(e,t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new l(e.row,e.column,e.row,e.column+i.length),t,null,!1)};e(this.pos,this.mainClass);for(var t=this.others.length;t--;)e(this.others[t],this.othersClass)}},this.onCursorChange=function(e){var t;!this.$updating&&this.session&&((t=this.session.selection.getCursor()).row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e)))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,i=0;i<t;i++)e.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}.call(n.prototype),t.PlaceHolder=n}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,i){var S=e("../lib/event"),k=e("../lib/useragent");function E(e,t){return e.row==t.row&&e.column==t.column}t.onMouseDown=function(e){var t=e.domEvent,i=t.altKey,n=t.shiftKey,r=t.ctrlKey,o=e.getAccelKey(),s=e.getButton();if(r&&k.isMac&&(s=t.button),e.editor.inMultiSelectMode&&2==s)e.editor.textInput.onContextMenu(e.domEvent);else if(r||i||o){if(0===s){var a,l,c,h,d,u,g,p,m=e.editor,f=m.selection,C=m.inMultiSelectMode,I=e.getDocumentPosition(),v=f.getCursor(),v=e.inSelection()||f.isEmpty()&&E(I,v),A=e.x,b=e.y,y=m.session,w=m.renderer.pixelToScreenCoordinates(A,b),x=w;if(m.$mouseHandler.$enableJumpToDef)r&&i||o&&i?a=n?"block":"add":i&&m.$blockSelectEnabled&&(a="block");else if(o&&!i){if(a="add",!C&&n)return}else i&&m.$blockSelectEnabled&&(a="block");if(a&&k.isMac&&t.ctrlKey&&m.$mouseHandler.cancelContextMenu(),"add"==a)!C&&v||(C||(l=f.toOrientedRange(),m.addSelectionMarker(l)),c=f.rangeList.rangeAtPoint(I),m.inVirtualSelectionMode=!0,n&&(c=null,l=f.ranges[0]||l,m.removeSelectionMarker(l)),m.once("mouseup",function(){var e=f.toOrientedRange();c&&e.isEmpty()&&E(c.cursor,e.cursor)?f.substractPoint(e.cursor):(n?f.substractPoint(l.cursor):l&&(m.removeSelectionMarker(l),f.addRange(l)),f.addRange(e)),m.inVirtualSelectionMode=!1}));else if("block"==a)return e.stop(),m.inVirtualSelectionMode=!0,d=[],u=function(){var e=m.renderer.pixelToScreenCoordinates(A,b),t=y.screenToDocumentPosition(e.row,e.column,e.offsetX);E(x,e)&&E(t,f.lead)||(x=e,m.selection.moveToPosition(t),m.renderer.scrollCursorIntoView(),m.removeSelectionMarkers(d),d=f.rectangularRangeBlock(x,w),m.$mouseHandler.$clickSelection&&1==d.length&&d[0].isEmpty()&&(d[0]=m.$mouseHandler.$clickSelection.clone()),d.forEach(m.addSelectionMarker,m),m.updateSelectionMarkers())},C&&!o?f.toSingleRange():!C&&o&&(h=f.toOrientedRange(),m.addSelectionMarker(h)),n?w=y.documentToScreenPosition(f.lead):f.moveToPosition(I),x={row:-1,column:-1},g=u,S.capture(m.container,function(e){A=e.clientX,b=e.clientY},function(e){u(),clearInterval(p),m.removeSelectionMarkers(d),d.length||(d=[
79f.toOrientedRange()]),h&&(m.removeSelectionMarker(h),f.toSingleRange(h));for(var t=0;t<d.length;t++)f.addRange(d[t]);m.inVirtualSelectionMode=!1,m.$mouseHandler.$clickSelection=null}),p=setInterval(function(){g()},20),e.preventDefault()}}else 0===s&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode()}}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,i){t.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(e){e.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(e){e.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(e){e.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(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(e){e.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(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split into lines",exec:function(e){1<e.multiSelect.rangeCount?e.multiSelect.joinSelections():e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(e){e.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];e=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new e(t.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(e,r,t){var i=e("./range_list").RangeList,A=e("./range").Range,u=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,s=e("./lib/event"),g=e("./lib/lang"),a=e("./commands/multi_select_commands");r.commands=a.defaultCommands.concat(a.multiSelectCommands);var l=new(e("./search").Search);var n=e("./edit_session").EditSession,n=(!function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}.call(n.prototype),!function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var i=this.toOrientedRange();if(this.rangeList.add(i),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(i),this.$onAddRange(i)}e.cursor||(e.cursor=e.end);i=this.rangeList.add(e);return this.$onAddRange(e),i.length&&this.$onRemoveRange(i),1<this.rangeCount&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){e=this.rangeList.substractPoint(e);if(e)return this.$onRemoveRange(e),e[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){var t;this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode&&(t=this.rangeList.ranges.pop(),e.push(t),this.rangeCount=0);for(var i=e.length;i--;){var n=this.ranges.indexOf(e[i]);this.ranges.splice(n,1)}this._signal("removeRange",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(t=t||this.ranges[0])&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new i,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var e=this.ranges.length?this.ranges:[this.getRange()],t=[],i=0;i<e.length;i++){var n=e[i],r=n.start.row,o=n.end.row;if(r===o)t.push(n.clone());else{for(t.push(new A(r,n.start.column,r,this.session.getLine(r).length));++r<o;)t.push(this.getLineRange(r,!0));t.push(new A(o,0,o,n.end.column))}0!=i||this.isBackwards()||(t=t.reverse())}this.toSingleRange();for(i=t.length;i--;)this.addRange(t[i])},this.joinSelections=function(){var e=this.rangeList.ranges,t=e[e.length-1],e=A.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(e,t.cursor==t.start)},this.toggleBlockSelection=function(){var e,t;1<this.rangeCount?(t=(e=this.rangeList.ranges)[e.length-1],e=A.fromPoints(e[0].start,t.end),this.toSingleRange(),this.setSelectionRange(e,t.cursor==t.start)):(e=this.session.documentToScreenPosition(this.cursor),t=this.session.documentToScreenPosition(this.anchor),this.rectangularRangeBlock(e,t).forEach(this.addRange,this))},this.rectangularRangeBlock=function(e,t,i){var n,r,o,s,a,l,c,h=[],d=e.column<t.column,u=(s=(d?(n=e.column,r=t.column,o=e.offsetX,t):(n=t.column,r=e.column,o=t.offsetX,e)).offsetX,e.row<t.row);l=(u?(a=e.row,t):(a=t.row,e)).row,n<0&&(n=0),(a=a<0?0:a)==l&&(i=!0);for(var g,p,m=a;m<=l;m++){var f=A.fromPoints(this.session.screenToDocumentPosition(m,n,o),this.session.screenToDocumentPosition(m,r,s));if(f.isEmpty()){if(c&&(g=f.end,p=c,g.row==p.row&&g.column==p.column))break;c=f.end}f.cursor=d?f.start:f.end,h.push(f)}if(u&&h.reverse(),!i){for(var C=h.length-1;h[C].isEmpty()&&0<C;)C--;if(0<C)for(var I=0;h[I].isEmpty();)I++;for(var v=C;I<=v;v--)h[v].isEmpty()&&h.splice(v,1)}return h}}.call(u.prototype),e("./editor").Editor);function c(e){var t,i;function n(e){i&&(t.renderer.setMouseCursor(""),i=!1)}e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=r.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(a.defaultCommands),(t=e).textInput&&(e=t.textInput.getElement(),i=!1,s.addListener(e,"keydown",function(e){e=18==e.keyCode&&!(e.ctrlKey||e.shiftKey||e.metaKey);t.$blockSelectEnabled&&e?i||(t.renderer.setMouseCursor("crosshair"),i=!0):i&&n()},t),s.addListener(e,"keyup",n,t),s.addListener(e,"blur",n,t)))}!function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){e.marker&&(this.session.removeMarker(e.marker),-1!=(e=this.session.$selectionMarkers.indexOf(e))&&this.session.$selectionMarkers.splice(e,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length)},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,i=e.length;i--;){var n=e[i];n.marker&&(this.session.removeMarker(n.marker),-1!=(n=t.indexOf(n))&&t.splice(n,1))}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(a.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(a.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(e){var t,i=e.command,n=e.editor;if(n.multiSelect)return i.multiSelectAction?t="forEach"==i.multiSelectAction?n.forEachSelection(i,e.args):"forEachLine"==i.multiSelectAction?n.forEachSelection(i,e.args,!0):"single"==i.multiSelectAction?(n.exitMultiSelectMode(),i.exec(n,e.args||{})):i.multiSelectAction(n,e.args||{}):(t=i.exec(n,e.args||{}),n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()),t},this.forEachSelection=function(e,t,i){if(!this.inVirtualSelectionMode){var n,r=i&&i.keepOrder,o=1==i||i&&i.$byLines,s=this.session,i=this.selection,a=i.rangeList,l=(r?i:a).ranges;if(!l.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var r=i._eventRegistry,c=(i._eventRegistry={},new u(s));this.inVirtualSelectionMode=!0;for(var h=l.length;h--;){if(o)for(;0<h&&l[h].start.row==l[h-1].end.row;)h--;c.fromOrientedRange(l[h]),c.index=h,this.selection=s.selection=c;var d=e.exec?e.exec(this,t||{}):e(this,t||{});n||void 0===d||(n=d),c.toOrientedRange(l[h])}c.detach(),this.selection=s.selection=i,this.inVirtualSelectionMode=!1,i._eventRegistry=r,i.mergeOverlappingRanges(),i.ranges[0]&&i.fromOrientedRange(i.ranges[0]);a=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),a&&a.from==a.to&&this.renderer.animateScrolling(a.from),n}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,i=[],n=0;n<t.length;n++)i.push(this.session.getTextRange(t[n]));var r=this.session.getDocument().getNewLineCharacter();(e=i.join(r)).length==(i.length-1)*r.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){var i;this.inMultiSelectMode&&!this.inVirtualSelectionMode&&(i=this.multiSelect.ranges[0],this.multiSelect.isEmpty()&&t==this.multiSelect.anchor||((i=t==this.multiSelect.anchor?i.cursor==i.start?i.end:i.start:i.cursor).row!=t.row||this.session.$clipPositionToDocument(i.row,i.column).column!=t.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()))},this.findAll=function(e,t,i){(t=t||{}).needle=e||t.needle,null==t.needle&&(n=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange(),t.needle=this.session.getTextRange(n)),this.$search.set(t);var n,r=this.$search.findAll(this.session);if(!r.length)return 0;var o=this.multiSelect;i||o.toSingleRange(r[0]);for(var s=r.length;s--;)o.addRange(r[s],!0);return n&&o.rangeList.rangeAtPoint(n.start)&&o.addRange(n,!0),r.length},this.selectMoreLines=function(e,t){var i,n,r,o=this.selection.toOrientedRange(),s=o.cursor==o.end,a=this.session.documentToScreenPosition(o.cursor),l=(this.selection.$desiredColumn&&(a.column=this.selection.$desiredColumn),this.session.screenToDocumentPosition(a.row+e,a.column));e=o.isEmpty()?l:(i=this.session.documentToScreenPosition(s?o.end:o.start),this.session.screenToDocumentPosition(i.row+e,i.column)),s?(n=A.fromPoints(l,e)).cursor=n.start:(n=A.fromPoints(e,l)).cursor=n.end,n.desiredColumn=a.column,this.selection.inMultiSelectMode?t&&(r=o.cursor):this.selection.addRange(o),this.selection.addRange(n),r&&this.selection.substractPoint(r)},this.transposeSelections=function(e){for(var t=this.session,i=t.multiSelect,n=i.ranges,r=n.length;r--;)(s=n[r]).isEmpty()&&(a=t.getWordRange(s.start.row,s.start.column),s.start.row=a.start.row,s.start.column=a.start.column,s.end.row=a.end.row,s.end.column=a.end.column);i.mergeOverlappingRanges();for(var o=[],r=n.length;r--;){var s=n[r];o.unshift(t.getTextRange(s))}e<0?o.unshift(o.pop()):o.push(o.shift());for(r=n.length;r--;){var a=(s=n[r]).clone();t.replace(s,o[r]),s.start.row=a.start.row,s.start.column=a.start.column}i.fromOrientedRange(i.ranges[0])},this.selectMore=function(e,t,i){var n,r=this.session,o=r.multiSelect.toOrientedRange();o.isEmpty()&&((o=r.getWordRange(o.start.row,o.start.column)).cursor=-1==e?o.start:o.end,this.multiSelect.addRange(o),i)||(i=r.getTextRange(o),r=r,i=i,n=e,l.$options.wrap=!0,l.$options.needle=i,l.$options.backwards=-1==n,(i=l.find(r))&&(i.cursor=-1==e?i.start:i.end,this.session.unfold(i),this.multiSelect.addRange(i),this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(o.cursor))},this.alignCursors=function(){var r=this.session,t=r.multiSelect,e=t.ranges,i=-1,n=e.filter(function(e){if(e.cursor.row==i)return!0;i=e.cursor.row});if(e.length&&n.length!=e.length-1){n.forEach(function(e){t.substractPoint(e.cursor)});var o=0,s=1/0,a=e.map(function(e){var e=e.cursor,t=r.getLine(e.row).substr(e.column).search(/\S/g);return e.column>o&&(o=e.column),(t=-1==t?0:t)<s&&(s=t),t});e.forEach(function(e,t){var i=e.cursor,n=o-i.column,t=a[t]-s;t<n?r.insert(i,g.stringRepeat(" ",n-t)):r.remove(new A(i.row,i.column,i.row,i.column-n+t)),e.start.column=e.end.column=o,e.start.row=e.end.row=i.row,e.cursor=e.end}),t.fromOrientedRange(e[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var n=this.selection.getRange(),l=n.start.row,c=n.end.row,e=l==c;if(e){for(var h,d=this.session.getLength();h=this.session.getLine(c),/[=:]/.test(h)&&++c<d;);for(;h=this.session.getLine(l),/[=:]/.test(h)&&0<--l;);l<0&&(l=0),d<=c&&(c=d-1)}var u=this.session.removeFullLines(l,c),u=this.$reAlignText(u,e);this.session.insert({row:l,column:0},u.join("\n")+"\n"),e||(n.start.column=0,n.end.column=u[u.length-1].length),this.selection.setRange(n)}},this.$reAlignText=function(e,t){var i,n,r,o=!0,s=!0;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?(null==i?(i=t[1].length,n=t[2].length,r=t[3].length):(i+n+r!=t[1].length+t[2].length+t[3].length&&(s=!1),i!=t[1].length&&(o=!1),i>t[1].length&&(i=t[1].length),n<t[2].length&&(n=t[2].length),r>t[3].length&&(r=t[3].length)),t):[e]}).map(t?l:o?s?function(e){return e[2]?a(i+n-e[2].length)+e[2]+a(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:l:function(e){return e[2]?a(i)+e[2]+a(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]});function a(e){return g.stringRepeat(" ",e)}function l(e){return e[2]?a(i)+e[2]+a(n-e[2].length+r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}}}.call(n.prototype),r.onSessionChange=function(e){var t=e.session,e=(t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect,e.oldSession);e&&(e.multiSelect.off("addRange",this.$onAddRange),e.multiSelect.off("removeRange",this.$onRemoveRange),e.multiSelect.off("multiSelect",this.$onMultiSelect),e.multiSelect.off("singleSelect",this.$onSingleSelect),e.multiSelect.lead.off("change",this.$checkMultiselectChange),e.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},r.MultiSelect=c,e("./config").defineOptions(n.prototype,"editor",{enableMultiselect:{set:function(e){c(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,i){"use strict";var h=e("../../range").Range,e=t.FoldMode=function(){};!function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,i){e=e.getLine(i);return this.foldingStartMarker.test(e)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(e)?"end":""},this.getFoldWidgetRange=function(e,t,i){return null},this.indentationBlock=function(e,t,i){var n=/\S/,r=e.getLine(t),o=r.search(n);if(-1!=o){for(var s,i=i||r.length,a=e.getLength(),r=t,l=t;++t<a;){var c=e.getLine(t).search(n);if(-1!=c){if(c<=o){c=e.getTokenAt(t,0);if(!c||"string"!==c.type)break}l=t}}return r<l?(s=e.getLine(l).length,new h(r,i,l,s)):void 0}},this.openingBracketBlock=function(e,t,i,n,r){i={row:i,column:n+1},n=e.$findClosingBracket(t,i,r);if(n)return"start"==(t=null==(t=e.foldWidgets[n.row])?e.getFoldWidget(n.row):t)&&n.row>i.row&&(n.row--,n.column=e.getLine(n.row).length),h.fromPoints(i,n)},this.closingBracketBlock=function(e,t,i,n,r){i={row:i,column:n},n=e.$findOpeningBracket(t,i);if(n)return n.column++,i.column--,h.fromPoints(n,i)}}.call(e.prototype)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(e,t,i){"use strict";var r=e("./lib/dom");function n(e){this.session=e,(this.session.widgetManager=this).session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}!function(){this.getRowLength=function(e){var t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var t=0;return this.lineWidgets.forEach(function(e){e&&e.rowCount&&!e.hidden&&(t+=e.rowCount)}),t},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),(this.editor=e)&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(e){var t=this.editor;t&&(this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets),(t=this.session.lineWidgets)&&t.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))}))},this.updateOnFold=function(e,t){var i=t.lineWidgets;if(i&&e.action){for(var t=e.data,n=t.start.row,r=t.end.row,o="add"==e.action,s=n+1;s<r;s++)i[s]&&(i[s].hidden=o);i[r]&&(o?i[n]?i[r].hidden=o:i[n]=i[r]:(i[n]==i[r]&&(i[n]=void 0),i[r].hidden=o))}},this.updateOnChange=function(e){var t,i,n,r=this.session.lineWidgets;r&&(t=e.start.row,0!=(i=e.end.row-t)&&("remove"==e.action?(n=r.splice(t+1,i),!r[t]&&n[n.length-1]&&(r[t]=n.pop()),n.forEach(function(e){e&&this.removeLineWidget(e)},this)):(n=new Array(i),r[t]&&null!=r[t].column&&e.start.column>r[t].column&&t++,n.unshift(t,0),r.splice.apply(r,n)),this.$updateRows()))},this.$updateRows=function(){var i,e=this.session.lineWidgets;e&&(i=!0,e.forEach(function(e,t){if(e)for(i=!1,e.row=t;e.$oldWidget;)e.$oldWidget.row=t,e=e.$oldWidget}),i&&(this.session.lineWidgets=null))},this.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t).el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1),this.session.lineWidgets[e.row]=e},this.addLineWidget=function(e){var t,i,n;return this.$registerLineWidget(e),e.session=this.session,this.editor&&(t=this.editor.renderer,e.html&&!e.el&&(e.el=r.createElement("div"),e.el.innerHTML=e.html),e.el&&(r.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,t.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex=3),null==e.pixelHeight&&(e.pixelHeight=e.el.offsetHeight)),null==e.rowCount&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight),i=this.session.getFoldAt(e.row,0),(e.$fold=i)&&(n=this.session.lineWidgets,e.row!=i.end.row||n[i.start.row]?e.hidden=!0:n[i.start.row]=e),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),this.onWidgetChanged(e)),e},this.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,i=t&&t[e],n=[];i;)n.push(i),i=i.$oldWidget;return n},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var i=this.session._changedWidgets,n=t.layerConfig;if(i&&i.length){for(var r=1/0,o=0;o<i.length;o++){var s=i[o];if(s&&s.el&&s.session==this.session){if(!s._inDocument){if(this.session.lineWidgets[s.row]!=s)continue;s._inDocument=!0,t.container.appendChild(s.el)}s.h=s.el.offsetHeight,s.fixedWidth||(s.w=s.el.offsetWidth,s.screenWidth=Math.ceil(s.w/n.characterWidth));var a=s.h/n.lineHeight;s.coverLine&&(a-=this.session.getRowLineCount(s.row))<0&&(a=0),s.rowCount!=a&&(s.rowCount=a,s.row<r&&(r=s.row))}}r!=1/0&&(this.session._emit("changeFold",{data:{start:{row:r}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},this.renderWidgets=function(e,t){var i=t.layerConfig,n=this.session.lineWidgets;if(n){for(var r=Math.min(this.firstRow,i.firstRow),o=Math.max(this.lastRow,i.lastRow,n.length);0<r&&!n[r];)r--;this.firstRow=i.firstRow,this.lastRow=i.lastRow,t.$cursorLayer.config=i;for(var s=r;s<=o;s++){var a,l=n[s];l&&l.el&&(l.hidden?l.el.style.top=-100-(l.pixelHeight||0)+"px":(l._inDocument||(l._inDocument=!0,t.container.appendChild(l.el)),a=t.$cursorLayer.getPixelPosition({row:s,column:0},!0).top,l.coverLine||(a+=i.lineHeight*this.session.getRowLineCount(l.row)),l.el.style.top=a-i.offset+"px",a=l.coverGutter?0:t.gutterWidth,l.fixedWidth||(a-=t.scrollLeft),l.el.style.left=a+"px",l.fullWidth&&l.screenWidth&&(l.el.style.minWidth=i.width+2*i.padding+"px"),l.fixedWidth?l.el.style.right=t.scrollBar.getWidth()+"px":l.el.style.right=""))}}}}.call(n.prototype),t.LineWidgets=n}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,i){"use strict";var c=e("../line_widgets").LineWidgets,h=e("../lib/dom"),a=e("../range").Range;function d(e,t,i){var n=e.getAnnotations().sort(a.comparePoints);if(n.length){var r=function(e,t,i){for(var n=0,r=e.length-1;n<=r;){var o=n+r>>1,s=i(t,e[o]);if(0<s)n=1+o;else{if(!(s<0))return o;r=o-1}}return-(n+1)}(n,{row:t,column:-1},a.comparePoints),o=((r=r<0?-r-1:r)>=n.length?r=0<i?0:n.length-1:0===r&&i<0&&(r=n.length-1),n[r]);if(o&&i){if(o.row===t){for(;(o=n[r+=i])&&o.row===t;);if(!o)return n.slice()}var s=[];for(t=o.row;s[i<0?"unshift":"push"](o),(o=n[r+=i])&&o.row==t;);return s.length&&s}}}t.showErrorMarker=function(e,t){var i,n=e.session,r=(n.widgetManager||(n.widgetManager=new c(n),n.widgetManager.attach(e)),e.getCursorPosition()),o=r.row,s=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return"errorMarker"==e.type})[0],o=(s?s.destroy():o-=t,d(n,o,t));if(o){t=o[0];r.column=(t.pos&&"number"!=typeof t.column?t.pos.sc:t.column)||0,r.row=t.row,i=e.renderer.$gutterLayer.$annotations[r.row]}else{if(s)return;i={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(r.row),e.selection.moveToPosition(r);function a(e,t,i){if(0===t&&("esc"===i||"return"===i))return l.destroy(),{command:"null"}}var l={row:r.row,fixedWidth:!0,coverGutter:!0,el:h.createElement("div"),type:"errorMarker"},o=l.el.appendChild(h.createElement("div")),t=l.el.appendChild(h.createElement("div")),s=(t.className="error_widget_arrow "+i.className,e.renderer.$cursorLayer.getPixelPosition(r).left);t.style.left=s+e.renderer.gutterWidth-5+"px",l.el.className="error_widget_wrapper",o.className="error_widget "+i.className,o.innerHTML=i.text.join("<br>"),o.appendChild(h.createElement("div"));l.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(a),n.widgetManager.removeLineWidget(l),e.off("changeSelection",l.destroy),e.off("changeSession",l.destroy),e.off("mouseup",l.destroy),e.off("change",l.destroy))},e.keyBinding.addKeyboardHandler(a),e.on("changeSelection",l.destroy),e.on("changeSession",l.destroy),e.on("mouseup",l.destroy),e.on("change",l.destroy),e.session.widgetManager.addLineWidget(l),l.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:l.el.offsetHeight})},h.importCssString("\n .error_widget_wrapper {\n background: inherit;\n color: inherit;\n border:none\n }\n .error_widget {\n border-top: solid 2px;\n border-bottom: solid 2px;\n margin: 5px 0;\n padding: 10px 40px;\n white-space: pre-wrap;\n }\n .error_widget.ace_error, .error_widget_arrow.ace_error{\n border-color: #ff5a5a\n }\n .error_widget.ace_warning, .error_widget_arrow.ace_warning{\n border-color: #F1D817\n }\n .error_widget.ace_info, .error_widget_arrow.ace_info{\n border-color: #5a5a5a\n }\n .error_widget.ace_ok, .error_widget_arrow.ace_ok{\n border-color: #5aaa5a\n }\n .error_widget_arrow {\n position: absolute;\n border: solid 5px;\n border-top-color: transparent!important;\n border-right-color: transparent!important;\n border-left-color: transparent!important;\n top: -5px;\n }\n","error_marker.css",!1)}),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],function(e,o,t){"use strict";e("./loader_build")(o);var s=e("./lib/dom"),a=e("./lib/event"),i=e("./range").Range,l=e("./editor").Editor,n=e("./edit_session").EditSession,r=e("./undomanager").UndoManager,c=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),o.config=e("./config"),o.edit=function(e,t){if("string"==typeof e){var i=e;if(!(e=document.getElementById(i)))throw new Error("ace.edit can't find div #"+i)}var n,r;return e&&e.env&&e.env.editor instanceof l?e.env.editor:(i="",e&&/input|textarea/i.test(e.tagName)?(i=(n=e).value,e=s.createElement("pre"),n.parentNode.replaceChild(e,n)):e&&(i=e.textContent,e.innerHTML=""),i=o.createEditSession(i),e=new l(new c(e),i,t),r={document:i,editor:e,onResize:e.resize.bind(e,null)},n&&(r.textarea=n),a.addListener(window,"resize",r.onResize),e.on("destroy",function(){a.removeListener(window,"resize",r.onResize),r.editor.container.env=null}),e.container.env=e.env=r,e)},o.createEditSession=function(e,t){e=new n(e,t);return e.setUndoManager(new r),e},o.Range=i,o.Editor=l,o.EditSession=n,o.UndoManager=r,o.VirtualRenderer=c,o.version=o.config.version}),ace.require(["ace/ace"],function(e){for(var t in e&&(e.config.init(!0),e.define=ace.define),window.ace||(window.ace=e),e)e.hasOwnProperty(t)&&(window.ace[t]=e[t]);window.ace.default=window.ace,i&&(i.exports=window.ace)})},4317:function(t,e,i){t=i.nmd(t),ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],function(e,s,t){"use strict";var i=e("./lib/dom"),n=e("./lib/oop"),r=e("./lib/event_emitter").EventEmitter,c=e("./lib/lang"),h=e("./range").Range,d=e("./range_list").RangeList,o=e("./keyboard/hash_handler").HashHandler,a=e("./tokenizer").Tokenizer,l=e("./clipboard"),u={CURRENT_WORD:function(e){return e.session.getTextRange(e.session.getWordRange())},SELECTION:function(e,t,i){e=e.session.getTextRange();return i?e.replace(/\n\r?([ \t]*\S)/g,"\n"+i+"$1"):e},CURRENT_LINE:function(e){return e.session.getLine(e.getCursorPosition().row)},PREV_LINE:function(e){return e.session.getLine(e.getCursorPosition().row-1)},LINE_INDEX:function(e){return e.getCursorPosition().row},LINE_NUMBER:function(e){return e.getCursorPosition().row+1},SOFT_TABS:function(e){return e.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(e){return e.session.getTabSize()},CLIPBOARD:function(e){return l.getText&&l.getText()},FILENAME:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0]},FILENAME_BASE:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(e){return this.FILEPATH(e).replace(/[^/\\]*$/,"")},FILEPATH:function(e){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(e){e=e.session.$mode||{};return e.blockComment&&e.blockComment.start||""},BLOCK_COMMENT_END:function(e){e=e.session.$mode||{};return e.blockComment&&e.blockComment.end||""},LINE_COMMENT:function(e){return(e.session.$mode||{}).lineCommentStart||""},CURRENT_YEAR:g.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:g.bind(null,{year:"2-digit"}),CURRENT_MONTH:g.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:g.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:g.bind(null,{month:"short"}),CURRENT_DATE:g.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:g.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:g.bind(null,{weekday:"short"}),CURRENT_HOUR:g.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:g.bind(null,{minute:"2-digit"}),CURRENT_SECOND:g.bind(null,{second:"2-digit"})};function g(e){e=(new Date).toLocaleString("en-us",e);return 1==e.length?"0"+e:e}u.SELECTED_TEXT=u.SELECTION;function p(){this.snippetMap={},this.snippetNameMap={}}!function(){n.implement(this,r),this.getTokenizer=function(){return p.$tokenizer||this.createTokenizer()},this.createTokenizer=function(){function n(e){return e=e.substr(1),/^\d+$/.test(e)?[{tabstopId:parseInt(e,10)}]:[{text:e}]}function e(e){return"(?:[^\\\\"+e+"]|\\\\.)"}var t={regex:"/("+e("/")+"+)/",onMatch:function(e,t,i){i=i[0];return i.fmtString=!0,i.guard=e.slice(1,-1),i.flag=""},next:"formatString"};return p.$tokenizer=new a({start:[{regex:/\\./,onMatch:function(e,t,i){var n=e[1];return[e="}"==n&&i.length||-1!="`$\\".indexOf(n)?n:e]}},{regex:/}/,onMatch:function(e,t,i){return[i.length?i.shift():e]}},{regex:/\$(?:\d+|\w+)/,onMatch:n},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(e,t,i){e=n(e.substr(1));return i.unshift(e[0]),e},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+e("\\|")+"*\\|",onMatch:function(e,t,i){e=e.slice(1,-1).replace(/\\[,|\\]|,/g,function(e){return 2==e.length?e[1]:"\0"}).split("\0").map(function(e){return{value:e}});return[(i[0].choices=e)[0]]},next:"start"},t,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(e,t,i){return i.length&&i[0].expectElse?(i[0].expectElse=!1,i[0].ifEnd={elseEnd:i[0]},[i[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(e,t,i){var n=e[1];return"}"==n&&i.length||-1!="`$\\".indexOf(n)?e=n:"n"==n?e="\n":"t"==n?e="\t":-1!="ulULE".indexOf(n)&&(e={changeCase:n,local:"a"<n}),[e]}},{regex:"/\\w*}",onMatch:function(e,t,i){i=i.shift();return i&&(i.flag=e.slice(1,-1)),this.next=i&&i.tabstopId?"start":"",[i||e]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(e,t,i){return[{text:e.slice(1)}]}},{regex:/\${\w+/,onMatch:function(e,t,i){e={text:e.slice(2)};return i.unshift(e),[e]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(e,t,i){i=i.shift();return this.next=i&&i.tabstopId?"start":"",[i||e]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(e,t,i){return i[0].formatFunction=e.slice(2,-1),[i.shift()]},next:"formatString"},t,{regex:/:[\?\-+]?/,onMatch:function(e,t,i){"+"==e[1]&&(i[0].ifEnd=i[0]),"?"==e[1]&&(i[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]})},this.tokenizeTmSnippet=function(e,t){return this.getTokenizer().getLineTokens(e,t).tokens.map(function(e){return e.value||e})},this.getVariableValue=function(e,t,i){var n;return/^\d+$/.test(t)?(this.variables.__||{})[t]||"":/^[A-Z]\d+$/.test(t)?(this.variables[t[0]+"__"]||{})[t.substr(1)]||"":(t=t.replace(/^TM_/,""),!this.variables.hasOwnProperty(t)||null==(n="function"==typeof(n=this.variables[t])?this.variables[t](e,t,i):n)?"":n)},this.variables=u,this.tmStrFormat=function(e,t,s){var i,n,a,l;return t.fmt?(i=t.flag||"",n=t.guard,n=new RegExp(n,i.replace(/[^gim]/g,"")),a="string"==typeof t.fmt?this.tokenizeTmSnippet(t.fmt,"formatString"):t.fmt,l=this,e.replace(n,function(){for(var e=l.variables.__,t=(l.variables.__=[].slice.call(arguments),l.resolveVariables(a,s)),i="E",n=0;n<t.length;n++){var r,o=t[n];"object"==typeof o?(t[n]="",o.changeCase&&o.local?(r=t[n+1])&&"string"==typeof r&&("u"==o.changeCase?t[n]=r[0].toUpperCase():t[n]=r[0].toLowerCase(),t[n+1]=r.substr(1)):o.changeCase&&(i=o.changeCase)):"U"==i?t[n]=o.toUpperCase():"L"==i&&(t[n]=o.toLowerCase())}return l.variables.__=e,t.join("")})):e},this.tmFormatFunction=function(e,t,i){return"upcase"==t.formatFunction?e.toUpperCase():"downcase"==t.formatFunction?e.toLowerCase():e},this.resolveVariables=function(t,e){for(var i=[],n="",r=!0,o=0;o<t.length;o++){var s,a=t[o];"string"==typeof a?(i.push(a),"\n"==a?(r=!0,n=""):r&&(n=/^\t*/.exec(a)[0],r=/\S/.test(a))):a&&(r=!1,a.fmtString&&(-1==(s=t.indexOf(a,o+1))&&(s=t.length),a.fmt=t.slice(o+1,s),o=s),a.text?(s=this.getVariableValue(e,a.text,n)+"",a.fmtString&&(s=this.tmStrFormat(s,a,e)),(s=a.formatFunction?this.tmFormatFunction(s,a,e):s)&&!a.ifEnd?(i.push(s),l(a)):!s&&a.ifEnd&&l(a.ifEnd)):a.elseEnd?l(a.elseEnd):null==a.tabstopId&&null==a.changeCase||i.push(a))}function l(e){e=t.indexOf(e,o+1);-1!=e&&(o=e)}return i},this.insertSnippetForSelection=function(e,t){var i=e.getCursorPosition(),n=e.session.getLine(i.row),r=e.session.getTabString(),o=n.match(/^\s*/)[0],s=(i.column<o.length&&(o=o.slice(0,i.column)),t=t.replace(/\r/g,""),this.tokenizeTmSnippet(t)),a=(s=(s=this.resolveVariables(s,e)).map(function(e){return"\n"==e?e+o:"string"==typeof e?e.replace(/\t/g,r):e}),[]),l=(s.forEach(function(e,t){var i,n;"object"==typeof e&&(n=e.tabstopId,(i=a[n])||((i=a[n]=[]).index=n,i.value="",i.parents={}),-1===i.indexOf(e)&&(e.choices&&!i.choices&&(i.choices=e.choices),i.push(e),-1!==(n=s.indexOf(e,t+1))&&((e=s.slice(t+1,n)).some(function(e){return"object"==typeof e})&&!i.value?i.value=e:!e.length||i.value&&"string"==typeof i.value||(i.value=e.join("")))))}),a.forEach(function(e){e.length=0}),{});for(var c=0;c<s.length;c++){var h,d,u,g=s[c];"object"==typeof g&&(u=g.tabstopId,h=a[u],d=s.indexOf(g,c+1),l[u]?l[u]===g&&(delete l[u],Object.keys(l).forEach(function(e){h.parents[e]=!0})):(l[u]=g,"string"!=typeof(u=h.value)?u=function(e){for(var t=[],i=0;i<e.length;i++){if("object"==typeof(n=e[i])){if(l[n.tabstopId])continue;var n=t[e.lastIndexOf(n,i-1)]||{tabstopId:n.tabstopId}}t[i]=n}return t}(u):g.fmt&&(u=this.tmStrFormat(u,g,e)),s.splice.apply(s,[c+1,Math.max(0,d-c)].concat(u,g)),-1===h.indexOf(g)&&h.push(g)))}var p=0,m=0,f="",n=(s.forEach(function(e){var t;"string"==typeof e?(1<(t=e.split("\n")).length?(m=t[t.length-1].length,p+=t.length-1):m+=e.length,f+=e):e&&(e.start?e.end={row:p,column:m}:e.start={row:p,column:m})}),e.getSelectionRange()),i=e.session.replace(n,f),t=new I(e),C=e.inVirtualSelectionMode&&e.selection.index;t.addTabstops(a,n.start,i,C)},this.insertSnippet=function(e,t){var i=this;if(e.inVirtualSelectionMode)return i.insertSnippetForSelection(e,t);e.forEachSelection(function(){i.insertSnippetForSelection(e,t)},null,{keepOrder:!0}),e.tabstopManager&&e.tabstopManager.tabNext()},this.$getScope=function(e){var t,i=e.session.$mode.$id||"";return"html"!==(i=i.split("/").pop())&&"php"!==i||("php"!==i||e.session.$mode.inlinePhp||(i="html"),t=e.getCursorPosition(),(e="object"==typeof(e=e.session.getState(t.row))?e[0]:e).substring&&("js-"==e.substring(0,3)?i="javascript":"css-"==e.substring(0,4)?i="css":"php-"==e.substring(0,4)&&(i="php"))),i},this.getActiveScopes=function(e){var e=this.$getScope(e),t=[e],i=this.snippetMap;return i[e]&&i[e].includeScopes&&t.push.apply(t,i[e].includeScopes),t.push("_"),t},this.expandWithTab=function(e,t){var i=this,n=e.forEachSelection(function(){return i.expandSnippetForSelection(e,t)},null,{keepOrder:!0});return n&&e.tabstopManager&&e.tabstopManager.tabNext(),n},this.expandSnippetForSelection=function(e,t){var i,n=e.getCursorPosition(),r=e.session.getLine(n.row),o=r.substring(0,n.column),s=r.substr(n.column),a=this.snippetMap;return this.getActiveScopes(e).some(function(e){e=a[e];return!!(i=e?this.findMatchingSnippet(e,o,s):i)},this),!!i&&(t&&t.dryRun||(e.session.doc.removeInLine(n.row,n.column-i.replaceBefore.length,n.column+i.replaceAfter.length),this.variables.M__=i.matchBefore,this.variables.T__=i.matchAfter,this.insertSnippetForSelection(e,i.content),this.variables.M__=this.variables.T__=null),!0)},this.findMatchingSnippet=function(e,t,i){for(var n=e.length;n--;){var r=e[n];if((!r.startRe||r.startRe.test(t))&&((!r.endRe||r.endRe.test(i))&&(r.startRe||r.endRe)))return r.matchBefore=r.startRe?r.startRe.exec(t):[""],r.matchAfter=r.endRe?r.endRe.exec(i):[""],r.replaceBefore=r.triggerRe?r.triggerRe.exec(t)[0]:"",r.replaceAfter=r.endTriggerRe?r.endTriggerRe.exec(i)[0]:"",r}},this.snippetMap={},this.snippetNameMap={},this.register=function(t,n){var r=this.snippetMap,o=this.snippetNameMap,s=this;function a(e){return(e=e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)?"(?:"+e+")":e)||""}function l(e,t,i){return e=a(e),t=a(t),i?(e=t+e)&&"$"!=e[e.length-1]&&(e+="$"):(e+=t)&&"^"!=e[0]&&(e="^"+e),new RegExp(e)}function i(e){e.scope||(e.scope=n||"_"),n=e.scope,r[n]||(r[n]=[],o[n]={});var t,i=o[n];e.name&&((t=i[e.name])&&s.unregister(t),i[e.name]=e),r[n].push(e),e.prefix&&(e.tabTrigger=e.prefix),!e.content&&e.body&&(e.content=Array.isArray(e.body)?e.body.join("\n"):e.body),e.tabTrigger&&!e.trigger&&(!e.guard&&/^\w/.test(e.tabTrigger)&&(e.guard="\\b"),e.trigger=c.escapeRegExp(e.tabTrigger)),(e.trigger||e.guard||e.endTrigger||e.endGuard)&&(e.startRe=l(e.trigger,e.guard,!0),e.triggerRe=new RegExp(e.trigger),e.endRe=l(e.endTrigger,e.endGuard,!0),e.endTriggerRe=new RegExp(e.endTrigger))}t=t||[],Array.isArray(t)?t.forEach(i):Object.keys(t).forEach(function(e){i(t[e])}),this._signal("registerSnippets",{scope:n})},this.unregister=function(e,i){var n=this.snippetMap,r=this.snippetNameMap;function t(e){var t=r[e.scope||i];t&&t[e.name]&&(delete t[e.name],0<=(e=(t=n[e.scope||i])&&t.indexOf(e))&&t.splice(e,1))}e.content?t(e):Array.isArray(e)&&e.forEach(t)},this.parseSnippetFile=function(e){e=e.replace(/\r/g,"");for(var t,i,n,r=[],o={},s=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;i=s.exec(e);){if(i[1])try{o=JSON.parse(i[1]),r.push(o)}catch(e){}i[4]?(o.content=i[4].replace(/^\t/gm,""),r.push(o),o={}):(t=i[2],i=i[3],"regex"==t?(o.guard=(n=/\/((?:[^\/\\]|\\.)*)|$/g).exec(i)[1],o.trigger=n.exec(i)[1],o.endTrigger=n.exec(i)[1],o.endGuard=n.exec(i)[1]):"snippet"==t?(o.tabTrigger=i.match(/^\S*/)[0],o.name||(o.name=i)):t&&(o[t]=i))}return r},this.getSnippetByName=function(t,e){var i,n=this.snippetNameMap;return this.getActiveScopes(e).some(function(e){e=n[e];return!!(i=e?e[t]:i)},this),i}}.call(p.prototype);var I=function(e){if(e.tabstopManager)return e.tabstopManager;(e.tabstopManager=this).$onChange=this.onChange.bind(this),this.$onChangeSelection=c.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(e)},m=(!function(){this.attach=function(e){this.index=0,this.ranges=[],this.tabstops=[],this.$openTabstops=null,this.selectedTabstop=null,this.editor=e,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},this.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges=null,this.tabstops=null,this.selectedTabstop=null,this.editor.removeListener("change",this.$onChange),this.editor.removeListener("changeSelection",this.$onChangeSelection),this.editor.removeListener("changeSession",this.$onChangeSession),this.editor.commands.removeListener("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.editor=null},this.onChange=function(e){for(var t="r"==e.action[0],i=this.selectedTabstop||{},n=i.parents||{},r=(this.tabstops||[]).slice(),o=0;o<r.length;o++){var s=r[o],a=s==i||n[s.index];if(s.rangeList.$bias=a?0:1,"remove"==e.action&&s!==i)for(var a=s.parents&&s.parents[i.index],l=(l=s.rangeList.pointIndex(e.start,a))<0?-l-1:l+1,a=(a=s.rangeList.pointIndex(e.end,a))<0?-a-1:a-1,c=s.rangeList.ranges.slice(l,a),h=0;h<c.length;h++)this.removeRange(c[h]);s.rangeList.$onChange(e)}var d=this.editor.session;this.$inChange||!t||1!=d.getLength()||d.getValue()||this.detach()},this.updateLinkedFields=function(){var e=this.selectedTabstop;if(e&&e.hasLinkedRanges&&e.firstNonLinked){this.$inChange=!0;for(var t=this.editor.session,i=t.getTextRange(e.firstNonLinked),n=0;n<e.length;n++){var r,o=e[n];o.linked&&(r=o.original,r=s.snippetManager.tmStrFormat(i,r,this.editor),t.replace(o,r))}this.$inChange=!1}},this.onAfterExec=function(e){e.command&&!e.command.readOnly&&this.updateLinkedFields()},this.onChangeSelection=function(){if(this.editor){for(var e=this.editor.selection.lead,t=this.editor.selection.anchor,i=this.editor.selection.isEmpty(),n=0;n<this.ranges.length;n++)if(!this.ranges[n].linked){var r=this.ranges[n].contains(e.row,e.column),o=i||this.ranges[n].contains(t.row,t.column);if(r&&o)return}this.detach()}},this.onChangeSession=function(){this.detach()},this.tabNext=function(e){var t=this.tabstops.length,e=this.index+(e||1),e=Math.min(Math.max(e,1),t);this.selectTabstop(e=e==t?0:e),0===e&&this.detach()},this.selectTabstop=function(e){this.$openTabstops=null;var t=this.tabstops[this.index];if(t&&this.addTabstopMarkers(t),this.index=e,(t=this.tabstops[this.index])&&t.length){e=(this.selectedTabstop=t).firstNonLinked||t;if(t.choices&&(e.cursor=e.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(e);else{var i=this.editor.multiSelect;i.toSingleRange(e);for(var n=0;n<t.length;n++)t.hasLinkedRanges&&t[n].linked||i.addRange(t[n].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},this.addTabstops=function(e,s,t){var a=this.useLink||!this.editor.getOption("enableMultiselect");this.$openTabstops||(this.$openTabstops=[]),e[0]||(t=h.fromPoints(t,t),f(t.start,s),f(t.end,s),e[0]=[t],e[0].index=0);var l=[this.index+1,0],c=this.ranges;e.forEach(function(e,t){for(var i=this.$openTabstops[t]||e,n=0;n<e.length;n++){var r=e[n],o=h.fromPoints(r.start,r.end||r.start);m(o.start,s),m(o.end,s),o.original=r,o.tabstop=i,c.push(o),i!=e?i.unshift(o):i[n]=o,r.fmtString||i.firstNonLinked&&a?(o.linked=!0,i.hasLinkedRanges=!0):i.firstNonLinked||(i.firstNonLinked=o)}i.firstNonLinked||(i.hasLinkedRanges=!1),i===e&&(l.push(i),this.$openTabstops[t]=i),this.addTabstopMarkers(i),i.rangeList=i.rangeList||new d,i.rangeList.$bias=0,i.rangeList.addList(i)},this),2<l.length&&(this.tabstops.length&&l.push(l.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,l))},this.addTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){e.markerId||(e.markerId=t.addMarker(e,"ace_snippet-marker","text"))})},this.removeTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){t.removeMarker(e.markerId),e.markerId=null})},this.removeRange=function(e){var t=e.tabstop.indexOf(e);-1!=t&&e.tabstop.splice(t,1),-1!=(t=this.ranges.indexOf(e))&&this.ranges.splice(t,1),-1!=(t=e.tabstop.rangeList.ranges.indexOf(e))&&e.tabstop.splice(t,1),this.editor.session.removeMarker(e.markerId),e.tabstop.length||(-1!=(t=this.tabstops.indexOf(e.tabstop))&&this.tabstops.splice(t,1),this.tabstops.length||this.detach())},this.keyboardHandler=new o,this.keyboardHandler.bindKeys({Tab:function(e){s.snippetManager&&s.snippetManager.expandWithTab(e)||(e.tabstopManager.tabNext(1),e.renderer.scrollCursorIntoView())},"Shift-Tab":function(e){e.tabstopManager.tabNext(-1),e.renderer.scrollCursorIntoView()},Esc:function(e){e.tabstopManager.detach()}})}.call(I.prototype),function(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}),f=function(e,t){e.row==t.row&&(e.column-=t.column),e.row-=t.row},i=(i.importCssString("\n.ace_snippet-marker {\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n background: rgba(194, 193, 208, 0.09);\n border: 1px dotted rgba(211, 208, 235, 0.62);\n position: absolute;\n}","snippets.css",!1),s.snippetManager=new p,e("./editor").Editor);!function(){this.insertSnippet=function(e,t){return s.snippetManager.insertSnippet(this,e,t)},this.expandSnippet=function(e){return s.snippetManager.expandWithTab(this,e)}}.call(i.prototype)}),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom"],function(e,t,i){"use strict";function a(e){return(e=new n(e)).$maxLines=4,(e=new r(e)).setHighlightActiveLine(!1),e.setShowPrintMargin(!1),e.renderer.setShowGutter(!1),e.renderer.setHighlightGutterLine(!1),e.$mouseHandler.$focusTimeout=0,e.$highlightTagPending=!0,e}var n=e("../virtual_renderer").VirtualRenderer,r=e("../editor").Editor,l=e("../range").Range,h=e("../lib/event"),d=e("../lib/lang"),g=e("../lib/dom");g.importCssString("\n.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #CAD6FA;\n z-index: 1;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #3a674e;\n}\n.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid #abbffe;\n margin-top: -1px;\n background: rgba(233,233,253,0.4);\n position: absolute;\n z-index: 2;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid rgba(109, 150, 13, 0.8);\n background: rgba(58, 103, 78, 0.62);\n}\n.ace_completion-meta {\n opacity: 0.5;\n margin: 0.9em;\n}\n.ace_completion-message {\n color: blue;\n}\n.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #2d69c7;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #93ca12;\n}\n.ace_editor.ace_autocomplete {\n width: 300px;\n z-index: 200000;\n border: 1px lightgray solid;\n position: fixed;\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n line-height: 1.4;\n background: #fefefe;\n color: #111;\n}\n.ace_dark.ace_editor.ace_autocomplete {\n border: 1px #484747 solid;\n box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);\n line-height: 1.4;\n background: #25282c;\n color: #c1c1c1;\n}","autocompletion.css",!1),t.AcePopup=function(e){function t(){}function i(){s(-1)}var c,n=g.createElement("div"),u=new a(n),r=(e&&e.appendChild(n),n.style.display="none",u.renderer.content.style.cursor="default",u.renderer.setStyle("ace_autocomplete"),u.setOption("displayIndentGuides",!1),u.setOption("dragDelay",150),u.focus=t,u.$isFocused=!0,u.renderer.$cursorLayer.restartTimer=t,u.renderer.$cursorLayer.element.style.opacity=0,u.renderer.$maxLines=8,u.renderer.$keepTextAreaAtCursor=!1,u.setHighlightActiveLine(!1),u.session.highlight(""),u.session.$searchHighlight.clazz="ace_highlight-marker",u.on("mousedown",function(e){var t=e.getDocumentPosition();u.selection.moveToPosition(t),o.start.row=o.end.row=t.row,e.stop()}),new l(-1,0,-1,1/0)),o=new l(-1,0,-1,1/0),s=(o.id=u.session.addMarker(o,"ace_active-line","fullLine"),u.setSelectOnHover=function(e){e?r.id&&(u.session.removeMarker(r.id),r.id=null):r.id=u.session.addMarker(r,"ace_line-hover","fullLine")},u.setSelectOnHover(!1),u.on("mousemove",function(e){var t;c?c.x==e.x&&c.y==e.y||((c=e).scrollTop=u.renderer.scrollTop,t=c.getDocumentPosition().row,r.start.row!=t&&(r.id||u.setRow(t),s(t))):c=e}),u.renderer.on("beforeRender",function(){var e;c&&-1!=r.start.row&&(c.$pos=null,e=c.getDocumentPosition().row,r.id||u.setRow(e),s(e,!0))}),u.renderer.on("afterRender",function(){var e=u.getRow(),t=u.renderer.$textLayer,e=t.element.childNodes[e-t.config.firstRow];e!==t.selectedNode&&t.selectedNode&&g.removeCssClass(t.selectedNode,"ace_selected"),(t.selectedNode=e)&&g.addCssClass(e,"ace_selected")}),function(e,t){e!==r.start.row&&(r.start.row=r.end.row=e,t||u.session._emit("changeBackMarker"),u._emit("changeHoverMarker"))}),e=(u.getHoveredRow=function(){return r.start.row},h.addListener(u.container,"mouseout",i),u.on("hide",i),u.on("changeSelection",i),u.session.doc.getLength=function(){return u.data.length},u.session.doc.getLine=function(e){e=u.data[e];return"string"==typeof e?e:e&&e.value||""},u.session.bgTokenizer);return e.$tokenizeRow=function(e){var i=u.data[e],n=[];if(i){for(var t,r,o=(i="string"==typeof i?{value:i}:i).caption||i.value||i.name,s=o.toLowerCase(),a=(u.filterText||"").toLowerCase(),l=0,c=0,h=0;h<=a.length;h++)h!=c&&(i.matchMask&1<<h||h==a.length)&&(t=a.slice(c,h),c=h,-1!=(r=s.indexOf(t,l))&&(d(o.slice(l,r),""),l=r+t.length,d(o.slice(r,l),"completion-highlight")));d(o.slice(l,o.length),""),i.meta&&n.push({type:"completion-meta",value:i.meta}),i.message&&n.push({type:"completion-message",value:i.message})}return n;function d(e,t){e&&n.push({type:(i.className||"")+(t||""),value:e})}},e.$updateOnChange=t,e.start=t,u.session.$computeWidth=function(){return this.screenWidth=0},u.isOpen=!1,u.isTopdown=!1,u.autoSelect=!0,u.filterText="",u.data=[],u.setData=function(e,t){u.filterText=t||"",u.setValue(d.stringRepeat("\n",e.length),-1),u.data=e||[],u.setRow(0)},u.getData=function(e){return u.data[e]},u.getRow=function(){return o.start.row},u.setRow=function(e){e=Math.max(this.autoSelect?0:-1,Math.min(this.data.length,e)),o.start.row!=e&&(u.selection.clearSelection(),o.start.row=o.end.row=e||0,u.session._emit("changeBackMarker"),u.moveCursorTo(e||0,0),u.isOpen&&u._signal("select"))},u.on("changeSelection",function(){u.isOpen&&u.setRow(u.selection.lead.row),u.renderer.scrollCursorIntoView()}),u.hide=function(){this.container.style.display="none",this._signal("hide"),u.isOpen=!1},u.show=function(e,t,i){var n=this.container,r=window.innerHeight,o=window.innerWidth,s=this.renderer,a=s.$maxLines*t*1.4,l=e.top+this.$borderSize,i=(r/2<l&&!i&&r<l+t+a?(s.$maxPixelHeight=l-2*this.$borderSize,n.style.top="",n.style.bottom=r-l+"px",u.isTopdown=!1):(s.$maxPixelHeight=r-(l+=t)-.2*t,n.style.top=l+"px",n.style.bottom="",u.isTopdown=!0),n.style.display="",e.left);i+n.offsetWidth>o&&(i=o-n.offsetWidth),n.style.left=i+"px",this._signal("show"),c=null,u.isOpen=!0},u.goTo=function(e){var t=this.getRow(),i=this.session.getLength()-1;switch(e){case"up":t=t<=0?i:t-1;break;case"down":t=i<=t?-1:t+1;break;case"start":t=0;break;case"end":t=i}this.setRow(t)},u.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},u.$imageSize=0,u.$borderSize=1,u},t.$singleLineEditor=a}),ace.define("ace/autocomplete/util",["require","exports","module"],function(e,t,i){"use strict";t.parForEach=function(e,t,i){var n=0,r=e.length;0===r&&i();for(var o=0;o<r;o++)t(e[o],function(e,t){++n===r&&i(e,t)})};var o=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;t.retrievePrecedingIdentifier=function(e,t,i){i=i||o;for(var n=[],r=t-1;0<=r&&i.test(e[r]);r--)n.push(e[r]);return n.reverse().join("")},t.retrieveFollowingIdentifier=function(e,t,i){i=i||o;for(var n=[],r=t;r<e.length&&i.test(e[r]);r++)n.push(e[r]);return n},t.getCompletionPrefix=function(e){var t,i=e.getCursorPosition(),n=e.session.getLine(i.row);return e.completers.forEach(function(e){e.identifierRegexps&&e.identifierRegexps.forEach(function(e){!t&&e&&(t=this.retrievePrecedingIdentifier(n,i.column,e))}.bind(this))}.bind(this)),t||this.retrievePrecedingIdentifier(n,i.column)}}),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config"],function(e,t,i){"use strict";function n(){this.autoInsert=!1,this.autoSelect=!0,this.exactMatch=!1,this.gatherCompletionsId=0,this.keyboardHandler=new r,this.keyboardHandler.bindKeys(this.commands),this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.changeTimer=s.delayedCall(function(){this.updateCompletions(!0)}.bind(this)),this.tooltipTimer=s.delayedCall(this.updateDocTooltip.bind(this),50)}var r=e("./keyboard/hash_handler").HashHandler,o=e("./autocomplete/popup").AcePopup,c=e("./autocomplete/util"),s=e("./lib/lang"),a=e("./lib/dom"),l=e("./snippets").snippetManager,h=e("./config"),d=(!function(){this.$init=function(){return this.popup=new o(document.body||document.documentElement),this.popup.on("click",function(e){this.insertMatch(),e.stop()}.bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.tooltipTimer.bind(null,null)),this.popup.on("select",this.tooltipTimer.bind(null,null)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup},this.getPopup=function(){return this.popup||this.$init()},this.openPopup=function(e,t,i){this.popup||this.$init(),this.popup.autoSelect=this.autoSelect,this.popup.setData(this.completions.filtered,this.completions.filterText),e.keyBinding.addKeyboardHandler(this.keyboardHandler);var n,r=e.renderer;this.popup.setRow(this.autoSelect?0:-1),i?t||this.detach():(this.popup.setTheme(e.getTheme()),this.popup.setFontSize(e.getFontSize()),i=r.layerConfig.lineHeight,(t=r.$cursorLayer.getPixelPosition(this.base,!0)).left-=this.popup.getTextLeftOffset(),n=e.container.getBoundingClientRect(),t.top+=n.top-r.layerConfig.offset,t.left+=n.left-e.renderer.scrollLeft,t.left+=r.gutterWidth,this.popup.show(t,i)),this.changeTimer.cancel()},this.detach=function(){this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener),this.changeTimer.cancel(),this.hideDocTooltip(),this.gatherCompletionsId+=1,this.popup&&this.popup.isOpen&&this.popup.hide(),this.base&&this.base.detach(),this.activated=!1,this.completions=this.base=null},this.changeListener=function(e){var t=this.editor.selection.lead;(t.row!=this.base.row||t.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},this.blurListener=function(e){var t=document.activeElement,i=this.editor.textInput.getElement(),n=e.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(e.relatedTarget),r=this.popup&&this.popup.container;t==i||t.parentNode==r||n||t==this.tooltipNode||e.relatedTarget==i||this.detach()},this.mousedownListener=function(e){this.detach()},this.mousewheelListener=function(e){this.detach()},this.goTo=function(e){this.popup.goTo(e)},this.insertMatch=function(e,t){if(!(e=e||this.popup.getData(this.popup.getRow())))return!1;var i=this.completions;if(this.editor.startOperation({command:{name:"insertMatch"}}),e.completer&&e.completer.insertMatch)e.completer.insertMatch(this.editor,e);else{if(!i)return!1;if(i.filterText)for(var n,r=this.editor.selection.getAllRanges(),o=0;n=r[o];o++)n.start.column-=i.filterText.length,this.editor.session.remove(n);e.snippet?l.insertSnippet(this.editor,e.snippet):this.editor.execCommand("insertstring",e.value||e)}this.completions==i&&this.detach(),this.editor.endOperation()},this.commands={Up:function(e){e.completer.goTo("up")},Down:function(e){e.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(e){e.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(e){e.completer.goTo("end")},Esc:function(e){e.completer.detach()},Return:function(e){return e.completer.insertMatch()},"Shift-Return":function(e){e.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(e){var t=e.completer.insertMatch();if(t||e.tabstopManager)return t;e.completer.goTo("down")},PageUp:function(e){e.completer.popup.gotoPageUp()},PageDown:function(e){e.completer.popup.gotoPageDown()}},this.gatherCompletions=function(i,n){var r=i.getSession(),o=i.getCursorPosition(),s=c.getCompletionPrefix(i),a=(this.base=r.doc.createAnchor(o.row,o.column-s.length),this.base.$insertRight=!0,[]),l=i.completers.length;return i.completers.forEach(function(e,t){e.getCompletions(i,r,o,s,function(e,t){!e&&t&&(a=a.concat(t)),n(null,{prefix:c.getCompletionPrefix(i),matches:a,finished:0==--l})})}),!0},this.showPopup=function(e,t){this.editor&&this.detach(),this.activated=!0,(this.editor=e).completer!=this&&(e.completer&&e.completer.detach(),e.completer=this),e.on("changeSelection",this.changeListener),e.on("blur",this.blurListener),e.on("mousedown",this.mousedownListener),e.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,t)},this.updateCompletions=function(n,e){var t,r,o,s,a,i,l;return n&&this.base&&this.completions?(t=this.editor.getCursorPosition(),(i=this.editor.session.getTextRange({start:this.base,end:t}))==this.completions.filterText?void 0:(this.completions.setFilter(i),this.completions.filtered.length&&(1!=this.completions.filtered.length||this.completions.filtered[0].value!=i||this.completions.filtered[0].snippet)?void this.openPopup(this.editor,i,n):this.detach())):e&&e.matches?(t=this.editor.getSelectionRange().start,this.base=this.editor.session.doc.createAnchor(t.row,t.column),this.base.$insertRight=!0,this.completions=new d(e.matches),this.openPopup(this.editor,"",n)):(r=this.gatherCompletionsId,o=function(e){if(e.finished)return this.detach()}.bind(this),s=function(e){var t=e.prefix,i=e.matches,i=(this.completions=new d(i),this.exactMatch&&(this.completions.exactMatch=!0),this.completions.setFilter(t),this.completions.filtered);return i.length&&(1!=i.length||i[0].value!=t||i[0].snippet)?this.autoInsert&&1==i.length&&e.finished?this.insertMatch(i[0]):void this.openPopup(this.editor,t,n):o(e)}.bind(this),a=!0,l=null,this.gatherCompletions(this.editor,function(e,t){var i=t.prefix,n=t&&t.matches;if(!n||!n.length)return o(t);0===i.indexOf(t.prefix)&&r==this.gatherCompletionsId&&(a?l=t:s(t))}.bind(this)),a=!1,void(l&&(i=l,l=null,s(i))))},this.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},this.updateDocTooltip=function(){var e=this.popup,t=e.data,i=t&&(t[e.getHoveredRow()]||t[e.getRow()]),n=null;return i&&this.editor&&this.popup.isOpen&&(this.editor.completers.some(function(e){return n=e.getDocTooltip?e.getDocTooltip(i):n}),(n="string"==typeof(n=n||"string"==typeof i?n:i)?{docText:n}:n)&&(n.docHTML||n.docText))?void this.showDocTooltip(n):this.hideDocTooltip()},this.showDocTooltip=function(e){this.tooltipNode||(this.tooltipNode=a.createElement("div"),this.tooltipNode.className="ace_tooltip ace_doc-tooltip",this.tooltipNode.style.margin=0,this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this));var t=this.tooltipNode,e=(e.docHTML?t.innerHTML=e.docHTML:e.docText&&(t.textContent=e.docText),t.parentNode||document.body.appendChild(t),this.popup),i=e.container.getBoundingClientRect();t.style.top=e.container.style.top,t.style.bottom=e.container.style.bottom,t.style.display="block",window.innerWidth-i.right<320?i.left<320?(e.isTopdown?t.style.top=i.bottom+"px":t.style.top=e.container.offsetTop-t.offsetHeight+"px",t.style.left=i.left+"px",t.style.right="",t.style.bottom=""):(t.style.right=window.innerWidth-i.left+"px",t.style.left=""):(t.style.left=i.right+1+"px",t.style.right="")},this.hideDocTooltip=function(){var e;this.tooltipTimer.cancel(),this.tooltipNode&&(e=this.tooltipNode,this.editor.isFocused()||document.activeElement!=e||this.editor.focus(),this.tooltipNode=null,e.parentNode&&e.parentNode.removeChild(e))},this.onTooltipClick=function(e){for(var t=e.target;t&&t!=this.tooltipNode;){if("A"==t.nodeName&&t.href){t.rel="noreferrer",t.target="_blank";break}t=t.parentNode}},this.destroy=function(){var e;this.detach(),this.popup&&(this.popup.destroy(),(e=this.popup.container)&&e.parentNode&&e.parentNode.removeChild(e)),this.editor&&this.editor.completer==this&&this.editor.completer,this.popup=null}}.call(n.prototype),n.for=function(e){return e.completer||(h.get("sharedPopups")?(n.$shared||(n.$sharedInstance=new n),e.completer=n.$sharedInstance):(e.completer=new n,e.once("destroy",function(e,t){t.completer.destroy()}))),e.completer},n.startCommand={name:"startAutocomplete",exec:function(e,t){var i=n.for(e);i.autoInsert=!1,i.autoSelect=!0,i.showPopup(e,t),i.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"},function(e,t){this.all=e,this.filtered=e,this.filterText=t||"",this.exactMatch=!1});!function(){this.setFilter=function(e){t=e.length>this.filterText&&0===e.lastIndexOf(this.filterText,0)?this.filtered:this.all,
80this.filterText=e,t=(t=this.filterCompletions(t,this.filterText)).sort(function(e,t){return t.exactMatch-e.exactMatch||t.$score-e.$score||(e.caption||e.value).localeCompare(t.caption||t.value)});var t,i=null;t=t.filter(function(e){e=e.snippet||e.caption||e.value;return e!==i&&(i=e,!0)}),this.filtered=t},this.filterCompletions=function(e,t){var i=[],n=t.toUpperCase(),r=t.toLowerCase();e:for(var o,s=0;o=e[s];s++){var a=o.caption||o.value||o.snippet;if(a){var l=-1,c=0,h=0;if(this.exactMatch){if(t!==a.substr(0,t.length))continue}else{var d=a.toLowerCase().indexOf(r);if(-1<d)h=d;else for(var u=0;u<t.length;u++){var g=a.indexOf(r[u],l+1),p=a.indexOf(n[u],l+1);if((g=0<=g&&(p<0||g<p)?g:p)<0)continue e;0<(p=g-l-1)&&(-1===l&&(h+=10),h+=p,c|=1<<u),l=g}}o.matchMask=c,o.exactMatch=h?0:1,o.$score=(o.score||0)-h,i.push(o)}}return i}}.call(d.prototype),t.Autocomplete=n,t.FilteredList=d}),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],function(e,t,i){var s=e("../range").Range,a=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;function l(e,t){var i=e.getTextRange(s.fromPoints({row:0,column:0},t)).split(a).length-1,n=e.getValue().split(a),r=Object.create(null),o=n[i];return n.forEach(function(e,t){e&&e!==o&&(t=Math.abs(i-t),t=n.length-t,r[e]?r[e]=Math.max(t,r[e]):r[e]=t)}),r}t.getCompletions=function(e,t,i,n,r){var o=l(t,i);r(null,Object.keys(o).map(function(e){return{caption:e,value:e,score:o[e],meta:"local"}}))}}),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/autocomplete/text_completer","ace/editor","ace/config"],function(e,t,i){"use strict";function n(e,t){m(t.session.$mode)}function r(e){var t=e.editor,i=t.completer&&t.completer.activated;"backspace"===e.command.name?i&&!c.getCompletionPrefix(t)&&t.completer.detach():"insertstring"===e.command.name&&c.getCompletionPrefix(t)&&!i&&((e=o.for(t)).autoInsert=!1,e.showPopup(t))}var l=e("../snippets").snippetManager,o=e("../autocomplete").Autocomplete,s=e("../config"),a=e("../lib/lang"),c=e("../autocomplete/util"),h=e("../autocomplete/text_completer"),d={getCompletions:function(e,t,i,n,r){if(t.$mode.completer)return t.$mode.completer.getCompletions(e,t,i,n,r);e=e.session.getState(i.row);r(null,t.$mode.getCompletions(e,t,i,n))}},u={getCompletions:function(e,t,i,n,r){var o=[],t=t.getTokenAt(i.row,i.column),s=(t&&t.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?o.push("html-tag"):o=l.getActiveScopes(e),l.snippetMap),a=[];o.forEach(function(e){for(var t=s[e]||[],i=t.length;i--;){var n=t[i],r=n.name||n.tabTrigger;r&&a.push({caption:r,snippet:n.content,meta:n.tabTrigger&&!n.name?n.tabTrigger+"⇥ ":"snippet",type:"snippet"})}},this),r(null,a)},getDocTooltip:function(e){var r;"snippet"!=e.type||e.docHTML||(e.docHTML=["<b>",a.escapeHTML(e.caption),"</b>","<hr></hr>",a.escapeHTML((e=e.snippet,r={},e.replace(/\${(\d+)(:(.*?))?}/g,function(e,t,i,n){return r[t]=n||""}).replace(/\$(\d+?)/g,function(e,t){return r[t]})))].join(""))}},g=[u,h,d],p=(t.setCompleters=function(e){g.length=0,e&&g.push.apply(g,e)},t.addCompleter=function(e){g.push(e)},t.textCompleter=h,t.keyWordCompleter=d,t.snippetCompleter=u,{name:"expandSnippet",exec:function(e){return l.expandWithTab(e)},bindKey:"Tab"}),m=function(e){(e="string"==typeof e?s.$modes[e]:e)&&(l.files||(l.files={}),f(e.$id,e.snippetFileId),e.modes&&e.modes.forEach(m))},f=function(t,e){e&&t&&!l.files[t]&&(l.files[t]={},s.loadModule(e,function(e){e&&(!(l.files[t]=e).snippets&&e.snippetText&&(e.snippets=l.parseSnippetFile(e.snippetText)),l.register(e.snippets||[],e.scope),e.includeScopes&&(l.snippetMap[e.scope].includeScopes=e.includeScopes,e.includeScopes.forEach(function(e){m("ace/mode/"+e)})))}))},h=e("../editor").Editor;e("../config").defineOptions(h.prototype,"editor",{enableBasicAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:g),this.commands.addCommand(o.startCommand)):this.commands.removeCommand(o.startCommand)},value:!1},enableLiveAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:g),this.commands.on("afterExec",r)):this.commands.removeListener("afterExec",r)},value:!1},enableSnippets:{set:function(e){e?(this.commands.addCommand(p),this.on("changeMode",n),n(0,this)):(this.commands.removeCommand(p),this.off("changeMode",n))},value:!1}})}),ace.require(["ace/ext/language_tools"],function(e){t&&(t.exports=e)})},3330:function(t,e,i){t=i.nmd(t),ace.define("ace/ext/searchbox.css",["require","exports","module"],function(e,t,i){i.exports='\n\n/* ------------------------------------------------------------------------------------------\n * Editor Search Form\n * --------------------------------------------------------------------------------------- */\n.ace_search {\n background-color: #ddd;\n color: #666;\n border: 1px solid #cbcbcb;\n border-top: 0 none;\n overflow: hidden;\n margin: 0;\n padding: 4px 6px 0 4px;\n position: absolute;\n top: 0;\n z-index: 99;\n white-space: normal;\n}\n.ace_search.left {\n border-left: 0 none;\n border-radius: 0px 0px 5px 0px;\n left: 0;\n}\n.ace_search.right {\n border-radius: 0px 0px 0px 5px;\n border-right: 0 none;\n right: 0;\n}\n\n.ace_search_form, .ace_replace_form {\n margin: 0 20px 4px 0;\n overflow: hidden;\n line-height: 1.9;\n}\n.ace_replace_form {\n margin-right: 0;\n}\n.ace_search_form.ace_nomatch {\n outline: 1px solid red;\n}\n\n.ace_search_field {\n border-radius: 3px 0 0 3px;\n background-color: white;\n color: black;\n border: 1px solid #cbcbcb;\n border-right: 0 none;\n outline: 0;\n padding: 0;\n font-size: inherit;\n margin: 0;\n line-height: inherit;\n padding: 0 6px;\n min-width: 17em;\n vertical-align: top;\n min-height: 1.8em;\n box-sizing: content-box;\n}\n.ace_searchbtn {\n border: 1px solid #cbcbcb;\n line-height: inherit;\n display: inline-block;\n padding: 0 6px;\n background: #fff;\n border-right: 0 none;\n border-left: 1px solid #dcdcdc;\n cursor: pointer;\n margin: 0;\n position: relative;\n color: #666;\n}\n.ace_searchbtn:last-child {\n border-radius: 0 3px 3px 0;\n border-right: 1px solid #cbcbcb;\n}\n.ace_searchbtn:disabled {\n background: none;\n cursor: default;\n}\n.ace_searchbtn:hover {\n background-color: #eef1f6;\n}\n.ace_searchbtn.prev, .ace_searchbtn.next {\n padding: 0px 0.7em\n}\n.ace_searchbtn.prev:after, .ace_searchbtn.next:after {\n content: "";\n border: solid 2px #888;\n width: 0.5em;\n height: 0.5em;\n border-width: 2px 0 0 2px;\n display:inline-block;\n transform: rotate(-45deg);\n}\n.ace_searchbtn.next:after {\n border-width: 0 2px 2px 0 ;\n}\n.ace_searchbtn_close {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;\n border-radius: 50%;\n border: 0 none;\n color: #656565;\n cursor: pointer;\n font: 16px/16px Arial;\n padding: 0;\n height: 14px;\n width: 14px;\n top: 9px;\n right: 7px;\n position: absolute;\n}\n.ace_searchbtn_close:hover {\n background-color: #656565;\n background-position: 50% 100%;\n color: white;\n}\n\n.ace_button {\n margin-left: 2px;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -o-user-select: none;\n -ms-user-select: none;\n user-select: none;\n overflow: hidden;\n opacity: 0.7;\n border: 1px solid rgba(100,100,100,0.23);\n padding: 1px;\n box-sizing: border-box!important;\n color: black;\n}\n\n.ace_button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_button:active {\n background-color: #ddd;\n}\n\n.ace_button.checked {\n border-color: #3399ff;\n opacity:1;\n}\n\n.ace_search_options{\n margin-bottom: 3px;\n text-align: right;\n -webkit-user-select: none;\n -moz-user-select: none;\n -o-user-select: none;\n -ms-user-select: none;\n user-select: none;\n clear: both;\n}\n\n.ace_search_counter {\n float: left;\n font-family: arial;\n padding: 0 8px;\n}'}),ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/ext/searchbox.css","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,i){"use strict";function n(e,t,i){var n=r.createElement("div");r.buildDom(["div",{class:"ace_search right"},["span",{action:"hide",class:"ace_searchbtn_close"}],["div",{class:"ace_search_form"},["input",{class:"ace_search_field",placeholder:"Search for",spellcheck:"false"}],["span",{action:"findPrev",class:"ace_searchbtn prev"},"​"],["span",{action:"findNext",class:"ace_searchbtn next"},"​"],["span",{action:"findAll",class:"ace_searchbtn",title:"Alt-Enter"},"All"]],["div",{class:"ace_replace_form"},["input",{class:"ace_search_field",placeholder:"Replace with",spellcheck:"false"}],["span",{action:"replaceAndFindNext",class:"ace_searchbtn"},"Replace"],["span",{action:"replaceAll",class:"ace_searchbtn"},"All"]],["div",{class:"ace_search_options"},["span",{action:"toggleReplace",class:"ace_button",title:"Toggle Replace mode",style:"float:left;margin-top:-2px;padding:0 5px;"},"+"],["span",{class:"ace_search_counter"}],["span",{action:"toggleRegexpMode",class:"ace_button",title:"RegExp Search"},".*"],["span",{action:"toggleCaseSensitive",class:"ace_button",title:"CaseSensitive Search"},"Aa"],["span",{action:"toggleWholeWords",class:"ace_button",title:"Whole Word Search"},"\\b"],["span",{action:"searchInSelection",class:"ace_button",title:"Search In Selection"},"S"]]],n),this.element=n.firstChild,this.setSession=this.setSession.bind(this),this.$init(),this.setEditor(e),r.importCssString(a,"ace_searchbox",e.container)}var r=e("../lib/dom"),o=e("../lib/lang"),s=e("../lib/event"),a=e("./searchbox.css"),l=e("../keyboard/hash_handler").HashHandler,c=e("../lib/keys");r.importCssString(a,"ace_searchbox",!1);!function(){this.setEditor=function(e){e.searchBox=this,e.renderer.scroller.appendChild(this.element),this.editor=e},this.setSession=function(e){this.searchRange=null,this.$syncOptions(!0)},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOption=e.querySelector("[action=searchInSelection]"),this.replaceOption=e.querySelector("[action=toggleReplace]"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field"),this.searchCounter=e.querySelector(".ace_search_counter")},this.$init=function(){var e=this.element,n=(this.$initElements(e),this);s.addListener(e,"mousedown",function(e){setTimeout(function(){n.activeInput.focus()},0),s.stopPropagation(e)}),s.addListener(e,"click",function(e){var t=(e.target||e.srcElement).getAttribute("action");t&&n[t]?n[t]():n.$searchBarKb.commands[t]&&n.$searchBarKb.commands[t].exec(n),s.stopPropagation(e)}),s.addCommandKeyListener(e,function(e,t,i){i=c.keyCodeToString(i),t=n.$searchBarKb.findKeyCommand(t,i);t&&t.exec&&(t.exec(n),s.stopEvent(e))}),this.$onChange=o.delayedCall(function(){n.find(!1,!1)}),s.addListener(this.searchInput,"input",function(){n.$onChange.schedule(20)}),s.addListener(this.searchInput,"focus",function(){n.activeInput=n.searchInput,n.searchInput.value&&n.highlight()}),s.addListener(this.replaceInput,"focus",function(){n.activeInput=n.replaceInput,n.searchInput.value&&n.highlight()})},this.$closeSearchBarKb=new l([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new l,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e.replaceOption.checked=!1,e.$syncOptions(),e.searchInput.focus()},"Ctrl-H|Command-Option-F":function(e){e.editor.getReadOnly()||(e.replaceOption.checked=!0,e.$syncOptions(),e.replaceInput.focus())},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},"Alt-Return":function(e){e.activeInput==e.replaceInput&&e.replaceAll(),e.findAll()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}},{name:"toggleReplace",exec:function(e){e.replaceOption.checked=!e.replaceOption.checked,e.$syncOptions()}},{name:"searchInSelection",exec:function(e){e.searchOption.checked=!e.searchRange,e.setSearchRange(e.searchOption.checked&&e.editor.getSelectionRange()),e.$syncOptions()}}]),this.setSearchRange=function(e){(this.searchRange=e)?this.searchRangeMarker=this.editor.session.addMarker(e,"ace_active-line"):this.searchRangeMarker&&(this.editor.session.removeMarker(this.searchRangeMarker),this.searchRangeMarker=null)},this.$syncOptions=function(e){r.setCssClass(this.replaceOption,"checked",this.searchRange),r.setCssClass(this.searchOption,"checked",this.searchOption.checked),this.replaceOption.textContent=this.replaceOption.checked?"-":"+",r.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),r.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),r.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked);var t=this.editor.getReadOnly();this.replaceOption.style.display=t?"none":"",this.replaceBox.style.display=this.replaceOption.checked&&!t?"":"none",this.find(!1,!1,e)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t,i){e=!this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:i,range:this.searchRange})&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",e),this.editor._emit("findSearchBox",{match:!e}),this.highlight(),this.updateCounter()},this.updateCounter=function(){var e=this.editor,t=e.$search.$options.re,i=0,n=0;if(t){var r,o,s=this.searchRange?e.session.getTextRange(this.searchRange):e.getValue(),a=e.session.doc.positionToIndex(e.selection.anchor);for(this.searchRange&&(a-=e.session.doc.positionToIndex(this.searchRange.start)),t.lastIndex=0;(o=t.exec(s))&&((r=o.index)<=a&&n++,!(999<++i))&&(o[0]||(t.lastIndex=r+=1,!(r>=s.length))););}this.searchCounter.textContent=n+" of "+(999<i?"999+":i)},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.findAll=function(){var e=!this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked})&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",e),this.editor._emit("findSearchBox",{match:!e}),this.highlight(),this.hide()},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.active=!1,this.setSearchRange(null),this.editor.off("changeSession",this.setSession),this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.active=!0,this.editor.on("changeSession",this.setSession),this.element.style.display="",this.replaceOption.checked=t,e&&(this.searchInput.value=e),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb),this.$syncOptions(!0)},this.isFocused=function(){var e=document.activeElement;return e==this.searchInput||e==this.replaceInput}}.call(n.prototype),t.SearchBox=n,t.Search=function(e,t){(e.searchBox||new n(e)).show(e.session.getTextRange(),t)}}),ace.require(["ace/ext/searchbox"],function(e){t&&(t.exports=e)})},4091:function(t,e,i){t=i.nmd(t),ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,i){"use strict";function n(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}}var r=e("../lib/oop"),e=e("./text_highlight_rules").TextHighlightRules;r.inherits(n,e),t.JsonHighlightRules=n}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,i){"use strict";function n(){}var r=e("../range").Range;!function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var i,n=e.getLine(t).match(/^(\s*\})/);return n&&(n=n[1].length,(i=e.findMatchingBracket({row:t,column:n}))&&i.row!=t)?(i=this.$getIndent(e.getLine(i.row)),void e.replace(new r(t,0,t,n-1),i)):0},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}.call(n.prototype),t.MatchingBraceOutdent=n}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,i){"use strict";var n=e("../../lib/oop"),h=e("../../range").Range,e=e("./fold_mode").FoldMode,t=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};n.inherits(t,e),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(e,t,i){var n=e.getLine(i);return!this.singleLineBlockCommentRe.test(n)||this.startRegionRe.test(n)||this.tripleStarBlockCommentRe.test(n)?!(e=this._getFoldWidgetBase(e,t,i))&&this.startRegionRe.test(n)?"start":e:""},this.getFoldWidgetRange=function(e,t,i,n){var r,o,s,a=e.getLine(i);return this.startRegionRe.test(a)?this.getCommentRegionBlock(e,a,i):(o=a.match(this.foldingStartMarker))?(s=o.index,o[1]?this.openingBracketBlock(e,o[1],i,s):((r=e.getCommentFoldRange(i,s+o[0].length,1))&&!r.isMultiLine()&&(n?r=this.getSectionRange(e,i):"all"!=t&&(r=null)),r)):"markbegin"!==t&&(o=a.match(this.foldingStopMarker))?(s=o.index+o[0].length,o[1]?this.closingBracketBlock(e,o[1],i,s):e.getCommentFoldRange(i,s,-1)):void 0},this.getSectionRange=function(e,t){for(var i=(a=e.getLine(t)).search(/\S/),n=t,r=a.length,o=t+=1,s=e.getLength();++t<s;){var a,l=(a=e.getLine(t)).search(/\S/);if(-1!==l){if(l<i)break;var c=this.getFoldWidgetRange(e,"all",t);if(c){if(c.start.row<=n)break;if(c.isMultiLine())t=c.end.row;else if(i==l)break}o=t}}return new h(n,r,o,e.getLine(o).length)},this.getCommentRegionBlock=function(e,t,i){for(var n=t.search(/\s*$/),r=e.getLength(),o=i,s=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;++i<r;){t=e.getLine(i);var l=s.exec(t);if(l&&(l[1]?a--:a++,!a))break}if(o<i)return new h(o,n,i,t.length)}}.call(t.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,t,i){"use strict";function n(){this.HighlightRules=s,this.$outdent=new a,this.$behaviour=new l,this.foldingRules=new c}var r=e("../lib/oop"),o=e("./text").Mode,s=e("./json_highlight_rules").JsonHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=e("../worker/worker_client").WorkerClient;r.inherits(n,o),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,i){var n=this.$getIndent(t);return"start"==e&&t.match(/^.*[\{\(\[]\s*$/)&&(n+=i),n},this.checkOutdent=function(e,t,i){return this.$outdent.checkOutdent(t,i)},this.autoOutdent=function(e,t,i){this.$outdent.autoOutdent(t,i)},this.createWorker=function(t){var e=new h(["ace"],"ace/mode/json_worker","JsonWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/json"}.call(n.prototype),t.Mode=n}),ace.require(["ace/mode/json"],function(e){t&&(t.exports=e)})},8903:function(e,t,g){"use strict";var s=g(5689),l=g(3969),p=g(5255),c=g(4293),m=g(3508),f=g(3368),C=g(742),I=g(9394),v=g(3724),e=((e.exports=w).prototype.validate=function(e,t){var i;if("string"==typeof e){if(!(i=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{e=this._addSchema(e);i=e.validate||this._compile(e)}e=i(t);!0!==i.$async&&(this.errors=i.errors);return e},w.prototype.compile=function(e,t){e=this._addSchema(e,void 0,t);return e.validate||this._compile(e)},w.prototype.addSchema=function(e,t,i,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)this.addSchema(e[r],void 0,i,n);else{var o=this._getId(e);if(void 0!==o&&"string"!=typeof o)throw new Error("schema id must be string");h(this,t=l.normalizeId(t||o)),this._schemas[t]=this._addSchema(e,i,n,!0)}return this},w.prototype.addMetaSchema=function(e,t,i){return this.addSchema(e,t,i,!0),this},w.prototype.validateSchema=function(e,t){var i=e.$schema;if(void 0!==i&&"string"!=typeof i)throw new Error("$schema must be a string");if(!(i=i||this._opts.defaultMeta||function(e){var t=e._opts.meta;return e._opts.defaultMeta="object"==typeof t?e._getId(t)||t:e.getSchema(A)?A:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),!(this.errors=null);i=this.validate(i,e);if(!i&&t){e="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(e);this.logger.error(e)}return i},w.prototype.getSchema=function(e){var t=i(this,e);switch(typeof t){case"object":return t.validate||this._compile(t);case"string":return this.getSchema(t);case"undefined":return function(e,t){var i=l.schema.call(e,{schema:{}},t);{var n,r,o;if(i)return n=i.schema,r=i.root,i=i.baseId,o=s.call(e,n,r,void 0,i),e._fragments[t]=new c({ref:t,fragment:!0,schema:n,root:r,baseId:i,validate:o}),o}}(this,e)}},w.prototype.removeSchema=function(e){if(e instanceof RegExp)n(this,this._schemas,e),n(this,this._refs,e);else switch(typeof e){case"undefined":return n(this,this._schemas),n(this,this._refs),this._cache.clear(),this;case"string":var t=i(this,e);return t&&this._cache.del(t.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":t=this._opts.serialize,t=t?t(e):e,t=(this._cache.del(t),this._getId(e));t&&(t=l.normalizeId(t),delete this._schemas[t],delete this._refs[t])}return this},w.prototype.addFormat=function(e,t){"string"==typeof t&&(t=new RegExp(t));return this._formats[e]=t,this},w.prototype.errorsText=function(e,t){if(!(e=e||this.errors))return"No errors";for(var i=void 0===(t=t||{}).separator?", ":t.separator,n=void 0===t.dataVar?"data":t.dataVar,r="",o=0;o<e.length;o++){var s=e[o];s&&(r+=n+s.dataPath+" "+s.message+i)}return r.slice(0,-i.length)},w.prototype._addSchema=function(e,t,i,n){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var r=this._opts.serialize,r=r?r(e):e,o=this._cache.get(r);if(o)return o;n=n||!1!==this._opts.addUsedSchema;o=l.normalizeId(this._getId(e));o&&n&&h(this,o);var s,t=!1!==this._opts.validateSchema&&!t;t&&!(s=o&&o==l.normalizeId(e.$schema))&&this.validateSchema(e,!0);var a=l.ids.call(this,e),a=new c({id:o,schema:e,localRefs:a,cacheKey:r,meta:i});"#"!=o[0]&&n&&(this._refs[o]=a);this._cache.put(r,a),t&&s&&this.validateSchema(e,!0);return a},w.prototype._compile=function(i,e){if(i.compiling)return(i.validate=r).schema=i.schema,r.errors=null,r.root=e||r,!0===i.schema.$async&&(r.$async=!0),r;var t,n;i.compiling=!0,i.meta&&(t=this._opts,this._opts=this._metaOpts);try{n=s.call(this,i.schema,e,i.localRefs)}catch(e){throw delete i.validate,e}finally{i.compiling=!1,i.meta&&(this._opts=t)}return i.validate=n,i.refs=n.refs,i.refVal=n.refVal,i.root=n.root,n;function r(){var e=i.validate,t=e.apply(this,arguments);return r.errors=e.errors,t}},w.prototype.compileAsync=g(9677),g(7931)),e=(w.prototype.addKeyword=e.add,w.prototype.getKeyword=e.get,w.prototype.removeKeyword=e.remove,w.prototype.validateKeyword=e.validate,g(5359)),A=(w.ValidationError=e.Validation,w.MissingRefError=e.MissingRef,w.$dataMetaSchema=I,"http://json-schema.org/draft-07/schema"),b=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],y=["/properties"];function w(e){if(!(this instanceof w))return new w(e);e=this._opts=v.copy(e)||{};var t=this,i=t._opts.logger;if(!1===i)t.logger={log:E,warn:E,error:E};else{if(!("object"==typeof(i=void 0===i?console:i)&&i.log&&i.warn&&i.error))throw new Error("logger must implement log, warn and error methods");t.logger=i}if(this._schemas={},this._refs={},this._fragments={},this._formats=f(e.format),this._cache=e.cache||new p,this._loadingSchemas={},this._compilations=[],this.RULES=C(),this._getId=function(e){switch(e.schemaId){case"auto":return k;case"id":return x;default:return S}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=m),this._metaOpts=function(e){for(var t=v.copy(e._opts),i=0;i<b.length;i++)delete t[b[i]];return t}(this),e.formats){var n,r=this;for(n in r._opts.formats){var o=r._opts.formats[n];r.addFormat(n,o)}}if(e.keywords){var s,a=this;for(s in a._opts.keywords){var l=a._opts.keywords[s];a.addKeyword(s,l)}}var c,t=this,h=(t._opts.$data&&(c=g(894),t.addMetaSchema(c,c.$id,!0)),!1!==t._opts.meta&&(c=g(6680),t._opts.$data&&(c=I(c,y)),t.addMetaSchema(c,A,!0),t._refs["http://json-schema.org/schema"]=A),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),this),d=h._opts.schemas;if(d)if(Array.isArray(d))h.addSchema(d);else for(var u in d)h.addSchema(d[u],u)}function i(e,t){return t=l.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function n(e,t,i){for(var n in t){var r=t[n];r.meta||i&&!i.test(n)||(e._cache.del(r.cacheKey),delete t[n])}}function x(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function S(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function k(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function h(e,t){if(e._schemas[t]||e._refs[t])throw new Error('schema with key or id "'+t+'" already exists')}function E(){}},5255:function(e){"use strict";e=e.exports=function(){this._cache={}};e.prototype.put=function(e,t){this._cache[e]=t},e.prototype.get=function(e){return this._cache[e]},e.prototype.del=function(e){delete this._cache[e]},e.prototype.clear=function(){this._cache={}}},9677:function(e,t,i){"use strict";var n=i(5359).MissingRef;function r(t,s,i){var a=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof s&&(i=s,s=void 0);var e=l(t).then(function(){var e=a._addSchema(t,void 0,s);return e.validate||function r(o){try{return a._compile(o)}catch(e){if(e instanceof n)return t(e);throw e}function t(e){var t=e.missingSchema;if(n(t))throw new Error("Schema "+t+" is loaded but "+e.missingRef+" cannot be resolved");e=a._loadingSchemas[t];return e||(e=a._loadingSchemas[t]=a._opts.loadSchema(t)).then(i,i),e.then(function(e){if(!n(t))return l(e).then(function(){n(t)||a.addSchema(e,t,void 0,s)})}).then(function(){return r(o)});function i(){delete a._loadingSchemas[t]}function n(e){return a._refs[e]||a._schemas[e]}}}(e)});return i&&e.then(function(e){i(null,e)},i),e;function l(e){e=e.$schema;return e&&!a.getSchema(e)?r.call(a,{$ref:e},!0):Promise.resolve()}}e.exports=r},5359:function(e,t,i){"use strict";var n=i(3969);function r(e,t,i){this.message=i||r.message(e,t),this.missingRef=n.url(e,t),this.missingSchema=n.normalizeId(n.fullPath(this.missingRef))}function o(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e}e.exports={Validation:o(function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0}),MissingRef:o(r)},r.message=function(e,t){return"can't resolve reference "+t+" from id "+e}},3368:function(e,t,i){"use strict";var n=i(3724),r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,o=[0,31,28,31,30,31,30,31,31,30,31,30,31],s=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,i=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,a=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,l=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,c=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,u=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,g=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function p(e){return n.copy(p[e="full"==e?"full":"fast"])}function m(e){var t,i,e=e.match(r);return!!e&&(t=+e[1],i=+e[2],e=+e[3],1<=i&&i<=12&&1<=e&&e<=(2!=i||((e=t)%4!=0||e%100==0&&e%400!=0)?o[i]:29))}function f(e,t){var i,n,r,e=e.match(s);return!!e&&(i=e[1],n=e[2],r=e[3],e=e[5],(i<=23&&n<=59&&r<=59||23==i&&59==n&&60==r)&&(!t||e))}(e.exports=p).fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":l,url:c,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:A,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":u,"relative-json-pointer":g},p.full={date:m,time:f,"date-time":function(e){e=e.split(C);return 2==e.length&&m(e[0])&&f(e[1],!0)},uri:function(e){return I.test(e)&&a.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":l,url:c,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:A,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":u,"relative-json-pointer":g};var C=/t|\s/i;var I=/\/|:/;var v=/[^\\]\\Z/;function A(e){if(v.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},5689:function(e,t,i){"use strict";var E=i(3969),R=i(3724),T=i(5359),_=i(3508),$=i(1869),L=R.ucs2length,B=i(2303),W=T.Validation;function N(e,s,a,t){var l=this,c=this._opts,h=[void 0],d={},u=[],i={},g=[],n={},p=[],r=(s=s||{schema:e,refVal:h,refs:d},function(e,t,i){var n=G.call(this,e,t,i);return 0<=n?{index:n,compiling:!0}:(n=this._compilations.length,this._compilations[n]={schema:e,root:t,baseId:i},{index:n,compiling:!1})}.call(this,e,s,t)),o=this._compilations[r.index];if(r.compiling)return o.callValidate=v;var m=this._formats,f=this.RULES;try{var C=A(e,s,a,t),I=(o.validate=C,o.callValidate);return I&&(I.schema=C.schema,I.errors=null,I.refs=C.refs,I.refVal=C.refVal,I.root=C.root,I.$async=C.$async,c.sourceCode&&(I.source=C.source)),C}finally{!function(e,t,i){e=G.call(this,e,t,i);0<=e&&this._compilations.splice(e,1)}.call(this,e,s,t)}function v(){var e=o.validate,t=e.apply(this,arguments);return v.errors=e.errors,t}function A(e,t,i,n){var r=!t||t.schema==e;if(t.schema!=s.schema)return N.call(l,e,t,i,n);i=!0===e.$async,n=$({isTop:!0,schema:e,isRoot:r,baseId:n,root:t,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:T.MissingRef,RULES:f,validate:$,util:R,resolve:E,resolveRef:b,usePattern:x,useDefault:S,useCustomRule:k,opts:c,formats:m,logger:l.logger,self:l}),n=V(h,M)+V(u,P)+V(g,F)+V(p,H)+n;c.processCode&&(n=c.processCode(n,e));try{var o=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",n)(l,f,m,s,h,g,p,B,L,W);h[0]=o}catch(e){throw l.logger.error("Error compiling schema, function code:",n),e}return o.schema=e,o.errors=null,o.refs=d,o.refVal=h,o.root=r?o:t,i&&(o.$async=!0),!0===c.sourceCode&&(o.source={code:n,patterns:u,defaults:g}),o}function b(e,t,i){t=E.url(e,t);var n=d[t];if(void 0!==n)return w(r=h[n],o="refVal["+n+"]");if(!i&&s.refs){n=s.refs[t];if(void 0!==n)return w(r=s.refVal[n],o=y(t,r))}var r,o=y(t),i=E.call(l,A,s,t);if(void 0!==i||(n=a&&a[t])&&(i=E.inlineRef(n,c.inlineRefs)?n:N.call(l,n,s,a,e)),void 0!==i)return r=i,n=d[n=t],h[n]=r,w(i,o);delete d[t]}function y(e,t){var i=h.length;return h[i]=t,"refVal"+(d[e]=i)}function w(e,t){return"object"==typeof e||"boolean"==typeof e?{code:t,schema:e,inline:!0}:{code:t,$async:e&&!!e.$async}}function x(e){var t=i[e];return void 0===t&&(t=i[e]=u.length,u[t]=e),"pattern"+t}function S(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return R.toQuotedString(e);case"object":var t,i;return null===e?"null":(t=_(e),void 0===(i=n[t])&&(i=n[t]=g.length,g[i]=e),"default"+i)}}function k(e,t,i,n){if(!1!==l._opts.validateSchema){var r=e.definition.dependencies;if(r&&!r.every(function(e){return Object.prototype.hasOwnProperty.call(i,e)}))throw new Error("parent schema must have all required keywords: "+r.join(","));r=e.definition.validateSchema;if(r)if(!r(t)){r="keyword schema is invalid: "+l.errorsText(r.errors);if("log"!=l._opts.validateSchema)throw new Error(r);l.logger.error(r)}}var o,r=e.definition.compile,s=e.definition.inline,a=e.definition.macro;if(r)o=r.call(l,t,i,n);else if(a)o=a.call(l,t,i,n),!1!==c.validateSchema&&l.validateSchema(o,!0);else if(s)o=s.call(l,n,e.keyword,t,i);else if(!(o=e.definition.validate))return;if(void 0===o)throw new Error('custom keyword "'+e.keyword+'"failed to compile');r=p.length;return{code:"customRule"+r,validate:p[r]=o}}}function G(e,t,i){for(var n=0;n<this._compilations.length;n++){var r=this._compilations[n];if(r.schema==e&&r.root==t&&r.baseId==i)return n}return-1}function P(e,t){return"var pattern"+e+" = new RegExp("+R.toQuotedString(t[e])+");"}function F(e){return"var default"+e+" = defaults["+e+"];"}function M(e,t){return void 0===t[e]?"":"var refVal"+e+" = refVal["+e+"];"}function H(e){return"var customRule"+e+" = customRules["+e+"];"}function V(e,t){if(!e.length)return"";for(var i="",n=0;n<e.length;n++)i+=t(n,e);return i}e.exports=N},3969:function(e,t,i){"use strict";var g=i(7533),p=i(2303),m=i(3724),a=i(4293),n=i(500);function l(e,t,i){var n,r,o,s=this._refs[i];if("string"==typeof s){if(!this._refs[s])return l.call(this,e,t,s);s=this._refs[s]}return(s=s||this._schemas[i])instanceof a?u(s.schema,this._opts.inlineRefs)?s.schema:s.validate||this._compile(s):((s=c.call(this,t,i))&&(n=s.schema,t=s.root,o=s.baseId),n instanceof a?r=n.validate||e.call(this,n.schema,t,void 0,o):void 0!==n&&(r=u(n,this._opts.inlineRefs)?n:e.call(this,n,t,void 0,o)),r)}function c(e,t){var i=g.parse(t),n=C(i),r=f(this._getId(e.schema));if(0===Object.keys(e.schema).length||n!==r){var n=I(n),o=this._refs[n];if("string"==typeof o)return function(e,t,i){t=c.call(this,e,t);{var n,r;if(t)return n=t.schema,r=t.baseId,e=t.root,(t=this._getId(n))&&(r=v(r,t)),s.call(this,i,r,n,e)}}.call(this,e,o,i);if(o instanceof a)o.validate||this._compile(o);else{if(!((o=this._schemas[n])instanceof a))return;if(o.validate||this._compile(o),n==I(t))return{schema:o,root:e,baseId:r}}if(!(e=o).schema)return;r=f(this._getId(e.schema))}return s.call(this,i,r,e.schema,e)}(e.exports=l).normalizeId=I,l.fullPath=f,l.url=v,l.ids=function(e){var t=I(this._getId(e)),c={"":t},h={"":f(t,!1)},d={},u=this;return n(e,{allKeys:!0},function(e,t,i,n,r,o,s){if(""!==t){var a=u._getId(e),l=c[n],n=h[n]+"/"+r;if(void 0!==s&&(n+="/"+("number"==typeof s?s:m.escapeFragment(s))),"string"==typeof a){a=l=I(l?g.resolve(l,a):a),r=u._refs[a];if((r="string"==typeof r?u._refs[r]:r)&&r.schema){if(!p(e,r.schema))throw new Error('id "'+a+'" resolves to more than one schema')}else if(a!=I(n))if("#"==a[0]){if(d[a]&&!p(e,d[a]))throw new Error('id "'+a+'" resolves to more than one schema');d[a]=e}else u._refs[a]=n}c[t]=l,h[t]=n}}),d},l.inlineRef=u,l.schema=c;var h=m.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function s(e,t,i,n){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var r=e.fragment.split("/"),o=1;o<r.length;o++){var s=r[o];if(s){if(void 0===(i=i[s=m.unescapeFragment(s)]))break;h[s]||((s=this._getId(i))&&(t=v(t,s)),i.$ref&&(s=v(t,i.$ref),(s=c.call(this,n,s))&&(i=s.schema,n=s.root,t=s.baseId)))}}return void 0!==i&&i!==n.schema?{schema:i,root:n,baseId:t}:void 0}}var d=m.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function u(e,t){return!1!==t&&(void 0===t||!0===t?function e(t){var i;if(Array.isArray(t)){for(var n=0;n<t.length;n++)if("object"==typeof(i=t[n])&&!e(i))return!1}else for(var r in t){if("$ref"==r)return!1;if("object"==typeof(i=t[r])&&!e(i))return!1}return!0}(e):t?function e(t){var i,n=0;if(Array.isArray(t)){for(var r=0;r<t.length;r++)if("object"==typeof(i=t[r])&&(n+=e(i)),n==1/0)return 1/0}else for(var o in t){if("$ref"==o)return 1/0;if(d[o])n++;else if("object"==typeof(i=t[o])&&(n+=e(i)+1),n==1/0)return 1/0}return n}(e)<=t:void 0)}function f(e,t){return!1!==t&&(e=I(e)),C(g.parse(e))}function C(e){return g.serialize(e).split("#")[0]+"#"}var r=/#\/?$/;function I(e){return e?e.replace(r,""):""}function v(e,t){return t=I(t),g.resolve(e,t)}},742:function(e,t,i){"use strict";var o=i(9646),s=i(3724).toHash;e.exports=function(){var n=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],r=["type","$comment"];return n.all=s(r),n.types=s(["number","integer","string","array","object","boolean","null"]),n.forEach(function(e){e.rules=e.rules.map(function(e){var t,i;return"object"==typeof e&&(i=e[t=Object.keys(e)[0]],e=t,i.forEach(function(e){r.push(e),n.all[e]=!0})),r.push(e),n.all[e]={keyword:e,code:o[e],implements:i}}),n.all.$comment={keyword:"$comment",code:o.$comment},e.type&&(n.types[e.type]=e)}),n.keywords=s(r.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),n.custom={},n}},4293:function(e,t,i){"use strict";var n=i(3724);e.exports=function(e){n.copy(e,this)}},6887:function(e){"use strict";e.exports=function(e){for(var t,i=0,n=e.length,r=0;r<n;)i++,55296<=(t=e.charCodeAt(r++))&&t<=56319&&r<n&&56320==(64512&(t=e.charCodeAt(r)))&&r++;return i}},3724:function(e,t,i){"use strict";function o(e,t,i,n){var r=n?" !== ":" === ",o=n?" || ":" && ",s=n?"!":"",a=n?"":"!";switch(e){case"null":return t+r+"null";case"array":return s+"Array.isArray("+t+")";case"object":return"("+s+t+o+"typeof "+t+r+'"object"'+o+a+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+r+'"number"'+o+a+"("+t+" % 1)"+o+t+r+t+(i?o+s+"isFinite("+t+")":"")+")";case"number":return"(typeof "+t+r+'"'+e+'"'+(i?o+s+"isFinite("+t+")":"")+")";default:return"typeof "+t+r+'"'+e+'"'}}e.exports={copy:function(e,t){for(var i in t=t||{},e)t[i]=e[i];return t},checkDataType:o,checkDataTypes:function(e,t,i){{if(1===e.length)return o(e[0],t,i,!0);var n,r="",e=a(e);for(n in e.array&&e.object&&(r=e.null?"(":"(!"+t+" || ",r+="typeof "+t+' !== "object")',delete e.null,delete e.array,delete e.object),e.number&&delete e.integer,e)r+=(r?" && ":"")+o(n,t,i,!0);return r}},coerceToTypes:function(e,t){{if(!Array.isArray(t))return s[t]?[t]:"array"===e&&"array"===t?["array"]:void 0;for(var i=[],n=0;n<t.length;n++){var r=t[n];(s[r]||"array"===e&&"array"===r)&&(i[i.length]=r)}return i.length?i:void 0}},toHash:a,getProperty:h,escapeQuotes:l,equal:i(2303),ucs2length:i(6887),varOccurences:function(e,t){t+="[^0-9]";e=e.match(new RegExp(t,"g"));return e?e.length:0},varReplace:function(e,t,i){return t+="([^0-9])",i=i.replace(/\$/g,"$$$$"),e.replace(new RegExp(t,"g"),i+"$1")},schemaHasRules:function(e,t){if("boolean"==typeof e)return!e;for(var i in e)if(t[i])return!0},schemaHasRulesExcept:function(e,t,i){if("boolean"==typeof e)return!e&&"not"!=i;for(var n in e)if(n!=i&&t[n])return!0},schemaUnknownRules:function(e,t){if("boolean"!=typeof e)for(var i in e)if(!t[i])return i},toQuotedString:c,getPathExpr:function(e,t,i,n){return g(e,i?"'/' + "+t+(n?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):n?"'[' + "+t+" + ']'":"'[\\'' + "+t+" + '\\']'")},getPath:function(e,t,i){i=c(i?"/"+p(t):h(t));return g(e,i)},getData:function(e,t,i){var n,r,o;if(""===e)return"rootData";if("/"==e[0]){if(!d.test(e))throw new Error("Invalid JSON-pointer: "+e);n=e,r="rootData"}else{if(!(o=e.match(u)))throw new Error("Invalid JSON-pointer: "+e);if(e=+o[1],"#"==(n=o[2])){if(t<=e)throw new Error("Cannot access property/index "+e+" levels up, current level is "+t);return i[t-e]}if(t<e)throw new Error("Cannot access data "+e+" levels up, current level is "+t);if(r="data"+(t-e||""),!n)return r}for(var s=r,a=n.split("/"),l=0;l<a.length;l++){var c=a[l];c&&(r+=h(m(c)),s+=" && "+r)}return s},unescapeFragment:function(e){return m(decodeURIComponent(e))},unescapeJsonPointer:m,escapeFragment:function(e){return encodeURIComponent(p(e))},escapeJsonPointer:p};var s=a(["string","number","integer","boolean","null"]);function a(e){for(var t={},i=0;i<e.length;i++)t[e[i]]=!0;return t}var n=/^[a-z$_][a-z$_0-9]*$/i,r=/'|\\/g;function h(e){return"number"==typeof e?"["+e+"]":n.test(e)?"."+e:"['"+l(e)+"']"}function l(e){return e.replace(r,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}function c(e){return"'"+l(e)+"'"}var d=/^\/(?:[^~]|~0|~1)*$/,u=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function g(e,t){return'""'==e?t:(e+" + "+t).replace(/([^\\])' \+ '/g,"$1")}function p(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function m(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}},9394:function(e){"use strict";var l=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,t){for(var i=0;i<t.length;i++){e=JSON.parse(JSON.stringify(e));for(var n=t[i].split("/"),r=e,o=1;o<n.length;o++)r=r[n[o]];for(o=0;o<l.length;o++){var s=l[o],a=r[s];a&&(r[s]={anyOf:[a,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]})}}return e}},5868:function(e,t,i){"use strict";i=i(6680);e.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:i.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:i.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},1796:function(e){"use strict";e.exports=function(e,t,i){var n,r,o,s,a,l=" ",c=e.level,h=e.dataLevel,d=e.schema[t],u=e.schemaPath+e.util.getProperty(t),g=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(h||""),f=e.opts.$data&&d&&d.$data,C=f?(l+=" var schema"+c+" = "+e.util.getData(d.$data,h,e.dataPathArr)+"; ","schema"+c):d,I="maximum"==t,v=I?"exclusiveMaximum":"exclusiveMinimum",A=e.schema[v],b=e.opts.$data&&A&&A.$data,y=I?"<":">",w=I?">":"<",x=void 0;if(!f&&"number"!=typeof d&&void 0!==d)throw new Error(t+" must be number");if(!b&&void 0!==A&&"number"!=typeof A&&"boolean"!=typeof A)throw new Error(v+" must be number or boolean");b?(h=e.util.getData(A.$data,h,e.dataPathArr),o="exclIsNumber"+c,s="' + "+(a="op"+c)+" + '",x=v,(S=S||[]).push(l=l+(" var schemaExcl"+c+" = "+h+"; ")+(" var "+(n="exclusive"+c)+"; var "+(r="exclType"+c)+" = typeof "+(h="schemaExcl"+c)+"; if ("+r+" != 'boolean' && "+r+" != 'undefined' && "+r+" != 'number') { ")),l="",!1!==e.createErrors?(l+=" { keyword: '"+(x||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: {} ",!1!==e.opts.messages&&(l+=" , message: '"+v+" should be boolean' "),e.opts.verbose&&(l+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),l+=" } "):l+=" {} ",k=l,l=S.pop(),!e.compositeRule&&p?e.async?l+=" throw new ValidationError(["+k+"]); ":l+=" validate.errors = ["+k+"]; return false; ":l+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l+=" } else if ( ",f&&(l+=" ("+C+" !== undefined && typeof "+C+" != 'number') || "),l+=" "+r+" == 'number' ? ( ("+n+" = "+C+" === undefined || "+h+" "+y+"= "+C+") ? "+m+" "+w+"= "+h+" : "+m+" "+w+" "+C+" ) : ( ("+n+" = "+h+" === true) ? "+m+" "+w+"= "+C+" : "+m+" "+w+" "+C+" ) || "+m+" !== "+m+") { var op"+c+" = "+n+" ? '"+y+"' : '"+y+"='; ",void 0===d&&(g=e.errSchemaPath+"/"+(x=v),C=h,f=b)):(s=y,(o="number"==typeof A)&&f?(a="'"+s+"'",l+=" if ( ",f&&(l+=" ("+C+" !== undefined && typeof "+C+" != 'number') || "),l+=" ( "+C+" === undefined || "+A+" "+y+"= "+C+" ? "+m+" "+w+"= "+A+" : "+m+" "+w+" "+C+" ) || "+m+" !== "+m+") { "):(o&&void 0===d?(n=!0,g=e.errSchemaPath+"/"+(x=v),C=A,w+="="):(o&&(C=Math[I?"min":"max"](A,d)),A===(!o||C)?(n=!0,g=e.errSchemaPath+"/"+(x=v),w+="="):(n=!1,s+="=")),a="'"+s+"'",l+=" if ( ",f&&(l+=" ("+C+" !== undefined && typeof "+C+" != 'number') || "),l+=" "+m+" "+w+" "+C+" || "+m+" !== "+m+") { ")),x=x||t;(S=S||[]).push(l),l="",!1!==e.createErrors?(l+=" { keyword: '"+(x||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { comparison: "+a+", limit: "+C+", exclusive: "+n+" } ",!1!==e.opts.messages&&(l=l+" , message: 'should be "+s+" "+(f?"' + "+C:C+"'")),e.opts.verbose&&(l=(l+=" , schema: ")+(f?"validate.schema"+u:""+d)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),l+=" } "):l+=" {} ";var S,k=l;return l=S.pop(),!e.compositeRule&&p?e.async?l+=" throw new ValidationError(["+k+"]); ":l+=" validate.errors = ["+k+"]; return false; ":l+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l+=" } ",p&&(l+=" else { "),l}},2407:function(e){"use strict";e.exports=function(e,t,i){var n,r=" ",o=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,d="data"+(s||""),u=e.opts.$data&&a&&a.$data,s=u?(r+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ","schema"+o):a;if(u||"number"==typeof a)return r+="if ( ",u&&(r+=" ("+s+" !== undefined && typeof "+s+" != 'number') || "),(o=[]).push(r+=" "+d+".length "+("maxItems"==(n=t)?">":"<")+" "+s+") { "),r="",!1!==e.createErrors?(r+=" { keyword: '"+(n||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+s+" } ",!1!==e.opts.messages&&(r=(r=(r+=" , message: 'should NOT have ")+("maxItems"==t?"more":"fewer")+" than ")+(u?"' + "+s+" + '":""+a)+" items' "),e.opts.verbose&&(r=(r+=" , schema: ")+(u?"validate.schema"+l:""+a)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),r+=" } "):r+=" {} ",n=r,r=o.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+n+"]); ":r+=" validate.errors = ["+n+"]; return false; ":r+=" var err = "+n+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",h&&(r+=" else { "),r;throw new Error(t+" must be number")}},1250:function(e){"use strict";e.exports=function(e,t,i){var n,r=" ",o=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,d="data"+(s||""),u=e.opts.$data&&a&&a.$data,s=u?(r+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ","schema"+o):a;if(u||"number"==typeof a)return r+="if ( ",u&&(r+=" ("+s+" !== undefined && typeof "+s+" != 'number') || "),!1===e.opts.unicode?r+=" "+d+".length ":r+=" ucs2length("+d+") ",(o=[]).push(r+=" "+("maxLength"==(n=t)?">":"<")+" "+s+") { "),r="",!1!==e.createErrors?(r+=" { keyword: '"+(n||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+s+" } ",!1!==e.opts.messages&&(r=(r=(r+=" , message: 'should NOT be ")+("maxLength"==t?"longer":"shorter")+" than ")+(u?"' + "+s+" + '":""+a)+" characters' "),e.opts.verbose&&(r=(r+=" , schema: ")+(u?"validate.schema"+l:""+a)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),r+=" } "):r+=" {} ",n=r,r=o.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+n+"]); ":r+=" validate.errors = ["+n+"]; return false; ":r+=" var err = "+n+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",h&&(r+=" else { "),r;throw new Error(t+" must be number")}},2596:function(e){"use strict";e.exports=function(e,t,i){var n,r=" ",o=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,d="data"+(s||""),u=e.opts.$data&&a&&a.$data,s=u?(r+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ","schema"+o):a;if(u||"number"==typeof a)return r+="if ( ",u&&(r+=" ("+s+" !== undefined && typeof "+s+" != 'number') || "),(o=[]).push(r+=" Object.keys("+d+").length "+("maxProperties"==(n=t)?">":"<")+" "+s+") { "),r="",!1!==e.createErrors?(r+=" { keyword: '"+(n||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+s+" } ",!1!==e.opts.messages&&(r=(r=(r+=" , message: 'should NOT have ")+("maxProperties"==t?"more":"fewer")+" than ")+(u?"' + "+s+" + '":""+a)+" properties' "),e.opts.verbose&&(r=(r+=" , schema: ")+(u?"validate.schema"+l:""+a)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),r+=" } "):r+=" {} ",n=r,r=o.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+n+"]); ":r+=" validate.errors = ["+n+"]; return false; ":r+=" var err = "+n+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",h&&(r+=" else { "),r;throw new Error(t+" must be number")}},9486:function(e){"use strict";e.exports=function(e,t,i){var n=" ",r=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,a=!e.opts.allErrors,l=e.util.copy(e),c="",h=(l.level++,"valid"+l.level),d=l.baseId,u=!0,g=r;if(g)for(var p,m=-1,f=g.length-1;m<f;)p=g[m+=1],(e.opts.strictKeywords?"object"==typeof p&&0<Object.keys(p).length||!1===p:e.util.schemaHasRules(p,e.RULES.all))&&(u=!1,l.schema=p,l.schemaPath=o+"["+m+"]",l.errSchemaPath=s+"/"+m,n+=" "+e.validate(l)+" ",l.baseId=d,a&&(n+=" if ("+h+") { ",c+="}"));return a&&(n+=u?" if (true) { ":" "+c.slice(0,-1)+" "),n}},5347:function(e){"use strict";e.exports=function(t,e,i){var n=" ",r=t.level,o=t.dataLevel,s=t.schema[e],a=t.schemaPath+t.util.getProperty(e),l=t.errSchemaPath+"/"+e,e=!t.opts.allErrors,o="data"+(o||""),c="valid"+r,r="errs__"+r,h=t.util.copy(t),d="",u=(h.level++,"valid"+h.level);if(s.every(function(e){return t.opts.strictKeywords?"object"==typeof e&&0<Object.keys(e).length||!1===e:t.util.schemaHasRules(e,t.RULES.all)})){var g=h.baseId,p=(n+=" var "+r+" = errors; var "+c+" = false; ",t.compositeRule),m=(t.compositeRule=h.compositeRule=!0,s);if(m)for(var f,C=-1,I=m.length-1;C<I;)f=m[C+=1],h.schema=f,h.schemaPath=a+"["+C+"]",h.errSchemaPath=l+"/"+C,n+=" "+t.validate(h)+" ",h.baseId=g,n+=" "+c+" = "+c+" || "+u+"; if (!"+c+") { ",d+="}";t.compositeRule=h.compositeRule=p,n+=" "+d+" if (!"+c+") { var err = ",!1!==t.createErrors?(n+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(l)+" , params: {} ",!1!==t.opts.messages&&(n+=" , message: 'should match some schema in anyOf' "),t.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+o+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!t.compositeRule&&e&&(t.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } else { errors = "+r+"; if (vErrors !== null) { if ("+r+") vErrors.length = "+r+"; else vErrors = null; } ",t.opts.allErrors&&(n+=" } ")}else e&&(n+=" if (true) { ");return n}},923:function(e){"use strict";e.exports=function(e,t,i){var n=" ",r=e.schema[t],t=e.errSchemaPath+"/"+t,r=(e.opts.allErrors,e.util.toQuotedString(r));return!0===e.opts.$comment?n+=" console.log("+r+");":"function"==typeof e.opts.$comment&&(n+=" self._opts.$comment("+r+", "+e.util.toQuotedString(t)+", validate.root.schema);"),n}},2617:function(e){"use strict";e.exports=function(e,t,i){var n=" ",r=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),t=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),h="valid"+r,d=e.opts.$data&&s&&s.$data,s=(d&&(n+=" var schema"+r+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; "),d||(n+=" var schema"+r+" = validate.schema"+a+";"),[]),o=(s.push(n+="var "+h+" = equal("+c+", schema"+r+"); if (!"+h+") { "),n="",!1!==e.createErrors?(n+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(t)+" , params: { allowedValue: schema"+r+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to constant' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n),n=s.pop();return!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+o+"]); ":n+=" validate.errors = ["+o+"]; return false; ":n+=" var err = "+o+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",l&&(n+=" else { "),n}},2119:function(e){"use strict";e.exports=function(e,t,i){var n=" ",r=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),t=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,o="data"+(o||""),c="valid"+r,h="errs__"+r,d=e.util.copy(e),u=(d.level++,"valid"+d.level),r="i"+r,g=d.dataLevel=e.dataLevel+1,p="data"+g,m=e.baseId,f=e.opts.strictKeywords?"object"==typeof s&&0<Object.keys(s).length||!1===s:e.util.schemaHasRules(s,e.RULES.all),r=(n+="var "+h+" = errors;var "+c+";",f?(c=e.compositeRule,e.compositeRule=d.compositeRule=!0,d.schema=s,d.schemaPath=a,d.errSchemaPath=t,n+=" var "+u+" = false; for (var "+r+" = 0; "+r+" < "+o+".length; "+r+"++) { ",d.errorPath=e.util.getPathExpr(e.errorPath,r,e.opts.jsonPointers,!0),s=o+"["+r+"]",d.dataPathArr[g]=r,g=e.validate(d),d.baseId=m,e.util.varOccurences(g,p)<2?n+=" "+e.util.varReplace(g,p,s)+" ":n+=" var "+p+" = "+s+"; "+g+" ",n+=" if ("+u+") break; } ",e.compositeRule=d.compositeRule=c,
81n+=" if (!"+u+") {"):n+=" if ("+o+".length == 0) {",[]),m=(r.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(t)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should contain a valid item' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+o+" "),n+=" } "):n+=" {} ",n),n=r.pop();return!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ",f&&(n+=" errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; else vErrors = null; } "),e.opts.allErrors&&(n+=" } "),n}},1793:function(e){"use strict";e.exports=function(e,t,i){var n,r,o,s=" ",a=e.level,l=e.dataLevel,c=e.schema[t],h=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,g="data"+(l||""),p="valid"+a,m="errs__"+a,f=e.opts.$data&&c&&c.$data,C=f?(s+=" var schema"+a+" = "+e.util.getData(c.$data,l,e.dataPathArr)+"; ","schema"+a):c,I="definition"+a,v=this.definition,A="";if(f&&v.$data){var b="keywordValidate"+a,y=v.validateSchema;s+=" var "+I+" = RULES.custom['"+t+"'].definition; var "+b+" = "+I+".validate;"}else{if(!(k=e.useCustomRule(this,c,e.schema,e)))return;C="validate.schema"+h,b=k.code,n=v.compile,r=v.inline,o=v.macro}var w,x,S,k,E,t=b+".errors",c="i"+a,R="ruleErr"+a,T=v.async;if(T&&!e.async)throw new Error("async keyword in sync schema");return r||o||(s+=t+" = null;"),s+="var "+m+" = errors;var "+p+";",f&&v.$data&&(A+="}",s+=" if ("+C+" === undefined) { "+p+" = true; } else { ",y&&(A+="}",s+=" "+p+" = "+I+".validateSchema("+C+"); if ("+p+") { ")),r?v.statements?s+=" "+k.validate+" ":s+=" "+p+" = "+k.validate+"; ":o?(A="",(f=e.util.copy(e)).level++,w="valid"+f.level,f.schema=k.validate,f.schemaPath="",y=e.compositeRule,e.compositeRule=f.compositeRule=!0,I=e.validate(f).replace(/validate\.schema/g,b),e.compositeRule=f.compositeRule=y,s+=" "+I):((E=E||[]).push(s),s="",s+=" "+b+".call( ",e.opts.passContext?s+="this":s+="self",n||!1===v.schema?s+=" , "+g+" ":s+=" , "+C+" , "+g+" , validate.schema"+e.schemaPath+" ",s+=" , (dataPath || '')",'""'!=e.errorPath&&(s+=" + "+e.errorPath),k=s+=" , "+(x=l?"data"+(l-1||""):"parentData")+" , "+(S=l?e.dataPathArr[l]:"parentDataProperty")+" , rootData ) ",s=E.pop(),!1===v.errors?(s+=" "+p+" = ",T&&(s+="await "),s+=k+"; "):s+=T?" var "+(t="customErrors"+a)+" = null; try { "+p+" = await "+k+"; } catch (e) { "+p+" = false; if (e instanceof ValidationError) "+t+" = e.errors; else throw e; } ":" "+t+" = null; "+p+" = "+k+"; "),v.modifying&&(s+=" if ("+x+") "+g+" = "+x+"["+S+"];"),s+=""+A,v.valid?u&&(s+=" if (true) { "):(s+=" if ( ",void 0===v.valid?s=s+" !"+(o?""+w:p):s+=" "+!v.valid+" ",f=this.keyword,(E=E||[]).push(s+=") { "),(E=E||[]).push(s=""),s="",!1!==e.createErrors?(s+=" { keyword: '"+(f||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(s+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(s+=" , schema: validate.schema"+h+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+g+" "),s+=" } "):s+=" {} ",y=s,s=E.pop(),!e.compositeRule&&u?e.async?s+=" throw new ValidationError(["+y+"]); ":s+=" validate.errors = ["+y+"]; return false; ":s+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",I=s,s=E.pop(),r?v.errors?"full"!=v.errors&&(s+=" for (var "+c+"="+m+"; "+c+"<errors; "+c+"++) { var "+R+" = vErrors["+c+"]; if ("+R+".dataPath === undefined) "+R+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+R+".schemaPath === undefined) { "+R+'.schemaPath = "'+d+'"; } ',e.opts.verbose&&(s+=" "+R+".schema = "+C+"; "+R+".data = "+g+"; "),s+=" } "):!1===v.errors?s+=" "+I+" ":(s+=" if ("+m+" == errors) { "+I+" } else { for (var "+c+"="+m+"; "+c+"<errors; "+c+"++) { var "+R+" = vErrors["+c+"]; if ("+R+".dataPath === undefined) "+R+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+R+".schemaPath === undefined) { "+R+'.schemaPath = "'+d+'"; } ',e.opts.verbose&&(s+=" "+R+".schema = "+C+"; "+R+".data = "+g+"; "),s+=" } } "):o?(s+=" var err = ",!1!==e.createErrors?(s+=" { keyword: '"+(f||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(s+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(s+=" , schema: validate.schema"+h+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+g+" "),s+=" } "):s+=" {} ",s+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?s+=" throw new ValidationError(vErrors); ":s+=" validate.errors = vErrors; return false; ")):!1===v.errors?s+=" "+I+" ":(s+=" if (Array.isArray("+t+")) { if (vErrors === null) vErrors = "+t+"; else vErrors = vErrors.concat("+t+"); errors = vErrors.length; for (var "+c+"="+m+"; "+c+"<errors; "+c+"++) { var "+R+" = vErrors["+c+"]; if ("+R+".dataPath === undefined) "+R+".dataPath = (dataPath || '') + "+e.errorPath+"; "+R+'.schemaPath = "'+d+'"; ',e.opts.verbose&&(s+=" "+R+".schema = "+C+"; "+R+".data = "+g+"; "),s+=" } } else { "+I+" } "),s+=" } ",u&&(s+=" else { ")),s}},9115:function(e){"use strict";e.exports=function(e,t,i){var n,r=" ",o=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,d="data"+(s||""),t="errs__"+o,u=e.util.copy(e),g="",p=(u.level++,"valid"+u.level),m={},f={},C=e.opts.ownProperties;for($ in a)"__proto__"!=$&&(B=a[$],(n=Array.isArray(B)?f:m)[$]=B);var I=e.errorPath;for($ in r=r+("var "+t+" = errors;")+("var missing"+o+";"),f)if((n=f[$]).length){if(r+=" if ( "+d+e.util.getProperty($)+" !== undefined ",C&&(r+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes($)+"') "),h){r+=" && ( ";var v=n;if(v)for(var A=-1,b=v.length-1;A<b;)k=v[A+=1],A&&(r+=" || "),r+=" ( ( "+(_=d+(T=e.util.getProperty(k)))+" === undefined ",C&&(r+=" || ! Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(k)+"') "),r+=") && (missing"+o+" = "+e.util.toQuotedString(e.opts.jsonPointers?k:T)+") ) ";r+=")) { ";var y="missing"+o,w="' + "+y+" + '",x=(e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(I,y,!0):I+" + "+y),x||[]),y=(x.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { property: '"+e.util.escapeQuotes($)+"', missingProperty: '"+w+"', depsCount: "+n.length+", deps: '"+e.util.escapeQuotes(1==n.length?n[0]:n.join(", "))+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should have ",1==n.length?r+="property "+e.util.escapeQuotes(n[0]):r+="properties "+e.util.escapeQuotes(n.join(", ")),r+=" when property "+e.util.escapeQuotes($)+" is present' "),e.opts.verbose&&(r+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),r+=" } "):r+=" {} ",r),r=x.pop();!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+y+"]); ":r+=" validate.errors = ["+y+"]; return false; ":r+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{r+=" ) { ";var S=n;if(S)for(var k,E=-1,R=S.length-1;E<R;){k=S[E+=1];var T=e.util.getProperty(k),w=e.util.escapeQuotes(k),_=d+T;e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(I,k,e.opts.jsonPointers)),r+=" if ( "+_+" === undefined ",C&&(r+=" || ! Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(k)+"') "),r+=") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { property: '"+e.util.escapeQuotes($)+"', missingProperty: '"+w+"', depsCount: "+n.length+", deps: '"+e.util.escapeQuotes(1==n.length?n[0]:n.join(", "))+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should have ",1==n.length?r+="property "+e.util.escapeQuotes(n[0]):r+="properties "+e.util.escapeQuotes(n.join(", ")),r+=" when property "+e.util.escapeQuotes($)+" is present' "),e.opts.verbose&&(r+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}r+=" } ",h&&(g+="}",r+=" else { ")}e.errorPath=I;var $,L=u.baseId;for($ in m){var B=m[$];(e.opts.strictKeywords?"object"==typeof B&&0<Object.keys(B).length||!1===B:e.util.schemaHasRules(B,e.RULES.all))&&(r+=" "+p+" = true; if ( "+d+e.util.getProperty($)+" !== undefined ",C&&(r+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes($)+"') "),r+=") { ",u.schema=B,u.schemaPath=l+e.util.getProperty($),u.errSchemaPath=c+"/"+e.util.escapeFragment($),r+=" "+e.validate(u)+" ",u.baseId=L,r+=" } ",h&&(r+=" if ("+p+") { ",g+="}"))}return h&&(r+=" "+g+" if ("+t+" == errors) {"),r}},9317:function(e){"use strict";e.exports=function(e,t,i){var n=" ",r=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),t=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),h="valid"+r,d=e.opts.$data&&s&&s.$data,s=(d&&(n+=" var schema"+r+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; "),"i"+r),o="schema"+r,o=(d||(n+=" var "+o+" = validate.schema"+a+";"),n+="var "+h+";",d&&(n+=" if (schema"+r+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+r+")) "+h+" = false; else {"),n+=h+" = false;for (var "+s+"=0; "+s+"<"+o+".length; "+s+"++) if (equal("+c+", "+o+"["+s+"])) { "+h+" = true; break; }",d&&(n+=" } "),[]),s=(o.push(n+=" if (!"+h+") { "),n="",!1!==e.createErrors?(n+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(t)+" , params: { allowedValues: schema"+r+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n),n=o.pop();return!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+s+"]); ":n+=" validate.errors = ["+s+"]; return false; ":n+=" var err = "+s+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",l&&(n+=" else { "),n}},8327:function(e){"use strict";e.exports=function(e,t,i){var n=" ",r=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),t=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||"");if(!1===e.opts.format)l&&(n+=" if (true) { ");else{var h,d=e.opts.$data&&s&&s.$data,o=d?(n+=" var schema"+r+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ","schema"+r):s,u=e.opts.unknownFormats,g=Array.isArray(u);if(d)n+=" var "+(h="format"+r)+" = formats["+o+"]; var "+(p="isObject"+r)+" = typeof "+h+" == 'object' && !("+h+" instanceof RegExp) && "+h+".validate; var "+(f="formatType"+r)+" = "+p+" && "+h+".type || 'string'; if ("+p+") { ",e.async&&(n+=" var async"+r+" = "+h+".async; "),n+=" "+h+" = "+h+".validate; } if ( ",d&&(n+=" ("+o+" !== undefined && typeof "+o+" != 'string') || "),n+=" (","ignore"!=u&&(n+=" ("+o+" && !"+h+" ",g&&(n+=" && self._opts.unknownFormats.indexOf("+o+") == -1 "),n+=") || "),n+=" ("+h+" && "+f+" == '"+i+"' && !(typeof "+h+" == 'function' ? ",e.async?n+=" (async"+r+" ? await "+h+"("+c+") : "+h+"("+c+")) ":n+=" "+h+"("+c+") ",n+=" : "+h+".test("+c+"))))) {";else{if(!(h=e.formats[s])){if("ignore"==u)return e.logger.warn('unknown format "'+s+'" ignored in schema at path "'+e.errSchemaPath+'"'),l&&(n+=" if (true) { "),n;if(g&&0<=u.indexOf(s))return l&&(n+=" if (true) { "),n;throw new Error('unknown format "'+s+'" is used in schema at path "'+e.errSchemaPath+'"')}var p,m,f=(p="object"==typeof h&&!(h instanceof RegExp)&&h.validate)&&h.type||"string";if(p&&(m=!0===h.async,h=h.validate),f!=i)return l&&(n+=" if (true) { "),n;if(m){if(!e.async)throw new Error("async format in sync schema");n+=" if (!(await "+(C="formats"+e.util.getProperty(s)+".validate")+"("+c+"))) { "}else{n+=" if (! ";var C="formats"+e.util.getProperty(s);p&&(C+=".validate"),n=n+("function"==typeof h?" "+C+"("+c+") ":" "+C+".test("+c+") ")+") { "}}r=[],g=(r.push(n),n="",!1!==e.createErrors?(n=(n+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(t)+" , params: { format: ")+(d?""+o:""+e.util.toQuotedString(s))+" } ",!1!==e.opts.messages&&(n=(n+=" , message: 'should match format \"")+(d?"' + "+o+" + '":""+e.util.escapeQuotes(s))+"\"' "),e.opts.verbose&&(n=(n=(n+=" , schema: ")+(d?"validate.schema"+a:""+e.util.toQuotedString(s)))+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n),n=r.pop();!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+g+"]); ":n+=" validate.errors = ["+g+"]; return false; ":n+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l&&(n+=" else { ")}return n}},5926:function(e){"use strict";e.exports=function(e,t,i){var n,r=" ",o=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),t=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,s="data"+(s||""),h="valid"+o,d="errs__"+o,u=e.util.copy(e),g=(u.level++,"valid"+u.level),p=e.schema.then,m=e.schema.else,p=void 0!==p&&(e.opts.strictKeywords?"object"==typeof p&&0<Object.keys(p).length||!1===p:e.util.schemaHasRules(p,e.RULES.all)),m=void 0!==m&&(e.opts.strictKeywords?"object"==typeof m&&0<Object.keys(m).length||!1===m:e.util.schemaHasRules(m,e.RULES.all)),f=u.baseId;return p||m?(u.createErrors=!1,u.schema=a,u.schemaPath=l,u.errSchemaPath=t,r+=" var "+d+" = errors; var "+h+" = true; ",a=e.compositeRule,e.compositeRule=u.compositeRule=!0,r+=" "+e.validate(u)+" ",u.baseId=f,u.createErrors=!0,r+=" errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.compositeRule=u.compositeRule=a,p?(r+=" if ("+g+") { ",u.schema=e.schema.then,u.schemaPath=e.schemaPath+".then",u.errSchemaPath=e.errSchemaPath+"/then",r+=" "+e.validate(u)+" ",u.baseId=f,r+=" "+h+" = "+g+"; ",p&&m?r+=" var "+(n="ifClause"+o)+" = 'then'; ":n="'then'",r+=" } ",m&&(r+=" else { ")):r+=" if (!"+g+") { ",m&&(u.schema=e.schema.else,u.schemaPath=e.schemaPath+".else",u.errSchemaPath=e.errSchemaPath+"/else",r+=" "+e.validate(u)+" ",u.baseId=f,r+=" "+h+" = "+g+"; ",p&&m?r+=" var "+(n="ifClause"+o)+" = 'else'; ":n="'else'",r+=" } "),r+=" if (!"+h+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(t)+" , params: { failingKeyword: "+n+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match \"' + "+n+" + '\" schema' "),e.opts.verbose&&(r+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+s+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&c&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } ",c&&(r+=" else { ")):c&&(r+=" if (true) { "),r}},9646:function(e,t,i){"use strict";e.exports={$ref:i(2331),allOf:i(9486),anyOf:i(5347),$comment:i(923),const:i(2617),contains:i(2119),dependencies:i(9115),enum:i(9317),format:i(8327),if:i(5926),items:i(392),maximum:i(1796),minimum:i(1796),maxItems:i(2407),minItems:i(2407),maxLength:i(1250),minLength:i(1250),maxProperties:i(2596),minProperties:i(2596),multipleOf:i(6039),not:i(7946),oneOf:i(9344),pattern:i(9737),properties:i(2537),propertyNames:i(2127),required:i(1204),uniqueItems:i(1985),validate:i(1869)}},392:function(e){"use strict";e.exports=function(e,t,i){var n=" ",r=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(o||""),t="valid"+r,o="errs__"+r,d=e.util.copy(e),u="",g=(d.level++,"valid"+d.level),r="i"+r,p=d.dataLevel=e.dataLevel+1,m="data"+p,f=e.baseId;if(n+="var "+o+" = errors;var "+t+";",Array.isArray(s)){var C,I,v=e.schema.additionalItems,A=(!1===v&&(n+=" "+t+" = "+h+".length <= "+s.length+"; ",C=l,l=e.errSchemaPath+"/additionalItems",(I=I||[]).push(n+=" if (!"+t+") { "),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+s.length+" } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have more than "+s.length+" items' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),n+=" } "):n+=" {} ",t=n,n=I.pop(),!e.compositeRule&&c?e.async?n+=" throw new ValidationError(["+t+"]); ":n+=" validate.errors = ["+t+"]; return false; ":n+=" var err = "+t+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l=C,c&&(u+="}",n+=" else { ")),s);if(A)for(var b=-1,y=A.length-1;b<y;){var w,x,S=A[b+=1];(e.opts.strictKeywords?"object"==typeof S&&0<Object.keys(S).length||!1===S:e.util.schemaHasRules(S,e.RULES.all))&&(n+=" "+g+" = true; if ("+h+".length > "+b+") { ",w=h+"["+b+"]",d.schema=S,d.schemaPath=a+"["+b+"]",d.errSchemaPath=l+"/"+b,d.errorPath=e.util.getPathExpr(e.errorPath,b,e.opts.jsonPointers,!0),d.dataPathArr[p]=b,x=e.validate(d),d.baseId=f,e.util.varOccurences(x,m)<2?n+=" "+e.util.varReplace(x,m,w)+" ":n+=" var "+m+" = "+w+"; "+x+" ",n+=" } ",c&&(n+=" if ("+g+") { ",u+="}"))}"object"==typeof v&&(e.opts.strictKeywords?"object"==typeof v&&0<Object.keys(v).length||!1===v:e.util.schemaHasRules(v,e.RULES.all))&&(d.schema=v,d.schemaPath=e.schemaPath+".additionalItems",d.errSchemaPath=e.errSchemaPath+"/additionalItems",n+=" "+g+" = true; if ("+h+".length > "+s.length+") { for (var "+r+" = "+s.length+"; "+r+" < "+h+".length; "+r+"++) { ",d.errorPath=e.util.getPathExpr(e.errorPath,r,e.opts.jsonPointers,!0),w=h+"["+r+"]",d.dataPathArr[p]=r,x=e.validate(d),d.baseId=f,e.util.varOccurences(x,m)<2?n+=" "+e.util.varReplace(x,m,w)+" ":n+=" var "+m+" = "+w+"; "+x+" ",c&&(n+=" if (!"+g+") break; "),n+=" } } ",c&&(n+=" if ("+g+") { ",u+="}"))}else(e.opts.strictKeywords?"object"==typeof s&&0<Object.keys(s).length||!1===s:e.util.schemaHasRules(s,e.RULES.all))&&(d.schema=s,d.schemaPath=a,d.errSchemaPath=l,n+=" for (var "+r+" = 0; "+r+" < "+h+".length; "+r+"++) { ",d.errorPath=e.util.getPathExpr(e.errorPath,r,e.opts.jsonPointers,!0),w=h+"["+r+"]",d.dataPathArr[p]=r,x=e.validate(d),d.baseId=f,e.util.varOccurences(x,m)<2?n+=" "+e.util.varReplace(x,m,w)+" ":n+=" var "+m+" = "+w+"; "+x+" ",c&&(n+=" if (!"+g+") break; "),n+=" }");return c&&(n+=" "+u+" if ("+o+" == errors) {"),n}},6039:function(e){"use strict";e.exports=function(e,t,i){var n=" ",r=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(o||""),d=e.opts.$data&&s&&s.$data,o=d?(n+=" var schema"+r+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ","schema"+r):s;if(!d&&"number"!=typeof s)throw new Error(t+" must be number");n+="var division"+r+";if (",d&&(n+=" "+o+" !== undefined && ( typeof "+o+" != 'number' || "),n+=" (division"+r+" = "+h+" / "+o+", ",e.opts.multipleOfPrecision?n+=" Math.abs(Math.round(division"+r+") - division"+r+") > 1e-"+e.opts.multipleOfPrecision+" ":n+=" division"+r+" !== parseInt(division"+r+") ",n+=" ) ",d&&(n+=" ) ");t=[],t.push(n+=" ) { "),n="",!1!==e.createErrors?(n+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { multipleOf: "+o+" } ",!1!==e.opts.messages&&(n=n+" , message: 'should be multiple of "+(d?"' + "+o:o+"'")),e.opts.verbose&&(n=(n+=" , schema: ")+(d?"validate.schema"+a:""+s)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),n+=" } "):n+=" {} ",r=n,n=t.pop();return!e.compositeRule&&c?e.async?n+=" throw new ValidationError(["+r+"]); ":n+=" validate.errors = ["+r+"]; return false; ":n+=" var err = "+r+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",c&&(n+=" else { "),n}},7946:function(e){"use strict";e.exports=function(e,t,i){var n,r,o=" ",s=e.level,a=e.dataLevel,l=e.schema[t],c=e.schemaPath+e.util.getProperty(t),t=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,a="data"+(a||""),s="errs__"+s,d=e.util.copy(e),u=(d.level++,"valid"+d.level);return(e.opts.strictKeywords?"object"==typeof l&&0<Object.keys(l).length||!1===l:e.util.schemaHasRules(l,e.RULES.all))?(d.schema=l,d.schemaPath=c,d.errSchemaPath=t,o+=" var "+s+" = errors; ",l=e.compositeRule,e.compositeRule=d.compositeRule=!0,d.createErrors=!1,d.opts.allErrors&&(r=d.opts.allErrors,d.opts.allErrors=!1),o+=" "+e.validate(d)+" ",d.createErrors=!0,r&&(d.opts.allErrors=r),e.compositeRule=d.compositeRule=l,(n=n||[]).push(o+=" if ("+u+") { "),o="",!1!==e.createErrors?(o+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(t)+" , params: {} ",!1!==e.opts.messages&&(o+=" , message: 'should NOT be valid' "),e.opts.verbose&&(o+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+a+" "),o+=" } "):o+=" {} ",r=o,o=n.pop(),!e.compositeRule&&h?e.async?o+=" throw new ValidationError(["+r+"]); ":o+=" validate.errors = ["+r+"]; return false; ":o+=" var err = "+r+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",o+=" } else { errors = "+s+"; if (vErrors !== null) { if ("+s+") vErrors.length = "+s+"; else vErrors = null; } ",e.opts.allErrors&&(o+=" } ")):(o+=" var err = ",!1!==e.createErrors?(o+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(t)+" , params: {} ",!1!==e.opts.messages&&(o+=" , message: 'should NOT be valid' "),e.opts.verbose&&(o+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+a+" "),o+=" } "):o+=" {} ",o+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",h&&(o+=" if (false) { ")),o}},9344:function(e){"use strict";e.exports=function(e,t,i){var n=" ",r=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,t=!e.opts.allErrors,o="data"+(o||""),c="valid"+r,h="errs__"+r,d=e.util.copy(e),u="",g=(d.level++,"valid"+d.level),p=d.baseId,m="prevValid"+r,f="passingSchemas"+r,r=(n+="var "+h+" = errors , "+m+" = false , "+c+" = false , "+f+" = null; ",e.compositeRule),C=(e.compositeRule=d.compositeRule=!0,s);if(C)for(var I,v=-1,A=C.length-1;v<A;)I=C[v+=1],(e.opts.strictKeywords?"object"==typeof I&&0<Object.keys(I).length||!1===I:e.util.schemaHasRules(I,e.RULES.all))?(d.schema=I,d.schemaPath=a+"["+v+"]",d.errSchemaPath=l+"/"+v,n+=" "+e.validate(d)+" ",d.baseId=p):n+=" var "+g+" = true; ",v&&(n+=" if ("+g+" && "+m+") { "+c+" = false; "+f+" = ["+f+", "+v+"]; } else { ",u+="}"),n+=" if ("+g+") { "+c+" = "+m+" = true; "+f+" = "+v+"; }";return e.compositeRule=d.compositeRule=r,n+=u+"if (!"+c+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+f+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+o+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&t&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+="} else { errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; else vErrors = null; }",e.opts.allErrors&&(n+=" } "),n}},9737:function(e){"use strict";e.exports=function(e,t,i){var n=" ",r=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),t=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),h=e.opts.$data&&s&&s.$data,o=h?(n+=" var schema"+r+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ","schema"+r):s,r=h?"(new RegExp("+o+"))":e.usePattern(s),d=(n+="if ( ",h&&(n+=" ("+o+" !== undefined && typeof "+o+" != 'string') || "),[]),r=(d.push(n+=" !"+r+".test("+c+") ) { "),n="",!1!==e.createErrors?(n=(n+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(t)+" , params: { pattern: ")+(h?""+o:""+e.util.toQuotedString(s))+" } ",!1!==e.opts.messages&&(n=(n+=" , message: 'should match pattern \"")+(h?"' + "+o+" + '":""+e.util.escapeQuotes(s))+"\"' "),e.opts.verbose&&(n=(n=(n+=" , schema: ")+(h?"validate.schema"+a:""+e.util.toQuotedString(s)))+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n),n=d.pop();return!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+r+"]); ":n+=" validate.errors = ["+r+"]; return false; ":n+=" var err = "+r+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",l&&(n+=" else { "),n}},2537:function(e){"use strict";e.exports=function(e,t,G){var i,n=" ",r=e.level,o=e.dataLevel,P=e.schema[t],s=e.schemaPath+e.util.getProperty(t),a=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),t="errs__"+r,h=e.util.copy(e),d="",u=(h.level++,"valid"+h.level),g="key"+r,p="idx"+r,m=h.dataLevel=e.dataLevel+1,f="data"+m,C="dataProperties"+r,o=Object.keys(P||{}).filter(Z),F=e.schema.patternProperties||{},I=Object.keys(F).filter(Z),v=e.schema.additionalProperties,M=o.length||I.length,H=!1===v,V="object"==typeof v&&Object.keys(v).length,A=e.opts.removeAdditional,b=H||V||A,y=e.opts.ownProperties,w=e.baseId,x=e.schema.required;function Z(e){return"__proto__"!==e}if(x&&(!e.opts.$data||!x.$data)&&x.length<e.opts.loopRequired&&(i=e.util.toHash(x)),n+="var "+t+" = errors;var "+u+" = true;",y&&(n+=" var "+C+" = undefined;"),b){if(n+=y?" "+C+" = "+C+" || Object.keys("+c+"); for (var "+p+"=0; "+p+"<"+C+".length; "+p+"++) { var "+g+" = "+C+"["+p+"]; ":" for (var "+g+" in "+c+") { ",M){if(n+=" var isAdditional"+r+" = !(false ",o.length)if(8<o.length)n+=" || validate.schema"+s+".hasOwnProperty("+g+") ";else{var O=o;if(O)for(var D=-1,K=O.length-1;D<K;)S=O[D+=1],n+=" || "+g+" == "+e.util.toQuotedString(S)+" "}if(I.length){var j=I;if(j)for(var z=-1,X=j.length-1;z<X;)B=j[z+=1],n+=" || "+e.usePattern(B)+".test("+g+") "}n+=" ); if (isAdditional"+r+") { "}"all"==A?n+=" delete "+c+"["+g+"]; ":(E=e.errorPath,x="' + "+g+" + '",e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers)),H?A?n+=" delete "+c+"["+g+"]; ":(R=a,a=e.errSchemaPath+"/additionalProperties",(_=_||[]).push(n+=" "+u+" = false; "),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(a)+" , params: { additionalProperty: '"+x+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is an invalid additional property":n+="should NOT have additional properties",n+="' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",$=n,n=_.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+$+"]); ":n+=" validate.errors = ["+$+"]; return false; ":n+=" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a=R,l&&(n+=" break; ")):V&&("failing"==A?(n+=" var "+t+" = errors; ",b=e.compositeRule,e.compositeRule=h.compositeRule=!0,h.schema=v,h.schemaPath=e.schemaPath+".additionalProperties",h.errSchemaPath=e.errSchemaPath+"/additionalProperties",h.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers),W=c+"["+g+"]",h.dataPathArr[m]=g,N=e.validate(h),h.baseId=w,e.util.varOccurences(N,f)<2?n+=" "+e.util.varReplace(N,f,W)+" ":n+=" var "+f+" = "+W+"; "+N+" ",n+=" if (!"+u+") { errors = "+t+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+c+"["+g+"]; } ",e.compositeRule=h.compositeRule=b):(h.schema=v,h.schemaPath=e.schemaPath+".additionalProperties",h.errSchemaPath=e.errSchemaPath+"/additionalProperties",h.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers),W=c+"["+g+"]",h.dataPathArr[m]=g,N=e.validate(h),h.baseId=w,e.util.varOccurences(N,f)<2?n+=" "+e.util.varReplace(N,f,W)+" ":n+=" var "+f+" = "+W+"; "+N+" ",l&&(n+=" if (!"+u+") break; "))),e.errorPath=E),M&&(n+=" } "),n+=" } ",l&&(n+=" if ("+u+") { ",d+="}")}var Y=e.opts.useDefaults&&!e.compositeRule;if(o.length){var J=o;if(J)for(var S,U=-1,Q=J.length-1;U<Q;){var q,k,E,R,T,_,$,L=P[S=J[U+=1]];(e.opts.strictKeywords?"object"==typeof L&&0<Object.keys(L).length||!1===L:e.util.schemaHasRules(L,e.RULES.all))&&(W=c+(T=e.util.getProperty(S)),q=Y&&void 0!==L.default,h.schema=L,h.schemaPath=s+T,h.errSchemaPath=a+"/"+e.util.escapeFragment(S),h.errorPath=e.util.getPath(e.errorPath,S,e.opts.jsonPointers),h.dataPathArr[m]=e.util.toQuotedString(S),N=e.validate(h),h.baseId=w,e.util.varOccurences(N,f)<2?(N=e.util.varReplace(N,f,W),k=W):n+=" var "+(k=f)+" = "+W+"; ",q?n+=" "+N+" ":(i&&i[S]?(n+=" if ( "+k+" === undefined ",y&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(S)+"') "),n+=") { "+u+" = false; ",E=e.errorPath,R=a,T=e.util.escapeQuotes(S),e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(E,S,e.opts.jsonPointers)),a=e.errSchemaPath+"/required",(_=_||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(a)+" , params: { missingProperty: '"+T+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+T+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",$=n,n=_.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+$+"]); ":n+=" validate.errors = ["+$+"]; return false; ":n+=" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a=R,e.errorPath=E,n+=" } else { "):l?(n+=" if ( "+k+" === undefined ",y&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(S)+"') "),n+=") { "+u+" = true; } else { "):(n+=" if ("+k+" !== undefined ",y&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(S)+"') "),n+=" ) { "),n+=" "+N+" } ")),l&&(n+=" if ("+u+") { ",d+="}")}}if(I.length){var ee=I;if(ee)for(var B,te=-1,ie=ee.length-1;te<ie;){var W,N,L=F[B=ee[te+=1]];(e.opts.strictKeywords?"object"==typeof L&&0<Object.keys(L).length||!1===L:e.util.schemaHasRules(L,e.RULES.all))&&(h.schema=L,h.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(B),h.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(B),n=(n+=y?" "+C+" = "+C+" || Object.keys("+c+"); for (var "+p+"=0; "+p+"<"+C+".length; "+p+"++) { var "+g+" = "+C+"["+p+"]; ":" for (var "+g+" in "+c+") { ")+" if ("+e.usePattern(B)+".test("+g+")) { ",h.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers),W=c+"["+g+"]",h.dataPathArr[m]=g,N=e.validate(h),h.baseId=w,e.util.varOccurences(N,f)<2?n+=" "+e.util.varReplace(N,f,W)+" ":n+=" var "+f+" = "+W+"; "+N+" ",l&&(n+=" if (!"+u+") break; "),n+=" } ",l&&(n+=" else "+u+" = true; "),n+=" } ",l&&(n+=" if ("+u+") { ",d+="}"))}}return l&&(n+=" "+d+" if ("+t+" == errors) {"),n}},2127:function(e){"use strict";e.exports=function(e,t,i){var n,r,o,s,a,l,c,h=" ",d=e.level,u=e.dataLevel,g=e.schema[t],p=e.schemaPath+e.util.getProperty(t),t=e.errSchemaPath+"/"+t,m=!e.opts.allErrors,u="data"+(u||""),f="errs__"+d,C=e.util.copy(e),I=(C.level++,"valid"+C.level);return h+="var "+f+" = errors;",(e.opts.strictKeywords?"object"==typeof g&&0<Object.keys(g).length||!1===g:e.util.schemaHasRules(g,e.RULES.all))&&(C.schema=g,C.schemaPath=p,C.errSchemaPath=t,g="idx"+d,r="i"+d,o="' + "+(n="key"+d)+" + '",s="data"+(C.dataLevel=e.dataLevel+1),c="dataProperties"+d,l=e.opts.ownProperties,a=e.baseId,l&&(h+=" var "+c+" = undefined; "),h=h+(l?" "+c+" = "+c+" || Object.keys("+u+"); for (var "+g+"=0; "+g+"<"+c+".length; "+g+"++) { var "+n+" = "+c+"["+g+"]; ":" for (var "+n+" in "+u+") { ")+" var startErrs"+d+" = errors; ",l=n,c=e.compositeRule,e.compositeRule=C.compositeRule=!0,g=e.validate(C),C.baseId=a,e.util.varOccurences(g,s)<2?h+=" "+e.util.varReplace(g,s,l)+" ":h+=" var "+s+" = "+l+"; "+g+" ",e.compositeRule=C.compositeRule=c,h+=" if (!"+I+") { for (var "+r+"=startErrs"+d+"; "+r+"<errors; "+r+"++) { vErrors["+r+"].propertyName = "+n+"; } var err = ",!1!==e.createErrors?(h+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(t)+" , params: { propertyName: '"+o+"' } ",!1!==e.opts.messages&&(h+=" , message: 'property name \\'"+o+"\\' is invalid' "),e.opts.verbose&&(h+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),h+=" } "):h+=" {} ",h+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&m&&(e.async?h+=" throw new ValidationError(vErrors); ":h+=" validate.errors = vErrors; return false; "),m&&(h+=" break; "),h+=" } }"),m&&(h+=" if ("+f+" == errors) {"),h}},2331:function(e){"use strict";e.exports=function(e,t,i){var n,r,o=" ",s=e.level,a=e.dataLevel,l=e.schema[t],t=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(a||""),s="valid"+s;if("#"==l||"#/"==l)r=e.isRoot?(n=e.async,"validate"):(n=!0===e.root.schema.$async,"root.refVal[0]");else{var d=e.resolveRef(e.baseId,l,e.isRoot);if(void 0===d){var u=e.MissingRefError.message(e.baseId,l);if("fail"==e.opts.missingRefs){e.logger.error(u);(g=g||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(t)+" , params: { ref: '"+e.util.escapeQuotes(l)+"' } ",!1!==e.opts.messages&&(o+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(l)+"' "),e.opts.verbose&&(o+=" , schema: "+e.util.toQuotedString(l)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),o+=" } "):o+=" {} ";t=o,o=g.pop();!e.compositeRule&&c?e.async?o+=" throw new ValidationError(["+t+"]); ":o+=" validate.errors = ["+t+"]; return false; ":o+=" var err = "+t+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(o+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,l,u);e.logger.warn(u),c&&(o+=" if (true) { ")}}else d.inline?((t=e.util.copy(e)).level++,u="valid"+t.level,t.schema=d.schema,t.schemaPath="",t.errSchemaPath=l,o+=" "+e.validate(t).replace(/validate\.schema/g,d.code)+" ",c&&(o+=" if ("+u+") { ")):(n=!0===d.$async||e.async&&!1!==d.$async,r=d.code)}if(r){(g=g||[]).push(o),o="",e.opts.passContext?o+=" "+r+".call(this, ":o+=" "+r+"( ",o+=" "+h+", (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var g,l=a?"data"+(a-1||""):"parentData",t=o+=" , "+l+" , "+(a?e.dataPathArr[a]:"parentDataProperty")+", rootData) ";if(o=g.pop(),n){if(!e.async)throw new Error("async schema referenced by sync schema");c&&(o+=" var "+s+"; "),o+=" try { await "+t+"; ",c&&(o+=" "+s+" = true; "),o+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",c&&(o+=" "+s+" = false; "),o+=" } ",c&&(o+=" if ("+s+") { ")}else o+=" if (!"+t+") { if (vErrors === null) vErrors = "+r+".errors; else vErrors = vErrors.concat("+r+".errors); errors = vErrors.length; } ",c&&(o+=" else { ")}return o}},1204:function(e){"use strict";e.exports=function(e,t,i){var n=" ",r=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,t=!e.opts.allErrors,c="data"+(o||""),h="valid"+r,d=e.opts.$data&&s&&s.$data,o=(d&&(n+=" var schema"+r+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; "),"schema"+r);if(!d)if(s.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var u=[],g=s;if(g)for(var p=-1,m=g.length-1;p<m;){var f=g[p+=1],C=e.schema.properties[f];C&&(e.opts.strictKeywords?"object"==typeof C&&0<Object.keys(C).length||!1===C:e.util.schemaHasRules(C,e.RULES.all))||(u[u.length]=f)}}else u=s;if(d||u.length){var I=e.errorPath,s=d||u.length>=e.opts.loopRequired,v=e.opts.ownProperties;if(t){if(n+=" var missing"+r+"; ",s){d||(n+=" var "+o+" = validate.schema"+a+"; ");var A="' + "+(k="schema"+r+"["+(w="i"+r)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(I,k,e.opts.jsonPointers)),n+=" var "+h+" = true; ",d&&(n+=" if (schema"+r+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+r+")) "+h+" = false; else {"),n+=" for (var "+w+" = 0; "+w+" < "+o+".length; "+w+"++) { "+h+" = "+c+"["+o+"["+w+"]] !== undefined ",v&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", "+o+"["+w+"]) "),n+="; if (!"+h+") break; } ",d&&(n+=" } ");(S=S||[]).push(n+=" if (!"+h+") { "),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+A+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var b=n,n=S.pop()}else{n+=" if ( ";var y=u;if(y)for(var w=-1,x=y.length-1;w<x;)R=y[w+=1],w&&(n+=" || "),n+=" ( ( "+(L=c+($=e.util.getProperty(R)))+" === undefined ",v&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(R)+"') "),n+=") && (missing"+r+" = "+e.util.toQuotedString(e.opts.jsonPointers?R:$)+") ) ";n+=") { ";A="' + "+(k="missing"+r)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(I,k,!0):I+" + "+k);(S=S||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+A+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var S,b=n;n=S.pop()}!e.compositeRule&&t?e.async?n+=" throw new ValidationError(["+b+"]); ":n+=" validate.errors = ["+b+"]; return false; ":n+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else if(s){d||(n+=" var "+o+" = validate.schema"+a+"; ");var k,A="' + "+(k="schema"+r+"["+(w="i"+r)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(I,k,e.opts.jsonPointers)),d&&(n+=" if ("+o+" && !Array.isArray("+o+")) { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+A+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+o+" !== undefined) { "),n+=" for (var "+w+" = 0; "+w+" < "+o+".length; "+w+"++) { if ("+c+"["+o+"["+w+"]] === undefined ",v&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", "+o+"["+w+"]) "),n+=") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+A+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",d&&(n+=" } ")}else{var E=u;if(E)for(var R,T=-1,_=E.length-1;T<_;){R=E[T+=1];var $=e.util.getProperty(R),A=e.util.escapeQuotes(R),L=c+$;e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(I,R,e.opts.jsonPointers)),n+=" if ( "+L+" === undefined ",v&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(R)+"') "),n+=") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+A+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+A+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=I}else t&&(n+=" if (true) {");return n}},1985:function(e){"use strict";e.exports=function(e,t,i){var n,r=" ",o=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),t=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d="valid"+o,u=e.opts.$data&&a&&a.$data,s=u?(r+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ","schema"+o):a;return(a||u)&&!1!==e.opts.uniqueItems?(u&&(r+=" var "+d+"; if ("+s+" === false || "+s+" === undefined) "+d+" = true; else if (typeof "+s+" != 'boolean') "+d+" = false; else { "),r+=" var i = "+h+".length , "+d+" = true , j; if (i > 1) { ",o=e.schema.items&&e.schema.items.type,s=Array.isArray(o),!o||"object"==o||"array"==o||s&&(0<=o.indexOf("object")||0<=o.indexOf("array"))?r+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+h+"[i], "+h+"[j])) { "+d+" = false; break outer; } } } ":(r=(r+=" var itemIndices = {}, item; for (;i--;) { var item = "+h+"[i]; ")+" if ("+e.util["checkDataType"+(s?"s":"")](o,"item",e.opts.strictNumbers,!0)+") continue; ",s&&(r+=" if (typeof item == 'string') item = '\"' + item; "),r+=" if (typeof itemIndices[item] == 'number') { "+d+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "),r+=" } ",u&&(r+=" } "),(n=n||[]).push(r+=" if (!"+d+") { "),r="",!1!==e.createErrors?(r+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(t)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(r=(r+=" , schema: ")+(u?"validate.schema"+l:""+a)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),r+=" } "):r+=" {} ",o=r,r=n.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+o+"]); ":r+=" validate.errors = ["+o+"]; return false; ":r+=" var err = "+o+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",c&&(r+=" else { ")):c&&(r+=" if (true) { "),r}},1869:function(e){"use strict";e.exports=function(n,e,G){var t="",i=!0===n.schema.$async,r=n.util.schemaHasRulesExcept(n.schema,n.RULES.all,"$ref"),o=n.self._getId(n.schema);if(n.opts.strictKeywords){var s=n.util.schemaUnknownRules(n.schema,n.RULES.keywords);if(s){s="unknown keyword: "+s;if("log"!==n.opts.strictKeywords)throw new Error(s);n.logger.warn(s)}}if(n.isTop&&(t+=" var validate = ",i&&(n.async=!0,t+="async "),t+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(n.opts.sourceCode||n.opts.processCode)&&(t+=" /*# sourceURL="+o+" */ ")),"boolean"==typeof n.schema||!r&&!n.schema.$ref)l=n.level,c=n.dataLevel,T=n.schema[e="false schema"],A=n.schemaPath+n.util.getProperty(e),b=n.errSchemaPath+"/"+e,g=!n.opts.allErrors,h="data"+(c||""),u="valid"+l,!1===n.schema?(n.isTop?g=!0:t+=" var "+u+" = false; ",(W=W||[]).push(t),t="",!1!==n.createErrors?(t+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+n.errorPath+" , schemaPath: "+n.util.toQuotedString(b)+" , params: {} ",!1!==n.opts.messages&&(t+=" , message: 'boolean schema is false' "),n.opts.verbose&&(t+=" , schema: false , parentSchema: validate.schema"+n.schemaPath+" , data: "+h+" "),t+=" } "):t+=" {} ",E=t,t=W.pop(),!n.compositeRule&&g?n.async?t+=" throw new ValidationError(["+E+"]); ":t+=" validate.errors = ["+E+"]; return false; ":t+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "):n.isTop?t+=i?" return data; ":" validate.errors = null; return true; ":t+=" var "+u+" = true; ",n.isTop&&(t+=" }; return validate; ");else{if(n.isTop){var a=n.isTop,l=n.level=0,c=n.dataLevel=0,h="data";if(n.rootId=n.resolve.fullPath(n.self._getId(n.root.schema)),n.baseId=n.baseId||n.rootId,delete n.isTop,n.dataPathArr=[""],void 0!==n.schema.default&&n.opts.useDefaults&&n.opts.strictDefaults){var d="default is ignored in the schema root";if("log"!==n.opts.strictDefaults)throw new Error(d);n.logger.warn(d)}t=(t+=" var vErrors = null; ")+" var errors = 0; "+" if (rootData === undefined) rootData = data; "}else{l=n.level,h="data"+((c=n.dataLevel)||"");if(o&&(n.baseId=n.resolve.url(n.baseId,o)),i&&!n.async)throw new Error("async schema in sync schema");t+=" var errs_"+l+" = errors;"}var u="valid"+l,g=!n.opts.allErrors,p="",m="",f=n.schema.type,C=Array.isArray(f);if(f&&n.opts.nullable&&!0===n.schema.nullable&&(C?-1==f.indexOf("null")&&(f=f.concat("null")):"null"!=f&&(f=[f,"null"],C=!0)),C&&1==f.length&&(f=f[0],C=!1),n.schema.$ref&&r){if("fail"==n.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+n.errSchemaPath+'" (see option extendRefs)');!0!==n.opts.extendRefs&&(r=!1,n.logger.warn('$ref: keywords ignored in schema at path "'+n.errSchemaPath+'"'))}if(n.schema.$comment&&n.opts.$comment&&(t+=" "+n.RULES.all.$comment.code(n,"$comment")),f){n.opts.coerceTypes&&(I=n.util.coerceToTypes(n.opts.coerceTypes,f));var I,v=n.RULES.types[f];if(I||C||!0===v||v&&!z(v)){var A=n.schemaPath+".type",b=n.errSchemaPath+"/type",A=n.schemaPath+".type",b=n.errSchemaPath+"/type";if(t+=" if ("+n.util[C?"checkDataTypes":"checkDataType"](f,h,n.opts.strictNumbers,!0)+") { ",I){var y="dataType"+l,w="coerced"+l,x=(t+=" var "+y+" = typeof "+h+"; var "+w+" = undefined; ","array"==n.opts.coerceTypes&&(t+=" if ("+y+" == 'object' && Array.isArray("+h+") && "+h+".length == 1) { "+h+" = "+h+"[0]; "+y+" = typeof "+h+"; if ("+n.util.checkDataType(n.schema.type,h,n.opts.strictNumbers)+") "+w+" = "+h+"; } "),t+=" if ("+w+" !== undefined) ; ",I);if(x)for(var S,k=-1,P=x.length-1;k<P;)"string"==(S=x[k+=1])?t+=" else if ("+y+" == 'number' || "+y+" == 'boolean') "+w+" = '' + "+h+"; else if ("+h+" === null) "+w+" = ''; ":"number"==S||"integer"==S?(t+=" else if ("+y+" == 'boolean' || "+h+" === null || ("+y+" == 'string' && "+h+" && "+h+" == +"+h+" ","integer"==S&&(t+=" && !("+h+" % 1)"),t+=")) "+w+" = +"+h+"; "):"boolean"==S?t+=" else if ("+h+" === 'false' || "+h+" === 0 || "+h+" === null) "+w+" = false; else if ("+h+" === 'true' || "+h+" === 1) "+w+" = true; ":"null"==S?t+=" else if ("+h+" === '' || "+h+" === 0 || "+h+" === false) "+w+" = null; ":"array"==n.opts.coerceTypes&&"array"==S&&(t+=" else if ("+y+" == 'string' || "+y+" == 'number' || "+y+" == 'boolean' || "+h+" == null) "+w+" = ["+h+"]; ");(W=W||[]).push(t+=" else { "),t="",!1!==n.createErrors?(t=(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+n.errorPath+" , schemaPath: "+n.util.toQuotedString(b)+" , params: { type: '")+(C?""+f.join(","):""+f)+"' } ",!1!==n.opts.messages&&(t=(t+=" , message: 'should be ")+(C?""+f.join(","):""+f)+"' "),n.opts.verbose&&(t+=" , schema: validate.schema"+A+" , parentSchema: validate.schema"+n.schemaPath+" , data: "+h+" "),t+=" } "):t+=" {} ";var E=t,s=(t=W.pop(),!n.compositeRule&&g?n.async?t+=" throw new ValidationError(["+E+"]); ":t+=" validate.errors = ["+E+"]; return false; ":t+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c?"data"+(c-1||""):"parentData");t=t+(" } if ("+w+" !== undefined) { ")+(" "+h+" = "+w+"; "),c||(t+="if ("+s+" !== undefined)"),t+=" "+s+"["+(c?n.dataPathArr[c]:"parentDataProperty")+"] = "+w+"; } "}else{E=((W=W||[]).push(t),t="",!1!==n.createErrors?(t=(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+n.errorPath+" , schemaPath: "+n.util.toQuotedString(b)+" , params: { type: '")+(C?""+f.join(","):""+f)+"' } ",!1!==n.opts.messages&&(t=(t+=" , message: 'should be ")+(C?""+f.join(","):""+f)+"' "),n.opts.verbose&&(t+=" , schema: validate.schema"+A+" , parentSchema: validate.schema"+n.schemaPath+" , data: "+h+" "),t+=" } "):t+=" {} ",t);t=W.pop(),!n.compositeRule&&g?n.async?t+=" throw new ValidationError(["+E+"]); ":t+=" validate.errors = ["+E+"]; return false; ":t+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}t+=" } "}}if(n.schema.$ref&&!r)t+=" "+n.RULES.all.$ref.code(n,"$ref")+" ",g&&(t=(t+=" } if (errors === ")+(a?"0":"errs_"+l)+") { ",m+="}");else{var R=n.RULES;if(R)for(var F=-1,M=R.length-1;F<M;)if(z(v=R[F+=1])){if(v.type&&(t+=" if ("+n.util.checkDataType(v.type,h,n.opts.strictNumbers)+") { "),n.opts.useDefaults)if("object"==v.type&&n.schema.properties){var T=n.schema.properties,_=Object.keys(T);if(_)for(var H,V=-1,Z=_.length-1;V<Z;)if(void 0!==(B=T[H=_[V+=1]]).default){var $=h+n.util.getProperty(H);if(n.compositeRule){if(n.opts.strictDefaults){d="default is ignored for: "+$;if("log"!==n.opts.strictDefaults)throw new Error(d);n.logger.warn(d)}}else t+=" if ("+$+" === undefined ","empty"==n.opts.useDefaults&&(t+=" || "+$+" === null || "+$+" === '' "),t+=" ) "+$+" = ","shared"==n.opts.useDefaults?t+=" "+n.useDefault(B.default)+" ":t+=" "+JSON.stringify(B.default)+" ",t+="; "}}else if("array"==v.type&&Array.isArray(n.schema.items)){var L=n.schema.items;if(L)for(var B,k=-1,O=L.length-1;k<O;)if(void 0!==(B=L[k+=1]).default){$=h+"["+k+"]";if(n.compositeRule){if(n.opts.strictDefaults){d="default is ignored for: "+$;if("log"!==n.opts.strictDefaults)throw new Error(d);n.logger.warn(d)}}else t+=" if ("+$+" === undefined ","empty"==n.opts.useDefaults&&(t+=" || "+$+" === null || "+$+" === '' "),t+=" ) "+$+" = ","shared"==n.opts.useDefaults?t+=" "+n.useDefault(B.default)+" ":t+=" "+JSON.stringify(B.default)+" ",t+="; "}}var W,D=v.rules;if(D)for(var N,K=-1,j=D.length-1;K<j;)!X(N=D[K+=1])||(N=N.code(n,N.keyword,v.type))&&(t+=" "+N+" ",g&&(p+="}"));g&&(t+=" "+p+" ",p=""),v.type&&(t+=" } ",f&&f===v.type&&!I&&(t+=" else { ",A=n.schemaPath+".type",b=n.errSchemaPath+"/type",(W=W||[]).push(t),t="",!1!==n.createErrors?(t=(t+=" { keyword: 'type' , dataPath: (dataPath || '') + "+n.errorPath+" , schemaPath: "+n.util.toQuotedString(b)+" , params: { type: '")+(C?""+f.join(","):""+f)+"' } ",!1!==n.opts.messages&&(t=(t+=" , message: 'should be ")+(C?""+f.join(","):""+f)+"' "),n.opts.verbose&&(t+=" , schema: validate.schema"+A+" , parentSchema: validate.schema"+n.schemaPath+" , data: "+h+" "),t+=" } "):t+=" {} ",E=t,t=W.pop(),!n.compositeRule&&g?n.async?t+=" throw new ValidationError(["+E+"]); ":t+=" validate.errors = ["+E+"]; return false; ":t+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+=" } ")),g&&(t=(t+=" if (errors === ")+(a?"0":"errs_"+l)+") { ",m+="}")}}g&&(t+=" "+m+" "),a?t=t+(i?" if (errors === 0) return data; else throw new ValidationError(vErrors); ":" validate.errors = vErrors; return errors === 0; ")+" }; return validate;":t+=" var "+u+" = errors === errs_"+l+";"}return t;function z(e){for(var t=e.rules,i=0;i<t.length;i++)if(X(t[i]))return 1}function X(e){return void 0!==n.schema[e.keyword]||e.implements&&function(e){for(var t=e.implements,i=0;i<t.length;i++)if(void 0!==n.schema[t[i]])return 1}(e)}}},7931:function(e,t,i){"use strict";var a=/^[a-z_$][a-z0-9_$-]*$/i,l=i(1793),n=i(5868);function r(e,t){r.errors=null;var i=this._validateKeyword=this._validateKeyword||this.compile(n,!0);if(i(e))return!0;if(r.errors=i.errors,t)throw new Error("custom keyword definition is invalid: "+this.errorsText(i.errors));return!1}e.exports={add:function(e,t){var s=this.RULES;if(s.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!a.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,!0);var i=t.type;if(Array.isArray(i))for(var n=0;n<i.length;n++)o(e,i[n],t);else o(e,i,t);var r=t.metaSchema;r&&(t.$data&&this._opts.$data&&(r={anyOf:[r,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]}),t.validateSchema=this.compile(r,!0))}function o(e,t,i){for(var n,r=0;r<s.length;r++){var o=s[r];if(o.type==t){n=o;break}}n||s.push(n={type:t,rules:[]});i={keyword:e,definition:i,custom:!0,code:l,implements:i.implements};n.rules.push(i),s.custom[e]=i}return s.keywords[e]=s.all[e]=!0,this},get:function(e){var t=this.RULES.custom[e];return t?t.definition:this.RULES.keywords[e]||!1},remove:function(e){var t=this.RULES;delete t.keywords[e],delete t.all[e],delete t.custom[e];for(var i=0;i<t.length;i++)for(var n=t[i].rules,r=0;r<n.length;r++)if(n[r].keyword==e){n.splice(r,1);break}return this},validate:r}},2303:function(e){"use strict";e.exports=function e(t,i){if(t===i)return!0;if(t&&i&&"object"==typeof t&&"object"==typeof i){if(t.constructor!==i.constructor)return!1;var n,r,o;if(Array.isArray(t)){if((n=t.length)!=i.length)return!1;for(r=n;0!=r--;)if(!e(t[r],i[r]))return!1}else{if(t.constructor===RegExp)return t.source===i.source&&t.flags===i.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===i.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===i.toString();if((n=(o=Object.keys(t)).length)!==Object.keys(i).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(i,o[r]))return!1;for(r=n;0!=r--;){var s=o[r];if(!e(t[s],i[s]))return!1}}return!0}return t!=t&&i!=i}},3508:function(e){"use strict";e.exports=function(e,t){var n,l="boolean"==typeof(t="function"==typeof(t=t||{})?{cmp:t}:t).cycles&&t.cycles,c=t.cmp&&(n=t.cmp,function(i){return function(e,t){e={key:e,value:i[e]},t={key:t,value:i[t]};return n(e,t)}}),h=[];return function e(t){if(void 0!==(t=t&&t.toJSON&&"function"==typeof t.toJSON?t.toJSON():t)){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);if(Array.isArray(t)){for(r="[",o=0;o<t.length;o++)o&&(r+=","),r+=e(t[o])||"null";return r+"]"}if(null===t)return"null";if(-1!==h.indexOf(t)){if(l)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}for(var i=h.push(t)-1,n=Object.keys(t).sort(c&&c(t)),r="",o=0;o<n.length;o++){var s=n[o],a=e(t[s]);a&&(r&&(r+=","),r+=JSON.stringify(s)+":"+a)}return h.splice(i,1),"{"+r+"}"}}(e)}},233:function(e){e.exports=function t(e,i){"use strict";function n(e){return t.insensitive&&(""+e).toLowerCase()||""+e}var r,o,s=/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,a=/(^[ ]*|[ ]*$)/g,l=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,c=/^0x[0-9a-f]+$/i,h=/^0/,e=n(e).replace(a,"")||"",i=n(i).replace(a,"")||"",d=e.replace(s,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),u=i.replace(s,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),a=parseInt(e.match(c),16)||1!==d.length&&e.match(l)&&Date.parse(e),s=parseInt(i.match(c),16)||a&&i.match(l)&&Date.parse(i)||null;if(s){if(a<s)return-1;if(s<a)return 1}for(var g=0,p=Math.max(d.length,u.length);g<p;g++){if(r=!(d[g]||"").match(h)&&parseFloat(d[g])||d[g]||0,o=!(u[g]||"").match(h)&&parseFloat(u[g])||u[g]||0,isNaN(r)!==isNaN(o))return isNaN(r)?1:-1;if(typeof r!=typeof o&&(r+="",o+=""),r<o)return-1;if(o<r)return 1}return 0}},5156:function(e,t){!function(e){"use strict";function w(e){return null!==e&&"[object Array]"===Object.prototype.toString.call(e)}function x(e){return null!==e&&"[object Object]"===Object.prototype.toString.call(e)}function S(e,t){if(e!==t){if(Object.prototype.toString.call(e)!==Object.prototype.toString.call(t))return!1;if(!0===w(e)){if(e.length!==t.length)return!1;for(var i=0;i<e.length;i++)if(!1===S(e[i],t[i]))return!1}else{if(!0!==x(e))return!1;var n,r,o={};for(n in e)if(hasOwnProperty.call(e,n)){if(!1===S(e[n],t[n]))return!1;o[n]=!0}for(r in t)if(hasOwnProperty.call(t,r)&&!0!==o[r])return!1}}return!0}function k(e){if(""===e||!1===e||null===e)return!0;if(w(e)&&0===e.length)return!0;if(x(e)){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}return!1}var r="function"==typeof String.prototype.trimLeft?function(e){return e.trimLeft()}:function(e){return e.match(/^\s*(.*)/)[1]},h={0:"number",1:"any",2:"string",3:"array",4:"object",5:"boolean",6:"expression",7:"null",8:"Array<number>",9:"Array<string>"},s="UnquotedIdentifier",a="QuotedIdentifier",l="Rbracket",c="Rparen",d="Comma",u="Colon",o="Rbrace",g="Number",E="Current",R="Expref",T="Pipe",_="Flatten",p="Star",m="Filter",f="Lbrace",C="Lbracket",I="Lparen",v="Literal",A={".":"Dot","*":p,",":d,":":u,"{":f,"}":o,"]":l,"(":I,")":c,"@":E},b={"<":!0,">":!0,"=":!0,"!":!0},y={" ":!0,"\t":!0,"\n":!0};function $(e){return"0"<=e&&e<="9"||"-"===e}function i(){}i.prototype={tokenize:function(e){var t,i,n=[];for(this._current=0;this._current<e.length;)if("a"<=(o=e[this._current])&&o<="z"||"A"<=o&&o<="Z"||"_"===o)r=this._current,t=this._consumeUnquotedIdentifier(e),n.push({type:s,value:t,start:r});else if(void 0!==A[e[this._current]])n.push({type:A[e[this._current]],value:e[this._current],start:this._current}),this._current++;else if($(e[this._current]))i=this._consumeNumber(e),n.push(i);else if("["===e[this._current])i=this._consumeLBracket(e),n.push(i);else if('"'===e[this._current])r=this._current,t=this._consumeQuotedIdentifier(e),n.push({type:a,value:t,start:r});else if("'"===e[this._current])r=this._current,t=this._consumeRawStringLiteral(e),n.push({type:v,value:t,start:r});else if("`"===e[this._current]){var r=this._current,o=this._consumeLiteral(e);n.push({type:v,value:o,start:r})}else if(void 0!==b[e[this._current]])n.push(this._consumeOperator(e));else if(void 0!==y[e[this._current]])this._current++;else if("&"===e[this._current])r=this._current,this._current++,"&"===e[this._current]?(this._current++,n.push({type:"And",value:"&&",start:r})):n.push({type:R,value:"&",start:r});else{if("|"!==e[this._current])throw(o=new Error("Unknown character:"+e[this._current])).name="LexerError",o;r=this._current,this._current++,"|"===e[this._current]?(this._current++,n.push({type:"Or",value:"||",start:r})):n.push({type:T,value:"|",start:r})}return n},_consumeUnquotedIdentifier:function(e){var t,i=this._current;for(this._current++;this._current<e.length&&("a"<=(t=e[this._current])&&t<="z"||"A"<=t&&t<="Z"||"0"<=t&&t<="9"||"_"===t);)this._current++;return e.slice(i,this._current)},_consumeQuotedIdentifier:function(e){for(var t=this._current,i=(this._current++,e.length);'"'!==e[this._current]&&this._current<i;){var n=this._current;"\\"!==e[n]||"\\"!==e[n+1]&&'"'!==e[n+1]?n++:n+=2,this._current=n}return this._current++,JSON.parse(e.slice(t,this._current))},_consumeRawStringLiteral:function(e){for(var t=this._current,i=(this._current++,e.length);"'"!==e[this._current]&&this._current<i;){var n=this._current;"\\"!==e[n]||"\\"!==e[n+1]&&"'"!==e[n+1]?n++:n+=2,this._current=n}return this._current++,e.slice(t+1,this._current-1).replace("\\'","'")},_consumeNumber:function(e){for(var t=this._current,i=(this._current++,e.length);$(e[this._current])&&this._current<i;)this._current++;var n=parseInt(e.slice(t,this._current));return{type:g,value:n,start:t}},_consumeLBracket:function(e){var t=this._current;return this._current++,"?"===e[this._current]?(this._current++,{type:m,value:"[?",start:t}):"]"===e[this._current]?(this._current++,{type:_,value:"[]",start:t}):{type:C,value:"[",start:t}},_consumeOperator:function(e){var t=this._current,i=e[t];return this._current++,"!"===i?"="===e[this._current]?(this._current++,{type:"NE",value:"!=",start:t}):{type:"Not",value:"!",start:t}:"<"===i?"="===e[this._current]?(this._current++,{type:"LTE",value:"<=",start:t}):{type:"LT",value:"<",start:t}:">"===i?"="===e[this._current]?(this._current++,{type:"GTE",value:">=",start:t}):{type:"GT",value:">",start:t}:"="===i&&"="===e[this._current]?(this._current++,{type:"EQ",value:"==",start:t}):void 0},_consumeLiteral:function(e){this._current++;for(var t=this._current,i=e.length;"`"!==e[this._current]&&this._current<i;){var n=this._current;"\\"!==e[n]||"\\"!==e[n+1]&&"`"!==e[n+1]?n++:n+=2,this._current=n}t=(t=r(e.slice(t,this._current))).replace("\\`","`"),t=this._looksLikeJSON(t)?JSON.parse(t):JSON.parse('"'+t+'"');return this._current++,t},_looksLikeJSON:function(e){if(""===e)return!1;if(0<='[{"'.indexOf(e[0]))return!0;if(0<=["true","false","null"].indexOf(e))return!0;if(!(0<="-0123456789".indexOf(e[0])))return!1;try{return JSON.parse(e),!0}catch(e){return!1}}};var L={};function B(){}function W(e){this.runtime=e}function N(e){this._interpreter=e,this.functionTable={abs:{_func:this._functionAbs,_signature:[{types:[0]}]},avg:{_func:this._functionAvg,_signature:[{types:[8]}]},ceil:{_func:this._functionCeil,_signature:[{types:[0]}]},contains:{_func:this._functionContains,_signature:[{types:[2,3]},{types:[1]}]},ends_with:{_func:this._functionEndsWith,_signature:[{types:[2]},{types:[2]}]},floor:{_func:this._functionFloor,_signature:[{types:[0]}]},length:{_func:this._functionLength,_signature:[{types:[2,3,4]}]},map:{_func:this._functionMap,_signature:[{types:[6]},{types:[3]}]},max:{_func:this._functionMax,_signature:[{types:[8,9]}]},merge:{_func:this._functionMerge,_signature:[{types:[4],variadic:!0}]},max_by:{_func:this._functionMaxBy,_signature:[{types:[3]},{types:[6]}]},sum:{_func:this._functionSum,_signature:[{types:[8]}]},starts_with:{_func:this._functionStartsWith,_signature:[{types:[2]},{types:[2]}]},min:{_func:this._functionMin,_signature:[{types:[8,9]}]},min_by:{_func:this._functionMinBy,_signature:[{types:[3]},{types:[6]}]},type:{_func:this._functionType,_signature:[{types:[1]}]},keys:{_func:this._functionKeys,_signature:[{types:[4]}]},values:{_func:this._functionValues,_signature:[{types:[4]}]},sort:{_func:this._functionSort,_signature:[{types:[9,8]}]},sort_by:{_func:this._functionSortBy,_signature:[{types:[3]},{types:[6]}]},join:{_func:this._functionJoin,_signature:[{types:[2]},{types:[9]}]},reverse:{_func:this._functionReverse,_signature:[{types:[2,3]}]},to_array:{_func:this._functionToArray,_signature:[{types:[1]}]},to_string:{_func:this._functionToString,_signature:[{types:[1]}]},to_number:{_func:this._functionToNumber,_signature:[{types:[1]}]},not_null:{_func:this._functionNotNull,_signature:[{types:[1],variadic:!0}]}}}L.EOF=0,L[s]=0,L[a]=0,L[l]=0,L[c]=0,L[d]=0,L[o]=0,L[g]=0,L[E]=0,L[R]=0,L.Pipe=1,L.Or=2,L.And=3,L.EQ=5,L.GT=5,L.LT=5,L.GTE=5,L.LTE=5,L.NE=5,L[_]=9,L.Star=20,L[m]=21,L.Dot=40,L.Not=45,L[f]=50,L[C]=55,L[I]=60,B.prototype={parse:function(e){this._loadTokens(e),this.index=0;var t,e=this.expression(0);if("EOF"!==this._lookahead(0))throw t=this._lookaheadToken(0),(t=new Error("Unexpected token type: "+t.type+", value: "+t.value)).name="ParserError",t;return e},_loadTokens:function(e){var t=(new i).tokenize(e);t.push({type:"EOF",value:"",start:e.length}),this.tokens=t},
82expression:function(e){for(var t=this._lookaheadToken(0),i=(this._advance(),this.nud(t)),n=this._lookahead(0);e<L[n];)this._advance(),i=this.led(n,i),n=this._lookahead(0);return i},_lookahead:function(e){return this.tokens[this.index+e].type},_lookaheadToken:function(e){return this.tokens[this.index+e]},_advance:function(){this.index++},nud:function(e){var t,i;switch(e.type){case v:return{type:"Literal",value:e.value};case s:return{type:"Field",name:e.value};case a:var n={type:"Field",name:e.value};if(this._lookahead(0)===I)throw new Error("Quoted identifier not allowed for function names.");return n;case"Not":return{type:"NotExpression",children:[t=this.expression(L.Not)]};case p:return t=null,{type:"ValueProjection",children:[{type:"Identity"},t=this._lookahead(0)===l?{type:"Identity"}:this._parseProjectionRHS(L.Star)]};case m:return this.led(e.type,{type:"Identity"});case f:return this._parseMultiselectHash();case _:return{type:"Projection",children:[{type:_,children:[{type:"Identity"}]},t=this._parseProjectionRHS(L.Flatten)]};case C:return this._lookahead(0)===g||this._lookahead(0)===u?(t=this._parseIndexExpression(),this._projectIfSlice({type:"Identity"},t)):this._lookahead(0)===p&&this._lookahead(1)===l?(this._advance(),this._advance(),{type:"Projection",children:[{type:"Identity"},t=this._parseProjectionRHS(L.Star)]}):this._parseMultiselectList();case E:return{type:E};case R:return{type:"ExpressionReference",children:[i=this.expression(L.Expref)]};case I:for(var r=[];this._lookahead(0)!==c;)this._lookahead(0)===E?(i={type:E},this._advance()):i=this.expression(0),r.push(i);return this._match(c),r[0];default:this._errorToken(e)}},led:function(e,t){var i;switch(e){case"Dot":var n=L.Dot;return this._lookahead(0)!==p?{type:"Subexpression",children:[t,i=this._parseDotRHS(n)]}:(this._advance(),{type:"ValueProjection",children:[t,i=this._parseProjectionRHS(n)]});case T:return i=this.expression(L.Pipe),{type:T,children:[t,i]};case"Or":return{type:"OrExpression",children:[t,i=this.expression(L.Or)]};case"And":return{type:"AndExpression",children:[t,i=this.expression(L.And)]};case I:for(var r,n=t.name,o=[];this._lookahead(0)!==c;)this._lookahead(0)===E?(r={type:E},this._advance()):r=this.expression(0),this._lookahead(0)===d&&this._match(d),o.push(r);return this._match(c),{type:"Function",name:n,children:o};case m:n=this.expression(0);return this._match(l),{type:"FilterProjection",children:[t,i=this._lookahead(0)===_?{type:"Identity"}:this._parseProjectionRHS(L.Filter),n]};case _:return{type:"Projection",children:[{type:_,children:[t]},this._parseProjectionRHS(L.Flatten)]};case"EQ":case"NE":case"GT":case"GTE":case"LT":case"LTE":return this._parseComparator(t,e);case C:n=this._lookaheadToken(0);return n.type===g||n.type===u?(i=this._parseIndexExpression(),this._projectIfSlice(t,i)):(this._match(p),this._match(l),{type:"Projection",children:[t,i=this._parseProjectionRHS(L.Star)]});default:this._errorToken(this._lookaheadToken(0))}},_match:function(e){var t;if(this._lookahead(0)!==e)throw t=this._lookaheadToken(0),(e=new Error("Expected "+e+", got: "+t.type)).name="ParserError",e;this._advance()},_errorToken:function(e){e=new Error("Invalid token ("+e.type+'): "'+e.value+'"');throw e.name="ParserError",e},_parseIndexExpression:function(){var e;return this._lookahead(0)===u||this._lookahead(1)===u?this._parseSliceExpression():(e={type:"Index",value:this._lookaheadToken(0).value},this._advance(),this._match(l),e)},_projectIfSlice:function(e,t){e={type:"IndexExpression",children:[e,t]};return"Slice"===t.type?{type:"Projection",children:[e,this._parseProjectionRHS(L.Star)]}:e},_parseSliceExpression:function(){for(var e,t=[null,null,null],i=0,n=this._lookahead(0);n!==l&&i<3;){if(n===u)i++;else{if(n!==g)throw e=this._lookahead(0),(e=new Error("Syntax error, unexpected token: "+e.value+"("+e.type+")")).name="Parsererror",e;t[i]=this._lookaheadToken(0).value}this._advance(),n=this._lookahead(0)}return this._match(l),{type:"Slice",children:t}},_parseComparator:function(e,t){return{type:"Comparator",name:t,children:[e,this.expression(L[t])]}},_parseDotRHS:function(e){var t=this._lookahead(0);return 0<=[s,a,p].indexOf(t)?this.expression(e):t===C?(this._match(C),this._parseMultiselectList()):t===f?(this._match(f),this._parseMultiselectHash()):void 0},_parseProjectionRHS:function(e){var t,i;if(L[this._lookahead(0)]<10)t={type:"Identity"};else if(this._lookahead(0)===C)t=this.expression(e);else if(this._lookahead(0)===m)t=this.expression(e);else{if("Dot"!==this._lookahead(0))throw i=this._lookaheadToken(0),(i=new Error("Sytanx error, unexpected token: "+i.value+"("+i.type+")")).name="ParserError",i;this._match("Dot"),t=this._parseDotRHS(e)}return t},_parseMultiselectList:function(){for(var e=[];this._lookahead(0)!==l;){var t=this.expression(0);if(e.push(t),this._lookahead(0)===d&&(this._match(d),this._lookahead(0)===l))throw new Error("Unexpected token Rbracket")}return this._match(l),{type:"MultiSelectList",children:e}},_parseMultiselectHash:function(){for(var e,t,i=[],n=[s,a];;){if(e=this._lookaheadToken(0),n.indexOf(e.type)<0)throw new Error("Expecting an identifier token, got: "+e.type);if(e=e.value,this._advance(),this._match(u),t=this.expression(0),i.push({type:"KeyValuePair",name:e,value:t}),this._lookahead(0)===d)this._match(d);else if(this._lookahead(0)===o){this._match(o);break}}return{type:"MultiSelectHash",children:i}}},W.prototype={search:function(e,t){return this.visit(e,t)},visit:function(e,t){var i,n,r,o,s,a;switch(e.type){case"Field":return null!==t&&x(t)?void 0===(l=t[e.name])?null:l:null;case"Subexpression":for(u=this.visit(e.children[0],t),f=1;f<e.children.length;f++)if(null===(u=this.visit(e.children[1],u)))return null;return u;case"IndexExpression":return s=this.visit(e.children[0],t),this.visit(e.children[1],s);case"Index":return w(t)?void 0===(u=t[l=(l=e.value)<0?t.length+l:l])?null:u:null;case"Slice":if(!w(t))return null;var l=e.children.slice(0),l=this.computeSliceParams(t.length,l),c=l[0],h=l[1],d=l[2],u=[];if(0<d)for(f=c;f<h;f+=d)u.push(t[f]);else for(f=c;h<f;f+=d)u.push(t[f]);return u;case"Projection":var g=this.visit(e.children[0],t);if(!w(g))return null;for(p=[],f=0;f<g.length;f++)null!==(n=this.visit(e.children[1],g[f]))&&p.push(n);return p;case"ValueProjection":if(!x(g=this.visit(e.children[0],t)))return null;for(var p=[],m=function(e){for(var t=Object.keys(e),i=[],n=0;n<t.length;n++)i.push(e[t[n]]);return i}(g),f=0;f<m.length;f++)null!==(n=this.visit(e.children[1],m[f]))&&p.push(n);return p;case"FilterProjection":if(!w(g=this.visit(e.children[0],t)))return null;var C=[],I=[];for(f=0;f<g.length;f++)k(i=this.visit(e.children[2],g[f]))||C.push(g[f]);for(var v=0;v<C.length;v++)null!==(n=this.visit(e.children[1],C[v]))&&I.push(n);return I;case"Comparator":switch(r=this.visit(e.children[0],t),o=this.visit(e.children[1],t),e.name){case"EQ":u=S(r,o);break;case"NE":u=!S(r,o);break;case"GT":u=o<r;break;case"GTE":u=o<=r;break;case"LT":u=r<o;break;case"LTE":u=r<=o;break;default:throw new Error("Unknown comparator: "+e.name)}return u;case _:var A=this.visit(e.children[0],t);if(!w(A))return null;var b=[];for(f=0;f<A.length;f++)w(n=A[f])?b.push.apply(b,n):b.push(n);return b;case"Identity":return t;case"MultiSelectList":if(null===t)return null;for(p=[],f=0;f<e.children.length;f++)p.push(this.visit(e.children[f],t));return p;case"MultiSelectHash":if(null===t)return null;for(p={},f=0;f<e.children.length;f++)p[(a=e.children[f]).name]=this.visit(a.value,t);return p;case"OrExpression":return i=k(i=this.visit(e.children[0],t))?this.visit(e.children[1],t):i;case"AndExpression":return!0===k(r=this.visit(e.children[0],t))?r:this.visit(e.children[1],t);case"NotExpression":return k(r=this.visit(e.children[0],t));case"Literal":return e.value;case T:return s=this.visit(e.children[0],t),this.visit(e.children[1],s);case E:return t;case"Function":var y=[];for(f=0;f<e.children.length;f++)y.push(this.visit(e.children[f],t));return this.runtime.callFunction(e.name,y);case"ExpressionReference":l=e.children[0];return l.jmespathType=R,l;default:throw new Error("Unknown node type: "+e.type)}},computeSliceParams:function(e,t){var i=t[0],n=t[1],t=t[2],r=[null,null,null];if(null===t)t=1;else if(0===t)throw(o=new Error("Invalid slice, step cannot be 0")).name="RuntimeError",o;var o=t<0,i=null===i?o?e-1:0:this.capSliceRange(e,i,t),n=null===n?o?-1:e:this.capSliceRange(e,n,t);return r[0]=i,r[1]=n,r[2]=t,r},capSliceRange:function(e,t,i){return t<0?(t+=e)<0&&(t=i<0?-1:0):e<=t&&(t=i<0?e-1:e),t}},N.prototype={callFunction:function(e,t){var i=this.functionTable[e];if(void 0===i)throw new Error("Unknown function: "+e+"()");return this._validateArgs(e,t,i._signature),i._func.call(this,t)},_validateArgs:function(e,t,i){var n;if(i[i.length-1].variadic){if(t.length<i.length)throw n=1===i.length?" argument":" arguments",new Error("ArgumentError: "+e+"() takes at least"+i.length+n+" but received "+t.length)}else if(t.length!==i.length)throw n=1===i.length?" argument":" arguments",new Error("ArgumentError: "+e+"() takes "+i.length+n+" but received "+t.length);for(var r=0;r<i.length;r++){for(var o,s=!1,a=i[r].types,l=this._getTypeName(t[r]),c=0;c<a.length;c++)if(this._typeMatches(l,a[c],t[r])){s=!0;break}if(!s)throw o=a.map(function(e){return h[e]}).join(","),new Error("TypeError: "+e+"() expected argument "+(r+1)+" to be type "+o+" but received type "+h[l]+" instead.")}},_typeMatches:function(e,t,i){if(1===t)return!0;if(9!==t&&8!==t&&3!==t)return e===t;if(3===t)return 3===e;if(3===e){var n;8===t?n=0:9===t&&(n=2);for(var r=0;r<i.length;r++)if(!this._typeMatches(this._getTypeName(i[r]),n,i[r]))return!1;return!0}},_getTypeName:function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return 2;case"[object Number]":return 0;case"[object Array]":return 3;case"[object Boolean]":return 5;case"[object Null]":return 7;case"[object Object]":return e.jmespathType===R?6:4}},_functionStartsWith:function(e){return 0===e[0].lastIndexOf(e[1])},_functionEndsWith:function(e){var t=e[0],e=e[1];return-1!==t.indexOf(e,t.length-e.length)},_functionReverse:function(e){var t;if(2!==this._getTypeName(e[0]))return(t=e[0].slice(0)).reverse(),t;for(var i=e[0],n="",r=i.length-1;0<=r;r--)n+=i[r];return n},_functionAbs:function(e){return Math.abs(e[0])},_functionCeil:function(e){return Math.ceil(e[0])},_functionAvg:function(e){for(var t=0,i=e[0],n=0;n<i.length;n++)t+=i[n];return t/i.length},_functionContains:function(e){return 0<=e[0].indexOf(e[1])},_functionFloor:function(e){return Math.floor(e[0])},_functionLength:function(e){return(x(e[0])?Object.keys(e[0]):e[0]).length},_functionMap:function(e){for(var t=[],i=this._interpreter,n=e[0],r=e[1],o=0;o<r.length;o++)t.push(i.visit(n,r[o]));return t},_functionMerge:function(e){for(var t={},i=0;i<e.length;i++){var n,r=e[i];for(n in r)t[n]=r[n]}return t},_functionMax:function(e){if(0<e[0].length){if(0===this._getTypeName(e[0][0]))return Math.max.apply(Math,e[0]);for(var t=e[0],i=t[0],n=1;n<t.length;n++)i.localeCompare(t[n])<0&&(i=t[n]);return i}return null},_functionMin:function(e){if(0<e[0].length){if(0===this._getTypeName(e[0][0]))return Math.min.apply(Math,e[0]);for(var t=e[0],i=t[0],n=1;n<t.length;n++)t[n].localeCompare(i)<0&&(i=t[n]);return i}return null},_functionSum:function(e){for(var t=0,i=e[0],n=0;n<i.length;n++)t+=i[n];return t},_functionType:function(e){switch(this._getTypeName(e[0])){case 0:return"number";case 2:return"string";case 3:return"array";case 4:return"object";case 5:return"boolean";case 6:return"expref";case 7:return"null"}},_functionKeys:function(e){return Object.keys(e[0])},_functionValues:function(e){for(var t=e[0],i=Object.keys(t),n=[],r=0;r<i.length;r++)n.push(t[i[r]]);return n},_functionJoin:function(e){var t=e[0];return e[1].join(t)},_functionToArray:function(e){return 3===this._getTypeName(e[0])?e[0]:[e[0]]},_functionToString:function(e){return 2===this._getTypeName(e[0])?e[0]:JSON.stringify(e[0])},_functionToNumber:function(e){var t=this._getTypeName(e[0]);return 0===t?e[0]:2!==t||(t=+e[0],isNaN(t))?null:t},_functionNotNull:function(e){for(var t=0;t<e.length;t++)if(7!==this._getTypeName(e[t]))return e[t];return null},_functionSort:function(e){e=e[0].slice(0);return e.sort(),e},_functionSortBy:function(e){var t=e[0].slice(0);if(0!==t.length){var r=this._interpreter,o=e[1],s=this._getTypeName(r.visit(o,t[0]));if([0,2].indexOf(s)<0)throw new Error("TypeError");for(var a=this,i=[],n=0;n<t.length;n++)i.push([n,t[n]]);i.sort(function(e,t){var i=r.visit(o,e[1]),n=r.visit(o,t[1]);if(a._getTypeName(i)!==s)throw new Error("TypeError: expected "+s+", received "+a._getTypeName(i));if(a._getTypeName(n)!==s)throw new Error("TypeError: expected "+s+", received "+a._getTypeName(n));return n<i?1:i<n?-1:e[0]-t[0]});for(var l=0;l<i.length;l++)t[l]=i[l][1]}return t},_functionMaxBy:function(e){for(var t,i,n=e[1],r=e[0],o=this.createKeyFunction(n,[0,2]),s=-1/0,a=0;a<r.length;a++)s<(i=o(r[a]))&&(s=i,t=r[a]);return t},_functionMinBy:function(e){for(var t,i,n=e[1],r=e[0],o=this.createKeyFunction(n,[0,2]),s=1/0,a=0;a<r.length;a++)(i=o(r[a]))<s&&(s=i,t=r[a]);return t},createKeyFunction:function(i,n){var r=this,o=this._interpreter;return function(e){var t,e=o.visit(i,e);if(n.indexOf(r._getTypeName(e))<0)throw t="TypeError: expected one of "+n+", received "+r._getTypeName(e),new Error(t);return e}}},e.tokenize=function(e){return(new i).tokenize(e)},e.compile=function(e){return(new B).parse(e)},e.search=function(e,t){var i=new B,n=new W(r=new N),r=(r._interpreter=n,i.parse(t));return n.search(r,e)},e.strictDeepEqual=S}(t)},500:function(e){"use strict";var m=e.exports=function(e,t,i){"function"==typeof t&&(i=t,t={}),function e(t,i,n,r,o,s,a,l,c,h){if(r&&"object"==typeof r&&!Array.isArray(r)){for(var d in i(r,o,s,a,l,c,h),r){var u=r[d];if(Array.isArray(u)){if(d in m.arrayKeywords)for(var g=0;g<u.length;g++)e(t,i,n,u[g],o+"/"+d+"/"+g,s,o,d,r,g)}else if(d in m.propsKeywords){if(u&&"object"==typeof u)for(var p in u)e(t,i,n,u[p],o+"/"+d+"/"+f(p),s,o,d,r,p)}else(d in m.keywords||t.allKeys&&!(d in m.skipKeywords))&&e(t,i,n,u,o+"/"+d,s,o,d,r)}n(r,o,s,a,l,c,h)}}(t,"function"==typeof(i=t.cb||i)?i:i.pre||function(){},i.post||function(){},e,"",e)};function f(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}m.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},m.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},m.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},m.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},7026:function(e,t){"use strict";var b={b:"\b",f:"\f",n:"\n",r:"\r",t:"\t",'"':'"',"/":"/","\\":"\\"},y="a".charCodeAt(),i=(t.parse=function(r,e,t){var n={},i=0,o=0,s=0,a=t&&t.bigint&&"undefined"!=typeof BigInt;return{data:l("",!0),pointers:n};function l(e,t){c(),m(e,"value");var i,n=u();switch(n){case"t":d("rue"),i=!0;break;case"f":d("alse"),i=!1;break;case"n":d("ull"),i=null;break;case'"':i=h();break;case"[":i=function(e){c();var t=[],i=0;if("]"!=u())for(g();;){var n=e+"/"+i,n=(t.push(l(n)),c(),u());if("]"==n)break;","!=n&&v(),c(),i++}return t}(e);break;case"{":i=function(e){c();var t={};if("}"!=u())for(g();;){var i=C(),n=('"'!=u()&&v(),h()),r=e+"/"+w(n),i=(f(r,"key",i),m(r,"keyEnd"),c(),":"!=u()&&v(),c(),t[n]=l(r),c(),u());if("}"==i)break;","!=i&&v(),c()}return t}(e);break;default:g(),0<="-0123456789".indexOf(n)?i=function(){var e="",t=!0;"-"==r[s]&&(e+=u());e+=("0"==r[s]?u:p)(),"."==r[s]&&(e+=u()+p(),t=!1);"e"!=r[s]&&"E"!=r[s]||(e+=u(),"+"!=r[s]&&"-"!=r[s]||(e+=u()),e+=p(),t=!1);var i=+e;return a&&t&&(i>Number.MAX_SAFE_INTEGER||i<Number.MIN_SAFE_INTEGER)?BigInt(e):i}():I()}return m(e,"valueEnd"),c(),t&&s<r.length&&I(),i}function c(){e:for(;s<r.length;){switch(r[s]){case" ":o++;break;case"\t":o+=4;break;case"\r":o=0;break;case"\n":o=0,i++;break;default:break e}s++}}function h(){for(var e,t="";'"'!=(e=u());)"\\"==e?(e=u())in b?t+=b[e]:"u"==e?t+=function(){var e=4,t=0;for(;e--;){t<<=4;var i=u().toLowerCase();"a"<=i&&i<="f"?t+=i.charCodeAt()-y+10:"0"<=i&&i<="9"?t+=+i:v()}return String.fromCharCode(t)}():v():t+=e;return t}function d(e){for(var t=0;t<e.length;t++)u()!==e[t]&&v()}function u(){A();var e=r[s];return s++,o++,e}function g(){s--,o--}function p(){for(var e="";"0"<=r[s]&&r[s]<="9";)e+=u();if(e.length)return e;A(),I()}function m(e,t){f(e,t,C())}function f(e,t,i){n[e]=n[e]||{},n[e][t]=i}function C(){return{line:i,column:o,pos:s}}function I(){throw new SyntaxError("Unexpected token "+r[s]+" in JSON at position "+s)}function v(){g(),I()}function A(){if(s>=r.length)throw new SyntaxError("Unexpected end of JSON input")}},t.stringify=function(e,t,i){if(v(e)){var n=0;switch(typeof(u="object"==typeof i?i.space:i)){case"number":var r=10<u?10:u<0?0:Math.floor(u),u=r&&I(r," "),o=r,s=r;break;case"string":u=u.slice(0,10);for(var a=s=o=0;a<u.length;a++){switch(u[a]){case" ":s++;break;case"\t":s+=4;break;case"\r":s=0;break;case"\n":s=0,n++;break;default:throw new Error("whitespace characters not allowed in JSON")}o++}break;default:u=void 0}var l="",c={},h=0,d=0,g=0,p=i&&i.es6&&"function"==typeof Map;return function l(c,h,d){C(d,"value");switch(typeof c){case"number":case"bigint":case"boolean":m(""+c);break;case"string":m(A(c));break;case"object":null===c?m("null"):"function"==typeof c.toJSON?m(A(c.toJSON())):Array.isArray(c)?e():p?c.constructor.BYTES_PER_ELEMENT?e():c instanceof Map?i():c instanceof Set?i(!0):t():t()}C(d,"valueEnd");function e(){if(c.length){m("[");for(var e=h+1,t=0;t<c.length;t++){t&&m(","),f(e);var i=v(c[t])?c[t]:null,n=d+"/"+t;l(i,e,n)}f(h),m("]")}else m("[]")}function t(){var e=Object.keys(c);if(e.length){m("{");for(var t=h+1,i=0;i<e.length;i++){var n,r=e[i],o=c[r];v(o)&&(i&&m(","),n=d+"/"+w(r),f(t),C(n,"key"),m(A(r)),C(n,"keyEnd"),m(":"),u&&m(" "),l(o,t,n))}f(h),m("}")}else m("{}")}function i(e){if(c.size){m("{");for(var t=h+1,i=!0,n=c.entries(),r=n.next();!r.done;){var o,s=r.value,a=s[0],s=!!e||s[1];v(s)&&(i||m(","),i=!1,o=d+"/"+w(a),f(t),C(o,"key"),m(A(a)),C(o,"keyEnd"),m(":"),u&&m(" "),l(s,t,o)),r=n.next()}f(h),m("}")}else m("{}")}}(e,0,""),{json:l,pointers:c}}function m(e){d+=e.length,g+=e.length,l+=e}function f(e){if(u){for(l+="\n"+I(e,u),h++,d=0;e--;)n?(h+=n,d=s):d+=s,g+=o;g+=1}}function C(e,t){c[e]=c[e]||{},c[e][t]={line:h,column:d,pos:g}}function I(e,t){return Array(e+1).join(t)}},["number","bigint","boolean","string","object"]);function v(e){return 0<=i.indexOf(typeof e)}var n=/"|\\/g,r=/[\b]/g,o=/\f/g,s=/\n/g,a=/\r/g,l=/\t/g;function A(e){return'"'+(e=e.replace(n,"\\$&").replace(o,"\\f").replace(r,"\\b").replace(s,"\\n").replace(a,"\\r").replace(l,"\\t"))+'"'}var c=/~/g,h=/\//g;function w(e){return e.replace(c,"~0").replace(h,"~1")}},483:function(e,t){var i,n;!function(){"use strict";n=[],void 0!==(n="function"==typeof(i=function(){"use strict";function C(e){if(typeof Node==="object")return e instanceof Node;else return e&&typeof e==="object"&&typeof e.nodeType==="number"}function I(e){return typeof e==="string"}function v(){var o=[];return{watch:o.push.bind(o),trigger:function(e,t){var i=true;var n={detail:t,preventDefault:function e(){i=false}};for(var r=0;r<o.length;r++)o[r](e,n);return i}}}function r(e){return window.getComputedStyle(e).display==="none"}function o(e){this.elem=e}function A(e,t){return o.make(e("parent")).clazz("pico-overlay").clazz(e("overlayClass","")).stylize({display:"none",position:"fixed",top:"0px",left:"0px",height:"100%",width:"100%",zIndex:1e4}).stylize(e("overlayStyles",{opacity:.5,background:"#000"})).onClick(function(){if(e("overlayClose",true))t()})}o.make=function(e,t){if(typeof e==="string")e=document.querySelector(e);var i=document.createElement(t||"div");(e||document.body).appendChild(i);return new o(i)},o.prototype={child:function(e){return o.make(this.elem,e)},stylize:function(e){e=e||{};if(typeof e.opacity!=="undefined")e.filter="alpha(opacity="+e.opacity*100+")";for(var t in e)if(e.hasOwnProperty(t))this.elem.style[t]=e[t];return this},clazz:function(e){this.elem.className+=" "+e;return this},html:function(e){if(C(e))this.elem.appendChild(e);else this.elem.innerHTML=e;return this},onClick:function(e){this.elem.addEventListener("click",e);return this},destroy:function(){this.elem.parentNode.removeChild(this.elem)},hide:function(){this.elem.style.display="none"},show:function(){this.elem.style.display="block"},attr:function(e,t){if(t!==undefined)this.elem.setAttribute(e,t);return this},anyAncestor:function(e){var t=this.elem;while(t)if(e(new o(t)))return true;else t=t.parentNode;return false},isVisible:function(){return!r(this.elem)}};var s=1;function b(e,i){var t=e("width","auto");if(typeof t==="number")t=""+t+"px";var n=e("modalId","pico-"+s++);var r=o.make(e("parent")).clazz("pico-content").clazz(e("modalClass","")).stylize({display:"none",position:"fixed",zIndex:10001,left:"50%",top:"38.1966%",maxHeight:"90%",boxSizing:"border-box",width:t,"-ms-transform":"translate(-50%,-38.1966%)","-moz-transform":"translate(-50%,-38.1966%)","-webkit-transform":"translate(-50%,-38.1966%)","-o-transform":"translate(-50%,-38.1966%)",transform:"translate(-50%,-38.1966%)"}).stylize(e("modalStyles",{overflow:"auto",backgroundColor:"white",padding:"20px",borderRadius:"5px"})).html(e("content")).attr("id",n).attr("role","dialog").attr("aria-labelledby",e("ariaLabelledBy")).attr("aria-describedby",e("ariaDescribedBy",n)).onClick(function(e){var t=new o(e.target).anyAncestor(function(e){return/\bpico-close\b/.test(e.elem.className)});if(t)i()});return r}function y(e,t){if(t("closeButton",true))return e.child("button").html(t("closeHtml","&#xD7;")).clazz("pico-close").clazz(t("closeClass","")).stylize(t("closeStyles",{borderRadius:"2px",border:0,padding:0,cursor:"pointer",height:"15px",width:"15px",position:"absolute",top:"5px",right:"5px",fontSize:"16px",textAlign:"center",lineHeight:"15px",background:"#CCC"})).attr("aria-label",t("close-label","Close"))}function w(e){return function(){return e().elem}}var x=v(),c=v();function S(o,s){function t(e,t){var i=e.msMatchesSelector||e.webkitMatchesSelector||e.matches;return i.call(e,t)}function n(e){if(r(e)||t(e,":disabled")||e.hasAttribute("contenteditable"))return false;else return e.hasAttribute("tabindex")||t(e,"input,select,textarea,button,a[href],area[href],iframe")}function a(e){var t=e.getElementsByTagName("*");for(var i=0;i<t.length;i++)if(n(t[i]))return t[i]}function l(e){var t=e.getElementsByTagName("*");for(var i=t.length;i--;)if(n(t[i]))return t[i]}var i;o.beforeShow(function e(){i=document.activeElement});o.afterShow(function e(){if(s()){var t=a(o.modalElem());if(t)t.focus()}});o.afterClose(function e(){if(s()&&i)i.focus();i=null});c.watch(function e(t){if(s()&&o.isVisible()){var i=a(o.modalElem());var n=l(o.modalElem());var r=t.shiftKey?i:n;if(r===document.activeElement){(t.shiftKey?n:i).focus();t.preventDefault()}}})}function k(e,t){var i;var n=new o(document.body);e.beforeShow(function(){i=n.elem.style.overflow;if(t())n.stylize({overflow:"hidden"})});e.afterClose(function(){n.stylize({overflow:i})})}return document.documentElement.addEventListener("keydown",function e(t){var i=t.which||t.keyCode;if(i===27)x.trigger();else if(i===9)c.trigger(t)}),function e(n){if(I(n)||C(n))n={content:n};var r=v();var t=v();var i=v();var o=v();var s=v();function a(e,t){var i=n[e];if(typeof i==="function")i=i(t);return i===undefined?t:i}var l=f.bind(window,"modal");var c=f.bind(window,"overlay");var h=f.bind(window,"close");var d;function u(e){c().hide();l().hide();s.trigger(d,e)}function g(e){if(o.trigger(d,e))u(e)}function p(e){return function(){e.apply(this,arguments);return d}}var m;function f(e,t){if(!m){var i=b(a,g);m={modal:i,overlay:A(a,g),close:y(i,a)};r.trigger(d,t)}return m[e]}d={modalElem:w(l),closeElem:w(h),overlayElem:w(c),buildDom:p(f.bind(null,null)),isVisible:function(){return!!(m&&l&&l().isVisible())},show:function(e){if(t.trigger(d,e)){c().show();h();l().show();i.trigger(d,e)}return this},close:p(g),forceClose:p(u),destroy:function(){l().destroy();c().destroy();c=l=h=undefined},options:function(t){Object.keys(t).map(function(e){n[e]=t[e]})},afterCreate:p(r.watch),beforeShow:p(t.watch),afterShow:p(i.watch),beforeClose:p(o.watch),afterClose:p(s.watch)};S(d,a.bind(null,"focus",true));k(d,a.bind(null,"bodyOverflow",true));x.watch(function e(){if(a("escCloses",true)&&d.isVisible())d.close()});return d}})?i.apply(t,n):i)&&(e.exports=n)}()},7533:function(e,t){
83/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */

Callers 2

jsoneditor.min.jsFile · 0.85
ztFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected