openc3-cosmos-tool-cmdsender 6.0.2 → 6.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/tools/cmdsender/ArrayWidget-DzHELdHv-cee824f66c8843b2ded7.js +2 -0
- data/tools/cmdsender/ArrayplotWidget-BDvziGSm-498423ffcc61a13cbe8f.js +1 -0
- data/tools/cmdsender/{BarColumn-B6tCmNJm-c2cf6197c1ac7721cb12.js → BarColumn-CNhS2KKq-bd95980dbbc31fbfd23a.js} +1 -1
- data/tools/cmdsender/BlockWidget-D0On4x3d-69a4a71a77a46e25dae1.js +2 -0
- data/tools/cmdsender/{ButtonWidget-CHrHS_Bw-697bfff0f94c0f031fc0.js → ButtonWidget-BOYLHMt4-f9a2236756b378545570.js} +2 -2
- data/tools/cmdsender/CanvasWidget-CQIqiLEy-3ceb16d64d0fbc378465.js +1 -0
- data/tools/cmdsender/CanvasdotWidget-BVWutPMF-785c47cb23f62b7df9bb.js +1 -0
- data/tools/cmdsender/{CanvasimageWidget-BrYlPQCf-d1bb68f987e71202c775.js → CanvasimageWidget-ayu_ASKf-4494fea82e37c9cfa8b5.js} +1 -1
- data/tools/cmdsender/{CanvasimagevalueWidget-HnEOXmZy-1f66702888c804c6a591.js → CanvasimagevalueWidget-mv319g5T-c193d9d6a745e1039a65.js} +1 -1
- data/tools/cmdsender/CanvaslabelWidget-BNjbXDb8-5c4d3df04e053dec2600.js +1 -0
- data/tools/cmdsender/{CanvaslabelvalueWidget-0zRDJav3-89a8555dff72104c9172.js → CanvaslabelvalueWidget-CrhPwTSP-e4feff4df5c9ddf06fe0.js} +1 -1
- data/tools/cmdsender/CanvaslineWidget--HdKH6oO-93a35c757202d14c4ae8.js +1 -0
- data/tools/cmdsender/CanvaslinevalueWidget-CJsuF6RY-c4036131839f7434f555.js +1 -0
- data/tools/cmdsender/CheckbuttonWidget-CQ2HlgIk-914cf9e45ba5179169cb.js +1 -0
- data/tools/cmdsender/ComboboxWidget-BxILACwz-416231f90fa8c2ae8289.js +1 -0
- data/tools/cmdsender/CommandSender-a06147da40d2b5bae7bb.js +1109 -0
- data/tools/cmdsender/{CriticalCmdDialog-CAcGOWok-3a7c5d277fa3e0c3343f.js → CriticalCmdDialog-r7_5Z4Du-3259ca292d7bd76b4edc.js} +1 -1
- data/tools/cmdsender/{DateWidget-FtYD86xW-f07540c6584501509891.js → DateWidget-CIkO0xqH-e4fa97fddf89826c4581.js} +1 -1
- data/tools/cmdsender/{DetailsDialog-DiVcC3Fg-b8c5672df1c2b2428051.js → DetailsDialog-DyGpm5TP-c156c96d6fa309c2eebd.js} +1 -1
- data/tools/cmdsender/{DynamicWidget-m9EliUR2-cd4304c5cec47f4c2b36.js → DynamicWidget-gFSYxzvT-78f94f4b0328ff412b83.js} +1 -1
- data/tools/cmdsender/{FormatvalueWidget-OykwwCrw-1fd27fa2bfe3d84ce8a8.js → FormatvalueWidget-D8-EO_3E-e264bab6530c52975397.js} +1 -1
- data/tools/cmdsender/Graph-EV7oK3qM-875ee9423bf76eacf12a.js +1 -0
- data/tools/cmdsender/GraphWidget-BTNYbd21-f6d1017a4ddb1729264d.js +1 -0
- data/tools/cmdsender/{HorizontalWidget-B7YdcFVN-19fd2a8909ee1482983b.js → HorizontalWidget-Bp-qtqoh-e4a37ea4d6305645d673.js} +1 -1
- data/tools/cmdsender/HorizontalboxWidget-CrJuGY3s-ff0e7c75f1dc0795b202.js +1 -0
- data/tools/cmdsender/HorizontallineWidget-CbxREBYI-aa9c465ec10dd9d40c21.js +1 -0
- data/tools/cmdsender/{IframeWidget-0C7GYEVc-47f0be68b0a3d92923e5.js → IframeWidget-DusiWNNj-50b1f6c05e9de9430b1d.js} +1 -1
- data/tools/cmdsender/ImageLoader-BapCB-Li-b0ab3a74dc0ab61a6974.js +1 -0
- data/tools/cmdsender/{ImageviewerWidget-B4HbUIfR-a7289f3e4790b90ab40f.js → ImageviewerWidget-c0gJ9VDC-55062a669c97050d6e8c.js} +1 -1
- data/tools/cmdsender/{LabelWidget-D1JhQAzR-e559310457943d231cab.js → LabelWidget-pPgc0ve3-af6c8b93adcd1857b158.js} +1 -1
- data/tools/cmdsender/{LabelledWidget-C2VGJ5OJ-7d7514cb845dbfc1912a.js → LabelledWidget-CkNjby55-c24220b8fbb7012cdde5.js} +1 -1
- data/tools/cmdsender/{LabelprogressbarWidget-DN0cAeLK-1652c8018f4ded8040f9.js → LabelprogressbarWidget-e2R2yQKw-1b74fa8a61b806bd1f3c.js} +1 -1
- data/tools/cmdsender/LabelsparklineWidget-D7MQ_oNw-22715cdbafe7464f339b.js +1 -0
- data/tools/cmdsender/LabelvalueWidget-4DShBBvr-7d754be8f7b7643a5083.js +1 -0
- data/tools/cmdsender/{LabelvaluedescWidget-DtJwggDu-df040185dadc8b78dd8b.js → LabelvaluedescWidget-Z1m8Bi6N-c50415ba18fc7eba1704.js} +1 -1
- data/tools/cmdsender/LabelvaluelimitsbarWidget-DVa-oYxU-1f9c621c0d7cdec1e25c.js +1 -0
- data/tools/cmdsender/LabelvaluelimitscolumnWidget-DduuX632-8c5ff9b1021e50deae00.js +1 -0
- data/tools/cmdsender/{LabelvaluerangebarWidget-DCJ42bmf-d7afd12d4a48a917f9e8.js → LabelvaluerangebarWidget-BR9vXOlt-7af15960572da3956642.js} +1 -1
- data/tools/cmdsender/{Layout-D4YBjuWs-583536aa12d8f093d8e3.js → Layout-Bk8EGxbP-b88f7448ecee3ab8503f.js} +1 -1
- data/tools/cmdsender/LedWidget-f7bf8ls_-3136158d886bd78cded0.js +1 -0
- data/tools/cmdsender/{LimitsbarWidget-D-wfz_St-21c8e72fdac76bad7143.js → LimitsbarWidget-B7fHaDcJ-29d80a072ab030bea1a2.js} +1 -1
- data/tools/cmdsender/{LimitscolorWidget-B0AVGdkz-4ac2d13fe998758ca84c.js → LimitscolorWidget-CpC4D_TC-aa757f2b02c96020a983.js} +1 -1
- data/tools/cmdsender/{LimitscolumnWidget-Dt5ce4hN-8b1119f6301eac097187.js → LimitscolumnWidget-C9FbNC-U-7be88a45c00364bf02dd.js} +1 -1
- data/tools/cmdsender/LinegraphWidget-DkWDQ_3K-b213245e8ad6b6abd809.js +1 -0
- data/tools/cmdsender/{MatrixbycolumnsWidget-wLx4NvXV-774e3a6fcab20b0c6448.js → MatrixbycolumnsWidget-CHJDyYa3-b682547651be72e79370.js} +1 -1
- data/tools/cmdsender/{ProgressbarWidget-B7l0BBiX-468f0d738a18c61dde60.js → ProgressbarWidget-CRZDxClT-aabf72ae3a1f18350bea.js} +1 -1
- data/tools/cmdsender/RadiobuttonWidget-BW4yFweH-aadd3857121997188088.js +1 -0
- data/tools/cmdsender/{RadiogroupWidget-Busjqikr-2e4b2935b15ff341e62b.js → RadiogroupWidget-_0bVCHjr-dfc4882a4102b2ddfb16.js} +1 -1
- data/tools/cmdsender/{RangebarWidget-DbYrwEfC-20517e3e661d03bf7afe.js → RangebarWidget-CEQFiG4l-bc5f22926cdc330c0f5b.js} +1 -1
- data/tools/cmdsender/{RollupWidget-rKxLXuCv-bbe5342ec4066f452f29.js → RollupWidget-579c7y0R-7e534129aaf47debe494.js} +1 -1
- data/tools/cmdsender/ScrollwindowWidget-Kcre9gM3-5eac30dad65ca1edb6eb.js +1 -0
- data/tools/cmdsender/{SignalWidget-h-oivReC-6cdafa1a64ddb6920377.js → SignalWidget-D55Myd0q-a34f66990be9894f19b9.js} +1 -1
- data/tools/cmdsender/{SpacerWidget-BSy9eOlB-6499772ba0a8beb636cc.js → SpacerWidget-DBDv_w_s-31487b7e1cd80a152564.js} +1 -1
- data/tools/cmdsender/SparklineWidget-DJvIL24z-17ca4aad72a7a40b1f5d.js +1 -0
- data/tools/cmdsender/TabbookWidget-DH9DHnp1-87b8b2e374557003ecd5.js +1 -0
- data/tools/cmdsender/TextboxWidget-DCjIEzJn-7d8f5ca2780363ad3515.js +1 -0
- data/tools/cmdsender/{TextfieldWidget-aVRdXRsT-63e891c4e771f5de6796.js → TextfieldWidget-BRQ6oPzR-bafdc4a43a23c256738f.js} +1 -1
- data/tools/cmdsender/{TimeWidget-BE2rtMxg-c27729f03957442c6e1c.js → TimeWidget-pXtrK5IC-8516eeaf60d7ad150707.js} +1 -1
- data/tools/cmdsender/TitleWidget-CfAa2SyT-89937fdd0649188d33ed.js +1 -0
- data/tools/cmdsender/VWidget-CN_afCKJ-b46fec141a24e6431c35.js +1 -0
- data/tools/cmdsender/ValueWidget-DIFivXw_-bac11786957be08836ba.js +1 -0
- data/tools/cmdsender/ValuelimitsbarWidget-Cb7_SIUF-be9deb0ae5cf52c41408.js +1 -0
- data/tools/cmdsender/ValuelimitscolumnWidget-D8bgZ7YP-9fa33b6ecfde1adcf8b6.js +1 -0
- data/tools/cmdsender/ValuerangebarWidget-VKygtFwP-b74ce17cfce6af36f6e6.js +1 -0
- data/tools/cmdsender/{VerticalWidget-DziyURNu-e0b82b7a0d24dd5d1526.js → VerticalWidget-BuvedA_b-7c0d3235442d8a70dcef.js} +1 -1
- data/tools/cmdsender/VerticalboxWidget-D_LcL3GF-79a339b565bd0ab4b40a.js +1 -0
- data/tools/cmdsender/{Widget-C7ms_xDE-3bcea1febf251efccd7e.js → Widget-CERFa1CU-1ce6fb0ced8ad3a879f1.js} +1 -1
- data/tools/cmdsender/main-53bc4b5be08befb7a112.js +1423 -0
- data/tools/cmdsender/main.js +1 -1
- metadata +70 -68
- data/tools/cmdsender/ArrayWidget-DBpEoQ1y-7774f174f100079a8a19.js +0 -2
- data/tools/cmdsender/BlockWidget-Bmi0UcUW-6ba650ec33b40d8cf01c.js +0 -2
- data/tools/cmdsender/CanvasWidget-BqdyLbQz-167c323870bbdd0b3f0a.js +0 -1
- data/tools/cmdsender/CanvasdotWidget-YYwca104-3c5550facd36f5ee6eac.js +0 -1
- data/tools/cmdsender/CanvaslabelWidget-BfMHNei--ddf219663eebb46e3e99.js +0 -1
- data/tools/cmdsender/CanvaslineWidget-BmOwJP_G-2a8c53c443123088b6ac.js +0 -1
- data/tools/cmdsender/CanvaslinevalueWidget-H3L1aUKM-a4c9e63e78093733ab93.js +0 -1
- data/tools/cmdsender/CheckbuttonWidget-BnT9X7wE-1ccb715f3ae947f1a60a.js +0 -1
- data/tools/cmdsender/ComboboxWidget-BykAAoxH-cf35e0e6ad301a3be379.js +0 -1
- data/tools/cmdsender/CommandSender-1ae9e7b06ab4a44e3988.js +0 -1109
- data/tools/cmdsender/GraphWidget-BohHW-97-faf931524e0f1fcaf469.js +0 -1
- data/tools/cmdsender/HorizontalboxWidget-D-kCNwI3-52bf1c4d51d144ddda92.js +0 -1
- data/tools/cmdsender/HorizontallineWidget-BdlNB951-ce22f48a612ae9004c09.js +0 -1
- data/tools/cmdsender/ImageLoader-y6fAZe9P-be2fdea8237d46c95a90.js +0 -1
- data/tools/cmdsender/LabelsparklineWidget--sxBENxs-c1ed7a8108887948d8ec.js +0 -1
- data/tools/cmdsender/LabelvalueWidget-BWpP5KX6-5fefd46f4773bfb9ac62.js +0 -1
- data/tools/cmdsender/LabelvaluelimitsbarWidget-Bj6UVK-5-f5f0705d019564ee5ff2.js +0 -1
- data/tools/cmdsender/LabelvaluelimitscolumnWidget-BVcEEcUx-c374ebf3559a730c88b4.js +0 -1
- data/tools/cmdsender/LedWidget-hN9JHxjr-ca1a4be6c84b62755121.js +0 -1
- data/tools/cmdsender/LinegraphWidget-CTjtvtPd-38c53ea1a35e71abbf6e.js +0 -1
- data/tools/cmdsender/RadiobuttonWidget-B032jKIw-84e0a102cc723cb3175b.js +0 -1
- data/tools/cmdsender/ScrollwindowWidget-D4NKIzQO-cf05873762f289c94fa1.js +0 -1
- data/tools/cmdsender/SparklineWidget-C9vdxar--ed6cef5da69f19d06020.js +0 -1
- data/tools/cmdsender/TabbookWidget-DTFTKURm-702f0e437f846a8af994.js +0 -1
- data/tools/cmdsender/TextboxWidget-BZyYHmBq-8c5923acee53bab72c82.js +0 -1
- data/tools/cmdsender/TitleWidget-BB29MZb2-5be03ab24576d78c18fe.js +0 -1
- data/tools/cmdsender/VWidget-CGdM4sTw-f5881252e6f5adbafc7e.js +0 -1
- data/tools/cmdsender/ValueWidget-h3905woQ-dfd435618aad43031119.js +0 -1
- data/tools/cmdsender/ValuelimitsbarWidget-LMXYjWtS-ff48a7489cf874306856.js +0 -1
- data/tools/cmdsender/ValuelimitscolumnWidget-gA3ZcfAT-1d440c612ec5819e135e.js +0 -1
- data/tools/cmdsender/ValuerangebarWidget-DwZ9KQ0O-fab6e18035be68ad18d5.js +0 -1
- data/tools/cmdsender/VerticalboxWidget-OcoZBsFU-e0bb467552e346f35c8e.js +0 -1
- data/tools/cmdsender/main-d619649b01078bd926a2.js +0 -1423
@@ -0,0 +1,1109 @@
|
|
1
|
+
System.register(["./main-53bc4b5be08befb7a112.js","vue","./CriticalCmdDialog-r7_5Z4Du-3259ca292d7bd76b4edc.js","./DetailsDialog-DyGpm5TP-c156c96d6fa309c2eebd.js","vue-router","single-spa","vuex","vuetify"],function(exports,module){"use strict";var s,_export_sfc,$e$1,et$1,resolveComponent,createBlock,openBlock,Teleport,createVNode,withCtx,createElementVNode,toDisplayString,createElementBlock,Fragment,renderList,createTextVNode,mergeProps,createSlots,createCommentVNode,normalizeStyle,normalizeClass,withModifiers,N,P$1;return{setters:[$=>{s=$.s,_export_sfc=$._,$e$1=$.$,et$1=$.e},$=>{resolveComponent=$.resolveComponent,createBlock=$.createBlock,openBlock=$.openBlock,Teleport=$.Teleport,createVNode=$.createVNode,withCtx=$.withCtx,createElementVNode=$.createElementVNode,toDisplayString=$.toDisplayString,createElementBlock=$.createElementBlock,Fragment=$.Fragment,renderList=$.renderList,createTextVNode=$.createTextVNode,mergeProps=$.mergeProps,createSlots=$.createSlots,createCommentVNode=$.createCommentVNode,normalizeStyle=$.normalizeStyle,normalizeClass=$.normalizeClass,withModifiers=$.withModifiers},$=>{N=$.N},$=>{P$1=$.P},null,null,null,null],execute:function(){var __vite_style__=document.createElement("style");__vite_style__.textContent=`.container[data-v-b19a55d5] .v-select__selections{width:auto}.v-overflow-btn[data-v-b19a55d5]{margin-top:0}.container[data-v-b19a55d5]{padding:0}.hazardous[data-v-b19a55d5] .v-select__selection-text{color:#ffdc00!important}.editor[data-v-dda0eae4]{margin-left:30px;height:50px;width:95%;position:relative;font-size:16px}
|
2
|
+
/*$vite$:1*/`,document.head.appendChild(__vite_style__);const I$1={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function($){return $.replaceAll(" ","-").toLowerCase()},subMenuClick($){$.command($),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},P={class:"app-title mr-2"};function q$1($,m,f,p,ze,B){const T=resolveComponent("v-col"),L=resolveComponent("v-row"),l=resolveComponent("v-icon"),u=resolveComponent("v-btn"),i=resolveComponent("v-divider"),r=resolveComponent("v-list-item-title"),o=resolveComponent("v-list-item"),t=resolveComponent("v-list"),e=resolveComponent("v-menu"),n=resolveComponent("v-radio"),c=resolveComponent("v-list-item-action"),d=resolveComponent("v-radio-group"),g=resolveComponent("v-checkbox");return openBlock(),createBlock(Teleport,{to:"#openc3-menu"},[createVNode(L,{"no-gutters":""},{default:withCtx(()=>[createVNode(T,{"align-self":"end"},{default:withCtx(()=>[createElementVNode("span",P,toDisplayString(f.title),1)]),_:1})]),_:1}),createVNode(L,{dense:"",class:"flex-nowrap"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(f.menus,(G,R)=>(openBlock(),createBlock(e,{ref_for:!0,ref:"topmenu",key:R},{activator:withCtx(({props:_})=>[createVNode(u,mergeProps({ref_for:!0},_,{variant:"outlined",class:"mx-1 menu-button",text:G.label,"data-test":B.formatDT(`${f.title} ${G.label}`)}),{append:withCtx(()=>[createVNode(l,{class:"menu-button-icon"},{default:withCtx(()=>m[0]||(m[0]=[createTextVNode(" mdi-menu-down ")])),_:1})]),_:2},1040,["text","data-test"])]),default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(G.items,(_,S)=>(openBlock(),createElementBlock(Fragment,null,[_.divider?(openBlock(),createBlock(i,{key:S+"-divider"})):_.subMenu&&_.subMenu.length>0?(openBlock(),createElementBlock("div",{key:S+"-submenu"},[(openBlock(),createBlock(e,{"open-on-hover":"",location:"right",key:S},{activator:withCtx(({props:Me})=>[(openBlock(),createBlock(o,mergeProps({ref_for:!0},Me,{disabled:_.disabled,key:S}),createSlots({append:withCtx(()=>[createVNode(l,null,{default:withCtx(()=>m[1]||(m[1]=[createTextVNode(" mdi-chevron-right ")])),_:1})]),default:withCtx(()=>[!_.radio&&!_.checkbox?(openBlock(),createBlock(r,{key:0,style:normalizeStyle("cursor: pointer;"+(_.disabled?"opacity: 0.2":""))},{default:withCtx(()=>[createTextVNode(toDisplayString(_.label),1)]),_:2},1032,["style"])):createCommentVNode("",!0)]),_:2},[_.icon?{name:"prepend",fn:withCtx(()=>[createVNode(l,{disabled:_.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(_.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(_.subMenu,(Me,He)=>(openBlock(),createBlock(o,{key:He,"prepend-icon":Me.icon,onClick:Te=>B.subMenuClick(Me)},{default:withCtx(()=>[createVNode(r,null,{default:withCtx(()=>[createTextVNode(toDisplayString(Me.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):_.radioGroup?(openBlock(),createBlock(d,{"model-value":_.value,"onUpdate:modelValue":_.command,key:S+"-radio-group","hide-details":"",density:"compact",class:"ma-0 pa-0"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(_.choices,(Me,He)=>(openBlock(),createBlock(o,{key:He+"-choice"},{default:withCtx(()=>[createVNode(c,{class:"list-action"},{default:withCtx(()=>[createVNode(n,{color:"secondary",label:Me.label,value:Me.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(openBlock(),createBlock(o,{onClick:Me=>_.command(_),disabled:_.disabled,"data-test":B.formatDT(`${f.title} ${G.label} ${_.label}`),key:S+"-list"},createSlots({default:withCtx(()=>[_.checkbox?(openBlock(),createBlock(c,{key:0,class:"list-action"},{default:withCtx(()=>[createVNode(g,{modelValue:_.checked,"onUpdate:modelValue":Me=>_.checked=Me,label:_.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):createCommentVNode("",!0),!_.radio&&!_.checkbox?(openBlock(),createBlock(r,{key:1,style:normalizeStyle("cursor: pointer;"+(_.disabled?"opacity: 0.2":""))},{default:withCtx(()=>[createTextVNode(toDisplayString(_.label),1)]),_:2},1032,["style"])):createCommentVNode("",!0)]),_:2},[_.icon?{name:"prepend",fn:withCtx(()=>[createVNode(l,{icon:_.icon,disabled:_.disabled},null,8,["icon","disabled"])]),key:"0"}:void 0]),1032,["onClick","disabled","data-test"]))],64))),256))]),_:2},1024)]),_:2},1024))),128))]),_:1})])}const W$1=s(I$1,[["render",q$1],["__scopeId","data-v-4d454b93"]]);var sprintf$1={},hasRequiredSprintf;function requireSprintf(){return hasRequiredSprintf||(hasRequiredSprintf=1,function($){(function(){var m={not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function f(L){return ze(T(L),arguments)}function p(L,l){return f.apply(null,[L].concat(l||[]))}function ze(L,l){var u=1,i=L.length,r,o="",t,e,n,c,d,g,G,R;for(t=0;t<i;t++)if(typeof L[t]=="string")o+=L[t];else if(typeof L[t]=="object"){if(n=L[t],n.keys)for(r=l[u],e=0;e<n.keys.length;e++){if(r==null)throw new Error(f('[sprintf] Cannot access property "%s" of undefined value "%s"',n.keys[e],n.keys[e-1]));r=r[n.keys[e]]}else n.param_no?r=l[n.param_no]:r=l[u++];if(m.not_type.test(n.type)&&m.not_primitive.test(n.type)&&r instanceof Function&&(r=r()),m.numeric_arg.test(n.type)&&typeof r!="number"&&isNaN(r))throw new TypeError(f("[sprintf] expecting number but found %T",r));switch(m.number.test(n.type)&&(G=r>=0),n.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,n.width?parseInt(n.width):0);break;case"e":r=n.precision?parseFloat(r).toExponential(n.precision):parseFloat(r).toExponential();break;case"f":r=n.precision?parseFloat(r).toFixed(n.precision):parseFloat(r);break;case"g":r=n.precision?String(Number(r.toPrecision(n.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=n.precision?r.substring(0,n.precision):r;break;case"t":r=String(!!r),r=n.precision?r.substring(0,n.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=n.precision?r.substring(0,n.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=n.precision?r.substring(0,n.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase();break}m.json.test(n.type)?o+=r:(m.number.test(n.type)&&(!G||n.sign)?(R=G?"+":"-",r=r.toString().replace(m.sign,"")):R="",d=n.pad_char?n.pad_char==="0"?"0":n.pad_char.charAt(1):" ",g=n.width-(R+r).length,c=n.width&&g>0?d.repeat(g):"",o+=n.align?R+r+c:d==="0"?R+c+r:c+R+r)}return o}var B=Object.create(null);function T(L){if(B[L])return B[L];for(var l=L,u,i=[],r=0;l;){if((u=m.text.exec(l))!==null)i.push(u[0]);else if((u=m.modulo.exec(l))!==null)i.push("%");else if((u=m.placeholder.exec(l))!==null){if(u[2]){r|=1;var o=[],t=u[2],e=[];if((e=m.key.exec(t))!==null)for(o.push(e[1]);(t=t.substring(e[0].length))!=="";)if((e=m.key_access.exec(t))!==null)o.push(e[1]);else if((e=m.index_access.exec(t))!==null)o.push(e[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");u[2]=o}else r|=2;if(r===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");i.push({placeholder:u[0],param_no:u[1],keys:u[2],sign:u[3],pad_char:u[4],align:u[5],width:u[6],precision:u[7],type:u[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");l=l.substring(u[0].length)}return B[L]=i}$.sprintf=f,$.vsprintf=p,typeof window<"u"&&(window.sprintf=f,window.vsprintf=p)})()}(sprintf$1)),sprintf$1}requireSprintf();var ace$1={exports:{}},hasRequiredAce;function requireAce(){return hasRequiredAce||(hasRequiredAce=1,function($,m){(function(){var f="ace",p=function(){return this}();!p&&typeof window<"u"&&(p=window);var ze=function(i,r,o){if(typeof i!="string"){ze.original?ze.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(o=r),ze.modules[i]||(ze.payloads[i]=o,ze.modules[i]=null)};ze.modules={},ze.payloads={};var B=function(i,r,o){if(typeof r=="string"){var t=l(i,r);if(t!=null)return o&&o(),t}else if(Object.prototype.toString.call(r)==="[object Array]"){for(var e=[],n=0,c=r.length;n<c;++n){var d=l(i,r[n]);if(d==null&&T.original)return;e.push(d)}return o&&o.apply(null,e)||!0}},T=function(i,r){var o=B("",i,r);return o==null&&T.original?T.original.apply(this,arguments):o},L=function(i,r){if(r.indexOf("!")!==-1){var o=r.split("!");return L(i,o[0])+"!"+L(i,o[1])}if(r.charAt(0)=="."){var t=i.split("/").slice(0,-1).join("/");for(r=t+"/"+r;r.indexOf(".")!==-1&&e!=r;){var e=r;r=r.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return r},l=function(i,r){r=L(i,r);var o=ze.modules[r];if(!o){if(o=ze.payloads[r],typeof o=="function"){var t={},e={id:r,uri:"",exports:t,packaged:!0},n=function(d,g){return B(r,d,g)},c=o(n,t,e);t=c||e.exports,ze.modules[r]=t,delete ze.payloads[r]}o=ze.modules[r]=t||o}return o};function u(i){var r=p;p[i]||(p[i]={}),r=p[i],(!r.define||!r.define.packaged)&&(ze.original=r.define,r.define=ze,r.define.packaged=!0),(!r.require||!r.require.packaged)&&(T.original=r.require,r.require=T,r.require.packaged=!0)}u(f)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(f,p,ze){function B(T,L,l){Object.defineProperty(T,L,{value:l,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||B(String.prototype,"startsWith",function(T,L){return L=L||0,this.lastIndexOf(T,L)===L}),String.prototype.endsWith||B(String.prototype,"endsWith",function(T,L){var l=this;(L===void 0||L>l.length)&&(L=l.length),L-=T.length;var u=l.indexOf(T,L);return u!==-1&&u===L}),String.prototype.repeat||B(String.prototype,"repeat",function(T){for(var L="",l=this;T>0;)T&1&&(L+=l),(T>>=1)&&(l+=l);return L}),String.prototype.includes||B(String.prototype,"includes",function(T,L){return this.indexOf(T,L)!=-1}),Object.assign||(Object.assign=function(T){if(T==null)throw new TypeError("Cannot convert undefined or null to object");for(var L=Object(T),l=1;l<arguments.length;l++){var u=arguments[l];u!=null&&Object.keys(u).forEach(function(i){L[i]=u[i]})}return L}),Object.values||(Object.values=function(T){return Object.keys(T).map(function(L){return T[L]})}),Array.prototype.find||B(Array.prototype,"find",function(T){for(var L=this.length,l=arguments[1],u=0;u<L;u++){var i=this[u];if(T.call(l,i,u,this))return i}}),Array.prototype.findIndex||B(Array.prototype,"findIndex",function(T){for(var L=this.length,l=arguments[1],u=0;u<L;u++){var i=this[u];if(T.call(l,i,u,this))return u}}),Array.prototype.includes||B(Array.prototype,"includes",function(T,L){return this.indexOf(T,L)!=-1}),Array.prototype.fill||B(Array.prototype,"fill",function(T){for(var L=this,l=L.length>>>0,u=arguments[1],i=u>>0,r=i<0?Math.max(l+i,0):Math.min(i,l),o=arguments[2],t=o===void 0?l:o>>0,e=t<0?Math.max(l+t,0):Math.min(t,l);r<e;)L[r]=T,r++;return L}),Array.of||B(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(f,p,ze){f("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(f,p,ze){p.deepCopy=function B(T){if(typeof T!="object"||!T)return T;var L;if(Array.isArray(T)){L=[];for(var l=0;l<T.length;l++)L[l]=B(T[l]);return L}if(Object.prototype.toString.call(T)!=="[object Object]")return T;L={};for(var l in T)L[l]=B(T[l]);return L}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(f,p,ze){p.last=function(L){return L[L.length-1]},p.stringReverse=function(L){return L.split("").reverse().join("")},p.stringRepeat=function(L,l){for(var u="";l>0;)l&1&&(u+=L),(l>>=1)&&(L+=L);return u};var B=/^\s\s*/,T=/\s\s*$/;p.stringTrimLeft=function(L){return L.replace(B,"")},p.stringTrimRight=function(L){return L.replace(T,"")},p.copyObject=function(L){var l={};for(var u in L)l[u]=L[u];return l},p.copyArray=function(L){for(var l=[],u=0,i=L.length;u<i;u++)L[u]&&typeof L[u]=="object"?l[u]=this.copyObject(L[u]):l[u]=L[u];return l},p.deepCopy=f("./deep_copy").deepCopy,p.arrayToMap=function(L){for(var l={},u=0;u<L.length;u++)l[L[u]]=1;return l},p.createMap=function(L){var l=Object.create(null);for(var u in L)l[u]=L[u];return l},p.arrayRemove=function(L,l){for(var u=0;u<=L.length;u++)l===L[u]&&L.splice(u,1)},p.escapeRegExp=function(L){return L.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},p.escapeHTML=function(L){return(""+L).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},p.getMatchOffsets=function(L,l){var u=[];return L.replace(l,function(i){u.push({offset:arguments[arguments.length-2],length:i.length})}),u},p.deferredCall=function(L){var l=null,u=function(){l=null,L()},i=function(r){return i.cancel(),l=setTimeout(u,r||0),i};return i.schedule=i,i.call=function(){return this.cancel(),L(),i},i.cancel=function(){return clearTimeout(l),l=null,i},i.isPending=function(){return l},i},p.delayedCall=function(L,l){var u=null,i=function(){u=null,L()},r=function(o){u==null&&(u=setTimeout(i,o||l))};return r.delay=function(o){u&&clearTimeout(u),u=setTimeout(i,o||l)},r.schedule=r,r.call=function(){this.cancel(),L()},r.cancel=function(){u&&clearTimeout(u),u=null},r.isPending=function(){return u},r},p.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},p.skipEmptyMatch=function(L,l,u){return u&&L.codePointAt(l)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(f,p,ze){p.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},p.getOS=function(){return p.isMac?p.OS.MAC:p.isLinux?p.OS.LINUX:p.OS.WINDOWS};var B=typeof navigator=="object"?navigator:{},T=(/mac|win|linux/i.exec(B.platform)||["other"])[0].toLowerCase(),L=B.userAgent||"",l=B.appName||"";p.isWin=T=="win",p.isMac=T=="mac",p.isLinux=T=="linux",p.isIE=l=="Microsoft Internet Explorer"||l.indexOf("MSAppHost")>=0?parseFloat((L.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((L.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),p.isOldIE=p.isIE&&p.isIE<9,p.isGecko=p.isMozilla=L.match(/ Gecko\/\d+/),p.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",p.isWebKit=parseFloat(L.split("WebKit/")[1])||void 0,p.isChrome=parseFloat(L.split(" Chrome/")[1])||void 0,p.isSafari=parseFloat(L.split(" Safari/")[1])&&!p.isChrome||void 0,p.isEdge=parseFloat(L.split(" Edge/")[1])||void 0,p.isAIR=L.indexOf("AdobeAIR")>=0,p.isAndroid=L.indexOf("Android")>=0,p.isChromeOS=L.indexOf(" CrOS ")>=0,p.isIOS=/iPad|iPhone|iPod/.test(L)&&!window.MSStream,p.isIOS&&(p.isMac=!0),p.isMobile=p.isIOS||p.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(f,p,ze){var B=f("./useragent"),T="http://www.w3.org/1999/xhtml";p.buildDom=function o(t,e,n){if(typeof t=="string"&&t){var c=document.createTextNode(t);return e&&e.appendChild(c),c}if(!Array.isArray(t))return t&&t.appendChild&&e&&e.appendChild(t),t;if(typeof t[0]!="string"||!t[0]){for(var d=[],g=0;g<t.length;g++){var G=o(t[g],e,n);G&&d.push(G)}return d}var R=document.createElement(t[0]),_=t[1],S=1;_&&typeof _=="object"&&!Array.isArray(_)&&(S=2);for(var g=S;g<t.length;g++)o(t[g],R,n);return S==2&&Object.keys(_).forEach(function(Me){var He=_[Me];Me==="class"?R.className=Array.isArray(He)?He.join(" "):He:typeof He=="function"||Me=="value"||Me[0]=="$"?R[Me]=He:Me==="ref"?n&&(n[He]=R):Me==="style"?typeof He=="string"&&(R.style.cssText=He):He!=null&&R.setAttribute(Me,He)}),e&&e.appendChild(R),R},p.getDocumentHead=function(o){return o||(o=document),o.head||o.getElementsByTagName("head")[0]||o.documentElement},p.createElement=function(o,t){return document.createElementNS?document.createElementNS(t||T,o):document.createElement(o)},p.removeChildren=function(o){o.innerHTML=""},p.createTextNode=function(o,t){var e=t?t.ownerDocument:document;return e.createTextNode(o)},p.createFragment=function(o){var t=o?o.ownerDocument:document;return t.createDocumentFragment()},p.hasCssClass=function(o,t){var e=(o.className+"").split(/\s+/g);return e.indexOf(t)!==-1},p.addCssClass=function(o,t){p.hasCssClass(o,t)||(o.className+=" "+t)},p.removeCssClass=function(o,t){for(var e=o.className.split(/\s+/g);;){var n=e.indexOf(t);if(n==-1)break;e.splice(n,1)}o.className=e.join(" ")},p.toggleCssClass=function(o,t){for(var e=o.className.split(/\s+/g),n=!0;;){var c=e.indexOf(t);if(c==-1)break;n=!1,e.splice(c,1)}return n&&e.push(t),o.className=e.join(" "),n},p.setCssClass=function(o,t,e){e?p.addCssClass(o,t):p.removeCssClass(o,t)},p.hasCssString=function(o,t){var e=0,n;if(t=t||document,n=t.querySelectorAll("style")){for(;e<n.length;)if(n[e++].id===o)return!0}},p.removeElementById=function(o,t){t=t||document,t.getElementById(o)&&t.getElementById(o).remove()};var L,l=[];p.useStrictCSP=function(o){L=o,o==!1?u():l||(l=[])};function u(){var o=l;l=null,o&&o.forEach(function(t){i(t[0],t[1])})}function i(o,t,e){if(!(typeof document>"u")){if(l){if(e)u();else if(e===!1)return l.push([o,t])}if(!L){var n=e;!e||!e.getRootNode?n=document:(n=e.getRootNode(),(!n||n==e)&&(n=document));var c=n.ownerDocument||n;if(t&&p.hasCssString(t,n))return null;t&&(o+=`
|
3
|
+
/*# sourceURL=ace/css/`+t+" */");var d=p.createElement("style");d.appendChild(c.createTextNode(o)),t&&(d.id=t),n==c&&(n=p.getDocumentHead(c)),n.insertBefore(d,n.firstChild)}}}if(p.importCssString=i,p.importCssStylsheet=function(o,t){p.buildDom(["link",{rel:"stylesheet",href:o}],p.getDocumentHead(t))},p.scrollbarWidth=function(o){var t=p.createElement("ace_inner");t.style.width="100%",t.style.minWidth="0px",t.style.height="200px",t.style.display="block";var e=p.createElement("ace_outer"),n=e.style;n.position="absolute",n.left="-10000px",n.overflow="hidden",n.width="200px",n.minWidth="0px",n.height="150px",n.display="block",e.appendChild(t);var c=o&&o.documentElement||document&&document.documentElement;if(!c)return 0;c.appendChild(e);var d=t.offsetWidth;n.overflow="scroll";var g=t.offsetWidth;return d===g&&(g=e.clientWidth),c.removeChild(e),d-g},p.computedStyle=function(o,t){return window.getComputedStyle(o,"")||{}},p.setStyle=function(o,t,e){o[t]!==e&&(o[t]=e)},p.HAS_CSS_ANIMATION=!1,p.HAS_CSS_TRANSFORMS=!1,p.HI_DPI=B.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,B.isChromeOS&&(p.HI_DPI=!1),typeof document<"u"){var r=document.createElement("div");p.HI_DPI&&r.style.transform!==void 0&&(p.HAS_CSS_TRANSFORMS=!0),!B.isEdge&&typeof r.style.animationName<"u"&&(p.HAS_CSS_ANIMATION=!0),r=null}p.HAS_CSS_TRANSFORMS?p.translate=function(o,t,e){o.style.transform="translate("+Math.round(t)+"px, "+Math.round(e)+"px)"}:p.translate=function(o,t,e){o.style.top=Math.round(e)+"px",o.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(f,p,ze){/*
|
4
|
+
* based on code from:
|
5
|
+
*
|
6
|
+
* @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
|
7
|
+
* Available via the MIT or new BSD license.
|
8
|
+
* see: http://github.com/jrburke/requirejs for details
|
9
|
+
*/var B=f("./dom");p.get=function(T,L){var l=new XMLHttpRequest;l.open("GET",T,!0),l.onreadystatechange=function(){l.readyState===4&&L(l.responseText)},l.send(null)},p.loadScript=function(T,L){var l=B.getDocumentHead(),u=document.createElement("script");u.src=T,l.appendChild(u),u.onload=u.onreadystatechange=function(i,r){(r||!u.readyState||u.readyState=="loaded"||u.readyState=="complete")&&(u=u.onload=u.onreadystatechange=null,r||L())}},p.qualifyURL=function(T){var L=document.createElement("a");return L.href=T,L.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(f,p,ze){p.inherits=function(B,T){B.super_=T,B.prototype=Object.create(T.prototype,{constructor:{value:B,enumerable:!1,writable:!0,configurable:!0}})},p.mixin=function(B,T){for(var L in T)B[L]=T[L];return B},p.implement=function(B,T){p.mixin(B,T)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(f,p,ze){var B={},T=function(){this.propagationStopped=!0},L=function(){this.defaultPrevented=!0};B._emit=B._dispatchEvent=function(l,u){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var i=this._eventRegistry[l]||[],r=this._defaultHandlers[l];if(!(!i.length&&!r)){(typeof u!="object"||!u)&&(u={}),u.type||(u.type=l),u.stopPropagation||(u.stopPropagation=T),u.preventDefault||(u.preventDefault=L),i=i.slice();for(var o=0;o<i.length&&(i[o](u,this),!u.propagationStopped);o++);if(r&&!u.defaultPrevented)return r(u,this)}},B._signal=function(l,u){var i=(this._eventRegistry||{})[l];if(i){i=i.slice();for(var r=0;r<i.length;r++)i[r](u,this)}},B.once=function(l,u){var i=this;if(this.on(l,function r(){i.off(l,r),u.apply(null,arguments)}),!u)return new Promise(function(r){u=r})},B.setDefaultHandler=function(l,u){var i=this._defaultHandlers;if(i||(i=this._defaultHandlers={_disabled_:{}}),i[l]){var r=i[l],o=i._disabled_[l];o||(i._disabled_[l]=o=[]),o.push(r);var t=o.indexOf(u);t!=-1&&o.splice(t,1)}i[l]=u},B.removeDefaultHandler=function(l,u){var i=this._defaultHandlers;if(i){var r=i._disabled_[l];if(i[l]==u)r&&this.setDefaultHandler(l,r.pop());else if(r){var o=r.indexOf(u);o!=-1&&r.splice(o,1)}}},B.on=B.addEventListener=function(l,u,i){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[l];return r||(r=this._eventRegistry[l]=[]),r.indexOf(u)==-1&&r[i?"unshift":"push"](u),u},B.off=B.removeListener=B.removeEventListener=function(l,u){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[l];if(i){var r=i.indexOf(u);r!==-1&&i.splice(r,1)}},B.removeAllListeners=function(l){l||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[l]=void 0),this._defaultHandlers&&(this._defaultHandlers[l]=void 0)},p.EventEmitter=B}),ace.define("ace/lib/report_error",["require","exports","module"],function(f,p,ze){p.reportError=function(T,L){var l=new Error(T);l.data=L,typeof console=="object"&&console.error&&console.error(l),setTimeout(function(){throw l})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(f,p,ze){var B={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions"};p.defaultEnglishMessages=B}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(f,p,ze){"no use strict";var B=f("./oop"),T=f("./event_emitter").EventEmitter,L=f("./report_error").reportError,l=f("./default_english_messages").defaultEnglishMessages,u={setOptions:function(e){Object.keys(e).forEach(function(n){this.setOption(n,e[n])},this)},getOptions:function(e){var n={};if(e)Array.isArray(e)||(n=e,e=Object.keys(n));else{var c=this.$options;e=Object.keys(c).filter(function(d){return!c[d].hidden})}return e.forEach(function(d){n[d]=this.getOption(d)},this),n},setOption:function(e,n){if(this["$"+e]!==n){var c=this.$options[e];if(!c)return i('misspelled option "'+e+'"');if(c.forwardTo)return this[c.forwardTo]&&this[c.forwardTo].setOption(e,n);c.handlesSet||(this["$"+e]=n),c&&c.set&&c.set.call(this,n)}},getOption:function(e){var n=this.$options[e];return n?n.forwardTo?this[n.forwardTo]&&this[n.forwardTo].getOption(e):n&&n.get?n.get.call(this):this["$"+e]:i('misspelled option "'+e+'"')}};function i(e){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var r,o,t=function(){function e(){this.$defaultOptions={},r=l,o="dollarSigns"}return e.prototype.defineOptions=function(n,c,d){return n.$options||(this.$defaultOptions[c]=n.$options={}),Object.keys(d).forEach(function(g){var G=d[g];typeof G=="string"&&(G={forwardTo:G}),G.name||(G.name=g),n.$options[G.name]=G,"initialValue"in G&&(n["$"+G.name]=G.initialValue)}),B.implement(n,u),this},e.prototype.resetOptions=function(n){Object.keys(n.$options).forEach(function(c){var d=n.$options[c];"value"in d&&n.setOption(c,d.value)})},e.prototype.setDefaultValue=function(n,c,d){if(!n){for(n in this.$defaultOptions)if(this.$defaultOptions[n][c])break;if(!this.$defaultOptions[n][c])return!1}var g=this.$defaultOptions[n]||(this.$defaultOptions[n]={});g[c]&&(g.forwardTo?this.setDefaultValue(g.forwardTo,c,d):g[c].value=d)},e.prototype.setDefaultValues=function(n,c){Object.keys(c).forEach(function(d){this.setDefaultValue(n,d,c[d])},this)},e.prototype.setMessages=function(n,c){r=n,c&&c.placeholders&&(o=c.placeholders)},e.prototype.nls=function(n,c,d){r[n]||(i("No message found for the key '"+n+"' in messages with id "+r.$id+", trying to find a translation for the default string '"+c+"'."),r[c]||i("No message found for the default string '"+c+"' in the provided messages. Falling back to the default English message."));var g=r[n]||r[c]||c;return d&&(o==="dollarSigns"&&(g=g.replace(/\$(\$|[\d]+)/g,function(G,R){return R=="$"?"$":d[R]})),o==="curlyBrackets"&&(g=g.replace(/\{([^\}]+)\}/g,function(G,R){return d[R]}))),g},e}();t.prototype.warn=i,t.prototype.reportError=L,B.implement(t.prototype,T),p.AppConfig=t}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(f,p,ze){ze.exports=`.ace-tm .ace_gutter {
|
10
|
+
background: #f0f0f0;
|
11
|
+
color: #333;
|
12
|
+
}
|
13
|
+
|
14
|
+
.ace-tm .ace_print-margin {
|
15
|
+
width: 1px;
|
16
|
+
background: #e8e8e8;
|
17
|
+
}
|
18
|
+
|
19
|
+
.ace-tm .ace_fold {
|
20
|
+
background-color: #6B72E6;
|
21
|
+
}
|
22
|
+
|
23
|
+
.ace-tm {
|
24
|
+
background-color: #FFFFFF;
|
25
|
+
color: black;
|
26
|
+
}
|
27
|
+
|
28
|
+
.ace-tm .ace_cursor {
|
29
|
+
color: black;
|
30
|
+
}
|
31
|
+
|
32
|
+
.ace-tm .ace_invisible {
|
33
|
+
color: rgb(191, 191, 191);
|
34
|
+
}
|
35
|
+
|
36
|
+
.ace-tm .ace_storage,
|
37
|
+
.ace-tm .ace_keyword {
|
38
|
+
color: blue;
|
39
|
+
}
|
40
|
+
|
41
|
+
.ace-tm .ace_constant {
|
42
|
+
color: rgb(197, 6, 11);
|
43
|
+
}
|
44
|
+
|
45
|
+
.ace-tm .ace_constant.ace_buildin {
|
46
|
+
color: rgb(88, 72, 246);
|
47
|
+
}
|
48
|
+
|
49
|
+
.ace-tm .ace_constant.ace_language {
|
50
|
+
color: rgb(88, 92, 246);
|
51
|
+
}
|
52
|
+
|
53
|
+
.ace-tm .ace_constant.ace_library {
|
54
|
+
color: rgb(6, 150, 14);
|
55
|
+
}
|
56
|
+
|
57
|
+
.ace-tm .ace_invalid {
|
58
|
+
background-color: rgba(255, 0, 0, 0.1);
|
59
|
+
color: red;
|
60
|
+
}
|
61
|
+
|
62
|
+
.ace-tm .ace_support.ace_function {
|
63
|
+
color: rgb(60, 76, 114);
|
64
|
+
}
|
65
|
+
|
66
|
+
.ace-tm .ace_support.ace_constant {
|
67
|
+
color: rgb(6, 150, 14);
|
68
|
+
}
|
69
|
+
|
70
|
+
.ace-tm .ace_support.ace_type,
|
71
|
+
.ace-tm .ace_support.ace_class {
|
72
|
+
color: rgb(109, 121, 222);
|
73
|
+
}
|
74
|
+
|
75
|
+
.ace-tm .ace_keyword.ace_operator {
|
76
|
+
color: rgb(104, 118, 135);
|
77
|
+
}
|
78
|
+
|
79
|
+
.ace-tm .ace_string {
|
80
|
+
color: rgb(3, 106, 7);
|
81
|
+
}
|
82
|
+
|
83
|
+
.ace-tm .ace_comment {
|
84
|
+
color: rgb(76, 136, 107);
|
85
|
+
}
|
86
|
+
|
87
|
+
.ace-tm .ace_comment.ace_doc {
|
88
|
+
color: rgb(0, 102, 255);
|
89
|
+
}
|
90
|
+
|
91
|
+
.ace-tm .ace_comment.ace_doc.ace_tag {
|
92
|
+
color: rgb(128, 159, 191);
|
93
|
+
}
|
94
|
+
|
95
|
+
.ace-tm .ace_constant.ace_numeric {
|
96
|
+
color: rgb(0, 0, 205);
|
97
|
+
}
|
98
|
+
|
99
|
+
.ace-tm .ace_variable {
|
100
|
+
color: rgb(49, 132, 149);
|
101
|
+
}
|
102
|
+
|
103
|
+
.ace-tm .ace_xml-pe {
|
104
|
+
color: rgb(104, 104, 91);
|
105
|
+
}
|
106
|
+
|
107
|
+
.ace-tm .ace_entity.ace_name.ace_function {
|
108
|
+
color: #0000A2;
|
109
|
+
}
|
110
|
+
|
111
|
+
|
112
|
+
.ace-tm .ace_heading {
|
113
|
+
color: rgb(12, 7, 255);
|
114
|
+
}
|
115
|
+
|
116
|
+
.ace-tm .ace_list {
|
117
|
+
color:rgb(185, 6, 144);
|
118
|
+
}
|
119
|
+
|
120
|
+
.ace-tm .ace_meta.ace_tag {
|
121
|
+
color:rgb(0, 22, 142);
|
122
|
+
}
|
123
|
+
|
124
|
+
.ace-tm .ace_string.ace_regex {
|
125
|
+
color: rgb(255, 0, 0)
|
126
|
+
}
|
127
|
+
|
128
|
+
.ace-tm .ace_marker-layer .ace_selection {
|
129
|
+
background: rgb(181, 213, 255);
|
130
|
+
}
|
131
|
+
.ace-tm.ace_multiselect .ace_selection.ace_start {
|
132
|
+
box-shadow: 0 0 3px 0px white;
|
133
|
+
}
|
134
|
+
.ace-tm .ace_marker-layer .ace_step {
|
135
|
+
background: rgb(252, 255, 0);
|
136
|
+
}
|
137
|
+
|
138
|
+
.ace-tm .ace_marker-layer .ace_stack {
|
139
|
+
background: rgb(164, 229, 101);
|
140
|
+
}
|
141
|
+
|
142
|
+
.ace-tm .ace_marker-layer .ace_bracket {
|
143
|
+
margin: -1px 0 0 -1px;
|
144
|
+
border: 1px solid rgb(192, 192, 192);
|
145
|
+
}
|
146
|
+
|
147
|
+
.ace-tm .ace_marker-layer .ace_active-line {
|
148
|
+
background: rgba(0, 0, 0, 0.07);
|
149
|
+
}
|
150
|
+
|
151
|
+
.ace-tm .ace_gutter-active-line {
|
152
|
+
background-color : #dcdcdc;
|
153
|
+
}
|
154
|
+
|
155
|
+
.ace-tm .ace_marker-layer .ace_selected-word {
|
156
|
+
background: rgb(250, 250, 255);
|
157
|
+
border: 1px solid rgb(200, 200, 250);
|
158
|
+
}
|
159
|
+
|
160
|
+
.ace-tm .ace_indent-guide {
|
161
|
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
|
162
|
+
}
|
163
|
+
|
164
|
+
.ace-tm .ace_indent-guide-active {
|
165
|
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
|
166
|
+
}
|
167
|
+
`}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(f,p,ze){p.isDark=!1,p.cssClass="ace-tm",p.cssText=f("./textmate-css"),p.$id="ace/theme/textmate";var B=f("../lib/dom");B.importCssString(p.cssText,p.cssClass,!1)}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],function(f,p,ze){"no use strict";var B=f("./lib/lang"),T=f("./lib/net"),L=f("./lib/dom"),l=f("./lib/app_config").AppConfig;ze.exports=p=new l;var u={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};p.get=function(t){if(!u.hasOwnProperty(t))throw new Error("Unknown config key: "+t);return u[t]},p.set=function(t,e){if(u.hasOwnProperty(t))u[t]=e;else if(this.setDefaultValue("",t,e)==!1)throw new Error("Unknown config key: "+t);t=="useStrictCSP"&&L.useStrictCSP(e)},p.all=function(){return B.copyObject(u)},p.$modes={},p.moduleUrl=function(t,e){if(u.$moduleUrls[t])return u.$moduleUrls[t];var n=t.split("/");e=e||n[n.length-2]||"";var c=e=="snippets"?"/":"-",d=n[n.length-1];if(e=="worker"&&c=="-"){var g=new RegExp("^"+e+"[\\-_]|[\\-_]"+e+"$","g");d=d.replace(g,"")}(!d||d==e)&&n.length>1&&(d=n[n.length-2]);var G=u[e+"Path"];return G==null?G=u.basePath:c=="/"&&(e=c=""),G&&G.slice(-1)!="/"&&(G+="/"),G+e+c+d+this.get("suffix")},p.setModuleUrl=function(t,e){return u.$moduleUrls[t]=e};var i=function(t,e){if(t==="ace/theme/textmate"||t==="./theme/textmate")return e(null,f("./theme/textmate"));if(r)return r(t,e);console.error("loader is not configured")},r;p.setLoader=function(t){r=t},p.dynamicModules=Object.create(null),p.$loading={},p.$loaded={},p.loadModule=function(t,e){var n;if(Array.isArray(t))var c=t[0],d=t[1];else if(typeof t=="string")var d=t;var g=function(G){if(G&&!p.$loading[d])return e&&e(G);if(p.$loading[d]||(p.$loading[d]=[]),p.$loading[d].push(e),!(p.$loading[d].length>1)){var R=function(){i(d,function(_,S){S&&(p.$loaded[d]=S),p._emit("load.module",{name:d,module:S});var Me=p.$loading[d];p.$loading[d]=null,Me.forEach(function(He){He&&He(S)})})};if(!p.get("packaged"))return R();T.loadScript(p.moduleUrl(d,c),R),o()}};if(p.dynamicModules[d])p.dynamicModules[d]().then(function(G){G.default?g(G.default):g(G)});else{try{n=this.$require(d)}catch{}g(n||p.$loaded[d])}},p.$require=function(t){if(typeof ze.require=="function"){var e="require";return ze[e](t)}},p.setModuleLoader=function(t,e){p.dynamicModules[t]=e};var o=function(){!u.basePath&&!u.workerPath&&!u.modePath&&!u.themePath&&!Object.keys(u.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),o=function(){})};p.version="1.37.5"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(f,p,ze){f("./lib/fixoldbrowsers");var B=f("./config");B.setLoader(function(u,i){f([u],function(r){i(null,r)})});var T=function(){return this||typeof window<"u"&&window}();ze.exports=function(u){B.init=L,B.$require=f,u.require=f},L(!0);function L(u){if(!(!T||!T.document)){B.set("packaged",u||f.packaged||ze.packaged||T.define&&(void 0).packaged);var i={},r="",o=document.currentScript||document._currentScript,t=o&&o.ownerDocument||document;o&&o.src&&(r=o.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var e=t.getElementsByTagName("script"),n=0;n<e.length;n++){var c=e[n],d=c.src||c.getAttribute("src");if(d){for(var g=c.attributes,G=0,R=g.length;G<R;G++){var _=g[G];_.name.indexOf("data-ace-")===0&&(i[l(_.name.replace(/^data-ace-/,""))]=_.value)}var S=d.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);S&&(r=S[1])}}r&&(i.base=i.base||r,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var Me in i)typeof i[Me]<"u"&&B.set(Me,i[Me])}}function l(u){return u.replace(/-(.)/g,function(i,r){return r.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(f,p,ze){var B=function(){function T(L,l,u,i){this.start={row:L,column:l},this.end={row:u,column:i}}return T.prototype.isEqual=function(L){return this.start.row===L.start.row&&this.end.row===L.end.row&&this.start.column===L.start.column&&this.end.column===L.end.column},T.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},T.prototype.contains=function(L,l){return this.compare(L,l)==0},T.prototype.compareRange=function(L){var l,u=L.end,i=L.start;return l=this.compare(u.row,u.column),l==1?(l=this.compare(i.row,i.column),l==1?2:l==0?1:0):l==-1?-2:(l=this.compare(i.row,i.column),l==-1?-1:l==1?42:0)},T.prototype.comparePoint=function(L){return this.compare(L.row,L.column)},T.prototype.containsRange=function(L){return this.comparePoint(L.start)==0&&this.comparePoint(L.end)==0},T.prototype.intersects=function(L){var l=this.compareRange(L);return l==-1||l==0||l==1},T.prototype.isEnd=function(L,l){return this.end.row==L&&this.end.column==l},T.prototype.isStart=function(L,l){return this.start.row==L&&this.start.column==l},T.prototype.setStart=function(L,l){typeof L=="object"?(this.start.column=L.column,this.start.row=L.row):(this.start.row=L,this.start.column=l)},T.prototype.setEnd=function(L,l){typeof L=="object"?(this.end.column=L.column,this.end.row=L.row):(this.end.row=L,this.end.column=l)},T.prototype.inside=function(L,l){return this.compare(L,l)==0?!(this.isEnd(L,l)||this.isStart(L,l)):!1},T.prototype.insideStart=function(L,l){return this.compare(L,l)==0?!this.isEnd(L,l):!1},T.prototype.insideEnd=function(L,l){return this.compare(L,l)==0?!this.isStart(L,l):!1},T.prototype.compare=function(L,l){return!this.isMultiLine()&&L===this.start.row?l<this.start.column?-1:l>this.end.column?1:0:L<this.start.row?-1:L>this.end.row?1:this.start.row===L?l>=this.start.column?0:-1:this.end.row===L?l<=this.end.column?0:1:0},T.prototype.compareStart=function(L,l){return this.start.row==L&&this.start.column==l?-1:this.compare(L,l)},T.prototype.compareEnd=function(L,l){return this.end.row==L&&this.end.column==l?1:this.compare(L,l)},T.prototype.compareInside=function(L,l){return this.end.row==L&&this.end.column==l?1:this.start.row==L&&this.start.column==l?-1:this.compare(L,l)},T.prototype.clipRows=function(L,l){if(this.end.row>l)var u={row:l+1,column:0};else if(this.end.row<L)var u={row:L,column:0};if(this.start.row>l)var i={row:l+1,column:0};else if(this.start.row<L)var i={row:L,column:0};return T.fromPoints(i||this.start,u||this.end)},T.prototype.extend=function(L,l){var u=this.compare(L,l);if(u==0)return this;if(u==-1)var i={row:L,column:l};else var r={row:L,column:l};return T.fromPoints(i||this.start,r||this.end)},T.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},T.prototype.isMultiLine=function(){return this.start.row!==this.end.row},T.prototype.clone=function(){return T.fromPoints(this.start,this.end)},T.prototype.collapseRows=function(){return this.end.column==0?new T(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new T(this.start.row,0,this.end.row,0)},T.prototype.toScreenRange=function(L){var l=L.documentToScreenPosition(this.start),u=L.documentToScreenPosition(this.end);return new T(l.row,l.column,u.row,u.column)},T.prototype.moveBy=function(L,l){this.start.row+=L,this.start.column+=l,this.end.row+=L,this.end.column+=l},T}();B.fromPoints=function(T,L){return new B(T.row,T.column,L.row,L.column)},B.comparePoints=function(T,L){return T.row-L.row||T.column-L.column},p.Range=B}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(f,p,ze){for(var B=f("./oop"),T={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},L={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},l=0;l<10;l++)L["Digit"+l]=48+l,L["Numpad"+l]=96+l,T.PRINTABLE_KEYS[48+l]=""+l,T.FUNCTION_KEYS[96+l]="Numpad"+l;for(var l=65;l<91;l++){var u=String.fromCharCode(l+32);L["Key"+u.toUpperCase()]=l,T.PRINTABLE_KEYS[l]=u}for(var l=1;l<13;l++)L["F"+l]=111+l,T.FUNCTION_KEYS[111+l]="F"+l;var i={Shift:16,Control:17,Alt:18,Meta:224};for(var r in i)L[r]=L[r+"Left"]=L[r+"Right"]=i[r];p.$codeToKeyCode=L,T.PRINTABLE_KEYS[173]="-";for(var o in T.FUNCTION_KEYS){var t=T.FUNCTION_KEYS[o].toLowerCase();T[t]=parseInt(o,10)}for(var o in T.PRINTABLE_KEYS){var t=T.PRINTABLE_KEYS[o].toLowerCase();T[t]=parseInt(o,10)}B.mixin(T,T.MODIFIER_KEYS),B.mixin(T,T.PRINTABLE_KEYS),B.mixin(T,T.FUNCTION_KEYS),T.enter=T.return,T.escape=T.esc,T.del=T.delete,function(){for(var e=["cmd","ctrl","alt","shift"],n=Math.pow(2,e.length);n--;)T.KEY_MODS[n]=e.filter(function(c){return n&T.KEY_MODS[c]}).join("-")+"-"}(),T.KEY_MODS[0]="",T.KEY_MODS[-1]="input-",B.mixin(p,T),p.default=p,p.keyCodeToString=function(e){var n=T[e];return typeof n!="string"&&(n=String.fromCharCode(e)),n.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(f,p,ze){var B=f("./keys"),T=f("./useragent"),L=null,l=0,u;function i(){u=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return u={passive:!1},!0}})}catch{}}function r(){return u==null&&i(),u}function o(G,R,_){this.elem=G,this.type=R,this.callback=_}o.prototype.destroy=function(){e(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var t=p.addListener=function(G,R,_,S){G.addEventListener(R,_,r()),S&&S.$toDestroy.push(new o(G,R,_))},e=p.removeListener=function(G,R,_){G.removeEventListener(R,_,r())};p.stopEvent=function(G){return p.stopPropagation(G),p.preventDefault(G),!1},p.stopPropagation=function(G){G.stopPropagation&&G.stopPropagation()},p.preventDefault=function(G){G.preventDefault&&G.preventDefault()},p.getButton=function(G){return G.type=="dblclick"?0:G.type=="contextmenu"||T.isMac&&G.ctrlKey&&!G.altKey&&!G.shiftKey?2:G.button},p.capture=function(G,R,_){var S=G&&G.ownerDocument||document;function Me(He){R&&R(He),_&&_(He),e(S,"mousemove",R),e(S,"mouseup",Me),e(S,"dragstart",Me)}return t(S,"mousemove",R),t(S,"mouseup",Me),t(S,"dragstart",Me),Me},p.addMouseWheelListener=function(G,R,_){t(G,"wheel",function(S){var Me=.15,He=S.deltaX||0,Te=S.deltaY||0;switch(S.deltaMode){case S.DOM_DELTA_PIXEL:S.wheelX=He*Me,S.wheelY=Te*Me;break;case S.DOM_DELTA_LINE:var j=15;S.wheelX=He*j,S.wheelY=Te*j;break;case S.DOM_DELTA_PAGE:var yt=150;S.wheelX=He*yt,S.wheelY=Te*yt;break}R(S)},_)},p.addMultiMouseDownListener=function(G,R,_,S,Me){var He=0,Te,j,yt,y={2:"dblclick",3:"tripleclick",4:"quadclick"};function h(w){if(p.getButton(w)!==0?He=0:w.detail>1?(He++,He>4&&(He=1)):He=1,T.isIE){var O=Math.abs(w.clientX-Te)>5||Math.abs(w.clientY-j)>5;(!yt||O)&&(He=1),yt&&clearTimeout(yt),yt=setTimeout(function(){yt=null},R[He-1]||600),He==1&&(Te=w.clientX,j=w.clientY)}if(w._clicks=He,_[S]("mousedown",w),He>4)He=0;else if(He>1)return _[S](y[He],w)}Array.isArray(G)||(G=[G]),G.forEach(function(w){t(w,"mousedown",h,Me)})};function n(G){return 0|(G.ctrlKey?1:0)|(G.altKey?2:0)|(G.shiftKey?4:0)|(G.metaKey?8:0)}p.getModifierString=function(G){return B.KEY_MODS[n(G)]};function c(G,R,_){var S=n(R);if(!_&&R.code&&(_=B.$codeToKeyCode[R.code]||_),!T.isMac&&L){if(R.getModifierState&&(R.getModifierState("OS")||R.getModifierState("Win"))&&(S|=8),L.altGr)if((3&S)!=3)L.altGr=0;else return;if(_===18||_===17){var Me=R.location;if(_===17&&Me===1)L[_]==1&&(l=R.timeStamp);else if(_===18&&S===3&&Me===2){var He=R.timeStamp-l;He<50&&(L.altGr=!0)}}}if(_ in B.MODIFIER_KEYS&&(_=-1),!(!S&&_===13&&R.location===3&&(G(R,S,-_),R.defaultPrevented))){if(T.isChromeOS&&S&8){if(G(R,S,_),R.defaultPrevented)return;S&=-9}return!S&&!(_ in B.FUNCTION_KEYS)&&!(_ in B.PRINTABLE_KEYS)?!1:G(R,S,_)}}p.addCommandKeyListener=function(G,R,_){var S=null;t(G,"keydown",function(Me){L[Me.keyCode]=(L[Me.keyCode]||0)+1;var He=c(R,Me,Me.keyCode);return S=Me.defaultPrevented,He},_),t(G,"keypress",function(Me){S&&(Me.ctrlKey||Me.altKey||Me.shiftKey||Me.metaKey)&&(p.stopEvent(Me),S=null)},_),t(G,"keyup",function(Me){L[Me.keyCode]=null},_),L||(d(),t(window,"focus",d))};function d(){L=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!T.isOldIE){var g=1;p.nextTick=function(G,R){R=R||window;var _="zero-timeout-message-"+g++,S=function(Me){Me.data==_&&(p.stopPropagation(Me),e(R,"message",S),G())};t(R,"message",S),R.postMessage(_,"*")}}p.$idleBlocked=!1,p.onIdle=function(G,R){return setTimeout(function _(){p.$idleBlocked?setTimeout(_,100):G()},R)},p.$idleBlockId=null,p.blockIdle=function(G){p.$idleBlockId&&clearTimeout(p.$idleBlockId),p.$idleBlocked=!0,p.$idleBlockId=setTimeout(function(){p.$idleBlocked=!1},G||100)},p.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),p.nextFrame?p.nextFrame=p.nextFrame.bind(window):p.nextFrame=function(G){setTimeout(G,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(f,p,ze){var B;ze.exports={lineMode:!1,pasteCancelled:function(){return B&&B>Date.now()-50?!0:B=!1},cancel:function(){B=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(f,p,ze){var B=f("../lib/event"),T=f("../config").nls,L=f("../lib/useragent"),l=f("../lib/dom"),u=f("../lib/lang"),i=f("../clipboard"),r=L.isChrome<18,o=L.isIE,t=L.isChrome>63,e=400,n=f("../lib/keys"),c=n.KEY_MODS,d=L.isIOS,g=d?/\s/:/\n/,G=L.isMobile,R;R=function(_,S){var Me=l.createElement("textarea");Me.className="ace_text-input",Me.setAttribute("wrap","off"),Me.setAttribute("autocorrect","off"),Me.setAttribute("autocapitalize","off"),Me.setAttribute("spellcheck","false"),Me.style.opacity="0",_.insertBefore(Me,_.firstChild);var He=!1,Te=!1,j=!1,yt=!1,y="";G||(Me.style.fontSize="1px");var h=!1,w=!1,O="",We=0,mt=0,wt=0,St=Number.MAX_SAFE_INTEGER,xt=Number.MIN_SAFE_INTEGER,Rt=0;try{var ii=document.activeElement===Me}catch{}this.setNumberOfExtraLines=function(ri){if(St=Number.MAX_SAFE_INTEGER,xt=Number.MIN_SAFE_INTEGER,ri<0){Rt=0;return}Rt=ri},this.setAriaLabel=function(){var ri="";if(S.$textInputAriaLabel&&(ri+="".concat(S.$textInputAriaLabel,", ")),S.session){var ci=S.session.selection.cursor.row;ri+=T("text-input.aria-label","Cursor at row $0",[ci+1])}Me.setAttribute("aria-label",ri)},this.setAriaOptions=function(ri){ri.activeDescendant?(Me.setAttribute("aria-haspopup","true"),Me.setAttribute("aria-autocomplete",ri.inline?"both":"list"),Me.setAttribute("aria-activedescendant",ri.activeDescendant)):(Me.setAttribute("aria-haspopup","false"),Me.setAttribute("aria-autocomplete","both"),Me.removeAttribute("aria-activedescendant")),ri.role&&Me.setAttribute("role",ri.role),ri.setLabel&&(Me.setAttribute("aria-roledescription",T("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),B.addListener(Me,"blur",function(ri){w||(S.onBlur(ri),ii=!1)},S),B.addListener(Me,"focus",function(ri){if(!w){if(ii=!0,L.isEdge)try{if(!document.hasFocus())return}catch{}S.onFocus(ri),L.isEdge?setTimeout(ei):ei()}},S),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:S.renderer.enableKeyboardAccessibility}),y||t||this.$focusScroll=="browser")return Me.focus({preventScroll:!0});var ri=Me.style.top;Me.style.position="fixed",Me.style.top="0px";try{var ci=Me.getBoundingClientRect().top!=0}catch{return}var ui=[];if(ci)for(var di=Me.parentElement;di&&di.nodeType==1;)ui.push(di),di.setAttribute("ace_nocontext","true"),!di.parentElement&&di.getRootNode?di=di.getRootNode().host:di=di.parentElement;Me.focus({preventScroll:!0}),ci&&ui.forEach(function(fi){fi.removeAttribute("ace_nocontext")}),setTimeout(function(){Me.style.position="",Me.style.top=="0px"&&(Me.style.top=ri)},0)},this.blur=function(){Me.blur()},this.isFocused=function(){return ii},S.on("beforeEndOperation",function(){var ri=S.curOp,ci=ri&&ri.command&&ri.command.name;if(ci!="insertstring"){var ui=ci&&(ri.docChanged||ri.selectionChanged);j&&ui&&(O=Me.value="",Ai()),ei()}}),S.on("changeSelection",this.setAriaLabel);var Et=function(ri,ci){for(var ui=ci,di=1;di<=ri-St&&di<2*Rt+1;di++)ui+=S.session.getLine(ri-di).length+1;return ui},ei=d?function(ri){if(!(!ii||He&&!ri||yt)){ri||(ri="");var ci=`
|
168
|
+
ab`+ri+`cde fg
|
169
|
+
`;ci!=Me.value&&(Me.value=O=ci);var ui=4,di=4+(ri.length||(S.selection.isEmpty()?0:1));(We!=ui||mt!=di)&&Me.setSelectionRange(ui,di),We=ui,mt=di}}:function(){if(!(j||yt)&&!(!ii&&!ai)){j=!0;var ri=0,ci=0,ui="";if(S.session){var di=S.selection,fi=di.getRange(),yi=di.cursor.row;yi===xt+1?(St=xt+1,xt=St+2*Rt):yi===St-1?(xt=St-1,St=xt-2*Rt):(yi<St-1||yi>xt+1)&&(St=yi>Rt?yi-Rt:0,xt=yi>Rt?yi+Rt:2*Rt);for(var bi=[],wi=St;wi<=xt;wi++)bi.push(S.session.getLine(wi));if(ui=bi.join(`
|
170
|
+
`),ri=Et(fi.start.row,fi.start.column),ci=Et(fi.end.row,fi.end.column),fi.start.row<St){var vi=S.session.getLine(St-1);ri=fi.start.row<St-1?0:ri,ci+=vi.length+1,ui=vi+`
|
171
|
+
`+ui}else if(fi.end.row>xt){var gi=S.session.getLine(xt+1);ci=fi.end.row>xt+1?gi.length:fi.end.column,ci+=ui.length+1,ui=ui+`
|
172
|
+
`+gi}else G&&yi>0&&(ui=`
|
173
|
+
`+ui,ci+=1,ri+=1);ui.length>e&&(ri<e&&ci<e?ui=ui.slice(0,e):(ui=`
|
174
|
+
`,ri==ci?ri=ci=0:(ri=0,ci=1)));var Si=ui+`
|
175
|
+
|
176
|
+
`;Si!=O&&(Me.value=O=Si,We=mt=Si.length)}if(ai&&(We=Me.selectionStart,mt=Me.selectionEnd),mt!=ci||We!=ri||Me.selectionEnd!=mt)try{Me.setSelectionRange(ri,ci),We=ri,mt=ci}catch{}j=!1}};this.resetSelection=ei,ii&&S.onFocus();var ni=function(ri){return ri.selectionStart===0&&ri.selectionEnd>=O.length&&ri.value===O&&O&&ri.selectionEnd!==mt},ti=function(ri){j||(He?He=!1:ni(Me)?(S.selectAll(),ei()):G&&Me.selectionStart!=We&&ei())},oi=null;this.setInputHandler=function(ri){oi=ri},this.getInputHandler=function(){return oi};var ai=!1,li=function(ri,ci){if(ai&&(ai=!1),Te)return ei(),ri&&S.onPaste(ri),Te=!1,"";for(var ui=Me.selectionStart,di=Me.selectionEnd,fi=We,yi=O.length-mt,bi=ri,wi=ri.length-ui,vi=ri.length-di,gi=0;fi>0&&O[gi]==ri[gi];)gi++,fi--;for(bi=bi.slice(gi),gi=1;yi>0&&O.length-gi>We-1&&O[O.length-gi]==ri[ri.length-gi];)gi++,yi--;wi-=gi-1,vi-=gi-1;var Si=bi.length-gi+1;if(Si<0&&(fi=-Si,Si=0),bi=bi.slice(0,Si),!ci&&!bi&&!wi&&!fi&&!yi&&!vi)return"";yt=!0;var ki=!1;return L.isAndroid&&bi==". "&&(bi=" ",ki=!0),bi&&!fi&&!yi&&!wi&&!vi||h?S.onTextInput(bi):S.onTextInput(bi,{extendLeft:fi,extendRight:yi,restoreStart:wi,restoreEnd:vi}),yt=!1,O=ri,We=ui,mt=di,wt=vi,ki?`
|
177
|
+
`:bi},si=function(ri){if(j)return xi();if(ri&&ri.inputType){if(ri.inputType=="historyUndo")return S.execCommand("undo");if(ri.inputType=="historyRedo")return S.execCommand("redo")}var ci=Me.value,ui=li(ci,!0);(ci.length>e+100||g.test(ui)||G&&We<1&&We==mt)&&ei()},hi=function(ri,ci,ui){var di=ri.clipboardData||window.clipboardData;if(!(!di||r)){var fi=o||ui?"Text":"text/plain";try{return ci?di.setData(fi,ci)!==!1:di.getData(fi)}catch(yi){if(!ui)return hi(yi,ci,!0)}}},pi=function(ri,ci){var ui=S.getCopyText();if(!ui)return B.preventDefault(ri);hi(ri,ui)?(d&&(ei(ui),He=ui,setTimeout(function(){He=!1},10)),ci?S.onCut():S.onCopy(),B.preventDefault(ri)):(He=!0,Me.value=ui,Me.select(),setTimeout(function(){He=!1,ei(),ci?S.onCut():S.onCopy()}))},$i=function(ri){pi(ri,!0)},Ci=function(ri){pi(ri,!1)},mi=function(ri){var ci=hi(ri);i.pasteCancelled()||(typeof ci=="string"?(ci&&S.onPaste(ci,ri),L.isIE&&setTimeout(ei),B.preventDefault(ri)):(Me.value="",Te=!0))};B.addCommandKeyListener(Me,function(ri,ci,ui){if(!j)return S.onCommandKey(ri,ci,ui)},S),B.addListener(Me,"select",ti,S),B.addListener(Me,"input",si,S),B.addListener(Me,"cut",$i,S),B.addListener(Me,"copy",Ci,S),B.addListener(Me,"paste",mi,S),(!("oncut"in Me)||!("oncopy"in Me)||!("onpaste"in Me))&&B.addListener(_,"keydown",function(ri){if(!(L.isMac&&!ri.metaKey||!ri.ctrlKey))switch(ri.keyCode){case 67:Ci(ri);break;case 86:mi(ri);break;case 88:$i(ri);break}},S);var _i=function(ri){if(!(j||!S.onCompositionStart||S.$readOnly)&&(j={},!h)){ri.data&&(j.useTextareaForIME=!1),setTimeout(xi,0),S._signal("compositionStart"),S.on("mousedown",Ti);var ci=S.getSelectionRange();ci.end.row=ci.start.row,ci.end.column=ci.start.column,j.markerRange=ci,j.selectionStart=We,S.onCompositionStart(j),j.useTextareaForIME?(O=Me.value="",We=0,mt=0):(Me.msGetInputContext&&(j.context=Me.msGetInputContext()),Me.getInputContext&&(j.context=Me.getInputContext()))}},xi=function(){if(!(!j||!S.onCompositionUpdate||S.$readOnly)){if(h)return Ti();if(j.useTextareaForIME)S.onCompositionUpdate(Me.value);else{var ri=Me.value;li(ri),j.markerRange&&(j.context&&(j.markerRange.start.column=j.selectionStart=j.context.compositionStartOffset),j.markerRange.end.column=j.markerRange.start.column+mt-j.selectionStart+wt)}}},Ai=function(ri){!S.onCompositionEnd||S.$readOnly||(j=!1,S.onCompositionEnd(),S.off("mousedown",Ti),ri&&si())};function Ti(){w=!0,Me.blur(),Me.focus(),w=!1}var Ri=u.delayedCall(xi,50).schedule.bind(null,null);function Oi(ri){ri.keyCode==27&&Me.value.length<Me.selectionStart&&(j||(O=Me.value),We=mt=-1,ei()),Ri()}B.addListener(Me,"compositionstart",_i,S),B.addListener(Me,"compositionupdate",xi,S),B.addListener(Me,"keyup",Oi,S),B.addListener(Me,"keydown",Ri,S),B.addListener(Me,"compositionend",Ai,S),this.getElement=function(){return Me},this.setCommandMode=function(ri){h=ri,Me.readOnly=!1},this.setReadOnly=function(ri){h||(Me.readOnly=ri)},this.setCopyWithEmptySelection=function(ri){},this.onContextMenu=function(ri){ai=!0,ei(),S._emit("nativecontextmenu",{target:S,domEvent:ri}),this.moveToMouse(ri,!0)},this.moveToMouse=function(ri,ci){y||(y=Me.style.cssText),Me.style.cssText=(ci?"z-index:100000;":"")+(L.isIE?"opacity:0.1;":"")+"text-indent: -"+(We+mt)*S.renderer.characterWidth*.5+"px;";var ui=S.container.getBoundingClientRect(),di=l.computedStyle(S.container),fi=ui.top+(parseInt(di.borderTopWidth)||0),yi=ui.left+(parseInt(ui.borderLeftWidth)||0),bi=ui.bottom-fi-Me.clientHeight-2,wi=function(vi){l.translate(Me,vi.clientX-yi-2,Math.min(vi.clientY-fi-2,bi))};wi(ri),ri.type=="mousedown"&&(S.renderer.$isMousePressed=!0,clearTimeout(Ei),L.isWin&&B.capture(S.container,wi,Mi))},this.onContextMenuClose=Mi;var Ei;function Mi(){clearTimeout(Ei),Ei=setTimeout(function(){y&&(Me.style.cssText=y,y=""),S.renderer.$isMousePressed=!1,S.renderer.$keepTextAreaAtCursor&&S.renderer.$moveTextAreaToCursor()},0)}var Li=function(ri){S.textInput.onContextMenu(ri),Mi()};B.addListener(Me,"mouseup",Li,S),B.addListener(Me,"mousedown",function(ri){ri.preventDefault(),Mi()},S),B.addListener(S.renderer.scroller,"contextmenu",Li,S),B.addListener(Me,"contextmenu",Li,S),d&&Di(_,S,Me);function Di(ri,ci,ui){var di=null,fi=!1;ui.addEventListener("keydown",function(bi){di&&clearTimeout(di),fi=!0},!0),ui.addEventListener("keyup",function(bi){di=setTimeout(function(){fi=!1},100)},!0);var yi=function(bi){if(document.activeElement===ui&&!(fi||j||ci.$mouseHandler.isMousePressed)&&!He){var wi=ui.selectionStart,vi=ui.selectionEnd,gi=null,Si=0;if(wi==0?gi=n.up:wi==1?gi=n.home:vi>mt&&O[vi]==`
|
178
|
+
`?gi=n.end:wi<We&&O[wi-1]==" "?(gi=n.left,Si=c.option):wi<We||wi==We&&mt!=We&&wi==vi?gi=n.left:vi>mt&&O.slice(0,vi).split(`
|
179
|
+
`).length>2?gi=n.down:vi>mt&&O[vi-1]==" "?(gi=n.right,Si=c.option):(vi>mt||vi==mt&&mt!=We&&wi==vi)&&(gi=n.right),wi!==vi&&(Si|=c.shift),gi){var ki=ci.onCommandKey({},Si,gi);if(!ki&&ci.commands){gi=n.keyCodeToString(gi);var Ii=ci.commands.findKeyCommand(Si,gi);Ii&&ci.execCommand(Ii)}We=wi,mt=vi,ei("")}}};document.addEventListener("selectionchange",yi),ci.on("destroy",function(){document.removeEventListener("selectionchange",yi)})}this.destroy=function(){Me.parentElement&&Me.parentElement.removeChild(Me)}},p.TextInput=R,p.$setUserAgentForTests=function(_,S){G=_,d=S}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(f,p,ze){var B=f("../lib/useragent"),T=0,L=550,l=function(){function r(o){o.$clickSelection=null;var t=o.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(o)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(o)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(o)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(o)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(o));var e=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];e.forEach(function(n){o[n]=this[n]},this),o.selectByLines=this.extendSelectionBy.bind(o,"getLineRange"),o.selectByWords=this.extendSelectionBy.bind(o,"getWordRange")}return r.prototype.onMouseDown=function(o){var t=o.inSelection(),e=o.getDocumentPosition();this.mousedownEvent=o;var n=this.editor,c=o.getButton();if(c!==0){var d=n.getSelectionRange(),g=d.isEmpty();(g||c==1)&&n.selection.moveToPosition(e),c==2&&(n.textInput.onContextMenu(o.domEvent),B.isMozilla||o.preventDefault());return}if(this.mousedownEvent.time=Date.now(),t&&!n.isFocused()&&(n.focus(),this.$focusTimeout&&!this.$clickSelection&&!n.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(o);return}return this.captureMouse(o),this.startSelect(e,o.domEvent._clicks>1),o.preventDefault()},r.prototype.startSelect=function(o,t){o=o||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var e=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?e.selection.selectToPosition(o):t||e.selection.moveToPosition(o),t||this.select(),e.setStyle("ace_selecting"),this.setState("select"))},r.prototype.select=function(){var o,t=this.editor,e=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var n=this.$clickSelection.comparePoint(e);if(n==-1)o=this.$clickSelection.end;else if(n==1)o=this.$clickSelection.start;else{var c=i(this.$clickSelection,e);e=c.cursor,o=c.anchor}t.selection.setSelectionAnchor(o.row,o.column)}t.selection.selectToPosition(e),t.renderer.scrollCursorIntoView()},r.prototype.extendSelectionBy=function(o){var t,e=this.editor,n=e.renderer.screenToTextCoordinates(this.x,this.y),c=e.selection[o](n.row,n.column);if(this.$clickSelection){var d=this.$clickSelection.comparePoint(c.start),g=this.$clickSelection.comparePoint(c.end);if(d==-1&&g<=0)t=this.$clickSelection.end,(c.end.row!=n.row||c.end.column!=n.column)&&(n=c.start);else if(g==1&&d>=0)t=this.$clickSelection.start,(c.start.row!=n.row||c.start.column!=n.column)&&(n=c.end);else if(d==-1&&g==1)n=c.end,t=c.start;else{var G=i(this.$clickSelection,n);n=G.cursor,t=G.anchor}e.selection.setSelectionAnchor(t.row,t.column)}e.selection.selectToPosition(n),e.renderer.scrollCursorIntoView()},r.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},r.prototype.focusWait=function(){var o=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(o>T||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},r.prototype.onDoubleClick=function(o){var t=o.getDocumentPosition(),e=this.editor,n=e.session,c=n.getBracketRange(t);c?(c.isEmpty()&&(c.start.column--,c.end.column++),this.setState("select")):(c=e.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=c,this.select()},r.prototype.onTripleClick=function(o){var t=o.getDocumentPosition(),e=this.editor;this.setState("selectByLines");var n=e.getSelectionRange();n.isMultiLine()&&n.contains(t.row,t.column)?(this.$clickSelection=e.selection.getLineRange(n.start.row),this.$clickSelection.end=e.selection.getLineRange(n.end.row).end):this.$clickSelection=e.selection.getLineRange(t.row),this.select()},r.prototype.onQuadClick=function(o){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},r.prototype.onMouseWheel=function(o){if(!o.getAccelKey()){o.getShiftKey()&&o.wheelY&&!o.wheelX&&(o.wheelX=o.wheelY,o.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var e=this.$lastScroll,n=o.domEvent.timeStamp,c=n-e.t,d=c?o.wheelX/c:e.vx,g=c?o.wheelY/c:e.vy;c<L&&(d=(d+e.vx)/2,g=(g+e.vy)/2);var G=Math.abs(d/g),R=!1;if(G>=1&&t.renderer.isScrollableBy(o.wheelX*o.speed,0)&&(R=!0),G<=1&&t.renderer.isScrollableBy(0,o.wheelY*o.speed)&&(R=!0),R)e.allowed=n;else if(n-e.allowed<L){var _=Math.abs(d)<=1.5*Math.abs(e.vx)&&Math.abs(g)<=1.5*Math.abs(e.vy);_?(R=!0,e.allowed=n):e.allowed=0}if(e.t=n,e.vx=d,e.vy=g,R)return t.renderer.scrollBy(o.wheelX*o.speed,o.wheelY*o.speed),o.stop()}},r}();l.prototype.selectEnd=l.prototype.selectByLinesEnd,l.prototype.selectAllEnd=l.prototype.selectByLinesEnd,l.prototype.selectByWordsEnd=l.prototype.selectByLinesEnd,p.DefaultHandlers=l;function u(r,o,t,e){return Math.sqrt(Math.pow(t-r,2)+Math.pow(e-o,2))}function i(r,o){if(r.start.row==r.end.row)var t=2*o.column-r.start.column-r.end.column;else if(r.start.row==r.end.row-1&&!r.start.column&&!r.end.column)var t=o.column-4;else var t=2*o.row-r.start.row-r.end.row;return t<0?{cursor:r.start,anchor:r.end}:{cursor:r.end,anchor:r.start}}}),ace.define("ace/lib/scroll",["require","exports","module"],function(f,p,ze){p.preventParentScroll=function(T){T.stopPropagation();var L=T.currentTarget,l=L.scrollHeight>L.clientHeight;l||T.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(f,p,ze){var B=this&&this.__extends||function(){var n=function(c,d){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,G){g.__proto__=G}||function(g,G){for(var R in G)Object.prototype.hasOwnProperty.call(G,R)&&(g[R]=G[R])},n(c,d)};return function(c,d){if(typeof d!="function"&&d!==null)throw new TypeError("Class extends value "+String(d)+" is not a constructor or null");n(c,d);function g(){this.constructor=c}c.prototype=d===null?Object.create(d):(g.prototype=d.prototype,new g)}}(),T=this&&this.__values||function(n){var c=typeof Symbol=="function"&&Symbol.iterator,d=c&&n[c],g=0;if(d)return d.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&g>=n.length&&(n=void 0),{value:n&&n[g++],done:!n}}};throw new TypeError(c?"Object is not iterable.":"Symbol.iterator is not defined.")},L=f("./lib/dom");f("./lib/event");var l=f("./range").Range,u=f("./lib/scroll").preventParentScroll,i="ace_tooltip",r=function(){function n(c){this.isOpen=!1,this.$element=null,this.$parentNode=c}return n.prototype.$init=function(){return this.$element=L.createElement("div"),this.$element.className=i,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},n.prototype.getElement=function(){return this.$element||this.$init()},n.prototype.setText=function(c){this.getElement().textContent=c},n.prototype.setHtml=function(c){this.getElement().innerHTML=c},n.prototype.setPosition=function(c,d){this.getElement().style.left=c+"px",this.getElement().style.top=d+"px"},n.prototype.setClassName=function(c){L.addCssClass(this.getElement(),c)},n.prototype.setTheme=function(c){this.$element.className=i+" "+(c.isDark?"ace_dark ":"")+(c.cssClass||"")},n.prototype.show=function(c,d,g){c!=null&&this.setText(c),d!=null&&g!=null&&this.setPosition(d,g),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},n.prototype.hide=function(c){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=i,this.isOpen=!1)},n.prototype.getHeight=function(){return this.getElement().offsetHeight},n.prototype.getWidth=function(){return this.getElement().offsetWidth},n.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},n}(),o=function(){function n(){this.popups=[]}return n.prototype.addPopup=function(c){this.popups.push(c),this.updatePopups()},n.prototype.removePopup=function(c){var d=this.popups.indexOf(c);d!==-1&&(this.popups.splice(d,1),this.updatePopups())},n.prototype.updatePopups=function(){var c,d,g,G;this.popups.sort(function(y,h){return h.priority-y.priority});var R=[];try{for(var _=T(this.popups),S=_.next();!S.done;S=_.next()){var Me=S.value,He=!0;try{for(var Te=(g=void 0,T(R)),j=Te.next();!j.done;j=Te.next()){var yt=j.value;if(this.doPopupsOverlap(yt,Me)){He=!1;break}}}catch(y){g={error:y}}finally{try{j&&!j.done&&(G=Te.return)&&G.call(Te)}finally{if(g)throw g.error}}He?R.push(Me):Me.hide()}}catch(y){c={error:y}}finally{try{S&&!S.done&&(d=_.return)&&d.call(_)}finally{if(c)throw c.error}}},n.prototype.doPopupsOverlap=function(c,d){var g=c.getElement().getBoundingClientRect(),G=d.getElement().getBoundingClientRect();return g.left<G.right&&g.right>G.left&&g.top<G.bottom&&g.bottom>G.top},n}(),t=new o;p.popupManager=t,p.Tooltip=r;var e=function(n){B(c,n);function c(d){d===void 0&&(d=document.body);var g=n.call(this,d)||this;g.timeout=void 0,g.lastT=0,g.idleTime=350,g.lastEvent=void 0,g.onMouseOut=g.onMouseOut.bind(g),g.onMouseMove=g.onMouseMove.bind(g),g.waitForHover=g.waitForHover.bind(g),g.hide=g.hide.bind(g);var G=g.getElement();return G.style.whiteSpace="pre-wrap",G.style.pointerEvents="auto",G.addEventListener("mouseout",g.onMouseOut),G.tabIndex=-1,G.addEventListener("blur",(function(){G.contains(document.activeElement)||this.hide()}).bind(g)),G.addEventListener("wheel",u),g}return c.prototype.addToEditor=function(d){d.on("mousemove",this.onMouseMove),d.on("mousedown",this.hide),d.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},c.prototype.removeFromEditor=function(d){d.off("mousemove",this.onMouseMove),d.off("mousedown",this.hide),d.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},c.prototype.onMouseMove=function(d,g){this.lastEvent=d,this.lastT=Date.now();var G=g.$mouseHandler.isMousePressed;if(this.isOpen){var R=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(R.row,R.column)||G||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||G||(this.lastEvent=d,this.timeout=setTimeout(this.waitForHover,this.idleTime))},c.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var d=Date.now()-this.lastT;if(this.idleTime-d>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-d);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},c.prototype.isOutsideOfText=function(d){var g=d.editor,G=d.getDocumentPosition(),R=g.session.getLine(G.row);if(G.column==R.length){var _=g.renderer.pixelToScreenCoordinates(d.clientX,d.clientY),S=g.session.documentToScreenPosition(G.row,G.column);if(S.column!=_.column||S.row!=_.row)return!0}return!1},c.prototype.setDataProvider=function(d){this.$gatherData=d},c.prototype.showForRange=function(d,g,G,R){var _=10;if(!(R&&R!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var S=d.renderer;this.isOpen||(t.addPopup(this),this.$registerCloseEvents(),this.setTheme(S.theme)),this.isOpen=!0,this.addMarker(g,d.session),this.range=l.fromPoints(g.start,g.end);var Me=S.textToScreenCoordinates(g.start.row,g.start.column),He=S.scroller.getBoundingClientRect();Me.pageX<He.left&&(Me.pageX=He.left);var Te=this.getElement();Te.innerHTML="",Te.appendChild(G),Te.style.maxHeight="",Te.style.display="block";var j=Te.clientHeight,yt=Te.clientWidth,y=window.innerHeight-Me.pageY-S.lineHeight,h=!0;Me.pageY-j<0&&Me.pageY<y&&(h=!1),Te.style.maxHeight=(h?Me.pageY:y)-_+"px",Te.style.top=h?"":Me.pageY+S.lineHeight+"px",Te.style.bottom=h?window.innerHeight-Me.pageY+"px":"",Te.style.left=Math.min(Me.pageX,window.innerWidth-yt-_)+"px"}},c.prototype.addMarker=function(d,g){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=g,this.marker=g&&g.addMarker(d,"ace_highlight-marker","text")},c.prototype.hide=function(d){!d&&document.activeElement==this.getElement()||d&&d.target&&(d.type!="keydown"||d.ctrlKey||d.metaKey)&&this.$element.contains(d.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,t.removePopup(this)))},c.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},c.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},c.prototype.onMouseOut=function(d){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!d.relatedTarget||this.getElement().contains(d.relatedTarget)||d&&d.currentTarget.contains(d.relatedTarget)||d.relatedTarget.classList.contains("ace_content")||this.hide())},c}(r);p.HoverTooltip=e}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config","ace/lib/lang"],function(f,p,ze){var B=this&&this.__extends||function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,d){c.__proto__=d}||function(c,d){for(var g in d)Object.prototype.hasOwnProperty.call(d,g)&&(c[g]=d[g])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function c(){this.constructor=e}e.prototype=n===null?Object.create(n):(c.prototype=n.prototype,new c)}}(),T=this&&this.__values||function(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],c=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&c>=t.length&&(t=void 0),{value:t&&t[c++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},L=f("../lib/dom"),l=f("../lib/event"),u=f("../tooltip").Tooltip,i=f("../config").nls;f("../lib/lang");function r(t){var e=t.editor,n=e.renderer.$gutterLayer,c=new o(e);t.editor.setDefaultHandler("guttermousedown",function(S){if(!(!e.isFocused()||S.getButton()!=0)){var Me=n.getRegion(S);if(Me!="foldWidgets"){var He=S.getDocumentPosition().row,Te=e.session.selection;if(S.getShiftKey())Te.selectTo(He,0);else{if(S.domEvent.detail==2)return e.selectAll(),S.preventDefault();t.$clickSelection=e.selection.getLineRange(He)}return t.setState("selectByLines"),t.captureMouse(S),S.preventDefault()}}});var d,g;function G(){var S=g.getDocumentPosition().row,Me=e.session.getLength();if(S==Me){var He=e.renderer.pixelToScreenCoordinates(0,g.y).row,Te=g.$pos;if(He>e.session.documentToScreenRow(Te.row,Te.column))return R()}if(c.showTooltip(S),!!c.isOpen)if(e.on("mousewheel",R),t.$tooltipFollowsMouse)_(g);else{var j=g.getGutterRow(),yt=n.$lines.get(j);if(yt){var y=yt.element.querySelector(".ace_gutter_annotation"),h=y.getBoundingClientRect(),w=c.getElement().style;w.left=h.right+"px",w.top=h.bottom+"px"}else _(g)}}function R(){d&&(d=clearTimeout(d)),c.isOpen&&(c.hideTooltip(),e.off("mousewheel",R))}function _(S){c.setPosition(S.x,S.y)}t.editor.setDefaultHandler("guttermousemove",function(S){var Me=S.domEvent.target||S.domEvent.srcElement;if(L.hasCssClass(Me,"ace_fold-widget"))return R();c.isOpen&&t.$tooltipFollowsMouse&&_(S),g=S,!d&&(d=setTimeout(function(){d=null,g&&!t.isMousePressed?G():R()},50))}),l.addListener(e.renderer.$gutter,"mouseout",function(S){g=null,!(!c.isOpen||d)&&(d=setTimeout(function(){d=null,R()},50))},e),e.on("changeSession",R),e.on("input",R)}p.GutterHandler=r;var o=function(t){B(e,t);function e(n){var c=t.call(this,n.container)||this;return c.editor=n,c.visibleTooltipRow,c}return e.prototype.setPosition=function(n,c){var d=window.innerWidth||document.documentElement.clientWidth,g=window.innerHeight||document.documentElement.clientHeight,G=this.getWidth(),R=this.getHeight();n+=15,c+=15,n+G>d&&(n-=n+G-d),c+R>g&&(c-=20+R),u.prototype.setPosition.call(this,n,c)},Object.defineProperty(e,"annotationLabels",{get:function(){return{error:{singular:i("gutter-tooltip.aria-label.error.singular","error"),plural:i("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:i("gutter-tooltip.aria-label.security.singular","security finding"),plural:i("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:i("gutter-tooltip.aria-label.warning.singular","warning"),plural:i("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:i("gutter-tooltip.aria-label.info.singular","information message"),plural:i("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:i("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:i("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),e.prototype.showTooltip=function(n){var c,d=this.editor.renderer.$gutterLayer,g=d.$annotations[n],G;g?G={displayText:Array.from(g.displayText),type:Array.from(g.type)}:G={displayText:[],type:[]};var R=d.session.getFoldLine(n);if(R&&d.$showFoldedAnnotations){for(var _={error:[],security:[],warning:[],info:[],hint:[]},S={error:1,security:2,warning:3,info:4,hint:5},Me,He=n+1;He<=R.end.row;He++)if(d.$annotations[He])for(var Te=0;Te<d.$annotations[He].text.length;Te++){var j=d.$annotations[He].type[Te];_[j].push(d.$annotations[He].text[Te]),(!Me||S[j]<S[Me])&&(Me=j)}if(["error","security","warning"].includes(Me)){var yt="".concat(e.annotationsToSummaryString(_)," in folded code.");G.displayText.push(yt),G.type.push(Me+"_fold")}}if(G.displayText.length===0)return this.hideTooltip();for(var y={error:[],security:[],warning:[],info:[],hint:[]},h=d.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",He=0;He<G.displayText.length;He++){var w=L.createElement("span"),O=L.createElement("span");(c=O.classList).add.apply(c,["ace_".concat(G.type[He]),h]),O.setAttribute("aria-label","".concat(e.annotationLabels[G.type[He].replace("_fold","")].singular)),O.setAttribute("role","img"),O.appendChild(L.createTextNode(" ")),w.appendChild(O),w.appendChild(L.createTextNode(G.displayText[He])),w.appendChild(L.createElement("br")),y[G.type[He].replace("_fold","")].push(w)}var We=this.getElement();L.removeChildren(We),y.error.forEach(function(mt){return We.appendChild(mt)}),y.security.forEach(function(mt){return We.appendChild(mt)}),y.warning.forEach(function(mt){return We.appendChild(mt)}),y.info.forEach(function(mt){return We.appendChild(mt)}),y.hint.forEach(function(mt){return We.appendChild(mt)}),We.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.visibleTooltipRow=n,this.editor._signal("showGutterTooltip",this)},e.prototype.hideTooltip=function(){this.isOpen&&(this.$element.removeAttribute("aria-live"),this.hide(),this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this))},e.annotationsToSummaryString=function(n){var c,d,g=[],G=["error","security","warning","info","hint"];try{for(var R=T(G),_=R.next();!_.done;_=R.next()){var S=_.value;if(n[S].length){var Me=n[S].length===1?e.annotationLabels[S].singular:e.annotationLabels[S].plural;g.push("".concat(n[S].length," ").concat(Me))}}}catch(He){c={error:He}}finally{try{_&&!_.done&&(d=R.return)&&d.call(R)}finally{if(c)throw c.error}}return g.join(", ")},e}(u);p.GutterTooltip=o}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(f,p,ze){var B=f("../lib/event"),T=f("../lib/useragent"),L=function(){function l(u,i){this.speed,this.wheelX,this.wheelY,this.domEvent=u,this.editor=i,this.x=this.clientX=u.clientX,this.y=this.clientY=u.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return l.prototype.stopPropagation=function(){B.stopPropagation(this.domEvent),this.propagationStopped=!0},l.prototype.preventDefault=function(){B.preventDefault(this.domEvent),this.defaultPrevented=!0},l.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},l.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},l.prototype.getGutterRow=function(){var u=this.getDocumentPosition().row,i=this.editor.session.documentToScreenRow(u,0),r=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return i-r},l.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var u=this.editor,i=u.getSelectionRange();if(i.isEmpty())this.$inSelection=!1;else{var r=this.getDocumentPosition();this.$inSelection=i.contains(r.row,r.column)}return this.$inSelection},l.prototype.getButton=function(){return B.getButton(this.domEvent)},l.prototype.getShiftKey=function(){return this.domEvent.shiftKey},l.prototype.getAccelKey=function(){return T.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},l}();p.MouseEvent=L}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(f,p,ze){var B=f("../lib/dom"),T=f("../lib/event"),L=f("../lib/useragent"),l=200,u=200,i=5;function r(t){var e=t.editor,n=B.createElement("div");n.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",n.textContent=" ";var c=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];c.forEach(function(Et){t[Et]=this[Et]},this),e.on("mousedown",this.onMouseDown.bind(t));var d=e.container,g,G,R,_,S,Me,He=0,Te,j,yt,y,h;this.onDragStart=function(Et){if(this.cancelDrag||!d.draggable){var ei=this;return setTimeout(function(){ei.startSelect(),ei.captureMouse(Et)},0),Et.preventDefault()}S=e.getSelectionRange();var ni=Et.dataTransfer;ni.effectAllowed=e.getReadOnly()?"copy":"copyMove",e.container.appendChild(n),ni.setDragImage&&ni.setDragImage(n,0,0),setTimeout(function(){e.container.removeChild(n)}),ni.clearData(),ni.setData("Text",e.session.getTextRange()),j=!0,this.setState("drag")},this.onDragEnd=function(Et){if(d.draggable=!1,j=!1,this.setState(null),!e.getReadOnly()){var ei=Et.dataTransfer.dropEffect;!Te&&ei=="move"&&e.session.remove(e.getSelectionRange()),e.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(Et){if(!(e.getReadOnly()||!Rt(Et.dataTransfer)))return G=Et.clientX,R=Et.clientY,g||mt(),He++,Et.dataTransfer.dropEffect=Te=ii(Et),T.preventDefault(Et)},this.onDragOver=function(Et){if(!(e.getReadOnly()||!Rt(Et.dataTransfer)))return G=Et.clientX,R=Et.clientY,g||(mt(),He++),St!==null&&(St=null),Et.dataTransfer.dropEffect=Te=ii(Et),T.preventDefault(Et)},this.onDragLeave=function(Et){if(He--,He<=0&&g)return wt(),Te=null,T.preventDefault(Et)},this.onDrop=function(Et){if(Me){var ei=Et.dataTransfer;if(j)switch(Te){case"move":S.contains(Me.row,Me.column)?S={start:Me,end:Me}:S=e.moveText(S,Me);break;case"copy":S=e.moveText(S,Me,!0);break}else{var ni=ei.getData("Text");S={start:Me,end:e.session.insert(Me,ni)},e.focus(),Te=null}return wt(),T.preventDefault(Et)}},T.addListener(d,"dragstart",this.onDragStart.bind(t),e),T.addListener(d,"dragend",this.onDragEnd.bind(t),e),T.addListener(d,"dragenter",this.onDragEnter.bind(t),e),T.addListener(d,"dragover",this.onDragOver.bind(t),e),T.addListener(d,"dragleave",this.onDragLeave.bind(t),e),T.addListener(d,"drop",this.onDrop.bind(t),e);function w(Et,ei){var ni=Date.now(),ti=!ei||Et.row!=ei.row,oi=!ei||Et.column!=ei.column;if(!y||ti||oi)e.moveCursorToPosition(Et),y=ni,h={x:G,y:R};else{var ai=o(h.x,h.y,G,R);ai>i?y=null:ni-y>=u&&(e.renderer.scrollCursorIntoView(),y=null)}}function O(Et,ei){var ni=Date.now(),ti=e.renderer.layerConfig.lineHeight,oi=e.renderer.layerConfig.characterWidth,ai=e.renderer.scroller.getBoundingClientRect(),li={x:{left:G-ai.left,right:ai.right-G},y:{top:R-ai.top,bottom:ai.bottom-R}},si=Math.min(li.x.left,li.x.right),hi=Math.min(li.y.top,li.y.bottom),pi={row:Et.row,column:Et.column};si/oi<=2&&(pi.column+=li.x.left<li.x.right?-3:2),hi/ti<=1&&(pi.row+=li.y.top<li.y.bottom?-1:1);var $i=Et.row!=pi.row,Ci=Et.column!=pi.column,mi=!ei||Et.row!=ei.row;$i||Ci&&!mi?yt?ni-yt>=l&&e.renderer.scrollCursorIntoView(pi):yt=ni:yt=null}function We(){var Et=Me;Me=e.renderer.screenToTextCoordinates(G,R),w(Me,Et),O(Me,Et)}function mt(){S=e.selection.toOrientedRange(),g=e.session.addMarker(S,"ace_selection",e.getSelectionStyle()),e.clearSelection(),e.isFocused()&&e.renderer.$cursorLayer.setBlinking(!1),clearInterval(_),We(),_=setInterval(We,20),He=0,T.addListener(document,"mousemove",xt)}function wt(){clearInterval(_),e.session.removeMarker(g),g=null,e.selection.fromOrientedRange(S),e.isFocused()&&!j&&e.$resetCursorStyle(),S=null,Me=null,He=0,yt=null,y=null,T.removeListener(document,"mousemove",xt)}var St=null;function xt(){St==null&&(St=setTimeout(function(){St!=null&&g&&wt()},20))}function Rt(Et){var ei=Et.types;return!ei||Array.prototype.some.call(ei,function(ni){return ni=="text/plain"||ni=="Text"})}function ii(Et){var ei=["copy","copymove","all","uninitialized"],ni=["move","copymove","linkmove","all","uninitialized"],ti=L.isMac?Et.altKey:Et.ctrlKey,oi="uninitialized";try{oi=Et.dataTransfer.effectAllowed.toLowerCase()}catch{}var ai="none";return ti&&ei.indexOf(oi)>=0?ai="copy":ni.indexOf(oi)>=0?ai="move":ei.indexOf(oi)>=0&&(ai="copy"),ai}}(function(){this.dragWait=function(){var t=Date.now()-this.mousedownEvent.time;t>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var t=this.editor.container;t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(t){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var t=this.editor,e=t.container;e.draggable=!0,t.renderer.$cursorLayer.setBlinking(!1),t.setStyle("ace_dragging");var n=L.isWin?"default":"move";t.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(t){var e=this.editor.container;if(L.isIE&&this.state=="dragReady"){var n=o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&e.dragDrop()}if(this.state==="dragWait"){var n=o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(t){if(this.$dragEnabled){this.mousedownEvent=t;var e=this.editor,n=t.inSelection(),c=t.getButton(),d=t.domEvent.detail||1;if(d===1&&c===0&&n){if(t.editor.inMultiSelectMode&&(t.getAccelKey()||t.getShiftKey()))return;this.mousedownEvent.time=Date.now();var g=t.domEvent.target||t.domEvent.srcElement;if("unselectable"in g&&(g.unselectable="on"),e.getDragDelay()){if(L.isWebKit){this.cancelDrag=!0;var G=e.container;G.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(t,this.onMouseDrag.bind(this)),t.defaultPrevented=!0}}}}).call(r.prototype);function o(t,e,n,c){return Math.sqrt(Math.pow(n-t,2)+Math.pow(c-e,2))}p.DragdropHandler=r}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(f,p,ze){var B=f("./mouse_event").MouseEvent,T=f("../lib/event"),L=f("../lib/dom");p.addTouchListeners=function(l,u){var i="scroll",r,o,t,e,n,c,d=0,g,G=0,R=0,_=0,S,Me;function He(){var w=window.navigator&&window.navigator.clipboard,O=!1,We=function(){var St=u.getCopyText(),xt=u.session.getUndoManager().hasUndo();Me.replaceChild(L.buildDom(O?["span",!St&&mt("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],St&&mt("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],St&&mt("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],w&&mt("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],xt&&mt("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],mt("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],mt("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),Me.firstChild)},mt=function(St){return u.commands.canExecute(St,u)},wt=function(St){var xt=St.target.getAttribute("action");if(xt=="more"||!O)return O=!O,We();xt=="paste"?w.readText().then(function(Rt){u.execCommand(xt,Rt)}):xt&&((xt=="cut"||xt=="copy")&&(w?w.writeText(u.getCopyText()):document.execCommand("copy")),u.execCommand(xt)),Me.firstChild.style.display="none",O=!1,xt!="openCommandPalette"&&u.focus()};Me=L.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(St){i="menu",St.stopPropagation(),St.preventDefault(),u.textInput.focus()},ontouchend:function(St){St.stopPropagation(),St.preventDefault(),wt(St)},onclick:wt},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],u.container)}function Te(){if(!u.getOption("enableMobileMenu")){Me&&j();return}Me||He();var w=u.selection.cursor,O=u.renderer.textToScreenCoordinates(w.row,w.column),We=u.renderer.textToScreenCoordinates(0,0).pageX,mt=u.renderer.scrollLeft,wt=u.container.getBoundingClientRect();Me.style.top=O.pageY-wt.top-3+"px",O.pageX-wt.left<wt.width-70?(Me.style.left="",Me.style.right="10px"):(Me.style.right="",Me.style.left=We+mt-wt.left+"px"),Me.style.display="",Me.firstChild.style.display="none",u.on("input",j)}function j(w){Me&&(Me.style.display="none"),u.off("input",j)}function yt(){n=null,clearTimeout(n);var w=u.selection.getRange(),O=w.contains(g.row,g.column);(w.isEmpty()||!O)&&(u.selection.moveToPosition(g),u.selection.selectWord()),i="wait",Te()}function y(){n=null,clearTimeout(n),u.selection.moveToPosition(g);var w=G>=2?u.selection.getLineRange(g.row):u.session.getBracketRange(g);w&&!w.isEmpty()?u.selection.setRange(w):u.selection.selectWord(),i="wait"}T.addListener(l,"contextmenu",function(w){if(S){var O=u.textInput.getElement();O.focus()}},u),T.addListener(l,"touchstart",function(w){var O=w.touches;if(n||O.length>1){clearTimeout(n),n=null,t=-1,i="zoom";return}S=u.$mouseHandler.isMousePressed=!0;var We=u.renderer.layerConfig.lineHeight,mt=u.renderer.layerConfig.lineHeight,wt=w.timeStamp;e=wt;var St=O[0],xt=St.clientX,Rt=St.clientY;Math.abs(r-xt)+Math.abs(o-Rt)>We&&(t=-1),r=w.clientX=xt,o=w.clientY=Rt,R=_=0;var ii=new B(w,u);if(g=ii.getDocumentPosition(),wt-t<500&&O.length==1&&!d)G++,w.preventDefault(),w.button=0,y();else{G=0;var Et=u.selection.cursor,ei=u.selection.isEmpty()?Et:u.selection.anchor,ni=u.renderer.$cursorLayer.getPixelPosition(Et,!0),ti=u.renderer.$cursorLayer.getPixelPosition(ei,!0),oi=u.renderer.scroller.getBoundingClientRect(),ai=u.renderer.layerConfig.offset,li=u.renderer.scrollLeft,si=function($i,Ci){return $i=$i/mt,Ci=Ci/We-.75,$i*$i+Ci*Ci};if(w.clientX<oi.left){i="zoom";return}var hi=si(w.clientX-oi.left-ni.left+li,w.clientY-oi.top-ni.top+ai),pi=si(w.clientX-oi.left-ti.left+li,w.clientY-oi.top-ti.top+ai);hi<3.5&&pi<3.5&&(i=hi>pi?"cursor":"anchor"),pi<3.5?i="anchor":hi<3.5?i="cursor":i="scroll",n=setTimeout(yt,450)}t=wt},u),T.addListener(l,"touchend",function(w){S=u.$mouseHandler.isMousePressed=!1,c&&clearInterval(c),i=="zoom"?(i="",d=0):n?(u.selection.moveToPosition(g),d=0,Te()):i=="scroll"?(h(),j()):Te(),clearTimeout(n),n=null},u),T.addListener(l,"touchmove",function(w){n&&(clearTimeout(n),n=null);var O=w.touches;if(!(O.length>1||i=="zoom")){var We=O[0],mt=r-We.clientX,wt=o-We.clientY;if(i=="wait")if(mt*mt+wt*wt>4)i="cursor";else return w.preventDefault();r=We.clientX,o=We.clientY,w.clientX=We.clientX,w.clientY=We.clientY;var St=w.timeStamp,xt=St-e;if(e=St,i=="scroll"){var Rt=new B(w,u);Rt.speed=1,Rt.wheelX=mt,Rt.wheelY=wt,10*Math.abs(mt)<Math.abs(wt)&&(mt=0),10*Math.abs(wt)<Math.abs(mt)&&(wt=0),xt!=0&&(R=mt/xt,_=wt/xt),u._emit("mousewheel",Rt),Rt.propagationStopped||(R=_=0)}else{var ii=new B(w,u),Et=ii.getDocumentPosition();i=="cursor"?u.selection.moveCursorToPosition(Et):i=="anchor"&&u.selection.setSelectionAnchor(Et.row,Et.column),u.renderer.scrollCursorIntoView(Et),w.preventDefault()}}},u);function h(){d+=60,c=setInterval(function(){d--<=0&&(clearInterval(c),c=null),Math.abs(R)<.01&&(R=0),Math.abs(_)<.01&&(_=0),d<20&&(R=.9*R),d<20&&(_=.9*_);var w=u.session.getScrollTop();u.renderer.scrollBy(10*R,10*_),w==u.session.getScrollTop()&&(d=0)},10)}}}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(f,p,ze){var B=f("../lib/event"),T=f("../lib/useragent"),L=f("./default_handlers").DefaultHandlers,l=f("./default_gutter_handler").GutterHandler,u=f("./mouse_event").MouseEvent,i=f("./dragdrop_handler").DragdropHandler,r=f("./touch_handler").addTouchListeners,o=f("../config"),t=function(){function e(n){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var c=this;this.editor=n,new L(this),new l(this),new i(this);var d=function(R){var _=!document.hasFocus||!document.hasFocus()||!n.isFocused()&&document.activeElement==(n.textInput&&n.textInput.getElement());_&&window.focus(),n.focus(),setTimeout(function(){n.isFocused()||n.focus()})},g=n.renderer.getMouseEventTarget();B.addListener(g,"click",this.onMouseEvent.bind(this,"click"),n),B.addListener(g,"mousemove",this.onMouseMove.bind(this,"mousemove"),n),B.addMultiMouseDownListener([g,n.renderer.scrollBarV&&n.renderer.scrollBarV.inner,n.renderer.scrollBarH&&n.renderer.scrollBarH.inner,n.textInput&&n.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",n),B.addMouseWheelListener(n.container,this.onMouseWheel.bind(this,"mousewheel"),n),r(n.container,n);var G=n.renderer.$gutter;B.addListener(G,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),n),B.addListener(G,"click",this.onMouseEvent.bind(this,"gutterclick"),n),B.addListener(G,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),n),B.addListener(G,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),n),B.addListener(g,"mousedown",d,n),B.addListener(G,"mousedown",d,n),T.isIE&&n.renderer.scrollBarV&&(B.addListener(n.renderer.scrollBarV.element,"mousedown",d,n),B.addListener(n.renderer.scrollBarH.element,"mousedown",d,n)),n.on("mousemove",function(R){if(!(c.state||c.$dragDelay||!c.$dragEnabled)){var _=n.renderer.screenToTextCoordinates(R.x,R.y),S=n.session.selection.getRange(),Me=n.renderer;!S.isEmpty()&&S.insideStart(_.row,_.column)?Me.setCursorStyle("default"):Me.setCursorStyle("")}},n)}return e.prototype.onMouseEvent=function(n,c){this.editor.session&&this.editor._emit(n,new u(c,this.editor))},e.prototype.onMouseMove=function(n,c){var d=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!d||!d.length||this.editor._emit(n,new u(c,this.editor))},e.prototype.onMouseWheel=function(n,c){var d=new u(c,this.editor);d.speed=this.$scrollSpeed*2,d.wheelX=c.wheelX,d.wheelY=c.wheelY,this.editor._emit(n,d)},e.prototype.setState=function(n){this.state=n},e.prototype.captureMouse=function(n,c){this.x=n.x,this.y=n.y,this.isMousePressed=!0;var d=this.editor,g=this.editor.renderer;g.$isMousePressed=!0;var G=this,R=function(Te){if(Te){if(T.isWebKit&&!Te.which&&G.releaseMouse)return G.releaseMouse();G.x=Te.clientX,G.y=Te.clientY,c&&c(Te),G.mouseEvent=new u(Te,G.editor),G.$mouseMoved=!0}},_=function(Te){d.off("beforeEndOperation",Me),clearInterval(He),d.session&&S(),G[G.state+"End"]&&G[G.state+"End"](Te),G.state="",G.isMousePressed=g.$isMousePressed=!1,g.$keepTextAreaAtCursor&&g.$moveTextAreaToCursor(),G.$onCaptureMouseMove=G.releaseMouse=null,Te&&G.onMouseEvent("mouseup",Te),d.endOperation()},S=function(){G[G.state]&&G[G.state](),G.$mouseMoved=!1};if(T.isOldIE&&n.domEvent.type=="dblclick")return setTimeout(function(){_(n)});var Me=function(Te){G.releaseMouse&&d.curOp.command.name&&d.curOp.selectionChanged&&(G[G.state+"End"]&&G[G.state+"End"](),G.state="",G.releaseMouse())};d.on("beforeEndOperation",Me),d.startOperation({command:{name:"mouse"}}),G.$onCaptureMouseMove=R,G.releaseMouse=B.capture(this.editor.container,R,_);var He=setInterval(S,20)},e.prototype.cancelContextMenu=function(){var n=(function(c){c&&c.domEvent&&c.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",n),c&&c.domEvent&&B.stopEvent(c.domEvent))}).bind(this);setTimeout(n,10),this.editor.on("nativecontextmenu",n)},e.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},e}();t.prototype.releaseMouse=null,o.defineOptions(t.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:T.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),p.MouseHandler=t}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(f,p,ze){var B=f("../lib/dom"),T=function(){function L(l){l.on("click",function(u){var i=u.getDocumentPosition(),r=l.session,o=r.getFoldAt(i.row,i.column,1);o&&(u.getAccelKey()?r.removeFold(o):r.expandFold(o),u.stop());var t=u.domEvent&&u.domEvent.target;t&&B.hasCssClass(t,"ace_inline_button")&&B.hasCssClass(t,"ace_toggle_wrap")&&(r.setOption("wrap",!r.getUseWrapMode()),l.renderer.scrollCursorIntoView())}),l.on("gutterclick",function(u){var i=l.renderer.$gutterLayer.getRegion(u);if(i=="foldWidgets"){var r=u.getDocumentPosition().row,o=l.session;o.foldWidgets&&o.foldWidgets[r]&&l.session.onFoldWidgetClick(r,u),l.isFocused()||l.focus(),u.stop()}}),l.on("gutterdblclick",function(u){var i=l.renderer.$gutterLayer.getRegion(u);if(i=="foldWidgets"){var r=u.getDocumentPosition().row,o=l.session,t=o.getParentFoldRangeData(r,!0),e=t.range||t.firstRange;if(e){r=e.start.row;var n=o.getFoldAt(r,o.getLine(r).length,1);n?o.removeFold(n):(o.addFold("...",e),l.renderer.scrollCursorIntoView({row:e.start.row,column:0}))}u.stop()}})}return L}();p.FoldHandler=T}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(f,p,ze){var B=f("../lib/keys"),T=f("../lib/event"),L=function(){function l(u){this.$editor=u,this.$data={editor:u},this.$handlers=[],this.setDefaultHandler(u.commands)}return l.prototype.setDefaultHandler=function(u){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=u,this.addKeyboardHandler(u,0)},l.prototype.setKeyboardHandler=function(u){var i=this.$handlers;if(i[i.length-1]!=u){for(;i[i.length-1]&&i[i.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(i[i.length-1]);this.addKeyboardHandler(u,1)}},l.prototype.addKeyboardHandler=function(u,i){if(u){typeof u=="function"&&!u.handleKeyboard&&(u.handleKeyboard=u);var r=this.$handlers.indexOf(u);r!=-1&&this.$handlers.splice(r,1),i==null?this.$handlers.push(u):this.$handlers.splice(i,0,u),r==-1&&u.attach&&u.attach(this.$editor)}},l.prototype.removeKeyboardHandler=function(u){var i=this.$handlers.indexOf(u);return i==-1?!1:(this.$handlers.splice(i,1),u.detach&&u.detach(this.$editor),!0)},l.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},l.prototype.getStatusText=function(){var u=this.$data,i=u.editor;return this.$handlers.map(function(r){return r.getStatusText&&r.getStatusText(i,u)||""}).filter(Boolean).join(" ")},l.prototype.$callKeyboardHandlers=function(u,i,r,o){for(var t,e=!1,n=this.$editor.commands,c=this.$handlers.length;c--&&(t=this.$handlers[c].handleKeyboard(this.$data,u,i,r,o),!(!(!t||!t.command)&&(t.command=="null"?e=!0:e=n.exec(t.command,this.$editor,t.args,o),e&&o&&u!=-1&&t.passEvent!=!0&&t.command.passEvent!=!0&&T.stopEvent(o),e))););return!e&&u==-1&&(t={command:"insertstring"},e=n.exec("insertstring",this.$editor,i)),e&&this.$editor._signal&&this.$editor._signal("keyboardActivity",t),e},l.prototype.onCommandKey=function(u,i,r){var o=B.keyCodeToString(r);return this.$callKeyboardHandlers(i,o,r,u)},l.prototype.onTextInput=function(u){return this.$callKeyboardHandlers(-1,u)},l}();p.KeyBinding=L}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(f,p,ze){var B=0,T=0,L=!1,l=!1,u=!1,i=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],r=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],o=0,t=1,e=0,n=1,c=2,d=3,g=4,G=5,R=6,_=7,S=8,Me=9,He=10,Te=11,j=12,yt=13,y=14,h=15,w=16,O=17,We=18,mt=[We,We,We,We,We,We,We,We,We,R,G,R,S,G,We,We,We,We,We,We,We,We,We,We,We,We,We,We,G,G,G,R,S,g,g,Te,Te,Te,g,g,g,g,g,He,Me,He,Me,Me,c,c,c,c,c,c,c,c,c,c,Me,g,g,g,g,g,g,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,g,g,g,g,g,g,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,g,g,g,g,We,We,We,We,We,We,G,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,We,Me,g,Te,Te,Te,Te,g,g,g,g,e,g,g,We,g,g,Te,Te,c,c,g,e,g,g,g,c,e,g,g,g,g,g],wt=[S,S,S,S,S,S,S,S,S,S,S,We,We,We,e,n,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,S,G,yt,y,h,w,O,Me,Te,Te,Te,Te,Te,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,Me,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,S];function St(Et,ei,ni,ti){var oi=B?r:i,ai=null,li=null,si=null,hi=0,pi=null,$i=null,Ci=-1,mi=null,_i=null,xi=[];if(!ti)for(mi=0,ti=[];mi<ni;mi++)ti[mi]=ii(Et[mi]);for(T=B,L=!1,l=!1,u=!1,_i=0;_i<ni;_i++){if(ai=hi,xi[_i]=li=Rt(Et,ti,xi,_i),hi=oi[ai][li],pi=hi&240,hi&=15,ei[_i]=si=oi[hi][5],pi>0)if(pi==16){for(mi=Ci;mi<_i;mi++)ei[mi]=1;Ci=-1}else Ci=-1;if($i=oi[hi][6],$i)Ci==-1&&(Ci=_i);else if(Ci>-1){for(mi=Ci;mi<_i;mi++)ei[mi]=si;Ci=-1}ti[_i]==G&&(ei[_i]=0),T|=si}if(u){for(mi=0;mi<ni;mi++)if(ti[mi]==R){ei[mi]=B;for(var Ai=mi-1;Ai>=0&&ti[Ai]==S;Ai--)ei[Ai]=B}}}function xt(Et,ei,ni){if(!(T<Et)){if(Et==1&&B==t&&!l){ni.reverse();return}for(var ti=ni.length,oi=0,ai,li,si,hi;oi<ti;){if(ei[oi]>=Et){for(ai=oi+1;ai<ti&&ei[ai]>=Et;)ai++;for(li=oi,si=ai-1;li<si;li++,si--)hi=ni[li],ni[li]=ni[si],ni[si]=hi;oi=ai}oi++}}}function Rt(Et,ei,ni,ti){var oi=ei[ti],ai,li,si,hi;switch(oi){case e:case n:L=!1;case g:case d:return oi;case c:return L?d:c;case _:return L=!0,n;case S:return g;case Me:return ti<1||ti+1>=ei.length||(ai=ni[ti-1])!=c&&ai!=d||(li=ei[ti+1])!=c&&li!=d?g:(L&&(li=d),li==ai?li:g);case He:return ai=ti>0?ni[ti-1]:G,ai==c&&ti+1<ei.length&&ei[ti+1]==c?c:g;case Te:if(ti>0&&ni[ti-1]==c)return c;if(L)return g;for(hi=ti+1,si=ei.length;hi<si&&ei[hi]==Te;)hi++;return hi<si&&ei[hi]==c?c:g;case j:for(si=ei.length,hi=ti+1;hi<si&&ei[hi]==j;)hi++;if(hi<si){var pi=Et[ti],$i=pi>=1425&&pi<=2303||pi==64286;if(ai=ei[hi],$i&&(ai==n||ai==_))return n}return ti<1||(ai=ei[ti-1])==G?g:ni[ti-1];case G:return L=!1,l=!0,B;case R:return u=!0,g;case yt:case y:case w:case O:case h:L=!1;case We:return g}}function ii(Et){var ei=Et.charCodeAt(0),ni=ei>>8;return ni==0?ei>191?e:mt[ei]:ni==5?/[\u0591-\u05f4]/.test(Et)?n:e:ni==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(Et)?j:/[\u0660-\u0669\u066b-\u066c]/.test(Et)?d:ei==1642?Te:/[\u06f0-\u06f9]/.test(Et)?c:_:ni==32&&ei<=8287?wt[ei&255]:ni==254&&ei>=65136?_:g}p.L=e,p.R=n,p.EN=c,p.ON_R=3,p.AN=4,p.R_H=5,p.B=6,p.RLE=7,p.DOT="·",p.doBidiReorder=function(Et,ei,ni){if(Et.length<2)return{};var ti=Et.split(""),oi=new Array(ti.length),ai=new Array(ti.length),li=[];B=ni?t:o,St(ti,li,ti.length,ei);for(var si=0;si<oi.length;oi[si]=si,si++);xt(2,li,oi),xt(1,li,oi);for(var si=0;si<oi.length-1;si++)ei[si]===d?li[si]=p.AN:li[si]===n&&(ei[si]>_&&ei[si]<yt||ei[si]===g||ei[si]===We)?li[si]=p.ON_R:si>0&&ti[si-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(ti[si])&&(li[si-1]=li[si]=p.R_H,si++);ti[ti.length-1]===p.DOT&&(li[ti.length-1]=p.B),ti[0]===""&&(li[0]=p.RLE);for(var si=0;si<oi.length;si++)ai[si]=li[oi[si]];return{logicalFromVisual:oi,bidiLevels:ai}},p.hasBidiCharacters=function(Et,ei){for(var ni=!1,ti=0;ti<Et.length;ti++)ei[ti]=ii(Et.charAt(ti)),!ni&&(ei[ti]==n||ei[ti]==_||ei[ti]==d)&&(ni=!0);return ni},p.getVisualFromLogicalIdx=function(Et,ei){for(var ni=0;ni<ei.logicalFromVisual.length;ni++)if(ei.logicalFromVisual[ni]==Et)return ni;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(f,p,ze){var B=f("./lib/bidiutil"),T=f("./lib/lang"),L=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,l=function(){function u(i){this.session=i,this.bidiMap={},this.currentRow=null,this.bidiUtil=B,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=L.test(i.getValue())}return u.prototype.isBidiRow=function(i,r,o){return this.seenBidi?(i!==this.currentRow&&(this.currentRow=i,this.updateRowLine(r,o),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},u.prototype.onChange=function(i){this.seenBidi?this.currentRow=null:i.action=="insert"&&L.test(i.lines.join(`
|
180
|
+
`))&&(this.seenBidi=!0,this.currentRow=null)},u.prototype.getDocumentRow=function(){var i=0,r=this.session.$screenRowCache;if(r.length){var o=this.session.$getRowCacheIndex(r,this.currentRow);o>=0&&(i=this.session.$docRowCache[o])}return i},u.prototype.getSplitIndex=function(){var i=0,r=this.session.$screenRowCache;if(r.length)for(var o,t=this.session.$getRowCacheIndex(r,this.currentRow);this.currentRow-i>0&&(o=this.session.$getRowCacheIndex(r,this.currentRow-i-1),o===t);)t=o,i++;else i=this.currentRow;return i},u.prototype.updateRowLine=function(i,r){i===void 0&&(i=this.getDocumentRow());var o=i===this.session.getLength()-1,t=o?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(i),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var e=this.session.$wrapData[i];e&&(r===void 0&&(r=this.getSplitIndex()),r>0&&e.length?(this.wrapIndent=e.indent,this.wrapOffset=this.wrapIndent*this.charWidths[B.L],this.line=r<e.length?this.line.substring(e[r-1],e[r]):this.line.substring(e[e.length-1])):this.line=this.line.substring(0,e[r]),r==e.length&&(this.line+=this.showInvisibles?t:B.DOT))}else this.line+=this.showInvisibles?t:B.DOT;var n=this.session,c=0,d;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(g,G){return g===" "||n.isFullWidth(g.charCodeAt(0))?(d=g===" "?n.getScreenTabSize(G+c):2,c+=d-1,T.stringRepeat(B.DOT,d)):g}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==B.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},u.prototype.updateBidiMap=function(){var i=[];B.hasBidiCharacters(this.line,i)||this.isRtlDir?this.bidiMap=B.doBidiReorder(this.line,i,this.isRtlDir):this.bidiMap={}},u.prototype.markAsDirty=function(){this.currentRow=null},u.prototype.updateCharacterWidths=function(i){if(this.characterWidth!==i.$characterSize.width){this.fontMetrics=i;var r=this.characterWidth=i.$characterSize.width,o=i.$measureCharWidth("ה");this.charWidths[B.L]=this.charWidths[B.EN]=this.charWidths[B.ON_R]=r,this.charWidths[B.R]=this.charWidths[B.AN]=o,this.charWidths[B.R_H]=o*.45,this.charWidths[B.B]=this.charWidths[B.RLE]=0,this.currentRow=null}},u.prototype.setShowInvisibles=function(i){this.showInvisibles=i,this.currentRow=null},u.prototype.setEolChar=function(i){this.EOL=i},u.prototype.setContentWidth=function(i){this.contentWidth=i},u.prototype.isRtlLine=function(i){return this.$isRtl?!0:i!=null?this.session.getLine(i).charAt(0)==this.RLE:this.isRtlDir},u.prototype.setRtlDirection=function(i,r){for(var o=i.getCursorPosition(),t=i.selection.getSelectionAnchor().row;t<=o.row;t++)!r&&i.session.getLine(t).charAt(0)===i.session.$bidiHandler.RLE?i.session.doc.removeInLine(t,0,1):r&&i.session.getLine(t).charAt(0)!==i.session.$bidiHandler.RLE&&i.session.doc.insert({column:0,row:t},i.session.$bidiHandler.RLE)},u.prototype.getPosLeft=function(i){i-=this.wrapIndent;var r=this.line.charAt(0)===this.RLE?1:0,o=i>r?this.session.getOverwrite()?i:i-1:r,t=B.getVisualFromLogicalIdx(o,this.bidiMap),e=this.bidiMap.bidiLevels,n=0;!this.session.getOverwrite()&&i<=r&&e[t]%2!==0&&t++;for(var c=0;c<t;c++)n+=this.charWidths[e[c]];return!this.session.getOverwrite()&&i>r&&e[t]%2===0&&(n+=this.charWidths[e[t]]),this.wrapIndent&&(n+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(n+=this.rtlLineOffset),n},u.prototype.getSelections=function(i,r){var o=this.bidiMap,t=o.bidiLevels,e,n=[],c=0,d=Math.min(i,r)-this.wrapIndent,g=Math.max(i,r)-this.wrapIndent,G=!1,R=!1,_=0;this.wrapIndent&&(c+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var S,Me=0;Me<t.length;Me++)S=o.logicalFromVisual[Me],e=t[Me],G=S>=d&&S<g,G&&!R?_=c:!G&&R&&n.push({left:_,width:c-_}),c+=this.charWidths[e],R=G;if(G&&Me===t.length&&n.push({left:_,width:c-_}),this.isRtlDir)for(var He=0;He<n.length;He++)n[He].left+=this.rtlLineOffset;return n},u.prototype.offsetToCol=function(o){this.isRtlDir&&(o-=this.rtlLineOffset);var r=0,o=Math.max(o,0),t=0,e=0,n=this.bidiMap.bidiLevels,c=this.charWidths[n[e]];for(this.wrapIndent&&(o-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);o>t+c/2;){if(t+=c,e===n.length-1){c=0;break}c=this.charWidths[n[++e]]}return e>0&&n[e-1]%2!==0&&n[e]%2===0?(o<t&&e--,r=this.bidiMap.logicalFromVisual[e]):e>0&&n[e-1]%2===0&&n[e]%2!==0?r=1+(o>t?this.bidiMap.logicalFromVisual[e]:this.bidiMap.logicalFromVisual[e-1]):this.isRtlDir&&e===n.length-1&&c===0&&n[e-1]%2===0||!this.isRtlDir&&e===0&&n[e]%2!==0?r=1+this.bidiMap.logicalFromVisual[e]:(e>0&&n[e-1]%2!==0&&c!==0&&e--,r=this.bidiMap.logicalFromVisual[e]),r===0&&this.isRtlDir&&r++,r+this.wrapIndent},u}();p.BidiHandler=l}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(f,p,ze){var B=f("./lib/oop"),T=f("./lib/lang"),L=f("./lib/event_emitter").EventEmitter,l=f("./range").Range,u=function(){function i(r){this.session=r,this.doc=r.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var o=this;this.cursor.on("change",function(t){o.$cursorChanged=!0,o.$silent||o._emit("changeCursor"),!o.$isEmpty&&!o.$silent&&o._emit("changeSelection"),!o.$keepDesiredColumnOnChange&&t.old.column!=t.value.column&&(o.$desiredColumn=null)}),this.anchor.on("change",function(){o.$anchorChanged=!0,!o.$isEmpty&&!o.$silent&&o._emit("changeSelection")})}return i.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},i.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},i.prototype.getCursor=function(){return this.lead.getPosition()},i.prototype.setAnchor=function(r,o){this.$isEmpty=!1,this.anchor.setPosition(r,o)},i.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},i.prototype.getSelectionLead=function(){return this.lead.getPosition()},i.prototype.isBackwards=function(){var r=this.anchor,o=this.lead;return r.row>o.row||r.row==o.row&&r.column>o.column},i.prototype.getRange=function(){var r=this.anchor,o=this.lead;return this.$isEmpty?l.fromPoints(o,o):this.isBackwards()?l.fromPoints(o,r):l.fromPoints(r,o)},i.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},i.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},i.prototype.setRange=function(r,o){var t=o?r.end:r.start,e=o?r.start:r.end;this.$setSelection(t.row,t.column,e.row,e.column)},i.prototype.$setSelection=function(r,o,t,e){if(!this.$silent){var n=this.$isEmpty,c=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(r,o),this.cursor.setPosition(t,e),this.$isEmpty=!l.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||n!=this.$isEmpty||c)&&this._emit("changeSelection")}},i.prototype.$moveSelection=function(r){var o=this.lead;this.$isEmpty&&this.setSelectionAnchor(o.row,o.column),r.call(this)},i.prototype.selectTo=function(r,o){this.$moveSelection(function(){this.moveCursorTo(r,o)})},i.prototype.selectToPosition=function(r){this.$moveSelection(function(){this.moveCursorToPosition(r)})},i.prototype.moveTo=function(r,o){this.clearSelection(),this.moveCursorTo(r,o)},i.prototype.moveToPosition=function(r){this.clearSelection(),this.moveCursorToPosition(r)},i.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},i.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},i.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},i.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},i.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},i.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},i.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},i.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},i.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},i.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},i.prototype.getWordRange=function(r,o){if(typeof o>"u"){var t=r||this.lead;r=t.row,o=t.column}return this.session.getWordRange(r,o)},i.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},i.prototype.selectAWord=function(){var r=this.getCursor(),o=this.session.getAWordRange(r.row,r.column);this.setSelectionRange(o)},i.prototype.getLineRange=function(r,o){var t=typeof r=="number"?r:this.lead.row,e,n=this.session.getFoldLine(t);return n?(t=n.start.row,e=n.end.row):e=t,o===!0?new l(t,0,e,this.session.getLine(e).length):new l(t,0,e+1,0)},i.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},i.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},i.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},i.prototype.wouldMoveIntoSoftTab=function(r,o,t){var e=r.column,n=r.column+o;return t<0&&(e=r.column-o,n=r.column),this.session.isTabStop(r)&&this.doc.getLine(r.row).slice(e,n).split(" ").length-1==o},i.prototype.moveCursorLeft=function(){var r=this.lead.getPosition(),o;if(o=this.session.getFoldAt(r.row,r.column,-1))this.moveCursorTo(o.start.row,o.start.column);else if(r.column===0)r.row>0&&this.moveCursorTo(r.row-1,this.doc.getLine(r.row-1).length);else{var t=this.session.getTabSize();this.wouldMoveIntoSoftTab(r,t,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-t):this.moveCursorBy(0,-1)}},i.prototype.moveCursorRight=function(){var r=this.lead.getPosition(),o;if(o=this.session.getFoldAt(r.row,r.column,1))this.moveCursorTo(o.end.row,o.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var t=this.session.getTabSize(),r=this.lead;this.wouldMoveIntoSoftTab(r,t,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,t):this.moveCursorBy(0,1)}},i.prototype.moveCursorLineStart=function(){var r=this.lead.row,o=this.lead.column,t=this.session.documentToScreenRow(r,o),e=this.session.screenToDocumentPosition(t,0),n=this.session.getDisplayLine(r,null,e.row,e.column),c=n.match(/^\s*/);c[0].length!=o&&!this.session.$useEmacsStyleLineStart&&(e.column+=c[0].length),this.moveCursorToPosition(e)},i.prototype.moveCursorLineEnd=function(){var r=this.lead,o=this.session.getDocumentLastRowColumnPosition(r.row,r.column);if(this.lead.column==o.column){var t=this.session.getLine(o.row);if(o.column==t.length){var e=t.search(/\s+$/);e>0&&(o.column=e)}}this.moveCursorTo(o.row,o.column)},i.prototype.moveCursorFileEnd=function(){var r=this.doc.getLength()-1,o=this.doc.getLine(r).length;this.moveCursorTo(r,o)},i.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},i.prototype.moveCursorLongWordRight=function(){var r=this.lead.row,o=this.lead.column,t=this.doc.getLine(r),e=t.substring(o);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var n=this.session.getFoldAt(r,o,1);if(n){this.moveCursorTo(n.end.row,n.end.column);return}if(this.session.nonTokenRe.exec(e)&&(o+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,e=t.substring(o)),o>=t.length){this.moveCursorTo(r,t.length),this.moveCursorRight(),r<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(e)&&(o+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(r,o)},i.prototype.moveCursorLongWordLeft=function(){var r=this.lead.row,o=this.lead.column,t;if(t=this.session.getFoldAt(r,o,-1)){this.moveCursorTo(t.start.row,t.start.column);return}var e=this.session.getFoldStringAt(r,o,-1);e==null&&(e=this.doc.getLine(r).substring(0,o));var n=T.stringReverse(e);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(n)&&(o-=this.session.nonTokenRe.lastIndex,n=n.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),o<=0){this.moveCursorTo(r,0),this.moveCursorLeft(),r>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(n)&&(o-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(r,o)},i.prototype.$shortWordEndIndex=function(r){var o=0,t,e=/\s/,n=this.session.tokenRe;if(n.lastIndex=0,this.session.tokenRe.exec(r))o=this.session.tokenRe.lastIndex;else{for(;(t=r[o])&&e.test(t);)o++;if(o<1){for(n.lastIndex=0;(t=r[o])&&!n.test(t);)if(n.lastIndex=0,o++,e.test(t))if(o>2){o--;break}else{for(;(t=r[o])&&e.test(t);)o++;if(o>2)break}}}return n.lastIndex=0,o},i.prototype.moveCursorShortWordRight=function(){var r=this.lead.row,o=this.lead.column,t=this.doc.getLine(r),e=t.substring(o),n=this.session.getFoldAt(r,o,1);if(n)return this.moveCursorTo(n.end.row,n.end.column);if(o==t.length){var c=this.doc.getLength();do r++,e=this.doc.getLine(r);while(r<c&&/^\s*$/.test(e));/^\s+/.test(e)||(e=""),o=0}var d=this.$shortWordEndIndex(e);this.moveCursorTo(r,o+d)},i.prototype.moveCursorShortWordLeft=function(){var r=this.lead.row,o=this.lead.column,t;if(t=this.session.getFoldAt(r,o,-1))return this.moveCursorTo(t.start.row,t.start.column);var e=this.session.getLine(r).substring(0,o);if(o===0){do r--,e=this.doc.getLine(r);while(r>0&&/^\s*$/.test(e));o=e.length,/\s+$/.test(e)||(e="")}var n=T.stringReverse(e),c=this.$shortWordEndIndex(n);return this.moveCursorTo(r,o-c)},i.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},i.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},i.prototype.moveCursorBy=function(r,o){var t=this.session.documentToScreenPosition(this.lead.row,this.lead.column),e;if(o===0&&(r!==0&&(this.session.$bidiHandler.isBidiRow(t.row,this.lead.row)?(e=this.session.$bidiHandler.getPosLeft(t.column),t.column=Math.round(e/this.session.$bidiHandler.charWidths[0])):e=t.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?t.column=this.$desiredColumn:this.$desiredColumn=t.column),r!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var n=this.session.lineWidgets[this.lead.row];r<0?r-=n.rowsAbove||0:r>0&&(r+=n.rowCount-(n.rowsAbove||0))}var c=this.session.screenToDocumentPosition(t.row+r,t.column,e);r!==0&&o===0&&c.row===this.lead.row&&(c.column,this.lead.column),this.moveCursorTo(c.row,c.column+o,o===0)},i.prototype.moveCursorToPosition=function(r){this.moveCursorTo(r.row,r.column)},i.prototype.moveCursorTo=function(r,o,t){var e=this.session.getFoldAt(r,o,1);e&&(r=e.start.row,o=e.start.column),this.$keepDesiredColumnOnChange=!0;var n=this.session.getLine(r);/[\uDC00-\uDFFF]/.test(n.charAt(o))&&n.charAt(o-1)&&(this.lead.row==r&&this.lead.column==o+1?o=o-1:o=o+1),this.lead.setPosition(r,o),this.$keepDesiredColumnOnChange=!1,t||(this.$desiredColumn=null)},i.prototype.moveCursorToScreen=function(r,o,t){var e=this.session.screenToDocumentPosition(r,o);this.moveCursorTo(e.row,e.column,t)},i.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},i.prototype.fromOrientedRange=function(r){this.setSelectionRange(r,r.cursor==r.start),this.$desiredColumn=r.desiredColumn||this.$desiredColumn},i.prototype.toOrientedRange=function(r){var o=this.getRange();return r?(r.start.column=o.start.column,r.start.row=o.start.row,r.end.column=o.end.column,r.end.row=o.end.row):r=o,r.cursor=this.isBackwards()?r.start:r.end,r.desiredColumn=this.$desiredColumn,r},i.prototype.getRangeOfMovements=function(r){var o=this.getCursor();try{r(this);var t=this.getCursor();return l.fromPoints(o,t)}catch{return l.fromPoints(o,o)}finally{this.moveCursorToPosition(o)}},i.prototype.toJSON=function(){if(this.rangeCount)var r=this.ranges.map(function(o){var t=o.clone();return t.isBackwards=o.cursor==o.start,t});else{var r=this.getRange();r.isBackwards=this.isBackwards()}return r},i.prototype.fromJSON=function(r){if(r.start==null)if(this.rangeList&&r.length>1){this.toSingleRange(r[0]);for(var o=r.length;o--;){var t=l.fromPoints(r[o].start,r[o].end);r[o].isBackwards&&(t.cursor=t.start),this.addRange(t,!0)}return}else r=r[0];this.rangeList&&this.toSingleRange(r),this.setSelectionRange(r,r.isBackwards)},i.prototype.isEqual=function(r){if((r.length||this.rangeCount)&&r.length!=this.rangeCount)return!1;if(!r.length||!this.ranges)return this.getRange().isEqual(r);for(var o=this.ranges.length;o--;)if(!this.ranges[o].isEqual(r[o]))return!1;return!0},i}();u.prototype.setSelectionAnchor=u.prototype.setAnchor,u.prototype.getSelectionAnchor=u.prototype.getAnchor,u.prototype.setSelectionRange=u.prototype.setRange,B.implement(u.prototype,L),p.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(f,p,ze){var B=f("./lib/report_error").reportError,T=2e3,L=function(){function l(u){this.splitRegex,this.states=u,this.regExps={},this.matchMappings={};for(var i in this.states){for(var r=this.states[i],o=[],t=0,e=this.matchMappings[i]={defaultToken:"text"},n="g",c=[],d=0;d<r.length;d++){var g=r[d];if(g.defaultToken&&(e.defaultToken=g.defaultToken),g.caseInsensitive&&n.indexOf("i")===-1&&(n+="i"),g.unicode&&n.indexOf("u")===-1&&(n+="u"),g.regex!=null){g.regex instanceof RegExp&&(g.regex=g.regex.toString().slice(1,-1));var G=g.regex,R=new RegExp("(?:("+G+")|(.))").exec("a").length-2;Array.isArray(g.token)?g.token.length==1||R==1?g.token=g.token[0]:R-1!=g.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:g,groupCount:R-1}),g.token=g.token[0]):(g.tokenArray=g.token,g.token=null,g.onMatch=this.$arrayTokens):typeof g.token=="function"&&!g.onMatch&&(R>1?g.onMatch=this.$applyToken:g.onMatch=g.token),R>1&&(/\\\d/.test(g.regex)?G=g.regex.replace(/\\([0-9]+)/g,function(_,S){return"\\"+(parseInt(S,10)+t+1)}):(R=1,G=this.removeCapturingGroups(g.regex)),!g.splitRegex&&typeof g.token!="string"&&c.push(g)),e[t]=d,t+=R,o.push(G),g.onMatch||(g.onMatch=null)}}o.length||(e[0]=0,o.push("$")),c.forEach(function(_){_.splitRegex=this.createSplitterRegexp(_.regex,n)},this),this.regExps[i]=new RegExp("("+o.join(")|(")+")|($)",n)}}return l.prototype.$setMaxTokenCount=function(u){T=u|0},l.prototype.$applyToken=function(u){var i=this.splitRegex.exec(u).slice(1),r=this.token.apply(this,i);if(typeof r=="string")return[{type:r,value:u}];for(var o=[],t=0,e=r.length;t<e;t++)i[t]&&(o[o.length]={type:r[t],value:i[t]});return o},l.prototype.$arrayTokens=function(u){if(!u)return[];var i=this.splitRegex.exec(u);if(!i)return"text";for(var r=[],o=this.tokenArray,t=0,e=o.length;t<e;t++)i[t+1]&&(r[r.length]={type:o[t],value:i[t+1]});return r},l.prototype.removeCapturingGroups=function(u){var i=u.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(r,o){return o?"(?:":r});return i},l.prototype.createSplitterRegexp=function(u,i){if(u.indexOf("(?=")!=-1){var r=0,o=!1,t={};u.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,n,c,d,g,G){return o?o=g!="]":g?o=!0:d?(r==t.stack&&(t.end=G+1,t.stack=-1),r--):c&&(r++,c.length!=1&&(t.stack=r,t.start=G)),e}),t.end!=null&&/^\)*$/.test(u.substr(t.end))&&(u=u.substring(0,t.start)+u.substr(t.end))}return u.charAt(0)!="^"&&(u="^"+u),u.charAt(u.length-1)!="$"&&(u+="$"),new RegExp(u,(i||"").replace("g",""))},l.prototype.getLineTokens=function(u,i){if(i&&typeof i!="string"){var r=i.slice(0);i=r[0],i==="#tmp"&&(r.shift(),i=r.shift())}else var r=[];var o=i||"start",t=this.states[o];t||(o="start",t=this.states[o]);var e=this.matchMappings[o],n=this.regExps[o];n.lastIndex=0;for(var c,d=[],g=0,G=0,R={type:null,value:""};c=n.exec(u);){var _=e.defaultToken,S=null,Me=c[0],He=n.lastIndex;if(He-Me.length>g){var Te=u.substring(g,He-Me.length);R.type==_?R.value+=Te:(R.type&&d.push(R),R={type:_,value:Te})}for(var j=0;j<c.length-2;j++)if(c[j+1]!==void 0){S=t[e[j]],S.onMatch?_=S.onMatch(Me,o,r,u):_=S.token,S.next&&(typeof S.next=="string"?o=S.next:o=S.next(o,r),t=this.states[o],t||(this.reportError("state doesn't exist",o),o="start",t=this.states[o]),e=this.matchMappings[o],g=He,n=this.regExps[o],n.lastIndex=He),S.consumeLineEnd&&(g=He);break}if(Me){if(typeof _=="string")(!S||S.merge!==!1)&&R.type===_?R.value+=Me:(R.type&&d.push(R),R={type:_,value:Me});else if(_){R.type&&d.push(R),R={type:null,value:""};for(var j=0;j<_.length;j++)d.push(_[j])}}if(g==u.length)break;if(g=He,G++>T){for(G>2*u.length&&this.reportError("infinite loop with in ace tokenizer",{startState:i,line:u});g<u.length;)R.type&&d.push(R),R={value:u.substring(g,g+=500),type:"overflow"};o="start",r=[];break}}return R.type&&d.push(R),r.length>1&&r[0]!==o&&r.unshift("#tmp",o),{tokens:d,state:r.length?r:o}},l}();L.prototype.reportError=B,p.Tokenizer=L}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(f,p,ze){var B=f("../lib/deep_copy").deepCopy,T;T=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},(function(){this.addRules=function(u,i){if(!i){for(var r in u)this.$rules[r]=u[r];return}for(var r in u){for(var o=u[r],t=0;t<o.length;t++){var e=o[t];(e.next||e.onMatch)&&(typeof e.next=="string"&&e.next.indexOf(i)!==0&&(e.next=i+e.next),e.nextState&&e.nextState.indexOf(i)!==0&&(e.nextState=i+e.nextState))}this.$rules[i+r]=o}},this.getRules=function(){return this.$rules},this.embedRules=function(u,i,r,o,t){var e=typeof u=="function"?new u().getRules():u;if(o)for(var n=0;n<o.length;n++)o[n]=i+o[n];else{o=[];for(var c in e)o.push(i+c)}if(this.addRules(e,i),r)for(var d=Array.prototype[t?"push":"unshift"],n=0;n<o.length;n++)d.apply(this.$rules[o[n]],B(r));this.$embeds||(this.$embeds=[]),this.$embeds.push(i)},this.getEmbeds=function(){return this.$embeds};var L=function(u,i){return(u!="start"||i.length)&&i.unshift(this.nextState,u),this.nextState},l=function(u,i){return i.shift(),i.shift()||"start"};this.normalizeRules=function(){var u=0,i=this.$rules;function r(o){var t=i[o];t.processed=!0;for(var e=0;e<t.length;e++){var n=t[e],c=null;Array.isArray(n)&&(c=n,n={}),!n.regex&&n.start&&(n.regex=n.start,n.next||(n.next=[]),n.next.push({defaultToken:n.token},{token:n.token+".end",regex:n.end||n.start,next:"pop"}),n.token=n.token+".start",n.push=!0);var d=n.next||n.push;if(d&&Array.isArray(d)){var g=n.stateName;g||(g=n.token,typeof g!="string"&&(g=g[0]||""),i[g]&&(g+=u++)),i[g]=d,n.next=g,r(g)}else d=="pop"&&(n.next=l);if(n.push&&(n.nextState=n.next||n.push,n.next=L,delete n.push),n.rules)for(var G in n.rules)i[G]?i[G].push&&i[G].push.apply(i[G],n.rules[G]):i[G]=n.rules[G];var R=typeof n=="string"?n:n.include;if(R&&(R==="$self"&&(R="start"),Array.isArray(R)?c=R.map(function(S){return i[S]}):c=i[R]),c){var _=[e,1].concat(c);n.noEscape&&(_=_.filter(function(S){return!S.next})),t.splice.apply(t,_),e--}n.keywordMap&&(n.token=this.createKeywordMapper(n.keywordMap,n.defaultToken||"text",n.caseInsensitive),delete n.defaultToken)}}Object.keys(i).forEach(r,this)},this.createKeywordMapper=function(u,i,r,o){var t=Object.create(null);return this.$keywordList=[],Object.keys(u).forEach(function(e){for(var n=u[e],c=n.split(o||"|"),d=c.length;d--;){var g=c[d];this.$keywordList.push(g),r&&(g=g.toLowerCase()),t[g]=e}},this),u=null,r?function(e){return t[e.toLowerCase()]||i}:function(e){return t[e]||i}},this.getKeywords=function(){return this.$keywords}}).call(T.prototype),p.TextHighlightRules=T}),ace.define("ace/mode/behaviour",["require","exports","module"],function(f,p,ze){var B;B=function(){this.$behaviours={}},(function(){this.add=function(T,L,l){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[T]:this.$behaviours[T]={}}this.$behaviours[T][L]=l},this.addBehaviours=function(T){for(var L in T)for(var l in T[L])this.add(L,l,T[L][l])},this.remove=function(T){this.$behaviours&&this.$behaviours[T]&&delete this.$behaviours[T]},this.inherit=function(T,L){if(typeof T=="function")var l=new T().getBehaviours(L);else var l=T.getBehaviours(L);this.addBehaviours(l)},this.getBehaviours=function(T){if(T){for(var L={},l=0;l<T.length;l++)this.$behaviours[T[l]]&&(L[T[l]]=this.$behaviours[T[l]]);return L}else return this.$behaviours}}).call(B.prototype),p.Behaviour=B}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(f,p,ze){var B=f("./range").Range,T=function(){function L(l,u,i){this.$session=l,this.$row=u,this.$rowTokens=l.getTokens(u);var r=l.getTokenAt(u,i);this.$tokenIndex=r?r.index:-1}return L.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},L.prototype.stepForward=function(){this.$tokenIndex+=1;for(var l;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,l||(l=this.$session.getLength()),this.$row>=l)return this.$row=l-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},L.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},L.prototype.getCurrentTokenRow=function(){return this.$row},L.prototype.getCurrentTokenColumn=function(){var l=this.$rowTokens,u=this.$tokenIndex,i=l[u].start;if(i!==void 0)return i;for(i=0;u>0;)u-=1,i+=l[u].value.length;return i},L.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},L.prototype.getCurrentTokenRange=function(){var l=this.$rowTokens[this.$tokenIndex],u=this.getCurrentTokenColumn();return new B(this.$row,u,this.$row,u+l.value.length)},L}();p.TokenIterator=T}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(f,p,ze){var B=f("../../lib/oop"),T=f("../behaviour").Behaviour,L=f("../../token_iterator").TokenIterator,l=f("../../lib/lang"),u=["text","paren.rparen","rparen","paren","punctuation.operator"],i=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],r,o={},t={'"':'"',"'":"'"},e=function(d){var g=-1;if(d.multiSelect&&(g=d.selection.index,o.rangeCount!=d.multiSelect.rangeCount&&(o={rangeCount:d.multiSelect.rangeCount})),o[g])return r=o[g];r=o[g]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},n=function(d,g,G,R){var _=d.end.row-d.start.row;return{text:G+g+R,selection:[0,d.start.column+1,_,d.end.column+(_?0:1)]}},c;c=function(d){d=d||{},this.add("braces","insertion",function(g,G,R,_,S){var Me=R.getCursorPosition(),He=_.doc.getLine(Me.row);if(S=="{"){e(R);var Te=R.getSelectionRange(),j=_.doc.getTextRange(Te),yt=_.getTokenAt(Me.row,Me.column);if(j!==""&&j!=="{"&&R.getWrapBehavioursEnabled())return n(Te,j,"{","}");if(yt&&/(?:string)\.quasi|\.xml/.test(yt.type)){var y=[/tag\-(?:open|name)/,/attribute\-name/];return y.some(function(St){return St.test(yt.type)})||/(string)\.quasi/.test(yt.type)&&yt.value[Me.column-yt.start-1]!=="$"?void 0:(c.recordAutoInsert(R,_,"}"),{text:"{}",selection:[1,1]})}else if(c.isSaneInsertion(R,_))return/[\]\}\)]/.test(He[Me.column])||R.inMultiSelectMode||d.braces?(c.recordAutoInsert(R,_,"}"),{text:"{}",selection:[1,1]}):(c.recordMaybeInsert(R,_,"{"),{text:"{",selection:[1,1]})}else if(S=="}"){e(R);var h=He.substring(Me.column,Me.column+1);if(h=="}"){var w=_.$findOpeningBracket("}",{column:Me.column+1,row:Me.row});if(w!==null&&c.isAutoInsertedClosing(Me,He,S))return c.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(S==`
|
181
|
+
`||S==`\r
|
182
|
+
`){e(R);var O="";c.isMaybeInsertedClosing(Me,He)&&(O=l.stringRepeat("}",r.maybeInsertedBrackets),c.clearMaybeInsertedClosing());var h=He.substring(Me.column,Me.column+1);if(h==="}"){var We=_.findMatchingBracket({row:Me.row,column:Me.column+1},"}");if(!We)return null;var mt=this.$getIndent(_.getLine(We.row))}else if(O)var mt=this.$getIndent(He);else{c.clearMaybeInsertedClosing();return}var wt=mt+_.getTabString();return{text:`
|
183
|
+
`+wt+`
|
184
|
+
`+mt+O,selection:[1,wt.length,1,wt.length]}}else c.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(g,G,R,_,S){var Me=_.doc.getTextRange(S);if(!S.isMultiLine()&&Me=="{"){e(R);var He=_.doc.getLine(S.start.row),Te=He.substring(S.end.column,S.end.column+1);if(Te=="}")return S.end.column++,S;r.maybeInsertedBrackets--}}),this.add("parens","insertion",function(g,G,R,_,S){if(S=="("){e(R);var Me=R.getSelectionRange(),He=_.doc.getTextRange(Me);if(He!==""&&R.getWrapBehavioursEnabled())return n(Me,He,"(",")");if(c.isSaneInsertion(R,_))return c.recordAutoInsert(R,_,")"),{text:"()",selection:[1,1]}}else if(S==")"){e(R);var Te=R.getCursorPosition(),j=_.doc.getLine(Te.row),yt=j.substring(Te.column,Te.column+1);if(yt==")"){var y=_.$findOpeningBracket(")",{column:Te.column+1,row:Te.row});if(y!==null&&c.isAutoInsertedClosing(Te,j,S))return c.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(g,G,R,_,S){var Me=_.doc.getTextRange(S);if(!S.isMultiLine()&&Me=="("){e(R);var He=_.doc.getLine(S.start.row),Te=He.substring(S.start.column+1,S.start.column+2);if(Te==")")return S.end.column++,S}}),this.add("brackets","insertion",function(g,G,R,_,S){if(S=="["){e(R);var Me=R.getSelectionRange(),He=_.doc.getTextRange(Me);if(He!==""&&R.getWrapBehavioursEnabled())return n(Me,He,"[","]");if(c.isSaneInsertion(R,_))return c.recordAutoInsert(R,_,"]"),{text:"[]",selection:[1,1]}}else if(S=="]"){e(R);var Te=R.getCursorPosition(),j=_.doc.getLine(Te.row),yt=j.substring(Te.column,Te.column+1);if(yt=="]"){var y=_.$findOpeningBracket("]",{column:Te.column+1,row:Te.row});if(y!==null&&c.isAutoInsertedClosing(Te,j,S))return c.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(g,G,R,_,S){var Me=_.doc.getTextRange(S);if(!S.isMultiLine()&&Me=="["){e(R);var He=_.doc.getLine(S.start.row),Te=He.substring(S.start.column+1,S.start.column+2);if(Te=="]")return S.end.column++,S}}),this.add("string_dquotes","insertion",function(g,G,R,_,S){var Me=_.$mode.$quotes||t;if(S.length==1&&Me[S]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(S)!=-1)return;e(R);var He=S,Te=R.getSelectionRange(),j=_.doc.getTextRange(Te);if(j!==""&&(j.length!=1||!Me[j])&&R.getWrapBehavioursEnabled())return n(Te,j,He,He);if(!j){var yt=R.getCursorPosition(),y=_.doc.getLine(yt.row),h=y.substring(yt.column-1,yt.column),w=y.substring(yt.column,yt.column+1),O=_.getTokenAt(yt.row,yt.column),We=_.getTokenAt(yt.row,yt.column+1);if(h=="\\"&&O&&/escape/.test(O.type))return null;var mt=O&&/string|escape/.test(O.type),wt=!We||/string|escape/.test(We.type),St;if(w==He)St=mt!==wt,St&&/string\.end/.test(We.type)&&(St=!1);else{if(mt&&!wt||mt&&wt)return null;var xt=_.$mode.tokenRe;xt.lastIndex=0;var Rt=xt.test(h);xt.lastIndex=0;var ii=xt.test(w),Et=_.$mode.$pairQuotesAfter,ei=Et&&Et[He]&&Et[He].test(h);if(!ei&&Rt||ii||w&&!/[\s;,.})\]\\]/.test(w))return null;var ni=y[yt.column-2];if(h==He&&(ni==He||xt.test(ni)))return null;St=!0}return{text:St?He+He:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(g,G,R,_,S){var Me=_.$mode.$quotes||t,He=_.doc.getTextRange(S);if(!S.isMultiLine()&&Me.hasOwnProperty(He)){e(R);var Te=_.doc.getLine(S.start.row),j=Te.substring(S.start.column+1,S.start.column+2);if(j==He)return S.end.column++,S}}),d.closeDocComment!==!1&&this.add("doc comment end","insertion",function(g,G,R,_,S){if(g==="doc-start"&&(S===`
|
185
|
+
`||S===`\r
|
186
|
+
`)&&R.selection.isEmpty()){var Me=R.getCursorPosition();if(Me.column===0)return;for(var He=_.doc.getLine(Me.row),Te=_.doc.getLine(Me.row+1),j=_.getTokens(Me.row),yt=0,y=0;y<j.length;y++){yt+=j[y].value.length;var h=j[y];if(yt>=Me.column){if(yt===Me.column){if(!/\.doc/.test(h.type))return;if(/\*\//.test(h.value)){var w=j[y+1];if(!w||!/\.doc/.test(w.type))return}}var O=Me.column-(yt-h.value.length),We=h.value.indexOf("*/"),mt=h.value.indexOf("/**",We>-1?We+2:0);if(mt!==-1&&O>mt&&O<mt+3||We!==-1&&mt!==-1&&O>=We&&O<=mt||!/\.doc/.test(h.type))return;break}}var wt=this.$getIndent(He);if(/\s*\*/.test(Te))return/^\s*\*/.test(He)?{text:S+wt+"* ",selection:[1,2+wt.length,1,2+wt.length]}:{text:S+wt+" * ",selection:[1,3+wt.length,1,3+wt.length]};if(/\/\*\*/.test(He.substring(0,Me.column)))return{text:S+wt+" * "+S+" "+wt+"*/",selection:[1,4+wt.length,1,4+wt.length]}}})},c.isSaneInsertion=function(d,g){var G=d.getCursorPosition(),R=new L(g,G.row,G.column);if(!this.$matchTokenType(R.getCurrentToken()||"text",u)){if(/[)}\]]/.test(d.session.getLine(G.row)[G.column]))return!0;var _=new L(g,G.row,G.column+1);if(!this.$matchTokenType(_.getCurrentToken()||"text",u))return!1}return R.stepForward(),R.getCurrentTokenRow()!==G.row||this.$matchTokenType(R.getCurrentToken()||"text",i)},c.$matchTokenType=function(d,g){return g.indexOf(d.type||d)>-1},c.recordAutoInsert=function(d,g,G){var R=d.getCursorPosition(),_=g.doc.getLine(R.row);this.isAutoInsertedClosing(R,_,r.autoInsertedLineEnd[0])||(r.autoInsertedBrackets=0),r.autoInsertedRow=R.row,r.autoInsertedLineEnd=G+_.substr(R.column),r.autoInsertedBrackets++},c.recordMaybeInsert=function(d,g,G){var R=d.getCursorPosition(),_=g.doc.getLine(R.row);this.isMaybeInsertedClosing(R,_)||(r.maybeInsertedBrackets=0),r.maybeInsertedRow=R.row,r.maybeInsertedLineStart=_.substr(0,R.column)+G,r.maybeInsertedLineEnd=_.substr(R.column),r.maybeInsertedBrackets++},c.isAutoInsertedClosing=function(d,g,G){return r.autoInsertedBrackets>0&&d.row===r.autoInsertedRow&&G===r.autoInsertedLineEnd[0]&&g.substr(d.column)===r.autoInsertedLineEnd},c.isMaybeInsertedClosing=function(d,g){return r.maybeInsertedBrackets>0&&d.row===r.maybeInsertedRow&&g.substr(d.column)===r.maybeInsertedLineEnd&&g.substr(0,d.column)==r.maybeInsertedLineStart},c.popAutoInsertedClosing=function(){r.autoInsertedLineEnd=r.autoInsertedLineEnd.substr(1),r.autoInsertedBrackets--},c.clearMaybeInsertedClosing=function(){r&&(r.maybeInsertedBrackets=0,r.maybeInsertedRow=-1)},B.inherits(c,T),p.CstyleBehaviour=c}),ace.define("ace/unicode",["require","exports","module"],function(f,p,ze){for(var B=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],T=0,L=[],l=0;l<B.length;l+=2)L.push(T+=B[l]),B[l+1]&&L.push(45,T+=B[l+1]);p.wordChars=String.fromCharCode.apply(null,L)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(f,p,ze){var B=f("../config"),T=f("../tokenizer").Tokenizer,L=f("./text_highlight_rules").TextHighlightRules,l=f("./behaviour/cstyle").CstyleBehaviour,u=f("../unicode"),i=f("../lib/lang"),r=f("../token_iterator").TokenIterator,o=f("../range").Range,t;t=function(){this.HighlightRules=L},(function(){this.$defaultBehaviour=new l,this.tokenRe=new RegExp("^["+u.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+u.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new T(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,n,c,d){var g=n.doc,G=!0,R=!0,_=1/0,S=n.getTabSize(),Me=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var j=this.lineCommentStart.map(i.escapeRegExp).join("|"),He=this.lineCommentStart[0];else var j=i.escapeRegExp(this.lineCommentStart),He=this.lineCommentStart;j=new RegExp("^(\\s*)(?:"+j+") ?"),Me=n.getUseSoftTabs();var h=function(ii,Et){var ei=ii.match(j);if(ei){var ni=ei[1].length,ti=ei[0].length;!We(ii,ni,ti)&&ei[0][ti-1]==" "&&ti--,g.removeInLine(Et,ni,ti)}},O=He+" ",y=function(ii,Et){(!G||/\S/.test(ii))&&(We(ii,_,_)?g.insertInLine({row:Et,column:_},O):g.insertInLine({row:Et,column:_},He))},w=function(ii,Et){return j.test(ii)},We=function(ii,Et,ei){for(var ni=0;Et--&&ii.charAt(Et)==" ";)ni++;if(ni%S!=0)return!1;for(var ni=0;ii.charAt(ei++)==" ";)ni++;return S>2?ni%S!=S-1:ni%S==0}}else{if(!this.blockComment)return!1;var He=this.blockComment.start,Te=this.blockComment.end,j=new RegExp("^(\\s*)(?:"+i.escapeRegExp(He)+")"),yt=new RegExp("(?:"+i.escapeRegExp(Te)+")\\s*$"),y=function(St,xt){w(St,xt)||(!G||/\S/.test(St))&&(g.insertInLine({row:xt,column:St.length},Te),g.insertInLine({row:xt,column:_},He))},h=function(St,xt){var Rt;(Rt=St.match(yt))&&g.removeInLine(xt,St.length-Rt[0].length,St.length),(Rt=St.match(j))&&g.removeInLine(xt,Rt[1].length,Rt[0].length)},w=function(St,xt){if(j.test(St))return!0;for(var Rt=n.getTokens(xt),ii=0;ii<Rt.length;ii++)if(Rt[ii].type==="comment")return!0}}function mt(St){for(var xt=c;xt<=d;xt++)St(g.getLine(xt),xt)}var wt=1/0;mt(function(St,xt){var Rt=St.search(/\S/);Rt!==-1?(Rt<_&&(_=Rt),R&&!w(St,xt)&&(R=!1)):wt>St.length&&(wt=St.length)}),_==1/0&&(_=wt,G=!1,R=!1),Me&&_%S!=0&&(_=Math.floor(_/S)*S),mt(R?h:y)},this.toggleBlockComment=function(e,n,c,d){var g=this.blockComment;if(g){!g.start&&g[0]&&(g=g[0]);var G=new r(n,d.row,d.column),R=G.getCurrentToken();n.selection;var _=n.selection.toOrientedRange(),S,Me;if(R&&/comment/.test(R.type)){for(var He,Te;R&&/comment/.test(R.type);){var j=R.value.indexOf(g.start);if(j!=-1){var yt=G.getCurrentTokenRow(),y=G.getCurrentTokenColumn()+j;He=new o(yt,y,yt,y+g.start.length);break}R=G.stepBackward()}for(var G=new r(n,d.row,d.column),R=G.getCurrentToken();R&&/comment/.test(R.type);){var j=R.value.indexOf(g.end);if(j!=-1){var yt=G.getCurrentTokenRow(),y=G.getCurrentTokenColumn()+j;Te=new o(yt,y,yt,y+g.end.length);break}R=G.stepForward()}Te&&n.remove(Te),He&&(n.remove(He),S=He.start.row,Me=-g.start.length)}else Me=g.start.length,S=c.start.row,n.insert(c.end,g.end),n.insert(c.start,g.start);_.start.row==S&&(_.start.column+=Me),_.end.row==S&&(_.end.column+=Me),n.selection.fromOrientedRange(_)}},this.getNextLineIndent=function(e,n,c){return this.$getIndent(n)},this.checkOutdent=function(e,n,c){return!1},this.autoOutdent=function(e,n,c){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var n in e)if(e[n]){var c=e[n],d=c.prototype.$id,g=B.$modes[d];g||(B.$modes[d]=g=new c),B.$modes[n]||(B.$modes[n]=g),this.$embeds.push(n),this.$modes[n]=g}for(var G=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],R=function(S){(function(Me){var He=G[S],Te=Me[He];Me[G[S]]=function(){return this.$delegator(He,arguments,Te)}})(_)},_=this,n=0;n<G.length;n++)R(n)},this.$delegator=function(e,n,c){var d=n[0]||"start";if(typeof d!="string"){if(Array.isArray(d[2])){var g=d[2][d[2].length-1],G=this.$modes[g];if(G)return G[e].apply(G,[d[1]].concat([].slice.call(n,1)))}d=d[0]||"start"}for(var R=0;R<this.$embeds.length;R++)if(this.$modes[this.$embeds[R]]){var _=d.split(this.$embeds[R]);if(!_[0]&&_[1]){n[0]=_[1];var G=this.$modes[this.$embeds[R]];return G[e].apply(G,n)}}var S=c.apply(this,n);return c?S:void 0},this.transformAction=function(e,n,c,d,g){if(this.$behaviour){var G=this.$behaviour.getBehaviours();for(var R in G)if(G[R][n]){var _=G[R][n].apply(this,arguments);if(_)return _}}},this.getKeywords=function(e){if(!this.completionKeywords){var n=this.$tokenizer.rules,c=[];for(var d in n)for(var g=n[d],G=0,R=g.length;G<R;G++)if(typeof g[G].token=="string")/keyword|support|storage/.test(g[G].token)&&c.push(g[G].regex);else if(typeof g[G].token=="object"){for(var _=0,S=g[G].token.length;_<S;_++)if(/keyword|support|storage/.test(g[G].token[_])){var d=g[G].regex.match(/\(.+?\)/g)[_];c.push(d.substr(1,d.length-2))}}this.completionKeywords=c}return e?c.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,n,c,d){var g=this.$keywordList||this.$createKeywordList();return g.map(function(G){return{name:G,value:G,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(t.prototype),p.Mode=t}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(f,p,ze){var B=f("./lib/dom"),T=function(){function L(l){this.session=l,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}return L.prototype.getRowLength=function(l){var u;return this.lineWidgets?u=this.lineWidgets[l]&&this.lineWidgets[l].rowCount||0:u=0,!this.$useWrapMode||!this.$wrapData[l]?1+u:this.$wrapData[l].length+1+u},L.prototype.$getWidgetScreenLength=function(){var l=0;return this.lineWidgets.forEach(function(u){u&&u.rowCount&&!u.hidden&&(l+=u.rowCount)}),l},L.prototype.$onChangeEditor=function(l){this.attach(l.editor)},L.prototype.attach=function(l){l&&l.widgetManager&&l.widgetManager!=this&&l.widgetManager.detach(),this.editor!=l&&(this.detach(),this.editor=l,l&&(l.widgetManager=this,l.renderer.on("beforeRender",this.measureWidgets),l.renderer.on("afterRender",this.renderWidgets)))},L.prototype.detach=function(l){var u=this.editor;if(u){this.editor=null,u.widgetManager=null,u.renderer.off("beforeRender",this.measureWidgets),u.renderer.off("afterRender",this.renderWidgets);var i=this.session.lineWidgets;i&&i.forEach(function(r){r&&r.el&&r.el.parentNode&&(r._inDocument=!1,r.el.parentNode.removeChild(r.el))})}},L.prototype.updateOnFold=function(l,u){var i=u.lineWidgets;if(!(!i||!l.action)){for(var r=l.data,o=r.start.row,t=r.end.row,e=l.action=="add",n=o+1;n<t;n++)i[n]&&(i[n].hidden=e);i[t]&&(e?i[o]?i[t].hidden=e:i[o]=i[t]:(i[o]==i[t]&&(i[o]=void 0),i[t].hidden=e))}},L.prototype.updateOnChange=function(l){var u=this.session.lineWidgets;if(u){var i=l.start.row,r=l.end.row-i;if(r!==0)if(l.action=="remove"){var o=u.splice(i+1,r);!u[i]&&o[o.length-1]&&(u[i]=o.pop()),o.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var t=new Array(r);u[i]&&u[i].column!=null&&l.start.column>u[i].column&&i++,t.unshift(i,0),u.splice.apply(u,t),this.$updateRows()}}},L.prototype.$updateRows=function(){var l=this.session.lineWidgets;if(l){var u=!0;l.forEach(function(i,r){if(i)for(u=!1,i.row=r;i.$oldWidget;)i.$oldWidget.row=r,i=i.$oldWidget}),u&&(this.session.lineWidgets=null)}},L.prototype.$registerLineWidget=function(l){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var u=this.session.lineWidgets[l.row];return u&&(l.$oldWidget=u,u.el&&u.el.parentNode&&(u.el.parentNode.removeChild(u.el),u._inDocument=!1)),this.session.lineWidgets[l.row]=l,l},L.prototype.addLineWidget=function(l){if(this.$registerLineWidget(l),l.session=this.session,!this.editor)return l;var u=this.editor.renderer;l.html&&!l.el&&(l.el=B.createElement("div"),l.el.innerHTML=l.html),l.text&&!l.el&&(l.el=B.createElement("div"),l.el.textContent=l.text),l.el&&(B.addCssClass(l.el,"ace_lineWidgetContainer"),l.className&&B.addCssClass(l.el,l.className),l.el.style.position="absolute",l.el.style.zIndex="5",u.container.appendChild(l.el),l._inDocument=!0,l.coverGutter||(l.el.style.zIndex="3"),l.pixelHeight==null&&(l.pixelHeight=l.el.offsetHeight)),l.rowCount==null&&(l.rowCount=l.pixelHeight/u.layerConfig.lineHeight);var i=this.session.getFoldAt(l.row,0);if(l.$fold=i,i){var r=this.session.lineWidgets;l.row==i.end.row&&!r[i.start.row]?r[i.start.row]=l:l.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:l.row}}}),this.$updateRows(),this.renderWidgets(null,u),this.onWidgetChanged(l),l},L.prototype.removeLineWidget=function(l){if(l._inDocument=!1,l.session=null,l.el&&l.el.parentNode&&l.el.parentNode.removeChild(l.el),l.editor&&l.editor.destroy)try{l.editor.destroy()}catch{}if(this.session.lineWidgets){var u=this.session.lineWidgets[l.row];if(u==l)this.session.lineWidgets[l.row]=l.$oldWidget,l.$oldWidget&&this.onWidgetChanged(l.$oldWidget);else for(;u;){if(u.$oldWidget==l){u.$oldWidget=l.$oldWidget;break}u=u.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:l.row}}}),this.$updateRows()},L.prototype.getWidgetsAtRow=function(l){for(var u=this.session.lineWidgets,i=u&&u[l],r=[];i;)r.push(i),i=i.$oldWidget;return r},L.prototype.onWidgetChanged=function(l){this.session._changedWidgets.push(l),this.editor&&this.editor.renderer.updateFull()},L.prototype.measureWidgets=function(l,u){var i=this.session._changedWidgets,r=u.layerConfig;if(!(!i||!i.length)){for(var o=1/0,t=0;t<i.length;t++){var e=i[t];if(!(!e||!e.el)&&e.session==this.session){if(!e._inDocument){if(this.session.lineWidgets[e.row]!=e)continue;e._inDocument=!0,u.container.appendChild(e.el)}e.h=e.el.offsetHeight,e.fixedWidth||(e.w=e.el.offsetWidth,e.screenWidth=Math.ceil(e.w/r.characterWidth));var n=e.h/r.lineHeight;e.coverLine&&(n-=this.session.getRowLineCount(e.row),n<0&&(n=0)),e.rowCount!=n&&(e.rowCount=n,e.row<o&&(o=e.row))}}o!=1/0&&(this.session._emit("changeFold",{data:{start:{row:o}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},L.prototype.renderWidgets=function(l,u){var i=u.layerConfig,r=this.session.lineWidgets;if(r){for(var o=Math.min(this.firstRow,i.firstRow),t=Math.max(this.lastRow,i.lastRow,r.length);o>0&&!r[o];)o--;this.firstRow=i.firstRow,this.lastRow=i.lastRow,u.$cursorLayer.config=i;for(var e=o;e<=t;e++){var n=r[e];if(!(!n||!n.el)){if(n.hidden){n.el.style.top=-100-(n.pixelHeight||0)+"px";continue}n._inDocument||(n._inDocument=!0,u.container.appendChild(n.el));var c=u.$cursorLayer.getPixelPosition({row:e,column:0},!0).top;n.coverLine||(c+=i.lineHeight*this.session.getRowLineCount(n.row)),n.el.style.top=c-i.offset+"px";var d=n.coverGutter?0:u.gutterWidth;n.fixedWidth||(d-=u.scrollLeft),n.el.style.left=d+"px",n.fullWidth&&n.screenWidth&&(n.el.style.minWidth=i.width+2*i.padding+"px"),n.fixedWidth?n.el.style.right=u.scrollBar.getWidth()+"px":n.el.style.right=""}}}},L}();p.LineWidgets=T}),ace.define("ace/apply_delta",["require","exports","module"],function(f,p,ze){p.applyDelta=function(B,T,L){var l=T.start.row,u=T.start.column,i=B[l]||"";switch(T.action){case"insert":var r=T.lines;if(r.length===1)B[l]=i.substring(0,u)+T.lines[0]+i.substring(u);else{var o=[l,1].concat(T.lines);B.splice.apply(B,o),B[l]=i.substring(0,u)+B[l],B[l+T.lines.length-1]+=i.substring(u)}break;case"remove":var t=T.end.column,e=T.end.row;l===e?B[l]=i.substring(0,u)+i.substring(t):B.splice(l,e-l+1,i.substring(0,u)+B[e].substring(t));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(f,p,ze){var B=f("./lib/oop"),T=f("./lib/event_emitter").EventEmitter,L=function(){function i(r,o,t){this.$onChange=this.onChange.bind(this),this.attach(r),typeof o!="number"?this.setPosition(o.row,o.column):this.setPosition(o,t)}return i.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},i.prototype.getDocument=function(){return this.document},i.prototype.onChange=function(r){if(!(r.start.row==r.end.row&&r.start.row!=this.row)&&!(r.start.row>this.row)){var o=u(r,{row:this.row,column:this.column},this.$insertRight);this.setPosition(o.row,o.column,!0)}},i.prototype.setPosition=function(r,o,t){var e;if(t?e={row:r,column:o}:e=this.$clipPositionToDocument(r,o),!(this.row==e.row&&this.column==e.column)){var n={row:this.row,column:this.column};this.row=e.row,this.column=e.column,this._signal("change",{old:n,value:e})}},i.prototype.detach=function(){this.document.off("change",this.$onChange)},i.prototype.attach=function(r){this.document=r||this.document,this.document.on("change",this.$onChange)},i.prototype.$clipPositionToDocument=function(r,o){var t={};return r>=this.document.getLength()?(t.row=Math.max(0,this.document.getLength()-1),t.column=this.document.getLine(t.row).length):r<0?(t.row=0,t.column=0):(t.row=r,t.column=Math.min(this.document.getLine(t.row).length,Math.max(0,o))),o<0&&(t.column=0),t},i}();L.prototype.$insertRight=!1,B.implement(L.prototype,T);function l(i,r,o){var t=o?i.column<=r.column:i.column<r.column;return i.row<r.row||i.row==r.row&&t}function u(i,r,o){var t=i.action=="insert",e=(t?1:-1)*(i.end.row-i.start.row),n=(t?1:-1)*(i.end.column-i.start.column),c=i.start,d=t?c:i.end;return l(r,c,o)?{row:r.row,column:r.column}:l(d,r,!o)?{row:r.row+e,column:r.column+(r.row==d.row?n:0)}:{row:c.row,column:c.column}}p.Anchor=L}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(f,p,ze){var B=f("./lib/oop"),T=f("./apply_delta").applyDelta,L=f("./lib/event_emitter").EventEmitter,l=f("./range").Range,u=f("./anchor").Anchor,i=function(){function r(o){this.$lines=[""],o.length===0?this.$lines=[""]:Array.isArray(o)?this.insertMergedLines({row:0,column:0},o):this.insert({row:0,column:0},o)}return r.prototype.setValue=function(o){var t=this.getLength()-1;this.remove(new l(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},o||"")},r.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},r.prototype.createAnchor=function(o,t){return new u(this,o,t)},r.prototype.$detectNewLine=function(o){var t=o.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:`
|
187
|
+
`,this._signal("changeNewLineMode")},r.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
|
188
|
+
`;case"unix":return`
|
189
|
+
`;default:return this.$autoNewLine||`
|
190
|
+
`}},r.prototype.setNewLineMode=function(o){this.$newLineMode!==o&&(this.$newLineMode=o,this._signal("changeNewLineMode"))},r.prototype.getNewLineMode=function(){return this.$newLineMode},r.prototype.isNewLine=function(o){return o==`\r
|
191
|
+
`||o=="\r"||o==`
|
192
|
+
`},r.prototype.getLine=function(o){return this.$lines[o]||""},r.prototype.getLines=function(o,t){return this.$lines.slice(o,t+1)},r.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},r.prototype.getLength=function(){return this.$lines.length},r.prototype.getTextRange=function(o){return this.getLinesForRange(o).join(this.getNewLineCharacter())},r.prototype.getLinesForRange=function(o){var t;if(o.start.row===o.end.row)t=[this.getLine(o.start.row).substring(o.start.column,o.end.column)];else{t=this.getLines(o.start.row,o.end.row),t[0]=(t[0]||"").substring(o.start.column);var e=t.length-1;o.end.row-o.start.row==e&&(t[e]=t[e].substring(0,o.end.column))}return t},r.prototype.insertLines=function(o,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(o,t)},r.prototype.removeLines=function(o,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(o,t)},r.prototype.insertNewLine=function(o){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(o,["",""])},r.prototype.insert=function(o,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(o,this.$split(t))},r.prototype.insertInLine=function(o,t){var e=this.clippedPos(o.row,o.column),n=this.pos(o.row,o.column+t.length);return this.applyDelta({start:e,end:n,action:"insert",lines:[t]},!0),this.clonePos(n)},r.prototype.clippedPos=function(o,t){var e=this.getLength();o===void 0?o=e:o<0?o=0:o>=e&&(o=e-1,t=void 0);var n=this.getLine(o);return t==null&&(t=n.length),t=Math.min(Math.max(t,0),n.length),{row:o,column:t}},r.prototype.clonePos=function(o){return{row:o.row,column:o.column}},r.prototype.pos=function(o,t){return{row:o,column:t}},r.prototype.$clipPosition=function(o){var t=this.getLength();return o.row>=t?(o.row=Math.max(0,t-1),o.column=this.getLine(t-1).length):(o.row=Math.max(0,o.row),o.column=Math.min(Math.max(o.column,0),this.getLine(o.row).length)),o},r.prototype.insertFullLines=function(o,t){o=Math.min(Math.max(o,0),this.getLength());var e=0;o<this.getLength()?(t=t.concat([""]),e=0):(t=[""].concat(t),o--,e=this.$lines[o].length),this.insertMergedLines({row:o,column:e},t)},r.prototype.insertMergedLines=function(o,t){var e=this.clippedPos(o.row,o.column),n={row:e.row+t.length-1,column:(t.length==1?e.column:0)+t[t.length-1].length};return this.applyDelta({start:e,end:n,action:"insert",lines:t}),this.clonePos(n)},r.prototype.remove=function(o){var t=this.clippedPos(o.start.row,o.start.column),e=this.clippedPos(o.end.row,o.end.column);return this.applyDelta({start:t,end:e,action:"remove",lines:this.getLinesForRange({start:t,end:e})}),this.clonePos(t)},r.prototype.removeInLine=function(o,t,e){var n=this.clippedPos(o,t),c=this.clippedPos(o,e);return this.applyDelta({start:n,end:c,action:"remove",lines:this.getLinesForRange({start:n,end:c})},!0),this.clonePos(n)},r.prototype.removeFullLines=function(o,t){o=Math.min(Math.max(0,o),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var e=t==this.getLength()-1&&o>0,n=t<this.getLength()-1,c=e?o-1:o,d=e?this.getLine(c).length:0,g=n?t+1:t,G=n?0:this.getLine(g).length,R=new l(c,d,g,G),_=this.$lines.slice(o,t+1);return this.applyDelta({start:R.start,end:R.end,action:"remove",lines:this.getLinesForRange(R)}),_},r.prototype.removeNewLine=function(o){o<this.getLength()-1&&o>=0&&this.applyDelta({start:this.pos(o,this.getLine(o).length),end:this.pos(o+1,0),action:"remove",lines:["",""]})},r.prototype.replace=function(o,t){if(o instanceof l||(o=l.fromPoints(o.start,o.end)),t.length===0&&o.isEmpty())return o.start;if(t==this.getTextRange(o))return o.end;this.remove(o);var e;return t?e=this.insert(o.start,t):e=o.start,e},r.prototype.applyDeltas=function(o){for(var t=0;t<o.length;t++)this.applyDelta(o[t])},r.prototype.revertDeltas=function(o){for(var t=o.length-1;t>=0;t--)this.revertDelta(o[t])},r.prototype.applyDelta=function(o,t){var e=o.action=="insert";(e?o.lines.length<=1&&!o.lines[0]:!l.comparePoints(o.start,o.end))||(e&&o.lines.length>2e4?this.$splitAndapplyLargeDelta(o,2e4):(T(this.$lines,o,t),this._signal("change",o)))},r.prototype.$safeApplyDelta=function(o){var t=this.$lines.length;(o.action=="remove"&&o.start.row<t&&o.end.row<t||o.action=="insert"&&o.start.row<=t)&&this.applyDelta(o)},r.prototype.$splitAndapplyLargeDelta=function(o,t){for(var e=o.lines,n=e.length-t+1,c=o.start.row,d=o.start.column,g=0,G=0;g<n;g=G){G+=t-1;var R=e.slice(g,G);R.push(""),this.applyDelta({start:this.pos(c+g,d),end:this.pos(c+G,d=0),action:o.action,lines:R},!0)}o.lines=e.slice(g),o.start.row=c+g,o.start.column=d,this.applyDelta(o,!0)},r.prototype.revertDelta=function(o){this.$safeApplyDelta({start:this.clonePos(o.start),end:this.clonePos(o.end),action:o.action=="insert"?"remove":"insert",lines:o.lines.slice()})},r.prototype.indexToPosition=function(o,t){for(var e=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,c=t||0,d=e.length;c<d;c++)if(o-=e[c].length+n,o<0)return{row:c,column:o+e[c].length+n};return{row:d-1,column:o+e[d-1].length+n}},r.prototype.positionToIndex=function(o,t){for(var e=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,c=0,d=Math.min(o.row,e.length),g=t||0;g<d;++g)c+=e[g].length+n;return c+o.column},r.prototype.$split=function(o){return o.split(/\r\n|\r|\n/)},r}();i.prototype.$autoNewLine="",i.prototype.$newLineMode="auto",B.implement(i.prototype,L),p.Document=i}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(f,p,ze){var B=f("./lib/oop"),T=f("./lib/event_emitter").EventEmitter,L=function(){function l(u,i){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=u;var r=this;this.$worker=function(){if(r.running){for(var o=new Date,t=r.currentLine,e=-1,n=r.doc,c=t;r.lines[t];)t++;var d=n.getLength(),g=0;for(r.running=!1;t<d;){r.$tokenizeRow(t),e=t;do t++;while(r.lines[t]);if(g++,g%5===0&&new Date-o>20){r.running=setTimeout(r.$worker,20);break}}r.currentLine=t,e==-1&&(e=t),c<=e&&r.fireUpdateEvent(c,e)}}}return l.prototype.setTokenizer=function(u){this.tokenizer=u,this.lines=[],this.states=[],this.start(0)},l.prototype.setDocument=function(u){this.doc=u,this.lines=[],this.states=[],this.stop()},l.prototype.fireUpdateEvent=function(u,i){var r={first:u,last:i};this._signal("update",{data:r})},l.prototype.start=function(u){this.currentLine=Math.min(u||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},l.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},l.prototype.$updateOnChange=function(u){var i=u.start.row,r=u.end.row-i;if(r===0)this.lines[i]=null;else if(u.action=="remove")this.lines.splice(i,r+1,null),this.states.splice(i,r+1,null);else{var o=Array(r+1);o.unshift(i,1),this.lines.splice.apply(this.lines,o),this.states.splice.apply(this.states,o)}this.currentLine=Math.min(i,this.currentLine,this.doc.getLength()),this.stop()},l.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},l.prototype.getTokens=function(u){return this.lines[u]||this.$tokenizeRow(u)},l.prototype.getState=function(u){return this.currentLine==u&&this.$tokenizeRow(u),this.states[u]||"start"},l.prototype.$tokenizeRow=function(u){var i=this.doc.getLine(u),r=this.states[u-1],o=this.tokenizer.getLineTokens(i,r,u);return this.states[u]+""!=o.state+""?(this.states[u]=o.state,this.lines[u+1]=null,this.currentLine>u+1&&(this.currentLine=u+1)):this.currentLine==u&&(this.currentLine=u+1),this.lines[u]=o.tokens},l.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},l}();B.implement(L.prototype,T),p.BackgroundTokenizer=L}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(f,p,ze){var B=f("./lib/lang"),T=f("./range").Range,L=function(){function l(u,i,r){r===void 0&&(r="text"),this.setRegexp(u),this.clazz=i,this.type=r}return l.prototype.setRegexp=function(u){this.regExp+""!=u+""&&(this.regExp=u,this.cache=[])},l.prototype.update=function(u,i,r,o){if(this.regExp)for(var t=o.firstRow,e=o.lastRow,n={},c=t;c<=e;c++){var d=this.cache[c];d==null&&(d=B.getMatchOffsets(r.getLine(c),this.regExp),d.length>this.MAX_RANGES&&(d=d.slice(0,this.MAX_RANGES)),d=d.map(function(_){return new T(c,_.offset,c,_.offset+_.length)}),this.cache[c]=d.length?d:"");for(var g=d.length;g--;){var G=d[g].toScreenRange(r),R=G.toString();n[R]||(n[R]=!0,i.drawSingleLineMarker(u,G,this.clazz,o))}}},l}();L.prototype.MAX_RANGES=500,p.SearchHighlight=L}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(f,p,ze){var B=function(){function _(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return _.prototype.addSession=function(S){this.$session=S},_.prototype.add=function(S,Me,He){if(!this.$fromUndo&&S!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),Me===!1||!this.lastDeltas){this.lastDeltas=[];var Te=this.$undoStack.length;Te>this.$undoDepth-1&&this.$undoStack.splice(0,Te-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),S.id=this.$rev=++this.$maxRev}(S.action=="remove"||S.action=="insert")&&(this.$lastDelta=S),this.lastDeltas.push(S)}},_.prototype.addSelection=function(S,Me){this.selections.push({value:S,rev:Me||this.$rev})},_.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},_.prototype.markIgnored=function(S,Me){Me==null&&(Me=this.$rev+1);for(var He=this.$undoStack,Te=He.length;Te--;){var j=He[Te][0];if(j.id<=S)break;j.id<Me&&(j.ignore=!0)}this.lastDeltas=null},_.prototype.getSelection=function(S,Me){for(var He=this.selections,Te=He.length;Te--;){var j=He[Te];if(j.rev<S)return Me&&(j=He[Te+1]),j}},_.prototype.getRevision=function(){return this.$rev},_.prototype.getDeltas=function(S,Me){Me==null&&(Me=this.$rev+1);for(var He=this.$undoStack,Te=null,j=0,yt=He.length;yt--;){var y=He[yt][0];if(y.id<Me&&!Te&&(Te=yt+1),y.id<=S){j=yt+1;break}}return He.slice(j,Te)},_.prototype.getChangedRanges=function(S,Me){Me==null&&(Me=this.$rev+1)},_.prototype.getChangedLines=function(S,Me){Me==null&&(Me=this.$rev+1)},_.prototype.undo=function(S,Me){this.lastDeltas=null;var He=this.$undoStack;if(T(He,He.length)){S||(S=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var Te=He.pop(),j=null;return Te&&(j=S.undoChanges(Te,Me),this.$redoStack.push(Te),this.$syncRev()),this.$fromUndo=!1,j}},_.prototype.redo=function(S,Me){if(this.lastDeltas=null,S||(S=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var He=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);R(this.$redoStack,He),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(yt){yt[0].id=++this.$maxRev},this)}var Te=this.$redoStack.pop(),j=null;return Te&&(j=S.redoChanges(Te,Me),this.$undoStack.push(Te),this.$syncRev()),this.$fromUndo=!1,j},_.prototype.$syncRev=function(){var S=this.$undoStack,Me=S[S.length-1],He=Me&&Me[0].id||0;this.$redoStackBaseRev=He,this.$rev=He},_.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},_.prototype.canUndo=function(){return this.$undoStack.length>0},_.prototype.canRedo=function(){return this.$redoStack.length>0},_.prototype.bookmark=function(S){S==null&&(S=this.$rev),this.mark=S},_.prototype.isAtBookmark=function(){return this.$rev===this.mark},_.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},_.prototype.fromJSON=function(S){this.reset(),this.$undoStack=S.$undoStack,this.$redoStack=S.$redoStack},_.prototype.$prettyPrint=function(S){return S?r(S):r(this.$undoStack)+`
|
193
|
+
---
|
194
|
+
`+r(this.$redoStack)},_}();B.prototype.hasUndo=B.prototype.canUndo,B.prototype.hasRedo=B.prototype.canRedo,B.prototype.isClean=B.prototype.isAtBookmark,B.prototype.markClean=B.prototype.bookmark;function T(_,S){for(var Me=S;Me--;){var He=_[Me];if(He&&!He[0].ignore){for(;Me<S-1;){var Te=e(_[Me],_[Me+1]);_[Me]=Te[0],_[Me+1]=Te[1],Me++}return!0}}}var L=f("./range").Range,l=L.comparePoints;L.comparePoints;function u(_){return{row:_.row,column:_.column}}function i(_){return{start:u(_.start),end:u(_.end),action:_.action,lines:_.lines.slice()}}function r(_){if(_=_||this,Array.isArray(_))return _.map(r).join(`
|
195
|
+
`);var S="";return _.action?(S=_.action=="insert"?"+":"-",S+="["+_.lines+"]"):_.value&&(Array.isArray(_.value)?S=_.value.map(o).join(`
|
196
|
+
`):S=o(_.value)),_.start&&(S+=o(_)),(_.id||_.rev)&&(S+=" ("+(_.id||_.rev)+")"),S}function o(_){return _.start.row+":"+_.start.column+"=>"+_.end.row+":"+_.end.column}function t(_,S){var Me=_.action=="insert",He=S.action=="insert";if(Me&&He)if(l(S.start,_.end)>=0)c(S,_,-1);else if(l(S.start,_.start)<=0)c(_,S,1);else return null;else if(Me&&!He)if(l(S.start,_.end)>=0)c(S,_,-1);else if(l(S.end,_.start)<=0)c(_,S,-1);else return null;else if(!Me&&He)if(l(S.start,_.start)>=0)c(S,_,1);else if(l(S.start,_.start)<=0)c(_,S,1);else return null;else if(!Me&&!He)if(l(S.start,_.start)>=0)c(S,_,1);else if(l(S.end,_.start)<=0)c(_,S,-1);else return null;return[S,_]}function e(_,S){for(var Me=_.length;Me--;)for(var He=0;He<S.length;He++)if(!t(_[Me],S[He])){for(;Me<_.length;){for(;He--;)t(S[He],_[Me]);He=S.length,Me++}return[_,S]}return _.selectionBefore=S.selectionBefore=_.selectionAfter=S.selectionAfter=null,[S,_]}function n(_,S){var Me=_.action=="insert",He=S.action=="insert";if(Me&&He)l(_.start,S.start)<0?c(S,_,1):c(_,S,1);else if(Me&&!He)l(_.start,S.end)>=0?c(_,S,-1):(l(_.start,S.start)<=0||c(_,L.fromPoints(S.start,_.start),-1),c(S,_,1));else if(!Me&&He)l(S.start,_.end)>=0?c(S,_,-1):(l(S.start,_.start)<=0||c(S,L.fromPoints(_.start,S.start),-1),c(_,S,1));else if(!Me&&!He)if(l(S.start,_.end)>=0)c(S,_,-1);else if(l(S.end,_.start)<=0)c(_,S,-1);else{var Te,j;return l(_.start,S.start)<0&&(Te=_,_=g(_,S.start)),l(_.end,S.end)>0&&(j=g(_,S.end)),d(S.end,_.start,_.end,-1),j&&!Te&&(_.lines=j.lines,_.start=j.start,_.end=j.end,j=_),[S,Te,j].filter(Boolean)}return[S,_]}function c(_,S,Me){d(_.start,S.start,S.end,Me),d(_.end,S.start,S.end,Me)}function d(_,S,Me,He){_.row==(He==1?S:Me).row&&(_.column+=He*(Me.column-S.column)),_.row+=He*(Me.row-S.row)}function g(_,S){var Me=_.lines,He=_.end;_.end=u(S);var Te=_.end.row-_.start.row,j=Me.splice(Te,Me.length),yt=Te?S.column:S.column-_.start.column;Me.push(j[0].substring(0,yt)),j[0]=j[0].substr(yt);var y={start:u(S),end:He,lines:j,action:_.action};return y}function G(_,S){S=i(S);for(var Me=_.length;Me--;){for(var He=_[Me],Te=0;Te<He.length;Te++){var j=He[Te],yt=n(j,S);S=yt[0],yt.length!=2&&(yt[2]?(He.splice(Te+1,1,yt[1],yt[2]),Te++):yt[1]||(He.splice(Te,1),Te--))}He.length||_.splice(Me,1)}return _}function R(_,S){for(var Me=0;Me<S.length;Me++)for(var He=S[Me],Te=0;Te<He.length;Te++)G(_,He[Te])}p.UndoManager=B}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(f,p,ze){var B=f("../range").Range,T=function(){function L(l,u){this.foldData=l,Array.isArray(u)?this.folds=u:u=this.folds=[u];var i=u[u.length-1];this.range=new B(u[0].start.row,u[0].start.column,i.end.row,i.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(r){r.setFoldLine(this)},this)}return L.prototype.shiftRow=function(l){this.start.row+=l,this.end.row+=l,this.folds.forEach(function(u){u.start.row+=l,u.end.row+=l})},L.prototype.addFold=function(l){if(l.sameRow){if(l.start.row<this.startRow||l.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(l),this.folds.sort(function(u,i){return-u.range.compareEnd(i.start.row,i.start.column)}),this.range.compareEnd(l.start.row,l.start.column)>0?(this.end.row=l.end.row,this.end.column=l.end.column):this.range.compareStart(l.end.row,l.end.column)<0&&(this.start.row=l.start.row,this.start.column=l.start.column)}else if(l.start.row==this.end.row)this.folds.push(l),this.end.row=l.end.row,this.end.column=l.end.column;else if(l.end.row==this.start.row)this.folds.unshift(l),this.start.row=l.start.row,this.start.column=l.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");l.foldLine=this},L.prototype.containsRow=function(l){return l>=this.start.row&&l<=this.end.row},L.prototype.walk=function(l,u,i){var r=0,o=this.folds,t,e,n,c=!0;u==null&&(u=this.end.row,i=this.end.column);for(var d=0;d<o.length;d++){if(t=o[d],e=t.range.compareStart(u,i),e==-1){l(null,u,i,r,c);return}if(n=l(null,t.start.row,t.start.column,r,c),n=!n&&l(t.placeholder,t.start.row,t.start.column,r),n||e===0)return;c=!t.sameRow,r=t.end.column}l(null,u,i,r,c)},L.prototype.getNextFoldTo=function(l,u){for(var i,r,o=0;o<this.folds.length;o++){if(i=this.folds[o],r=i.range.compareEnd(l,u),r==-1)return{fold:i,kind:"after"};if(r===0)return{fold:i,kind:"inside"}}return null},L.prototype.addRemoveChars=function(l,u,i){var r=this.getNextFoldTo(l,u),o,t;if(r){if(o=r.fold,r.kind=="inside"&&o.start.column!=u&&o.start.row!=l)window.console&&window.console.log(l,u,o);else if(o.start.row==l){t=this.folds;var e=t.indexOf(o);for(e===0&&(this.start.column+=i),e;e<t.length;e++){if(o=t[e],o.start.column+=i,!o.sameRow)return;o.end.column+=i}this.end.column+=i}}},L.prototype.split=function(l,u){var i=this.getNextFoldTo(l,u);if(!i||i.kind=="inside")return null;var r=i.fold,o=this.folds,t=this.foldData,e=o.indexOf(r),n=o[e-1];this.end.row=n.end.row,this.end.column=n.end.column,o=o.splice(e,o.length-e);var c=new L(t,o);return t.splice(t.indexOf(this)+1,0,c),c},L.prototype.merge=function(l){for(var u=l.folds,i=0;i<u.length;i++)this.addFold(u[i]);var r=this.foldData;r.splice(r.indexOf(l),1)},L.prototype.toString=function(){var l=[this.range.toString()+": ["];return this.folds.forEach(function(u){l.push(" "+u.toString())}),l.push("]"),l.join(`
|
197
|
+
`)},L.prototype.idxToPosition=function(l){for(var u=0,i=0;i<this.folds.length;i++){var r=this.folds[i];if(l-=r.start.column-u,l<0)return{row:r.start.row,column:r.start.column+l};if(l-=r.placeholder.length,l<0)return r.start;u=r.end.column}return{row:this.end.row,column:this.end.column+l}},L}();p.FoldLine=T}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(f,p,ze){var B=f("./range").Range,T=B.comparePoints,L=function(){function l(){this.ranges=[],this.$bias=1}return l.prototype.pointIndex=function(u,i,r){for(var o=this.ranges,t=r||0;t<o.length;t++){var e=o[t],n=T(u,e.end);if(!(n>0)){var c=T(u,e.start);return n===0?i&&c!==0?-t-2:t:c>0||c===0&&!i?t:-t-1}}return-t-1},l.prototype.add=function(u){var i=!u.isEmpty(),r=this.pointIndex(u.start,i);r<0&&(r=-r-1);var o=this.pointIndex(u.end,i,r);return o<0?o=-o-1:o++,this.ranges.splice(r,o-r,u)},l.prototype.addList=function(u){for(var i=[],r=u.length;r--;)i.push.apply(i,this.add(u[r]));return i},l.prototype.substractPoint=function(u){var i=this.pointIndex(u);if(i>=0)return this.ranges.splice(i,1)},l.prototype.merge=function(){var u=[],i=this.ranges;i=i.sort(function(n,c){return T(n.start,c.start)});for(var r=i[0],o,t=1;t<i.length;t++){o=r,r=i[t];var e=T(o.end,r.start);e<0||e==0&&!o.isEmpty()&&!r.isEmpty()||(T(o.end,r.end)<0&&(o.end.row=r.end.row,o.end.column=r.end.column),i.splice(t,1),u.push(r),r=o,t--)}return this.ranges=i,u},l.prototype.contains=function(u,i){return this.pointIndex({row:u,column:i})>=0},l.prototype.containsPoint=function(u){return this.pointIndex(u)>=0},l.prototype.rangeAtPoint=function(u){var i=this.pointIndex(u);if(i>=0)return this.ranges[i]},l.prototype.clipRows=function(u,i){var r=this.ranges;if(r[0].start.row>i||r[r.length-1].start.row<u)return[];var o=this.pointIndex({row:u,column:0});o<0&&(o=-o-1);var t=this.pointIndex({row:i,column:0},o);t<0&&(t=-t-1);for(var e=[],n=o;n<t;n++)e.push(r[n]);return e},l.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},l.prototype.attach=function(u){this.session&&this.detach(),this.session=u,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},l.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},l.prototype.$onChange=function(u){for(var i=u.start,r=u.end,o=i.row,t=r.row,e=this.ranges,n=0,c=e.length;n<c;n++){var d=e[n];if(d.end.row>=o)break}if(u.action=="insert")for(var g=t-o,G=-i.column+r.column;n<c;n++){var d=e[n];if(d.start.row>o)break;if(d.start.row==o&&d.start.column>=i.column&&(d.start.column==i.column&&this.$bias<=0||(d.start.column+=G,d.start.row+=g)),d.end.row==o&&d.end.column>=i.column){if(d.end.column==i.column&&this.$bias<0)continue;d.end.column==i.column&&G>0&&n<c-1&&d.end.column>d.start.column&&d.end.column==e[n+1].start.column&&(d.end.column-=G),d.end.column+=G,d.end.row+=g}}else for(var g=o-t,G=i.column-r.column;n<c;n++){var d=e[n];if(d.start.row>t)break;d.end.row<t&&(o<d.end.row||o==d.end.row&&i.column<d.end.column)?(d.end.row=o,d.end.column=i.column):d.end.row==t?d.end.column<=r.column?(g||d.end.column>i.column)&&(d.end.column=i.column,d.end.row=i.row):(d.end.column+=G,d.end.row+=g):d.end.row>t&&(d.end.row+=g),d.start.row<t&&(o<d.start.row||o==d.start.row&&i.column<d.start.column)?(d.start.row=o,d.start.column=i.column):d.start.row==t?d.start.column<=r.column?(g||d.start.column>i.column)&&(d.start.column=i.column,d.start.row=i.row):(d.start.column+=G,d.start.row+=g):d.start.row>t&&(d.start.row+=g)}if(g!=0&&n<c)for(;n<c;n++){var d=e[n];d.start.row+=g,d.end.row+=g}},l}();L.prototype.comparePoints=T,p.RangeList=L}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(f,p,ze){var B=this&&this.__extends||function(){var o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,c){n.__proto__=c}||function(n,c){for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(n[d]=c[d])},o(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");o(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),T=f("../range_list").RangeList,L=function(o){B(t,o);function t(e,n){var c=o.call(this)||this;return c.foldLine=null,c.placeholder=n,c.range=e,c.start=e.start,c.end=e.end,c.sameRow=e.start.row==e.end.row,c.subFolds=c.ranges=[],c}return t.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},t.prototype.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(n){n.setFoldLine(e)})},t.prototype.clone=function(){var e=this.range.clone(),n=new t(e,this.placeholder);return this.subFolds.forEach(function(c){n.subFolds.push(c.clone())}),n.collapseChildren=this.collapseChildren,n},t.prototype.addSubFold=function(e){if(!this.range.isEqual(e)){u(e,this.start);for(var G=e.start.row,R=e.start.column,n=0,c=-1;n<this.subFolds.length&&(c=this.subFolds[n].range.compare(G,R),c==1);n++);var d=this.subFolds[n],g=0;if(c==0){if(d.range.containsRange(e))return d.addSubFold(e);g=1}for(var G=e.range.end.row,R=e.range.end.column,_=n,c=-1;_<this.subFolds.length&&(c=this.subFolds[_].range.compare(G,R),c==1);_++);c==0&&_++;for(var S=this.subFolds.splice(n,_-n,e),Me=c==0?S.length-1:S.length,He=g;He<Me;He++)e.addSubFold(S[He]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){return r(e,this.start)},t}(T);function l(o,t){o.row-=t.row,o.row==0&&(o.column-=t.column)}function u(o,t){l(o.start,t),l(o.end,t)}function i(o,t){o.row==0&&(o.column+=t.column),o.row+=t.row}function r(o,t){i(o.start,t),i(o.end,t)}p.Fold=L}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],function(f,p,ze){var B=f("../range").Range,T=f("./fold_line").FoldLine,L=f("./fold").Fold,l=f("../token_iterator").TokenIterator,u=f("../mouse/mouse_event").MouseEvent;function i(){this.getFoldAt=function(r,o,t){var e=this.getFoldLine(r);if(!e)return null;for(var n=e.folds,c=0;c<n.length;c++){var d=n[c].range;if(d.contains(r,o)){if(t==1&&d.isEnd(r,o)&&!d.isEmpty())continue;if(t==-1&&d.isStart(r,o)&&!d.isEmpty())continue;return n[c]}}},this.getFoldsInRange=function(r){var o=r.start,t=r.end,e=this.$foldData,n=[];o.column+=1,t.column-=1;for(var c=0;c<e.length;c++){var d=e[c].range.compareRange(r);if(d!=2){if(d==-2)break;for(var g=e[c].folds,G=0;G<g.length;G++){var R=g[G];if(d=R.range.compareRange(r),d==-2)break;if(d==2)continue;if(d==42)break;n.push(R)}}}return o.column-=1,t.column+=1,n},this.getFoldsInRangeList=function(r){if(Array.isArray(r)){var o=[];r.forEach(function(t){o=o.concat(this.getFoldsInRange(t))},this)}else var o=this.getFoldsInRange(r);return o},this.getAllFolds=function(){for(var r=[],o=this.$foldData,t=0;t<o.length;t++)for(var e=0;e<o[t].folds.length;e++)r.push(o[t].folds[e]);return r},this.getFoldStringAt=function(r,o,t,e){if(e=e||this.getFoldLine(r),!e)return null;for(var n={end:{column:0}},c,d,g=0;g<e.folds.length;g++){d=e.folds[g];var G=d.range.compareEnd(r,o);if(G==-1){c=this.getLine(d.start.row).substring(n.end.column,d.start.column);break}else if(G===0)return null;n=d}return c||(c=this.getLine(d.start.row).substring(n.end.column)),t==-1?c.substring(0,o-n.end.column):t==1?c.substring(o-n.end.column):c},this.getFoldLine=function(r,o){var t=this.$foldData,e=0;for(o&&(e=t.indexOf(o)),e==-1&&(e=0),e;e<t.length;e++){var n=t[e];if(n.start.row<=r&&n.end.row>=r)return n;if(n.end.row>r)return null}return null},this.getNextFoldLine=function(r,o){var t=this.$foldData,e=0;for(o&&(e=t.indexOf(o)),e==-1&&(e=0),e;e<t.length;e++){var n=t[e];if(n.end.row>=r)return n}return null},this.getFoldedRowCount=function(r,o){for(var t=this.$foldData,e=o-r+1,n=0;n<t.length;n++){var c=t[n],d=c.end.row,g=c.start.row;if(d>=o){g<o&&(g>=r?e-=o-g:e=0);break}else d>=r&&(g>=r?e-=d-g:e-=d-r+1)}return e},this.$addFoldLine=function(r){return this.$foldData.push(r),this.$foldData.sort(function(o,t){return o.start.row-t.start.row}),r},this.addFold=function(r,o){var t=this.$foldData,e=!1,n;r instanceof L?n=r:(n=new L(o,r),n.collapseChildren=o.collapseChildren),this.$clipRangeToDocument(n.range);var c=n.start.row,d=n.start.column,g=n.end.row,G=n.end.column,R=this.getFoldAt(c,d,1),_=this.getFoldAt(g,G,-1);if(R&&_==R)return R.addSubFold(n);R&&!R.range.isStart(c,d)&&this.removeFold(R),_&&!_.range.isEnd(g,G)&&this.removeFold(_);var S=this.getFoldsInRange(n.range);S.length>0&&(this.removeFolds(S),n.collapseChildren||S.forEach(function(j){n.addSubFold(j)}));for(var Me=0;Me<t.length;Me++){var He=t[Me];if(g==He.start.row){He.addFold(n),e=!0;break}else if(c==He.end.row){if(He.addFold(n),e=!0,!n.sameRow){var Te=t[Me+1];if(Te&&Te.start.row==g){He.merge(Te);break}}break}else if(g<=He.start.row)break}return e||(He=this.$addFoldLine(new T(this.$foldData,n))),this.$useWrapMode?this.$updateWrapData(He.start.row,He.start.row):this.$updateRowLengthCache(He.start.row,He.start.row),this.$modified=!0,this._signal("changeFold",{data:n,action:"add"}),n},this.addFolds=function(r){r.forEach(function(o){this.addFold(o)},this)},this.removeFold=function(r){var o=r.foldLine,t=o.start.row,e=o.end.row,n=this.$foldData,c=o.folds;if(c.length==1)n.splice(n.indexOf(o),1);else if(o.range.isEnd(r.end.row,r.end.column))c.pop(),o.end.row=c[c.length-1].end.row,o.end.column=c[c.length-1].end.column;else if(o.range.isStart(r.start.row,r.start.column))c.shift(),o.start.row=c[0].start.row,o.start.column=c[0].start.column;else if(r.sameRow)c.splice(c.indexOf(r),1);else{var d=o.split(r.start.row,r.start.column);c=d.folds,c.shift(),d.start.row=c[0].start.row,d.start.column=c[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(t,e):this.$updateRowLengthCache(t,e)),this.$modified=!0,this._signal("changeFold",{data:r,action:"remove"})},this.removeFolds=function(r){for(var o=[],t=0;t<r.length;t++)o.push(r[t]);o.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(r){this.removeFold(r),r.subFolds.forEach(function(o){r.restoreRange(o),this.addFold(o)},this),r.collapseChildren>0&&this.foldAll(r.start.row+1,r.end.row,r.collapseChildren-1),r.subFolds=[]},this.expandFolds=function(r){r.forEach(function(o){this.expandFold(o)},this)},this.unfold=function(r,o){var t,e;if(r==null)t=new B(0,0,this.getLength(),0),o==null&&(o=!0);else if(typeof r=="number")t=new B(r,0,r,this.getLine(r).length);else if("row"in r)t=B.fromPoints(r,r);else{if(Array.isArray(r))return e=[],r.forEach(function(c){e=e.concat(this.unfold(c))},this),e;t=r}e=this.getFoldsInRangeList(t);for(var n=e;e.length==1&&B.comparePoints(e[0].start,t.start)<0&&B.comparePoints(e[0].end,t.end)>0;)this.expandFolds(e),e=this.getFoldsInRangeList(t);if(o!=!1?this.removeFolds(e):this.expandFolds(e),n.length)return n},this.isRowFolded=function(r,o){return!!this.getFoldLine(r,o)},this.getRowFoldEnd=function(r,o){var t=this.getFoldLine(r,o);return t?t.end.row:r},this.getRowFoldStart=function(r,o){var t=this.getFoldLine(r,o);return t?t.start.row:r},this.getFoldDisplayLine=function(r,o,t,e,n){e==null&&(e=r.start.row),n==null&&(n=0),o==null&&(o=r.end.row),t==null&&(t=this.getLine(o).length);var c=this.doc,d="";return r.walk(function(g,G,R,_){if(!(G<e)){if(G==e){if(R<n)return;_=Math.max(n,_)}g!=null?d+=g:d+=c.getLine(G).substring(_,R)}},o,t),d},this.getDisplayLine=function(r,o,t,e){var n=this.getFoldLine(r);if(n)return this.getFoldDisplayLine(n,r,o,t,e);var c;return c=this.doc.getLine(r),c.substring(e||0,o||c.length)},this.$cloneFoldData=function(){var r=[];return r=this.$foldData.map(function(o){var t=o.folds.map(function(e){return e.clone()});return new T(r,t)}),r},this.toggleFold=function(r){var o=this.selection,t=o.getRange(),e,n;if(t.isEmpty()){var c=t.start;if(e=this.getFoldAt(c.row,c.column),e){this.expandFold(e);return}else(n=this.findMatchingBracket(c))?t.comparePoint(n)==1?t.end=n:(t.start=n,t.start.column++,t.end.column--):(n=this.findMatchingBracket({row:c.row,column:c.column+1}))?(t.comparePoint(n)==1?t.end=n:t.start=n,t.start.column++):t=this.getCommentFoldRange(c.row,c.column)||t}else{var d=this.getFoldsInRange(t);if(r&&d.length){this.expandFolds(d);return}else d.length==1&&(e=d[0])}if(e||(e=this.getFoldAt(t.start.row,t.start.column)),e&&e.range.toString()==t.toString()){this.expandFold(e);return}var g="...";if(!t.isMultiLine()){if(g=this.getTextRange(t),g.length<4)return;g=g.trim().substring(0,2)+".."}this.addFold(g,t)},this.getCommentFoldRange=function(r,o,t){var e=new l(this,r,o),n=e.getCurrentToken(),c=n&&n.type;if(n&&/^comment|string/.test(c)){c=c.match(/comment|string/)[0],c=="comment"&&(c+="|doc-start|\\.doc");var d=new RegExp(c),g=new B;if(t!=1){do n=e.stepBackward();while(n&&d.test(n.type));n=e.stepForward()}g.start.row=e.getCurrentTokenRow(),g.start.column=e.getCurrentTokenColumn()+n.value.length,e=new l(this,r,o);var G=this.getState(e.$row);if(t!=-1){var R=-1;do if(n=e.stepForward(),R==-1){var _=this.getState(e.$row);G.toString()!==_.toString()&&(R=e.$row)}else if(e.$row>R)break;while(n&&d.test(n.type));n=e.stepBackward()}else n=e.getCurrentToken();return g.end.row=e.getCurrentTokenRow(),g.end.column=e.getCurrentTokenColumn(),g}},this.foldAll=function(r,o,t,e){t==null&&(t=1e5);var n=this.foldWidgets;if(n){o=o||this.getLength(),r=r||0;for(var c=r;c<o;c++)if(n[c]==null&&(n[c]=this.getFoldWidget(c)),n[c]=="start"&&!(e&&!e(c))){var d=this.getFoldWidgetRange(c);d&&d.isMultiLine()&&d.end.row<=o&&d.start.row>=r&&(c=d.end.row,d.collapseChildren=t,this.addFold("...",d))}}},this.foldToLevel=function(r){for(this.foldAll();r-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var r=this;this.foldAll(null,null,null,function(o){for(var t=r.getTokens(o),e=0;e<t.length;e++){var n=t[e];if(!(n.type=="text"&&/^\s+$/.test(n.value)))return!!/comment/.test(n.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(r){if(!this.$foldStyles[r])throw new Error("invalid fold style: "+r+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=r){this.$foldStyle=r,r=="manual"&&this.unfold();var o=this.$foldMode;this.$setFolding(null),this.$setFolding(o)}},this.$setFolding=function(r){if(this.$foldMode!=r){if(this.$foldMode=r,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!r||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=r.getFoldWidget.bind(r,this,this.$foldStyle),this.getFoldWidgetRange=r.getFoldWidgetRange.bind(r,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(r,o){var t=this.foldWidgets;if(!t||o&&t[r])return{};for(var e=r-1,n;e>=0;){var c=t[e];if(c==null&&(c=t[e]=this.getFoldWidget(e)),c=="start"){var d=this.getFoldWidgetRange(e);if(n||(n=d),d&&d.end.row>=r)break}e--}return{range:e!==-1&&d,firstRange:n}},this.onFoldWidgetClick=function(r,o){o instanceof u&&(o=o.domEvent);var t={children:o.shiftKey,all:o.ctrlKey||o.metaKey,siblings:o.altKey},e=this.$toggleFoldWidget(r,t);if(!e){var n=o.target||o.srcElement;n&&/ace_fold-widget/.test(n.className)&&(n.className+=" ace_invalid")}},this.$toggleFoldWidget=function(r,o){if(this.getFoldWidget){var t=this.getFoldWidget(r),e=this.getLine(r),n=t==="end"?-1:1,c=this.getFoldAt(r,n===-1?0:e.length,n);if(c)return o.children||o.all?this.removeFold(c):this.expandFold(c),c;var d=this.getFoldWidgetRange(r,!0);if(d&&!d.isMultiLine()&&(c=this.getFoldAt(d.start.row,d.start.column,1),c&&d.isEqual(c.range)))return this.removeFold(c),c;if(o.siblings){var g=this.getParentFoldRangeData(r);if(g.range)var G=g.range.start.row+1,R=g.range.end.row;this.foldAll(G,R,o.all?1e4:0)}else o.children?(R=d?d.end.row:this.getLength(),this.foldAll(r+1,R,o.all?1e4:0)):d&&(o.all&&(d.collapseChildren=1e4),this.addFold("...",d));return d}},this.toggleFoldWidget=function(r){var o=this.selection.getCursor().row;o=this.getRowFoldStart(o);var t=this.$toggleFoldWidget(o,{});if(!t){var e=this.getParentFoldRangeData(o,!0);if(t=e.range||e.firstRange,t){o=t.start.row;var n=this.getFoldAt(o,this.getLine(o).length,1);n?this.removeFold(n):this.addFold("...",t)}}},this.updateFoldWidgets=function(r){var o=r.start.row,t=r.end.row-o;if(t===0)this.foldWidgets[o]=null;else if(r.action=="remove")this.foldWidgets.splice(o,t+1,null);else{var e=Array(t+1);e.unshift(o,1),this.foldWidgets.splice.apply(this.foldWidgets,e)}},this.tokenizerUpdateFoldWidgets=function(r){var o=r.data;o.first!=o.last&&this.foldWidgets.length>o.first&&this.foldWidgets.splice(o.first,this.foldWidgets.length)}}p.Folding=i}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(f,p,ze){var B=f("../token_iterator").TokenIterator,T=f("../range").Range;function L(){this.findMatchingBracket=function(l,u){if(l.column==0)return null;var i=u||this.getLine(l.row).charAt(l.column-1);if(i=="")return null;var r=i.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],l):this.$findOpeningBracket(r[2],l):null},this.getBracketRange=function(l){var u=this.getLine(l.row),i=!0,r,o=u.charAt(l.column-1),t=o&&o.match(/([\(\[\{])|([\)\]\}])/);if(t||(o=u.charAt(l.column),l={row:l.row,column:l.column+1},t=o&&o.match(/([\(\[\{])|([\)\]\}])/),i=!1),!t)return null;if(t[1]){var e=this.$findClosingBracket(t[1],l);if(!e)return null;r=T.fromPoints(l,e),i||(r.end.column++,r.start.column--),r.cursor=r.end}else{var e=this.$findOpeningBracket(t[2],l);if(!e)return null;r=T.fromPoints(e,l),i||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.getMatchingBracketRanges=function(l,u){var i=this.getLine(l.row),r=/([\(\[\{])|([\)\]\}])/,o=!u&&i.charAt(l.column-1),t=o&&o.match(r);if(t||(o=(u===void 0||u)&&i.charAt(l.column),l={row:l.row,column:l.column+1},t=o&&o.match(r)),!t)return null;var e=new T(l.row,l.column-1,l.row,l.column),n=t[1]?this.$findClosingBracket(t[1],l):this.$findOpeningBracket(t[2],l);if(!n)return[e];var c=new T(n.row,n.column,n.row,n.column+1);return[e,c]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(l,u,i){var r=this.$brackets[l],o=1,t=new B(this,u.row,u.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){i||(i=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var n=u.column-t.getCurrentTokenColumn()-2,c=e.value;;){for(;n>=0;){var d=c.charAt(n);if(d==r){if(o-=1,o==0)return{row:t.getCurrentTokenRow(),column:n+t.getCurrentTokenColumn()}}else d==l&&(o+=1);n-=1}do e=t.stepBackward();while(e&&!i.test(e.type));if(e==null)break;c=e.value,n=c.length-1}return null}},this.$findClosingBracket=function(l,u,i){var r=this.$brackets[l],o=1,t=new B(this,u.row,u.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){i||(i=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var n=u.column-t.getCurrentTokenColumn();;){for(var c=e.value,d=c.length;n<d;){var g=c.charAt(n);if(g==r){if(o-=1,o==0)return{row:t.getCurrentTokenRow(),column:n+t.getCurrentTokenColumn()}}else g==l&&(o+=1);n+=1}do e=t.stepForward();while(e&&!i.test(e.type));if(e==null)break;n=0}return null}},this.getMatchingTags=function(l){var u=new B(this,l.row,l.column),i=this.$findTagName(u);if(i){var r=u.stepBackward();return r.value==="<"?this.$findClosingTag(u,i):this.$findOpeningTag(u,i)}},this.$findTagName=function(l){var u=l.getCurrentToken(),i=!1,r=!1;if(u&&u.type.indexOf("tag-name")===-1)do r?u=l.stepBackward():u=l.stepForward(),u&&(u.value==="/>"?r=!0:u.type.indexOf("tag-name")!==-1&&(i=!0));while(u&&!i);return u},this.$findClosingTag=function(l,u){var i,r=u.value,o=u.value,t=0,e=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);u=l.stepForward();var n=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+u.value.length),c=!1;do{if(i=u,i.type.indexOf("tag-close")!==-1&&!c){var d=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);c=!0}if(u=l.stepForward(),u){if(u.value===">"&&!c){var d=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);c=!0}if(u.type.indexOf("tag-name")!==-1){if(r=u.value,o===r){if(i.value==="<")t++;else if(i.value==="</"&&(t--,t<0)){l.stepBackward();var g=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+2);u=l.stepForward();var G=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+u.value.length);if(u.type.indexOf("tag-close")===-1&&(u=l.stepForward()),u&&u.value===">")var R=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);else return}}}else if(o===r&&u.value==="/>"&&(t--,t<0))var g=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+2),G=g,R=G,d=new T(n.end.row,n.end.column,n.end.row,n.end.column+1)}}while(u&&t>=0);if(e&&d&&g&&R&&n&&G)return{openTag:new T(e.start.row,e.start.column,d.end.row,d.end.column),closeTag:new T(g.start.row,g.start.column,R.end.row,R.end.column),openTagName:n,closeTagName:G}},this.$findOpeningTag=function(l,u){var i=l.getCurrentToken(),r=u.value,o=0,t=l.getCurrentTokenRow(),e=l.getCurrentTokenColumn(),n=e+2,c=new T(t,e,t,n);l.stepForward();var d=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+u.value.length);if(u.type.indexOf("tag-close")===-1&&(u=l.stepForward()),!(!u||u.value!==">")){var g=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);l.stepBackward(),l.stepBackward();do if(u=i,t=l.getCurrentTokenRow(),e=l.getCurrentTokenColumn(),n=e+u.value.length,i=l.stepBackward(),u){if(u.type.indexOf("tag-name")!==-1){if(r===u.value)if(i.value==="<"){if(o++,o>0){var G=new T(t,e,t,n),R=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);do u=l.stepForward();while(u&&u.value!==">");var _=new T(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1)}}else i.value==="</"&&o--}else if(u.value==="/>"){for(var S=0,Me=i;Me;){if(Me.type.indexOf("tag-name")!==-1&&Me.value===r){o--;break}else if(Me.value==="<")break;Me=l.stepBackward(),S++}for(var He=0;He<S;He++)l.stepForward()}}while(i&&o<=0);if(R&&_&&c&&g&&G&&d)return{openTag:new T(R.start.row,R.start.column,_.end.row,_.end.column),closeTag:new T(c.start.row,c.start.column,g.end.row,g.end.column),openTagName:G,closeTagName:d}}}}p.BracketMatch=L}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/line_widgets","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],function(f,p,ze){var B=f("./lib/oop"),T=f("./lib/lang"),L=f("./bidihandler").BidiHandler,l=f("./config"),u=f("./lib/event_emitter").EventEmitter,i=f("./selection").Selection,r=f("./mode/text").Mode,o=f("./range").Range,t=f("./line_widgets").LineWidgets,e=f("./document").Document,n=f("./background_tokenizer").BackgroundTokenizer,c=f("./search_highlight").SearchHighlight,d=f("./undomanager").UndoManager,g=function(){function y(h,w){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++y.$uid,this.$foldData.toString=function(){return this.join(`
|
198
|
+
`)},this.bgTokenizer=new n(new r().getTokenizer(),this);var O=this;this.bgTokenizer.on("update",function(We){O._signal("tokenizerUpdate",We)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof h!="object"||!h.getLine)&&(h=new e(h)),this.setDocument(h),this.selection=new i(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new L(this),l.resetOptions(this),this.setMode(w),l._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return y.prototype.$initOperationListeners=function(){var h=this;this.curOp=null,this.on("change",function(){h.curOp||(h.startOperation(),h.curOp.selectionBefore=h.$lastSel),h.curOp.docChanged=!0},!0),this.on("changeSelection",function(){h.curOp||(h.startOperation(),h.curOp.selectionBefore=h.$lastSel),h.curOp.selectionChanged=!0},!0),this.$operationResetTimer=T.delayedCall(this.endOperation.bind(this,!0))},y.prototype.startOperation=function(h){if(this.curOp){if(!h||this.curOp.command)return;this.prevOp=this.curOp}h||(h={}),this.$operationResetTimer.schedule(),this.curOp={command:h.command||{},args:h.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",h)},y.prototype.endOperation=function(h){if(this.curOp){if(h&&h.returnValue===!1){this.curOp=null,this._signal("endOperation",h);return}if(h==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var w=this.selection.toJSON();this.curOp.selectionAfter=w,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(w),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",h)}},y.prototype.setDocument=function(h){this.doc&&this.doc.off("change",this.$onChange),this.doc=h,h.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},y.prototype.getDocument=function(){return this.doc},Object.defineProperty(y.prototype,"widgetManager",{get:function(){var h=new t(this);return this.widgetManager=h,this.$editor&&h.attach(this.$editor),h},set:function(h){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:h})},enumerable:!1,configurable:!0}),y.prototype.$resetRowCache=function(h){if(!h){this.$docRowCache=[],this.$screenRowCache=[];return}var w=this.$docRowCache.length,O=this.$getRowCacheIndex(this.$docRowCache,h)+1;w>O&&(this.$docRowCache.splice(O,w),this.$screenRowCache.splice(O,w))},y.prototype.$getRowCacheIndex=function(h,w){for(var O=0,We=h.length-1;O<=We;){var mt=O+We>>1,wt=h[mt];if(w>wt)O=mt+1;else if(w<wt)We=mt-1;else return mt}return O-1},y.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},y.prototype.onChangeFold=function(h){var w=h.data;this.$resetRowCache(w.start.row)},y.prototype.onChange=function(h){this.$modified=!0,this.$bidiHandler.onChange(h),this.$resetRowCache(h.start.row);var w=this.$updateInternalDataOnChange(h);!this.$fromUndo&&this.$undoManager&&(w&&w.length&&(this.$undoManager.add({action:"removeFolds",folds:w},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(h,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(h),this._signal("change",h)},y.prototype.onSelectionChange=function(){this._signal("changeSelection")},y.prototype.setValue=function(h){this.doc.setValue(h),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},y.fromJSON=function(h){typeof h=="string"&&(h=JSON.parse(h));var w=new d;w.$undoStack=h.history.undo,w.$redoStack=h.history.redo,w.mark=h.history.mark,w.$rev=h.history.rev;var O=new y(h.value);return h.folds.forEach(function(We){O.addFold("...",o.fromPoints(We.start,We.end))}),O.setAnnotations(h.annotations),O.setBreakpoints(h.breakpoints),O.setMode(h.mode),O.setScrollLeft(h.scrollLeft),O.setScrollTop(h.scrollTop),O.setUndoManager(w),O.selection.fromJSON(h.selection),O},y.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(h){return h.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},y.prototype.toString=function(){return this.doc.getValue()},y.prototype.getSelection=function(){return this.selection},y.prototype.getState=function(h){return this.bgTokenizer.getState(h)},y.prototype.getTokens=function(h){return this.bgTokenizer.getTokens(h)},y.prototype.getTokenAt=function(h,w){var O=this.bgTokenizer.getTokens(h),We,mt=0;if(w==null){var wt=O.length-1;mt=this.getLine(h).length}else for(var wt=0;wt<O.length&&(mt+=O[wt].value.length,!(mt>=w));wt++);return We=O[wt],We?(We.index=wt,We.start=mt-We.value.length,We):null},y.prototype.setUndoManager=function(h){if(this.$undoManager=h,this.$informUndoManager&&this.$informUndoManager.cancel(),h){var w=this;h.addSession(this),this.$syncInformUndoManager=function(){w.$informUndoManager.cancel(),w.mergeUndoDeltas=!1},this.$informUndoManager=T.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},y.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},y.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},y.prototype.getTabString=function(){return this.getUseSoftTabs()?T.stringRepeat(" ",this.getTabSize()):" "},y.prototype.setUseSoftTabs=function(h){this.setOption("useSoftTabs",h)},y.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},y.prototype.setTabSize=function(h){this.setOption("tabSize",h)},y.prototype.getTabSize=function(){return this.$tabSize},y.prototype.isTabStop=function(h){return this.$useSoftTabs&&h.column%this.$tabSize===0},y.prototype.setNavigateWithinSoftTabs=function(h){this.setOption("navigateWithinSoftTabs",h)},y.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},y.prototype.setOverwrite=function(h){this.setOption("overwrite",h)},y.prototype.getOverwrite=function(){return this.$overwrite},y.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},y.prototype.addGutterDecoration=function(h,w){this.$decorations[h]||(this.$decorations[h]=""),this.$decorations[h]+=" "+w,this._signal("changeBreakpoint",{})},y.prototype.removeGutterDecoration=function(h,w){this.$decorations[h]=(this.$decorations[h]||"").replace(" "+w,""),this._signal("changeBreakpoint",{})},y.prototype.getBreakpoints=function(){return this.$breakpoints},y.prototype.setBreakpoints=function(h){this.$breakpoints=[];for(var w=0;w<h.length;w++)this.$breakpoints[h[w]]="ace_breakpoint";this._signal("changeBreakpoint",{})},y.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},y.prototype.setBreakpoint=function(h,w){w===void 0&&(w="ace_breakpoint"),w?this.$breakpoints[h]=w:delete this.$breakpoints[h],this._signal("changeBreakpoint",{})},y.prototype.clearBreakpoint=function(h){delete this.$breakpoints[h],this._signal("changeBreakpoint",{})},y.prototype.addMarker=function(h,w,O,We){var mt=this.$markerId++,wt={range:h,type:O||"line",renderer:typeof O=="function"?O:null,clazz:w,inFront:!!We,id:mt};return We?(this.$frontMarkers[mt]=wt,this._signal("changeFrontMarker")):(this.$backMarkers[mt]=wt,this._signal("changeBackMarker")),mt},y.prototype.addDynamicMarker=function(h,w){if(h.update){var O=this.$markerId++;return h.id=O,h.inFront=!!w,w?(this.$frontMarkers[O]=h,this._signal("changeFrontMarker")):(this.$backMarkers[O]=h,this._signal("changeBackMarker")),h}},y.prototype.removeMarker=function(h){var w=this.$frontMarkers[h]||this.$backMarkers[h];if(w){var O=w.inFront?this.$frontMarkers:this.$backMarkers;delete O[h],this._signal(w.inFront?"changeFrontMarker":"changeBackMarker")}},y.prototype.getMarkers=function(h){return h?this.$frontMarkers:this.$backMarkers},y.prototype.highlight=function(h){if(!this.$searchHighlight){var w=new c(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(w)}this.$searchHighlight.setRegexp(h)},y.prototype.highlightLines=function(h,w,O,We){typeof w!="number"&&(O=w,w=h),O||(O="ace_step");var mt=new o(h,0,w,1/0);return mt.id=this.addMarker(mt,O,"fullLine",We),mt},y.prototype.setAnnotations=function(h){this.$annotations=h,this._signal("changeAnnotation",{})},y.prototype.getAnnotations=function(){return this.$annotations||[]},y.prototype.clearAnnotations=function(){this.setAnnotations([])},y.prototype.$detectNewLine=function(h){var w=h.match(/^.*?(\r?\n)/m);w?this.$autoNewLine=w[1]:this.$autoNewLine=`
|
199
|
+
`},y.prototype.getWordRange=function(h,w){var O=this.getLine(h),We=!1;if(w>0&&(We=!!O.charAt(w-1).match(this.tokenRe)),We||(We=!!O.charAt(w).match(this.tokenRe)),We)var mt=this.tokenRe;else if(/^\s+$/.test(O.slice(w-1,w+1)))var mt=/\s/;else var mt=this.nonTokenRe;var wt=w;if(wt>0){do wt--;while(wt>=0&&O.charAt(wt).match(mt));wt++}for(var St=w;St<O.length&&O.charAt(St).match(mt);)St++;return new o(h,wt,h,St)},y.prototype.getAWordRange=function(h,w){for(var O=this.getWordRange(h,w),We=this.getLine(O.end.row);We.charAt(O.end.column).match(/[ \t]/);)O.end.column+=1;return O},y.prototype.setNewLineMode=function(h){this.doc.setNewLineMode(h)},y.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},y.prototype.setUseWorker=function(h){this.setOption("useWorker",h)},y.prototype.getUseWorker=function(){return this.$useWorker},y.prototype.onReloadTokenizer=function(h){var w=h.data;this.bgTokenizer.start(w.first),this._signal("tokenizerUpdate",h)},y.prototype.setMode=function(h,w){if(h&&typeof h=="object"){if(h.getTokenizer)return this.$onChangeMode(h);var O=h,We=O.path}else We=h||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new r),this.$modes[We]&&!O){this.$onChangeMode(this.$modes[We]),w&&w();return}this.$modeId=We,l.loadModule(["mode",We],(function(mt){if(this.$modeId!==We)return w&&w();this.$modes[We]&&!O?this.$onChangeMode(this.$modes[We]):mt&&mt.Mode&&(mt=new mt.Mode(O),O||(this.$modes[We]=mt,mt.$id=We),this.$onChangeMode(mt)),w&&w()}).bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},y.prototype.$onChangeMode=function(h,w){if(w||(this.$modeId=h.$id),this.$mode!==h){var O=this.$mode;this.$mode=h,this.$stopWorker(),this.$useWorker&&this.$startWorker();var We=h.getTokenizer();if(We.on!==void 0){var mt=this.onReloadTokenizer.bind(this);We.on("update",mt)}this.bgTokenizer.setTokenizer(We),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=h.tokenRe,this.nonTokenRe=h.nonTokenRe,w||(h.attachToSession&&h.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(h.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:O,mode:h}))}},y.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},y.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(h){l.warn("Could not load worker",h),this.$worker=null}},y.prototype.getMode=function(){return this.$mode},y.prototype.setScrollTop=function(h){this.$scrollTop===h||isNaN(h)||(this.$scrollTop=h,this._signal("changeScrollTop",h))},y.prototype.getScrollTop=function(){return this.$scrollTop},y.prototype.setScrollLeft=function(h){this.$scrollLeft===h||isNaN(h)||(this.$scrollLeft=h,this._signal("changeScrollLeft",h))},y.prototype.getScrollLeft=function(){return this.$scrollLeft},y.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},y.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var h=0;return this.lineWidgets.forEach(function(w){w&&w.screenWidth>h&&(h=w.screenWidth)}),this.lineWidgetWidth=h},y.prototype.$computeWidth=function(h){if(this.$modified||h){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var w=this.doc.getAllLines(),O=this.$rowLengthCache,We=0,mt=0,wt=this.$foldData[mt],St=wt?wt.start.row:1/0,xt=w.length,Rt=0;Rt<xt;Rt++){if(Rt>St){if(Rt=wt.end.row+1,Rt>=xt)break;wt=this.$foldData[mt++],St=wt?wt.start.row:1/0}O[Rt]==null&&(O[Rt]=this.$getStringScreenWidth(w[Rt])[0]),O[Rt]>We&&(We=O[Rt])}this.screenWidth=We}},y.prototype.getLine=function(h){return this.doc.getLine(h)},y.prototype.getLines=function(h,w){return this.doc.getLines(h,w)},y.prototype.getLength=function(){return this.doc.getLength()},y.prototype.getTextRange=function(h){return this.doc.getTextRange(h||this.selection.getRange())},y.prototype.insert=function(h,w){return this.doc.insert(h,w)},y.prototype.remove=function(h){return this.doc.remove(h)},y.prototype.removeFullLines=function(h,w){return this.doc.removeFullLines(h,w)},y.prototype.undoChanges=function(h,w){if(h.length){this.$fromUndo=!0;for(var O=h.length-1;O!=-1;O--){var We=h[O];We.action=="insert"||We.action=="remove"?this.doc.revertDelta(We):We.folds&&this.addFolds(We.folds)}!w&&this.$undoSelect&&(h.selectionBefore?this.selection.fromJSON(h.selectionBefore):this.selection.setRange(this.$getUndoSelection(h,!0))),this.$fromUndo=!1}},y.prototype.redoChanges=function(h,w){if(h.length){this.$fromUndo=!0;for(var O=0;O<h.length;O++){var We=h[O];(We.action=="insert"||We.action=="remove")&&this.doc.$safeApplyDelta(We)}!w&&this.$undoSelect&&(h.selectionAfter?this.selection.fromJSON(h.selectionAfter):this.selection.setRange(this.$getUndoSelection(h,!1))),this.$fromUndo=!1}},y.prototype.setUndoSelect=function(h){this.$undoSelect=h},y.prototype.$getUndoSelection=function(h,w){function O(xt){return w?xt.action!=="insert":xt.action==="insert"}for(var We,mt,wt=0;wt<h.length;wt++){var St=h[wt];if(St.start){if(!We){O(St)?We=o.fromPoints(St.start,St.end):We=o.fromPoints(St.start,St.start);continue}O(St)?(mt=St.start,We.compare(mt.row,mt.column)==-1&&We.setStart(mt),mt=St.end,We.compare(mt.row,mt.column)==1&&We.setEnd(mt)):(mt=St.start,We.compare(mt.row,mt.column)==-1&&(We=o.fromPoints(St.start,St.start)))}}return We},y.prototype.replace=function(h,w){return this.doc.replace(h,w)},y.prototype.moveText=function(h,w,O){var We=this.getTextRange(h),mt=this.getFoldsInRange(h),wt=o.fromPoints(w,w);if(!O){this.remove(h);var St=h.start.row-h.end.row,xt=St?-h.end.column:h.start.column-h.end.column;xt&&(wt.start.row==h.end.row&&wt.start.column>h.end.column&&(wt.start.column+=xt),wt.end.row==h.end.row&&wt.end.column>h.end.column&&(wt.end.column+=xt)),St&&wt.start.row>=h.end.row&&(wt.start.row+=St,wt.end.row+=St)}if(wt.end=this.insert(wt.start,We),mt.length){var Rt=h.start,ii=wt.start,St=ii.row-Rt.row,xt=ii.column-Rt.column;this.addFolds(mt.map(function(ni){return ni=ni.clone(),ni.start.row==Rt.row&&(ni.start.column+=xt),ni.end.row==Rt.row&&(ni.end.column+=xt),ni.start.row+=St,ni.end.row+=St,ni}))}return wt},y.prototype.indentRows=function(h,w,O){O=O.replace(/\t/g,this.getTabString());for(var We=h;We<=w;We++)this.doc.insertInLine({row:We,column:0},O)},y.prototype.outdentRows=function(h){for(var w=h.collapseRows(),O=new o(0,0,0,0),We=this.getTabSize(),mt=w.start.row;mt<=w.end.row;++mt){var wt=this.getLine(mt);O.start.row=mt,O.end.row=mt;for(var St=0;St<We&&wt.charAt(St)==" ";++St);St<We&&wt.charAt(St)==" "?(O.start.column=St,O.end.column=St+1):(O.start.column=0,O.end.column=St),this.remove(O)}},y.prototype.$moveLines=function(h,w,O){if(h=this.getRowFoldStart(h),w=this.getRowFoldEnd(w),O<0){var We=this.getRowFoldStart(h+O);if(We<0)return 0;var mt=We-h}else if(O>0){var We=this.getRowFoldEnd(w+O);if(We>this.doc.getLength()-1)return 0;var mt=We-w}else{h=this.$clipRowToDocument(h),w=this.$clipRowToDocument(w);var mt=w-h+1}var wt=new o(h,0,w,Number.MAX_VALUE),St=this.getFoldsInRange(wt).map(function(Rt){return Rt=Rt.clone(),Rt.start.row+=mt,Rt.end.row+=mt,Rt}),xt=O==0?this.doc.getLines(h,w):this.doc.removeFullLines(h,w);return this.doc.insertFullLines(h+mt,xt),St.length&&this.addFolds(St),mt},y.prototype.moveLinesUp=function(h,w){return this.$moveLines(h,w,-1)},y.prototype.moveLinesDown=function(h,w){return this.$moveLines(h,w,1)},y.prototype.duplicateLines=function(h,w){return this.$moveLines(h,w,0)},y.prototype.$clipRowToDocument=function(h){return Math.max(0,Math.min(h,this.doc.getLength()-1))},y.prototype.$clipColumnToRow=function(h,w){return w<0?0:Math.min(this.doc.getLine(h).length,w)},y.prototype.$clipPositionToDocument=function(h,w){if(w=Math.max(0,w),h<0)h=0,w=0;else{var O=this.doc.getLength();h>=O?(h=O-1,w=this.doc.getLine(O-1).length):w=Math.min(this.doc.getLine(h).length,w)}return{row:h,column:w}},y.prototype.$clipRangeToDocument=function(h){h.start.row<0?(h.start.row=0,h.start.column=0):h.start.column=this.$clipColumnToRow(h.start.row,h.start.column);var w=this.doc.getLength()-1;return h.end.row>w?(h.end.row=w,h.end.column=this.doc.getLine(w).length):h.end.column=this.$clipColumnToRow(h.end.row,h.end.column),h},y.prototype.setUseWrapMode=function(h){if(h!=this.$useWrapMode){if(this.$useWrapMode=h,this.$modified=!0,this.$resetRowCache(0),h){var w=this.getLength();this.$wrapData=Array(w),this.$updateWrapData(0,w-1)}this._signal("changeWrapMode")}},y.prototype.getUseWrapMode=function(){return this.$useWrapMode},y.prototype.setWrapLimitRange=function(h,w){(this.$wrapLimitRange.min!==h||this.$wrapLimitRange.max!==w)&&(this.$wrapLimitRange={min:h,max:w},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},y.prototype.adjustWrapLimit=function(h,w){var O=this.$wrapLimitRange;O.max<0&&(O={min:w,max:w});var We=this.$constrainWrapLimit(h,O.min,O.max);return We!=this.$wrapLimit&&We>1?(this.$wrapLimit=We,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},y.prototype.$constrainWrapLimit=function(h,w,O){return w&&(h=Math.max(w,h)),O&&(h=Math.min(O,h)),h},y.prototype.getWrapLimit=function(){return this.$wrapLimit},y.prototype.setWrapLimit=function(h){this.setWrapLimitRange(h,h)},y.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},y.prototype.$updateInternalDataOnChange=function(h){var w=this.$useWrapMode,O=h.action,We=h.start,mt=h.end,wt=We.row,St=mt.row,xt=St-wt,Rt=null;if(this.$updating=!0,xt!=0)if(O==="remove"){this[w?"$wrapData":"$rowLengthCache"].splice(wt,xt);var ii=this.$foldData;Rt=this.getFoldsInRange(h),this.removeFolds(Rt);var Et=this.getFoldLine(mt.row),ei=0;if(Et){Et.addRemoveChars(mt.row,mt.column,We.column-mt.column),Et.shiftRow(-xt);var ni=this.getFoldLine(wt);ni&&ni!==Et&&(ni.merge(Et),Et=ni),ei=ii.indexOf(Et)+1}for(ei;ei<ii.length;ei++){var Et=ii[ei];Et.start.row>=mt.row&&Et.shiftRow(-xt)}St=wt}else{var ti=Array(xt);ti.unshift(wt,0);var oi=w?this.$wrapData:this.$rowLengthCache;oi.splice.apply(oi,ti);var ii=this.$foldData,Et=this.getFoldLine(wt),ei=0;if(Et){var ai=Et.range.compareInside(We.row,We.column);ai==0?(Et=Et.split(We.row,We.column),Et&&(Et.shiftRow(xt),Et.addRemoveChars(St,0,mt.column-We.column))):ai==-1&&(Et.addRemoveChars(wt,0,mt.column-We.column),Et.shiftRow(xt)),ei=ii.indexOf(Et)+1}for(ei;ei<ii.length;ei++){var Et=ii[ei];Et.start.row>=wt&&Et.shiftRow(xt)}}else{xt=Math.abs(h.start.column-h.end.column),O==="remove"&&(Rt=this.getFoldsInRange(h),this.removeFolds(Rt),xt=-xt);var Et=this.getFoldLine(wt);Et&&Et.addRemoveChars(wt,We.column,xt)}return w&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,w?this.$updateWrapData(wt,St):this.$updateRowLengthCache(wt,St),Rt},y.prototype.$updateRowLengthCache=function(h,w){this.$rowLengthCache[h]=null,this.$rowLengthCache[w]=null},y.prototype.$updateWrapData=function(h,w){var O=this.doc.getAllLines(),We=this.getTabSize(),mt=this.$wrapData,wt=this.$wrapLimit,St,xt,Rt=h;for(w=Math.min(w,O.length-1);Rt<=w;)xt=this.getFoldLine(Rt,xt),xt?(St=[],xt.walk((function(ii,Et,ei,ni){var ti;if(ii!=null){ti=this.$getDisplayTokens(ii,St.length),ti[0]=_;for(var oi=1;oi<ti.length;oi++)ti[oi]=S}else ti=this.$getDisplayTokens(O[Et].substring(ni,ei),St.length);St=St.concat(ti)}).bind(this),xt.end.row,O[xt.end.row].length+1),mt[xt.start.row]=this.$computeWrapSplits(St,wt,We),Rt=xt.end.row+1):(St=this.$getDisplayTokens(O[Rt]),mt[Rt]=this.$computeWrapSplits(St,wt,We),Rt++)},y.prototype.$computeWrapSplits=function(h,w,O){if(h.length==0)return[];var We=[],mt=h.length,wt=0,St=0,xt=this.$wrapAsCode,Rt=this.$indentedSoftWrap,ii=w<=Math.max(2*O,8)||Rt===!1?0:Math.floor(w/2);function Et(){var ai=0;if(ii===0)return ai;if(Rt)for(var li=0;li<h.length;li++){var si=h[li];if(si==He)ai+=1;else if(si==Te)ai+=O;else{if(si==j)continue;break}}return xt&&Rt!==!1&&(ai+=O),Math.min(ai,ii)}function ei(ai){for(var li=ai-wt,si=wt;si<ai;si++){var hi=h[si];(hi===12||hi===2)&&(li-=1)}We.length||(ni=Et(),We.indent=ni),St+=li,We.push(St),wt=ai}for(var ni=0;mt-wt>w-ni;){var ti=wt+w-ni;if(h[ti-1]>=He&&h[ti]>=He){ei(ti);continue}if(h[ti]==_||h[ti]==S){for(ti;ti!=wt-1&&h[ti]!=_;ti--);if(ti>wt){ei(ti);continue}for(ti=wt+w,ti;ti<h.length&&h[ti]==S;ti++);if(ti==h.length)break;ei(ti);continue}for(var oi=Math.max(ti-(w-(w>>2)),wt-1);ti>oi&&h[ti]<_;)ti--;if(xt){for(;ti>oi&&h[ti]<_;)ti--;for(;ti>oi&&h[ti]==Me;)ti--}else for(;ti>oi&&h[ti]<He;)ti--;if(ti>oi){ei(++ti);continue}ti=wt+w,h[ti]==R&&ti--,ei(ti-ni)}return We},y.prototype.$getDisplayTokens=function(h,w){var O=[],We;w=w||0;for(var mt=0;mt<h.length;mt++){var wt=h.charCodeAt(mt);if(wt==9){We=this.getScreenTabSize(O.length+w),O.push(Te);for(var St=1;St<We;St++)O.push(j)}else wt==32?O.push(He):wt>39&&wt<48||wt>57&&wt<64?O.push(Me):wt>=4352&&yt(wt)?O.push(G,R):O.push(G)}return O},y.prototype.$getStringScreenWidth=function(h,w,O){if(w==0)return[0,0];w==null&&(w=1/0),O=O||0;var We,mt;for(mt=0;mt<h.length&&(We=h.charCodeAt(mt),We==9?O+=this.getScreenTabSize(O):We>=4352&&yt(We)?O+=2:O+=1,!(O>w));mt++);return[O,mt]},y.prototype.getRowLength=function(h){var w=1;return this.lineWidgets&&(w+=this.lineWidgets[h]&&this.lineWidgets[h].rowCount||0),!this.$useWrapMode||!this.$wrapData[h]?w:this.$wrapData[h].length+w},y.prototype.getRowLineCount=function(h){return!this.$useWrapMode||!this.$wrapData[h]?1:this.$wrapData[h].length+1},y.prototype.getRowWrapIndent=function(h){if(this.$useWrapMode){var w=this.screenToDocumentPosition(h,Number.MAX_VALUE),O=this.$wrapData[w.row];return O.length&&O[0]<w.column?O.indent:0}else return 0},y.prototype.getScreenLastRowColumn=function(h){var w=this.screenToDocumentPosition(h,Number.MAX_VALUE);return this.documentToScreenColumn(w.row,w.column)},y.prototype.getDocumentLastRowColumn=function(h,w){var O=this.documentToScreenRow(h,w);return this.getScreenLastRowColumn(O)},y.prototype.getDocumentLastRowColumnPosition=function(h,w){var O=this.documentToScreenRow(h,w);return this.screenToDocumentPosition(O,Number.MAX_VALUE/10)},y.prototype.getRowSplitData=function(h){if(this.$useWrapMode)return this.$wrapData[h]},y.prototype.getScreenTabSize=function(h){return this.$tabSize-(h%this.$tabSize|0)},y.prototype.screenToDocumentRow=function(h,w){return this.screenToDocumentPosition(h,w).row},y.prototype.screenToDocumentColumn=function(h,w){return this.screenToDocumentPosition(h,w).column},y.prototype.screenToDocumentPosition=function(h,w,O){if(h<0)return{row:0,column:0};var We,mt=0,wt=0,St,xt=0,Rt=0,ii=this.$screenRowCache,Et=this.$getRowCacheIndex(ii,h),ei=ii.length;if(ei&&Et>=0)var xt=ii[Et],mt=this.$docRowCache[Et],ni=h>ii[ei-1];else var ni=!ei;for(var ti=this.getLength()-1,oi=this.getNextFoldLine(mt),ai=oi?oi.start.row:1/0;xt<=h&&(Rt=this.getRowLength(mt),!(xt+Rt>h||mt>=ti));)xt+=Rt,mt++,mt>ai&&(mt=oi.end.row+1,oi=this.getNextFoldLine(mt,oi),ai=oi?oi.start.row:1/0),ni&&(this.$docRowCache.push(mt),this.$screenRowCache.push(xt));if(oi&&oi.start.row<=mt)We=this.getFoldDisplayLine(oi),mt=oi.start.row;else{if(xt+Rt<=h||mt>ti)return{row:ti,column:this.getLine(ti).length};We=this.getLine(mt),oi=null}var li=0,si=Math.floor(h-xt);if(this.$useWrapMode){var hi=this.$wrapData[mt];hi&&(St=hi[si],si>0&&hi.length&&(li=hi.indent,wt=hi[si-1]||hi[hi.length-1],We=We.substring(wt)))}return O!==void 0&&this.$bidiHandler.isBidiRow(xt+si,mt,si)&&(w=this.$bidiHandler.offsetToCol(O)),wt+=this.$getStringScreenWidth(We,w-li)[1],this.$useWrapMode&&wt>=St&&(wt=St-1),oi?oi.idxToPosition(wt):{row:mt,column:wt}},y.prototype.documentToScreenPosition=function(h,w){if(typeof w>"u")var O=this.$clipPositionToDocument(h.row,h.column);else O=this.$clipPositionToDocument(h,w);h=O.row,w=O.column;var We=0,mt=null,wt=null;wt=this.getFoldAt(h,w,1),wt&&(h=wt.start.row,w=wt.start.column);var St,xt=0,Rt=this.$docRowCache,ii=this.$getRowCacheIndex(Rt,h),Et=Rt.length;if(Et&&ii>=0)var xt=Rt[ii],We=this.$screenRowCache[ii],ei=h>Rt[Et-1];else var ei=!Et;for(var ni=this.getNextFoldLine(xt),ti=ni?ni.start.row:1/0;xt<h;){if(xt>=ti){if(St=ni.end.row+1,St>h)break;ni=this.getNextFoldLine(St,ni),ti=ni?ni.start.row:1/0}else St=xt+1;We+=this.getRowLength(xt),xt=St,ei&&(this.$docRowCache.push(xt),this.$screenRowCache.push(We))}var oi="";ni&&xt>=ti?(oi=this.getFoldDisplayLine(ni,h,w),mt=ni.start.row):(oi=this.getLine(h).substring(0,w),mt=h);var ai=0;if(this.$useWrapMode){var li=this.$wrapData[mt];if(li){for(var si=0;oi.length>=li[si];)We++,si++;oi=oi.substring(li[si-1]||0,oi.length),ai=si>0?li.indent:0}}return this.lineWidgets&&this.lineWidgets[xt]&&this.lineWidgets[xt].rowsAbove&&(We+=this.lineWidgets[xt].rowsAbove),{row:We,column:ai+this.$getStringScreenWidth(oi)[0]}},y.prototype.documentToScreenColumn=function(h,w){return this.documentToScreenPosition(h,w).column},y.prototype.documentToScreenRow=function(h,w){return this.documentToScreenPosition(h,w).row},y.prototype.getScreenLength=function(){var h=0,w=null;if(this.$useWrapMode)for(var mt=this.$wrapData.length,wt=0,We=0,w=this.$foldData[We++],St=w?w.start.row:1/0;wt<mt;){var xt=this.$wrapData[wt];h+=xt?xt.length+1:1,wt++,wt>St&&(wt=w.end.row+1,w=this.$foldData[We++],St=w?w.start.row:1/0)}else{h=this.getLength();for(var O=this.$foldData,We=0;We<O.length;We++)w=O[We],h-=w.end.row-w.start.row}return this.lineWidgets&&(h+=this.$getWidgetScreenLength()),h},y.prototype.$setFontMetrics=function(h){this.$enableVarChar&&(this.$getStringScreenWidth=function(w,O,We){if(O===0)return[0,0];O||(O=1/0),We=We||0;var mt,wt;for(wt=0;wt<w.length&&(mt=w.charAt(wt),mt===" "?We+=this.getScreenTabSize(We):We+=h.getCharacterWidth(mt),!(We>O));wt++);return[We,wt]})},y.prototype.getPrecedingCharacter=function(){var h=this.selection.getCursor();if(h.column===0)return h.row===0?"":this.doc.getNewLineCharacter();var w=this.getLine(h.row);return w[h.column-1]},y.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},y}();g.$uid=0,g.prototype.$modes=l.$modes,g.prototype.getValue=g.prototype.toString,g.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},g.prototype.$overwrite=!1,g.prototype.$mode=null,g.prototype.$modeId=null,g.prototype.$scrollTop=0,g.prototype.$scrollLeft=0,g.prototype.$wrapLimit=80,g.prototype.$useWrapMode=!1,g.prototype.$wrapLimitRange={min:null,max:null},g.prototype.lineWidgets=null,g.prototype.isFullWidth=yt,B.implement(g.prototype,u);var G=1,R=2,_=3,S=4,Me=9,He=10,Te=11,j=12;function yt(y){return y<4352?!1:y>=4352&&y<=4447||y>=4515&&y<=4519||y>=4602&&y<=4607||y>=9001&&y<=9002||y>=11904&&y<=11929||y>=11931&&y<=12019||y>=12032&&y<=12245||y>=12272&&y<=12283||y>=12288&&y<=12350||y>=12353&&y<=12438||y>=12441&&y<=12543||y>=12549&&y<=12589||y>=12593&&y<=12686||y>=12688&&y<=12730||y>=12736&&y<=12771||y>=12784&&y<=12830||y>=12832&&y<=12871||y>=12880&&y<=13054||y>=13056&&y<=19903||y>=19968&&y<=42124||y>=42128&&y<=42182||y>=43360&&y<=43388||y>=44032&&y<=55203||y>=55216&&y<=55238||y>=55243&&y<=55291||y>=63744&&y<=64255||y>=65040&&y<=65049||y>=65072&&y<=65106||y>=65108&&y<=65126||y>=65128&&y<=65131||y>=65281&&y<=65376||y>=65504&&y<=65510}f("./edit_session/folding").Folding.call(g.prototype),f("./edit_session/bracket_match").BracketMatch.call(g.prototype),l.defineOptions(g.prototype,"session",{wrap:{set:function(y){if(!y||y=="off"?y=!1:y=="free"?y=!0:y=="printMargin"?y=-1:typeof y=="string"&&(y=parseInt(y,10)||!1),this.$wrap!=y)if(this.$wrap=y,!y)this.setUseWrapMode(!1);else{var h=typeof y=="number"?y:null;this.setWrapLimitRange(h,h),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(y){y=y=="auto"?this.$mode.type!="text":y!="text",y!=this.$wrapAsCode&&(this.$wrapAsCode=y,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(y){this.$useWorker=y,this.$stopWorker(),y&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(y){y=parseInt(y),y>0&&this.$tabSize!==y&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=y,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(y){this.setFoldStyle(y)},handlesSet:!0},overwrite:{set:function(y){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(y){this.doc.setNewLineMode(y)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(y){this.setMode(y)},get:function(){return this.$modeId},handlesSet:!0}}),p.EditSession=g}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(f,p,ze){var B=f("./lib/lang"),T=f("./lib/oop"),L=f("./range").Range,l=function(){function i(){this.$options={}}return i.prototype.set=function(r){return T.mixin(this.$options,r),this},i.prototype.getOptions=function(){return B.copyObject(this.$options)},i.prototype.setOptions=function(r){this.$options=r},i.prototype.find=function(r){var o=this.$options,t=this.$matchIterator(r,o);if(!t)return!1;var e=null;return t.forEach(function(n,c,d,g){return e=new L(n,c,d,g),c==g&&o.start&&o.start.start&&o.skipCurrent!=!1&&e.isEqual(o.start)?(e=null,!1):!0}),e},i.prototype.findAll=function(r){var o=this.$options;if(!o.needle)return[];this.$assembleRegExp(o);var t=o.range,e=t?r.getLines(t.start.row,t.end.row):r.doc.getAllLines(),n=[],c=o.re;if(o.$isMultiLine){var d=c.length,g=e.length-d,G;e:for(var R=c.offset||0;R<=g;R++){for(var _=0;_<d;_++)if(e[R+_].search(c[_])==-1)continue e;var S=e[R],Me=e[R+d-1],He=S.length-S.match(c[0])[0].length,Te=Me.match(c[d-1])[0].length;G&&G.end.row===R&&G.end.column>He||(n.push(G=new L(R,He,R+d-1,Te)),d>2&&(R=R+d-2))}}else for(var j=0;j<e.length;j++)for(var yt=B.getMatchOffsets(e[j],c),_=0;_<yt.length;_++){var y=yt[_];n.push(new L(j,y.offset,j,y.offset+y.length))}if(t){for(var h=t.start.column,w=t.end.column,j=0,_=n.length-1;j<_&&n[j].start.column<h&&n[j].start.row==0;)j++;for(var O=t.end.row-t.start.row;j<_&&n[_].end.column>w&&n[_].end.row==O;)_--;for(n=n.slice(j,_+1),j=0,_=n.length;j<_;j++)n[j].start.row+=t.start.row,n[j].end.row+=t.start.row}return n},i.prototype.replace=function(r,o){var t=this.$options,e=this.$assembleRegExp(t);if(t.$isMultiLine)return o;if(e){var n=e.exec(r);if(!n||n[0].length!=r.length)return null;if(t.regExp||(o=o.replace(/\$/g,"$$$$")),o=r.replace(e,o),t.preserveCase){o=o.split("");for(var c=Math.min(r.length,r.length);c--;){var d=r[c];d&&d.toLowerCase()!=d?o[c]=o[c].toUpperCase():o[c]=o[c].toLowerCase()}o=o.join("")}return o}},i.prototype.$assembleRegExp=function(r,o){if(r.needle instanceof RegExp)return r.re=r.needle;var t=r.needle;if(!r.needle)return r.re=!1;r.regExp||(t=B.escapeRegExp(t));var e=r.caseSensitive?"gm":"gmi";try{new RegExp(t,"u"),r.$supportsUnicodeFlag=!0,e+="u"}catch{r.$supportsUnicodeFlag=!1}if(r.wholeWord&&(t=u(t,r)),r.$isMultiLine=!o&&/[\n\r]/.test(t),r.$isMultiLine)return r.re=this.$assembleMultilineRegExp(t,e);try{var n=new RegExp(t,e)}catch{n=!1}return r.re=n},i.prototype.$assembleMultilineRegExp=function(r,o){for(var t=r.replace(/\r\n|\r|\n/g,`$
|
200
|
+
^`).split(`
|
201
|
+
`),e=[],n=0;n<t.length;n++)try{e.push(new RegExp(t[n],o))}catch{return!1}return e},i.prototype.$matchIterator=function(r,o){var t=this.$assembleRegExp(o);if(!t)return!1;var e=o.backwards==!0,n=o.skipCurrent!=!1,c=t.unicode,d=o.range,g=o.start;g||(g=d?d[e?"end":"start"]:r.selection.getRange()),g.start&&(g=g[n!=e?"end":"start"]);var G=d?d.start.row:0,R=d?d.end.row:r.getLength()-1;if(e)var _=function(He){var Te=g.row;if(!Me(Te,g.column,He)){for(Te--;Te>=G;Te--)if(Me(Te,Number.MAX_VALUE,He))return;if(o.wrap!=!1){for(Te=R,G=g.row;Te>=G;Te--)if(Me(Te,Number.MAX_VALUE,He))return}}};else var _=function(Te){var j=g.row;if(!Me(j,g.column,Te)){for(j=j+1;j<=R;j++)if(Me(j,0,Te))return;if(o.wrap!=!1){for(j=G,R=g.row;j<=R;j++)if(Me(j,0,Te))return}}};if(o.$isMultiLine)var S=t.length,Me=function(He,Te,j){var yt=e?He-S+1:He;if(!(yt<0||yt+S>r.getLength())){var y=r.getLine(yt),h=y.search(t[0]);if(!(!e&&h<Te||h===-1)){for(var w=1;w<S;w++)if(y=r.getLine(yt+w),y.search(t[w])==-1)return;var O=y.match(t[S-1])[0].length;if(!(e&&O>Te)&&j(yt,h,yt+S-1,O))return!0}}};else if(e)var Me=function(Te,j,yt){var y=r.getLine(Te),h=[],w,O=0;for(t.lastIndex=0;w=t.exec(y);){var We=w[0].length;if(O=w.index,!We){if(O>=y.length)break;t.lastIndex=O+=B.skipEmptyMatch(y,O,c)}if(w.index+We>j)break;h.push(w.index,We)}for(var mt=h.length-1;mt>=0;mt-=2){var wt=h[mt-1],We=h[mt];if(yt(Te,wt,Te,wt+We))return!0}};else var Me=function(Te,j,yt){var y=r.getLine(Te),h,w;for(t.lastIndex=j;w=t.exec(y);){var O=w[0].length;if(h=w.index,yt(Te,h,Te,h+O))return!0;if(!O&&(t.lastIndex=h+=B.skipEmptyMatch(y,h,c),h>=y.length))return!1}};return{forEach:_}},i}();function u(i,r){var o=B.supportsLookbehind();function t(d,g){g===void 0&&(g=!0);var G=o&&r.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return G.test(d)||r.regExp?o&&r.$supportsUnicodeFlag?g?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var e=Array.from(i),n=e[0],c=e[e.length-1];return t(n)+i+t(c,!1)}p.Search=l}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(f,p,ze){var B=this&&this.__extends||function(){var o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,c){n.__proto__=c}||function(n,c){for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(n[d]=c[d])},o(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");o(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),T=f("../lib/keys"),L=f("../lib/useragent"),l=T.KEY_MODS,u=function(){function o(t,e){this.$init(t,e,!1)}return o.prototype.$init=function(t,e,n){this.platform=e||(L.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(t),this.$singleCommand=n},o.prototype.addCommand=function(t){this.commands[t.name]&&this.removeCommand(t),this.commands[t.name]=t,t.bindKey&&this._buildKeyHash(t)},o.prototype.removeCommand=function(t,e){var n=t&&(typeof t=="string"?t:t.name);t=this.commands[n],e||delete this.commands[n];var c=this.commandKeyBinding;for(var d in c){var g=c[d];if(g==t)delete c[d];else if(Array.isArray(g)){var G=g.indexOf(t);G!=-1&&(g.splice(G,1),g.length==1&&(c[d]=g[0]))}}},o.prototype.bindKey=function(t,e,n){if(typeof t=="object"&&t&&(n==null&&(n=t.position),t=t[this.platform]),!!t){if(typeof e=="function")return this.addCommand({exec:e,bindKey:t,name:e.name||t});t.split("|").forEach(function(c){var d="";if(c.indexOf(" ")!=-1){var g=c.split(/\s+/);c=g.pop(),g.forEach(function(_){var S=this.parseKeys(_),Me=l[S.hashId]+S.key;d+=(d?" ":"")+Me,this._addCommandToBinding(d,"chainKeys")},this),d+=" "}var G=this.parseKeys(c),R=l[G.hashId]+G.key;this._addCommandToBinding(d+R,e,n)},this)}},o.prototype._addCommandToBinding=function(t,e,n){var c=this.commandKeyBinding,d;if(!e)delete c[t];else if(!c[t]||this.$singleCommand)c[t]=e;else{Array.isArray(c[t])?(d=c[t].indexOf(e))!=-1&&c[t].splice(d,1):c[t]=[c[t]],typeof n!="number"&&(n=i(e));var g=c[t];for(d=0;d<g.length;d++){var G=g[d],R=i(G);if(R>n)break}g.splice(d,0,e)}},o.prototype.addCommands=function(t){t&&Object.keys(t).forEach(function(e){var n=t[e];if(n){if(typeof n=="string")return this.bindKey(n,e);typeof n=="function"&&(n={exec:n}),typeof n=="object"&&(n.name||(n.name=e),this.addCommand(n))}},this)},o.prototype.removeCommands=function(t){Object.keys(t).forEach(function(e){this.removeCommand(t[e])},this)},o.prototype.bindKeys=function(t){Object.keys(t).forEach(function(e){this.bindKey(e,t[e])},this)},o.prototype._buildKeyHash=function(t){this.bindKey(t.bindKey,t)},o.prototype.parseKeys=function(t){var e=t.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(R){return R}),n=e.pop(),c=T[n];if(T.FUNCTION_KEYS[c])n=T.FUNCTION_KEYS[c].toLowerCase();else if(e.length){if(e.length==1&&e[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}else return{key:n,hashId:-1};for(var d=0,g=e.length;g--;){var G=T.KEY_MODS[e[g]];if(G==null)return typeof console<"u"&&console.error("invalid modifier "+e[g]+" in "+t),!1;d|=G}return{key:n,hashId:d}},o.prototype.findKeyCommand=function(t,e){var n=l[t]+e;return this.commandKeyBinding[n]},o.prototype.handleKeyboard=function(t,e,n,c){if(!(c<0)){var d=l[e]+n,g=this.commandKeyBinding[d];return t.$keyChain&&(t.$keyChain+=" "+d,g=this.commandKeyBinding[t.$keyChain]||g),g&&(g=="chainKeys"||g[g.length-1]=="chainKeys")?(t.$keyChain=t.$keyChain||d,{command:"null"}):(t.$keyChain&&((!e||e==4)&&n.length==1?t.$keyChain=t.$keyChain.slice(0,-d.length-1):(e==-1||c>0)&&(t.$keyChain="")),{command:g})}},o.prototype.getStatusText=function(t,e){return e.$keyChain||""},o}();function i(o){return typeof o=="object"&&o.bindKey&&o.bindKey.position||(o.isDefault?-100:0)}var r=function(o){B(t,o);function t(e,n){var c=o.call(this,e,n)||this;return c.$singleCommand=!0,c}return t}(u);r.call=function(o,t,e){u.prototype.$init.call(o,t,e,!0)},u.call=function(o,t,e){u.prototype.$init.call(o,t,e,!1)},p.HashHandler=r,p.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(f,p,ze){var B=this&&this.__extends||function(){var i=function(r,o){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},i(r,o)};return function(r,o){if(typeof o!="function"&&o!==null)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");i(r,o);function t(){this.constructor=r}r.prototype=o===null?Object.create(o):(t.prototype=o.prototype,new t)}}(),T=f("../lib/oop"),L=f("../keyboard/hash_handler").MultiHashHandler,l=f("../lib/event_emitter").EventEmitter,u=function(i){B(r,i);function r(o,t){var e=i.call(this,t,o)||this;return e.byName=e.commands,e.setDefaultHandler("exec",function(n){return n.args?n.command.exec(n.editor,n.args,n.event,!1):n.command.exec(n.editor,{},n.event,!0)}),e}return r.prototype.exec=function(o,t,e){if(Array.isArray(o)){for(var n=o.length;n--;)if(this.exec(o[n],t,e))return!0;return!1}if(typeof o=="string"&&(o=this.commands[o]),!this.canExecute(o,t))return!1;var c={editor:t,command:o,args:e};return c.returnValue=this._emit("exec",c),this._signal("afterExec",c),c.returnValue!==!1},r.prototype.canExecute=function(o,t){return typeof o=="string"&&(o=this.commands[o]),!(!o||t&&t.$readOnly&&!o.readOnly||this.$checkCommandState!=!1&&o.isAvailable&&!o.isAvailable(t))},r.prototype.toggleRecording=function(o){if(!this.$inReplay)return o&&o._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=(function(t){this.macro.push([t.command,t.args])}).bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},r.prototype.replay=function(o){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(o);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,o):this.exec(t[0],o,t[1])},this)}finally{this.$inReplay=!1}}},r.prototype.trimMacro=function(o){return o.map(function(t){return typeof t[0]!="string"&&(t[0]=t[0].name),t[1]||(t=t[0]),t})},r}(L);T.implement(u.prototype,l),p.CommandManager=u}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(f,p,ze){var B=f("../lib/lang"),T=f("../config"),L=f("../range").Range;function l(i,r){return{win:i,mac:r}}p.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:l("Ctrl-,","Command-,"),exec:function(i){T.loadModule("ace/ext/settings_menu",function(r){r.init(i),i.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:l("Alt-E","F4"),exec:function(i){T.loadModule("ace/ext/error_marker",function(r){r.showErrorMarker(i,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:l("Alt-Shift-E","Shift-F4"),exec:function(i){T.loadModule("ace/ext/error_marker",function(r){r.showErrorMarker(i,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:l("Ctrl-A","Command-A"),exec:function(i){i.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:l(null,"Ctrl-L"),exec:function(i){i.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:l("Ctrl-L","Command-L"),exec:function(i,r){typeof r=="number"&&!isNaN(r)&&i.gotoLine(r),i.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:l("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(i){i.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:l("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(i){i.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:l("F2","F2"),exec:function(i){i.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:l("Alt-F2","Alt-F2"),exec:function(i){i.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:l(null,"Ctrl-Command-Option-0"),exec:function(i){i.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:l(null,"Ctrl-Command-Option-0"),exec:function(i){i.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:l("Alt-0","Command-Option-0"),exec:function(i){i.session.foldAll(),i.session.unfold(i.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:l("Alt-Shift-0","Command-Option-Shift-0"),exec:function(i){i.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:l("Ctrl-K","Command-G"),exec:function(i){i.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:l("Ctrl-Shift-K","Command-Shift-G"),exec:function(i){i.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:l("Alt-K","Ctrl-G"),exec:function(i){i.selection.isEmpty()?i.selection.selectWord():i.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:l("Alt-Shift-K","Ctrl-Shift-G"),exec:function(i){i.selection.isEmpty()?i.selection.selectWord():i.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:l("Ctrl-F","Command-F"),exec:function(i){T.loadModule("ace/ext/searchbox",function(r){r.Search(i)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(i){i.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:l("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(i){i.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:l("Ctrl-Home","Command-Home|Command-Up"),exec:function(i){i.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:l("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(i){i.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:l("Up","Up|Ctrl-P"),exec:function(i,r){i.navigateUp(r.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:l("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(i){i.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:l("Ctrl-End","Command-End|Command-Down"),exec:function(i){i.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:l("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(i){i.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:l("Down","Down|Ctrl-N"),exec:function(i,r){i.navigateDown(r.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:l("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(i){i.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:l("Ctrl-Left","Option-Left"),exec:function(i){i.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:l("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(i){i.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:l("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(i){i.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:l("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(i){i.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:l("Left","Left|Ctrl-B"),exec:function(i,r){i.navigateLeft(r.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:l("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(i){i.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:l("Ctrl-Right","Option-Right"),exec:function(i){i.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:l("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(i){i.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:l("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(i){i.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:l("Shift-Right","Shift-Right"),exec:function(i){i.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:l("Right","Right|Ctrl-F"),exec:function(i,r){i.navigateRight(r.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(i){i.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:l(null,"Option-PageDown"),exec:function(i){i.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:l("PageDown","PageDown|Ctrl-V"),exec:function(i){i.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(i){i.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:l(null,"Option-PageUp"),exec:function(i){i.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(i){i.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:l("Ctrl-Up",null),exec:function(i){i.renderer.scrollBy(0,-2*i.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:l("Ctrl-Down",null),exec:function(i){i.renderer.scrollBy(0,2*i.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(i){i.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(i){i.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:l("Ctrl-Alt-E","Command-Option-E"),exec:function(i){i.commands.toggleRecording(i)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:l("Ctrl-Shift-E","Command-Shift-E"),exec:function(i){i.commands.replay(i)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:l("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(i){i.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:l("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(i){i.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:l("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(i){i.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:l(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(i){},readOnly:!0},{name:"cut",description:"Cut",exec:function(i){var r=i.$copyWithEmptySelection&&i.selection.isEmpty(),o=r?i.selection.getLineRange():i.selection.getRange();i._emit("cut",o),o.isEmpty()||i.session.remove(o),i.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(i,r){i.$handlePaste(r)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:l("Ctrl-D","Command-D"),exec:function(i){i.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:l("Ctrl-Shift-D","Command-Shift-D"),exec:function(i){i.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:l("Ctrl-Alt-S","Command-Alt-S"),exec:function(i){i.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:l("Ctrl-/","Command-/"),exec:function(i){i.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:l("Ctrl-Shift-/","Command-Shift-/"),exec:function(i){i.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:l("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(i){i.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:l("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(i){i.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:l("Ctrl-H","Command-Option-F"),exec:function(i){T.loadModule("ace/ext/searchbox",function(r){r.Search(i,!0)})}},{name:"undo",description:"Undo",bindKey:l("Ctrl-Z","Command-Z"),exec:function(i){i.undo()}},{name:"redo",description:"Redo",bindKey:l("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(i){i.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:l("Alt-Shift-Up","Command-Option-Up"),exec:function(i){i.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:l("Alt-Up","Option-Up"),exec:function(i){i.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:l("Alt-Shift-Down","Command-Option-Down"),exec:function(i){i.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:l("Alt-Down","Option-Down"),exec:function(i){i.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:l("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(i){i.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:l("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(i){i.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:l("Shift-Delete",null),exec:function(i){if(i.selection.isEmpty())i.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:l("Alt-Backspace","Command-Backspace"),exec:function(i){i.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:l("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(i){i.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:l("Ctrl-Shift-Backspace",null),exec:function(i){var r=i.selection.getRange();r.start.column=0,i.session.remove(r)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:l("Ctrl-Shift-Delete",null),exec:function(i){var r=i.selection.getRange();r.end.column=Number.MAX_VALUE,i.session.remove(r)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:l("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(i){i.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:l("Ctrl-Delete","Alt-Delete"),exec:function(i){i.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:l("Shift-Tab","Shift-Tab"),exec:function(i){i.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:l("Tab","Tab"),exec:function(i){i.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:l("Ctrl-[","Ctrl-["),exec:function(i){i.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:l("Ctrl-]","Ctrl-]"),exec:function(i){i.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(i,r){i.insert(r)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(i,r){i.insert(B.stringRepeat(r.text||"",r.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:l(null,"Ctrl-O"),exec:function(i){i.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:l("Alt-Shift-X","Ctrl-T"),exec:function(i){i.transposeLetters()},multiSelectAction:function(i){i.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:l("Ctrl-U","Ctrl-U"),exec:function(i){i.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:l("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(i){i.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:l(null,null),exec:function(i){i.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:l("Ctrl-Shift-L","Command-Shift-L"),exec:function(i){var r=i.selection.getRange();r.start.column=r.end.column=0,r.end.row++,i.selection.setRange(r,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:l("Ctrl+F3","F3"),exec:function(i){i.openLink()}},{name:"joinlines",description:"Join lines",bindKey:l(null,null),exec:function(i){for(var r=i.selection.isBackwards(),o=r?i.selection.getSelectionLead():i.selection.getSelectionAnchor(),t=r?i.selection.getSelectionAnchor():i.selection.getSelectionLead(),e=i.session.doc.getLine(o.row).length,n=i.session.doc.getTextRange(i.selection.getRange()),c=n.replace(/\n\s*/," ").length,d=i.session.doc.getLine(o.row),g=o.row+1;g<=t.row+1;g++){var G=B.stringTrimLeft(B.stringTrimRight(i.session.doc.getLine(g)));G.length!==0&&(G=" "+G),d+=G}t.row+1<i.session.doc.getLength()-1&&(d+=i.session.doc.getNewLineCharacter()),i.clearSelection(),i.session.doc.replace(new L(o.row,0,t.row+2,0),d),c>0?(i.selection.moveCursorTo(o.row,o.column),i.selection.selectTo(o.row,o.column+c)):(e=i.session.doc.getLine(o.row).length>e?e+1:e,i.selection.moveCursorTo(o.row,e))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:l(null,null),exec:function(i){var r=i.session.doc.getLength()-1,o=i.session.doc.getLine(r).length,t=i.selection.rangeList.ranges,e=[];t.length<1&&(t=[i.selection.getRange()]);for(var n=0;n<t.length;n++)n==t.length-1&&(t[n].end.row===r&&t[n].end.column===o||e.push(new L(t[n].end.row,t[n].end.column,r,o))),n===0?t[n].start.row===0&&t[n].start.column===0||e.push(new L(0,0,t[n].start.row,t[n].start.column)):e.push(new L(t[n-1].end.row,t[n-1].end.column,t[n].start.row,t[n].start.column));i.exitMultiSelectMode(),i.clearSelection();for(var n=0;n<e.length;n++)i.selection.addRange(e[n],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(i){i.selection.clearSelection(),i.navigateLineEnd(),i.insert(`
|
202
|
+
`)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(i){i.selection.clearSelection();var r=i.getCursorPosition();i.selection.moveTo(r.row-1,Number.MAX_VALUE),i.insert(`
|
203
|
+
`),r.row===0&&i.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(i){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),i.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:l("F1","F1"),exec:function(i){i.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:l(null,null),exec:function(i){i.prompt({$type:"modes"})},readOnly:!0}];for(var u=1;u<9;u++)p.commands.push({name:"foldToLevel"+u,description:"Fold To Level "+u,level:u,exec:function(i){i.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(f,p,ze){var B=f("../lib/keys"),T=f("../mouse/default_gutter_handler").GutterTooltip,L=function(){function u(i){this.editor=i,this.gutterLayer=i.renderer.$gutterLayer,this.element=i.renderer.$gutter,this.lines=i.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new T(this.editor)}return u.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},u.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},u.prototype.$onGutterKeyDown=function(i){if(this.annotationTooltip.isOpen){i.preventDefault(),i.keyCode===B.escape&&this.annotationTooltip.hideTooltip();return}if(i.target===this.element){if(i.keyCode!=B.enter)return;i.preventDefault();var r=this.editor.getCursorPosition().row;this.editor.isRowVisible(r)||this.editor.scrollToLine(r,!0,!0),setTimeout((function(){var o=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),t=this.$findNearestFoldWidget(o),e=this.$findNearestAnnotation(o);if(!(t===null&&e===null)){if(t===null&&e!==null){this.activeRowIndex=e,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}if(t!==null&&e===null){this.activeRowIndex=t,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}if(Math.abs(e-o)<Math.abs(t-o)){this.activeRowIndex=e,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}else{this.activeRowIndex=t,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}}}).bind(this),10);return}this.$handleGutterKeyboardInteraction(i),setTimeout((function(){this.editor._signal("gutterkeydown",new l(i,this))}).bind(this),10)},u.prototype.$handleGutterKeyboardInteraction=function(i){if(i.keyCode===B.tab){i.preventDefault();return}if(i.keyCode===B.escape){i.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(i.keyCode===B.up){switch(i.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(i.keyCode===B.down){switch(i.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(i.keyCode===B.left){i.preventDefault(),this.$switchLane("annotation");return}if(i.keyCode===B.right){i.preventDefault(),this.$switchLane("fold");return}if(i.keyCode===B.enter||i.keyCode===B.space){switch(i.preventDefault(),this.activeLane){case"fold":if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="start"){var r=this.$rowIndexToRow(this.activeRowIndex);this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),i),setTimeout((function(){this.$rowIndexToRow(this.activeRowIndex)!==r&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(r),this.$focusFoldWidget(this.activeRowIndex))}).bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":var o=this.lines.cells[this.activeRowIndex].element.childNodes[2],t=o.getBoundingClientRect(),e=this.annotationTooltip.getElement().style;e.left=t.right+"px",e.top=t.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex));break}return}},u.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex);break}this.annotationTooltip.isOpen&&this.annotationTooltip.hideTooltip()},u.prototype.$isFoldWidgetVisible=function(i){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(i)),o=this.$getFoldWidget(i).style.display!=="none";return r&&o},u.prototype.$isAnnotationVisible=function(i){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(i)),o=this.$getAnnotation(i).style.display!=="none";return r&&o},u.prototype.$getFoldWidget=function(i){var r=this.lines.get(i),o=r.element;return o.childNodes[1]},u.prototype.$getAnnotation=function(i){var r=this.lines.get(i),o=r.element;return o.childNodes[2]},u.prototype.$findNearestFoldWidget=function(i){if(this.$isFoldWidgetVisible(i))return i;for(var r=0;i-r>0||i+r<this.lines.getLength()-1;){if(r++,i-r>=0&&this.$isFoldWidgetVisible(i-r))return i-r;if(i+r<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(i+r))return i+r}return null},u.prototype.$findNearestAnnotation=function(i){if(this.$isAnnotationVisible(i))return i;for(var r=0;i-r>0||i+r<this.lines.getLength()-1;){if(r++,i-r>=0&&this.$isAnnotationVisible(i-r))return i-r;if(i+r<=this.lines.getLength()-1&&this.$isAnnotationVisible(i+r))return i+r}return null},u.prototype.$focusFoldWidget=function(i){if(i!=null){var r=this.$getFoldWidget(i);r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus()}},u.prototype.$focusAnnotation=function(i){if(i!=null){var r=this.$getAnnotation(i);r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus()}},u.prototype.$blurFoldWidget=function(i){var r=this.$getFoldWidget(i);r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur()},u.prototype.$blurAnnotation=function(i){var r=this.$getAnnotation(i);r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur()},u.prototype.$moveFoldWidgetUp=function(){for(var i=this.activeRowIndex;i>0;)if(i--,this.$isFoldWidgetVisible(i)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=i,this.$focusFoldWidget(this.activeRowIndex);return}},u.prototype.$moveFoldWidgetDown=function(){for(var i=this.activeRowIndex;i<this.lines.getLength()-1;)if(i++,this.$isFoldWidgetVisible(i)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=i,this.$focusFoldWidget(this.activeRowIndex);return}},u.prototype.$moveAnnotationUp=function(){for(var i=this.activeRowIndex;i>0;)if(i--,this.$isAnnotationVisible(i)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=i,this.$focusAnnotation(this.activeRowIndex);return}},u.prototype.$moveAnnotationDown=function(){for(var i=this.activeRowIndex;i<this.lines.getLength()-1;)if(i++,this.$isAnnotationVisible(i)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=i,this.$focusAnnotation(this.activeRowIndex);return}},u.prototype.$switchLane=function(i){switch(i){case"annotation":if(this.activeLane==="annotation")break;var r=this.$findNearestAnnotation(this.activeRowIndex);if(r==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=r,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var o=this.$findNearestFoldWidget(this.activeRowIndex);if(o==null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=o,this.$focusFoldWidget(this.activeRowIndex);break}},u.prototype.$rowIndexToRow=function(i){var r=this.lines.get(i);return r?r.row:null},u.prototype.$rowToRowIndex=function(i){for(var r=0;r<this.lines.getLength();r++){var o=this.lines.get(r);if(o.row==i)return r}return null},u}();p.GutterKeyboardHandler=L;var l=function(){function u(i,r){this.gutterKeyboardHandler=r,this.domEvent=i}return u.prototype.getKey=function(){return B.keyCodeToString(this.domEvent.keyCode)},u.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},u.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},u.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},u}();p.GutterKeyboardEvent=l}),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys"],function(f,p,ze){var B=this&&this.__values||function(y){var h=typeof Symbol=="function"&&Symbol.iterator,w=h&&y[h],O=0;if(w)return w.call(y);if(y&&typeof y.length=="number")return{next:function(){return y&&O>=y.length&&(y=void 0),{value:y&&y[O++],done:!y}}};throw new TypeError(h?"Object is not iterable.":"Symbol.iterator is not defined.")},T=f("./lib/oop"),L=f("./lib/dom"),l=f("./lib/lang"),u=f("./lib/useragent"),i=f("./keyboard/textinput").TextInput,r=f("./mouse/mouse_handler").MouseHandler,o=f("./mouse/fold_handler").FoldHandler,t=f("./keyboard/keybinding").KeyBinding,e=f("./edit_session").EditSession,n=f("./search").Search,c=f("./range").Range,d=f("./lib/event_emitter").EventEmitter,g=f("./commands/command_manager").CommandManager,G=f("./commands/default_commands").commands,R=f("./config"),_=f("./token_iterator").TokenIterator,S=f("./keyboard/gutter_handler").GutterKeyboardHandler,Me=f("./config").nls,He=f("./clipboard"),Te=f("./lib/keys"),j=function(){function y(h,w,O){this.session,this.$toDestroy=[];var We=h.getContainerElement();this.container=We,this.renderer=h,this.id="editor"+ ++y.$uid,this.commands=new g(u.isMac?"mac":"win",G),typeof document=="object"&&(this.textInput=new i(h.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new r(this),new o(this)),this.keyBinding=new t(this),this.$search=new n().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=l.delayedCall((function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}).bind(this)),this.on("change",function(mt,wt){wt._$emitInputEvent.schedule(31)}),this.setSession(w||O&&O.session||new e("")),R.resetOptions(this),O&&this.setOptions(O),R._signal("editor",this)}return y.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},y.prototype.startOperation=function(h){this.session.startOperation(h)},y.prototype.endOperation=function(h){this.session.endOperation(h)},y.prototype.onStartOperation=function(h){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,h||(this.previousCommand=null)},y.prototype.onEndOperation=function(h){if(this.curOp&&this.session){if(h&&h.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var w=this.curOp.command,O=w&&w.scrollIntoView;if(O){switch(O){case"center-animate":O="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var We=this.selection.getRange(),mt=this.renderer.layerConfig;(We.start.row>=mt.lastRow||We.end.row<=mt.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}O=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},y.prototype.$historyTracker=function(h){if(this.$mergeUndoDeltas){var w=this.prevOp,O=this.$mergeableCommands,We=w.command&&h.command.name==w.command.name;if(h.command.name=="insertstring"){var mt=h.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),We=We&&this.mergeNextCommand&&(!/\s/.test(mt)||/\s/.test(w.args)),this.mergeNextCommand=!0}else We=We&&O.indexOf(h.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(We=!1),We?this.session.mergeUndoDeltas=!0:O.indexOf(h.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},y.prototype.setKeyboardHandler=function(h,w){if(h&&typeof h=="string"&&h!="ace"){this.$keybindingId=h;var O=this;R.loadModule(["keybinding",h],function(We){O.$keybindingId==h&&O.keyBinding.setKeyboardHandler(We&&We.handler),w&&w()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(h),w&&w()},y.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},y.prototype.setSession=function(h){if(this.session!=h){this.curOp&&this.endOperation(),this.curOp={};var w=this.session;if(w){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var O=this.session.getSelection();O.off("changeCursor",this.$onCursorChange),O.off("changeSelection",this.$onSelectionChange)}this.session=h,h?(this.$onDocumentChange=this.onDocumentChange.bind(this),h.on("change",this.$onDocumentChange),this.renderer.setSession(h),this.$onChangeMode=this.onChangeMode.bind(this),h.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),h.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),h.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),h.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),h.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),h.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=h.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(h)),this._signal("changeSession",{session:h,oldSession:w}),this.curOp=null,w&&w._signal("changeEditor",{oldEditor:this}),w&&(w.$editor=null),h&&h._signal("changeEditor",{editor:this}),h&&(h.$editor=this),h&&!h.destroyed&&h.bgTokenizer.scheduleStart()}},y.prototype.getSession=function(){return this.session},y.prototype.setValue=function(h,w){return this.session.doc.setValue(h),w?w==1?this.navigateFileEnd():w==-1&&this.navigateFileStart():this.selectAll(),h},y.prototype.getValue=function(){return this.session.getValue()},y.prototype.getSelection=function(){return this.selection},y.prototype.resize=function(h){this.renderer.onResize(h)},y.prototype.setTheme=function(h,w){this.renderer.setTheme(h,w)},y.prototype.getTheme=function(){return this.renderer.getTheme()},y.prototype.setStyle=function(h){this.renderer.setStyle(h)},y.prototype.unsetStyle=function(h){this.renderer.unsetStyle(h)},y.prototype.getFontSize=function(){return this.getOption("fontSize")||L.computedStyle(this.container).fontSize},y.prototype.setFontSize=function(h){this.setOption("fontSize",h)},y.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var h=this;this.$highlightPending=!0,setTimeout(function(){h.$highlightPending=!1;var w=h.session;if(!(!w||w.destroyed)){w.$bracketHighlight&&(w.$bracketHighlight.markerIds.forEach(function(Et){w.removeMarker(Et)}),w.$bracketHighlight=null);var O=h.getCursorPosition(),We=h.getKeyboardHandler(),mt=We&&We.$getDirectionForHighlight&&We.$getDirectionForHighlight(h),wt=w.getMatchingBracketRanges(O,mt);if(!wt){var St=new _(w,O.row,O.column),xt=St.getCurrentToken();if(xt&&/\b(?:tag-open|tag-name)/.test(xt.type)){var Rt=w.getMatchingTags(O);Rt&&(wt=[Rt.openTagName.isEmpty()?Rt.openTag:Rt.openTagName,Rt.closeTagName.isEmpty()?Rt.closeTag:Rt.closeTagName])}}if(!wt&&w.$mode.getMatching&&(wt=w.$mode.getMatching(h.session)),!wt){h.getHighlightIndentGuides()&&h.renderer.$textLayer.$highlightIndentGuide();return}var ii="ace_bracket";Array.isArray(wt)?wt.length==1&&(ii="ace_error_bracket"):wt=[wt],wt.length==2&&(c.comparePoints(wt[0].end,wt[1].start)==0?wt=[c.fromPoints(wt[0].start,wt[1].end)]:c.comparePoints(wt[0].start,wt[1].end)==0&&(wt=[c.fromPoints(wt[1].start,wt[0].end)])),w.$bracketHighlight={ranges:wt,markerIds:wt.map(function(Et){return w.addMarker(Et,ii,"text")})},h.getHighlightIndentGuides()&&h.renderer.$textLayer.$highlightIndentGuide()}},50)}},y.prototype.focus=function(){this.textInput.focus()},y.prototype.isFocused=function(){return this.textInput.isFocused()},y.prototype.blur=function(){this.textInput.blur()},y.prototype.onFocus=function(h){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",h))},y.prototype.onBlur=function(h){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",h))},y.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},y.prototype.onDocumentChange=function(h){var w=this.session.$useWrapMode,O=h.start.row==h.end.row?h.end.row:1/0;this.renderer.updateLines(h.start.row,O,w),this._signal("change",h),this.$cursorChange()},y.prototype.onTokenizerUpdate=function(h){var w=h.data;this.renderer.updateLines(w.first,w.last)},y.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},y.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},y.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},y.prototype.$updateHighlightActiveLine=function(){var h=this.getSession(),w;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(w=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(w=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(w=!1)),h.$highlightLineMarker&&!w)h.removeMarker(h.$highlightLineMarker.id),h.$highlightLineMarker=null;else if(!h.$highlightLineMarker&&w){var O=new c(w.row,w.column,w.row,1/0);O.id=h.addMarker(O,"ace_active-line","screenLine"),h.$highlightLineMarker=O}else w&&(h.$highlightLineMarker.start.row=w.row,h.$highlightLineMarker.end.row=w.row,h.$highlightLineMarker.start.column=w.column,h._signal("changeBackMarker"))},y.prototype.onSelectionChange=function(h){var w=this.session;if(w.$selectionMarker&&w.removeMarker(w.$selectionMarker),w.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var O=this.selection.getRange(),We=this.getSelectionStyle();w.$selectionMarker=w.addMarker(O,"ace_selection",We)}var mt=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(mt),this._signal("changeSelection")},y.prototype.$getSelectionHighLightRegexp=function(){var h=this.session,w=this.getSelectionRange();if(!(w.isEmpty()||w.isMultiLine())){var O=w.start.column,We=w.end.column,mt=h.getLine(w.start.row),wt=mt.substring(O,We);if(!(wt.length>5e3||!/[\w\d]/.test(wt))){var St=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:wt}),xt=mt.substring(O-1,We+1);if(St.test(xt))return St}}},y.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},y.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},y.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},y.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},y.prototype.onChangeMode=function(h){this.renderer.updateText(),this._emit("changeMode",h)},y.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},y.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},y.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},y.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},y.prototype.getCopyText=function(){var h=this.getSelectedText(),w=this.session.doc.getNewLineCharacter(),O=!1;if(!h&&this.$copyWithEmptySelection){O=!0;for(var We=this.selection.getAllRanges(),mt=0;mt<We.length;mt++){var wt=We[mt];mt&&We[mt-1].start.row==wt.start.row||(h+=this.session.getLine(wt.start.row)+w)}}var St={text:h};return this._signal("copy",St),He.lineMode=O?St.text:!1,St.text},y.prototype.onCopy=function(){this.commands.exec("copy",this)},y.prototype.onCut=function(){this.commands.exec("cut",this)},y.prototype.onPaste=function(h,w){var O={text:h,event:w};this.commands.exec("paste",this,O)},y.prototype.$handlePaste=function(h){typeof h=="string"&&(h={text:h}),this._signal("paste",h);var w=h.text,O=w===He.lineMode,We=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)O?We.insert({row:this.selection.lead.row,column:0},w):this.insert(w);else if(O)this.selection.rangeList.ranges.forEach(function(ii){We.insert({row:ii.start.row,column:0},w)});else{var mt=w.split(/\r\n|\r|\n/),wt=this.selection.rangeList.ranges,St=mt.length==2&&(!mt[0]||!mt[1]);if(mt.length!=wt.length||St)return this.commands.exec("insertstring",this,w);for(var xt=wt.length;xt--;){var Rt=wt[xt];Rt.isEmpty()||We.remove(Rt),We.insert(Rt.start,mt[xt])}}},y.prototype.execCommand=function(h,w){return this.commands.exec(h,this,w)},y.prototype.insert=function(h,w){var O=this.session,We=O.getMode(),mt=this.getCursorPosition();if(this.getBehavioursEnabled()&&!w){var wt=We.transformAction(O.getState(mt.row),"insertion",this,O,h);wt&&(h!==wt.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),h=wt.text)}if(h==" "&&(h=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&h.indexOf(`
|
204
|
+
`)==-1){var St=c.fromPoints(mt,mt);St.end.column+=h.length,this.session.remove(St)}}else{var St=this.getSelectionRange();mt=this.session.remove(St),this.clearSelection()}if(h==`
|
205
|
+
`||h==`\r
|
206
|
+
`){var Et=O.getLine(mt.row);if(mt.column>Et.search(/\S|$/)){var xt=Et.substr(mt.column).search(/\S|$/);O.doc.removeInLine(mt.row,mt.column,mt.column+xt)}}this.clearSelection();var Rt=mt.column,ii=O.getState(mt.row),Et=O.getLine(mt.row),ei=We.checkOutdent(ii,Et,h);if(O.insert(mt,h),wt&&wt.selection&&(wt.selection.length==2?this.selection.setSelectionRange(new c(mt.row,Rt+wt.selection[0],mt.row,Rt+wt.selection[1])):this.selection.setSelectionRange(new c(mt.row+wt.selection[0],wt.selection[1],mt.row+wt.selection[2],wt.selection[3]))),this.$enableAutoIndent){if(O.getDocument().isNewLine(h)){var ni=We.getNextLineIndent(ii,Et.slice(0,mt.column),O.getTabString());O.insert({row:mt.row+1,column:0},ni)}ei&&We.autoOutdent(ii,O,mt.row)}},y.prototype.autoIndent=function(){for(var h=this.session,w=h.getMode(),O=this.selection.isEmpty()?[new c(0,0,h.doc.getLength()-1,0)]:this.selection.getAllRanges(),We="",mt="",wt="",St=h.getTabString(),xt=0;xt<O.length;xt++)for(var Rt=O[xt].start.row,ii=O[xt].end.row,Et=Rt;Et<=ii;Et++){Et>0&&(We=h.getState(Et-1),mt=h.getLine(Et-1),wt=w.getNextLineIndent(We,mt,St));var ei=h.getLine(Et),ni=w.$getIndent(ei);if(wt!==ni){if(ni.length>0){var ti=new c(Et,0,Et,ni.length);h.remove(ti)}wt.length>0&&h.insert({row:Et,column:0},wt)}w.autoOutdent(We,h,Et)}},y.prototype.onTextInput=function(h,w){if(!w)return this.keyBinding.onTextInput(h);this.startOperation({command:{name:"insertstring"}});var O=this.applyComposition.bind(this,h,w);this.selection.rangeCount?this.forEachSelection(O):O(),this.endOperation()},y.prototype.applyComposition=function(h,w){if(w.extendLeft||w.extendRight){var O=this.selection.getRange();O.start.column-=w.extendLeft,O.end.column+=w.extendRight,O.start.column<0&&(O.start.row--,O.start.column+=this.session.getLine(O.start.row).length+1),this.selection.setRange(O),!h&&!O.isEmpty()&&this.remove()}if((h||!this.selection.isEmpty())&&this.insert(h,!0),w.restoreStart||w.restoreEnd){var O=this.selection.getRange();O.start.column-=w.restoreStart,O.end.column-=w.restoreEnd,this.selection.setRange(O)}},y.prototype.onCommandKey=function(h,w,O){return this.keyBinding.onCommandKey(h,w,O)},y.prototype.setOverwrite=function(h){this.session.setOverwrite(h)},y.prototype.getOverwrite=function(){return this.session.getOverwrite()},y.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},y.prototype.setScrollSpeed=function(h){this.setOption("scrollSpeed",h)},y.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},y.prototype.setDragDelay=function(h){this.setOption("dragDelay",h)},y.prototype.getDragDelay=function(){return this.getOption("dragDelay")},y.prototype.setSelectionStyle=function(h){this.setOption("selectionStyle",h)},y.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},y.prototype.setHighlightActiveLine=function(h){this.setOption("highlightActiveLine",h)},y.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},y.prototype.setHighlightGutterLine=function(h){this.setOption("highlightGutterLine",h)},y.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},y.prototype.setHighlightSelectedWord=function(h){this.setOption("highlightSelectedWord",h)},y.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},y.prototype.setAnimatedScroll=function(h){this.renderer.setAnimatedScroll(h)},y.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},y.prototype.setShowInvisibles=function(h){this.renderer.setShowInvisibles(h)},y.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},y.prototype.setDisplayIndentGuides=function(h){this.renderer.setDisplayIndentGuides(h)},y.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},y.prototype.setHighlightIndentGuides=function(h){this.renderer.setHighlightIndentGuides(h)},y.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},y.prototype.setShowPrintMargin=function(h){this.renderer.setShowPrintMargin(h)},y.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},y.prototype.setPrintMarginColumn=function(h){this.renderer.setPrintMarginColumn(h)},y.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},y.prototype.setReadOnly=function(h){this.setOption("readOnly",h)},y.prototype.getReadOnly=function(){return this.getOption("readOnly")},y.prototype.setBehavioursEnabled=function(h){this.setOption("behavioursEnabled",h)},y.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},y.prototype.setWrapBehavioursEnabled=function(h){this.setOption("wrapBehavioursEnabled",h)},y.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},y.prototype.setShowFoldWidgets=function(h){this.setOption("showFoldWidgets",h)},y.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},y.prototype.setFadeFoldWidgets=function(h){this.setOption("fadeFoldWidgets",h)},y.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},y.prototype.remove=function(h){this.selection.isEmpty()&&(h=="left"?this.selection.selectLeft():this.selection.selectRight());var w=this.getSelectionRange();if(this.getBehavioursEnabled()){var O=this.session,We=O.getState(w.start.row),mt=O.getMode().transformAction(We,"deletion",this,O,w);if(w.end.column===0){var wt=O.getTextRange(w);if(wt[wt.length-1]==`
|
207
|
+
`){var St=O.getLine(w.end.row);/^\s+$/.test(St)&&(w.end.column=St.length)}}mt&&(w=mt)}this.session.remove(w),this.clearSelection()},y.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},y.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},y.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},y.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var h=this.getSelectionRange();h.start.column==h.end.column&&h.start.row==h.end.row&&(h.end.column=0,h.end.row++),this.session.remove(h),this.clearSelection()},y.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var h=this.getCursorPosition();this.insert(`
|
208
|
+
`),this.moveCursorToPosition(h)},y.prototype.setGhostText=function(h,w){this.renderer.setGhostText(h,w)},y.prototype.removeGhostText=function(){this.renderer.removeGhostText()},y.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var h=this.getCursorPosition(),w=h.column;if(w!==0){var O=this.session.getLine(h.row),We,mt;w<O.length?(We=O.charAt(w)+O.charAt(w-1),mt=new c(h.row,w-1,h.row,w+1)):(We=O.charAt(w-1)+O.charAt(w-2),mt=new c(h.row,w-2,h.row,w)),this.session.replace(mt,We),this.session.selection.moveToPosition(mt.end)}}},y.prototype.toLowerCase=function(){var h=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var w=this.getSelectionRange(),O=this.session.getTextRange(w);this.session.replace(w,O.toLowerCase()),this.selection.setSelectionRange(h)},y.prototype.toUpperCase=function(){var h=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var w=this.getSelectionRange(),O=this.session.getTextRange(w);this.session.replace(w,O.toUpperCase()),this.selection.setSelectionRange(h)},y.prototype.indent=function(){var h=this.session,w=this.getSelectionRange();if(w.start.row<w.end.row){var O=this.$getSelectedRows();h.indentRows(O.first,O.last," ");return}else if(w.start.column<w.end.column){var We=h.getTextRange(w);if(!/^\s+$/.test(We)){var O=this.$getSelectedRows();h.indentRows(O.first,O.last," ");return}}var mt=h.getLine(w.start.row),wt=w.start,St=h.getTabSize(),xt=h.documentToScreenColumn(wt.row,wt.column);if(this.session.getUseSoftTabs())var Rt=St-xt%St,ii=l.stringRepeat(" ",Rt);else{for(var Rt=xt%St;mt[w.start.column-1]==" "&&Rt;)w.start.column--,Rt--;this.selection.setSelectionRange(w),ii=" "}return this.insert(ii)},y.prototype.blockIndent=function(){var h=this.$getSelectedRows();this.session.indentRows(h.first,h.last," ")},y.prototype.blockOutdent=function(){var h=this.session.getSelection();this.session.outdentRows(h.getRange())},y.prototype.sortLines=function(){for(var h=this.$getSelectedRows(),w=this.session,O=[],We=h.first;We<=h.last;We++)O.push(w.getLine(We));O.sort(function(St,xt){return St.toLowerCase()<xt.toLowerCase()?-1:St.toLowerCase()>xt.toLowerCase()?1:0});for(var mt=new c(0,0,0,0),We=h.first;We<=h.last;We++){var wt=w.getLine(We);mt.start.row=We,mt.end.row=We,mt.end.column=wt.length,w.replace(mt,O[We-h.first])}},y.prototype.toggleCommentLines=function(){var h=this.session.getState(this.getCursorPosition().row),w=this.$getSelectedRows();this.session.getMode().toggleCommentLines(h,this.session,w.first,w.last)},y.prototype.toggleBlockComment=function(){var h=this.getCursorPosition(),w=this.session.getState(h.row),O=this.getSelectionRange();this.session.getMode().toggleBlockComment(w,this.session,O,h)},y.prototype.getNumberAt=function(h,w){var O=/[\-]?[0-9]+(?:\.[0-9]+)?/g;O.lastIndex=0;for(var We=this.session.getLine(h);O.lastIndex<w;){var mt=O.exec(We);if(mt.index<=w&&mt.index+mt[0].length>=w){var wt={value:mt[0],start:mt.index,end:mt.index+mt[0].length};return wt}}return null},y.prototype.modifyNumber=function(h){var w=this.selection.getCursor().row,O=this.selection.getCursor().column,We=new c(w,O-1,w,O),mt=this.session.getTextRange(We);if(!isNaN(parseFloat(mt))&&isFinite(mt)){var wt=this.getNumberAt(w,O);if(wt){var St=wt.value.indexOf(".")>=0?wt.start+wt.value.indexOf(".")+1:wt.end,xt=wt.start+wt.value.length-St,Rt=parseFloat(wt.value);Rt*=Math.pow(10,xt),St!==wt.end&&O<St?h*=Math.pow(10,wt.end-O-1):h*=Math.pow(10,wt.end-O),Rt+=h,Rt/=Math.pow(10,xt);var ii=Rt.toFixed(xt),Et=new c(w,wt.start,w,wt.end);this.session.replace(Et,ii),this.moveCursorTo(w,Math.max(wt.start+1,O+ii.length-wt.value.length))}}else this.toggleWord()},y.prototype.toggleWord=function(){var h=this.selection.getCursor().row,w=this.selection.getCursor().column;this.selection.selectWord();var O=this.getSelectedText(),We=this.selection.getWordRange().start.column,mt=O.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),wt=w-We-1;wt<0&&(wt=0);var St=0,xt=0,Rt=this;O.match(/[A-Za-z0-9_]+/)&&mt.forEach(function(si,hi){xt=St+si.length,wt>=St&&wt<=xt&&(O=si,Rt.selection.clearSelection(),Rt.moveCursorTo(h,St+We),Rt.selection.selectTo(h,xt+We)),St=xt});for(var ii=this.$toggleWordPairs,Et,ei=0;ei<ii.length;ei++)for(var ni=ii[ei],ti=0;ti<=1;ti++){var oi=+!ti,ai=O.match(new RegExp("^\\s?_?("+l.escapeRegExp(ni[ti])+")\\s?$","i"));if(ai){var li=O.match(new RegExp("([_]|^|\\s)("+l.escapeRegExp(ai[1])+")($|\\s)","g"));li&&(Et=O.replace(new RegExp(l.escapeRegExp(ni[ti]),"i"),function(si){var hi=ni[oi];return si.toUpperCase()==si?hi=hi.toUpperCase():si.charAt(0).toUpperCase()==si.charAt(0)&&(hi=hi.substr(0,0)+ni[oi].charAt(0).toUpperCase()+hi.substr(1)),hi}),this.insert(Et),Et="")}}},y.prototype.findLinkAt=function(h,w){var O,We,mt=this.session.getLine(h),wt=mt.split(/((?:https?|ftp):\/\/[\S]+)/),St=w;St<0&&(St=0);var xt=0,Rt=0,ii;try{for(var Et=B(wt),ei=Et.next();!ei.done;ei=Et.next()){var ni=ei.value;if(Rt=xt+ni.length,St>=xt&&St<=Rt&&ni.match(/((?:https?|ftp):\/\/[\S]+)/)){ii=ni.replace(/[\s:.,'";}\]]+$/,"");break}xt=Rt}}catch(ti){O={error:ti}}finally{try{ei&&!ei.done&&(We=Et.return)&&We.call(Et)}finally{if(O)throw O.error}}return ii},y.prototype.openLink=function(){var h=this.selection.getCursor(),w=this.findLinkAt(h.row,h.column);return w&&window.open(w,"_blank"),w!=null},y.prototype.removeLines=function(){var h=this.$getSelectedRows();this.session.removeFullLines(h.first,h.last),this.clearSelection()},y.prototype.duplicateSelection=function(){var h=this.selection,w=this.session,O=h.getRange(),We=h.isBackwards();if(O.isEmpty()){var mt=O.start.row;w.duplicateLines(mt,mt)}else{var wt=We?O.start:O.end,St=w.insert(wt,w.getTextRange(O));O.start=wt,O.end=St,h.setSelectionRange(O,We)}},y.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},y.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},y.prototype.moveText=function(h,w,O){return this.session.moveText(h,w,O)},y.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},y.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},y.prototype.$moveLines=function(h,w){var O,We,mt=this.selection;if(!mt.inMultiSelectMode||this.inVirtualSelectionMode){var wt=mt.toOrientedRange();O=this.$getSelectedRows(wt),We=this.session.$moveLines(O.first,O.last,w?0:h),w&&h==-1&&(We=0),wt.moveBy(We,0),mt.fromOrientedRange(wt)}else{var St=mt.rangeList.ranges;mt.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var xt=0,Rt=0,ii=St.length,Et=0;Et<ii;Et++){var ei=Et;St[Et].moveBy(xt,0),O=this.$getSelectedRows(St[Et]);for(var ni=O.first,ti=O.last;++Et<ii;){Rt&&St[Et].moveBy(Rt,0);var oi=this.$getSelectedRows(St[Et]);if(w&&oi.first!=ti)break;if(!w&&oi.first>ti+1)break;ti=oi.last}for(Et--,xt=this.session.$moveLines(ni,ti,w?0:h),w&&h==-1&&(ei=Et+1);ei<=Et;)St[ei].moveBy(xt,0),ei++;w||(xt=0),Rt+=xt}mt.fromOrientedRange(mt.ranges[0]),mt.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},y.prototype.$getSelectedRows=function(h){return h=(h||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(h.start.row),last:this.session.getRowFoldEnd(h.end.row)}},y.prototype.onCompositionStart=function(h){this.renderer.showComposition(h)},y.prototype.onCompositionUpdate=function(h){this.renderer.setCompositionText(h)},y.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},y.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},y.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},y.prototype.isRowVisible=function(h){return h>=this.getFirstVisibleRow()&&h<=this.getLastVisibleRow()},y.prototype.isRowFullyVisible=function(h){return h>=this.renderer.getFirstFullyVisibleRow()&&h<=this.renderer.getLastFullyVisibleRow()},y.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},y.prototype.$moveByPage=function(h,w){var O=this.renderer,We=this.renderer.layerConfig,mt=h*Math.floor(We.height/We.lineHeight);w===!0?this.selection.$moveSelection(function(){this.moveCursorBy(mt,0)}):w===!1&&(this.selection.moveCursorBy(mt,0),this.selection.clearSelection());var wt=O.scrollTop;O.scrollBy(0,mt*We.lineHeight),w!=null&&O.scrollCursorIntoView(null,.5),O.animateScrolling(wt)},y.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},y.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},y.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},y.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},y.prototype.scrollPageDown=function(){this.$moveByPage(1)},y.prototype.scrollPageUp=function(){this.$moveByPage(-1)},y.prototype.scrollToRow=function(h){this.renderer.scrollToRow(h)},y.prototype.scrollToLine=function(h,w,O,We){this.renderer.scrollToLine(h,w,O,We)},y.prototype.centerSelection=function(){var h=this.getSelectionRange(),w={row:Math.floor(h.start.row+(h.end.row-h.start.row)/2),column:Math.floor(h.start.column+(h.end.column-h.start.column)/2)};this.renderer.alignCursor(w,.5)},y.prototype.getCursorPosition=function(){return this.selection.getCursor()},y.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},y.prototype.getSelectionRange=function(){return this.selection.getRange()},y.prototype.selectAll=function(){this.selection.selectAll()},y.prototype.clearSelection=function(){this.selection.clearSelection()},y.prototype.moveCursorTo=function(h,w){this.selection.moveCursorTo(h,w)},y.prototype.moveCursorToPosition=function(h){this.selection.moveCursorToPosition(h)},y.prototype.jumpToMatching=function(h,w){var O=this.getCursorPosition(),We=new _(this.session,O.row,O.column),mt=We.getCurrentToken(),wt=0;mt&&mt.type.indexOf("tag-name")!==-1&&(mt=We.stepBackward());var St=mt||We.stepForward();if(St){var xt,Rt=!1,ii={},Et=O.column-St.start,ei,ni={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(St.value.match(/[{}()\[\]]/g)){for(;Et<St.value.length&&!Rt;Et++)if(ni[St.value[Et]])switch(ei=ni[St.value[Et]]+"."+St.type.replace("rparen","lparen"),isNaN(ii[ei])&&(ii[ei]=0),St.value[Et]){case"(":case"[":case"{":ii[ei]++;break;case")":case"]":case"}":ii[ei]--,ii[ei]===-1&&(xt="bracket",Rt=!0);break}}else St.type.indexOf("tag-name")!==-1&&(isNaN(ii[St.value])&&(ii[St.value]=0),mt.value==="<"&&wt>1?ii[St.value]++:mt.value==="</"&&ii[St.value]--,ii[St.value]===-1&&(xt="tag",Rt=!0));Rt||(mt=St,wt++,St=We.stepForward(),Et=0)}while(St&&!Rt);if(xt){var ti,oi;if(xt==="bracket")ti=this.session.getBracketRange(O),ti||(ti=new c(We.getCurrentTokenRow(),We.getCurrentTokenColumn()+Et-1,We.getCurrentTokenRow(),We.getCurrentTokenColumn()+Et-1),oi=ti.start,(w||oi.row===O.row&&Math.abs(oi.column-O.column)<2)&&(ti=this.session.getBracketRange(oi)));else if(xt==="tag"){if(!St||St.type.indexOf("tag-name")===-1)return;if(ti=new c(We.getCurrentTokenRow(),We.getCurrentTokenColumn()-2,We.getCurrentTokenRow(),We.getCurrentTokenColumn()-2),ti.compare(O.row,O.column)===0){var ai=this.session.getMatchingTags(O);ai&&(ai.openTag.contains(O.row,O.column)?(ti=ai.closeTag,oi=ti.start):(ti=ai.openTag,ai.closeTag.start.row===O.row&&ai.closeTag.start.column===O.column?oi=ti.end:oi=ti.start))}oi=oi||ti.start}oi=ti&&ti.cursor||oi,oi&&(h?ti&&w?this.selection.setRange(ti):ti&&ti.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(oi.row,oi.column):this.selection.moveTo(oi.row,oi.column))}}},y.prototype.gotoLine=function(h,w,O){this.selection.clearSelection(),this.session.unfold({row:h-1,column:w||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(h-1,w||0),this.isRowFullyVisible(h-1)||this.scrollToLine(h-1,!0,O)},y.prototype.navigateTo=function(h,w){this.selection.moveTo(h,w)},y.prototype.navigateUp=function(h){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var w=this.selection.anchor.getPosition();return this.moveCursorToPosition(w)}this.selection.clearSelection(),this.selection.moveCursorBy(-h||-1,0)},y.prototype.navigateDown=function(h){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var w=this.selection.anchor.getPosition();return this.moveCursorToPosition(w)}this.selection.clearSelection(),this.selection.moveCursorBy(h||1,0)},y.prototype.navigateLeft=function(h){if(this.selection.isEmpty())for(h=h||1;h--;)this.selection.moveCursorLeft();else{var w=this.getSelectionRange().start;this.moveCursorToPosition(w)}this.clearSelection()},y.prototype.navigateRight=function(h){if(this.selection.isEmpty())for(h=h||1;h--;)this.selection.moveCursorRight();else{var w=this.getSelectionRange().end;this.moveCursorToPosition(w)}this.clearSelection()},y.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},y.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},y.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},y.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},y.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},y.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},y.prototype.replace=function(h,w){w&&this.$search.set(w);var O=this.$search.find(this.session),We=0;return O&&(this.$tryReplace(O,h)&&(We=1),this.selection.setSelectionRange(O),this.renderer.scrollSelectionIntoView(O.start,O.end)),We},y.prototype.replaceAll=function(h,w){w&&this.$search.set(w);var O=this.$search.findAll(this.session),We=0;if(!O.length)return We;var mt=this.getSelectionRange();this.selection.moveTo(0,0);for(var wt=O.length-1;wt>=0;--wt)this.$tryReplace(O[wt],h)&&We++;return this.selection.setSelectionRange(mt),We},y.prototype.$tryReplace=function(h,w){var O=this.session.getTextRange(h);return w=this.$search.replace(O,w),w!==null?(h.end=this.session.replace(h,w),h):null},y.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},y.prototype.find=function(h,w,O){w||(w={}),typeof h=="string"||h instanceof RegExp?w.needle=h:typeof h=="object"&&T.mixin(w,h);var We=this.selection.getRange();w.needle==null&&(h=this.session.getTextRange(We)||this.$search.$options.needle,h||(We=this.session.getWordRange(We.start.row,We.start.column),h=this.session.getTextRange(We)),this.$search.set({needle:h})),this.$search.set(w),w.start||this.$search.set({start:We});var mt=this.$search.find(this.session);if(w.preventScroll)return mt;if(mt)return this.revealRange(mt,O),mt;w.backwards?We.start=We.end:We.end=We.start,this.selection.setRange(We)},y.prototype.findNext=function(h,w){this.find({skipCurrent:!0,backwards:!1},h,w)},y.prototype.findPrevious=function(h,w){this.find(h,{skipCurrent:!0,backwards:!0},w)},y.prototype.revealRange=function(h,w){this.session.unfold(h),this.selection.setSelectionRange(h);var O=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(h.start,h.end,.5),w!==!1&&this.renderer.animateScrolling(O)},y.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},y.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},y.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(h){h.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},y.prototype.setAutoScrollEditorIntoView=function(h){if(h){var w,O=this,We=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var mt=this.$scrollAnchor;mt.style.cssText="position:absolute",this.container.insertBefore(mt,this.container.firstChild);var wt=this.on("changeSelection",function(){We=!0}),St=this.renderer.on("beforeRender",function(){We&&(w=O.renderer.container.getBoundingClientRect())}),xt=this.renderer.on("afterRender",function(){if(We&&w&&(O.isFocused()||O.searchBox&&O.searchBox.isFocused())){var Rt=O.renderer,ii=Rt.$cursorLayer.$pixelPos,Et=Rt.layerConfig,ei=ii.top-Et.offset;ii.top>=0&&ei+w.top<0?We=!0:ii.top<Et.height&&ii.top+w.top+Et.lineHeight>window.innerHeight?We=!1:We=null,We!=null&&(mt.style.top=ei+"px",mt.style.left=ii.left+"px",mt.style.height=Et.lineHeight+"px",mt.scrollIntoView(We)),We=w=null}});this.setAutoScrollEditorIntoView=function(Rt){Rt||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",wt),this.renderer.off("afterRender",xt),this.renderer.off("beforeRender",St))}}},y.prototype.$resetCursorStyle=function(){var h=this.$cursorStyle||"ace",w=this.renderer.$cursorLayer;w&&(w.setSmoothBlinking(/smooth/.test(h)),w.isBlinking=!this.$readOnly&&h!="wide",L.setCssClass(w.element,"ace_slim-cursors",/slim/.test(h)))},y.prototype.prompt=function(h,w,O){var We=this;R.loadModule("ace/ext/prompt",function(mt){mt.prompt(We,h,w,O)})},y}();j.$uid=0,j.prototype.curOp=null,j.prototype.prevOp={},j.prototype.$mergeableCommands=["backspace","del","insertstring"],j.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],T.implement(j.prototype,d),R.defineOptions(j.prototype,"editor",{selectionStyle:{set:function(y){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:y})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(y){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(y){this.textInput.setReadOnly(y),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(y){this.textInput.setCopyWithEmptySelection(y)},initialValue:!1},cursorStyle:{set:function(y){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(y){this.setAutoScrollEditorIntoView(y)}},keyboardHandler:{set:function(y){this.setKeyboardHandler(y)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(y){this.session.setValue(y)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(y){this.setSession(y)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(y){this.renderer.$gutterLayer.setShowLineNumbers(y),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),y&&this.$relativeLineNumbers?yt.attach(this):yt.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(y){this.$showLineNumbers&&y?yt.attach(this):yt.detach(this)}},placeholder:{set:function(y){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var h=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(h&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),L.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!h&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),L.addCssClass(this.container,"ace_hasPlaceholder");var w=L.createElement("div");w.className="ace_placeholder",w.textContent=this.$placeholder||"",this.renderer.placeholderNode=w,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!h&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(y){var h={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(We){We.blur(),We.renderer.scroller.focus()},readOnly:!0},w=function(We){if(We.target==this.renderer.scroller&&We.keyCode===Te.enter){We.preventDefault();var mt=this.getCursorPosition().row;this.isRowVisible(mt)||this.scrollToLine(mt,!0,!0),this.focus()}},O;y?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(u.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",Me("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",Me("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",w.bind(this)),this.commands.addCommand(h),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",Me("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",Me("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),O||(O=new S(this)),O.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",w.bind(this)),this.commands.removeCommand(h),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),O&&O.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(y){this.$textInputAriaLabel=y},initialValue:""},enableMobileMenu:{set:function(y){this.$enableMobileMenu=y},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var yt={getText:function(y,h){return(Math.abs(y.selection.lead.row-h)||h+1+(h<9?"·":""))+""},getWidth:function(y,h,w){return Math.max(h.toString().length,(w.lastRow+1).toString().length,2)*w.characterWidth},update:function(y,h){h.renderer.$loop.schedule(h.renderer.CHANGE_GUTTER)},attach:function(y){y.renderer.$gutterLayer.$renderer=this,y.on("changeSelection",this.update),this.update(null,y)},detach:function(y){y.renderer.$gutterLayer.$renderer==this&&(y.renderer.$gutterLayer.$renderer=null),y.off("changeSelection",this.update),this.update(null,y)}};p.Editor=j}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(f,p,ze){var B=f("../lib/dom"),T=function(){function L(l,u){this.element=l,this.canvasHeight=u||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return L.prototype.moveContainer=function(l){B.translate(this.element,0,-(l.firstRowScreen*l.lineHeight%this.canvasHeight)-l.offset*this.$offsetCoefficient)},L.prototype.pageChanged=function(l,u){return Math.floor(l.firstRowScreen*l.lineHeight/this.canvasHeight)!==Math.floor(u.firstRowScreen*u.lineHeight/this.canvasHeight)},L.prototype.computeLineTop=function(l,u,i){var r=u.firstRowScreen*u.lineHeight,o=Math.floor(r/this.canvasHeight),t=i.documentToScreenRow(l,0)*u.lineHeight;return t-o*this.canvasHeight},L.prototype.computeLineHeight=function(l,u,i){return u.lineHeight*i.getRowLineCount(l)},L.prototype.getLength=function(){return this.cells.length},L.prototype.get=function(l){return this.cells[l]},L.prototype.shift=function(){this.$cacheCell(this.cells.shift())},L.prototype.pop=function(){this.$cacheCell(this.cells.pop())},L.prototype.push=function(l){if(Array.isArray(l)){this.cells.push.apply(this.cells,l);for(var u=B.createFragment(this.element),i=0;i<l.length;i++)u.appendChild(l[i].element);this.element.appendChild(u)}else this.cells.push(l),this.element.appendChild(l.element)},L.prototype.unshift=function(l){if(Array.isArray(l)){this.cells.unshift.apply(this.cells,l);for(var u=B.createFragment(this.element),i=0;i<l.length;i++)u.appendChild(l[i].element);this.element.firstChild?this.element.insertBefore(u,this.element.firstChild):this.element.appendChild(u)}else this.cells.unshift(l),this.element.insertAdjacentElement("afterbegin",l.element)},L.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},L.prototype.$cacheCell=function(l){l&&(l.element.remove(),this.cellCache.push(l))},L.prototype.createCell=function(l,u,i,r){var o=this.cellCache.pop();if(!o){var t=B.createElement("div");r&&r(t),this.element.appendChild(t),o={element:t,text:"",row:l}}return o.row=l,o},L}();p.Lines=T}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],function(f,p,ze){var B=f("../lib/dom"),T=f("../lib/oop"),L=f("../lib/lang"),l=f("../lib/event_emitter").EventEmitter,u=f("./lines").Lines,i=f("../config").nls,r=function(){function t(e){this.element=B.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new u(this.element),this.$lines.$offsetCoefficient=1}return t.prototype.setSession=function(e){this.session&&this.session.off("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},t.prototype.addGutterDecoration=function(e,n){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,n)},t.prototype.removeGutterDecoration=function(e,n){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,n)},t.prototype.setAnnotations=function(e){this.$annotations=[];for(var n=0;n<e.length;n++){var c=e[n],d=c.row,g=this.$annotations[d];g||(g=this.$annotations[d]={text:[],type:[],displayText:[]});var G=c.text,R=c.text,_=c.type;G=G?L.escapeHTML(G):c.html||"",R=R||c.html||"",g.text.indexOf(G)===-1&&(g.text.push(G),g.type.push(_),g.displayText.push(R));var S=c.className;S?g.className=S:_==="error"?g.className=" ace_error":_==="security"&&!/\bace_error\b/.test(g.className)?g.className=" ace_security":_==="warning"&&!/\bace_(error|security)\b/.test(g.className)?g.className=" ace_warning":_==="info"&&!g.className?g.className=" ace_info":_==="hint"&&!g.className&&(g.className=" ace_hint")}},t.prototype.$updateAnnotations=function(e){if(this.$annotations.length){var n=e.start.row,c=e.end.row-n;if(c!==0)if(e.action=="remove")this.$annotations.splice(n,c+1,null);else{var d=new Array(c+1);d.unshift(n,1),this.$annotations.splice.apply(this.$annotations,d)}}},t.prototype.update=function(e){this.config=e;var n=this.session,c=e.firstRow,d=Math.min(e.lastRow+e.gutterOffset,n.getLength()-1);this.oldLastRow=d,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var g=n.getNextFoldLine(c),G=g?g.start.row:1/0,R=null,_=-1,S=c;;){if(S>G&&(S=g.end.row+1,g=n.getNextFoldLine(S,g),G=g?g.start.row:1/0),S>d){for(;this.$lines.getLength()>_+1;)this.$lines.pop();break}R=this.$lines.get(++_),R?R.row=S:(R=this.$lines.createCell(S,e,this.session,o),this.$lines.push(R)),this.$renderCell(R,e,g,S),S++}this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$updateGutterWidth=function(e){var n=this.session,c=n.gutterRenderer||this.$renderer,d=n.$firstLineNumber,g=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||n.$useWrapMode)&&(g=n.getLength()+d-1);var G=c?c.getWidth(n,g,e):g.toString().length*e.characterWidth,R=this.$padding||this.$computePadding();G+=R.left+R.right,G!==this.gutterWidth&&!isNaN(G)&&(this.gutterWidth=G,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",G))},t.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},t.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!(this.$cursorCell&&this.$cursorCell.row==e)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var n=this.$lines.cells;this.$cursorCell=null;for(var c=0;c<n.length;c++){var d=n[c];if(d.row>=this.$cursorRow){if(d.row>this.$cursorRow){var g=this.session.getFoldLine(this.$cursorRow);if(c>0&&g&&g.start.row==n[c-1].row)d=n[c-1];else break}d.element.className="ace_gutter-active-line "+d.element.className,this.$cursorCell=d;break}}}}},t.prototype.scrollLines=function(e){var n=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(n,e))return this.update(e);this.$lines.moveContainer(e);var c=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),d=this.oldLastRow;if(this.oldLastRow=c,!n||d<e.firstRow)return this.update(e);if(c<n.firstRow)return this.update(e);if(n.firstRow<e.firstRow)for(var g=this.session.getFoldedRowCount(n.firstRow,e.firstRow-1);g>0;g--)this.$lines.shift();if(d>c)for(var g=this.session.getFoldedRowCount(c+1,d);g>0;g--)this.$lines.pop();e.firstRow<n.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,n.firstRow-1)),c>d&&this.$lines.push(this.$renderLines(e,d+1,c)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$renderLines=function(e,n,c){for(var d=[],g=n,G=this.session.getNextFoldLine(g),R=G?G.start.row:1/0;g>R&&(g=G.end.row+1,G=this.session.getNextFoldLine(g,G),R=G?G.start.row:1/0),!(g>c);){var _=this.$lines.createCell(g,e,this.session,o);this.$renderCell(_,e,G,g),d.push(_),g++}return d},t.prototype.$renderCell=function(e,n,c,d){var g=e.element,G=this.session,R=g.childNodes[0],_=g.childNodes[1],S=g.childNodes[2],Me=S.firstChild,He=G.$firstLineNumber,Te=G.$breakpoints,j=G.$decorations,yt=G.gutterRenderer||this.$renderer,y=this.$showFoldWidgets&&G.foldWidgets,h=c?c.start.row:Number.MAX_VALUE,w=n.lineHeight+"px",O=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",We=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",mt=(yt?yt.getText(G,d):d+He).toString();if(this.$highlightGutterLine&&(d==this.$cursorRow||c&&d<this.$cursorRow&&d>=h&&this.$cursorRow<=c.end.row)&&(O+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),Te[d]&&(O+=Te[d]),j[d]&&(O+=j[d]),this.$annotations[d]&&d!==h&&(O+=this.$annotations[d].className),y){var wt=y[d];wt==null&&(wt=y[d]=G.getFoldWidget(d))}if(wt){var St="ace_fold-widget ace_"+wt,xt=wt=="start"&&d==h&&d<c.end.row;if(xt){St+=" ace_closed";for(var Rt="",ii=!1,Et=d+1;Et<=c.end.row;Et++)if(this.$annotations[Et]){if(this.$annotations[Et].className===" ace_error"){ii=!0,Rt=" ace_error_fold";break}this.$annotations[Et].className===" ace_security"?(ii=!0,Rt=" ace_security_fold"):this.$annotations[Et].className===" ace_warning"&&Rt!==" ace_security_fold"&&(ii=!0,Rt=" ace_warning_fold")}O+=Rt}else St+=" ace_open";_.className!=St&&(_.className=St),B.setStyle(_.style,"height",w),B.setStyle(_.style,"display","inline-block"),_.setAttribute("role","button"),_.setAttribute("tabindex","-1");var ei=G.getFoldWidgetRange(d);ei?_.setAttribute("aria-label",i("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[ei.start.row+1,ei.end.row+1])):c?_.setAttribute("aria-label",i("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[c.start.row+1,c.end.row+1])):_.setAttribute("aria-label",i("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[d+1])),xt?(_.setAttribute("aria-expanded","false"),_.setAttribute("title",i("gutter.code-folding.closed.title","Unfold code"))):(_.setAttribute("aria-expanded","true"),_.setAttribute("title",i("gutter.code-folding.open.title","Fold code")))}else _&&(B.setStyle(_.style,"display","none"),_.setAttribute("tabindex","0"),_.removeAttribute("role"),_.removeAttribute("aria-label"));if(ii&&this.$showFoldedAnnotations){S.className="ace_gutter_annotation",Me.className=We,Me.className+=Rt,B.setStyle(Me.style,"height",w),B.setStyle(S.style,"display","block"),B.setStyle(S.style,"height",w);var ni;switch(Rt){case" ace_error_fold":ni=i("gutter.annotation.aria-label.error","Error, read annotations row $0",[mt]);break;case" ace_security_fold":ni=i("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[mt]);break;case" ace_warning_fold":ni=i("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[mt]);break}S.setAttribute("aria-label",ni),S.setAttribute("tabindex","-1"),S.setAttribute("role","button")}else if(this.$annotations[d]){S.className="ace_gutter_annotation",Me.className=We,this.$useSvgGutterIcons?Me.className+=this.$annotations[d].className:g.classList.add(this.$annotations[d].className.replace(" ","")),B.setStyle(Me.style,"height",w),B.setStyle(S.style,"display","block"),B.setStyle(S.style,"height",w);var ni;switch(this.$annotations[d].className){case" ace_error":ni=i("gutter.annotation.aria-label.error","Error, read annotations row $0",[mt]);break;case" ace_security":ni=i("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[mt]);break;case" ace_warning":ni=i("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[mt]);break;case" ace_info":ni=i("gutter.annotation.aria-label.info","Info, read annotations row $0",[mt]);break;case" ace_hint":ni=i("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[mt]);break}S.setAttribute("aria-label",ni),S.setAttribute("tabindex","-1"),S.setAttribute("role","button")}else B.setStyle(S.style,"display","none"),S.removeAttribute("aria-label"),S.removeAttribute("role"),S.setAttribute("tabindex","0");return mt!==R.data&&(R.data=mt),g.className!=O&&(g.className=O),B.setStyle(e.element.style,"height",this.$lines.computeLineHeight(d,n,G)+"px"),B.setStyle(e.element.style,"top",this.$lines.computeLineTop(d,n,G)+"px"),e.text=mt,S.style.display==="none"&&_.style.display==="none"?e.element.setAttribute("aria-hidden",!0):e.element.setAttribute("aria-hidden",!1),e},t.prototype.setHighlightGutterLine=function(e){this.$highlightGutterLine=e},t.prototype.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},t.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},t.prototype.setShowFoldWidgets=function(e){e?B.addCssClass(this.element,"ace_folding-enabled"):B.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},t.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},t.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=B.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},t.prototype.getRegion=function(e){var n=this.$padding||this.$computePadding(),c=this.element.getBoundingClientRect();if(e.x<n.left+c.left)return"markers";if(this.$showFoldWidgets&&e.x>c.right-n.right)return"foldWidgets"},t}();r.prototype.$fixedWidth=!1,r.prototype.$highlightGutterLine=!0,r.prototype.$renderer="",r.prototype.$showLineNumbers=!0,r.prototype.$showFoldWidgets=!0,T.implement(r.prototype,l);function o(t){var e=document.createTextNode("");t.appendChild(e);var n=B.createElement("span");t.appendChild(n);var c=B.createElement("span");t.appendChild(c);var d=B.createElement("span");return c.appendChild(d),t}p.Gutter=r}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(f,p,ze){var B=f("../range").Range,T=f("../lib/dom"),L=function(){function u(i){this.element=T.createElement("div"),this.element.className="ace_layer ace_marker-layer",i.appendChild(this.element)}return u.prototype.setPadding=function(i){this.$padding=i},u.prototype.setSession=function(i){this.session=i},u.prototype.setMarkers=function(i){this.markers=i},u.prototype.elt=function(i,r){var o=this.i!=-1&&this.element.childNodes[this.i];o?this.i++:(o=document.createElement("div"),this.element.appendChild(o),this.i=-1),o.style.cssText=r,o.className=i},u.prototype.update=function(i){if(i){this.config=i,this.i=0;var r;for(var o in this.markers){var t=this.markers[o];if(!t.range){t.update(r,this,this.session,i);continue}var e=t.range.clipRows(i.firstRow,i.lastRow);if(!e.isEmpty())if(e=e.toScreenRange(this.session),t.renderer){var n=this.$getTop(e.start.row,i),c=this.$padding+e.start.column*i.characterWidth;t.renderer(r,e,c,n,i)}else t.type=="fullLine"?this.drawFullLineMarker(r,e,t.clazz,i):t.type=="screenLine"?this.drawScreenLineMarker(r,e,t.clazz,i):e.isMultiLine()?t.type=="text"?this.drawTextMarker(r,e,t.clazz,i):this.drawMultiLineMarker(r,e,t.clazz,i):this.drawSingleLineMarker(r,e,t.clazz+" ace_start ace_br15",i)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},u.prototype.$getTop=function(i,r){return(i-r.firstRowScreen)*r.lineHeight},u.prototype.drawTextMarker=function(i,r,o,t,e){for(var n=this.session,c=r.start.row,d=r.end.row,g=c,G=0,R=0,_=n.getScreenLastRowColumn(g),S=new B(g,r.start.column,g,R);g<=d;g++)S.start.row=S.end.row=g,S.start.column=g==c?r.start.column:n.getRowWrapIndent(g),S.end.column=_,G=R,R=_,_=g+1<d?n.getScreenLastRowColumn(g+1):g==d?0:r.end.column,this.drawSingleLineMarker(i,S,o+(g==c?" ace_start":"")+" ace_br"+l(g==c||g==c+1&&r.start.column,G<R,R>_,g==d),t,g==d?0:1,e)},u.prototype.drawMultiLineMarker=function(i,r,o,t,e){var n=this.$padding,c=t.lineHeight,d=this.$getTop(r.start.row,t),g=n+r.start.column*t.characterWidth;if(e=e||"",this.session.$bidiHandler.isBidiRow(r.start.row)){var G=r.clone();G.end.row=G.start.row,G.end.column=this.session.getLine(G.start.row).length,this.drawBidiSingleLineMarker(i,G,o+" ace_br1 ace_start",t,null,e)}else this.elt(o+" ace_br1 ace_start","height:"+c+"px;right:"+n+"px;top:"+d+"px;left:"+g+"px;"+(e||""));if(this.session.$bidiHandler.isBidiRow(r.end.row)){var G=r.clone();G.start.row=G.end.row,G.start.column=0,this.drawBidiSingleLineMarker(i,G,o+" ace_br12",t,null,e)}else{d=this.$getTop(r.end.row,t);var R=r.end.column*t.characterWidth;this.elt(o+" ace_br12","height:"+c+"px;width:"+R+"px;top:"+d+"px;left:"+n+"px;"+(e||""))}if(c=(r.end.row-r.start.row-1)*t.lineHeight,!(c<=0)){d=this.$getTop(r.start.row+1,t);var _=(r.start.column?1:0)|(r.end.column?0:8);this.elt(o+(_?" ace_br"+_:""),"height:"+c+"px;right:"+n+"px;top:"+d+"px;left:"+n+"px;"+(e||""))}},u.prototype.drawSingleLineMarker=function(i,r,o,t,e,n){if(this.session.$bidiHandler.isBidiRow(r.start.row))return this.drawBidiSingleLineMarker(i,r,o,t,e,n);var c=t.lineHeight,d=(r.end.column+(e||0)-r.start.column)*t.characterWidth,g=this.$getTop(r.start.row,t),G=this.$padding+r.start.column*t.characterWidth;this.elt(o,"height:"+c+"px;width:"+d+"px;top:"+g+"px;left:"+G+"px;"+(n||""))},u.prototype.drawBidiSingleLineMarker=function(i,r,o,t,e,n){var c=t.lineHeight,d=this.$getTop(r.start.row,t),g=this.$padding,G=this.session.$bidiHandler.getSelections(r.start.column,r.end.column);G.forEach(function(R){this.elt(o,"height:"+c+"px;width:"+(R.width+(e||0))+"px;top:"+d+"px;left:"+(g+R.left)+"px;"+(n||""))},this)},u.prototype.drawFullLineMarker=function(i,r,o,t,e){var n=this.$getTop(r.start.row,t),c=t.lineHeight;r.start.row!=r.end.row&&(c+=this.$getTop(r.end.row,t)-n),this.elt(o,"height:"+c+"px;top:"+n+"px;left:0;right:0;"+(e||""))},u.prototype.drawScreenLineMarker=function(i,r,o,t,e){var n=this.$getTop(r.start.row,t),c=t.lineHeight;this.elt(o,"height:"+c+"px;top:"+n+"px;left:0;right:0;"+(e||""))},u}();L.prototype.$padding=0;function l(u,i,r,o){return(u?1:0)|(i?2:0)|(r?4:0)|(o?8:0)}p.Marker=L}),ace.define("ace/layer/text_util",["require","exports","module"],function(f,p,ze){var B=new Set(["text","rparen","lparen"]);p.isTextToken=function(T){return B.has(T)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(f,p,ze){var B=f("../lib/oop"),T=f("../lib/dom"),L=f("../lib/lang"),l=f("./lines").Lines,u=f("../lib/event_emitter").EventEmitter,i=f("../config").nls,r=f("./text_util").isTextToken,o=function(){function t(e){this.dom=T,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new l(this.element)}return t.prototype.$updateEolChar=function(){var e=this.session.doc,n=e.getNewLineCharacter()==`
|
209
|
+
`&&e.getNewLineMode()!="windows",c=n?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=c)return this.EOL_CHAR=c,!0},t.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},t.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},t.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},t.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",(function(n){this._signal("changeCharacterSize",n)}).bind(this)),this.$pollSizeChanges()},t.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},t.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},t.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},t.prototype.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,typeof e=="string"?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},t.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},t.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides===e?!1:(this.$highlightIndentGuides=e,e)},t.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var n=this.$tabStrings=[0],c=1;c<e+1;c++)if(this.showTabs){var d=this.dom.createElement("span");d.className="ace_invisible ace_invisible_tab",d.textContent=L.stringRepeat(this.TAB_CHAR,c),n.push(d)}else n.push(this.dom.createTextNode(L.stringRepeat(" ",c),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var g="ace_indent-guide",G=this.showSpaces?" ace_invisible ace_invisible_space":"",R=this.showSpaces?L.stringRepeat(this.SPACE_CHAR,this.tabSize):L.stringRepeat(" ",this.tabSize),_=this.showTabs?" ace_invisible ace_invisible_tab":"",S=this.showTabs?L.stringRepeat(this.TAB_CHAR,this.tabSize):R,d=this.dom.createElement("span");d.className=g+G,d.textContent=R,this.$tabStrings[" "]=d;var d=this.dom.createElement("span");d.className=g+_,d.textContent=S,this.$tabStrings[" "]=d}},t.prototype.updateLines=function(e,n,c){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var d=Math.max(n,e.firstRow),g=Math.min(c,e.lastRow),G=this.element.childNodes,R=0,S=e.firstRow;S<d;S++){var Me=this.session.getFoldLine(S);if(Me)if(Me.containsRow(d)){d=Me.start.row;break}else S=Me.end.row;R++}for(var _=!1,S=d,Me=this.session.getNextFoldLine(S),He=Me?Me.start.row:1/0;S>He&&(S=Me.end.row+1,Me=this.session.getNextFoldLine(S,Me),He=Me?Me.start.row:1/0),!(S>g);){var Te=G[R++];if(Te){this.dom.removeChildren(Te),this.$renderLine(Te,S,S==He?Me:!1),_&&(Te.style.top=this.$lines.computeLineTop(S,e,this.session)+"px");var j=e.lineHeight*this.session.getRowLength(S)+"px";Te.style.height!=j&&(_=!0,Te.style.height=j)}S++}if(_)for(;R<this.$lines.cells.length;){var yt=this.$lines.cells[R++];yt.element.style.top=this.$lines.computeLineTop(yt.row,e,this.session)+"px"}},t.prototype.scrollLines=function(e){var n=this.config;if(this.config=e,this.$lines.pageChanged(n,e))return this.update(e);this.$lines.moveContainer(e);var c=e.lastRow,d=n?n.lastRow:-1;if(!n||d<e.firstRow)return this.update(e);if(c<n.firstRow)return this.update(e);if(!n||n.lastRow<e.firstRow)return this.update(e);if(e.lastRow<n.firstRow)return this.update(e);if(n.firstRow<e.firstRow)for(var g=this.session.getFoldedRowCount(n.firstRow,e.firstRow-1);g>0;g--)this.$lines.shift();if(n.lastRow>e.lastRow)for(var g=this.session.getFoldedRowCount(e.lastRow+1,n.lastRow);g>0;g--)this.$lines.pop();e.firstRow<n.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,n.firstRow-1)),e.lastRow>n.lastRow&&this.$lines.push(this.$renderLinesFragment(e,n.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},t.prototype.$renderLinesFragment=function(e,n,c){for(var d=[],g=n,G=this.session.getNextFoldLine(g),R=G?G.start.row:1/0;g>R&&(g=G.end.row+1,G=this.session.getNextFoldLine(g,G),R=G?G.start.row:1/0),!(g>c);){var _=this.$lines.createCell(g,e,this.session),S=_.element;this.dom.removeChildren(S),T.setStyle(S.style,"height",this.$lines.computeLineHeight(g,e,this.session)+"px"),T.setStyle(S.style,"top",this.$lines.computeLineTop(g,e,this.session)+"px"),this.$renderLine(S,g,g==R?G:!1),this.$useLineGroups()?S.className="ace_line_group":S.className="ace_line",d.push(_),g++}return d},t.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var n=e.firstRow,c=e.lastRow,d=this.$lines;d.getLength();)d.pop();d.push(this.$renderLinesFragment(e,n,c))},t.prototype.$renderToken=function(e,n,c,d){for(var g=this,G=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,R=this.dom.createFragment(this.element),_,S=0;_=G.exec(d);){var Me=_[1],He=_[2],Te=_[3],j=_[4],yt=_[5];if(!(!g.showSpaces&&He)){var y=S!=_.index?d.slice(S,_.index):"";if(S=_.index+_[0].length,y&&R.appendChild(this.dom.createTextNode(y,this.element)),Me){var h=g.session.getScreenTabSize(n+_.index);R.appendChild(g.$tabStrings[h].cloneNode(!0)),n+=h-1}else if(He)if(g.showSpaces){var w=this.dom.createElement("span");w.className="ace_invisible ace_invisible_space",w.textContent=L.stringRepeat(g.SPACE_CHAR,He.length),R.appendChild(w)}else R.appendChild(this.dom.createTextNode(He,this.element));else if(Te){var w=this.dom.createElement("span");w.className="ace_invisible ace_invisible_space ace_invalid",w.textContent=L.stringRepeat(g.SPACE_CHAR,Te.length),R.appendChild(w)}else if(j){n+=1;var w=this.dom.createElement("span");w.style.width=g.config.characterWidth*2+"px",w.className=g.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",w.textContent=g.showSpaces?g.SPACE_CHAR:j,R.appendChild(w)}else if(yt){n+=1;var w=this.dom.createElement("span");w.style.width=g.config.characterWidth*2+"px",w.className="ace_cjk",w.textContent=yt,R.appendChild(w)}}}if(R.appendChild(this.dom.createTextNode(S?d.slice(S):d,this.element)),r(c.type))e.appendChild(R);else{var O="ace_"+c.type.replace(/\./g," ace_"),w=this.dom.createElement("span");c.type=="fold"&&(w.style.width=c.value.length*this.config.characterWidth+"px",w.setAttribute("title",i("inline-fold.closed.title","Unfold code"))),w.className=O,w.appendChild(R),e.appendChild(w)}return n+d.length},t.prototype.renderIndentGuide=function(e,n,c){var d=n.search(this.$indentGuideRe);if(d<=0||d>=c)return n;if(n[0]==" "){d-=d%this.tabSize;for(var g=d/this.tabSize,G=0;G<g;G++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),n.substr(d)}else if(n[0]==" "){for(var G=0;G<d;G++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),n.substr(d)}return this.$highlightIndentGuide(),n},t.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var e=this.session.doc.$lines;if(e){var n=this.session.selection.getCursor(),c=/^\s*/.exec(this.session.doc.getLine(n.row))[0].length,d=Math.floor(c/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:d,start:n.row};var g=this.session.$bracketHighlight;if(g){for(var G=this.session.$bracketHighlight.ranges,R=0;R<G.length;R++)if(n.row!==G[R].start.row){this.$highlightIndentGuideMarker.end=G[R].start.row,n.row>G[R].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[n.row]!==""&&n.column===e[n.row].length){this.$highlightIndentGuideMarker.dir=1;for(var R=n.row+1;R<e.length;R++){var _=e[R],S=/^\s*/.exec(_)[0].length;if(_!==""&&(this.$highlightIndentGuideMarker.end=R,S<=c))break}}this.$renderHighlightIndentGuide()}}},t.prototype.$clearActiveIndentGuide=function(){for(var e=this.$lines.cells,n=0;n<e.length;n++){var c=e[n],d=c.element.childNodes;if(d.length>0){for(var g=0;g<d.length;g++)if(d[g].classList&&d[g].classList.contains("ace_indent-guide-active")){d[g].classList.remove("ace_indent-guide-active");break}}}},t.prototype.$setIndentGuideActive=function(e,n){var c=this.session.doc.getLine(e.row);if(c!==""){var d=e.element.childNodes;if(d){var g=d[n-1];g&&g.classList&&g.classList.contains("ace_indent-guide")&&g.classList.add("ace_indent-guide-active")}}},t.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var e=this.$lines.cells;this.$clearActiveIndentGuide();var n=this.$highlightIndentGuideMarker.indentLevel;if(n!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var c=0;c<e.length;c++){var d=e[c];if(this.$highlightIndentGuideMarker.end&&d.row>=this.$highlightIndentGuideMarker.start+1){if(d.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(d,n)}}else for(var c=e.length-1;c>=0;c--){var d=e[c];if(this.$highlightIndentGuideMarker.end&&d.row<this.$highlightIndentGuideMarker.start){if(d.row<=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(d,n)}}}},t.prototype.$createLineElement=function(e){var n=this.dom.createElement("div");return n.className="ace_line",n.style.height=this.config.lineHeight+"px",n},t.prototype.$renderWrappedLine=function(e,n,c){var d=0,g=0,G=c[0],R=0,_=this.$createLineElement();e.appendChild(_);for(var S=0;S<n.length;S++){var Me=n[S],He=Me.value;if(S==0&&this.displayIndentGuides){if(d=He.length,He=this.renderIndentGuide(_,He,G),!He)continue;d-=He.length}if(d+He.length<G)R=this.$renderToken(_,R,Me,He),d+=He.length;else{for(;d+He.length>=G;)R=this.$renderToken(_,R,Me,He.substring(0,G-d)),He=He.substring(G-d),d=G,_=this.$createLineElement(),e.appendChild(_),_.appendChild(this.dom.createTextNode(L.stringRepeat(" ",c.indent),this.element)),g++,R=0,G=c[g]||Number.MAX_VALUE;He.length!=0&&(d+=He.length,R=this.$renderToken(_,R,Me,He))}}c[c.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(_,R,null,"",!0)},t.prototype.$renderSimpleLine=function(e,n){for(var c=0,d=0;d<n.length;d++){var g=n[d],G=g.value;if(!(d==0&&this.displayIndentGuides&&(G=this.renderIndentGuide(e,G),!G))){if(c+G.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,c,g,G);c=this.$renderToken(e,c,g,G)}}},t.prototype.$renderOverflowMessage=function(e,n,c,d,g){c&&this.$renderToken(e,n,c,d.slice(0,this.MAX_LINE_LENGTH-n));var G=this.dom.createElement("span");G.className="ace_inline_button ace_keyword ace_toggle_wrap",G.textContent=g?"<hide>":"<click to see more...>",e.appendChild(G)},t.prototype.$renderLine=function(e,n,c){if(!c&&c!=!1&&(c=this.session.getFoldLine(n)),c)var d=this.$getFoldLineTokens(n,c);else var d=this.session.getTokens(n);var g=e;if(d.length){var G=this.session.getRowSplitData(n);if(G&&G.length){this.$renderWrappedLine(e,d,G);var g=e.lastChild}else{var g=e;this.$useLineGroups()&&(g=this.$createLineElement(),e.appendChild(g)),this.$renderSimpleLine(g,d)}}else this.$useLineGroups()&&(g=this.$createLineElement(),e.appendChild(g));if(this.showEOL&&g){c&&(n=c.end.row);var R=this.dom.createElement("span");R.className="ace_invisible ace_invisible_eol",R.textContent=n==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,g.appendChild(R)}},t.prototype.$getFoldLineTokens=function(e,n){var c=this.session,d=[];function g(R,_,S){for(var Me=0,He=0;He+R[Me].value.length<_;)if(He+=R[Me].value.length,Me++,Me==R.length)return;if(He!=_){var Te=R[Me].value.substring(_-He);Te.length>S-_&&(Te=Te.substring(0,S-_)),d.push({type:R[Me].type,value:Te}),He=_+Te.length,Me+=1}for(;He<S&&Me<R.length;){var Te=R[Me].value;Te.length+He>S?d.push({type:R[Me].type,value:Te.substring(0,S-He)}):d.push(R[Me]),He+=Te.length,Me+=1}}var G=c.getTokens(e);return n.walk(function(R,_,S,Me,He){R!=null?d.push({type:"fold",value:R}):(He&&(G=c.getTokens(_)),G.length&&g(G,Me,S))},n.end.row,this.session.getLine(n.end.row).length),d},t.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},t}();o.prototype.EOF_CHAR="¶",o.prototype.EOL_CHAR_LF="¬",o.prototype.EOL_CHAR_CRLF="¤",o.prototype.EOL_CHAR=o.prototype.EOL_CHAR_LF,o.prototype.TAB_CHAR="—",o.prototype.SPACE_CHAR="·",o.prototype.$padding=0,o.prototype.MAX_LINE_LENGTH=1e4,o.prototype.showInvisibles=!1,o.prototype.showSpaces=!1,o.prototype.showTabs=!1,o.prototype.showEOL=!1,o.prototype.displayIndentGuides=!0,o.prototype.$highlightIndentGuides=!0,o.prototype.$tabStrings=[],o.prototype.destroy={},o.prototype.onChangeTabSize=o.prototype.$computeTabString,B.implement(o.prototype,u),p.Text=o}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(f,p,ze){var B=f("../lib/dom"),T=function(){function L(l){this.element=B.createElement("div"),this.element.className="ace_layer ace_cursor-layer",l.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),B.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return L.prototype.$updateOpacity=function(l){for(var u=this.cursors,i=u.length;i--;)B.setStyle(u[i].style,"opacity",l?"":"0")},L.prototype.$startCssAnimation=function(){for(var l=this.cursors,u=l.length;u--;)l[u].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout((function(){this.$isAnimating&&B.addCssClass(this.element,"ace_animate-blinking")}).bind(this))},L.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,B.removeCssClass(this.element,"ace_animate-blinking")},L.prototype.setPadding=function(l){this.$padding=l},L.prototype.setSession=function(l){this.session=l},L.prototype.setBlinking=function(l){l!=this.isBlinking&&(this.isBlinking=l,this.restartTimer())},L.prototype.setBlinkInterval=function(l){l!=this.blinkInterval&&(this.blinkInterval=l,this.restartTimer())},L.prototype.setSmoothBlinking=function(l){l!=this.smoothBlinking&&(this.smoothBlinking=l,B.setCssClass(this.element,"ace_smooth-blinking",l),this.$updateCursors(!0),this.restartTimer())},L.prototype.addCursor=function(){var l=B.createElement("div");return l.className="ace_cursor",this.element.appendChild(l),this.cursors.push(l),l},L.prototype.removeCursor=function(){if(this.cursors.length>1){var l=this.cursors.pop();return l.parentNode.removeChild(l),l}},L.prototype.hideCursor=function(){this.isVisible=!1,B.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},L.prototype.showCursor=function(){this.isVisible=!0,B.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},L.prototype.restartTimer=function(){var l=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,B.removeCssClass(this.element,"ace_smooth-blinking")),l(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout((function(){this.$isSmoothBlinking&&B.addCssClass(this.element,"ace_smooth-blinking")}).bind(this))),B.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var u=(function(){this.timeoutId=setTimeout(function(){l(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){l(!0),u()},this.blinkInterval),u()}},L.prototype.getPixelPosition=function(l,u){if(!this.config||!this.session)return{left:0,top:0};l||(l=this.session.selection.getCursor());var i=this.session.documentToScreenPosition(l),r=this.$padding+(this.session.$bidiHandler.isBidiRow(i.row,l.row)?this.session.$bidiHandler.getPosLeft(i.column):i.column*this.config.characterWidth),o=(i.row-(u?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:o}},L.prototype.isCursorInView=function(l,u){return l.top>=0&&l.top<u.maxHeight},L.prototype.update=function(l){this.config=l;var u=this.session.$selectionMarkers,i=0,r=0;(u===void 0||u.length===0)&&(u=[{cursor:null}]);for(var i=0,o=u.length;i<o;i++){var t=this.getPixelPosition(u[i].cursor,!0);if(!((t.top>l.height+l.offset||t.top<0)&&i>1)){var e=this.cursors[r++]||this.addCursor(),n=e.style;this.drawCursor?this.drawCursor(e,t,l,u[i],this.session):this.isCursorInView(t,l)?(B.setStyle(n,"display","block"),B.translate(e,t.left,t.top),B.setStyle(n,"width",Math.round(l.characterWidth)+"px"),B.setStyle(n,"height",l.lineHeight+"px")):B.setStyle(n,"display","none")}}for(;this.cursors.length>r;)this.removeCursor();var c=this.session.getOverwrite();this.$setOverwrite(c),this.$pixelPos=t,this.restartTimer()},L.prototype.$setOverwrite=function(l){l!=this.overwrite&&(this.overwrite=l,l?B.addCssClass(this.element,"ace_overwrite-cursors"):B.removeCssClass(this.element,"ace_overwrite-cursors"))},L.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},L}();T.prototype.$padding=0,T.prototype.drawCursor=null,p.Cursor=T}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(f,p,ze){var B=this&&this.__extends||function(){var e=function(n,c){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,g){d.__proto__=g}||function(d,g){for(var G in g)Object.prototype.hasOwnProperty.call(g,G)&&(d[G]=g[G])},e(n,c)};return function(n,c){if(typeof c!="function"&&c!==null)throw new TypeError("Class extends value "+String(c)+" is not a constructor or null");e(n,c);function d(){this.constructor=n}n.prototype=c===null?Object.create(c):(d.prototype=c.prototype,new d)}}(),T=f("./lib/oop"),L=f("./lib/dom"),l=f("./lib/event"),u=f("./lib/event_emitter").EventEmitter,i=32768,r=function(){function e(n,c){this.element=L.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+c,this.inner=L.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),n.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)}return e.prototype.setVisible=function(n){this.element.style.display=n?"":"none",this.isVisible=n,this.coeff=1},e}();T.implement(r.prototype,u);var o=function(e){B(n,e);function n(c,d){var g=e.call(this,c,"-v")||this;return g.scrollTop=0,g.scrollHeight=0,d.$scrollbarWidth=g.width=L.scrollbarWidth(c.ownerDocument),g.inner.style.width=g.element.style.width=(g.width||15)+5+"px",g.$minWidth=0,g}return n.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var c=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-c)/(this.coeff-c)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},n.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},n.prototype.setHeight=function(c){this.element.style.height=c+"px"},n.prototype.setScrollHeight=function(c){this.scrollHeight=c,c>i?(this.coeff=i/c,c=i):this.coeff!=1&&(this.coeff=1),this.inner.style.height=c+"px"},n.prototype.setScrollTop=function(c){this.scrollTop!=c&&(this.skipEvent=!0,this.scrollTop=c,this.element.scrollTop=c*this.coeff)},n}(r);o.prototype.setInnerHeight=o.prototype.setScrollHeight;var t=function(e){B(n,e);function n(c,d){var g=e.call(this,c,"-h")||this;return g.scrollLeft=0,g.height=d.$scrollbarWidth,g.inner.style.height=g.element.style.height=(g.height||15)+5+"px",g}return n.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},n.prototype.getHeight=function(){return this.isVisible?this.height:0},n.prototype.setWidth=function(c){this.element.style.width=c+"px"},n.prototype.setInnerWidth=function(c){this.inner.style.width=c+"px"},n.prototype.setScrollWidth=function(c){this.inner.style.width=c+"px"},n.prototype.setScrollLeft=function(c){this.scrollLeft!=c&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=c)},n}(r);p.ScrollBar=o,p.ScrollBarV=o,p.ScrollBarH=t,p.VScrollBar=o,p.HScrollBar=t}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(f,p,ze){var B=this&&this.__extends||function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,d){c.__proto__=d}||function(c,d){for(var g in d)Object.prototype.hasOwnProperty.call(d,g)&&(c[g]=d[g])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function c(){this.constructor=e}e.prototype=n===null?Object.create(n):(c.prototype=n.prototype,new c)}}(),T=f("./lib/oop"),L=f("./lib/dom"),l=f("./lib/event"),u=f("./lib/event_emitter").EventEmitter;L.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
|
210
|
+
position: absolute;
|
211
|
+
background: rgba(128, 128, 128, 0.6);
|
212
|
+
-moz-box-sizing: border-box;
|
213
|
+
box-sizing: border-box;
|
214
|
+
border: 1px solid #bbb;
|
215
|
+
border-radius: 2px;
|
216
|
+
z-index: 8;
|
217
|
+
}
|
218
|
+
.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
|
219
|
+
position: absolute;
|
220
|
+
z-index: 6;
|
221
|
+
background: none;
|
222
|
+
overflow: hidden!important;
|
223
|
+
}
|
224
|
+
.ace_editor>.ace_sb-v {
|
225
|
+
z-index: 6;
|
226
|
+
right: 0;
|
227
|
+
top: 0;
|
228
|
+
width: 12px;
|
229
|
+
}
|
230
|
+
.ace_editor>.ace_sb-v div {
|
231
|
+
z-index: 8;
|
232
|
+
right: 0;
|
233
|
+
width: 100%;
|
234
|
+
}
|
235
|
+
.ace_editor>.ace_sb-h {
|
236
|
+
bottom: 0;
|
237
|
+
left: 0;
|
238
|
+
height: 12px;
|
239
|
+
}
|
240
|
+
.ace_editor>.ace_sb-h div {
|
241
|
+
bottom: 0;
|
242
|
+
height: 100%;
|
243
|
+
}
|
244
|
+
.ace_editor>.ace_sb_grabbed {
|
245
|
+
z-index: 8;
|
246
|
+
background: #000;
|
247
|
+
}`,"ace_scrollbar.css",!1);var i=function(){function t(e,n){this.element=L.createElement("div"),this.element.className="ace_sb"+n,this.inner=L.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,l.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return t.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},t}();T.implement(i.prototype,u);var r=function(t){B(e,t);function e(n,c){var d=t.call(this,n,"-v")||this;return d.scrollTop=0,d.scrollHeight=0,d.parent=n,d.width=d.VScrollWidth,d.renderer=c,d.inner.style.width=d.element.style.width=(d.width||15)+"px",d.$minWidth=0,d}return e.prototype.onMouseDown=function(n,c){if(n==="mousedown"&&!(l.getButton(c)!==0||c.detail===2)){if(c.target===this.inner){var d=this,g=c.clientY,G=function(j){g=j.clientY},R=function(){clearInterval(He)},_=c.clientY,S=this.thumbTop,Me=function(){if(g!==void 0){var j=d.scrollTopFromThumbTop(S+g-_);j!==d.scrollTop&&d._emit("scroll",{data:j})}};l.capture(this.inner,G,R);var He=setInterval(Me,20);return l.preventDefault(c)}var Te=c.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(Te)}),l.preventDefault(c)}},e.prototype.getHeight=function(){return this.height},e.prototype.scrollTopFromThumbTop=function(n){var c=n*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return c=c>>0,c<0?c=0:c>this.pageHeight-this.viewHeight&&(c=this.pageHeight-this.viewHeight),c},e.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},e.prototype.setHeight=function(n){this.height=Math.max(0,n),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},e.prototype.setScrollHeight=function(n,c){this.pageHeight===n&&!c||(this.pageHeight=n,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},e.prototype.setScrollTop=function(n){this.scrollTop=n,n<0&&(n=0),this.thumbTop=n*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},e}(i);r.prototype.setInnerHeight=r.prototype.setScrollHeight;var o=function(t){B(e,t);function e(n,c){var d=t.call(this,n,"-h")||this;return d.scrollLeft=0,d.scrollWidth=0,d.height=d.HScrollHeight,d.inner.style.height=d.element.style.height=(d.height||12)+"px",d.renderer=c,d}return e.prototype.onMouseDown=function(n,c){if(n==="mousedown"&&!(l.getButton(c)!==0||c.detail===2)){if(c.target===this.inner){var d=this,g=c.clientX,G=function(j){g=j.clientX},R=function(){clearInterval(He)},_=c.clientX,S=this.thumbLeft,Me=function(){if(g!==void 0){var j=d.scrollLeftFromThumbLeft(S+g-_);j!==d.scrollLeft&&d._emit("scroll",{data:j})}};l.capture(this.inner,G,R);var He=setInterval(Me,20);return l.preventDefault(c)}var Te=c.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(Te)}),l.preventDefault(c)}},e.prototype.getHeight=function(){return this.isVisible?this.height:0},e.prototype.scrollLeftFromThumbLeft=function(n){var c=n*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return c=c>>0,c<0?c=0:c>this.pageWidth-this.viewWidth&&(c=this.pageWidth-this.viewWidth),c},e.prototype.setWidth=function(n){this.width=Math.max(0,n),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},e.prototype.setScrollWidth=function(n,c){this.pageWidth===n&&!c||(this.pageWidth=n,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},e.prototype.setScrollLeft=function(n){this.scrollLeft=n,n<0&&(n=0),this.thumbLeft=n*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},e}(i);o.prototype.setInnerWidth=o.prototype.setScrollWidth,p.ScrollBar=r,p.ScrollBarV=r,p.ScrollBarH=o,p.VScrollBar=r,p.HScrollBar=o}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(f,p,ze){var B=f("./lib/event"),T=function(){function L(l,u){this.onRender=l,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=u||window;var i=this;this._flush=function(r){i.pending=!1;var o=i.changes;if(o&&(B.blockIdle(100),i.changes=0,i.onRender(o)),i.changes){if(i.$recursionLimit--<0)return;i.schedule()}else i.$recursionLimit=2}}return L.prototype.schedule=function(l){this.changes=this.changes|l,this.changes&&!this.pending&&(B.nextFrame(this._flush),this.pending=!0)},L.prototype.clear=function(l){var u=this.changes;return this.changes=0,u},L}();p.RenderLoop=T}),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(f,p,ze){var B=f("../lib/oop"),T=f("../lib/dom"),L=f("../lib/lang"),l=f("../lib/event"),u=f("../lib/useragent"),i=f("../lib/event_emitter").EventEmitter,r=512,o=typeof ResizeObserver=="function",t=200,e=function(){function n(c){this.el=T.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=T.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=T.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),c.appendChild(this.el),this.$measureNode.textContent=L.stringRepeat("X",r),this.$characterSize={width:0,height:0},o?this.$addObserver():this.checkForSizeChanges()}return n.prototype.$setMeasureNodeStyles=function(c,d){c.width=c.height="auto",c.left=c.top="0px",c.visibility="hidden",c.position="absolute",c.whiteSpace="pre",u.isIE<8?c["font-family"]="inherit":c.font="inherit",c.overflow=d?"hidden":"visible"},n.prototype.checkForSizeChanges=function(c){if(c===void 0&&(c=this.$measureSizes()),c&&(this.$characterSize.width!==c.width||this.$characterSize.height!==c.height)){this.$measureNode.style.fontWeight="bold";var d=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=c,this.charSizes=Object.create(null),this.allowBoldFonts=d&&d.width===c.width&&d.height===c.height,this._emit("changeCharacterSize",{data:c})}},n.prototype.$addObserver=function(){var c=this;this.$observer=new window.ResizeObserver(function(d){c.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},n.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var c=this;return this.$pollSizeChangesTimer=l.onIdle(function d(){c.checkForSizeChanges(),l.onIdle(d,500)},500)},n.prototype.setPolling=function(c){c?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},n.prototype.$measureSizes=function(c){var d={height:(c||this.$measureNode).clientHeight,width:(c||this.$measureNode).clientWidth/r};return d.width===0||d.height===0?null:d},n.prototype.$measureCharWidth=function(c){this.$main.textContent=L.stringRepeat(c,r);var d=this.$main.getBoundingClientRect();return d.width/r},n.prototype.getCharacterWidth=function(c){var d=this.charSizes[c];return d===void 0&&(d=this.charSizes[c]=this.$measureCharWidth(c)/this.$characterSize.width),d},n.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},n.prototype.$getZoom=function(c){return!c||!c.parentElement?1:(Number(window.getComputedStyle(c).zoom)||1)*this.$getZoom(c.parentElement)},n.prototype.$initTransformMeasureNodes=function(){var c=function(d,g){return["div",{style:"position: absolute;top:"+d+"px;left:"+g+"px;"}]};this.els=T.buildDom([c(0,0),c(t,0),c(0,t),c(t,t)],this.el)},n.prototype.transformCoordinates=function(c,d){if(c){var g=this.$getZoom(this.el);c=S(1/g,c)}function G(xt,Rt,ii){var Et=xt[1]*Rt[0]-xt[0]*Rt[1];return[(-Rt[1]*ii[0]+Rt[0]*ii[1])/Et,(+xt[1]*ii[0]-xt[0]*ii[1])/Et]}function R(xt,Rt){return[xt[0]-Rt[0],xt[1]-Rt[1]]}function _(xt,Rt){return[xt[0]+Rt[0],xt[1]+Rt[1]]}function S(xt,Rt){return[xt*Rt[0],xt*Rt[1]]}this.els||this.$initTransformMeasureNodes();function Me(xt){var Rt=xt.getBoundingClientRect();return[Rt.left,Rt.top]}var He=Me(this.els[0]),Te=Me(this.els[1]),j=Me(this.els[2]),yt=Me(this.els[3]),y=G(R(yt,Te),R(yt,j),R(_(Te,j),_(yt,He))),h=S(1+y[0],R(Te,He)),w=S(1+y[1],R(j,He));if(d){var O=d,We=y[0]*O[0]/t+y[1]*O[1]/t+1,mt=_(S(O[0],h),S(O[1],w));return _(S(1/We/t,mt),He)}var wt=R(c,He),St=G(R(h,S(y[0],wt)),R(w,S(y[1],wt)),wt);return S(t,St)},n}();e.prototype.$characterSize={width:0,height:0},B.implement(e.prototype,i),p.FontMetrics=e}),ace.define("ace/css/editor-css",["require","exports","module"],function(f,p,ze){ze.exports=`
|
248
|
+
.ace_br1 {border-top-left-radius : 3px;}
|
249
|
+
.ace_br2 {border-top-right-radius : 3px;}
|
250
|
+
.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
|
251
|
+
.ace_br4 {border-bottom-right-radius: 3px;}
|
252
|
+
.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
|
253
|
+
.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
|
254
|
+
.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
|
255
|
+
.ace_br8 {border-bottom-left-radius : 3px;}
|
256
|
+
.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
|
257
|
+
.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
|
258
|
+
.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
|
259
|
+
.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
260
|
+
.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
261
|
+
.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
262
|
+
.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
263
|
+
|
264
|
+
|
265
|
+
.ace_editor {
|
266
|
+
position: relative;
|
267
|
+
overflow: hidden;
|
268
|
+
padding: 0;
|
269
|
+
font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
|
270
|
+
direction: ltr;
|
271
|
+
text-align: left;
|
272
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
273
|
+
forced-color-adjust: none;
|
274
|
+
}
|
275
|
+
|
276
|
+
.ace_scroller {
|
277
|
+
position: absolute;
|
278
|
+
overflow: hidden;
|
279
|
+
top: 0;
|
280
|
+
bottom: 0;
|
281
|
+
background-color: inherit;
|
282
|
+
-ms-user-select: none;
|
283
|
+
-moz-user-select: none;
|
284
|
+
-webkit-user-select: none;
|
285
|
+
user-select: none;
|
286
|
+
cursor: text;
|
287
|
+
}
|
288
|
+
|
289
|
+
.ace_content {
|
290
|
+
position: absolute;
|
291
|
+
box-sizing: border-box;
|
292
|
+
min-width: 100%;
|
293
|
+
contain: style size layout;
|
294
|
+
font-variant-ligatures: no-common-ligatures;
|
295
|
+
}
|
296
|
+
|
297
|
+
.ace_keyboard-focus:focus {
|
298
|
+
box-shadow: inset 0 0 0 2px #5E9ED6;
|
299
|
+
outline: none;
|
300
|
+
}
|
301
|
+
|
302
|
+
.ace_dragging .ace_scroller:before{
|
303
|
+
position: absolute;
|
304
|
+
top: 0;
|
305
|
+
left: 0;
|
306
|
+
right: 0;
|
307
|
+
bottom: 0;
|
308
|
+
content: '';
|
309
|
+
background: rgba(250, 250, 250, 0.01);
|
310
|
+
z-index: 1000;
|
311
|
+
}
|
312
|
+
.ace_dragging.ace_dark .ace_scroller:before{
|
313
|
+
background: rgba(0, 0, 0, 0.01);
|
314
|
+
}
|
315
|
+
|
316
|
+
.ace_gutter {
|
317
|
+
position: absolute;
|
318
|
+
overflow : hidden;
|
319
|
+
width: auto;
|
320
|
+
top: 0;
|
321
|
+
bottom: 0;
|
322
|
+
left: 0;
|
323
|
+
cursor: default;
|
324
|
+
z-index: 4;
|
325
|
+
-ms-user-select: none;
|
326
|
+
-moz-user-select: none;
|
327
|
+
-webkit-user-select: none;
|
328
|
+
user-select: none;
|
329
|
+
contain: style size layout;
|
330
|
+
}
|
331
|
+
|
332
|
+
.ace_gutter-active-line {
|
333
|
+
position: absolute;
|
334
|
+
left: 0;
|
335
|
+
right: 0;
|
336
|
+
}
|
337
|
+
|
338
|
+
.ace_scroller.ace_scroll-left:after {
|
339
|
+
content: "";
|
340
|
+
position: absolute;
|
341
|
+
top: 0;
|
342
|
+
right: 0;
|
343
|
+
bottom: 0;
|
344
|
+
left: 0;
|
345
|
+
box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
|
346
|
+
pointer-events: none;
|
347
|
+
}
|
348
|
+
|
349
|
+
.ace_gutter-cell, .ace_gutter-cell_svg-icons {
|
350
|
+
position: absolute;
|
351
|
+
top: 0;
|
352
|
+
left: 0;
|
353
|
+
right: 0;
|
354
|
+
padding-left: 19px;
|
355
|
+
padding-right: 6px;
|
356
|
+
background-repeat: no-repeat;
|
357
|
+
}
|
358
|
+
|
359
|
+
.ace_gutter-cell_svg-icons .ace_gutter_annotation {
|
360
|
+
margin-left: -14px;
|
361
|
+
float: left;
|
362
|
+
}
|
363
|
+
|
364
|
+
.ace_gutter-cell .ace_gutter_annotation {
|
365
|
+
margin-left: -19px;
|
366
|
+
float: left;
|
367
|
+
}
|
368
|
+
|
369
|
+
.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {
|
370
|
+
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==");
|
371
|
+
background-repeat: no-repeat;
|
372
|
+
background-position: 2px center;
|
373
|
+
}
|
374
|
+
|
375
|
+
.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
|
376
|
+
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==");
|
377
|
+
background-repeat: no-repeat;
|
378
|
+
background-position: 2px center;
|
379
|
+
}
|
380
|
+
|
381
|
+
.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
|
382
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
|
383
|
+
background-repeat: no-repeat;
|
384
|
+
background-position: 2px center;
|
385
|
+
}
|
386
|
+
|
387
|
+
.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {
|
388
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
|
389
|
+
}
|
390
|
+
|
391
|
+
.ace_icon_svg.ace_error {
|
392
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
|
393
|
+
background-color: crimson;
|
394
|
+
}
|
395
|
+
.ace_icon_svg.ace_security {
|
396
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
|
397
|
+
background-color: crimson;
|
398
|
+
}
|
399
|
+
.ace_icon_svg.ace_warning {
|
400
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
|
401
|
+
background-color: darkorange;
|
402
|
+
}
|
403
|
+
.ace_icon_svg.ace_info {
|
404
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
|
405
|
+
background-color: royalblue;
|
406
|
+
}
|
407
|
+
.ace_icon_svg.ace_hint {
|
408
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
|
409
|
+
background-color: silver;
|
410
|
+
}
|
411
|
+
|
412
|
+
.ace_icon_svg.ace_error_fold {
|
413
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
414
|
+
background-color: crimson;
|
415
|
+
}
|
416
|
+
.ace_icon_svg.ace_security_fold {
|
417
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
418
|
+
background-color: crimson;
|
419
|
+
}
|
420
|
+
.ace_icon_svg.ace_warning_fold {
|
421
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
|
422
|
+
background-color: darkorange;
|
423
|
+
}
|
424
|
+
|
425
|
+
.ace_scrollbar {
|
426
|
+
contain: strict;
|
427
|
+
position: absolute;
|
428
|
+
right: 0;
|
429
|
+
bottom: 0;
|
430
|
+
z-index: 6;
|
431
|
+
}
|
432
|
+
|
433
|
+
.ace_scrollbar-inner {
|
434
|
+
position: absolute;
|
435
|
+
cursor: text;
|
436
|
+
left: 0;
|
437
|
+
top: 0;
|
438
|
+
}
|
439
|
+
|
440
|
+
.ace_scrollbar-v{
|
441
|
+
overflow-x: hidden;
|
442
|
+
overflow-y: scroll;
|
443
|
+
top: 0;
|
444
|
+
}
|
445
|
+
|
446
|
+
.ace_scrollbar-h {
|
447
|
+
overflow-x: scroll;
|
448
|
+
overflow-y: hidden;
|
449
|
+
left: 0;
|
450
|
+
}
|
451
|
+
|
452
|
+
.ace_print-margin {
|
453
|
+
position: absolute;
|
454
|
+
height: 100%;
|
455
|
+
}
|
456
|
+
|
457
|
+
.ace_text-input {
|
458
|
+
position: absolute;
|
459
|
+
z-index: 0;
|
460
|
+
width: 0.5em;
|
461
|
+
height: 1em;
|
462
|
+
opacity: 0;
|
463
|
+
background: transparent;
|
464
|
+
-moz-appearance: none;
|
465
|
+
appearance: none;
|
466
|
+
border: none;
|
467
|
+
resize: none;
|
468
|
+
outline: none;
|
469
|
+
overflow: hidden;
|
470
|
+
font: inherit;
|
471
|
+
padding: 0 1px;
|
472
|
+
margin: 0 -1px;
|
473
|
+
contain: strict;
|
474
|
+
-ms-user-select: text;
|
475
|
+
-moz-user-select: text;
|
476
|
+
-webkit-user-select: text;
|
477
|
+
user-select: text;
|
478
|
+
/*with \`pre-line\` chrome inserts instead of space*/
|
479
|
+
white-space: pre!important;
|
480
|
+
}
|
481
|
+
.ace_text-input.ace_composition {
|
482
|
+
background: transparent;
|
483
|
+
color: inherit;
|
484
|
+
z-index: 1000;
|
485
|
+
opacity: 1;
|
486
|
+
}
|
487
|
+
.ace_composition_placeholder { color: transparent }
|
488
|
+
.ace_composition_marker {
|
489
|
+
border-bottom: 1px solid;
|
490
|
+
position: absolute;
|
491
|
+
border-radius: 0;
|
492
|
+
margin-top: 1px;
|
493
|
+
}
|
494
|
+
|
495
|
+
[ace_nocontext=true] {
|
496
|
+
transform: none!important;
|
497
|
+
filter: none!important;
|
498
|
+
clip-path: none!important;
|
499
|
+
mask : none!important;
|
500
|
+
contain: none!important;
|
501
|
+
perspective: none!important;
|
502
|
+
mix-blend-mode: initial!important;
|
503
|
+
z-index: auto;
|
504
|
+
}
|
505
|
+
|
506
|
+
.ace_layer {
|
507
|
+
z-index: 1;
|
508
|
+
position: absolute;
|
509
|
+
overflow: hidden;
|
510
|
+
/* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
|
511
|
+
word-wrap: normal;
|
512
|
+
white-space: pre;
|
513
|
+
height: 100%;
|
514
|
+
width: 100%;
|
515
|
+
box-sizing: border-box;
|
516
|
+
/* setting pointer-events: auto; on node under the mouse, which changes
|
517
|
+
during scroll, will break mouse wheel scrolling in Safari */
|
518
|
+
pointer-events: none;
|
519
|
+
}
|
520
|
+
|
521
|
+
.ace_gutter-layer {
|
522
|
+
position: relative;
|
523
|
+
width: auto;
|
524
|
+
text-align: right;
|
525
|
+
pointer-events: auto;
|
526
|
+
height: 1000000px;
|
527
|
+
contain: style size layout;
|
528
|
+
}
|
529
|
+
|
530
|
+
.ace_text-layer {
|
531
|
+
font: inherit !important;
|
532
|
+
position: absolute;
|
533
|
+
height: 1000000px;
|
534
|
+
width: 1000000px;
|
535
|
+
contain: style size layout;
|
536
|
+
}
|
537
|
+
|
538
|
+
.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
|
539
|
+
contain: style size layout;
|
540
|
+
position: absolute;
|
541
|
+
top: 0;
|
542
|
+
left: 0;
|
543
|
+
right: 0;
|
544
|
+
}
|
545
|
+
|
546
|
+
.ace_hidpi .ace_text-layer,
|
547
|
+
.ace_hidpi .ace_gutter-layer,
|
548
|
+
.ace_hidpi .ace_content,
|
549
|
+
.ace_hidpi .ace_gutter {
|
550
|
+
contain: strict;
|
551
|
+
}
|
552
|
+
.ace_hidpi .ace_text-layer > .ace_line,
|
553
|
+
.ace_hidpi .ace_text-layer > .ace_line_group {
|
554
|
+
contain: strict;
|
555
|
+
}
|
556
|
+
|
557
|
+
.ace_cjk {
|
558
|
+
display: inline-block;
|
559
|
+
text-align: center;
|
560
|
+
}
|
561
|
+
|
562
|
+
.ace_cursor-layer {
|
563
|
+
z-index: 4;
|
564
|
+
}
|
565
|
+
|
566
|
+
.ace_cursor {
|
567
|
+
z-index: 4;
|
568
|
+
position: absolute;
|
569
|
+
box-sizing: border-box;
|
570
|
+
border-left: 2px solid;
|
571
|
+
/* workaround for smooth cursor repaintng whole screen in chrome */
|
572
|
+
transform: translatez(0);
|
573
|
+
}
|
574
|
+
|
575
|
+
.ace_multiselect .ace_cursor {
|
576
|
+
border-left-width: 1px;
|
577
|
+
}
|
578
|
+
|
579
|
+
.ace_slim-cursors .ace_cursor {
|
580
|
+
border-left-width: 1px;
|
581
|
+
}
|
582
|
+
|
583
|
+
.ace_overwrite-cursors .ace_cursor {
|
584
|
+
border-left-width: 0;
|
585
|
+
border-bottom: 1px solid;
|
586
|
+
}
|
587
|
+
|
588
|
+
.ace_hidden-cursors .ace_cursor {
|
589
|
+
opacity: 0.2;
|
590
|
+
}
|
591
|
+
|
592
|
+
.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
|
593
|
+
opacity: 0;
|
594
|
+
}
|
595
|
+
|
596
|
+
.ace_smooth-blinking .ace_cursor {
|
597
|
+
transition: opacity 0.18s;
|
598
|
+
}
|
599
|
+
|
600
|
+
.ace_animate-blinking .ace_cursor {
|
601
|
+
animation-duration: 1000ms;
|
602
|
+
animation-timing-function: step-end;
|
603
|
+
animation-name: blink-ace-animate;
|
604
|
+
animation-iteration-count: infinite;
|
605
|
+
}
|
606
|
+
|
607
|
+
.ace_animate-blinking.ace_smooth-blinking .ace_cursor {
|
608
|
+
animation-duration: 1000ms;
|
609
|
+
animation-timing-function: ease-in-out;
|
610
|
+
animation-name: blink-ace-animate-smooth;
|
611
|
+
}
|
612
|
+
|
613
|
+
@keyframes blink-ace-animate {
|
614
|
+
from, to { opacity: 1; }
|
615
|
+
60% { opacity: 0; }
|
616
|
+
}
|
617
|
+
|
618
|
+
@keyframes blink-ace-animate-smooth {
|
619
|
+
from, to { opacity: 1; }
|
620
|
+
45% { opacity: 1; }
|
621
|
+
60% { opacity: 0; }
|
622
|
+
85% { opacity: 0; }
|
623
|
+
}
|
624
|
+
|
625
|
+
.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
|
626
|
+
position: absolute;
|
627
|
+
z-index: 3;
|
628
|
+
}
|
629
|
+
|
630
|
+
.ace_marker-layer .ace_selection {
|
631
|
+
position: absolute;
|
632
|
+
z-index: 5;
|
633
|
+
}
|
634
|
+
|
635
|
+
.ace_marker-layer .ace_bracket {
|
636
|
+
position: absolute;
|
637
|
+
z-index: 6;
|
638
|
+
}
|
639
|
+
|
640
|
+
.ace_marker-layer .ace_error_bracket {
|
641
|
+
position: absolute;
|
642
|
+
border-bottom: 1px solid #DE5555;
|
643
|
+
border-radius: 0;
|
644
|
+
}
|
645
|
+
|
646
|
+
.ace_marker-layer .ace_active-line {
|
647
|
+
position: absolute;
|
648
|
+
z-index: 2;
|
649
|
+
}
|
650
|
+
|
651
|
+
.ace_marker-layer .ace_selected-word {
|
652
|
+
position: absolute;
|
653
|
+
z-index: 4;
|
654
|
+
box-sizing: border-box;
|
655
|
+
}
|
656
|
+
|
657
|
+
.ace_line .ace_fold {
|
658
|
+
box-sizing: border-box;
|
659
|
+
|
660
|
+
display: inline-block;
|
661
|
+
height: 11px;
|
662
|
+
margin-top: -2px;
|
663
|
+
vertical-align: middle;
|
664
|
+
|
665
|
+
background-image:
|
666
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
667
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
|
668
|
+
background-repeat: no-repeat, repeat-x;
|
669
|
+
background-position: center center, top left;
|
670
|
+
color: transparent;
|
671
|
+
|
672
|
+
border: 1px solid black;
|
673
|
+
border-radius: 2px;
|
674
|
+
|
675
|
+
cursor: pointer;
|
676
|
+
pointer-events: auto;
|
677
|
+
}
|
678
|
+
|
679
|
+
.ace_dark .ace_fold {
|
680
|
+
}
|
681
|
+
|
682
|
+
.ace_fold:hover{
|
683
|
+
background-image:
|
684
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
685
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
|
686
|
+
}
|
687
|
+
|
688
|
+
.ace_tooltip {
|
689
|
+
background-color: #f5f5f5;
|
690
|
+
border: 1px solid gray;
|
691
|
+
border-radius: 1px;
|
692
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
693
|
+
color: black;
|
694
|
+
max-width: 100%;
|
695
|
+
padding: 3px 4px;
|
696
|
+
position: fixed;
|
697
|
+
z-index: 999999;
|
698
|
+
box-sizing: border-box;
|
699
|
+
cursor: default;
|
700
|
+
white-space: pre-wrap;
|
701
|
+
word-wrap: break-word;
|
702
|
+
line-height: normal;
|
703
|
+
font-style: normal;
|
704
|
+
font-weight: normal;
|
705
|
+
letter-spacing: normal;
|
706
|
+
pointer-events: none;
|
707
|
+
overflow: auto;
|
708
|
+
max-width: min(60em, 66vw);
|
709
|
+
overscroll-behavior: contain;
|
710
|
+
}
|
711
|
+
.ace_tooltip pre {
|
712
|
+
white-space: pre-wrap;
|
713
|
+
}
|
714
|
+
|
715
|
+
.ace_tooltip.ace_dark {
|
716
|
+
background-color: #636363;
|
717
|
+
color: #fff;
|
718
|
+
}
|
719
|
+
|
720
|
+
.ace_tooltip:focus {
|
721
|
+
outline: 1px solid #5E9ED6;
|
722
|
+
}
|
723
|
+
|
724
|
+
.ace_icon {
|
725
|
+
display: inline-block;
|
726
|
+
width: 18px;
|
727
|
+
vertical-align: top;
|
728
|
+
}
|
729
|
+
|
730
|
+
.ace_icon_svg {
|
731
|
+
display: inline-block;
|
732
|
+
width: 12px;
|
733
|
+
vertical-align: top;
|
734
|
+
-webkit-mask-repeat: no-repeat;
|
735
|
+
-webkit-mask-size: 12px;
|
736
|
+
-webkit-mask-position: center;
|
737
|
+
}
|
738
|
+
|
739
|
+
.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
|
740
|
+
padding-right: 13px;
|
741
|
+
}
|
742
|
+
|
743
|
+
.ace_fold-widget {
|
744
|
+
box-sizing: border-box;
|
745
|
+
|
746
|
+
margin: 0 -12px 0 1px;
|
747
|
+
display: none;
|
748
|
+
width: 11px;
|
749
|
+
vertical-align: top;
|
750
|
+
|
751
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
|
752
|
+
background-repeat: no-repeat;
|
753
|
+
background-position: center;
|
754
|
+
|
755
|
+
border-radius: 3px;
|
756
|
+
|
757
|
+
border: 1px solid transparent;
|
758
|
+
cursor: pointer;
|
759
|
+
}
|
760
|
+
|
761
|
+
.ace_folding-enabled .ace_fold-widget {
|
762
|
+
display: inline-block;
|
763
|
+
}
|
764
|
+
|
765
|
+
.ace_fold-widget.ace_end {
|
766
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
|
767
|
+
}
|
768
|
+
|
769
|
+
.ace_fold-widget.ace_closed {
|
770
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
|
771
|
+
}
|
772
|
+
|
773
|
+
.ace_fold-widget:hover {
|
774
|
+
border: 1px solid rgba(0, 0, 0, 0.3);
|
775
|
+
background-color: rgba(255, 255, 255, 0.2);
|
776
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
777
|
+
}
|
778
|
+
|
779
|
+
.ace_fold-widget:active {
|
780
|
+
border: 1px solid rgba(0, 0, 0, 0.4);
|
781
|
+
background-color: rgba(0, 0, 0, 0.05);
|
782
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
783
|
+
}
|
784
|
+
/**
|
785
|
+
* Dark version for fold widgets
|
786
|
+
*/
|
787
|
+
.ace_dark .ace_fold-widget {
|
788
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
|
789
|
+
}
|
790
|
+
.ace_dark .ace_fold-widget.ace_end {
|
791
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
|
792
|
+
}
|
793
|
+
.ace_dark .ace_fold-widget.ace_closed {
|
794
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
|
795
|
+
}
|
796
|
+
.ace_dark .ace_fold-widget:hover {
|
797
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
798
|
+
background-color: rgba(255, 255, 255, 0.1);
|
799
|
+
}
|
800
|
+
.ace_dark .ace_fold-widget:active {
|
801
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
802
|
+
}
|
803
|
+
|
804
|
+
.ace_inline_button {
|
805
|
+
border: 1px solid lightgray;
|
806
|
+
display: inline-block;
|
807
|
+
margin: -1px 8px;
|
808
|
+
padding: 0 5px;
|
809
|
+
pointer-events: auto;
|
810
|
+
cursor: pointer;
|
811
|
+
}
|
812
|
+
.ace_inline_button:hover {
|
813
|
+
border-color: gray;
|
814
|
+
background: rgba(200,200,200,0.2);
|
815
|
+
display: inline-block;
|
816
|
+
pointer-events: auto;
|
817
|
+
}
|
818
|
+
|
819
|
+
.ace_fold-widget.ace_invalid {
|
820
|
+
background-color: #FFB4B4;
|
821
|
+
border-color: #DE5555;
|
822
|
+
}
|
823
|
+
|
824
|
+
.ace_fade-fold-widgets .ace_fold-widget {
|
825
|
+
transition: opacity 0.4s ease 0.05s;
|
826
|
+
opacity: 0;
|
827
|
+
}
|
828
|
+
|
829
|
+
.ace_fade-fold-widgets:hover .ace_fold-widget {
|
830
|
+
transition: opacity 0.05s ease 0.05s;
|
831
|
+
opacity:1;
|
832
|
+
}
|
833
|
+
|
834
|
+
.ace_underline {
|
835
|
+
text-decoration: underline;
|
836
|
+
}
|
837
|
+
|
838
|
+
.ace_bold {
|
839
|
+
font-weight: bold;
|
840
|
+
}
|
841
|
+
|
842
|
+
.ace_nobold .ace_bold {
|
843
|
+
font-weight: normal;
|
844
|
+
}
|
845
|
+
|
846
|
+
.ace_italic {
|
847
|
+
font-style: italic;
|
848
|
+
}
|
849
|
+
|
850
|
+
|
851
|
+
.ace_error-marker {
|
852
|
+
background-color: rgba(255, 0, 0,0.2);
|
853
|
+
position: absolute;
|
854
|
+
z-index: 9;
|
855
|
+
}
|
856
|
+
|
857
|
+
.ace_highlight-marker {
|
858
|
+
background-color: rgba(255, 255, 0,0.2);
|
859
|
+
position: absolute;
|
860
|
+
z-index: 8;
|
861
|
+
}
|
862
|
+
|
863
|
+
.ace_mobile-menu {
|
864
|
+
position: absolute;
|
865
|
+
line-height: 1.5;
|
866
|
+
border-radius: 4px;
|
867
|
+
-ms-user-select: none;
|
868
|
+
-moz-user-select: none;
|
869
|
+
-webkit-user-select: none;
|
870
|
+
user-select: none;
|
871
|
+
background: white;
|
872
|
+
box-shadow: 1px 3px 2px grey;
|
873
|
+
border: 1px solid #dcdcdc;
|
874
|
+
color: black;
|
875
|
+
}
|
876
|
+
.ace_dark > .ace_mobile-menu {
|
877
|
+
background: #333;
|
878
|
+
color: #ccc;
|
879
|
+
box-shadow: 1px 3px 2px grey;
|
880
|
+
border: 1px solid #444;
|
881
|
+
|
882
|
+
}
|
883
|
+
.ace_mobile-button {
|
884
|
+
padding: 2px;
|
885
|
+
cursor: pointer;
|
886
|
+
overflow: hidden;
|
887
|
+
}
|
888
|
+
.ace_mobile-button:hover {
|
889
|
+
background-color: #eee;
|
890
|
+
opacity:1;
|
891
|
+
}
|
892
|
+
.ace_mobile-button:active {
|
893
|
+
background-color: #ddd;
|
894
|
+
}
|
895
|
+
|
896
|
+
.ace_placeholder {
|
897
|
+
position: relative;
|
898
|
+
font-family: arial;
|
899
|
+
transform: scale(0.9);
|
900
|
+
transform-origin: left;
|
901
|
+
white-space: pre;
|
902
|
+
opacity: 0.7;
|
903
|
+
margin: 0 10px;
|
904
|
+
z-index: 1;
|
905
|
+
}
|
906
|
+
|
907
|
+
.ace_ghost_text {
|
908
|
+
opacity: 0.5;
|
909
|
+
font-style: italic;
|
910
|
+
}
|
911
|
+
|
912
|
+
.ace_ghost_text_container > div {
|
913
|
+
white-space: pre;
|
914
|
+
}
|
915
|
+
|
916
|
+
.ghost_text_line_wrapped::after {
|
917
|
+
content: "↩";
|
918
|
+
position: absolute;
|
919
|
+
}
|
920
|
+
|
921
|
+
.ace_lineWidgetContainer.ace_ghost_text {
|
922
|
+
margin: 0px 4px
|
923
|
+
}
|
924
|
+
|
925
|
+
.ace_screenreader-only {
|
926
|
+
position:absolute;
|
927
|
+
left:-10000px;
|
928
|
+
top:auto;
|
929
|
+
width:1px;
|
930
|
+
height:1px;
|
931
|
+
overflow:hidden;
|
932
|
+
}
|
933
|
+
|
934
|
+
.ace_hidden_token {
|
935
|
+
display: none;
|
936
|
+
}`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(f,p,ze){var B=f("../lib/dom"),T=f("../lib/oop"),L=f("../lib/event_emitter").EventEmitter,l=function(){function u(i,r){this.canvas=B.createElement("canvas"),this.renderer=r,this.pixelRatio=1,this.maxHeight=r.layerConfig.maxHeight,this.lineHeight=r.layerConfig.lineHeight,this.canvasHeight=i.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=i.width,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},i.element.appendChild(this.canvas)}return u.prototype.$updateDecorators=function(i){var r=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;if(i){this.maxHeight=i.maxHeight,this.lineHeight=i.lineHeight,this.canvasHeight=i.height;var o=(i.lastRow+1)*this.lineHeight;o<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight}var t=this.canvas.getContext("2d");function e(yt,y){return yt.priority<y.priority?-1:yt.priority>y.priority?1:0}var n=this.renderer.session.$annotations;if(t.clearRect(0,0,this.canvas.width,this.canvas.height),n){var c={info:1,warning:2,error:3};n.forEach(function(yt){yt.priority=c[yt.type]||null}),n=n.sort(e);for(var d=this.renderer.session.$foldData,g=0;g<n.length;g++){var G=n[g].row,R=this.compensateFoldRows(G,d),_=Math.round((G-R)*this.lineHeight*this.heightRatio),S=Math.round((G-R)*this.lineHeight*this.heightRatio),Me=Math.round(((G-R)*this.lineHeight+this.lineHeight)*this.heightRatio),He=Me-S;if(He<this.minDecorationHeight){var Te=(S+Me)/2|0;Te<this.halfMinDecorationHeight?Te=this.halfMinDecorationHeight:Te+this.halfMinDecorationHeight>this.canvasHeight&&(Te=this.canvasHeight-this.halfMinDecorationHeight),S=Math.round(Te-this.halfMinDecorationHeight),Me=Math.round(Te+this.halfMinDecorationHeight)}t.fillStyle=r[n[g].type]||null,t.fillRect(0,_,this.canvasWidth,Me-S)}}var j=this.renderer.session.selection.getCursor();if(j){var R=this.compensateFoldRows(j.row,d),_=Math.round((j.row-R)*this.lineHeight*this.heightRatio);t.fillStyle="rgba(0, 0, 0, 0.5)",t.fillRect(0,_,this.canvasWidth,2)}},u.prototype.compensateFoldRows=function(i,r){var o=0;if(r&&r.length>0)for(var t=0;t<r.length;t++)i>r[t].start.row&&i<r[t].end.row?o+=i-r[t].start.row:i>=r[t].end.row&&(o+=r[t].end.row-r[t].start.row);return o},u}();T.implement(l.prototype,L),p.Decorator=l}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(f,p,ze){var B=f("./lib/oop"),T=f("./lib/dom"),L=f("./lib/lang"),l=f("./config"),u=f("./layer/gutter").Gutter,i=f("./layer/marker").Marker,r=f("./layer/text").Text,o=f("./layer/cursor").Cursor,t=f("./scrollbar").HScrollBar,e=f("./scrollbar").VScrollBar,n=f("./scrollbar_custom").HScrollBar,c=f("./scrollbar_custom").VScrollBar,d=f("./renderloop").RenderLoop,g=f("./layer/font_metrics").FontMetrics,G=f("./lib/event_emitter").EventEmitter,R=f("./css/editor-css"),_=f("./layer/decorators").Decorator,S=f("./lib/useragent"),Me=f("./layer/text_util").isTextToken;T.importCssString(R,"ace_editor.css",!1);var He=function(){function Te(j,yt){var y=this;this.container=j||T.createElement("div"),T.addCssClass(this.container,"ace_editor"),T.HI_DPI&&T.addCssClass(this.container,"ace_hidpi"),this.setTheme(yt),l.get("useStrictCSP")==null&&l.set("useStrictCSP",!1),this.$gutter=T.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=T.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=T.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new i(this.content);var h=this.$textLayer=new r(this.content);this.canvas=h.element,this.$markerFront=new i(this.content),this.$cursorLayer=new o(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.on("scroll",function(w){y.$scrollAnimation||y.session.setScrollTop(w.data-y.scrollMargin.top)}),this.scrollBarH.on("scroll",function(w){y.$scrollAnimation||y.session.setScrollLeft(w.data-y.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new g(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(w){y.updateCharacterSize(),y.onResize(!0,y.gutterWidth,y.$size.width,y.$size.height),y._signal("changeCharacterSize",w)}),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=!S.isIOS,this.$loop=new d(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),l.resetOptions(this),l._signal("renderer",this)}return Te.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),T.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},Te.prototype.setSession=function(j){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=j,j&&this.scrollMargin.top&&j.getScrollTop()<=0&&j.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(j),this.$markerBack.setSession(j),this.$markerFront.setSession(j),this.$gutterLayer.setSession(j),this.$textLayer.setSession(j),j&&(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))},Te.prototype.updateLines=function(j,yt,y){if(yt===void 0&&(yt=1/0),this.$changedLines?(this.$changedLines.firstRow>j&&(this.$changedLines.firstRow=j),this.$changedLines.lastRow<yt&&(this.$changedLines.lastRow=yt)):this.$changedLines={firstRow:j,lastRow:yt},this.$changedLines.lastRow<this.layerConfig.firstRow)if(y)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},Te.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},Te.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},Te.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},Te.prototype.updateFull=function(j){j?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},Te.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},Te.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},Te.prototype.onResize=function(j,yt,y,h){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=j?1:0;var w=this.container;h||(h=w.clientHeight||w.scrollHeight),!h&&this.$maxLines&&this.lineHeight>1&&(!w.style.height||w.style.height=="0px")&&(w.style.height="1px",h=w.clientHeight||w.scrollHeight),y||(y=w.clientWidth||w.scrollWidth);var O=this.$updateCachedSize(j,yt,y,h);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!y&&!h)return this.resizing=0;j&&(this.$gutterLayer.$padding=null),j?this.$renderChanges(O|this.$changes,!0):this.$loop.schedule(O|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},Te.prototype.$updateCachedSize=function(j,yt,y,h){h-=this.$extraHeight||0;var w=0,O=this.$size,We={width:O.width,height:O.height,scrollerHeight:O.scrollerHeight,scrollerWidth:O.scrollerWidth};if(h&&(j||O.height!=h)&&(O.height=h,w|=this.CHANGE_SIZE,O.scrollerHeight=O.height,this.$horizScroll&&(O.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(O.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",w=w|this.CHANGE_SCROLL),y&&(j||O.width!=y)){w|=this.CHANGE_SIZE,O.width=y,yt==null&&(yt=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=yt,T.setStyle(this.scrollBarH.element.style,"left",yt+"px"),T.setStyle(this.scroller.style,"left",yt+this.margin.left+"px"),O.scrollerWidth=Math.max(0,y-yt-this.scrollBarV.getWidth()-this.margin.h),T.setStyle(this.$gutter.style,"left",this.margin.left+"px");var mt=this.scrollBarV.getWidth()+"px";T.setStyle(this.scrollBarH.element.style,"right",mt),T.setStyle(this.scroller.style,"right",mt),T.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(O.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||j)&&(w|=this.CHANGE_FULL)}return O.$dirty=!y||!h,w&&this._signal("resize",We),w},Te.prototype.onGutterResize=function(j){var yt=this.$showGutter?j:0;yt!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,yt,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},Te.prototype.adjustWrapLimit=function(){var j=this.$size.scrollerWidth-this.$padding*2,yt=Math.floor(j/this.characterWidth);return this.session.adjustWrapLimit(yt,this.$showPrintMargin&&this.$printMarginColumn)},Te.prototype.setAnimatedScroll=function(j){this.setOption("animatedScroll",j)},Te.prototype.getAnimatedScroll=function(){return this.$animatedScroll},Te.prototype.setShowInvisibles=function(j){this.setOption("showInvisibles",j),this.session.$bidiHandler.setShowInvisibles(j)},Te.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},Te.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},Te.prototype.setDisplayIndentGuides=function(j){this.setOption("displayIndentGuides",j)},Te.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},Te.prototype.setHighlightIndentGuides=function(j){this.setOption("highlightIndentGuides",j)},Te.prototype.setShowPrintMargin=function(j){this.setOption("showPrintMargin",j)},Te.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},Te.prototype.setPrintMarginColumn=function(j){this.setOption("printMarginColumn",j)},Te.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},Te.prototype.getShowGutter=function(){return this.getOption("showGutter")},Te.prototype.setShowGutter=function(j){return this.setOption("showGutter",j)},Te.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},Te.prototype.setFadeFoldWidgets=function(j){this.setOption("fadeFoldWidgets",j)},Te.prototype.setHighlightGutterLine=function(j){this.setOption("highlightGutterLine",j)},Te.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},Te.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var j=T.createElement("div");j.className="ace_layer ace_print-margin-layer",this.$printMarginEl=T.createElement("div"),this.$printMarginEl.className="ace_print-margin",j.appendChild(this.$printMarginEl),this.content.insertBefore(j,this.content.firstChild)}var yt=this.$printMarginEl.style;yt.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",yt.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},Te.prototype.getContainerElement=function(){return this.container},Te.prototype.getMouseEventTarget=function(){return this.scroller},Te.prototype.getTextAreaContainer=function(){return this.container},Te.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var j=this.textarea.style,yt=this.$composition;if(!this.$keepTextAreaAtCursor&&!yt){T.translate(this.textarea,-100,0);return}var y=this.$cursorLayer.$pixelPos;if(y){yt&&yt.markerRange&&(y=this.$cursorLayer.getPixelPosition(yt.markerRange.start,!0));var h=this.layerConfig,w=y.top,O=y.left;w-=h.offset;var We=yt&&yt.useTextareaForIME||S.isMobile?this.lineHeight:1;if(w<0||w>h.height-We){T.translate(this.textarea,0,0);return}var mt=1,wt=this.$size.height-We;if(!yt)w+=this.lineHeight;else if(yt.useTextareaForIME){var St=this.textarea.value;mt=this.characterWidth*this.session.$getStringScreenWidth(St)[0]}else w+=this.lineHeight+2;O-=this.scrollLeft,O>this.$size.scrollerWidth-mt&&(O=this.$size.scrollerWidth-mt),O+=this.gutterWidth+this.margin.left,T.setStyle(j,"height",We+"px"),T.setStyle(j,"width",mt+"px"),T.translate(this.textarea,Math.min(O,this.$size.scrollerWidth-mt),Math.min(w,wt))}}},Te.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},Te.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},Te.prototype.getLastFullyVisibleRow=function(){var j=this.layerConfig,yt=j.lastRow,y=this.session.documentToScreenRow(yt,0)*j.lineHeight;return y-this.session.getScrollTop()>j.height-j.lineHeight?yt-1:yt},Te.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},Te.prototype.setPadding=function(j){this.$padding=j,this.$textLayer.setPadding(j),this.$cursorLayer.setPadding(j),this.$markerFront.setPadding(j),this.$markerBack.setPadding(j),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},Te.prototype.setScrollMargin=function(j,yt,y,h){var w=this.scrollMargin;w.top=j|0,w.bottom=yt|0,w.right=h|0,w.left=y|0,w.v=w.top+w.bottom,w.h=w.left+w.right,w.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-w.top),this.updateFull()},Te.prototype.setMargin=function(j,yt,y,h){var w=this.margin;w.top=j|0,w.bottom=yt|0,w.right=h|0,w.left=y|0,w.v=w.top+w.bottom,w.h=w.left+w.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},Te.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},Te.prototype.setHScrollBarAlwaysVisible=function(j){this.setOption("hScrollBarAlwaysVisible",j)},Te.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},Te.prototype.setVScrollBarAlwaysVisible=function(j){this.setOption("vScrollBarAlwaysVisible",j)},Te.prototype.$updateScrollBarV=function(){var j=this.layerConfig.maxHeight,yt=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(j-=(yt-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>j-yt&&(j=this.scrollTop+yt,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(j+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},Te.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},Te.prototype.freeze=function(){this.$frozen=!0},Te.prototype.unfreeze=function(){this.$frozen=!1},Te.prototype.$renderChanges=function(j,yt){if(this.$changes&&(j|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!j&&!yt){this.$changes|=j;return}if(this.$size.$dirty)return this.$changes|=j,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",j),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var y=this.layerConfig;if(j&this.CHANGE_FULL||j&this.CHANGE_SIZE||j&this.CHANGE_TEXT||j&this.CHANGE_LINES||j&this.CHANGE_SCROLL||j&this.CHANGE_H_SCROLL){if(j|=this.$computeLayerConfig()|this.$loop.clear(),y.firstRow!=this.layerConfig.firstRow&&y.firstRowScreen==this.layerConfig.firstRowScreen){var h=this.scrollTop+(y.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;h>0&&(this.scrollTop=h,j=j|this.CHANGE_SCROLL,j|=this.$computeLayerConfig()|this.$loop.clear())}y=this.layerConfig,this.$updateScrollBarV(),j&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),T.translate(this.content,-this.scrollLeft,-y.offset);var w=y.width+2*this.$padding+"px",O=y.minHeight+"px";T.setStyle(this.content.style,"width",w),T.setStyle(this.content.style,"height",O)}if(j&this.CHANGE_H_SCROLL&&(T.translate(this.content,-this.scrollLeft,-y.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),j&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(y),this.$showGutter&&this.$gutterLayer.update(y),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(y),this.$markerBack.update(y),this.$markerFront.update(y),this.$cursorLayer.update(y),this.$moveTextAreaToCursor(),this._signal("afterRender",j);return}if(j&this.CHANGE_SCROLL){this.$changedLines=null,j&this.CHANGE_TEXT||j&this.CHANGE_LINES?this.$textLayer.update(y):this.$textLayer.scrollLines(y),this.$showGutter&&(j&this.CHANGE_GUTTER||j&this.CHANGE_LINES?this.$gutterLayer.update(y):this.$gutterLayer.scrollLines(y)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(y),this.$markerBack.update(y),this.$markerFront.update(y),this.$cursorLayer.update(y),this.$moveTextAreaToCursor(),this._signal("afterRender",j);return}j&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(y),this.$showGutter&&this.$gutterLayer.update(y),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(y)):j&this.CHANGE_LINES?((this.$updateLines()||j&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(y),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(y)):j&this.CHANGE_TEXT||j&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(y),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(y)):j&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(y),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(y)),j&this.CHANGE_CURSOR&&(this.$cursorLayer.update(y),this.$moveTextAreaToCursor()),j&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(y),j&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(y),this._signal("afterRender",j)},Te.prototype.$autosize=function(){var j=this.session.getScreenLength()*this.lineHeight,yt=this.$maxLines*this.lineHeight,y=Math.min(yt,Math.max((this.$minLines||1)*this.lineHeight,j))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(y+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&y>this.$maxPixelHeight&&(y=this.$maxPixelHeight);var h=y<=2*this.lineHeight,w=!h&&j>yt;if(y!=this.desiredHeight||this.$size.height!=this.desiredHeight||w!=this.$vScroll){w!=this.$vScroll&&(this.$vScroll=w,this.scrollBarV.setVisible(w));var O=this.container.clientWidth;this.container.style.height=y+"px",this.$updateCachedSize(!0,this.$gutterWidth,O,y),this.desiredHeight=y,this._signal("autosize")}},Te.prototype.$computeLayerConfig=function(){var j=this.session,yt=this.$size,y=yt.height<=2*this.lineHeight,h=this.session.getScreenLength(),w=h*this.lineHeight,O=this.$getLongestLine(),We=!y&&(this.$hScrollBarAlwaysVisible||yt.scrollerWidth-O-2*this.$padding<0),mt=this.$horizScroll!==We;mt&&(this.$horizScroll=We,this.scrollBarH.setVisible(We));var wt=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var St=yt.scrollerHeight+this.lineHeight,xt=!this.$maxLines&&this.$scrollPastEnd?(yt.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;w+=xt;var Rt=this.scrollMargin;this.session.setScrollTop(Math.max(-Rt.top,Math.min(this.scrollTop,w-yt.scrollerHeight+Rt.bottom))),this.session.setScrollLeft(Math.max(-Rt.left,Math.min(this.scrollLeft,O+2*this.$padding-yt.scrollerWidth+Rt.right)));var ii=!y&&(this.$vScrollBarAlwaysVisible||yt.scrollerHeight-w+xt<0||this.scrollTop>Rt.top),Et=wt!==ii;Et&&(this.$vScroll=ii,this.scrollBarV.setVisible(ii));var ei=this.scrollTop%this.lineHeight,ni=Math.ceil(St/this.lineHeight)-1,ti=Math.max(0,Math.round((this.scrollTop-ei)/this.lineHeight)),oi=ti+ni,ai,li,si=this.lineHeight;ti=j.screenToDocumentRow(ti,0);var hi=j.getFoldLine(ti);hi&&(ti=hi.start.row),ai=j.documentToScreenRow(ti,0),li=j.getRowLength(ti)*si,oi=Math.min(j.screenToDocumentRow(oi,0),j.getLength()-1),St=yt.scrollerHeight+j.getRowLength(oi)*si+li,ei=this.scrollTop-ai*si;var pi=0;return(this.layerConfig.width!=O||mt)&&(pi=this.CHANGE_H_SCROLL),(mt||Et)&&(pi|=this.$updateCachedSize(!0,this.gutterWidth,yt.width,yt.height),this._signal("scrollbarVisibilityChanged"),Et&&(O=this.$getLongestLine())),this.layerConfig={width:O,padding:this.$padding,firstRow:ti,firstRowScreen:ai,lastRow:oi,lineHeight:si,characterWidth:this.characterWidth,minHeight:St,maxHeight:w,offset:ei,gutterOffset:si?Math.max(0,Math.ceil((ei+yt.height-yt.scrollerHeight)/si)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(O-this.$padding),pi},Te.prototype.$updateLines=function(){if(this.$changedLines){var j=this.$changedLines.firstRow,yt=this.$changedLines.lastRow;this.$changedLines=null;var y=this.layerConfig;if(!(j>y.lastRow+1)&&!(yt<y.firstRow)){if(yt===1/0){this.$showGutter&&this.$gutterLayer.update(y),this.$textLayer.update(y);return}return this.$textLayer.updateLines(y,j,yt),!0}}},Te.prototype.$getLongestLine=function(){var j=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(j+=1),this.$textLayer&&j>this.$textLayer.MAX_LINE_LENGTH&&(j=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(j*this.characterWidth))},Te.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},Te.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},Te.prototype.addGutterDecoration=function(j,yt){this.$gutterLayer.addGutterDecoration(j,yt)},Te.prototype.removeGutterDecoration=function(j,yt){this.$gutterLayer.removeGutterDecoration(j,yt)},Te.prototype.updateBreakpoints=function(j){this._rows=j,this.$loop.schedule(this.CHANGE_GUTTER)},Te.prototype.setAnnotations=function(j){this.$gutterLayer.setAnnotations(j),this.$loop.schedule(this.CHANGE_GUTTER)},Te.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},Te.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},Te.prototype.showCursor=function(){this.$cursorLayer.showCursor()},Te.prototype.scrollSelectionIntoView=function(j,yt,y){this.scrollCursorIntoView(j,y),this.scrollCursorIntoView(yt,y)},Te.prototype.scrollCursorIntoView=function(j,yt,y){if(this.$size.scrollerHeight!==0){var h=this.$cursorLayer.getPixelPosition(j),w=h.left,O=h.top,We=y&&y.top||0,mt=y&&y.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var wt=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;wt+We>O?(yt&&wt+We>O+this.lineHeight&&(O-=yt*this.$size.scrollerHeight),O===0&&(O=-this.scrollMargin.top),this.session.setScrollTop(O)):wt+this.$size.scrollerHeight-mt<O+this.lineHeight&&(yt&&wt+this.$size.scrollerHeight-mt<O-this.lineHeight&&(O+=yt*this.$size.scrollerHeight),this.session.setScrollTop(O+this.lineHeight+mt-this.$size.scrollerHeight));var St=this.scrollLeft,xt=2*this.layerConfig.characterWidth;w-xt<St?(w-=xt,w<this.$padding+xt&&(w=-this.scrollMargin.left),this.session.setScrollLeft(w)):(w+=xt,St+this.$size.scrollerWidth<w+this.characterWidth?this.session.setScrollLeft(Math.round(w+this.characterWidth-this.$size.scrollerWidth)):St<=this.$padding&&w-St<this.characterWidth&&this.session.setScrollLeft(0))}},Te.prototype.getScrollTop=function(){return this.session.getScrollTop()},Te.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},Te.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},Te.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},Te.prototype.scrollToRow=function(j){this.session.setScrollTop(j*this.lineHeight)},Te.prototype.alignCursor=function(j,yt){typeof j=="number"&&(j={row:j,column:0});var y=this.$cursorLayer.getPixelPosition(j),h=this.$size.scrollerHeight-this.lineHeight,w=y.top-h*(yt||0);return this.session.setScrollTop(w),w},Te.prototype.$calcSteps=function(j,yt){var y=0,h=this.STEPS,w=[],O=function(We,mt,wt){return wt*(Math.pow(We-1,3)+1)+mt};for(y=0;y<h;++y)w.push(O(y/this.STEPS,j,yt-j));return w},Te.prototype.scrollToLine=function(j,yt,y,h){var w=this.$cursorLayer.getPixelPosition({row:j,column:0}),O=w.top;yt&&(O-=this.$size.scrollerHeight/2);var We=this.scrollTop;this.session.setScrollTop(O),y!==!1&&this.animateScrolling(We,h)},Te.prototype.animateScrolling=function(j,yt){var y=this.scrollTop;if(!this.$animatedScroll)return;var h=this;if(j==y)return;if(this.$scrollAnimation){var w=this.$scrollAnimation.steps;if(w.length&&(j=w[0],j==y))return}var O=h.$calcSteps(j,y);this.$scrollAnimation={from:j,to:y,steps:O},clearInterval(this.$timer),h.session.setScrollTop(O.shift()),h.session.$scrollTop=y;function We(){h.$timer=clearInterval(h.$timer),h.$scrollAnimation=null,h.$stopAnimation=!1,yt&&yt()}this.$timer=setInterval(function(){if(h.$stopAnimation){We();return}if(!h.session)return clearInterval(h.$timer);O.length?(h.session.setScrollTop(O.shift()),h.session.$scrollTop=y):y!=null?(h.session.$scrollTop=-1,h.session.setScrollTop(y),y=null):We()},10)},Te.prototype.scrollToY=function(j){this.scrollTop!==j&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=j)},Te.prototype.scrollToX=function(j){this.scrollLeft!==j&&(this.scrollLeft=j),this.$loop.schedule(this.CHANGE_H_SCROLL)},Te.prototype.scrollTo=function(j,yt){this.session.setScrollTop(yt),this.session.setScrollLeft(j)},Te.prototype.scrollBy=function(j,yt){yt&&this.session.setScrollTop(this.session.getScrollTop()+yt),j&&this.session.setScrollLeft(this.session.getScrollLeft()+j)},Te.prototype.isScrollableBy=function(j,yt){if(yt<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||yt>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||j<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||j>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},Te.prototype.pixelToScreenCoordinates=function(j,yt){var y;if(this.$hasCssTransforms){y={top:0,left:0};var h=this.$fontMetrics.transformCoordinates([j,yt]);j=h[1]-this.gutterWidth-this.margin.left,yt=h[0]}else y=this.scroller.getBoundingClientRect();var w=j+this.scrollLeft-y.left-this.$padding,O=w/this.characterWidth,We=Math.floor((yt+this.scrollTop-y.top)/this.lineHeight),mt=this.$blockCursor?Math.floor(O):Math.round(O);return{row:We,column:mt,side:O-mt>0?1:-1,offsetX:w}},Te.prototype.screenToTextCoordinates=function(j,yt){var y;if(this.$hasCssTransforms){y={top:0,left:0};var h=this.$fontMetrics.transformCoordinates([j,yt]);j=h[1]-this.gutterWidth-this.margin.left,yt=h[0]}else y=this.scroller.getBoundingClientRect();var w=j+this.scrollLeft-y.left-this.$padding,O=w/this.characterWidth,We=this.$blockCursor?Math.floor(O):Math.round(O),mt=Math.floor((yt+this.scrollTop-y.top)/this.lineHeight);return this.session.screenToDocumentPosition(mt,Math.max(We,0),w)},Te.prototype.textToScreenCoordinates=function(j,yt){var y=this.scroller.getBoundingClientRect(),h=this.session.documentToScreenPosition(j,yt),w=this.$padding+(this.session.$bidiHandler.isBidiRow(h.row,j)?this.session.$bidiHandler.getPosLeft(h.column):Math.round(h.column*this.characterWidth)),O=h.row*this.lineHeight;return{pageX:y.left+w-this.scrollLeft,pageY:y.top+O-this.scrollTop}},Te.prototype.visualizeFocus=function(){T.addCssClass(this.container,"ace_focus")},Te.prototype.visualizeBlur=function(){T.removeCssClass(this.container,"ace_focus")},Te.prototype.showComposition=function(j){this.$composition=j,j.cssText||(j.cssText=this.textarea.style.cssText),j.useTextareaForIME==null&&(j.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(T.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):j.markerId=this.session.addMarker(j.markerRange,"ace_composition_marker","text")},Te.prototype.setCompositionText=function(j){var yt=this.session.selection.cursor;this.addToken(j,"composition_placeholder",yt.row,yt.column),this.$moveTextAreaToCursor()},Te.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),T.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var j=this.session.selection.cursor;this.removeExtraToken(j.row,j.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},Te.prototype.setGhostText=function(j,yt){var y=this.session.selection.cursor,h=yt||{row:y.row,column:y.column};this.removeGhostText();var w=this.$calculateWrappedTextChunks(j,h);this.addToken(w[0].text,"ghost_text",h.row,h.column),this.$ghostText={text:j,position:{row:h.row,column:h.column}};var O=T.createElement("div");if(w.length>1){var We=this.hideTokensAfterPosition(h.row,h.column),mt;w.slice(1).forEach(function(Et){var ei=T.createElement("div"),ni=T.createElement("span");ni.className="ace_ghost_text",Et.wrapped&&(ei.className="ghost_text_line_wrapped"),Et.text.length===0&&(Et.text=" "),ni.appendChild(T.createTextNode(Et.text)),ei.appendChild(ni),O.appendChild(ei),mt=ei}),We.forEach(function(Et){var ei=T.createElement("span");Me(Et.type)||(ei.className="ace_"+Et.type.replace(/\./g," ace_")),ei.appendChild(T.createTextNode(Et.value)),mt.appendChild(ei)}),this.$ghostTextWidget={el:O,row:h.row,column:h.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var wt=this.$cursorLayer.getPixelPosition(h,!0),St=this.container,xt=St.getBoundingClientRect().height,Rt=w.length*this.lineHeight,ii=Rt<xt-wt.top;if(ii)return;Rt<xt?this.scrollBy(0,(w.length-1)*this.lineHeight):this.scrollToRow(h.row)}},Te.prototype.$calculateWrappedTextChunks=function(j,yt){var y=this.$size.scrollerWidth-this.$padding*2,h=Math.floor(y/this.characterWidth)-2;h=h<=0?60:h;for(var w=j.split(/\r?\n/),O=[],We=0;We<w.length;We++){var mt=this.session.$getDisplayTokens(w[We],yt.column),wt=this.session.$computeWrapSplits(mt,h,this.session.$tabSize);if(wt.length>0){var St=0;wt.push(w[We].length);for(var xt=0;xt<wt.length;xt++){var Rt=w[We].slice(St,wt[xt]);O.push({text:Rt,wrapped:!0}),St=wt[xt]}}else O.push({text:w[We],wrapped:!1})}return O},Te.prototype.removeGhostText=function(){if(this.$ghostText){var j=this.$ghostText.position;this.removeExtraToken(j.row,j.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},Te.prototype.addToken=function(j,yt,y,h){var w=this.session;w.bgTokenizer.lines[y]=null;var O={type:yt,value:j},We=w.getTokens(y);if(h==null||!We.length)We.push(O);else for(var mt=0,wt=0;wt<We.length;wt++){var St=We[wt];if(mt+=St.value.length,h<=mt){var xt=St.value.length-(mt-h),Rt=St.value.slice(0,xt),ii=St.value.slice(xt);We.splice(wt,1,{type:St.type,value:Rt},O,{type:St.type,value:ii});break}}this.updateLines(y,y)},Te.prototype.hideTokensAfterPosition=function(j,yt){for(var y=this.session.getTokens(j),h=0,w=!1,O=[],We=0;We<y.length;We++){var mt=y[We];if(h+=mt.value.length,mt.type!=="ghost_text"){if(w){O.push({type:mt.type,value:mt.value}),mt.type="hidden_token";continue}h===yt&&(w=!0)}}return this.updateLines(j,j),O},Te.prototype.removeExtraToken=function(j,yt){this.session.bgTokenizer.lines[j]=null,this.updateLines(j,j)},Te.prototype.setTheme=function(j,yt){var y=this;if(this.$themeId=j,y._dispatchEvent("themeChange",{theme:j}),!j||typeof j=="string"){var h=j||this.$options.theme.initialValue;l.loadModule(["theme",h],w)}else w(j);function w(O){if(y.$themeId!=j)return yt&&yt();if(!O||!O.cssClass)throw new Error("couldn't load module "+j+" or it didn't call define");O.$id&&(y.$themeId=O.$id),T.importCssString(O.cssText,O.cssClass,y.container),y.theme&&T.removeCssClass(y.container,y.theme.cssClass);var We="padding"in O?O.padding:"padding"in(y.theme||{})?4:y.$padding;y.$padding&&We!=y.$padding&&y.setPadding(We),y.$theme=O.cssClass,y.theme=O,T.addCssClass(y.container,O.cssClass),T.setCssClass(y.container,"ace_dark",O.isDark),y.$size&&(y.$size.width=0,y.$updateSizeAsync()),y._dispatchEvent("themeLoaded",{theme:O}),yt&&yt(),S.isSafari&&y.scroller&&(y.scroller.style.background="red",y.scroller.style.background="")}},Te.prototype.getTheme=function(){return this.$themeId},Te.prototype.setStyle=function(j,yt){T.setCssClass(this.container,j,yt!==!1)},Te.prototype.unsetStyle=function(j){T.removeCssClass(this.container,j)},Te.prototype.setCursorStyle=function(j){T.setStyle(this.scroller.style,"cursor",j)},Te.prototype.setMouseCursor=function(j){T.setStyle(this.scroller.style,"cursor",j)},Te.prototype.attachToShadowRoot=function(){T.importCssString(R,"ace_editor.css",this.container)},Te.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},Te.prototype.$updateCustomScrollbar=function(j){var yt=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),this.$scrollDecorator&&delete this.$scrollDecorator,j===!0?(this.scrollBarV=new c(this.container,this),this.scrollBarH=new n(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(y){yt.$scrollAnimation||yt.session.setScrollTop(y.data-yt.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(y){yt.$scrollAnimation||yt.session.setScrollLeft(y.data-yt.scrollMargin.left)}),this.$scrollDecorator=new _(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators()):(this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.addEventListener("scroll",function(y){yt.$scrollAnimation||yt.session.setScrollTop(y.data-yt.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(y){yt.$scrollAnimation||yt.session.setScrollLeft(y.data-yt.scrollMargin.left)}))},Te.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var j=this;this.$resizeTimer=L.delayedCall(function(){j.destroyed||j.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(yt){var y=yt[0].contentRect.width,h=yt[0].contentRect.height;Math.abs(j.$size.width-y)>1||Math.abs(j.$size.height-h)>1?j.$resizeTimer.delay():j.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},Te}();He.prototype.CHANGE_CURSOR=1,He.prototype.CHANGE_MARKER=2,He.prototype.CHANGE_GUTTER=4,He.prototype.CHANGE_SCROLL=8,He.prototype.CHANGE_LINES=16,He.prototype.CHANGE_TEXT=32,He.prototype.CHANGE_SIZE=64,He.prototype.CHANGE_MARKER_BACK=128,He.prototype.CHANGE_MARKER_FRONT=256,He.prototype.CHANGE_FULL=512,He.prototype.CHANGE_H_SCROLL=1024,He.prototype.$changes=0,He.prototype.$padding=null,He.prototype.$frozen=!1,He.prototype.STEPS=8,B.implement(He.prototype,G),l.defineOptions(He.prototype,"renderer",{useResizeObserver:{set:function(Te){!Te&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):Te&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(Te){this.$textLayer.setShowInvisibles(Te)&&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(Te){typeof Te=="number"&&(this.$printMarginColumn=Te),this.$showPrintMargin=!!Te,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(Te){this.$gutter.style.display=Te?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(Te){this.$gutterLayer.$useSvgGutterIcons=Te},initialValue:!1},showFoldedAnnotations:{set:function(Te){this.$gutterLayer.$showFoldedAnnotations=Te},initialValue:!1},fadeFoldWidgets:{set:function(Te){T.setCssClass(this.$gutter,"ace_fade-fold-widgets",Te)},initialValue:!1},showFoldWidgets:{set:function(Te){this.$gutterLayer.setShowFoldWidgets(Te),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(Te){this.$textLayer.setDisplayIndentGuides(Te)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(Te){this.$textLayer.setHighlightIndentGuides(Te)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(Te){this.$gutterLayer.setHighlightGutterLine(Te),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(Te){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(Te){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(Te){typeof Te=="number"&&(Te=Te+"px"),this.container.style.fontSize=Te,this.updateFontSize()},initialValue:12},fontFamily:{set:function(Te){this.container.style.fontFamily=Te,this.updateFontSize()}},maxLines:{set:function(Te){this.updateFull()}},minLines:{set:function(Te){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(Te){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(Te){Te=+Te||0,this.$scrollPastEnd!=Te&&(this.$scrollPastEnd=Te,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(Te){this.$gutterLayer.$fixedWidth=!!Te,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(Te){this.$updateCustomScrollbar(Te)},initialValue:!1},theme:{set:function(Te){this.setTheme(Te)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!S.isMobile&&!S.isIE}}),p.VirtualRenderer=He}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(f,p,ze){var B=f("../lib/oop"),T=f("../lib/net"),L=f("../lib/event_emitter").EventEmitter,l=f("../config");function u(t){var e="importScripts('"+T.qualifyURL(t)+"');";try{return new Blob([e],{type:"application/javascript"})}catch{var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,c=new n;return c.append(e),c.getBlob("application/javascript")}}function i(t){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(l.get("loadWorkerFromBlob")){var e=u(t),n=window.URL||window.webkitURL,c=n.createObjectURL(e);return new Worker(c)}return new Worker(t)}var r=function(t){t.postMessage||(t=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=t,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){B.implement(this,L),this.$createWorkerFromOldConfig=function(t,e,n,c,d){if(f.nameToUrl&&!f.toUrl&&(f.toUrl=f.nameToUrl),l.get("packaged")||!f.toUrl)c=c||l.moduleUrl(e,"worker");else{var g=this.$normalizePath;c=c||g(f.toUrl("ace/worker/worker.js",null,"_"));var G={};t.forEach(function(R){G[R]=g(f.toUrl(R,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=i(c),d&&this.send("importScripts",d),this.$worker.postMessage({init:!0,tlns:G,module:e,classname:n}),this.$worker},this.onMessage=function(t){var e=t.data;switch(e.type){case"event":this._signal(e.name,{data:e.data});break;case"call":var n=this.callbacks[e.id];n&&(n(e.data),delete this.callbacks[e.id]);break;case"error":this.reportError(e.data);break;case"log":window.console&&console.log&&console.log.apply(console,e.data);break}},this.reportError=function(t){window.console&&console.error&&console.error(t)},this.$normalizePath=function(t){return T.qualifyURL(t)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(t){t.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(t,e){this.$worker.postMessage({command:t,args:e})},this.call=function(t,e,n){if(n){var c=this.callbackId++;this.callbacks[c]=n,e.push(c)}this.send(t,e)},this.emit=function(t,e){try{e.data&&e.data.err&&(e.data.err={message:e.data.err.message,stack:e.data.err.stack,code:e.data.err.code}),this.$worker&&this.$worker.postMessage({event:t,data:{data:e.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(t){this.$doc&&this.terminate(),this.$doc=t,this.call("setValue",[t.getValue()]),t.on("change",this.changeListener,!0)},this.changeListener=function(t){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),t.action=="insert"?this.deltaQueue.push(t.start,t.lines):this.deltaQueue.push(t.start,t.end)},this.$sendDeltaQueue=function(){var t=this.deltaQueue;t&&(this.deltaQueue=null,t.length>50&&t.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:t}))}}).call(r.prototype);var o=function(t,e,n){var c=null,d=!1,g=Object.create(L),G=[],R=new r({messageBuffer:G,terminate:function(){},postMessage:function(S){G.push(S),c&&(d?setTimeout(_):_())}});R.setEmitSync=function(S){d=S};var _=function(){var S=G.shift();S.command?c[S.command].apply(c,S.args):S.event&&g._signal(S.event,S.data)};return g.postMessage=function(S){R.onMessage({data:S})},g.callback=function(S,Me){this.postMessage({type:"call",id:Me,data:S})},g.emit=function(S,Me){this.postMessage({type:"event",name:S,data:Me})},l.loadModule(["worker",e],function(S){for(c=new S[n](g);G.length;)_()}),R};p.UIWorkerClient=o,p.WorkerClient=r,p.createWorker=i}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(f,p,ze){var B=f("./range").Range,T=f("./lib/event_emitter").EventEmitter,L=f("./lib/oop"),l=function(){function u(i,r,o,t,e,n){var c=this;this.length=r,this.session=i,this.doc=i.getDocument(),this.mainClass=e,this.othersClass=n,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=t,this.$onCursorChange=function(){setTimeout(function(){c.onCursorChange()})},this.$pos=o;var d=i.getUndoManager().$undoStack||i.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=d.length,this.setup(),i.selection.on("changeCursor",this.$onCursorChange)}return u.prototype.setup=function(){var i=this,r=this.doc,o=this.session;this.selectionBefore=o.selection.toJSON(),o.selection.inMultiSelectMode&&o.selection.toSingleRange(),this.pos=r.createAnchor(this.$pos.row,this.$pos.column);var t=this.pos;t.$insertRight=!0,t.detach(),t.markerId=o.addMarker(new B(t.row,t.column,t.row,t.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){var n=r.createAnchor(e.row,e.column);n.$insertRight=!0,n.detach(),i.others.push(n)}),o.setUndoSelect(!1)},u.prototype.showOtherMarkers=function(){if(!this.othersActive){var i=this.session,r=this;this.othersActive=!0,this.others.forEach(function(o){o.markerId=i.addMarker(new B(o.row,o.column,o.row,o.column+r.length),r.othersClass,null,!1)})}},u.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var i=0;i<this.others.length;i++)this.session.removeMarker(this.others[i].markerId)}},u.prototype.onUpdate=function(i){if(this.$updating)return this.updateAnchors(i);var r=i;if(r.start.row===r.end.row&&r.start.row===this.pos.row){this.$updating=!0;var o=i.action==="insert"?r.end.column-r.start.column:r.start.column-r.end.column,t=r.start.column>=this.pos.column&&r.start.column<=this.pos.column+this.length+1,e=r.start.column-this.pos.column;if(this.updateAnchors(i),t&&(this.length+=o),t&&!this.session.$fromUndo){if(i.action==="insert")for(var n=this.others.length-1;n>=0;n--){var c=this.others[n],d={row:c.row,column:c.column+e};this.doc.insertMergedLines(d,i.lines)}else if(i.action==="remove")for(var n=this.others.length-1;n>=0;n--){var c=this.others[n],d={row:c.row,column:c.column+e};this.doc.remove(new B(d.row,d.column,d.row,d.column-o))}}this.$updating=!1,this.updateMarkers()}},u.prototype.updateAnchors=function(i){this.pos.onChange(i);for(var r=this.others.length;r--;)this.others[r].onChange(i);this.updateMarkers()},u.prototype.updateMarkers=function(){if(!this.$updating){var i=this,r=this.session,o=function(e,n){r.removeMarker(e.markerId),e.markerId=r.addMarker(new B(e.row,e.column,e.row,e.column+i.length),n,null,!1)};o(this.pos,this.mainClass);for(var t=this.others.length;t--;)o(this.others[t],this.othersClass)}},u.prototype.onCursorChange=function(i){if(!(this.$updating||!this.session)){var r=this.session.selection.getCursor();r.row===this.pos.row&&r.column>=this.pos.column&&r.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",i)):(this.hideOtherMarkers(),this._emit("cursorLeave",i))}},u.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},u.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var i=this.session.getUndoManager(),r=(i.$undoStack||i.$undostack).length-this.$undoStackDepth,o=0;o<r;o++)i.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},u}();L.implement(l.prototype,T),p.PlaceHolder=l}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(f,p,ze){var B=f("../lib/event"),T=f("../lib/useragent");function L(u,i){return u.row==i.row&&u.column==i.column}function l(u){var i=u.domEvent,r=i.altKey,o=i.shiftKey,t=i.ctrlKey,e=u.getAccelKey(),n=u.getButton();if(t&&T.isMac&&(n=i.button),u.editor.inMultiSelectMode&&n==2){u.editor.textInput.onContextMenu(u.domEvent);return}if(!t&&!r&&!e){n===0&&u.editor.inMultiSelectMode&&u.editor.exitMultiSelectMode();return}if(n===0){var c=u.editor,d=c.selection,g=c.inMultiSelectMode,G=u.getDocumentPosition(),R=d.getCursor(),_=u.inSelection()||d.isEmpty()&&L(G,R),S=u.x,Me=u.y,He=function(Rt){S=Rt.clientX,Me=Rt.clientY},Te=c.session,j=c.renderer.pixelToScreenCoordinates(S,Me),yt=j,y;if(c.$mouseHandler.$enableJumpToDef)t&&r||e&&r?y=o?"block":"add":r&&c.$blockSelectEnabled&&(y="block");else if(e&&!r){if(y="add",!g&&o)return}else r&&c.$blockSelectEnabled&&(y="block");if(y&&T.isMac&&i.ctrlKey&&c.$mouseHandler.cancelContextMenu(),y=="add"){if(!g&&_)return;if(!g){var h=d.toOrientedRange();c.addSelectionMarker(h)}var w=d.rangeList.rangeAtPoint(G);c.inVirtualSelectionMode=!0,o&&(w=null,h=d.ranges[0]||h,c.removeSelectionMarker(h)),c.once("mouseup",function(){var Rt=d.toOrientedRange();w&&Rt.isEmpty()&&L(w.cursor,Rt.cursor)?d.substractPoint(Rt.cursor):(o?d.substractPoint(h.cursor):h&&(c.removeSelectionMarker(h),d.addRange(h)),d.addRange(Rt)),c.inVirtualSelectionMode=!1})}else if(y=="block"){u.stop(),c.inVirtualSelectionMode=!0;var O,We=[],mt=function(){var Rt=c.renderer.pixelToScreenCoordinates(S,Me),ii=Te.screenToDocumentPosition(Rt.row,Rt.column,Rt.offsetX);L(yt,Rt)&&L(ii,d.lead)||(yt=Rt,c.selection.moveToPosition(ii),c.renderer.scrollCursorIntoView(),c.removeSelectionMarkers(We),We=d.rectangularRangeBlock(yt,j),c.$mouseHandler.$clickSelection&&We.length==1&&We[0].isEmpty()&&(We[0]=c.$mouseHandler.$clickSelection.clone()),We.forEach(c.addSelectionMarker,c),c.updateSelectionMarkers())};g&&!e?d.toSingleRange():!g&&e&&(O=d.toOrientedRange(),c.addSelectionMarker(O)),o?j=Te.documentToScreenPosition(d.lead):d.moveToPosition(G),yt={row:-1,column:-1};var wt=function(Rt){mt(),clearInterval(xt),c.removeSelectionMarkers(We),We.length||(We=[d.toOrientedRange()]),O&&(c.removeSelectionMarker(O),d.toSingleRange(O));for(var ii=0;ii<We.length;ii++)d.addRange(We[ii]);c.inVirtualSelectionMode=!1,c.$mouseHandler.$clickSelection=null},St=mt;B.capture(c.container,He,wt);var xt=setInterval(function(){St()},20);return u.preventDefault()}}}p.onMouseDown=l}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(f,p,ze){p.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(T){T.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(T){T.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(T){T.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(T){T.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(T){T.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(T){T.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(T){T.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(T){T.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(T){T.multiSelect.rangeCount>1?T.multiSelect.joinSelections():T.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(T){T.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(T){T.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(T){T.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],p.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(T){T.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(T){return T&&T.inMultiSelectMode}}];var B=f("../keyboard/hash_handler").HashHandler;p.keyboardHandler=new B(p.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(f,p,ze){var B=f("./range_list").RangeList,T=f("./range").Range,L=f("./selection").Selection,l=f("./mouse/multi_select_handler").onMouseDown,u=f("./lib/event"),i=f("./lib/lang"),r=f("./commands/multi_select_commands");p.commands=r.defaultCommands.concat(r.multiSelectCommands);var o=f("./search").Search,t=new o;function e(R,_,S){return t.$options.wrap=!0,t.$options.needle=_,t.$options.backwards=S==-1,t.find(R)}var n=f("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(n.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(R,_){if(R){if(!this.inMultiSelectMode&&this.rangeCount===0){var S=this.toOrientedRange();if(this.rangeList.add(S),this.rangeList.add(R),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),_||this.fromOrientedRange(R);this.rangeList.removeAll(),this.rangeList.add(S),this.$onAddRange(S)}R.cursor||(R.cursor=R.end);var Me=this.rangeList.add(R);return this.$onAddRange(R),Me.length&&this.$onRemoveRange(Me),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),_||this.fromOrientedRange(R)}},this.toSingleRange=function(R){R=R||this.ranges[0];var _=this.rangeList.removeAll();_.length&&this.$onRemoveRange(_),R&&this.fromOrientedRange(R)},this.substractPoint=function(R){var _=this.rangeList.substractPoint(R);if(_)return this.$onRemoveRange(_),_[0]},this.mergeOverlappingRanges=function(){var R=this.rangeList.merge();R.length&&this.$onRemoveRange(R)},this.$onAddRange=function(R){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(R),this._signal("addRange",{range:R})},this.$onRemoveRange=function(R){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var _=this.rangeList.ranges.pop();R.push(_),this.rangeCount=0}for(var S=R.length;S--;){var Me=this.ranges.indexOf(R[S]);this.ranges.splice(Me,1)}this._signal("removeRange",{ranges:R}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),_=_||this.ranges[0],_&&!_.isEqual(this.getRange())&&this.fromOrientedRange(_)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new B,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var R=this.ranges.length?this.ranges:[this.getRange()],_=[],S=0;S<R.length;S++){var Me=R[S],He=Me.start.row,Te=Me.end.row;if(He===Te)_.push(Me.clone());else{for(_.push(new T(He,Me.start.column,He,this.session.getLine(He).length));++He<Te;)_.push(this.getLineRange(He,!0));_.push(new T(Te,0,Te,Me.end.column))}S==0&&!this.isBackwards()&&(_=_.reverse())}this.toSingleRange();for(var S=_.length;S--;)this.addRange(_[S])},this.joinSelections=function(){var R=this.rangeList.ranges,_=R[R.length-1],S=T.fromPoints(R[0].start,_.end);this.toSingleRange(),this.setSelectionRange(S,_.cursor==_.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var R=this.rangeList.ranges,_=R[R.length-1],S=T.fromPoints(R[0].start,_.end);this.toSingleRange(),this.setSelectionRange(S,_.cursor==_.start)}else{var Me=this.session.documentToScreenPosition(this.cursor),He=this.session.documentToScreenPosition(this.anchor),Te=this.rectangularRangeBlock(Me,He);Te.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(R,_,S){var Me=[],He=R.column<_.column;if(He)var Te=R.column,j=_.column,yt=R.offsetX,y=_.offsetX;else var Te=_.column,j=R.column,yt=_.offsetX,y=R.offsetX;var h=R.row<_.row;if(h)var w=R.row,O=_.row;else var w=_.row,O=R.row;Te<0&&(Te=0),w<0&&(w=0),w==O&&(S=!0);for(var We,mt=w;mt<=O;mt++){var wt=T.fromPoints(this.session.screenToDocumentPosition(mt,Te,yt),this.session.screenToDocumentPosition(mt,j,y));if(wt.isEmpty()){if(We&&d(wt.end,We))break;We=wt.end}wt.cursor=He?wt.start:wt.end,Me.push(wt)}if(h&&Me.reverse(),!S){for(var St=Me.length-1;Me[St].isEmpty()&&St>0;)St--;if(St>0)for(var xt=0;Me[xt].isEmpty();)xt++;for(var Rt=St;Rt>=xt;Rt--)Me[Rt].isEmpty()&&Me.splice(Rt,1)}return Me}}).call(L.prototype);var c=f("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(R){R.cursor||(R.cursor=R.end);var _=this.getSelectionStyle();return R.marker=this.session.addMarker(R,"ace_selection",_),this.session.$selectionMarkers.push(R),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,R},this.removeSelectionMarker=function(R){if(R.marker){this.session.removeMarker(R.marker);var _=this.session.$selectionMarkers.indexOf(R);_!=-1&&this.session.$selectionMarkers.splice(_,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(R){for(var _=this.session.$selectionMarkers,S=R.length;S--;){var Me=R[S];if(Me.marker){this.session.removeMarker(Me.marker);var He=_.indexOf(Me);He!=-1&&_.splice(He,1)}}this.session.selectionMarkerCount=_.length},this.$onAddRange=function(R){this.addSelectionMarker(R.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(R){this.removeSelectionMarkers(R.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(R){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(r.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(R){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(r.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(R){var _=R.command,S=R.editor;if(S.multiSelect){if(_.multiSelectAction)_.multiSelectAction=="forEach"?Me=S.forEachSelection(_,R.args):_.multiSelectAction=="forEachLine"?Me=S.forEachSelection(_,R.args,!0):_.multiSelectAction=="single"?(S.exitMultiSelectMode(),Me=_.exec(S,R.args||{})):Me=_.multiSelectAction(S,R.args||{});else{var Me=_.exec(S,R.args||{});S.multiSelect.addRange(S.multiSelect.toOrientedRange()),S.multiSelect.mergeOverlappingRanges()}return Me}},this.forEachSelection=function(R,_,S){if(!this.inVirtualSelectionMode){var Me=S&&S.keepOrder,He=S==!0||S&&S.$byLines,Te=this.session,j=this.selection,yt=j.rangeList,y=(Me?j:yt).ranges,h;if(!y.length)return R.exec?R.exec(this,_||{}):R(this,_||{});var w=j._eventRegistry;j._eventRegistry={};var O=new L(Te);this.inVirtualSelectionMode=!0;for(var We=y.length;We--;){if(He)for(;We>0&&y[We].start.row==y[We-1].end.row;)We--;O.fromOrientedRange(y[We]),O.index=We,this.selection=Te.selection=O;var mt=R.exec?R.exec(this,_||{}):R(this,_||{});!h&&mt!==void 0&&(h=mt),O.toOrientedRange(y[We])}O.detach(),this.selection=Te.selection=j,this.inVirtualSelectionMode=!1,j._eventRegistry=w,j.mergeOverlappingRanges(),j.ranges[0]&&j.fromOrientedRange(j.ranges[0]);var wt=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),wt&&wt.from==wt.to&&this.renderer.animateScrolling(wt.from),h}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var R="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var _=this.multiSelect.rangeList.ranges,S=[],Me=0;Me<_.length;Me++)S.push(this.session.getTextRange(_[Me]));var He=this.session.getDocument().getNewLineCharacter();R=S.join(He),R.length==(S.length-1)*He.length&&(R="")}else this.selection.isEmpty()||(R=this.session.getTextRange(this.getSelectionRange()));return R},this.$checkMultiselectChange=function(R,_){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var S=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&_==this.multiSelect.anchor)return;var Me=_==this.multiSelect.anchor?S.cursor==S.start?S.end:S.start:S.cursor;Me.row!=_.row||this.session.$clipPositionToDocument(Me.row,Me.column).column!=_.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(R,_,S){if(_=_||{},_.needle=R||_.needle,_.needle==null){var Me=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();_.needle=this.session.getTextRange(Me)}this.$search.set(_);var He=this.$search.findAll(this.session);if(!He.length)return 0;var Te=this.multiSelect;S||Te.toSingleRange(He[0]);for(var j=He.length;j--;)Te.addRange(He[j],!0);return Me&&Te.rangeList.rangeAtPoint(Me.start)&&Te.addRange(Me,!0),He.length},this.selectMoreLines=function(R,_){var S=this.selection.toOrientedRange(),Me=S.cursor==S.end,He=this.session.documentToScreenPosition(S.cursor);this.selection.$desiredColumn&&(He.column=this.selection.$desiredColumn);var Te=this.session.screenToDocumentPosition(He.row+R,He.column);if(S.isEmpty())var yt=Te;else var j=this.session.documentToScreenPosition(Me?S.end:S.start),yt=this.session.screenToDocumentPosition(j.row+R,j.column);if(Me){var y=T.fromPoints(Te,yt);y.cursor=y.start}else{var y=T.fromPoints(yt,Te);y.cursor=y.end}if(y.desiredColumn=He.column,!this.selection.inMultiSelectMode)this.selection.addRange(S);else if(_)var h=S.cursor;this.selection.addRange(y),h&&this.selection.substractPoint(h)},this.transposeSelections=function(R){for(var _=this.session,S=_.multiSelect,Me=S.ranges,He=Me.length;He--;){var Te=Me[He];if(Te.isEmpty()){var j=_.getWordRange(Te.start.row,Te.start.column);Te.start.row=j.start.row,Te.start.column=j.start.column,Te.end.row=j.end.row,Te.end.column=j.end.column}}S.mergeOverlappingRanges();for(var yt=[],He=Me.length;He--;){var Te=Me[He];yt.unshift(_.getTextRange(Te))}R<0?yt.unshift(yt.pop()):yt.push(yt.shift());for(var He=Me.length;He--;){var Te=Me[He],y=Te.clone();_.replace(Te,yt[He]),Te.start.row=y.start.row,Te.start.column=y.start.column}S.fromOrientedRange(S.ranges[0])},this.selectMore=function(R,_,S){var Me=this.session,He=Me.multiSelect,Te=He.toOrientedRange();if(!(Te.isEmpty()&&(Te=Me.getWordRange(Te.start.row,Te.start.column),Te.cursor=R==-1?Te.start:Te.end,this.multiSelect.addRange(Te),S))){var j=Me.getTextRange(Te),yt=e(Me,j,R);yt&&(yt.cursor=R==-1?yt.start:yt.end,this.session.unfold(yt),this.multiSelect.addRange(yt),this.renderer.scrollCursorIntoView(null,.5)),_&&this.multiSelect.substractPoint(Te.cursor)}},this.alignCursors=function(){var R=this.session,_=R.multiSelect,S=_.ranges,Me=-1,He=S.filter(function(St){if(St.cursor.row==Me)return!0;Me=St.cursor.row});if(!S.length||He.length==S.length-1){var Te=this.selection.getRange(),j=Te.start.row,yt=Te.end.row,y=j==yt;if(y){var h=this.session.getLength(),w;do w=this.session.getLine(yt);while(/[=:]/.test(w)&&++yt<h);do w=this.session.getLine(j);while(/[=:]/.test(w)&&--j>0);j<0&&(j=0),yt>=h&&(yt=h-1)}var O=this.session.removeFullLines(j,yt);O=this.$reAlignText(O,y),this.session.insert({row:j,column:0},O.join(`
|
937
|
+
`)+`
|
938
|
+
`),y||(Te.start.column=0,Te.end.column=O[O.length-1].length),this.selection.setRange(Te)}else{He.forEach(function(St){_.substractPoint(St.cursor)});var We=0,mt=1/0,wt=S.map(function(St){var xt=St.cursor,Rt=R.getLine(xt.row),ii=Rt.substr(xt.column).search(/\S/g);return ii==-1&&(ii=0),xt.column>We&&(We=xt.column),ii<mt&&(mt=ii),ii});S.forEach(function(St,xt){var Rt=St.cursor,ii=We-Rt.column,Et=wt[xt]-mt;ii>Et?R.insert(Rt,i.stringRepeat(" ",ii-Et)):R.remove(new T(Rt.row,Rt.column,Rt.row,Rt.column-ii+Et)),St.start.column=St.end.column=We,St.start.row=St.end.row=Rt.row,St.cursor=St.end}),_.fromOrientedRange(S[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(R,_){var S=!0,Me=!0,He,Te,j;return R.map(function(O){var We=O.match(/(\s*)(.*?)(\s*)([=:].*)/);return We?He==null?(He=We[1].length,Te=We[2].length,j=We[3].length,We):(He+Te+j!=We[1].length+We[2].length+We[3].length&&(Me=!1),He!=We[1].length&&(S=!1),He>We[1].length&&(He=We[1].length),Te<We[2].length&&(Te=We[2].length),j>We[3].length&&(j=We[3].length),We):[O]}).map(_?y:S?Me?h:y:w);function yt(O){return i.stringRepeat(" ",O)}function y(O){return O[2]?yt(He)+O[2]+yt(Te-O[2].length+j)+O[4].replace(/^([=:])\s+/,"$1 "):O[0]}function h(O){return O[2]?yt(He+Te-O[2].length)+O[2]+yt(j)+O[4].replace(/^([=:])\s+/,"$1 "):O[0]}function w(O){return O[2]?yt(He)+O[2]+yt(j)+O[4].replace(/^([=:])\s+/,"$1 "):O[0]}}}).call(c.prototype);function d(R,_){return R.row==_.row&&R.column==_.column}p.onSessionChange=function(R){var _=R.session;_&&!_.multiSelect&&(_.$selectionMarkers=[],_.selection.$initRangeList(),_.multiSelect=_.selection),this.multiSelect=_&&_.multiSelect;var S=R.oldSession;S&&(S.multiSelect.off("addRange",this.$onAddRange),S.multiSelect.off("removeRange",this.$onRemoveRange),S.multiSelect.off("multiSelect",this.$onMultiSelect),S.multiSelect.off("singleSelect",this.$onSingleSelect),S.multiSelect.lead.off("change",this.$checkMultiselectChange),S.multiSelect.anchor.off("change",this.$checkMultiselectChange)),_&&(_.multiSelect.on("addRange",this.$onAddRange),_.multiSelect.on("removeRange",this.$onRemoveRange),_.multiSelect.on("multiSelect",this.$onMultiSelect),_.multiSelect.on("singleSelect",this.$onSingleSelect),_.multiSelect.lead.on("change",this.$checkMultiselectChange),_.multiSelect.anchor.on("change",this.$checkMultiselectChange)),_&&this.inMultiSelectMode!=_.selection.inMultiSelectMode&&(_.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function g(R){R.$multiselectOnSessionChange||(R.$onAddRange=R.$onAddRange.bind(R),R.$onRemoveRange=R.$onRemoveRange.bind(R),R.$onMultiSelect=R.$onMultiSelect.bind(R),R.$onSingleSelect=R.$onSingleSelect.bind(R),R.$multiselectOnSessionChange=p.onSessionChange.bind(R),R.$checkMultiselectChange=R.$checkMultiselectChange.bind(R),R.$multiselectOnSessionChange(R),R.on("changeSession",R.$multiselectOnSessionChange),R.on("mousedown",l),R.commands.addCommands(r.defaultCommands),G(R))}function G(R){if(!R.textInput)return;var _=R.textInput.getElement(),S=!1;u.addListener(_,"keydown",function(He){var Te=He.keyCode==18&&!(He.ctrlKey||He.shiftKey||He.metaKey);R.$blockSelectEnabled&&Te?S||(R.renderer.setMouseCursor("crosshair"),S=!0):S&&Me()},R),u.addListener(_,"keyup",Me,R),u.addListener(_,"blur",Me,R);function Me(He){S&&(R.renderer.setMouseCursor(""),S=!1)}}p.MultiSelect=g,f("./config").defineOptions(c.prototype,"editor",{enableMultiselect:{set:function(R){g(this),R?this.on("mousedown",l):this.off("mousedown",l)},value:!0},enableBlockSelect:{set:function(R){this.$blockSelectEnabled=R},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(f,p,ze){var B=f("../../range").Range,T=p.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(L,l,u){var i=L.getLine(u);return this.foldingStartMarker.test(i)?"start":l=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(i)?"end":""},this.getFoldWidgetRange=function(L,l,u){return null},this.indentationBlock=function(L,l,u){var i=/\S/,r=L.getLine(l),o=r.search(i);if(o!=-1){for(var t=u||r.length,e=L.getLength(),n=l,c=l;++l<e;){var d=L.getLine(l).search(i);if(d!=-1){if(d<=o){var g=L.getTokenAt(l,0);if(!g||g.type!=="string")break}c=l}}if(c>n){var G=L.getLine(c).length;return new B(n,t,c,G)}}},this.openingBracketBlock=function(L,l,u,i,r){var o={row:u,column:i+1},t=L.$findClosingBracket(l,o,r);if(t){var e=L.foldWidgets[t.row];return e==null&&(e=L.getFoldWidget(t.row)),e=="start"&&t.row>o.row&&(t.row--,t.column=L.getLine(t.row).length),B.fromPoints(o,t)}},this.closingBracketBlock=function(L,l,u,i,r){var o={row:u,column:i},t=L.$findOpeningBracket(l,o);if(t)return t.column++,o.column--,B.fromPoints(t,o)}}).call(T.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(f,p,ze){var B=f("../lib/dom"),T=f("../range").Range,L=f("../config").nls;function l(i,r,o){for(var t=0,e=i.length-1;t<=e;){var n=t+e>>1,c=o(r,i[n]);if(c>0)t=n+1;else if(c<0)e=n-1;else return n}return-(t+1)}function u(i,r,o){var t=i.getAnnotations().sort(T.comparePoints);if(t.length){var e=l(t,{row:r,column:-1},T.comparePoints);e<0&&(e=-e-1),e>=t.length?e=o>0?0:t.length-1:e===0&&o<0&&(e=t.length-1);var n=t[e];if(!(!n||!o)){if(n.row===r){do n=t[e+=o];while(n&&n.row===r);if(!n)return t.slice()}var c=[];r=n.row;do c[o<0?"unshift":"push"](n),n=t[e+=o];while(n&&n.row==r);return c.length&&c}}}p.showErrorMarker=function(i,r){var o=i.session,t=i.getCursorPosition(),e=t.row,n=o.widgetManager.getWidgetsAtRow(e).filter(function(He){return He.type=="errorMarker"})[0];n?n.destroy():e-=r;var c=u(o,e,r),d;if(c){var g=c[0];t.column=(g.pos&&typeof g.column!="number"?g.pos.sc:g.column)||0,t.row=g.row,d=i.renderer.$gutterLayer.$annotations[t.row]}else{if(n)return;d={displayText:[L("error-marker.good-state","Looks good!")],className:"ace_ok"}}i.session.unfold(t.row),i.selection.moveToPosition(t);var G={row:t.row,fixedWidth:!0,coverGutter:!0,el:B.createElement("div"),type:"errorMarker"},R=G.el.appendChild(B.createElement("div")),_=G.el.appendChild(B.createElement("div"));_.className="error_widget_arrow "+d.className;var S=i.renderer.$cursorLayer.getPixelPosition(t).left;_.style.left=S+i.renderer.gutterWidth-5+"px",G.el.className="error_widget_wrapper",R.className="error_widget "+d.className,d.displayText.forEach(function(He,Te){R.appendChild(B.createTextNode(He)),Te<d.displayText.length-1&&R.appendChild(B.createElement("br"))}),R.appendChild(B.createElement("div"));var Me=function(He,Te,j){if(Te===0&&(j==="esc"||j==="return"))return G.destroy(),{command:"null"}};G.destroy=function(){i.$mouseHandler.isMousePressed||(i.keyBinding.removeKeyboardHandler(Me),o.widgetManager.removeLineWidget(G),i.off("changeSelection",G.destroy),i.off("changeSession",G.destroy),i.off("mouseup",G.destroy),i.off("change",G.destroy))},i.keyBinding.addKeyboardHandler(Me),i.on("changeSelection",G.destroy),i.on("changeSession",G.destroy),i.on("mouseup",G.destroy),i.on("change",G.destroy),i.session.widgetManager.addLineWidget(G),G.el.onmousedown=i.focus.bind(i),i.renderer.scrollCursorIntoView(null,.5,{bottom:G.el.offsetHeight})},B.importCssString(`
|
939
|
+
.error_widget_wrapper {
|
940
|
+
background: inherit;
|
941
|
+
color: inherit;
|
942
|
+
border:none
|
943
|
+
}
|
944
|
+
.error_widget {
|
945
|
+
border-top: solid 2px;
|
946
|
+
border-bottom: solid 2px;
|
947
|
+
margin: 5px 0;
|
948
|
+
padding: 10px 40px;
|
949
|
+
white-space: pre-wrap;
|
950
|
+
}
|
951
|
+
.error_widget.ace_error, .error_widget_arrow.ace_error{
|
952
|
+
border-color: #ff5a5a
|
953
|
+
}
|
954
|
+
.error_widget.ace_warning, .error_widget_arrow.ace_warning{
|
955
|
+
border-color: #F1D817
|
956
|
+
}
|
957
|
+
.error_widget.ace_info, .error_widget_arrow.ace_info{
|
958
|
+
border-color: #5a5a5a
|
959
|
+
}
|
960
|
+
.error_widget.ace_ok, .error_widget_arrow.ace_ok{
|
961
|
+
border-color: #5aaa5a
|
962
|
+
}
|
963
|
+
.error_widget_arrow {
|
964
|
+
position: absolute;
|
965
|
+
border: solid 5px;
|
966
|
+
border-top-color: transparent!important;
|
967
|
+
border-right-color: transparent!important;
|
968
|
+
border-left-color: transparent!important;
|
969
|
+
top: -5px;
|
970
|
+
}
|
971
|
+
`,"error_marker.css",!1)}),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],function(f,p,ze){f("./loader_build")(p);var B=f("./lib/dom"),T=f("./range").Range,L=f("./editor").Editor,l=f("./edit_session").EditSession,u=f("./undomanager").UndoManager,i=f("./virtual_renderer").VirtualRenderer;f("./worker/worker_client"),f("./keyboard/hash_handler"),f("./placeholder"),f("./multi_select"),f("./mode/folding/fold_mode"),f("./theme/textmate"),f("./ext/error_marker"),p.config=f("./config"),p.edit=function(o,t){if(typeof o=="string"){var e=o;if(o=document.getElementById(e),!o)throw new Error("ace.edit can't find div #"+e)}if(o&&o.env&&o.env.editor instanceof L)return o.env.editor;var n="";if(o&&/input|textarea/i.test(o.tagName)){var c=o;n=c.value,o=B.createElement("pre"),c.parentNode.replaceChild(o,c)}else o&&(n=o.textContent,o.innerHTML="");var d=p.createEditSession(n),g=new L(new i(o),d,t),G={document:d,editor:g,onResize:g.resize.bind(g,null)};return c&&(G.textarea=c),g.on("destroy",function(){G.editor.container.env=null}),g.container.env=g.env=G,g},p.createEditSession=function(o,t){var e=new l(o,t);return e.setUndoManager(new u),e},p.Range=T,p.Editor=L,p.EditSession=l,p.UndoManager=u,p.VirtualRenderer=i;var r=p.config.version;p.version=r}),function(){ace.require(["ace/ace"],function(f){f&&(f.config.init(!0),f.define=ace.define);var p=function(){return this}();!p&&typeof window<"u"&&(p=window),!p&&typeof self<"u"&&(p=self),p.ace||(p.ace=f);for(var ze in f)f.hasOwnProperty(ze)&&(p.ace[ze]=f[ze]);p.ace.default=p.ace,$&&($.exports=p.ace)})}()}(ace$1)),ace$1.exports}var aceExports=requireAce(),modeRuby={exports:{}},hasRequiredModeRuby;function requireModeRuby(){return hasRequiredModeRuby||(hasRequiredModeRuby=1,function($,m){ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(f,p,ze){var B=f("../lib/oop"),T=f("./text_highlight_rules").TextHighlightRules,L=p.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"};p.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},p.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},p.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"};var l=p.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},u=p.constantNumericBinary={token:"constant.numeric",regex:/\b(0[bB][01](?:[01]|_(?=[01]))*)\b/},i=p.constantNumericDecimal={token:"constant.numeric",regex:/\b(0[dD](?:[1-9](?:[\d]|_(?=[\d]))*|0))\b/},r=p.constantNumericOctal={token:"constant.numeric",regex:/\b(0[oO]?(?:[1-7](?:[0-7]|_(?=[0-7]))*|0))\b/},o=p.constantNumericRational={token:"constant.numeric",regex:/\b([\d]+(?:[./][\d]+)?ri?)\b/},t=p.constantNumericComplex={token:"constant.numeric",regex:/\b([\d]i)\b/},e=p.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?i?\\b"},n=p.instanceVariable={token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},c=function(){var d="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many|p|warn|refine|using|module_function|extend|alias_method|private_class_method|remove_method|undef_method",g="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|__ENCODING__|prepend",G="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING|RUBY_PATCHLEVEL|RUBY_REVISION|RUBY_COPYRIGHT|RUBY_ENGINE|RUBY_ENGINE_VERSION|RUBY_DESCRIPTION",R="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",_=this.$keywords=this.createKeywordMapper({keyword:g,"constant.language":G,"variable.language":R,"support.function":d,"invalid.deprecated":"debugger"},"identifier"),S=`\\\\(?:n(?:[1-7][0-7]{0,2}|0)|[nsrtvfbae'"\\\\]|c(?:\\\\M-)?.|M-(?:\\\\C-|\\\\c)?.|C-(?:\\\\M-)?.|[0-7]{3}|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u{[\\da-fA-F]{1,6}(?:\\s[\\da-fA-F]{1,6})*})`,Me={"(":")","[":"]","{":"}","<":">","^":"^","|":"|","%":"%"};this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment.multiline",regex:"^=begin(?=$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:/[/](?=.*\/)/,next:"regex"},[{token:["constant.other.symbol.ruby","string.start"],regex:/(:)?(")/,push:[{token:"constant.language.escape",regex:S},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:S},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/`/,next:"pop"},{defaultToken:"string"}]},{token:["constant.other.symbol.ruby","string.start"],regex:/(:)?(')/,push:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string.end",regex:/'/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/%[qwx]([(\[<{^|%])/,onMatch:function(He,Te,j){j.length&&(j=[]);var yt=He[He.length-1];return j.unshift(yt,Te),this.next="qStateWithoutInterpolation",this.token}},{token:"string.start",regex:/%[QWX]?([(\[<{^|%])/,onMatch:function(He,Te,j){j.length&&(j=[]);var yt=He[He.length-1];return j.unshift(yt,Te),this.next="qStateWithInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[si]([(\[<{^|%])/,onMatch:function(He,Te,j){j.length&&(j=[]);var yt=He[He.length-1];return j.unshift(yt,Te),this.next="sStateWithoutInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[SI]([(\[<{^|%])/,onMatch:function(He,Te,j){j.length&&(j=[]);var yt=He[He.length-1];return j.unshift(yt,Te),this.next="sStateWithInterpolation",this.token}},{token:"string.regexp",regex:/%[r]([(\[<{^|%])/,onMatch:function(He,Te,j){j.length&&(j=[]);var yt=He[He.length-1];return j.unshift(yt,Te),this.next="rState",this.token}}],{token:"punctuation",regex:"::"},n,{token:"variable.global",regex:"[$][a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]*"},{token:["punctuation.operator","support.function"],regex:/(\.)([a-zA-Z_\d]+)(?=\()/},{token:["punctuation.operator","identifier"],regex:/(\.)([a-zA-Z_][a-zA-Z_\d]*)/},{token:"string.character",regex:"\\B\\?(?:"+S+"|\\S)"},{token:"punctuation.operator",regex:/\?(?=.+:)/},o,t,L,l,e,u,i,r,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:_,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(He,Te,j){var yt=He[2]=="-"||He[2]=="~"?"indentedHeredoc":"heredoc",y=He.split(this.splitRegex);return j.push(yt,y[3]),[{type:"constant",value:y[1]},{type:"string",value:y[2]},{type:"support.class",value:y[3]},{type:"string",value:y[4]}]},regex:"(<<[-~]?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(He,Te,j){return He===j[1]?(j.shift(),j.shift(),this.next=j[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(He,Te,j){return He===j[1]?(j.shift(),j.shift(),this.next=j[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(He,Te){return Te[0]==="heredoc"||Te[0]==="indentedHeredoc"?Te[0]:He}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\||\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]",onMatch:function(He,Te,j){return this.next="",He=="}"&&j.length>1&&j[1]!="start"&&(j.shift(),this.next=j.shift()),this.token}},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:/[?:,;.]/}],comment:[{token:"comment.multiline",regex:"^=end(?=$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}],qStateWithInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(He,Te,j){return j.length&&He===j[0]?(j.unshift(He,Te),this.token):"string"}},{token:"constant.language.escape",regex:S},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(He,Te,j){return j.length&&He===Me[j[0]]?(j.shift(),this.next=j.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],qStateWithoutInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(He,Te,j){return j.length&&He===j[0]?(j.unshift(He,Te),this.token):"string"}},{token:"constant.language.escape",regex:/\\['\\]/},{token:"constant.language.escape",regex:/\\./},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(He,Te,j){return j.length&&He===Me[j[0]]?(j.shift(),this.next=j.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],sStateWithoutInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(He,Te,j){return j.length&&He===j[0]?(j.unshift(He,Te),this.token):"constant.other.symbol.ruby"}},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(He,Te,j){return j.length&&He===Me[j[0]]?(j.shift(),this.next=j.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],sStateWithInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(He,Te,j){return j.length&&He===j[0]?(j.unshift(He,Te),this.token):"constant.other.symbol.ruby"}},{token:"constant.language.escape",regex:S},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(He,Te,j){return j.length&&He===Me[j[0]]?(j.shift(),this.next=j.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],rState:[{token:"string.regexp",regex:/[(\[<{]/,onMatch:function(He,Te,j){return j.length&&He===j[0]?(j.unshift(He,Te),this.token):"constant.language.escape"}},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.regexp",regex:/\//},{token:"string.regexp",regex:/[)\]>}^|%][imxouesn]*/,onMatch:function(He,Te,j){return j.length&&He[0]===Me[j[0]]?(j.shift(),this.next=j.shift(),this.token):(this.next="","constant.language.escape")}},{include:"regex"},{defaultToken:"string.regexp"}],regex:[{token:"regexp.keyword",regex:/\\[wWdDhHsS]/},{token:"constant.language.escape",regex:/\\[AGbBzZ]/},{token:"constant.language.escape",regex:/\\g<[a-zA-Z0-9]*>/},{token:["constant.language.escape","regexp.keyword","constant.language.escape"],regex:/(\\p{\^?)(Alnum|Alpha|Blank|Cntrl|Digit|Graph|Lower|Print|Punct|Space|Upper|XDigit|Word|ASCII|Any|Assigned|Arabic|Armenian|Balinese|Bengali|Bopomofo|Braille|Buginese|Buhid|Canadian_Aboriginal|Carian|Cham|Cherokee|Common|Coptic|Cuneiform|Cypriot|Cyrillic|Deseret|Devanagari|Ethiopic|Georgian|Glagolitic|Gothic|Greek|Gujarati|Gurmukhi|Han|Hangul|Hanunoo|Hebrew|Hiragana|Inherited|Kannada|Katakana|Kayah_Li|Kharoshthi|Khmer|Lao|Latin|Lepcha|Limbu|Linear_B|Lycian|Lydian|Malayalam|Mongolian|Myanmar|New_Tai_Lue|Nko|Ogham|Ol_Chiki|Old_Italic|Old_Persian|Oriya|Osmanya|Phags_Pa|Phoenician|Rejang|Runic|Saurashtra|Shavian|Sinhala|Sundanese|Syloti_Nagri|Syriac|Tagalog|Tagbanwa|Tai_Le|Tamil|Telugu|Thaana|Thai|Tibetan|Tifinagh|Ugaritic|Vai|Yi|Ll|Lm|Lt|Lu|Lo|Mn|Mc|Me|Nd|Nl|Pc|Pd|Ps|Pe|Pi|Pf|Po|No|Sm|Sc|Sk|So|Zs|Zl|Zp|Cc|Cf|Cn|Co|Cs|N|L|M|P|S|Z|C)(})/},{token:["constant.language.escape","invalid","constant.language.escape"],regex:/(\\p{\^?)([^/]*)(})/},{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:/[/][imxouesn]*/,next:"start"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?(?:[:=!>]|<'?[a-zA-Z]*'?>|<[=!])|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"regexp.keyword",regex:/\[\[:(?:alnum|alpha|blank|cntrl|digit|graph|lower|print|punct|space|upper|xdigit|word|ascii):\]\]/},{token:"constant.language.escape",regex:/\[\^?/,push:"regex_character_class"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword",regex:/\\[wWdDhHsS]/},{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:/&?&?\[\^?/,push:"regex_character_class"},{token:"constant.language.escape",regex:"]",next:"pop"},{token:"constant.language.escape",regex:"-"},{defaultToken:"string.regexp.characterclass"}]},this.normalizeRules()};B.inherits(c,T),p.RubyHighlightRules=c}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(f,p,ze){var B=f("../range").Range,T=function(){};(function(){this.checkOutdent=function(L,l){return/^\s+$/.test(L)?/^\s*\}/.test(l):!1},this.autoOutdent=function(L,l){var u=L.getLine(l),i=u.match(/^(\s*\})/);if(!i)return 0;var r=i[1].length,o=L.findMatchingBracket({row:l,column:r});if(!o||o.row==l)return 0;var t=this.$getIndent(L.getLine(o.row));L.replace(new B(l,0,l,r-1),t)},this.$getIndent=function(L){return L.match(/^\s*/)[0]}}).call(T.prototype),p.MatchingBraceOutdent=T}),ace.define("ace/mode/folding/ruby",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(f,p,ze){var B=f("../../lib/oop"),T=f("./fold_mode").FoldMode,L=f("../../range").Range,l=f("../../token_iterator").TokenIterator,u=p.FoldMode=function(){};B.inherits(u,T),(function(){this.indentKeywords={class:1,def:1,module:1,do:1,unless:1,if:1,while:1,for:1,until:1,begin:1,else:0,elsif:0,rescue:0,ensure:0,when:0,end:-1,case:1,"=begin":1,"=end":-1},this.foldingStartMarker=/(?:\s|^)(def|do|while|class|unless|module|if|for|until|begin|else|elsif|case|rescue|ensure|when)\b|({\s*$)|(=begin)/,this.foldingStopMarker=/(=end(?=$|\s.*$))|(^\s*})|\b(end)\b/,this.getFoldWidget=function(i,r,o){var t=i.getLine(o),e=this.foldingStartMarker.test(t),n=this.foldingStopMarker.test(t);if(e&&!n){var c=t.match(this.foldingStartMarker);if(c[1]){if((c[1]=="if"||c[1]=="else"||c[1]=="while"||c[1]=="until"||c[1]=="unless")&&(c[1]=="else"&&/^\s*else\s*$/.test(t)===!1||/^\s*(?:if|else|while|until|unless)\s*/.test(t)===!1)||c[1]=="when"&&/\sthen\s/.test(t)===!0)return;if(i.getTokenAt(o,c.index+2).type==="keyword")return"start"}else if(!c[3]||i.getTokenAt(o,c.index+1).type==="comment.multiline")return"start"}if(r!="markbeginend"||!n||e&&n)return"";var c=t.match(this.foldingStopMarker);if(c[3]==="end"){if(i.getTokenAt(o,c.index+1).type==="keyword")return"end"}else if(!c[1]||i.getTokenAt(o,c.index+1).type==="comment.multiline")return"end"},this.getFoldWidgetRange=function(i,r,o){var t=i.doc.getLine(o),e=this.foldingStartMarker.exec(t);if(e)return e[1]||e[3]?this.rubyBlock(i,o,e.index+2):this.openingBracketBlock(i,"{",o,e.index);var e=this.foldingStopMarker.exec(t);if(e)return e[3]==="end"&&i.getTokenAt(o,e.index+1).type==="keyword"?this.rubyBlock(i,o,e.index+1):e[1]==="=end"&&i.getTokenAt(o,e.index+1).type==="comment.multiline"?this.rubyBlock(i,o,e.index+1):this.closingBracketBlock(i,"}",o,e.index+e[0].length)},this.rubyBlock=function(i,y,o,t){var e=new l(i,y,o),n=e.getCurrentToken();if(!(!n||n.type!="keyword"&&n.type!="comment.multiline")){var c=n.value,d=i.getLine(y);switch(n.value){case"if":case"unless":case"while":case"until":var g=new RegExp("^\\s*"+n.value);if(!g.test(d))return;var G=this.indentKeywords[c];break;case"when":if(/\sthen\s/.test(d))return;case"elsif":case"rescue":case"ensure":var G=1;break;case"else":var g=new RegExp("^\\s*"+n.value+"\\s*$");if(!g.test(d))return;var G=1;break;default:var G=this.indentKeywords[c]}var R=[c];if(G){var _=G===-1?i.getLine(y-1).length:i.getLine(y).length,S=y,Me=[];if(Me.push(e.getCurrentTokenRange()),e.step=G===-1?e.stepBackward:e.stepForward,n.type=="comment.multiline"){for(;n=e.step();)if(n.type==="comment.multiline"){if(G==1){if(_=6,n.value=="=end")break}else if(n.value=="=begin")break}}else for(;n=e.step();){var He=!1;if(n.type==="keyword"){var Te=G*this.indentKeywords[n.value];switch(d=i.getLine(e.getCurrentTokenRow()),n.value){case"do":for(var j=e.$tokenIndex-1;j>=0;j--){var yt=e.$rowTokens[j];if(yt&&(yt.value=="while"||yt.value=="until"||yt.value=="for")){Te=0;break}}break;case"else":var g=new RegExp("^\\s*"+n.value+"\\s*$");(!g.test(d)||c=="case")&&(Te=0,He=!0);break;case"if":case"unless":case"while":case"until":var g=new RegExp("^\\s*"+n.value);g.test(d)||(Te=0,He=!0);break;case"when":(/\sthen\s/.test(d)||c=="case")&&(Te=0,He=!0)}if(Te>0)R.unshift(n.value);else if(Te<=0&&He===!1){if(R.shift(),!R.length&&((c=="while"||c=="until"||c=="for")&&n.value!="do"||n.value=="do"&&G==-1&&Te!=0||n.value!="do"))break;Te===0&&R.unshift(n.value)}}}if(!n)return null;if(t)return Me.push(e.getCurrentTokenRange()),Me;var y=e.getCurrentTokenRow();if(G===-1){if(n.type==="comment.multiline")var h=6;else var h=i.getLine(y).length;return new L(y,h,S-1,_)}return new L(S,_,y-1,i.getLine(y-1).length)}}}}).call(u.prototype)}),ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/ruby"],function(f,p,ze){var B=f("../lib/oop"),T=f("./text").Mode,L=f("./ruby_highlight_rules").RubyHighlightRules,l=f("./matching_brace_outdent").MatchingBraceOutdent,u=f("../range").Range,i=f("./folding/ruby").FoldMode,r=function(){this.HighlightRules=L,this.$outdent=new l,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new i,this.indentKeywords=this.foldingRules.indentKeywords};B.inherits(r,T),(function(){this.lineCommentStart="#",this.getNextLineIndent=function(o,t,e){var n=this.$getIndent(t),c=this.getTokenizer().getLineTokens(t,o),d=c.tokens;if(d.length&&d[d.length-1].type=="comment")return n;if(o=="start"){var g=t.match(/^.*[\{\(\[]\s*$/),G=t.match(/^\s*(class|def|module)\s.*$/),R=t.match(/.*do(\s*|\s+\|.*\|\s*)$/),_=t.match(/^\s*(if|else|when|elsif|unless|while|for|begin|rescue|ensure)\s*/);(g||G||R||_)&&(n+=e)}return n},this.checkOutdent=function(o,t,e){return/^\s+(end|else|rescue|ensure)$/.test(t+e)||this.$outdent.checkOutdent(t,e)},this.autoOutdent=function(o,t,e){var n=t.getLine(e);if(/}/.test(n))return this.$outdent.autoOutdent(t,e);var c=this.$getIndent(n),d=t.getLine(e-1),g=this.$getIndent(d),G=t.getTabString();g.length<=c.length&&c.slice(-G.length)==G&&t.remove(new u(e,c.length-G.length,e,c.length))},this.getMatching=function(o,t,e){if(t==null){var n=o.selection.lead;e=n.column,t=n.row}var c=o.getTokenAt(t,e);if(c&&c.value in this.indentKeywords)return this.foldingRules.rubyBlock(o,t,e,!0)},this.$id="ace/mode/ruby",this.snippetFileId="ace/snippets/ruby"}).call(r.prototype),p.Mode=r}),function(){ace.require(["ace/mode/ruby"],function(f){$&&($.exports=f)})}()}(modeRuby)),modeRuby.exports}requireModeRuby();var themeTwilight={exports:{}},hasRequiredThemeTwilight;function requireThemeTwilight(){return hasRequiredThemeTwilight||(hasRequiredThemeTwilight=1,function($,m){ace.define("ace/theme/twilight-css",["require","exports","module"],function(f,p,ze){ze.exports=`.ace-twilight .ace_gutter {
|
972
|
+
background: #232323;
|
973
|
+
color: #E2E2E2
|
974
|
+
}
|
975
|
+
|
976
|
+
.ace-twilight .ace_print-margin {
|
977
|
+
width: 1px;
|
978
|
+
background: #232323
|
979
|
+
}
|
980
|
+
|
981
|
+
.ace-twilight {
|
982
|
+
background-color: #141414;
|
983
|
+
color: #F8F8F8
|
984
|
+
}
|
985
|
+
|
986
|
+
.ace-twilight .ace_cursor {
|
987
|
+
color: #A7A7A7
|
988
|
+
}
|
989
|
+
|
990
|
+
.ace-twilight .ace_marker-layer .ace_selection {
|
991
|
+
background: rgba(221, 240, 255, 0.20)
|
992
|
+
}
|
993
|
+
|
994
|
+
.ace-twilight.ace_multiselect .ace_selection.ace_start {
|
995
|
+
box-shadow: 0 0 3px 0px #141414;
|
996
|
+
}
|
997
|
+
|
998
|
+
.ace-twilight .ace_marker-layer .ace_step {
|
999
|
+
background: rgb(102, 82, 0)
|
1000
|
+
}
|
1001
|
+
|
1002
|
+
.ace-twilight .ace_marker-layer .ace_bracket {
|
1003
|
+
margin: -1px 0 0 -1px;
|
1004
|
+
border: 1px solid rgba(255, 255, 255, 0.25)
|
1005
|
+
}
|
1006
|
+
|
1007
|
+
.ace-twilight .ace_marker-layer .ace_active-line {
|
1008
|
+
background: rgba(255, 255, 255, 0.031)
|
1009
|
+
}
|
1010
|
+
|
1011
|
+
.ace-twilight .ace_gutter-active-line {
|
1012
|
+
background-color: rgba(255, 255, 255, 0.031)
|
1013
|
+
}
|
1014
|
+
|
1015
|
+
.ace-twilight .ace_marker-layer .ace_selected-word {
|
1016
|
+
border: 1px solid rgba(221, 240, 255, 0.20)
|
1017
|
+
}
|
1018
|
+
|
1019
|
+
.ace-twilight .ace_invisible {
|
1020
|
+
color: rgba(255, 255, 255, 0.25)
|
1021
|
+
}
|
1022
|
+
|
1023
|
+
.ace-twilight .ace_keyword,
|
1024
|
+
.ace-twilight .ace_meta {
|
1025
|
+
color: #CDA869
|
1026
|
+
}
|
1027
|
+
|
1028
|
+
.ace-twilight .ace_constant,
|
1029
|
+
.ace-twilight .ace_constant.ace_character,
|
1030
|
+
.ace-twilight .ace_constant.ace_character.ace_escape,
|
1031
|
+
.ace-twilight .ace_constant.ace_other,
|
1032
|
+
.ace-twilight .ace_heading,
|
1033
|
+
.ace-twilight .ace_markup.ace_heading,
|
1034
|
+
.ace-twilight .ace_support.ace_constant {
|
1035
|
+
color: #CF6A4C
|
1036
|
+
}
|
1037
|
+
|
1038
|
+
.ace-twilight .ace_invalid.ace_illegal {
|
1039
|
+
color: #F8F8F8;
|
1040
|
+
background-color: rgba(86, 45, 86, 0.75)
|
1041
|
+
}
|
1042
|
+
|
1043
|
+
.ace-twilight .ace_invalid.ace_deprecated {
|
1044
|
+
text-decoration: underline;
|
1045
|
+
font-style: italic;
|
1046
|
+
color: #D2A8A1
|
1047
|
+
}
|
1048
|
+
|
1049
|
+
.ace-twilight .ace_support {
|
1050
|
+
color: #9B859D
|
1051
|
+
}
|
1052
|
+
|
1053
|
+
.ace-twilight .ace_fold {
|
1054
|
+
background-color: #AC885B;
|
1055
|
+
border-color: #F8F8F8
|
1056
|
+
}
|
1057
|
+
|
1058
|
+
.ace-twilight .ace_support.ace_function {
|
1059
|
+
color: #DAD085
|
1060
|
+
}
|
1061
|
+
|
1062
|
+
.ace-twilight .ace_list,
|
1063
|
+
.ace-twilight .ace_markup.ace_list,
|
1064
|
+
.ace-twilight .ace_storage {
|
1065
|
+
color: #F9EE98
|
1066
|
+
}
|
1067
|
+
|
1068
|
+
.ace-twilight .ace_entity.ace_name.ace_function,
|
1069
|
+
.ace-twilight .ace_meta.ace_tag {
|
1070
|
+
color: #AC885B
|
1071
|
+
}
|
1072
|
+
|
1073
|
+
.ace-twilight .ace_string {
|
1074
|
+
color: #8F9D6A
|
1075
|
+
}
|
1076
|
+
|
1077
|
+
.ace-twilight .ace_string.ace_regexp {
|
1078
|
+
color: #E9C062
|
1079
|
+
}
|
1080
|
+
|
1081
|
+
.ace-twilight .ace_comment {
|
1082
|
+
font-style: italic;
|
1083
|
+
color: #5F5A60
|
1084
|
+
}
|
1085
|
+
|
1086
|
+
.ace-twilight .ace_variable {
|
1087
|
+
color: #7587A6
|
1088
|
+
}
|
1089
|
+
|
1090
|
+
.ace-twilight .ace_xml-pe {
|
1091
|
+
color: #494949
|
1092
|
+
}
|
1093
|
+
|
1094
|
+
.ace-twilight .ace_indent-guide {
|
1095
|
+
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y
|
1096
|
+
}
|
1097
|
+
|
1098
|
+
.ace-twilight .ace_indent-guide-active {
|
1099
|
+
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y;
|
1100
|
+
}
|
1101
|
+
`}),ace.define("ace/theme/twilight",["require","exports","module","ace/theme/twilight-css","ace/lib/dom"],function(f,p,ze){p.isDark=!0,p.cssClass="ace-twilight",p.cssText=f("./twilight-css");var B=f("../lib/dom");B.importCssString(p.cssText,p.cssClass,!1)}),function(){ace.require(["ace/theme/twilight"],function(f){$&&($.exports=f)})}()}(themeTwilight)),themeTwilight.exports}requireThemeTwilight();var Tt=Object.defineProperty,At=($,m,f)=>m in $?Tt($,m,{enumerable:!0,configurable:!0,writable:!0,value:f}):$[m]=f,I=($,m,f)=>At($,typeof m!="symbol"?m+"":m,f);function Ve($,m){return function(){return $.apply(m,arguments)}}const{toString:Ot}=Object.prototype,{getPrototypeOf:Ee}=Object,ne=($=>m=>{const f=Ot.call(m);return $[f]||($[f]=f.slice(8,-1).toLowerCase())})(Object.create(null)),k=$=>($=$.toLowerCase(),m=>ne(m)===$),se=$=>m=>typeof m===$,{isArray:M}=Array,W=se("undefined");function Ct($){return $!==null&&!W($)&&$.constructor!==null&&!W($.constructor)&&C($.constructor.isBuffer)&&$.constructor.isBuffer($)}const Je=k("ArrayBuffer");function Pt($){let m;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?m=ArrayBuffer.isView($):m=$&&$.buffer&&Je($.buffer),m}const kt=se("string"),C=se("function"),Ke=se("number"),re=$=>$!==null&&typeof $=="object",Nt=$=>$===!0||$===!1,Q=$=>{if(ne($)!=="object")return!1;const m=Ee($);return(m===null||m===Object.prototype||Object.getPrototypeOf(m)===null)&&!(Symbol.toStringTag in $)&&!(Symbol.iterator in $)},It=k("Date"),vt=k("File"),Lt=k("Blob"),Ft=k("FileList"),jt=$=>re($)&&C($.pipe),Ut=$=>{let m;return $&&(typeof FormData=="function"&&$ instanceof FormData||C($.append)&&((m=ne($))==="formdata"||m==="object"&&C($.toString)&&$.toString()==="[object FormData]"))},qt=k("URLSearchParams"),[Dt,$t,Bt,Mt]=["ReadableStream","Request","Response","Headers"].map(k),Ht=$=>$.trim?$.trim():$.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function V($,m,{allOwnKeys:f=!1}={}){if($===null||typeof $>"u")return;let p,ze;if(typeof $!="object"&&($=[$]),M($))for(p=0,ze=$.length;p<ze;p++)m.call(null,$[p],p,$);else{const B=f?Object.getOwnPropertyNames($):Object.keys($),T=B.length;let L;for(p=0;p<T;p++)L=B[p],m.call(null,$[L],L,$)}}function Ge($,m){m=m.toLowerCase();const f=Object.keys($);let p=f.length,ze;for(;p-- >0;)if(ze=f[p],m===ze.toLowerCase())return ze;return null}const U=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Xe=$=>!W($)&&$!==U;function fe(){const{caseless:$}=Xe(this)&&this||{},m={},f=(p,ze)=>{const B=$&&Ge(m,ze)||ze;Q(m[B])&&Q(p)?m[B]=fe(m[B],p):Q(p)?m[B]=fe({},p):M(p)?m[B]=p.slice():m[B]=p};for(let p=0,ze=arguments.length;p<ze;p++)arguments[p]&&V(arguments[p],f);return m}const zt=($,m,f,{allOwnKeys:p}={})=>(V(m,(ze,B)=>{f&&C(ze)?$[B]=Ve(ze,f):$[B]=ze},{allOwnKeys:p}),$),Wt=$=>($.charCodeAt(0)===65279&&($=$.slice(1)),$),Vt=($,m,f,p)=>{$.prototype=Object.create(m.prototype,p),$.prototype.constructor=$,Object.defineProperty($,"super",{value:m.prototype}),f&&Object.assign($.prototype,f)},Jt=($,m,f,p)=>{let ze,B,T;const L={};if(m=m||{},$==null)return m;do{for(ze=Object.getOwnPropertyNames($),B=ze.length;B-- >0;)T=ze[B],(!p||p(T,$,m))&&!L[T]&&(m[T]=$[T],L[T]=!0);$=f!==!1&&Ee($)}while($&&(!f||f($,m))&&$!==Object.prototype);return m},Kt=($,m,f)=>{$=String($),(f===void 0||f>$.length)&&(f=$.length),f-=m.length;const p=$.indexOf(m,f);return p!==-1&&p===f},Gt=$=>{if(!$)return null;if(M($))return $;let m=$.length;if(!Ke(m))return null;const f=new Array(m);for(;m-- >0;)f[m]=$[m];return f},Xt=($=>m=>$&&m instanceof $)(typeof Uint8Array<"u"&&Ee(Uint8Array)),Qt=($,m)=>{const f=($&&$[Symbol.iterator]).call($);let p;for(;(p=f.next())&&!p.done;){const ze=p.value;m.call($,ze[0],ze[1])}},Yt=($,m)=>{let f;const p=[];for(;(f=$.exec(m))!==null;)p.push(f);return p},Zt=k("HTMLFormElement"),en=$=>$.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(m,f,p){return f.toUpperCase()+p}),Oe=(({hasOwnProperty:$})=>(m,f)=>$.call(m,f))(Object.prototype),tn=k("RegExp"),Qe=($,m)=>{const f=Object.getOwnPropertyDescriptors($),p={};V(f,(ze,B)=>{let T;(T=m(ze,B,$))!==!1&&(p[B]=T||ze)}),Object.defineProperties($,p)},nn=$=>{Qe($,(m,f)=>{if(C($)&&["arguments","caller","callee"].indexOf(f)!==-1)return!1;const p=$[f];if(C(p)){if(m.enumerable=!1,"writable"in m){m.writable=!1;return}m.set||(m.set=()=>{throw Error("Can not rewrite read-only method '"+f+"'")})}})},sn=($,m)=>{const f={},p=ze=>{ze.forEach(B=>{f[B]=!0})};return M($)?p($):p(String($).split(m)),f},rn=()=>{},on=($,m)=>$!=null&&Number.isFinite($=+$)?$:m,le="abcdefghijklmnopqrstuvwxyz",Ce="0123456789",Ye={DIGIT:Ce,ALPHA:le,ALPHA_DIGIT:le+le.toUpperCase()+Ce},cn=($=16,m=Ye.ALPHA_DIGIT)=>{let f="";const{length:p}=m;for(;$--;)f+=m[Math.random()*p|0];return f};function an($){return!!($&&C($.append)&&$[Symbol.toStringTag]==="FormData"&&$[Symbol.iterator])}const ln=$=>{const m=new Array(10),f=(p,ze)=>{if(re(p)){if(m.indexOf(p)>=0)return;if(!("toJSON"in p)){m[ze]=p;const B=M(p)?[]:{};return V(p,(T,L)=>{const l=f(T,ze+1);!W(l)&&(B[L]=l)}),m[ze]=void 0,B}}return p};return f($,0)},un=k("AsyncFunction"),hn=$=>$&&(re($)||C($))&&C($.then)&&C($.catch),Ze=(($,m)=>$?setImmediate:m?((f,p)=>(U.addEventListener("message",({source:ze,data:B})=>{ze===U&&B===f&&p.length&&p.shift()()},!1),ze=>{p.push(ze),U.postMessage(f,"*")}))(`axios@${Math.random()}`,[]):f=>setTimeout(f))(typeof setImmediate=="function",C(U.postMessage)),dn=typeof queueMicrotask<"u"?queueMicrotask.bind(U):typeof process<"u"&&process.nextTick||Ze,a={isArray:M,isArrayBuffer:Je,isBuffer:Ct,isFormData:Ut,isArrayBufferView:Pt,isString:kt,isNumber:Ke,isBoolean:Nt,isObject:re,isPlainObject:Q,isReadableStream:Dt,isRequest:$t,isResponse:Bt,isHeaders:Mt,isUndefined:W,isDate:It,isFile:vt,isBlob:Lt,isRegExp:tn,isFunction:C,isStream:jt,isURLSearchParams:qt,isTypedArray:Xt,isFileList:Ft,forEach:V,merge:fe,extend:zt,trim:Ht,stripBOM:Wt,inherits:Vt,toFlatObject:Jt,kindOf:ne,kindOfTest:k,endsWith:Kt,toArray:Gt,forEachEntry:Qt,matchAll:Yt,isHTMLForm:Zt,hasOwnProperty:Oe,hasOwnProp:Oe,reduceDescriptors:Qe,freezeMethods:nn,toObjectSet:sn,toCamelCase:en,noop:rn,toFiniteNumber:on,findKey:Ge,global:U,isContextDefined:Xe,ALPHABET:Ye,generateString:cn,isSpecCompliantForm:an,toJSONObject:ln,isAsyncFn:un,isThenable:hn,setImmediate:Ze,asap:dn};function b($,m,f,p,ze){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=$,this.name="AxiosError",m&&(this.code=m),f&&(this.config=f),p&&(this.request=p),ze&&(this.response=ze,this.status=ze.status?ze.status:null)}a.inherits(b,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}});const et=b.prototype,tt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach($=>{tt[$]={value:$}}),Object.defineProperties(b,tt),Object.defineProperty(et,"isAxiosError",{value:!0}),b.from=($,m,f,p,ze,B)=>{const T=Object.create(et);return a.toFlatObject($,T,function(L){return L!==Error.prototype},L=>L!=="isAxiosError"),b.call(T,$.message,m,f,p,ze),T.cause=$,T.name=$.name,B&&Object.assign(T,B),T};const fn=null;function pe($){return a.isPlainObject($)||a.isArray($)}function nt($){return a.endsWith($,"[]")?$.slice(0,-2):$}function Pe($,m,f){return $?$.concat(m).map(function(p,ze){return p=nt(p),!f&&ze?"["+p+"]":p}).join(f?".":""):m}function pn($){return a.isArray($)&&!$.some(pe)}const mn=a.toFlatObject(a,{},null,function($){return/^is[A-Z]/.test($)});function ie($,m,f){if(!a.isObject($))throw new TypeError("target must be an object");m=m||new FormData,f=a.toFlatObject(f,{metaTokens:!0,dots:!1,indexes:!1},!1,function(t,e){return!a.isUndefined(e[t])});const p=f.metaTokens,ze=f.visitor||u,B=f.dots,T=f.indexes,L=(f.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(m);if(!a.isFunction(ze))throw new TypeError("visitor must be a function");function l(t){if(t===null)return"";if(a.isDate(t))return t.toISOString();if(!L&&a.isBlob(t))throw new b("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(t)||a.isTypedArray(t)?L&&typeof Blob=="function"?new Blob([t]):Buffer.from(t):t}function u(t,e,n){let c=t;if(t&&!n&&typeof t=="object"){if(a.endsWith(e,"{}"))e=p?e:e.slice(0,-2),t=JSON.stringify(t);else if(a.isArray(t)&&pn(t)||(a.isFileList(t)||a.endsWith(e,"[]"))&&(c=a.toArray(t)))return e=nt(e),c.forEach(function(d,g){!(a.isUndefined(d)||d===null)&&m.append(T===!0?Pe([e],g,B):T===null?e:e+"[]",l(d))}),!1}return pe(t)?!0:(m.append(Pe(n,e,B),l(t)),!1)}const i=[],r=Object.assign(mn,{defaultVisitor:u,convertValue:l,isVisitable:pe});function o(t,e){if(!a.isUndefined(t)){if(i.indexOf(t)!==-1)throw Error("Circular reference detected in "+e.join("."));i.push(t),a.forEach(t,function(n,c){(!(a.isUndefined(n)||n===null)&&ze.call(m,n,a.isString(c)?c.trim():c,e,r))===!0&&o(n,e?e.concat(c):[c])}),i.pop()}}if(!a.isObject($))throw new TypeError("data must be an object");return o($),m}function ke($){const m={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent($).replace(/[!'()~]|%20|%00/g,function(f){return m[f]})}function Se($,m){this._pairs=[],$&&ie($,this,m)}const st=Se.prototype;st.append=function($,m){this._pairs.push([$,m])},st.toString=function($){const m=$?function(f){return $.call(this,f,ke)}:ke;return this._pairs.map(function(f){return m(f[0])+"="+m(f[1])},"").join("&")};function gn($){return encodeURIComponent($).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function rt($,m,f){if(!m)return $;const p=f&&f.encode||gn;a.isFunction(f)&&(f={serialize:f});const ze=f&&f.serialize;let B;if(ze?B=ze(m,f):B=a.isURLSearchParams(m)?m.toString():new Se(m,f).toString(p),B){const T=$.indexOf("#");T!==-1&&($=$.slice(0,T)),$+=($.indexOf("?")===-1?"?":"&")+B}return $}class Ne{constructor(){this.handlers=[]}use(m,f,p){return this.handlers.push({fulfilled:m,rejected:f,synchronous:p?p.synchronous:!1,runWhen:p?p.runWhen:null}),this.handlers.length-1}eject(m){this.handlers[m]&&(this.handlers[m]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(m){a.forEach(this.handlers,function(f){f!==null&&m(f)})}}const it={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},bn=typeof URLSearchParams<"u"?URLSearchParams:Se,_n=typeof FormData<"u"?FormData:null,wn=typeof Blob<"u"?Blob:null,yn={isBrowser:!0,classes:{URLSearchParams:bn,FormData:_n,Blob:wn},protocols:["http","https","file","blob","url","data"]},Re=typeof window<"u"&&typeof document<"u",me=typeof navigator=="object"&&navigator||void 0,En=Re&&(!me||["ReactNative","NativeScript","NS"].indexOf(me.product)<0),Sn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Rn=Re&&window.location.href||"http://localhost",xn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Re,hasStandardBrowserEnv:En,hasStandardBrowserWebWorkerEnv:Sn,navigator:me,origin:Rn},Symbol.toStringTag,{value:"Module"})),x={...xn,...yn};function Tn($,m){return ie($,new x.classes.URLSearchParams,Object.assign({visitor:function(f,p,ze,B){return x.isNode&&a.isBuffer(f)?(this.append(p,f.toString("base64")),!1):B.defaultVisitor.apply(this,arguments)}},m))}function An($){return a.matchAll(/\w+|\[(\w*)]/g,$).map(m=>m[0]==="[]"?"":m[1]||m[0])}function On($){const m={},f=Object.keys($);let p;const ze=f.length;let B;for(p=0;p<ze;p++)B=f[p],m[B]=$[B];return m}function ot($){function m(f,p,ze,B){let T=f[B++];if(T==="__proto__")return!0;const L=Number.isFinite(+T),l=B>=f.length;return T=!T&&a.isArray(ze)?ze.length:T,l?(a.hasOwnProp(ze,T)?ze[T]=[ze[T],p]:ze[T]=p,!L):((!ze[T]||!a.isObject(ze[T]))&&(ze[T]=[]),m(f,p,ze[T],B)&&a.isArray(ze[T])&&(ze[T]=On(ze[T])),!L)}if(a.isFormData($)&&a.isFunction($.entries)){const f={};return a.forEachEntry($,(p,ze)=>{m(An(p),ze,f,0)}),f}return null}function Cn($,m,f){if(a.isString($))try{return(m||JSON.parse)($),a.trim($)}catch(p){if(p.name!=="SyntaxError")throw p}return(f||JSON.stringify)($)}const J={transitional:it,adapter:["xhr","http","fetch"],transformRequest:[function($,m){const f=m.getContentType()||"",p=f.indexOf("application/json")>-1,ze=a.isObject($);if(ze&&a.isHTMLForm($)&&($=new FormData($)),a.isFormData($))return p?JSON.stringify(ot($)):$;if(a.isArrayBuffer($)||a.isBuffer($)||a.isStream($)||a.isFile($)||a.isBlob($)||a.isReadableStream($))return $;if(a.isArrayBufferView($))return $.buffer;if(a.isURLSearchParams($))return m.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),$.toString();let B;if(ze){if(f.indexOf("application/x-www-form-urlencoded")>-1)return Tn($,this.formSerializer).toString();if((B=a.isFileList($))||f.indexOf("multipart/form-data")>-1){const T=this.env&&this.env.FormData;return ie(B?{"files[]":$}:$,T&&new T,this.formSerializer)}}return ze||p?(m.setContentType("application/json",!1),Cn($)):$}],transformResponse:[function($){const m=this.transitional||J.transitional,f=m&&m.forcedJSONParsing,p=this.responseType==="json";if(a.isResponse($)||a.isReadableStream($))return $;if($&&a.isString($)&&(f&&!this.responseType||p)){const ze=!(m&&m.silentJSONParsing)&&p;try{return JSON.parse($)}catch(B){if(ze)throw B.name==="SyntaxError"?b.from(B,b.ERR_BAD_RESPONSE,this,null,this.response):B}}return $}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:x.classes.FormData,Blob:x.classes.Blob},validateStatus:function($){return $>=200&&$<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],$=>{J.headers[$]={}});const Pn=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),kn=$=>{const m={};let f,p,ze;return $&&$.split(`
|
1102
|
+
`).forEach(function(B){ze=B.indexOf(":"),f=B.substring(0,ze).trim().toLowerCase(),p=B.substring(ze+1).trim(),!(!f||m[f]&&Pn[f])&&(f==="set-cookie"?m[f]?m[f].push(p):m[f]=[p]:m[f]=m[f]?m[f]+", "+p:p)}),m},Ie=Symbol("internals");function z($){return $&&String($).trim().toLowerCase()}function Y($){return $===!1||$==null?$:a.isArray($)?$.map(Y):String($)}function Nn($){const m=Object.create(null),f=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let p;for(;p=f.exec($);)m[p[1]]=p[2];return m}const In=$=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test($.trim());function ue($,m,f,p,ze){if(a.isFunction(p))return p.call(this,m,f);if(ze&&(m=f),!!a.isString(m)){if(a.isString(p))return m.indexOf(p)!==-1;if(a.isRegExp(p))return p.test(m)}}function vn($){return $.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(m,f,p)=>f.toUpperCase()+p)}function Ln($,m){const f=a.toCamelCase(" "+m);["get","set","has"].forEach(p=>{Object.defineProperty($,p+f,{value:function(ze,B,T){return this[p].call(this,m,ze,B,T)},configurable:!0})})}let A=class{constructor($){$&&this.set($)}set($,m,f){const p=this;function ze(T,L,l){const u=z(L);if(!u)throw new Error("header name must be a non-empty string");const i=a.findKey(p,u);(!i||p[i]===void 0||l===!0||l===void 0&&p[i]!==!1)&&(p[i||L]=Y(T))}const B=(T,L)=>a.forEach(T,(l,u)=>ze(l,u,L));if(a.isPlainObject($)||$ instanceof this.constructor)B($,m);else if(a.isString($)&&($=$.trim())&&!In($))B(kn($),m);else if(a.isHeaders($))for(const[T,L]of $.entries())ze(L,T,f);else $!=null&&ze(m,$,f);return this}get($,m){if($=z($),$){const f=a.findKey(this,$);if(f){const p=this[f];if(!m)return p;if(m===!0)return Nn(p);if(a.isFunction(m))return m.call(this,p,f);if(a.isRegExp(m))return m.exec(p);throw new TypeError("parser must be boolean|regexp|function")}}}has($,m){if($=z($),$){const f=a.findKey(this,$);return!!(f&&this[f]!==void 0&&(!m||ue(this,this[f],f,m)))}return!1}delete($,m){const f=this;let p=!1;function ze(B){if(B=z(B),B){const T=a.findKey(f,B);T&&(!m||ue(f,f[T],T,m))&&(delete f[T],p=!0)}}return a.isArray($)?$.forEach(ze):ze($),p}clear($){const m=Object.keys(this);let f=m.length,p=!1;for(;f--;){const ze=m[f];(!$||ue(this,this[ze],ze,$,!0))&&(delete this[ze],p=!0)}return p}normalize($){const m=this,f={};return a.forEach(this,(p,ze)=>{const B=a.findKey(f,ze);if(B){m[B]=Y(p),delete m[ze];return}const T=$?vn(ze):String(ze).trim();T!==ze&&delete m[ze],m[T]=Y(p),f[T]=!0}),this}concat(...$){return this.constructor.concat(this,...$)}toJSON($){const m=Object.create(null);return a.forEach(this,(f,p)=>{f!=null&&f!==!1&&(m[p]=$&&a.isArray(f)?f.join(", "):f)}),m}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([$,m])=>$+": "+m).join(`
|
1103
|
+
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from($){return $ instanceof this?$:new this($)}static concat($,...m){const f=new this($);return m.forEach(p=>f.set(p)),f}static accessor($){const m=(this[Ie]=this[Ie]={accessors:{}}).accessors,f=this.prototype;function p(ze){const B=z(ze);m[B]||(Ln(f,ze),m[B]=!0)}return a.isArray($)?$.forEach(p):p($),this}};A.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),a.reduceDescriptors(A.prototype,({value:$},m)=>{let f=m[0].toUpperCase()+m.slice(1);return{get:()=>$,set(p){this[f]=p}}}),a.freezeMethods(A);function he($,m){const f=this||J,p=m||f,ze=A.from(p.headers);let B=p.data;return a.forEach($,function(T){B=T.call(f,B,ze.normalize(),m?m.status:void 0)}),ze.normalize(),B}function ct($){return!!($&&$.__CANCEL__)}function H($,m,f){b.call(this,$??"canceled",b.ERR_CANCELED,m,f),this.name="CanceledError"}a.inherits(H,b,{__CANCEL__:!0});function at($,m,f){const p=f.config.validateStatus;!f.status||!p||p(f.status)?$(f):m(new b("Request failed with status code "+f.status,[b.ERR_BAD_REQUEST,b.ERR_BAD_RESPONSE][Math.floor(f.status/100)-4],f.config,f.request,f))}function Fn($){const m=/^([-+\w]{1,25})(:?\/\/|:)/.exec($);return m&&m[1]||""}function jn($,m){$=$||10;const f=new Array($),p=new Array($);let ze=0,B=0,T;return m=m!==void 0?m:1e3,function(L){const l=Date.now(),u=p[B];T||(T=l),f[ze]=L,p[ze]=l;let i=B,r=0;for(;i!==ze;)r+=f[i++],i=i%$;if(ze=(ze+1)%$,ze===B&&(B=(B+1)%$),l-T<m)return;const o=u&&l-u;return o?Math.round(r*1e3/o):void 0}}function Un($,m){let f=0,p=1e3/m,ze,B;const T=(L,l=Date.now())=>{f=l,ze=null,B&&(clearTimeout(B),B=null),$.apply(null,L)};return[(...L)=>{const l=Date.now(),u=l-f;u>=p?T(L,l):(ze=L,B||(B=setTimeout(()=>{B=null,T(ze)},p-u)))},()=>ze&&T(ze)]}const ee=($,m,f=3)=>{let p=0;const ze=jn(50,250);return Un(B=>{const T=B.loaded,L=B.lengthComputable?B.total:void 0,l=T-p,u=ze(l),i=T<=L;p=T;const r={loaded:T,total:L,progress:L?T/L:void 0,bytes:l,rate:u||void 0,estimated:u&&L&&i?(L-T)/u:void 0,event:B,lengthComputable:L!=null,[m?"download":"upload"]:!0};$(r)},f)},ve=($,m)=>{const f=$!=null;return[p=>m[0]({lengthComputable:f,total:$,loaded:p}),m[1]]},Le=$=>(...m)=>a.asap(()=>$(...m)),qn=x.hasStandardBrowserEnv?(($,m)=>f=>(f=new URL(f,x.origin),$.protocol===f.protocol&&$.host===f.host&&(m||$.port===f.port)))(new URL(x.origin),x.navigator&&/(msie|trident)/i.test(x.navigator.userAgent)):()=>!0,Dn=x.hasStandardBrowserEnv?{write($,m,f,p,ze,B){const T=[$+"="+encodeURIComponent(m)];a.isNumber(f)&&T.push("expires="+new Date(f).toGMTString()),a.isString(p)&&T.push("path="+p),a.isString(ze)&&T.push("domain="+ze),B===!0&&T.push("secure"),document.cookie=T.join("; ")},read($){const m=document.cookie.match(new RegExp("(^|;\\s*)("+$+")=([^;]*)"));return m?decodeURIComponent(m[3]):null},remove($){this.write($,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function $n($){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test($)}function Bn($,m){return m?$.replace(/\/?\/$/,"")+"/"+m.replace(/^\/+/,""):$}function lt($,m){return $&&!$n(m)?Bn($,m):m}const Fe=$=>$ instanceof A?{...$}:$;function D($,m){m=m||{};const f={};function p(u,i,r,o){return a.isPlainObject(u)&&a.isPlainObject(i)?a.merge.call({caseless:o},u,i):a.isPlainObject(i)?a.merge({},i):a.isArray(i)?i.slice():i}function ze(u,i,r,o){if(a.isUndefined(i)){if(!a.isUndefined(u))return p(void 0,u,r,o)}else return p(u,i,r,o)}function B(u,i){if(!a.isUndefined(i))return p(void 0,i)}function T(u,i){if(a.isUndefined(i)){if(!a.isUndefined(u))return p(void 0,u)}else return p(void 0,i)}function L(u,i,r){if(r in m)return p(u,i);if(r in $)return p(void 0,u)}const l={url:B,method:B,data:B,baseURL:T,transformRequest:T,transformResponse:T,paramsSerializer:T,timeout:T,timeoutMessage:T,withCredentials:T,withXSRFToken:T,adapter:T,responseType:T,xsrfCookieName:T,xsrfHeaderName:T,onUploadProgress:T,onDownloadProgress:T,decompress:T,maxContentLength:T,maxBodyLength:T,beforeRedirect:T,transport:T,httpAgent:T,httpsAgent:T,cancelToken:T,socketPath:T,responseEncoding:T,validateStatus:L,headers:(u,i,r)=>ze(Fe(u),Fe(i),r,!0)};return a.forEach(Object.keys(Object.assign({},$,m)),function(u){const i=l[u]||ze,r=i($[u],m[u],u);a.isUndefined(r)&&i!==L||(f[u]=r)}),f}const ut=$=>{const m=D({},$);let{data:f,withXSRFToken:p,xsrfHeaderName:ze,xsrfCookieName:B,headers:T,auth:L}=m;m.headers=T=A.from(T),m.url=rt(lt(m.baseURL,m.url),$.params,$.paramsSerializer),L&&T.set("Authorization","Basic "+btoa((L.username||"")+":"+(L.password?unescape(encodeURIComponent(L.password)):"")));let l;if(a.isFormData(f)){if(x.hasStandardBrowserEnv||x.hasStandardBrowserWebWorkerEnv)T.setContentType(void 0);else if((l=T.getContentType())!==!1){const[u,...i]=l?l.split(";").map(r=>r.trim()).filter(Boolean):[];T.setContentType([u||"multipart/form-data",...i].join("; "))}}if(x.hasStandardBrowserEnv&&(p&&a.isFunction(p)&&(p=p(m)),p||p!==!1&&qn(m.url))){const u=ze&&B&&Dn.read(B);u&&T.set(ze,u)}return m},Mn=typeof XMLHttpRequest<"u",Hn=Mn&&function($){return new Promise(function(m,f){const p=ut($);let ze=p.data;const B=A.from(p.headers).normalize();let{responseType:T,onUploadProgress:L,onDownloadProgress:l}=p,u,i,r,o,t;function e(){o&&o(),t&&t(),p.cancelToken&&p.cancelToken.unsubscribe(u),p.signal&&p.signal.removeEventListener("abort",u)}let n=new XMLHttpRequest;n.open(p.method.toUpperCase(),p.url,!0),n.timeout=p.timeout;function c(){if(!n)return;const g=A.from("getAllResponseHeaders"in n&&n.getAllResponseHeaders()),G={data:!T||T==="text"||T==="json"?n.responseText:n.response,status:n.status,statusText:n.statusText,headers:g,config:$,request:n};at(function(R){m(R),e()},function(R){f(R),e()},G),n=null}"onloadend"in n?n.onloadend=c:n.onreadystatechange=function(){!n||n.readyState!==4||n.status===0&&!(n.responseURL&&n.responseURL.indexOf("file:")===0)||setTimeout(c)},n.onabort=function(){n&&(f(new b("Request aborted",b.ECONNABORTED,$,n)),n=null)},n.onerror=function(){f(new b("Network Error",b.ERR_NETWORK,$,n)),n=null},n.ontimeout=function(){let g=p.timeout?"timeout of "+p.timeout+"ms exceeded":"timeout exceeded";const G=p.transitional||it;p.timeoutErrorMessage&&(g=p.timeoutErrorMessage),f(new b(g,G.clarifyTimeoutError?b.ETIMEDOUT:b.ECONNABORTED,$,n)),n=null},ze===void 0&&B.setContentType(null),"setRequestHeader"in n&&a.forEach(B.toJSON(),function(g,G){n.setRequestHeader(G,g)}),a.isUndefined(p.withCredentials)||(n.withCredentials=!!p.withCredentials),T&&T!=="json"&&(n.responseType=p.responseType),l&&([r,t]=ee(l,!0),n.addEventListener("progress",r)),L&&n.upload&&([i,o]=ee(L),n.upload.addEventListener("progress",i),n.upload.addEventListener("loadend",o)),(p.cancelToken||p.signal)&&(u=g=>{n&&(f(!g||g.type?new H(null,$,n):g),n.abort(),n=null)},p.cancelToken&&p.cancelToken.subscribe(u),p.signal&&(p.signal.aborted?u():p.signal.addEventListener("abort",u)));const d=Fn(p.url);if(d&&x.protocols.indexOf(d)===-1){f(new b("Unsupported protocol "+d+":",b.ERR_BAD_REQUEST,$));return}n.send(ze||null)})},zn=($,m)=>{const{length:f}=$=$?$.filter(Boolean):[];if(m||f){let p=new AbortController,ze;const B=function(u){if(!ze){ze=!0,L();const i=u instanceof Error?u:this.reason;p.abort(i instanceof b?i:new H(i instanceof Error?i.message:i))}};let T=m&&setTimeout(()=>{T=null,B(new b(`timeout ${m} of ms exceeded`,b.ETIMEDOUT))},m);const L=()=>{$&&(T&&clearTimeout(T),T=null,$.forEach(u=>{u.unsubscribe?u.unsubscribe(B):u.removeEventListener("abort",B)}),$=null)};$.forEach(u=>u.addEventListener("abort",B));const{signal:l}=p;return l.unsubscribe=()=>a.asap(L),l}},Wn=function*($,m){let f=$.byteLength;if(f<m){yield $;return}let p=0,ze;for(;p<f;)ze=p+m,yield $.slice(p,ze),p=ze},Vn=async function*($,m){for await(const f of Jn($))yield*Wn(f,m)},Jn=async function*($){if($[Symbol.asyncIterator]){yield*$;return}const m=$.getReader();try{for(;;){const{done:f,value:p}=await m.read();if(f)break;yield p}}finally{await m.cancel()}},je=($,m,f,p)=>{const ze=Vn($,m);let B=0,T,L=l=>{T||(T=!0,p&&p(l))};return new ReadableStream({async pull(l){try{const{done:u,value:i}=await ze.next();if(u){L(),l.close();return}let r=i.byteLength;if(f){let o=B+=r;f(o)}l.enqueue(new Uint8Array(i))}catch(u){throw L(u),u}},cancel(l){return L(l),ze.return()}},{highWaterMark:2})},oe=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",ht=oe&&typeof ReadableStream=="function",Kn=oe&&(typeof TextEncoder=="function"?($=>m=>$.encode(m))(new TextEncoder):async $=>new Uint8Array(await new Response($).arrayBuffer())),dt=($,...m)=>{try{return!!$(...m)}catch{return!1}},Gn=ht&&dt(()=>{let $=!1;const m=new Request(x.origin,{body:new ReadableStream,method:"POST",get duplex(){return $=!0,"half"}}).headers.has("Content-Type");return $&&!m}),Ue=64*1024,ge=ht&&dt(()=>a.isReadableStream(new Response("").body)),te={stream:ge&&($=>$.body)};oe&&($=>{["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!te[m]&&(te[m]=a.isFunction($[m])?f=>f[m]():(f,p)=>{throw new b(`Response type '${m}' is not supported`,b.ERR_NOT_SUPPORT,p)})})})(new Response);const Xn=async $=>{if($==null)return 0;if(a.isBlob($))return $.size;if(a.isSpecCompliantForm($))return(await new Request(x.origin,{method:"POST",body:$}).arrayBuffer()).byteLength;if(a.isArrayBufferView($)||a.isArrayBuffer($))return $.byteLength;if(a.isURLSearchParams($)&&($=$+""),a.isString($))return(await Kn($)).byteLength},Qn=async($,m)=>a.toFiniteNumber($.getContentLength())??Xn(m),Yn=oe&&(async $=>{let{url:m,method:f,data:p,signal:ze,cancelToken:B,timeout:T,onDownloadProgress:L,onUploadProgress:l,responseType:u,headers:i,withCredentials:r="same-origin",fetchOptions:o}=ut($);u=u?(u+"").toLowerCase():"text";let t=zn([ze,B&&B.toAbortSignal()],T),e;const n=t&&t.unsubscribe&&(()=>{t.unsubscribe()});let c;try{if(l&&Gn&&f!=="get"&&f!=="head"&&(c=await Qn(i,p))!==0){let _=new Request(m,{method:"POST",body:p,duplex:"half"}),S;if(a.isFormData(p)&&(S=_.headers.get("content-type"))&&i.setContentType(S),_.body){const[Me,He]=ve(c,ee(Le(l)));p=je(_.body,Ue,Me,He)}}a.isString(r)||(r=r?"include":"omit");const d="credentials"in Request.prototype;e=new Request(m,{...o,signal:t,method:f.toUpperCase(),headers:i.normalize().toJSON(),body:p,duplex:"half",credentials:d?r:void 0});let g=await fetch(e);const G=ge&&(u==="stream"||u==="response");if(ge&&(L||G&&n)){const _={};["status","statusText","headers"].forEach(Te=>{_[Te]=g[Te]});const S=a.toFiniteNumber(g.headers.get("content-length")),[Me,He]=L&&ve(S,ee(Le(L),!0))||[];g=new Response(je(g.body,Ue,Me,()=>{He&&He(),n&&n()}),_)}u=u||"text";let R=await te[a.findKey(te,u)||"text"](g,$);return!G&&n&&n(),await new Promise((_,S)=>{at(_,S,{data:R,headers:A.from(g.headers),status:g.status,statusText:g.statusText,config:$,request:e})})}catch(d){throw n&&n(),d&&d.name==="TypeError"&&/fetch/i.test(d.message)?Object.assign(new b("Network Error",b.ERR_NETWORK,$,e),{cause:d.cause||d}):b.from(d,d&&d.code,$,e)}}),be={http:fn,xhr:Hn,fetch:Yn};a.forEach(be,($,m)=>{if($){try{Object.defineProperty($,"name",{value:m})}catch{}Object.defineProperty($,"adapterName",{value:m})}});const qe=$=>`- ${$}`,Zn=$=>a.isFunction($)||$===null||$===!1,ft={getAdapter:$=>{$=a.isArray($)?$:[$];const{length:m}=$;let f,p;const ze={};for(let B=0;B<m;B++){f=$[B];let T;if(p=f,!Zn(f)&&(p=be[(T=String(f)).toLowerCase()],p===void 0))throw new b(`Unknown adapter '${T}'`);if(p)break;ze[T||"#"+B]=p}if(!p){const B=Object.entries(ze).map(([L,l])=>`adapter ${L} `+(l===!1?"is not supported by the environment":"is not available in the build"));let T=m?B.length>1?`since :
|
1104
|
+
`+B.map(qe).join(`
|
1105
|
+
`):" "+qe(B[0]):"as no adapter specified";throw new b("There is no suitable adapter to dispatch the request "+T,"ERR_NOT_SUPPORT")}return p},adapters:be};function de($){if($.cancelToken&&$.cancelToken.throwIfRequested(),$.signal&&$.signal.aborted)throw new H(null,$)}function De($){return de($),$.headers=A.from($.headers),$.data=he.call($,$.transformRequest),["post","put","patch"].indexOf($.method)!==-1&&$.headers.setContentType("application/x-www-form-urlencoded",!1),ft.getAdapter($.adapter||J.adapter)($).then(function(m){return de($),m.data=he.call($,$.transformResponse,m),m.headers=A.from(m.headers),m},function(m){return ct(m)||(de($),m&&m.response&&(m.response.data=he.call($,$.transformResponse,m.response),m.response.headers=A.from(m.response.headers))),Promise.reject(m)})}const pt="1.7.9",ce={};["object","boolean","number","function","string","symbol"].forEach(($,m)=>{ce[$]=function(f){return typeof f===$||"a"+(m<1?"n ":" ")+$}});const $e={};ce.transitional=function($,m,f){function p(ze,B){return"[Axios v"+pt+"] Transitional option '"+ze+"'"+B+(f?". "+f:"")}return(ze,B,T)=>{if($===!1)throw new b(p(B," has been removed"+(m?" in "+m:"")),b.ERR_DEPRECATED);return m&&!$e[B]&&($e[B]=!0,console.warn(p(B," has been deprecated since v"+m+" and will be removed in the near future"))),$?$(ze,B,T):!0}},ce.spelling=function($){return(m,f)=>(console.warn(`${f} is likely a misspelling of ${$}`),!0)};function es($,m,f){if(typeof $!="object")throw new b("options must be an object",b.ERR_BAD_OPTION_VALUE);const p=Object.keys($);let ze=p.length;for(;ze-- >0;){const B=p[ze],T=m[B];if(T){const L=$[B],l=L===void 0||T(L,B,$);if(l!==!0)throw new b("option "+B+" must be "+l,b.ERR_BAD_OPTION_VALUE);continue}if(f!==!0)throw new b("Unknown option "+B,b.ERR_BAD_OPTION)}}const Z={assertOptions:es,validators:ce},v=Z.validators;let q=class{constructor($){this.defaults=$,this.interceptors={request:new Ne,response:new Ne}}async request($,m){try{return await this._request($,m)}catch(f){if(f instanceof Error){let p={};Error.captureStackTrace?Error.captureStackTrace(p):p=new Error;const ze=p.stack?p.stack.replace(/^.+\n/,""):"";try{f.stack?ze&&!String(f.stack).endsWith(ze.replace(/^.+\n.+\n/,""))&&(f.stack+=`
|
1106
|
+
`+ze):f.stack=ze}catch{}}throw f}}_request($,m){typeof $=="string"?(m=m||{},m.url=$):m=$||{},m=D(this.defaults,m);const{transitional:f,paramsSerializer:p,headers:ze}=m;f!==void 0&&Z.assertOptions(f,{silentJSONParsing:v.transitional(v.boolean),forcedJSONParsing:v.transitional(v.boolean),clarifyTimeoutError:v.transitional(v.boolean)},!1),p!=null&&(a.isFunction(p)?m.paramsSerializer={serialize:p}:Z.assertOptions(p,{encode:v.function,serialize:v.function},!0)),Z.assertOptions(m,{baseUrl:v.spelling("baseURL"),withXsrfToken:v.spelling("withXSRFToken")},!0),m.method=(m.method||this.defaults.method||"get").toLowerCase();let B=ze&&a.merge(ze.common,ze[m.method]);ze&&a.forEach(["delete","get","head","post","put","patch","common"],t=>{delete ze[t]}),m.headers=A.concat(B,ze);const T=[];let L=!0;this.interceptors.request.forEach(function(t){typeof t.runWhen=="function"&&t.runWhen(m)===!1||(L=L&&t.synchronous,T.unshift(t.fulfilled,t.rejected))});const l=[];this.interceptors.response.forEach(function(t){l.push(t.fulfilled,t.rejected)});let u,i=0,r;if(!L){const t=[De.bind(this),void 0];for(t.unshift.apply(t,T),t.push.apply(t,l),r=t.length,u=Promise.resolve(m);i<r;)u=u.then(t[i++],t[i++]);return u}r=T.length;let o=m;for(i=0;i<r;){const t=T[i++],e=T[i++];try{o=t(o)}catch(n){e.call(this,n);break}}try{u=De.call(this,o)}catch(t){return Promise.reject(t)}for(i=0,r=l.length;i<r;)u=u.then(l[i++],l[i++]);return u}getUri($){$=D(this.defaults,$);const m=lt($.baseURL,$.url);return rt(m,$.params,$.paramsSerializer)}};a.forEach(["delete","get","head","options"],function($){q.prototype[$]=function(m,f){return this.request(D(f||{},{method:$,url:m,data:(f||{}).data}))}}),a.forEach(["post","put","patch"],function($){function m(f){return function(p,ze,B){return this.request(D(B||{},{method:$,headers:f?{"Content-Type":"multipart/form-data"}:{},url:p,data:ze}))}}q.prototype[$]=m(),q.prototype[$+"Form"]=m(!0)});let ts=class Ni{constructor(m){if(typeof m!="function")throw new TypeError("executor must be a function.");let f;this.promise=new Promise(function(ze){f=ze});const p=this;this.promise.then(ze=>{if(!p._listeners)return;let B=p._listeners.length;for(;B-- >0;)p._listeners[B](ze);p._listeners=null}),this.promise.then=ze=>{let B;const T=new Promise(L=>{p.subscribe(L),B=L}).then(ze);return T.cancel=function(){p.unsubscribe(B)},T},m(function(ze,B,T){p.reason||(p.reason=new H(ze,B,T),f(p.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(m){if(this.reason){m(this.reason);return}this._listeners?this._listeners.push(m):this._listeners=[m]}unsubscribe(m){if(!this._listeners)return;const f=this._listeners.indexOf(m);f!==-1&&this._listeners.splice(f,1)}toAbortSignal(){const m=new AbortController,f=p=>{m.abort(p)};return this.subscribe(f),m.signal.unsubscribe=()=>this.unsubscribe(f),m.signal}static source(){let m;return{token:new Ni(function(f){m=f}),cancel:m}}};function ns($){return function(m){return $.apply(null,m)}}function ss($){return a.isObject($)&&$.isAxiosError===!0}const _e={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(_e).forEach(([$,m])=>{_e[m]=$});function gt($){const m=new q($),f=Ve(q.prototype.request,m);return a.extend(f,q.prototype,m,{allOwnKeys:!0}),a.extend(f,m,null,{allOwnKeys:!0}),f.create=function(p){return gt(D($,p))},f}const E=gt(J);E.Axios=q,E.CanceledError=H,E.CancelToken=ts,E.isCancel=ct,E.VERSION=pt,E.toFormData=ie,E.AxiosError=b,E.Cancel=E.CanceledError,E.all=function($){return Promise.all($)},E.spread=ns,E.isAxiosError=ss,E.mergeConfig=D,E.AxiosHeaders=A,E.formToJSON=$=>ot(a.isHTMLForm($)?new FormData($):$),E.getAdapter=ft.getAdapter,E.HttpStatusCode=_e,E.default=E;const{Axios:Us,AxiosError:qs,CanceledError:Ds,isCancel:$s,CancelToken:Bs,VERSION:Ms,all:Hs,Cancel:zs,isAxiosError:Ws,spread:Vs,toFormData:Js,AxiosHeaders:Ks,HttpStatusCode:Gs,formToJSON:Xs,getAdapter:Qs,mergeConfig:Ys}=E,xe=E.create({baseURL:location.origin,timeout:6e4,params:{}});xe.interceptors.response.use($=>$,$=>{var m,f,p,ze,B,T,L,l,u,i,r;if($.response){if($.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(e){e&&OpenC3Auth.setTokens()}),$.response.config.headers["Ignore-Errors"]&&$.response.config.headers["Ignore-Errors"].includes($.response.status.toString()))return Promise.reject($);let o=`HTTP ${$.response.status} - `;(m=$.response)!=null&&m.statusText&&(o+=`${$.response.statusText} `),(p=(f=$.response)==null?void 0:f.config)!=null&&p.data&&(o+=`${$.response.config.data} `),(B=(ze=$.response)==null?void 0:ze.data)!=null&&B.message?o+=`${$.response.data.message}`:(L=(T=$.response)==null?void 0:T.data)!=null&&L.exception?o+=`${$.response.data.exception}`:(i=(u=(l=$.response)==null?void 0:l.data)==null?void 0:u.error)!=null&&i.message?($.response.data.error.class&&(o+=`${$.response.data.error.class} `),o+=`${$.response.data.error.message}`):o+=`${(r=$.response)==null?void 0:r.data}`;const{$cosmosNotify:t}=window;throw t&&t.serious({title:"Network error",body:o}),$}else throw $});const X=async function($,m,{data:f,params:p={},headers:ze,noAuth:B=!1,noScope:T=!1,onUploadProgress:L=!1}={}){if(!B){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}ze.Authorization=localStorage.openc3Token}return ze.manual=!0,!T&&!p.scope&&(p.scope=window.openc3Scope),xe({method:$,url:m,data:f,params:p,headers:ze,onUploadProgress:L})},we={Accept:"application/json"},Be={...we,"Content-Type":"application/json"},Zs={get:function($,{params:m,headers:f=we,noScope:p,noAuth:ze,onUploadProgress:B}={}){return X("get",$,{params:m,headers:f,noScope:p,noAuth:ze,onUploadProgress:B})},put:function($,{data:m,params:f,headers:p=Be,noScope:ze,noAuth:B,onUploadProgress:T}={}){return X("put",$,{data:m,params:f,headers:p,noScope:ze,noAuth:B,onUploadProgress:T})},post:function($,{data:m,params:f,headers:p=Be,noScope:ze,noAuth:B,onUploadProgress:T}={}){return X("post",$,{data:m,params:f,headers:p,noScope:ze,noAuth:B,onUploadProgress:T})},delete:function($,{params:m,headers:f=we,noScope:p,noAuth:ze,onUploadProgress:B}={}){return X("delete",$,{params:m,headers:f,noScope:p,noAuth:ze,onUploadProgress:B})}};let ae=()=>({emit($,...m){for(let f=this.events[$]||[],p=0,ze=f.length;p<ze;p++)f[p](...m)},events:{},on($,m){var f;return((f=this.events)[$]||(f[$]=[])).push(m),()=>{var p;this.events[$]=(p=this.events[$])==null?void 0:p.filter(ze=>m!==ze)}}});class K extends Error{constructor(m,f){m instanceof Error?(super(m.message),this.cause=m):super(m),this.reason=f,this.name="ReasonError"}}function bt($){return $?`{${Object.keys($).sort().filter(m=>$[m]!==void 0).map(m=>{let f=JSON.stringify($[m]);return`${JSON.stringify(m)}:${f}`}).join(",")}}`:""}class os{constructor(m){this.channel=m,this.listeners=[]}watch(){this.listeners.push(this.channel.on("presence",m=>{if(m.type==="info"){this._state||(this._state=this.stateFromInfo(m));return}this._state&&(m.type==="join"?this._state[m.id]=m.info:m.type==="leave"&&delete this._state[m.id])}))}reset(){delete this._state}dispose(){delete this._info,delete this._state,this.listeners.forEach(m=>m()),this.listeners.length=0}async join(m,f){if(!this._info)return this._info={id:m,info:f},this.channel.perform("$presence:join",this._info)}async leave(){if(!this._info)return;let m=await this.channel.perform("$presence:leave");return delete this._info,m}async info(){return this._state?this._state:(this._promise||(this._promise=this._sync()),await this._promise,this._state)}async _sync(){this.watch();try{let m=await this.channel.perform("$presence:info",{});return this._state=this.stateFromInfo(m),this._state}finally{delete this._promise}}stateFromInfo(m){return m.records.reduce((f,{id:p,info:ze})=>(f[p]=ze,f),{})}}const F=Symbol("state");class _t{constructor(m={}){this.emitter=ae(),this.params=Object.freeze(m),this.presence=new os(this),this.initialConnect=!0,this[F]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=bt({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[F]}attached(m){if(this.receiver){if(this.receiver!==m)throw Error("Already connected to a different receiver");return!1}return this.receiver=m,!0}connecting(){this[F]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[F]="connected";let m=!1;this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:m})):this.emit("connect",{reconnect:!0,restored:m})}restored(){if(this.state==="connected")throw Error("Already connected");this[F]="connected";let m=!0,f=!0;this.initialConnect=!1,this.emit("connect",{reconnect:f,restored:m})}disconnected(m){this.state==="disconnected"||this.state==="closed"||(this[F]="disconnected",this.presence.reset(),this.emit("disconnect",m))}closed(m){this.state!=="closed"&&(this[F]="closed",delete this.receiver,this.initialConnect=!0,this.presence.dispose(),this.emit("close",m))}disconnect(){this.state==="idle"||this.state==="closed"||this.receiver.unsubscribe(this)}async perform(m,f){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,m,f)}async send(m){return this.perform(void 0,m)}async whisper(m){try{await this.perform("$whisper",m)}catch(f){let p=this.receiver?this.receiver.logger:null;p&&p.warn("whisper failed: ",f)}}receive(m,f){this.emit("message",m,f)}on(m,f){return this.emitter.on(m,f)}once(m,f){let p=this.emitter.on(m,(...ze)=>{p(),f(...ze)});return p}emit(m,...f){return this.emitter.emit(m,...f)}ensureSubscribed(){return this.state==="connected"?Promise.resolve():this.state==="closed"?Promise.reject(Error("Channel is unsubscribed")):this.pendingSubscribe()}pendingSubscribe(){return this._pendingSubscribe?this._pendingSubscribe:(this._pendingSubscribe=new Promise((m,f)=>{let p=[()=>delete this._pendingSubscribe];p.push(this.on("connect",()=>{p.forEach(ze=>ze()),m()})),p.push(this.on("close",ze=>{p.forEach(B=>B()),f(ze||new K("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class Ae extends _t{constructor(m,f){super(f),this.channelId=m}set channelId(m){this._channelId=m}get channelId(){return this._channelId}}I(Ae,"identifier","__ghost__");const ms="$pubsub";class ye extends _t{async perform(m,f){if(m.startsWith("$"))return super.perform(m,f);throw Error("not implemented")}}I(ye,"identifier",ms);class rr{constructor(){I(this,"id",1)}async exec(m,f,p={},ze={},B=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return p.scope=window.openc3Scope,ze.manual=!0,(await xe.post("/openc3-api/api",{jsonrpc:"2.0",method:m,params:f,id:this.id,keyword_params:p},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...ze},timeout:B})).data.result}catch(T){let L=new Error;throw T.response?(L.name=T.response.data.error.data.class,L.message=T.response.data.error.data.message,L.object=T.response.data.error):T.request?(L.name="Request error",L.message="Request error, no response received"):L.name="Unknown error",L}}decode_openc3_type(m){if(m!==null&&typeof m=="object"&&m.json_class=="Float"&&m.raw){if(m.raw=="NaN")return NaN;if(m.raw=="Infinity")return 1/0;if(m.raw=="-Infinity")return-1/0}return null}encode_openc3_type(m){return Number.isNaN(m)?{json_class:"Float",raw:"NaN"}:m==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:m==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then(m=>{m&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then(()=>{delete localStorage.openc3OfflineToken}):OpenC3Auth.getOfflineAccess())})}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(m){return this.exec("set_offline_access",[m])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(m,f){return this.exec("map_target_to_interface",[m,f])}connect_interface(m,...f){return f.length>0?this.exec("connect_interface",[m,...f]):this.exec("connect_interface",[m])}disconnect_interface(m){return this.exec("disconnect_interface",[m])}interface_cmd(m,f,...p){return this.exec("interface_cmd",[m,f,...p])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(m){return this.exec("connect_router",[m])}disconnect_router(m){return this.exec("disconnect_router",[m])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(m){return this.exec("get_tlm_cnts",[m])}get_item(m,f,p){return this.exec("get_item",[m,f,p])}get_param(m,f,p){return this.exec("get_param",[m,f,p])}get_parameter(m,f,p){return this.exec("get_param",[m,f,p])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(m){return this.exec("set_limits_set",[m])}get_target(m){return this.exec("get_target",[m])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(m,f){return this.exec("get_tlm",[m,f])}get_telemetry(m,f){return this.exec("get_tlm",[m,f])}get_all_tlm(m){return this.exec("get_all_tlm",[m])}get_all_telemetry(m){return this.exec("get_all_tlm",[m])}get_all_tlm_names(m,f=!1){return this.exec("get_all_tlm_names",[m],{hidden:f})}get_all_telemetry_names(m){return this.exec("get_all_tlm_names",[m])}async get_tlm_packet(m,f,p,ze=30){const B=await this.exec("get_tlm_packet",[m,f],{type:p,stale_time:ze});if(B!=null){let T=B.length,L=null;for(let l=0;l<T;l++)L=this.decode_openc3_type(B[l][1]),L!==null&&(B[l][1]=L)}return B}get_packet_derived_items(m,f){return this.exec("get_packet_derived_items",[m,f])}get_tlm_buffer(m,f){return this.exec("get_tlm_buffer",[m,f])}async get_tlm_values(m,f=30,p=null){let ze={stale_time:f};p!==null&&(ze.cache_timeout=p);const B=await this.exec("get_tlm_values",[m],ze,{},1e4);let T=B[0].length,L=null;for(let l=0;l<T;l++)L=this.decode_openc3_type(B[0][l]),L!==null&&(B[0][l]=L);return B}get_limits(m,f,p){return this.exec("get_limits",[m,f,p])}async tlm(m,f,p,ze="CONVERTED"){let B=null;if(f===void 0)B=await this.exec("tlm",[m]);else if(p===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(f))B=await this.exec("tlm",[m],{type:f});else{let L=new Error;throw L.name="TypeError",L.message=`Invalid data type ${f}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,L}else B=await this.exec("tlm",[m,f,p],{type:ze});let T=this.decode_openc3_type(B);return T!==null&&(B=T),B}async inject_tlm(m,f,p=null,ze="CONVERTED"){data=await this.exec("inject_tlm",[m,f,p],{type:ze})}set_tlm(m,f,p,ze){return this.exec("set_tlm",[m,f,p],{type:ze})}override_tlm(m,f,p,ze){return this.exec("override_tlm",[m,f,p],{type:ze})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(m,f,p,ze){return this.exec("normalize_tlm",[m,f,p],{type:ze})}get_all_cmds(m){return this.exec("get_all_cmds",[m])}get_all_commands(m){return this.exec("get_all_cmds",[m])}get_all_cmd_names(m,f=!1){return this.exec("get_all_cmd_names",[m],{hidden:f})}get_all_command_names(m){return this.exec("get_all_cmd_names",[m])}get_cmd(m,f){return this.exec("get_cmd",[m,f])}get_command(m,f){return this.exec("get_cmd",[m,f])}get_cmd_cnts(m){return this.exec("get_cmd_cnts",[m])}get_cmd_value(m,f,p,ze="CONVERTED"){return this.exec("get_cmd_value",[m,f,p,ze])}get_cmd_buffer(m,f){return this.exec("get_cmd_buffer",[m,f])}_cmd(m,f,p,ze,B){let T=null;for(let L in ze)Object.prototype.hasOwnProperty.call(ze,L)&&(T=this.encode_openc3_type(ze[L]),T!==null&&(ze[L]=T));return this.exec(m,[f,p,ze],{},B)}get_cmd_hazardous(m,f,p,ze={}){return f===void 0?this.exec("get_cmd_hazardous",m,{},ze):this._cmd("get_cmd_hazardous",m,f,p,ze)}cmd(m,f,p,ze={}){return f===void 0?this.exec("cmd",m,{},ze):this._cmd("cmd",m,f,p,ze)}cmd_no_range_check(m,f,p,ze={}){return f===void 0?this.exec("cmd_no_range_check",m,{},ze):this._cmd("cmd_no_range_check",m,f,p,ze)}cmd_raw(m,f,p,ze={}){return f===void 0?this.exec("cmd_raw",m,{},ze):this._cmd("cmd_raw",m,f,p,ze)}cmd_raw_no_range_check(m,f,p,ze={}){return f===void 0?this.exec("cmd_raw_no_range_check",m,{},ze):this._cmd("cmd_raw_no_range_check",m,f,p,ze)}cmd_no_hazardous_check(m,f,p,ze={}){return f===void 0?this.exec("cmd_no_hazardous_check",m,{},ze):this._cmd("cmd_no_hazardous_check",m,f,p,ze)}cmd_no_checks(m,f,p,ze={}){return f===void 0?this.exec("cmd_no_checks",m,{},ze):this._cmd("cmd_no_checks",m,f,p,ze)}cmd_raw_no_hazardous_check(m,f,p,ze={}){return f===void 0?this.exec("cmd_raw_no_hazardous_check",m,{},ze):this._cmd("cmd_raw_no_hazardous_check",m,f,p,ze)}cmd_raw_no_checks(m,f,p,ze={}){return f===void 0?this.exec("cmd_raw_no_checks",m,{},ze):this._cmd("cmd_raw_no_checks",m,f,p,ze)}build_cmd(m,f,p){return f===void 0?this.exec("build_cmd",m):this._cmd("build_cmd",m,f,p)}build_command(m,f,p){return f===void 0?this.exec("build_cmd",m):this._cmd("build_cmd",m,f,p)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(m,f){return this.exec("send_raw",[m,f])}list_configs(m){return this.exec("list_configs",[m])}load_config(m,f){return this.exec("load_config",[m,f])}save_config(m,f,p){return this.exec("save_config",[m,f,p])}delete_config(m,f){return this.exec("delete_config",[m,f])}enable_limits(m,f,p){return this.exec("enable_limits",[m,f,p])}disable_limits(m,f,p){return this.exec("disable_limits",[m,f,p])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(m){return this.exec("get_overall_limits_state",[m])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(m){return this.exec("get_setting",[m])}get_settings(m){return this.exec("get_settings",m)}set_setting(m,f){return this.exec("set_setting",[m,f])}update_news(){return this.exec("update_news",[])}save_setting(m,f){return this.exec("set_setting",[m,f])}get_metrics(){return this.exec("get_metrics",[])}async hashString(m){if(window.isSecureContext){const f=new TextEncoder().encode(m),p=await crypto.subtle.digest("SHA-256",f),ze=new Uint8Array(p);return Array.from(ze).map(B=>B.toString(16).padStart(2,"0")).join("")}}}const Utilities={methods:{isFloat($){return!!(/^\s*[-+]?\d*\.\d+\s*$/.test($)||/^\s*[-+]?(\d+((\.\d+)?)|(\.\d+))[eE][-+]?\d+\s*$/.test($))},isInt($){return!!(/^\s*[-+]?\d+\s*$/.test($)||/^\s*0[xX][\dabcdefABCDEF]+\s*$/.test($))},isArray($){return!!/^\s*\[.*\]\s*$/.test($)},removeQuotes($){if($.length<2)return $;var m=$.charAt(0);if(m!=='"'&&m!=="'")return $;var f=$.charAt($.length-1);return m!==f?$:$.slice(1,-1)},convertToString($){var m=0,f="";if(Object.prototype.toString.call($).slice(8,-1)==="Array"){var p=$.length;for(f="[ ",m=0;m<p;m++)Object.prototype.toString.call($[m]).slice(8,-1)==="String"?f+='"'+$[m]+'"':f+=$[m],m!==p-1&&(f+=", ");f+=" ]"}else if(Object.prototype.toString.call($).slice(8,-1)==="Object")if($.json_class==="String"&&$.raw)for(f="0x",m=0;m<$.raw.length;m++){var ze=$.raw[m].toString(16).toUpperCase();ze.length<2&&(ze="0"+ze),f+=ze}else $.json_class==="Float"&&$.raw&&(f=$.raw);else f=String($);return f}}},_sfc_main$1={mixins:[Utilities],props:{modelValue:{type:[String,Number],default:void 0},states:{type:Object,default:()=>null},statesInHex:{type:Boolean,default:!1}},computed:{textFieldValue(){return this.convertToString(this.modelValue)},stateValue(){return this.statesInHex?"0x"+this.modelValue.toString(16):this.modelValue},selectValue(){return this.modelValue===""?null:this.modelValue},stateOptions(){return this.states?Object.keys(this.states).map($=>({label:$,...this.states[$]})):null},hazardous(){var $,m;return((m=($=Object.entries(this.states).find(([f,p])=>p.value===this.modelValue))==null?void 0:$.at(1))==null?void 0:m.hazardous)!==void 0},stateClass(){return this.hazardous?"hazardous mr-4":"mr-4"}},methods:{handleChange($){this.$emit("update:modelValue",$)}}},_hoisted_1$1={key:1,class:"d-flex align-center"};function _sfc_render$1($,m,f,p,ze,B){const T=resolveComponent("v-text-field"),L=resolveComponent("v-select");return openBlock(),createElementBlock("div",null,[f.states?(openBlock(),createElementBlock("div",_hoisted_1$1,[createVNode(L,{items:B.stateOptions,"model-value":B.selectValue,"onUpdate:modelValue":B.handleChange,"item-title":"label",class:normalizeClass(B.stateClass),"hide-details":"",density:"compact",variant:"outlined",placeholder:"Select...","min-width":"120px","data-test":"cmd-param-select"},null,8,["items","model-value","onUpdate:modelValue","class"]),createVNode(T,{"model-value":B.stateValue,disabled:"","hide-details":"",density:"compact",variant:"outlined","min-width":"60px","data-test":"cmd-param-value"},null,8,["model-value"])])):(openBlock(),createBlock(T,{key:0,"model-value":B.textFieldValue,"onUpdate:modelValue":B.handleChange,"hide-details":"",density:"compact",variant:"filled","data-test":"cmd-param-value"},null,8,["model-value","onUpdate:modelValue"]))])}const CommandParameterEditor=_export_sfc(_sfc_main$1,[["render",_sfc_render$1],["__scopeId","data-v-b19a55d5"]]),_sfc_main={mixins:[Utilities],components:{DetailsDialog:P$1,CriticalCmdDialog:N,TargetPacketItemChooser:et$1,CommandParameterEditor,TopBar:W$1,Openc3Screen:$e$1},data(){return{title:"Command Sender",search:"",headers:[{title:"Name",value:"parameter_name"},{title:"Value or State",value:"val"},{title:"Units",value:"units"},{title:"Range",value:"range"},{title:"Description",value:"description"}],editor:null,targetName:"",commandName:"",paramList:"",lastTargetName:"",lastCommandName:"",lastParamList:"",ignoreRangeChecks:!1,statesInHex:!1,showIgnoredParams:!1,cmdRaw:!1,ignoredParams:[],rows:[],interfaces:[],selectedInterface:"",rawCmdFile:null,status:"",history:"",hazardousCommand:"",displaySendHazardous:!1,displayErrorDialog:!1,displaySendRaw:!1,displayCriticalCmd:!1,criticalCmdUuid:null,criticalCmdString:null,criticalCmdUser:null,sendDisabled:!1,api:null,viewDetails:!1,contextMenuShown:!1,parameterName:"",reservedItemNames:[],x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}}],keywords:[],screenTarget:null,screenName:null,screenDefinition:null,screenCount:0}},computed:{menus:function(){return[{label:"Mode",items:[{label:"Ignore Range Checks",checkbox:!0,checked:this.ignoreRangeChecks,command:()=>{this.ignoreRangeChecks=!this.ignoreRangeChecks}},{label:"Display State Values in Hex",checkbox:!0,checked:this.statesInHex,command:()=>{this.statesInHex=!this.statesInHex}},{label:"Show Ignored Parameters",checkbox:!0,checked:this.showIgnoredParams,command:()=>{this.showIgnoredParams=!this.showIgnoredParams,this.updateCmdParams()}},{label:"Disable Parameter Conversions",checkbox:!0,checked:this.cmdRaw,command:()=>{this.cmdRaw=!this.cmdRaw.checked}}]}]}},created(){Zs.get("/openc3-api/autocomplete/reserved-item-names").then($=>{this.reservedItemNames=$.data}),this.api=new rr,this.$route.params.target&&this.$route.params.packet&&this.commandChanged({targetName:this.$route.params.target.toUpperCase(),packetName:this.$route.params.packet.toUpperCase()}),Zs.get("/openc3-api/autocomplete/keywords/screen").then($=>{this.keywords=$.data})},mounted(){this.editor=aceExports.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight"),this.editor.session.setMode("ace/mode/ruby"),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.setHighlightActiveLine(!1),this.editor.setValue(localStorage.command_sender__history),this.history=this.editor.getValue().trim(),this.editor.clearSelection(),this.editor.focus(),this.editor.setAutoScrollEditorIntoView(!0),this.editor.setOption("maxLines",30),this.editor.setOption("minLines",1),this.editor.container.addEventListener("keydown",$=>{if($.key==="Enter"){$.preventDefault();let m=this.editor.session.getLine(this.editor.getCursorPosition().row);if(m==="")return;let f=m.indexOf('"'),p=m.lastIndexOf('"');m=m.substr(f+1,p-f-1),this.sendCmd(m)}})},beforeUnmount(){this.editor.destroy(),this.editor.container.remove()},methods:{showContextMenu($,m){$.preventDefault(),this.parameterName=m.item.parameter_name,this.contextMenuShown=!1,this.x=$.clientX,this.y=$.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})},convertToValue(param){if(param.val!==void 0&¶m.states&&!this.cmdRaw)return Object.keys(param.states).find($=>param.states[$].value===param.val);if(typeof param.val!="string")return param.val;let str=param.val,quotesRemoved=this.removeQuotes(str);if(str===quotesRemoved){let upcaseStr=str.toUpperCase();if((param.type==="STRING"||param.type==="BLOCK")&&upcaseStr.startsWith("0X")){let $=upcaseStr.slice(2);$.length%2!==0&&($="0"+$);let m={json_class:"String",raw:[]};for(let f=0;f<$.length;f+=2){let p=$.charAt(f)+$.charAt(f+1);m.raw.push(parseInt(p,16))}return m}else return upcaseStr==="INFINITY"?1/0:upcaseStr==="-INFINITY"?-1/0:upcaseStr==="NAN"?NaN:this.isFloat(str)?parseFloat(str):this.isInt(str)?parseInt(str):this.isArray(str)?eval(str):str}else return quotesRemoved},commandChanged($){(this.targetName!==$.targetName||this.commandName!==$.packetName)&&(this.targetName=$.targetName,this.commandName=$.packetName,this.sendDisabled===!1&&this.updateCmdParams(),this.$router.replace({name:"CommandSender",params:{target:this.targetName,packet:this.commandName}}).catch(m=>{}))},updateCmdParams(){this.sendDisabled=!0,this.ignoredParams=[],this.rows=[],this.api.get_target(this.targetName).then($=>(this.ignoredParams=$.ignored_parameters,this.api.get_cmd(this.targetName,this.commandName)),$=>{this.displayError("getting ignored parameters",$),this.sendDisabled=!1}).then($=>{if($.items.forEach(m=>{if(!this.reservedItemNames.includes(m.name)&&(!this.ignoredParams.includes(m.name)||this.showIgnoredParams)){let f=m.default;!m.states&&m.data_type==="STRING"&&typeof m.default=="string"&&(f=`'${f}'`),m.required&&(f=""),m.format_string&&(f=sprintf(m.format_string,m.default));let p="N/A";m.minimum!=null&&m.maximum!=null&&(m.data_type==="FLOAT"&&(m.minimum<-1e6&&(m.minimum=m.minimum.toExponential(3)),m.maximum>1e6&&(m.maximum=m.maximum.toExponential(3))),p=`${m.minimum}..${m.maximum}`),this.rows.push({parameter_name:m.name,val:f,states:m.states,description:m.description,range:p,units:m.units,type:m.data_type})}}),$.screen)this.loadScreen($.screen[0],$.screen[1]).then(m=>{this.screenTarget=$.screen[0],this.screenName=$.screen[1],this.screenDefinition=m.data,this.screenCount+=1});else{if($.related_items){this.screenTarget="LOCAL",this.screenName="CMDSENDER";let m=`SCREEN AUTO AUTO 1.0
|
1107
|
+
`;for(const f of $.related_items)m+=`LABELVALUE '${f[0]}' '${f[1]}' '${f[2]}' WITH_UNITS 20
|
1108
|
+
`;this.screenDefinition=m}else this.screenTarget=null,this.screenName=null,this.screenDefinition=null;this.screenCount+=1}this.sendDisabled=!1,this.status=""},$=>{this.displayError("getting command parameters",$),this.sendDisabled=!1})},createParamList(){let $={};for(const m of this.rows)$[m.parameter_name]=this.convertToValue(m);return $},buildCmd(){this.sendCmd(this.targetName,this.commandName,this.createParamList())},sendCmd($,m,f){this.lastTargetName=$,this.lastCommandName=m,this.lastParamList=f,this.sendDisabled=!0;let p=!1,ze="";this.api.get_cmd_hazardous($,m,f).then(B=>{if(p=B,p)m===void 0?this.hazardousCommand=$.split(" ").slice(0,2).join(" "):this.hazardousCommand=`${$} ${m}`,this.displaySendHazardous=!0;else{let T;this.cmdRaw?this.ignoreRangeChecks?(ze="cmd_raw_no_range_check",T=this.api.cmd_raw_no_range_check($,m,f,{"Ignore-Errors":"428"})):(ze="cmd_raw",T=this.api.cmd_raw($,m,f,{"Ignore-Errors":"428 500"})):this.ignoreRangeChecks?(ze="cmd_no_range_check",T=this.api.cmd_no_range_check($,m,f,{"Ignore-Errors":"428"})):(ze="cmd",T=this.api.cmd($,m,f,{"Ignore-Errors":"428 500"})),T.then(L=>{this.processCmdResponse(!0,$,m,ze,L)},L=>{this.processCmdResponse(!1,$,m,ze,L)})}},B=>{this.processCmdResponse(!1,$,m,ze,B)})},sendHazardousCmd(){this.displaySendHazardous=!1;let $="",m="";this.cmdRaw?this.ignoreRangeChecks?(m="cmd_raw_no_range_check",$=this.api.cmd_raw_no_checks(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428"})):(m="cmd_raw",$=this.api.cmd_raw_no_hazardous_check(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428 500"})):this.ignoreRangeChecks?(m="cmd_no_range_check",$=this.api.cmd_no_checks(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428"})):(m="cmd",$=this.api.cmd_no_hazardous_check(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428 500"})),$.then(f=>{this.processCmdResponse(!0,this.lastTargetName,this.lastCommandName,m,f)},f=>{this.processCmdResponse(!1,this.lastTargetName,this.lastCommandName,m,f)})},cancelHazardousCmd(){this.displaySendHazardous=!1,this.status="Hazardous command not sent",this.sendDisabled=!1},processCmdResponse($,m,f,p,ze){f===void 0&&([m,f]=m.split(" ").slice(0,2));let B="";if($){B=`${p}("${ze[0]} ${ze[1]}`;let T=Object.keys(ze[2]);if(T.length>0){B+=" with ";for(let L=0;L<T.length;L++){let l=T[L],u=this.convertToString(ze[2][l]);typeof ze[2][l]=="string"&&u.charAt(0)!=="'"&&u.charAt(0)!=='"'&&(u=`'${u}'`),B+=l+" "+u,L<T.length-1&&(B+=", ")}}if(B+='")',!this.history.includes(B)){let L=B;this.history.length!==0&&(L+=`
|
1109
|
+
${this.history}`),this.editor.setValue(L),this.editor.moveCursorTo(0,0)}if(B+=" sent.",this.status.includes(B)){let L=this.status.split("sent.");if(L[1].includes("(")){let l=parseInt(L[1].substr(2,L[1].indexOf(")")-2));B=L[0]+"sent. ("+(l+1)+")"}else B+=" (2)"}this.status=B}else{let T="sending "+m+" "+f;this.displayError(T,ze,!0)}this.history=this.editor.getValue(),localStorage.command_sender__history=this.editor.getValue(),this.sendDisabled=!1},clearHistory(){this.editor.setValue(""),this.history="",localStorage.removeItem("command_sender__history")},displayError($,m,f=!1){this.status=`Error ${$} due to ${m.name}`,m.message&&m.message!==""&&(this.status+=": ",this.status+=m.message),this.status.includes("CriticalCmdError")&&(this.status="Critical Command Queued For Approval"),f&&(m.message.includes("CriticalCmdError")?(this.criticalCmdUuid=m.object.data.instance_variables["@uuid"],this.criticalCmdString=m.object.data.instance_variables["@cmd_string"],this.criticalCmdUser=m.object.data.instance_variables["@username"],this.displayCriticalCmd=!0):this.displayErrorDialog=!0)},loadScreen($,m){return Zs.get("/openc3-api/screen/"+$+"/"+m,{headers:{Accept:"text/plain"}})}}},_hoisted_1={style:{padding:"10px"}},_hoisted_2={class:"pa-3"},_hoisted_3={ref:"editor",class:"editor","data-test":"sender-history"},_hoisted_4={class:"mx-1"},_hoisted_5=["textContent"],_hoisted_6={class:"mx-1"};function _sfc_render($,m,f,p,ze,B){const T=resolveComponent("top-bar"),L=resolveComponent("target-packet-item-chooser"),l=resolveComponent("v-spacer"),u=resolveComponent("v-text-field"),i=resolveComponent("v-card-title"),r=resolveComponent("command-parameter-editor"),o=resolveComponent("v-data-table"),t=resolveComponent("v-card"),e=resolveComponent("v-col"),n=resolveComponent("v-btn"),c=resolveComponent("v-tooltip"),d=resolveComponent("v-row"),g=resolveComponent("v-card-subtitle"),G=resolveComponent("openc3-screen"),R=resolveComponent("v-list-item-title"),_=resolveComponent("v-list-item"),S=resolveComponent("v-list"),Me=resolveComponent("v-menu"),He=resolveComponent("details-dialog"),Te=resolveComponent("critical-cmd-dialog"),j=resolveComponent("v-toolbar"),yt=resolveComponent("v-card-text"),y=resolveComponent("v-dialog"),h=resolveComponent("v-card-actions"),w=resolveComponent("v-select");return openBlock(),createElementBlock("div",null,[createVNode(T,{menus:B.menus,title:ze.title},null,8,["menus","title"]),createVNode(t,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_1,[createVNode(L,{"initial-target-name":this.$route.params.target,"initial-packet-name":this.$route.params.packet,onOnSet:m[0]||(m[0]=O=>B.commandChanged(O)),onAddItem:m[1]||(m[1]=O=>B.buildCmd(O)),disabled:ze.sendDisabled,"button-text":"Send",mode:"cmd"},null,8,["initial-target-name","initial-packet-name","disabled"])]),ze.rows.length!==0?(openBlock(),createBlock(t,{key:0},{default:withCtx(()=>[createVNode(i,{class:"d-flex align-center justify-content-space-between"},{default:withCtx(()=>[m[12]||(m[12]=createTextVNode(" Parameters ")),createVNode(l),createVNode(u,{modelValue:ze.search,"onUpdate:modelValue":m[2]||(m[2]=O=>ze.search=O),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),createVNode(o,{headers:ze.headers,items:ze.rows,search:ze.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact","onContextmenu:row":B.showContextMenu},{"item.val":withCtx(({item:O})=>[createVNode(r,{modelValue:O.val,"onUpdate:modelValue":We=>O.val=We,states:O.states,"states-in-hex":ze.statesInHex},null,8,["modelValue","onUpdate:modelValue","states","states-in-hex"])]),_:1},8,["headers","items","search","onContextmenu:row"])]),_:1})):createCommentVNode("",!0),createElementVNode("div",_hoisted_2,"Status: "+toDisplayString(ze.status),1)]),_:1}),m[25]||(m[25]=createElementVNode("div",{style:{height:"15px"}},null,-1)),createVNode(d,{"no-gutters":""},{default:withCtx(()=>[createVNode(e,{class:"pr-4"},{default:withCtx(()=>[createVNode(t,{class:"pb-2"},{default:withCtx(()=>[createVNode(g,null,{default:withCtx(()=>[createVNode(d,null,{default:withCtx(()=>[createVNode(e,{class:"pt-6"},{default:withCtx(()=>m[13]||(m[13]=[createTextVNode(" Editable Command History: (Pressing Enter on the line re-executes the command) ")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createVNode(c,{location:"top"},{activator:withCtx(({props:O})=>[createElementVNode("div",mergeProps(O,{class:"float-right"}),[createVNode(n,{icon:"mdi-delete",variant:"text","data-test":"clear-history",onClick:B.clearHistory},null,8,["onClick"])],16)]),default:withCtx(()=>[m[14]||(m[14]=createElementVNode("span",null," Clear History ",-1))]),_:1})]),_:1})]),_:1})]),_:1}),createVNode(d,{"no-gutters":"",class:"mt-2 mb-2"},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>[createElementVNode("pre",_hoisted_3,null,512)]),_:1})]),_:1})]),_:1})]),_:1}),ze.screenDefinition?(openBlock(),createBlock(e,{key:0,md:"auto"},{default:withCtx(()=>[createVNode(G,{target:ze.screenTarget,screen:ze.screenName,definition:ze.screenDefinition,keywords:ze.keywords,count:ze.screenCount,showClose:!1},null,8,["target","screen","definition","keywords","count"])]),_:1})):createCommentVNode("",!0)]),_:1}),m[26]||(m[26]=createElementVNode("div",{style:{height:"15px"}},null,-1)),createVNode(Me,{modelValue:ze.contextMenuShown,"onUpdate:modelValue":m[3]||(m[3]=O=>ze.contextMenuShown=O),target:[ze.x,ze.y]},{default:withCtx(()=>[createVNode(S,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(ze.contextMenuOptions,(O,We)=>(openBlock(),createBlock(_,{key:We,onClick:withModifiers(O.action,["stop"])},{default:withCtx(()=>[createVNode(R,null,{default:withCtx(()=>[createTextVNode(toDisplayString(O.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),createVNode(He,{"target-name":ze.targetName,"packet-name":ze.commandName,"item-name":ze.parameterName,type:"cmd",modelValue:ze.viewDetails,"onUpdate:modelValue":m[4]||(m[4]=O=>ze.viewDetails=O)},null,8,["target-name","packet-name","item-name","modelValue"]),createVNode(Te,{uuid:ze.criticalCmdUuid,cmdString:ze.criticalCmdString,cmdUser:ze.criticalCmdUser,modelValue:ze.displayCriticalCmd,"onUpdate:modelValue":m[5]||(m[5]=O=>ze.displayCriticalCmd=O)},null,8,["uuid","cmdString","cmdUser","modelValue"]),createVNode(y,{modelValue:ze.displayErrorDialog,"onUpdate:modelValue":m[7]||(m[7]=O=>ze.displayErrorDialog=O),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(j,{height:"24"},{default:withCtx(()=>[createVNode(l),m[15]||(m[15]=createElementVNode("span",null," Error ",-1)),createVNode(l)]),_:1}),createVNode(yt,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_4,[createVNode(d,{class:"my-2"},{default:withCtx(()=>[createVNode(yt,null,{default:withCtx(()=>[createElementVNode("span",{textContent:toDisplayString(ze.status)},null,8,_hoisted_5)]),_:1})]),_:1}),createVNode(d,null,{default:withCtx(()=>[createVNode(l),createVNode(n,{onClick:m[6]||(m[6]=O=>ze.displayErrorDialog=!1),color:"primary","data-test":"error-dialog-ok"},{default:withCtx(()=>m[16]||(m[16]=[createTextVNode(" Ok ")])),_:1})]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(y,{modelValue:ze.displaySendHazardous,"onUpdate:modelValue":m[8]||(m[8]=O=>ze.displaySendHazardous=O),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(j,{height:"24"},{default:withCtx(()=>[createVNode(l),m[17]||(m[17]=createElementVNode("span",null," Hazardous Warning ",-1)),createVNode(l)]),_:1}),createVNode(yt,{class:"mt-6"},{default:withCtx(()=>[createTextVNode(" Warning: Command "+toDisplayString(ze.hazardousCommand)+" is Hazardous. Send? ",1)]),_:1}),createVNode(h,{class:"px-2"},{default:withCtx(()=>[createVNode(l),createVNode(n,{onClick:B.cancelHazardousCmd,variant:"outlined"},{default:withCtx(()=>m[18]||(m[18]=[createTextVNode(" Cancel ")])),_:1},8,["onClick"]),createVNode(n,{onClick:B.sendHazardousCmd,variant:"flat"},{default:withCtx(()=>m[19]||(m[19]=[createTextVNode(" Send ")])),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(y,{modelValue:ze.displaySendRaw,"onUpdate:modelValue":m[11]||(m[11]=O=>ze.displaySendRaw=O),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(j,{height:"24"},{default:withCtx(()=>[createVNode(l),m[20]||(m[20]=createElementVNode("span",null," Send Raw ",-1)),createVNode(l)]),_:1}),createVNode(yt,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_6,[createVNode(d,{class:"my-2"},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>m[21]||(m[21]=[createTextVNode("Interface:")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createVNode(w,{variant:"solo","hide-details":"",density:"compact",items:ze.interfaces,"item-title":"label","item-value":"value",modelValue:ze.selectedInterface,"onUpdate:modelValue":m[9]||(m[9]=O=>ze.selectedInterface=O)},null,8,["items","modelValue"])]),_:1})]),_:1}),createVNode(d,{"no-gutters":""},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>m[22]||(m[22]=[createTextVNode("Filename:")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createElementVNode("input",{type:"file",onChange:m[10]||(m[10]=O=>$.selectRawCmdFile(O))},null,32)]),_:1})]),_:1}),createVNode(d,null,{default:withCtx(()=>[createVNode(l),createVNode(n,{onClick:$.cancelRawCmd,variant:"outlined","data-test":"raw-cancel"},{default:withCtx(()=>m[23]||(m[23]=[createTextVNode(" Cancel ")])),_:1},8,["onClick"]),createVNode(n,{onClick:$.sendRawCmd,class:"bg-primary","data-test":"raw-ok"},{default:withCtx(()=>m[24]||(m[24]=[createTextVNode(" Ok ")])),_:1},8,["onClick"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const CommandSender=exports("default",_export_sfc(_sfc_main,[["render",_sfc_render],["__scopeId","data-v-dda0eae4"]]))}}});
|